From 109e402d9c578c4876dd4e52070c9f7c14a83c13 Mon Sep 17 00:00:00 2001 From: panxu Date: Tue, 3 Feb 2026 21:55:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E5=8F=96viewcode=E7=BB=84=E4=BB=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/assets/main-lu51l2fA.js | 1 - docs/assets/main-mu1E_NRy.js | 1 + docs/assets/style-Cx05zN_K.css | 1 + docs/assets/style-U17luIT5.css | 1 - docs/index.html | 4 +- src/components/JsonFormatter.vue | 122 +++++++++++++++++---------- src/components/common/CodeViewer.vue | 3 +- 7 files changed, 82 insertions(+), 51 deletions(-) delete mode 100644 docs/assets/main-lu51l2fA.js create mode 100644 docs/assets/main-mu1E_NRy.js create mode 100644 docs/assets/style-Cx05zN_K.css delete mode 100644 docs/assets/style-U17luIT5.css diff --git a/docs/assets/main-lu51l2fA.js b/docs/assets/main-lu51l2fA.js deleted file mode 100644 index d70e899..0000000 --- a/docs/assets/main-lu51l2fA.js +++ /dev/null @@ -1 +0,0 @@ -var e,t,a,n,r,s=Object.defineProperty,i=e=>{throw TypeError(e)},o=(e,t,a)=>((e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a),l=(e,t,a)=>(((e,t,a)=>{t.has(e)||i("Cannot "+a)})(e,t,"access private method"),a);function c(e){const t=Object.create(null);for(const a of e.split(","))t[a]=1;return e=>e in t}!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver(e=>{for(const a of e)if("childList"===a.type)for(const e of a.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)}).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();const u={},d=[],h=()=>{},p=()=>!1,f=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),m=e=>e.startsWith("onUpdate:"),g=Object.assign,y=(e,t)=>{const a=e.indexOf(t);a>-1&&e.splice(a,1)},v=Object.prototype.hasOwnProperty,b=(e,t)=>v.call(e,t),w=Array.isArray,x=e=>"[object Map]"===S(e),k=e=>"[object Set]"===S(e),_=e=>"[object Date]"===S(e),E=e=>"function"==typeof e,C=e=>"string"==typeof e,F=e=>"symbol"==typeof e,D=e=>null!==e&&"object"==typeof e,A=e=>(D(e)||E(e))&&E(e.then)&&E(e.catch),T=Object.prototype.toString,S=e=>T.call(e),I=e=>"[object Object]"===S(e),P=e=>C(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,N=c(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),B=e=>{const t=Object.create(null);return a=>t[a]||(t[a]=e(a))},M=/-\w/g,O=B(e=>e.replace(M,e=>e.slice(1).toUpperCase())),U=/\B([A-Z])/g,j=B(e=>e.replace(U,"-$1").toLowerCase()),L=B(e=>e.charAt(0).toUpperCase()+e.slice(1)),R=B(e=>e?`on${L(e)}`:""),z=(e,t)=>!Object.is(e,t),H=(e,...t)=>{for(let a=0;a{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:a})},G=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let W;const V=()=>W||(W="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function K(e){if(w(e)){const t={};for(let a=0;a{if(e){const a=e.split(q);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function Q(e){let t="";if(C(e))t=e;else if(w(e))for(let a=0;aae(e,t))}const re=e=>!(!e||!0!==e.__v_isRef),se=e=>C(e)?e:null==e?"":w(e)||D(e)&&(e.toString===T||!E(e.toString))?re(e)?se(e.value):JSON.stringify(e,ie,2):String(e),ie=(e,t)=>re(t)?ie(e,t.value):x(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,a],n)=>(e[oe(t,n)+" =>"]=a,e),{})}:k(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>oe(e))}:F(t)?oe(t):!D(t)||w(t)||I(t)?t:String(t),oe=(e,t="")=>{var a;return F(e)?`Symbol(${null!=(a=e.description)?a:t})`:e};function le(e){return null==e?"initial":"string"==typeof e?""===e?" ":e:String(e)}let ce,ue;class de{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ce,!e&&ce&&(this.index=(ce.scopes||(ce.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0&&0===--this._on&&(ce=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,a;for(this._active=!1,t=0,a=this.effects.length;t0)return;if(me){let e=me;for(me=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;fe;){let a=fe;for(fe=void 0;a;){const n=a.next;if(a.next=void 0,a.flags&=-9,1&a.flags)try{a.trigger()}catch(t){e||(e=t)}a=n}}if(e)throw e}function we(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xe(e){let t,a=e.depsTail,n=a;for(;n;){const e=n.prevDep;-1===n.version?(n===a&&(a=e),Ee(n),Ce(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=e}e.deps=t,e.depsTail=a}function ke(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_e(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _e(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===Ie)return;if(e.globalVersion=Ie,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!ke(e)))return;e.flags|=2;const t=e.dep,a=ue,n=Fe;ue=e,Fe=!0;try{we(e);const a=e.fn(e._value);(0===t.version||z(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(r){throw t.version++,r}finally{ue=a,Fe=n,xe(e),e.flags&=-3}}function Ee(e,t=!1){const{dep:a,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),a.subs===e&&(a.subs=n,!n&&a.computed)){a.computed.flags&=-5;for(let e=a.computed.deps;e;e=e.nextDep)Ee(e,!0)}t||--a.sc||!a.map||a.map.delete(a.key)}function Ce(e){const{prevDep:t,nextDep:a}=e;t&&(t.nextDep=a,e.prevDep=void 0),a&&(a.prevDep=t,e.nextDep=void 0)}let Fe=!0;const De=[];function Ae(){De.push(Fe),Fe=!1}function Te(){const e=De.pop();Fe=void 0===e||e}function Se(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=ue;ue=void 0;try{t()}finally{ue=e}}}let Ie=0;class Pe{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Ne{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!ue||!Fe||ue===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==ue)t=this.activeLink=new Pe(ue,this),ue.deps?(t.prevDep=ue.depsTail,ue.depsTail.nextDep=t,ue.depsTail=t):ue.deps=ue.depsTail=t,Be(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=ue.depsTail,t.nextDep=void 0,ue.depsTail.nextDep=t,ue.depsTail=t,ue.deps===t&&(ue.deps=e)}return t}trigger(e){this.version++,Ie++,this.notify(e)}notify(e){ve();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{be()}}}function Be(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Be(e)}const a=e.dep.subs;a!==e&&(e.prevSub=a,a&&(a.nextSub=e)),e.dep.subs=e}}const Me=new WeakMap,Oe=Symbol(""),Ue=Symbol(""),je=Symbol("");function Le(e,t,a){if(Fe&&ue){let t=Me.get(e);t||Me.set(e,t=new Map);let n=t.get(a);n||(t.set(a,n=new Ne),n.map=t,n.key=a),n.track()}}function Re(e,t,a,n,r,s){const i=Me.get(e);if(!i)return void Ie++;const o=e=>{e&&e.trigger()};if(ve(),"clear"===t)i.forEach(o);else{const r=w(e),s=r&&P(a);if(r&&"length"===a){const e=Number(n);i.forEach((t,a)=>{("length"===a||a===je||!F(a)&&a>=e)&&o(t)})}else switch((void 0!==a||i.has(void 0))&&o(i.get(a)),s&&o(i.get(je)),t){case"add":r?s&&o(i.get("length")):(o(i.get(Oe)),x(e)&&o(i.get(Ue)));break;case"delete":r||(o(i.get(Oe)),x(e)&&o(i.get(Ue)));break;case"set":x(e)&&o(i.get(Oe))}}be()}function ze(e){const t=Ft(e);return t===e?t:(Le(t,0,je),Et(e)?t:t.map(Dt))}function He(e){return Le(e=Ft(e),0,je),e}function Ye(e,t){return _t(e)?kt(e)?At(Dt(t)):At(t):Dt(t)}const $e={__proto__:null,[Symbol.iterator](){return Ge(this,Symbol.iterator,e=>Ye(this,e))},concat(...e){return ze(this).concat(...e.map(e=>w(e)?ze(e):e))},entries(){return Ge(this,"entries",e=>(e[1]=Ye(this,e[1]),e))},every(e,t){return Ve(this,"every",e,t,void 0,arguments)},filter(e,t){return Ve(this,"filter",e,t,e=>e.map(e=>Ye(this,e)),arguments)},find(e,t){return Ve(this,"find",e,t,e=>Ye(this,e),arguments)},findIndex(e,t){return Ve(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ve(this,"findLast",e,t,e=>Ye(this,e),arguments)},findLastIndex(e,t){return Ve(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ve(this,"forEach",e,t,void 0,arguments)},includes(...e){return Je(this,"includes",e)},indexOf(...e){return Je(this,"indexOf",e)},join(e){return ze(this).join(e)},lastIndexOf(...e){return Je(this,"lastIndexOf",e)},map(e,t){return Ve(this,"map",e,t,void 0,arguments)},pop(){return qe(this,"pop")},push(...e){return qe(this,"push",e)},reduce(e,...t){return Ke(this,"reduce",e,t)},reduceRight(e,...t){return Ke(this,"reduceRight",e,t)},shift(){return qe(this,"shift")},some(e,t){return Ve(this,"some",e,t,void 0,arguments)},splice(...e){return qe(this,"splice",e)},toReversed(){return ze(this).toReversed()},toSorted(e){return ze(this).toSorted(e)},toSpliced(...e){return ze(this).toSpliced(...e)},unshift(...e){return qe(this,"unshift",e)},values(){return Ge(this,"values",e=>Ye(this,e))}};function Ge(e,t,a){const n=He(e),r=n[t]();return n===e||Et(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.done||(e.value=a(e.value)),e}),r}const We=Array.prototype;function Ve(e,t,a,n,r,s){const i=He(e),o=i!==e&&!Et(e),l=i[t];if(l!==We[t]){const t=l.apply(e,s);return o?Dt(t):t}let c=a;i!==e&&(o?c=function(t,n){return a.call(this,Ye(e,t),n,e)}:a.length>2&&(c=function(t,n){return a.call(this,t,n,e)}));const u=l.call(i,c,n);return o&&r?r(u):u}function Ke(e,t,a,n){const r=He(e);let s=a;return r!==e&&(Et(e)?a.length>3&&(s=function(t,n,r){return a.call(this,t,n,r,e)}):s=function(t,n,r){return a.call(this,t,Ye(e,n),r,e)}),r[t](s,...n)}function Je(e,t,a){const n=Ft(e);Le(n,0,je);const r=n[t](...a);return-1!==r&&!1!==r||!Ct(a[0])?r:(a[0]=Ft(a[0]),n[t](...a))}function qe(e,t,a=[]){Ae(),ve();const n=Ft(e)[t].apply(e,a);return be(),Te(),n}const Ze=c("__proto__,__v_isRef,__isVue"),Xe=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(F));function Qe(e){F(e)||(e=String(e));const t=Ft(this);return Le(t,0,e),t.hasOwnProperty(e)}class et{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,a){if("__v_skip"===t)return e.__v_skip;const n=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!n;if("__v_isReadonly"===t)return n;if("__v_isShallow"===t)return r;if("__v_raw"===t)return a===(n?r?yt:gt:r?mt:ft).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(a)?e:void 0;const s=w(e);if(!n){let e;if(s&&(e=$e[t]))return e;if("hasOwnProperty"===t)return Qe}const i=Reflect.get(e,t,Tt(e)?e:a);if(F(t)?Xe.has(t):Ze(t))return i;if(n||Le(e,0,t),r)return i;if(Tt(i)){const e=s&&P(t)?i:i.value;return n&&D(e)?wt(e):e}return D(i)?n?wt(i):bt(i):i}}class tt extends et{constructor(e=!1){super(!1,e)}set(e,t,a,n){let r=e[t];const s=w(e)&&P(t);if(!this._isShallow){const e=_t(r);if(Et(a)||_t(a)||(r=Ft(r),a=Ft(a)),!s&&Tt(r)&&!Tt(a))return e||(r.value=a),!0}const i=s?Number(t)e,ot=e=>Reflect.getPrototypeOf(e);function lt(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function ct(e,t){const a={get(a){const n=this.__v_raw,r=Ft(n),s=Ft(a);e||(z(a,s)&&Le(r,0,a),Le(r,0,s));const{has:i}=ot(r),o=t?it:e?At:Dt;return i.call(r,a)?o(n.get(a)):i.call(r,s)?o(n.get(s)):void(n!==r&&n.get(a))},get size(){const t=this.__v_raw;return!e&&Le(Ft(t),0,Oe),t.size},has(t){const a=this.__v_raw,n=Ft(a),r=Ft(t);return e||(z(t,r)&&Le(n,0,t),Le(n,0,r)),t===r?a.has(t):a.has(t)||a.has(r)},forEach(a,n){const r=this,s=r.__v_raw,i=Ft(s),o=t?it:e?At:Dt;return!e&&Le(i,0,Oe),s.forEach((e,t)=>a.call(n,o(e),o(t),r))}};g(a,e?{add:lt("add"),set:lt("set"),delete:lt("delete"),clear:lt("clear")}:{add(e){t||Et(e)||_t(e)||(e=Ft(e));const a=Ft(this);return ot(a).has.call(a,e)||(a.add(e),Re(a,"add",e,e)),this},set(e,a){t||Et(a)||_t(a)||(a=Ft(a));const n=Ft(this),{has:r,get:s}=ot(n);let i=r.call(n,e);i||(e=Ft(e),i=r.call(n,e));const o=s.call(n,e);return n.set(e,a),i?z(a,o)&&Re(n,"set",e,a):Re(n,"add",e,a),this},delete(e){const t=Ft(this),{has:a,get:n}=ot(t);let r=a.call(t,e);r||(e=Ft(e),r=a.call(t,e)),n&&n.call(t,e);const s=t.delete(e);return r&&Re(t,"delete",e,void 0),s},clear(){const e=Ft(this),t=0!==e.size,a=e.clear();return t&&Re(e,"clear",void 0,void 0),a}});return["keys","values","entries",Symbol.iterator].forEach(n=>{a[n]=function(e,t,a){return function(...n){const r=this.__v_raw,s=Ft(r),i=x(s),o="entries"===e||e===Symbol.iterator&&i,l="keys"===e&&i,c=r[e](...n),u=a?it:t?At:Dt;return!t&&Le(s,0,l?Ue:Oe),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:o?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}(n,e,t)}),a}function ut(e,t){const a=ct(e,t);return(t,n,r)=>"__v_isReactive"===n?!e:"__v_isReadonly"===n?e:"__v_raw"===n?t:Reflect.get(b(a,n)&&n in t?a:t,n,r)}const dt={get:ut(!1,!1)},ht={get:ut(!1,!0)},pt={get:ut(!0,!1)},ft=new WeakMap,mt=new WeakMap,gt=new WeakMap,yt=new WeakMap;function vt(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>S(e).slice(8,-1))(e))}function bt(e){return _t(e)?e:xt(e,!1,nt,dt,ft)}function wt(e){return xt(e,!0,rt,pt,gt)}function xt(e,t,a,n,r){if(!D(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=vt(e);if(0===s)return e;const i=r.get(e);if(i)return i;const o=new Proxy(e,2===s?n:a);return r.set(e,o),o}function kt(e){return _t(e)?kt(e.__v_raw):!(!e||!e.__v_isReactive)}function _t(e){return!(!e||!e.__v_isReadonly)}function Et(e){return!(!e||!e.__v_isShallow)}function Ct(e){return!!e&&!!e.__v_raw}function Ft(e){const t=e&&e.__v_raw;return t?Ft(t):e}const Dt=e=>D(e)?bt(e):e,At=e=>D(e)?wt(e):e;function Tt(e){return!!e&&!0===e.__v_isRef}function St(e){return function(e,t){if(Tt(e))return e;return new It(e,t)}(e,!1)}class It{constructor(e,t){this.dep=new Ne,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Ft(e),this._value=t?e:Dt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,a=this.__v_isShallow||Et(e)||_t(e);e=a?e:Ft(e),z(e,t)&&(this._rawValue=e,this._value=a?e:Dt(e),this.dep.trigger())}}function Pt(e){return Tt(e)?e.value:e}const Nt={get:(e,t,a)=>"__v_raw"===t?e:Pt(Reflect.get(e,t,a)),set:(e,t,a,n)=>{const r=e[t];return Tt(r)&&!Tt(a)?(r.value=a,!0):Reflect.set(e,t,a,n)}};function Bt(e){return kt(e)?e:new Proxy(e,Nt)}class Mt{constructor(e,t,a){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Ne(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ie-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=a}notify(){if(this.flags|=16,!(8&this.flags)&&ue!==this)return ye(this,!0),!0}get value(){const e=this.dep.track();return _e(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const Ot={},Ut=new WeakMap;let jt;function Lt(e,t,a=u){const{immediate:n,deep:r,once:s,scheduler:i,augmentJob:o,call:l}=a,c=e=>r?e:Et(e)||!1===r||0===r?Rt(e,1):Rt(e);let d,p,f,m,g=!1,v=!1;if(Tt(e)?(p=()=>e.value,g=Et(e)):kt(e)?(p=()=>c(e),g=!0):w(e)?(v=!0,g=e.some(e=>kt(e)||Et(e)),p=()=>e.map(e=>Tt(e)?e.value:kt(e)?c(e):E(e)?l?l(e,2):e():void 0)):p=E(e)?t?l?()=>l(e,2):e:()=>{if(f){Ae();try{f()}finally{Te()}}const t=jt;jt=d;try{return l?l(e,3,[m]):e(m)}finally{jt=t}}:h,t&&r){const e=p,t=!0===r?1/0:r;p=()=>Rt(e(),t)}const b=ce,x=()=>{d.stop(),b&&b.active&&y(b.effects,d)};if(s&&t){const e=t;t=(...t)=>{e(...t),x()}}let k=v?new Array(e.length).fill(Ot):Ot;const _=e=>{if(1&d.flags&&(d.dirty||e))if(t){const e=d.run();if(r||g||(v?e.some((e,t)=>z(e,k[t])):z(e,k))){f&&f();const a=jt;jt=d;try{const a=[e,k===Ot?void 0:v&&k[0]===Ot?[]:k,m];k=e,l?l(t,3,a):t(...a)}finally{jt=a}}}else d.run()};return o&&o(_),d=new pe(p),d.scheduler=i?()=>i(_,!1):_,m=e=>function(e,t=!1,a=jt){if(a){let t=Ut.get(a);t||Ut.set(a,t=[]),t.push(e)}}(e,!1,d),f=d.onStop=()=>{const e=Ut.get(d);if(e){if(l)l(e,4);else for(const t of e)t();Ut.delete(d)}},t?n?_(!0):k=d.run():i?i(_.bind(null,!0),!0):d.run(),x.pause=d.pause.bind(d),x.resume=d.resume.bind(d),x.stop=x,x}function Rt(e,t=1/0,a){if(t<=0||!D(e)||e.__v_skip)return e;if(((a=a||new Map).get(e)||0)>=t)return e;if(a.set(e,t),t--,Tt(e))Rt(e.value,t,a);else if(w(e))for(let n=0;n{Rt(e,t,a)});else if(I(e)){for(const n in e)Rt(e[n],t,a);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Rt(e[n],t,a)}return e}function zt(e,t,a,n){try{return n?e(...n):e()}catch(r){Yt(r,t,a)}}function Ht(e,t,a,n){if(E(e)){const r=zt(e,t,a,n);return r&&A(r)&&r.catch(e=>{Yt(e,t,a)}),r}if(w(e)){const r=[];for(let s=0;s=na(a)?$t.push(e):$t.splice(function(e){let t=Gt+1,a=$t.length;for(;t>>1,r=$t[n],s=na(r);sna(e)-na(t));if(Wt.length=0,Vt)return void Vt.push(...e);for(Vt=e,Kt=0;Ktnull==e.id?2&e.flags?-1:1/0:e.id;function ra(e){try{for(Gt=0;Gt<$t.length;Gt++){const e=$t[Gt];!e||8&e.flags||(4&e.flags&&(e.flags&=-2),zt(e,e.i,e.i?15:14),4&e.flags||(e.flags&=-2))}}finally{for(;Gt<$t.length;Gt++){const e=$t[Gt];e&&(e.flags&=-2)}Gt=-1,$t.length=0,aa(),qt=null,($t.length||Wt.length)&&ra()}}let sa=null,ia=null;function oa(e){const t=sa;return sa=e,ia=e&&e.type.__scopeId||null,t}function la(e,t=sa,a){if(!t)return e;if(e._n)return e;const n=(...a)=>{n._d&&Dr(-1);const r=oa(t);let s;try{s=e(...a)}finally{oa(r),n._d&&Dr(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function ca(e,t){if(null===sa)return e;const a=rs(sa),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return a&&E(t)?t.call(n&&n.proxy):t}}const ha=Symbol.for("v-scx");function pa(e,t,a){return fa(e,t,a)}function fa(e,t,a=u){const{immediate:n,deep:r,flush:s,once:i}=a,o=g({},a),l=t&&n||!t&&"post"!==s;let c;if(es)if("sync"===s){const e=da(ha);c=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=h,e.resume=h,e.pause=h,e}const d=Vr;o.call=(e,t,a)=>Ht(e,d,t,a);let p=!1;"post"===s?o.scheduler=e=>{ur(e,d&&d.suspense)}:"sync"!==s&&(p=!0,o.scheduler=(e,t)=>{t?e():Xt(e)}),o.augmentJob=e=>{t&&(e.flags|=4),p&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};const f=Lt(e,t,o);return es&&(c?c.push(f):l&&f()),f}function ma(e,t,a){const n=this.proxy,r=C(e)?e.includes(".")?ga(n,e):()=>n[e]:e.bind(n,n);let s;E(t)?s=t:(s=t.handler,a=t);const i=Zr(this),o=fa(r,s.bind(n),a);return i(),o}function ga(e,t){const a=t.split(".");return()=>{let t=e;for(let e=0;ee.__isTeleport,ba=e=>e&&(e.disabled||""===e.disabled),wa=e=>e&&(e.defer||""===e.defer),xa=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,ka=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,_a=(e,t)=>{const a=e&&e.to;if(C(a)){if(t){return t(a)}return null}return a},Ea={name:"Teleport",__isTeleport:!0,process(e,t,a,n,r,s,i,o,l,c){const{mc:u,pc:d,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=c,y=ba(t.props);let{shapeFlag:v,children:b,dynamicChildren:w}=t;if(null==e){const e=t.el=m(""),c=t.anchor=m("");p(e,a,n),p(c,a,n);const d=(e,t)=>{16&v&&u(b,e,t,r,s,i,o,l)},h=()=>{const e=t.target=_a(t.props,f),a=Aa(e,t,m,p);e&&("svg"!==i&&xa(e)?i="svg":"mathml"!==i&&ka(e)&&(i="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(e),y||(d(e,a),Da(t,!1)))};y&&(d(a,c),Da(t,!0)),wa(t.props)?(t.el.__isMounted=!1,ur(()=>{h(),delete t.el.__isMounted},s)):h()}else{if(wa(t.props)&&!1===e.el.__isMounted)return void ur(()=>{Ea.process(e,t,a,n,r,s,i,o,l,c)},s);t.el=e.el,t.targetStart=e.targetStart;const u=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,g=ba(e.props),v=g?a:p,b=g?u:m;if("svg"===i||xa(p)?i="svg":("mathml"===i||ka(p))&&(i="mathml"),w?(h(e.dynamicChildren,w,v,r,s,i,o),fr(e,t,!0)):l||d(e,t,v,b,r,s,i,o,!1),y)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ca(t,a,u,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=_a(t.props,f);e&&Ca(t,e,null,c,0)}else g&&Ca(t,p,m,c,1);Da(t,y)}},remove(e,t,a,{um:n,o:{remove:r}},s){const{shapeFlag:i,children:o,anchor:l,targetStart:c,targetAnchor:u,target:d,props:h}=e;if(d&&(r(c),r(u)),s&&r(l),16&i){const e=s||!ba(h);for(let r=0;r{e.isMounted=!0}),on(()=>{e.isUnmounting=!0}),e}const Pa=[Function,Array],Na={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Pa,onEnter:Pa,onAfterEnter:Pa,onEnterCancelled:Pa,onBeforeLeave:Pa,onLeave:Pa,onAfterLeave:Pa,onLeaveCancelled:Pa,onBeforeAppear:Pa,onAppear:Pa,onAfterAppear:Pa,onAppearCancelled:Pa},Ba=e=>{const t=e.subTree;return t.component?Ba(t.component):t};function Ma(e){let t=e[0];if(e.length>1)for(const a of e)if(a.type!==xr){t=a;break}return t}const Oa={name:"BaseTransition",props:Na,setup(e,{slots:t}){const a=Kr(),n=Ia();return()=>{const r=t.default&&Ha(t.default(),!0);if(!r||!r.length)return;const s=Ma(r),i=Ft(e),{mode:o}=i;if(n.isLeaving)return La(s);const l=Ra(s);if(!l)return La(s);let c=ja(l,i,n,a,e=>c=e);l.type!==xr&&za(l,c);let u=a.subTree&&Ra(a.subTree);if(u&&u.type!==xr&&!Pr(u,l)&&Ba(a).type!==xr){let e=ja(u,i,n,a);if(za(u,e),"out-in"===o&&l.type!==xr)return n.isLeaving=!0,e.afterLeave=()=>{n.isLeaving=!1,8&a.job.flags||a.update(),delete e.afterLeave,u=void 0},La(s);"in-out"===o&&l.type!==xr?e.delayLeave=(e,t,a)=>{Ua(n,u)[String(u.key)]=u,e[Ta]=()=>{t(),e[Ta]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{a(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return s}}};function Ua(e,t){const{leavingVNodes:a}=e;let n=a.get(t.type);return n||(n=Object.create(null),a.set(t.type,n)),n}function ja(e,t,a,n,r){const{appear:s,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:g,onAppear:y,onAfterAppear:v,onAppearCancelled:b}=t,x=String(e.key),k=Ua(a,e),_=(e,t)=>{e&&Ht(e,n,9,t)},E=(e,t)=>{const a=t[1];_(e,t),w(e)?e.every(e=>e.length<=1)&&a():e.length<=1&&a()},C={mode:i,persisted:o,beforeEnter(t){let n=l;if(!a.isMounted){if(!s)return;n=g||l}t[Ta]&&t[Ta](!0);const r=k[x];r&&Pr(e,r)&&r.el[Ta]&&r.el[Ta](),_(n,[t])},enter(e){let t=c,n=u,r=d;if(!a.isMounted){if(!s)return;t=y||c,n=v||u,r=b||d}let i=!1;const o=e[Sa]=t=>{i||(i=!0,_(t?r:n,[e]),C.delayedLeave&&C.delayedLeave(),e[Sa]=void 0)};t?E(t,[e,o]):o()},leave(t,n){const r=String(e.key);if(t[Sa]&&t[Sa](!0),a.isUnmounting)return n();_(h,[t]);let s=!1;const i=t[Ta]=a=>{s||(s=!0,n(),_(a?m:f,[t]),t[Ta]=void 0,k[r]===e&&delete k[r])};k[r]=e,p?E(p,[t,i]):i()},clone(e){const s=ja(e,t,a,n,r);return r&&r(s),s}};return C}function La(e){if(Ja(e))return(e=Ur(e)).children=null,e}function Ra(e){if(!Ja(e))return va(e.type)&&e.children?Ma(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:a}=e;if(a){if(16&t)return a[0];if(32&t&&E(a.default))return a.default()}}function za(e,t){6&e.shapeFlag&&e.component?(e.transition=t,za(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ha(e,t=!1,a){let n=[],r=0;for(let s=0;s1)for(let s=0;sg({name:e.name},t,{setup:e}))():e}function $a(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Ga=new WeakMap;function Wa(e,t,a,n,r=!1){if(w(e))return void e.forEach((e,s)=>Wa(e,t&&(w(t)?t[s]:t),a,n,r));if(Ka(n)&&!r)return void(512&n.shapeFlag&&n.type.__asyncResolved&&n.component.subTree.component&&Wa(e,t,a,n.component.subTree));const s=4&n.shapeFlag?rs(n.component):n.el,i=r?null:s,{i:o,r:l}=e,c=t&&t.r,d=o.refs===u?o.refs={}:o.refs,h=o.setupState,f=Ft(h),m=h===u?p:e=>b(f,e);if(null!=c&&c!==l)if(Va(t),C(c))d[c]=null,m(c)&&(h[c]=null);else if(Tt(c)){c.value=null;const e=t;e.k&&(d[e.k]=null)}if(E(l))zt(l,o,12,[i,d]);else{const t=C(l),n=Tt(l);if(t||n){const o=()=>{if(e.f){const a=t?m(l)?h[l]:d[l]:l.value;if(r)w(a)&&y(a,s);else if(w(a))a.includes(s)||a.push(s);else if(t)d[l]=[s],m(l)&&(h[l]=d[l]);else{const t=[s];l.value=t,e.k&&(d[e.k]=t)}}else t?(d[l]=i,m(l)&&(h[l]=i)):n&&(l.value=i,e.k&&(d[e.k]=i))};if(i){const t=()=>{o(),Ga.delete(e)};t.id=-1,Ga.set(e,t),ur(t,a)}else Va(e),o()}}}function Va(e){const t=Ga.get(e);t&&(t.flags|=8,Ga.delete(e))}V().requestIdleCallback,V().cancelIdleCallback;const Ka=e=>!!e.type.__asyncLoader,Ja=e=>e.type.__isKeepAlive;function qa(e,t){Xa(e,"a",t)}function Za(e,t){Xa(e,"da",t)}function Xa(e,t,a=Vr){const n=e.__wdc||(e.__wdc=()=>{let t=a;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(en(t,n,a),a){let e=a.parent;for(;e&&e.parent;)Ja(e.parent.vnode)&&Qa(n,t,a,e),e=e.parent}}function Qa(e,t,a,n){const r=en(t,e,n,!0);ln(()=>{y(n[t],r)},a)}function en(e,t,a=Vr,n=!1){if(a){const r=a[e]||(a[e]=[]),s=t.__weh||(t.__weh=(...n)=>{Ae();const r=Zr(a),s=Ht(t,a,e,n);return r(),Te(),s});return n?r.unshift(s):r.push(s),s}}const tn=e=>(t,a=Vr)=>{es&&"sp"!==e||en(e,(...e)=>t(...e),a)},an=tn("bm"),nn=tn("m"),rn=tn("bu"),sn=tn("u"),on=tn("bum"),ln=tn("um"),cn=tn("sp"),un=tn("rtg"),dn=tn("rtc");function hn(e,t=Vr){en("ec",e,t)}const pn="components";const fn=Symbol.for("v-ndc");function mn(e,t,a=!0,n=!1){const r=sa||Vr;if(r){const a=r.type;{const e=ss(a,!1);if(e&&(e===t||e===O(t)||e===L(O(t))))return a}const s=gn(r[e]||a[e],t)||gn(r.appContext[e],t);return!s&&n?a:s}}function gn(e,t){return e&&(e[t]||e[O(t)]||e[L(O(t))])}function yn(e,t,a,n){let r;const s=a,i=w(e);if(i||C(e)){let a=!1,n=!1;i&&kt(e)&&(a=!Et(e),n=_t(e),e=He(e)),r=new Array(e.length);for(let i=0,o=e.length;it(e,a,void 0,s));else{const a=Object.keys(e);r=new Array(a.length);for(let n=0,i=a.length;n0;return"default"!==t&&(a.name=t),Cr(),Sr(br,null,[Or("slot",a,n&&n())],e?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),Cr();const i=s&&bn(s(a)),o=a.key||i&&i.key,l=Sr(br,{key:(o&&!F(o)?o:`_${t}`)+(!i&&n?"_fb":"")},i||(n?n():[]),i&&1===e._?64:-2);return s&&s._c&&(s._d=!0),l}function bn(e){return e.some(e=>!Ir(e)||e.type!==xr&&!(e.type===br&&!bn(e.children)))?e:null}const wn=e=>e?Qr(e)?rs(e):wn(e.parent):null,xn=g(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>wn(e.parent),$root:e=>wn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Tn(e),$forceUpdate:e=>e.f||(e.f=()=>{Xt(e.update)}),$nextTick:e=>e.n||(e.n=Zt.bind(e.proxy)),$watch:e=>ma.bind(e)}),kn=(e,t)=>e!==u&&!e.__isScriptSetup&&b(e,t),_n={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:a,setupState:n,data:r,props:s,accessCache:i,type:o,appContext:l}=e;if("$"!==t[0]){const e=i[t];if(void 0!==e)switch(e){case 1:return n[t];case 2:return r[t];case 4:return a[t];case 3:return s[t]}else{if(kn(n,t))return i[t]=1,n[t];if(r!==u&&b(r,t))return i[t]=2,r[t];if(b(s,t))return i[t]=3,s[t];if(a!==u&&b(a,t))return i[t]=4,a[t];Cn&&(i[t]=0)}}const c=xn[t];let d,h;return c?("$attrs"===t&&Le(e.attrs,0,""),c(e)):(d=o.__cssModules)&&(d=d[t])?d:a!==u&&b(a,t)?(i[t]=4,a[t]):(h=l.config.globalProperties,b(h,t)?h[t]:void 0)},set({_:e},t,a){const{data:n,setupState:r,ctx:s}=e;return kn(r,t)?(r[t]=a,!0):n!==u&&b(n,t)?(n[t]=a,!0):!b(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=a,!0))},has({_:{data:e,setupState:t,accessCache:a,ctx:n,appContext:r,props:s,type:i}},o){let l;return!!(a[o]||e!==u&&"$"!==o[0]&&b(e,o)||kn(t,o)||b(s,o)||b(n,o)||b(xn,o)||b(r.config.globalProperties,o)||(l=i.__cssModules)&&l[o])},defineProperty(e,t,a){return null!=a.get?e._.accessCache[t]=0:b(a,"value")&&this.set(e,t,a.value,null),Reflect.defineProperty(e,t,a)}};function En(e){return w(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}let Cn=!0;function Fn(e){const t=Tn(e),a=e.proxy,n=e.ctx;Cn=!1,t.beforeCreate&&Dn(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:i,watch:o,provide:l,inject:c,created:u,beforeMount:d,mounted:p,beforeUpdate:f,updated:m,activated:g,deactivated:y,beforeDestroy:v,beforeUnmount:b,destroyed:x,unmounted:k,render:_,renderTracked:C,renderTriggered:F,errorCaptured:A,serverPrefetch:T,expose:S,inheritAttrs:I,components:P,directives:N,filters:B}=t;if(c&&function(e,t){w(e)&&(e=Nn(e));for(const a in e){const n=e[a];let r;r=D(n)?"default"in n?da(n.from||a,n.default,!0):da(n.from||a):da(n),Tt(r)?Object.defineProperty(t,a,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[a]=r}}(c,n,null),i)for(const h in i){const e=i[h];E(e)&&(n[h]=e.bind(a))}if(r){const t=r.call(a,a);D(t)&&(e.data=bt(t))}if(Cn=!0,s)for(const w in s){const e=s[w],t=E(e)?e.bind(a,a):E(e.get)?e.get.bind(a,a):h,r=!E(e)&&E(e.set)?e.set.bind(a):h,i=is({get:t,set:r});Object.defineProperty(n,w,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(o)for(const h in o)An(o[h],n,a,h);if(l){const e=E(l)?l.call(a):l;Reflect.ownKeys(e).forEach(t=>{!function(e,t){if(Vr){let a=Vr.provides;const n=Vr.parent&&Vr.parent.provides;n===a&&(a=Vr.provides=Object.create(n)),a[e]=t}}(t,e[t])})}function M(e,t){w(t)?t.forEach(t=>e(t.bind(a))):t&&e(t.bind(a))}if(u&&Dn(u,e,"c"),M(an,d),M(nn,p),M(rn,f),M(sn,m),M(qa,g),M(Za,y),M(hn,A),M(dn,C),M(un,F),M(on,b),M(ln,k),M(cn,T),w(S))if(S.length){const t=e.exposed||(e.exposed={});S.forEach(e=>{Object.defineProperty(t,e,{get:()=>a[e],set:t=>a[e]=t,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===h&&(e.render=_),null!=I&&(e.inheritAttrs=I),P&&(e.components=P),N&&(e.directives=N),T&&$a(e)}function Dn(e,t,a){Ht(w(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,a)}function An(e,t,a,n){let r=n.includes(".")?ga(a,n):()=>a[n];if(C(e)){const a=t[e];E(a)&&pa(r,a)}else if(E(e))pa(r,e.bind(a));else if(D(e))if(w(e))e.forEach(e=>An(e,t,a,n));else{const n=E(e.handler)?e.handler.bind(a):t[e.handler];E(n)&&pa(r,n,e)}}function Tn(e){const t=e.type,{mixins:a,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,o=s.get(t);let l;return o?l=o:r.length||a||n?(l={},r.length&&r.forEach(e=>Sn(l,e,i,!0)),Sn(l,t,i)):l=t,D(t)&&s.set(t,l),l}function Sn(e,t,a,n=!1){const{mixins:r,extends:s}=t;s&&Sn(e,s,a,!0),r&&r.forEach(t=>Sn(e,t,a,!0));for(const i in t)if(n&&"expose"===i);else{const n=In[i]||a&&a[i];e[i]=n?n(e[i],t[i]):t[i]}return e}const In={data:Pn,props:On,emits:On,methods:Mn,computed:Mn,beforeCreate:Bn,created:Bn,beforeMount:Bn,mounted:Bn,beforeUpdate:Bn,updated:Bn,beforeDestroy:Bn,beforeUnmount:Bn,destroyed:Bn,unmounted:Bn,activated:Bn,deactivated:Bn,errorCaptured:Bn,serverPrefetch:Bn,components:Mn,directives:Mn,watch:function(e,t){if(!e)return t;if(!t)return e;const a=g(Object.create(null),e);for(const n in t)a[n]=Bn(e[n],t[n]);return a},provide:Pn,inject:function(e,t){return Mn(Nn(e),Nn(t))}};function Pn(e,t){return t?e?function(){return g(E(e)?e.call(this,this):e,E(t)?t.call(this,this):t)}:t:e}function Nn(e){if(w(e)){const t={};for(let a=0;a(r.has(e)||(e&&E(e.install)?(r.add(e),e.install(o,...t)):E(e)&&(r.add(e),e(o,...t))),o),mixin:e=>(n.mixins.includes(e)||n.mixins.push(e),o),component:(e,t)=>t?(n.components[e]=t,o):n.components[e],directive:(e,t)=>t?(n.directives[e]=t,o):n.directives[e],mount(r,s,l){if(!i){const s=o._ceVNode||Or(t,a);return s.appContext=n,!0===l?l="svg":!1===l&&(l=void 0),e(s,r,l),i=!0,o._container=r,r.__vue_app__=o,rs(s.component)}},onUnmount(e){s.push(e)},unmount(){i&&(Ht(s,o._instance,16),e(null,o._container),delete o._container.__vue_app__)},provide:(e,t)=>(n.provides[e]=t,o),runWithContext(e){const t=Rn;Rn=o;try{return e()}finally{Rn=t}}};return o}}let Rn=null;function zn(e,t,...a){if(e.isUnmounted)return;const n=e.vnode.props||u;let r=a;const s=t.startsWith("update:"),i=s&&((e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${O(t)}Modifiers`]||e[`${j(t)}Modifiers`])(n,t.slice(7));let o;i&&(i.trim&&(r=a.map(e=>C(e)?e.trim():e)),i.number&&(r=a.map(G)));let l=n[o=R(t)]||n[o=R(O(t))];!l&&s&&(l=n[o=R(j(t))]),l&&Ht(l,e,6,r);const c=n[o+"Once"];if(c){if(e.emitted){if(e.emitted[o])return}else e.emitted={};e.emitted[o]=!0,Ht(c,e,6,r)}}const Hn=new WeakMap;function Yn(e,t,a=!1){const n=a?Hn:t.emitsCache,r=n.get(e);if(void 0!==r)return r;const s=e.emits;let i={},o=!1;if(!E(e)){const n=e=>{const a=Yn(e,t,!0);a&&(o=!0,g(i,a))};!a&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}return s||o?(w(s)?s.forEach(e=>i[e]=null):g(i,s),D(e)&&n.set(e,i),i):(D(e)&&n.set(e,null),null)}function $n(e,t){return!(!e||!f(t))&&(t=t.slice(2).replace(/Once$/,""),b(e,t[0].toLowerCase()+t.slice(1))||b(e,j(t))||b(e,t))}function Gn(e){const{type:t,vnode:a,proxy:n,withProxy:r,propsOptions:[s],slots:i,attrs:o,emit:l,render:c,renderCache:u,props:d,data:h,setupState:p,ctx:f,inheritAttrs:g}=e,y=oa(e);let v,b;try{if(4&a.shapeFlag){const e=r||n,t=e;v=zr(c.call(t,e,u,d,p,h,f)),b=o}else{const e=t;0,v=zr(e.length>1?e(d,{attrs:o,slots:i,emit:l}):e(d,null)),b=t.props?o:Wn(o)}}catch(x){_r.length=0,Yt(x,e,1),v=Or(xr)}let w=v;if(b&&!1!==g){const e=Object.keys(b),{shapeFlag:t}=w;e.length&&7&t&&(s&&e.some(m)&&(b=Vn(b,s)),w=Ur(w,b,!1,!0))}return a.dirs&&(w=Ur(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(a.dirs):a.dirs),a.transition&&za(w,a.transition),v=w,oa(y),v}const Wn=e=>{let t;for(const a in e)("class"===a||"style"===a||f(a))&&((t||(t={}))[a]=e[a]);return t},Vn=(e,t)=>{const a={};for(const n in e)m(n)&&n.slice(9)in t||(a[n]=e[n]);return a};function Kn(e,t,a){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;rObject.create(Jn),Zn=e=>Object.getPrototypeOf(e)===Jn;function Xn(e,t,a,n=!1){const r={},s=qn();e.propsDefaults=Object.create(null),Qn(e,t,r,s);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);a?e.props=n?r:xt(r,!1,st,ht,mt):e.type.props?e.props=r:e.props=s,e.attrs=s}function Qn(e,t,a,n){const[r,s]=e.propsOptions;let i,o=!1;if(t)for(let l in t){if(N(l))continue;const c=t[l];let u;r&&b(r,u=O(l))?s&&s.includes(u)?(i||(i={}))[u]=c:a[u]=c:$n(e.emitsOptions,l)||l in n&&c===n[l]||(n[l]=c,o=!0)}if(s){const t=Ft(a),n=i||u;for(let i=0;i{l=!0;const[a,n]=ar(e,t,!0);g(i,a),n&&o.push(...n)};!a&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}if(!s&&!l)return D(e)&&n.set(e,d),d;if(w(s))for(let d=0;d"_"===e||"_ctx"===e||"$stable"===e,sr=e=>w(e)?e.map(zr):[zr(e)],ir=(e,t,a)=>{if(t._n)return t;const n=la((...e)=>sr(t(...e)),a);return n._c=!1,n},or=(e,t,a)=>{const n=e._ctx;for(const r in e){if(rr(r))continue;const a=e[r];if(E(a))t[r]=ir(0,a,n);else if(null!=a){const e=sr(a);t[r]=()=>e}}},lr=(e,t)=>{const a=sr(t);e.slots.default=()=>a},cr=(e,t,a)=>{for(const n in t)!a&&rr(n)||(e[n]=t[n])},ur=function(e,t){t&&t.pendingBranch?w(e)?t.effects.push(...e):t.effects.push(e):ea(e)};function dr(e){return function(e){V().__VUE__=!0;const{insert:t,remove:a,patchProp:n,createElement:r,createText:s,createComment:i,setText:o,setElementText:l,parentNode:c,nextSibling:p,setScopeId:f=h,insertStaticContent:m}=e,g=(e,t,a,n=null,r=null,s=null,i=void 0,o=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!Pr(e,t)&&(n=X(e),W(e,r,s,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:d}=t;switch(c){case wr:y(e,t,a,n);break;case xr:v(e,t,a,n);break;case kr:null==e&&w(t,a,n,i);break;case br:I(e,t,a,n,r,s,i,o,l);break;default:1&d?_(e,t,a,n,r,s,i,o,l):6&d?P(e,t,a,n,r,s,i,o,l):(64&d||128&d)&&c.process(e,t,a,n,r,s,i,o,l,te)}null!=u&&r?Wa(u,e&&e.ref,s,t||e,!t):null==u&&e&&null!=e.ref&&Wa(e.ref,null,s,e,!0)},y=(e,a,n,r)=>{if(null==e)t(a.el=s(a.children),n,r);else{const t=a.el=e.el;a.children!==e.children&&o(t,a.children)}},v=(e,a,n,r)=>{null==e?t(a.el=i(a.children||""),n,r):a.el=e.el},w=(e,t,a,n)=>{[e.el,e.anchor]=m(e.children,t,a,n,e.el,e.anchor)},x=({el:e,anchor:a},n,r)=>{let s;for(;e&&e!==a;)s=p(e),t(e,n,r),e=s;t(a,n,r)},k=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=p(e),a(e),e=n;a(t)},_=(e,t,a,n,r,s,i,o,l)=>{if("svg"===t.type?i="svg":"math"===t.type&&(i="mathml"),null==e)E(t,a,n,r,s,i,o,l);else{const a=e.el&&e.el._isVueCE?e.el:null;try{a&&a._beginPatch(),D(e,t,r,s,i,o,l)}finally{a&&a._endPatch()}}},E=(e,a,s,i,o,c,u,d)=>{let h,p;const{props:f,shapeFlag:m,transition:g,dirs:y}=e;if(h=e.el=r(e.type,c,f&&f.is,f),8&m?l(h,e.children):16&m&&F(e.children,h,null,i,o,hr(e,c),u,d),y&&ua(e,null,i,"created"),C(h,e,e.scopeId,u,i),f){for(const e in f)"value"===e||N(e)||n(h,e,null,f[e],c,i);"value"in f&&n(h,"value",null,f.value,c),(p=f.onVnodeBeforeMount)&&$r(p,i,e)}y&&ua(e,null,i,"beforeMount");const v=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(o,g);v&&g.beforeEnter(h),t(h,a,s),((p=f&&f.onVnodeMounted)||v||y)&&ur(()=>{p&&$r(p,i,e),v&&g.enter(h),y&&ua(e,null,i,"mounted")},o)},C=(e,t,a,n,r)=>{if(a&&f(e,a),n)for(let s=0;s{for(let c=l;c{const c=t.el=e.el;let{patchFlag:d,dynamicChildren:h,dirs:p}=t;d|=16&e.patchFlag;const f=e.props||u,m=t.props||u;let g;if(a&&pr(a,!1),(g=m.onVnodeBeforeUpdate)&&$r(g,a,t,e),p&&ua(t,e,a,"beforeUpdate"),a&&pr(a,!0),(f.innerHTML&&null==m.innerHTML||f.textContent&&null==m.textContent)&&l(c,""),h?T(e.dynamicChildren,h,c,a,r,hr(t,s),i):o||R(e,t,c,null,a,r,hr(t,s),i,!1),d>0){if(16&d)S(c,f,m,a,s);else if(2&d&&f.class!==m.class&&n(c,"class",null,m.class,s),4&d&&n(c,"style",f.style,m.style,s),8&d){const e=t.dynamicProps;for(let t=0;t{g&&$r(g,a,t,e),p&&ua(t,e,a,"updated")},r)},T=(e,t,a,n,r,s,i)=>{for(let o=0;o{if(t!==a){if(t!==u)for(const i in t)N(i)||i in a||n(e,i,t[i],null,s,r);for(const i in a){if(N(i))continue;const o=a[i],l=t[i];o!==l&&"value"!==i&&n(e,i,l,o,s,r)}"value"in a&&n(e,"value",t.value,a.value,s)}},I=(e,a,n,r,i,o,l,c,u)=>{const d=a.el=e?e.el:s(""),h=a.anchor=e?e.anchor:s("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=a;m&&(c=c?c.concat(m):m),null==e?(t(d,n,r),t(h,n,r),F(a.children||[],n,h,i,o,l,c,u)):p>0&&64&p&&f&&e.dynamicChildren&&e.dynamicChildren.length===f.length?(T(e.dynamicChildren,f,n,i,o,l,c),(null!=a.key||i&&a===i.subTree)&&fr(e,a,!0)):R(e,a,n,h,i,o,l,c,u)},P=(e,t,a,n,r,s,i,o,l)=>{t.slotScopeIds=o,null==e?512&t.shapeFlag?r.ctx.activate(t,a,n,i,l):B(t,a,n,r,s,i,l):M(e,t,l)},B=(e,t,a,n,r,s,i)=>{const o=e.component=function(e,t,a){const n=e.type,r=(t?t.appContext:e.appContext)||Gr,s={uid:Wr++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new de(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ar(n,r),emitsOptions:Yn(n,r),emit:null,emitted:null,propsDefaults:u,inheritAttrs:n.inheritAttrs,ctx:u,data:u,props:u,attrs:u,slots:u,refs:u,setupState:u,setupContext:null,suspense:a,suspenseId:a?a.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};s.ctx={_:s},s.root=t?t.root:s,s.emit=zn.bind(null,s),e.ce&&e.ce(s);return s}(e,n,r);if(Ja(e)&&(o.ctx.renderer=te),function(e,t=!1,a=!1){t&&qr(t);const{props:n,children:r}=e.vnode,s=Qr(e);Xn(e,n,s,t),((e,t,a)=>{const n=e.slots=qn();if(32&e.vnode.shapeFlag){const e=t._;e?(cr(n,t,a),a&&Y(n,"_",e,!0)):or(t,n)}else t&&lr(e,t)})(e,r,a||t);const i=s?function(e,t){const a=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_n);const{setup:n}=a;if(n){Ae();const a=e.setupContext=n.length>1?function(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,ns),slots:e.slots,emit:e.emit,expose:t}}(e):null,r=Zr(e),s=zt(n,e,0,[e.props,a]),i=A(s);if(Te(),r(),!i&&!e.sp||Ka(e)||$a(e),i){if(s.then(Xr,Xr),t)return s.then(t=>{ts(e,t)}).catch(t=>{Yt(t,e,0)});e.asyncDep=s}else ts(e,s)}else as(e)}(e,t):void 0;t&&qr(!1)}(o,!1,i),o.asyncDep){if(r&&r.registerDep(o,U,i),!e.el){const n=o.subTree=Or(xr);v(null,n,t,a),e.placeholder=n.el}}else U(o,e,t,a,r,s,i)},M=(e,t,a)=>{const n=t.component=e.component;if(function(e,t,a){const{props:n,children:r,component:s}=e,{props:i,children:o,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(!(a&&l>=0))return!(!r&&!o||o&&o.$stable)||n!==i&&(n?!i||Kn(n,i,c):!!i);if(1024&l)return!0;if(16&l)return n?Kn(n,i,c):!!i;if(8&l){const e=t.dynamicProps;for(let t=0;t{const o=()=>{if(e.isMounted){let{next:t,bu:a,u:n,parent:l,vnode:u}=e;{const a=mr(e);if(a)return t&&(t.el=u.el,L(e,t,i)),void a.asyncDep.then(()=>{e.isUnmounted||o()})}let d,h=t;pr(e,!1),t?(t.el=u.el,L(e,t,i)):t=u,a&&H(a),(d=t.props&&t.props.onVnodeBeforeUpdate)&&$r(d,l,t,u),pr(e,!0);const p=Gn(e),f=e.subTree;e.subTree=p,g(f,p,c(f.el),X(f),e,r,s),t.el=p.el,null===h&&function({vnode:e,parent:t},a){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n!==e)break;(e=t.vnode).el=a,t=t.parent}}(e,p.el),n&&ur(n,r),(d=t.props&&t.props.onVnodeUpdated)&&ur(()=>$r(d,l,t,u),r)}else{let i;const{el:o,props:l}=t,{bm:c,m:u,parent:d,root:h,type:p}=e,f=Ka(t);pr(e,!1),c&&H(c),!f&&(i=l&&l.onVnodeBeforeMount)&&$r(i,d,t),pr(e,!0);{h.ce&&!1!==h.ce._def.shadowRoot&&h.ce._injectChildStyle(p);const i=e.subTree=Gn(e);g(null,i,a,n,e,r,s),t.el=i.el}if(u&&ur(u,r),!f&&(i=l&&l.onVnodeMounted)){const e=t;ur(()=>$r(i,d,e),r)}(256&t.shapeFlag||d&&Ka(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&ur(e.a,r),e.isMounted=!0,t=a=n=null}};e.scope.on();const l=e.effect=new pe(o);e.scope.off();const u=e.update=l.run.bind(l),d=e.job=l.runIfDirty.bind(l);d.i=e,d.id=e.uid,l.scheduler=()=>Xt(d),pr(e,!0),u()},L=(e,t,a)=>{t.component=e;const n=e.vnode.props;e.vnode=t,e.next=null,function(e,t,a,n){const{props:r,attrs:s,vnode:{patchFlag:i}}=e,o=Ft(r),[l]=e.propsOptions;let c=!1;if(!(n||i>0)||16&i){let n;Qn(e,t,r,s)&&(c=!0);for(const s in o)t&&(b(t,s)||(n=j(s))!==s&&b(t,n))||(l?!a||void 0===a[s]&&void 0===a[n]||(r[s]=er(l,o,s,void 0,e,!0)):delete r[s]);if(s!==o)for(const e in s)t&&b(t,e)||(delete s[e],c=!0)}else if(8&i){const a=e.vnode.dynamicProps;for(let n=0;n{const{vnode:n,slots:r}=e;let s=!0,i=u;if(32&n.shapeFlag){const e=t._;e?a&&1===e?s=!1:cr(r,t,a):(s=!t.$stable,or(t,r)),i=t}else t&&(lr(e,t),i={default:1});if(s)for(const o in r)rr(o)||null!=i[o]||delete r[o]})(e,t.children,a),Ae(),ta(e),Te()},R=(e,t,a,n,r,s,i,o,c=!1)=>{const u=e&&e.children,d=e?e.shapeFlag:0,h=t.children,{patchFlag:p,shapeFlag:f}=t;if(p>0){if(128&p)return void $(u,h,a,n,r,s,i,o,c);if(256&p)return void z(u,h,a,n,r,s,i,o,c)}8&f?(16&d&&Z(u,r,s),h!==u&&l(a,h)):16&d?16&f?$(u,h,a,n,r,s,i,o,c):Z(u,r,s,!0):(8&d&&l(a,""),16&f&&F(h,a,n,r,s,i,o,c))},z=(e,t,a,n,r,s,i,o,l)=>{t=t||d;const c=(e=e||d).length,u=t.length,h=Math.min(c,u);let p;for(p=0;pu?Z(e,r,s,!0,!1,h):F(t,a,n,r,s,i,o,l,h)},$=(e,t,a,n,r,s,i,o,l)=>{let c=0;const u=t.length;let h=e.length-1,p=u-1;for(;c<=h&&c<=p;){const n=e[c],u=t[c]=l?Hr(t[c]):zr(t[c]);if(!Pr(n,u))break;g(n,u,a,null,r,s,i,o,l),c++}for(;c<=h&&c<=p;){const n=e[h],c=t[p]=l?Hr(t[p]):zr(t[p]);if(!Pr(n,c))break;g(n,c,a,null,r,s,i,o,l),h--,p--}if(c>h){if(c<=p){const e=p+1,d=ep)for(;c<=h;)W(e[c],r,s,!0),c++;else{const f=c,m=c,y=new Map;for(c=m;c<=p;c++){const e=t[c]=l?Hr(t[c]):zr(t[c]);null!=e.key&&y.set(e.key,c)}let v,b=0;const w=p-m+1;let x=!1,k=0;const _=new Array(w);for(c=0;c=w){W(n,r,s,!0);continue}let u;if(null!=n.key)u=y.get(n.key);else for(v=m;v<=p;v++)if(0===_[v-m]&&Pr(n,t[v])){u=v;break}void 0===u?W(n,r,s,!0):(_[u-m]=c+1,u>=k?k=u:x=!0,g(n,t[u],a,null,r,s,i,o,l),b++)}const E=x?function(e){const t=e.slice(),a=[0];let n,r,s,i,o;const l=e.length;for(n=0;n>1,e[a[o]]0&&(t[n]=a[s-1]),a[s]=n)}}s=a.length,i=a[s-1];for(;s-- >0;)a[s]=i,i=t[i];return a}(_):d;for(v=E.length-1,c=w-1;c>=0;c--){const e=m+c,d=t[e],h=t[e+1],p=e+1{const{el:o,type:l,transition:c,children:u,shapeFlag:d}=e;if(6&d)return void G(e.component.subTree,n,r,s);if(128&d)return void e.suspense.move(n,r,s);if(64&d)return void l.move(e,n,r,te);if(l===br){t(o,n,r);for(let e=0;ec.enter(o),i);else{const{leave:s,delayLeave:i,afterLeave:l}=c,u=()=>{e.ctx.isUnmounted?a(o):t(o,n,r)},d=()=>{o._isLeaving&&o[Ta](!0),s(o,()=>{u(),l&&l()})};i?i(o,u,d):d()}else t(o,n,r)},W=(e,t,a,n=!1,r=!1)=>{const{type:s,props:i,ref:o,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:h,cacheIndex:p}=e;if(-2===d&&(r=!1),null!=o&&(Ae(),Wa(o,null,a,e,!0),Te()),null!=p&&(t.renderCache[p]=void 0),256&u)return void t.ctx.deactivate(e);const f=1&u&&h,m=!Ka(e);let g;if(m&&(g=i&&i.onVnodeBeforeUnmount)&&$r(g,t,e),6&u)q(e.component,a,n);else{if(128&u)return void e.suspense.unmount(a,n);f&&ua(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,a,te,n):c&&!c.hasOnce&&(s!==br||d>0&&64&d)?Z(c,t,a,!1,!0):(s===br&&384&d||!r&&16&u)&&Z(l,t,a),n&&K(e)}(m&&(g=i&&i.onVnodeUnmounted)||f)&&ur(()=>{g&&$r(g,t,e),f&&ua(e,null,t,"unmounted")},a)},K=e=>{const{type:t,el:n,anchor:r,transition:s}=e;if(t===br)return void J(n,r);if(t===kr)return void k(e);const i=()=>{a(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:a}=s,r=()=>t(n,i);a?a(e.el,i,r):r()}else i()},J=(e,t)=>{let n;for(;e!==t;)n=p(e),a(e),e=n;a(t)},q=(e,t,a)=>{const{bum:n,scope:r,job:s,subTree:i,um:o,m:l,a:c}=e;gr(l),gr(c),n&&H(n),r.stop(),s&&(s.flags|=8,W(i,e,t,a)),o&&ur(o,t),ur(()=>{e.isUnmounted=!0},t)},Z=(e,t,a,n=!1,r=!1,s=0)=>{for(let i=s;i{if(6&e.shapeFlag)return X(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=p(e.anchor||e.el),a=t&&t[ya];return a?p(a):t};let Q=!1;const ee=(e,t,a)=>{let n;null==e?t._vnode&&(W(t._vnode,null,null,!0),n=t._vnode.component):g(t._vnode||null,e,t,null,null,null,a),t._vnode=e,Q||(Q=!0,ta(n),aa(),Q=!1)},te={p:g,um:W,m:G,r:K,mt:B,mc:F,pc:R,pbc:T,n:X,o:e};let ae;return{render:ee,hydrate:ae,createApp:Ln(ee)}}(e)}function hr({type:e,props:t},a){return"svg"===a&&"foreignObject"===e||"mathml"===a&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:a}function pr({effect:e,job:t},a){a?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function fr(e,t,a=!1){const n=e.children,r=t.children;if(w(n)&&w(r))for(let s=0;se.__isSuspense;const br=Symbol.for("v-fgt"),wr=Symbol.for("v-txt"),xr=Symbol.for("v-cmt"),kr=Symbol.for("v-stc"),_r=[];let Er=null;function Cr(e=!1){_r.push(Er=e?null:[])}let Fr=1;function Dr(e,t=!1){Fr+=e,e<0&&Er&&t&&(Er.hasOnce=!0)}function Ar(e){return e.dynamicChildren=Fr>0?Er||d:null,_r.pop(),Er=_r[_r.length-1]||null,Fr>0&&Er&&Er.push(e),e}function Tr(e,t,a,n,r,s){return Ar(Mr(e,t,a,n,r,s,!0))}function Sr(e,t,a,n,r){return Ar(Or(e,t,a,n,r,!0))}function Ir(e){return!!e&&!0===e.__v_isVNode}function Pr(e,t){return e.type===t.type&&e.key===t.key}const Nr=({key:e})=>null!=e?e:null,Br=({ref:e,ref_key:t,ref_for:a})=>("number"==typeof e&&(e=""+e),null!=e?C(e)||Tt(e)||E(e)?{i:sa,r:e,k:t,f:!!a}:e:null);function Mr(e,t=null,a=null,n=0,r=null,s=(e===br?0:1),i=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Nr(t),ref:t&&Br(t),scopeId:ia,slotScopeIds:null,children:a,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:sa};return o?(Yr(l,a),128&s&&e.normalize(l)):a&&(l.shapeFlag|=C(a)?8:16),Fr>0&&!i&&Er&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&Er.push(l),l}const Or=function(e,t=null,a=null,n=0,r=null,s=!1){e&&e!==fn||(e=xr);if(Ir(e)){const n=Ur(e,t,!0);return a&&Yr(n,a),Fr>0&&!s&&Er&&(6&n.shapeFlag?Er[Er.indexOf(e)]=n:Er.push(n)),n.patchFlag=-2,n}i=e,E(i)&&"__vccOpts"in i&&(e=e.__vccOpts);var i;if(t){t=function(e){return e?Ct(e)||Zn(e)?g({},e):e:null}(t);let{class:e,style:a}=t;e&&!C(e)&&(t.class=Q(e)),D(a)&&(Ct(a)&&!w(a)&&(a=g({},a)),t.style=K(a))}const o=C(e)?1:vr(e)?128:va(e)?64:D(e)?4:E(e)?2:0;return Mr(e,t,a,n,r,o,s,!0)};function Ur(e,t,a=!1,n=!1){const{props:r,ref:s,patchFlag:i,children:o,transition:l}=e,c=t?function(...e){const t={};for(let a=0;aVr||sa;let Jr,qr;{const e=V(),t=(t,a)=>{let n;return(n=e[t])||(n=e[t]=[]),n.push(a),e=>{n.length>1?n.forEach(t=>t(e)):n[0](e)}};Jr=t("__VUE_INSTANCE_SETTERS__",e=>Vr=e),qr=t("__VUE_SSR_SETTERS__",e=>es=e)}const Zr=e=>{const t=Vr;return Jr(e),e.scope.on(),()=>{e.scope.off(),Jr(t)}},Xr=()=>{Vr&&Vr.scope.off(),Jr(null)};function Qr(e){return 4&e.vnode.shapeFlag}let es=!1;function ts(e,t,a){E(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:D(t)&&(e.setupState=Bt(t)),as(e)}function as(e,t,a){const n=e.type;e.render||(e.render=n.render||h);{const t=Zr(e);Ae();try{Fn(e)}finally{Te(),t()}}}const ns={get:(e,t)=>(Le(e,0,""),e[t])};function rs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Bt((t=e.exposed,!b(t,"__v_skip")&&Object.isExtensible(t)&&Y(t,"__v_skip",!0),t)),{get:(t,a)=>a in t?t[a]:a in xn?xn[a](e):void 0,has:(e,t)=>t in e||t in xn})):e.proxy;var t}function ss(e,t=!0){return E(e)?e.displayName||e.name:e.name||t&&e.__name}const is=(e,t)=>{const a=function(e,t,a=!1){let n,r;return E(e)?n=e:(n=e.get,r=e.set),new Mt(n,r,a)}(e,0,es);return a};const os="3.5.26";let ls;const cs="undefined"!=typeof window&&window.trustedTypes;if(cs)try{ls=cs.createPolicy("vue",{createHTML:e=>e})}catch(XN){}const us=ls?e=>ls.createHTML(e):e=>e,ds="undefined"!=typeof document?document:null,hs=ds&&ds.createElement("template"),ps={insert:(e,t,a)=>{t.insertBefore(e,a||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,a,n)=>{const r="svg"===t?ds.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?ds.createElementNS("http://www.w3.org/1998/Math/MathML",e):a?ds.createElement(e,{is:a}):ds.createElement(e);return"select"===e&&n&&null!=n.multiple&&r.setAttribute("multiple",n.multiple),r},createText:e=>ds.createTextNode(e),createComment:e=>ds.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ds.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,a,n,r,s){const i=a?a.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),a),r!==s&&(r=r.nextSibling););else{hs.innerHTML=us("svg"===n?`${e}`:"mathml"===n?`${e}`:e);const r=hs.content;if("svg"===n||"mathml"===n){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,a)}return[i?i.nextSibling:t.firstChild,a?a.previousSibling:t.lastChild]}},fs="transition",ms="animation",gs=Symbol("_vtc"),ys={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},vs=g({},Na,ys),bs=e=>(e.displayName="Transition",e.props=vs,e),ws=bs((e,{slots:t})=>function(e,t,a){try{Dr(-1);const n=arguments.length;return 2===n?D(t)&&!w(t)?Ir(t)?Or(e,null,[t]):Or(e,t):Or(e,null,t):(n>3?a=Array.prototype.slice.call(arguments,2):3===n&&Ir(a)&&(a=[a]),Or(e,t,a))}finally{Dr(1)}}(Oa,_s(e),t)),xs=(e,t=[])=>{w(e)?e.forEach(e=>e(...t)):e&&e(...t)},ks=e=>!!e&&(w(e)?e.some(e=>e.length>1):e.length>1);function _s(e){const t={};for(const g in e)g in ys||(t[g]=e[g]);if(!1===e.css)return t;const{name:a="v",type:n,duration:r,enterFromClass:s=`${a}-enter-from`,enterActiveClass:i=`${a}-enter-active`,enterToClass:o=`${a}-enter-to`,appearFromClass:l=s,appearActiveClass:c=i,appearToClass:u=o,leaveFromClass:d=`${a}-leave-from`,leaveActiveClass:h=`${a}-leave-active`,leaveToClass:p=`${a}-leave-to`}=e,f=function(e){if(null==e)return null;if(D(e))return[Es(e.enter),Es(e.leave)];{const t=Es(e);return[t,t]}}(r),m=f&&f[0],y=f&&f[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:w,onLeave:x,onLeaveCancelled:k,onBeforeAppear:_=v,onAppear:E=b,onAppearCancelled:C=w}=t,F=(e,t,a,n)=>{e._enterCancelled=n,Fs(e,t?u:o),Fs(e,t?c:i),a&&a()},A=(e,t)=>{e._isLeaving=!1,Fs(e,d),Fs(e,p),Fs(e,h),t&&t()},T=e=>(t,a)=>{const r=e?E:b,i=()=>F(t,e,a);xs(r,[t,i]),Ds(()=>{Fs(t,e?l:s),Cs(t,e?u:o),ks(r)||Ts(t,n,m,i)})};return g(t,{onBeforeEnter(e){xs(v,[e]),Cs(e,s),Cs(e,i)},onBeforeAppear(e){xs(_,[e]),Cs(e,l),Cs(e,c)},onEnter:T(!1),onAppear:T(!0),onLeave(e,t){e._isLeaving=!0;const a=()=>A(e,t);Cs(e,d),e._enterCancelled?(Cs(e,h),Ns(e)):(Ns(e),Cs(e,h)),Ds(()=>{e._isLeaving&&(Fs(e,d),Cs(e,p),ks(x)||Ts(e,n,y,a))}),xs(x,[e,a])},onEnterCancelled(e){F(e,!1,void 0,!0),xs(w,[e])},onAppearCancelled(e){F(e,!0,void 0,!0),xs(C,[e])},onLeaveCancelled(e){A(e),xs(k,[e])}})}function Es(e){const t=(e=>{const t=C(e)?Number(e):NaN;return isNaN(t)?e:t})(e);return t}function Cs(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[gs]||(e[gs]=new Set)).add(t)}function Fs(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const a=e[gs];a&&(a.delete(t),a.size||(e[gs]=void 0))}function Ds(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let As=0;function Ts(e,t,a,n){const r=e._endId=++As,s=()=>{r===e._endId&&n()};if(null!=a)return setTimeout(s,a);const{type:i,timeout:o,propCount:l}=Ss(e,t);if(!i)return n();const c=i+"end";let u=0;const d=()=>{e.removeEventListener(c,h),s()},h=t=>{t.target===e&&++u>=l&&d()};setTimeout(()=>{u(a[e]||"").split(", "),r=n(`${fs}Delay`),s=n(`${fs}Duration`),i=Is(r,s),o=n(`${ms}Delay`),l=n(`${ms}Duration`),c=Is(o,l);let u=null,d=0,h=0;t===fs?i>0&&(u=fs,d=i,h=s.length):t===ms?c>0&&(u=ms,d=c,h=l.length):(d=Math.max(i,c),u=d>0?i>c?fs:ms:null,h=u?u===fs?s.length:l.length:0);return{type:u,timeout:d,propCount:h,hasTransform:u===fs&&/\b(?:transform|all)(?:,|$)/.test(n(`${fs}Property`).toString())}}function Is(e,t){for(;e.lengthPs(t)+Ps(e[a])))}function Ps(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Ns(e){return(e?e.ownerDocument:document).body.offsetHeight}const Bs=Symbol("_vod"),Ms=Symbol("_vsh"),Os={name:"show",beforeMount(e,{value:t},{transition:a}){e[Bs]="none"===e.style.display?"":e.style.display,a&&t?a.beforeEnter(e):Us(e,t)},mounted(e,{value:t},{transition:a}){a&&t&&a.enter(e)},updated(e,{value:t,oldValue:a},{transition:n}){!t!=!a&&(n?t?(n.beforeEnter(e),Us(e,!0),n.enter(e)):n.leave(e,()=>{Us(e,!1)}):Us(e,t))},beforeUnmount(e,{value:t}){Us(e,t)}};function Us(e,t){e.style.display=t?e[Bs]:"none",e[Ms]=!t}const js=Symbol("");function Ls(e){const t=Kr();if(!t)return;const a=t.ut=(a=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>zs(e,a))},n=()=>{const n=e(t.proxy);t.ce?zs(t.ce,n):Rs(t.subTree,n),a(n)};rn(()=>{ea(n)}),nn(()=>{pa(n,h,{flush:"post"});const e=new MutationObserver(n);e.observe(t.subTree.el.parentNode,{childList:!0}),ln(()=>e.disconnect())})}function Rs(e,t){if(128&e.shapeFlag){const a=e.suspense;e=a.activeBranch,a.pendingBranch&&!a.isHydrating&&a.effects.push(()=>{Rs(a.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)zs(e.el,t);else if(e.type===br)e.children.forEach(e=>Rs(e,t));else if(e.type===kr){let{el:a,anchor:n}=e;for(;a&&(zs(a,t),a!==n);)a=a.nextSibling}}function zs(e,t){if(1===e.nodeType){const a=e.style;let n="";for(const e in t){const r=le(t[e]);a.setProperty(`--${e}`,r),n+=`--${e}: ${r};`}a[js]=n}}const Hs=/(?:^|;)\s*display\s*:/;const Ys=/\s*!important$/;function $s(e,t,a){if(w(a))a.forEach(a=>$s(e,t,a));else if(null==a&&(a=""),t.startsWith("--"))e.setProperty(t,a);else{const n=function(e,t){const a=Ws[t];if(a)return a;let n=O(t);if("filter"!==n&&n in e)return Ws[t]=n;n=L(n);for(let r=0;r{if(e._vts){if(e._vts<=a.attached)return}else e._vts=Date.now();Ht(function(e,t){if(w(t)){const a=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{a.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,a.value),t,5,[e])};return a.value=e,a.attached=ai(),a}(n,r);qs(e,a,i,o)}else i&&(!function(e,t,a,n){e.removeEventListener(t,a,n)}(e,a,i,o),s[t]=void 0)}}const Qs=/(?:Once|Passive|Capture)$/;let ei=0;const ti=Promise.resolve(),ai=()=>ei||(ti.then(()=>ei=0),ei=Date.now());const ni=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const ri=new WeakMap,si=new WeakMap,ii=Symbol("_moveCb"),oi=Symbol("_enterCb"),li=e=>(delete e.props.mode,e),ci=li({name:"TransitionGroup",props:g({},vs,{tag:String,moveClass:String}),setup(e,{slots:t}){const a=Kr(),n=Ia();let r,s;return sn(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,a){const n=e.cloneNode(),r=e[gs];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&n.classList.remove(e))});a.split(/\s+/).forEach(e=>e&&n.classList.add(e)),n.style.display="none";const s=1===t.nodeType?t:t.parentNode;s.appendChild(n);const{hasTransform:i}=Ss(n);return s.removeChild(n),i}(r[0].el,a.vnode.el,t))return void(r=[]);r.forEach(di),r.forEach(hi);const n=r.filter(pi);Ns(a.vnode.el),n.forEach(e=>{const a=e.el,n=a.style;Cs(a,t),n.transform=n.webkitTransform=n.transitionDuration="";const r=a[ii]=e=>{e&&e.target!==a||e&&!e.propertyName.endsWith("transform")||(a.removeEventListener("transitionend",r),a[ii]=null,Fs(a,t))};a.addEventListener("transitionend",r)}),r=[]}),()=>{const i=Ft(e),o=_s(i);let l=i.tag||br;if(r=[],s)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return w(t)?e=>H(t,e):t};function mi(e){e.target.composing=!0}function gi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const yi=Symbol("_assign");function vi(e,t,a){return t&&(e=e.trim()),a&&(e=G(e)),e}const bi={created(e,{modifiers:{lazy:t,trim:a,number:n}},r){e[yi]=fi(r);const s=n||r.props&&"number"===r.props.type;qs(e,t?"change":"input",t=>{t.target.composing||e[yi](vi(e.value,a,s))}),(a||s)&&qs(e,"change",()=>{e.value=vi(e.value,a,s)}),t||(qs(e,"compositionstart",mi),qs(e,"compositionend",gi),qs(e,"change",gi))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:a,modifiers:{lazy:n,trim:r,number:s}},i){if(e[yi]=fi(i),e.composing)return;const o=null==t?"":t;if((!s&&"number"!==e.type||/^0\d/.test(e.value)?e.value:G(e.value))!==o){if(document.activeElement===e&&"range"!==e.type){if(n&&t===a)return;if(r&&e.value.trim()===o)return}e.value=o}}},wi={deep:!0,created(e,t,a){e[yi]=fi(a),qs(e,"change",()=>{const t=e._modelValue,a=Ci(e),n=e.checked,r=e[yi];if(w(t)){const e=ne(t,a),s=-1!==e;if(n&&!s)r(t.concat(a));else if(!n&&s){const a=[...t];a.splice(e,1),r(a)}}else if(k(t)){const e=new Set(t);n?e.add(a):e.delete(a),r(e)}else r(Fi(e,n))})},mounted:xi,beforeUpdate(e,t,a){e[yi]=fi(a),xi(e,t,a)}};function xi(e,{value:t,oldValue:a},n){let r;if(e._modelValue=t,w(t))r=ne(t,n.props.value)>-1;else if(k(t))r=t.has(n.props.value);else{if(t===a)return;r=ae(t,Fi(e,!0))}e.checked!==r&&(e.checked=r)}const ki={created(e,{value:t},a){e.checked=ae(t,a.props.value),e[yi]=fi(a),qs(e,"change",()=>{e[yi](Ci(e))})},beforeUpdate(e,{value:t,oldValue:a},n){e[yi]=fi(n),t!==a&&(e.checked=ae(t,n.props.value))}},_i={deep:!0,created(e,{value:t,modifiers:{number:a}},n){const r=k(t);qs(e,"change",()=>{const t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>a?G(Ci(e)):Ci(e));e[yi](e.multiple?r?new Set(t):t:t[0]),e._assigning=!0,Zt(()=>{e._assigning=!1})}),e[yi]=fi(n)},mounted(e,{value:t}){Ei(e,t)},beforeUpdate(e,t,a){e[yi]=fi(a)},updated(e,{value:t}){e._assigning||Ei(e,t)}};function Ei(e,t){const a=e.multiple,n=w(t);if(!a||n||k(t)){for(let r=0,s=e.options.length;rString(e)===String(i)):ne(t,i)>-1}else s.selected=t.has(i);else if(ae(Ci(s),t))return void(e.selectedIndex!==r&&(e.selectedIndex=r))}a||-1===e.selectedIndex||(e.selectedIndex=-1)}}function Ci(e){return"_value"in e?e._value:e.value}function Fi(e,t){const a=t?"_trueValue":"_falseValue";return a in e?e[a]:t}const Di={created(e,t,a){Ai(e,t,a,null,"created")},mounted(e,t,a){Ai(e,t,a,null,"mounted")},beforeUpdate(e,t,a,n){Ai(e,t,a,n,"beforeUpdate")},updated(e,t,a,n){Ai(e,t,a,n,"updated")}};function Ai(e,t,a,n,r){const s=function(e,t){switch(e){case"SELECT":return _i;case"TEXTAREA":return bi;default:switch(t){case"checkbox":return wi;case"radio":return ki;default:return bi}}}(e.tagName,a.props&&a.props.type)[r];s&&s(e,t,a,n)}const Ti=["ctrl","shift","alt","meta"],Si={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>Ti.some(a=>e[`${a}Key`]&&!t.includes(a))},Ii=(e,t)=>{const a=e._withMods||(e._withMods={}),n=t.join(".");return a[n]||(a[n]=(a,...n)=>{for(let e=0;e{const a=e._withKeys||(e._withKeys={}),n=t.join(".");return a[n]||(a[n]=a=>{if(!("key"in a))return;const n=j(a.key);return t.some(e=>e===n||Pi[e]===n)?e(a):void 0})},Bi=g({patchProp:(e,t,a,n,r,s)=>{const i="svg"===r;"class"===t?function(e,t,a){const n=e[gs];n&&(t=(t?[t,...n]:[...n]).join(" ")),null==t?e.removeAttribute("class"):a?e.setAttribute("class",t):e.className=t}(e,n,i):"style"===t?function(e,t,a){const n=e.style,r=C(a);let s=!1;if(a&&!r){if(t)if(C(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==a[t]&&$s(n,t,"")}else for(const e in t)null==a[e]&&$s(n,e,"");for(const e in a)"display"===e&&(s=!0),$s(n,e,a[e])}else if(r){if(t!==a){const e=n[js];e&&(a+=";"+e),n.cssText=a,s=Hs.test(a)}}else t&&e.removeAttribute("style");Bs in e&&(e[Bs]=s?n.display:"",e[Ms]&&(n.display="none"))}(e,a,n):f(t)?m(t)||Xs(e,t,0,n,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,a,n){if(n)return"innerHTML"===t||"textContent"===t||!!(t in e&&ni(t)&&E(a));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("sandbox"===t&&"IFRAME"===e.tagName)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(ni(t)&&C(a))return!1;return t in e}(e,t,n,i))?(Js(e,t,n),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||Ks(e,t,n,i,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&C(n)?("true-value"===t?e._trueValue=n:"false-value"===t&&(e._falseValue=n),Ks(e,t,n,i)):Js(e,O(t),n,0,t)}},ps);let Mi;const Oi={class:"navigation"},Ui={class:"nav-content"},ji={class:"nav-list"},Li=["onClick"],Ri={class:"nav-item-content"},zi={class:"nav-icon"},Hi={class:"nav-name"},Yi={key:0,class:"active-indicator"},$i={class:"nav-footer"},Gi={class:"footer-buttons"},Wi=(e,t)=>{const a=e.__vccOpts||e;for(const[n,r]of t)a[n]=r;return a},Vi=Wi(Ya({__name:"Navigation",props:{navigationItems:{},activeNav:{}},emits:["navigate","openSettings","openFeedback"],setup:e=>(t,a)=>(Cr(),Tr("nav",Oi,[Mr("div",Ui,[Mr("ul",ji,[(Cr(!0),Tr(br,null,yn(e.navigationItems,a=>(Cr(),Tr("li",{key:a.id,class:Q(["nav-item",{active:a.id===e.activeNav}]),onClick:e=>t.$emit("navigate",a.id)},[Mr("div",Ri,[Mr("span",zi,se(a.icon),1),Mr("span",Hi,se(a.name),1),a.id===e.activeNav?(Cr(),Tr("div",Yi)):Rr("",!0)])],10,Li))),128))])]),Mr("div",$i,[Mr("div",Gi,[Mr("button",{class:"footer-btn",onClick:a[0]||(a[0]=e=>t.$emit("openFeedback")),title:"反馈"},[...a[2]||(a[2]=[Mr("span",{class:"footer-icon"},"💬",-1),Mr("span",{class:"footer-text"},"反馈",-1)])]),Mr("button",{class:"footer-btn",onClick:a[1]||(a[1]=e=>t.$emit("openSettings")),title:"设置"},[...a[3]||(a[3]=[Mr("span",{class:"footer-icon"},"⚙️",-1),Mr("span",{class:"footer-text"},"设置",-1)])])])])]))}),[["__scopeId","data-v-c1f3591a"]]),Ki={class:"card-content"},Ji={class:"content-area"},qi={class:"card-title"},Zi={class:"card-description"},Xi=Wi(Ya({__name:"FunctionCard",props:{card:{}},emits:["execute"],setup:e=>(t,a)=>(Cr(),Tr("div",{class:"function-card",onClick:a[0]||(a[0]=a=>t.$emit("execute",e.card.action))},[e.card.badge?(Cr(),Tr("div",{key:0,class:"status-badge",style:K({backgroundColor:e.card.badge.color})},se(e.card.badge.text),5)):Rr("",!0),Mr("div",Ki,[Mr("div",{class:"icon-circle",style:K({backgroundColor:e.card.color+"20"})},[Mr("div",{class:"card-icon",style:K({color:e.card.color})},se(e.card.icon),5)],4),Mr("div",Ji,[Mr("h3",qi,se(e.card.title),1),Mr("p",Zi,se(e.card.description),1)])])]))}),[["__scopeId","data-v-0829ad7f"]]),Qi={cards:{json:[{id:"json-format",title:"JSON格式化",description:"美化和格式化JSON数据",icon:"📋",action:"formatJson",color:"#10b981",badge:{text:"热门",color:"#ef4444"}},{id:"json-to-excel",title:"JSON与Excel互转",description:"Excel与JSON数据格式互相转换",icon:"📊",action:"jsonToExcel",color:"#059669",badge:{text:"实用",color:"#06b6d4"}},{id:"json-postman-converter",title:"JSON与Postman互转",description:"Postman参数与JSON数据格式互相转换",icon:"🔄",action:"jsonPostmanConverter",color:"#f97316"},{id:"json-to-php",title:"JSON与PHP数据互转",description:"PHP数组与JSON数据格式互相转换",icon:"🐘",action:"jsonToPhp",color:"#8b5cf6"}],time:[{id:"timestamp-convert",title:"时间戳转换",description:"时间戳与日期格式互转",icon:"🕐",action:"convertTimestamp",color:"#06b6d4",badge:{text:"常用",color:"#f59e0b"}},{id:"date-calculator",title:"日期计算器",description:"计算日期间隔和加减",icon:"📅",action:"calculateDate",color:"#84cc16"},{id:"timezone-convert",title:"时区转换",description:"不同时区时间转换",icon:"🌍",action:"convertTimezone",color:"#f97316"},{id:"countdown-timer",title:"倒计时器",description:"创建倒计时和定时器",icon:"⏱️",action:"countdownTimer",color:"#ef4444"},{id:"stopwatch",title:"在线秒表",description:"精确计时和计次功能的在线秒表",icon:"⏰",action:"stopwatch",color:"#8b5cf6",badge:{text:"新功能",color:"#10b981"}},{id:"clock",title:"在线时钟",description:"显示实时时间、日期、阴历和阳历",icon:"🕐",action:"clock",color:"#f59e0b",badge:{text:"新功能",color:"#10b981"}}],crypto:[{id:"base64-encode",title:"Base64编码",description:"Base64编码和解码,支持URL安全格式",icon:"🔤",action:"base64Encode",color:"#6366f1",badge:{text:"热门",color:"#ef4444"}},{id:"url-encode",title:"URL编码",description:"URL编码和解码",icon:"🔗",action:"urlEncode",color:"#8b5cf6"},{id:"md5-hash",title:"MD5哈希",description:"生成MD5哈希值",icon:"🔒",action:"md5Hash",color:"#10b981"},{id:"rsa-key-generator",title:"RSA密钥生成",description:"生成RSA公私钥对",icon:"🔐",action:"generateRsaKeys",color:"#dc2626"},{id:"text-encoder",title:"文本编码转换",description:"Base64、URL、HTML、Unicode、ASCII编码转换",icon:"📝",action:"encodeText",color:"#06b6d4"},{id:"jwt-generator",title:"JWT 生成器",description:"生成和解析 JWT Token",icon:"🔑",action:"generateJWT",color:"#f59e0b",badge:{text:"新功能",color:"#10b981"}}],convert:[{id:"chinese-converter",title:"简繁体转换",description:"简体中文与繁体中文互相转换",icon:"🈳",action:"convertChinese",color:"#ef4444"},{id:"text-replacer",title:"全局文本替换",description:"支持正则表达式的文本查找替换工具",icon:"🔍",action:"replaceText",color:"#f59e0b"},{id:"php-serializer",title:"PHP序列化转换",description:"PHP序列化与数组、JSON、XML互转",icon:"🐘",action:"phpSerialize",color:"#8b5cf6"},{id:"unit-convert",title:"单位转换",description:"长度、重量、温度单位转换",icon:"📏",action:"convertUnit",color:"#06b6d4",badge:{text:"实用",color:"#06b6d4"}},{id:"number-base",title:"进制转换",description:"二进制、八进制、十六进制转换",icon:"🔢",action:"convertBase",color:"#84cc16"},{id:"number-format",title:"数字格式转换",description:"阿拉伯数字转罗马数字、中文数字等格式",icon:"🏛️",action:"convertNumber",color:"#8b5cf6",badge:{text:"新功能",color:"#10b981"}},{id:"code-formatter",title:"JS/HTML格式化",description:"JavaScript、HTML、CSS代码格式化和压缩",icon:"💻",action:"formatCode",color:"#6366f1"},{id:"image-base64",title:"图片 ⇄ Base64 互转",description:"图片与Base64编码格式互相转换",icon:"🖼️",action:"convertImageBase64",color:"#f97316",badge:{text:"新功能",color:"#10b981"}}],create:[{id:"api-tester",title:"API接口测试",description:"在线POST/GET接口测试工具",icon:"🌐",action:"testApi",color:"#10b981",badge:{text:"新功能",color:"#10b981"}},{id:"uuid-generator",title:"UUID生成器",description:"生成各种版本的UUID(通用唯一标识符)",icon:"🆔",action:"generateUuid",color:"#06b6d4",badge:{text:"新功能",color:"#10b981"}},{id:"password-generator",title:"密码生成器",description:"生成安全随机密码",icon:"🛡️",action:"generatePassword",color:"#f59e0b",badge:{text:"常用",color:"#f59e0b"}},{id:"qr-generator",title:"二维码生成",description:"生成自定义二维码",icon:"📱",action:"generateQR",color:"#6366f1"},{id:"crontab-generator",title:"Crontab表达式生成器",description:"生成和解析Cron定时任务表达式",icon:"⏰",action:"generateCrontab",color:"#f59e0b"},{id:"markdown-editor",title:"Markdown编辑器",description:"在线Markdown编辑器,支持图片拖拽转Base64",icon:"📝",action:"markdownEditor",color:"#6366f1",badge:{text:"新功能",color:"#10b981"}},{id:"teleprompter",title:"在线提词器",description:"专业提词器工具,支持全屏显示和镜像模式",icon:"📺",action:"teleprompter",color:"#ec4899",badge:{text:"新功能",color:"#10b981"}}],query:[{id:"screen-test",title:"屏幕测试",description:"检测屏幕显示质量、坏点、色彩准确性等",icon:"🖥️",action:"screenTest",color:"#10b981",badge:{text:"新功能",color:"#10b981"}},{id:"text-compare",title:"文本比对",description:"比较两个文本的差异,支持文件上传",icon:"📄",action:"compareText",color:"#06b6d4",badge:{text:"新功能",color:"#10b981"}},{id:"string-counter",title:"字符串长度统计",description:"统计文本字符数、字节数、单词数等信息",icon:"📏",action:"countString",color:"#06b6d4"},{id:"ascii-lookup",title:"ASCII编码查询",description:"查询字符的ASCII编码值和ASCII表",icon:"🔤",action:"lookupAscii",color:"#8b5cf6"},{id:"regex-tester",title:"正则表达式测试",description:"测试正则表达式匹配结果和语法验证",icon:"🔍",action:"testRegex",color:"#10b981",badge:{text:"新功能",color:"#10b981"}},{id:"color-reference",title:"颜色对照表",description:"常用颜色的HEX、RGB、HSL格式对照",icon:"🎨",action:"convertColor",color:"#ec4899",badge:{text:"新功能",color:"#10b981"}},{id:"surname-lookup",title:"百家姓查询",description:"查询中国传统百家姓的排名、起源和分布",icon:"👨‍👩‍👧‍👦",action:"lookupSurname",color:"#f59e0b",badge:{text:"新功能",color:"#10b981"}},{id:"mime-type-reference",title:"MIME-Type速查表",description:"常用文件类型的MIME-Type快速查询",icon:"📋",action:"mimeTypeReference",color:"#8b5cf6",badge:{text:"新功能",color:"#10b981"}},{id:"dynasty-query",title:"历史朝代查询",description:"中国历史朝代信息查询和时间轴浏览",icon:"🏛️",action:"dynastyQuery",color:"#dc2626",badge:{text:"新功能",color:"#10b981"}},{id:"countries-capitals",title:"世界国家和首都",description:"按洲浏览世界各国及其首都信息",icon:"🌍",action:"countriesCapitals",color:"#06b6d4",badge:{text:"新功能",color:"#10b981"}},{id:"emoji-reference",title:"Emoji符号大全",description:"按分类浏览和复制各种Emoji表情符号",icon:"😀",action:"emojiReference",color:"#f59e0b",badge:{text:"新功能",color:"#10b981"}},{id:"ip-lookup",title:"IP地址查询",description:"查询IP地址的地理位置、ISP等详细信息",icon:"🌐",action:"lookupIP",color:"#06b6d4",badge:{text:"新功能",color:"#10b981"}}],navigation:[{id:"programming-languages",title:"编程语言大全",description:"查看各种编程语言的特点、用途和学习资源",icon:"💻",action:"programmingLanguages",color:"#6366f1",badge:{text:"新功能",color:"#10b981"}}],settings:[]}},eo={class:"card-grid"},to={class:"grid-header"},ao={class:"header-content"},no={class:"grid-title"},ro={class:"grid-subtitle"},so={class:"search-container"},io={class:"search-box"},oo={key:0,class:"search-results"},lo=["onMousedown","onMouseenter"],co={class:"result-icon"},uo={class:"result-content"},ho={class:"result-title"},po={class:"result-description"},fo={class:"result-category"},mo={key:0,class:"search-more"},go={class:"cards-grid"},yo={key:0,class:"loading-overlay"},vo=Wi(Ya({__name:"CardGrid",props:{title:{},subtitle:{},cards:{},isLoading:{type:Boolean}},emits:["execute","selectTool"],setup(e,{emit:t}){const a=t,n=St(""),r=St(!1),s=St(-1),i=is(()=>Object.entries(Qi.cards).flatMap(([e,t])=>t.map(t=>({...t,category:e})))),o=is(()=>{if(!n.value.trim())return[];const e=n.value.toLowerCase().trim();return i.value.filter(t=>t.title.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)).sort((t,a)=>{const n=t.title.toLowerCase().includes(e),r=a.title.toLowerCase().includes(e);return n&&!r?-1:!n&&r?1:0})}),l=()=>{s.value=-1,r.value=!0},c=e=>{if(0===o.value.length)return;const t=Math.min(o.value.length-1,7);s.value=Math.max(0,Math.min(t,s.value+e))},u=()=>{o.value.length>0&&d(o.value[0])},d=e=>{a("selectTool",e.id,e.action),h()},h=()=>{n.value="",r.value=!1,s.value=-1},p=()=>{setTimeout(()=>{r.value=!1},150)};return(t,a)=>(Cr(),Tr("div",eo,[Mr("div",to,[Mr("div",ao,[Mr("h2",no,se(e.title),1),Mr("p",ro,se(e.subtitle),1)]),Mr("div",so,[Mr("div",io,[a[6]||(a[6]=Mr("svg",{class:"search-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"11",cy:"11",r:"8"}),Mr("path",{d:"m21 21-4.35-4.35"})],-1)),ca(Mr("input",{type:"text",class:"search-input",placeholder:"搜索工具...","onUpdate:modelValue":a[0]||(a[0]=e=>n.value=e),onInput:l,onFocus:a[1]||(a[1]=e=>r.value=!0),onBlur:p,onKeydown:[Ni(u,["enter"]),a[2]||(a[2]=Ni(Ii(e=>c(1),["prevent"]),["down"])),a[3]||(a[3]=Ni(Ii(e=>c(-1),["prevent"]),["up"])),Ni(h,["escape"])]},null,544),[[bi,n.value]]),n.value?(Cr(),Tr("button",{key:0,class:"clear-search",onClick:h},[...a[5]||(a[5]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])):Rr("",!0)]),r.value&&o.value.length>0?(Cr(),Tr("div",oo,[(Cr(!0),Tr(br,null,yn(o.value.slice(0,8),(e,t)=>{return Cr(),Tr("div",{key:e.id,class:Q(["search-result-item",{active:s.value===t}]),onMousedown:Ii(t=>d(e),["prevent"]),onMouseenter:e=>s.value=t},[Mr("div",co,se(e.icon),1),Mr("div",uo,[Mr("div",ho,se(e.title),1),Mr("div",po,se(e.description),1)]),Mr("div",fo,se((a=e.category,{json:"JSON工具",time:"时间工具",crypto:"加密工具",convert:"转换工具",create:"创建工具",query:"查询工具",navigation:"导航工具",settings:"设置"}[a]||a)),1)],42,lo);var a}),128)),o.value.length>8?(Cr(),Tr("div",mo," 还有 "+se(o.value.length-8)+" 个结果... ",1)):Rr("",!0)])):Rr("",!0)]),a[7]||(a[7]=Mr("div",{class:"header-spacer"},null,-1))]),Mr("div",{class:Q(["cards-container",{loading:e.isLoading}])},[Mr("div",go,[(Cr(!0),Tr(br,null,yn(e.cards,e=>(Cr(),Sr(Xi,{key:e.id,card:e,onExecute:a[4]||(a[4]=e=>t.$emit("execute",e))},null,8,["card"]))),128))]),e.isLoading?(Cr(),Tr("div",yo,[...a[8]||(a[8]=[Mr("div",{class:"loading-spinner"},null,-1),Mr("p",{class:"loading-text"},"执行中...",-1)])])):Rr("",!0)],2)]))}}),[["__scopeId","data-v-d17ea0f2"]]),bo="toolbox-theme",wo="toolbox-auto-theme",xo=()=>{const e=(new Date).getHours();return e>=21||e<7?"dark":"light"},ko=St(localStorage.getItem(bo)||"auto"),_o=St("false"!==localStorage.getItem(wo)),Eo=St("dark");let Co=null;const Fo=e=>{Eo.value=e,document.documentElement.setAttribute("data-theme",e),document.documentElement.className=e},Do=()=>{if("auto"===ko.value&&_o.value){const e=xo();Fo(e)}else"auto"!==ko.value&&Fo(ko.value)},Ao=()=>{if("auto"===ko.value){const e=Eo.value;ko.value="dark"===e?"light":"dark",_o.value=!1}else ko.value="light"===ko.value?"dark":"light"},To=e=>{ko.value=e,_o.value="auto"===e},So=()=>{ko.value="auto",_o.value=!0},Io=()=>{_o.value=!1,ko.value=Eo.value},Po=()=>{Co||(Co=window.setInterval(()=>{"auto"===ko.value&&_o.value&&Do()},6e4))},No=()=>{Co&&(clearInterval(Co),Co=null)};pa(ko,e=>{localStorage.setItem(bo,e),Do()},{immediate:!0}),pa(_o,e=>{localStorage.setItem(wo,e.toString()),e&&"auto"===ko.value?(Po(),Do()):No()},{immediate:!0});const Bo=()=>(nn(()=>{"auto"===ko.value&&_o.value&&Po()}),ln(()=>{No()}),{currentTheme:ko,actualTheme:Eo,autoThemeEnabled:_o,toggleTheme:Ao,setTheme:To,enableAutoTheme:So,disableAutoTheme:Io,isDark:()=>"dark"===Eo.value,isLight:()=>"light"===Eo.value,isAuto:()=>"auto"===ko.value,getTimeBasedTheme:xo}),Mo={class:"theme-toggle-wrapper"},Oo=["title"],Uo={key:0,class:"icon moon-icon",width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},jo={key:1,class:"icon sun-icon",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Lo=Ya({__name:"ThemeToggle",setup(e){const{toggleTheme:t,setTheme:a,isDark:n,isLight:r,isAuto:s}=Bo(),i=St(!1),o=e=>{e.preventDefault(),i.value=!i.value},l=e=>{i.value&&(i.value=!1)};return nn(()=>{document.addEventListener("click",l)}),ln(()=>{document.removeEventListener("click",l)}),(e,l)=>(Cr(),Tr("div",Mo,[Mr("button",{class:"theme-toggle",onClick:l[0]||(l[0]=(...e)=>Pt(t)&&Pt(t)(...e)),onContextmenu:o,title:s()?`智能切换模式 (当前: ${n()?"夜间":"白天"}) - 右键查看选项`:n()?"夜间模式 - 右键查看选项":"白天模式 - 右键查看选项"},[Pt(n)()?(Cr(),Tr("svg",Uo,[...l[5]||(l[5]=[Mr("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)])])):(Cr(),Tr("svg",jo,[...l[6]||(l[6]=[Lr('',9)])]))],40,Oo),i.value?(Cr(),Tr("div",{key:0,class:"theme-menu",onClick:l[4]||(l[4]=Ii(()=>{},["stop"]))},[Mr("div",{class:Q(["menu-item",{active:Pt(s)()}]),onClick:l[1]||(l[1]=e=>Pt(a)("auto"))},[...l[7]||(l[7]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"4"}),Mr("path",{d:"m12 2 3 10h-6l3-10z"})],-1),Mr("span",null,"智能切换",-1),Mr("small",null,"21:00-07:00",-1)])],2),Mr("div",{class:Q(["menu-item",{active:!Pt(s)()&&Pt(r)()}]),onClick:l[2]||(l[2]=e=>Pt(a)("light"))},[...l[8]||(l[8]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"5"}),Mr("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),Mr("line",{x1:"12",y1:"21",x2:"12",y2:"23"})],-1),Mr("span",null,"白天模式",-1)])],2),Mr("div",{class:Q(["menu-item",{active:!Pt(s)()&&Pt(n)()}]),onClick:l[3]||(l[3]=e=>Pt(a)("dark"))},[...l[9]||(l[9]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},[Mr("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})],-1),Mr("span",null,"夜间模式",-1)])],2)])):Rr("",!0)]))}}),Ro=Wi(Lo,[["__scopeId","data-v-e95a7d3b"]]),zo={class:"header"},Ho={class:"header-left"},Yo={class:"header-right"},$o=Wi(Ya({__name:"Header",props:{currentTab:{},pageInfo:{}},emits:["goHome"],setup:e=>(e,t)=>(Cr(),Tr("header",zo,[Mr("div",Ho,[Mr("div",{class:"logo",onClick:t[0]||(t[0]=t=>e.$emit("goHome")),role:"button",tabindex:"0"},[...t[1]||(t[1]=[Mr("div",{class:"logo-icon"},[Mr("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAF5klEQVR4AexaXYwTVRQ+Z3YVXJh2A0QiD8YYo1mgU5B90MQHMIIxGkkMkCj6JPi32+ISifoiiyH+xOi6bVezCIkPhBh4kUTjAyqQmPggBLZlISHG+IKGGJG2C6LiHL877WxvpzPttFuEJTTn3HvOufee+507929m14gMW4NmOnYwkrZkOrGDGdgNMmgNEy+nafZjhRnYDeBeBJ6utEgFMF3BO7hrAigksnwts4NaS2oC0MqmhXgjgKv9mG48gevnCQwu7zSHY6vNtLUDJ/r34JPgM+CJSMb6LZqxPommrDWzP7ZubWfQU55C3SPxFZFUfHdkzrmzbPDnTLQRAO8D94AXgGeR0DwR2iBM+4zLdMZMx/fC3hZqOYAFo8u6zLT1lm3Lt8SynpjmhETUySRrIynr5ZD161ZrKQAzE1s98fc/hzHar9f1Xq9QqJva8Gs6AHMk/gATf4a+e8FVJMT7iGSzMN/jnuaosAfspXHDNj71GlvRjWYaRYdid7ItuzCnZ1a34wPM9qpiYmxdIZEbKvaPnVbl0bS1E/lTYJ3GbelYd37g+M+6sVU5fACpu2ZIJ4+io7vBFbJpWyExtirff+JAxUiE3WdEiJ7VbZAd8BPJYycht4VCBxChrhfR40PgCinwm7KDFUNJiqTjH0B6CaxTIPjuoSV3RNLWVmwK3oD19r5y6ACEZbXuQYh3FHzAm6nYO1gHA3pdyIHgZ6eWLrQ77S9QZ5CJdppNbrGhAugeWbKE1RsQenHJsO0druzmkVRsGzO/6urlvC54g/9VZ8LkSxW22Ce6hnpuK7dtmIUKQMR+WvekRj+/KXdUt5kZawMxv6HbIDcFHvUVdXR0dD6shDAcMgB6kEh3J1/qmpKZ6AWVa9wKeKc5nuIqRwiRhAoAfm4HT1LXJfpmUnEFoWWuiLxl8GirqH1PYP571ix4nAt2SEgOnd2SveAoesKkT6lFam6rBapXUbqywzY55yEr2qMSjWdocl2x4RO40GVXjX6gN5t2e8qqgggCj6m3q5DIrve0zXv0QLVhAB02qScQ6MAtKCSzH2Jx4yrhWpx8MoiAkf8on8hucGpWJ+0LIJ84cUT3jQU2X9d1uYirRFAQqOeZNjxUSGT7YCczE68+3YnaF4DqAOzcbZDjjKKeaHpxryP7JMWAIPSqIvIurh+bXRuL/agrq1yIcioPww2nkHIixGMqd1nYeMaV/fKAIEpVRd4sJnOvlZRSKmTcX5LKqV27TZdLarJQAXhbYQQtr82rqyBwax0QoaxThl1KmDYWkrmtjl5OopnFKxkvOGWV0OZc8Y+5NefMZLlHaBiAuptUdQAHTPwrsoZUwMIuJrPxgvra15/tLfZn1fW6qp1Ix5YqA/FXNHjocrUtWKsbgB94uFKH1HbkUyb1aR9DvlJ3ZHTQLl1vJAcGUAf8unbc5x3wBm3VAQrR2+f7xg7qtkaybwBXEnx0OLYM/kfJAx5Aj5g339T0k60JAM73euc8nKtp4zvy6oSNpK09zl9MMtZw1GeLnY/riJm2HjfT8VEx+Aj8PwefFWK6JCzbf3n+6MWKMZxUEwCcr/U0rQu+fMI+iYW9nISSQsYPkYx1UgXk8p8zaYKJ9sN3NfBSR6eFeWWxP7e/pDaX1gTgaR4GvOeEhQehHsYLkMuwBNHXfFkeKfaNfRdUoZG9XgCtgW/UI8rVjRZPa6AgFx/LD+R+gqllMoh92zYNXpxvQqSuxad8PP4O2zFmet8wjKXFRG6FOiMo+eNfsE+JDIyE10FL4Iu4AxVwLQYvBOMzkfTahr3wlks0G/o88L35/uwr5/uOH/d2OBW9JgAbH5389nm125QXbNWcVyNfBHgviDzemSf6TpzyffnxVp6CXppCUvHQDvAVb1deMpwu/NeBU9TsyDuN/sekFEBAh9c6eAW7JoCI9j8TmPPjqFQ156Fj48L3fa2e3uZKy6p/nWsC0Aung2w4h4ofUm1h+xVfCzaF3WCbDwOMmirINNIXti5rVa6yOK6w/wcAAP//GUFzEgAAAAZJREFUAwBN9jbX//4y7gAAAABJRU5ErkJggg==",alt:"Toolbox"})],-1),Mr("h1",{class:"logo-text"},"Toolbox",-1)])]),t[2]||(t[2]=Mr("div",{class:"breadcrumb"},[Mr("span",{class:"breadcrumb-text"},"现代化工具箱")],-1))]),t[4]||(t[4]=Mr("div",{class:"header-center"},null,-1)),Mr("div",Yo,[Or(Ro),t[3]||(t[3]=Lr('StarGitHub stars',1))])]))}),[["__scopeId","data-v-cc11a75f"]]),Go=St([]);let Wo=0;function Vo(){const e=e=>{const t="notification-"+ ++Wo,a={id:t,duration:3e3,...e};return Go.value.push(a),!a.persistent&&a.duration&&a.duration>0&&setTimeout(()=>{n(t)},a.duration),t},t=(t,a)=>e({type:"success",message:t,...a}),a=(t,a)=>e({type:"error",message:t,duration:5e3,...a}),n=e=>{const t=Go.value.findIndex(t=>t.id===e);t>-1&&Go.value.splice(t,1)};return{notifications:Go,notify:e,success:t,error:a,warning:(t,a)=>e({type:"warning",message:t,duration:4e3,...a}),info:(t,a)=>e({type:"info",message:t,...a}),remove:n,clear:()=>{Go.value=[]},copySuccess:e=>t(e?`已复制: ${e.slice(0,20)}${e.length>20?"...":""}`:"已复制到剪贴板"),copyError:e=>a(e||"复制失败,请手动复制")}}const Ko={class:"notification-container"},Jo={class:"notification-icon"},qo={width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Zo={class:"notification-content"},Xo={key:0,class:"notification-title"},Qo={class:"notification-message"},el={key:1,class:"notification-actions"},tl=["onClick"],al=["onClick"],nl=Wi(Ya({__name:"NotificationContainer",setup(e){const{notifications:t,remove:a}=Vo(),n=e=>{const t={success:()=>'',error:()=>'',warning:()=>'',info:()=>''};return t[e]||t.info};return(e,r)=>(Cr(),Sr(Fa,{to:"body"},[Mr("div",Ko,[Or(ui,{name:"notification",tag:"div"},{default:la(()=>[(Cr(!0),Tr(br,null,yn(Pt(t),e=>{return Cr(),Tr("div",{key:e.id,class:Q(["notification",`notification-${e.type}`])},[Mr("div",Jo,[(Cr(),Tr("svg",qo,[(Cr(),Sr((t=n(e.type),C(t)?mn(pn,t,!1)||t:t||fn)))]))]),Mr("div",Zo,[e.title?(Cr(),Tr("div",Xo,se(e.title),1)):Rr("",!0),Mr("div",Qo,se(e.message),1),e.actions?(Cr(),Tr("div",el,[(Cr(!0),Tr(br,null,yn(e.actions,e=>(Cr(),Tr("button",{key:e.label,class:Q(["notification-action",`action-${e.style||"secondary"}`]),onClick:e.action},se(e.label),11,tl))),128))])):Rr("",!0)]),Mr("button",{class:"notification-close",onClick:t=>Pt(a)(e.id),title:"关闭"},[...r[0]||(r[0]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,al)],2);var t}),128))]),_:1})])]))}}),[["__scopeId","data-v-c2f08414"]]),rl=[{id:"json",name:"JSON工具",icon:"🔧",active:!0},{id:"time",name:"时间类工具",icon:"⏰",active:!1},{id:"crypto",name:"加/解密类工具",icon:"🔐",active:!1},{id:"convert",name:"转换类工具",icon:"🔄",active:!1},{id:"create",name:"创建类工具",icon:"✨",active:!1},{id:"query",name:"查询类工具",icon:"🔍",active:!1},{id:"navigation",name:"导航类工具",icon:"🧭",active:!1}],sl=document.title;function il(e){nn(()=>{const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}(e);document.title=`${t} - Toolbox 工具箱`}),ln(()=>{document.title=sl})}const ol=()=>{const e=(e,t,a,n)=>{try{const r=new Blob([e],{type:n||{json:"application/json",txt:"text/plain",csv:"text/csv",xml:"application/xml",html:"text/html",css:"text/css",js:"application/javascript",ts:"application/typescript",md:"text/markdown",yaml:"application/x-yaml",yml:"application/x-yaml"}[a]||"text/plain"}),s=URL.createObjectURL(r),i=document.createElement("a");i.href=s;const o=(new Date).toISOString().slice(0,19).replace(/:/g,"-");return i.download=`${t}-${o}.${a}`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(s),!0}catch(r){return console.error("下载失败:",r),!1}};return{downloadText:e,downloadJson:(t,a="data",n=!0)=>{try{let r;if("string"==typeof t){const e=JSON.parse(t);r=n?JSON.stringify(e,null,2):JSON.stringify(e)}else r=n?JSON.stringify(t,null,2):JSON.stringify(t);return e(r,a,"json")}catch(r){return console.error("JSON 下载失败:",r),!1}},downloadCsv:(t,a="data")=>{try{let n;return n="string"==typeof t?t:t.map(e=>e.map(e=>"string"==typeof e&&(e.includes(",")||e.includes('"')||e.includes("\n"))?`"${e.replace(/"/g,'""')}"`:e).join(",")).join("\n"),e(n,a,"csv")}catch(n){return console.error("CSV 下载失败:",n),!1}},downloadTxt:(t,a="text")=>e(t,a,"txt"),downloadXml:(t,a="data")=>e(t,a,"xml"),downloadMarkdown:(t,a="document")=>e(t,a,"md")}},ll=()=>{const e=St(!1),t=St(null),a=async a=>{if(!a)return t.value="没有内容可复制",!1;e.value=!0,t.value=null;try{return await navigator.clipboard.writeText(a),e.value=!1,!0}catch(n){console.error("复制失败:",n),t.value="复制失败";try{const n=document.createElement("textarea");n.value=a,n.style.position="fixed",n.style.left="-999999px",n.style.top="-999999px",document.body.appendChild(n),n.focus(),n.select();const r=document.execCommand("copy");return document.body.removeChild(n),e.value=!1,r||(t.value="复制失败"),r}catch(r){return console.error("降级复制方案也失败:",r),t.value="复制失败",e.value=!1,!1}}},n=async(e,t,n)=>await a(e);return{copy:a,isLoading:e,error:t,copyToClipboard:n,copyJson:async(e,t=!0)=>{try{let a;if("string"==typeof e){const n=JSON.parse(e);a=t?JSON.stringify(n,null,2):JSON.stringify(n)}else a=t?JSON.stringify(e,null,2):JSON.stringify(e);return await n(a)}catch(a){return console.error("JSON 复制失败:",a),!1}},copyArray:async(e,t="\n")=>{const a=e.join(t);return await n(a)},copyObject:async(e,t="json")=>{try{let a;switch(t){case"json":default:a=JSON.stringify(e,null,2);break;case"keyvalue":a=Object.entries(e).map(([e,t])=>`${e}=${t}`).join("\n");break;case"url":a=Object.entries(e).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}return await n(a)}catch(a){return console.error("对象复制失败:",a),!1}},isClipboardSupported:()=>!(!navigator.clipboard||!navigator.clipboard.writeText)}},cl={class:"formatter-header"},ul={class:"formatter-title"},dl={class:"formatter-actions"},hl=Wi(Ya({__name:"PageHeader",props:{title:{}},emits:["back"],setup:e=>(t,a)=>(Cr(),Tr("div",cl,[Mr("button",{class:"back-btn",onClick:a[0]||(a[0]=e=>t.$emit("back"))},[...a[1]||(a[1]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1),jr(" 返回 ",-1)])]),Mr("h2",ul,se(e.title),1),Mr("div",dl,[vn(t.$slots,"actions",{},void 0)])]))}),[["__scopeId","data-v-ef05a5f1"]]),pl=["disabled","title"],fl={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},ml={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},gl={key:2,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},yl={key:3,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},vl={key:4,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},bl={key:5,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},wl={key:6,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},xl={key:7,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},kl={key:8,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},_l={key:9,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},El={key:10,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Cl={key:11,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Fl={key:12,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Dl={key:13,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Al={key:14,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Tl={key:15,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Sl={key:16,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Il={key:17,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Pl={key:18,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Nl={key:19,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Bl={key:20,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ml={key:21,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ol={key:22,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ul={key:23,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},jl=Wi(Ya({__name:"HeaderActionButton",props:{icon:{},tooltip:{},disabled:{type:Boolean}},emits:["click"],setup:e=>(t,a)=>(Cr(),Tr("button",{class:"action-btn",disabled:e.disabled,title:e.tooltip,onClick:a[0]||(a[0]=e=>t.$emit("click"))},["clear"===e.icon?(Cr(),Tr("svg",fl,[...a[1]||(a[1]=[Mr("path",{d:"M3 6h18"},null,-1),Mr("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"},null,-1),Mr("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"},null,-1)])])):"copy"===e.icon?(Cr(),Tr("svg",ml,[...a[2]||(a[2]=[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"},null,-1),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"},null,-1)])])):"download"===e.icon?(Cr(),Tr("svg",gl,[...a[3]||(a[3]=[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"},null,-1),Mr("polyline",{points:"7,10 12,15 17,10"},null,-1),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"},null,-1)])])):"toggle"===e.icon?(Cr(),Tr("svg",yl,[...a[4]||(a[4]=[Mr("path",{d:"M16 3h5v5"},null,-1),Mr("path",{d:"M8 3H3v5"},null,-1),Mr("path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3"},null,-1),Mr("path",{d:"M9 21h6"},null,-1)])])):"refresh"===e.icon?(Cr(),Tr("svg",vl,[...a[5]||(a[5]=[Mr("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"},null,-1),Mr("path",{d:"M21 3v5h-5"},null,-1),Mr("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"},null,-1),Mr("path",{d:"M3 21v-5h5"},null,-1)])])):"settings"===e.icon?(Cr(),Tr("svg",bl,[...a[6]||(a[6]=[Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1),Mr("path",{d:"M12 1v6m0 6v6m11-7h-6m-6 0H1m15.5-6.5L19 7l-1.5 1.5M5 17l1.5-1.5L5 14"},null,-1)])])):"clock"===e.icon?(Cr(),Tr("svg",wl,[...a[7]||(a[7]=[Mr("circle",{cx:"12",cy:"12",r:"10"},null,-1),Mr("polyline",{points:"12,6 12,12 16,14"},null,-1)])])):"moon"===e.icon?(Cr(),Tr("svg",xl,[...a[8]||(a[8]=[Mr("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)])])):"fullscreen"===e.icon?(Cr(),Tr("svg",kl,[...a[9]||(a[9]=[Mr("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},null,-1)])])):"eye"===e.icon?(Cr(),Tr("svg",_l,[...a[10]||(a[10]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])])):"swap"===e.icon?(Cr(),Tr("svg",El,[...a[11]||(a[11]=[Mr("path",{d:"M8 3L4 7l4 4"},null,-1),Mr("path",{d:"M4 7h16"},null,-1),Mr("path",{d:"m16 21 4-4-4-4"},null,-1),Mr("path",{d:"M20 17H4"},null,-1)])])):"format"===e.icon?(Cr(),Tr("svg",Cl,[...a[12]||(a[12]=[Lr('',5)])])):"compress"===e.icon?(Cr(),Tr("svg",Fl,[...a[13]||(a[13]=[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},null,-1)])])):"encrypt"===e.icon?(Cr(),Tr("svg",Dl,[...a[14]||(a[14]=[Mr("rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2"},null,-1),Mr("circle",{cx:"12",cy:"16",r:"1"},null,-1),Mr("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"},null,-1)])])):"validate"===e.icon?(Cr(),Tr("svg",Al,[...a[15]||(a[15]=[Mr("polyline",{points:"20,6 9,17 4,12"},null,-1)])])):"play"===e.icon?(Cr(),Tr("svg",Tl,[...a[16]||(a[16]=[Mr("polygon",{points:"5,3 19,12 5,21"},null,-1)])])):"pause"===e.icon?(Cr(),Tr("svg",Sl,[...a[17]||(a[17]=[Mr("rect",{x:"6",y:"4",width:"4",height:"16"},null,-1),Mr("rect",{x:"14",y:"4",width:"4",height:"16"},null,-1)])])):"reset"===e.icon?(Cr(),Tr("svg",Il,[...a[18]||(a[18]=[Mr("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"},null,-1),Mr("path",{d:"M21 3v5h-5"},null,-1),Mr("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"},null,-1),Mr("path",{d:"M3 21v-5h5"},null,-1)])])):"mirror"===e.icon?(Cr(),Tr("svg",Pl,[...a[19]||(a[19]=[Lr('',7)])])):"flip"===e.icon?(Cr(),Tr("svg",Nl,[...a[20]||(a[20]=[Lr('',7)])])):"paste"===e.icon?(Cr(),Tr("svg",Bl,[...a[21]||(a[21]=[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"},null,-1),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"},null,-1)])])):"back"===e.icon?(Cr(),Tr("svg",Ml,[...a[22]||(a[22]=[Mr("path",{d:"m15 18-6-6 6-6"},null,-1)])])):"upload"===e.icon?(Cr(),Tr("svg",Ol,[...a[23]||(a[23]=[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"},null,-1),Mr("polyline",{points:"17,8 12,3 7,8"},null,-1),Mr("line",{x1:"12",y1:"3",x2:"12",y2:"15"},null,-1)])])):(Cr(),Tr("svg",Ul,[...a[24]||(a[24]=[Mr("circle",{cx:"12",cy:"12",r:"10"},null,-1),Mr("path",{d:"M9,9h6v6H9z"},null,-1)])]))],8,pl))}),[["__scopeId","data-v-1ae41ac3"]]),Ll={class:"json-node"},Rl={key:0,class:"json-branch"},zl={key:0,class:"json-key"},Hl={class:"json-bracket"},Yl={key:1,class:"json-collapsed-info"},$l={key:2,class:"json-bracket"},Gl={key:3,class:"json-actions"},Wl={class:"json-line"},Vl={class:"json-bracket"},Kl={key:0,class:"json-comma"},Jl={key:1,class:"json-leaf"},ql={key:0,class:"json-key"},Zl={key:1,class:"json-actions"},Xl=Wi(Ya({__name:"JsonTreeNode",props:{data:{},nodeKey:{default:null},level:{}},emits:["toggle","copy","delete"],setup(e,{emit:t}){const a=e,n=t,r=St(!0),s=St(!1),i=is(()=>null!==a.data&&"object"==typeof a.data&&!Array.isArray(a.data)),o=is(()=>Array.isArray(a.data)),l=is(()=>a.data),c=is(()=>o.value?a.data.length:0),u=is(()=>i.value?Object.keys(a.data):[]),d=is(()=>null===a.data?"null":"string"==typeof a.data?"string":"number"==typeof a.data?"number":"boolean"==typeof a.data?"boolean":"unknown"),h=is(()=>null===a.data?"null":"string"==typeof a.data?`"${a.data}"`:"boolean"==typeof a.data?a.data.toString():a.data),p=()=>{r.value=!r.value,n("toggle")},f=async()=>{const e=g(),t=(i.value||o.value,a.data);n("copy",{key:a.nodeKey,value:t,path:e})},m=()=>{const e=g();n("delete",{key:a.nodeKey,path:e})},g=()=>null===a.nodeKey?"root":a.nodeKey.toString();return(t,a)=>{const g=mn(pn,y="JsonTreeNode",!0,!0)||y;var y;return Cr(),Tr("div",Ll,[i.value||o.value?(Cr(),Tr("div",Rl,[Mr("div",{class:"json-line",onMouseenter:a[0]||(a[0]=e=>s.value=!0),onMouseleave:a[1]||(a[1]=e=>s.value=!1)},[Mr("span",{class:"json-indent",style:K({width:20*e.level+"px"})},null,4),Mr("span",{class:Q(["json-toggle",{collapsed:!r.value}]),onClick:p},se(r.value?"▼":"▶"),3),null!==e.nodeKey?(Cr(),Tr("span",zl,'"'+se(e.nodeKey)+'":',1)):Rr("",!0),Mr("span",Hl,se(o.value?"[":"{"),1),r.value?Rr("",!0):(Cr(),Tr("span",Yl,se(o.value?`${c.value} items`:`${u.value.length} keys`),1)),r.value?Rr("",!0):(Cr(),Tr("span",$l,se(o.value?"]":"}"),1)),s.value?(Cr(),Tr("div",Gl,[Mr("button",{class:"action-btn copy-btn",onClick:Ii(f,["stop"]),title:"复制节点"},[...a[7]||(a[7]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn delete-btn",onClick:Ii(m,["stop"]),title:"删除节点"},[...a[8]||(a[8]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M3 6h18"}),Mr("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),Mr("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})],-1)])])])):Rr("",!0)],32),r.value?(Cr(),Tr(br,{key:0},[(Cr(!0),Tr(br,null,yn(l.value,(t,r)=>(Cr(),Sr(g,{key:r,data:t,"node-key":r,level:e.level+1,onToggle:a[2]||(a[2]=e=>n("toggle")),onCopy:a[3]||(a[3]=e=>n("copy",e)),onDelete:a[4]||(a[4]=e=>n("delete",e))},null,8,["data","node-key","level"]))),128)),Mr("div",Wl,[Mr("span",{class:"json-indent",style:K({width:20*e.level+"px"})},null,4),Mr("span",Vl,se(o.value?"]":"}"),1),0===e.level?(Cr(),Tr("span",Kl,",")):Rr("",!0)])],64)):Rr("",!0)])):(Cr(),Tr("div",Jl,[Mr("div",{class:"json-line",onMouseenter:a[5]||(a[5]=e=>s.value=!0),onMouseleave:a[6]||(a[6]=e=>s.value=!1)},[Mr("span",{class:"json-indent",style:K({width:20*e.level+"px"})},null,4),null!==e.nodeKey?(Cr(),Tr("span",ql,'"'+se(e.nodeKey)+'":',1)):Rr("",!0),Mr("span",{class:Q(["json-value",d.value])},se(h.value),3),a[11]||(a[11]=Mr("span",{class:"json-comma"},",",-1)),s.value?(Cr(),Tr("div",Zl,[Mr("button",{class:"action-btn copy-btn",onClick:Ii(f,["stop"]),title:"复制值"},[...a[9]||(a[9]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn delete-btn",onClick:Ii(m,["stop"]),title:"删除属性"},[...a[10]||(a[10]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M3 6h18"}),Mr("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),Mr("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})],-1)])])])):Rr("",!0)],32)]))])}}}),[["__scopeId","data-v-00fc00b1"]]);function Ql(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ec,tc;function ac(){if(tc)return ec;function e(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(a=>{const n=t[a],r=typeof n;"object"!==r&&"function"!==r||Object.isFrozen(n)||e(n)}),t}tc=1;class t{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function a(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function n(e,...t){const a=Object.create(null);for(const n in e)a[n]=e[n];return t.forEach(function(e){for(const t in e)a[t]=e[t]}),a}const r=e=>!!e.scope;class s{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=a(e)}openNode(e){if(!r(e))return;const t=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const a=e.split(".");return[`${t}${a.shift()}`,...a.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){r(e)&&(this.buffer+="")}value(){return this.buffer}span(e){this.buffer+=``}}const i=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class o{constructor(){this.rootNode=i(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=i({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{o._collapse(e)}))}}class l extends o{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const a=e.root;t&&(a.scope=`language:${t}`),this.add(a)}toHTML(){return new s(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function c(e){return e?"string"==typeof e?e:e.source:null}function u(e){return p("(?=",e,")")}function d(e){return p("(?:",e,")*")}function h(e){return p("(?:",e,")?")}function p(...e){return e.map(e=>c(e)).join("")}function f(...e){const t=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(t.capture?"":"?:")+e.map(e=>c(e)).join("|")+")"}function m(e){return new RegExp(e.toString()+"|").exec("").length-1}const g=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function y(e,{joinWith:t}){let a=0;return e.map(e=>{a+=1;const t=a;let n=c(e),r="";for(;n.length>0;){const e=g.exec(n);if(!e){r+=n;break}r+=n.substring(0,e.index),n=n.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+String(Number(e[1])+t):(r+=e[0],"("===e[0]&&a++)}return r}).map(e=>`(${e})`).join(t)}const v="[a-zA-Z]\\w*",b="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",x="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",k="\\b(0b[01]+)",_={begin:"\\\\[\\s\\S]",relevance:0},E={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[_]},C={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[_]},F=function(e,t,a={}){const r=n({scope:"comment",begin:e,end:t,contains:[]},a);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const s=f("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:p(/[ ]+/,"(",s,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},D=F("//","$"),A=F("/\\*","\\*/"),T=F("#","$"),S={scope:"number",begin:w,relevance:0},I={scope:"number",begin:x,relevance:0},P={scope:"number",begin:k,relevance:0},N={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[_,{begin:/\[/,end:/\]/,relevance:0,contains:[_]}]},B={scope:"title",begin:v,relevance:0},M={scope:"title",begin:b,relevance:0},O={begin:"\\.\\s*"+b,relevance:0};var U=Object.freeze({__proto__:null,APOS_STRING_MODE:E,BACKSLASH_ESCAPE:_,BINARY_NUMBER_MODE:P,BINARY_NUMBER_RE:k,COMMENT:F,C_BLOCK_COMMENT_MODE:A,C_LINE_COMMENT_MODE:D,C_NUMBER_MODE:I,C_NUMBER_RE:x,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:T,IDENT_RE:v,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:O,NUMBER_MODE:S,NUMBER_RE:w,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:C,REGEXP_MODE:N,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=p(t,/.*\b/,e.binary,/\b.*/)),n({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},TITLE_MODE:B,UNDERSCORE_IDENT_RE:b,UNDERSCORE_TITLE_MODE:M});function j(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function L(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function R(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=j,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function z(e,t){Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function H(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function Y(e,t){void 0===e.relevance&&(e.relevance=1)}const $=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const a=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=a.keywords,e.begin=p(a.beforeMatch,u(a.begin)),e.starts={relevance:0,contains:[Object.assign(a,{endsParent:!0})]},e.relevance=0,delete a.beforeMatch},G=["of","and","for","in","not","or","if","then","parent","list","value"];function W(e,t,a="keyword"){const n=Object.create(null);return"string"==typeof e?r(a,e.split(" ")):Array.isArray(e)?r(a,e):Object.keys(e).forEach(function(a){Object.assign(n,W(e[a],t,a))}),n;function r(e,a){t&&(a=a.map(e=>e.toLowerCase())),a.forEach(function(t){const a=t.split("|");n[a[0]]=[e,V(a[0],a[1])]})}}function V(e,t){return t?Number(t):function(e){return G.includes(e.toLowerCase())}(e)?0:1}const K={},J=e=>{console.error(e)},q=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Z=(e,t)=>{K[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),K[`${e}/${t}`]=!0)},X=new Error;function Q(e,t,{key:a}){let n=0;const r=e[a],s={},i={};for(let o=1;o<=t.length;o++)i[o+n]=r[o],s[o+n]=!0,n+=m(t[o-1]);e[a]=i,e[a]._emit=s,e[a]._multi=!0}function ee(e){!function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw J("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),X;if("object"!=typeof e.beginScope||null===e.beginScope)throw J("beginScope must be object"),X;Q(e,e.begin,{key:"beginScope"}),e.begin=y(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw J("skip, excludeEnd, returnEnd not compatible with endScope: {}"),X;if("object"!=typeof e.endScope||null===e.endScope)throw J("endScope must be object"),X;Q(e,e.end,{key:"endScope"}),e.end=y(e.end,{joinWith:""})}}(e)}function te(e){function t(t,a){return new RegExp(c(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(a?"g":""))}class a{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=m(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=t(y(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const a=t.findIndex((e,t)=>t>0&&void 0!==e),n=this.matchIndexes[a];return t.splice(0,a),Object.assign(t,n)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new a;return this.rules.slice(e).forEach(([e,a])=>t.addRule(e,a)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let a=t.exec(e);if(this.resumingScanAtSamePosition())if(a&&a.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,a=t.exec(e)}return a&&(this.regexIndex+=a.position+1,this.regexIndex===this.count&&this.considerAll()),a}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=n(e.classNameAliases||{}),function a(s,i){const o=s;if(s.isCompiled)return o;[L,H,ee,$].forEach(e=>e(s,i)),e.compilerExtensions.forEach(e=>e(s,i)),s.__beforeBegin=null,[R,z,Y].forEach(e=>e(s,i)),s.isCompiled=!0;let l=null;return"object"==typeof s.keywords&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),l=s.keywords.$pattern,delete s.keywords.$pattern),l=l||/\w+/,s.keywords&&(s.keywords=W(s.keywords,e.case_insensitive)),o.keywordPatternRe=t(l,!0),i&&(s.begin||(s.begin=/\B|\b/),o.beginRe=t(o.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(o.endRe=t(o.end)),o.terminatorEnd=c(o.end)||"",s.endsWithParent&&i.terminatorEnd&&(o.terminatorEnd+=(s.end?"|":"")+i.terminatorEnd)),s.illegal&&(o.illegalRe=t(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return n(e,{variants:null},t)}));if(e.cachedVariants)return e.cachedVariants;if(ae(e))return n(e,{starts:e.starts?n(e.starts):null});if(Object.isFrozen(e))return n(e);return e}("self"===e?s:e)})),s.contains.forEach(function(e){a(e,o)}),s.starts&&a(s.starts,i),o.matcher=function(e){const t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(o),o}(e)}function ae(e){return!!e&&(e.endsWithParent||ae(e.starts))}class ne extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const re=a,se=n,ie=Symbol("nomatch"),oe=function(a){const n=Object.create(null),r=Object.create(null),s=[];let i=!0;const o="Could not find the language '{}', did you forget to load/include a language module?",c={disableAutodetect:!0,name:"Plain text",contains:[]};let m={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:l};function g(e){return m.noHighlightRe.test(e)}function y(e,t,a){let n="",r="";"object"==typeof t?(n=e,a=t.ignoreIllegals,r=t.language):(Z("10.7.0","highlight(lang, code, ...args) has been deprecated."),Z("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),r=e,n=t),void 0===a&&(a=!0);const s={code:n,language:r};F("before:highlight",s);const i=s.result?s.result:v(s.language,s.code,a);return i.code=s.code,F("after:highlight",i),i}function v(e,a,r,s){const l=Object.create(null);function c(e,t){return e.keywords[t]}function u(){if(!D.keywords)return void T.addText(S);let e=0;D.keywordPatternRe.lastIndex=0;let t=D.keywordPatternRe.exec(S),a="";for(;t;){a+=S.substring(e,t.index);const n=E.case_insensitive?t[0].toLowerCase():t[0],r=c(D,n);if(r){const[e,s]=r;if(T.addText(a),a="",l[n]=(l[n]||0)+1,l[n]<=7&&(I+=s),e.startsWith("_"))a+=t[0];else{const a=E.classNameAliases[e]||e;h(t[0],a)}}else a+=t[0];e=D.keywordPatternRe.lastIndex,t=D.keywordPatternRe.exec(S)}a+=S.substring(e),T.addText(a)}function d(){null!=D.subLanguage?function(){if(""===S)return;let e=null;if("string"==typeof D.subLanguage){if(!n[D.subLanguage])return void T.addText(S);e=v(D.subLanguage,S,!0,A[D.subLanguage]),A[D.subLanguage]=e._top}else e=b(S,D.subLanguage.length?D.subLanguage:null);D.relevance>0&&(I+=e.relevance),T.__addSublanguage(e._emitter,e.language)}():u(),S=""}function h(e,t){""!==e&&(T.startScope(t),T.addText(e),T.endScope())}function p(e,t){let a=1;const n=t.length-1;for(;a<=n;){if(!e._emit[a]){a++;continue}const n=E.classNameAliases[e[a]]||e[a],r=t[a];n?h(r,n):(S=r,u(),S=""),a++}}function f(e,t){return e.scope&&"string"==typeof e.scope&&T.openNode(E.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(h(S,E.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),S=""):e.beginScope._multi&&(p(e.beginScope,t),S="")),D=Object.create(e,{parent:{value:D}}),D}function g(e,a,n){let r=function(e,t){const a=e&&e.exec(t);return a&&0===a.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new t(e);e["on:end"](a,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return g(e.parent,a,n)}function y(e){return 0===D.matcher.regexIndex?(S+=e[0],1):(B=!0,0)}function w(e){const t=e[0],n=a.substring(e.index),r=g(D,e,n);if(!r)return ie;const s=D;D.endScope&&D.endScope._wrap?(d(),h(t,D.endScope._wrap)):D.endScope&&D.endScope._multi?(d(),p(D.endScope,e)):s.skip?S+=t:(s.returnEnd||s.excludeEnd||(S+=t),d(),s.excludeEnd&&(S=t));do{D.scope&&T.closeNode(),D.skip||D.subLanguage||(I+=D.relevance),D=D.parent}while(D!==r.parent);return r.starts&&f(r.starts,e),s.returnEnd?0:t.length}let x={};function k(n,s){const o=s&&s[0];if(S+=n,null==o)return d(),0;if("begin"===x.type&&"end"===s.type&&x.index===s.index&&""===o){if(S+=a.slice(s.index,s.index+1),!i){const t=new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=x.rule,t}return 1}if(x=s,"begin"===s.type)return function(e){const a=e[0],n=e.rule,r=new t(n),s=[n.__beforeBegin,n["on:begin"]];for(const t of s)if(t&&(t(e,r),r.isMatchIgnored))return y(a);return n.skip?S+=a:(n.excludeBegin&&(S+=a),d(),n.returnBegin||n.excludeBegin||(S=a)),f(n,e),n.returnBegin?0:a.length}(s);if("illegal"===s.type&&!r){const e=new Error('Illegal lexeme "'+o+'" for mode "'+(D.scope||"")+'"');throw e.mode=D,e}if("end"===s.type){const e=w(s);if(e!==ie)return e}if("illegal"===s.type&&""===o)return S+="\n",1;if(N>1e5&&N>3*s.index){throw new Error("potential infinite loop, way more iterations than matches")}return S+=o,o.length}const E=_(e);if(!E)throw J(o.replace("{}",e)),new Error('Unknown language: "'+e+'"');const C=te(E);let F="",D=s||C;const A={},T=new m.__emitter(m);!function(){const e=[];for(let t=D;t!==E;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>T.openNode(e))}();let S="",I=0,P=0,N=0,B=!1;try{if(E.__emitTokens)E.__emitTokens(a,T);else{for(D.matcher.considerAll();;){N++,B?B=!1:D.matcher.considerAll(),D.matcher.lastIndex=P;const e=D.matcher.exec(a);if(!e)break;const t=k(a.substring(P,e.index),e);P=e.index+t}k(a.substring(P))}return T.finalize(),F=T.toHTML(),{language:e,value:F,relevance:I,illegal:!1,_emitter:T,_top:D}}catch(M){if(M.message&&M.message.includes("Illegal"))return{language:e,value:re(a),illegal:!0,relevance:0,_illegalBy:{message:M.message,index:P,context:a.slice(P-100,P+100),mode:M.mode,resultSoFar:F},_emitter:T};if(i)return{language:e,value:re(a),illegal:!1,relevance:0,errorRaised:M,_emitter:T,_top:D};throw M}}function b(e,t){t=t||m.languages||Object.keys(n);const a=function(e){const t={value:re(e),illegal:!1,relevance:0,_top:c,_emitter:new m.__emitter(m)};return t._emitter.addText(e),t}(e),r=t.filter(_).filter(C).map(t=>v(t,e,!1));r.unshift(a);const s=r.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(_(e.language).supersetOf===t.language)return 1;if(_(t.language).supersetOf===e.language)return-1}return 0}),[i,o]=s,l=i;return l.secondBest=o,l}function w(e){let t=null;const a=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const a=m.languageDetectRe.exec(t);if(a){const t=_(a[1]);return t||(q(o.replace("{}",a[1])),q("Falling back to no-highlight mode for this block.",e)),t?a[1]:"no-highlight"}return t.split(/\s+/).find(e=>g(e)||_(e))}(e);if(g(a))return;if(F("before:highlightElement",{el:e,language:a}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);if(e.children.length>0&&(m.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(e)),m.throwUnescapedHTML)){throw new ne("One of your code blocks includes unescaped HTML.",e.innerHTML)}t=e;const n=t.textContent,s=a?y(n,{language:a,ignoreIllegals:!0}):b(n);e.innerHTML=s.value,e.dataset.highlighted="yes",function(e,t,a){const n=t&&r[t]||a;e.classList.add("hljs"),e.classList.add(`language-${n}`)}(e,a,s.language),e.result={language:s.language,re:s.relevance,relevance:s.relevance},s.secondBest&&(e.secondBest={language:s.secondBest.language,relevance:s.secondBest.relevance}),F("after:highlightElement",{el:e,result:s,text:n})}let x=!1;function k(){if("loading"===document.readyState)return x||window.addEventListener("DOMContentLoaded",function(){k()},!1),void(x=!0);document.querySelectorAll(m.cssSelector).forEach(w)}function _(e){return e=(e||"").toLowerCase(),n[e]||n[r[e]]}function E(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{r[e.toLowerCase()]=t})}function C(e){const t=_(e);return t&&!t.disableAutodetect}function F(e,t){const a=e;s.forEach(function(e){e[a]&&e[a](t)})}Object.assign(a,{highlight:y,highlightAuto:b,highlightAll:k,highlightElement:w,highlightBlock:function(e){return Z("10.7.0","highlightBlock will be removed entirely in v12.0"),Z("10.7.0","Please use highlightElement now."),w(e)},configure:function(e){m=se(m,e)},initHighlighting:()=>{k(),Z("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){k(),Z("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(e,t){let r=null;try{r=t(a)}catch(s){if(J("Language definition for '{}' could not be registered.".replace("{}",e)),!i)throw s;J(s),r=c}r.name||(r.name=e),n[e]=r,r.rawDefinition=t.bind(null,a),r.aliases&&E(r.aliases,{languageName:e})},unregisterLanguage:function(e){delete n[e];for(const t of Object.keys(r))r[t]===e&&delete r[t]},listLanguages:function(){return Object.keys(n)},getLanguage:_,registerAliases:E,autoDetection:C,inherit:se,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),s.push(e)},removePlugin:function(e){const t=s.indexOf(e);-1!==t&&s.splice(t,1)}}),a.debugMode=function(){i=!1},a.safeMode=function(){i=!0},a.versionString="11.11.1",a.regex={concat:p,lookahead:u,either:f,optional:h,anyNumberOfTimes:d};for(const t in U)"object"==typeof U[t]&&e(U[t]);return Object.assign(a,U),a},le=oe({});return le.newInstance=()=>oe({}),ec=le,le.HighlightJS=le,le.default=le,ec}const nc=Ql(ac());function rc(e){const t=["true","false","null"],a={scope:"literal",beginKeywords:t.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:t},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,a,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}const sc={class:"json-formatter"},ic={class:"formatter-content"},oc={class:"input-section"},lc={class:"section-header"},cc={class:"input-status"},uc={key:0,class:"auto-format-indicator"},dc={key:1,class:"format-hint"},hc={class:"section-actions"},pc={class:"button-group"},fc={key:0,class:"error-message"},mc={class:"output-section"},gc={class:"section-header"},yc={class:"result-controls"},vc={class:"view-mode-toggle"},bc={key:0,class:"result-info"},wc={class:"stat-item"},xc={class:"stat-item"},kc={class:"stat-item"},_c={key:0,class:"stat-item"},Ec={class:"json-output-container"},Cc={key:0,class:"json-output-wrapper"},Fc={key:0,class:"json-tree-view"},Dc={class:"line-numbers"},Ac={class:"json-tree-container"},Tc={key:1,class:"json-text-view"},Sc={class:"line-numbers"},Ic=["innerHTML"],Pc={key:1,class:"output-placeholder"},Nc=Wi(Ya({__name:"JsonFormatter",emits:["back"],setup(e){nc.registerLanguage("json",rc),il("json-format");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("json-format"),{downloadJson:a}=ol(),{copyToClipboard:n}=ll(),{success:r,error:s}=Vo(),i=St(""),o=St(""),l=St(""),c=St(!1),u=St("text"),d=is(()=>{if(!o.value||"string"!=typeof o.value)return null;const e=o.value.split("\n").length,t=o.value.length;let a=0,n=0,r="simple",s="简单";try{const e=JSON.parse(i.value);a=g(e),n=y(e),a>50||n>5?(r="complex",s="复杂"):(a>20||n>3)&&(r="medium",s="中等")}catch(XN){a=0,n=0}return{lines:e,size:t,keys:a,depth:n,complexity:r,complexityText:s}}),h=is(()=>{if(!o.value||"string"!=typeof o.value)return"";return nc.highlight(o.value,{language:"json"}).value}),p=is(()=>o.value&&"string"==typeof o.value?o.value.split("\n"):[]),f=is(()=>{if(!i.value.trim())return null;try{return JSON.parse(i.value)}catch{return null}}),m=is(()=>(u.value,p.value)),g=e=>{if("object"!=typeof e||null===e)return 0;let t=0;return Array.isArray(e)?e.forEach(e=>{t+=g(e)}):(t+=Object.keys(e).length,Object.values(e).forEach(e=>{t+=g(e)})),t},y=(e,t=1)=>{if("object"!=typeof e||null===e)return t;let a=t;return Array.isArray(e)?e.forEach(e=>{const n=y(e,t+1);a=Math.max(a,n)}):Object.values(e).forEach(e=>{const n=y(e,t+1);a=Math.max(a,n)}),a},v=()=>{l.value=""},b=async()=>{if(await new Promise(e=>setTimeout(e,10)),i.value.trim()){c.value=!0;try{D()}finally{c.value=!1}}},w=()=>{},x=async e=>{try{let t;if(null!==e.key)if("object"==typeof e.value){const a={[e.key]:e.value};t=JSON.stringify(a,null,2)}else{const a={[e.key]:e.value};t=JSON.stringify(a,null,2)}else t="object"==typeof e.value?JSON.stringify(e.value,null,2):String(e.value);if(await n(t)){const t=null!==e.key?"键值对":"object"==typeof e.value?"节点":"值";r(`已复制${t}到剪贴板`)}else s("复制失败")}catch(t){s("复制失败")}},k=e=>{try{if(!f.value)return;const t=JSON.parse(JSON.stringify(f.value));if(null===e.key)return void _();if(Array.isArray(t)){const a=parseInt(e.key.toString());!isNaN(a)&&a>=0&&a{i.value="",o.value="",l.value="",r("已清空所有内容")},E=async()=>{if(!o.value)return;await n(o.value)?r("已复制到剪贴板"):s("复制失败")},C=()=>{if(!o.value)return;a(o.value,"json")?r("JSON文件已下载"):s("下载失败")},F=e=>{try{return JSON.parse(e),e}catch{let t=e.trim();t=t.replace(/([{,]\s*)([a-zA-Z_$][a-zA-Z0-9_$]*)\s*:/g,'$1"$2":'),t=t.replace(/'/g,'"');try{return JSON.parse(t),t}catch{return e}}},D=()=>{if(i.value.trim())try{const e=F(i.value);e!==i.value&&(i.value=e,r("已自动修复JSON格式问题"));const t=JSON.parse(e);o.value=JSON.stringify(t,null,2),l.value="",r("格式化成功"),N()}catch(e){l.value=`JSON格式错误: ${e.message}`,s("格式化失败")}else s("请输入JSON内容")},A=()=>{if(i.value.trim())try{const e=F(i.value);e!==i.value?(i.value=e,r("已自动修复JSON格式问题,格式正确")):r("JSON格式正确"),l.value=""}catch(e){l.value=`JSON格式错误: ${e.message}`,s("JSON格式错误")}else s("请输入JSON内容")},T=()=>{if(i.value.trim())try{const e=F(i.value);e!==i.value&&(i.value=e,r("已自动修复JSON格式问题"));const t=JSON.parse(e);o.value=JSON.stringify(t),l.value="",r("压缩成功"),N()}catch(e){l.value=`JSON格式错误: ${e.message}`,s("压缩失败")}else s("请输入JSON内容")},S=()=>{i.value.trim()?(o.value=JSON.stringify(i.value),r("转义成功")):s("请输入JSON内容")},I=()=>{if(i.value.trim())try{const e=JSON.parse(i.value);if("string"==typeof e)try{const t=JSON.parse(e);o.value=JSON.stringify(t,null,2),r("去转义并格式化成功")}catch{o.value=e,r("去转义成功")}else o.value=JSON.stringify(e,null,2),r("去转义成功");l.value=""}catch(e){try{JSON.parse(i.value),s("输入内容已经是有效的JSON,无需去转义")}catch{l.value=`去转义失败: ${e.message}`,s("去转义失败,请检查输入格式")}}else s("请输入JSON内容")},P=e=>{const t={1:{name:"用户信息",data:{id:1001,name:"张三",email:"zhangsan@example.com",age:28,isActive:!0,address:{street:"中山路123号",city:"北京",zipCode:"100000",country:"中国"},hobbies:["阅读","游泳","编程"],profile:{avatar:"https://example.com/avatar.jpg",bio:"热爱技术的软件工程师"}}},2:{name:"商品列表",data:{products:[{id:"P001",name:"MacBook Pro",category:"电脑",price:12999,inStock:!0,specifications:{processor:"M3 Pro",memory:"16GB",storage:"512GB SSD"}},{id:"P002",name:"iPhone 15 Pro",category:"手机",price:7999,inStock:!1,specifications:{processor:"A17 Pro",memory:"128GB"}}]}}}[e];t&&(i.value=JSON.stringify(t.data),o.value=JSON.stringify(t.data,null,2),l.value="",r(`已加载${t.name}示例数据`),N())},N=()=>{Zt(()=>{const e=document.querySelector(".json-text-view");if(e){const t=e.querySelector(".line-numbers"),a=e.querySelector(".json-output");if(t&&a){const e=a._scrollHandler;e&&a.removeEventListener("scroll",e);const n=()=>{t&&a&&(t.scrollTop=a.scrollTop,console.log("文本视图滚动同步:",a.scrollTop))};a._scrollHandler=n,a.addEventListener("scroll",n),console.log("文本视图滚动同步已设置")}}const t=document.querySelector(".json-tree-view");if(t){const e=t.querySelector(".line-numbers"),a=t.querySelector(".json-tree-container");if(e&&a){const t=a._scrollHandler;t&&a.removeEventListener("scroll",t);const n=()=>{e&&a&&(e.scrollTop=a.scrollTop,console.log("树视图滚动同步:",a.scrollTop))};a._scrollHandler=n,a.addEventListener("scroll",n),console.log("树视图滚动同步已设置")}}})};return nn(()=>{N()}),pa(u,()=>{N()}),(e,a)=>(Cr(),Tr("div",sc,[Or(hl,{title:Pt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空",onClick:_}),Or(jl,{icon:"copy",tooltip:"复制JSON",disabled:!o.value,onClick:E},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载JSON文件",disabled:!o.value,onClick:C},null,8,["disabled"])]),_:1},8,["title"]),Mr("div",ic,[Mr("div",oc,[Mr("div",lc,[a[7]||(a[7]=Mr("h3",null,"JSON输入",-1)),Mr("div",cc,[c.value?(Cr(),Tr("span",uc,[...a[6]||(a[6]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 12a9 9 0 11-6.219-8.56"})],-1),jr(" 自动格式化中... ",-1)])])):i.value&&!l.value?(Cr(),Tr("span",dc," 粘贴内容将自动格式化 ")):Rr("",!0)]),Mr("div",hc,[Mr("div",pc,[Mr("button",{class:"group-btn example-btn",onClick:a[1]||(a[1]=e=>P(1))},"示例1"),Mr("button",{class:"group-btn example-btn",onClick:a[2]||(a[2]=e=>P(2))},"示例2"),Mr("button",{class:"group-btn format-btn",onClick:D},"格式化"),Mr("button",{class:"group-btn validate-btn",onClick:A},"验证"),Mr("button",{class:"group-btn minify-btn",onClick:T},"压缩"),Mr("button",{class:"group-btn escape-btn",onClick:S},"转义"),Mr("button",{class:"group-btn unescape-btn",onClick:I},"去转义")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[3]||(a[3]=e=>i.value=e),class:"json-input",placeholder:"请输入或粘贴JSON字符串...\n\n支持功能:\n• 粘贴时自动格式化\n• 实时语法验证\n• 多种格式转换\n• 语法高亮显示",onInput:v,onPaste:b},null,544),[[bi,i.value]]),l.value?(Cr(),Tr("div",fc,se(l.value),1)):Rr("",!0)]),Mr("div",mc,[Mr("div",gc,[a[8]||(a[8]=Mr("h3",null,"格式化结果",-1)),Mr("div",yc,[Mr("div",vc,[Mr("button",{class:Q(["mode-btn",{active:"tree"===u.value}]),onClick:a[4]||(a[4]=e=>u.value="tree")}," 树视图 ",2),Mr("button",{class:Q(["mode-btn",{active:"text"===u.value}]),onClick:a[5]||(a[5]=e=>u.value="text")}," 文本 ",2)]),d.value?(Cr(),Tr("div",bc,[Mr("span",wc,se(d.value.lines)+" 行",1),Mr("span",xc,se(d.value.size)+" 字符",1),Mr("span",kc,se(d.value.keys)+" 个键",1),d.value.depth>1?(Cr(),Tr("span",_c,"深度 "+se(d.value.depth),1)):Rr("",!0),Mr("span",{class:Q(["stat-item",d.value.complexity])},se(d.value.complexityText),3)])):Rr("",!0)])]),Mr("div",Ec,[o.value||f.value?(Cr(),Tr("div",Cc,["tree"===u.value&&f.value?(Cr(),Tr("div",Fc,[Mr("div",Dc,[(Cr(!0),Tr(br,null,yn(m.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"line-number"},se(t+1),1))),128))]),Mr("div",Ac,[Or(Xl,{data:f.value,level:0,onToggle:w,onCopy:x,onDelete:k},null,8,["data"])])])):"text"===u.value&&o.value?(Cr(),Tr("div",Tc,[Mr("div",Sc,[(Cr(!0),Tr(br,null,yn(m.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"line-number"},se(t+1),1))),128))]),Mr("div",{class:"json-output",innerHTML:h.value},null,8,Ic)])):Rr("",!0)])):(Cr(),Tr("div",Pc,[...a[9]||(a[9]=[Mr("p",null,"格式化后的JSON将显示在这里",-1)])]))])])])]))}}),[["__scopeId","data-v-f7834aac"]]);var Bc={version:"0.18.5"},Mc=1252,Oc=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],Uc={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},jc=function(e){-1!=Oc.indexOf(e)&&(Mc=Uc[0]=e)};var Lc=function(e){jc(e)};function Rc(){Lc(1200),jc(1252)}function zc(e){for(var t=[],a=0,n=e.length;a>1;++a)t[a]=String.fromCharCode(e.charCodeAt(2*a+1)+(e.charCodeAt(2*a)<<8));return t.join("")}var Yc,$c=function(e){var t=e.charCodeAt(0),a=e.charCodeAt(1);return 255==t&&254==a?function(e){for(var t=[],a=0;a>1;++a)t[a]=String.fromCharCode(e.charCodeAt(2*a)+(e.charCodeAt(2*a+1)<<8));return t.join("")}(e.slice(2)):254==t&&255==a?Hc(e.slice(2)):65279==t?e.slice(1):e},Gc=function(e){return String.fromCharCode(e)},Wc=function(e){return String.fromCharCode(e)},Vc="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function Kc(e){for(var t="",a=0,n=0,r=0,s=0,i=0,o=0,l=0,c=0;c>2,i=(3&a)<<4|(n=e.charCodeAt(c++))>>4,o=(15&n)<<2|(r=e.charCodeAt(c++))>>6,l=63&r,isNaN(n)?o=l=64:isNaN(r)&&(l=64),t+=Vc.charAt(s)+Vc.charAt(i)+Vc.charAt(o)+Vc.charAt(l);return t}function Jc(e){var t="",a=0,n=0,r=0,s=0,i=0,o=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var l=0;l>4,t+=String.fromCharCode(a),n=(15&s)<<4|(i=Vc.indexOf(e.charAt(l++)))>>2,64!==i&&(t+=String.fromCharCode(n)),r=(3&i)<<6|(o=Vc.indexOf(e.charAt(l++))),64!==o&&(t+=String.fromCharCode(r));return t}var qc=function(){return"undefined"!=typeof Buffer&&"undefined"!=typeof process&&void 0!==process.versions&&!!process.versions.node}(),Zc=function(){if("undefined"!=typeof Buffer){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(XN){e=!0}return e?function(e,t){return t?new Buffer(e,t):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function Xc(e){return qc?Buffer.alloc?Buffer.alloc(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}function Qc(e){return qc?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}var eu=function(e){return qc?Zc(e,"binary"):e.split("").map(function(e){return 255&e.charCodeAt(0)})};function tu(e){if("undefined"==typeof ArrayBuffer)return eu(e);for(var t=new ArrayBuffer(e.length),a=new Uint8Array(t),n=0;n!=e.length;++n)a[n]=255&e.charCodeAt(n);return t}function au(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");for(var t=[],a=0;a=0;)t+=e.charAt(a--);return t}function lu(e,t){var a=""+e;return a.length>=t?a:xd("0",t-a.length)+a}function cu(e,t){var a=""+e;return a.length>=t?a:xd(" ",t-a.length)+a}function uu(e,t){var a=""+e;return a.length>=t?a:a+xd(" ",t-a.length)}var du=Math.pow(2,32);function hu(e,t){return e>du||e<-du?function(e,t){var a=""+Math.round(e);return a.length>=t?a:xd("0",t-a.length)+a}(e,t):function(e,t){var a=""+e;return a.length>=t?a:xd("0",t-a.length)+a}(Math.round(e),t)}function pu(e,t){return t=t||0,e.length>=7+t&&103==(32|e.charCodeAt(t))&&101==(32|e.charCodeAt(t+1))&&110==(32|e.charCodeAt(t+2))&&101==(32|e.charCodeAt(t+3))&&114==(32|e.charCodeAt(t+4))&&97==(32|e.charCodeAt(t+5))&&108==(32|e.charCodeAt(t+6))}var fu=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],mu=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];var gu={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'},yu={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},vu={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function bu(e,t,a){for(var n=e<0?-1:1,r=e*n,s=0,i=1,o=0,l=1,c=0,u=0,d=Math.floor(r);ct&&(c>t?(u=l,o=s):(u=c,o=i)),!a)return[0,n*o,u];var h=Math.floor(n*o/u);return[h,n*o-h*u,u]}function wu(e,t,a){if(e>2958465||e<0)return null;var n=0|e,r=Math.floor(86400*(e-n)),s=0,i=[],o={D:n,T:r,u:86400*(e-n)-r,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(o.u)<1e-6&&(o.u=0),t&&t.date1904&&(n+=1462),o.u>.9999&&(o.u=0,86400==++r&&(o.T=r=0,++n,++o.D)),60===n)i=a?[1317,10,29]:[1900,2,29],s=3;else if(0===n)i=a?[1317,8,29]:[1900,1,0],s=6;else{n>60&&--n;var l=new Date(1900,0,1);l.setDate(l.getDate()+n-1),i=[l.getFullYear(),l.getMonth()+1,l.getDate()],s=l.getDay(),n<60&&(s=(s+6)%7),a&&(s=function(e,t){t[0]-=581;var a=e.getDay();e<60&&(a=(a+6)%7);return a}(l,i))}return o.y=i[0],o.m=i[1],o.d=i[2],o.S=r%60,r=Math.floor(r/60),o.M=r%60,r=Math.floor(r/60),o.H=r,o.q=s,o}var xu=new Date(1899,11,31,0,0,0),ku=xu.getTime(),_u=new Date(1900,2,1,0,0,0);function Eu(e,t){var a=e.getTime();return t?a-=1262304e5:e>=_u&&(a+=864e5),(a-(ku+6e4*(e.getTimezoneOffset()-xu.getTimezoneOffset())))/864e5}function Cu(e){return-1==e.indexOf(".")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function Fu(e){var t,a=Math.floor(Math.log(Math.abs(e))*Math.LOG10E);return t=a>=-4&&a<=-1?e.toPrecision(10+a):Math.abs(a)<=9?function(e){var t=e<0?12:11,a=Cu(e.toFixed(12));return a.length<=t||(a=e.toPrecision(10)).length<=t?a:e.toExponential(5)}(e):10===a?e.toFixed(10).substr(0,12):function(e){var t=Cu(e.toFixed(11));return t.length>(e<0?12:11)||"0"===t||"-0"===t?e.toPrecision(6):t}(e),Cu(function(e){return-1==e.indexOf("E")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}(t.toUpperCase()))}function Du(e,t){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(0|e)===e?e.toString(10):Fu(e);case"undefined":return"";case"object":if(null==e)return"";if(e instanceof Date)return Ku(14,Eu(e,t&&t.date1904),t)}throw new Error("unsupported value in General format: "+e)}function Au(e,t,a,n){var r,s="",i=0,o=0,l=a.y,c=0;switch(e){case 98:l=a.y+543;case 121:switch(t.length){case 1:case 2:r=l%100,c=2;break;default:r=l%1e4,c=4}break;case 109:switch(t.length){case 1:case 2:r=a.m,c=t.length;break;case 3:return mu[a.m-1][1];case 5:return mu[a.m-1][0];default:return mu[a.m-1][2]}break;case 100:switch(t.length){case 1:case 2:r=a.d,c=t.length;break;case 3:return fu[a.q][0];default:return fu[a.q][1]}break;case 104:switch(t.length){case 1:case 2:r=1+(a.H+11)%12,c=t.length;break;default:throw"bad hour format: "+t}break;case 72:switch(t.length){case 1:case 2:r=a.H,c=t.length;break;default:throw"bad hour format: "+t}break;case 77:switch(t.length){case 1:case 2:r=a.M,c=t.length;break;default:throw"bad minute format: "+t}break;case 115:if("s"!=t&&"ss"!=t&&".0"!=t&&".00"!=t&&".000"!=t)throw"bad second format: "+t;return 0!==a.u||"s"!=t&&"ss"!=t?(o=n>=2?3===n?1e3:100:1===n?10:1,(i=Math.round(o*(a.S+a.u)))>=60*o&&(i=0),"s"===t?0===i?"0":""+i/o:(s=lu(i,2+n),"ss"===t?s.substr(0,2):"."+s.substr(2,t.length-1))):lu(a.S,t.length);case 90:switch(t){case"[h]":case"[hh]":r=24*a.D+a.H;break;case"[m]":case"[mm]":r=60*(24*a.D+a.H)+a.M;break;case"[s]":case"[ss]":r=60*(60*(24*a.D+a.H)+a.M)+Math.round(a.S+a.u);break;default:throw"bad abstime format: "+t}c=3===t.length?1:2;break;case 101:r=l,c=1}return c>0?lu(r,c):""}function Tu(e){if(e.length<=3)return e;for(var t=e.length%3,a=e.substr(0,t);t!=e.length;t+=3)a+=(a.length>0?",":"")+e.substr(t,3);return a}var Su=/%/g;function Iu(e,t){var a,n=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+Iu(e,-t);var r=e.indexOf(".");-1===r&&(r=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%r;if(s<0&&(s+=r),-1===(a=(t/Math.pow(10,s)).toPrecision(n+1+(r+s)%r)).indexOf("e")){var i=Math.floor(Math.log(t)*Math.LOG10E);for(-1===a.indexOf(".")?a=a.charAt(0)+"."+a.substr(1)+"E+"+(i-a.length+s):a+="E+"+(i-s);"0."===a.substr(0,2);)a=(a=a.charAt(0)+a.substr(2,r)+"."+a.substr(2+r)).replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");a=a.replace(/\+-/,"-")}a=a.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,a,n){return t+a+n.substr(0,(r+s)%r)+"."+n.substr(s)+"E"})}else a=t.toExponential(n);return e.match(/E\+00$/)&&a.match(/e[+-]\d$/)&&(a=a.substr(0,a.length-1)+"0"+a.charAt(a.length-1)),e.match(/E\-/)&&a.match(/e\+/)&&(a=a.replace(/e\+/,"e")),a.replace("e","E")}var Pu=/# (\?+)( ?)\/( ?)(\d+)/;var Nu=/^#*0*\.([0#]+)/,Bu=/\).*[0#]/,Mu=/\(###\) ###\\?-####/;function Ou(e){for(var t,a="",n=0;n!=e.length;++n)switch(t=e.charCodeAt(n)){case 35:break;case 63:a+=" ";break;case 48:a+="0";break;default:a+=String.fromCharCode(t)}return a}function Uu(e,t){var a=Math.pow(10,t);return""+Math.round(e*a)/a}function ju(e,t){var a=e-Math.floor(e),n=Math.pow(10,t);return t<(""+Math.round(a*n)).length?0:Math.round(a*n)}function Lu(e,t,a){if(40===e.charCodeAt(0)&&!t.match(Bu)){var n=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return a>=0?Lu("n",n,a):"("+Lu("n",n,-a)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,a){for(var n=t.length-1;44===t.charCodeAt(n-1);)--n;return Hu(e,t.substr(0,n),a/Math.pow(10,3*(t.length-n)))}(e,t,a);if(-1!==t.indexOf("%"))return function(e,t,a){var n=t.replace(Su,""),r=t.length-n.length;return Hu(e,n,a*Math.pow(10,2*r))+xd("%",r)}(e,t,a);if(-1!==t.indexOf("E"))return Iu(t,a);if(36===t.charCodeAt(0))return"$"+Lu(e,t.substr(" "==t.charAt(1)?2:1),a);var r,s,i,o,l=Math.abs(a),c=a<0?"-":"";if(t.match(/^00+$/))return c+hu(l,t.length);if(t.match(/^[#?]+$/))return"0"===(r=hu(a,0))&&(r=""),r.length>t.length?r:Ou(t.substr(0,t.length-r.length))+r;if(s=t.match(Pu))return function(e,t,a){var n=parseInt(e[4],10),r=Math.round(t*n),s=Math.floor(r/n),i=r-s*n,o=n;return a+(0===s?"":""+s)+" "+(0===i?xd(" ",e[1].length+1+e[4].length):cu(i,e[1].length)+e[2]+"/"+e[3]+lu(o,e[4].length))}(s,l,c);if(t.match(/^#+0+$/))return c+hu(l,t.length-t.indexOf("0"));if(s=t.match(Nu))return r=Uu(a,s[1].length).replace(/^([^\.]+)$/,"$1."+Ou(s[1])).replace(/\.$/,"."+Ou(s[1])).replace(/\.(\d*)$/,function(e,t){return"."+t+xd("0",Ou(s[1]).length-t.length)}),-1!==t.indexOf("0.")?r:r.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return c+Uu(l,s[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return c+Tu(hu(l,0));if(s=t.match(/^#,##0\.([#0]*0)$/))return a<0?"-"+Lu(e,t,-a):Tu(""+(Math.floor(a)+function(e,t){return t<(""+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}(a,s[1].length)))+"."+lu(ju(a,s[1].length),s[1].length);if(s=t.match(/^#,#*,#0/))return Lu(e,t.replace(/^#,#*,/,""),a);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return r=ou(Lu(e,t.replace(/[\\-]/g,""),a)),i=0,ou(ou(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-2147483648?""+(e>=0?0|e:e-1|0):""+Math.floor(e)}(a)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(e){return"00,"+(e.length<3?lu(0,3-e.length):"")+e})+"."+lu(i,s[1].length);switch(t){case"###,##0.00":return Lu(e,"#,##0.00",a);case"###,###":case"##,###":case"#,###":var p=Tu(hu(l,0));return"0"!==p?c+p:"";case"###,###.00":return Lu(e,"###,##0.00",a).replace(/^0\./,".");case"#,###.00":return Lu(e,"#,##0.00",a).replace(/^0\./,".")}throw new Error("unsupported format |"+t+"|")}function Ru(e,t){var a,n=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+Ru(e,-t);var r=e.indexOf(".");-1===r&&(r=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%r;if(s<0&&(s+=r),!(a=(t/Math.pow(10,s)).toPrecision(n+1+(r+s)%r)).match(/[Ee]/)){var i=Math.floor(Math.log(t)*Math.LOG10E);-1===a.indexOf(".")?a=a.charAt(0)+"."+a.substr(1)+"E+"+(i-a.length+s):a+="E+"+(i-s),a=a.replace(/\+-/,"-")}a=a.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,a,n){return t+a+n.substr(0,(r+s)%r)+"."+n.substr(s)+"E"})}else a=t.toExponential(n);return e.match(/E\+00$/)&&a.match(/e[+-]\d$/)&&(a=a.substr(0,a.length-1)+"0"+a.charAt(a.length-1)),e.match(/E\-/)&&a.match(/e\+/)&&(a=a.replace(/e\+/,"e")),a.replace("e","E")}function zu(e,t,a){if(40===e.charCodeAt(0)&&!t.match(Bu)){var n=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return a>=0?zu("n",n,a):"("+zu("n",n,-a)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,a){for(var n=t.length-1;44===t.charCodeAt(n-1);)--n;return Hu(e,t.substr(0,n),a/Math.pow(10,3*(t.length-n)))}(e,t,a);if(-1!==t.indexOf("%"))return function(e,t,a){var n=t.replace(Su,""),r=t.length-n.length;return Hu(e,n,a*Math.pow(10,2*r))+xd("%",r)}(e,t,a);if(-1!==t.indexOf("E"))return Ru(t,a);if(36===t.charCodeAt(0))return"$"+zu(e,t.substr(" "==t.charAt(1)?2:1),a);var r,s,i,o,l=Math.abs(a),c=a<0?"-":"";if(t.match(/^00+$/))return c+lu(l,t.length);if(t.match(/^[#?]+$/))return r=""+a,0===a&&(r=""),r.length>t.length?r:Ou(t.substr(0,t.length-r.length))+r;if(s=t.match(Pu))return function(e,t,a){return a+(0===t?"":""+t)+xd(" ",e[1].length+2+e[4].length)}(s,l,c);if(t.match(/^#+0+$/))return c+lu(l,t.length-t.indexOf("0"));if(s=t.match(Nu))return r=(r=(""+a).replace(/^([^\.]+)$/,"$1."+Ou(s[1])).replace(/\.$/,"."+Ou(s[1]))).replace(/\.(\d*)$/,function(e,t){return"."+t+xd("0",Ou(s[1]).length-t.length)}),-1!==t.indexOf("0.")?r:r.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return c+(""+l).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return c+Tu(""+l);if(s=t.match(/^#,##0\.([#0]*0)$/))return a<0?"-"+zu(e,t,-a):Tu(""+a)+"."+xd("0",s[1].length);if(s=t.match(/^#,#*,#0/))return zu(e,t.replace(/^#,#*,/,""),a);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return r=ou(zu(e,t.replace(/[\\-]/g,""),a)),i=0,ou(ou(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-1||"\\"==a&&"-"==e.charAt(t+1)&&"0#".indexOf(e.charAt(t+2))>-1););break;case"?":for(;e.charAt(++t)===a;);break;case"*":++t," "!=e.charAt(t)&&"*"!=e.charAt(t)||++t;break;case"(":case")":++t;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;t-1;);break;default:++t}return!1}var Gu=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function Wu(e,t){if(null==t)return!1;var a=parseFloat(t[2]);switch(t[1]){case"=":if(e==a)return!0;break;case">":if(e>a)return!0;break;case"<":if(e":if(e!=a)return!0;break;case">=":if(e>=a)return!0;break;case"<=":if(e<=a)return!0}return!1}function Vu(e,t){var a=function(e){for(var t=[],a=!1,n=0,r=0;n-1&&--n,a.length>4)throw new Error("cannot find right format for |"+a.join("|")+"|");if("number"!=typeof t)return[4,4===a.length||r>-1?a[a.length-1]:"@"];switch(a.length){case 1:a=r>-1?["General","General","General",a[0]]:[a[0],a[0],a[0],"@"];break;case 2:a=r>-1?[a[0],a[0],a[0],a[1]]:[a[0],a[1],a[0],"@"];break;case 3:a=r>-1?[a[0],a[1],a[0],a[2]]:[a[0],a[1],a[2],"@"]}var s=t>0?a[0]:t<0?a[1]:a[2];if(-1===a[0].indexOf("[")&&-1===a[1].indexOf("["))return[n,s];if(null!=a[0].match(/\[[=<>]/)||null!=a[1].match(/\[[=<>]/)){var i=a[0].match(Gu),o=a[1].match(Gu);return Wu(t,i)?[n,a[0]]:Wu(t,o)?[n,a[1]]:[n,a[null!=i&&null!=o?2:1]]}return[n,s]}function Ku(e,t,a){null==a&&(a={});var n="";switch(typeof e){case"string":n="m/d/yy"==e&&a.dateNF?a.dateNF:e;break;case"number":null==(n=14==e&&a.dateNF?a.dateNF:(null!=a.table?a.table:gu)[e])&&(n=a.table&&a.table[yu[e]]||gu[yu[e]]),null==n&&(n=vu[e]||"General")}if(pu(n,0))return Du(t,a);t instanceof Date&&(t=Eu(t,a.date1904));var r=Vu(n,t);if(pu(r[1]))return Du(t,a);if(!0===t)t="TRUE";else if(!1===t)t="FALSE";else if(""===t||null==t)return"";return function(e,t,a,n){for(var r,s,i,o=[],l="",c=0,u="",d="t",h="H";c=12?"P":"A"),m.t="T",h="h",c+=3):"AM/PM"===e.substr(c,5).toUpperCase()?(null!=r&&(m.v=r.H>=12?"PM":"AM"),m.t="T",c+=5,h="h"):"上午/下午"===e.substr(c,5).toUpperCase()?(null!=r&&(m.v=r.H>=12?"下午":"上午"),m.t="T",c+=5,h="h"):(m.t="t",++c),null==r&&"T"===m.t)return"";o[o.length]=m,d=u;break;case"[":for(l=u;"]"!==e.charAt(c++)&&c-1&&(l=(l.match(/\$([^-\[\]]*)/)||[])[1]||"$",$u(e)||(o[o.length]={t:"t",v:l}));break;case".":if(null!=r){for(l=u;++c-1;)l+=u;o[o.length]={t:"n",v:l};break;case"?":for(l=u;e.charAt(++c)===u;)l+=u;o[o.length]={t:u,v:l},d=u;break;case"*":++c," "!=e.charAt(c)&&"*"!=e.charAt(c)||++c;break;case"(":case")":o[o.length]={t:1===n?"t":u,v:u},++c;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(l=u;c-1;)l+=e.charAt(c);o[o.length]={t:"D",v:l};break;case" ":o[o.length]={t:u,v:u},++c;break;case"$":o[o.length]={t:"t",v:"$"},++c;break;default:if(-1===",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(u))throw new Error("unrecognized character "+u+" in "+e);o[o.length]={t:"t",v:u},++c}var g,y=0,v=0;for(c=o.length-1,d="t";c>=0;--c)switch(o[c].t){case"h":case"H":o[c].t=h,d="h",y<1&&(y=1);break;case"s":(g=o[c].v.match(/\.0+$/))&&(v=Math.max(v,g[0].length-1)),y<3&&(y=3);case"d":case"y":case"M":case"e":d=o[c].t;break;case"m":"s"===d&&(o[c].t="M",y<2&&(y=2));break;case"X":break;case"Z":y<1&&o[c].v.match(/[Hh]/)&&(y=1),y<2&&o[c].v.match(/[Mm]/)&&(y=2),y<3&&o[c].v.match(/[Ss]/)&&(y=3)}switch(y){case 0:break;case 1:r.u>=.5&&(r.u=0,++r.S),r.S>=60&&(r.S=0,++r.M),r.M>=60&&(r.M=0,++r.H);break;case 2:r.u>=.5&&(r.u=0,++r.S),r.S>=60&&(r.S=0,++r.M)}var b,w="";for(c=0;c0){40==w.charCodeAt(0)?(x=t<0&&45===w.charCodeAt(0)?-t:t,k=Hu("n",w,x)):(k=Hu("n",w,x=t<0&&n>1?-t:t),x<0&&o[0]&&"t"==o[0].t&&(k=k.substr(1),o[0].v="-"+o[0].v)),b=k.length-1;var E=o.length;for(c=0;c-1){E=c;break}var C=o.length;if(E===o.length&&-1===k.indexOf("E")){for(c=o.length-1;c>=0;--c)null!=o[c]&&-1!=="n?".indexOf(o[c].t)&&(b>=o[c].v.length-1?(b-=o[c].v.length,o[c].v=k.substr(b+1,o[c].v.length)):b<0?o[c].v="":(o[c].v=k.substr(0,b+1),b=-1),o[c].t="t",C=c);b>=0&&C=0;--c)if(null!=o[c]&&-1!=="n?".indexOf(o[c].t)){for(s=o[c].v.indexOf(".")>-1&&c===E?o[c].v.indexOf(".")-1:o[c].v.length-1,_=o[c].v.substr(s+1);s>=0;--s)b>=0&&("0"===o[c].v.charAt(s)||"#"===o[c].v.charAt(s))&&(_=k.charAt(b--)+_);o[c].v=_,o[c].t="t",C=c}for(b>=0&&C-1&&c===E?o[c].v.indexOf(".")+1:0,_=o[c].v.substr(0,s);s-1&&(x=n>1&&t<0&&c>0&&"-"===o[c-1].v?-t:t,o[c].v=Hu(o[c].t,o[c].v,x),o[c].t="t");var F="";for(c=0;c!==o.length;++c)null!=o[c]&&(F+=o[c].v);return F}(r[1],t,a,r[0])}function Ju(e,t){if("number"!=typeof t){t=+t||-1;for(var a=0;a<392;++a)if(null!=gu[a]){if(gu[a]==e){t=a;break}}else t<0&&(t=a);t<0&&(t=391)}return gu[t]=e,t}function qu(e){for(var t=0;392!=t;++t)void 0!==e[t]&&Ju(e[t],t)}function Zu(){var e;e||(e={}),e[0]="General",e[1]="0",e[2]="0.00",e[3]="#,##0",e[4]="#,##0.00",e[9]="0%",e[10]="0.00%",e[11]="0.00E+00",e[12]="# ?/?",e[13]="# ??/??",e[14]="m/d/yy",e[15]="d-mmm-yy",e[16]="d-mmm",e[17]="mmm-yy",e[18]="h:mm AM/PM",e[19]="h:mm:ss AM/PM",e[20]="h:mm",e[21]="h:mm:ss",e[22]="m/d/yy h:mm",e[37]="#,##0 ;(#,##0)",e[38]="#,##0 ;[Red](#,##0)",e[39]="#,##0.00;(#,##0.00)",e[40]="#,##0.00;[Red](#,##0.00)",e[45]="mm:ss",e[46]="[h]:mm:ss",e[47]="mmss.0",e[48]="##0.0E+0",e[49]="@",e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "',gu=e}var Xu={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"},Qu=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;var ed=function(){var e={};e.version="1.2.0";var t=function(){for(var e=0,t=new Array(256),a=0;256!=a;++a)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=a)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,t[a]=e;return"undefined"!=typeof Int32Array?new Int32Array(t):t}();var a=function(e){var t=0,a=0,n=0,r="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(n=0;256!=n;++n)r[n]=e[n];for(n=0;256!=n;++n)for(a=e[n],t=256+n;t<4096;t+=256)a=r[t]=a>>>8^e[255&a];var s=[];for(n=1;16!=n;++n)s[n-1]="undefined"!=typeof Int32Array?r.subarray(256*n,256*n+256):r.slice(256*n,256*n+256);return s}(t),n=a[0],r=a[1],s=a[2],i=a[3],o=a[4],l=a[5],c=a[6],u=a[7],d=a[8],h=a[9],p=a[10],f=a[11],m=a[12],g=a[13],y=a[14];return e.table=t,e.bstr=function(e,a){for(var n=-1^a,r=0,s=e.length;r>>8^t[255&(n^e.charCodeAt(r++))];return~n},e.buf=function(e,a){for(var v=-1^a,b=e.length-15,w=0;w>8&255]^m[e[w++]^v>>16&255]^f[e[w++]^v>>>24]^p[e[w++]]^h[e[w++]]^d[e[w++]]^u[e[w++]]^c[e[w++]]^l[e[w++]]^o[e[w++]]^i[e[w++]]^s[e[w++]]^r[e[w++]]^n[e[w++]]^t[e[w++]];for(b+=15;w>>8^t[255&(v^e[w++])];return~v},e.str=function(e,a){for(var n=-1^a,r=0,s=e.length,i=0,o=0;r>>8^t[255&(n^i)]:i<2048?n=(n=n>>>8^t[255&(n^(192|i>>6&31))])>>>8^t[255&(n^(128|63&i))]:i>=55296&&i<57344?(i=64+(1023&i),o=1023&e.charCodeAt(r++),n=(n=(n=(n=n>>>8^t[255&(n^(240|i>>8&7))])>>>8^t[255&(n^(128|i>>2&63))])>>>8^t[255&(n^(128|o>>6&15|(3&i)<<4))])>>>8^t[255&(n^(128|63&o))]):n=(n=(n=n>>>8^t[255&(n^(224|i>>12&15))])>>>8^t[255&(n^(128|i>>6&63))])>>>8^t[255&(n^(128|63&i))];return~n},e}(),td=function(){var e,t={};function a(e){if("/"==e.charAt(e.length-1))return-1===e.slice(0,-1).indexOf("/")?e:a(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(0,t+1)}function n(e){if("/"==e.charAt(e.length-1))return n(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)}function r(e,t){"string"==typeof t&&(t=new Date(t));var a=t.getHours();a=(a=a<<6|t.getMinutes())<<5|t.getSeconds()>>>1,e.write_shift(2,a);var n=t.getFullYear()-1980;n=(n=n<<4|t.getMonth()+1)<<5|t.getDate(),e.write_shift(2,n)}function s(e){xp(e,0);for(var t={},a=0;e.l<=e.length-4;){var n=e.read_shift(2),r=e.read_shift(2),s=e.l+r,i={};if(21589===n)1&(a=e.read_shift(1))&&(i.mtime=e.read_shift(4)),r>5&&(2&a&&(i.atime=e.read_shift(4)),4&a&&(i.ctime=e.read_shift(4))),i.mtime&&(i.mt=new Date(1e3*i.mtime));e.l=s,t[n]=i}return t}function i(){return e||(e={})}function o(e,t){if(80==e[0]&&75==e[1])return ne(e,t);if(109==(32|e[0])&&105==(32|e[1]))return function(e,t){if("mime-version:"!=k(e.slice(0,13)).toLowerCase())throw new Error("Unsupported MAD header");var a=t&&t.root||"",n=(qc&&Buffer.isBuffer(e)?e.toString("binary"):k(e)).split("\r\n"),r=0,s="";for(r=0;r0&&(a=(a=a.slice(0,a.length-1)).slice(0,a.lastIndexOf("/")+1),s.slice(0,a.length)!=a););var i=(n[1]||"").match(/boundary="(.*?)"/);if(!i)throw new Error("MAD cannot find boundary");var o="--"+(i[1]||""),l=[],c=[],u={FileIndex:l,FullPaths:c};h(u);var d,p=0;for(r=0;r=r&&(h-=r),!i[h]){l=[];var f=[];for(d=h;d>=0;){f[d]=!0,i[d]=!0,o[o.length]=d,l.push(e[d]);var m=a[Math.floor(4*d/n)];if(n<4+(p=4*d&c))throw new Error("FAT boundary crossed: "+d+" 4 "+n);if(!e[m])break;if(f[d=pp(e[m],p)])break}s[h]={nodes:o,data:Yh([l])}}return s}(E,s,f,p);C[s].name="!Directory",n>0&&i!==y&&(C[i].name="!MiniFAT"),C[f[0]].name="!FAT",C.fat_addrs=f,C.ssz=p;var F=[],D=[],A=[];!function(e,t,a,n,r,s,i,o){for(var c,h=0,p=n.length?2:0,f=t[e].data,m=0,g=0;m0&&h!==y&&(t[h].name="!StreamData")):b.size>=4096?(b.storage="fat",void 0===t[b.start]&&(t[b.start]=u(a,b.start,t.fat_addrs,t.ssz)),t[b.start].name=b.name,b.content=t[b.start].data.slice(0,b.size)):(b.storage="minifat",b.size<0?b.size=0:h!==y&&b.start!==y&&t[h]&&(b.content=l(b,t[h].data,(t[o]||{}).data))),b.content&&xp(b.content,0),s[c]=b,i.push(b)}}(s,C,E,F,n,{},D,i),function(e,t,a){for(var n=0,r=0,s=0,i=0,o=0,l=a.length,c=[],u=[];n0&&i>=0;)s.push(t.slice(i*g,i*g+g)),r-=g,i=pp(a,4*i);return 0===s.length?_p(0):ru(s).slice(0,e.size)}function c(e,t,a,n,r){var s=y;if(e===y){if(0!==t)throw new Error("DIFAT chain shorter than expected")}else if(-1!==e){var i=a[e],o=(n>>>2)-1;if(!i)return;for(var l=0;l=0;){r[l]=!0,s[s.length]=l,i.push(e[l]);var u=a[Math.floor(4*l/n)];if(n<4+(c=4*l&o))throw new Error("FAT boundary crossed: "+l+" 4 "+n);if(!e[u])break;l=pp(e[u],c)}return{nodes:s,data:Yh([i])}}function d(e,t){return new Date(1e3*(hp(e,t+4)/1e7*Math.pow(2,32)+hp(e,t)/1e7-11644473600))}function h(e,t){var a=t||{},n=a.root||"Root Entry";if(e.FullPaths||(e.FullPaths=[]),e.FileIndex||(e.FileIndex=[]),e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");0===e.FullPaths.length&&(e.FullPaths[0]=n+"/",e.FileIndex[0]={name:n,type:5}),a.CLSID&&(e.FileIndex[0].clsid=a.CLSID),function(e){var t="Sh33tJ5";if(td.find(e,"/"+t))return;var a=_p(4);a[0]=55,a[1]=a[3]=50,a[2]=54,e.FileIndex.push({name:t,type:2,content:a,size:4,L:69,R:69,C:69}),e.FullPaths.push(e.FullPaths[0]+t),p(e)}(e)}function p(e,t){h(e);for(var r=!1,s=!1,i=e.FullPaths.length-1;i>=0;--i){var o=e.FileIndex[i];switch(o.type){case 0:s?r=!0:(e.FileIndex.pop(),e.FullPaths.pop());break;case 1:case 2:case 5:s=!0,isNaN(o.R*o.L*o.C)&&(r=!0),o.R>-1&&o.L>-1&&o.R==o.L&&(r=!0);break;default:r=!0}}if(r||t){var l=new Date(1987,1,19),c=0,u=Object.create?Object.create(null):{},d=[];for(i=0;i1?1:-1,f.size=0,f.type=5;else if("/"==m.slice(-1)){for(c=i+1;c=d.length?-1:c,c=i+1;c=d.length?-1:c,f.type=1}else a(e.FullPaths[i+1]||"")==a(m)&&(f.R=i+1),f.type=2}}}function f(e,t){var a=t||{};if("mad"==a.fileType)return function(e,t){for(var a=t||{},n=a.boundary||"SheetJS",r=["MIME-Version: 1.0",'Content-Type: multipart/related; boundary="'+(n="------="+n).slice(2)+'"',"","",""],s=e.FullPaths[0],i=s,o=e.FileIndex[0],l=1;l=32&&p<128&&++d;var m=d>=4*h/5;r.push(n),r.push("Content-Location: "+(a.root||"file:///C:/SheetJS/")+i),r.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64")),r.push("Content-Type: "+ie(o,i)),r.push(""),r.push(m?le(u):oe(u))}return r.push(n+"--\r\n"),r.join("\r\n")}(e,a);if(p(e),"zip"===a.fileType)return function(e,t){var a=t||{},n=[],s=[],i=_p(1),o=a.compression?8:0,l=0,c=0,u=0,d=0,h=0,p=e.FullPaths[0],f=p,m=e.FileIndex[0],g=[],y=0;for(c=1;c0&&(s<4096?t+=s+63>>6:a+=s+511>>9)}}for(var i=e.FullPaths.length+3>>2,o=t+127>>7,l=(t+7>>3)+a+i+o,c=l+127>>7,u=c<=109?0:Math.ceil((c-109)/127);l+c+u+127>>7>c;)u=++c<=109?0:Math.ceil((c-109)/127);var d=[1,u,c,o,i,a,t,0];return e.FileIndex[0].size=t<<6,d[7]=(e.FileIndex[0].start=d[0]+d[1]+d[2]+d[3]+d[4]+d[5])+(d[6]+7>>3),d}(e),s=_p(n[7]<<9),i=0,o=0;for(i=0;i<8;++i)s.write_shift(1,b[i]);for(i=0;i<8;++i)s.write_shift(2,0);for(s.write_shift(2,62),s.write_shift(2,3),s.write_shift(2,65534),s.write_shift(2,9),s.write_shift(2,6),i=0;i<3;++i)s.write_shift(2,0);for(s.write_shift(4,0),s.write_shift(4,n[2]),s.write_shift(4,n[0]+n[1]+n[2]+n[3]-1),s.write_shift(4,0),s.write_shift(4,4096),s.write_shift(4,n[3]?n[0]+n[1]+n[2]-1:y),s.write_shift(4,n[3]),s.write_shift(-4,n[1]?n[0]-1:y),s.write_shift(4,n[1]),i=0;i<109;++i)s.write_shift(-4,i>9)));for(l(n[6]+7>>3);511&s.l;)s.write_shift(-4,x.ENDOFCHAIN);for(o=i=0,c=0;c=4096||(d.start=o,l(u+63>>6)));for(;511&s.l;)s.write_shift(-4,x.ENDOFCHAIN);for(i=0;i=4096)if(s.l=d.start+1<<9,qc&&Buffer.isBuffer(d.content))d.content.copy(s,s.l,0,d.size),s.l+=d.size+511&-512;else{for(c=0;c0&&d.size<4096)if(qc&&Buffer.isBuffer(d.content))d.content.copy(s,s.l,0,d.size),s.l+=d.size+63&-64;else{for(c=0;c>16|t>>8|t)}for(var A="undefined"!=typeof Uint8Array,T=A?new Uint8Array(256):[],S=0;S<256;++S)T[S]=D(S);function I(e,t){var a=T[255&e];return t<=8?a>>>8-t:(a=a<<8|T[e>>8&255],t<=16?a>>>16-t:(a=a<<8|T[e>>16&255])>>>24-t)}function P(e,t){var a=7&t,n=t>>>3;return(e[n]|(a<=6?0:e[n+1]<<8))>>>a&3}function N(e,t){var a=7&t,n=t>>>3;return(e[n]|(a<=5?0:e[n+1]<<8))>>>a&7}function B(e,t){var a=7&t,n=t>>>3;return(e[n]|(a<=3?0:e[n+1]<<8))>>>a&31}function M(e,t){var a=7&t,n=t>>>3;return(e[n]|(a<=1?0:e[n+1]<<8))>>>a&127}function O(e,t,a){var n=7&t,r=t>>>3,s=(1<>>n;return a<8-n?i&s:(i|=e[r+1]<<8-n,a<16-n?i&s:(i|=e[r+2]<<16-n,a<24-n?i&s:(i|=e[r+3]<<24-n)&s))}function U(e,t,a){var n=7&t,r=t>>>3;return n<=5?e[r]|=(7&a)<>8-n),t+3}function j(e,t,a){return a=(1&a)<<(7&t),e[t>>>3]|=a,t+1}function L(e,t,a){var n=t>>>3;return a<<=7&t,e[n]|=255&a,a>>>=8,e[n+1]=a,t+8}function R(e,t,a){var n=t>>>3;return a<<=7&t,e[n]|=255&a,a>>>=8,e[n+1]=255&a,e[n+2]=a>>>8,t+16}function z(e,t){var a=e.length,n=2*a>t?2*a:t+5,r=0;if(a>=t)return e;if(qc){var s=Qc(n);if(e.copy)e.copy(s);else for(;r>n-d,i=(1<=0;--i)t[o|i<0;)t[t.l++]=e[a++]}return t.l}(t,a):function(t,a){for(var r=0,s=0,i=A?new Uint16Array(32768):[];s0;)a[a.l++]=t[s++];r=8*a.l}else{r=U(a,r,+!(s+o!=t.length)+2);for(var l=0;o-- >0;){var c=t[s],u=-1,d=0;if((u=i[l=32767&(l<<5^c)])&&((u|=-32768&s)>s&&(u-=32768),u2){(c=n[d])<=22?r=L(a,r,T[c+1]>>1)-1:(L(a,r,3),L(a,r+=5,T[c-23]>>5),r+=3);var h=c<8?0:c-4>>2;h>0&&(R(a,r,d-C[c]),r+=h),c=e[s-u],r=L(a,r,T[c]>>3),r-=3;var p=c<4?0:c-2>>1;p>0&&(R(a,r,s-u-F[c]),r+=p);for(var f=0;f>>3;return(e[n]|(a<=4?0:e[n+1]<<8))>>>a&15}(e,t+=5)+4;t+=4;for(var s=0,i=A?new Uint8Array(19):H(19),o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],l=1,c=A?new Uint8Array(8):H(8),u=A?new Uint8Array(8):H(8),d=i.length,h=0;h>8-f;for(var m=(1<<7-f)-1;m>=0;--m)Z[p|m<>>=3){case 16:for(s=3+P(e,t),t+=2,p=g[g.length-1];s-- >0;)g.push(p);break;case 17:for(s=3+N(e,t),t+=3;s-- >0;)g.push(0);break;case 18:for(s=11+M(e,t),t+=7;s-- >0;)g.push(0);break;default:g.push(p),l>>0,o=0,l=0;!(1&n);)if(n=N(e,a),a+=3,n>>>1!=0)for(n>>1==1?(o=9,l=5):(a=ee(e,a),o=X,l=Q);;){!t&&i>>1==1?$[c]:J[c];if(a+=15&u,(u>>>=4)>>>8&255){if(256==u)break;var d=(u-=257)<8?0:u-4>>2;d>5&&(d=0);var h=s+C[u];d>0&&(h+=O(e,a,d),a+=d),c=O(e,a,l),a+=15&(u=n>>>1==1?G[c]:q[c]);var p=(u>>>=4)<4?0:u-2>>1,f=F[u];for(p>0&&(f+=O(e,a,p),a+=p),!t&&i>>3]|e[(a>>>3)+1]<<8;if(a+=32,m>0)for(!t&&i0;)r[s++]=e[a>>>3],a+=8}return t?[r,a+7>>>3]:[r.slice(0,s),a+7>>>3]}(e.slice(e.l||0),t);return e.l+=a[1],a[0]}function ae(e,t){if(!e)throw new Error(t);"undefined"!=typeof console&&console.error(t)}function ne(e,t){var a=e;xp(a,0);var n={FileIndex:[],FullPaths:[]};h(n,{root:t.root});for(var r=a.length-4;(80!=a[r]||75!=a[r+1]||5!=a[r+2]||6!=a[r+3])&&r>=0;)--r;a.l=r+4,a.l+=4;var i=a.read_shift(2);a.l+=6;var o=a.read_shift(4);for(a.l=o,r=0;r>>=5);a>>>=4,n.setMilliseconds(0),n.setFullYear(a+1980),n.setMonth(s-1),n.setDate(r);var i=31&t,o=63&(t>>>=5);return t>>>=6,n.setHours(t),n.setMinutes(o),n.setSeconds(i<<1),n}(e);if(8257&i)throw new Error("Unsupported ZIP encryption");e.read_shift(4);for(var c=e.read_shift(4),u=e.read_shift(4),d=e.read_shift(2),h=e.read_shift(2),p="",f=0;f3&&(n=!0),r[s].slice(r[s].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+r[s].slice(r[s].length-1));case"D":a*=24;case"H":a*=60;case"M":if(!n)throw new Error("Unsupported ISO Duration Field: M");a*=60}t+=a*parseInt(r[s],10)}return t}var md=new Date("2017-02-19T19:06:09.000Z"),gd=isNaN(md.getFullYear())?new Date("2/19/17"):md,yd=2017==gd.getFullYear();function vd(e,t){var a=new Date(e);if(yd)return t>0?a.setTime(a.getTime()+60*a.getTimezoneOffset()*1e3):t<0&&a.setTime(a.getTime()-60*a.getTimezoneOffset()*1e3),a;if(e instanceof Date)return e;if(1917==gd.getFullYear()&&!isNaN(a.getFullYear())){var n=a.getFullYear();return e.indexOf(""+n)>-1||a.setFullYear(a.getFullYear()+100),a}var r=e.match(/\d+/g)||["2017","2","19","0","0","0"],s=new Date(+r[0],+r[1]-1,+r[2],+r[3]||0,+r[4]||0,+r[5]||0);return e.indexOf("Z")>-1&&(s=new Date(s.getTime()-60*s.getTimezoneOffset()*1e3)),s}function bd(e,t){if(qc&&Buffer.isBuffer(e)){if(t){if(255==e[0]&&254==e[1])return oh(e.slice(2).toString("utf16le"));if(254==e[1]&&255==e[2])return oh(Hc(e.slice(2).toString("binary")))}return e.toString("binary")}if("undefined"!=typeof TextDecoder)try{if(t){if(255==e[0]&&254==e[1])return oh(new TextDecoder("utf-16le").decode(e.slice(2)));if(254==e[0]&&255==e[1])return oh(new TextDecoder("utf-16be").decode(e.slice(2)))}var a={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return a[e]||e})}catch(XN){}for(var n=[],r=0;r!=e.length;++r)n.push(String.fromCharCode(e[r]));return n.join("")}function wd(e){if("undefined"!=typeof JSON&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if("object"!=typeof e||null==e)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=wd(e[a]));return t}function xd(e,t){for(var a="";a.length3&&-1==_d.indexOf(i))return a}else if(i.match(/[a-z]/))return a;return n<0||n>8099?a:(r>0||s>1)&&101!=n?t:e.match(/[^-0-9:,\/\\]/)?a:t}var Cd=function(){var e=5=="abacaba".split(/(:?b)/i).length;return function(t,a,n){if(e||"string"==typeof a)return t.split(a);for(var r=t.split(a),s=[r[0]],i=1;i>6&31,r[a++]=128|63&i;else if(i>=55296&&i<57344){i=64+(1023&i);var o=1023&e.charCodeAt(++s);r[a++]=240|i>>8&7,r[a++]=128|i>>2&63,r[a++]=128|o>>6&15|(3&i)<<4,r[a++]=128|63&o}else r[a++]=224|i>>12&15,r[a++]=128|i>>6&63,r[a++]=128|63&i;a>n&&(t.push(r.slice(0,a)),a=0,r=Xc(65535),n=65530)}return t.push(r.slice(0,a)),ru(t)}(a),td.utils.cfb_add(e,t,n);td.utils.cfb_add(e,t,a)}else e.file(t,a)}function Bd(){return td.utils.cfb_new()}function Md(e,t){switch(t.type){case"base64":return td.read(e,{type:"base64"});case"binary":return td.read(e,{type:"binary"});case"buffer":case"array":return td.read(e,{type:"buffer"})}throw new Error("Unrecognized type "+t.type)}function Od(e,t){if("/"==e.charAt(0))return e.slice(1);var a=t.split("/");"/"!=t.slice(-1)&&a.pop();for(var n=e.split("/");0!==n.length;){var r=n.shift();".."===r?a.pop():"."!==r&&a.push(r)}return a.join("/")}var Ud='\r\n',jd=/([^"\s?>\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g,Ld=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,Rd=Ud.match(Ld)?Ld:/<[^>]*>/g,zd=/<\w*:/,Hd=/<(\/?)\w+:/;function Yd(e,t,a){for(var n={},r=0,s=0;r!==e.length&&(32!==(s=e.charCodeAt(r))&&10!==s&&13!==s);++r);if(t||(n[0]=e.slice(0,r)),r===e.length)return n;var i=e.match(jd),o=0,l="",c=0,u="",d="",h=1;if(i)for(c=0;c!=i.length;++c){for(d=i[c],s=0;s!=d.length&&61!==d.charCodeAt(s);++s);for(u=d.slice(0,s).trim();32==d.charCodeAt(s+1);)++s;for(h=34==(r=d.charCodeAt(s+1))||39==r?1:0,l=d.slice(s+1+h,d.length-h),o=0;o!=u.length&&58!==u.charCodeAt(o);++o);if(o===u.length)u.indexOf("_")>0&&(u=u.slice(0,u.indexOf("_"))),n[u]=l,n[u.toLowerCase()]=l;else{var p=(5===o&&"xmlns"===u.slice(0,5)?"xmlns":"")+u.slice(o+1);if(n[p]&&"ext"==u.slice(o-3,o))continue;n[p]=l,n[p.toLowerCase()]=l}}return n}function $d(e){return e.replace(Hd,"<$1")}var Gd={""":'"',"'":"'",">":">","<":"<","&":"&"},Wd=id(Gd),Vd=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,t=/_x([\da-fA-F]{4})_/gi;return function a(n){var r=n+"",s=r.indexOf("-1?16:10))||e}).replace(t,function(e,t){return String.fromCharCode(parseInt(t,16))});var i=r.indexOf("]]>");return a(r.slice(0,s))+r.slice(s+9,i)+a(r.slice(i+3))}}(),Kd=/[&<>'"]/g,Jd=/[\u0000-\u0008\u000b-\u001f]/g;function qd(e){return(e+"").replace(Kd,function(e){return Wd[e]}).replace(Jd,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function Zd(e){return qd(e).replace(/ /g,"_x0020_")}var Xd=/[\u0000-\u001f]/g;function Qd(e){return(e+"").replace(Kd,function(e){return Wd[e]}).replace(/\n/g,"
").replace(Xd,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}var eh=function(){var e=/&#(\d+);/g;function t(e,t){return String.fromCharCode(parseInt(t,10))}return function(a){return a.replace(e,t)}}();function th(e){switch(e){case 1:case!0:case"1":case"true":case"TRUE":return!0;default:return!1}}function ah(e){for(var t="",a=0,n=0,r=0,s=0,i=0,o=0;a191&&n<224?(i=(31&n)<<6,i|=63&r,t+=String.fromCharCode(i)):(s=e.charCodeAt(a++),n<240?t+=String.fromCharCode((15&n)<<12|(63&r)<<6|63&s):(o=((7&n)<<18|(63&r)<<12|(63&s)<<6|63&(i=e.charCodeAt(a++)))-65536,t+=String.fromCharCode(55296+(o>>>10&1023)),t+=String.fromCharCode(56320+(1023&o)))));return t}function nh(e){var t,a,n,r=Xc(2*e.length),s=1,i=0,o=0;for(a=0;a>>10&1023),t=56320+(1023&t)),0!==o&&(r[i++]=255&o,r[i++]=o>>>8,o=0),r[i++]=t%256,r[i++]=t>>>8;return r.slice(0,i).toString("ucs2")}function rh(e){return Zc(e,"binary").toString("utf8")}var sh="foo bar baz☃🍣",ih=qc&&(rh(sh)==ah(sh)&&rh||nh(sh)==ah(sh)&&nh)||ah,oh=qc?function(e){return Zc(e,"utf8").toString("binary")}:function(e){for(var t=[],a=0,n=0,r=0;a>6))),t.push(String.fromCharCode(128+(63&n)));break;case n>=55296&&n<57344:n-=55296,r=e.charCodeAt(a++)-56320+(n<<10),t.push(String.fromCharCode(240+(r>>18&7))),t.push(String.fromCharCode(144+(r>>12&63))),t.push(String.fromCharCode(128+(r>>6&63))),t.push(String.fromCharCode(128+(63&r)));break;default:t.push(String.fromCharCode(224+(n>>12))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(63&n)))}return t.join("")},lh=function(){var e={};return function(t,a){var n=t+"|"+(a||"");return e[n]?e[n]:e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}(),ch=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function(t){for(var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,""),n=0;n([\\s\\S]*?)","g")}}(),dh=/<\/?(?:vt:)?variant>/g,hh=/<(?:vt:)([^>]*)>([\s\S]*)"+t+""}function gh(e){return rd(e).map(function(t){return" "+t+'="'+e[t]+'"'}).join("")}function yh(e,t,a){return"<"+e+(null!=a?gh(a):"")+(null!=t?(t.match(fh)?' xml:space="preserve"':"")+">"+t+""}function vh(e,t){try{return e.toISOString().replace(/\.\d*/,"")}catch(XN){if(t)throw XN}return""}function bh(e){if(qc&&Buffer.isBuffer(e))return e.toString("utf8");if("string"==typeof e)return e;if("undefined"!=typeof Uint8Array&&e instanceof Uint8Array)return ih(au(nu(e)));throw new Error("Bad input format: expected Buffer or string")}var wh=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm,xh="http://schemas.openxmlformats.org/package/2006/metadata/core-properties",kh="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",_h="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",Eh="http://schemas.openxmlformats.org/package/2006/content-types",Ch="http://schemas.openxmlformats.org/package/2006/relationships",Fh="http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",Dh="http://purl.org/dc/elements/1.1/",Ah="http://purl.org/dc/terms/",Th="http://purl.org/dc/dcmitype/",Sh="http://schemas.openxmlformats.org/officeDocument/2006/relationships",Ih="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",Ph="http://www.w3.org/2001/XMLSchema-instance",Nh="http://www.w3.org/2001/XMLSchema",Bh=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"],Mh="urn:schemas-microsoft-com:office:office",Oh="urn:schemas-microsoft-com:office:excel",Uh="urn:schemas-microsoft-com:office:spreadsheet",jh="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",Lh="http://macVmlSchemaUri",Rh="urn:schemas-microsoft-com:vml",zh="http://www.w3.org/TR/REC-html40";var Hh=function(e){for(var t=[],a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:Zc(e)})):Hh(e)}:Hh,$h=function(e,t,a){for(var n=[],r=t;r0?Jh(e,t+4,t+4+a-1):""},Zh=qh,Xh=function(e,t){var a=hp(e,t);return a>0?Jh(e,t+4,t+4+a-1):""},Qh=Xh,ep=function(e,t){var a=2*hp(e,t);return a>0?Jh(e,t+4,t+4+a-1):""},tp=ep,ap=function(e,t){var a=hp(e,t);return a>0?Gh(e,t+4,t+4+a):""},np=ap,rp=function(e,t){var a=hp(e,t);return a>0?Jh(e,t+4,t+4+a):""},sp=rp,ip=function(e,t){return function(e,t){for(var a=1-2*(e[t+7]>>>7),n=((127&e[t+7])<<4)+(e[t+6]>>>4&15),r=15&e[t+6],s=5;s>=0;--s)r=256*r+e[t+s];return 2047==n?0==r?a*(1/0):NaN:(0==n?n=-1022:(n-=1023,r+=Math.pow(2,52)),a*Math.pow(2,n-52)*r)}(e,t)},op=ip,lp=function(e){return Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array};qc&&(Zh=function(e,t){if(!Buffer.isBuffer(e))return qh(e,t);var a=e.readUInt32LE(t);return a>0?e.toString("utf8",t+4,t+4+a-1):""},Qh=function(e,t){if(!Buffer.isBuffer(e))return Xh(e,t);var a=e.readUInt32LE(t);return a>0?e.toString("utf8",t+4,t+4+a-1):""},tp=function(e,t){if(!Buffer.isBuffer(e))return ep(e,t);var a=2*e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+a-1)},np=function(e,t){if(!Buffer.isBuffer(e))return ap(e,t);var a=e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+a)},sp=function(e,t){if(!Buffer.isBuffer(e))return rp(e,t);var a=e.readUInt32LE(t);return e.toString("utf8",t+4,t+4+a)},op=function(e,t){return Buffer.isBuffer(e)?e.readDoubleLE(t):ip(e,t)},lp=function(e){return Buffer.isBuffer(e)||Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array});var cp=function(e,t){return e[t]},up=function(e,t){return 256*e[t+1]+e[t]},dp=function(e,t){var a=256*e[t+1]+e[t];return a<32768?a:-1*(65535-a+1)},hp=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},pp=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},fp=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function mp(e,t){var a,n,r,s,i,o,l="",c=[];switch(t){case"dbcs":if(o=this.l,qc&&Buffer.isBuffer(this))l=this.slice(this.l,this.l+2*e).toString("utf16le");else for(i=0;i0?pp:fp)(this,this.l),this.l+=4,a);case 8:case-8:if("f"===t)return n=8==e?op(this,this.l):op([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,n;e=8;case 16:l=Vh(this,this.l,e)}}return this.l+=e,l}var gp=function(e,t,a){e[a]=255&t,e[a+1]=t>>>8&255,e[a+2]=t>>>16&255,e[a+3]=t>>>24&255},yp=function(e,t,a){e[a]=255&t,e[a+1]=t>>8&255,e[a+2]=t>>16&255,e[a+3]=t>>24&255},vp=function(e,t,a){e[a]=255&t,e[a+1]=t>>>8&255};function bp(e,t,a){var n=0,r=0;if("dbcs"===a){for(r=0;r!=t.length;++r)vp(this,t.charCodeAt(r),this.l+2*r);n=2*t.length}else if("sbcs"===a){for(t=t.replace(/[^\x00-\x7F]/g,"_"),r=0;r!=t.length;++r)this[this.l+r]=255&t.charCodeAt(r);n=t.length}else{if("hex"===a){for(;r>8}for(;this.l>>=8,this[this.l+1]=255&t;break;case 3:n=3,this[this.l]=255&t,t>>>=8,this[this.l+1]=255&t,t>>>=8,this[this.l+2]=255&t;break;case 4:n=4,gp(this,t,this.l);break;case 8:if(n=8,"f"===a){!function(e,t,a){var n=(t<0||1/t==-1/0?1:0)<<7,r=0,s=0,i=n?-t:t;isFinite(i)?0==i?r=s=0:(r=Math.floor(Math.log(i)/Math.LN2),s=i*Math.pow(2,52-r),r<=-1023&&(!isFinite(s)||s>4|n}(this,t,this.l);break}case 16:break;case-4:n=4,yp(this,t,this.l)}}return this.l+=n,this}function wp(e,t){var a=Vh(this,this.l,e.length>>1);if(a!==e)throw new Error(t+"Expected "+e+" saw "+a);this.l+=e.length>>1}function xp(e,t){e.l=t,e.read_shift=mp,e.chk=wp,e.write_shift=bp}function kp(e,t){e.l+=t}function _p(e){var t=Xc(e);return xp(t,0),t}function Ep(e,t,a){if(e){var n,r,s;xp(e,e.l||0);for(var i=e.length,o=0,l=0;e.ln.l&&((n=n.slice(0,n.l)).l=n.length),n.length>0&&e.push(n),n=null)},s=function(e){return n&&e=128?1:0)+1,n>=128&&++r,n>=16384&&++r,n>=2097152&&++r;var i=e.next(r);s<=127?i.write_shift(1,s):(i.write_shift(1,128+(127&s)),i.write_shift(1,s>>7));for(var o=0;4!=o;++o){if(!(n>=128)){i.write_shift(1,n);break}i.write_shift(1,128+(127&n)),n>>=7}n>0&&lp(a)&&e.push(a)}}function Dp(e,t,a){var n=wd(e);if(t.s?(n.cRel&&(n.c+=t.s.c),n.rRel&&(n.r+=t.s.r)):(n.cRel&&(n.c+=t.c),n.rRel&&(n.r+=t.r)),!a||a.biff<12){for(;n.c>=256;)n.c-=256;for(;n.r>=65536;)n.r-=65536}return n}function Ap(e,t,a){var n=wd(e);return n.s=Dp(n.s,t.s,a),n.e=Dp(n.e,t.s,a),n}function Tp(e,t){if(e.cRel&&e.c<0)for(e=wd(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=wd(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var a=Op(e);return e.cRel||null==e.cRel||(a=a.replace(/^([A-Z])/,"$$$1")),e.rRel||null==e.rRel||(a=function(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}(a)),a}function Sp(e,t){return 0!=e.s.r||e.s.rRel||e.e.r!=(t.biff>=12?1048575:t.biff>=8?65536:16384)||e.e.rRel?0!=e.s.c||e.s.cRel||e.e.c!=(t.biff>=12?16383:255)||e.e.cRel?Tp(e.s,t.biff)+":"+Tp(e.e,t.biff):(e.s.rRel?"":"$")+Pp(e.s.r)+":"+(e.e.rRel?"":"$")+Pp(e.e.r):(e.s.cRel?"":"$")+Bp(e.s.c)+":"+(e.e.cRel?"":"$")+Bp(e.e.c)}function Ip(e){return parseInt(e.replace(/\$(\d+)$/,"$1"),10)-1}function Pp(e){return""+(e+1)}function Np(e){for(var t=e.replace(/^\$([A-Z])/,"$1"),a=0,n=0;n!==t.length;++n)a=26*a+t.charCodeAt(n)-64;return a-1}function Bp(e){if(e<0)throw new Error("invalid column "+e);var t="";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function Mp(e){for(var t=0,a=0,n=0;n=48&&r<=57?t=10*t+(r-48):r>=65&&r<=90&&(a=26*a+(r-64))}return{c:a-1,r:t-1}}function Op(e){for(var t=e.c+1,a="";t;t=(t-1)/26|0)a=String.fromCharCode((t-1)%26+65)+a;return a+(e.r+1)}function Up(e){var t=e.indexOf(":");return-1==t?{s:Mp(e),e:Mp(e)}:{s:Mp(e.slice(0,t)),e:Mp(e.slice(t+1))}}function jp(e,t){return void 0===t||"number"==typeof t?jp(e.s,e.e):("string"!=typeof e&&(e=Op(e)),"string"!=typeof t&&(t=Op(t)),e==t?e:e+":"+t)}function Lp(e){var t={s:{c:0,r:0},e:{c:0,r:0}},a=0,n=0,r=0,s=e.length;for(a=0;n26);++n)a=26*a+r;for(t.s.c=--a,a=0;n9);++n)a=10*a+r;if(t.s.r=--a,n===s||10!=r)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++n,a=0;n!=s&&!((r=e.charCodeAt(n)-64)<1||r>26);++n)a=26*a+r;for(t.e.c=--a,a=0;n!=s&&!((r=e.charCodeAt(n)-48)<0||r>9);++n)a=10*a+r;return t.e.r=--a,t}function Rp(e,t){var a="d"==e.t&&t instanceof Date;if(null!=e.z)try{return e.w=Ku(e.z,a?cd(t):t)}catch(XN){}try{return e.w=Ku((e.XF||{}).numFmtId||(a?14:0),a?cd(t):t)}catch(XN){return""+t}}function zp(e,t,a){return null==e||null==e.t||"z"==e.t?"":void 0!==e.w?e.w:("d"==e.t&&!e.z&&a&&a.dateNF&&(e.z=a.dateNF),"e"==e.t?Df[e.v]||e.v:Rp(e,null==t?e.v:t))}function Hp(e,t){var a=t&&t.sheet?t.sheet:"Sheet1",n={};return n[a]=e,{SheetNames:[a],Sheets:n}}function Yp(e,t,a){var n=a||{},r=e?Array.isArray(e):n.dense,s=e||(r?[]:{}),i=0,o=0;if(s&&null!=n.origin){if("number"==typeof n.origin)i=n.origin;else{var l="string"==typeof n.origin?Mp(n.origin):n.origin;i=l.r,o=l.c}s["!ref"]||(s["!ref"]="A1:A1")}var c={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(s["!ref"]){var u=Lp(s["!ref"]);c.s.c=u.s.c,c.s.r=u.s.r,c.e.c=Math.max(c.e.c,u.e.c),c.e.r=Math.max(c.e.r,u.e.r),-1==i&&(c.e.r=i=u.e.r+1)}for(var d=0;d!=t.length;++d)if(t[d]){if(!Array.isArray(t[d]))throw new Error("aoa_to_sheet expects an array of arrays");for(var h=0;h!=t[d].length;++h)if(void 0!==t[d][h]){var p={v:t[d][h]},f=i+d,m=o+h;if(c.s.r>f&&(c.s.r=f),c.s.c>m&&(c.s.c=m),c.e.r0&&t.write_shift(0,e,"dbcs"),a?t.slice(0,t.l):t}function Kp(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function Jp(e,t){var a=e.l,n=e.read_shift(1),r=Wp(e),s=[],i={t:r,h:r};if(1&n){for(var o=e.read_shift(4),l=0;l!=o;++l)s.push(Kp(e));i.r=s}else i.r=[{ich:0,ifnt:0}];return e.l=a+t,i}var qp=Jp;function Zp(e,t){var a=!1;return null==t&&(a=!0,t=_p(23+4*e.t.length)),t.write_shift(1,1),Vp(e.t,t),t.write_shift(4,1),function(e,t){t||(t=_p(4)),t.write_shift(2,0),t.write_shift(2,0)}(0,t),a?t.slice(0,t.l):t}function Xp(e){var t=e.read_shift(4),a=e.read_shift(2);return a+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:a}}function Qp(e,t){return null==t&&(t=_p(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function ef(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}function tf(e,t){return null==t&&(t=_p(4)),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}var af=Wp,nf=Vp;function rf(e){var t=e.read_shift(4);return 0===t||4294967295===t?"":e.read_shift(t,"dbcs")}function sf(e,t){var a=!1;return null==t&&(a=!0,t=_p(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,"dbcs"),a?t.slice(0,t.l):t}var of=Wp,lf=rf,cf=sf;function uf(e){var t=e.slice(e.l,e.l+4),a=1&t[0],n=2&t[0];e.l+=4;var r=0===n?op([0,0,0,0,252&t[0],t[1],t[2],t[3]],0):pp(t,0)>>2;return a?r/100:r}function df(e,t){null==t&&(t=_p(4));var a=0,n=0,r=100*e;if(e==(0|e)&&e>=-536870912&&e<1<<29?n=1:r==(0|r)&&r>=-536870912&&r<1<<29&&(n=1,a=1),!n)throw new Error("unsupported RkNumber "+e);t.write_shift(-4,((a?r:e)<<2)+(a+2))}function hf(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}var pf=hf,ff=function(e,t){return t||(t=_p(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t};function mf(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e.read_shift(8,"f")}function gf(e,t){return(t||_p(8)).write_shift(8,e,"f")}function yf(e,t){if(t||(t=_p(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;null!=e.index?(t.write_shift(1,2),t.write_shift(1,e.index)):null!=e.theme?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var a=e.tint||0;if(a>0?a*=32767:a<0&&(a*=32768),t.write_shift(2,a),e.rgb&&null==e.theme){var n=e.rgb||"FFFFFF";"number"==typeof n&&(n=("000000"+n.toString(16)).slice(-6)),t.write_shift(1,parseInt(n.slice(0,2),16)),t.write_shift(1,parseInt(n.slice(2,4),16)),t.write_shift(1,parseInt(n.slice(4,6),16)),t.write_shift(1,255)}else t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);return t}function vf(e,t){var a=e.read_shift(4);switch(a){case 0:return"";case 4294967295:case 4294967294:return{2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"}[e.read_shift(4)]||""}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));return e.l-=4,e.read_shift(0,1==t?"lpstr":"lpwstr")}var bf=80,wf=[bf,81],xf={1:{n:"CodePage",t:2},2:{n:"Category",t:bf},3:{n:"PresentationFormat",t:bf},4:{n:"ByteCount",t:3},5:{n:"LineCount",t:3},6:{n:"ParagraphCount",t:3},7:{n:"SlideCount",t:3},8:{n:"NoteCount",t:3},9:{n:"HiddenCount",t:3},10:{n:"MultimediaClipCount",t:3},11:{n:"ScaleCrop",t:11},12:{n:"HeadingPairs",t:4108},13:{n:"TitlesOfParts",t:4126},14:{n:"Manager",t:bf},15:{n:"Company",t:bf},16:{n:"LinksUpToDate",t:11},17:{n:"CharacterCount",t:3},19:{n:"SharedDoc",t:11},22:{n:"HyperlinksChanged",t:11},23:{n:"AppVersion",t:3,p:"version"},24:{n:"DigSig",t:65},26:{n:"ContentType",t:bf},27:{n:"ContentStatus",t:bf},28:{n:"Language",t:bf},29:{n:"Version",t:bf},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},kf={1:{n:"CodePage",t:2},2:{n:"Title",t:bf},3:{n:"Subject",t:bf},4:{n:"Author",t:bf},5:{n:"Keywords",t:bf},6:{n:"Comments",t:bf},7:{n:"Template",t:bf},8:{n:"LastAuthor",t:bf},9:{n:"RevNumber",t:bf},10:{n:"EditTime",t:64},11:{n:"LastPrinted",t:64},12:{n:"CreatedDate",t:64},13:{n:"ModifiedDate",t:64},14:{n:"PageCount",t:3},15:{n:"WordCount",t:3},16:{n:"CharCount",t:3},17:{n:"Thumbnail",t:71},18:{n:"Application",t:bf},19:{n:"DocSecurity",t:3},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},_f={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"},Ef=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Cf(e){return e.map(function(e){return[e>>16&255,e>>8&255,255&e]})}var Ff=wd(Cf([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),Df={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"},Af={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255},Tf={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"},Sf={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function If(e,t){var a,n=function(e){for(var t=[],a=rd(e),n=0;n!==a.length;++n)null==t[e[a[n]]]&&(t[e[a[n]]]=[]),t[e[a[n]]].push(a[n]);return t}(Tf),r=[];r[r.length]=Ud,r[r.length]=yh("Types",null,{xmlns:Eh,"xmlns:xsd":Nh,"xmlns:xsi":Ph}),r=r.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return yh("Default",null,{Extension:e[0],ContentType:e[1]})}));var s=function(n){e[n]&&e[n].length>0&&(a=e[n][0],r[r.length]=yh("Override",null,{PartName:("/"==a[0]?"":"/")+a,ContentType:Sf[n][t.bookType]||Sf[n].xlsx}))},i=function(a){(e[a]||[]).forEach(function(e){r[r.length]=yh("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:Sf[a][t.bookType]||Sf[a].xlsx})})},o=function(t){(e[t]||[]).forEach(function(e){r[r.length]=yh("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:n[t][0]})})};return s("workbooks"),i("sheets"),i("charts"),o("themes"),["strs","styles"].forEach(s),["coreprops","extprops","custprops"].forEach(o),o("vba"),o("comments"),o("threadedcomments"),o("drawings"),i("metadata"),o("people"),r.length>2&&(r[r.length]="",r[1]=r[1].replace("/>",">")),r.join("")}var Pf={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function Nf(e){var t=e.lastIndexOf("/");return e.slice(0,t+1)+"_rels/"+e.slice(t+1)+".rels"}function Bf(e,t){var a={"!id":{}};if(!e)return a;"/"!==t.charAt(0)&&(t="/"+t);var n={};return(e.match(Rd)||[]).forEach(function(e){var r=Yd(e);if("2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Of(e,t,a,n,r,s){if(r||(r={}),e["!id"]||(e["!id"]={}),e["!idx"]||(e["!idx"]=1),t<0)for(t=e["!idx"];e["!id"]["rId"+t];++t);if(e["!idx"]=t+1,r.Id="rId"+t,r.Type=n,r.Target=a,[Pf.HLINK,Pf.XPATH,Pf.XMISS].indexOf(r.Type)>-1&&(r.TargetMode="External"),e["!id"][r.Id])throw new Error("Cannot rewrite rId "+t);return e["!id"][r.Id]=r,e[("/"+r.Target).replace("//","/")]=r,t}function Uf(e,t,a){return[' \n',' \n'," \n"].join("")}function jf(e,t){return[' \n',' \n'," \n"].join("")}function Lf(){return'SheetJS '+Bc.version+""}var Rf=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]],zf=function(){for(var e=new Array(Rf.length),t=0;t]*>([\\s\\S]*?)")}return e}();function Hf(e){var t={};e=ih(e);for(var a=0;a0&&(t[n[1]]=Vd(r[1])),"date"===n[2]&&t[n[1]]&&(t[n[1]]=vd(t[n[1]]))}return t}function Yf(e,t,a,n,r){null==r[e]&&null!=t&&""!==t&&(r[e]=t,t=qd(t),n[n.length]=a?yh(e,t,a):mh(e,t))}function $f(e,t){var a=t||{},n=[Ud,yh("cp:coreProperties",null,{"xmlns:cp":xh,"xmlns:dc":Dh,"xmlns:dcterms":Ah,"xmlns:dcmitype":Th,"xmlns:xsi":Ph})],r={};if(!e&&!a.Props)return n.join("");e&&(null!=e.CreatedDate&&Yf("dcterms:created","string"==typeof e.CreatedDate?e.CreatedDate:vh(e.CreatedDate,a.WTF),{"xsi:type":"dcterms:W3CDTF"},n,r),null!=e.ModifiedDate&&Yf("dcterms:modified","string"==typeof e.ModifiedDate?e.ModifiedDate:vh(e.ModifiedDate,a.WTF),{"xsi:type":"dcterms:W3CDTF"},n,r));for(var s=0;s!=Rf.length;++s){var i=Rf[s],o=a.Props&&null!=a.Props[i[1]]?a.Props[i[1]]:e?e[i[1]]:null;!0===o?o="1":!1===o?o="0":"number"==typeof o&&(o=String(o)),null!=o&&Yf(i[0],o,null,n,r)}return n.length>2&&(n[n.length]="",n[1]=n[1].replace("/>",">")),n.join("")}var Gf=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]],Wf=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function Vf(e,t,a,n){var r=[];if("string"==typeof e)r=ph(e,n);else for(var s=0;s0)for(var c=0;c!==r.length;c+=2){switch(l=+r[c+1].v,r[c].v){case"Worksheets":case"工作表":case"Листы":case"أوراق العمل":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Regneark":case"Hojas de cálculo":case"Werkbladen":a.Worksheets=l,a.SheetNames=i.slice(o,o+l);break;case"Named Ranges":case"Rangos con nombre":case"名前付き一覧":case"Benannte Bereiche":case"Navngivne områder":a.NamedRanges=l,a.DefinedNames=i.slice(o,o+l);break;case"Charts":case"Diagramme":a.Chartsheets=l,a.ChartNames=i.slice(o,o+l)}o+=l}}function Kf(e){var t=[],a=yh;return e||(e={}),e.Application="SheetJS",t[t.length]=Ud,t[t.length]=yh("Properties",null,{xmlns:_h,"xmlns:vt":Ih}),Gf.forEach(function(n){if(void 0!==e[n[1]]){var r;switch(n[2]){case"string":r=qd(String(e[n[1]]));break;case"bool":r=e[n[1]]?"true":"false"}void 0!==r&&(t[t.length]=a(n[0],r))}}),t[t.length]=a("HeadingPairs",a("vt:vector",a("vt:variant","Worksheets")+a("vt:variant",a("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"})),t[t.length]=a("TitlesOfParts",a("vt:vector",e.SheetNames.map(function(e){return""+qd(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"})),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var Jf=/<[^>]+>[^<]*/g;function qf(e){var t=[Ud,yh("Properties",null,{xmlns:kh,"xmlns:vt":Ih})];if(!e)return t.join("");var a=1;return rd(e).forEach(function(n){++a,t[t.length]=yh("property",function(e){switch(typeof e){case"string":var t=yh("vt:lpwstr",qd(e));return t.replace(/"/g,"_x0022_");case"number":return yh((0|e)==e?"vt:i4":"vt:r8",qd(String(e)));case"boolean":return yh("vt:bool",e?"true":"false")}if(e instanceof Date)return yh("vt:filetime",vh(e));throw new Error("Unable to serialize "+e)}(e[n]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:a,name:qd(n)})}),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var Zf,Xf={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};function Qf(e,t,a){Zf||(Zf=id(Xf)),e[t=Zf[t]||t]=a}function em(e){var t=e.read_shift(4),a=e.read_shift(4);return new Date(1e3*(a/1e7*Math.pow(2,32)+t/1e7-11644473600)).toISOString().replace(/\.000/,"")}function tm(e,t,a){var n=e.l,r=e.read_shift(0,"lpstr-cp");if(a)for(;e.l-n&3;)++e.l;return r}function am(e,t,a){return e.read_shift(0,"lpwstr")}function nm(e,t,a){return 31===t?am(e):tm(e,0,a)}function rm(e,t,a){return nm(e,t,!1===a?0:4)}function sm(e){var t=e.l,a=lm(e,81);return 0==e[e.l]&&0==e[e.l+1]&&e.l-t&2&&(e.l+=2),[a,lm(e,3)]}function im(e,t){for(var a=e.read_shift(4),n={},r=0;r!=a;++r){var s=e.read_shift(4),i=e.read_shift(4);n[s]=e.read_shift(i,1200===t?"utf16le":"utf8").replace(su,"").replace(iu,"!"),1200===t&&i%2&&(e.l+=2)}return 3&e.l&&(e.l=e.l>>3<<2),n}function om(e){var t=e.read_shift(4),a=e.slice(e.l,e.l+t);return e.l+=t,(3&t)>0&&(e.l+=4-(3&t)&3),a}function lm(e,t,a){var n,r=e.read_shift(2),s=a||{};if(e.l+=2,12!==t&&r!==t&&-1===wf.indexOf(t)&&(4126!=(65534&t)||4126!=(65534&r)))throw new Error("Expected type "+t+" saw "+r);switch(12===t?r:t){case 2:return n=e.read_shift(2,"i"),s.raw||(e.l+=2),n;case 3:return n=e.read_shift(4,"i");case 11:return 0!==e.read_shift(4);case 19:return n=e.read_shift(4);case 30:return tm(e,0,4).replace(su,"");case 31:return am(e);case 64:return em(e);case 65:return om(e);case 71:return function(e){var t={};return t.Size=e.read_shift(4),e.l+=t.Size+3-(t.Size-1)%4,t}(e);case 80:return rm(e,r,!s.raw).replace(su,"");case 81:return function(e,t){if(!t)throw new Error("VtUnalignedString must have positive length");return nm(e,t,0)}(e,r).replace(su,"");case 4108:return function(e){for(var t=e.read_shift(4),a=[],n=0;n0&&(a%=Math.pow(2,32),n+=r);var s=_p(8);return s.write_shift(4,a),s.write_shift(4,n),s}(t);break;case 31:case 80:for((n=_p(4+2*(t.length+1)+(t.length%2?0:2))).write_shift(4,t.length+1),n.write_shift(0,t,"dbcs");n.l!=n.length;)n.write_shift(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+t)}return ru([a,n])}function um(e,t){var a=e.l,n=e.read_shift(4),r=e.read_shift(4),s=[],i=0,o=0,l=-1,c={};for(i=0;i!=r;++i){var u=e.read_shift(4),d=e.read_shift(4);s[i]=[u,d+a]}s.sort(function(e,t){return e[1]-t[1]});var h={};for(i=0;i!=r;++i){if(e.l!==s[i][1]){var p=!0;if(i>0&&t)switch(t[s[i-1][0]].t){case 2:e.l+2===s[i][1]&&(e.l+=2,p=!1);break;case 80:case 4108:e.l<=s[i][1]&&(e.l=s[i][1],p=!1)}if((!t||0==i)&&e.l<=s[i][1]&&(p=!1,e.l=s[i][1]),p)throw new Error("Read Error: Expected address "+s[i][1]+" at "+e.l+" :"+i)}if(t){var f=t[s[i][0]];if(h[f.n]=lm(e,f.t,{raw:!0}),"version"===f.p&&(h[f.n]=String(h[f.n]>>16)+"."+("0000"+String(65535&h[f.n])).slice(-4)),"CodePage"==f.n)switch(h[f.n]){case 0:h[f.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:Lc(o=h[f.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+h[f.n])}}else if(1===s[i][0]){if(o=h.CodePage=lm(e,2),Lc(o),-1!==l){var m=e.l;e.l=s[l][1],c=im(e,o),e.l=m}}else if(0===s[i][0]){if(0===o){l=i,e.l=s[i+1][1];continue}c=im(e,o)}else{var g,y=c[s[i][0]];switch(e[e.l]){case 65:e.l+=4,g=om(e);break;case 30:case 31:e.l+=4,g=rm(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4,g=e.read_shift(4,"i");break;case 19:e.l+=4,g=e.read_shift(4);break;case 5:e.l+=4,g=e.read_shift(8,"f");break;case 11:e.l+=4,g=ym(e,4);break;case 64:e.l+=4,g=vd(em(e));break;default:throw new Error("unparsed value: "+e[e.l])}h[y]=g}}return e.l=a+n,h}var dm=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function hm(e){switch(typeof e){case"boolean":return 11;case"number":return(0|e)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64}return-1}function pm(e,t,a){var n=_p(8),r=[],s=[],i=8,o=0,l=_p(8),c=_p(8);if(l.write_shift(4,2),l.write_shift(4,1200),c.write_shift(4,1),s.push(l),r.push(c),i+=8+l.length,!t){(c=_p(8)).write_shift(4,0),r.unshift(c);var u=[_p(4)];for(u[0].write_shift(4,e.length),o=0;o-1||Wf.indexOf(e[o][0])>-1)&&null!=e[o][1]){var h=e[o][1],p=0;if(t){var f=a[p=+t[e[o][0]]];if("version"==f.p&&"string"==typeof h){var m=h.split(".");h=(+m[0]<<16)+(+m[1]||0)}l=cm(f.t,h)}else{var g=hm(h);-1==g&&(g=31,h=String(h)),l=cm(g,h)}s.push(l),(c=_p(8)).write_shift(4,t?p:2+o),r.push(c),i+=8+l.length}var y=8*(s.length+1);for(o=0;o=12?2:1),r="sbcs-cont";(a&&a.biff,a&&8!=a.biff)?12==a.biff&&(r="wstr"):e.read_shift(1)&&(r="dbcs-cont");return a.biff>=2&&a.biff<=5&&(r="cpstr"),n?e.read_shift(n,r):""}function Em(e){var t,a=e.read_shift(2),n=e.read_shift(1),r=4&n,s=8&n,i=1+(1&n),o=0,l={};s&&(o=e.read_shift(2)),r&&(t=e.read_shift(4));var c=2==i?"dbcs-cont":"sbcs-cont",u=0===a?"":e.read_shift(a,c);return s&&(e.l+=4*o),r&&(e.l+=t),l.t=u,s||(l.raw=""+l.t+"",l.r=l.t),l}function Cm(e){var t=e.t||"",a=_p(3);a.write_shift(2,t.length),a.write_shift(1,1);var n=_p(2*t.length);return n.write_shift(2*t.length,t,"utf16le"),ru([a,n])}function Fm(e,t,a){if(a){if(a.biff>=2&&a.biff<=5)return e.read_shift(t,"cpstr");if(a.biff>=12)return e.read_shift(t,"dbcs-cont")}return 0===e.read_shift(1)?e.read_shift(t,"sbcs-cont"):e.read_shift(t,"dbcs-cont")}function Dm(e,t,a){var n=e.read_shift(a&&2==a.biff?1:2);return 0===n?(e.l++,""):Fm(e,n,a)}function Am(e,t,a){if(a.biff>5)return Dm(e,0,a);var n=e.read_shift(1);return 0===n?(e.l++,""):e.read_shift(n,a.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function Tm(e,t,a){return a||(a=_p(3+2*e.length)),a.write_shift(2,e.length),a.write_shift(1,1),a.write_shift(31,e,"utf16le"),a}function Sm(e,t){var a=e.read_shift(16);switch(a){case"e0c9ea79f9bace118c8200aa004ba90b":return function(e){var t=e.read_shift(4),a=e.l,n=!1;t>24&&(e.l+=t-24,"795881f43b1d7f48af2c825dc4852763"===e.read_shift(16)&&(n=!0),e.l=a);var r=e.read_shift((n?t-24:t)>>1,"utf16le").replace(su,"");return n&&(e.l+=24),r}(e);case"0303000000000000c000000000000046":return function(e){for(var t=e.read_shift(2),a="";t-- >0;)a+="../";var n=e.read_shift(0,"lpstr-ansi");if(e.l+=2,57005!=e.read_shift(2))throw new Error("Bad FileMoniker");if(0===e.read_shift(4))return a+n.replace(/\\/g,"/");var r=e.read_shift(4);if(3!=e.read_shift(2))throw new Error("Bad FileMoniker");return a+e.read_shift(r>>1,"utf16le").replace(su,"")}(e);default:throw new Error("Unsupported Moniker "+a)}}function Im(e){var t=e.read_shift(4);return t>0?e.read_shift(t,"utf16le").replace(su,""):""}function Pm(e,t){t||(t=_p(6+2*e.length)),t.write_shift(4,1+e.length);for(var a=0;a-1?31:23;switch(n.charAt(0)){case"#":s=28;break;case".":s&=-3}t.write_shift(4,2),t.write_shift(4,s);var i=[8,6815827,6619237,4849780,83];for(a=0;a-1?n.slice(0,r):n;for(t.write_shift(4,2*(o.length+1)),a=0;a-1?n.slice(r+1):"",t)}else{for(i="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" "),a=0;a8?4:2;return[e.read_shift(n),e.read_shift(n,"i"),e.read_shift(n,"i")]}function Lm(e){return[e.read_shift(2),uf(e)]}function Rm(e){var t=e.read_shift(2),a=e.read_shift(2);return{s:{c:e.read_shift(2),r:t},e:{c:e.read_shift(2),r:a}}}function zm(e,t){return t||(t=_p(8)),t.write_shift(2,e.s.r),t.write_shift(2,e.e.r),t.write_shift(2,e.s.c),t.write_shift(2,e.e.c),t}function Hm(e){var t=e.read_shift(2),a=e.read_shift(2);return{s:{c:e.read_shift(1),r:t},e:{c:e.read_shift(1),r:a}}}var Ym=Hm;function $m(e){e.l+=4;var t=e.read_shift(2),a=e.read_shift(2),n=e.read_shift(2);return e.l+=12,[a,t,n]}function Gm(e){e.l+=2,e.l+=e.read_shift(2)}var Wm={0:Gm,4:Gm,5:Gm,6:Gm,7:function(e){return e.l+=4,e.cf=e.read_shift(2),{}},8:Gm,9:Gm,10:Gm,11:Gm,12:Gm,13:function(e){var t={};return e.l+=4,e.l+=16,t.fSharedNote=e.read_shift(2),e.l+=4,t},14:Gm,15:Gm,16:Gm,17:Gm,18:Gm,19:Gm,20:Gm,21:$m};function Vm(e,t){var a={BIFFVer:0,dt:0};switch(a.BIFFVer=e.read_shift(2),(t-=2)>=2&&(a.dt=e.read_shift(2),e.l-=2),a.BIFFVer){case 1536:case 1280:case 1024:case 768:case 512:case 2:case 7:break;default:if(t>6)throw new Error("Unexpected BIFF Ver "+a.BIFFVer)}return e.read_shift(t),a}function Km(e,t,a){var n=1536,r=16;switch(a.bookType){case"biff8":case"xla":break;case"biff5":n=1280,r=8;break;case"biff4":n=4,r=6;break;case"biff3":n=3,r=6;break;case"biff2":n=2,r=4;break;default:throw new Error("unsupported BIFF version")}var s=_p(r);return s.write_shift(2,n),s.write_shift(2,t),r>4&&s.write_shift(2,29282),r>6&&s.write_shift(2,1997),r>8&&(s.write_shift(2,49161),s.write_shift(2,1),s.write_shift(2,1798),s.write_shift(2,0)),s}function Jm(e,t){var a=!t||t.biff>=8?2:1,n=_p(8+a*e.name.length);n.write_shift(4,e.pos),n.write_shift(1,e.hs||0),n.write_shift(1,e.dt),n.write_shift(1,e.name.length),t.biff>=8&&n.write_shift(1,1),n.write_shift(a*e.name.length,e.name,t.biff<8?"sbcs":"utf16le");var r=n.slice(0,n.l);return r.l=n.l,r}function qm(e,t,a){var n=0;a&&2==a.biff||(n=e.read_shift(2));var r=e.read_shift(2);return a&&2==a.biff&&(n=1-(r>>15),r&=32767),[{Unsynced:1&n,DyZero:(2&n)>>1,ExAsc:(4&n)>>2,ExDsc:(8&n)>>3},r]}function Zm(e,t,a,n){var r=a&&5==a.biff;n||(n=_p(r?3+t.length:5+2*t.length)),n.write_shift(2,e),n.write_shift(r?1:2,t.length),r||n.write_shift(1,1),n.write_shift((r?1:2)*t.length,t,r?"sbcs":"utf16le");var s=n.length>n.l?n.slice(0,n.l):n;return null==s.l&&(s.l=s.length),s}var Xm=Am;function Qm(e,t,a){var n=e.l+t,r=8!=a.biff&&a.biff?2:4,s=e.read_shift(r),i=e.read_shift(r),o=e.read_shift(2),l=e.read_shift(2);return e.l=n,{s:{r:s,c:o},e:{r:i,c:l}}}function eg(e,t,a,n){var r=a&&5==a.biff;n||(n=_p(r?16:20)),n.write_shift(2,0),e.style?(n.write_shift(2,e.numFmtId||0),n.write_shift(2,65524)):(n.write_shift(2,e.numFmtId||0),n.write_shift(2,t<<4));var s=0;return e.numFmtId>0&&r&&(s|=1024),n.write_shift(4,s),n.write_shift(4,0),r||n.write_shift(4,0),n.write_shift(2,0),n}function tg(e,t,a){var n=Om(e);2!=a.biff&&9!=t||++e.l;var r=function(e){var t=e.read_shift(1);return 1===e.read_shift(1)?t:1===t}(e);return n.val=r,n.t=!0===r||!1===r?"b":"e",n}var ag=function(e,t,a){return 0===t?"":Am(e,0,a)};function ng(e,t,a){var n,r=e.read_shift(2),s={fBuiltIn:1&r,fWantAdvise:r>>>1&1,fWantPict:r>>>2&1,fOle:r>>>3&1,fOleLink:r>>>4&1,cf:r>>>5&1023,fIcon:r>>>15&1};return 14849===a.sbcch&&(n=function(e,t,a){e.l+=4,t-=4;var n=e.l+t,r=_m(e,0,a),s=e.read_shift(2);if(s!==(n-=e.l))throw new Error("Malformed AddinUdf: padding = "+n+" != "+s);return e.l+=s,r}(e,t-2,a)),s.body=n||e.read_shift(t-2),"string"==typeof n&&(s.Name=n),s}var rg=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function sg(e,t,a){var n=e.l+t,r=e.read_shift(2),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(a&&2==a.biff?1:2),l=0;(!a||a.biff>=5)&&(5!=a.biff&&(e.l+=2),l=e.read_shift(2),5==a.biff&&(e.l+=2),e.l+=4);var c=Fm(e,i,a);32&r&&(c=rg[c.charCodeAt(0)]);var u=n-e.l;a&&2==a.biff&&--u;var d=n!=e.l&&0!==o&&u>0?function(e,t,a,n){var r,s=e.l+t,i=wv(e,n,a);s!==e.l&&(r=bv(e,s-e.l,i,a));return[i,r]}(e,u,a,o):[];return{chKey:s,Name:c,itab:l,rgce:d}}function ig(e,t,a){if(a.biff<8)return function(e,t,a){3==e[e.l+1]&&e[e.l]++;var n=_m(e,0,a);return 3==n.charCodeAt(0)?n.slice(1):n}(e,0,a);for(var n=[],r=e.l+t,s=e.read_shift(a.biff>8?4:2);0!==s--;)n.push(jm(e,a.biff,a));if(e.l!=r)throw new Error("Bad ExternSheet: "+e.l+" != "+r);return n}function og(e,t,a){var n=Ym(e);switch(a.biff){case 2:e.l++,t-=7;break;case 3:case 4:e.l+=2,t-=8;break;default:e.l+=6,t-=12}return[n,Fv(e,t,a)]}var lg={8:function(e,t){var a=e.l+t;e.l+=10;var n=e.read_shift(2);e.l+=4,e.l+=2,e.l+=2,e.l+=2,e.l+=4;var r=e.read_shift(1);return e.l+=r,e.l=a,{fmt:n}}};function cg(e){var t=_p(24),a=Mp(e[0]);t.write_shift(2,a.r),t.write_shift(2,a.r),t.write_shift(2,a.c),t.write_shift(2,a.c);for(var n="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "),r=0;r<16;++r)t.write_shift(1,parseInt(n[r],16));return ru([t,Nm(e[1])])}function ug(e){var t=e[1].Tooltip,a=_p(10+2*(t.length+1));a.write_shift(2,2048);var n=Mp(e[0]);a.write_shift(2,n.r),a.write_shift(2,n.r),a.write_shift(2,n.c),a.write_shift(2,n.c);for(var r=0;r=12?4:2,r=e.read_shift(n),s=e.read_shift(n),i=e.read_shift(n),o=e.read_shift(n),l=e.read_shift(2);2==n&&(e.l+=2);var c={s:r,e:s,w:i,ixfe:o,flags:l};return(a.biff>=5||!a.biff)&&(c.level=l>>8&7),c}var hg=Om,pg=xm,fg=Dm;var mg=[2,3,48,49,131,139,140,245],gg=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=id({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function a(t,a){var n=a||{};n.dateNF||(n.dateNF="yyyymmdd");var r=$p(function(t,a){var n=[],r=Xc(1);switch(a.type){case"base64":r=eu(Jc(t));break;case"binary":r=eu(t);break;case"buffer":case"array":r=t}xp(r,0);var s=r.read_shift(1),i=!!(136&s),o=!1,l=!1;switch(s){case 2:case 3:case 131:case 139:case 245:break;case 48:case 49:o=!0,i=!0;break;case 140:l=!0;break;default:throw new Error("DBF Unsupported Version: "+s.toString(16))}var c=0,u=521;2==s&&(c=r.read_shift(2)),r.l+=3,2!=s&&(c=r.read_shift(4)),c>1048576&&(c=1e6),2!=s&&(u=r.read_shift(2));var d=r.read_shift(2),h=a.codepage||1252;2!=s&&(r.l+=16,r.read_shift(1),0!==r[r.l]&&(h=e[r[r.l]]),r.l+=1,r.l+=2),l&&(r.l+=36);for(var p=[],f={},m=Math.min(r.length,2==s?521:u-10-(o?264:0)),g=l?32:11;r.l0;)if(42!==r[r.l])for(++r.l,n[++y]=[],v=0,v=0;v!=p.length;++v){var b=r.slice(r.l,r.l+p[v].len);r.l+=p[v].len,xp(b,0);var w=Yc.utils.decode(h,b);switch(p[v].type){case"C":w.trim().length&&(n[y][v]=w.replace(/\s+$/,""));break;case"D":8===w.length?n[y][v]=new Date(+w.slice(0,4),+w.slice(4,6)-1,+w.slice(6,8)):n[y][v]=w;break;case"F":n[y][v]=parseFloat(w.trim());break;case"+":case"I":n[y][v]=l?2147483648^b.read_shift(-4,"i"):b.read_shift(4,"i");break;case"L":switch(w.trim().toUpperCase()){case"Y":case"T":n[y][v]=!0;break;case"N":case"F":n[y][v]=!1;break;case"":case"?":break;default:throw new Error("DBF Unrecognized L:|"+w+"|")}break;case"M":if(!i)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[y][v]="##MEMO##"+(l?parseInt(w.trim(),10):b.read_shift(4));break;case"N":(w=w.replace(/\u0000/g,"").trim())&&"."!=w&&(n[y][v]=+w||0);break;case"@":n[y][v]=new Date(b.read_shift(-8,"f")-621356832e5);break;case"T":n[y][v]=new Date(864e5*(b.read_shift(4)-2440588)+b.read_shift(4));break;case"Y":n[y][v]=b.read_shift(4,"i")/1e4+b.read_shift(4,"i")/1e4*Math.pow(2,32);break;case"O":n[y][v]=-b.read_shift(-8,"f");break;case"B":if(o&&8==p[v].len){n[y][v]=b.read_shift(8,"f");break}case"G":case"P":b.l+=p[v].len;break;case"0":if("_NullFlags"===p[v].name)break;default:throw new Error("DBF Unsupported data type "+p[v].type)}}else r.l+=d;if(2!=s&&r.l=0&&Lc(+r.codepage),"string"==r.type)throw new Error("Cannot write DBF to JS string");var s=Cp(),i=qx(e,{header:1,raw:!0,cellDates:!0}),o=i[0],l=i.slice(1),c=e["!cols"]||[],u=0,d=0,h=0,p=1;for(u=0;u250&&(w=250),"C"==(b=((c[u]||{}).DBF||{}).type)&&c[u].DBF.len>w&&(w=c[u].DBF.len),"B"==v&&"N"==b&&(v="N",y[u]=c[u].DBF.dec,w=c[u].DBF.len),g[u]="C"==v||"N"==b?w:n[v]||0,p+=g[u],m[u]=v}else m[u]="?"}var k=s.next(32);for(k.write_shift(4,318902576),k.write_shift(4,l.length),k.write_shift(2,296+32*h),k.write_shift(2,p),u=0;u<4;++u)k.write_shift(4,0);for(k.write_shift(4,(+t[Mc]||3)<<8),u=0,d=0;u":190,"?":191,"{":223},t=new RegExp("N("+rd(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm"),a=function(t,a){var n=e[a];return"number"==typeof n?Wc(n):n},n=function(e,t,a){var n=t.charCodeAt(0)-32<<4|a.charCodeAt(0)-48;return 59==n?e:Wc(n)};function r(e,r){var s,i=e.split(/[\n\r]+/),o=-1,l=-1,c=0,u=0,d=[],h=[],p=null,f={},m=[],g=[],y=[],v=0;for(+r.codepage>=0&&Lc(+r.codepage);c!==i.length;++c){v=0;var b,w=i[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(t,a),x=w.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")}),k=x[0];if(w.length>0)switch(k){case"ID":case"E":case"B":case"O":case"W":break;case"P":"P"==x[1].charAt(0)&&h.push(w.slice(3).replace(/;;/g,";"));break;case"C":var _=!1,E=!1,C=!1,F=!1,D=-1,A=-1;for(u=1;u-1&&d[D][A];if(!S||!S[1])throw new Error("SYLK shared formula cannot find base");d[o][l][1]=Zy(S[1],{r:o-D,c:l-A})}break;case"F":var I=0;for(u=1;u0?(m[o].hpt=v,m[o].hpx=iy(v)):0===v&&(m[o].hidden=!0);break;default:if(r&&r.WTF)throw new Error("SYLK bad record "+w)}I<1&&(p=null);break;default:if(r&&r.WTF)throw new Error("SYLK bad record "+w)}}return m.length>0&&(f["!rows"]=m),g.length>0&&(f["!cols"]=g),r&&r.sheetRows&&(d=d.slice(0,r.sheetRows)),[d,f]}function s(e,t){var a=function(e,t){switch(t.type){case"base64":return r(Jc(e),t);case"binary":return r(e,t);case"buffer":return r(qc&&Buffer.isBuffer(e)?e.toString("binary"):au(e),t);case"array":return r(bd(e),t)}throw new Error("Unrecognized type "+t.type)}(e,t),n=a[0],s=a[1],i=$p(n,t);return rd(s).forEach(function(e){i[e]=s[e]}),i}function i(e,t,a,n){var r="C;Y"+(a+1)+";X"+(n+1)+";K";switch(e.t){case"n":r+=e.v||0,e.f&&!e.F&&(r+=";E"+qy(e.f,{r:a,c:n}));break;case"b":r+=e.v?"TRUE":"FALSE";break;case"e":r+=e.w||e.v;break;case"d":r+='"'+(e.w||e.v)+'"';break;case"s":r+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"'}return r}return e["|"]=254,{to_workbook:function(e,t){return Hp(s(e,t),t)},to_sheet:s,from_sheet:function(e,t){var a,n,r=["ID;PWXL;N;E"],s=[],o=Lp(e["!ref"]),l=Array.isArray(e),c="\r\n";r.push("P;PGeneral"),r.push("F;P0;DG0G8;M255"),e["!cols"]&&(n=r,e["!cols"].forEach(function(e,t){var a="F;W"+(t+1)+" "+(t+1)+" ";e.hidden?a+="0":("number"!=typeof e.width||e.wpx||(e.wpx=Xg(e.width)),"number"!=typeof e.wpx||e.wch||(e.wch=Qg(e.wpx)),"number"==typeof e.wch&&(a+=Math.round(e.wch)))," "!=a.charAt(a.length-1)&&n.push(a)})),e["!rows"]&&function(e,t){t.forEach(function(t,a){var n="F;";t.hidden?n+="M0;":t.hpt?n+="M"+20*t.hpt+";":t.hpx&&(n+="M"+20*sy(t.hpx)+";"),n.length>2&&e.push(n+"R"+(a+1))})}(r,e["!rows"]),r.push("B;Y"+(o.e.r-o.s.r+1)+";X"+(o.e.c-o.s.c+1)+";D"+[o.s.c,o.s.r,o.e.c,o.e.r].join(" "));for(var u=o.s.r;u<=o.e.r;++u)for(var d=o.s.c;d<=o.e.c;++d){var h=Op({r:u,c:d});(a=l?(e[u]||[])[d]:e[h])&&(null!=a.v||a.f&&!a.F)&&s.push(i(a,0,u,d))}return r.join(c)+c+s.join(c)+c+"E"+c}}}(),vg=function(){function e(e,t){for(var a=e.split("\n"),n=-1,r=-1,s=0,i=[];s!==a.length;++s)if("BOT"!==a[s].trim()){if(!(n<0)){for(var o=a[s].trim().split(","),l=o[0],c=o[1],u=a[++s]||"";1&(u.match(/["]/g)||[]).length&&s=0?o=c:r=c}}),l>=0&&-1==o&&r>=0&&(o=r,r=-1);var c=(""+(n>=0?n:(new Date).getFullYear())).slice(-4)+"-"+("00"+(r>=1?r:1)).slice(-2)+"-"+("00"+(s>=1?s:1)).slice(-2);7==c.length&&(c="0"+c),8==c.length&&(c="20"+c);var u=("00"+(i>=0?i:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2)+":"+("00"+(l>=0?l:0)).slice(-2);return-1==i&&-1==o&&-1==l?c:-1==n&&-1==r&&-1==s?u:c+"T"+u}(0,a.dateNF,t.match(v)||[]),r=1),a.cellDates?(n.t="d",n.v=vd(t,r)):(n.t="n",n.v=cd(vd(t,r))),!1!==a.cellText&&(n.w=Ku(n.z,n.v instanceof Date?cd(n.v):n.v)),a.cellNF||delete n.z}else n.t="s",n.v=t;else n.t="n",!1!==a.cellText&&(n.w=t),n.v=c;if("z"==n.t||(a.dense?(s[o]||(s[o]=[]),s[o][l]=n):s[Op({c:l,r:o})]=n),u=d+1,m=e.charCodeAt(u),i.e.c0&&b(),s["!ref"]=jp(i),s}function s(t,a){return a&&a.PRN?a.FS||"sep="==t.slice(0,4)||t.indexOf("\t")>=0||t.indexOf(",")>=0||t.indexOf(";")>=0?r(t,a):$p(function(t,a){var n=a||{},r=[];if(!t||0===t.length)return r;for(var s=t.split(/[\r\n]/),i=s.length-1;i>=0&&0===s[i].length;)--i;for(var o=10,l=0,c=0;c<=i;++c)-1==(l=s[c].indexOf(" "))?l=s[c].length:l++,o=Math.max(o,l);for(c=0;c<=i;++c){r[c]=[];var u=0;for(e(s[c].slice(0,o).trim(),r,c,u,n),u=1;u<=(s[c].length-o)/10+1;++u)e(s[c].slice(o+10*(u-1),o+10*u).trim(),r,c,u,n)}return n.sheetRows&&(r=r.slice(0,n.sheetRows)),r}(t,a),a):r(t,a)}function i(e,t){var a="",n="string"==t.type?[0,0,0,0]:Rx(e,t);switch(t.type){case"base64":a=Jc(e);break;case"binary":case"string":a=e;break;case"buffer":65001==t.codepage?a=e.toString("utf8"):(t.codepage,a=qc&&Buffer.isBuffer(e)?e.toString("binary"):au(e));break;case"array":a=bd(e);break;default:throw new Error("Unrecognized type "+t.type)}return 239==n[0]&&187==n[1]&&191==n[2]?a=ih(a.slice(3)):"string"!=t.type&&"buffer"!=t.type&&65001==t.codepage?a=ih(a):t.type,"socialcalc:version:"==a.slice(0,19)?bg.to_sheet("string"==t.type?a:ih(a),t):s(a,t)}return{to_workbook:function(e,t){return Hp(i(e,t),t)},to_sheet:i,from_sheet:function(e){for(var t,a=[],n=Lp(e["!ref"]),r=Array.isArray(e),s=n.s.r;s<=n.e.r;++s){for(var i=[],o=n.s.c;o<=n.e.c;++o){var l=Op({r:s,c:o});if((t=r?(e[s]||[])[o]:e[l])&&null!=t.v){for(var c=(t.w||(zp(t),t.w)||"").slice(0,10);c.length<10;)c+=" ";i.push(c+(0===o?" ":""))}else i.push(" ")}a.push(i.join(""))}return a.join("\n")}}}();var xg=function(){function e(e,t,a){if(e){xp(e,e.l||0);for(var n=a.Enum||y;e.l=16&&5==t[14]&&108===t[15])throw new Error("Unsupported Works 3 for Mac file");if(2==t[2])n.Enum=y,e(t,function(e,t,a){switch(a){case 0:n.vers=e,e>=4096&&(n.qpro=!0);break;case 6:d=e;break;case 204:e&&(i=e);break;case 222:i=e;break;case 15:case 51:n.qpro||(e[1].v=e[1].v.slice(1));case 13:case 14:case 16:14==a&&!(112&~e[2])&&(15&e[2])>1&&(15&e[2])<15&&(e[1].z=n.dateNF||gu[14],n.cellDates&&(e[1].t="d",e[1].v=pd(e[1].v))),n.qpro&&e[3]>o&&(r["!ref"]=jp(d),l[s]=r,c.push(s),r=n.dense?[]:{},d={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s=i||"Sheet"+(o+1),i="");var u=n.dense?(r[e[0].r]||[])[e[0].c]:r[Op(e[0])];if(u){u.t=e[1].t,u.v=e[1].v,null!=e[1].z&&(u.z=e[1].z),null!=e[1].f&&(u.f=e[1].f);break}n.dense?(r[e[0].r]||(r[e[0].r]=[]),r[e[0].r][e[0].c]=e[1]):r[Op(e[0])]=e[1]}},n);else{if(26!=t[2]&&14!=t[2])throw new Error("Unrecognized LOTUS BOF "+t[2]);n.Enum=v,14==t[2]&&(n.qpro=!0,t.l=0),e(t,function(e,t,a){switch(a){case 204:s=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(e[3]>o&&(r["!ref"]=jp(d),l[s]=r,c.push(s),r=n.dense?[]:{},d={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s="Sheet"+(o+1)),h>0&&e[0].r>=h)break;n.dense?(r[e[0].r]||(r[e[0].r]=[]),r[e[0].r][e[0].c]=e[1]):r[Op(e[0])]=e[1],d.e.c=128?95:s)}return n.write_shift(1,0),n}function s(e,t,a){var n=_p(7);return n.write_shift(1,255),n.write_shift(2,t),n.write_shift(2,e),n.write_shift(2,a,"i"),n}function i(e,t,a){var n=_p(13);return n.write_shift(1,255),n.write_shift(2,t),n.write_shift(2,e),n.write_shift(8,a,"f"),n}function o(e,t,a){var n=32768&t;return t=(n?e:0)+((t&=-32769)>=8192?t-16384:t),(n?"":"$")+(a?Bp(t):Pp(t))}var l={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]},c=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function u(e){var t=[{c:0,r:0},{t:"n",v:0},0];return t[0].r=e.read_shift(2),t[3]=e[e.l++],t[0].c=e[e.l++],t}function d(e,t,a,n){var r=_p(6+n.length);r.write_shift(2,e),r.write_shift(1,a),r.write_shift(1,t),r.write_shift(1,39);for(var s=0;s=128?95:i)}return r.write_shift(1,0),r}function h(e,t){var a=u(e),n=e.read_shift(4),r=e.read_shift(4),s=e.read_shift(2);if(65535==s)return 0===n&&3221225472===r?(a[1].t="e",a[1].v=15):0===n&&3489660928===r?(a[1].t="e",a[1].v=42):a[1].v=0,a;var i=32768&s;return s=(32767&s)-16446,a[1].v=(1-2*i)*(r*Math.pow(2,s+32)+n*Math.pow(2,s)),a}function p(e,t,a,n){var r=_p(14);if(r.write_shift(2,e),r.write_shift(1,a),r.write_shift(1,t),0==n)return r.write_shift(4,0),r.write_shift(4,0),r.write_shift(2,65535),r;var s,i=0,o=0,l=0;return n<0&&(i=1,n=-n),o=0|Math.log2(n),2147483648&(l=(n/=Math.pow(2,o-31))>>>0)||(++o,l=(n/=2)>>>0),n-=l,l|=2147483648,l>>>=0,s=(n*=Math.pow(2,32))>>>0,r.write_shift(4,s),r.write_shift(4,l),o+=16383+(i?32768:0),r.write_shift(2,o),r}function f(e,t){var a=u(e),n=e.read_shift(8,"f");return a[1].v=n,a}function m(e,t){return 0==e[e.l+t-1]?e.read_shift(t,"cstr"):""}function g(e,t){var a=_p(5+e.length);a.write_shift(2,14e3),a.write_shift(2,t);for(var n=0;n127?95:r}return a[a.l++]=0,a}var y={0:{n:"BOF",f:bm},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:function(e,t,a){var n={s:{c:0,r:0},e:{c:0,r:0}};return 8==t&&a.qpro?(n.s.c=e.read_shift(1),e.l++,n.s.r=e.read_shift(2),n.e.c=e.read_shift(1),e.l++,n.e.r=e.read_shift(2),n):(n.s.c=e.read_shift(2),n.s.r=e.read_shift(2),12==t&&a.qpro&&(e.l+=2),n.e.c=e.read_shift(2),n.e.r=e.read_shift(2),12==t&&a.qpro&&(e.l+=2),65535==n.s.c&&(n.s.c=n.e.c=n.s.r=n.e.r=0),n)}},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:function(e,t,n){var r=a(e,0,n);return r[1].v=e.read_shift(2,"i"),r}},14:{n:"NUMBER",f:function(e,t,n){var r=a(e,0,n);return r[1].v=e.read_shift(8,"f"),r}},15:{n:"LABEL",f:n},16:{n:"FORMULA",f:function(e,t,n){var r=e.l+t,s=a(e,0,n);if(s[1].v=e.read_shift(8,"f"),n.qpro)e.l=r;else{var i=e.read_shift(2);!function(e,t){xp(e,0);var a=[],n=0,r="",s="",i="",u="";for(;e.la.length)return void console.error("WK1 bad formula parse 0x"+d.toString(16)+":|"+a.join("|")+"|");var m=a.slice(-n);a.length-=n,a.push(l[d][0]+"("+m.join(",")+")")}}}1==a.length?t[1].f=""+a[0]:console.error("WK1 bad formula parse |"+a.join("|")+"|")}(e.slice(e.l,e.l+i),s),e.l+=i}return s}},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:n},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:m},222:{n:"SHEETNAMELP",f:function(e,t){var a=e[e.l++];a>t-1&&(a=t-1);for(var n="";n.length>1;if(1&a[1].v)switch(7&n){case 0:n=5e3*(n>>3);break;case 1:n=500*(n>>3);break;case 2:n=(n>>3)/20;break;case 3:n=(n>>3)/200;break;case 4:n=(n>>3)/2e3;break;case 5:n=(n>>3)/2e4;break;case 6:n=(n>>3)/16;break;case 7:n=(n>>3)/64}return a[1].v=n,a}},25:{n:"FORMULA19",f:function(e,t){var a=h(e);return e.l+=t-14,a}},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:function(e,t){for(var a={},n=e.l+t;e.l>6,a}},38:{n:"??"},39:{n:"NUMBER27",f:f},40:{n:"FORMULA28",f:function(e,t){var a=f(e);return e.l+=t-10,a}},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:m},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:function(e,t,a){if(a.qpro&&!(t<21)){var n=e.read_shift(1);return e.l+=17,e.l+=1,e.l+=2,[n,e.read_shift(t-21,"cstr")]}}},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:function(e,t){var a=t||{};if(+a.codepage>=0&&Lc(+a.codepage),"string"==a.type)throw new Error("Cannot write WK1 to JS string");var n,o,l=Cp(),c=Lp(e["!ref"]),u=Array.isArray(e),d=[];Mw(l,0,(n=1030,(o=_p(2)).write_shift(2,n),o)),Mw(l,6,function(e){var t=_p(8);return t.write_shift(2,e.s.c),t.write_shift(2,e.s.r),t.write_shift(2,e.e.c),t.write_shift(2,e.e.r),t}(c));for(var h=Math.min(c.e.r,8191),p=c.s.r;p<=h;++p)for(var f=Pp(p),m=c.s.c;m<=c.e.c;++m){p===c.s.r&&(d[m]=Bp(m));var g=d[m]+f,y=u?(e[p]||[])[m]:e[g];if(y&&"z"!=y.t)if("n"==y.t)(0|y.v)==y.v&&y.v>=-32768&&y.v<=32767?Mw(l,13,s(p,m,y.v)):Mw(l,14,i(p,m,y.v));else Mw(l,15,r(p,m,zp(y).slice(0,239)))}return Mw(l,1),l.end()},book_to_wk3:function(e,t){var a=t||{};if(+a.codepage>=0&&Lc(+a.codepage),"string"==a.type)throw new Error("Cannot write WK3 to JS string");var n=Cp();Mw(n,0,function(e){var t=_p(26);t.write_shift(2,4096),t.write_shift(2,4),t.write_shift(4,0);for(var a=0,n=0,r=0,s=0;s8191&&(a=8191);return t.write_shift(2,a),t.write_shift(1,r),t.write_shift(1,n),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(1,1),t.write_shift(1,2),t.write_shift(4,0),t.write_shift(4,0),t}(e));for(var r=0,s=0;r":case"":t.shadow=1;break;case"":break;case"":case"":t.outline=1;break;case"":break;case"":case"":t.strike=1;break;case"":break;case"":case"":t.u=1;break;case"":break;case"":case"":t.b=1;break;case"":break;case"":case"":t.i=1;break;case"":break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"":break;case"":r=!1;break;default:if(47!==s[0].charCodeAt(1)&&!r)throw new Error("Unrecognized rich format "+s[0])}}return t}(s[1])),r}var n=/<(?:\w+:)?r>/g,r=/<\/(?:\w+:)?r>/;return function(e){return e.replace(n,"").split(r).map(a).filter(function(e){return e.v})}}(),_g=function(){var e=/(\r\n|\n)/g;function t(t){var a=[[],t.v,[]];return t.v?(t.s&&function(e,t,a){var n=[];e.u&&n.push("text-decoration: underline;"),e.uval&&n.push("text-underline-style:"+e.uval+";"),e.sz&&n.push("font-size:"+e.sz+"pt;"),e.outline&&n.push("text-effect: outline;"),e.shadow&&n.push("text-shadow: auto;"),t.push(''),e.b&&(t.push(""),a.push("")),e.i&&(t.push(""),a.push("")),e.strike&&(t.push(""),a.push(""));var r=e.valign||"";"superscript"==r||"super"==r?r="sup":"subscript"==r&&(r="sub"),""!=r&&(t.push("<"+r+">"),a.push("")),a.push("")}(t.s,a[0],a[2]),a[0].join("")+a[1].replace(e,"
")+a[2].join("")):""}return function(e){return e.map(t).join("")}}(),Eg=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Cg=/<(?:\w+:)?r>/,Fg=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Dg(e,t){var a=!t||t.cellHTML,n={};return e?(e.match(/^\s*<(?:\w+:)?t[^>]*>/)?(n.t=Vd(ih(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||"")),n.r=ih(e),a&&(n.h=Qd(n.t))):e.match(Cg)&&(n.r=ih(e),n.t=Vd(ih((e.replace(Fg,"").match(Eg)||[]).join("").replace(Rd,""))),a&&(n.h=_g(kg(n.r)))),n):{t:""}}var Ag=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/,Tg=/<(?:\w+:)?(?:si|sstItem)>/g,Sg=/<\/(?:\w+:)?(?:si|sstItem)>/;var Ig=/^\s|\s$|[\t\n\r]/;function Pg(e,t){if(!t.bookSST)return"";var a=[Ud];a[a.length]=yh("sst",null,{xmlns:Bh[0],count:e.Count,uniqueCount:e.Unique});for(var n=0;n!=e.length;++n)if(null!=e[n]){var r=e[n],s="";r.r?s+=r.r:(s+=""),s+="",a[a.length]=s}return a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}var Ng=function(e,t){var a=!1;return null==t&&(a=!0,t=_p(15+4*e.t.length)),t.write_shift(1,0),Vp(e.t,t),a?t.slice(0,t.l):t};function Bg(e){var t=Cp();Fp(t,159,function(e,t){return t||(t=_p(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}(e));for(var a=0;a=4&&(e.l+=t-4),a}function Ug(e){for(var t=e.read_shift(4),a=e.l+t-4,n={},r=e.read_shift(4),s=[];r-- >0;)s.push({t:e.read_shift(4),v:e.read_shift(0,"lpp4")});if(n.name=e.read_shift(0,"lpp4"),n.comps=s,e.l!=a)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+a);return n}function jg(e){var t=function(e){var t={};return e.read_shift(4),e.l+=4,t.id=e.read_shift(0,"lpp4"),t.name=e.read_shift(0,"lpp4"),t.R=Og(e,4),t.U=Og(e,4),t.W=Og(e,4),t}(e);if(t.ename=e.read_shift(0,"8lpp4"),t.blksz=e.read_shift(4),t.cmode=e.read_shift(4),4!=e.read_shift(4))throw new Error("Bad !Primary record");return t}function Lg(e,t){var a=e.l+t,n={};n.Flags=63&e.read_shift(4),e.l+=4,n.AlgID=e.read_shift(4);var r=!1;switch(n.AlgID){case 26126:case 26127:case 26128:r=36==n.Flags;break;case 26625:r=4==n.Flags;break;case 0:r=16==n.Flags||4==n.Flags||36==n.Flags;break;default:throw"Unrecognized encryption algorithm: "+n.AlgID}if(!r)throw new Error("Encryption Flags/AlgID mismatch");return n.AlgIDHash=e.read_shift(4),n.KeySize=e.read_shift(4),n.ProviderType=e.read_shift(4),e.l+=8,n.CSPName=e.read_shift(a-e.l>>1,"utf16le"),e.l=a,n}function Rg(e,t){var a={},n=e.l+t;return e.l+=4,a.Salt=e.slice(e.l,e.l+16),e.l+=16,a.Verifier=e.slice(e.l,e.l+16),e.l+=16,e.read_shift(4),a.VerifierHash=e.slice(e.l,n),e.l=n,a}function zg(e){if(36!=(63&e.read_shift(4)))throw new Error("EncryptionInfo mismatch");var t=e.read_shift(4);return{t:"Std",h:Lg(e,t),v:Rg(e,e.length-e.l)}}function Hg(){throw new Error("File is password-protected: ECMA-376 Extensible")}function Yg(e){var t=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var a=e.read_shift(e.length-e.l,"utf8"),n={};return a.replace(Rd,function(e){var a=Yd(e);switch($d(a[0])){case"":case"":case"":break;case"":case"=0;--a)n=((16384&n?1:0)|n<<1&32767)^t[a];return 52811^n}var Gg=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0],t=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163],a=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628],n=function(e,t){return 255&((a=e^t)/2|128*a);var a};return function(r){for(var s,i,o,l=Mg(r),c=function(e){for(var n=t[e.length-1],r=104,s=e.length-1;s>=0;--s)for(var i=e[s],o=0;7!=o;++o)64&i&&(n^=a[r]),i*=2,--r;return n}(l),u=l.length,d=Xc(16),h=0;16!=h;++h)d[h]=0;for(1&~u||(s=c>>8,d[u]=n(e[0],s),--u,s=255&c,i=l[l.length-1],d[u]=n(i,s));u>0;)s=c>>8,d[--u]=n(l[u],s),s=255&c,d[--u]=n(l[u],s);for(u=15,o=15-l.length;o>0;)s=c>>8,d[u]=n(e[o],s),--o,s=255&c,d[--u]=n(l[u],s),--u,--o;return d}}(),Wg=function(e){var t=0,a=Gg(e);return function(e){var n=function(e,t,a,n,r){var s,i;for(r||(r=t),n||(n=Gg(e)),s=0;s!=t.length;++s)i=t[s],i=255&((i^=n[a])>>5|i<<3),r[s]=i,++a;return[r,a,n]}("",e,t,a);return t=n[1],n[0]}};function Vg(e,t,a){var n=a||{};return n.Info=e.read_shift(2),e.l-=2,1===n.Info?n.Data=function(e){var t={},a=t.EncryptionVersionInfo=Og(e,4);if(1!=a.Major||1!=a.Minor)throw"unrecognized version code "+a.Major+" : "+a.Minor;return t.Salt=e.read_shift(16),t.EncryptedVerifier=e.read_shift(16),t.EncryptedVerifierHash=e.read_shift(16),t}(e):n.Data=function(e,t){var a={},n=a.EncryptionVersionInfo=Og(e,4);if(t-=4,2!=n.Minor)throw new Error("unrecognized minor version code: "+n.Minor);if(n.Major>4||n.Major<2)throw new Error("unrecognized major version code: "+n.Major);a.Flags=e.read_shift(4),t-=4;var r=e.read_shift(4);return t-=4,a.EncryptionHeader=Lg(e,r),t-=r,a.EncryptionVerifier=Rg(e,t),a}(e,t),n}var Kg=function(){function e(e,a){switch(a.type){case"base64":return t(Jc(e),a);case"binary":return t(e,a);case"buffer":return t(qc&&Buffer.isBuffer(e)?e.toString("binary"):au(e),a);case"array":return t(bd(e),a)}throw new Error("Unrecognized type "+a.type)}function t(e,t){var a=(t||{}).dense?[]:{},n=e.match(/\\trowd.*?\\row\b/g);if(!n.length)throw new Error("RTF missing table");var r={s:{c:0,r:0},e:{c:0,r:n.length-1}};return n.forEach(function(e,t){Array.isArray(a)&&(a[t]=[]);for(var n,s=/\\\w+\b/g,i=0,o=-1;n=s.exec(e);){if("\\cell"===n[0]){var l=e.slice(i,s.lastIndex-n[0].length);if(" "==l[0]&&(l=l.slice(1)),++o,l.length){var c={v:l,t:"s"};Array.isArray(a)?a[t][o]=c:a[Op({r:t,c:o})]=c}}i=s.lastIndex}o>r.e.c&&(r.e.c=o)}),a["!ref"]=jp(r),a}return{to_workbook:function(t,a){return Hp(e(t,a),a)},to_sheet:e,from_sheet:function(e){for(var t,a=["{\\rtf1\\ansi"],n=Lp(e["!ref"]),r=Array.isArray(e),s=n.s.r;s<=n.e.r;++s){a.push("\\trowd\\trautofit1");for(var i=n.s.c;i<=n.e.c;++i)a.push("\\cellx"+(i+1));for(a.push("\\pard\\intbl"),i=n.s.c;i<=n.e.c;++i){var o=Op({r:s,c:i});(t=r?(e[s]||[])[i]:e[o])&&(null!=t.v||t.f&&!t.F)&&(a.push(" "+(t.w||(zp(t),t.w))),a.push("\\cell"))}a.push("\\pard\\intbl\\row")}return a.join("")+"}"}}}();function Jg(e){for(var t=0,a=1;3!=t;++t)a=256*a+(e[t]>255?255:e[t]<0?0:e[t]);return a.toString(16).toUpperCase().slice(1)}function qg(e,t){if(0===t)return e;var a,n,r=function(e){var t=e[0]/255,a=e[1]/255,n=e[2]/255,r=Math.max(t,a,n),s=Math.min(t,a,n),i=r-s;if(0===i)return[0,0,t];var o,l=0,c=r+s;switch(o=i/(c>1?2-c:c),r){case t:l=((a-n)/i+6)%6;break;case a:l=(n-t)/i+2;break;case n:l=(t-a)/i+4}return[l/6,o,c/2]}((n=(a=e).slice("#"===a[0]?1:0).slice(0,6),[parseInt(n.slice(0,2),16),parseInt(n.slice(2,4),16),parseInt(n.slice(4,6),16)]));return r[2]=t<0?r[2]*(1+t):1-(1-r[2])*(1-t),Jg(function(e){var t,a=e[0],n=e[1],r=e[2],s=2*n*(r<.5?r:1-r),i=r-s/2,o=[i,i,i],l=6*a;if(0!==n)switch(0|l){case 0:case 6:t=s*l,o[0]+=s,o[1]+=t;break;case 1:t=s*(2-l),o[0]+=t,o[1]+=s;break;case 2:t=s*(l-2),o[1]+=s,o[2]+=t;break;case 3:t=s*(4-l),o[1]+=t,o[2]+=s;break;case 4:t=s*(l-4),o[2]+=s,o[0]+=t;break;case 5:t=s*(6-l),o[2]+=t,o[0]+=s}for(var c=0;3!=c;++c)o[c]=Math.round(255*o[c]);return o}(r))}var Zg=6;function Xg(e){return Math.floor((e+Math.round(128/Zg)/256)*Zg)}function Qg(e){return Math.floor((e-5)/Zg*100+.5)/100}function ey(e){return Math.round((e*Zg+5)/Zg*256)/256}function ty(e){return ey(Qg(Xg(e)))}function ay(e){var t=Math.abs(e-ty(e)),a=Zg;if(t>.005)for(Zg=1;Zg<15;++Zg)Math.abs(e-ty(e))<=t&&(t=Math.abs(e-ty(e)),a=Zg);Zg=a}function ny(e){e.width?(e.wpx=Xg(e.width),e.wch=Qg(e.wpx),e.MDW=Zg):e.wpx?(e.wch=Qg(e.wpx),e.width=ey(e.wch),e.MDW=Zg):"number"==typeof e.wch&&(e.width=ey(e.wch),e.wpx=Xg(e.width),e.MDW=Zg),e.customWidth&&delete e.customWidth}var ry=96;function sy(e){return 96*e/ry}function iy(e){return e*ry/96}var oy={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinHorzCross:"lightGrid"};var ly=["numFmtId","fillId","fontId","borderId","xfId"],cy=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];var uy=function(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/,t=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/,a=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/,n=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/,r=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function(s,i,o){var l,c={};return s?((l=(s=s.replace(//gm,"").replace(//gm,"")).match(e))&&function(e,t,a){t.NumberFmt=[];for(var n=rd(gu),r=0;r":case"":case"":case"":break;case"0){if(l>392){for(l=392;l>60&&null!=t.NumberFmt[l];--l);t.NumberFmt[l]=o}Ju(o,l)}break;default:if(a.WTF)throw new Error("unrecognized "+i[0]+" in numFmts")}}}(l,c,o),(l=s.match(n))&&function(e,t,a,n){t.Fonts=[];var r={},s=!1;(e[0].match(Rd)||[]).forEach(function(e){var i=Yd(e);switch($d(i[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":t.Fonts.push(r),r={};break;case"":r.bold=1;break;case"":r.italic=1;break;case"":r.underline=1;break;case"":r.strike=1;break;case"":r.outline=1;break;case"":r.shadow=1;break;case"":r.condense=1;break;case"":r.extend=1;break;case"":case"":s=!1;break;default:if(n&&n.WTF&&!s)throw new Error("unrecognized "+i[0]+" in fonts")}})}(l,c,i,o),(l=s.match(a))&&function(e,t,a,n){t.Fills=[];var r={},s=!1;(e[0].match(Rd)||[]).forEach(function(e){var a=Yd(e);switch($d(a[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":r={},t.Fills.push(r);break;case"":t.Fills.push(r),r={};break;case"":a.patternType&&(r.patternType=a.patternType);break;case"":s=!1;break;default:if(n&&n.WTF&&!s)throw new Error("unrecognized "+a[0]+" in fills")}})}(l,c,0,o),(l=s.match(r))&&function(e,t,a,n){t.Borders=[];var r={},s=!1;(e[0].match(Rd)||[]).forEach(function(e){var a=Yd(e);switch($d(a[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":r={},a.diagonalUp&&(r.diagonalUp=th(a.diagonalUp)),a.diagonalDown&&(r.diagonalDown=th(a.diagonalDown)),t.Borders.push(r);break;case"":s=!1;break;default:if(n&&n.WTF&&!s)throw new Error("unrecognized "+a[0]+" in borders")}})}(l,c,0,o),(l=s.match(t))&&function(e,t,a){var n;t.CellXf=[];var r=!1;(e[0].match(Rd)||[]).forEach(function(e){var s=Yd(e),i=0;switch($d(s[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":for(delete(n=s)[0],i=0;i392)for(i=392;i>60;--i)if(t.NumberFmt[n.numFmtId]==t.NumberFmt[i]){n.numFmtId=i;break}t.CellXf.push(n);break;case"":var o={};s.vertical&&(o.vertical=s.vertical),s.horizontal&&(o.horizontal=s.horizontal),null!=s.textRotation&&(o.textRotation=s.textRotation),s.indent&&(o.indent=s.indent),s.wrapText&&(o.wrapText=th(s.wrapText)),n.alignment=o;break;case"":case"":r=!1;break;default:if(a&&a.WTF&&!r)throw new Error("unrecognized "+s[0]+" in cellXfs")}})}(l,c,o),c):c}}();function dy(e,t){var a,n=[Ud,yh("styleSheet",null,{xmlns:Bh[0],"xmlns:vt":Ih})];return e.SSF&&null!=(a=function(e){var t=[""];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)null!=e[n]&&(t[t.length]=yh("numFmt",null,{numFmtId:n,formatCode:qd(e[n])}))}),1===t.length?"":(t[t.length]="",t[0]=yh("numFmts",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(e.SSF))&&(n[n.length]=a),n[n.length]='',n[n.length]='',n[n.length]='',n[n.length]='',(a=function(e){var t=[];return t[t.length]=yh("cellXfs",null),e.forEach(function(e){t[t.length]=yh("xf",null,e)}),t[t.length]="",2===t.length?"":(t[0]=yh("cellXfs",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(t.cellXfs))&&(n[n.length]=a),n[n.length]='',n[n.length]='',n[n.length]='',n.length>2&&(n[n.length]="",n[1]=n[1].replace("/>",">")),n.join("")}function hy(e,t,a){a||(a=_p(6+4*t.length)),a.write_shift(2,e),Vp(t,a);var n=a.length>a.l?a.slice(0,a.l):a;return null==a.l&&(a.l=a.length),n}function py(e,t){t||(t=_p(153)),t.write_shift(2,20*e.sz),function(e,t){t||(t=_p(2));var a=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);t.write_shift(1,a),t.write_shift(1,0)}(e,t),t.write_shift(2,e.bold?700:400);var a=0;"superscript"==e.vertAlign?a=1:"subscript"==e.vertAlign&&(a=2),t.write_shift(2,a),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),yf(e.color,t);return t.write_shift(1,2),Vp(e.name,t),t.length>t.l?t.slice(0,t.l):t}var fy,my=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"],gy=kp;function yy(e,t){t||(t=_p(84)),fy||(fy=id(my));var a=fy[e.patternType];null==a&&(a=40),t.write_shift(4,a);var n=0;if(40!=a)for(yf({auto:1},t),yf({auto:1},t);n<12;++n)t.write_shift(4,0);else{for(;n<4;++n)t.write_shift(4,0);for(;n<12;++n)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function vy(e,t,a){a||(a=_p(16)),a.write_shift(2,t||0),a.write_shift(2,e.numFmtId||0),a.write_shift(2,0),a.write_shift(2,0),a.write_shift(2,0),a.write_shift(1,0),a.write_shift(1,0);return a.write_shift(1,0),a.write_shift(1,0),a.write_shift(1,0),a.write_shift(1,0),a}function by(e,t){return t||(t=_p(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}var wy=kp;function xy(e){var t;Fp(e,613,Gp(1)),Fp(e,46,(t||(t=_p(51)),t.write_shift(1,0),by(0,t),by(0,t),by(0,t),by(0,t),by(0,t),t.length>t.l?t.slice(0,t.l):t)),Fp(e,614)}function ky(e){var t,a;Fp(e,619,Gp(1)),Fp(e,48,(t={xfId:0,name:"Normal"},a||(a=_p(52)),a.write_shift(4,t.xfId),a.write_shift(2,1),a.write_shift(1,0),a.write_shift(1,0),sf(t.name||"",a),a.length>a.l?a.slice(0,a.l):a)),Fp(e,620)}function _y(e){Fp(e,508,function(e,t,a){var n=_p(2052);return n.write_shift(4,e),sf(t,n),sf(a,n),n.length>n.l?n.slice(0,n.l):n}(0,"TableStyleMedium9","PivotStyleMedium4")),Fp(e,509)}function Ey(e,t){var a=Cp();return Fp(a,278),function(e,t){if(t){var a=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var n=e[0];n<=e[1];++n)null!=t[n]&&++a}),0!=a&&(Fp(e,615,Gp(a)),[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)null!=t[n]&&Fp(e,44,hy(n,t[n]))}),Fp(e,616))}}(a,e.SSF),function(e){Fp(e,611,Gp(1)),Fp(e,43,py({sz:12,color:{theme:1},name:"Calibri",family:2})),Fp(e,612)}(a),function(e){Fp(e,603,Gp(2)),Fp(e,45,yy({patternType:"none"})),Fp(e,45,yy({patternType:"gray125"})),Fp(e,604)}(a),xy(a),function(e){Fp(e,626,Gp(1)),Fp(e,47,vy({numFmtId:0},65535)),Fp(e,627)}(a),function(e,t){Fp(e,617,Gp(t.length)),t.forEach(function(t){Fp(e,47,vy(t,0))}),Fp(e,618)}(a,t.cellXfs),ky(a),function(e){Fp(e,505,Gp(0)),Fp(e,506)}(a),_y(a),Fp(a,279),a.end()}var Cy=["","","","","","","","","","","",""];function Fy(e,t,a){t.themeElements.clrScheme=[];var n={};(e[0].match(Rd)||[]).forEach(function(e){var r=Yd(e);switch(r[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":"/"===r[0].charAt(1)?(t.themeElements.clrScheme[Cy.indexOf(r[0])]=n,n={}):n.name=r[0].slice(3,r[0].length-1);break;default:if(a&&a.WTF)throw new Error("Unrecognized "+r[0]+" in clrScheme")}})}function Dy(){}function Ay(){}var Ty=/]*)>[\s\S]*<\/a:clrScheme>/,Sy=/]*)>[\s\S]*<\/a:fontScheme>/,Iy=/]*)>[\s\S]*<\/a:fmtScheme>/;var Py=/]*)>[\s\S]*<\/a:themeElements>/;function Ny(e,t){var a;e&&0!==e.length||(e=By());var n={};if(!(a=e.match(Py)))throw new Error("themeElements not found in theme");return function(e,t,a){var n;t.themeElements={},[["clrScheme",Ty,Fy],["fontScheme",Sy,Dy],["fmtScheme",Iy,Ay]].forEach(function(r){if(!(n=e.match(r[1])))throw new Error(r[0]+" not found in themeElements");r[2](n,t,a)})}(a[0],n,t),n.raw=e,n}function By(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&"string"==typeof e.raw)return e.raw;var a=[Ud];return a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a.join("")}function My(e){var t={};switch(t.xclrType=e.read_shift(2),t.nTintShade=e.read_shift(2),t.xclrType){case 0:case 4:e.l+=4;break;case 1:t.xclrValue=function(e,t){return kp(e,t)}(e,4);break;case 2:t.xclrValue=Bm(e);break;case 3:t.xclrValue=function(e){return e.read_shift(4)}(e)}return e.l+=8,t}function Oy(e){var t=e.read_shift(2),a=e.read_shift(2)-4,n=[t];switch(t){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:n[1]=My(e);break;case 6:n[1]=function(e,t){return kp(e,t)}(e,a);break;case 14:case 15:n[1]=e.read_shift(1===a?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+t+" "+a)}return n}function Uy(e,t){t.forEach(function(e){e[0]})}function jy(){var e,t,a=Cp();return Fp(a,332),Fp(a,334,Gp(1)),Fp(a,335,((t=_p(12+2*(e={name:"XLDAPR",version:12e4,flags:3496657072}).name.length)).write_shift(4,e.flags),t.write_shift(4,e.version),Vp(e.name,t),t.slice(0,t.l))),Fp(a,336),Fp(a,339,function(e,t){var a=_p(8+2*t.length);return a.write_shift(4,e),Vp(t,a),a.slice(0,a.l)}(1,"XLDAPR")),Fp(a,52),Fp(a,35,Gp(514)),Fp(a,4096,Gp(0)),Fp(a,4097,wm(1)),Fp(a,36),Fp(a,53),Fp(a,340),Fp(a,337,function(e){var t=_p(8);return t.write_shift(4,e),t.write_shift(4,1),t}(1)),Fp(a,51,function(e){var t=_p(4+8*e.length);t.write_shift(4,e.length);for(var a=0;a\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'),e.join("")}var Ry=1024;function zy(e,t){for(var a=[21600,21600],n=["m0,0l0",a[1],a[0],a[1],a[0],"0xe"].join(","),r=[yh("xml",null,{"xmlns:v":Rh,"xmlns:o":Mh,"xmlns:x":Oh,"xmlns:mv":Lh}).replace(/\/>/,">"),yh("o:shapelayout",yh("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),yh("v:shapetype",[yh("v:stroke",null,{joinstyle:"miter"}),yh("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:a.join(","),path:n})];Ry<1e3*e;)Ry+=1e3;return t.forEach(function(e){var t=Mp(e[0]),a={color2:"#BEFF82",type:"gradient"};"gradient"==a.type&&(a.angle="-180");var n="gradient"==a.type?yh("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null,s=yh("v:fill",n,a);++Ry,r=r.concat(["",s,yh("v:shadow",null,{on:"t",obscured:"t"}),yh("v:path",null,{"o:connecttype":"none"}),'
','',"","",mh("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),mh("x:AutoFill","False"),mh("x:Row",String(t.r)),mh("x:Column",String(t.c)),e[1].hidden?"":"","",""])}),r.push(""),r.join("")}function Hy(e,t,a,n){var r,s=Array.isArray(e);t.forEach(function(t){var i=Mp(t.ref);if(s?(e[i.r]||(e[i.r]=[]),r=e[i.r][i.c]):r=e[t.ref],!r){r={t:"z"},s?e[i.r][i.c]=r:e[t.ref]=r;var o=Lp(e["!ref"]||"BDWGO1000001:A1");o.s.r>i.r&&(o.s.r=i.r),o.e.ri.c&&(o.s.c=i.c),o.e.c=0;--u){if(!a&&r.c[u].T)return;a&&!r.c[u].T&&r.c.splice(u,1)}if(a&&n)for(u=0;u"),e.forEach(function(e){e[1].forEach(function(e){var n=qd(e.a);-1==a.indexOf(n)&&(a.push(n),t.push(""+n+"")),e.T&&e.ID&&-1==a.indexOf("tc="+e.ID)&&(a.push("tc="+e.ID),t.push("tc="+e.ID+""))})}),0==a.length&&(a.push("SheetJ5"),t.push("SheetJ5")),t.push(""),t.push(""),e.forEach(function(e){var n=0,r=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID?n=a.indexOf("tc="+e[1][0].ID):e[1].forEach(function(e){e.a&&(n=a.indexOf(qd(e.a))),r.push(e.t||"")}),t.push(''),r.length<=1)t.push(mh("t",qd(r[0]||"")));else{for(var s="Comment:\n "+r[0]+"\n",i=1;i")}),t.push(""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function $y(e,t,a){var n=[Ud,yh("ThreadedComments",null,{xmlns:Fh}).replace(/[\/]>/,">")];return e.forEach(function(e){var r="";(e[1]||[]).forEach(function(s,i){if(s.T){s.a&&-1==t.indexOf(s.a)&&t.push(s.a);var o={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+a.tcid++).slice(-12)+"}"};0==i?r=o.id:o.parentId=r,s.ID=o.id,s.a&&(o.personId="{54EE7950-7262-4200-6969-"+("000000000000"+t.indexOf(s.a)).slice(-12)+"}"),n.push(yh("threadedComment",mh("text",s.t||""),o))}else delete s.ID})}),n.push(""),n.join("")}var Gy=Wp;function Wy(e){var t=Cp(),a=[];return Fp(t,628),Fp(t,630),e.forEach(function(e){e[1].forEach(function(e){a.indexOf(e.a)>-1||(a.push(e.a.slice(0,54)),Fp(t,632,function(e){return Vp(e.slice(0,54))}(e.a)))})}),Fp(t,631),Fp(t,633),e.forEach(function(e){e[1].forEach(function(n){n.iauthor=a.indexOf(n.a);var r={s:Mp(e[0]),e:Mp(e[0])};Fp(t,635,function(e,t){return null==t&&(t=_p(36)),t.write_shift(4,e[1].iauthor),ff(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}([r,n])),n.t&&n.t.length>0&&Fp(t,637,Zp(n)),Fp(t,636),delete n.iauthor})}),Fp(t,634),Fp(t,629),t.end()}var Vy=["xlsb","xlsm","xlam","biff8","xla"];var Ky=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function a(e,a,n,r){var s=!1,i=!1;0==n.length?i=!0:"["==n.charAt(0)&&(i=!0,n=n.slice(1,-1)),0==r.length?s=!0:"["==r.charAt(0)&&(s=!0,r=r.slice(1,-1));var o=n.length>0?0|parseInt(n,10):0,l=r.length>0?0|parseInt(r,10):0;return s?l+=t.c:--l,i?o+=t.r:--o,a+(s?"":"$")+Bp(l)+(i?"":"$")+Pp(o)}return function(n,r){return t=r,n.replace(e,a)}}(),Jy=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g,qy=function(){return function(e,t){return e.replace(Jy,function(e,a,n,r,s,i){var o=Np(r)-(n?0:t.c),l=Ip(i)-(s?0:t.r);return a+"R"+(0==l?"":s?l+1:"["+l+"]")+"C"+(0==o?"":n?o+1:"["+o+"]")})}}();function Zy(e,t){return e.replace(Jy,function(e,a,n,r,s,i){return a+("$"==n?n+r:Bp(Np(r)+t.c))+("$"==s?s+i:Pp(Ip(i)+t.r))})}function Xy(e,t,a){var n=Up(t).s,r=Mp(a);return Zy(e,{r:r.r-n.r,c:r.c-n.c})}function Qy(e){return e.replace(/_xlfn\./g,"")}function ev(e){e.l+=1}function tv(e,t){var a=e.read_shift(2);return[16383&a,a>>14&1,a>>15&1]}function av(e,t,a){var n=2;if(a){if(a.biff>=2&&a.biff<=5)return nv(e);12==a.biff&&(n=4)}var r=e.read_shift(n),s=e.read_shift(n),i=tv(e),o=tv(e);return{s:{r:r,c:i[0],cRel:i[1],rRel:i[2]},e:{r:s,c:o[0],cRel:o[1],rRel:o[2]}}}function nv(e){var t=tv(e),a=tv(e),n=e.read_shift(1),r=e.read_shift(1);return{s:{r:t[0],c:n,cRel:t[1],rRel:t[2]},e:{r:a[0],c:r,cRel:a[1],rRel:a[2]}}}function rv(e,t,a){if(a&&a.biff>=2&&a.biff<=5)return function(e){var t=tv(e),a=e.read_shift(1);return{r:t[0],c:a,cRel:t[1],rRel:t[2]}}(e);var n=e.read_shift(a&&12==a.biff?4:2),r=tv(e);return{r:n,c:r[0],cRel:r[1],rRel:r[2]}}function sv(e){var t=e.read_shift(2),a=e.read_shift(2);return{r:t,c:255&a,fQuoted:!!(16384&a),cRel:a>>15,rRel:a>>15}}function iv(e){var t=1&e[e.l+1];return e.l+=4,[t,1]}function ov(e){return[e.read_shift(1),e.read_shift(1)]}function lv(e,t){var a=[e.read_shift(1)];if(12==t)switch(a[0]){case 2:a[0]=4;break;case 4:a[0]=16;break;case 0:a[0]=1;break;case 1:a[0]=2}switch(a[0]){case 4:a[1]=ym(e,1)?"TRUE":"FALSE",12!=t&&(e.l+=7);break;case 37:case 16:a[1]=Df[e[e.l]],e.l+=12==t?4:8;break;case 0:e.l+=8;break;case 1:a[1]=mf(e);break;case 2:a[1]=Am(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error("Bad SerAr: "+a[0])}return a}function cv(e,t,a){for(var n=e.read_shift(12==a.biff?4:2),r=[],s=0;s!=n;++s)r.push((12==a.biff?pf:Rm)(e));return r}function uv(e,t,a){var n=0,r=0;12==a.biff?(n=e.read_shift(4),r=e.read_shift(4)):(r=1+e.read_shift(1),n=1+e.read_shift(2)),a.biff>=2&&a.biff<8&&(--n,0==--r&&(r=256));for(var s=0,i=[];s!=n&&(i[s]=[]);++s)for(var o=0;o!=r;++o)i[s][o]=lv(e,a.biff);return i}function dv(e,t,a){return e.l+=2,[sv(e)]}function hv(e){return e.l+=6,[]}function pv(e){return e.l+=2,[bm(e),1&e.read_shift(2)]}var fv=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];var mv={1:{n:"PtgExp",f:function(e,t,a){return e.l++,a&&12==a.biff?[e.read_shift(4,"i"),0]:[e.read_shift(2),e.read_shift(a&&2==a.biff?1:2)]}},2:{n:"PtgTbl",f:kp},3:{n:"PtgAdd",f:ev},4:{n:"PtgSub",f:ev},5:{n:"PtgMul",f:ev},6:{n:"PtgDiv",f:ev},7:{n:"PtgPower",f:ev},8:{n:"PtgConcat",f:ev},9:{n:"PtgLt",f:ev},10:{n:"PtgLe",f:ev},11:{n:"PtgEq",f:ev},12:{n:"PtgGe",f:ev},13:{n:"PtgGt",f:ev},14:{n:"PtgNe",f:ev},15:{n:"PtgIsect",f:ev},16:{n:"PtgUnion",f:ev},17:{n:"PtgRange",f:ev},18:{n:"PtgUplus",f:ev},19:{n:"PtgUminus",f:ev},20:{n:"PtgPercent",f:ev},21:{n:"PtgParen",f:ev},22:{n:"PtgMissArg",f:ev},23:{n:"PtgStr",f:function(e,t,a){return e.l++,_m(e,0,a)}},26:{n:"PtgSheet",f:function(e,t,a){return e.l+=5,e.l+=2,e.l+=2==a.biff?1:4,["PTGSHEET"]}},27:{n:"PtgEndSheet",f:function(e,t,a){return e.l+=2==a.biff?4:5,["PTGENDSHEET"]}},28:{n:"PtgErr",f:function(e){return e.l++,Df[e.read_shift(1)]}},29:{n:"PtgBool",f:function(e){return e.l++,0!==e.read_shift(1)}},30:{n:"PtgInt",f:function(e){return e.l++,e.read_shift(2)}},31:{n:"PtgNum",f:function(e){return e.l++,mf(e)}},32:{n:"PtgArray",f:function(e,t,a){var n=(96&e[e.l++])>>5;return e.l+=2==a.biff?6:12==a.biff?14:7,[n]}},33:{n:"PtgFunc",f:function(e,t,a){var n=(96&e[e.l])>>5;e.l+=1;var r=e.read_shift(a&&a.biff<=3?1:2);return[Uv[r],Ov[r],n]}},34:{n:"PtgFuncVar",f:function(e,t,a){var n=e[e.l++],r=e.read_shift(1),s=a&&a.biff<=3?[88==n?-1:0,e.read_shift(1)]:function(e){return[e[e.l+1]>>7,32767&e.read_shift(2)]}(e);return[r,(0===s[0]?Ov:Mv)[s[1]]]}},35:{n:"PtgName",f:function(e,t,a){var n=e.read_shift(1)>>>5&3,r=!a||a.biff>=8?4:2,s=e.read_shift(r);switch(a.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12}return[n,0,s]}},36:{n:"PtgRef",f:function(e,t,a){var n=(96&e[e.l])>>5;return e.l+=1,[n,rv(e,0,a)]}},37:{n:"PtgArea",f:function(e,t,a){return[(96&e[e.l++])>>5,av(e,a.biff>=2&&a.biff,a)]}},38:{n:"PtgMemArea",f:function(e,t,a){var n=e.read_shift(1)>>>5&3;return e.l+=a&&2==a.biff?3:4,[n,e.read_shift(a&&2==a.biff?1:2)]}},39:{n:"PtgMemErr",f:kp},40:{n:"PtgMemNoMem",f:kp},41:{n:"PtgMemFunc",f:function(e,t,a){return[e.read_shift(1)>>>5&3,e.read_shift(a&&2==a.biff?1:2)]}},42:{n:"PtgRefErr",f:function(e,t,a){var n=e.read_shift(1)>>>5&3;return e.l+=4,a.biff<8&&e.l--,12==a.biff&&(e.l+=2),[n]}},43:{n:"PtgAreaErr",f:function(e,t,a){var n=(96&e[e.l++])>>5;return e.l+=a&&a.biff>8?12:a.biff<8?6:8,[n]}},44:{n:"PtgRefN",f:function(e,t,a){var n=(96&e[e.l])>>5;e.l+=1;var r=function(e,t,a){var n=a&&a.biff?a.biff:8;if(n>=2&&n<=5)return function(e){var t=e.read_shift(2),a=e.read_shift(1),n=(32768&t)>>15,r=(16384&t)>>14;return t&=16383,1==n&&t>=8192&&(t-=16384),1==r&&a>=128&&(a-=256),{r:t,c:a,cRel:r,rRel:n}}(e);var r=e.read_shift(n>=12?4:2),s=e.read_shift(2),i=(16384&s)>>14,o=(32768&s)>>15;if(s&=16383,1==o)for(;r>524287;)r-=1048576;if(1==i)for(;s>8191;)s-=16384;return{r:r,c:s,cRel:i,rRel:o}}(e,0,a);return[n,r]}},45:{n:"PtgAreaN",f:function(e,t,a){var n=(96&e[e.l++])>>5,r=function(e,t,a){if(a.biff<8)return nv(e);var n=e.read_shift(12==a.biff?4:2),r=e.read_shift(12==a.biff?4:2),s=tv(e),i=tv(e);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:r,c:i[0],cRel:i[1],rRel:i[2]}}}(e,0,a);return[n,r]}},46:{n:"PtgMemAreaN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},47:{n:"PtgMemNoMemN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},57:{n:"PtgNameX",f:function(e,t,a){return 5==a.biff?function(e){var t=e.read_shift(1)>>>5&3,a=e.read_shift(2,"i");e.l+=8;var n=e.read_shift(2);return e.l+=12,[t,a,n]}(e):[e.read_shift(1)>>>5&3,e.read_shift(2),e.read_shift(4)]}},58:{n:"PtgRef3d",f:function(e,t,a){var n=(96&e[e.l])>>5;e.l+=1;var r=e.read_shift(2);return a&&5==a.biff&&(e.l+=12),[n,r,rv(e,0,a)]}},59:{n:"PtgArea3d",f:function(e,t,a){var n=(96&e[e.l++])>>5,r=e.read_shift(2,"i");if(a)switch(a.biff){case 5:e.l+=12;break;case 12:0}return[n,r,av(e,0,a)]}},60:{n:"PtgRefErr3d",f:function(e,t,a){var n=(96&e[e.l++])>>5,r=e.read_shift(2),s=4;if(a)switch(a.biff){case 5:s=15;break;case 12:s=6}return e.l+=s,[n,r]}},61:{n:"PtgAreaErr3d",f:function(e,t,a){var n=(96&e[e.l++])>>5,r=e.read_shift(2),s=8;if(a)switch(a.biff){case 5:e.l+=12,s=6;break;case 12:s=12}return e.l+=s,[n,r]}},255:{}},gv={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},yv={1:{n:"PtgElfLel",f:pv},2:{n:"PtgElfRw",f:dv},3:{n:"PtgElfCol",f:dv},6:{n:"PtgElfRwV",f:dv},7:{n:"PtgElfColV",f:dv},10:{n:"PtgElfRadical",f:dv},11:{n:"PtgElfRadicalS",f:hv},13:{n:"PtgElfColS",f:hv},15:{n:"PtgElfColSV",f:hv},16:{n:"PtgElfRadicalLel",f:pv},25:{n:"PtgList",f:function(e){e.l+=2;var t=e.read_shift(2),a=e.read_shift(2),n=e.read_shift(4),r=e.read_shift(2),s=e.read_shift(2);return{ixti:t,coltype:3&a,rt:fv[a>>2&31],idx:n,c:r,C:s}}},29:{n:"PtgSxName",f:function(e){return e.l+=2,[e.read_shift(4)]}},255:{}},vv={0:{n:"PtgAttrNoop",f:function(e){return e.l+=4,[0,0]}},1:{n:"PtgAttrSemi",f:function(e,t,a){var n=255&e[e.l+1]?1:0;return e.l+=a&&2==a.biff?3:4,[n]}},2:{n:"PtgAttrIf",f:function(e,t,a){var n=255&e[e.l+1]?1:0;return e.l+=2,[n,e.read_shift(a&&2==a.biff?1:2)]}},4:{n:"PtgAttrChoose",f:function(e,t,a){e.l+=2;for(var n=e.read_shift(a&&2==a.biff?1:2),r=[],s=0;s<=n;++s)r.push(e.read_shift(a&&2==a.biff?1:2));return r}},8:{n:"PtgAttrGoto",f:function(e,t,a){var n=255&e[e.l+1]?1:0;return e.l+=2,[n,e.read_shift(a&&2==a.biff?1:2)]}},16:{n:"PtgAttrSum",f:function(e,t,a){e.l+=a&&2==a.biff?3:4}},32:{n:"PtgAttrBaxcel",f:iv},33:{n:"PtgAttrBaxcel",f:iv},64:{n:"PtgAttrSpace",f:function(e){return e.read_shift(2),ov(e)}},65:{n:"PtgAttrSpaceSemi",f:function(e){return e.read_shift(2),ov(e)}},128:{n:"PtgAttrIfError",f:function(e){var t=255&e[e.l+1]?1:0;return e.l+=2,[t,e.read_shift(2)]}},255:{}};function bv(e,t,a,n){if(n.biff<8)return kp(e,t);for(var r=e.l+t,s=[],i=0;i!==a.length;++i)switch(a[i][0]){case"PtgArray":a[i][1]=uv(e,0,n),s.push(a[i][1]);break;case"PtgMemArea":a[i][2]=cv(e,a[i][1],n),s.push(a[i][2]);break;case"PtgExp":n&&12==n.biff&&(a[i][1][1]=e.read_shift(4),s.push(a[i][1]));break;case"PtgList":case"PtgElfRadicalS":case"PtgElfColS":case"PtgElfColSV":throw"Unsupported "+a[i][0]}return 0!==(t=r-e.l)&&s.push(kp(e,t)),s}function wv(e,t,a){for(var n,r,s=e.l+t,i=[];s!=e.l;)t=s-e.l,r=e[e.l],n=mv[r]||mv[gv[r]],24!==r&&25!==r||(n=(24===r?yv:vv)[e[e.l+1]]),n&&n.f?i.push([n.n,n.f(e,t,a)]):kp(e,t);return i}function xv(e){for(var t=[],a=0;a=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function _v(e,t,a){if(!e)return"SH33TJSERR0";if(a.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return"SH33TJSERR6";var n=e.XTI[t];if(a.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),0==t?"":e.XTI[t-1];if(!n)return"SH33TJSERR1";var r="";if(a.biff>8)switch(e[n[0]][0]){case 357:return r=-1==n[1]?"#REF":e.SheetNames[n[1]],n[1]==n[2]?r:r+":"+e.SheetNames[n[2]];case 358:return null!=a.SID?e.SheetNames[a.SID]:"SH33TJSSAME"+e[n[0]][0];default:return"SH33TJSSRC"+e[n[0]][0]}switch(e[n[0]][0][0]){case 1025:return r=-1==n[1]?"#REF":e.SheetNames[n[1]]||"SH33TJSERR3",n[1]==n[2]?r:r+":"+e.SheetNames[n[2]];case 14849:return e[n[0]].slice(1).map(function(e){return e.Name}).join(";;");default:return e[n[0]][0][3]?(r=-1==n[1]?"#REF":e[n[0]][0][3][n[1]]||"SH33TJSERR4",n[1]==n[2]?r:r+":"+e[n[0]][0][3][n[2]]):"SH33TJSERR2"}}function Ev(e,t,a){var n=_v(e,t,a);return"#REF"==n?n:function(e,t){if(!(e||t&&t.biff<=5&&t.biff>=2))throw new Error("empty sheet name");return/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e)?"'"+e+"'":e}(n,a)}function Cv(e,t,a,n,r){var s,i,o,l,c=r&&r.biff||8,u={s:{c:0,r:0}},d=[],h=0,p=0,f="";if(!e[0]||!e[0][0])return"";for(var m=-1,g="",y=0,v=e[0].length;y=0){switch(e[0][m][1][0]){case 0:g=xd(" ",e[0][m][1][1]);break;case 1:g=xd("\r",e[0][m][1][1]);break;default:if(g="",r.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}i+=g,m=-1}d.push(i+kv[b[0]]+s);break;case"PtgIsect":s=d.pop(),i=d.pop(),d.push(i+" "+s);break;case"PtgUnion":s=d.pop(),i=d.pop(),d.push(i+","+s);break;case"PtgRange":s=d.pop(),i=d.pop(),d.push(i+":"+s);break;case"PtgAttrChoose":case"PtgAttrGoto":case"PtgAttrIf":case"PtgAttrIfError":case"PtgAttrBaxcel":case"PtgAttrSemi":case"PtgMemArea":case"PtgTbl":case"PtgMemErr":case"PtgMemAreaN":case"PtgMemNoMemN":case"PtgAttrNoop":case"PtgSheet":case"PtgEndSheet":case"PtgMemFunc":case"PtgMemNoMem":break;case"PtgRef":o=Dp(b[1][1],u,r),d.push(Tp(o,c));break;case"PtgRefN":o=a?Dp(b[1][1],a,r):b[1][1],d.push(Tp(o,c));break;case"PtgRef3d":h=b[1][1],o=Dp(b[1][2],u,r),f=Ev(n,h,r),d.push(f+"!"+Tp(o,c));break;case"PtgFunc":case"PtgFuncVar":var w=b[1][0],x=b[1][1];w||(w=0);var k=0==(w&=127)?[]:d.slice(-w);d.length-=w,"User"===x&&(x=k.shift()),d.push(x+"("+k.join(",")+")");break;case"PtgBool":d.push(b[1]?"TRUE":"FALSE");break;case"PtgInt":case"PtgErr":d.push(b[1]);break;case"PtgNum":d.push(String(b[1]));break;case"PtgStr":d.push('"'+b[1].replace(/"/g,'""')+'"');break;case"PtgAreaN":l=Ap(b[1][1],a?{s:a}:u,r),d.push(Sp(l,r));break;case"PtgArea":l=Ap(b[1][1],u,r),d.push(Sp(l,r));break;case"PtgArea3d":h=b[1][1],l=b[1][2],f=Ev(n,h,r),d.push(f+"!"+Sp(l,r));break;case"PtgAttrSum":d.push("SUM("+d.pop()+")");break;case"PtgName":p=b[1][2];var _=(n.names||[])[p-1]||(n[0]||[])[p],E=_?_.Name:"SH33TJSNAME"+String(p);E&&"_xlfn."==E.slice(0,6)&&!r.xlfn&&(E=E.slice(6)),d.push(E);break;case"PtgNameX":var C,F=b[1][1];if(p=b[1][2],!(r.biff<=5)){var D="";if(14849==((n[F]||[])[0]||[])[0]||(1025==((n[F]||[])[0]||[])[0]?n[F][p]&&n[F][p].itab>0&&(D=n.SheetNames[n[F][p].itab-1]+"!"):D=n.SheetNames[p-1]+"!"),n[F]&&n[F][p])D+=n[F][p].Name;else if(n[0]&&n[0][p])D+=n[0][p].Name;else{var A=(_v(n,F,r)||"").split(";;");A[p-1]?D=A[p-1]:D+="SH33TJSERRX"}d.push(D);break}F<0&&(F=-F),n[F]&&(C=n[F][p]),C||(C={Name:"SH33TJSERRY"}),d.push(C.Name);break;case"PtgParen":var T="(",S=")";if(m>=0){switch(g="",e[0][m][1][0]){case 2:T=xd(" ",e[0][m][1][1])+T;break;case 3:T=xd("\r",e[0][m][1][1])+T;break;case 4:S=xd(" ",e[0][m][1][1])+S;break;case 5:S=xd("\r",e[0][m][1][1])+S;break;default:if(r.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}m=-1}d.push(T+d.pop()+S);break;case"PtgRefErr":case"PtgRefErr3d":case"PtgAreaErr":case"PtgAreaErr3d":d.push("#REF!");break;case"PtgExp":o={c:b[1][1],r:b[1][0]};var I={c:a.c,r:a.r};if(n.sharedf[Op(o)]){var P=n.sharedf[Op(o)];d.push(Cv(P,u,I,n,r))}else{var N=!1;for(s=0;s!=n.arrayf.length;++s)if(i=n.arrayf[s],!(o.ci[0].e.c||o.ri[0].e.r)){d.push(Cv(i[1],u,I,n,r)),N=!0;break}N||d.push(b[1])}break;case"PtgArray":d.push("{"+xv(b[1])+"}");break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":m=y;break;case"PtgMissArg":d.push("");break;case"PtgList":d.push("Table"+b[1].idx+"[#"+b[1].rt+"]");break;case"PtgElfCol":case"PtgElfColS":case"PtgElfColSV":case"PtgElfColV":case"PtgElfLel":case"PtgElfRadical":case"PtgElfRadicalLel":case"PtgElfRadicalS":case"PtgElfRw":case"PtgElfRwV":throw new Error("Unsupported ELFs");default:throw new Error("Unrecognized Formula Token: "+String(b))}if(3!=r.biff&&m>=0&&-1==["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"].indexOf(e[0][y][0])){var B=!0;switch((b=e[0][m])[1][0]){case 4:B=!1;case 0:g=xd(" ",b[1][1]);break;case 5:B=!1;case 1:g=xd("\r",b[1][1]);break;default:if(g="",r.WTF)throw new Error("Unexpected PtgAttrSpaceType "+b[1][0])}d.push((B?g:"")+d.pop()+(B?"":g)),m=-1}}if(d.length>1&&r.WTF)throw new Error("bad formula stack");return d[0]}function Fv(e,t,a){var n,r=e.l+t,s=2==a.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],kp(e,t-2)];var o=wv(e,i,a);return t!==i+s&&(n=bv(e,t-i-s,o,a)),e.l=r,[o,n]}function Dv(e,t,a){var n,r=e.l+t,s=e.read_shift(2),i=wv(e,s,a);return 65535==s?[[],kp(e,t-2)]:(t!==s+2&&(n=bv(e,r-s-2,i,a)),[i,n])}function Av(e,t,a){var n=e.l+t,r=Om(e);2==a.biff&&++e.l;var s=function(e){var t;if(65535!==up(e,e.l+6))return[mf(e),"n"];switch(e[e.l]){case 0:return e.l+=8,["String","s"];case 1:return t=1===e[e.l+2],e.l+=8,[t,"b"];case 2:return t=e[e.l+2],e.l+=8,[t,"e"];case 3:return e.l+=8,["","s"]}return[]}(e),i=e.read_shift(1);2!=a.biff&&(e.read_shift(1),a.biff>=5&&e.read_shift(4));var o=function(e,t,a){var n,r=e.l+t,s=2==a.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],kp(e,t-2)];var o=wv(e,i,a);return t!==i+s&&(n=bv(e,t-i-s,o,a)),e.l=r,[o,n]}(e,n-e.l,a);return{cell:r,val:s[0],formula:o,shared:i>>3&1,tt:s[1]}}function Tv(e,t,a,n,r){var s=Um(t,a,r),i=function(e){if(null==e){var t=_p(8);return t.write_shift(1,3),t.write_shift(1,0),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(2,65535),t}return gf("number"==typeof e?e:0)}(e.v),o=_p(6);o.write_shift(2,33),o.write_shift(4,0);for(var l=_p(e.bf.length),c=0;c0?bv(e,s,r,a):null]}var Iv=Sv,Pv=Sv,Nv=Sv,Bv=Sv,Mv={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"},Ov={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"},Uv={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function jv(e){return"of:"==e.slice(0,3)&&(e=e.slice(3)),61==e.charCodeAt(0)&&61==(e=e.slice(1)).charCodeAt(0)&&(e=e.slice(1)),(e=(e=(e=e.replace(/COM\.MICROSOFT\./g,"")).replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,t){return t.replace(/\./g,"")})).replace(/\[.(#[A-Z]*[?!])\]/g,"$1")).replace(/[;~]/g,",").replace(/\|/g,";")}function Lv(e){return("of:="+e.replace(Jy,"$1[.$2$3$4$5]").replace(/\]:\[/g,":")).replace(/;/g,"|").replace(/,/g,";")}function Rv(e){var t=e.split(":");return[t[0].split(".")[0],t[0].split(".")[1]+(t.length>1?":"+(t[1].split(".")[1]||t[1].split(".")[0]):"")]}function zv(e){return e.replace(/\./,"!")}var Hv={},Yv={},$v="undefined"!=typeof Map;function Gv(e,t,a){var n=0,r=e.length;if(a){if($v?a.has(t):Object.prototype.hasOwnProperty.call(a,t))for(var s=$v?a.get(t):a[t];n-1?(a.width=ey(n),a.customWidth=1):null!=t.width&&(a.width=t.width),t.hidden&&(a.hidden=!0),null!=t.level&&(a.outlineLevel=a.level=t.level),a}function Vv(e,t){if(e){var a=[.7,.7,.75,.75,.3,.3];"xlml"==t&&(a=[1,1,1,1,.5,.5]),null==e.left&&(e.left=a[0]),null==e.right&&(e.right=a[1]),null==e.top&&(e.top=a[2]),null==e.bottom&&(e.bottom=a[3]),null==e.header&&(e.header=a[4]),null==e.footer&&(e.footer=a[5])}}function Kv(e,t,a){var n=a.revssf[null!=t.z?t.z:"General"],r=60,s=e.length;if(null==n&&a.ssf)for(;r<392;++r)if(null==a.ssf[r]){Ju(t.z,r),a.ssf[r]=t.z,a.revssf[t.z]=n=r;break}for(r=0;r!=s;++r)if(e[r].numFmtId===n)return r;return e[s]={numFmtId:n,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},s}function Jv(e,t,a,n,r,s){try{n.cellNF&&(e.z=gu[t])}catch(XN){if(n.WTF)throw XN}if("z"!==e.t||n.cellStyles){if("d"===e.t&&"string"==typeof e.v&&(e.v=vd(e.v)),(!n||!1!==n.cellText)&&"z"!==e.t)try{if(null==gu[t]&&Ju(Xu[t]||"General",t),"e"===e.t)e.w=e.w||Df[e.v];else if(0===t)if("n"===e.t)(0|e.v)===e.v?e.w=e.v.toString(10):e.w=Fu(e.v);else if("d"===e.t){var i=cd(e.v);e.w=(0|i)===i?i.toString(10):Fu(i)}else{if(void 0===e.v)return"";e.w=Du(e.v,Yv)}else"d"===e.t?e.w=Ku(t,cd(e.v),Yv):e.w=Ku(t,e.v,Yv)}catch(XN){if(n.WTF)throw XN}if(n.cellStyles&&null!=a)try{e.s=s.Fills[a],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=qg(r.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),n.WTF&&(e.s.fgColor.raw_rgb=r.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=qg(r.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),n.WTF&&(e.s.bgColor.raw_rgb=r.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(XN){if(n.WTF&&s.Fills)throw XN}}}function qv(e,t,a){if(e&&e["!ref"]){var n=Lp(e["!ref"]);if(n.e.c/g,Xv=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/,Qv=/<(?:\w:)?hyperlink [^>]*>/gm,eb=/"(\w*:\w*)"/,tb=/<(?:\w:)?col\b[^>]*[\/]?>/g,ab=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g,nb=/<(?:\w:)?pageMargins[^>]*\/>/g,rb=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/,sb=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/,ib=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function ob(e,t,a,n,r,s,i){if(!e)return e;n||(n={"!id":{}});var o=t.dense?[]:{},l={s:{r:2e6,c:2e6},e:{r:0,c:0}},c="",u="",d=e.match(Xv);d?(c=e.slice(0,d.index),u=e.slice(d.index+d[0].length)):c=u=e;var h=c.match(rb);h?lb(h[0],o,r,a):(h=c.match(sb))&&function(e,t,a,n,r){lb(e.slice(0,e.indexOf(">")),a,n,r)}(h[0],h[1],o,r,a);var p=(c.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(p>0){var f=c.slice(p,p+50).match(eb);f&&function(e,t){var a=Lp(t);a.s.r<=a.e.r&&a.s.c<=a.e.c&&a.s.r>=0&&a.s.c>=0&&(e["!ref"]=jp(a))}(o,f[1])}var m=c.match(ib);m&&m[1]&&function(e,t){t.Views||(t.Views=[{}]);(e.match(db)||[]).forEach(function(e,a){var n=Yd(e);t.Views[a]||(t.Views[a]={}),+n.zoomScale&&(t.Views[a].zoom=+n.zoomScale),th(n.rightToLeft)&&(t.Views[a].RTL=!0)})}(m[1],r);var g=[];if(t.cellStyles){var y=c.match(tb);y&&function(e,t){for(var a=!1,n=0;n!=t.length;++n){var r=Yd(t[n],!0);r.hidden&&(r.hidden=th(r.hidden));var s=parseInt(r.min,10)-1,i=parseInt(r.max,10)-1;for(r.outlineLevel&&(r.level=+r.outlineLevel||0),delete r.min,delete r.max,r.width=+r.width,!a&&r.width&&(a=!0,ay(r.width)),ny(r);s<=i;)e[s++]=wd(r)}}(g,y)}d&&pb(d[1],o,t,l,s,i);var v=u.match(ab);v&&(o["!autofilter"]=function(e){var t={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return t}(v[0]));var b=[],w=u.match(Zv);if(w)for(p=0;p!=w.length;++p)b[p]=Lp(w[p].slice(w[p].indexOf('"')+1));var x=u.match(Qv);x&&function(e,t,a){for(var n=Array.isArray(e),r=0;r!=t.length;++r){var s=Yd(ih(t[r]),!0);if(!s.ref)return;var i=((a||{})["!id"]||[])[s.id];i?(s.Target=i.Target,s.location&&(s.Target+="#"+Vd(s.location))):(s.Target="#"+Vd(s.location),i={Target:s.Target,TargetMode:"Internal"}),s.Rel=i,s.tooltip&&(s.Tooltip=s.tooltip,delete s.tooltip);for(var o=Lp(s.ref),l=o.s.r;l<=o.e.r;++l)for(var c=o.s.c;c<=o.e.c;++c){var u=Op({c:c,r:l});n?(e[l]||(e[l]=[]),e[l][c]||(e[l][c]={t:"z",v:void 0}),e[l][c].l=s):(e[u]||(e[u]={t:"z",v:void 0}),e[u].l=s)}}}(o,x,n);var k,_,E=u.match(nb);if(E&&(o["!margins"]=(k=Yd(E[0]),_={},["left","right","top","bottom","header","footer"].forEach(function(e){k[e]&&(_[e]=parseFloat(k[e]))}),_)),!o["!ref"]&&l.e.c>=l.s.c&&l.e.r>=l.s.r&&(o["!ref"]=jp(l)),t.sheetRows>0&&o["!ref"]){var C=Lp(o["!ref"]);t.sheetRows<=+C.e.r&&(C.e.r=t.sheetRows-1,C.e.r>l.e.r&&(C.e.r=l.e.r),C.e.rl.e.c&&(C.e.c=l.e.c),C.e.c0&&(o["!cols"]=g),b.length>0&&(o["!merges"]=b),o}function lb(e,t,a,n){var r=Yd(e);a.Sheets[n]||(a.Sheets[n]={}),r.codeName&&(a.Sheets[n].CodeName=Vd(ih(r.codeName)))}var cb=["objects","scenarios","selectLockedCells","selectUnlockedCells"],ub=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];var db=/<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/?>/;function hb(e,t,a,n){if(e.c&&a["!comments"].push([t,e.c]),void 0===e.v&&"string"!=typeof e.f||"z"===e.t&&!e.f)return"";var r="",s=e.t,i=e.v;if("z"!==e.t)switch(e.t){case"b":r=e.v?"1":"0";break;case"n":r=""+e.v;break;case"e":r=Df[e.v];break;case"d":n&&n.cellDates?r=vd(e.v,-1).toISOString():((e=wd(e)).t="n",r=""+(e.v=cd(vd(e.v)))),void 0===e.z&&(e.z=gu[14]);break;default:r=e.v}var o=mh("v",qd(r)),l={r:t},c=Kv(n.cellXfs,e,n);switch(0!==c&&(l.s=c),e.t){case"n":case"z":break;case"d":l.t="d";break;case"b":l.t="b";break;case"e":l.t="e";break;default:if(null==e.v){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(n&&n.bookSST){o=mh("v",""+Gv(n.Strings,e.v,n.revStrings)),l.t="s";break}l.t="str"}if(e.t!=s&&(e.t=s,e.v=i),"string"==typeof e.f&&e.f){var u=e.F&&e.F.slice(0,t.length)==t?{t:"array",ref:e.F}:null;o=yh("f",qd(e.f),u)+(null!=e.v?o:"")}return e.l&&a["!links"].push([t,e.l]),e.D&&(l.cm=1),yh("c",o,l)}var pb=function(){var e=/<(?:\w+:)?c[ \/>]/,t=/<\/(?:\w+:)?row>/,a=/r=["']([^"']*)["']/,n=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/,r=/ref=["']([^"']*)["']/,s=lh("v"),i=lh("f");return function(o,l,c,u,d,h){for(var p,f,m,g,y,v=0,b="",w=[],x=[],k=0,_=0,E=0,C="",F=0,D=0,A=0,T=0,S=Array.isArray(h.CellXf),I=[],P=[],N=Array.isArray(l),B=[],M={},O=!1,U=!!c.sheetStubs,j=o.split(t),L=0,R=j.length;L!=R;++L){var z=(b=j[L].trim()).length;if(0!==z){var H=0;e:for(v=0;v":if("/"!=b[v-1]){++v;break e}if(c&&c.cellStyles){if(F=null!=(f=Yd(b.slice(H,v),!0)).r?parseInt(f.r,10):F+1,D=-1,c.sheetRows&&c.sheetRows=v)break;if(F=null!=(f=Yd(b.slice(H,v),!0)).r?parseInt(f.r,10):F+1,D=-1,!(c.sheetRows&&c.sheetRowsF-1&&(u.s.r=F-1),u.e.r":"")+b,null!=x&&2===x.length){for(k=0,C=x[1],_=0;_!=C.length&&!((E=C.charCodeAt(_)-64)<1||E>26);++_)k=26*k+E;D=--k}else++D;for(_=0;_!=b.length&&62!==b.charCodeAt(_);++_);if(++_,(f=Yd(b.slice(0,_),!0)).r||(f.r=Op({r:F-1,c:D})),p={t:""},null!=(x=(C=b.slice(_)).match(s))&&""!==x[1]&&(p.v=Vd(x[1])),c.cellFormula){if(null!=(x=C.match(i))&&""!==x[1]){if(p.f=Vd(ih(x[1])).replace(/\r\n/g,"\n"),c.xlfn||(p.f=Qy(p.f)),x[0].indexOf('t="array"')>-1)p.F=(C.match(r)||[])[1],p.F.indexOf(":")>-1&&I.push([Lp(p.F),p.F]);else if(x[0].indexOf('t="shared"')>-1){g=Yd(x[0]);var $=Vd(ih(x[1]));c.xlfn||($=Qy($)),P[parseInt(g.si,10)]=[g,$,f.r]}}else(x=C.match(/]*\/>/))&&P[(g=Yd(x[0])).si]&&(p.f=Xy(P[g.si][1],P[g.si][2],f.r));var G=Mp(f.r);for(_=0;_=I[_][0].s.r&&G.r<=I[_][0].e.r&&G.c>=I[_][0].s.c&&G.c<=I[_][0].e.c&&(p.F=I[_][1])}if(null==f.t&&void 0===p.v)if(p.f||p.F)p.v=0,p.t="n";else{if(!U)continue;p.t="z"}else p.t=f.t||"n";switch(u.s.c>D&&(u.s.c=D),u.e.c0&&(l["!rows"]=B)}}();function fb(e,t,a,n){var r,s=[Ud,yh("worksheet",null,{xmlns:Bh[0],"xmlns:r":Sh})],i=a.SheetNames[e],o="",l=a.Sheets[i];null==l&&(l={});var c=l["!ref"]||"A1",u=Lp(c);if(u.e.c>16383||u.e.r>1048575){if(t.WTF)throw new Error("Range "+c+" exceeds format limit A1:XFD1048576");u.e.c=Math.min(u.e.c,16383),u.e.r=Math.min(u.e.c,1048575),c=jp(u)}n||(n={}),l["!comments"]=[];var d=[];!function(e,t,a,n,r){var s=!1,i={},o=null;if("xlsx"!==n.bookType&&t.vbaraw){var l=t.SheetNames[a];try{t.Workbook&&(l=t.Workbook.Sheets[a].CodeName||l)}catch(XN){}s=!0,i.codeName=oh(qd(l))}if(e&&e["!outline"]){var c={summaryBelow:1,summaryRight:1};e["!outline"].above&&(c.summaryBelow=0),e["!outline"].left&&(c.summaryRight=0),o=(o||"")+yh("outlinePr",null,c)}(s||o)&&(r[r.length]=yh("sheetPr",o,i))}(l,a,e,t,s),s[s.length]=yh("dimension",null,{ref:c}),s[s.length]=function(e,t,a,n){var r={workbookViewId:"0"};return(((n||{}).Workbook||{}).Views||[])[0]&&(r.rightToLeft=n.Workbook.Views[0].RTL?"1":"0"),yh("sheetViews",yh("sheetView",null,r),{})}(0,0,0,a),t.sheetFormat&&(s[s.length]=yh("sheetFormatPr",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||"16",baseColWidth:t.sheetFormat.baseColWidth||"10",outlineLevelRow:t.sheetFormat.outlineLevelRow||"7"})),null!=l["!cols"]&&l["!cols"].length>0&&(s[s.length]=function(e,t){for(var a,n=[""],r=0;r!=t.length;++r)(a=t[r])&&(n[n.length]=yh("col",null,Wv(r,a)));return n[n.length]="",n.join("")}(0,l["!cols"])),s[r=s.length]="",l["!links"]=[],null!=l["!ref"]&&(o=function(e,t){var a,n,r=[],s=[],i=Lp(e["!ref"]),o="",l="",c=[],u=0,d=0,h=e["!rows"],p=Array.isArray(e),f={r:l},m=-1;for(d=i.s.c;d<=i.e.c;++d)c[d]=Bp(d);for(u=i.s.r;u<=i.e.r;++u){for(s=[],l=Pp(u),d=i.s.c;d<=i.e.c;++d){a=c[d]+l;var g=p?(e[u]||[])[d]:e[a];void 0!==g&&null!=(o=hb(g,a,e,t))&&s.push(o)}(s.length>0||h&&h[u])&&(f={r:l},h&&h[u]&&((n=h[u]).hidden&&(f.hidden=1),m=-1,n.hpx?m=sy(n.hpx):n.hpt&&(m=n.hpt),m>-1&&(f.ht=m,f.customHeight=1),n.level&&(f.outlineLevel=n.level)),r[r.length]=yh("row",s.join(""),f))}if(h)for(;u-1&&(f.ht=m,f.customHeight=1),n.level&&(f.outlineLevel=n.level),r[r.length]=yh("row","",f));return r.join("")}(l,t),o.length>0&&(s[s.length]=o)),s.length>r+1&&(s[s.length]="",s[r]=s[r].replace("/>",">")),l["!protect"]&&(s[s.length]=function(e){var t={sheet:1};return cb.forEach(function(a){null!=e[a]&&e[a]&&(t[a]="1")}),ub.forEach(function(a){null==e[a]||e[a]||(t[a]="0")}),e.password&&(t.password=$g(e.password).toString(16).toUpperCase()),yh("sheetProtection",null,t)}(l["!protect"])),null!=l["!autofilter"]&&(s[s.length]=function(e,t,a,n){var r="string"==typeof e.ref?e.ref:jp(e.ref);a.Workbook||(a.Workbook={Sheets:[]}),a.Workbook.Names||(a.Workbook.Names=[]);var s=a.Workbook.Names,i=Up(r);i.s.r==i.e.r&&(i.e.r=Up(t["!ref"]).e.r,r=jp(i));for(var o=0;o0&&(s[s.length]=function(e){if(0===e.length)return"";for(var t='',a=0;a!=e.length;++a)t+='';return t+""}(l["!merges"]));var h,p,f=-1,m=-1;return l["!links"].length>0&&(s[s.length]="",l["!links"].forEach(function(e){e[1].Target&&(h={ref:e[0]},"#"!=e[1].Target.charAt(0)&&(m=Of(n,-1,qd(e[1].Target).replace(/#.*$/,""),Pf.HLINK),h["r:id"]="rId"+m),(f=e[1].Target.indexOf("#"))>-1&&(h.location=qd(e[1].Target.slice(f+1))),e[1].Tooltip&&(h.tooltip=qd(e[1].Tooltip)),s[s.length]=yh("hyperlink",null,h))}),s[s.length]=""),delete l["!links"],null!=l["!margins"]&&(s[s.length]=(Vv(p=l["!margins"]),yh("pageMargins",null,p))),t&&!t.ignoreEC&&null!=t.ignoreEC||(s[s.length]=mh("ignoredErrors",yh("ignoredError",null,{numberStoredAsText:1,sqref:c}))),d.length>0&&(m=Of(n,-1,"../drawings/drawing"+(e+1)+".xml",Pf.DRAW),s[s.length]=yh("drawing",null,{"r:id":"rId"+m}),l["!drawing"]=d),l["!comments"].length>0&&(m=Of(n,-1,"../drawings/vmlDrawing"+(e+1)+".vml",Pf.VML),s[s.length]=yh("legacyDrawing",null,{"r:id":"rId"+m}),l["!legacy"]=m),s.length>1&&(s[s.length]="",s[1]=s[1].replace("/>",">")),s.join("")}function mb(e,t,a,n){var r=function(e,t,a){var n=_p(145),r=(a["!rows"]||[])[e]||{};n.write_shift(4,e),n.write_shift(4,0);var s=320;r.hpx?s=20*sy(r.hpx):r.hpt&&(s=20*r.hpt),n.write_shift(2,s),n.write_shift(1,0);var i=0;r.level&&(i|=r.level),r.hidden&&(i|=16),(r.hpx||r.hpt)&&(i|=32),n.write_shift(1,i),n.write_shift(1,0);var o=0,l=n.l;n.l+=4;for(var c={r:e,c:0},u=0;u<16;++u)if(!(t.s.c>u+1<<10||t.e.cn.l?n.slice(0,n.l):n}(n,a,t);(r.length>17||(t["!rows"]||[])[n])&&Fp(e,0,r)}var gb=pf,yb=ff;function vb(e){return[ef(e),mf(e),"n"]}var bb=pf,wb=ff;var xb=["left","right","top","bottom","header","footer"];function kb(e,t,a,n,r,s,i){if(void 0===t.v)return!1;var o="";switch(t.t){case"b":o=t.v?"1":"0";break;case"d":(t=wd(t)).z=t.z||gu[14],t.v=cd(vd(t.v)),t.t="n";break;case"n":case"e":o=""+t.v;break;default:o=t.v}var l={r:a,c:n};switch(l.s=Kv(r.cellXfs,t,r),t.l&&s["!links"].push([Op(l),t.l]),t.c&&s["!comments"].push([Op(l),t.c]),t.t){case"s":case"str":return r.bookSST?(o=Gv(r.Strings,t.v,r.revStrings),l.t="s",l.v=o,i?Fp(e,18,function(e,t,a){return null==a&&(a=_p(8)),tf(t,a),a.write_shift(4,t.v),a}(0,l)):Fp(e,7,function(e,t,a){return null==a&&(a=_p(12)),Qp(t,a),a.write_shift(4,t.v),a}(0,l))):(l.t="str",i?Fp(e,17,function(e,t,a){return null==a&&(a=_p(8+4*e.v.length)),tf(t,a),Vp(e.v,a),a.length>a.l?a.slice(0,a.l):a}(t,l)):Fp(e,6,function(e,t,a){return null==a&&(a=_p(12+4*e.v.length)),Qp(t,a),Vp(e.v,a),a.length>a.l?a.slice(0,a.l):a}(t,l))),!0;case"n":return t.v==(0|t.v)&&t.v>-1e3&&t.v<1e3?i?Fp(e,13,function(e,t,a){return null==a&&(a=_p(8)),tf(t,a),df(e.v,a),a}(t,l)):Fp(e,2,function(e,t,a){return null==a&&(a=_p(12)),Qp(t,a),df(e.v,a),a}(t,l)):i?Fp(e,16,function(e,t,a){return null==a&&(a=_p(12)),tf(t,a),gf(e.v,a),a}(t,l)):Fp(e,5,function(e,t,a){return null==a&&(a=_p(16)),Qp(t,a),gf(e.v,a),a}(t,l)),!0;case"b":return l.t="b",i?Fp(e,15,function(e,t,a){return null==a&&(a=_p(5)),tf(t,a),a.write_shift(1,e.v?1:0),a}(t,l)):Fp(e,4,function(e,t,a){return null==a&&(a=_p(9)),Qp(t,a),a.write_shift(1,e.v?1:0),a}(t,l)),!0;case"e":return l.t="e",i?Fp(e,14,function(e,t,a){return null==a&&(a=_p(8)),tf(t,a),a.write_shift(1,e.v),a.write_shift(2,0),a.write_shift(1,0),a}(t,l)):Fp(e,3,function(e,t,a){return null==a&&(a=_p(9)),Qp(t,a),a.write_shift(1,e.v),a}(t,l)),!0}return i?Fp(e,12,function(e,t,a){return null==a&&(a=_p(4)),tf(t,a)}(0,l)):Fp(e,1,function(e,t,a){return null==a&&(a=_p(8)),Qp(t,a)}(0,l)),!0}function _b(e,t){var a,n;t&&t["!merges"]&&(Fp(e,177,(a=t["!merges"].length,null==n&&(n=_p(4)),n.write_shift(4,a),n)),t["!merges"].forEach(function(t){Fp(e,176,wb(t))}),Fp(e,178))}function Eb(e,t){t&&t["!cols"]&&(Fp(e,390),t["!cols"].forEach(function(t,a){t&&Fp(e,60,function(e,t,a){null==a&&(a=_p(18));var n=Wv(e,t);a.write_shift(-4,e),a.write_shift(-4,e),a.write_shift(4,256*(n.width||10)),a.write_shift(4,0);var r=0;return t.hidden&&(r|=1),"number"==typeof n.width&&(r|=2),t.level&&(r|=t.level<<8),a.write_shift(2,r),a}(a,t))}),Fp(e,391))}function Cb(e,t){var a,n;t&&t["!ref"]&&(Fp(e,648),Fp(e,649,(a=Lp(t["!ref"]),(n=_p(24)).write_shift(4,4),n.write_shift(4,1),ff(a,n),n)),Fp(e,650))}function Fb(e,t,a){t["!links"].forEach(function(t){if(t[1].Target){var n=Of(a,-1,t[1].Target.replace(/#.*$/,""),Pf.HLINK);Fp(e,494,function(e,t){var a=_p(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));ff({s:Mp(e[0]),e:Mp(e[0])},a),cf("rId"+t,a);var n=e[1].Target.indexOf("#");return Vp((-1==n?"":e[1].Target.slice(n+1))||"",a),Vp(e[1].Tooltip||"",a),Vp("",a),a.slice(0,a.l)}(t,n))}}),delete t["!links"]}function Db(e,t,a){Fp(e,133),Fp(e,137,function(e,t,a){null==a&&(a=_p(30));var n=924;return(((t||{}).Views||[])[0]||{}).RTL&&(n|=32),a.write_shift(2,n),a.write_shift(4,0),a.write_shift(4,0),a.write_shift(4,0),a.write_shift(1,0),a.write_shift(1,0),a.write_shift(2,0),a.write_shift(2,100),a.write_shift(2,0),a.write_shift(2,0),a.write_shift(2,0),a.write_shift(4,0),a}(0,a)),Fp(e,138),Fp(e,134)}function Ab(e,t){var a,n;t["!protect"]&&Fp(e,535,(a=t["!protect"],null==n&&(n=_p(66)),n.write_shift(2,a.password?$g(a.password):0),n.write_shift(4,1),[["objects",!1],["scenarios",!1],["formatCells",!0],["formatColumns",!0],["formatRows",!0],["insertColumns",!0],["insertRows",!0],["insertHyperlinks",!0],["deleteColumns",!0],["deleteRows",!0],["selectLockedCells",!1],["sort",!0],["autoFilter",!0],["pivotTables",!0],["selectUnlockedCells",!1]].forEach(function(e){e[1]?n.write_shift(4,null==a[e[0]]||a[e[0]]?0:1):n.write_shift(4,null!=a[e[0]]&&a[e[0]]?0:1)}),n))}function Tb(e,t,a,n){var r=Cp(),s=a.SheetNames[e],i=a.Sheets[s]||{},o=s;try{a&&a.Workbook&&(o=a.Workbook.Sheets[e].CodeName||o)}catch(XN){}var l,c,u=Lp(i["!ref"]||"A1");if(u.e.c>16383||u.e.r>1048575){if(t.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");u.e.c=Math.min(u.e.c,16383),u.e.r=Math.min(u.e.c,1048575)}return i["!links"]=[],i["!comments"]=[],Fp(r,129),(a.vbaraw||i["!outline"])&&Fp(r,147,function(e,t,a){null==a&&(a=_p(84+4*e.length));var n=192;t&&(t.above&&(n&=-65),t.left&&(n&=-129)),a.write_shift(1,n);for(var r=1;r<3;++r)a.write_shift(1,0);return yf({auto:1},a),a.write_shift(-4,-1),a.write_shift(-4,-1),nf(e,a),a.slice(0,a.l)}(o,i["!outline"])),Fp(r,148,yb(u)),Db(r,0,a.Workbook),Eb(r,i),function(e,t,a,n){var r,s=Lp(t["!ref"]||"A1"),i="",o=[];Fp(e,145);var l=Array.isArray(t),c=s.e.r;t["!rows"]&&(c=Math.max(s.e.r,t["!rows"].length-1));for(var u=s.s.r;u<=c;++u){i=Pp(u),mb(e,t,s,u);var d=!1;if(u<=s.e.r)for(var h=s.s.c;h<=s.e.c;++h){u===s.s.r&&(o[h]=Bp(h)),r=o[h]+i;var p=l?(t[u]||[])[h]:t[r];d=!!p&&kb(e,p,u,h,n,t,d)}}Fp(e,146)}(r,i,0,t),Ab(r,i),function(e,t,a,n){if(t["!autofilter"]){var r=t["!autofilter"],s="string"==typeof r.ref?r.ref:jp(r.ref);a.Workbook||(a.Workbook={Sheets:[]}),a.Workbook.Names||(a.Workbook.Names=[]);var i=a.Workbook.Names,o=Up(s);o.s.r==o.e.r&&(o.e.r=Up(t["!ref"]).e.r,s=jp(o));for(var l=0;l0){var r=Of(n,-1,"../drawings/vmlDrawing"+(a+1)+".vml",Pf.VML);Fp(e,551,cf("rId"+r)),t["!legacy"]=r}}(r,i,e,n),Fp(r,130),r.end()}function Sb(e,t,a,n,r,s){var i=s||{"!type":"chart"};if(!e)return s;var o=0,l=0,c="A",u={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var t=function(e){var t,a=[],n=e.match(/^/);(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var t=e.match(/(.*)<\/c:v><\/c:pt>/);t&&(a[+t[1]]=n?+t[2]:t[2])});var r=Vd((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);return(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){t=e.replace(/<.*?>/g,"")}),[a,r,t]}(e);u.s.r=u.s.c=0,u.e.c=o,c=Bp(o),t[0].forEach(function(e,a){i[c+Pp(a)]={t:"n",v:e,z:t[1]},l=a}),u.e.r0&&(i["!ref"]=jp(u)),i}var Ib=[["allowRefreshQuery",!1,"bool"],["autoCompressPictures",!0,"bool"],["backupFile",!1,"bool"],["checkCompatibility",!1,"bool"],["CodeName",""],["date1904",!1,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",!1,"bool"],["hidePivotFieldList",!1,"bool"],["promptedSolutions",!1,"bool"],["publishItems",!1,"bool"],["refreshAllConnections",!1,"bool"],["saveExternalLinkValues",!0,"bool"],["showBorderUnselectedTables",!0,"bool"],["showInkAnnotation",!0,"bool"],["showObjects","all"],["showPivotChartFilter",!1,"bool"],["updateLinks","userSet"]],Pb=[["activeTab",0,"int"],["autoFilterDateGrouping",!0,"bool"],["firstSheet",0,"int"],["minimized",!1,"bool"],["showHorizontalScroll",!0,"bool"],["showSheetTabs",!0,"bool"],["showVerticalScroll",!0,"bool"],["tabRatio",600,"int"],["visibility","visible"]],Nb=[],Bb=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Mb(e,t){for(var a=0;a!=e.length;++a)for(var n=e[a],r=0;r!=t.length;++r){var s=t[r];if(null==n[s[0]])n[s[0]]=s[1];else switch(s[2]){case"bool":"string"==typeof n[s[0]]&&(n[s[0]]=th(n[s[0]]));break;case"int":"string"==typeof n[s[0]]&&(n[s[0]]=parseInt(n[s[0]],10))}}}function Ob(e,t){for(var a=0;a!=t.length;++a){var n=t[a];if(null==e[n[0]])e[n[0]]=n[1];else switch(n[2]){case"bool":"string"==typeof e[n[0]]&&(e[n[0]]=th(e[n[0]]));break;case"int":"string"==typeof e[n[0]]&&(e[n[0]]=parseInt(e[n[0]],10))}}}function Ub(e){Ob(e.WBProps,Ib),Ob(e.CalcPr,Bb),Mb(e.WBView,Pb),Mb(e.Sheets,Nb),Yv.date1904=th(e.WBProps.date1904)}var jb="][*?/\\".split("");function Lb(e,t){if(e.length>31)throw new Error("Sheet names cannot exceed 31 chars");return jb.forEach(function(t){if(-1!=e.indexOf(t))throw new Error("Sheet name cannot contain : \\ / ? * [ ]")}),!0}function Rb(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var t,a,n,r=e.Workbook&&e.Workbook.Sheets||[];t=e.SheetNames,a=r,n=!!e.vbaraw,t.forEach(function(e,r){Lb(e);for(var s=0;s22)throw new Error("Bad Code Name: Worksheet"+i)}});for(var s=0;s0,n={codeName:"ThisWorkbook"};e.Workbook&&e.Workbook.WBProps&&(Ib.forEach(function(t){null!=e.Workbook.WBProps[t[0]]&&e.Workbook.WBProps[t[0]]!=t[1]&&(n[t[0]]=e.Workbook.WBProps[t[0]])}),e.Workbook.WBProps.CodeName&&(n.codeName=e.Workbook.WBProps.CodeName,delete n.CodeName)),t[t.length]=yh("workbookPr",null,n);var r=e.Workbook&&e.Workbook.Sheets||[],s=0;if(r&&r[0]&&r[0].Hidden){for(t[t.length]="",s=0;s!=e.SheetNames.length&&r[s]&&r[s].Hidden;++s);s==e.SheetNames.length&&(s=0),t[t.length]='',t[t.length]=""}for(t[t.length]="",s=0;s!=e.SheetNames.length;++s){var i={name:qd(e.SheetNames[s].slice(0,31))};if(i.sheetId=""+(s+1),i["r:id"]="rId"+(s+1),r[s])switch(r[s].Hidden){case 1:i.state="hidden";break;case 2:i.state="veryHidden"}t[t.length]=yh("sheet",null,i)}return t[t.length]="",a&&(t[t.length]="",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(e){var a={name:e.Name};e.Comment&&(a.comment=e.Comment),null!=e.Sheet&&(a.localSheetId=""+e.Sheet),e.Hidden&&(a.hidden="1"),e.Ref&&(t[t.length]=yh("definedName",qd(e.Ref),a))}),t[t.length]=""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Yb(e,t){return t||(t=_p(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),cf(e.strRelID,t),Vp(e.name.slice(0,31),t),t.length>t.l?t.slice(0,t.l):t}function $b(e,t){var a={};return e.read_shift(4),a.ArchID=e.read_shift(4),e.l+=t-8,a}function Gb(e,t){if(t.Workbook&&t.Workbook.Sheets){for(var a,n,r=t.Workbook.Sheets,s=0,i=-1,o=-1;si))Fp(e,135),Fp(e,158,(a=i,n||(n=_p(29)),n.write_shift(-4,0),n.write_shift(-4,460),n.write_shift(4,28800),n.write_shift(4,17600),n.write_shift(4,500),n.write_shift(4,a),n.write_shift(4,a),n.write_shift(1,120),n.length>n.l?n.slice(0,n.l):n)),Fp(e,136)}}function Wb(e,t){var a=Cp();return Fp(a,131),Fp(a,128,function(e,t){t||(t=_p(127));for(var a=0;4!=a;++a)t.write_shift(4,0);return Vp("SheetJS",t),Vp(Bc.version,t),Vp(Bc.version,t),Vp("7262",t),t.length>t.l?t.slice(0,t.l):t}()),Fp(a,153,function(e,t){t||(t=_p(72));var a=0;return e&&e.filterPrivacy&&(a|=8),t.write_shift(4,a),t.write_shift(4,0),nf(e&&e.CodeName||"ThisWorkbook",t),t.slice(0,t.l)}(e.Workbook&&e.Workbook.WBProps||null)),Gb(a,e),function(e,t){Fp(e,143);for(var a=0;a!=t.SheetNames.length;++a)Fp(e,156,Yb({Hidden:t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[a]&&t.Workbook.Sheets[a].Hidden||0,iTabID:a+1,strRelID:"rId"+(a+1),name:t.SheetNames[a]}));Fp(e,144)}(a,e),Fp(a,132),a.end()}function Vb(e,t,a){return".bin"===t.slice(-4)?function(e,t){var a={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""},n=[],r=!1;t||(t={}),t.biff=12;var s=[],i=[[]];return i.SheetNames=[],i.XTI=[],Nw[16]={n:"BrtFRTArchID$",f:$b},Ep(e,function(e,o,l){switch(l){case 156:i.SheetNames.push(e.name),a.Sheets.push(e);break;case 153:a.WBProps=e;break;case 39:null!=e.Sheet&&(t.SID=e.Sheet),e.Ref=Cv(e.Ptg,0,null,i,t),delete t.SID,delete e.Ptg,s.push(e);break;case 1036:case 361:case 2071:case 158:case 143:case 664:case 353:case 3072:case 3073:case 534:case 677:case 157:case 610:case 2050:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 596:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:case 16:break;case 357:case 358:case 355:case 667:i[0].length?i.push([l,e]):i[0]=[l,e],i[i.length-1].XTI=[];break;case 362:0===i.length&&(i[0]=[],i[0].XTI=[]),i[i.length-1].XTI=i[i.length-1].XTI.concat(e),i.XTI=i.XTI.concat(e);break;case 35:case 37:n.push(l),r=!0;break;case 36:case 38:n.pop(),r=!1;break;default:if(o.T);else if(!r||t.WTF&&37!=n[n.length-1]&&35!=n[n.length-1])throw new Error("Unexpected record 0x"+l.toString(16))}},t),Ub(a),a.Names=s,a.supbooks=i,a}(e,a):function(e,t){if(!e)throw new Error("Could not find file");var a={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:""},n=!1,r="xmlns",s={},i=0;if(e.replace(Rd,function(o,l){var c=Yd(o);switch($d(c[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":Ib.forEach(function(e){if(null!=c[e[0]])switch(e[2]){case"bool":a.WBProps[e[0]]=th(c[e[0]]);break;case"int":a.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:a.WBProps[e[0]]=c[e[0]]}}),c.codeName&&(a.WBProps.CodeName=ih(c.codeName));break;case"":delete c[0],a.WBView.push(c);break;case"":case"":n=!0;break;case"":case"":case"":n=!1;break;case"":s.Ref=Vd(ih(e.slice(i,l))),a.Names.push(s);break;case"":delete c[0],a.CalcPr=c;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+c[0]+" in workbook")}return o}),-1===Bh.indexOf(a.xmlns))throw new Error("Unknown Namespace: "+a.xmlns);return Ub(a),a}(e,a)}function Kb(e,t,a,n,r,s,i,o){return".bin"===t.slice(-4)?function(e,t,a,n,r,s,i){if(!e)return e;var o=t||{};n||(n={"!id":{}});var l,c,u,d,h,p,f,m,g,y,v=o.dense?[]:{},b={s:{r:2e6,c:2e6},e:{r:0,c:0}},w=!1,x=!1,k=[];o.biff=12,o["!row"]=0;var _=0,E=!1,C=[],F={},D=o.supbooks||r.supbooks||[[]];if(D.sharedf=F,D.arrayf=C,D.SheetNames=r.SheetNames||r.Sheets.map(function(e){return e.name}),!o.supbooks&&(o.supbooks=D,r.Names))for(var A=0;A=N[0].s.r&&c.r<=N[0].e.r&&p>=N[0].s.c&&p<=N[0].e.c&&(u.F=jp(N[0]),E=!0)}!E&&e.length>3&&(u.f=e[3])}if(b.s.r>c.r&&(b.s.r=c.r),b.s.c>p&&(b.s.c=p),b.e.rc.r&&(b.s.r=c.r),b.s.c>p&&(b.s.c=p),b.e.r=e.s;)S[e.e--]={width:e.w/256,hidden:!!(1&e.flags),level:e.level},P||(P=!0,ay(e.w/256)),ny(S[e.e+1]);break;case 161:v["!autofilter"]={ref:jp(e)};break;case 476:v["!margins"]=e;break;case 147:r.Sheets[a]||(r.Sheets[a]={}),e.name&&(r.Sheets[a].CodeName=e.name),(e.above||e.left)&&(v["!outline"]={above:e.above,left:e.left});break;case 137:r.Views||(r.Views=[{}]),r.Views[0]||(r.Views[0]={}),e.RTL&&(r.Views[0].RTL=!0);break;case 485:case 64:case 1053:case 151:case 152:case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 507:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 3072:case 50:case 2070:case 1045:break;case 35:case 37:w=!0;break;case 36:case 38:w=!1;break;default:if(t.T);else if(!w||o.WTF)throw new Error("Unexpected record 0x"+A.toString(16))}},o),delete o.supbooks,delete o["!row"],!v["!ref"]&&(b.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0))&&(v["!ref"]=jp(l||b)),o.sheetRows&&v["!ref"]){var N=Lp(v["!ref"]);o.sheetRows<=+N.e.r&&(N.e.r=o.sheetRows-1,N.e.r>b.e.r&&(N.e.r=b.e.r),N.e.rb.e.c&&(N.e.c=b.e.c),N.e.c0&&(v["!merges"]=k),S.length>0&&(v["!cols"]=S),I.length>0&&(v["!rows"]=I),v}(e,n,a,r,s,i,o):ob(e,n,a,r,s,i,o)}function Jb(e,t,a,n,r,s,i,o){return".bin"===t.slice(-4)?function(e,t,a,n,r){if(!e)return e;n||(n={"!id":{}});var s={"!type":"chart","!drawel":null,"!rel":""},i=!1;return Ep(e,function(e,n,o){switch(o){case 550:s["!rel"]=e;break;case 651:r.Sheets[a]||(r.Sheets[a]={}),e.name&&(r.Sheets[a].CodeName=e.name);break;case 562:case 652:case 669:case 679:case 551:case 552:case 476:case 3072:case 37:case 38:break;case 35:i=!0;break;case 36:i=!1;break;default:if(n.T>0);else if(n.T<0);else if(!i||t.WTF)throw new Error("Unexpected record 0x"+o.toString(16))}},t),n["!id"][s["!rel"]]&&(s["!drawel"]=n["!id"][s["!rel"]]),s}(e,n,a,r,s):function(e,t,a,n,r){if(!e)return e;n||(n={"!id":{}});var s,i={"!type":"chart","!drawel":null,"!rel":""},o=e.match(rb);return o&&lb(o[0],0,r,a),(s=e.match(/drawing r:id="(.*?)"/))&&(i["!rel"]=s[1]),n["!id"][i["!rel"]]&&(i["!drawel"]=n["!id"][i["!rel"]]),i}(e,0,a,r,s)}function qb(e,t,a,n){return".bin"===t.slice(-4)?function(e,t,a){var n={NumberFmt:[]};for(var r in gu)n.NumberFmt[r]=gu[r];n.CellXf=[],n.Fonts=[];var s=[],i=!1;return Ep(e,function(e,r,o){switch(o){case 44:n.NumberFmt[e[0]]=e[1],Ju(e[1],e[0]);break;case 43:n.Fonts.push(e),null!=e.color.theme&&t&&t.themeElements&&t.themeElements.clrScheme&&(e.color.rgb=qg(t.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0));break;case 1025:case 45:case 46:case 48:case 507:case 572:case 475:case 1171:case 2102:case 1130:case 512:case 2095:case 3072:break;case 47:617==s[s.length-1]&&n.CellXf.push(e);break;case 35:i=!0;break;case 36:i=!1;break;case 37:s.push(o),i=!0;break;case 38:s.pop(),i=!1;break;default:if(r.T>0)s.push(o);else if(r.T<0)s.pop();else if(!i||a.WTF&&37!=s[s.length-1])throw new Error("Unexpected record 0x"+o.toString(16))}}),n}(e,a,n):uy(e,a,n)}function Zb(e,t,a){return".bin"===t.slice(-4)?function(e,t){var a=[],n=!1;return Ep(e,function(e,r,s){switch(s){case 159:a.Count=e[0],a.Unique=e[1];break;case 19:a.push(e);break;case 160:return!0;case 35:n=!0;break;case 36:n=!1;break;default:if(r.T,!n||t.WTF)throw new Error("Unexpected record 0x"+s.toString(16))}}),a}(e,a):function(e,t){var a=[],n="";if(!e)return a;var r=e.match(Ag);if(r){n=r[2].replace(Tg,"").split(Sg);for(var s=0;s!=n.length;++s){var i=Dg(n[s].trim(),t);null!=i&&(a[a.length]=i)}r=Yd(r[1]),a.Count=r.count,a.Unique=r.uniqueCount}return a}(e,a)}function Xb(e,t,a){return".bin"===t.slice(-4)?function(e,t){var a=[],n=[],r={},s=!1;return Ep(e,function(e,i,o){switch(o){case 632:n.push(e);break;case 635:r=e;break;case 637:r.t=e.t,r.h=e.h,r.r=e.r;break;case 636:if(r.author=n[r.iauthor],delete r.iauthor,t.sheetRows&&r.rfx&&t.sheetRows<=r.rfx.r)break;r.t||(r.t=""),delete r.rfx,a.push(r);break;case 3072:case 37:case 38:break;case 35:s=!0;break;case 36:s=!1;break;default:if(i.T);else if(!s||t.WTF)throw new Error("Unexpected record 0x"+o.toString(16))}}),a}(e,a):function(e,t){if(e.match(/<(?:\w+:)?comments *\/>/))return[];var a=[],n=[],r=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);r&&r[1]&&r[1].split(/<\/\w*:?author>/).forEach(function(e){if(""!==e&&""!==e.trim()){var t=e.match(/<(?:\w+:)?author[^>]*>(.*)/);t&&a.push(t[1])}});var s=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);return s&&s[1]&&s[1].split(/<\/\w*:?comment>/).forEach(function(e){if(""!==e&&""!==e.trim()){var r=e.match(/<(?:\w+:)?comment[^>]*>/);if(r){var s=Yd(r[0]),i={author:s.authorId&&a[s.authorId]||"sheetjsghost",ref:s.ref,guid:s.guid},o=Mp(s.ref);if(!(t.sheetRows&&t.sheetRows<=o.r)){var l=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/),c=!!l&&!!l[1]&&Dg(l[1])||{r:"",t:"",h:""};i.r=c.r,""==c.r&&(c.t=c.h=""),i.t=(c.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),t.cellHTML&&(i.h=c.h),n.push(i)}}}}),n}(e,a)}function Qb(e,t,a){return".bin"===t.slice(-4)?function(e){var t=[];return Ep(e,function(e,a,n){if(63===n)t.push(e);else if(!a.T)throw new Error("Unexpected record 0x"+n.toString(16))}),t}(e):function(e){var t=[];if(!e)return t;var a=1;return(e.match(Rd)||[]).forEach(function(e){var n=Yd(e);switch(n[0]){case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":i=2;break;case"":s=!1;break;case"-1?Vd(t||e).replace(/<.*?>/g,""):n.r;break;case"DateTime":"Z"!=e.slice(-1)&&(e+="Z"),n.v=(vd(e)-new Date(Date.UTC(1899,11,30)))/864e5,n.v!=n.v?n.v=Vd(e):n.v<60&&(n.v=n.v-1),u&&"General"!=u||(u="yyyy-mm-dd");case"Number":void 0===n.v&&(n.v=+e),n.t||(n.t="n");break;case"Error":n.t="e",n.v=Af[e],!1!==c.cellText&&(n.w=e);break;default:""==e&&""==t?n.t="z":(n.t="s",n.v=eh(t||e))}if(uw(n,u,c),!1!==c.cellFormula)if(n.Formula){var m=Vd(n.Formula);61==m.charCodeAt(0)&&(m=m.slice(1)),n.f=Ky(m,r),delete n.Formula,"RC"==n.ArrayRange?n.F=Ky("RC:RC",r):n.ArrayRange&&(n.F=Ky(n.ArrayRange,r),l.push([Lp(n.F),n.F]))}else for(f=0;f=l[f][0].s.r&&r.r<=l[f][0].e.r&&r.c>=l[f][0].s.c&&r.c<=l[f][0].e.c&&(n.F=l[f][1]);c.cellStyles&&(p.forEach(function(e){!h.patternType&&e.patternType&&(h.patternType=e.patternType)}),n.s=h),void 0!==n.StyleID&&(n.ixfe=n.StyleID)}function pw(e){e.t=e.v||"",e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e.v=e.w=e.ixfe=void 0}function fw(e,t){var a=t||{};Zu();var n=$c(bh(e));"binary"!=a.type&&"array"!=a.type&&"base64"!=a.type||(n=ih(n));var r,s=n.slice(0,1024).toLowerCase(),i=!1;if((1023&(s=s.replace(/".*?"/g,"")).indexOf(">"))>Math.min(1023&s.indexOf(","),1023&s.indexOf(";"))){var o=wd(a);return o.type="string",wg.to_workbook(n,o)}if(-1==s.indexOf("=0&&(i=!0)}),i)return function(e,t){var a=e.match(/[\s\S]*?<\/table>/gi);if(!a||0==a.length)throw new Error("Invalid HTML: could not find ");if(1==a.length)return Hp(Gw(a[0],t),t);var n={SheetNames:[],Sheets:{}};return a.forEach(function(e,a){rk(n,Gw(e,t),"Sheet"+(a+1))}),n}(n,a);rw={"General Number":"General","General Date":gu[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":gu[15],"Short Date":gu[14],"Long Time":gu[19],"Medium Time":gu[18],"Short Time":gu[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:gu[2],Standard:gu[4],Percent:gu[10],Scientific:gu[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var l,c,u=[],d={},h=[],p=a.dense?[]:{},f="",m={},g={},y=ow(''),v=0,b=0,w=0,x={s:{r:2e6,c:2e6},e:{r:0,c:0}},k={},_={},E="",C=0,F=[],D={},A={},T=0,S=[],I=[],P={},N=[],B=!1,M=[],O=[],U={},j=0,L=0,R={Sheets:[],WBProps:{date1904:!1}},z={};wh.lastIndex=0,n=n.replace(//gm,"");for(var H="";r=wh.exec(n);)switch(r[3]=(H=r[3]).toLowerCase()){case"data":if("data"==H){if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else"/"!==r[0].charAt(r[0].length-2)&&u.push([r[3],!0]);break}if(u[u.length-1][1])break;"/"===r[1]?hw(n.slice(v,r.index),E,y,"comment"==u[u.length-1][0]?P:m,{c:b,r:w},k,N[b],g,M,a):(E="",y=ow(r[0]),v=r.index+r[0].length);break;case"cell":if("/"===r[1])if(I.length>0&&(m.c=I),(!a.sheetRows||a.sheetRows>w)&&void 0!==m.v&&(a.dense?(p[w]||(p[w]=[]),p[w][b]=m):p[Bp(b)+Pp(w)]=m),m.HRef&&(m.l={Target:Vd(m.HRef)},m.HRefScreenTip&&(m.l.Tooltip=m.HRefScreenTip),delete m.HRef,delete m.HRefScreenTip),(m.MergeAcross||m.MergeDown)&&(j=b+(0|parseInt(m.MergeAcross,10)),L=w+(0|parseInt(m.MergeDown,10)),F.push({s:{c:b,r:w},e:{c:j,r:L}})),a.sheetStubs)if(m.MergeAcross||m.MergeDown){for(var Y=b;Y<=j;++Y)for(var $=w;$<=L;++$)(Y>b||$>w)&&(a.dense?(p[$]||(p[$]=[]),p[$][Y]={t:"z"}):p[Bp(Y)+Pp($)]={t:"z"});b=j+1}else++b;else m.MergeAcross?b=j+1:++b;else(m=lw(r[0])).Index&&(b=+m.Index-1),bx.e.c&&(x.e.c=b),"/>"===r[0].slice(-2)&&++b,I=[];break;case"row":"/"===r[1]||"/>"===r[0].slice(-2)?(wx.e.r&&(x.e.r=w),"/>"===r[0].slice(-2)&&(g=ow(r[0])).Index&&(w=+g.Index-1),b=0,++w):((g=ow(r[0])).Index&&(w=+g.Index-1),U={},("0"==g.AutoFitHeight||g.Height)&&(U.hpx=parseInt(g.Height,10),U.hpt=sy(U.hpx),O[w]=U),"1"==g.Hidden&&(U.hidden=!0,O[w]=U));break;case"worksheet":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"));h.push(f),x.s.r<=x.e.r&&x.s.c<=x.e.c&&(p["!ref"]=jp(x),a.sheetRows&&a.sheetRows<=x.e.r&&(p["!fullref"]=p["!ref"],x.e.r=a.sheetRows-1,p["!ref"]=jp(x))),F.length&&(p["!merges"]=F),N.length>0&&(p["!cols"]=N),O.length>0&&(p["!rows"]=O),d[f]=p}else x={s:{r:2e6,c:2e6},e:{r:0,c:0}},w=b=0,u.push([r[3],!1]),l=ow(r[0]),f=Vd(l.Name),p=a.dense?[]:{},F=[],M=[],O=[],z={name:f,Hidden:0},R.Sheets.push(z);break;case"table":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else{if("/>"==r[0].slice(-2))break;u.push([r[3],!1]),N=[],B=!1}break;case"style":"/"===r[1]?dw(k,_,a):_=ow(r[0]);break;case"numberformat":_.nf=Vd(ow(r[0]).Format||"General"),rw[_.nf]&&(_.nf=rw[_.nf]);for(var G=0;392!=G&&gu[G]!=_.nf;++G);if(392==G)for(G=57;392!=G;++G)if(null==gu[G]){Ju(_.nf,G);break}break;case"column":if("table"!==u[u.length-1][0])break;if((c=ow(r[0])).Hidden&&(c.hidden=!0,delete c.Hidden),c.Width&&(c.wpx=parseInt(c.Width,10)),!B&&c.wpx>10){B=!0,Zg=6;for(var W=0;W0&&(J.Sheet=R.Sheets.length-1),R.Names.push(J);break;case"namedcell":case"b":case"i":case"u":case"s":case"em":case"h2":case"h3":case"sub":case"sup":case"span":case"alignment":case"borders":case"border":case"protection":case"paragraphs":case"name":case"pixelsperinch":case"null":break;case"font":if("/>"===r[0].slice(-2))break;"/"===r[1]?E+=n.slice(C,r.index):C=r.index+r[0].length;break;case"interior":if(!a.cellStyles)break;_.Interior=ow(r[0]);break;case"author":case"title":case"description":case"created":case"keywords":case"subject":case"category":case"company":case"lastauthor":case"lastsaved":case"lastprinted":case"version":case"revision":case"totaltime":case"hyperlinkbase":case"manager":case"contentstatus":case"identifier":case"language":case"appname":if("/>"===r[0].slice(-2))break;"/"===r[1]?Qf(D,H,n.slice(T,r.index)):T=r.index+r[0].length;break;case"styles":case"workbook":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else u.push([r[3],!1]);break;case"comment":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"));pw(P),I.push(P)}else u.push([r[3],!1]),P={a:(l=ow(r[0])).Author};break;case"autofilter":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else if("/"!==r[0].charAt(r[0].length-2)){var q=ow(r[0]);p["!autofilter"]={ref:Ky(q.Range).replace(/\$/g,"")},u.push([r[3],!0])}break;case"datavalidation":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else"/"!==r[0].charAt(r[0].length-2)&&u.push([r[3],!0]);break;case"componentoptions":case"documentproperties":case"customdocumentproperties":case"officedocumentsettings":case"pivottable":case"pivotcache":case"names":case"mapinfo":case"pagebreaks":case"querytable":case"sorting":case"schema":case"conditionalformatting":case"smarttagtype":case"smarttags":case"excelworkbook":case"workbookoptions":case"worksheetoptions":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else"/"!==r[0].charAt(r[0].length-2)&&u.push([r[3],!0]);break;default:if(0==u.length&&"document"==r[3])return tx(n,a);if(0==u.length&&"uof"==r[3])return tx(n,a);var Z=!0;switch(u[u.length-1][0]){case"officedocumentsettings":switch(r[3]){case"allowpng":case"removepersonalinformation":case"downloadcomponents":case"locationofcomponents":case"colors":case"color":case"index":case"rgb":case"targetscreensize":case"readonlyrecommended":break;default:Z=!1}break;case"componentoptions":switch(r[3]){case"toolbar":case"hideofficelogo":case"spreadsheetautofit":case"label":case"caption":case"maxheight":case"maxwidth":case"nextsheetnumber":break;default:Z=!1}break;case"excelworkbook":switch(r[3]){case"date1904":R.WBProps.date1904=!0;break;case"windowheight":case"windowwidth":case"windowtopx":case"windowtopy":case"tabratio":case"protectstructure":case"protectwindow":case"protectwindows":case"activesheet":case"displayinknotes":case"firstvisiblesheet":case"supbook":case"sheetname":case"sheetindex":case"sheetindexfirst":case"sheetindexlast":case"dll":case"acceptlabelsinformulas":case"donotsavelinkvalues":case"iteration":case"maxiterations":case"maxchange":case"path":case"xct":case"count":case"selectedsheets":case"calculation":case"uncalced":case"startupprompt":case"crn":case"externname":case"formula":case"colfirst":case"collast":case"wantadvise":case"boolean":case"error":case"text":case"ole":case"noautorecover":case"publishobjects":case"donotcalculatebeforesave":case"number":case"refmoder1c1":case"embedsavesmarttags":break;default:Z=!1}break;case"workbookoptions":switch(r[3]){case"owcversion":case"height":case"width":break;default:Z=!1}break;case"worksheetoptions":switch(r[3]){case"visible":if("/>"===r[0].slice(-2));else if("/"===r[1])switch(n.slice(T,r.index)){case"SheetHidden":z.Hidden=1;break;case"SheetVeryHidden":z.Hidden=2}else T=r.index+r[0].length;break;case"header":p["!margins"]||Vv(p["!margins"]={},"xlml"),isNaN(+Yd(r[0]).Margin)||(p["!margins"].header=+Yd(r[0]).Margin);break;case"footer":p["!margins"]||Vv(p["!margins"]={},"xlml"),isNaN(+Yd(r[0]).Margin)||(p["!margins"].footer=+Yd(r[0]).Margin);break;case"pagemargins":var X=Yd(r[0]);p["!margins"]||Vv(p["!margins"]={},"xlml"),isNaN(+X.Top)||(p["!margins"].top=+X.Top),isNaN(+X.Left)||(p["!margins"].left=+X.Left),isNaN(+X.Right)||(p["!margins"].right=+X.Right),isNaN(+X.Bottom)||(p["!margins"].bottom=+X.Bottom);break;case"displayrighttoleft":R.Views||(R.Views=[]),R.Views[0]||(R.Views[0]={}),R.Views[0].RTL=!0;break;case"freezepanes":case"frozennosplit":case"splithorizontal":case"splitvertical":case"donotdisplaygridlines":case"activerow":case"activecol":case"toprowbottompane":case"leftcolumnrightpane":case"unsynced":case"print":case"printerrors":case"panes":case"scale":case"pane":case"number":case"layout":case"pagesetup":case"selected":case"protectobjects":case"enableselection":case"protectscenarios":case"validprinterinfo":case"horizontalresolution":case"verticalresolution":case"numberofcopies":case"activepane":case"toprowvisible":case"leftcolumnvisible":case"fittopage":case"rangeselection":case"papersizeindex":case"pagelayoutzoom":case"pagebreakzoom":case"filteron":case"fitwidth":case"fitheight":case"commentslayout":case"zoom":case"lefttoright":case"gridlines":case"allowsort":case"allowfilter":case"allowinsertrows":case"allowdeleterows":case"allowinsertcols":case"allowdeletecols":case"allowinserthyperlinks":case"allowformatcells":case"allowsizecols":case"allowsizerows":case"tabcolorindex":case"donotdisplayheadings":case"showpagelayoutzoom":case"blackandwhite":case"donotdisplayzeros":case"displaypagebreak":case"rowcolheadings":case"donotdisplayoutline":case"noorientation":case"allowusepivottables":case"zeroheight":case"viewablerange":case"selection":case"protectcontents":break;case"nosummaryrowsbelowdetail":p["!outline"]||(p["!outline"]={}),p["!outline"].above=!0;break;case"nosummarycolumnsrightdetail":p["!outline"]||(p["!outline"]={}),p["!outline"].left=!0;break;default:Z=!1}break;case"pivottable":case"pivotcache":switch(r[3]){case"immediateitemsondrop":case"showpagemultipleitemlabel":case"compactrowindent":case"location":case"pivotfield":case"orientation":case"layoutform":case"layoutsubtotallocation":case"layoutcompactrow":case"position":case"pivotitem":case"datatype":case"datafield":case"sourcename":case"parentfield":case"ptlineitems":case"ptlineitem":case"countofsameitems":case"item":case"itemtype":case"ptsource":case"cacheindex":case"consolidationreference":case"filename":case"reference":case"nocolumngrand":case"norowgrand":case"blanklineafteritems":case"hidden":case"subtotal":case"basefield":case"mapchilditems":case"function":case"refreshonfileopen":case"printsettitles":case"mergelabels":case"defaultversion":case"refreshname":case"refreshdate":case"refreshdatecopy":case"versionlastrefresh":case"versionlastupdate":case"versionupdateablemin":case"versionrefreshablemin":case"calculation":break;default:Z=!1}break;case"pagebreaks":switch(r[3]){case"colbreaks":case"colbreak":case"rowbreaks":case"rowbreak":case"colstart":case"colend":case"rowend":break;default:Z=!1}break;case"autofilter":switch(r[3]){case"autofiltercolumn":case"autofiltercondition":case"autofilterand":case"autofilteror":break;default:Z=!1}break;case"querytable":switch(r[3]){case"id":case"autoformatfont":case"autoformatpattern":case"querysource":case"querytype":case"enableredirections":case"refreshedinxl9":case"urlstring":case"htmltables":case"connection":case"commandtext":case"refreshinfo":case"notitles":case"nextid":case"columninfo":case"overwritecells":case"donotpromptforfile":case"textwizardsettings":case"source":case"number":case"decimal":case"thousandseparator":case"trailingminusnumbers":case"formatsettings":case"fieldtype":case"delimiters":case"tab":case"comma":case"autoformatname":case"versionlastedit":case"versionlastrefresh":break;default:Z=!1}break;case"datavalidation":switch(r[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":case"cellrangelist":break;default:Z=!1}break;case"sorting":case"conditionalformatting":switch(r[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"cellrangelist":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":break;default:Z=!1}break;case"mapinfo":case"schema":case"data":switch(r[3]){case"map":case"entry":case"range":case"xpath":case"field":case"xsdtype":case"filteron":case"aggregate":case"elementtype":case"attributetype":case"schema":case"element":case"complextype":case"datatype":case"all":case"attribute":case"extends":case"row":break;default:Z=!1}break;case"smarttags":break;default:Z=!1}if(Z)break;if(r[3].match(/!\[CDATA/))break;if(!u[u.length-1][1])throw"Unrecognized tag: "+r[3]+"|"+u.join("|");if("customdocumentproperties"===u[u.length-1][0]){if("/>"===r[0].slice(-2))break;"/"===r[1]?cw(A,H,S,n.slice(T,r.index)):(S=r,T=r.index+r[0].length);break}if(a.WTF)throw"Unrecognized tag: "+r[3]+"|"+u.join("|")}var Q={};return a.bookSheets||a.bookProps||(Q.Sheets=d),Q.SheetNames=h,Q.Workbook=R,Q.SSF=wd(gu),Q.Props=D,Q.Custprops=A,Q}function mw(e,t){switch(Nx(t=t||{}),t.type||"base64"){case"base64":return fw(Jc(e),t);case"binary":case"buffer":case"file":return fw(e,t);case"array":return fw(au(e),t)}}function gw(e,t){var a=[];return e.Props&&a.push(function(e,t){var a=[];return rd(Xf).map(function(e){for(var t=0;t'+r.join("")+""}(e.Props,e.Custprops)),a.join("")}function yw(e){return yh("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+qy(e.Ref,{r:0,c:0})})}function vw(e,t,a,n,r,s,i){if(!e||null==e.v&&null==e.f)return"";var o={};if(e.f&&(o["ss:Formula"]="="+qd(qy(e.f,i))),e.F&&e.F.slice(0,t.length)==t){var l=Mp(e.F.slice(t.length+1));o["ss:ArrayRange"]="RC:R"+(l.r==i.r?"":"["+(l.r-i.r)+"]")+"C"+(l.c==i.c?"":"["+(l.c-i.c)+"]")}if(e.l&&e.l.Target&&(o["ss:HRef"]=qd(e.l.Target),e.l.Tooltip&&(o["x:HRefScreenTip"]=qd(e.l.Tooltip))),a["!merges"])for(var c=a["!merges"],u=0;u!=c.length;++u)c[u].s.c==i.c&&c[u].s.r==i.r&&(c[u].e.c>c[u].s.c&&(o["ss:MergeAcross"]=c[u].e.c-c[u].s.c),c[u].e.r>c[u].s.r&&(o["ss:MergeDown"]=c[u].e.r-c[u].s.r));var d="",h="";switch(e.t){case"z":if(!n.sheetStubs)return"";break;case"n":d="Number",h=String(e.v);break;case"b":d="Boolean",h=e.v?"1":"0";break;case"e":d="Error",h=Df[e.v];break;case"d":d="DateTime",h=new Date(e.v).toISOString(),null==e.z&&(e.z=e.z||gu[14]);break;case"s":d="String",h=((e.v||"")+"").replace(Kd,function(e){return Wd[e]}).replace(Xd,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var p=Kv(n.cellXfs,e,n);o["ss:StyleID"]="s"+(21+p),o["ss:Index"]=i.c+1;var f=null!=e.v?h:"",m="z"==e.t?"":''+f+"";return(e.c||[]).length>0&&(m+=e.c.map(function(e){var t=yh("ss:Data",(e.t||"").replace(/(\r\n|[\r\n])/g," "),{xmlns:"http://www.w3.org/TR/REC-html40"});return yh("Comment",t,{"ss:Author":e.a})}).join("")),yh("Cell",m,o)}function bw(e,t){var a='"}function ww(e,t,a){var n=[],r=a.SheetNames[e],s=a.Sheets[r],i=s?function(e,t,a,n){if(!e)return"";if(!((n||{}).Workbook||{}).Names)return"";for(var r=n.Workbook.Names,s=[],i=0;i0&&n.push(""+i+""),i=s?function(e,t){if(!e["!ref"])return"";var a=Lp(e["!ref"]),n=e["!merges"]||[],r=0,s=[];e["!cols"]&&e["!cols"].forEach(function(e,t){ny(e);var a=!!e.width,n=Wv(t,e),r={"ss:Index":t+1};a&&(r["ss:Width"]=Xg(n.width)),e.hidden&&(r["ss:Hidden"]="1"),s.push(yh("Column",null,r))});for(var i=Array.isArray(e),o=a.s.r;o<=a.e.r;++o){for(var l=[bw(o,(e["!rows"]||[])[o])],c=a.s.c;c<=a.e.c;++c){var u=!1;for(r=0;r!=n.length;++r)if(!(n[r].s.c>c||n[r].s.r>o||n[r].e.c"),l.length>2&&s.push(l.join(""))}return s.join("")}(s,t):"",i.length>0&&n.push("
"+i+"
"),n.push(function(e,t,a,n){if(!e)return"";var r=[];if(e["!margins"]&&(r.push(""),e["!margins"].header&&r.push(yh("Header",null,{"x:Margin":e["!margins"].header})),e["!margins"].footer&&r.push(yh("Footer",null,{"x:Margin":e["!margins"].footer})),r.push(yh("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"})),r.push("")),n&&n.Workbook&&n.Workbook.Sheets&&n.Workbook.Sheets[a])if(n.Workbook.Sheets[a].Hidden)r.push(yh("Visible",1==n.Workbook.Sheets[a].Hidden?"SheetHidden":"SheetVeryHidden",{}));else{for(var s=0;s")}return((((n||{}).Workbook||{}).Views||[])[0]||{}).RTL&&r.push(""),e["!protect"]&&(r.push(mh("ProtectContents","True")),e["!protect"].objects&&r.push(mh("ProtectObjects","True")),e["!protect"].scenarios&&r.push(mh("ProtectScenarios","True")),null==e["!protect"].selectLockedCells||e["!protect"].selectLockedCells?null==e["!protect"].selectUnlockedCells||e["!protect"].selectUnlockedCells||r.push(mh("EnableSelection","UnlockedCells")):r.push(mh("EnableSelection","NoSelection")),[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(t){e["!protect"][t[0]]&&r.push("<"+t[1]+"/>")})),0==r.length?"":yh("WorksheetOptions",r.join(""),{xmlns:Oh})}(s,0,e,a)),n.join("")}function xw(e,t){t||(t={}),e.SSF||(e.SSF=wd(gu)),e.SSF&&(Zu(),qu(e.SSF),t.revssf=od(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF,t.cellXfs=[],Kv(t.cellXfs,{},{revssf:{General:0}}));var a=[];a.push(gw(e,t)),a.push(""),a.push(""),a.push("");for(var n=0;n'];return t.cellXfs.forEach(function(e,t){var n=[];n.push(yh("NumberFormat",null,{"ss:Format":qd(gu[e.numFmtId])}));var r={"ss:ID":"s"+(21+t)};a.push(yh("Style",n.join(""),r))}),yh("Styles",a.join(""))}(0,t),a[3]=function(e){if(!((e||{}).Workbook||{}).Names)return"";for(var t=e.Workbook.Names,a=[],n=0;n40?t:(a.l-=4,t.Reserved1=a.read_shift(0,"lpstr-ansi"),a.length-a.l<=4||1907505652!==(n=a.read_shift(4))?t:(t.UnicodeClipboardFormat=function(e){return vf(e,2)}(a),0==(n=a.read_shift(4))||n>40?t:(a.l-=4,void(t.Reserved2=a.read_shift(0,"lpwstr")))))}var _w=[60,1084,2066,2165,2175];function Ew(e,t,a,n,r){var s=n,i=[],o=a.slice(a.l,a.l+s);if(r&&r.enc&&r.enc.insitu&&o.length>0)switch(e){case 9:case 521:case 1033:case 2057:case 47:case 405:case 225:case 406:case 312:case 404:case 10:case 133:break;default:r.enc.insitu(o)}i.push(o),a.l+=s;for(var l=up(a,a.l),c=Bw[l],u=0;null!=c&&_w.indexOf(l)>-1;)s=up(a,a.l+2),u=a.l+4,2066==l?u+=4:2165!=l&&2175!=l||(u+=12),o=a.slice(u,a.l+4+s),i.push(o),a.l+=4+s,c=Bw[l=up(a,a.l)];var d=ru(i);xp(d,0);var h=0;d.lens=[];for(var p=0;p1||n.sheetRows&&e.r>=n.sheetRows)){if(n.cellStyles&&t.XF&&t.XF.data&&function(e,t,a){var n,r=t.XF.data;r&&r.patternType&&a&&a.cellStyles&&(t.s={},t.s.patternType=r.patternType,(n=Jg(F(r.icvFore)))&&(t.s.fgColor={rgb:n}),(n=Jg(F(r.icvBack)))&&(t.s.bgColor={rgb:n}))}(0,t,n),delete t.ixfe,delete t.XF,a=e,b=Op(e),f&&f.s&&f.e||(f={s:{r:0,c:0},e:{r:0,c:0}}),e.rf.e.r&&(f.e.r=e.r+1),e.c+1>f.e.c&&(f.e.c=e.c+1),n.cellFormula&&t.f)for(var r=0;re.c||x[r][0].s.r>e.r||x[r][0].e.c>8)!==Y)throw new Error("rt mismatch: "+W+"!="+Y);12==G.r&&(e.l+=10,$-=10)}var V={};if(V=10===Y?G.f(e,$,A):Ew(Y,G,e,$,A),0==U&&-1===[9,521,1033,2057].indexOf(O))continue;switch(Y){case 34:u.opts.Date1904=E.WBProps.date1904=V;break;case 134:u.opts.WriteProtect=!0;break;case 47:if(A.enc||(e.l=0),A.enc=V,!t.password)throw new Error("File is password-protected");if(null==V.valid)throw new Error("Encryption scheme unsupported");if(!V.valid)throw new Error("Password is incorrect");break;case 92:A.lastuser=V;break;case 66:var K=Number(V);switch(K){case 21010:K=1200;break;case 32768:K=1e4;break;case 32769:K=1252}Lc(A.codepage=K),z=!0;break;case 317:A.rrtabid=V;break;case 25:A.winlocked=V;break;case 439:u.opts.RefreshAll=V;break;case 12:u.opts.CalcCount=V;break;case 16:u.opts.CalcDelta=V;break;case 17:u.opts.CalcIter=V;break;case 13:u.opts.CalcMode=V;break;case 14:u.opts.CalcPrecision=V;break;case 95:u.opts.CalcSaveRecalc=V;break;case 15:A.CalcRefMode=V;break;case 2211:u.opts.FullCalc=V;break;case 129:V.fDialog&&(h["!type"]="dialog"),V.fBelow||((h["!outline"]||(h["!outline"]={})).above=!0),V.fRight||((h["!outline"]||(h["!outline"]={})).left=!0);break;case 224:k.push(V);break;case 430:B.push([V]),B[B.length-1].XTI=[];break;case 35:case 547:B[B.length-1].push(V);break;case 24:case 536:M={Name:V.Name,Ref:Cv(V.rgce,0,null,B,A)},V.itab>0&&(M.Sheet=V.itab-1),B.names.push(M),B[0]||(B[0]=[],B[0].XTI=[]),B[B.length-1].push(V),"_xlnm._FilterDatabase"==V.Name&&V.itab>0&&V.rgce&&V.rgce[0]&&V.rgce[0][0]&&"PtgArea3d"==V.rgce[0][0][0]&&(R[V.itab-1]={ref:jp(V.rgce[0][0][1][2])});break;case 22:A.ExternCount=V;break;case 23:0==B.length&&(B[0]=[],B[0].XTI=[]),B[B.length-1].XTI=B[B.length-1].XTI.concat(V),B.XTI=B.XTI.concat(V);break;case 2196:if(A.biff<8)break;null!=M&&(M.Comment=V[1]);break;case 18:h["!protect"]=V;break;case 19:0!==V&&A.WTF&&console.error("Password verifier: "+V);break;case 133:p[V.pos]=V,A.snames.push(V.name);break;case 10:if(--U)break;if(f.e){if(f.e.r>0&&f.e.c>0){if(f.e.r--,f.e.c--,h["!ref"]=jp(f),t.sheetRows&&t.sheetRows<=f.e.r){var J=f.e.r;f.e.r=t.sheetRows-1,h["!fullref"]=h["!ref"],h["!ref"]=jp(f),f.e.r=J}f.e.r++,f.e.c++}T.length>0&&(h["!merges"]=T),S.length>0&&(h["!objects"]=S),I.length>0&&(h["!cols"]=I),P.length>0&&(h["!rows"]=P),E.Sheets.push(C)}""===y?v=h:d[y]=h,h=t.dense?[]:{};break;case 9:case 521:case 1033:case 2057:if(8===A.biff&&(A.biff={9:2,521:3,1033:4}[Y]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[V.BIFFVer]||8),A.biffguess=0==V.BIFFVer,0==V.BIFFVer&&4096==V.dt&&(A.biff=5,z=!0,Lc(A.codepage=28591)),8==A.biff&&0==V.BIFFVer&&16==V.dt&&(A.biff=2),U++)break;if(h=t.dense?[]:{},A.biff<8&&!z&&(z=!0,Lc(A.codepage=t.codepage||1252)),A.biff<5||0==V.BIFFVer&&4096==V.dt){""===y&&(y="Sheet1"),f={s:{r:0,c:0},e:{r:0,c:0}};var q={pos:e.l-$,name:y};p[q.pos]=q,A.snames.push(y)}else y=(p[H]||{name:""}).name;32==V.dt&&(h["!type"]="chart"),64==V.dt&&(h["!type"]="macro"),T=[],S=[],A.arrayf=x=[],I=[],P=[],N=!1,C={Hidden:(p[H]||{hs:0}).hs,name:y};break;case 515:case 3:case 2:"chart"==h["!type"]&&(t.dense?(h[V.r]||[])[V.c]:h[Op({c:V.c,r:V.r})])&&++V.c,o={ixfe:V.ixfe,XF:k[V.ixfe]||{},v:V.val,t:"n"},j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 5:case 517:o={ixfe:V.ixfe,XF:k[V.ixfe],v:V.val,t:V.t},j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 638:o={ixfe:V.ixfe,XF:k[V.ixfe],v:V.rknum,t:"n"},j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 189:for(var Z=V.c;Z<=V.C;++Z){var X=V.rkrec[Z-V.c][0];o={ixfe:X,XF:k[X],v:V.rkrec[Z-V.c][1],t:"n"},j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D({c:Z,r:V.r},o,t)}break;case 6:case 518:case 1030:if("String"==V.val){m=V;break}if((o=Fw(V.val,V.cell.ixfe,V.tt)).XF=k[o.ixfe],t.cellFormula){var Q=V.formula;if(Q&&Q[0]&&Q[0][0]&&"PtgExp"==Q[0][0][0]){var ee=Q[0][0][1][0],te=Q[0][0][1][1],ae=Op({r:ee,c:te});w[ae]?o.f=""+Cv(V.formula,0,V.cell,B,A):o.F=((t.dense?(h[ee]||[])[te]:h[ae])||{}).F}else o.f=""+Cv(V.formula,0,V.cell,B,A)}j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D(V.cell,o,t),m=V;break;case 7:case 519:if(!m)throw new Error("String record expects Formula");m.val=V,(o=Fw(V,m.cell.ixfe,"s")).XF=k[o.ixfe],t.cellFormula&&(o.f=""+Cv(m.formula,0,m.cell,B,A)),j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D(m.cell,o,t),m=null;break;case 33:case 545:x.push(V);var ne=Op(V[0].s);if(n=t.dense?(h[V[0].s.r]||[])[V[0].s.c]:h[ne],t.cellFormula&&n){if(!m)break;if(!ne||!n)break;n.f=""+Cv(V[1],0,V[0],B,A),n.F=jp(V[0])}break;case 1212:if(!t.cellFormula)break;if(b){if(!m)break;w[Op(m.cell)]=V[0],((n=t.dense?(h[m.cell.r]||[])[m.cell.c]:h[Op(m.cell)])||{}).f=""+Cv(V[0],0,a,B,A)}break;case 253:o=Fw(g[V.isst].t,V.ixfe,"s"),g[V.isst].h&&(o.h=g[V.isst].h),o.XF=k[o.ixfe],j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 513:t.sheetStubs&&(o={ixfe:V.ixfe,XF:k[V.ixfe],t:"z"},j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t));break;case 190:if(t.sheetStubs)for(var re=V.c;re<=V.C;++re){var se=V.ixfe[re-V.c];o={ixfe:se,XF:k[se],t:"z"},j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D({c:re,r:V.r},o,t)}break;case 214:case 516:case 4:(o=Fw(V.val,V.ixfe,"s")).XF=k[o.ixfe],j>0&&(o.z=L[o.ixfe>>8&63]),Cw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 0:case 512:1===U&&(f=V);break;case 252:g=V;break;case 1054:if(4==A.biff){L[j++]=V[1];for(var ie=0;ie=163&&Ju(V[1],j+163)}else Ju(V[1],V[0]);break;case 30:L[j++]=V;for(var oe=0;oe=163&&Ju(V,j+163);break;case 229:T=T.concat(V);break;case 93:S[V.cmo[0]]=A.lastobj=V;break;case 438:A.lastobj.TxO=V;break;case 127:A.lastobj.ImData=V;break;case 440:for(i=V[0].s.r;i<=V[0].e.r;++i)for(s=V[0].s.c;s<=V[0].e.c;++s)(n=t.dense?(h[i]||[])[s]:h[Op({c:s,r:i})])&&(n.l=V[1]);break;case 2048:for(i=V[0].s.r;i<=V[0].e.r;++i)for(s=V[0].s.c;s<=V[0].e.c;++s)(n=t.dense?(h[i]||[])[s]:h[Op({c:s,r:i})])&&n.l&&(n.l.Tooltip=V[1]);break;case 28:if(A.biff<=5&&A.biff>=2)break;n=t.dense?(h[V[0].r]||[])[V[0].c]:h[Op(V[0])];var le=S[V[2]];n||(t.dense?(h[V[0].r]||(h[V[0].r]=[]),n=h[V[0].r][V[0].c]={t:"z"}):n=h[Op(V[0])]={t:"z"},f.e.r=Math.max(f.e.r,V[0].r),f.s.r=Math.min(f.s.r,V[0].r),f.e.c=Math.max(f.e.c,V[0].c),f.s.c=Math.min(f.s.c,V[0].c)),n.c||(n.c=[]),r={a:V[1],t:le.TxO.t},n.c.push(r);break;case 2173:Uy(k[V.ixfe],V.ext);break;case 125:if(!A.cellStyles)break;for(;V.e>=V.s;)I[V.e--]={width:V.w/256,level:V.level||0,hidden:!!(1&V.flags)},N||(N=!0,ay(V.w/256)),ny(I[V.e+1]);break;case 520:var ce={};null!=V.level&&(P[V.r]=ce,ce.level=V.level),V.hidden&&(P[V.r]=ce,ce.hidden=!0),V.hpt&&(P[V.r]=ce,ce.hpt=V.hpt,ce.hpx=iy(V.hpt));break;case 38:case 39:case 40:case 41:h["!margins"]||Vv(h["!margins"]={}),h["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[Y]]=V;break;case 161:h["!margins"]||Vv(h["!margins"]={}),h["!margins"].header=V.header,h["!margins"].footer=V.footer;break;case 574:V.RTL&&(E.Views[0].RTL=!0);break;case 146:_=V;break;case 2198:c=V;break;case 140:l=V;break;case 442:y?C.CodeName=V||C.name:E.WBProps.CodeName=V||"ThisWorkbook"}}else G||console.error("Missing Info for XLS Record 0x"+Y.toString(16)),e.l+=$}return u.SheetNames=rd(p).sort(function(e,t){return Number(e)-Number(t)}).map(function(e){return p[e].name}),t.bookSheets||(u.Sheets=d),!u.SheetNames.length&&v["!ref"]?(u.SheetNames.push("Sheet1"),u.Sheets&&(u.Sheets.Sheet1=v)):u.Preamble=v,u.Sheets&&R.forEach(function(e,t){u.Sheets[u.SheetNames[t]]["!autofilter"]=e}),u.Strings=g,u.SSF=wd(gu),A.enc&&(u.Encryption=A.enc),c&&(u.Themes=c),u.Metadata={},void 0!==l&&(u.Metadata.Country=l),B.names.length>0&&(E.Names=B.names),u.Workbook=E,u}var Aw="e0859ff2f94f6810ab9108002b27b3d9",Tw="02d5cdd59c2e1b10939708002b2cf9ae",Sw="05d5cdd59c2e1b10939708002b2cf9ae";function Iw(e,t){var a,n,r,s;if(t||(t={}),Nx(t),Rc(),t.codepage&&jc(t.codepage),e.FullPaths){if(td.find(e,"/encryption"))throw new Error("File is password-protected");a=td.find(e,"!CompObj"),n=td.find(e,"/Workbook")||td.find(e,"/Book")}else{switch(t.type){case"base64":e=eu(Jc(e));break;case"binary":e=eu(e);break;case"buffer":break;case"array":Array.isArray(e)||(e=Array.prototype.slice.call(e))}xp(e,0),n={content:e}}if(a&&kw(a),t.bookProps&&!t.bookSheets)r={};else{var i=qc?"buffer":"array";if(n&&n.content)r=Dw(n.content,t);else if((s=td.find(e,"PerfectOffice_MAIN"))&&s.content)r=xg.to_workbook(s.content,(t.type=i,t));else{if(!(s=td.find(e,"NativeContent_MAIN"))||!s.content)throw(s=td.find(e,"MN0"))&&s.content?new Error("Unsupported Works 4 for Mac file"):new Error("Cannot find Workbook stream");r=xg.to_workbook(s.content,(t.type=i,t))}t.bookVBA&&e.FullPaths&&td.find(e,"/_VBA_PROJECT_CUR/VBA/dir")&&(r.vbaraw=function(e){var t=td.utils.cfb_new({root:"R"});return e.FullPaths.forEach(function(a,n){if("/"!==a.slice(-1)&&a.match(/_VBA_PROJECT_CUR/)){var r=a.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");td.utils.cfb_add(t,r,e.FileIndex[n].content)}}),td.write(t)}(e))}var o={};return e.FullPaths&&function(e,t,a){var n=td.find(e,"/!DocumentSummaryInformation");if(n&&n.size>0)try{var r=fm(n,xf,Tw);for(var s in r)t[s]=r[s]}catch(XN){if(a.WTF)throw XN}var i=td.find(e,"/!SummaryInformation");if(i&&i.size>0)try{var o=fm(i,kf,Aw);for(var l in o)null==t[l]&&(t[l]=o[l])}catch(XN){if(a.WTF)throw XN}t.HeadingPairs&&t.TitlesOfParts&&(Vf(t.HeadingPairs,t.TitlesOfParts,t,a),delete t.HeadingPairs,delete t.TitlesOfParts)}(e,o,t),r.Props=r.Custprops=o,t.bookFiles&&(r.cfb=e),r}function Pw(e,t){var a=t||{},n=td.utils.cfb_new({root:"R"}),r="/Workbook";switch(a.bookType||"xls"){case"xls":a.bookType="biff8";case"xla":a.bookType||(a.bookType="xla");case"biff8":r="/Workbook",a.biff=8;break;case"biff5":r="/Book",a.biff=5;break;default:throw new Error("invalid type "+a.bookType+" for XLS CFB")}return td.utils.cfb_add(n,r,$w(e,a)),8==a.biff&&(e.Props||e.Custprops)&&function(e,t){var a,n=[],r=[],s=[],i=0,o=sd(xf,"n"),l=sd(kf,"n");if(e.Props)for(a=rd(e.Props),i=0;i-1||Wf.indexOf(s[i][0])>-1||null!=s[i][1]&&c.push(s[i]);r.length&&td.utils.cfb_add(t,"/SummaryInformation",mm(r,Aw,l,kf)),(n.length||c.length)&&td.utils.cfb_add(t,"/DocumentSummaryInformation",mm(n,Tw,o,xf,c.length?c:null,Sw))}(e,n),8==a.biff&&e.vbaraw&&function(e,t){t.FullPaths.forEach(function(a,n){if(0!=n){var r=a.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");"/"!==r.slice(-1)&&td.utils.cfb_add(e,r,t.FileIndex[n].content)}})}(n,td.read(e.vbaraw,{type:"string"==typeof e.vbaraw?"binary":"buffer"})),n}var Nw={0:{f:function(e,t){var a={},n=e.l+t;a.r=e.read_shift(4),e.l+=4;var r=e.read_shift(2);e.l+=1;var s=e.read_shift(1);return e.l=n,7&s&&(a.level=7&s),16&s&&(a.hidden=!0),32&s&&(a.hpt=r/20),a}},1:{f:function(e){return[Xp(e)]}},2:{f:function(e){return[Xp(e),uf(e),"n"]}},3:{f:function(e){return[Xp(e),e.read_shift(1),"e"]}},4:{f:function(e){return[Xp(e),e.read_shift(1),"b"]}},5:{f:function(e){return[Xp(e),mf(e),"n"]}},6:{f:function(e){return[Xp(e),Wp(e),"str"]}},7:{f:function(e){return[Xp(e),e.read_shift(4),"s"]}},8:{f:function(e,t,a){var n=e.l+t,r=Xp(e);r.r=a["!row"];var s=[r,Wp(e),"str"];if(a.cellFormula){e.l+=2;var i=Pv(e,n-e.l,a);s[3]=Cv(i,0,r,a.supbooks,a)}else e.l=n;return s}},9:{f:function(e,t,a){var n=e.l+t,r=Xp(e);r.r=a["!row"];var s=[r,mf(e),"n"];if(a.cellFormula){e.l+=2;var i=Pv(e,n-e.l,a);s[3]=Cv(i,0,r,a.supbooks,a)}else e.l=n;return s}},10:{f:function(e,t,a){var n=e.l+t,r=Xp(e);r.r=a["!row"];var s=[r,e.read_shift(1),"b"];if(a.cellFormula){e.l+=2;var i=Pv(e,n-e.l,a);s[3]=Cv(i,0,r,a.supbooks,a)}else e.l=n;return s}},11:{f:function(e,t,a){var n=e.l+t,r=Xp(e);r.r=a["!row"];var s=[r,e.read_shift(1),"e"];if(a.cellFormula){e.l+=2;var i=Pv(e,n-e.l,a);s[3]=Cv(i,0,r,a.supbooks,a)}else e.l=n;return s}},12:{f:function(e){return[ef(e)]}},13:{f:function(e){return[ef(e),uf(e),"n"]}},14:{f:function(e){return[ef(e),e.read_shift(1),"e"]}},15:{f:function(e){return[ef(e),e.read_shift(1),"b"]}},16:{f:vb},17:{f:function(e){return[ef(e),Wp(e),"str"]}},18:{f:function(e){return[ef(e),e.read_shift(4),"s"]}},19:{f:Jp},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:function(e,t,a){var n=e.l+t;e.l+=4,e.l+=1;var r=e.read_shift(4),s=of(e),i=Nv(e,0,a),o=rf(e);e.l=n;var l={Name:s,Ptg:i};return r<268435455&&(l.Sheet=r),o&&(l.Comment=o),l}},40:{},42:{},43:{f:function(e,t,a){var n={};n.sz=e.read_shift(2)/20;var r=function(e){var t=e.read_shift(1);return e.l++,{fBold:1&t,fItalic:2&t,fUnderline:4&t,fStrikeout:8&t,fOutline:16&t,fShadow:32&t,fCondense:64&t,fExtend:128&t}}(e);switch(r.fItalic&&(n.italic=1),r.fCondense&&(n.condense=1),r.fExtend&&(n.extend=1),r.fShadow&&(n.shadow=1),r.fOutline&&(n.outline=1),r.fStrikeout&&(n.strike=1),700===e.read_shift(2)&&(n.bold=1),e.read_shift(2)){case 1:n.vertAlign="superscript";break;case 2:n.vertAlign="subscript"}var s=e.read_shift(1);0!=s&&(n.underline=s);var i=e.read_shift(1);i>0&&(n.family=i);var o=e.read_shift(1);switch(o>0&&(n.charset=o),e.l++,n.color=function(e){var t={},a=e.read_shift(1)>>>1,n=e.read_shift(1),r=e.read_shift(2,"i"),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(1);switch(e.l++,a){case 0:t.auto=1;break;case 1:t.index=n;var l=Ff[n];l&&(t.rgb=Jg(l));break;case 2:t.rgb=Jg([s,i,o]);break;case 3:t.theme=n}return 0!=r&&(t.tint=r>0?r/32767:r/32768),t}(e),e.read_shift(1)){case 1:n.scheme="major";break;case 2:n.scheme="minor"}return n.name=Wp(e),n}},44:{f:function(e,t){return[e.read_shift(2),Wp(e)]}},45:{f:gy},46:{f:wy},47:{f:function(e,t){var a=e.l+t,n=e.read_shift(2),r=e.read_shift(2);return e.l=a,{ixfe:n,numFmtId:r}}},48:{},49:{f:function(e){return e.read_shift(4,"i")}},50:{},51:{f:function(e){for(var t=[],a=e.read_shift(4);a-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:dg},62:{f:function(e){return[Xp(e),Jp(e),"is"]}},63:{f:function(e){var t={};t.i=e.read_shift(4);var a={};a.r=e.read_shift(4),a.c=e.read_shift(4),t.r=Op(a);var n=e.read_shift(1);return 2&n&&(t.l="1"),8&n&&(t.a="1"),t}},64:{f:function(){}},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:kp,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:function(e){var t=e.read_shift(2);return e.l+=28,{RTL:32&t}}},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:function(e,t){var a={},n=e[e.l];return++e.l,a.above=!(64&n),a.left=!(128&n),e.l+=18,a.name=af(e),a}},148:{f:gb,p:16},151:{f:function(){}},152:{},153:{f:function(e,t){var a={},n=e.read_shift(4);a.defaultThemeVersion=e.read_shift(4);var r=t>8?Wp(e):"";return r.length>0&&(a.CodeName=r),a.autoCompressPictures=!!(65536&n),a.backupFile=!!(64&n),a.checkCompatibility=!!(4096&n),a.date1904=!!(1&n),a.filterPrivacy=!!(8&n),a.hidePivotFieldList=!!(1024&n),a.promptedSolutions=!!(16&n),a.publishItems=!!(2048&n),a.refreshAllConnections=!!(262144&n),a.saveExternalLinkValues=!!(128&n),a.showBorderUnselectedTables=!!(4&n),a.showInkAnnotation=!!(32&n),a.showObjects=["all","placeholders","none"][n>>13&3],a.showPivotChartFilter=!!(32768&n),a.updateLinks=["userSet","never","always"][n>>8&3],a}},154:{},155:{},156:{f:function(e,t){var a={};return a.Hidden=e.read_shift(4),a.iTabID=e.read_shift(4),a.strRelID=lf(e),a.name=Wp(e),a}},157:{},158:{},159:{T:1,f:function(e){return[e.read_shift(4),e.read_shift(4)]}},160:{T:-1},161:{T:1,f:pf},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:bb},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:function(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:Wp(e)}}},336:{T:-1},337:{f:function(e){return e.l+=4,0!=e.read_shift(4)},T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:lf},357:{},358:{},359:{},360:{T:1},361:{},362:{f:ig},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:function(e,t,a){var n=e.l+t,r=hf(e),s=e.read_shift(1),i=[r];if(i[2]=s,a.cellFormula){var o=Iv(e,n-e.l,a);i[1]=o}else e.l=n;return i}},427:{f:function(e,t,a){var n=e.l+t,r=[pf(e)];if(a.cellFormula){var s=Bv(e,n-e.l,a);r[1]=s,e.l=n}else e.l=n;return r}},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:function(e){var t={};return xb.forEach(function(a){t[a]=mf(e)}),t}},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:function(){}},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:function(e,t){var a=e.l+t,n=pf(e),r=rf(e),s=Wp(e),i=Wp(e),o=Wp(e);e.l=a;var l={rfx:n,relId:r,loc:s,display:o};return i&&(l.Tooltip=i),l}},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:lf},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:Gy},633:{T:1},634:{T:-1},635:{T:1,f:function(e){var t={};t.iauthor=e.read_shift(4);var a=pf(e);return t.rfx=a.s,t.ref=Op(a.s),e.l+=16,t}},636:{T:-1},637:{f:qp},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:function(e,t){return e.l+=10,{name:Wp(e)}}},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:function(){}},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}},Bw={6:{f:Av},10:{f:gm},12:{f:bm},13:{f:bm},14:{f:ym},15:{f:ym},16:{f:mf},17:{f:ym},18:{f:ym},19:{f:bm},20:{f:ag},21:{f:ag},23:{f:ig},24:{f:sg},25:{f:ym},26:{},27:{},28:{f:function(e,t,a){return function(e,t,a){if(!(a.biff<8)){var n=e.read_shift(2),r=e.read_shift(2),s=e.read_shift(2),i=e.read_shift(2),o=Am(e,0,a);return a.biff<8&&e.read_shift(1),[{r:n,c:r},o,i,s]}}(e,0,a)}},29:{},34:{f:ym},35:{f:ng},38:{f:mf},39:{f:mf},40:{f:mf},41:{f:mf},42:{f:ym},43:{f:ym},47:{f:function(e,t,a){var n={Type:a.biff>=8?e.read_shift(2):0};return n.Type?Vg(e,t-2,n):function(e,t,a,n){var r={key:bm(e),verificationBytes:bm(e)};a.password&&(r.verifier=$g(a.password)),n.valid=r.verificationBytes===r.verifier,n.valid&&(n.insitu=Wg(a.password))}(e,a.biff,a,n),n}},49:{f:function(e,t,a){var n={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(a&&a.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10}return n.name=_m(e,0,a),n}},51:{f:bm},60:{},61:{f:function(e){return{Pos:[e.read_shift(2),e.read_shift(2)],Dim:[e.read_shift(2),e.read_shift(2)],Flags:e.read_shift(2),CurTab:e.read_shift(2),FirstTab:e.read_shift(2),Selected:e.read_shift(2),TabRatio:e.read_shift(2)}}},64:{f:ym},65:{f:function(){}},66:{f:bm},77:{},80:{},81:{},82:{},85:{f:bm},89:{},90:{},91:{},92:{f:function(e,t,a){if(a.enc)return e.l+=t,"";var n=e.l,r=Am(e,0,a);return e.read_shift(t+n-e.l),r}},93:{f:function(e,t,a){if(a&&a.biff<8)return function(e,t,a){e.l+=4;var n=e.read_shift(2),r=e.read_shift(2),s=e.read_shift(2);e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=6,t-=36;var i=[];return i.push((lg[n]||kp)(e,t,a)),{cmo:[r,n,s],ft:i}}(e,t,a);var n=$m(e),r=function(e,t){for(var a=e.l+t,n=[];e.l7||t[1]>7)throw new Error("Bad Gutters: "+t.join("|"));return t}},129:{f:function(e,t,a){var n=a&&8==a.biff||2==t?e.read_shift(2):(e.l+=t,0);return{fDialog:16&n,fBelow:64&n,fRight:128&n}}},130:{f:bm},131:{f:ym},132:{f:ym},133:{f:function(e,t,a){var n=e.read_shift(4),r=3&e.read_shift(1),s=e.read_shift(1);switch(s){case 0:s="Worksheet";break;case 1:s="Macrosheet";break;case 2:s="Chartsheet";break;case 6:s="VBAModule"}var i=_m(e,0,a);return 0===i.length&&(i="Sheet1"),{pos:n,hs:r,dt:s,name:i}}},134:{},140:{f:function(e){var t,a=[0,0];return t=e.read_shift(2),a[0]=_f[t]||t,t=e.read_shift(2),a[1]=_f[t]||t,a}},141:{f:bm},144:{},146:{f:function(e){for(var t=e.read_shift(2),a=[];t-- >0;)a.push(Mm(e));return a}},151:{},152:{},153:{},154:{},155:{},156:{f:bm},157:{},158:{},160:{f:pg},161:{f:function(e,t){var a={};return t<32||(e.l+=16,a.header=mf(e),a.footer=mf(e),e.l+=2),a}},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:function(e,t){for(var a=e.l+t-2,n=e.read_shift(2),r=e.read_shift(2),s=[];e.l>2&1,n.data=function(e,t,a,n){var r={},s=e.read_shift(4),i=e.read_shift(4),o=e.read_shift(4),l=e.read_shift(2);return r.patternType=Ef[o>>26],n.cellStyles?(r.alc=7&s,r.fWrap=s>>3&1,r.alcV=s>>4&7,r.fJustLast=s>>7&1,r.trot=s>>8&255,r.cIndent=s>>16&15,r.fShrinkToFit=s>>20&1,r.iReadOrder=s>>22&2,r.fAtrNum=s>>26&1,r.fAtrFnt=s>>27&1,r.fAtrAlc=s>>28&1,r.fAtrBdr=s>>29&1,r.fAtrPat=s>>30&1,r.fAtrProt=s>>31&1,r.dgLeft=15&i,r.dgRight=i>>4&15,r.dgTop=i>>8&15,r.dgBottom=i>>12&15,r.icvLeft=i>>16&127,r.icvRight=i>>23&127,r.grbitDiag=i>>30&3,r.icvTop=127&o,r.icvBottom=o>>7&127,r.icvDiag=o>>14&127,r.dgDiag=o>>21&15,r.icvFore=127&l,r.icvBack=l>>7&127,r.fsxButton=l>>14&1,r):r}(e,0,n.fStyle,a),n}},225:{f:function(e,t){return 0===t||e.read_shift(2),1200}},226:{f:gm},227:{},229:{f:function(e,t){for(var a=[],n=e.read_shift(2);n--;)a.push(Rm(e));return a}},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:function(e,t){for(var a=e.l+t,n=e.read_shift(4),r=e.read_shift(4),s=[],i=0;i!=r&&e.l255)throw new Error("Unexpected SupBook type: "+s);for(var i=Fm(e,s),o=[];n>e.l;)o.push(Dm(e));return[s,r,i,o]}},431:{f:ym},432:{},433:{},434:{},437:{},438:{f:function(e,t,a){var n=e.l,r="";try{e.l+=4;var s=(a.lastobj||{cmo:[0,0]}).cmo[1];-1==[0,5,7,11,12,14].indexOf(s)?e.l+=6:function(e){var t=e.read_shift(1);e.l++;var a=e.read_shift(2);return e.l+=2,[t,a]}(e);var i=e.read_shift(2);e.read_shift(2),bm(e);var o=e.read_shift(2);e.l+=o;for(var l=1;l=(c?i:2*i))break}if(r.length!==i&&r.length!==2*i)throw new Error("cchText: "+i+" != "+r.length);return e.l=n+t,{t:r}}catch(XN){return e.l=n+t,{t:r}}}},439:{f:ym},440:{f:function(e,t){var a=Rm(e);e.l+=16;var n=function(e,t){var a=e.l+t,n=e.read_shift(4);if(2!==n)throw new Error("Unrecognized streamVersion: "+n);var r=e.read_shift(2);e.l+=2;var s,i,o,l,c,u,d="";16&r&&(s=Im(e,e.l)),128&r&&(i=Im(e,e.l)),257&~r||(o=Im(e,e.l)),1==(257&r)&&(l=Sm(e,e.l)),8&r&&(d=Im(e,e.l)),32&r&&(c=e.read_shift(16)),64&r&&(u=em(e)),e.l=a;var h=i||o||l||"";h&&d&&(h+="#"+d),h||(h="#"+d),2&r&&"/"==h.charAt(0)&&"/"!=h.charAt(1)&&(h="file://"+h);var p={Target:h};return c&&(p.guid=c),u&&(p.time=u),s&&(p.Tooltip=s),p}(e,t-24);return[a,n]}},441:{},442:{f:Dm},443:{},444:{f:bm},445:{},446:{},448:{f:gm},449:{f:function(e){return e.read_shift(2),e.read_shift(4)},r:2},450:{f:gm},512:{f:Qm},513:{f:hg},515:{f:function(e,t,a){a.biffguess&&2==a.biff&&(a.biff=5);var n=Om(e),r=mf(e);return n.val=r,n}},516:{f:function(e,t,a){a.biffguess&&2==a.biff&&(a.biff=5),e.l;var n=Om(e);2==a.biff&&e.l++;var r=Dm(e,e.l,a);return n.val=r,n}},517:{f:tg},519:{f:fg},520:{f:function(e){var t={};t.r=e.read_shift(2),t.c=e.read_shift(2),t.cnt=e.read_shift(2)-t.c;var a=e.read_shift(2);e.l+=4;var n=e.read_shift(1);return e.l+=3,7&n&&(t.level=7&n),32&n&&(t.hidden=!0),64&n&&(t.hpt=a/20),t}},523:{},545:{f:og},549:{f:qm},566:{},574:{f:function(e,t,a){return a&&a.biff>=2&&a.biff<5?{}:{RTL:64&e.read_shift(2)}}},638:{f:function(e){var t=e.read_shift(2),a=e.read_shift(2),n=Lm(e);return{r:t,c:a,ixfe:n[0],rknum:n[1]}}},659:{},1048:{},1054:{f:function(e,t,a){return[e.read_shift(2),Am(e,0,a)]}},1084:{},1212:{f:function(e,t,a){var n=Hm(e);e.l++;var r=e.read_shift(1);return[Dv(e,t-=8,a),r,n]}},2048:{f:function(e,t){e.read_shift(2);var a=Rm(e),n=e.read_shift((t-10)/2,"dbcs-cont");return[a,n=n.replace(su,"")]}},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:Vm},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:gm},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:function(e){e.l+=2;var t={cxfs:0,crc:0};return t.cxfs=e.read_shift(2),t.crc=e.read_shift(4),t},r:12},2173:{f:function(e,t){e.l,e.l+=2;var a=e.read_shift(2);e.l+=2;for(var n=e.read_shift(2),r=[];n-- >0;)r.push(Oy(e,e.l));return{ixfe:a,ext:r}},r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:ym,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:function(e,t,a){if(!(a.biff<8)){var n=e.read_shift(2),r=e.read_shift(2);return[Fm(e,n,a),Fm(e,r,a)]}e.l+=t},r:12},2197:{},2198:{f:function(e,t,a){var n=e.l+t;if(124226!==e.read_shift(4))if(a.cellStyles){var r,s=e.slice(e.l);e.l=n;try{r=Md(s,{type:"array"})}catch(XN){return}var i=Id(r,"theme/theme/theme1.xml",!0);if(i)return Ny(i,a)}else e.l=n},r:12},2199:{},2200:{},2201:{},2202:{f:function(e){return[0!==e.read_shift(4),0!==e.read_shift(4),e.read_shift(4)]},r:12},2203:{f:gm},2204:{},2205:{},2206:{},2207:{},2211:{f:function(e){var t=function(e){var t=e.read_shift(2),a=e.read_shift(2);return e.l+=8,{type:t,flags:a}}(e);if(2211!=t.type)throw new Error("Invalid Future Record "+t.type);return 0!==e.read_shift(4)}},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:bm},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:function(e,t,a){var n={area:!1};if(5!=a.biff)return e.l+=t,n;var r=e.read_shift(1);return e.l+=3,16&r&&(n.area=!0),n}},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:function(e){for(var t=e.read_shift(2),a=[];t-- >0;)a.push(Mm(e));return a}},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:Qm},1:{},2:{f:function(e){var t=Om(e);++e.l;var a=e.read_shift(2);return t.t="n",t.val=a,t}},3:{f:function(e){var t=Om(e);++e.l;var a=mf(e);return t.t="n",t.val=a,t}},4:{f:function(e,t,a){a.biffguess&&5==a.biff&&(a.biff=2);var n=Om(e);++e.l;var r=Am(e,0,a);return n.t="str",n.val=r,n}},5:{f:tg},7:{f:function(e){var t=e.read_shift(1);return 0===t?(e.l++,""):e.read_shift(t,"sbcs-cont")}},8:{},9:{f:Vm},11:{},22:{f:bm},30:{f:Xm},31:{},32:{},33:{f:og},36:{},37:{f:qm},50:{f:function(e,t){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=t-13}},62:{},52:{},67:{},68:{f:bm},69:{},86:{},126:{},127:{f:function(e){var t=e.read_shift(2),a=e.read_shift(2),n=e.read_shift(4),r={fmt:t,env:a,len:n,data:e.slice(e.l,e.l+n)};return e.l+=n,r}},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:function(e,t,a){var n=e.l+t,r=Om(e),s=e.read_shift(2),i=Fm(e,s,a);return e.l=n,r.t="str",r.val=i,r}},223:{},234:{},354:{},421:{},518:{f:Av},521:{f:Vm},536:{f:sg},547:{f:ng},561:{},579:{},1030:{f:Av},1033:{f:Vm},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function Mw(e,t,a,n){var r=t;if(!isNaN(r)){var s=n||(a||[]).length||0,i=e.next(4);i.write_shift(2,r),i.write_shift(2,s),s>0&&lp(a)&&e.push(a)}}function Ow(e,t,a){return e||(e=_p(7)),e.write_shift(2,t),e.write_shift(2,a),e.write_shift(2,0),e.write_shift(1,0),e}function Uw(e,t,a,n){if(null!=t.v)switch(t.t){case"d":case"n":var r="d"==t.t?cd(vd(t.v)):t.v;return void(r==(0|r)&&r>=0&&r<65536?Mw(e,2,(s=a,i=n,o=r,l=_p(9),Ow(l,s,i),l.write_shift(2,o),l)):Mw(e,3,function(e,t,a){var n=_p(15);return Ow(n,e,t),n.write_shift(8,a,"f"),n}(a,n,r)));case"b":case"e":return void Mw(e,5,function(e,t,a,n){var r=_p(9);return Ow(r,e,t),km(a,n||"b",r),r}(a,n,t.v,t.t));case"s":case"str":return void Mw(e,4,function(e,t,a){var n=_p(8+2*a.length);return Ow(n,e,t),n.write_shift(1,a.length),n.write_shift(a.length,a,"sbcs"),n.l255||i.e.r>16383){if(n.WTF)throw new Error("Range "+(t["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255),i.e.r=Math.min(i.e.c,16383),r=jp(i)}for(var c=i.s.r;c<=i.e.r;++c){o=Pp(c);for(var u=i.s.c;u<=i.e.c;++u){c===i.s.r&&(l[u]=Bp(u)),r=l[u]+o;var d=s?(t[c]||[])[u]:t[r];d&&Uw(e,d,c,u)}}}(n,e.Sheets[e.SheetNames[r]],0,a),Mw(n,10),n.end()}function Lw(e,t,a){Mw(e,49,function(e,t){var a=e.name||"Arial",n=t&&5==t.biff,r=_p(n?15+a.length:16+2*a.length);return r.write_shift(2,20*e.sz),r.write_shift(4,0),r.write_shift(2,400),r.write_shift(4,0),r.write_shift(2,0),r.write_shift(1,a.length),n||r.write_shift(1,1),r.write_shift((n?1:2)*a.length,a,n?"sbcs":"utf16le"),r}({sz:12,name:"Arial"},a))}function Rw(e,t){if(t){var a=0;t.forEach(function(t,n){++a<=256&&t&&Mw(e,125,function(e,t){var a=_p(12);a.write_shift(2,t),a.write_shift(2,t),a.write_shift(2,256*e.width),a.write_shift(2,0);var n=0;return e.hidden&&(n|=1),a.write_shift(1,n),n=e.level||0,a.write_shift(1,n),a.write_shift(2,0),a}(Wv(n,t),n))})}}function zw(e,t,a,n,r){var s=16+Kv(r.cellXfs,t,r);if(null!=t.v||t.bf)if(t.bf)Mw(e,6,Tv(t,a,n,0,s));else switch(t.t){case"d":case"n":Mw(e,515,function(e,t,a,n){var r=_p(14);return Um(e,t,n,r),gf(a,r),r}(a,n,"d"==t.t?cd(vd(t.v)):t.v,s));break;case"b":case"e":Mw(e,517,function(e,t,a,n,r,s){var i=_p(8);return Um(e,t,n,i),km(a,s,i),i}(a,n,t.v,s,0,t.t));break;case"s":case"str":if(r.bookSST)Mw(e,253,function(e,t,a,n){var r=_p(10);return Um(e,t,n,r),r.write_shift(4,a),r}(a,n,Gv(r.Strings,t.v,r.revStrings),s));else Mw(e,516,function(e,t,a,n,r){var s=!r||8==r.biff,i=_p(+s+8+(1+s)*a.length);return Um(e,t,n,i),i.write_shift(2,a.length),s&&i.write_shift(1,1),i.write_shift((1+s)*a.length,a,s?"utf16le":"sbcs"),i}(a,n,(t.v||"").slice(0,255),s,r));break;default:Mw(e,513,Um(a,n,s))}else Mw(e,513,Um(a,n,s))}function Hw(e,t,a){var n,r,s=Cp(),i=a.SheetNames[e],o=a.Sheets[i]||{},l=(a||{}).Workbook||{},c=(l.Sheets||[])[e]||{},u=Array.isArray(o),d=8==t.biff,h="",p=[],f=Lp(o["!ref"]||"A1"),m=d?65536:16384;if(f.e.c>255||f.e.r>=m){if(t.WTF)throw new Error("Range "+(o["!ref"]||"A1")+" exceeds format limit A1:IV16384");f.e.c=Math.min(f.e.c,255),f.e.r=Math.min(f.e.c,m-1)}Mw(s,2057,Km(0,16,t)),Mw(s,13,wm(1)),Mw(s,12,wm(100)),Mw(s,15,vm(!0)),Mw(s,17,vm(!1)),Mw(s,16,gf(.001)),Mw(s,95,vm(!0)),Mw(s,42,vm(!1)),Mw(s,43,vm(!1)),Mw(s,130,wm(1)),Mw(s,128,((r=_p(8)).write_shift(4,0),r.write_shift(2,0),r.write_shift(2,0),r)),Mw(s,131,vm(!1)),Mw(s,132,vm(!1)),d&&Rw(s,o["!cols"]),Mw(s,512,function(e,t){var a=8!=t.biff&&t.biff?2:4,n=_p(2*a+6);return n.write_shift(a,e.s.r),n.write_shift(a,e.e.r+1),n.write_shift(2,e.s.c),n.write_shift(2,e.e.c+1),n.write_shift(2,0),n}(f,t)),d&&(o["!links"]=[]);for(var g=f.s.r;g<=f.e.r;++g){h=Pp(g);for(var y=f.s.c;y<=f.e.c;++y){g===f.s.r&&(p[y]=Bp(y)),n=p[y]+h;var v=u?(o[g]||[])[y]:o[n];v&&(zw(s,v,g,y,t),d&&v.l&&o["!links"].push([n,v.l]))}}var b=c.CodeName||c.name||i;return d&&Mw(s,574,function(e){var t=_p(18),a=1718;return e&&e.RTL&&(a|=64),t.write_shift(2,a),t.write_shift(4,0),t.write_shift(4,64),t.write_shift(4,0),t.write_shift(4,0),t}((l.Views||[])[0])),d&&(o["!merges"]||[]).length&&Mw(s,229,function(e){var t=_p(2+8*e.length);t.write_shift(2,e.length);for(var a=0;a255&&"undefined"!=typeof console&&console.error&&console.error("Worksheet '"+e.SheetNames[a]+"' extends beyond column IV (255). Data may be lost.")}var r=t||{};switch(r.biff||2){case 8:case 5:return function(e,t){var a=t||{},n=[];e&&!e.SSF&&(e.SSF=wd(gu)),e&&e.SSF&&(Zu(),qu(e.SSF),a.revssf=od(e.SSF),a.revssf[e.SSF[65535]]=0,a.ssf=e.SSF),a.Strings=[],a.Strings.Count=0,a.Strings.Unique=0,Bx(a),a.cellXfs=[],Kv(a.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});for(var r=0;r/g,"")).match(/");var s=e.match(/<\/table/i),i=r.index,o=s&&s.index||e.length,l=Cd(e.slice(i,o),/(:?]*>)/i,""),c=-1,u=0,d=0,h=0,p={s:{r:1e7,c:1e7},e:{r:0,c:0}},f=[];for(i=0;i/i);for(o=0;o"))>-1;)b=b.slice(w+1);for(var x=0;x")));h=_.colspan?+_.colspan:1,((d=+_.rowspan)>1||h>1)&&f.push({s:{r:c,c:u},e:{r:c+(d||1)-1,c:u+h-1}});var E=_.t||_["data-t"]||"";if(b.length)if(b=ch(b),p.s.r>c&&(p.s.r=c),p.e.ru&&(p.s.c=u),p.e.ca||r[c].s.c>i||r[c].e.r1&&(p.rowspan=o),l>1&&(p.colspan=l),n.editable?h=''+h+"":d&&(p["data-t"]=d&&d.t||"z",null!=d.v&&(p["data-v"]=d.v),null!=d.z&&(p["data-z"]=d.z),d.l&&"#"!=(d.l.Target||"#").charAt(0)&&(h=''+h+"")),p.id=(n.id||"sjs")+"-"+u,s.push(yh("td",h,p))}}return""+s.join("")+""}function Vw(e,t){var a=t||{},n=null!=a.header?a.header:'SheetJS Table Export',r=null!=a.footer?a.footer:"",s=[n],i=Up(e["!ref"]);a.dense=Array.isArray(e),s.push(function(e,t,a){return[].join("")+""}(0,0,a));for(var o=i.s.r;o<=i.e.r;++o)s.push(Ww(e,i,o,a));return s.push("
"+r),s.join("")}function Kw(e,t,a){var n=a||{},r=0,s=0;if(null!=n.origin)if("number"==typeof n.origin)r=n.origin;else{var i="string"==typeof n.origin?Mp(n.origin):n.origin;r=i.r,s=i.c}var o=t.getElementsByTagName("tr"),l=Math.min(n.sheetRows||1e7,o.length),c={s:{r:0,c:0},e:{r:r,c:s}};if(e["!ref"]){var u=Up(e["!ref"]);c.s.r=Math.min(c.s.r,u.s.r),c.s.c=Math.min(c.s.c,u.s.c),c.e.r=Math.max(c.e.r,u.e.r),c.e.c=Math.max(c.e.c,u.e.c),-1==r&&(c.e.r=r=u.e.r+1)}var d=[],h=0,p=e["!rows"]||(e["!rows"]=[]),f=0,m=0,g=0,y=0,v=0,b=0;for(e["!cols"]||(e["!cols"]=[]);f1||b>1)&&d.push({s:{r:m+r,c:y+s},e:{r:m+r+(v||1)-1,c:y+s+(b||1)-1}});var F={t:"s",v:_},D=k.getAttribute("data-t")||k.getAttribute("t")||"";null!=_&&(0==_.length?F.t=D||"z":n.raw||0==_.trim().length||"s"==D||("TRUE"===_?F={t:"b",v:!0}:"FALSE"===_?F={t:"b",v:!1}:isNaN(kd(_))?isNaN(Ed(_).getDate())||(F={t:"d",v:vd(_)},n.cellDates||(F={t:"n",v:cd(F.v)}),F.z=n.dateNF||gu[14]):F={t:"n",v:kd(_)})),void 0===F.z&&null!=E&&(F.z=E);var A="",T=k.getElementsByTagName("A");if(T&&T.length)for(var S=0;S=l&&(e["!fullref"]=jp((c.e.r=o.length-f+m-1+r,c))),e}function Jw(e,t){return Kw((t||{}).dense?[]:{},e,t)}function qw(e){var t="",a=function(e){return e.ownerDocument.defaultView&&"function"==typeof e.ownerDocument.defaultView.getComputedStyle?e.ownerDocument.defaultView.getComputedStyle:"function"==typeof getComputedStyle?getComputedStyle:null}(e);return a&&(t=a(e).getPropertyValue("display")),t||(t=e.style&&e.style.display),"none"===t}function Zw(e){var t=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,t){return Array(parseInt(t,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");return[Vd(t.replace(/<[^>]*>/g,""))]}var Xw={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function Qw(e,t){var a,n,r,s,i,o,l=t||{},c=bh(e),u=[],d={name:""},h="",p=0,f={},m=[],g=l.dense?[]:{},y={value:""},v="",b=0,w=[],x=-1,k=-1,_={s:{r:1e6,c:1e7},e:{r:0,c:0}},E=0,C={},F=[],D={},A=[],T=1,S=1,I=[],P={Names:[]},N={},B=["",""],M=[],O={},U="",j=0,L=!1,R=!1,z=0;for(wh.lastIndex=0,c=c.replace(//gm,"").replace(//gm,"");i=wh.exec(c);)switch(i[3]=i[3].replace(/_.*$/,"")){case"table":case"工作表":"/"===i[1]?(_.e.c>=_.s.c&&_.e.r>=_.s.r?g["!ref"]=jp(_):g["!ref"]="A1:A1",l.sheetRows>0&&l.sheetRows<=_.e.r&&(g["!fullref"]=g["!ref"],_.e.r=l.sheetRows-1,g["!ref"]=jp(_)),F.length&&(g["!merges"]=F),A.length&&(g["!rows"]=A),r.name=r["名称"]||r.name,"undefined"!=typeof JSON&&JSON.stringify(r),m.push(r.name),f[r.name]=g,R=!1):"/"!==i[0].charAt(i[0].length-2)&&(r=Yd(i[0],!1),x=k=-1,_.s.r=_.s.c=1e7,_.e.r=_.e.c=0,g=l.dense?[]:{},F=[],A=[],R=!0);break;case"table-row-group":"/"===i[1]?--E:++E;break;case"table-row":case"行":if("/"===i[1]){x+=T,T=1;break}if((s=Yd(i[0],!1))["行号"]?x=s["行号"]-1:-1==x&&(x=0),(T=+s["number-rows-repeated"]||1)<10)for(z=0;z0&&(A[x+z]={level:E});k=-1;break;case"covered-table-cell":"/"!==i[1]&&++k,l.sheetStubs&&(l.dense?(g[x]||(g[x]=[]),g[x][k]={t:"z"}):g[Op({r:x,c:k})]={t:"z"}),v="",w=[];break;case"table-cell":case"数据":if("/"===i[0].charAt(i[0].length-2))++k,y=Yd(i[0],!1),S=parseInt(y["number-columns-repeated"]||"1",10),o={t:"z",v:null},y.formula&&0!=l.cellFormula&&(o.f=jv(Vd(y.formula))),"string"==(y["数据类型"]||y["value-type"])&&(o.t="s",o.v=Vd(y["string-value"]||""),l.dense?(g[x]||(g[x]=[]),g[x][k]=o):g[Op({r:x,c:k})]=o),k+=S-1;else if("/"!==i[1]){v="",b=0,w=[],S=1;var H=T?x+T-1:x;if(++k>_.e.c&&(_.e.c=k),k<_.s.c&&(_.s.c=k),x<_.s.r&&(_.s.r=x),H>_.e.r&&(_.e.r=H),M=[],O={},o={t:(y=Yd(i[0],!1))["数据类型"]||y["value-type"],v:null},l.cellFormula)if(y.formula&&(y.formula=Vd(y.formula)),y["number-matrix-columns-spanned"]&&y["number-matrix-rows-spanned"]&&(D={s:{r:x,c:k},e:{r:x+(parseInt(y["number-matrix-rows-spanned"],10)||0)-1,c:k+(parseInt(y["number-matrix-columns-spanned"],10)||0)-1}},o.F=jp(D),I.push([D,o.F])),y.formula)o.f=jv(y.formula);else for(z=0;z=I[z][0].s.r&&x<=I[z][0].e.r&&k>=I[z][0].s.c&&k<=I[z][0].e.c&&(o.F=I[z][1]);switch((y["number-columns-spanned"]||y["number-rows-spanned"])&&(D={s:{r:x,c:k},e:{r:x+(parseInt(y["number-rows-spanned"],10)||0)-1,c:k+(parseInt(y["number-columns-spanned"],10)||0)-1}},F.push(D)),y["number-columns-repeated"]&&(S=parseInt(y["number-columns-repeated"],10)),o.t){case"boolean":o.t="b",o.v=th(y["boolean-value"]);break;case"float":case"percentage":case"currency":o.t="n",o.v=parseFloat(y.value);break;case"date":o.t="d",o.v=vd(y["date-value"]),l.cellDates||(o.t="n",o.v=cd(o.v)),o.z="m/d/yy";break;case"time":o.t="n",o.v=fd(y["time-value"])/86400,l.cellDates&&(o.t="d",o.v=pd(o.v)),o.z="HH:MM:SS";break;case"number":o.t="n",o.v=parseFloat(y["数据数值"]);break;default:if("string"!==o.t&&"text"!==o.t&&o.t)throw new Error("Unsupported value type "+o.t);o.t="s",null!=y["string-value"]&&(v=Vd(y["string-value"]),w=[])}}else{if(L=!1,"s"===o.t&&(o.v=v||"",w.length&&(o.R=w),L=0==b),N.Target&&(o.l=N),M.length>0&&(o.c=M,M=[]),v&&!1!==l.cellText&&(o.w=v),L&&(o.t="z",delete o.v),(!L||l.sheetStubs)&&!(l.sheetRows&&l.sheetRows<=x))for(var Y=0;Y0;)g[x+Y][k+S]=wd(o);else for(g[Op({r:x+Y,c:k})]=o;--S>0;)g[Op({r:x+Y,c:k+S})]=wd(o);_.e.c<=k&&(_.e.c=k)}k+=(S=parseInt(y["number-columns-repeated"]||"1",10))-1,S=0,o={},v="",w=[]}N={};break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":case"font-face-decls":case"master-styles":if("/"===i[1]){if((a=u.pop())[0]!==i[3])throw"Bad state: "+a}else"/"!==i[0].charAt(i[0].length-2)&&u.push([i[3],!0]);break;case"annotation":if("/"===i[1]){if((a=u.pop())[0]!==i[3])throw"Bad state: "+a;O.t=v,w.length&&(O.R=w),O.a=U,M.push(O)}else"/"!==i[0].charAt(i[0].length-2)&&u.push([i[3],!1]);U="",j=0,v="",b=0,w=[];break;case"creator":"/"===i[1]?U=c.slice(j,i.index):j=i.index+i[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":case"chart":if("/"===i[1]){if((a=u.pop())[0]!==i[3])throw"Bad state: "+a}else"/"!==i[0].charAt(i[0].length-2)&&u.push([i[3],!1]);v="",b=0,w=[];break;case"scientific-number":case"currency-symbol":case"currency-style":case"script":case"libraries":case"automatic-styles":case"default-style":case"page-layout":case"style":case"map":case"font-face":case"paragraph-properties":case"table-properties":case"table-column-properties":case"table-row-properties":case"table-cell-properties":case"fraction":case"boolean-style":case"boolean":case"text-style":case"text-content":case"text-properties":case"embedded-text":case"body":case"电子表格":case"forms":case"table-column":case"table-header-rows":case"table-rows":case"table-column-group":case"table-header-columns":case"table-columns":case"null-date":case"graphic-properties":case"calculation-settings":case"named-expressions":case"label-range":case"label-ranges":case"named-expression":case"sort":case"sort-by":case"sort-groups":case"tab":case"line-break":case"span":case"s":case"date":case"object":case"title":case"标题":case"desc":case"binary-data":case"table-source":case"scenario":case"iteration":case"content-validations":case"content-validation":case"help-message":case"error-message":case"database-ranges":case"filter":case"filter-and":case"filter-or":case"filter-condition":case"list-level-style-bullet":case"list-level-style-number":case"list-level-properties":case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":case"event-listener":case"initial-creator":case"creation-date":case"print-date":case"generator":case"document-statistic":case"user-defined":case"editing-duration":case"editing-cycles":case"config-item":case"page-number":case"page-count":case"time":case"cell-range-source":case"detective":case"operation":case"highlighted-range":case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":case"rect":case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":case"properties":case"property":case"table-protection":case"data-pilot-grand-total":case"office-document-common-attrs":break;case"number-style":case"percentage-style":case"date-style":case"time-style":if("/"===i[1]){if(C[d.name]=h,(a=u.pop())[0]!==i[3])throw"Bad state: "+a}else"/"!==i[0].charAt(i[0].length-2)&&(h="",d=Yd(i[0],!1),u.push([i[3],!0]));break;case"number":case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(u[u.length-1][0]){case"time-style":case"date-style":n=Yd(i[0],!1),h+=Xw[i[3]]["long"===n.style?1:0]}break;case"text":if("/>"===i[0].slice(-2))break;if("/"===i[1])switch(u[u.length-1][0]){case"number-style":case"date-style":case"time-style":h+=c.slice(p,i.index)}else p=i.index+i[0].length;break;case"named-range":B=Rv((n=Yd(i[0],!1))["cell-range-address"]);var $={Name:n.name,Ref:B[0]+"!"+B[1]};R&&($.Sheet=m.length),P.Names.push($);break;case"p":case"文本串":if(["master-styles"].indexOf(u[u.length-1][0])>-1)break;if("/"!==i[1]||y&&y["string-value"])Yd(i[0],!1),b=i.index+i[0].length;else{var G=Zw(c.slice(b,i.index));v=(v.length>0?v+"\n":"")+G[0]}break;case"database-range":if("/"===i[1])break;try{f[(B=Rv(Yd(i[0])["target-range-address"]))[0]]["!autofilter"]={ref:B[1]}}catch(XN){}break;case"a":if("/"!==i[1]){if(!(N=Yd(i[0],!1)).href)break;N.Target=Vd(N.href),delete N.href,"#"==N.Target.charAt(0)&&N.Target.indexOf(".")>-1?(B=Rv(N.Target.slice(1)),N.Target="#"+B[0]+"!"+B[1]):N.Target.match(/^\.\.[\\\/]/)&&(N.Target=N.Target.slice(3))}break;default:switch(i[2]){case"dc:":case"calcext:":case"loext:":case"ooo:":case"chartooo:":case"draw:":case"style:":case"chart:":case"form:":case"uof:":case"表:":case"字:":break;default:if(l.WTF)throw new Error(i)}}var W={Sheets:f,SheetNames:m,Workbook:P};return l.bookSheets&&delete W.Sheets,W}function ex(e,t){t=t||{},Ad(e,"META-INF/manifest.xml")&&function(e,t){for(var a,n,r=bh(e);a=wh.exec(r);)switch(a[3]){case"manifest":break;case"file-entry":if("/"==(n=Yd(a[0],!1)).path&&"application/vnd.oasis.opendocument.spreadsheet"!==n.type)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(t&&t.WTF)throw a}}(Sd(e,"META-INF/manifest.xml"),t);var a=Id(e,"content.xml");if(!a)throw new Error("Missing content.xml in ODS / UOF file");var n=Qw(ih(a),t);return Ad(e,"meta.xml")&&(n.Props=Hf(Sd(e,"meta.xml"))),n}function tx(e,t){return Qw(e,t)}var ax=function(){var e=["",'',"",'',"",'',"",""].join(""),t=""+e+"";return function(){return Ud+t}}(),nx=function(){var e=function(e){return qd(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")},t=" \n",a=function(a,n,r){var s=[];s.push(' \n');var i=0,o=0,l=Up(a["!ref"]||"A1"),c=a["!merges"]||[],u=0,d=Array.isArray(a);if(a["!cols"])for(o=0;o<=l.e.c;++o)s.push(" \n");var h="",p=a["!rows"]||[];for(i=0;i\n");for(;i<=l.e.r;++i){for(h=p[i]?' table:style-name="ro'+p[i].ods+'"':"",s.push(" \n"),o=0;oo||c[u].s.r>i||c[u].e.c\n");else{var y=Op({r:i,c:o}),v=d?(a[i]||[])[o]:a[y];if(v&&v.f&&(m["table:formula"]=qd(Lv(v.f)),v.F&&v.F.slice(0,y.length)==y)){var b=Up(v.F);m["table:number-matrix-columns-spanned"]=b.e.c-b.s.c+1,m["table:number-matrix-rows-spanned"]=b.e.r-b.s.r+1}if(v){switch(v.t){case"b":g=v.v?"TRUE":"FALSE",m["office:value-type"]="boolean",m["office:boolean-value"]=v.v?"true":"false";break;case"n":g=v.w||String(v.v||0),m["office:value-type"]="float",m["office:value"]=v.v||0;break;case"s":case"str":g=null==v.v?"":v.v,m["office:value-type"]="string";break;case"d":g=v.w||vd(v.v).toISOString(),m["office:value-type"]="date",m["office:date-value"]=vd(v.v).toISOString(),m["table:style-name"]="ce1";break;default:s.push(t);continue}var w=e(g);if(v.l&&v.l.Target){var x=v.l.Target;"#"==(x="#"==x.charAt(0)?"#"+zv(x.slice(1)):x).charAt(0)||x.match(/^\w+:/)||(x="../"+x),w=yh("text:a",w,{"xlink:href":x.replace(/&/g,"&")})}s.push(" "+yh("table:table-cell",yh("text:p",w,{}),m)+"\n")}else s.push(t)}}s.push(" \n")}return s.push(" \n"),s.join("")};return function(e,t){var n=[Ud],r=gh({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"}),s=gh({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});"fods"==t.bookType?(n.push("\n"),n.push(Lf().replace(/office:document-meta/g,"office:meta"))):n.push("\n"),function(e,t){e.push(" \n"),e.push(' \n'),e.push(' \n'),e.push(" /\n"),e.push(' \n'),e.push(" /\n"),e.push(" \n"),e.push(" \n");var a=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!cols"])for(var n=0;n\n'),e.push(' \n'),e.push(" \n"),++a}});var n=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!rows"])for(var a=0;a\n'),e.push(' \n'),e.push(" \n"),++n}}),e.push(' \n'),e.push(' \n'),e.push(" \n"),e.push(' \n'),e.push(" \n")}(n,e),n.push(" \n"),n.push(" \n");for(var i=0;i!=e.SheetNames.length;++i)n.push(a(e.Sheets[e.SheetNames[i]],e,i));return n.push(" \n"),n.push(" \n"),"fods"==t.bookType?n.push(""):n.push(""),n.join("")}}();function rx(e,t){if("fods"==t.bookType)return nx(e,t);var a=Bd(),n="",r=[],s=[];return Nd(a,n="mimetype","application/vnd.oasis.opendocument.spreadsheet"),Nd(a,n="content.xml",nx(e,t)),r.push([n,"text/xml"]),s.push([n,"ContentFile"]),Nd(a,n="styles.xml",ax(e,t)),r.push([n,"text/xml"]),s.push([n,"StylesFile"]),Nd(a,n="meta.xml",Ud+Lf()),r.push([n,"text/xml"]),s.push([n,"MetadataFile"]),Nd(a,n="manifest.rdf",function(e){var t=[Ud];t.push('\n');for(var a=0;a!=e.length;++a)t.push(Uf(e[a][0],e[a][1])),t.push(jf("",e[a][0]));return t.push(Uf("","Document","pkg")),t.push(""),t.join("")}(s)),r.push([n,"application/rdf+xml"]),Nd(a,n="META-INF/manifest.xml",function(e){var t=[Ud];t.push('\n'),t.push(' \n');for(var a=0;a\n');return t.push(""),t.join("")}(r)),a}function sx(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function ix(e){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):ih(au(e))}function ox(e){return"undefined"!=typeof TextEncoder?(new TextEncoder).encode(e):eu(oh(e))}function lx(e){var t=e.reduce(function(e,t){return e+t.length},0),a=new Uint8Array(t),n=0;return e.forEach(function(e){a.set(e,n),n+=e.length}),a}function cx(e){return 16843009*((e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135)>>>24}function ux(e,t){var a=t?t[0]:0,n=127&e[a];e:if(e[a++]>=128){if(n|=(127&e[a])<<7,e[a++]<128)break e;if(n|=(127&e[a])<<14,e[a++]<128)break e;if(n|=(127&e[a])<<21,e[a++]<128)break e;if(n+=(127&e[a])*Math.pow(2,28),++a,e[a++]<128)break e;if(n+=(127&e[a])*Math.pow(2,35),++a,e[a++]<128)break e;if(n+=(127&e[a])*Math.pow(2,42),++a,e[a++]<128)break e}return t&&(t[0]=a),n}function dx(e){var t=new Uint8Array(7);t[0]=127&e;var a=1;e:if(e>127){if(t[a-1]|=128,t[a]=e>>7&127,++a,e<=16383)break e;if(t[a-1]|=128,t[a]=e>>14&127,++a,e<=2097151)break e;if(t[a-1]|=128,t[a]=e>>21&127,++a,e<=268435455)break e;if(t[a-1]|=128,t[a]=e/256>>>21&127,++a,e<=34359738367)break e;if(t[a-1]|=128,t[a]=e/65536>>>21&127,++a,e<=4398046511103)break e;t[a-1]|=128,t[a]=e/16777216>>>21&127,++a}return t.slice(0,a)}function hx(e){var t=0,a=127&e[t];e:if(e[t++]>=128){if(a|=(127&e[t])<<7,e[t++]<128)break e;if(a|=(127&e[t])<<14,e[t++]<128)break e;if(a|=(127&e[t])<<21,e[t++]<128)break e;a|=(127&e[t])<<28}return a}function px(e){for(var t=[],a=[0];a[0]=128;);n=e.slice(l,a[0]);break;case 5:o=4,n=e.slice(a[0],a[0]+o),a[0]+=o;break;case 1:o=8,n=e.slice(a[0],a[0]+o),a[0]+=o;break;case 2:o=ux(e,a),n=e.slice(a[0],a[0]+o),a[0]+=o;break;default:throw new Error("PB Type ".concat(i," for Field ").concat(s," at offset ").concat(r))}var c={data:n,type:i};null==t[s]?t[s]=[c]:t[s].push(c)}return t}function fx(e){var t=[];return e.forEach(function(e,a){e.forEach(function(e){e.data&&(t.push(dx(8*a+e.type)),2==e.type&&t.push(dx(e.data.length)),t.push(e.data))})}),lx(t)}function mx(e,t){return(null==e?void 0:e.map(function(e){return t(e.data)}))||[]}function gx(e){for(var t,a=[],n=[0];n[0]>>0>0),a.push(i)}return a}function yx(e){var t=[];return e.forEach(function(e){var a=[];a[1]=[{data:dx(e.id),type:0}],a[2]=[],null!=e.merge&&(a[3]=[{data:dx(+!!e.merge),type:0}]);var n=[];e.messages.forEach(function(e){n.push(e.data),e.meta[3]=[{type:0,data:dx(e.data.length)}],a[2].push({data:fx(e.meta),type:2})});var r=fx(a);t.push(dx(r.length)),t.push(r),n.forEach(function(e){return t.push(e)})}),lx(t)}function vx(e,t){if(0!=e)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var a=[0],n=ux(t,a),r=[];a[0]>2&7),i=(224&t[a[0]++])<<3,i|=t[a[0]++]):(o=1+(t[a[0]++]>>2),2==s?(i=t[a[0]]|t[a[0]+1]<<8,a[0]+=2):(i=(t[a[0]]|t[a[0]+1]<<8|t[a[0]+2]<<16|t[a[0]+3]<<24)>>>0,a[0]+=4)),r=[lx(r)],0==i)throw new Error("Invalid offset 0");if(i>r[0].length)throw new Error("Invalid offset beyond length");if(o>=i)for(r.push(r[0].slice(-i)),o-=i;o>=r[r.length-1].length;)r.push(r[r.length-1]),o-=r[r.length-1].length;r.push(r[0].slice(-i,-i+o))}else{var l=t[a[0]++]>>2;if(l<60)++l;else{var c=l-59;l=t[a[0]],c>1&&(l|=t[a[0]+1]<<8),c>2&&(l|=t[a[0]+2]<<16),c>3&&(l|=t[a[0]+3]<<24),l>>>=0,l++,a[0]+=c}r.push(t.slice(a[0],a[0]+l)),a[0]+=l}}var u=lx(r);if(u.length!=n)throw new Error("Unexpected length: ".concat(u.length," != ").concat(n));return u}function bx(e){for(var t=[],a=0;a>8&255]))):n<=16777216?(i+=4,t.push(new Uint8Array([248,n-1&255,n-1>>8&255,n-1>>16&255]))):n<=4294967296&&(i+=5,t.push(new Uint8Array([252,n-1&255,n-1>>8&255,n-1>>16&255,n-1>>>24&255]))),t.push(e.slice(a,a+n)),i+=n,r[0]=0,r[1]=255&i,r[2]=i>>8&255,r[3]=i>>16&255,a+=n}return lx(t)}function xx(e,t,a){var n,r=sx(e),s=r.getUint32(8,!0),i=12,o=-1,l=-1,c=NaN,u=NaN,d=new Date(2001,0,1);switch(1&s&&(c=function(e,t){for(var a=(127&e[t+15])<<7|e[t+14]>>1,n=1&e[t+14],r=t+13;r>=t;--r)n=256*n+e[r];return(128&e[t+15]?-n:n)*Math.pow(10,a-6176)}(e,i),i+=16),2&s&&(u=r.getFloat64(i,!0),i+=8),4&s&&(d.setTime(d.getTime()+1e3*r.getFloat64(i,!0)),i+=8),8&s&&(l=r.getUint32(i,!0),i+=4),16&s&&(o=r.getUint32(i,!0),i+=4),e[1]){case 0:break;case 2:case 10:n={t:"n",v:c};break;case 3:n={t:"s",v:t[l]};break;case 5:n={t:"d",v:d};break;case 6:n={t:"b",v:u>0};break;case 7:n={t:"n",v:u/86400};break;case 8:n={t:"e",v:0};break;case 9:if(!(o>-1))throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)));n={t:"s",v:a[o]};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)))}return n}function kx(e,t){var a=new Uint8Array(32),n=sx(a),r=12,s=0;switch(a[0]=5,e.t){case"n":a[1]=2,function(e,t,a){var n=Math.floor(0==a?0:Math.LOG10E*Math.log(Math.abs(a)))+6176-20,r=a/Math.pow(10,n-6176);e[t+15]|=n>>7,e[t+14]|=(127&n)<<1;for(var s=0;r>=1;++s,r/=256)e[t+s]=255&r;e[t+15]|=a>=0?0:128}(a,r,e.v),s|=1,r+=16;break;case"b":a[1]=6,n.setFloat64(r,e.v?1:0,!0),s|=2,r+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));a[1]=3,n.setUint32(r,t.indexOf(e.v),!0),s|=8,r+=4;break;default:throw"unsupported cell type "+e.t}return n.setUint32(8,s,!0),a.slice(0,r)}function _x(e,t){var a=new Uint8Array(32),n=sx(a),r=12,s=0;switch(a[0]=3,e.t){case"n":a[2]=2,n.setFloat64(r,e.v,!0),s|=32,r+=8;break;case"b":a[2]=6,n.setFloat64(r,e.v?1:0,!0),s|=32,r+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));a[2]=3,n.setUint32(r,t.indexOf(e.v),!0),s|=16,r+=4;break;default:throw"unsupported cell type "+e.t}return n.setUint32(4,s,!0),a.slice(0,r)}function Ex(e,t,a){switch(e[0]){case 0:case 1:case 2:case 3:return function(e,t,a,n){var r,s=sx(e),i=s.getUint32(4,!0),o=(n>1?12:8)+4*cx(i&(n>1?3470:398)),l=-1,c=-1,u=NaN,d=new Date(2001,0,1);switch(512&i&&(l=s.getUint32(o,!0),o+=4),o+=4*cx(i&(n>1?12288:4096)),16&i&&(c=s.getUint32(o,!0),o+=4),32&i&&(u=s.getFloat64(o,!0),o+=8),64&i&&(d.setTime(d.getTime()+1e3*s.getFloat64(o,!0)),o+=8),e[2]){case 0:break;case 2:r={t:"n",v:u};break;case 3:r={t:"s",v:t[c]};break;case 5:r={t:"d",v:d};break;case 6:r={t:"b",v:u>0};break;case 7:r={t:"n",v:u/86400};break;case 8:r={t:"e",v:0};break;case 9:if(l>-1)r={t:"s",v:a[l]};else if(c>-1)r={t:"s",v:t[c]};else{if(isNaN(u))throw new Error("Unsupported cell type ".concat(e.slice(0,4)));r={t:"n",v:u}}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return r}(e,t,a,e[0]);case 5:return xx(e,t,a);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function Cx(e){return ux(px(e)[1][0].data)}function Fx(e,t){var a=px(t.data),n=hx(a[1][0].data),r=a[3],s=[];return(r||[]).forEach(function(t){var a=px(t.data),r=hx(a[1][0].data)>>>0;switch(n){case 1:s[r]=ix(a[3][0].data);break;case 8:var i=px(e[Cx(a[9][0].data)][0].data),o=e[Cx(i[1][0].data)][0],l=hx(o.meta[1][0].data);if(2001!=l)throw new Error("2000 unexpected reference to ".concat(l));var c=px(o.data);s[r]=c[3].map(function(e){return ix(e.data)}).join("")}}),s}function Dx(e,t){var a,n=px(t.data),r=(null==(a=null==n?void 0:n[7])?void 0:a[0])?hx(n[7][0].data)>>>0>0?1:0:-1,s=mx(n[5],function(e){return function(e,t){var a,n,r,s,i,o,l,c,u,d,h,p,f,m,g,y,v=px(e),b=hx(v[1][0].data)>>>0,w=hx(v[2][0].data)>>>0,x=(null==(n=null==(a=v[8])?void 0:a[0])?void 0:n.data)&&hx(v[8][0].data)>0||!1;if((null==(s=null==(r=v[7])?void 0:r[0])?void 0:s.data)&&0!=t)g=null==(o=null==(i=v[7])?void 0:i[0])?void 0:o.data,y=null==(c=null==(l=v[6])?void 0:l[0])?void 0:c.data;else{if(!(null==(d=null==(u=v[4])?void 0:u[0])?void 0:d.data)||1==t)throw"NUMBERS Tile missing ".concat(t," cell storage");g=null==(p=null==(h=v[4])?void 0:h[0])?void 0:p.data,y=null==(m=null==(f=v[3])?void 0:f[0])?void 0:m.data}for(var k=x?4:1,_=sx(g),E=[],C=0;C=1&&(D[E[E.length-1][0]]=y.subarray(E[E.length-1][1]*k)),{R:b,cells:D}}(e,r)});return{nrows:hx(n[4][0].data)>>>0,data:s.reduce(function(e,t){return e[t.R]||(e[t.R]=[]),t.cells.forEach(function(a,n){if(e[t.R][n])throw new Error("Duplicate cell r=".concat(t.R," c=").concat(n));e[t.R][n]=a}),e},[])}}function Ax(e,t){var a={"!ref":"A1"},n=e[Cx(px(t.data)[2][0].data)],r=hx(n[0].meta[1][0].data);if(6001!=r)throw new Error("6000 unexpected reference to ".concat(r));return function(e,t,a){var n,r=px(t.data),s={s:{r:0,c:0},e:{r:0,c:0}};if(s.e.r=(hx(r[6][0].data)>>>0)-1,s.e.r<0)throw new Error("Invalid row varint ".concat(r[6][0].data));if(s.e.c=(hx(r[7][0].data)>>>0)-1,s.e.c<0)throw new Error("Invalid col varint ".concat(r[7][0].data));a["!ref"]=jp(s);var i=px(r[4][0].data),o=Fx(e,e[Cx(i[4][0].data)][0]),l=(null==(n=i[17])?void 0:n[0])?Fx(e,e[Cx(i[17][0].data)][0]):[],c=px(i[3][0].data),u=0;c[1].forEach(function(t){var n=px(t.data),r=e[Cx(n[2][0].data)][0],s=hx(r.meta[1][0].data);if(6002!=s)throw new Error("6001 unexpected reference to ".concat(s));var i=Dx(0,r);i.data.forEach(function(e,t){e.forEach(function(e,n){var r=Op({r:u+t,c:n}),s=Ex(e,o,l);s&&(a[r]=s)})}),u+=i.nrows})}(e,n[0],a),a}function Tx(e,t){var a={SheetNames:[],Sheets:{}};if(mx(px(t.data)[1],Cx).forEach(function(t){e[t].forEach(function(t){if(2==hx(t.meta[1][0].data)){var n=function(e,t){var a,n=px(t.data),r={name:(null==(a=n[1])?void 0:a[0])?ix(n[1][0].data):"",sheets:[]};return mx(n[2],Cx).forEach(function(t){e[t].forEach(function(t){6e3==hx(t.meta[1][0].data)&&r.sheets.push(Ax(e,t))})}),r}(e,t);n.sheets.forEach(function(e,t){rk(a,e,0==t?n.name:n.name+"_"+t,!0)})}})}),0==a.SheetNames.length)throw new Error("Empty NUMBERS file");return a}function Sx(e){var t,a,n,r,s={},i=[];if(e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(e){if(e.name.match(/\.iwa$/)){var t,a;try{t=bx(e.content)}catch(XN){return console.log("?? "+e.content.length+" "+(XN.message||XN))}try{a=gx(t)}catch(XN){return console.log("## "+(XN.message||XN))}a.forEach(function(e){s[e.id]=e.messages,i.push(e.id)})}}),!i.length)throw new Error("File has no messages");var o=(null==(r=null==(n=null==(a=null==(t=null==s?void 0:s[1])?void 0:t[0])?void 0:a.meta)?void 0:n[1])?void 0:r[0].data)&&1==hx(s[1][0].meta[1][0].data)&&s[1][0];if(o||i.forEach(function(e){s[e].forEach(function(e){if(1==hx(e.meta[1][0].data)>>>0){if(o)throw new Error("Document has multiple roots");o=e}})}),!o)throw new Error("Cannot find Document root");return Tx(s,o)}function Ix(e,t,a){var n,r,s,i;if(!(null==(n=e[6])?void 0:n[0])||!(null==(r=e[7])?void 0:r[0]))throw"Mutation only works on post-BNC storages!";if((null==(i=null==(s=e[8])?void 0:s[0])?void 0:i.data)&&hx(e[8][0].data)>0||!1)throw"Math only works with normal offsets";for(var o=0,l=sx(e[7][0].data),c=0,u=[],d=sx(e[4][0].data),h=0,p=[],f=0;f]*r:id="([^"]*)"/)||["",""])[1];return t["!id"][a].Target}(Id(e,f,!0),Bf(Id(e,m,!0),f)),y=Od(g,f),v=Nf(y);h=Sb(Id(e,y,!0),0,0,Bf(Id(e,v,!0),y),0,h);break;case"macro":w=t,s[n],w.slice(-4),h={"!type":"macro"};break;case"dialog":h=function(e,t){return t.slice(-4),{"!type":"dialog"}}(0,t,0,0,s[n]);break;default:throw new Error("Unrecognized sheet type "+o)}i[n]=h;var b=[];s&&s[n]&&rd(s[n]).forEach(function(a){var r="";if(s[n][a].Type==Pf.CMNT){r=Od(s[n][a].Target,t);var i=Xb(Sd(e,r,!0),r,l);if(!i||!i.length)return;Hy(h,i,!1)}s[n][a].Type==Pf.TCMNT&&(r=Od(s[n][a].Target,t),b=b.concat(function(e,t){var a=[],n=!1,r={},s=0;return e.replace(Rd,function(i,o){var l=Yd(i);switch($d(l[0])){case"":case"":case"
":case"":break;case"":null!=r.t&&a.push(r);break;case"":case"":r.t=e.slice(s,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":case"":case"":n=!1;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+l[0]+" in threaded comments")}return i}),a}(Sd(e,r,!0),l)))}),b&&b.length&&Hy(h,b,!0,l.people||[])}catch(XN){if(l.WTF)throw XN}var w}function Ox(e){return"/"==e.charAt(0)?e.slice(1):e}function Ux(e,t){if(Zu(),Nx(t=t||{}),Ad(e,"META-INF/manifest.xml"))return ex(e,t);if(Ad(e,"objectdata.xml"))return ex(e,t);if(Ad(e,"Index/Document.iwa")){if("undefined"==typeof Uint8Array)throw new Error("NUMBERS file parsing requires Uint8Array support");if(void 0!==Sx){if(e.FileIndex)return Sx(e);var a=td.utils.cfb_new();return Pd(e).forEach(function(t){Nd(a,t,function(e,t){return Dd(Td(e,t))}(e,t))}),Sx(a)}throw new Error("Unsupported NUMBERS file")}if(!Ad(e,"[Content_Types].xml")){if(Ad(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Ad(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var n,r,s=Pd(e),i=function(e){var t={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};if(!e||!e.match)return t;var a={};if((e.match(Rd)||[]).forEach(function(e){var n=Yd(e);switch(n[0].replace(zd,"<")){case"0?t.calcchains[0]:"",t.sst=t.strs.length>0?t.strs[0]:"",t.style=t.styles.length>0?t.styles[0]:"",t.defaults=a,delete t.calcchains,t}(Id(e,"[Content_Types].xml")),o=!1;if(0===i.workbooks.length&&Sd(e,r="xl/workbook.xml",!0)&&i.workbooks.push(r),0===i.workbooks.length){if(!Sd(e,r="xl/workbook.bin",!0))throw new Error("Could not find workbook");i.workbooks.push(r),o=!0}"bin"==i.workbooks[0].slice(-3)&&(o=!0);var l={},c={};if(!t.bookSheets&&!t.bookProps){if(Hv=[],i.sst)try{Hv=Zb(Sd(e,Ox(i.sst)),i.sst,t)}catch(XN){if(t.WTF)throw XN}t.cellStyles&&i.themes.length&&(l=function(e,t,a){return Ny(e,a)}(Id(e,i.themes[0].replace(/^\//,""),!0)||"",i.themes[0],t)),i.style&&(c=qb(Sd(e,Ox(i.style)),i.style,l,t))}i.links.map(function(a){try{Bf(Id(e,Nf(Ox(a))),a);return ew(Sd(e,Ox(a)),0,a,t)}catch(XN){}});var u=Vb(Sd(e,Ox(i.workbooks[0])),i.workbooks[0],t),d={},h="";i.coreprops.length&&((h=Sd(e,Ox(i.coreprops[0]),!0))&&(d=Hf(h)),0!==i.extprops.length&&(h=Sd(e,Ox(i.extprops[0]),!0))&&function(e,t,a){var n={};t||(t={}),e=ih(e),Gf.forEach(function(a){var r=(e.match(lh(a[0]))||[])[1];switch(a[2]){case"string":r&&(t[a[1]]=Vd(r));break;case"bool":t[a[1]]="true"===r;break;case"raw":var s=e.match(new RegExp("<"+a[0]+"[^>]*>([\\s\\S]*?)"));s&&s.length>0&&(n[a[1]]=s[1])}}),n.HeadingPairs&&n.TitlesOfParts&&Vf(n.HeadingPairs,n.TitlesOfParts,t,a)}(h,d,t));var p={};t.bookSheets&&!t.bookProps||0!==i.custprops.length&&(h=Id(e,Ox(i.custprops[0]),!0))&&(p=function(e,t){var a={},n="",r=e.match(Jf);if(r)for(var s=0;s!=r.length;++s){var i=r[s],o=Yd(i);switch(o[0]){case"":n=null;break;default:if(0===i.indexOf(""),c=l[0].slice(4),u=l[1];switch(c){case"lpstr":case"bstr":case"lpwstr":case"cy":case"error":a[n]=Vd(u);break;case"bool":a[n]=th(u);break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":a[n]=parseInt(u,10);break;case"r4":case"r8":case"decimal":a[n]=parseFloat(u);break;case"filetime":case"date":a[n]=vd(u);break;default:if("/"==c.slice(-1))break;t.WTF&&"undefined"!=typeof console&&console.warn("Unexpected",i,c,l)}}else if("0&&(n=d.SheetNames),t.bookProps&&(f.Props=d,f.Custprops=p),t.bookSheets&&void 0!==n&&(f.SheetNames=n),t.bookSheets?f.SheetNames:t.bookProps))return f;n={};var m={};t.bookDeps&&i.calcchain&&(m=Qb(Sd(e,Ox(i.calcchain)),i.calcchain));var g,y,v=0,b={},w=u.Sheets;d.Worksheets=w.length,d.SheetNames=[];for(var x=0;x!=w.length;++x)d.SheetNames[x]=w[x].name;var k=o?"bin":"xml",_=i.workbooks[0].lastIndexOf("/"),E=(i.workbooks[0].slice(0,_+1)+"_rels/"+i.workbooks[0].slice(_+1)+".rels").replace(/^\//,"");Ad(e,E)||(E="xl/_rels/workbook."+k+".rels");var C=Bf(Id(e,E,!0),E.replace(/_rels.*/,"s5s"));(i.metadata||[]).length>=1&&(t.xlmeta=tw(Sd(e,Ox(i.metadata[0])),i.metadata[0],t)),(i.people||[]).length>=1&&(t.people=function(e,t){var a=[],n=!1;return e.replace(Rd,function(e){var r=Yd(e);switch($d(r[0])){case"":case"":case"":case"":case"":break;case"":n=!1;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+r[0]+" in threaded comments")}return e}),a}(Sd(e,Ox(i.people[0])),t)),C&&(C=function(e,t){if(!e)return 0;try{e=t.map(function(t){return t.id||(t.id=t.strRelID),[t.name,e["!id"][t.id].Target,(a=e["!id"][t.id].Type,Pf.WS.indexOf(a)>-1?"sheet":a==Pf.CS?"chart":a==Pf.DS?"dialog":a==Pf.MS?"macro":a&&a.length?a:"sheet")];var a})}catch(XN){return null}return e&&0!==e.length?e:null}(C,u.Sheets));var F=Sd(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(v=0;v!=d.Worksheets;++v){var D="sheet";if(C&&C[v]?(g="xl/"+C[v][1].replace(/[\/]?xl\//,""),Ad(e,g)||(g=C[v][1]),Ad(e,g)||(g=E.replace(/_rels\/.*$/,"")+C[v][1]),D=C[v][2]):g=(g="xl/worksheets/sheet"+(v+1-F)+"."+k).replace(/sheet0\./,"sheet."),y=g.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),t&&null!=t.sheets)switch(typeof t.sheets){case"number":if(v!=t.sheets)continue e;break;case"string":if(d.SheetNames[v].toLowerCase()!=t.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(t.sheets)){for(var A=!1,T=0;T!=t.sheets.length;++T)"number"==typeof t.sheets[T]&&t.sheets[T]==v&&(A=1),"string"==typeof t.sheets[T]&&t.sheets[T].toLowerCase()==d.SheetNames[v].toLowerCase()&&(A=1);if(!A)continue e}}Mx(e,g,y,d.SheetNames[v],v,b,n,D,t,u,l,c)}return f={Directory:i,Workbook:u,Props:d,Custprops:p,Deps:m,Sheets:n,SheetNames:d.SheetNames,Strings:Hv,Styles:c,Themes:l,SSF:wd(gu)},t&&t.bookFiles&&(e.files?(f.keys=s,f.files=e.files):(f.keys=[],f.files={},e.FullPaths.forEach(function(t,a){t=t.replace(/^Root Entry[\/]/,""),f.keys.push(t),f.files[t]=e.FileIndex[a]}))),t&&t.bookVBA&&(i.vba.length>0?f.vbaraw=Sd(e,Ox(i.vba[0]),!0):i.defaults&&"application/vnd.ms-office.vbaProject"===i.defaults.bin&&(f.vbaraw=Sd(e,"xl/vbaProject.bin",!0))),f}function jx(e,t){var a,n,r=t||{},s="Workbook",i=td.find(e,s);try{if(s="/!DataSpaces/Version",!(i=td.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(a=i.content,(n={}).id=a.read_shift(0,"lpp4"),n.R=Og(a,4),n.U=Og(a,4),n.W=Og(a,4),s="/!DataSpaces/DataSpaceMap",!(i=td.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var o=function(e){var t=[];e.l+=4;for(var a=e.read_shift(4);a-- >0;)t.push(Ug(e));return t}(i.content);if(1!==o.length||1!==o[0].comps.length||0!==o[0].comps[0].t||"StrongEncryptionDataSpace"!==o[0].name||"EncryptedPackage"!==o[0].comps[0].v)throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",!(i=td.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var l=function(e){var t=[];e.l+=4;for(var a=e.read_shift(4);a-- >0;)t.push(e.read_shift(0,"lpp4"));return t}(i.content);if(1!=l.length||"StrongEncryptionTransform"!=l[0])throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",!(i=td.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);jg(i.content)}catch(XN){}if(s="/EncryptionInfo",!(i=td.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var c=function(e){var t=Og(e);switch(t.Minor){case 2:return[t.Minor,zg(e)];case 3:return[t.Minor,Hg()];case 4:return[t.Minor,Yg(e)]}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+t.Minor)}(i.content);if(s="/EncryptedPackage",!(i=td.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(4==c[0]&&"undefined"!=typeof decrypt_agile)return decrypt_agile(c[1],i.content,r.password||"",r);if(2==c[0]&&"undefined"!=typeof decrypt_std76)return decrypt_std76(c[1],i.content,r.password||"",r);throw new Error("File is password-protected")}function Lx(e,t){return"ods"==t.bookType?rx(e,t):"numbers"==t.bookType?function(e,t){if(!t||!t.numbers)throw new Error("Must pass a `numbers` option -- check the README");var a=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var n=Up(a["!ref"]);n.s.r=n.s.c=0;var r=!1;n.e.c>9&&(r=!0,n.e.c=9),n.e.r>49&&(r=!0,n.e.r=49),r&&console.error("The Numbers writer is currently limited to ".concat(jp(n)));var s=qx(a,{range:n,header:1}),i=["~Sh33tJ5~"];s.forEach(function(e){return e.forEach(function(e){"string"==typeof e&&i.push(e)})});var o={},l=[],c=td.read(t.numbers,{type:"base64"});c.FileIndex.map(function(e,t){return[e,c.FullPaths[t]]}).forEach(function(e){var t=e[0],a=e[1];2==t.type&&t.name.match(/\.iwa/)&&gx(bx(t.content)).forEach(function(e){l.push(e.id),o[e.id]={deps:[],location:a,type:hx(e.messages[0].meta[1][0].data)}})}),l.sort(function(e,t){return e-t});var u=l.filter(function(e){return e>1}).map(function(e){return[e,dx(e)]});c.FileIndex.map(function(e,t){return[e,c.FullPaths[t]]}).forEach(function(e){var t=e[0];e[1],t.name.match(/\.iwa/)&&gx(bx(t.content)).forEach(function(e){e.messages.forEach(function(t){u.forEach(function(t){e.messages.some(function(e){return 11006!=hx(e.meta[1][0].data)&&function(e,t){e:for(var a=0;a<=e.length-t.length;++a){for(var n=0;n-1,r={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};Bx(t=t||{});var s=Bd(),i="",o=0;t.cellXfs=[],Kv(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});if(Nd(s,i="docProps/core.xml",$f(e.Props,t)),r.coreprops.push(i),Of(t.rels,2,i,Pf.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var l=[],c=0;c0&&(Nd(s,i="docProps/custom.xml",qf(e.Custprops)),r.custprops.push(i),Of(t.rels,4,i,Pf.CUST_PROPS));for(o=1;o<=e.SheetNames.length;++o){var u={"!id":{}},d=e.Sheets[e.SheetNames[o-1]];(d||{})["!type"];if(Nd(s,i="xl/worksheets/sheet"+o+"."+a,aw(o-1,i,t,e,u)),r.sheets.push(i),Of(t.wbrels,-1,"worksheets/sheet"+o+"."+a,Pf.WS[0]),d){var h=d["!comments"],p=!1,f="";h&&h.length>0&&(Nd(s,f="xl/comments"+o+"."+a,nw(h,f)),r.comments.push(f),Of(u,-1,"../comments"+o+"."+a,Pf.CMNT),p=!0),d["!legacy"]&&p&&Nd(s,"xl/drawings/vmlDrawing"+o+".vml",zy(o,d["!comments"])),delete d["!comments"],delete d["!legacy"]}u["!id"].rId1&&Nd(s,Nf(i),Mf(u))}null!=t.Strings&&t.Strings.length>0&&(Nd(s,i="xl/sharedStrings."+a,function(e,t,a){return(".bin"===t.slice(-4)?Bg:Pg)(e,a)}(t.Strings,i,t)),r.strs.push(i),Of(t.wbrels,-1,"sharedStrings."+a,Pf.SST));Nd(s,i="xl/workbook."+a,function(e,t){return(".bin"===t.slice(-4)?Wb:Hb)(e)}(e,i)),r.workbooks.push(i),Of(t.rels,1,i,Pf.WB),Nd(s,i="xl/theme/theme1.xml",By(e.Themes,t)),r.themes.push(i),Of(t.wbrels,-1,"theme/theme1.xml",Pf.THEME),Nd(s,i="xl/styles."+a,function(e,t,a){return(".bin"===t.slice(-4)?Ey:dy)(e,a)}(e,i,t)),r.styles.push(i),Of(t.wbrels,-1,"styles."+a,Pf.STY),e.vbaraw&&n&&(Nd(s,i="xl/vbaProject.bin",e.vbaraw),r.vba.push(i),Of(t.wbrels,-1,"vbaProject.bin",Pf.VBA));return Nd(s,i="xl/metadata."+a,function(e){return(".bin"===e.slice(-4)?jy:Ly)()}(i)),r.metadata.push(i),Of(t.wbrels,-1,"metadata."+a,Pf.XLMETA),Nd(s,"[Content_Types].xml",If(r,t)),Nd(s,"_rels/.rels",Mf(t.rels)),Nd(s,"xl/_rels/workbook."+a+".rels",Mf(t.wbrels)),delete t.revssf,delete t.ssf,s}(e,t):function(e,t){Ry=1024,e&&!e.SSF&&(e.SSF=wd(gu));e&&e.SSF&&(Zu(),qu(e.SSF),t.revssf=od(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF);t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,$v?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var a="xml",n=Vy.indexOf(t.bookType)>-1,r={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};Bx(t=t||{});var s=Bd(),i="",o=0;t.cellXfs=[],Kv(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});if(Nd(s,i="docProps/core.xml",$f(e.Props,t)),r.coreprops.push(i),Of(t.rels,2,i,Pf.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var l=[],c=0;c0&&(Nd(s,i="docProps/custom.xml",qf(e.Custprops)),r.custprops.push(i),Of(t.rels,4,i,Pf.CUST_PROPS));var u=["SheetJ5"];for(t.tcid=0,o=1;o<=e.SheetNames.length;++o){var d={"!id":{}},h=e.Sheets[e.SheetNames[o-1]];(h||{})["!type"];if(Nd(s,i="xl/worksheets/sheet"+o+"."+a,fb(o-1,t,e,d)),r.sheets.push(i),Of(t.wbrels,-1,"worksheets/sheet"+o+"."+a,Pf.WS[0]),h){var p=h["!comments"],f=!1,m="";if(p&&p.length>0){var g=!1;p.forEach(function(e){e[1].forEach(function(e){1==e.T&&(g=!0)})}),g&&(Nd(s,m="xl/threadedComments/threadedComment"+o+"."+a,$y(p,u,t)),r.threadedcomments.push(m),Of(d,-1,"../threadedComments/threadedComment"+o+"."+a,Pf.TCMNT)),Nd(s,m="xl/comments"+o+"."+a,Yy(p)),r.comments.push(m),Of(d,-1,"../comments"+o+"."+a,Pf.CMNT),f=!0}h["!legacy"]&&f&&Nd(s,"xl/drawings/vmlDrawing"+o+".vml",zy(o,h["!comments"])),delete h["!comments"],delete h["!legacy"]}d["!id"].rId1&&Nd(s,Nf(i),Mf(d))}null!=t.Strings&&t.Strings.length>0&&(Nd(s,i="xl/sharedStrings."+a,Pg(t.Strings,t)),r.strs.push(i),Of(t.wbrels,-1,"sharedStrings."+a,Pf.SST));Nd(s,i="xl/workbook."+a,Hb(e)),r.workbooks.push(i),Of(t.rels,1,i,Pf.WB),Nd(s,i="xl/theme/theme1.xml",By(e.Themes,t)),r.themes.push(i),Of(t.wbrels,-1,"theme/theme1.xml",Pf.THEME),Nd(s,i="xl/styles."+a,dy(e,t)),r.styles.push(i),Of(t.wbrels,-1,"styles."+a,Pf.STY),e.vbaraw&&n&&(Nd(s,i="xl/vbaProject.bin",e.vbaraw),r.vba.push(i),Of(t.wbrels,-1,"vbaProject.bin",Pf.VBA));Nd(s,i="xl/metadata."+a,Ly()),r.metadata.push(i),Of(t.wbrels,-1,"metadata."+a,Pf.XLMETA),u.length>1&&(Nd(s,i="xl/persons/person.xml",function(e){var t=[Ud,yh("personList",null,{xmlns:Fh,"xmlns:x":Bh[0]}).replace(/[\/]>/,">")];return e.forEach(function(e,a){t.push(yh("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+a).slice(-12)+"}",userId:e,providerId:"None"}))}),t.push(""),t.join("")}(u)),r.people.push(i),Of(t.wbrels,-1,"persons/person.xml",Pf.PEOPLE));return Nd(s,"[Content_Types].xml",If(r,t)),Nd(s,"_rels/.rels",Mf(t.rels)),Nd(s,"xl/_rels/workbook."+a+".rels",Mf(t.wbrels)),delete t.revssf,delete t.ssf,s}(e,t)}function Rx(e,t){var a="";switch((t||{}).type||"base64"){case"buffer":case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":a=Jc(e.slice(0,12));break;case"binary":a=e;break;default:throw new Error("Unrecognized type "+(t&&t.type||"undefined"))}return[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3),a.charCodeAt(4),a.charCodeAt(5),a.charCodeAt(6),a.charCodeAt(7)]}function zx(e,t){var a=0;e:for(;a=2&&0===n[3])return xg.to_workbook(r,a);if(0===n[2]&&(8===n[3]||9===n[3]))return xg.to_workbook(r,a)}break;case 3:case 131:case 139:case 140:return gg.to_workbook(r,a);case 123:if(92===n[1]&&114===n[2]&&116===n[3])return Kg.to_workbook(r,a);break;case 10:case 13:case 32:return function(e,t){var a="",n=Rx(e,t);switch(t.type){case"base64":a=Jc(e);break;case"binary":a=e;break;case"buffer":a=e.toString("binary");break;case"array":a=bd(e);break;default:throw new Error("Unrecognized type "+t.type)}return 239==n[0]&&187==n[1]&&191==n[2]&&(a=ih(a)),t.type="binary",zx(a,t)}(r,a);case 137:if(80===n[1]&&78===n[2]&&71===n[3])throw new Error("PNG Image File is not a spreadsheet")}return mg.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31?gg.to_workbook(r,a):Hx(e,r,a,s)}function $x(e,t){switch(t.type){case"base64":case"binary":break;case"buffer":case"array":t.type="";break;case"file":return nd(t.file,td.write(e,{type:qc?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type)}return td.write(e,t)}function Gx(e,t){var a=wd(t||{});return function(e,t){var a={},n=qc?"nodebuffer":"undefined"!=typeof Uint8Array?"array":"string";t.compression&&(a.compression="DEFLATE");if(t.password)a.type=n;else switch(t.type){case"base64":a.type="base64";break;case"binary":a.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":case"file":a.type=n;break;default:throw new Error("Unrecognized type "+t.type)}var r=e.FullPaths?td.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[a.type]||a.type,compression:!!t.compression}):e.generate(a);if("undefined"!=typeof Deno&&"string"==typeof r){if("binary"==t.type||"base64"==t.type)return r;r=new Uint8Array(tu(r))}return t.password&&"undefined"!=typeof encrypt_agile?$x(encrypt_agile(r,t.password),t):"file"===t.type?nd(t.file,r):"string"==t.type?ih(r):r}(Lx(e,a),a)}function Wx(e,t,a){a||(a="");var n=a+e;switch(t.type){case"base64":return Kc(oh(n));case"binary":return oh(n);case"string":return e;case"file":return nd(t.file,n,"utf8");case"buffer":return qc?Zc(n,"utf8"):"undefined"!=typeof TextEncoder?(new TextEncoder).encode(n):Wx(n,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})}throw new Error("Unrecognized type "+t.type)}function Vx(e,t){switch(t.type){case"string":case"base64":case"binary":for(var a="",n=0;n0&&(r=0);var d=Pp(l.s.r),h=[],p=[],f=0,m=0,g=Array.isArray(e),y=l.s.r,v=0,b={};g&&!e[y]&&(e[y]=[]);var w=c.skipHidden&&e["!cols"]||[],x=c.skipHidden&&e["!rows"]||[];for(v=l.s.c;v<=l.e.c;++v)if(!(w[v]||{}).hidden)switch(h[v]=Bp(v),a=g?e[y][v]:e[h[v]+d],n){case 1:s[v]=v-l.s.c;break;case 2:s[v]=h[v];break;case 3:s[v]=c.header[v-l.s.c];break;default:if(null==a&&(a={w:"__EMPTY",t:"s"}),o=i=zp(a,null,c),m=b[i]||0){do{o=i+"_"+m++}while(b[o]);b[i]=m,b[o]=1}else b[i]=1;s[v]=o}for(y=l.s.r+r;y<=l.e.r;++y)if(!(x[y]||{}).hidden){var k=Jx(e,l,y,h,n,s,g,c);(!1===k.isempty||(1===n?!1!==c.blankrows:c.blankrows))&&(p[f++]=k.row)}return p.length=f,p}var Zx=/"/g;function Xx(e,t,a,n,r,s,i,o){for(var l=!0,c=[],u="",d=Pp(a),h=t.s.c;h<=t.e.c;++h)if(n[h]){var p=o.dense?(e[a]||[])[h]:e[n[h]+d];if(null==p)u="";else if(null!=p.v){l=!1,u=""+(o.rawNumbers&&"n"==p.t?p.v:zp(p,null,o));for(var f=0,m=0;f!==u.length;++f)if((m=u.charCodeAt(f))===r||m===s||34===m||o.forceQuotes){u='"'+u.replace(Zx,'""')+'"';break}"ID"==u&&(u='"ID"')}else null==p.f||p.F?u="":(l=!1,(u="="+p.f).indexOf(",")>=0&&(u='"'+u.replace(Zx,'""')+'"'));c.push(u)}return!1===o.blankrows&&l?null:c.join(i)}function Qx(e,t){var a=[],n=null==t?{}:t;if(null==e||null==e["!ref"])return"";var r=Lp(e["!ref"]),s=void 0!==n.FS?n.FS:",",i=s.charCodeAt(0),o=void 0!==n.RS?n.RS:"\n",l=o.charCodeAt(0),c=new RegExp(("|"==s?"\\|":s)+"+$"),u="",d=[];n.dense=Array.isArray(e);for(var h=n.skipHidden&&e["!cols"]||[],p=n.skipHidden&&e["!rows"]||[],f=r.s.c;f<=r.e.c;++f)(h[f]||{}).hidden||(d[f]=Bp(f));for(var m=0,g=r.s.r;g<=r.e.r;++g)(p[g]||{}).hidden||null!=(u=Xx(e,r,g,d,i,l,s,n))&&(n.strip&&(u=u.replace(c,"")),(u||!1!==n.blankrows)&&a.push((m++?o:"")+u));return delete n.dense,a.join("")}function ek(e,t){return t||(t={}),t.FS="\t",t.RS="\n",Qx(e,t)}function tk(e,t,a){var n,r=a||{},s=+!r.skipHeader,i=e||{},o=0,l=0;if(i&&null!=r.origin)if("number"==typeof r.origin)o=r.origin;else{var c="string"==typeof r.origin?Mp(r.origin):r.origin;o=c.r,l=c.c}var u={s:{c:0,r:0},e:{c:l,r:o+t.length-1+s}};if(i["!ref"]){var d=Lp(i["!ref"]);u.e.c=Math.max(u.e.c,d.e.c),u.e.r=Math.max(u.e.r,d.e.r),-1==o&&(o=d.e.r+1,u.e.r=o+t.length-1+s)}else-1==o&&(o=0,u.e.r=t.length-1+s);var h=r.header||[],p=0;t.forEach(function(e,t){rd(e).forEach(function(a){-1==(p=h.indexOf(a))&&(h[p=h.length]=a);var c=e[a],u="z",d="",f=Op({c:l+p,r:o+t+s});n=ak(i,f),!c||"object"!=typeof c||c instanceof Date?("number"==typeof c?u="n":"boolean"==typeof c?u="b":"string"==typeof c?u="s":c instanceof Date?(u="d",r.cellDates||(u="n",c=cd(c)),d=r.dateNF||gu[14]):null===c&&r.nullError&&(u="e",c=0),n?(n.t=u,n.v=c,delete n.w,delete n.R,d&&(n.z=d)):i[f]=n={t:u,v:c},d&&(n.z=d)):i[f]=c})}),u.e.c=Math.max(u.e.c,l+h.length-1);var f=Pp(o);if(s)for(p=0;p=65535)throw new Error("Too many worksheets");if(n&&e.SheetNames.indexOf(a)>=0){var s=a.match(/(^.*?)(\d+)$/);r=s&&+s[2]||0;var i=s&&s[1]||a;for(++r;r<=65535&&-1!=e.SheetNames.indexOf(a=i+r);++r);}if(Lb(a),e.SheetNames.indexOf(a)>=0)throw new Error("Worksheet with name |"+a+"| already exists!");return e.SheetNames.push(a),e.Sheets[a]=t,a}function sk(e,t,a){return t?(e.l={Target:t},a&&(e.l.Tooltip=a)):delete e.l,e}var ik={encode_col:Bp,encode_row:Pp,encode_cell:Op,encode_range:jp,decode_col:Np,decode_row:Ip,split_cell:function(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")},decode_cell:Mp,decode_range:Up,format_cell:zp,sheet_add_aoa:Yp,sheet_add_json:tk,sheet_add_dom:Kw,aoa_to_sheet:$p,json_to_sheet:function(e,t){return tk(null,e,t)},table_to_sheet:Jw,table_to_book:function(e,t){return Hp(Jw(e,t),t)},sheet_to_csv:Qx,sheet_to_txt:ek,sheet_to_json:qx,sheet_to_html:Vw,sheet_to_formulae:function(e){var t,a="",n="";if(null==e||null==e["!ref"])return[];var r,s=Lp(e["!ref"]),i="",o=[],l=[],c=Array.isArray(e);for(r=s.s.c;r<=s.e.c;++r)o[r]=Bp(r);for(var u=s.s.r;u<=s.e.r;++u)for(i=Pp(u),r=s.s.c;r<=s.e.c;++r)if(a=o[r]+i,n="",void 0!==(t=c?(e[u]||[])[r]:e[a])){if(null!=t.F){if(a=t.F,!t.f)continue;n=t.f,-1==a.indexOf(":")&&(a=a+":"+a)}if(null!=t.f)n=t.f;else{if("z"==t.t)continue;if("n"==t.t&&null!=t.v)n=""+t.v;else if("b"==t.t)n=t.v?"TRUE":"FALSE";else if(void 0!==t.w)n="'"+t.w;else{if(void 0===t.v)continue;n="s"==t.t?"'"+t.v:""+t.v}}l[l.length]=a+"="+n}return l},sheet_to_row_object_array:qx,sheet_get_cell:ak,book_new:nk,book_append_sheet:rk,book_set_sheet_visibility:function(e,t,a){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var n=function(e,t){if("number"==typeof t){if(t>=0&&e.SheetNames.length>t)return t;throw new Error("Cannot find sheet # "+t)}if("string"==typeof t){var a=e.SheetNames.indexOf(t);if(a>-1)return a;throw new Error("Cannot find sheet name |"+t+"|")}throw new Error("Cannot find sheet |"+t+"|")}(e,t);switch(e.Workbook.Sheets[n]||(e.Workbook.Sheets[n]={}),a){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+a)}e.Workbook.Sheets[n].Hidden=a},cell_set_number_format:function(e,t){return e.z=t,e},cell_set_hyperlink:sk,cell_set_internal_link:function(e,t,a){return sk(e,"#"+t,a)},cell_add_comment:function(e,t,a){e.c||(e.c=[]),e.c.push({t:t,a:a||"SheetJS"})},sheet_set_array_formula:function(e,t,a,n){for(var r="string"!=typeof t?t:Lp(t),s="string"==typeof t?t:jp(t),i=r.s.r;i<=r.e.r;++i)for(var o=r.s.c;o<=r.e.c;++o){var l=ak(e,i,o);l.t="n",l.F=s,delete l.v,i==r.s.r&&o==r.s.c&&(l.f=a,n&&(l.D=!0))}return e},consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};const ok={class:"excel-json-converter"},lk={class:"mode-toggle"},ck={key:0,class:"converter-content"},uk={class:"input-section"},dk={class:"section-header"},hk={class:"section-actions"},pk={class:"button-group"},fk={key:0,class:"error-message"},mk={class:"output-section"},gk={class:"section-header"},yk={class:"export-actions"},vk={class:"preview-container"},bk={key:0,class:"data-preview"},wk={class:"preview-info"},xk={class:"info-item"},kk={class:"info-item"},_k={class:"info-item"},Ek={class:"table-container"},Ck={class:"preview-table"},Fk={key:0,class:"more-rows"},Dk={key:1,class:"preview-placeholder"},Ak={key:1,class:"converter-content"},Tk={class:"input-section"},Sk={class:"section-header"},Ik={class:"section-actions"},Pk={key:0,class:"upload-placeholder"},Nk={key:1,class:"file-info"},Bk={class:"file-details"},Mk={class:"file-text"},Ok={class:"file-name"},Uk={class:"file-size"},jk={key:0,class:"error-message"},Lk={class:"output-section"},Rk={class:"section-header"},zk={class:"export-actions"},Hk={class:"json-output-container"},Yk={key:0,class:"json-output"},$k={class:"json-text"},Gk={key:1,class:"output-placeholder"},Wk=Ya({__name:"JsonToExcel",emits:["back"],setup(e){il("json-to-excel");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("json-to-excel"),{downloadJson:a}=ol(),{copyToClipboard:n}=ll(),{success:r,error:s}=Vo(),i=St("json-to-excel"),o=St(""),l=St(""),c=St([]),u=St("xlsx"),d=St(null),h=St(""),p=St(""),f=is(()=>{if(!c.value||0===c.value.length)return[];const e=new Set;return c.value.forEach(t=>{Object.keys(t).forEach(t=>e.add(t))}),Array.from(e)}),m=is(()=>c.value.slice(0,5)),g=e=>{i.value=e,T()},y=()=>{l.value=""},v=async()=>{if(await new Promise(e=>setTimeout(e,10)),o.value.trim())try{JSON.parse(o.value),b()}catch{}},b=()=>{if(o.value.trim())try{const e=JSON.parse(o.value);if(Array.isArray(e))c.value=e;else if("object"==typeof e&&null!==e)if(Object.keys(e).length>0){const t=Object.values(e);t.every(e=>"object"==typeof e&&null!==e)?c.value=t.map((t,a)=>({id:Object.keys(e)[a],...t})):c.value=Object.entries(e).map(([e,t])=>({key:e,value:"object"==typeof t?JSON.stringify(t):t}))}else c.value=[];else c.value=[{value:e}];l.value="",r(`成功解析 ${c.value.length} 行数据`)}catch(e){l.value=`JSON格式错误: ${e.message}`,c.value=[],s("JSON格式错误")}else s("请先输入JSON数据")},w=()=>{if(c.value&&0!==c.value.length)try{const e=ik.book_new(),t=ik.json_to_sheet(c.value);ik.book_append_sheet(e,t,"Sheet1");const a=`json-export-${(new Date).toISOString().slice(0,19).replace(/:/g,"-")}.${u.value}`;!function(e,t){var a={type:"file"};a.file=t,function(e){if(!e.bookType){var t=e.file.slice(e.file.lastIndexOf(".")).toLowerCase();t.match(/^\.[a-z]+$/)&&(e.bookType=t.slice(1)),e.bookType={xls:"biff8",htm:"html",slk:"sylk",socialcalc:"eth",Sh33tJS:"WTF"}[e.bookType]||e.bookType}}(a),Kx(e,a)}(e,a),r(`文件已导出: ${a}`)}catch(e){console.error("Export error:",e),s("导出失败")}else s("没有数据可导出")},x=e=>{const t=e.target,a=t.files?.[0];a&&_(a)},k=e=>{e.preventDefault();const t=e.dataTransfer?.files[0];t&&_(t)},_=e=>{const t=e.name.toLowerCase().split(".").pop();if(!["xlsx","xls","csv"].includes(t||""))return void(h.value="不支持的文件格式,请选择 .xlsx, .xls 或 .csv 文件");d.value=e,h.value="";const a=new FileReader;a.onload=e=>{try{const a=e.target?.result;let n;n=Yx(a,"csv"===t?{type:"string"}:{type:"array"});const i=n.SheetNames[0];if(!i)throw new Error("工作表为空");const o=n.Sheets[i];if(!o)throw new Error("工作表为空");const l=ik.sheet_to_json(o,{header:1,defval:""});if(l.length>0){const e=l[0],t=l.slice(1).map(t=>{const a={};return e.forEach((e,n)=>{a[e||`Column${n+1}`]=t[n]||""}),a}).filter(e=>Object.values(e).some(e=>""!==e));p.value=JSON.stringify(t,null,2),r(`成功转换 ${t.length} 行数据`)}else p.value="[]",s("文件为空或无有效数据")}catch(a){console.error("File processing error:",a),h.value=`文件处理失败: ${a.message}`,p.value=""}},"csv"===t?a.readAsText(e,"UTF-8"):a.readAsArrayBuffer(e)},E=()=>{const e=document.querySelector('input[type="file"]');e&&e.click()},C=()=>{d.value=null,h.value="",p.value="";const e=document.querySelector('input[type="file"]');e&&(e.value="")},F=async()=>{if(!p.value)return;await n(p.value)?r("JSON已复制到剪贴板"):s("复制失败")},D=()=>{if(!p.value)return;a(p.value,"excel-to-json")?r("JSON文件已下载"):s("下载失败")},A=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(1))+" "+["B","KB","MB","GB"][t]},T=()=>{o.value="",l.value="",c.value=[],d.value=null,h.value="",p.value="",r("已清空")},S=e=>{const t={1:{name:"用户数据",data:[{id:1,"姓名":"张三","邮箱":"zhangsan@example.com","年龄":28,"部门":"技术部","入职日期":"2022-01-15","薪资":15e3},{id:2,"姓名":"李四","邮箱":"lisi@example.com","年龄":32,"部门":"市场部","入职日期":"2021-06-20","薪资":12e3},{id:3,"姓名":"王五","邮箱":"wangwu@example.com","年龄":25,"部门":"设计部","入职日期":"2023-03-10","薪资":1e4}]},2:{name:"销售数据",data:[{"订单号":"ORD001","客户名称":"ABC公司","产品名称":"MacBook Pro","数量":2,"单价":12999,"总金额":25998,"订单日期":"2024-12-01","状态":"已完成"},{"订单号":"ORD002","客户名称":"XYZ企业","产品名称":"iPhone 15","数量":5,"单价":7999,"总金额":39995,"订单日期":"2024-12-02","状态":"处理中"},{"订单号":"ORD003","客户名称":"DEF集团","产品名称":"iPad Air","数量":3,"单价":4599,"总金额":13797,"订单日期":"2024-12-03","状态":"已发货"}]}}[e];t&&(o.value=JSON.stringify(t.data,null,2),b(),r(`已加载${t.name}示例`))};return(e,a)=>(Cr(),Tr("div",ok,[Or(hl,{title:Pt(t),onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",lk,[Mr("button",{class:Q(["mode-btn",{active:"json-to-excel"===i.value}]),onClick:a[0]||(a[0]=e=>g("json-to-excel"))}," JSON → Excel ",2),Mr("button",{class:Q(["mode-btn",{active:"excel-to-json"===i.value}]),onClick:a[1]||(a[1]=e=>g("excel-to-json"))}," Excel → JSON ",2)]),Or(jl,{icon:"clear",tooltip:"清空",onClick:T})]),_:1},8,["title"]),"json-to-excel"===i.value?(Cr(),Tr("div",ck,[Mr("div",uk,[Mr("div",dk,[a[9]||(a[9]=Mr("h3",null,"JSON数据输入",-1)),Mr("div",hk,[Mr("div",pk,[Mr("button",{class:"group-btn",onClick:a[3]||(a[3]=e=>S(1))},"示例1"),Mr("button",{class:"group-btn",onClick:a[4]||(a[4]=e=>S(2))},"示例2"),Mr("button",{class:"group-btn",onClick:b},"重新解析")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[5]||(a[5]=e=>o.value=e),class:"json-input",placeholder:"请输入JSON数据...",onInput:y,onPaste:v},null,544),[[bi,o.value]]),l.value?(Cr(),Tr("div",fk,se(l.value),1)):Rr("",!0)]),Mr("div",mk,[Mr("div",gk,[a[11]||(a[11]=Mr("h3",null,"导出设置",-1)),Mr("div",yk,[ca(Mr("select",{"onUpdate:modelValue":a[6]||(a[6]=e=>u.value=e),class:"format-select"},[...a[10]||(a[10]=[Mr("option",{value:"xlsx"},"Excel (.xlsx)",-1),Mr("option",{value:"xls"},"Excel 97-2003 (.xls)",-1),Mr("option",{value:"csv"},"CSV (.csv)",-1)])],512),[[_i,u.value]]),Or(jl,{icon:"download",tooltip:"导出文件",disabled:!c.value||0===c.value.length,onClick:w},null,8,["disabled"])])]),Mr("div",vk,[c.value&&c.value.length>0?(Cr(),Tr("div",bk,[Mr("div",wk,[Mr("span",xk,se(c.value.length)+" 行数据",1),Mr("span",kk,se(Object.keys(c.value[0]||{}).length)+" 列",1),Mr("span",_k,"预览 "+se(m.value.length)+" 行",1)]),Mr("div",Ek,[Mr("table",Ck,[Mr("thead",null,[Mr("tr",null,[(Cr(!0),Tr(br,null,yn(f.value,e=>(Cr(),Tr("th",{key:e},se(e),1))),128))])]),Mr("tbody",null,[(Cr(!0),Tr(br,null,yn(m.value,(e,t)=>(Cr(),Tr("tr",{key:t},[(Cr(!0),Tr(br,null,yn(f.value,t=>{return Cr(),Tr("td",{key:t},se(null==(a=e[t])?"":"object"==typeof a?JSON.stringify(a):String(a)),1);var a}),128))]))),128))])]),c.value.length>5?(Cr(),Tr("div",Fk," 还有 "+se(c.value.length-5)+" 行数据... ",1)):Rr("",!0)])])):(Cr(),Tr("div",Dk,[...a[12]||(a[12]=[Lr('

解析JSON后将显示数据预览

',2)])]))])])])):(Cr(),Tr("div",Ak,[Mr("div",Tk,[Mr("div",Sk,[a[14]||(a[14]=Mr("h3",null,"Excel文件上传",-1)),Mr("div",Ik,[Mr("input",{ref:"fileInput",type:"file",accept:".xlsx,.xls,.csv",onChange:x,style:{display:"none"}},null,544),Mr("button",{class:"upload-btn",onClick:E},[...a[13]||(a[13]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-15"}),Mr("polyline",{points:"17,10 12,5 7,10"}),Mr("line",{x1:"12",y1:"5",x2:"12",y2:"15"})],-1),jr(" 选择文件 ",-1)])])])]),Mr("div",{class:"upload-area",onDrop:k,onDragover:a[7]||(a[7]=Ii(()=>{},["prevent"])),onDragenter:a[8]||(a[8]=Ii(()=>{},["prevent"]))},[d.value?(Cr(),Tr("div",Nk,[Mr("div",Bk,[a[16]||(a[16]=Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})],-1)),Mr("div",Mk,[Mr("div",Ok,se(d.value.name),1),Mr("div",Uk,se(A(d.value.size)),1)])]),Mr("button",{class:"remove-file-btn",onClick:C,title:"移除文件"},[...a[17]||(a[17]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])):(Cr(),Tr("div",Pk,[...a[15]||(a[15]=[Lr('

拖拽Excel文件到此处

或点击"选择文件"按钮

支持 .xlsx, .xls, .csv 格式

',4)])]))],32),h.value?(Cr(),Tr("div",jk,se(h.value),1)):Rr("",!0)]),Mr("div",Lk,[Mr("div",Rk,[a[18]||(a[18]=Mr("h3",null,"JSON输出",-1)),Mr("div",zk,[Or(jl,{icon:"copy",tooltip:"复制JSON",disabled:!p.value,onClick:F},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载JSON文件",disabled:!p.value,onClick:D},null,8,["disabled"])])]),Mr("div",Hk,[p.value?(Cr(),Tr("div",Yk,[Mr("pre",$k,se(p.value),1)])):(Cr(),Tr("div",Gk,[...a[19]||(a[19]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1),Mr("p",null,"上传Excel文件后将显示JSON数据",-1)])]))])])]))]))}}),Vk=Wi(Wk,[["__scopeId","data-v-3e659011"]]),Kk={class:"postman-json-converter"},Jk={class:"mode-toggle"},qk={key:0,class:"converter-content"},Zk={class:"input-section"},Xk={class:"section-header"},Qk={class:"section-actions"},e_={class:"button-group"},t_={key:0,class:"error-message"},a_={class:"output-section"},n_={class:"section-header"},r_={key:0,class:"result-info"},s_={class:"stat-item"},i_={class:"stat-item"},o_={class:"output-container"},l_={key:0,class:"code-output"},c_={key:1,class:"output-placeholder"},u_={key:1,class:"converter-content"},d_={class:"input-section"},h_={class:"section-header"},p_={class:"section-actions"},f_={class:"button-group"},m_={key:0,class:"error-message"},g_={class:"output-section"},y_={class:"section-header"},v_={key:0,class:"result-info"},b_={class:"stat-item"},w_={class:"stat-item"},x_={class:"output-container"},k_=["innerHTML"],__={key:1,class:"output-placeholder"},E_=Wi(Ya({__name:"JsonPostmanConverter",emits:["back"],setup(e){nc.registerLanguage("json",rc),il("json-postman-converter");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("json-postman-converter"),{downloadText:a,downloadJson:n}=ol(),{copyToClipboard:r}=ll(),{success:s,error:i}=Vo(),o=St("json-to-postman"),l=St(""),c=St(""),u=St(""),d=St(""),h=St(""),p=St(""),f=St(void 0),m=is(()=>{if(!c.value)return null;return{lines:c.value.split("\n").filter(e=>e.trim()).length,params:c.value.split("\n").filter(e=>e.includes("=")).length}}),g=is(()=>{if(!h.value)return null;return{lines:h.value.split("\n").length,size:h.value.length}}),y=is(()=>{if(!h.value)return"";try{return nc.highlight(h.value,{language:"json"}).value}catch{return h.value}}),v=e=>{o.value=e,M()},b=()=>{u.value="",l.value.trim()?(clearTimeout(f.value),f.value=setTimeout(()=>{x(!1)},500)):c.value=""},w=async()=>{if(await new Promise(e=>setTimeout(e,10)),l.value.trim())try{JSON.parse(l.value),x(!1)}catch{}},x=(e=!0)=>{if(u.value="",l.value.trim())try{const t=JSON.parse(l.value);c.value=k(t),e&&s("JSON转Postman参数成功")}catch(t){u.value=`JSON格式错误: ${t.message}`,c.value="",e&&i("JSON格式错误")}else e&&i("请先输入JSON数据")},k=e=>{const t=(e,a="")=>{const n=[];for(const[r,s]of Object.entries(e)){const e=a?`${a}[${r}]`:r;null==s?n.push(`${e}=`):"object"!=typeof s||Array.isArray(s)?Array.isArray(s)?s.forEach((a,r)=>{"object"==typeof a?n.push(...t(a,`${e}[${r}]`)):n.push(`${e}[${r}]=${encodeURIComponent(String(a))}`)}):n.push(`${e}=${encodeURIComponent(String(s))}`):n.push(...t(s,e))}return n};if(Array.isArray(e)){const a=[];return e.forEach((e,n)=>{"object"==typeof e?a.push(...t(e,`[${n}]`)):a.push(`[${n}]=${encodeURIComponent(String(e))}`)}),a.join("\n")}return"object"==typeof e?t(e).join("\n"):`value=${encodeURIComponent(String(e))}`},_=()=>{p.value="",d.value.trim()?(clearTimeout(f.value),f.value=setTimeout(()=>{C(!1)},500)):h.value=""},E=async()=>{await new Promise(e=>setTimeout(e,10)),d.value.trim()&&C(!1)},C=(e=!0)=>{if(p.value="",d.value.trim())try{const t=F(d.value);h.value=JSON.stringify(t,null,2),e&&s("Postman参数转JSON成功")}catch(t){p.value=`转换失败: ${t.message}`,h.value="",e&&i("转换失败")}else e&&i("请先输入Postman参数")},F=e=>{const t=e.trim().split("\n"),a={};return t.forEach(e=>{const t=e.trim();if(!t||!t.includes("="))return;const[n,...r]=t.split("=");if(!n)return;const s=r.join("="),i=decodeURIComponent(s||""),o=n.split(/[\[\]]+/).filter(e=>e&&""!==e);if(0===o.length)return;let l=a;for(let a=0;a{if(d.value.trim())try{F(d.value),p.value="",s("Postman参数格式正确 ✅")}catch(e){p.value=`参数格式错误: ${e.message}`,i("参数格式错误 ❌")}else i("请先输入Postman参数")},A=()=>{if(l.value.trim())try{const e=JSON.parse(l.value);l.value=JSON.stringify(e,null,2),x(!1),s("JSON格式化成功!")}catch(e){i("JSON格式错误,无法格式化")}},T=async()=>{if(!c.value)return void i("没有可复制的内容");await r(c.value)?s("Postman参数已复制到剪贴板"):i("复制失败")},S=async()=>{if(!h.value)return void i("没有可复制的内容");await r(h.value)?s("JSON数据已复制到剪贴板"):i("复制失败")},I=()=>{if(!c.value)return void i("没有可下载的内容");a(c.value,"postman-params","txt")?s("Postman参数文件已下载"):i("下载失败")},P=()=>{if(!h.value)return void i("没有可下载的内容");n(h.value,"converted-data")?s("JSON文件已下载"):i("下载失败")},N=e=>{const t={1:{name:"用户登录数据",data:{username:"admin",password:"123456",remember:!0,user_info:{name:"管理员",email:"admin@example.com",roles:["admin","user"]},settings:{theme:"dark",language:"zh-CN",notifications:{email:!0,sms:!1}}}},2:{name:"商品数据",data:{product_id:12345,name:"MacBook Pro",price:12999.99,in_stock:!0,categories:["电脑","苹果","笔记本"],specifications:{cpu:"M3 Pro",memory:"16GB",storage:"512GB SSD"},reviews:[{user:"张三",rating:5,comment:"很好用"},{user:"李四",rating:4,comment:"性价比不错"}]}}}[e];t&&(l.value=JSON.stringify(t.data,null,2),x(!1),s(`已加载${t.name}示例`))},B=e=>{const t={1:{name:"用户登录参数",data:"username=admin\npassword=123456\nremember=true\nuser_info[name]=管理员\nuser_info[email]=admin@example.com\nuser_info[roles][0]=admin\nuser_info[roles][1]=user\nsettings[theme]=dark\nsettings[language]=zh-CN\nsettings[notifications][email]=true\nsettings[notifications][sms]=false"},2:{name:"商品参数",data:"product_id=12345\nname=MacBook Pro\nprice=12999.99\nin_stock=true\ncategories[0]=电脑\ncategories[1]=苹果\ncategories[2]=笔记本\nspecifications[cpu]=M3 Pro\nspecifications[memory]=16GB\nspecifications[storage]=512GB SSD\nreviews[0][user]=张三\nreviews[0][rating]=5\nreviews[0][comment]=很好用\nreviews[1][user]=李四\nreviews[1][rating]=4\nreviews[1][comment]=性价比不错"}}[e];t&&(d.value=t.data,C(!1),s(`已加载${t.name}示例`))},M=()=>{l.value="",c.value="",d.value="",h.value="",u.value="",p.value="",s("已清空所有内容")};return(e,a)=>(Cr(),Tr("div",Kk,[Or(hl,{title:Pt(t),onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",Jk,[Mr("button",{class:Q(["mode-btn",{active:"json-to-postman"===o.value}]),onClick:a[0]||(a[0]=e=>v("json-to-postman"))}," JSON → Postman ",2),Mr("button",{class:Q(["mode-btn",{active:"postman-to-json"===o.value}]),onClick:a[1]||(a[1]=e=>v("postman-to-json"))}," Postman → JSON ",2)]),"json-to-postman"===o.value?(Cr(),Tr(br,{key:0},[Or(jl,{icon:"copy",tooltip:"复制参数",disabled:!c.value,onClick:T},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载参数文件",disabled:!c.value,onClick:I},null,8,["disabled"])],64)):(Cr(),Tr(br,{key:1},[Or(jl,{icon:"copy",tooltip:"复制JSON",disabled:!h.value,onClick:S},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载JSON文件",disabled:!h.value,onClick:P},null,8,["disabled"])],64)),Or(jl,{icon:"clear",tooltip:"清空",onClick:M})]),_:1},8,["title"]),"json-to-postman"===o.value?(Cr(),Tr("div",qk,[Mr("div",Zk,[Mr("div",Xk,[a[9]||(a[9]=Mr("h3",null,"JSON数据输入",-1)),Mr("div",Qk,[Mr("div",e_,[Mr("button",{onClick:a[3]||(a[3]=e=>N(1)),class:"group-btn"},"用户数据"),Mr("button",{onClick:a[4]||(a[4]=e=>N(2)),class:"group-btn"},"商品数据"),Mr("button",{onClick:A,class:"group-btn"},"格式化")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[5]||(a[5]=e=>l.value=e),class:"code-textarea",placeholder:"请输入JSON数据...",onInput:b,onPaste:w},null,544),[[bi,l.value]]),u.value?(Cr(),Tr("div",t_,se(u.value),1)):Rr("",!0)]),Mr("div",a_,[Mr("div",n_,[a[10]||(a[10]=Mr("h3",null,"Postman参数输出",-1)),m.value?(Cr(),Tr("div",r_,[Mr("span",s_,se(m.value.lines)+" 行",1),Mr("span",i_,se(m.value.params)+" 参数",1)])):Rr("",!0)]),Mr("div",o_,[c.value?(Cr(),Tr("pre",l_,se(c.value),1)):(Cr(),Tr("div",c_,[...a[11]||(a[11]=[Lr('

Postman参数将显示在这里

',2)])]))])])])):(Cr(),Tr("div",u_,[Mr("div",d_,[Mr("div",h_,[a[12]||(a[12]=Mr("h3",null,"Postman参数输入",-1)),Mr("div",p_,[Mr("div",f_,[Mr("button",{onClick:a[6]||(a[6]=e=>B(1)),class:"group-btn"},"用户参数"),Mr("button",{onClick:a[7]||(a[7]=e=>B(2)),class:"group-btn"},"商品参数"),Mr("button",{onClick:D,class:"group-btn"},"验证")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[8]||(a[8]=e=>d.value=e),class:"code-textarea",placeholder:"请输入Postman参数格式...",onInput:_,onPaste:E},null,544),[[bi,d.value]]),p.value?(Cr(),Tr("div",m_,se(p.value),1)):Rr("",!0)]),Mr("div",g_,[Mr("div",y_,[a[13]||(a[13]=Mr("h3",null,"JSON输出",-1)),g.value?(Cr(),Tr("div",v_,[Mr("span",b_,se(g.value.lines)+" 行",1),Mr("span",w_,se(g.value.size)+" 字符",1)])):Rr("",!0)]),Mr("div",x_,[h.value?(Cr(),Tr("pre",{key:0,class:"code-output",innerHTML:y.value},null,8,k_)):(Cr(),Tr("div",__,[...a[14]||(a[14]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1),Mr("p",null,"JSON数据将显示在这里",-1)])]))])])]))]))}}),[["__scopeId","data-v-299922a2"]]);function C_(e){const t=e.regex,a=/(?![A-Za-z0-9])(?![$])/,n=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,a),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,a),s=t.concat(/[A-Z]+/,a),i={scope:"variable",match:"\\$+"+n},o={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),c="[ \t\n]",u={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(o)}),l,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},h=["false","null","true"],p=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],f=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={keyword:p,literal:(e=>{const t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(h),built_in:f},g=e=>e.map(e=>e.replace(/\|\d+$/,"")),y={variants:[{match:[/new/,t.concat(c,"+"),t.concat("(?!",g(f).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},v=t.concat(n,"\\b(?!\\()"),b={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),v],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),v],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},w={scope:"attr",match:t.concat(n,t.lookahead(":"),t.lookahead(/(?!::)/))},x={relevance:0,begin:/\(/,end:/\)/,keywords:m,contains:[w,i,b,e.C_BLOCK_COMMENT_MODE,u,d,y]},k={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",g(p).join("\\b|"),"|",g(f).join("\\b|"),"\\b)"),n,t.concat(c,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[x]};x.contains.push(k);const _=[w,b,e.C_BLOCK_COMMENT_MODE,u,d,y],E={begin:t.concat(/#\[\s*\\?/,t.either(r,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:h,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:h,keyword:["new","array"]},contains:["self",..._]},..._,{scope:"meta",variants:[{match:r},{match:s}]}]};return{case_insensitive:!1,keywords:m,contains:[E,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},i,k,b,{match:[/const/,/\s/,n],scope:{1:"keyword",3:"variable.constant"}},y,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m,contains:["self",E,i,b,e.C_BLOCK_COMMENT_MODE,u,d]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},u,d]}}const F_={class:"php-json-converter"},D_={class:"mode-toggle"},A_={key:0,class:"converter-layout"},T_={class:"input-section"},S_={key:0,class:"error-message"},I_={class:"output-section"},P_={class:"section-header"},N_={key:0,class:"result-info"},B_={class:"stat-item"},M_={class:"stat-item"},O_={class:"output-container"},U_=["innerHTML"],j_={key:1,class:"output-placeholder"},L_={key:1,class:"converter-layout"},R_={class:"input-section"},z_={class:"section-header"},H_={class:"section-actions"},Y_={class:"button-group"},$_={key:0,class:"error-message"},G_={class:"output-section"},W_={class:"section-header"},V_={key:0,class:"result-info"},K_={class:"stat-item"},J_={class:"stat-item"},q_={class:"output-container"},Z_=["innerHTML"],X_={key:1,class:"output-placeholder"},Q_=Wi(Ya({__name:"JsonToPhp",emits:["back"],setup(e){nc.registerLanguage("php",C_),nc.registerLanguage("json",rc),il("json-to-php");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("json-to-php"),{downloadText:a,downloadJson:n}=ol(),{copyToClipboard:r}=ll(),{success:s,error:i}=Vo(),o=St("json-to-php"),l=St(""),c=St(""),u=St(""),d=St("short"),h=St(""),p=St(""),f=St(""),m=St(void 0),g=is(()=>{if(!c.value)return null;return{lines:c.value.split("\n").length,size:c.value.length}}),y=is(()=>{if(!p.value)return null;return{lines:p.value.split("\n").length,size:p.value.length}}),v=is(()=>{if(!c.value)return"";try{return nc.highlight(c.value,{language:"php"}).value}catch{return c.value}}),b=is(()=>{if(!p.value)return"";try{return nc.highlight(p.value,{language:"json"}).value}catch{return p.value}}),w=e=>{o.value=e,j()},x=()=>{if(u.value="",l.value.trim())try{const e=JSON.parse(l.value);c.value=E(e,0)}catch(e){u.value=`JSON格式错误: ${e.message}`,c.value="// JSON格式错误,请检查输入"}else c.value=""},k=async()=>{if(await new Promise(e=>setTimeout(e,10)),l.value.trim())try{JSON.parse(l.value),x()}catch{}},_=()=>{if(l.value.trim())try{JSON.parse(l.value),u.value="",s("JSON格式正确 ✅")}catch(e){u.value=`JSON格式错误: ${e.message}`,i("JSON格式错误 ❌")}else i("请先输入JSON数据")},E=(e,t=0)=>{const a=" ".repeat(t),n=" ".repeat(t+1);if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("number"==typeof e)return e.toString();if("string"==typeof e)return`'${e.replace(/'/g,"\\'")}'`;if(Array.isArray(e)){if(0===e.length)return"short"===d.value?"[]":"array()";const r=e.map(e=>`${n}${E(e,t+1)}`).join(",\n");return"short"===d.value?`[\n${r}\n${a}]`:`array(\n${r}\n${a})`}if("object"==typeof e){const r=Object.keys(e);if(0===r.length)return"short"===d.value?"[]":"array()";const s=r.map(a=>{const r=E(e[a],t+1);return`${n}'${a}' => ${r}`}).join(",\n");return"short"===d.value?`[\n${s}\n${a}]`:`array(\n${s}\n${a})`}return"null"},C=()=>{f.value="",h.value.trim()?(clearTimeout(m.value),m.value=setTimeout(()=>{D(!1)},500)):p.value=""},F=async()=>{await new Promise(e=>setTimeout(e,10)),h.value.trim()&&D(!1)},D=(e=!0)=>{if(f.value="",h.value.trim())try{const t=T(h.value);p.value=JSON.stringify(t,null,2),e&&s("转换成功!")}catch(t){f.value=`PHP数组解析错误: ${t.message}`,p.value="",e&&i("PHP数组解析错误")}else e&&i("请先输入PHP数组代码")},A=()=>{if(h.value.trim())try{T(h.value),f.value="",s("PHP数组格式正确 ✅")}catch(e){f.value=`PHP数组格式错误: ${e.message}`,i("PHP数组格式错误 ❌")}else i("请先输入PHP数组代码")},T=e=>{let t=e.trim();if(t=t.replace(/^<\?php\s*/i,""),t=t.replace(/^\$\w+\s*=\s*/,""),t=t.replace(/;?\s*$/,""),!t)throw new Error("输入为空");try{let e=t;return e=e.replace(/array\s*\(/g,"["),e=e.replace(/\)/g,"]"),e=e.replace(/\s*=>\s*/g,":"),e=e.replace(/'/g,'"'),e=e.replace(/\btrue\b/g,"true"),e=e.replace(/\bfalse\b/g,"false"),e=e.replace(/\bnull\b/g,"null"),JSON.parse(e)}catch(a){try{let e=t.replace(/\/\*[\s\S]*?\*\//g,"");e=e.replace(/\/\/.*$/gm,"");const a={},n=e.split("\n");for(const t of n){const e=t.trim();if(e&&e.includes("=>")){const t=e.split("=>",2),n=t[0],r=t[1];if(!n||!r)continue;const s=n.trim().replace(/['"]/g,"").replace(/,$/,"");let i=r.trim().replace(/,$/,"");"true"===i?a[s]=!0:"false"===i?a[s]=!1:"null"===i?a[s]=null:/^\d+$/.test(i)?a[s]=parseInt(i):/^\d+\.\d+$/.test(i)?a[s]=parseFloat(i):a[s]=i.replace(/['"]/g,"")}}return Object.keys(a).length>0?a:{error:"无法解析PHP数组"}}catch(n){throw new Error("无法解析PHP数组格式,请检查语法")}}},S=()=>{l.value=JSON.stringify({name:"张三",age:30,email:"zhangsan@example.com",skills:["PHP","JavaScript","MySQL"],address:{city:"北京",district:"朝阳区",zipcode:"100000"},active:!0,salary:null},null,2),x()},I=()=>{h.value="[\n 'name' => '张三',\n 'age' => 30,\n 'email' => 'zhangsan@example.com',\n 'skills' => ['PHP', 'JavaScript', 'MySQL'],\n 'address' => [\n 'city' => '北京',\n 'district' => '朝阳区',\n 'zipcode' => '100000'\n ],\n 'active' => true,\n 'salary' => null\n]",D(!1)},P=()=>{if(l.value.trim())try{const e=JSON.parse(l.value);l.value=JSON.stringify(e,null,2),x(),s("JSON格式化成功!")}catch(e){i("JSON格式错误,无法格式化")}},N=()=>{d.value="short"===d.value?"long":"short",x()},B=async()=>{if(!c.value)return void i("没有可复制的内容");await r(c.value)?s("PHP代码已复制到剪贴板!"):i("复制失败,请手动复制")},M=async()=>{if(!p.value)return void i("没有可复制的内容");await r(p.value)?s("JSON数据已复制到剪贴板!"):i("复制失败,请手动复制")},O=()=>{if(!c.value)return void i("没有可下载的内容");const e=`{if(!p.value)return void i("没有可下载的内容");n(p.value,"converted_data")?s("JSON文件下载成功!"):i("下载失败")},j=()=>{l.value="",c.value="",h.value="",p.value="",u.value="",f.value="",s("已清空所有内容")};return nn(()=>{S()}),(e,a)=>(Cr(),Tr("div",F_,[Or(hl,{title:Pt(t),onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",D_,[Mr("button",{class:Q(["mode-btn",{active:"json-to-php"===o.value}]),onClick:a[0]||(a[0]=e=>w("json-to-php"))}," JSON → PHP ",2),Mr("button",{class:Q(["mode-btn",{active:"php-to-json"===o.value}]),onClick:a[1]||(a[1]=e=>w("php-to-json"))}," PHP → JSON ",2)]),"json-to-php"===o.value?(Cr(),Tr(br,{key:0},[Or(jl,{icon:"copy",tooltip:"复制PHP代码",disabled:!c.value,onClick:B},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载PHP文件",disabled:!c.value,onClick:O},null,8,["disabled"]),Or(jl,{icon:"toggle",tooltip:"short"===d.value?"切换到长语法 array()":"切换到短语法 []",onClick:N},null,8,["tooltip"])],64)):(Cr(),Tr(br,{key:1},[Or(jl,{icon:"copy",tooltip:"复制JSON",disabled:!p.value,onClick:M},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载JSON文件",disabled:!p.value,onClick:U},null,8,["disabled"])],64)),Or(jl,{icon:"clear",tooltip:"清空",onClick:j})]),_:1},8,["title"]),"json-to-php"===o.value?(Cr(),Tr("div",A_,[Mr("div",T_,[Mr("div",{class:"section-header"},[a[6]||(a[6]=Mr("h3",null,"JSON输入",-1)),Mr("div",{class:"section-actions"},[Mr("div",{class:"button-group"},[Mr("button",{onClick:S,class:"group-btn"},"示例数据"),Mr("button",{onClick:P,class:"group-btn"},"格式化"),Mr("button",{onClick:_,class:"group-btn"},"验证")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[3]||(a[3]=e=>l.value=e),class:"code-textarea",placeholder:"请输入JSON数据...",onInput:x,onPaste:k},null,544),[[bi,l.value]]),u.value?(Cr(),Tr("div",S_,se(u.value),1)):Rr("",!0)]),Mr("div",I_,[Mr("div",P_,[a[7]||(a[7]=Mr("h3",null,"PHP数组输出",-1)),g.value?(Cr(),Tr("div",N_,[Mr("span",B_,se(g.value.lines)+" 行",1),Mr("span",M_,se(g.value.size)+" 字符",1)])):Rr("",!0)]),Mr("div",O_,[c.value?(Cr(),Tr("pre",{key:0,class:"code-output",innerHTML:v.value},null,8,U_)):(Cr(),Tr("div",j_,[...a[8]||(a[8]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})],-1),Mr("p",null,"PHP数组代码将显示在这里",-1)])]))])])])):(Cr(),Tr("div",L_,[Mr("div",R_,[Mr("div",z_,[a[9]||(a[9]=Mr("h3",null,"PHP数组输入",-1)),Mr("div",H_,[Mr("div",Y_,[Mr("button",{onClick:I,class:"group-btn"},"示例数据"),Mr("button",{onClick:A,class:"group-btn"},"验证"),Mr("button",{onClick:a[4]||(a[4]=e=>D(!0)),class:"group-btn"},"转换")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[5]||(a[5]=e=>h.value=e),class:"code-textarea",placeholder:"请输入PHP数组代码...",onInput:C,onPaste:F},null,544),[[bi,h.value]]),f.value?(Cr(),Tr("div",$_,se(f.value),1)):Rr("",!0)]),Mr("div",G_,[Mr("div",W_,[a[10]||(a[10]=Mr("h3",null,"JSON输出",-1)),y.value?(Cr(),Tr("div",V_,[Mr("span",K_,se(y.value.lines)+" 行",1),Mr("span",J_,se(y.value.size)+" 字符",1)])):Rr("",!0)]),Mr("div",q_,[p.value?(Cr(),Tr("pre",{key:0,class:"code-output",innerHTML:b.value},null,8,Z_)):(Cr(),Tr("div",X_,[...a[11]||(a[11]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1),Mr("p",null,"JSON数据将显示在这里",-1)])]))])])]))]))}}),[["__scopeId","data-v-55900acb"]]),eE={class:"timestamp-converter"},tE={class:"converter-content"},aE={class:"current-time-section"},nE={class:"current-time-display"},rE={class:"time-row"},sE={class:"time-value"},iE={class:"timestamp-row"},oE={class:"timestamp-values"},lE={class:"timestamp-item"},cE={class:"timestamp-item"},uE={class:"conversion-section"},dE={class:"conversion-row"},hE={class:"input-group"},pE={class:"unit-select"},fE={class:"result-display"},mE={key:0,class:"result-with-copy"},gE={key:1,value:"请输入时间戳",readonly:"",class:"result-input placeholder"},yE={class:"conversion-section"},vE={class:"conversion-row"},bE={class:"input-group"},wE={class:"datetime-input-wrapper"},xE={class:"unit-select"},kE={class:"result-display"},_E={key:0,class:"result-with-copy"},EE={key:1,value:"请输入日期时间",readonly:"",class:"result-input placeholder"},CE={class:"conversion-section world-time-section"},FE={class:"world-time-container"},DE={class:"world-time-grid"},AE={class:"timezone-header"},TE={class:"city-info"},SE={class:"city-name"},IE={class:"country-name"},PE={class:"timezone-offset"},NE={class:"timezone-time"},BE={class:"time-display"},ME={class:"date-display"},OE=["onClick"],UE=Wi(Ya({__name:"TimestampConverter",emits:["back"],setup(e){il("timestamp-convert");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("timestamp-convert"),{copyToClipboard:a}=ll(),{success:n,error:r}=Vo(),s=St(""),i=St("seconds"),o=St(null),l=St(""),c=St("seconds"),u=St(null),d=St(""),h=St(""),p=St("");let f=null;const m=St(!1),g=St(null),y=St([]),v=[{city:"北京",country:"中国",zone:"Asia/Shanghai"},{city:"东京",country:"日本",zone:"Asia/Tokyo"},{city:"首尔",country:"韩国",zone:"Asia/Seoul"},{city:"新加坡",country:"新加坡",zone:"Asia/Singapore"},{city:"悉尼",country:"澳大利亚",zone:"Australia/Sydney"},{city:"伦敦",country:"英国",zone:"Europe/London"},{city:"巴黎",country:"法国",zone:"Europe/Paris"},{city:"柏林",country:"德国",zone:"Europe/Berlin"},{city:"莫斯科",country:"俄罗斯",zone:"Europe/Moscow"},{city:"纽约",country:"美国",zone:"America/New_York"},{city:"洛杉矶",country:"美国",zone:"America/Los_Angeles"},{city:"芝加哥",country:"美国",zone:"America/Chicago"},{city:"多伦多",country:"加拿大",zone:"America/Toronto"},{city:"圣保罗",country:"巴西",zone:"America/Sao_Paulo"},{city:"迪拜",country:"阿联酋",zone:"Asia/Dubai"},{city:"孟买",country:"印度",zone:"Asia/Kolkata"}];nn(()=>{w(),f=setInterval(w,1e3)}),ln(()=>{f&&clearInterval(f)});const b=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`,w=()=>{const e=new Date;d.value=b(e),h.value=Math.floor(e.getTime()/1e3).toString(),p.value=e.getTime().toString(),x()},x=()=>{const e=new Date;y.value=v.map(t=>{try{const a=new Intl.DateTimeFormat("zh-CN",{timeZone:t.zone,hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}),n=new Intl.DateTimeFormat("zh-CN",{timeZone:t.zone,year:"numeric",month:"2-digit",day:"2-digit"}),r=new Intl.DateTimeFormat("en",{timeZone:t.zone,timeZoneName:"longOffset"}),s=r.formatToParts(e).find(e=>"timeZoneName"===e.type),i=s?s.value:"UTC";return{city:t.city,country:t.country,zone:t.zone,offset:i,time:a.format(e),date:n.format(e).replace(/\//g,"-")}}catch(a){return{city:t.city,country:t.country,zone:t.zone,offset:"UTC",time:e.toISOString().slice(11,19),date:e.toISOString().slice(0,10)}}})},k=()=>{w(),n("时间已刷新")},_=()=>{if(s.value.trim())try{let e=parseInt(s.value.trim());if(isNaN(e))throw new Error("请输入有效的数字");"seconds"===i.value&&(e*=1e3);const t=new Date(e);if(isNaN(t.getTime()))throw new Error("无效的时间戳");o.value={formatted:b(t)}}catch(e){o.value=null,r(`转换失败: ${e.message}`)}else o.value=null},E=()=>{if(l.value.trim())try{let e;const t=l.value.trim();if(e=t.includes("T")?new Date(t):t.includes("-")&&t.includes(":")?new Date(t.replace(" ","T")):(t.includes("/"),new Date(t)),isNaN(e.getTime()))throw new Error("无效的日期时间格式");const a=e.getTime();u.value={timestamp:"seconds"===c.value?Math.floor(a/1e3).toString():a.toString()}}catch(e){u.value=null,r(`转换失败: ${e.message}`)}else u.value=null},C=()=>{const e=Math.floor(Date.now()/1e3);s.value=e.toString(),_(),n("已获取当前时间戳")},F=()=>{const e=new Date;l.value=b(e),E(),n("已设置当前日期时间")},D=()=>{const e=new Date;e.setHours(0,0,0,0),l.value=b(e),E(),n("已设置今天开始时间")},A=()=>{const e=new Date;e.setHours(23,59,59,999),l.value=b(e),E(),n("已设置今天结束时间")},T=()=>{const e=new Date;e.setDate(e.getDate()-1),e.setHours(0,0,0,0),l.value=b(e),E(),n("已设置昨天开始时间")},S=()=>{const e=new Date;e.setDate(e.getDate()+1),e.setHours(0,0,0,0),l.value=b(e),E(),n("已设置明天开始时间")},I=()=>{if(m.value=!0,l.value)try{const e=new Date(l.value.replace(" ","T"));if(!isNaN(e.getTime())&&g.value){const t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0"),r=String(e.getHours()).padStart(2,"0"),s=String(e.getMinutes()).padStart(2,"0");g.value.value=`${t}-${a}-${n}T${r}:${s}`}}catch(e){}setTimeout(()=>{g.value&&(g.value.focus(),g.value.showPicker?.())},100)},P=()=>{setTimeout(()=>{m.value=!1},200)},N=e=>{const t=e.target;if(t.value){const e=new Date(t.value);l.value=b(e),E(),n("已选择日期时间")}P()},B=async e=>{await a(e)?n("已复制到剪贴板"):r("复制失败")},M=()=>{s.value="",o.value=null,l.value="",u.value=null,n("已清空所有内容")};return(e,a)=>(Cr(),Tr("div",eE,[Or(hl,{title:Pt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"refresh",tooltip:"获取当前时间戳",onClick:C}),Or(jl,{icon:"clear",tooltip:"清空",onClick:M})]),_:1},8,["title"]),Mr("div",tE,[Mr("div",aE,[Mr("div",{class:"section-header"},[a[16]||(a[16]=Mr("h3",null,"当前时间",-1)),Mr("button",{class:"refresh-btn",onClick:k,title:"刷新"},[...a[15]||(a[15]=[Lr('',1)])])]),Mr("div",nE,[Mr("div",rE,[a[18]||(a[18]=Mr("label",null,"现在的当地时间为:",-1)),Mr("div",sE,[ca(Mr("input",{"onUpdate:modelValue":a[1]||(a[1]=e=>d.value=e),readonly:"",class:"time-input-readonly"},null,512),[[bi,d.value]]),Mr("button",{class:"copy-btn",onClick:a[2]||(a[2]=e=>B(d.value)),title:"复制"},[...a[17]||(a[17]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])]),Mr("div",iE,[a[23]||(a[23]=Mr("label",null,"现在的Unix时间戳:",-1)),Mr("div",oE,[Mr("div",lE,[ca(Mr("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>h.value=e),readonly:"",class:"timestamp-input-readonly"},null,512),[[bi,h.value]]),a[20]||(a[20]=Mr("span",{class:"unit"},"秒",-1)),Mr("button",{class:"copy-btn",onClick:a[4]||(a[4]=e=>B(h.value)),title:"复制"},[...a[19]||(a[19]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",cE,[ca(Mr("input",{"onUpdate:modelValue":a[5]||(a[5]=e=>p.value=e),readonly:"",class:"timestamp-input-readonly"},null,512),[[bi,p.value]]),a[22]||(a[22]=Mr("span",{class:"unit"},"毫秒",-1)),Mr("button",{class:"copy-btn",onClick:a[6]||(a[6]=e=>B(p.value)),title:"复制"},[...a[21]||(a[21]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])])])])]),Mr("div",uE,[a[27]||(a[27]=Mr("div",{class:"section-header"},[Mr("h3",null,"Unix时间戳 转 当地时间")],-1)),Mr("div",dE,[Mr("div",hE,[a[24]||(a[24]=Mr("label",null,"时间戳(eg:1388307215)",-1)),ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>s.value=e),type:"text",placeholder:"请输入时间戳",onInput:_,class:"conversion-input"},null,544),[[bi,s.value]])]),Mr("div",pE,[ca(Mr("select",{"onUpdate:modelValue":a[8]||(a[8]=e=>i.value=e),onChange:_,class:"unit-dropdown"},[...a[25]||(a[25]=[Mr("option",{value:"seconds"},"秒(s)",-1),Mr("option",{value:"milliseconds"},"毫秒(ms)",-1)])],544),[[_i,i.value]])]),Mr("button",{class:"convert-btn",onClick:_},"转换"),Mr("div",fE,[o.value?(Cr(),Tr("div",mE,[ca(Mr("input",{"onUpdate:modelValue":a[9]||(a[9]=e=>o.value.formatted=e),readonly:"",class:"result-input"},null,512),[[bi,o.value.formatted]]),Mr("button",{class:"copy-btn",onClick:a[10]||(a[10]=e=>B(o.value.formatted)),title:"复制"},[...a[26]||(a[26]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])):(Cr(),Tr("input",gE))])])]),Mr("div",yE,[a[31]||(a[31]=Mr("div",{class:"section-header"},[Mr("h3",null,"当地时间 转 Unix时间戳")],-1)),Mr("div",vE,[Mr("div",bE,[a[28]||(a[28]=Mr("label",null,"时间(eg:2015-04-01 10:01:01.620)",-1)),Mr("div",wE,[ca(Mr("input",{"onUpdate:modelValue":a[11]||(a[11]=e=>l.value=e),type:"text",placeholder:"请输入日期时间",onInput:E,class:"conversion-input"},null,544),[[bi,l.value]]),Mr("button",{class:"datetime-picker-btn",onClick:I,title:"选择日期时间",type:"button"}," 📅 "),Mr("input",{ref_key:"dateTimePickerRef",ref:g,type:"datetime-local",onChange:N,onBlur:P,class:Q(["datetime-picker",{"picker-visible":m.value}])},null,34)])]),Mr("button",{class:"convert-btn",onClick:E},"转换"),Mr("div",xE,[ca(Mr("select",{"onUpdate:modelValue":a[12]||(a[12]=e=>c.value=e),onChange:E,class:"unit-dropdown"},[...a[29]||(a[29]=[Mr("option",{value:"seconds"},"秒(s)",-1),Mr("option",{value:"milliseconds"},"毫秒(ms)",-1)])],544),[[_i,c.value]])]),Mr("div",kE,[u.value?(Cr(),Tr("div",_E,[ca(Mr("input",{"onUpdate:modelValue":a[13]||(a[13]=e=>u.value.timestamp=e),readonly:"",class:"result-input"},null,512),[[bi,u.value.timestamp]]),Mr("button",{class:"copy-btn",onClick:a[14]||(a[14]=e=>B(u.value.timestamp)),title:"复制"},[...a[30]||(a[30]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])):(Cr(),Tr("input",EE))])])]),Mr("div",{class:"quick-actions"},[Mr("button",{class:"quick-btn",onClick:F},"当前时间"),Mr("button",{class:"quick-btn",onClick:D},"今天开始"),Mr("button",{class:"quick-btn",onClick:A},"今天结束"),Mr("button",{class:"quick-btn",onClick:T},"昨天开始"),Mr("button",{class:"quick-btn",onClick:S},"明天开始")]),Mr("div",CE,[a[33]||(a[33]=Mr("div",{class:"section-header"},[Mr("h3",null,"世界时间"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"显示全球主要城市的当前时间")])],-1)),Mr("div",FE,[Mr("div",DE,[(Cr(!0),Tr(br,null,yn(y.value,e=>(Cr(),Tr("div",{key:e.zone,class:"world-time-item"},[Mr("div",AE,[Mr("div",TE,[Mr("span",SE,se(e.city),1),Mr("span",IE,se(e.country),1)]),Mr("span",PE,se(e.offset),1)]),Mr("div",NE,[Mr("span",BE,se(e.time),1),Mr("span",ME,se(e.date),1)]),Mr("button",{class:"copy-btn",onClick:t=>B(`${e.city}: ${e.time} ${e.date}`),title:"复制时间"},[...a[32]||(a[32]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,OE)]))),128))])])])])]))}}),[["__scopeId","data-v-f063e3d0"]]),jE={class:"date-calculator"},LE={class:"calculator-content"},RE={class:"calculation-section"},zE={class:"date-interval-container"},HE={class:"input-cards"},YE={class:"input-card"},$E={class:"card-header"},GE={class:"quick-actions"},WE={class:"date-time-inputs"},VE={class:"input-card"},KE={class:"card-header"},JE={class:"quick-actions"},qE={class:"date-time-inputs"},ZE={key:0,class:"interval-result"},XE={class:"result-summary"},QE={class:"summary-item primary"},eC={class:"summary-value"},tC={class:"result-grid compact"},aC={class:"result-item"},nC={class:"result-value"},rC={class:"result-item"},sC={class:"result-value"},iC={class:"result-item"},oC={class:"result-value"},lC={class:"result-item"},cC={class:"result-value"},uC={class:"calculation-section"},dC={class:"date-arithmetic-container"},hC={class:"base-date-group"},pC={class:"date-input-wrapper"},fC={class:"arithmetic-controls"},mC={class:"operation-group"},gC={class:"amount-group"},yC={class:"unit-group"},vC={class:"quick-arithmetic-buttons"},bC={key:0,class:"arithmetic-result"},wC={class:"result-item large"},xC={class:"result-value"},kC={class:"result-details"},_C={class:"detail-item"},EC={class:"detail-item"},CC={class:"calculation-section"},FC={class:"special-dates-container"},DC={class:"special-date-group"},AC={class:"date-input-wrapper"},TC={key:0,class:"special-result"},SC={class:"result-grid"},IC={class:"result-item"},PC={class:"result-value"},NC={class:"result-item"},BC={class:"result-value"},MC={class:"result-item"},OC={class:"result-value"},UC={class:"result-item"},jC={class:"result-value"},LC={key:0,class:"birthday-info"},RC={class:"result-item large"},zC={class:"result-value"},HC=Wi(Ya({__name:"DateCalculator",emits:["back"],setup(e){il("date-calculator");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("date-calculator"),{copyToClipboard:a}=ll(),{success:n,error:r}=Vo(),s=St(""),i=St("00:00:00"),o=St(""),l=St("00:00:00"),c=St(null),u=St(""),d=St("00:00:00"),h=St("add"),p=St(0),f=St("days"),m=St(null),g=St(""),y=St("birthday"),v=St(null);nn(()=>{const e=new Date,t=b(e),a=w(e);s.value=t,o.value=t,u.value=t,i.value=a,l.value=a,d.value=a});const b=e=>e.toISOString().split("T")[0]||"",w=e=>e.toTimeString().split(" ")[0]||"00:00:00",x=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`,k=e=>{const t=b(new Date);"start"===e?(s.value=t,i.value="00:00:00"):(o.value=t,l.value="23:59:59"),C()},_=e=>{const t=new Date,a=b(t),n=w(t);"start"===e?(s.value=a,i.value=n):(o.value=a,l.value=n),C()},E=()=>{const e=new Date;u.value=b(e),d.value=w(e),F()},C=()=>{if(s.value&&o.value)try{const e=new Date(`${s.value}T${i.value}`),t=new Date(`${o.value}T${l.value}`);if(isNaN(e.getTime())||isNaN(t.getTime()))throw new Error("无效的日期时间");const a=Math.abs(t.getTime()-e.getTime()),n=Math.floor(a/1e3),r=Math.floor(n/60),u=Math.floor(r/60),d=Math.floor(u/24),h=Math.floor(d/365),p=Math.floor(d%365/30),f=Math.floor(d%365%30),m=u%24,g=r%60,y=n%60;let v="";h>0&&(v+=`${h}年 `),p>0&&(v+=`${p}个月 `),f>0&&(v+=`${f}天 `),m>0&&(v+=`${m}小时 `),g>0&&(v+=`${g}分钟 `),y>0&&(v+=`${y}秒`),v||(v="0秒"),c.value={totalDays:d,totalHours:u,totalMinutes:r,totalSeconds:n,detailed:v.trim()}}catch(e){c.value=null,r(`计算失败: ${e.message}`)}else c.value=null},F=()=>{var e;if(u.value&&void 0!==p.value)try{const t=new Date(`${u.value}T${d.value}`);if(isNaN(t.getTime()))throw new Error("无效的基准日期时间");let a=new Date(t);const n="add"===h.value?p.value:-p.value;switch(f.value){case"years":a.setFullYear(a.getFullYear()+n);break;case"months":a.setMonth(a.getMonth()+n);break;case"days":a.setDate(a.getDate()+n);break;case"hours":a.setHours(a.getHours()+n);break;case"minutes":a.setMinutes(a.getMinutes()+n);break;case"seconds":a.setSeconds(a.getSeconds()+n)}m.value={formatted:x(a),weekday:(e=a,["星期日","星期一","星期二","星期三","星期四","星期五","星期六"][e.getDay()]||"星期日"),timestamp:Math.floor(a.getTime()/1e3).toString()}}catch(t){m.value=null,r(`计算失败: ${t.message}`)}else m.value=null},D=(e,t)=>{p.value=Math.abs(e),f.value=t,h.value=e>=0?"add":"subtract",F()},A=()=>{if(g.value)try{const e=new Date(g.value),t=new Date;if(isNaN(e.getTime()))throw new Error("无效的特殊日期");const a=t.getTime()-e.getTime(),n=Math.floor(a/864e5),r=Math.floor(n/365.25),s=t.getFullYear()+(e.getMonth(){await a(e)?n("已复制到剪贴板"):r("复制失败")},S=()=>{const e=new Date,t=b(e),a=w(e);s.value=t,o.value=t,u.value=t,g.value="",i.value=a,l.value=a,d.value=a,p.value=0,c.value=null,m.value=null,v.value=null,n("已清空所有内容")};return(e,a)=>(Cr(),Tr("div",jE,[Or(hl,{title:Pt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空",onClick:S})]),_:1},8,["title"]),Mr("div",LE,[Mr("div",RE,[a[38]||(a[38]=Mr("div",{class:"section-header"},[Mr("h3",null,"日期间隔计算"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"计算两个日期之间的时间间隔")])],-1)),Mr("div",zE,[Mr("div",HE,[Mr("div",YE,[Mr("div",$E,[a[26]||(a[26]=Mr("label",null,"开始日期",-1)),Mr("div",GE,[Mr("button",{class:"quick-btn",onClick:a[1]||(a[1]=e=>k("start"))},"今天"),Mr("button",{class:"quick-btn",onClick:a[2]||(a[2]=e=>_("start"))},"现在")])]),Mr("div",WE,[ca(Mr("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>s.value=e),type:"date",onChange:C,class:"date-input"},null,544),[[bi,s.value]]),ca(Mr("input",{"onUpdate:modelValue":a[4]||(a[4]=e=>i.value=e),type:"time",step:"1",onChange:C,class:"time-input"},null,544),[[bi,i.value]])])]),a[28]||(a[28]=Mr("div",{class:"separator"},[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M5 12h14"}),Mr("path",{d:"m12 5 7 7-7 7"})])],-1)),Mr("div",VE,[Mr("div",KE,[a[27]||(a[27]=Mr("label",null,"结束日期",-1)),Mr("div",JE,[Mr("button",{class:"quick-btn",onClick:a[5]||(a[5]=e=>k("end"))},"今天"),Mr("button",{class:"quick-btn",onClick:a[6]||(a[6]=e=>_("end"))},"现在")])]),Mr("div",qE,[ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>o.value=e),type:"date",onChange:C,class:"date-input"},null,544),[[bi,o.value]]),ca(Mr("input",{"onUpdate:modelValue":a[8]||(a[8]=e=>l.value=e),type:"time",step:"1",onChange:C,class:"time-input"},null,544),[[bi,l.value]])])])]),c.value?(Cr(),Tr("div",ZE,[Mr("div",XE,[Mr("div",QE,[a[29]||(a[29]=Mr("span",{class:"summary-label"},"详细间隔",-1)),Mr("span",eC,se(c.value.detailed),1)])]),Mr("div",tC,[Mr("div",aC,[a[30]||(a[30]=Mr("span",{class:"result-label"},"总天数",-1)),Mr("span",nC,se(c.value.totalDays),1),a[31]||(a[31]=Mr("span",{class:"result-unit"},"天",-1))]),Mr("div",rC,[a[32]||(a[32]=Mr("span",{class:"result-label"},"总小时",-1)),Mr("span",sC,se(c.value.totalHours),1),a[33]||(a[33]=Mr("span",{class:"result-unit"},"小时",-1))]),Mr("div",iC,[a[34]||(a[34]=Mr("span",{class:"result-label"},"总分钟",-1)),Mr("span",oC,se(c.value.totalMinutes),1),a[35]||(a[35]=Mr("span",{class:"result-unit"},"分钟",-1))]),Mr("div",lC,[a[36]||(a[36]=Mr("span",{class:"result-label"},"总秒数",-1)),Mr("span",cC,se(c.value.totalSeconds),1),a[37]||(a[37]=Mr("span",{class:"result-unit"},"秒",-1))])])])):Rr("",!0)])]),Mr("div",uC,[a[48]||(a[48]=Mr("div",{class:"section-header"},[Mr("h3",null,"日期加减计算"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"在指定日期基础上增加或减少时间")])],-1)),Mr("div",dC,[Mr("div",hC,[a[39]||(a[39]=Mr("label",null,"基准日期",-1)),Mr("div",pC,[ca(Mr("input",{"onUpdate:modelValue":a[9]||(a[9]=e=>u.value=e),type:"date",onChange:F,class:"date-input"},null,544),[[bi,u.value]]),ca(Mr("input",{"onUpdate:modelValue":a[10]||(a[10]=e=>d.value=e),type:"time",step:"1",onChange:F,class:"time-input"},null,544),[[bi,d.value]]),Mr("button",{class:"quick-btn",onClick:E},"现在")])]),Mr("div",fC,[Mr("div",mC,[a[41]||(a[41]=Mr("label",null,"操作",-1)),ca(Mr("select",{"onUpdate:modelValue":a[11]||(a[11]=e=>h.value=e),onChange:F,class:"operation-select"},[...a[40]||(a[40]=[Mr("option",{value:"add"},"增加 (+)",-1),Mr("option",{value:"subtract"},"减少 (-)",-1)])],544),[[_i,h.value]])]),Mr("div",gC,[a[42]||(a[42]=Mr("label",null,"数量",-1)),ca(Mr("input",{"onUpdate:modelValue":a[12]||(a[12]=e=>p.value=e),type:"number",min:"0",onInput:F,class:"amount-input",placeholder:"0"},null,544),[[bi,p.value,void 0,{number:!0}]])]),Mr("div",yC,[a[44]||(a[44]=Mr("label",null,"单位",-1)),ca(Mr("select",{"onUpdate:modelValue":a[13]||(a[13]=e=>f.value=e),onChange:F,class:"unit-select"},[...a[43]||(a[43]=[Lr('',6)])],544),[[_i,f.value]])])]),Mr("div",vC,[Mr("button",{class:"quick-btn",onClick:a[14]||(a[14]=e=>D(1,"days"))},"+1天"),Mr("button",{class:"quick-btn",onClick:a[15]||(a[15]=e=>D(-1,"days"))},"-1天"),Mr("button",{class:"quick-btn",onClick:a[16]||(a[16]=e=>D(7,"days"))},"+1周"),Mr("button",{class:"quick-btn",onClick:a[17]||(a[17]=e=>D(-7,"days"))},"-1周"),Mr("button",{class:"quick-btn",onClick:a[18]||(a[18]=e=>D(1,"months"))},"+1月"),Mr("button",{class:"quick-btn",onClick:a[19]||(a[19]=e=>D(-1,"months"))},"-1月"),Mr("button",{class:"quick-btn",onClick:a[20]||(a[20]=e=>D(1,"years"))},"+1年"),Mr("button",{class:"quick-btn",onClick:a[21]||(a[21]=e=>D(-1,"years"))},"-1年")]),m.value?(Cr(),Tr("div",bC,[Mr("div",wC,[a[46]||(a[46]=Mr("span",{class:"result-label"},"计算结果",-1)),Mr("span",xC,se(m.value.formatted),1),Mr("button",{class:"copy-btn",onClick:a[22]||(a[22]=e=>T(m.value.formatted)),title:"复制"},[...a[45]||(a[45]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",kC,[Mr("div",_C,[Mr("span",null,"星期:"+se(m.value.weekday),1)]),Mr("div",EC,[Mr("span",null,"时间戳:"+se(m.value.timestamp),1),Mr("button",{class:"copy-btn",onClick:a[23]||(a[23]=e=>T(m.value.timestamp)),title:"复制"},[...a[47]||(a[47]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])])])):Rr("",!0)])]),Mr("div",CC,[a[56]||(a[56]=Mr("div",{class:"section-header"},[Mr("h3",null,"特殊日期计算"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"计算生日、纪念日等特殊日期")])],-1)),Mr("div",FC,[Mr("div",DC,[a[50]||(a[50]=Mr("label",null,"特殊日期",-1)),Mr("div",AC,[ca(Mr("input",{"onUpdate:modelValue":a[24]||(a[24]=e=>g.value=e),type:"date",onChange:A,class:"date-input"},null,544),[[bi,g.value]]),ca(Mr("select",{"onUpdate:modelValue":a[25]||(a[25]=e=>y.value=e),onChange:A,class:"special-type-select"},[...a[49]||(a[49]=[Mr("option",{value:"birthday"},"生日",-1),Mr("option",{value:"anniversary"},"纪念日",-1),Mr("option",{value:"custom"},"自定义",-1)])],544),[[_i,y.value]])])]),v.value?(Cr(),Tr("div",TC,[Mr("div",SC,[Mr("div",IC,[a[51]||(a[51]=Mr("span",{class:"result-label"},"已过天数",-1)),Mr("span",PC,se(v.value.daysPassed)+" 天",1)]),Mr("div",NC,[a[52]||(a[52]=Mr("span",{class:"result-label"},"已过年数",-1)),Mr("span",BC,se(v.value.yearsPassed)+" 年",1)]),Mr("div",MC,[a[53]||(a[53]=Mr("span",{class:"result-label"},"下次日期",-1)),Mr("span",OC,se(v.value.nextDate),1)]),Mr("div",UC,[a[54]||(a[54]=Mr("span",{class:"result-label"},"距离天数",-1)),Mr("span",jC,se(v.value.daysUntilNext)+" 天",1)])]),"birthday"===y.value?(Cr(),Tr("div",LC,[Mr("div",RC,[a[55]||(a[55]=Mr("span",{class:"result-label"},"年龄信息",-1)),Mr("span",zC,se(v.value.ageInfo),1)])])):Rr("",!0)])):Rr("",!0)])])])]))}}),[["__scopeId","data-v-1b4d3e91"]]),YC=(e=!1)=>{const t=St(!1);let a=null,n=null,r=null;const s=async()=>{try{"wakeLock"in navigator&&(a=await navigator.wakeLock.request("screen"),console.log("防睡眠锁已激活"),a.addEventListener("release",()=>{console.log("防睡眠锁已释放")}))}catch(e){console.warn("无法获取防睡眠锁:",e)}},i=async()=>{if(a)try{await a.release(),a=null,console.log("防睡眠锁已手动释放")}catch(e){console.warn("释放防睡眠锁失败:",e)}},o=async e=>{try{const a=e||r||document.documentElement;a.requestFullscreen?await a.requestFullscreen():a.webkitRequestFullscreen?await a.webkitRequestFullscreen():a.msRequestFullscreen&&await a.msRequestFullscreen(),t.value=!0,await s()}catch(a){console.warn("进入全屏失败:",a)}},l=async()=>{try{document.exitFullscreen?await document.exitFullscreen():document.webkitExitFullscreen?await document.webkitExitFullscreen():document.msExitFullscreen&&await document.msExitFullscreen(),t.value=!1,await i()}catch(e){console.warn("退出全屏失败:",e)}},c=async e=>{t.value?await l():await o(e)},u=e=>{e.preventDefault(),c(r||void 0)},d=()=>{const e=!!(document.fullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement);t.value=e,e||i()},h=()=>{"visible"===document.visibilityState&&t.value&&!a&&s()};return nn(()=>{document.addEventListener("fullscreenchange",d),document.addEventListener("webkitfullscreenchange",d),document.addEventListener("msfullscreenchange",d),document.addEventListener("visibilitychange",h)}),ln(()=>{document.removeEventListener("fullscreenchange",d),document.removeEventListener("webkitfullscreenchange",d),document.removeEventListener("msfullscreenchange",d),document.removeEventListener("visibilitychange",h),n&&n.removeEventListener("dblclick",u),i()}),{isFullscreen:t,enterFullscreen:o,exitFullscreen:l,toggleFullscreen:c,requestWakeLock:s,releaseWakeLock:i,setDoubleClickElement:t=>{n&&n.removeEventListener("dblclick",u),n=t,n&&e&&n.addEventListener("dblclick",u)},setFullscreenTarget:e=>{r=e}}},$C={class:"countdown-timer"},GC={class:"timer-content"},WC={class:"quick-timer-section"},VC={class:"quick-timer-container"},KC={class:"timer-setup"},JC={class:"time-inputs-row"},qC={class:"time-input-group"},ZC={class:"time-input-group"},XC={class:"time-input-group"},QC={class:"quick-presets"},eF={class:"countdown-display"},tF={class:"time-units"},aF={class:"time-unit"},nF={class:"time-value"},rF={class:"time-unit"},sF={class:"time-value"},iF={class:"time-unit"},oF={class:"time-value"},lF={class:"time-unit"},cF={class:"time-value milliseconds"},uF={class:"timer-controls"},dF=["disabled"],hF=["disabled"],pF={width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},fF={key:0,d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},mF={key:1,d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},gF={class:"target-timer-section"},yF={class:"target-timer-container"},vF={class:"target-setup"},bF={class:"datetime-inputs"},wF={class:"input-group"},xF={class:"input-group"},kF={class:"quick-targets"},_F={key:0,class:"target-display-card"},EF={key:0,class:"display-title"},CF={class:"countdown-display large"},FF={class:"time-units"},DF={class:"time-unit"},AF={class:"time-value"},TF={class:"time-unit"},SF={class:"time-value"},IF={class:"time-unit"},PF={class:"time-value"},NF={class:"time-unit"},BF={class:"time-value"},MF={class:"multiple-timers-section"},OF={class:"multiple-timers-container"},UF={class:"add-timer-card"},jF={class:"add-timer-inputs"},LF={class:"datetime-inputs"},RF={key:0,class:"timers-grid"},zF={class:"timer-card-header"},HF=["onClick"],YF={class:"countdown-display compact"},$F={class:"time-units"},GF={class:"time-unit"},WF={class:"time-value"},VF={class:"time-unit"},KF={class:"time-value"},JF={class:"time-unit"},qF={class:"time-value"},ZF={class:"time-unit"},XF={class:"time-value"},QF=Wi(Ya({__name:"CountdownTimer",emits:["back"],setup(e){il("countdown-timer");const{success:t,error:a}=Vo(),{isFullscreen:n,toggleFullscreen:r}=YC(),s=St(null),i=St(""),o=St(""),l=St(""),c=St(null),u=St(0),d=St(5),h=St(0),p=St({isRunning:!1,isExpired:!1,remainingTime:0,totalTime:0,status:"准备就绪",display:null}),f=St(""),m=St(""),g=St(""),y=St([]);let v=null,b=null,w=null;nn(()=>{const e=new Date((new Date).getTime()+864e5);i.value=e.toISOString().split("T")[0]||"",o.value="12:00:00",m.value=e.toISOString().split("T")[0]||"",g.value="12:00:00",_(),C()}),ln(()=>{v&&clearInterval(v),b&&clearInterval(b),w&&clearInterval(w)});const x=e=>e.toString().padStart(2,"0"),k=e=>{const t=new Date,a=e.getTime()-t.getTime();if(a<=0)return{days:"00",hours:"00",minutes:"00",seconds:"00",status:"时间已到!",isExpired:!0};const n=Math.floor(a/864e5),r=Math.floor(a%864e5/36e5),s=Math.floor(a%36e5/6e4),i=Math.floor(a%6e4/1e3);return{days:x(n),hours:x(r),minutes:x(s),seconds:x(i),status:`还有 ${n} 天 ${r} 小时 ${s} 分钟`,isExpired:!1}},_=()=>{if(!i.value||!o.value)return c.value=null,void(v&&(clearInterval(v),v=null));const e=new Date(`${i.value}T${o.value}`);isNaN(e.getTime())?a("无效的目标日期时间"):(c.value=k(e),v&&clearInterval(v),v=setInterval(()=>{c.value&&(c.value=k(e),c.value.isExpired&&l.value&&t(`${l.value} 时间到了!`))},1e3))},E=(e,t)=>{let a=new Date(new Date);switch(t){case"hours":a.setHours(a.getHours()+e);break;case"days":a.setDate(a.getDate()+e)}i.value=a.toISOString().split("T")[0]||"",o.value=a.toTimeString().split(" ")[0]||"",_()},C=()=>{const e=3600*u.value+60*d.value+h.value,t=Math.floor(e/3600),a=Math.floor(e%3600/60),n=e%60;p.value.display={hours:x(t),minutes:x(a),seconds:x(n),milliseconds:"000"},p.value.totalTime=1e3*e,p.value.remainingTime=1e3*e},F=()=>{const e=1e3*(3600*u.value+60*d.value+h.value);e<=0?a("请设置有效的时间"):(p.value.isRunning=!0,p.value.isExpired=!1,p.value.status="计时中...",p.value.remainingTime=e,b&&clearInterval(b),b=setInterval(()=>{if(p.value.remainingTime-=10,p.value.remainingTime<=0)p.value.isRunning=!1,p.value.isExpired=!0,p.value.status="时间到了!",p.value.remainingTime=0,b&&(clearInterval(b),b=null),t("定时器时间到了!");else{const e=p.value.remainingTime,t=Math.floor(e/36e5),a=Math.floor(e%36e5/6e4),n=Math.floor(e%6e4/1e3),r=10*Math.floor(e%1e3/10);p.value.display={hours:x(t),minutes:x(a),seconds:x(n),milliseconds:r.toString().padStart(3,"0")}}},10))},D=()=>{p.value.isRunning=!1,p.value.status="已暂停",b&&(clearInterval(b),b=null)},A=()=>{p.value.isRunning=!1,p.value.isExpired=!1,p.value.status="准备就绪",b&&(clearInterval(b),b=null),C()},T=(e,t,a)=>{u.value=e,d.value=t,h.value=a,C()},S=()=>{if(!m.value||!g.value)return void a("请设置目标日期和时间");const e=new Date(`${m.value}T${g.value}`);if(isNaN(e.getTime()))return void a("无效的日期时间");const n={id:Date.now(),title:f.value||"未命名倒计时",targetDate:e,countdown:k(e)};y.value.push(n),f.value="",w||(w=setInterval(I,1e3)),t("倒计时已添加")},I=()=>{y.value.forEach(e=>{e.countdown=k(e.targetDate),e.countdown.isExpired&&t(`${e.title} 时间到了!`)})},P=()=>{v&&(clearInterval(v),v=null),b&&(clearInterval(b),b=null),w&&(clearInterval(w),w=null),c.value=null,l.value="",p.value={isRunning:!1,isExpired:!1,remainingTime:0,totalTime:0,status:"准备就绪",display:null},u.value=0,d.value=5,h.value=0,y.value=[],f.value="",C(),t("已清空所有倒计时")};return(e,a)=>(Cr(),Tr("div",$C,[Or(hl,{title:"倒计时器",onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:P})]),_:1}),Mr("div",GC,[Mr("div",WC,[a[35]||(a[35]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"⏱️ 快速定时器"),Mr("span",{class:"section-subtitle"},"设置倒计时时长,到时提醒")])],-1)),Mr("div",VC,[Mr("div",KC,[Mr("div",JC,[Mr("div",qC,[a[23]||(a[23]=Mr("label",null,"小时",-1)),ca(Mr("input",{"onUpdate:modelValue":a[1]||(a[1]=e=>u.value=e),type:"number",min:"0",max:"23",class:"time-number-input"},null,512),[[bi,u.value,void 0,{number:!0}]])]),a[26]||(a[26]=Mr("div",{class:"time-separator"},":",-1)),Mr("div",ZC,[a[24]||(a[24]=Mr("label",null,"分钟",-1)),ca(Mr("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>d.value=e),type:"number",min:"0",max:"59",class:"time-number-input"},null,512),[[bi,d.value,void 0,{number:!0}]])]),a[27]||(a[27]=Mr("div",{class:"time-separator"},":",-1)),Mr("div",XC,[a[25]||(a[25]=Mr("label",null,"秒钟",-1)),ca(Mr("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>h.value=e),type:"number",min:"0",max:"59",class:"time-number-input"},null,512),[[bi,h.value,void 0,{number:!0}]])])]),Mr("div",QC,[Mr("button",{class:"preset-btn",onClick:a[4]||(a[4]=e=>T(0,1,0))},"1分钟"),Mr("button",{class:"preset-btn",onClick:a[5]||(a[5]=e=>T(0,3,0))},"3分钟"),Mr("button",{class:"preset-btn",onClick:a[6]||(a[6]=e=>T(0,5,0))},"5分钟"),Mr("button",{class:"preset-btn",onClick:a[7]||(a[7]=e=>T(0,10,0))},"10分钟"),Mr("button",{class:"preset-btn",onClick:a[8]||(a[8]=e=>T(0,15,0))},"15分钟"),Mr("button",{class:"preset-btn",onClick:a[9]||(a[9]=e=>T(0,30,0))},"30分钟"),Mr("button",{class:"preset-btn",onClick:a[10]||(a[10]=e=>T(0,45,0))},"45分钟"),Mr("button",{class:"preset-btn",onClick:a[11]||(a[11]=e=>T(1,0,0))},"1小时")])]),Mr("div",{class:"timer-display-card",ref_key:"timerDisplayRef",ref:s},[Mr("div",eF,[Mr("div",tF,[Mr("div",aF,[Mr("span",nF,se(p.value.display?.hours||"00"),1),a[28]||(a[28]=Mr("span",{class:"time-label"},"时",-1))]),Mr("div",rF,[Mr("span",sF,se(p.value.display?.minutes||"00"),1),a[29]||(a[29]=Mr("span",{class:"time-label"},"分",-1))]),Mr("div",iF,[Mr("span",oF,se(p.value.display?.seconds||"00"),1),a[30]||(a[30]=Mr("span",{class:"time-label"},"秒",-1))]),Mr("div",lF,[Mr("span",cF,se(p.value.display?.milliseconds||"000"),1),a[31]||(a[31]=Mr("span",{class:"time-label"},"毫秒",-1))])]),Mr("div",{class:Q(["timer-status",{expired:p.value.isExpired,running:p.value.isRunning}])},se(p.value.status),3)]),Mr("div",uF,[Mr("button",{class:"control-btn start",onClick:F,disabled:p.value.isRunning},[...a[32]||(a[32]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polygon",{points:"5,3 19,12 5,21"})],-1),jr(" 开始 ",-1)])],8,dF),Mr("button",{class:"control-btn pause",onClick:D,disabled:!p.value.isRunning},[...a[33]||(a[33]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"6",y:"4",width:"4",height:"16"}),Mr("rect",{x:"14",y:"4",width:"4",height:"16"})],-1),jr(" 暂停 ",-1)])],8,hF),Mr("button",{class:"control-btn reset",onClick:A},[...a[34]||(a[34]=[Lr(' 重置 ',2)])]),Mr("button",{class:"control-btn fullscreen",onClick:a[12]||(a[12]=e=>Pt(r)(s.value||void 0))},[(Cr(),Tr("svg",pF,[Pt(n)?(Cr(),Tr("path",mF)):(Cr(),Tr("path",fF))])),jr(" "+se(Pt(n)?"退出":"全屏"),1)])])],512)])]),Mr("div",gF,[a[42]||(a[42]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📅 目标日期倒计时"),Mr("span",{class:"section-subtitle"},"设置目标日期,实时显示倒计时")])],-1)),Mr("div",yF,[Mr("div",vF,[Mr("div",bF,[Mr("div",wF,[a[36]||(a[36]=Mr("label",null,"目标日期",-1)),ca(Mr("input",{"onUpdate:modelValue":a[13]||(a[13]=e=>i.value=e),type:"date",onChange:_,class:"date-input"},null,544),[[bi,i.value]])]),Mr("div",xF,[a[37]||(a[37]=Mr("label",null,"目标时间",-1)),ca(Mr("input",{"onUpdate:modelValue":a[14]||(a[14]=e=>o.value=e),type:"time",step:"1",onChange:_,class:"time-input"},null,544),[[bi,o.value]])])]),ca(Mr("input",{"onUpdate:modelValue":a[15]||(a[15]=e=>l.value=e),type:"text",placeholder:"倒计时标题(可选)",class:"timer-title-input"},null,512),[[bi,l.value]]),Mr("div",kF,[Mr("button",{class:"preset-btn",onClick:a[16]||(a[16]=e=>E(1,"hours"))},"1小时后"),Mr("button",{class:"preset-btn",onClick:a[17]||(a[17]=e=>E(1,"days"))},"1天后"),Mr("button",{class:"preset-btn",onClick:a[18]||(a[18]=e=>E(7,"days"))},"1周后"),Mr("button",{class:"preset-btn",onClick:a[19]||(a[19]=e=>E(30,"days"))},"1月后")])]),c.value?(Cr(),Tr("div",_F,[l.value?(Cr(),Tr("div",EF,se(l.value),1)):Rr("",!0),Mr("div",CF,[Mr("div",FF,[Mr("div",DF,[Mr("span",AF,se(c.value.days),1),a[38]||(a[38]=Mr("span",{class:"time-label"},"天",-1))]),Mr("div",TF,[Mr("span",SF,se(c.value.hours),1),a[39]||(a[39]=Mr("span",{class:"time-label"},"时",-1))]),Mr("div",IF,[Mr("span",PF,se(c.value.minutes),1),a[40]||(a[40]=Mr("span",{class:"time-label"},"分",-1))]),Mr("div",NF,[Mr("span",BF,se(c.value.seconds),1),a[41]||(a[41]=Mr("span",{class:"time-label"},"秒",-1))])]),Mr("div",{class:Q(["timer-status",{expired:c.value.isExpired}])},se(c.value.status),3)])])):Rr("",!0)])]),Mr("div",MF,[a[49]||(a[49]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📋 多个倒计时"),Mr("span",{class:"section-subtitle"},"同时管理多个倒计时器")])],-1)),Mr("div",OF,[Mr("div",UF,[Mr("div",jF,[ca(Mr("input",{"onUpdate:modelValue":a[20]||(a[20]=e=>f.value=e),type:"text",placeholder:"倒计时标题",class:"timer-title-input"},null,512),[[bi,f.value]]),Mr("div",LF,[ca(Mr("input",{"onUpdate:modelValue":a[21]||(a[21]=e=>m.value=e),type:"date",class:"date-input"},null,512),[[bi,m.value]]),ca(Mr("input",{"onUpdate:modelValue":a[22]||(a[22]=e=>g.value=e),type:"time",step:"1",class:"time-input"},null,512),[[bi,g.value]])])]),Mr("button",{class:"add-timer-btn",onClick:S},[...a[43]||(a[43]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加倒计时 ",-1)])])]),y.value.length>0?(Cr(),Tr("div",RF,[(Cr(!0),Tr(br,null,yn(y.value,e=>(Cr(),Tr("div",{key:e.id,class:"timer-card"},[Mr("div",zF,[Mr("h4",null,se(e.title||"未命名倒计时"),1),Mr("button",{class:"remove-btn",onClick:a=>{return n=e.id,y.value=y.value.filter(e=>e.id!==n),0===y.value.length&&w&&(clearInterval(w),w=null),void t("倒计时已移除");var n}},[...a[44]||(a[44]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,HF)]),Mr("div",YF,[Mr("div",$F,[Mr("div",GF,[Mr("span",WF,se(e.countdown.days),1),a[45]||(a[45]=Mr("span",{class:"time-label"},"天",-1))]),Mr("div",VF,[Mr("span",KF,se(e.countdown.hours),1),a[46]||(a[46]=Mr("span",{class:"time-label"},"时",-1))]),Mr("div",JF,[Mr("span",qF,se(e.countdown.minutes),1),a[47]||(a[47]=Mr("span",{class:"time-label"},"分",-1))]),Mr("div",ZF,[Mr("span",XF,se(e.countdown.seconds),1),a[48]||(a[48]=Mr("span",{class:"time-label"},"秒",-1))])]),Mr("div",{class:Q(["timer-status",{expired:e.countdown.isExpired}])},se(e.countdown.status),3)])]))),128))])):Rr("",!0)])])])]))}}),[["__scopeId","data-v-3d360bda"]]),eD={class:"stopwatch"},tD={class:"converter-content"},aD={class:"stopwatch-container"},nD={class:"main-stopwatch-area"},rD={class:"time-display"},sD={class:"time-content"},iD={class:"main-time"},oD={class:"milliseconds"},lD={class:"control-buttons"},cD={key:0,width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},uD={key:1,width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},dD={key:0,class:"laps-section"},hD={class:"laps-container"},pD={class:"laps-list"},fD={class:"lap-number"},mD={class:"lap-time"},gD={class:"lap-total"},yD={class:"lap-timestamp"},vD={key:1,class:"stats-section"},bD={class:"stats-grid"},wD={class:"stat-item"},xD={class:"stat-value"},kD={class:"stat-item"},_D={class:"stat-value"},ED={class:"stat-item"},CD={class:"stat-value"},FD={class:"stat-item"},DD={class:"stat-value"},AD=Wi(Ya({__name:"Stopwatch",emits:["back"],setup(e){il("stopwatch");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("stopwatch"),a=St(!1),n=St(0),r=St(0),s=St(0),i=St(null),o=St(null),{isFullscreen:l,toggleFullscreen:c,setDoubleClickElement:u,setFullscreenTarget:d}=YC(!0),h=St([]),p=St(0),{success:f,error:m}=Vo(),g=is(()=>[...h.value].reverse()),y=is(()=>0===h.value.length?0:Math.min(...h.value.map(e=>e.lapTime))),v=is(()=>0===h.value.length?0:Math.max(...h.value.map(e=>e.lapTime))),b=is(()=>{if(0===h.value.length)return 0;const e=h.value.reduce((e,t)=>e+t.lapTime,0);return Math.round(e/h.value.length)}),w=e=>{const t=Math.floor(e/1e3),a=Math.floor(t/3600),n=Math.floor(t%3600/60),r=t%60;return`${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`},x=e=>(e%1e3).toString().padStart(3,"0"),k=()=>{a.value=!0,r.value=Date.now()-s.value,i.value=window.setInterval(()=>{n.value=Date.now()-r.value},10),f("秒表已开始")},_=()=>{a.value=!1,s.value=n.value,i.value&&(clearInterval(i.value),i.value=null),f("秒表已暂停")},E=()=>{k(),f("秒表已继续")},C=()=>{a.value=!1,n.value=0,r.value=0,s.value=0,i.value&&(clearInterval(i.value),i.value=null),f("秒表已重置")},F=()=>{if(!a.value)return;const e=h.value.length>0&&h.value[h.value.length-1]?.totalTime||0,t=n.value-e;p.value++;const r=new Date,s={id:p.value,lapTime:t,totalTime:n.value,timestamp:r.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})+"."+r.getMilliseconds().toString().padStart(3,"0")};h.value.push(s),D(),f(`第 ${h.value.length} 次计次已记录`)},D=()=>{if(h.value.length<=1)return;const e=y.value,t=v.value;h.value.forEach(a=>{a.isFastest=a.lapTime===e&&e!==t,a.isSlowest=a.lapTime===t&&e!==t})},A=()=>{h.value=[],p.value=0,f("计次记录已清空")},T=()=>{if(0===h.value.length)return void m("没有计次记录可导出");const e=[["次数","计次时间","总时间","记录时间"],...h.value.map((e,t)=>[(t+1).toString(),`${w(e.lapTime)}.${x(e.lapTime)}`,`${w(e.totalTime)}.${x(e.totalTime)}`,e.timestamp])].map(e=>e.join(",")).join("\n"),t=new Blob(["\ufeff"+e],{type:"text/csv;charset=utf-8;"}),a=document.createElement("a");if(void 0!==a.download){const e=URL.createObjectURL(t);a.setAttribute("href",e),a.setAttribute("download",`秒表记录_${(new Date).toISOString().slice(0,10)}.csv`),a.style.visibility="hidden",document.body.appendChild(a),a.click(),document.body.removeChild(a),f("计次记录已导出")}},S=e=>{"Space"===e.code?(e.preventDefault(),a.value?_():0===n.value?k():E()):"KeyL"===e.code&&a.value?(e.preventDefault(),F()):"KeyR"!==e.code||a.value||(e.preventDefault(),C())};return nn(()=>{document.addEventListener("keydown",S),Zt(()=>{o.value&&(u(o.value),d(o.value))}),f("快捷键:空格键 开始/暂停,L键 计次,R键 重置,双击计时器进入全屏")}),ln(()=>{document.removeEventListener("keydown",S),i.value&&clearInterval(i.value)}),(e,r)=>(Cr(),Tr("div",eD,[Or(hl,{title:Pt(t),onBack:r[0]||(r[0]=t=>e.$emit("back"))},{actions:la(()=>[h.value.length>0?(Cr(),Sr(jl,{key:0,icon:"download",tooltip:"导出记录",onClick:T})):Rr("",!0),h.value.length>0?(Cr(),Sr(jl,{key:1,icon:"clear",tooltip:"清空记录",onClick:A})):Rr("",!0)]),_:1},8,["title"]),Mr("div",tD,[Mr("div",aD,[Mr("div",nD,[Mr("div",{class:"timer-display-card",ref_key:"timerDisplayRef",ref:o},[Mr("div",rD,[Mr("div",sD,[Mr("div",iD,se(w(n.value)),1),Mr("div",oD,"."+se(x(n.value)),1)])]),Mr("div",lD,[a.value||0!==n.value?Rr("",!0):(Cr(),Tr("button",{key:0,class:"control-btn start-btn",onClick:k,onDblclick:r[1]||(r[1]=Ii(()=>{},["stop"]))},[...r[7]||(r[7]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polygon",{points:"5 3 19 12 5 21 5 3"})],-1),jr(" 开始 ",-1)])],32)),a.value?(Cr(),Tr("button",{key:1,class:"control-btn pause-btn",onClick:_,onDblclick:r[2]||(r[2]=Ii(()=>{},["stop"]))},[...r[8]||(r[8]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"6",y:"4",width:"4",height:"16"}),Mr("rect",{x:"14",y:"4",width:"4",height:"16"})],-1),jr(" 暂停 ",-1)])],32)):Rr("",!0),!a.value&&n.value>0?(Cr(),Tr("button",{key:2,class:"control-btn resume-btn",onClick:E,onDblclick:r[3]||(r[3]=Ii(()=>{},["stop"]))},[...r[9]||(r[9]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polygon",{points:"5 3 19 12 5 21 5 3"})],-1),jr(" 继续 ",-1)])],32)):Rr("",!0),a.value?(Cr(),Tr("button",{key:3,class:"control-btn lap-btn",onClick:F,onDblclick:r[4]||(r[4]=Ii(()=>{},["stop"]))},[...r[10]||(r[10]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("polyline",{points:"12,6 12,12 16,14"})],-1),jr(" 计次 ",-1)])],32)):Rr("",!0),n.value>0?(Cr(),Tr("button",{key:4,class:"control-btn reset-btn",onClick:C,onDblclick:r[5]||(r[5]=Ii(()=>{},["stop"]))},[...r[11]||(r[11]=[Lr(' 重置 ',2)])],32)):Rr("",!0),Mr("button",{class:"control-btn fullscreen-btn",onClick:r[6]||(r[6]=()=>Pt(c)(o.value))},[Pt(l)?(Cr(),Tr("svg",uD,[...r[13]||(r[13]=[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},null,-1)])])):(Cr(),Tr("svg",cD,[...r[12]||(r[12]=[Mr("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},null,-1)])])),jr(" "+se(Pt(l)?"退出":"全屏"),1)])])],512)]),h.value.length>0?(Cr(),Tr("div",dD,[r[15]||(r[15]=Mr("h3",{class:"section-title"},"计次记录",-1)),Mr("div",hD,[r[14]||(r[14]=Lr('
次数计次时间总时间记录时间
',1)),Mr("div",pD,[(Cr(!0),Tr(br,null,yn(g.value,(e,t)=>(Cr(),Tr("div",{key:e.id,class:Q(["lap-item",{fastest:e.isFastest,slowest:e.isSlowest}])},[Mr("span",fD,se(h.value.length-t),1),Mr("span",mD,se(w(e.lapTime))+"."+se(x(e.lapTime)),1),Mr("span",gD,se(w(e.totalTime))+"."+se(x(e.totalTime)),1),Mr("span",yD,se(e.timestamp),1)],2))),128))])])])):Rr("",!0),h.value.length>0?(Cr(),Tr("div",vD,[r[20]||(r[20]=Mr("h3",{class:"section-title"},"统计信息",-1)),Mr("div",bD,[Mr("div",wD,[r[16]||(r[16]=Mr("div",{class:"stat-label"},"总计次数",-1)),Mr("div",xD,se(h.value.length),1)]),Mr("div",kD,[r[17]||(r[17]=Mr("div",{class:"stat-label"},"最快计次",-1)),Mr("div",_D,se(w(y.value))+"."+se(x(y.value)),1)]),Mr("div",ED,[r[18]||(r[18]=Mr("div",{class:"stat-label"},"最慢计次",-1)),Mr("div",CD,se(w(v.value))+"."+se(x(v.value)),1)]),Mr("div",FD,[r[19]||(r[19]=Mr("div",{class:"stat-label"},"平均计次",-1)),Mr("div",DD,se(w(b.value))+"."+se(x(b.value)),1)])])])):Rr("",!0)])])]))}}),[["__scopeId","data-v-ed06e668"]]);var TD,SD,ID,PD={exports:{}},ND=PD.exports;function BD(){return TD||(TD=1,e=PD,function(t,a){if(e.exports)e.exports=a();else{var n=a();for(var r in n)t[r]=n[r]}}(ND,function(){var e,t,a,n,r,s,i,o,l,c,u,d,h,p,f,m,g,y,v,b,w,x,k,_,E,C,F,D,A,T,S,I,P,N,B,M,O,U,j,L,R,z,H,Y,$,G,W,V,K,J,q,Z,X=function(){var e=function(t,a,n,r,s,i){var o=t,l=a,c=n,u=r,d=s,h=i;if(t*=1,isNaN(t))throw new Error("wrong solar year "+o);if(a*=1,isNaN(a))throw new Error("wrong solar month "+l);if(n*=1,isNaN(n))throw new Error("wrong solar day "+c);if(r*=1,isNaN(r))throw new Error("wrong hour "+u);if(s*=1,isNaN(s))throw new Error("wrong minute "+d);if(i*=1,isNaN(i))throw new Error("wrong second "+h);if(1582===t&&10===a&&n>4&&n<15)throw new Error("wrong solar year "+t+" month "+a+" day "+n);if(a<1||a>12)throw new Error("wrong month "+a);if(n<1||n>31)throw new Error("wrong day "+n);if(r<0||r>23)throw new Error("wrong hour "+r);if(s<0||s>59)throw new Error("wrong minute "+s);if(i<0||i>59)throw new Error("wrong second "+i);return{_p:{year:t,month:a,day:n,hour:r,minute:s,second:i},subtract:function(e){return le.getDaysBetween(e.getYear(),e.getMonth(),e.getDay(),this._p.year,this._p.month,this._p.day)},subtractMinute:function(e){var t=this.subtract(e),a=60*this._p.hour+this._p.minute-(60*e.getHour()+e.getMinute());return a<0&&(a+=1440,t--),a+=1440*t},isAfter:function(e){return this._p.year>e.getYear()||!(this._p.yeare.getMonth()||!(this._p.monthe.getDay()||!(this._p.daye.getHour()||!(this._p.houre.getMinute()||!(this._p.minutee.getSecond()))))},isBefore:function(e){return!(this._p.year>e.getYear())&&(this._p.yeare.getMonth())&&(this._p.monthe.getDay())&&(this._p.daye.getHour())&&(this._p.houre.getMinute())&&(this._p.minutele.getDaysOfMonth(this._p.year,this._p.month)&&(t=le.WEEK_FESTIVAL[this._p.month+"-0-"+n])&&e.push(t),e},getOtherFestivals:function(){var e=[],t=le.OTHER_FESTIVAL[this._p.month+"-"+this._p.day];return t&&(e=e.concat(t)),e},getXingzuo:function(){return this.getXingZuo()},getXingZuo:function(){var e=11,t=100*this._p.month+this._p.day;return t>=321&&t<=419?e=0:t>=420&&t<=520?e=1:t>=521&&t<=621?e=2:t>=622&&t<=722?e=3:t>=723&&t<=822?e=4:t>=823&&t<=922?e=5:t>=923&&t<=1023?e=6:t>=1024&&t<=1122?e=7:t>=1123&&t<=1221?e=8:t>=1222||t<=119?e=9:t<=218&&(e=10),le.XINGZUO[e]},toYmd:function(){for(var e=this._p.month,t=this._p.day,a=this._p.year+"";a.length<4;)a="0"+a;return[a,(e<10?"0":"")+e,(t<10?"0":"")+t].join("-")},toYmdHms:function(){return this.toYmd()+" "+[(this._p.hour<10?"0":"")+this._p.hour,(this._p.minute<10?"0":"")+this._p.minute,(this._p.second<10?"0":"")+this._p.second].join(":")},toString:function(){return this.toYmd()},toFullString:function(){var e=this.toYmdHms();this.isLeapYear()&&(e+=" 闰年"),e+=" 星期"+this.getWeekInChinese();for(var t=this.getFestivals(),a=0,n=t.length;a4&&s<15&&(s+=10):2===r&&s>28&&(le.isLeapYear(n)||(s=28)),e(n,r,s,this._p.hour,this._p.minute,this._p.second)},nextMonth:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong months "+a);var n=te.fromYm(this._p.year,this._p.month).next(t),r=n.getYear(),s=n.getMonth(),i=this._p.day;if(1582===r&&10===s)i>4&&i<15&&(i+=10);else{var o=le.getDaysOfMonth(r,s);i>o&&(i=o)}return e(r,s,i,this._p.hour,this._p.minute,this._p.second)},nextDay:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong days "+a);var n=this._p.year,r=this._p.month,s=this._p.day;if(1582===n&&10===r&&s>4&&(s-=10),t>0){s+=t;for(var i=le.getDaysOfMonth(n,r);s>i;)s-=i,++r>12&&(r=1,n++),i=le.getDaysOfMonth(n,r)}else if(t<0){for(;s+t<=0;)--r<1&&(r=12,n--),s+=le.getDaysOfMonth(n,r);s+=t}return 1582===n&&10===r&&s>4&&(s+=10),e(n,r,s,this._p.hour,this._p.minute,this._p.second)},nextWorkday:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong days "+a);var n=e(this._p.year,this._p.month,this._p.day,this._p.hour,this._p.minute,this._p.second);if(0!==t)for(var r=Math.abs(t),s=t<1?-1:1;r>0;){n=n.next(s);var i=!0,o=ue.getHoliday(n.getYear(),n.getMonth(),n.getDay());if(o)i=o.isWork();else{var l=n.getWeek();0!==l&&6!==l||(i=!1)}i&&(r-=1)}return n},next:function(e,t){return t?this.nextWorkday(e):this.nextDay(e)},nextHour:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong hours "+a);var n=this._p.hour+t,r=n<0?-1:1,s=Math.abs(n),i=Math.floor(s/24)*r;(s=s%24*r)<0&&(s+=24,i--);var o=this.next(i);return e(o.getYear(),o.getMonth(),o.getDay(),s,o.getMinute(),o.getSecond())},getLunar:function(){return Q.fromSolar(this)},getJulianDay:function(){var e=this._p.year,t=this._p.month,a=this._p.day+((this._p.second/60+this._p.minute)/60+this._p.hour)/24,n=0,r=!1;return 372*e+31*t+Math.floor(a)>=588829&&(r=!0),t<=2&&(t+=12,e--),r&&(n=2-(n=Math.floor(e/100))+Math.floor(n/4)),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+a+n-1524.5},getSalaryRate:function(){if(1===this._p.month&&1===this._p.day)return 3;if(5===this._p.month&&1===this._p.day)return 3;if(10===this._p.month&&this._p.day>=1&&this._p.day<=3)return 3;var e=this.getLunar();if(1===e.getMonth()&&e.getDay()>=1&&e.getDay()<=3)return 3;if(5===e.getMonth()&&5===e.getDay())return 3;if(8===e.getMonth()&&15===e.getDay())return 3;if("清明"===e.getJieQi())return 3;var t=ue.getHoliday(this._p.year,this._p.month,this._p.day);if(t){if(!t.isWork())return 2}else{var a=this.getWeek();if(6===a||0===a)return 2}return 1}}};return{J2000:2451545,fromYmd:function(t,a,n){return e(t,a,n,0,0,0)},fromYmdHms:function(t,a,n,r,s,i){return e(t,a,n,r,s,i)},fromDate:function(t){return function(t){return e(t.getFullYear(),t.getMonth()+1,t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds())}(t)},fromJulianDay:function(t){return function(t){var a,n=Math.floor(t+.5),r=t+.5-n;n>=2299161&&(n+=1+(a=Math.floor((n-1867216.25)/36524.25))-Math.floor(a/4)),n+=1524;var s=Math.floor((n-122.1)/365.25);n-=Math.floor(365.25*s);var i=Math.floor(n/30.601),o=n-=Math.floor(30.601*i);i>13?(i-=13,s-=4715):(i-=1,s-=4716),r*=24;var l=Math.floor(r);r-=l,r*=60;var c=Math.floor(r);r-=c,r*=60;var u=Math.round(r);return u>59&&(u-=60,c++),c>59&&(c-=60,l++),l>23&&(l-=24,o+=1),e(s,i,o,l,c,u)}(t)},fromBaZi:function(e,t,a,n,r,s){return function(e,t,a,n,r,s){r*=1,isNaN(r)&&(r=2),1!==r&&(r=2),s*=1,isNaN(s)&&(s=1900);var i=[],o=ce.index(t.substring(1),ce.ZHI,-1)-2;if(o<0&&(o+=12),(2*(ce.index(e.substring(0,1),ce.GAN,-1)+1)+o)%10!==ce.index(t.substring(0,1),ce.GAN,-1))return i;var l=ce.getJiaZiIndex(e)-57;l<0&&(l+=60),l++,o*=2;var c=2*ce.index(n.substring(1),ce.ZHI,-1),u=[c];0===c&&2===r&&(u=[0,23]);for(var d=s-1,h=(new Date).getFullYear();l<=h;){if(l>=d){var p=Q.fromYmd(l,1,1),f=p.getJieQiList(),m=p.getJieQiTable()[f[4+o]];if(m.getYear()>=s){var g=ce.getJiaZiIndex(a)-ce.getJiaZiIndex(m.getLunar().getDayInGanZhiExact2());g<0&&(g+=60),g>0&&(m=m.next(g));for(var y=0,v=u.length;y=f&&(i++,o++),h>=m&&(l++,c++)),e.yearGanIndex=r,e.yearZhiIndex=s,e.yearGanIndexByLiChun=(i<0?i+10:i)%10,e.yearZhiIndexByLiChun=(o<0?o+12:o)%12,e.yearGanIndexExact=(l<0?l+10:l)%10,e.yearZhiIndexExact=(c<0?c+12:c)%12}(i,r,e),function(e,t){var a,n,r=null,s=ce.JIE_QI_IN_USE.length,i=-3;for(a=0;a=(null==r?o:r.toYmd())&&o=(null==r?c:r.toYmdHms())&&c="23:00"&&u<="23:59"&&(++l>=10&&(l-=10),++c>=12&&(c-=12)),e.dayGanIndexExact=l,e.dayZhiIndexExact=c}(i,r,t,a),function(e,t,a){var n=ce.getTimeZhiIndex((t<10?"0":"")+t+":"+(a<10?"0":"")+a);e.timeZhiIndex=n,e.timeGanIndex=(e.dayGanIndexExact%5*2+n)%10}(i,t,a),function(e,t){e.weekIndex=t.getWeek()}(i,r),i},t=function(e){for(var t=0,a=0,r=0,s=se.fromYear(e.getYear()),i=s.getMonths(),o=0,l=i.length;o23)throw new Error("wrong hour "+r);if(s<0||s>59)throw new Error("wrong minute "+s);if(i<0||i>59)throw new Error("wrong second "+i);var p=se.fromYear(e),f=p.getMonth(t);if(null==f)throw new Error("wrong lunar year "+e+" month "+t);if(a<1)throw new Error("lunar day must bigger than 0");var m=f.getDayCount();if(a>m)throw new Error("only "+m+" days in lunar year "+e+" month "+t);var g=X.fromJulianDay(f.getFirstJulianDay()+a-1),y=X.fromYmdHms(g.getYear(),g.getMonth(),g.getDay(),r,s,i);return g.getYear()!==e&&(p=se.fromYear(g.getYear())),n(e,t,a,r,s,i,y,p)},n=function(t,a,n,r,s,i,o,l){var c=e(t,r,s,0,o,l);return{_p:{lang:we.getLanguage(),year:t,month:a,day:n,hour:r,minute:s,second:i,timeGanIndex:c.timeGanIndex,timeZhiIndex:c.timeZhiIndex,dayGanIndex:c.dayGanIndex,dayZhiIndex:c.dayZhiIndex,dayGanIndexExact:c.dayGanIndexExact,dayZhiIndexExact:c.dayZhiIndexExact,dayGanIndexExact2:c.dayGanIndexExact2,dayZhiIndexExact2:c.dayZhiIndexExact2,monthGanIndex:c.monthGanIndex,monthZhiIndex:c.monthZhiIndex,monthGanIndexExact:c.monthGanIndexExact,monthZhiIndexExact:c.monthZhiIndexExact,yearGanIndex:c.yearGanIndex,yearZhiIndex:c.yearZhiIndex,yearGanIndexByLiChun:c.yearGanIndexByLiChun,yearZhiIndexByLiChun:c.yearZhiIndexByLiChun,yearGanIndexExact:c.yearGanIndexExact,yearZhiIndexExact:c.yearZhiIndexExact,weekIndex:c.weekIndex,jieQi:c.jieQi,jieQiList:c.jieQiList,solar:o,eightChar:null},getYear:function(){return this._p.year},getMonth:function(){return this._p.month},getDay:function(){return this._p.day},getHour:function(){return this._p.hour},getMinute:function(){return this._p.minute},getSecond:function(){return this._p.second},getTimeGanIndex:function(){return this._p.timeGanIndex},getTimeZhiIndex:function(){return this._p.timeZhiIndex},getDayGanIndex:function(){return this._p.dayGanIndex},getDayGanIndexExact:function(){return this._p.dayGanIndexExact},getDayGanIndexExact2:function(){return this._p.dayGanIndexExact2},getDayZhiIndex:function(){return this._p.dayZhiIndex},getDayZhiIndexExact:function(){return this._p.dayZhiIndexExact},getDayZhiIndexExact2:function(){return this._p.dayZhiIndexExact2},getMonthGanIndex:function(){return this._p.monthGanIndex},getMonthGanIndexExact:function(){return this._p.monthGanIndexExact},getMonthZhiIndex:function(){return this._p.monthZhiIndex},getMonthZhiIndexExact:function(){return this._p.monthZhiIndexExact},getYearGanIndex:function(){return this._p.yearGanIndex},getYearGanIndexByLiChun:function(){return this._p.yearGanIndexByLiChun},getYearGanIndexExact:function(){return this._p.yearGanIndexExact},getYearZhiIndex:function(){return this._p.yearZhiIndex},getYearZhiIndexByLiChun:function(){return this._p.yearZhiIndexByLiChun},getYearZhiIndexExact:function(){return this._p.yearZhiIndexExact},getGan:function(){return this.getYearGan()},getZhi:function(){return this.getYearZhi()},getYearGan:function(){return ce.GAN[this._p.yearGanIndex+1]},getYearGanByLiChun:function(){return ce.GAN[this._p.yearGanIndexByLiChun+1]},getYearGanExact:function(){return ce.GAN[this._p.yearGanIndexExact+1]},getYearZhi:function(){return ce.ZHI[this._p.yearZhiIndex+1]},getYearZhiByLiChun:function(){return ce.ZHI[this._p.yearZhiIndexByLiChun+1]},getYearZhiExact:function(){return ce.ZHI[this._p.yearZhiIndexExact+1]},getYearInGanZhi:function(){return this.getYearGan()+this.getYearZhi()},getYearInGanZhiByLiChun:function(){return this.getYearGanByLiChun()+this.getYearZhiByLiChun()},getYearInGanZhiExact:function(){return this.getYearGanExact()+this.getYearZhiExact()},getMonthGan:function(){return ce.GAN[this._p.monthGanIndex+1]},getMonthGanExact:function(){return ce.GAN[this._p.monthGanIndexExact+1]},getMonthZhi:function(){return ce.ZHI[this._p.monthZhiIndex+1]},getMonthZhiExact:function(){return ce.ZHI[this._p.monthZhiIndexExact+1]},getMonthInGanZhi:function(){return this.getMonthGan()+this.getMonthZhi()},getMonthInGanZhiExact:function(){return this.getMonthGanExact()+this.getMonthZhiExact()},getDayGan:function(){return ce.GAN[this._p.dayGanIndex+1]},getDayGanExact:function(){return ce.GAN[this._p.dayGanIndexExact+1]},getDayGanExact2:function(){return ce.GAN[this._p.dayGanIndexExact2+1]},getDayZhi:function(){return ce.ZHI[this._p.dayZhiIndex+1]},getDayZhiExact:function(){return ce.ZHI[this._p.dayZhiIndexExact+1]},getDayZhiExact2:function(){return ce.ZHI[this._p.dayZhiIndexExact2+1]},getDayInGanZhi:function(){return this.getDayGan()+this.getDayZhi()},getDayInGanZhiExact:function(){return this.getDayGanExact()+this.getDayZhiExact()},getDayInGanZhiExact2:function(){return this.getDayGanExact2()+this.getDayZhiExact2()},getTimeGan:function(){return ce.GAN[this._p.timeGanIndex+1]},getTimeZhi:function(){return ce.ZHI[this._p.timeZhiIndex+1]},getTimeInGanZhi:function(){return this.getTimeGan()+this.getTimeZhi()},getShengxiao:function(){return this.getYearShengXiao()},getYearShengXiao:function(){return ce.SHENGXIAO[this._p.yearZhiIndex+1]},getYearShengXiaoByLiChun:function(){return ce.SHENGXIAO[this._p.yearZhiIndexByLiChun+1]},getYearShengXiaoExact:function(){return ce.SHENGXIAO[this._p.yearZhiIndexExact+1]},getMonthShengXiao:function(){return ce.SHENGXIAO[this._p.monthZhiIndex+1]},getMonthShengXiaoExact:function(){return ce.SHENGXIAO[this._p.monthZhiIndexExact+1]},getDayShengXiao:function(){return ce.SHENGXIAO[this._p.dayZhiIndex+1]},getTimeShengXiao:function(){return ce.SHENGXIAO[this._p.timeZhiIndex+1]},getYearInChinese:function(){for(var e=this._p.year+"",t="",a="0".charCodeAt(0),n=0,r=e.length;n-1?we.getMessage("bg.zhen"):[we.getMessage("jz.bingZi"),we.getMessage("jz.dingChou"),we.getMessage("jz.wuYin"),we.getMessage("jz.jiMao"),we.getMessage("jz.gengChen"),we.getMessage("jz.xinSi")].join(",").indexOf(t)>-1?we.getMessage("bg.li"):[we.getMessage("jz.wuZi"),we.getMessage("jz.jiChou"),we.getMessage("jz.gengYin"),we.getMessage("jz.xinMao"),we.getMessage("jz.renChen"),we.getMessage("jz.guiSi")].join(",").indexOf(t)>-1?we.getMessage("ps.center"):[we.getMessage("jz.gengZi"),we.getMessage("jz.xinChou"),we.getMessage("jz.renYin"),we.getMessage("jz.guiMao"),we.getMessage("jz.jiaChen"),we.getMessage("jz.yiSi")].join(",").indexOf(t)>-1?we.getMessage("bg.dui"):[we.getMessage("jz.renZi"),we.getMessage("jz.guiChou"),we.getMessage("jz.jiaYin"),we.getMessage("jz.yiMao"),we.getMessage("jz.bingChen"),we.getMessage("jz.dingSi")].join(",").indexOf(t)>-1?we.getMessage("bg.kan"):ce.POSITION_TAI_SUI_YEAR[a]},getDayPositionTaiSuiDesc:function(e){return ce.POSITION_DESC[this.getDayPositionTaiSui(e)]},getMonthPositionTaiSui:function(e){var t,a;3===e?(t=this._p.monthZhiIndexExact,a=this._p.monthGanIndexExact):(t=this._p.monthZhiIndex,a=this._p.monthGanIndex);var n=t-ce.BASE_MONTH_ZHI_INDEX;return n<0&&(n+=12),[we.getMessage("bg.gen"),ce.POSITION_GAN[a],we.getMessage("bg.kun"),we.getMessage("bg.xun")][n%4]},getMonthPositionTaiSuiDesc:function(e){return ce.POSITION_DESC[this.getMonthPositionTaiSui(e)]},getYearPositionTaiSui:function(e){var t;switch(e){case 1:t=this._p.yearZhiIndex;break;case 3:t=this._p.yearZhiIndexExact;break;default:t=this._p.yearZhiIndexByLiChun}return ce.POSITION_TAI_SUI_YEAR[t]},getYearPositionTaiSuiDesc:function(e){return ce.POSITION_DESC[this.getYearPositionTaiSui(e)]},_checkLang:function(){var e=we.getLanguage();if(this._p.lang!==e){for(var t=0,a=ce.JIE_QI_IN_USE.length;t=29&&this._p.year!==this.next(1).getYear()&&e.push(we.getMessage("jr.chuXi")),e},getOtherFestivals:function(){var e=[],t=ce.OTHER_FESTIVAL[this._p.month+"-"+this._p.day];t&&(e=e.concat(t));var a=this._p.solar.toYmd();this._p.solar.toYmd()===this._getJieQiSolar(we.getMessage("jq.qingMing")).next(-1).toYmd()&&e.push("寒食节");var n=this._getJieQiSolar(we.getMessage("jq.liChun")),r=4-n.getLunar().getDayGanIndex();return r<0&&(r+=10),a===n.next(r+40).toYmd()&&e.push("春社"),(r=4-(n=this._getJieQiSolar(we.getMessage("jq.liQiu"))).getLunar().getDayGanIndex())<0&&(r+=10),a===n.next(r+40).toYmd()&&e.push("秋社"),e},getBaZi:function(){var e=this.getEightChar(),t=[];return t.push(e.getYear()),t.push(e.getMonth()),t.push(e.getDay()),t.push(e.getTime()),t},getBaZiWuXing:function(){var e=this.getEightChar(),t=[];return t.push(e.getYearWuXing()),t.push(e.getMonthWuXing()),t.push(e.getDayWuXing()),t.push(e.getTimeWuXing()),t},getBaZiNaYin:function(){var e=this.getEightChar(),t=[];return t.push(e.getYearNaYin()),t.push(e.getMonthNaYin()),t.push(e.getDayNaYin()),t.push(e.getTimeNaYin()),t},getBaZiShiShenGan:function(){var e=this.getEightChar(),t=[];return t.push(e.getYearShiShenGan()),t.push(e.getMonthShiShenGan()),t.push(e.getDayShiShenGan()),t.push(e.getTimeShiShenGan()),t},getBaZiShiShenZhi:function(){var e=this.getEightChar(),t=[];return t.push(e.getYearShiShenZhi()[0]),t.push(e.getMonthShiShenZhi()[0]),t.push(e.getDayShiShenZhi()[0]),t.push(e.getTimeShiShenZhi()[0]),t},getBaZiShiShenYearZhi:function(){return this.getEightChar().getYearShiShenZhi()},getBaZiShiShenMonthZhi:function(){return this.getEightChar().getMonthShiShenZhi()},getBaZiShiShenDayZhi:function(){return this.getEightChar().getDayShiShenZhi()},getBaZiShiShenTimeZhi:function(){return this.getEightChar().getTimeShiShenZhi()},getZhiXing:function(){var e=this._p.dayZhiIndex-this._p.monthZhiIndex;return e<0&&(e+=12),ce.ZHI_XING[e+1]},getDayTianShen:function(){var e=this.getMonthZhi(),t=ce.ZHI_TIAN_SHEN_OFFSET[e];return ce.TIAN_SHEN[(this._p.dayZhiIndex+t)%12+1]},getTimeTianShen:function(){var e=this.getDayZhiExact(),t=ce.ZHI_TIAN_SHEN_OFFSET[e];return ce.TIAN_SHEN[(this._p.timeZhiIndex+t)%12+1]},getDayTianShenType:function(){return ce.TIAN_SHEN_TYPE[this.getDayTianShen()]},getTimeTianShenType:function(){return ce.TIAN_SHEN_TYPE[this.getTimeTianShen()]},getDayTianShenLuck:function(){return ce.TIAN_SHEN_TYPE_LUCK[this.getDayTianShenType()]},getTimeTianShenLuck:function(){return ce.TIAN_SHEN_TYPE_LUCK[this.getTimeTianShenType()]},getDayPositionTai:function(){return ce.POSITION_TAI_DAY[ce.getJiaZiIndex(this.getDayInGanZhi())]},getMonthPositionTai:function(){var e=this._p.month;return e<0?"":ce.POSITION_TAI_MONTH[e-1]},getDayYi:function(e){return e*=1,isNaN(e)&&(e=1),ce.getDayYi(2===e?this.getMonthInGanZhiExact():this.getMonthInGanZhi(),this.getDayInGanZhi())},getDayJi:function(e){return e*=1,isNaN(e)&&(e=1),ce.getDayJi(2===e?this.getMonthInGanZhiExact():this.getMonthInGanZhi(),this.getDayInGanZhi())},getDayJiShen:function(){return ce.getDayJiShen(this.getMonthZhiIndex(),this.getDayInGanZhi())},getDayXiongSha:function(){return ce.getDayXiongSha(this.getMonthZhiIndex(),this.getDayInGanZhi())},getTimeYi:function(){return ce.getTimeYi(this.getDayInGanZhiExact(),this.getTimeInGanZhi())},getTimeJi:function(){return ce.getTimeJi(this.getDayInGanZhiExact(),this.getTimeInGanZhi())},getYueXiang:function(){return ce.YUE_XIANG[this._p.day]},_getYearNineStar:function(e){var t=ce.getJiaZiIndex(e)+1,a=t-(ce.getJiaZiIndex(this.getYearInGanZhi())+1);a>1?a-=60:a<-1&&(a+=60);var n=(62+Math.floor((this._p.year+a+2696)/60)%3*3-t)%9;return 0===n&&(n=9),de.fromIndex(n-1)},getYearNineStar:function(e){var t;switch(e){case 1:t=this.getYearInGanZhi();break;case 3:t=this.getYearInGanZhiExact();break;default:t=this.getYearInGanZhiByLiChun()}return this._getYearNineStar(t)},getMonthNineStar:function(e){var t,a;switch(e){case 1:t=this._p.yearZhiIndex,a=this._p.monthZhiIndex;break;case 3:t=this._p.yearZhiIndexExact,a=this._p.monthZhiIndexExact;break;default:t=this._p.yearZhiIndexByLiChun,a=this._p.monthZhiIndex}var n=27-t%3*3;return a29?r.next(60-o):r.next(-o)).toYmd(),d=(t=l>29?s.next(60-l):s.next(-l)).toYmd(),h=(a=c>29?i.next(60-c):i.next(-c)).toYmd(),p=0;return n>=u&&n=h&&n=d?p=this._p.solar.subtract(t)%9:n=this._getJieQiSolar(we.getMessage("jq.dongZhi")).toYmd()&&e=this._getJieQiSolar("DONG_ZHI").toYmd())&&(t=!0);var a=(t?[0,3,6]:[8,5,2])[this.getDayZhiIndex()%3],n=this.getTimeZhiIndex(),r=t?a+n:a+9-n;return de.fromIndex(r%9)},getSolar:function(){return this._p.solar},getJieQiTable:function(){return this._checkLang(),this._p.jieQi},getJieQiList:function(){return this._p.jieQiList},getNextJie:function(e){for(var t=[],a=0,n=ce.JIE_QI_IN_USE.length/2;ac)continue;(null==r||p>r[a?"toYmd":"toYmdHms"]())&&(n=d,r=h)}}}return null==r?null:this._buildJieQi(n,r)},getCurrentJieQi:function(){for(var e in this._p.jieQi){var t=this._getJieQiSolar(e);if(t.getYear()===this._p.solar.getYear()&&t.getMonth()===this._p.solar.getMonth()&&t.getDay()===this._p.solar.getDay())return this._buildJieQi(this._convertJieQi(e),t)}return null},getCurrentJie:function(){for(var e=0,t=ce.JIE_QI_IN_USE.length;e0&&(e+=" ["+r+"]"),e+=" "+this.getGong()+"方"+this.getShou(),e+=" 星宿["+this.getXiu()+this.getZheng()+this.getAnimal()+"]("+this.getXiuLuck()+")",e+=" 彭祖百忌["+this.getPengZuGan()+" "+this.getPengZuZhi()+"]",e+=" 喜神方位["+this.getDayPositionXi()+"]("+this.getDayPositionXiDesc()+")",e+=" 阳贵神方位["+this.getDayPositionYangGui()+"]("+this.getDayPositionYangGuiDesc()+")",e+=" 阴贵神方位["+this.getDayPositionYinGui()+"]("+this.getDayPositionYinGuiDesc()+")",e+=" 福神方位["+this.getDayPositionFu()+"]("+this.getDayPositionFuDesc()+")",e+=" 财神方位["+this.getDayPositionCai()+"]("+this.getDayPositionCaiDesc()+")",e+=" 冲["+this.getDayChongDesc()+"]",e+=" 煞["+this.getDaySha()+"]"},_buildNameAndIndex:function(e,t){return{_p:{name:e,index:t},getName:function(){return this._p.name},setName:function(e){this._p.name=e},getIndex:function(){return this._p.index},setIndex:function(e){this._p.index=e},toString:function(){return this.getName()},toFullString:function(){return this.getName()+"第"+this.getIndex()+"天"}}},getShuJiu:function(){var e=X.fromYmd(this._p.solar.getYear(),this._p.solar.getMonth(),this._p.solar.getDay()),t=this._getJieQiSolar("DONG_ZHI"),a=X.fromYmd(t.getYear(),t.getMonth(),t.getDay());e.isBefore(a)&&(t=this._getJieQiSolar(we.getMessage("jq.dongZhi")),a=X.fromYmd(t.getYear(),t.getMonth(),t.getDay()));var n=X.fromYmd(t.getYear(),t.getMonth(),t.getDay()).next(81);if(e.isBefore(a)||!e.isBefore(n))return null;var r=e.subtract(a);return this._buildNameAndIndex(ce.NUMBER[Math.floor(r/9)+1]+"九",r%9+1)},getFu:function(){var e=X.fromYmd(this._p.solar.getYear(),this._p.solar.getMonth(),this._p.solar.getDay()),t=this._getJieQiSolar(we.getMessage("jq.xiaZhi")),a=this._getJieQiSolar(we.getMessage("jq.liQiu")),n=X.fromYmd(t.getYear(),t.getMonth(),t.getDay()),r=6-t.getLunar().getDayGanIndex();if(r<0&&(r+=10),r+=20,n=n.next(r),e.isBefore(n))return null;var s=e.subtract(n);if(s<10)return this._buildNameAndIndex("初伏",s+1);if(n=n.next(10),(s=e.subtract(n))<10)return this._buildNameAndIndex("中伏",s+1);n=n.next(10);var i=X.fromYmd(a.getYear(),a.getMonth(),a.getDay());if(s=e.subtract(n),i.isAfter(n)){if(s<10)return this._buildNameAndIndex("中伏",s+11);n=n.next(10),s=e.subtract(n)}return s<10?this._buildNameAndIndex("末伏",s+1):null},getLiuYao:function(){return ce.LIU_YAO[(Math.abs(this._p.month)+this._p.day-2)%6]},getWuHou:function(){var e=this.getPrevJieQi(!0),t=ce.find(e.getName(),ce.JIE_QI),a=X.fromYmd(this._p.solar.getYear(),this._p.solar.getMonth(),this._p.solar.getDay()),n=e.getSolar(),r=X.fromYmd(n.getYear(),n.getMonth(),n.getDay()),s=Math.floor(a.subtract(r)/5);return s>2&&(s=2),ce.WU_HOU[(3*t.index+s)%ce.WU_HOU.length]},getHou:function(){var e=this.getPrevJieQi(!0),t=this._p.solar.subtract(e.getSolar()),a=ce.HOU.length-1,n=Math.floor(t/5);return n>a&&(n=a),e.getName()+" "+ce.HOU[n]},getDayLu:function(){var e=ce.LU[this.getDayGan()],t=ce.LU[this.getDayZhi()],a=e+"命互禄";return t&&(a+=" "+t+"命进禄"),a},getTime:function(){return pe.fromYmdHms(this._p.year,this._p.month,this._p.day,this._p.hour,this._p.minute,this._p.second)},getTimes:function(){var e=[];e.push(pe.fromYmdHms(this._p.year,this._p.month,this._p.day,0,0,0));for(var t=0;t<12;t++)e.push(pe.fromYmdHms(this._p.year,this._p.month,this._p.day,2*(t+1)-1,0,0));return e},getFoto:function(){return me.fromLunar(this)},getTao:function(){return be.fromLunar(this)}}};return{fromYmdHms:function(e,t,n,r,s,i){return a(e,t,n,r,s,i)},fromYmd:function(e,t,n){return a(e,t,n,0,0,0)},fromSolar:function(e){return t(e)},fromDate:function(e){return function(e){return t(X.fromDate(e))}(e)}}}(),ee=function(){var e=function(t,a,n,r){var s=t,i=a,o=n;if(t*=1,isNaN(t))throw new Error("wrong solar year "+s);if(a*=1,isNaN(a))throw new Error("wrong solar month "+i);if(n*=1,isNaN(n))throw new Error("wrong solar day "+o);return r*=1,isNaN(r)&&(r=0),{_p:{year:t,month:a,day:n,start:r},getYear:function(){return this._p.year},getMonth:function(){return this._p.month},getDay:function(){return this._p.day},getStart:function(){return this._p.start},getIndex:function(){var e=X.fromYmd(this._p.year,this._p.month,1).getWeek()-this._p.start;return e<0&&(e+=7),Math.ceil((this._p.day+e)/7)},getIndexInYear:function(){var e=X.fromYmd(this._p.year,1,1).getWeek()-this._p.start;return e<0&&(e+=7),Math.ceil((le.getDaysInYear(this._p.year,this._p.month,this._p.day)+e)/7)},next:function(t,a){var n=t;if(t*=1,isNaN(t))throw new Error("wrong weeks "+n);var r=this._p.start;if(0===t)return e(this._p.year,this._p.month,this._p.day,r);var s=X.fromYmd(this._p.year,this._p.month,this._p.day);if(a){for(var i=t,o=e(this._p.year,this._p.month,this._p.day,r),l=this._p.month,c=i>0;0!==i;){s=s.next(c?7:-7);var u=(o=e(s.getYear(),s.getMonth(),s.getDay(),r)).getMonth();if(l!==u){var d=o.getIndex();if(c)if(1===d){var h=o.getFirstDay();u=(o=e(h.getYear(),h.getMonth(),h.getDay(),r)).getMonth()}else s=X.fromYmd(o.getYear(),o.getMonth(),1),o=e(s.getYear(),s.getMonth(),s.getDay(),r);else if(le.getWeeksOfMonth(o.getYear(),o.getMonth(),r)===d){var p=o.getFirstDay().next(6);u=(o=e(p.getYear(),p.getMonth(),p.getDay(),r)).getMonth()}else s=X.fromYmd(o.getYear(),o.getMonth(),le.getDaysOfMonth(o.getYear(),o.getMonth())),o=e(s.getYear(),s.getMonth(),s.getDay(),r);l=u}i-=c?1:-1}return o}return s=s.next(7*t),e(s.getYear(),s.getMonth(),s.getDay(),r)},getFirstDay:function(){var e=X.fromYmd(this._p.year,this._p.month,this._p.day),t=e.getWeek()-this._p.start;return t<0&&(t+=7),e.next(-t)},getFirstDayInMonth:function(){for(var e=0,t=this.getDays(),a=0;a12?(r-=12,s++):r<1&&(r+=12,s--),e(s,r)},getDays:function(){var e=[],t=X.fromYmd(this._p.year,this._p.month,1);e.push(t);for(var a=le.getDaysOfMonth(this._p.year,this._p.month),n=1;nthis._p.year||n.getMonth()>this._p.month)break}return t},toString:function(){return this.getYear()+"-"+this.getMonth()},toFullString:function(){return this.getYear()+"年"+this.getMonth()+"月"}}};return{fromYm:function(t,a){return e(t,a)},fromDate:function(t){return function(t){var a=X.fromDate(t);return e(a.getYear(),a.getMonth())}(t)}}}(),ae=function(){var e=function(t,a){var n=t,r=a;if(t*=1,isNaN(t))throw new Error("wrong solar year "+n);if(a*=1,isNaN(a))throw new Error("wrong solar month "+r);return{_p:{year:t,month:a},getYear:function(){return this._p.year},getMonth:function(){return this._p.month},getIndex:function(){return Math.ceil(this._p.month/3)},next:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong seasons "+a);var n=te.fromYm(this._p.year,this._p.month).next(3*t);return e(n.getYear(),n.getMonth())},getMonths:function(){for(var e=[],t=this.getIndex()-1,a=0;a<3;a++)e.push(te.fromYm(this._p.year,3*t+a+1));return e},toString:function(){return this.getYear()+"."+this.getIndex()},toFullString:function(){return this.getYear()+"年"+this.getIndex()+"季度"}}};return{fromYm:function(t,a){return e(t,a)},fromDate:function(t){return function(t){var a=X.fromDate(t);return e(a.getYear(),a.getMonth())}(t)}}}(),ne=function(){var e=function(t,a){var n=t,r=a;if(t*=1,isNaN(t))throw new Error("wrong solar year "+n);if(a*=1,isNaN(a))throw new Error("wrong solar month "+r);return{_p:{year:t,month:a},getYear:function(){return this._p.year},getMonth:function(){return this._p.month},getIndex:function(){return Math.ceil(this._p.month/6)},next:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wong halfYears "+a);var n=te.fromYm(this._p.year,this._p.month).next(6*t);return e(n.getYear(),n.getMonth())},getMonths:function(){for(var e=[],t=this.getIndex()-1,a=0;a<6;a++)e.push(te.fromYm(this._p.year,6*t+a+1));return e},toString:function(){return this.getYear()+"."+this.getIndex()},toFullString:function(){return this.getYear()+"年"+["上","下"][this.getIndex()-1]+"半年"}}};return{fromYm:function(t,a){return e(t,a)},fromDate:function(t){return function(t){var a=X.fromDate(t);return e(a.getYear(),a.getMonth())}(t)}}}(),re=function(){var e=function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong solar year "+a);return{_p:{year:t},getYear:function(){return this._p.year},next:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong years "+a);return e(this._p.year+t)},getMonths:function(){var e=[],t=te.fromYm(this._p.year,1);e.push(t);for(var a=1;a<12;a++)e.push(t.next(a));return e},toString:function(){return this.getYear()+""},toFullString:function(){return this.getYear()+"年"}}};return{fromYear:function(t){return e(t)},fromDate:function(t){return function(t){return e(X.fromDate(t).getYear())}(t)}}}(),se=function(){var e=["下","上","中"],t=["七","八","九","一","二","三","四","五","六"],a=[75,94,170,265,322,398,469,553,583,610,678,735,754,773,849,887,936,1050,1069,1126,1145,1164,1183,1259,1278,1308,1373,1403,1441,1460,1498,1555,1593,1612,1631,1642,2033,2128,2147,2242,2614,2728,2910,3062,3244,3339,3616,3711,3730,3825,4007,4159,4197,4322,4341,4379,4417,4531,4599,4694,4713,4789,4808,4971,5085,5104,5161,5180,5199,5294,5305,5476,5677,5696,5772,5791,5848,5886,6049,6068,6144,6163,6258,6402,6440,6497,6516,6630,6641,6660,6679,6736,6774,6850,6869,6899,6918,6994,7013,7032,7051,7070,7089,7108,7127,7146,7222,7271,7290,7309,7366,7385,7404,7442,7461,7480,7491,7499,7594,7624,7643,7662,7681,7719,7738,7814,7863,7882,7901,7939,7958,7977,7996,8034,8053,8072,8091,8121,8159,8186,8216,8235,8254,8273,8311,8330,8341,8349,8368,8444,8463,8474,8493,8531,8569,8588,8626,8664,8683,8694,8702,8713,8721,8751,8789,8808,8816,8827,8846,8884,8903,8922,8941,8971,9036,9066,9085,9104,9123,9142,9161,9180,9199,9218,9256,9294,9313,9324,9343,9362,9381,9419,9438,9476,9514,9533,9544,9552,9563,9571,9582,9601,9639,9658,9666,9677,9696,9734,9753,9772,9791,9802,9821,9886,9897,9916,9935,9954,9973,9992],n=[37,56,113,132,151,189,208,227,246,284,303,341,360,379,417,436,458,477,496,515,534,572,591,629,648,667,697,716,792,811,830,868,906,925,944,963,982,1001,1020,1039,1058,1088,1153,1202,1221,1240,1297,1335,1392,1411,1422,1430,1517,1525,1536,1574,3358,3472,3806,3988,4751,4941,5066,5123,5275,5343,5438,5457,5495,5533,5552,5715,5810,5829,5905,5924,6421,6535,6793,6812,6888,6907,7002,7184,7260,7279,7374,7556,7746,7757,7776,7833,7852,7871,7966,8015,8110,8129,8148,8224,8243,8338,8406,8425,8482,8501,8520,8558,8596,8607,8615,8645,8740,8778,8835,8865,8930,8960,8979,8998,9017,9055,9074,9093,9112,9150,9188,9237,9275,9332,9351,9370,9408,9427,9446,9457,9465,9495,9560,9590,9628,9647,9685,9715,9742,9780,9810,9818,9829,9848,9867,9905,9924,9943,9962,1e4],r=null,s=[11,12,1,2,3,4,5,6,7,8,9,10],i=function(e,t){for(var a=0,n=e.length;ad&&(h-=365.2422),e=0;e<26;e++)r.push(oe.calcQi(h+15.2184*e));for(e=0,t=ce.JIE_QI_IN_USE.length;er[0]&&(h-=29.53),e=0;e<16;e++)o.push(oe.calcShuo(h+29.5306*e));for(e=0;e<15;e++)l.push(Math.floor(o[e+1]-o[e])),c.push(e);var p=u-1,f=16;if(i(a,u))f=13;else if(i(n,u))f=14;else if(o[13]<=r[24]){for(e=1;o[e+1]>r[2*e]&&e<13;)e++;f=e}for(t=f;t<15;t++)c[t]-=1;var m=-1,g=-1,y=p;for(e=0;e<15;e++){var v=o[e]+X.J2000,b=c[e],w=s[b%12];1724360<=v&&v<1729794||1807724<=v&&v<1808699?w=s[(b+1)%12]:1729794!==v&&1808699!==v||(w=12),-1===m&&(m=w,g=w),w0){for(;;){for(r=u.length,a=0;an&&(r=n)),s=0;for(var d=a;d0&&(o+=1.43*h-.866+.054*h*h),l/=1e4,c/=1e8,u/=1e8,(t*=6)<0&&(t=s);for(var p=0,f=r.length;p0&&(y+=6),y>=g&&(y=g),a=0,n=0;a=n)return e>n+100?this.dtExt(e,31):this.dtExt(e,31)-(this.dtExt(n,31)-r)*(n+100-e)/100;for(t=0;tthis.SECOND_PER_DAY-1200)&&(t=36525*this.saLonT(e)-this.dtT(t)+this.ONE_THIRD),t},shuoHigh:function(e){var t=36525*this.msaLonT2(e),a=((t=t-this.dtT(t)+this.ONE_THIRD)+.5)%1*this.SECOND_PER_DAY;return(a<1800||a>this.SECOND_PER_DAY-1800)&&(t=36525*this.msaLonT(e)-this.dtT(t)+this.ONE_THIRD),t},qiLow:function(e){var t=628.3319653318,a=(e-4.895062166)/t;return a-=(53*a*a+334116*Math.cos(4.67+628.307585*a)+2061*Math.cos(2.678+628.3076*a)*a)/t/1e7,36525*(a-=((48950621.66+6283319653.318*a+53*a*a+334166*Math.cos(4.669257+628.307585*a)+3489*Math.cos(4.6261+1256.61517*a)+2060.6*Math.cos(2.67823+628.307585*a)*a-994-834*Math.sin(2.1824-33.75705*a))/1e7-e)/628.332+(32*(a+1.8)*(a+1.8)-20)/this.SECOND_PER_DAY/36525)+this.ONE_THIRD},shuoLow:function(e){var t=7771.37714500204,a=(e+1.08472)/t;return 36525*(a-=(-331e-7*a*a+.10976*Math.cos(.785+8328.6914*a)+.02224*Math.cos(.187+7214.0629*a)-.03342*Math.cos(4.669+628.3076*a))/t+(32*(a+1.8)*(a+1.8)-20)/this.SECOND_PER_DAY/36525)+this.ONE_THIRD},calcShuo:function(e){var t,a=this.SHUO_KB.length,n=0,r=14;e+=X.J2000;var s=this.SHUO_KB[0]-r,i=this.SHUO_KB[a-1]-r,o=2436935;if(e=o)n=Math.floor(this.shuoHigh(Math.floor((e+r-2451551)/29.5306)*Math.PI*2)+.5);else if(e>=s&&e=i&&e=i)n=Math.floor(this.qiHigh(Math.floor((e+7-2451259)/365.2422*24)*Math.PI/12)+.5);else if(e>=r&&e=s&&e5?this.qiAccurate(a-t):n-e<-5?this.qiAccurate(a+t):n}}),le=function(){return{WEEK:["{w.sun}","{w.mon}","{w.tues}","{w.wed}","{w.thur}","{w.fri}","{w.sat}"],DAYS_OF_MONTH:[31,28,31,30,31,30,31,31,30,31,30,31],XINGZUO:["{xz.aries}","{xz.taurus}","{xz.gemini}","{xz.cancer}","{xz.leo}","{xz.virgo}","{xz.libra}","{xz.scorpio}","{xz.sagittarius}","{xz.capricornus}","{xz.aquarius}","{xz.pisces}"],FESTIVAL:{"1-1":"{jr.yuanDan}","2-14":"{jr.qingRen}","3-8":"{jr.fuNv}","3-12":"{jr.zhiShu}","3-15":"{jr.xiaoFei}","4-1":"{jr.yuRen}","5-1":"{jr.wuYi}","5-4":"{jr.qingNian}","6-1":"{jr.erTong}","7-1":"{jr.jianDang}","8-1":"{jr.jianJun}","9-10":"{jr.jiaoShi}","10-1":"{jr.guoQing}","10-31":"{jr.wanShengYe}","11-1":"{jr.wanSheng}","12-24":"{jr.pingAn}","12-25":"{jr.shengDan}"},OTHER_FESTIVAL:{"1-8":["周恩来逝世纪念日"],"1-10":["中国人民警察节"],"1-14":["日记情人节"],"1-21":["列宁逝世纪念日"],"1-26":["国际海关日"],"1-27":["国际大屠杀纪念日"],"2-2":["世界湿地日"],"2-4":["世界抗癌日"],"2-7":["京汉铁路罢工纪念日"],"2-10":["国际气象节"],"2-19":["邓小平逝世纪念日"],"2-20":["世界社会公正日"],"2-21":["国际母语日"],"2-24":["第三世界青年日"],"3-1":["国际海豹日"],"3-3":["世界野生动植物日","全国爱耳日"],"3-5":["周恩来诞辰纪念日","中国青年志愿者服务日"],"3-6":["世界青光眼日"],"3-7":["女生节"],"3-12":["孙中山逝世纪念日"],"3-14":["马克思逝世纪念日","白色情人节"],"3-17":["国际航海日"],"3-18":["全国科技人才活动日","全国爱肝日"],"3-20":["国际幸福日"],"3-21":["世界森林日","世界睡眠日","国际消除种族歧视日"],"3-22":["世界水日"],"3-23":["世界气象日"],"3-24":["世界防治结核病日"],"3-29":["中国黄花岗七十二烈士殉难纪念日"],"4-2":["国际儿童图书日","世界自闭症日"],"4-4":["国际地雷行动日"],"4-7":["世界卫生日"],"4-8":["国际珍稀动物保护日"],"4-12":["世界航天日"],"4-14":["黑色情人节"],"4-15":["全民国家安全教育日"],"4-22":["世界地球日","列宁诞辰纪念日"],"4-23":["世界读书日"],"4-24":["中国航天日"],"4-25":["儿童预防接种宣传日"],"4-26":["世界知识产权日","全国疟疾日"],"4-28":["世界安全生产与健康日"],"4-30":["全国交通安全反思日"],"5-2":["世界金枪鱼日"],"5-3":["世界新闻自由日"],"5-5":["马克思诞辰纪念日"],"5-8":["世界红十字日"],"5-11":["世界肥胖日"],"5-12":["全国防灾减灾日","护士节"],"5-14":["玫瑰情人节"],"5-15":["国际家庭日"],"5-19":["中国旅游日"],"5-20":["网络情人节"],"5-22":["国际生物多样性日"],"5-25":["525心理健康节"],"5-27":["上海解放日"],"5-29":["国际维和人员日"],"5-30":["中国五卅运动纪念日"],"5-31":["世界无烟日"],"6-3":["世界自行车日"],"6-5":["世界环境日"],"6-6":["全国爱眼日"],"6-8":["世界海洋日"],"6-11":["中国人口日"],"6-14":["世界献血日","亲亲情人节"],"6-17":["世界防治荒漠化与干旱日"],"6-20":["世界难民日"],"6-21":["国际瑜伽日"],"6-25":["全国土地日"],"6-26":["国际禁毒日","联合国宪章日"],"7-1":["香港回归纪念日"],"7-6":["国际接吻日","朱德逝世纪念日"],"7-7":["七七事变纪念日"],"7-11":["世界人口日","中国航海日"],"7-14":["银色情人节"],"7-18":["曼德拉国际日"],"7-30":["国际友谊日"],"8-3":["男人节"],"8-5":["恩格斯逝世纪念日"],"8-6":["国际电影节"],"8-8":["全民健身日"],"8-9":["国际土著人日"],"8-12":["国际青年节"],"8-14":["绿色情人节"],"8-19":["世界人道主义日","中国医师节"],"8-22":["邓小平诞辰纪念日"],"8-29":["全国测绘法宣传日"],"9-3":["中国抗日战争胜利纪念日"],"9-5":["中华慈善日"],"9-8":["世界扫盲日"],"9-9":["毛泽东逝世纪念日","全国拒绝酒驾日"],"9-14":["世界清洁地球日","相片情人节"],"9-15":["国际民主日"],"9-16":["国际臭氧层保护日"],"9-17":["世界骑行日"],"9-18":["九一八事变纪念日"],"9-20":["全国爱牙日"],"9-21":["国际和平日"],"9-27":["世界旅游日"],"9-30":["中国烈士纪念日"],"10-1":["国际老年人日"],"10-2":["国际非暴力日"],"10-4":["世界动物日"],"10-11":["国际女童日"],"10-10":["辛亥革命纪念日"],"10-13":["国际减轻自然灾害日","中国少年先锋队诞辰日"],"10-14":["葡萄酒情人节"],"10-16":["世界粮食日"],"10-17":["全国扶贫日"],"10-20":["世界统计日"],"10-24":["世界发展信息日","程序员节"],"10-25":["抗美援朝纪念日"],"11-5":["世界海啸日"],"11-8":["记者节"],"11-9":["全国消防日"],"11-11":["光棍节"],"11-12":["孙中山诞辰纪念日"],"11-14":["电影情人节"],"11-16":["国际宽容日"],"11-17":["国际大学生节"],"11-19":["世界厕所日"],"11-28":["恩格斯诞辰纪念日"],"11-29":["国际声援巴勒斯坦人民日"],"12-1":["世界艾滋病日"],"12-2":["全国交通安全日"],"12-3":["世界残疾人日"],"12-4":["全国法制宣传日"],"12-5":["世界弱能人士日","国际志愿人员日"],"12-7":["国际民航日"],"12-9":["世界足球日","国际反腐败日"],"12-10":["世界人权日"],"12-11":["国际山岳日"],"12-12":["西安事变纪念日"],"12-13":["国家公祭日"],"12-14":["拥抱情人节"],"12-18":["国际移徙者日"],"12-26":["毛泽东诞辰纪念日"]},WEEK_FESTIVAL:{"3-0-1":"全国中小学生安全教育日","5-2-0":"母亲节","5-3-0":"全国助残日","6-3-0":"父亲节","9-3-6":"全民国防教育日","10-1-1":"世界住房日","11-4-4":"感恩节"},isLeapYear:function(e){return e<1600?e%4==0:e%4==0&&e%100!=0||e%400==0},getDaysOfMonth:function(e,t){var a=e,n=t;if(e*=1,isNaN(e))throw new Error("wrong solar year "+a);if(t*=1,isNaN(t))throw new Error("wrong solar month "+n);if(1582===e&&10===t)return 21;var r=t-1,s=this.DAYS_OF_MONTH[r];return 1===r&&this.isLeapYear(e)&&s++,s},getDaysOfYear:function(e){var t=e;if(e*=1,isNaN(e))throw new Error("wrong solar year "+t);return 1582===e?355:this.isLeapYear(e)?366:365},getDaysInYear:function(e,t,a){var n=e,r=t,s=a;if(e*=1,isNaN(e))throw new Error("wrong solar year "+n);if(t*=1,isNaN(t))throw new Error("wrong solar month "+r);if(a*=1,isNaN(a))throw new Error("wrong solar day "+s);for(var i=0,o=1;o=15)l-=10;else if(a>4)throw new Error("wrong solar year "+e+" month "+t+" day "+a);return i+=l},getDaysBetween:function(e,t,a,n,r,s){var i,o,l,c=e,u=t,d=a,h=n,p=r,f=s;if(e*=1,isNaN(e))throw new Error("wrong solar year "+c);if(t*=1,isNaN(t))throw new Error("wrong solar month "+u);if(a*=1,isNaN(a))throw new Error("wrong solar day "+d);if(n*=1,isNaN(n))throw new Error("wrong solar year "+h);if(r*=1,isNaN(r))throw new Error("wrong solar month "+p);if(s*=1,isNaN(s))throw new Error("wrong solar day "+f);if(e===n)i=this.getDaysInYear(n,r,s)-this.getDaysInYear(e,t,a);else if(e>n){for(o=this.getDaysOfYear(n)-this.getDaysInYear(n,r,s),l=n+1;l5&&(e=e.substring(0,5));for(var t=1,a=1;a<22;a+=2){if(e>=(a<10?"0":"")+a+":00"&&e<=(a+1<10?"0":"")+(a+1)+":59")return t;t++}return 0},convertTime:function(e){return this.ZHI[this.getTimeZhiIndex(e)+1]},getJiaZiIndex:function(e){return this.index(e,this.JIA_ZI,0)},hex:function(e){var t=e.toString(16);return t.length<2&&(t="0"+t),t.toUpperCase()},getDayYi:function(e,t){for(var a=[],n=this.hex(this.getJiaZiIndex(t)),r=this.hex(this.getJiaZiIndex(e)),s=this.DAY_YI_JI,i=s.indexOf(n+"=");i>-1;){var o=s=s.substring(i+3);o.indexOf("=")>-1&&(o=o.substring(0,o.indexOf("=")-2));var l,c,u=!1,d=o.substring(0,o.indexOf(":"));for(l=0,c=d.length;l-1;){var o=s=s.substring(i+3);o.indexOf("=")>-1&&(o=o.substring(0,o.indexOf("=")-2));var l,c,u=!1,d=o.substring(0,o.indexOf(":"));for(l=0,c=d.length;l=60&&a.push(this.SHEN_SHA[c+1])}return a.length<1&&a.push(this.SHEN_SHA[0]),a},getTimeYi:function(e,t){var a=[],n=this.hex(this.getJiaZiIndex(e)),r=this.hex(this.getJiaZiIndex(t)),s=this.TIME_YI_JI.indexOf(n+r+"=");if(s>-1){var i=this.TIME_YI_JI.substring(s+5);i.indexOf("=")>-1&&(i=i.substring(0,i.indexOf("=")-4));for(var o=i.substring(0,i.indexOf(",")),l=0,c=o.length;l-1){var i=this.TIME_YI_JI.substring(s+5);i.indexOf("=")>-1&&(i=i.substring(0,i.indexOf("=")-4));for(var o=i.substring(i.indexOf(",")+1),l=0,c=o.length;l-1)return{index:a,value:r}}return null}}}(),ue=(t=["元旦节","春节","清明节","劳动节","端午节","中秋节","国庆节","国庆中秋","抗战胜利日"],a=18,n="0".charCodeAt(0),r=t,s="200112290020020101200112300020020101200201010120020101200201020120020101200201030120020101200202091020020212200202101020020212200202121120020212200202131120020212200202141120020212200202151120020212200202161120020212200202171120020212200202181120020212200204273020020501200204283020020501200205013120020501200205023120020501200205033120020501200205043120020501200205053120020501200205063120020501200205073120020501200209286020021001200209296020021001200210016120021001200210026120021001200210036120021001200210046120021001200210056120021001200210066120021001200210076120021001200301010120030101200302011120030201200302021120030201200302031120030201200302041120030201200302051120030201200302061120030201200302071120030201200302081020030201200302091020030201200304263020030501200304273020030501200305013120030501200305023120030501200305033120030501200305043120030501200305053120030501200305063120030501200305073120030501200309276020031001200309286020031001200310016120031001200310026120031001200310036120031001200310046120031001200310056120031001200310066120031001200310076120031001200401010120040101200401171020040122200401181020040122200401221120040122200401231120040122200401241120040122200401251120040122200401261120040122200401271120040122200401281120040122200405013120040501200405023120040501200405033120040501200405043120040501200405053120040501200405063120040501200405073120040501200405083020040501200405093020040501200410016120041001200410026120041001200410036120041001200410046120041001200410056120041001200410066120041001200410076120041001200410096020041001200410106020041001200501010120050101200501020120050101200501030120050101200502051020050209200502061020050209200502091120050209200502101120050209200502111120050209200502121120050209200502131120050209200502141120050209200502151120050209200504303020050501200505013120050501200505023120050501200505033120050501200505043120050501200505053120050501200505063120050501200505073120050501200505083020050501200510016120051001200510026120051001200510036120051001200510046120051001200510056120051001200510066120051001200510076120051001200510086020051001200510096020051001200512310020060101200601010120060101200601020120060101200601030120060101200601281020060129200601291120060129200601301120060129200601311120060129200602011120060129200602021120060129200602031120060129200602041120060129200602051020060129200604293020060501200604303020060501200605013120060501200605023120060501200605033120060501200605043120060501200605053120060501200605063120060501200605073120060501200609306020061001200610016120061001200610026120061001200610036120061001200610046120061001200610056120061001200610066120061001200610076120061001200610086020061001200612300020070101200612310020070101200701010120070101200701020120070101200701030120070101200702171020070218200702181120070218200702191120070218200702201120070218200702211120070218200702221120070218200702231120070218200702241120070218200702251020070218200704283020070501200704293020070501200705013120070501200705023120070501200705033120070501200705043120070501200705053120070501200705063120070501200705073120070501200709296020071001200709306020071001200710016120071001200710026120071001200710036120071001200710046120071001200710056120071001200710066120071001200710076120071001200712290020080101200712300120080101200712310120080101200801010120080101200802021020080206200802031020080206200802061120080206200802071120080206200802081120080206200802091120080206200802101120080206200802111120080206200802121120080206200804042120080404200804052120080404200804062120080404200805013120080501200805023120080501200805033120080501200805043020080501200806074120080608200806084120080608200806094120080608200809135120080914200809145120080914200809155120080914200809276020081001200809286020081001200809296120081001200809306120081001200810016120081001200810026120081001200810036120081001200810046120081001200810056120081001200901010120090101200901020120090101200901030120090101200901040020090101200901241020090125200901251120090125200901261120090125200901271120090125200901281120090125200901291120090125200901301120090125200901311120090125200902011020090125200904042120090404200904052120090404200904062120090404200905013120090501200905023120090501200905033120090501200905284120090528200905294120090528200905304120090528200905314020090528200909276020091001200910016120091001200910026120091001200910036120091001200910046120091001200910055120091003200910065120091003200910075120091003200910085120091003200910105020091003201001010120100101201001020120100101201001030120100101201002131120100213201002141120100213201002151120100213201002161120100213201002171120100213201002181120100213201002191120100213201002201020100213201002211020100213201004032120100405201004042120100405201004052120100405201005013120100501201005023120100501201005033120100501201006124020100616201006134020100616201006144120100616201006154120100616201006164120100616201009195020100922201009225120100922201009235120100922201009245120100922201009255020100922201009266020101001201010016120101001201010026120101001201010036120101001201010046120101001201010056120101001201010066120101001201010076120101001201010096020101001201101010120110101201101020120110101201101030120110101201101301020110203201102021120110203201102031120110203201102041120110203201102051120110203201102061120110203201102071120110203201102081120110203201102121020110203201104022020110405201104032120110405201104042120110405201104052120110405201104303120110501201105013120110501201105023120110501201106044120110606201106054120110606201106064120110606201109105120110912201109115120110912201109125120110912201110016120111001201110026120111001201110036120111001201110046120111001201110056120111001201110066120111001201110076120111001201110086020111001201110096020111001201112310020120101201201010120120101201201020120120101201201030120120101201201211020120123201201221120120123201201231120120123201201241120120123201201251120120123201201261120120123201201271120120123201201281120120123201201291020120123201203312020120404201204012020120404201204022120120404201204032120120404201204042120120404201204283020120501201204293120120501201204303120120501201205013120120501201205023020120501201206224120120623201206234120120623201206244120120623201209295020120930201209305120120930201210016120121001201210026120121001201210036120121001201210046120121001201210056120121001201210066120121001201210076120121001201210086020121001201301010120130101201301020120130101201301030120130101201301050020130101201301060020130101201302091120130210201302101120130210201302111120130210201302121120130210201302131120130210201302141120130210201302151120130210201302161020130210201302171020130210201304042120130404201304052120130404201304062120130404201304273020130501201304283020130501201304293120130501201304303120130501201305013120130501201306084020130612201306094020130612201306104120130612201306114120130612201306124120130612201309195120130919201309205120130919201309215120130919201309225020130919201309296020131001201310016120131001201310026120131001201310036120131001201310046120131001201310056120131001201310066120131001201310076120131001201401010120140101201401261020140131201401311120140131201402011120140131201402021120140131201402031120140131201402041120140131201402051120140131201402061120140131201402081020140131201404052120140405201404062120140405201404072120140405201405013120140501201405023120140501201405033120140501201405043020140501201405314120140602201406014120140602201406024120140602201409065120140908201409075120140908201409085120140908201409286020141001201410016120141001201410026120141001201410036120141001201410046120141004201410056120141001201410066120141001201410076120141001201410116020141001201501010120150101201501020120150101201501030120150101201501040020150101201502151020150219201502181120150219201502191120150219201502201120150219201502211120150219201502221120150219201502231120150219201502241120150219201502281020150219201504042120150405201504052120150405201504062120150405201505013120150501201505023120150501201505033120150501201506204120150620201506214120150620201506224120150620201509038120150903201509048120150903201509058120150903201509068020150903201509265120150927201509275120150927201510016120151001201510026120151001201510036120151001201510046120151004201510056120151001201510066120151001201510076120151001201510106020151001201601010120160101201601020120160101201601030120160101201602061020160208201602071120160208201602081120160208201602091120160208201602101120160208201602111120160208201602121120160208201602131120160208201602141020160208201604022120160404201604032120160404201604042120160404201604303120160501201605013120160501201605023120160501201606094120160609201606104120160609201606114120160609201606124020160609201609155120160915201609165120160915201609175120160915201609185020160915201610016120161001201610026120161001201610036120161001201610046120161001201610056120161001201610066120161001201610076120161001201610086020161001201610096020161001201612310120170101201701010120170101201701020120170101201701221020170128201701271120170128201701281120170128201701291120170128201701301120170128201701311120170128201702011120170128201702021120170128201702041020170128201704012020170404201704022120170404201704032120170404201704042120170404201704293120170501201704303120170501201705013120170501201705274020170530201705284120170530201705294120170530201705304120170530201709306020171001201710016120171001201710026120171001201710036120171001201710045120171004201710056120171001201710066120171001201710076120171001201710086120171001201712300120180101201712310120180101201801010120180101201802111020180216201802151120180216201802161120180216201802171120180216201802181120180216201802191120180216201802201120180216201802211120180216201802241020180216201804052120180405201804062120180405201804072120180405201804082020180405201804283020180501201804293120180501201804303120180501201805013120180501201806164120180618201806174120180618201806184120180618201809225120180924201809235120180924201809245120180924201809296020181001201809306020181001201810016120181001201810026120181001201810036120181001201810046120181001201810056120181001201810066120181001201810076120181001201812290020190101201812300120190101201812310120190101201901010120190101201902021020190205201902031020190205201902041120190205201902051120190205201902061120190205201902071120190205201902081120190205201902091120190205201902101120190205201904052120190405201904062120190405201904072120190405201904283020190501201905013120190501201905023120190501201905033120190501201905043120190501201905053020190501201906074120190607201906084120190607201906094120190607201909135120190913201909145120190913201909155120190913201909296020191001201910016120191001201910026120191001201910036120191001201910046120191001201910056120191001201910066120191001201910076120191001201910126020191001202001010120200101202001191020200125202001241120200125202001251120200125202001261120200125202001271120200125202001281120200125202001291120200125202001301120200125202001311120200125202002011120200125202002021120200125202004042120200404202004052120200404202004062120200404202004263020200501202005013120200501202005023120200501202005033120200501202005043120200501202005053120200501202005093020200501202006254120200625202006264120200625202006274120200625202006284020200625202009277020201001202010017120201001202010026120201001202010036120201001202010046120201001202010056120201001202010066120201001202010076120201001202010086120201001202010106020201001202101010120210101202101020120210101202101030120210101202102071020210212202102111120210212202102121120210212202102131120210212202102141120210212202102151120210212202102161120210212202102171120210212202102201020210212202104032120210404202104042120210404202104052120210404202104253020210501202105013120210501202105023120210501202105033120210501202105043120210501202105053120210501202105083020210501202106124120210614202106134120210614202106144120210614202109185020210921202109195120210921202109205120210921202109215120210921202109266020211001202110016120211001202110026120211001202110036120211001202110046120211001202110056120211001202110066120211001202110076120211001202110096020211001202201010120220101202201020120220101202201030120220101202201291020220201202201301020220201202201311120220201202202011120220201202202021120220201202202031120220201202202041120220201202202051120220201202202061120220201202204022020220405202204032120220405202204042120220405202204052120220405202204243020220501202204303120220501202205013120220501202205023120220501202205033120220501202205043120220501202205073020220501202206034120220603202206044120220603202206054120220603202209105120220910202209115120220910202209125120220910202210016120221001202210026120221001202210036120221001202210046120221001202210056120221001202210066120221001202210076120221001202210086020221001202210096020221001202212310120230101202301010120230101202301020120230101202301211120230122202301221120230122202301231120230122202301241120230122202301251120230122202301261120230122202301271120230122202301281020230122202301291020230122202304052120230405202304233020230501202304293120230501202304303120230501202305013120230501202305023120230501202305033120230501202305063020230501202306224120230622202306234120230622202306244120230622202306254020230622202309295120230929202309306120231001202310016120231001202310026120231001202310036120231001202310046120231001202310056120231001202310066120231001202310076020231001202310086020231001202312300120240101202312310120240101202401010120240101202402041020240210202402101120240210202402111120240210202402121120240210202402131120240210202402141120240210202402151120240210202402161120240210202402171120240210202402181020240210202404042120240404202404052120240404202404062120240404202404072020240404202404283020240501202405013120240501202405023120240501202405033120240501202405043120240501202405053120240501202405113020240501202406084120240610202406094120240610202406104120240610202409145020240917202409155120240917202409165120240917202409175120240917202409296020241001202410016120241001202410026120241001202410036120241001202410046120241001202410056120241001202410066120241001202410076120241001202410126020241001202501010120250101202501261020250129202501281120250129202501291120250129202501301120250129202501311120250129202502011120250129202502021120250129202502031120250129202502041120250129202502081020250129202504042120250404202504052120250404202504062120250404202504273020250501202505013120250501202505023120250501202505033120250501202505043120250501202505053120250501202505314120250531202506014120250531202506024120250531202509287020251001202510017120251001202510027120251001202510037120251001202510047120251001202510057120251001202510067120251001202510077120251001202510087120251001202510117020251001202601010120260101202601020120260101202601030120260101202601040020260101202602141020260217202602151120260217202602161120260217202602171120260217202602181120260217202602191120260217202602201120260217202602211120260217202602221120260217202602231120260217202602281020260217202604042120260405202604052120260405202604062120260405202605013120260501202605023120260501202605033120260501202605043120260501202605053120260501202605093020260501202606194120260619202606204120260619202606214120260619202609206020261001202609255120260925202609265120260925202609275120260925202610016120261001202610026120261001202610036120261001202610046120261001202610056120261001202610066120261001202610076120261001202610106020261001",i=function(e){return(e<10?"0":"")+e},o=function(e){return e.indexOf("-")<0?e.substring(0,4)+"-"+e.substring(4,6)+"-"+e.substring(6):e},l=function(e,t,a,n){return{_p:{day:o(e),name:t,work:a,target:o(n)},getDay:function(){return this._p.day},setDay:function(e){this._p.day=o(e)},getName:function(){return this._p.name},setName:function(e){this._p.name=e},isWork:function(){return this._p.work},setWork:function(e){this._p.work=e},getTarget:function(){return this._p.target},setTarget:function(e){this._p.target=o(e)},toString:function(){return this._p.day+" "+this._p.name+(this._p.work?"调休":"")+" "+this._p.target}}},c=function(e){var t=e.substring(0,8),a=r[e.charCodeAt(8)-n],s=e.charCodeAt(9)===n,i=e.substring(10,18);return l(t,a,s,i)},u=function(e){var t=e.length,a=e.substring(t-18,t-10),s=r[e.charCodeAt(t-10)-n],i=e.charCodeAt(t-9)===n,o=e.substring(t-8);return l(a,s,i,o)},d=function(e){var t=[],n=function(e){var t=s.indexOf(e);if(t<0)return null;var n=s.substring(t),r=n.length%a;for(r>0&&(n=n.substring(r));0!==n.indexOf(e)&&n.length>=a;)n=n.substring(a);return n}(e);if(null==n)return t;for(;0===n.indexOf(e);)t.push(c(n)),n=n.substring(a);return t},h=function(e){var t=[],n=function(e){var t=s.lastIndexOf(e);if(t<0)return null;var n=e.length,r=s.substring(0,t+n),i=r.length,o=i%a;for(o>0&&(r=r.substring(0,i-o)),i=r.length;i-n!==r.lastIndexOf(e)&&i>=a;)i=(r=r.substring(0,i-a)).length;return r}(e);if(null==n)return t;for(var r=n.length,i=e.length;r-i===n.lastIndexOf(e);)t.push(u(n)),r=(n=n.substring(0,r-a)).length;return t.reverse(),t},p=function(e){var t=[];switch(e.length){case 1:t=d(e[0].replace(/-/g,""));break;case 3:t=d(e[0]+i(e[1])+i(e[2]))}return t.length<1?null:t[0]},f=function(e){if(e){for(var t=[];e.length>=a;){var i=e.substring(0,a),o=i.substring(0,8),l="~"===i.substring(8,9),c=p([o]);if(c){for(var u=-1,d=0,h=r.length;d-1){var f=o+String.fromCharCode(u+n)+(c.isWork()?"0":"1")+c.getTarget().replace(/-/g,"");s=s.replace(new RegExp(f,"g"),l?"":i)}}else l||t.push(i);e=e.substring(a)}t.length>0&&(s+=t.join(""))}},m=function(e){switch(e.length){case 1:f(e[0]);break;case 2:(t=e[0])&&(r=t),f(e[1])}var t},{NAMES:t,getHoliday:function(){return p(arguments)},getHolidays:function(){return function(e){var t=[];switch(e.length){case 1:t=d((e[0]+"").replace(/-/g,""));break;case 2:t=d(e[0]+i(e[1]))}return t}(arguments)},getHolidaysByTarget:function(){return function(e){var t=[];switch(e.length){case 1:t=h((e[0]+"").replace(/-/g,""));break;case 3:t=h(e[0]+i(e[1])+i(e[2]))}return t}(arguments)},fix:function(){m(arguments)}}),de=function(){return{NAME_BEI_DOU:["天枢","天璇","天玑","天权","玉衡","开阳","摇光","洞明","隐元"],NAME_XUAN_KONG:["贪狼","巨门","禄存","文曲","廉贞","武曲","破军","左辅","右弼"],NAME_QI_MEN:["天蓬","天芮","天冲","天辅","天禽","天心","天柱","天任","天英"],BA_MEN_QI_MEN:["休","死","伤","杜","","开","惊","生","景"],NAME_TAI_YI:["太乙","摄提","轩辕","招摇","天符","青龙","咸池","太阴","天乙"],TYPE_TAI_YI:["吉神","凶神","安神","安神","凶神","吉神","凶神","吉神","吉神"],SONG_TAI_YI:["门中太乙明,星官号贪狼,赌彩财喜旺,婚姻大吉昌,出入无阻挡,参谒见贤良,此行三五里,黑衣别阴阳。","门前见摄提,百事必忧疑,相生犹自可,相克祸必临,死门并相会,老妇哭悲啼,求谋并吉事,尽皆不相宜,只可藏隐遁,若动伤身疾。","出入会轩辕,凡事必缠牵,相生全不美,相克更忧煎,远行多不利,博彩尽输钱,九天玄女法,句句不虚言。","招摇号木星,当之事莫行,相克行人阻,阴人口舌迎,梦寐多惊惧,屋响斧自鸣,阴阳消息理,万法弗违情。","五鬼为天符,当门阴女谋,相克无好事,行路阻中途,走失难寻觅,道逢有尼姑,此星当门值,万事有灾除。","神光跃青龙,财气喜重重,投入有酒食,赌彩最兴隆,更逢相生旺,休言克破凶,见贵安营寨,万事总吉同。","吾将为咸池,当之尽不宜,出入多不利,相克有灾情,赌彩全输尽,求财空手回,仙人真妙语,愚人莫与知,动用虚惊退,反复逆风吹。","坐临太阴星,百祸不相侵,求谋悉成就,知交有觅寻,回风归来路,恐有殃伏起,密语中记取,慎乎莫轻行。","迎来天乙星,相逢百事兴,运用和合庆,茶酒喜相迎,求谋并嫁娶,好合有天成,祸福如神验,吉凶甚分明。"],LUCK_QI_MEN:["大凶","大凶","小吉","大吉","大吉","大吉","小凶","小吉","小凶"],fromIndex:function(e){return function(e){return{_p:{index:e},getNumber:function(){return ve.NUMBER[this._p.index]},getColor:function(){return ve.COLOR[this._p.index]},getWuXing:function(){return ve.WU_XING[this._p.index]},getPosition:function(){return ve.POSITION[this._p.index]},getPositionDesc:function(){return ce.POSITION_DESC[this.getPosition()]},getNameInXuanKong:function(){return de.NAME_XUAN_KONG[this._p.index]},getNameInBeiDou:function(){return de.NAME_BEI_DOU[this._p.index]},getNameInQiMen:function(){return de.NAME_QI_MEN[this._p.index]},getNameInTaiYi:function(){return de.NAME_TAI_YI[this._p.index]},getLuckInQiMen:function(){return de.LUCK_QI_MEN[this._p.index]},getLuckInXuanKong:function(){return ve.LUCK_XUAN_KONG[this._p.index]},getYinYangInQiMen:function(){return ve.YIN_YANG_QI_MEN[this._p.index]},getTypeInTaiYi:function(){return de.TYPE_TAI_YI[this._p.index]},getBaMenInQiMen:function(){return de.BA_MEN_QI_MEN[this._p.index]},getSongInTaiYi:function(){return de.SONG_TAI_YI[this._p.index]},getIndex:function(){return this._p.index},toString:function(){return this.getNumber()+this.getColor()+this.getWuXing()+this.getNameInBeiDou()},toFullString:function(){var e=this.getNumber();return e+=this.getColor(),e+=this.getWuXing(),e+=" ",e+=this.getPosition(),e+="(",e+=this.getPositionDesc(),e+=") ",e+=this.getNameInBeiDou(),e+=" 玄空[",e+=this.getNameInXuanKong(),e+=" ",e+=this.getLuckInXuanKong(),e+="] 奇门[",e+=this.getNameInQiMen(),e+=" ",e+=this.getLuckInQiMen(),this.getBaMenInQiMen().length>0&&(e+=" ",e+=this.getBaMenInQiMen(),e+="门"),e+=" ",e+=this.getYinYangInQiMen(),e+="] 太乙[",e+=this.getNameInTaiYi(),e+=" ",(e+=this.getTypeInTaiYi())+"]"}}}(e)}}}(),he=function(){return{fromLunar:function(e){return function(e){return{_p:{sect:2,lunar:e},setSect:function(e){e*=1,this._p.sect=1===e?1:2},getSect:function(){return this._p.sect},getDayGanIndex:function(){return 2===this._p.sect?this._p.lunar.getDayGanIndexExact2():this._p.lunar.getDayGanIndexExact()},getDayZhiIndex:function(){return 2===this._p.sect?this._p.lunar.getDayZhiIndexExact2():this._p.lunar.getDayZhiIndexExact()},getYear:function(){return this._p.lunar.getYearInGanZhiExact()},getYearGan:function(){return this._p.lunar.getYearGanExact()},getYearZhi:function(){return this._p.lunar.getYearZhiExact()},getYearHideGan:function(){return ce.ZHI_HIDE_GAN[this.getYearZhi()]},getYearWuXing:function(){return ce.WU_XING_GAN[this.getYearGan()]+ce.WU_XING_ZHI[this.getYearZhi()]},getYearNaYin:function(){return ce.NAYIN[this.getYear()]},getYearShiShenGan:function(){return ce.SHI_SHEN[this.getDayGan()+this.getYearGan()]},getYearShiShenZhi:function(){for(var e=this.getDayGan(),t=ce.ZHI_HIDE_GAN[this.getYearZhi()],a=[],n=0,r=t.length;n=12&&(t-=12),t<0&&(t+=12),ce.CHANG_SHENG[t]},getYearDiShi:function(){return this._getDiShi(this._p.lunar.getYearZhiIndexExact())},getYearXun:function(){return this._p.lunar.getYearXunExact()},getYearXunKong:function(){return this._p.lunar.getYearXunKongExact()},getMonth:function(){return this._p.lunar.getMonthInGanZhiExact()},getMonthGan:function(){return this._p.lunar.getMonthGanExact()},getMonthZhi:function(){return this._p.lunar.getMonthZhiExact()},getMonthHideGan:function(){return ce.ZHI_HIDE_GAN[this.getMonthZhi()]},getMonthWuXing:function(){return ce.WU_XING_GAN[this.getMonthGan()]+ce.WU_XING_ZHI[this.getMonthZhi()]},getMonthNaYin:function(){return ce.NAYIN[this.getMonth()]},getMonthShiShenGan:function(){return ce.SHI_SHEN[this.getDayGan()+this.getMonthGan()]},getMonthShiShenZhi:function(){for(var e=this.getDayGan(),t=ce.ZHI_HIDE_GAN[this.getMonthZhi()],a=[],n=0,r=t.length;n=10&&(e-=10);var t=this._p.lunar.getMonthZhiIndexExact()+3;return t>=12&&(t-=12),ce.GAN[e+1]+ce.ZHI[t+1]},getTaiYuanNaYin:function(){return ce.NAYIN[this.getTaiYuan()]},getTaiXi:function(){var e=this._p.lunar,t=2===this._p.sect?e.getDayGanIndexExact2():e.getDayGanIndexExact(),a=2===this._p.sect?e.getDayZhiIndexExact2():e.getDayZhiIndexExact();return ce.HE_GAN_5[t]+ce.HE_ZHI_6[a]},getTaiXiNaYin:function(){return ce.NAYIN[this.getTaiXi()]},getMingGong:function(){var e=ce.index(this.getMonthZhi(),ce.MONTH_ZHI,0)+ce.index(this.getTimeZhi(),ce.MONTH_ZHI,0);e=(e>=14?26:14)-e;for(var t=2*(this._p.lunar.getYearGanIndexExact()+1)+e;t>10;)t-=10;return ce.GAN[t]+ce.MONTH_ZHI[e]},getMingGongNaYin:function(){return ce.NAYIN[this.getMingGong()]},getShenGong:function(){var e=ce.index(this.getMonthZhi(),ce.MONTH_ZHI,0)+ce.index(this.getTimeZhi(),ce.ZHI,0);e>12&&(e-=12);for(var t=2*(this._p.lunar.getYearGanIndexExact()+1)+e;t>10;)t-=10;return ce.GAN[t]+ce.MONTH_ZHI[e]},getShenGongNaYin:function(){return ce.NAYIN[this.getShenGong()]},getLunar:function(){return this._p.lunar},getYun:function(e,t){t=2==(t*=1)?t:1;var a=this.getLunar(),n=0==a.getYearGanIndexExact()%2,r=1===e,s=n&&r||!n&&!r,i=function(){var e,n,r,i=a.getPrevJie(),o=a.getNextJie(),l=a.getSolar(),c=s?l:i.getSolar(),u=s?o.getSolar():l,d=0;if(2===t){var h=u.subtractMinute(c);h-=4320*(e=Math.floor(h/4320)),h-=360*(n=Math.floor(h/360)),d=2*(h-=12*(r=Math.floor(h/12)))}else{var p=(23===u.getHour()?11:ce.getTimeZhiIndex(u.toYmdHms().substring(11,16)))-(23===c.getHour()?11:ce.getTimeZhiIndex(c.toYmdHms().substring(11,16))),f=u.subtract(c);p<0&&(p+=12,f--);var m=Math.floor(10*p/30);n=4*f+m,r=10*p-30*m,n-=12*(e=Math.floor(n/12))}return{year:e,month:n,day:r,hour:d}}(),o=function(e,t){return{_p:{index:t,liuNian:e},getIndex:function(){return this._p.index},getMonthInChinese:function(){return ce.MONTH[this._p.index+1]},getGanZhi:function(){var e=[2,4,6,8,0][(ce.find(this._p.liuNian.getGanZhi(),ce.GAN).index-1)%5];return ce.GAN[(this._p.index+e)%10+1]+ce.ZHI[(this._p.index+ce.BASE_MONTH_ZHI_INDEX)%12+1]},getXun:function(){return ce.getXun(this.getGanZhi())},getXunKong:function(){return ce.getXunKong(this.getGanZhi())}}},l=function(e,t){return{_p:{year:e.getStartYear()+t,age:e.getStartAge()+t,index:t,daYun:e,lunar:e.getLunar()},getYear:function(){return this._p.year},getAge:function(){return this._p.age},getIndex:function(){return this._p.index},getLunar:function(){return this._p.lunar},getGanZhi:function(){var e=ce.getJiaZiIndex(this._p.lunar.getJieQiTable()[we.getMessage("jq.liChun")].getLunar().getYearInGanZhiExact())+this._p.index;return this._p.daYun.getIndex()>0&&(e+=this._p.daYun.getStartAge()-1),e%=ce.JIA_ZI.length,ce.JIA_ZI[e]},getXun:function(){return ce.getXun(this.getGanZhi())},getXunKong:function(){return ce.getXunKong(this.getGanZhi())},getLiuYue:function(){for(var e=[],t=0;t<12;t++)e.push(o(this,t));return e}}},c=function(e,t,a){return{_p:{year:e.getStartYear()+t,age:e.getStartAge()+t,index:t,daYun:e,forward:a,lunar:e.getLunar()},getYear:function(){return this._p.year},getAge:function(){return this._p.age},getIndex:function(){return this._p.index},getGanZhi:function(){var e=ce.getJiaZiIndex(this._p.lunar.getTimeInGanZhi()),t=this._p.index+1;this._p.daYun.getIndex()>0&&(t+=this._p.daYun.getStartAge()-1),e+=this._p.forward?t:-t;for(var a=ce.JIA_ZI.length;e<0;)e+=a;return e%=a,ce.JIA_ZI[e]},getXun:function(){return ce.getXun(this.getGanZhi())},getXunKong:function(){return ce.getXunKong(this.getGanZhi())}}},u=function(e,t){var a,n,r,s,i=e.getLunar().getSolar().getYear(),o=e.getStartSolar().getYear();return t<1?(a=i,n=1,r=o-1,s=o-i):(r=(a=o+10*(t-1))+9,s=9+(n=a-i+1)),{_p:{startYear:a,endYear:r,startAge:n,endAge:s,index:t,yun:e,lunar:e.getLunar()},getStartYear:function(){return this._p.startYear},getEndYear:function(){return this._p.endYear},getStartAge:function(){return this._p.startAge},getEndAge:function(){return this._p.endAge},getIndex:function(){return this._p.index},getLunar:function(){return this._p.lunar},getGanZhi:function(){if(this._p.index<1)return"";var e=ce.getJiaZiIndex(this._p.lunar.getMonthInGanZhiExact());e+=this._p.yun.isForward()?this._p.index:-this._p.index;var t=ce.JIA_ZI.length;return e>=t&&(e-=t),e<0&&(e+=t),ce.JIA_ZI[e]},getXun:function(){return ce.getXun(this.getGanZhi())},getXunKong:function(){return ce.getXunKong(this.getGanZhi())},getLiuNian:function(e){e||(e=10),this._p.index<1&&(e=this._p.endYear-this._p.startYear+1);for(var t=[],a=0;a=t[we.getMessage("jq.dongZhi")].toYmd()&&e22?"23:00":(e%2==0&&(e-=1),(e<10?"0":"")+e+":00")},getMaxHm:function(){var e=this._p.lunar.getHour();return e<1?"00:59":e>22?"23:59":(e%2!=0&&(e+=1),(e<10?"0":"")+e+":59")},toString:function(){return this.getGanZhi()}}}(e,t,a,n,r,s)}}}(),fe=(g=[11,13,15,17,19,21,24,0,2,4,7,9],v="犯者夺纪",b="犯者减寿",w="犯者损寿",x="犯者削禄夺纪",k="犯者三年内夫妇俱亡",_=(y=function(e,t,a,n){return{_p:{name:e,result:t||"",everyMonth:!!a,remark:n||""},getName:function(){return this._p.name},getResult:function(){return this._p.result},isEveryMonth:function(){return this._p.everyMonth},getRemark:function(){return this._p.remark},toString:function(){return this._p.name},toFullString:function(){var e=[this._p.name];return this._p.result&&e.push(this._p.result),this._p.remark&&e.push(this._p.remark),e.join(" ")}}})("杨公忌"),E=y("四天王巡行","",!0),C=y("斗降",v,!0),F=y("月朔",v,!0),D=y("月望",v,!0),A=y("月晦",b,!0),T=y("雷斋日",b,!0),S=y("九毒日","犯者夭亡,奇祸不测"),I=y("人神在阴","犯者得病",!0,"宜先一日即戒"),P=y("司命奏事",b,!0,"如月小,即戒廿九"),N=y("月晦",b,!0,"如月小,即戒廿九"),{XIU_27:["{xx.jiao}","{xx.kang}","{xx.di}","{xx.fang}","{xx.xin}","{xx.tail}","{xx.ji}","{xx.dou}","{xx.nv}","{xx.xu}","{xx.wei}","{xx.shi}","{xx.qiang}","{xx.kui}","{xx.lou}","{xx.vei}","{xx.mao}","{xx.bi}","{xx.zi}","{xx.can}","{xx.jing}","{xx.gui}","{xx.liu}","{xx.xing}","{xx.zhang}","{xx.yi}","{xx.zhen}"],DAY_ZHAI_GUAN_YIN:["1-8","2-7","2-9","2-19","3-3","3-6","3-13","4-22","5-3","5-17","6-16","6-18","6-19","6-23","7-13","8-16","9-19","9-23","10-2","11-19","11-24","12-25"],FESTIVAL:{"1-1":[y("天腊,玉帝校世人神气禄命",x),F],"1-3":[y("万神都会",v),C],"1-5":[y("五虚忌")],"1-6":[y("六耗忌"),T],"1-7":[y("上会日",w)],"1-8":[y("五殿阎罗天子诞",v),E],"1-9":[y("玉皇上帝诞",v)],"1-13":[_],"1-14":[y("三元降",b),E],"1-15":[y("三元降",b),y("上元神会",v),D,E],"1-16":[y("三元降",b)],"1-19":[y("长春真人诞")],"1-23":[y("三尸神奏事"),E],"1-25":[A,y("天地仓开日","犯者损寿,子带疾")],"1-27":[C],"1-28":[I],"1-29":[E],"1-30":[N,P,E],"2-1":[y("一殿秦广王诞",v),F],"2-2":[y("万神都会",v),y("福德土地正神诞","犯者得祸")],"2-3":[y("文昌帝君诞",x),C],"2-6":[y("东华帝君诞"),T],"2-8":[y("释迦牟尼佛出家",v),y("三殿宋帝王诞",v),y("张大帝诞",v),E],"2-11":[_],"2-14":[E],"2-15":[y("释迦牟尼佛涅槃",x),y("太上老君诞",x),y("月望",x,!0),E],"2-17":[y("东方杜将军诞")],"2-18":[y("四殿五官王诞",x),y("至圣先师孔子讳辰",x)],"2-19":[y("观音大士诞",v)],"2-21":[y("普贤菩萨诞")],"2-23":[E],"2-25":[A],"2-27":[C],"2-28":[I],"2-29":[E],"2-30":[N,P,E],"3-1":[y("二殿楚江王诞",v),F],"3-3":[y("玄天上帝诞",v),C],"3-6":[T],"3-8":[y("六殿卞城王诞",v),E],"3-9":[y("牛鬼神出","犯者产恶胎"),_],"3-12":[y("中央五道诞")],"3-14":[E],"3-15":[y("昊天上帝诞",v),y("玄坛诞",v),D,E],"3-16":[y("准提菩萨诞",v)],"3-19":[y("中岳大帝诞"),y("后土娘娘诞"),y("三茅降")],"3-20":[y("天地仓开日",w),y("子孙娘娘诞")],"3-23":[E],"3-25":[A],"3-27":[y("七殿泰山王诞"),C],"3-28":[I,y("苍颉至圣先师诞",x),y("东岳大帝诞")],"3-29":[E],"3-30":[N,P,E],"4-1":[y("八殿都市王诞",v),F],"4-3":[C],"4-4":[y("万神善会","犯者失瘼夭胎"),y("文殊菩萨诞")],"4-6":[T],"4-7":[y("南斗、北斗、西斗同降",b),_],"4-8":[y("释迦牟尼佛诞",v),y("万神善会","犯者失瘼夭胎"),y("善恶童子降","犯者血死"),y("九殿平等王诞"),E],"4-14":[y("纯阳祖师诞",b),E],"4-15":[D,y("钟离祖师诞"),E],"4-16":[y("天地仓开日",w)],"4-17":[y("十殿转轮王诞",v)],"4-18":[y("天地仓开日",w),y("紫徽大帝诞",w)],"4-20":[y("眼光圣母诞")],"4-23":[E],"4-25":[A],"4-27":[C],"4-28":[I],"4-29":[E],"4-30":[N,P,E],"5-1":[y("南极长生大帝诞",v),F],"5-3":[C],"5-5":[y("地腊",x),y("五帝校定生人官爵",x),S,_],"5-6":[S,T],"5-7":[S],"5-8":[y("南方五道诞"),E],"5-11":[y("天地仓开日",w),y("天下都城隍诞")],"5-12":[y("炳灵公诞")],"5-13":[y("关圣降",x)],"5-14":[y("夜子时为天地交泰",k),E],"5-15":[D,S,E],"5-16":[y("九毒日",k),y("天地元气造化万物之辰",k)],"5-17":[S],"5-18":[y("张天师诞")],"5-22":[y("孝娥神诞",v)],"5-23":[E],"5-25":[S,A],"5-26":[S],"5-27":[S,C],"5-28":[I],"5-29":[E],"5-30":[N,P,E],"6-1":[F],"6-3":[y("韦驮菩萨圣诞"),C,_],"6-5":[y("南赡部洲转大轮",w)],"6-6":[y("天地仓开日",w),T],"6-8":[E],"6-10":[y("金粟如来诞")],"6-14":[E],"6-15":[D,E],"6-19":[y("观世音菩萨成道",v)],"6-23":[y("南方火神诞","犯者遭回禄"),E],"6-24":[y("雷祖诞",x),y("关帝诞",x)],"6-25":[A],"6-27":[C],"6-28":[I],"6-29":[E],"6-30":[N,P,E],"7-1":[F,_],"7-3":[C],"7-5":[y("中会日",w,!1,"一作初七")],"7-6":[T],"7-7":[y("道德腊",x),y("五帝校生人善恶",x),y("魁星诞",x)],"7-8":[E],"7-10":[y("阴毒日","",!1,"大忌")],"7-12":[y("长真谭真人诞")],"7-13":[y("大势至菩萨诞",b)],"7-14":[y("三元降",b),E],"7-15":[D,y("三元降",v),y("地官校籍",v),E],"7-16":[y("三元降",b)],"7-18":[y("西王母诞",v)],"7-19":[y("太岁诞",v)],"7-22":[y("增福财神诞",x)],"7-23":[E],"7-25":[A],"7-27":[C],"7-28":[I],"7-29":[_,E],"7-30":[y("地藏菩萨诞",v),N,P,E],"8-1":[F,y("许真君诞")],"8-3":[C,y("北斗诞",x),y("司命灶君诞","犯者遭回禄")],"8-5":[y("雷声大帝诞",v)],"8-6":[T],"8-8":[E],"8-10":[y("北斗大帝诞")],"8-12":[y("西方五道诞")],"8-14":[E],"8-15":[D,y("太明朝元","犯者暴亡",!1,"宜焚香守夜"),E],"8-16":[y("天曹掠刷真君降","犯者贫夭")],"8-18":[y("天人兴福之辰","",!1,"宜斋戒,存想吉事")],"8-23":[y("汉恒候张显王诞"),E],"8-24":[y("灶君夫人诞")],"8-25":[A],"8-27":[C,y("至圣先师孔子诞",x),_],"8-28":[I,y("四天会事")],"8-29":[E],"8-30":[y("诸神考校","犯者夺算"),N,P,E],"9-1":[F,y("南斗诞",x),y("北斗九星降世",v,!1,"此九日俱宜斋戒")],"9-3":[C,y("五瘟神诞")],"9-6":[T],"9-8":[E],"9-9":[y("斗母诞",x),y("酆都大帝诞"),y("玄天上帝飞升")],"9-10":[y("斗母降",v)],"9-11":[y("宜戒")],"9-13":[y("孟婆尊神诞")],"9-14":[E],"9-15":[D,E],"9-17":[y("金龙四大王诞","犯者遭水厄")],"9-19":[y("日宫月宫会合",b),y("观世音菩萨诞",b)],"9-23":[E],"9-25":[A,_],"9-27":[C],"9-28":[I],"9-29":[E],"9-30":[y("药师琉璃光佛诞","犯者危疾"),N,P,E],"10-1":[F,y("民岁腊",v),y("四天王降","犯者一年内死")],"10-3":[C,y("三茅诞")],"10-5":[y("下会日",b),y("达摩祖师诞",b)],"10-6":[T,y("天曹考察",v)],"10-8":[y("佛涅槃日","",!1,"大忌色欲"),E],"10-10":[y("四天王降","犯者一年内死")],"10-11":[y("宜戒")],"10-14":[y("三元降",b),E],"10-15":[D,y("三元降",v),y("下元水府校籍",v),E],"10-16":[y("三元降",b),E],"10-23":[_,E],"10-25":[A],"10-27":[C,y("北极紫徽大帝降")],"10-28":[I],"10-29":[E],"10-30":[N,P,E],"11-1":[F],"11-3":[C],"11-4":[y("至圣先师孔子诞",x)],"11-6":[y("西岳大帝诞")],"11-8":[E],"11-11":[y("天地仓开日",v),y("太乙救苦天尊诞",v)],"11-14":[E],"11-15":[y("月望","上半夜犯男死 下半夜犯女死"),y("四天王巡行","上半夜犯男死 下半夜犯女死")],"11-17":[y("阿弥陀佛诞")],"11-19":[y("太阳日宫诞","犯者得奇祸")],"11-21":[_],"11-23":[y("张仙诞","犯者绝嗣"),E],"11-25":[y("掠刷大夫降","犯者遭大凶"),A],"11-26":[y("北方五道诞")],"11-27":[C],"11-28":[I],"11-29":[E],"11-30":[N,P,E],"12-1":[F],"12-3":[C],"12-6":[y("天地仓开日",b),T],"12-7":[y("掠刷大夫降","犯者得恶疾")],"12-8":[y("王侯腊",v),y("释迦如来成佛之辰"),E,y("初旬内戊日,亦名王侯腊",v)],"12-12":[y("太素三元君朝真")],"12-14":[E],"12-15":[D,E],"12-16":[y("南岳大帝诞")],"12-19":[_],"12-20":[y("天地交道","犯者促寿")],"12-21":[y("天猷上帝诞")],"12-23":[y("五岳诞降"),E],"12-24":[y("司今朝天奏人善恶","犯者得大祸")],"12-25":[y("三清玉帝同降,考察善恶","犯者得奇祸"),A],"12-27":[C],"12-28":[I],"12-29":[y("华严菩萨诞"),E],"12-30":[y("诸神下降,察访善恶","犯者男女俱亡")]},OTHER_FESTIVAL:{"1-1":["弥勒菩萨圣诞"],"1-6":["定光佛圣诞"],"2-8":["释迦牟尼佛出家"],"2-15":["释迦牟尼佛涅槃"],"2-19":["观世音菩萨圣诞"],"2-21":["普贤菩萨圣诞"],"3-16":["准提菩萨圣诞"],"4-4":["文殊菩萨圣诞"],"4-8":["释迦牟尼佛圣诞"],"4-15":["佛吉祥日"],"4-28":["药王菩萨圣诞"],"5-13":["伽蓝菩萨圣诞"],"6-3":["韦驮菩萨圣诞"],"6-19":["观音菩萨成道"],"7-13":["大势至菩萨圣诞"],"7-15":["佛欢喜日"],"7-24":["龙树菩萨圣诞"],"7-30":["地藏菩萨圣诞"],"8-15":["月光菩萨圣诞"],"8-22":["燃灯佛圣诞"],"9-9":["摩利支天菩萨圣诞"],"9-19":["观世音菩萨出家"],"9-30":["药师琉璃光佛圣诞"],"10-5":["达摩祖师圣诞"],"10-20":["文殊菩萨出家"],"11-17":["阿弥陀佛圣诞"],"11-19":["日光菩萨圣诞"],"12-8":["释迦牟尼佛成道"],"12-23":["监斋菩萨圣诞"],"12-29":["华严菩萨圣诞"]},getXiu:function(e,t){return function(e,t){return fe.XIU_27[(g[Math.abs(e)-1]+t-1)%fe.XIU_27.length]}(e,t)}}),me=function(){var e=function(e,a,n,r,s,i){return t(Q.fromYmdHms(e+me.DEAD_YEAR-1,a,n,r,s,i))},t=function(e){return{_p:{lunar:e},getLunar:function(){return this._p.lunar},getYear:function(){var e=this._p.lunar.getSolar().getYear(),t=e-me.DEAD_YEAR;return e===this._p.lunar.getYear()&&t++,t},getMonth:function(){return this._p.lunar.getMonth()},getDay:function(){return this._p.lunar.getDay()},getYearInChinese:function(){for(var e=this.getYear()+"",t="",a="0".charCodeAt(0),n=0,r=e.length;n-1?we.getMessage("jz.wuYin")===a&&(e=!0):[we.getMessage("dz.si"),we.getMessage("dz.wu"),we.getMessage("dz.wei")].join(",").indexOf(t)>-1?we.getMessage("jz.jiaWu")===a&&(e=!0):[we.getMessage("dz.shen"),we.getMessage("dz.you"),we.getMessage("dz.xu")].join(",").indexOf(t)>-1?we.getMessage("jz.wuShen")===a&&(e=!0):[we.getMessage("dz.hai"),we.getMessage("dz.zi"),we.getMessage("dz.chou")].join(",").indexOf(t)>-1&&we.getMessage("jz.jiaZi")===a&&(e=!0),e},toString:function(){return this.getYearInChinese()+"年"+this.getMonthInChinese()+"月"+this.getDayInChinese()},toFullString:function(){return"道歷"+this.getYearInChinese()+"年,天運"+this._p.lunar.getYearInGanZhi()+"年,"+this._p.lunar.getMonthInGanZhi()+"月,"+this._p.lunar.getDayInGanZhi()+"日。"+this.getMonthInChinese()+"月"+this.getDayInChinese()+"日,"+this._p.lunar.getTimeZhi()+"時。"}}};return{BIRTH_YEAR:-2697,fromYmdHms:function(t,a,n,r,s,i){return e(t,a,n,r,s,i)},fromYmd:function(t,a,n){return e(t,a,n,0,0,0)},fromLunar:function(e){return t(e)}}}(),we=(M=B="chs",O=!1,U={chs:{"tg.jia":"甲","tg.yi":"乙","tg.bing":"丙","tg.ding":"丁","tg.wu":"戊","tg.ji":"己","tg.geng":"庚","tg.xin":"辛","tg.ren":"壬","tg.gui":"癸","dz.zi":"子","dz.chou":"丑","dz.yin":"寅","dz.mao":"卯","dz.chen":"辰","dz.si":"巳","dz.wu":"午","dz.wei":"未","dz.shen":"申","dz.you":"酉","dz.xu":"戌","dz.hai":"亥","zx.jian":"建","zx.chu":"除","zx.man":"满","zx.ping":"平","zx.ding":"定","zx.zhi":"执","zx.po":"破","zx.wei":"危","zx.cheng":"成","zx.shou":"收","zx.kai":"开","zx.bi":"闭","jz.jiaZi":"甲子","jz.yiChou":"乙丑","jz.bingYin":"丙寅","jz.dingMao":"丁卯","jz.wuChen":"戊辰","jz.jiSi":"己巳","jz.gengWu":"庚午","jz.xinWei":"辛未","jz.renShen":"壬申","jz.guiYou":"癸酉","jz.jiaXu":"甲戌","jz.yiHai":"乙亥","jz.bingZi":"丙子","jz.dingChou":"丁丑","jz.wuYin":"戊寅","jz.jiMao":"己卯","jz.gengChen":"庚辰","jz.xinSi":"辛巳","jz.renWu":"壬午","jz.guiWei":"癸未","jz.jiaShen":"甲申","jz.yiYou":"乙酉","jz.bingXu":"丙戌","jz.dingHai":"丁亥","jz.wuZi":"戊子","jz.jiChou":"己丑","jz.gengYin":"庚寅","jz.xinMao":"辛卯","jz.renChen":"壬辰","jz.guiSi":"癸巳","jz.jiaWu":"甲午","jz.yiWei":"乙未","jz.bingShen":"丙申","jz.dingYou":"丁酉","jz.wuXu":"戊戌","jz.jiHai":"己亥","jz.gengZi":"庚子","jz.xinChou":"辛丑","jz.renYin":"壬寅","jz.guiMao":"癸卯","jz.jiaChen":"甲辰","jz.yiSi":"乙巳","jz.bingWu":"丙午","jz.dingWei":"丁未","jz.wuShen":"戊申","jz.jiYou":"己酉","jz.gengXu":"庚戌","jz.xinHai":"辛亥","jz.renZi":"壬子","jz.guiChou":"癸丑","jz.jiaYin":"甲寅","jz.yiMao":"乙卯","jz.bingChen":"丙辰","jz.dingSi":"丁巳","jz.wuWu":"戊午","jz.jiWei":"己未","jz.gengShen":"庚申","jz.xinYou":"辛酉","jz.renXu":"壬戌","jz.guiHai":"癸亥","sx.rat":"鼠","sx.ox":"牛","sx.tiger":"虎","sx.rabbit":"兔","sx.dragon":"龙","sx.snake":"蛇","sx.horse":"马","sx.goat":"羊","sx.monkey":"猴","sx.rooster":"鸡","sx.dog":"狗","sx.pig":"猪","dw.long":"龙","dw.niu":"牛","dw.gou":"狗","dw.yang":"羊","dw.tu":"兔","dw.shu":"鼠","dw.ji":"鸡","dw.ma":"马","dw.hu":"虎","dw.zhu":"猪","dw.hou":"猴","dw.she":"蛇","dw.huLi":"狐","dw.yan":"燕","dw.bao":"豹","dw.yuan":"猿","dw.yin":"蚓","dw.lu":"鹿","dw.wu":"乌","dw.jiao":"蛟","dw.lang":"狼","dw.fu":"蝠","dw.zhang":"獐","dw.xu":"獝","dw.xie":"獬","dw.han":"犴","dw.he":"貉","dw.zhi":"彘","wx.jin":"金","wx.mu":"木","wx.shui":"水","wx.huo":"火","wx.tu":"土","wx.ri":"日","wx.yue":"月","n.zero":"〇","n.one":"一","n.two":"二","n.three":"三","n.four":"四","n.five":"五","n.six":"六","n.seven":"七","n.eight":"八","n.nine":"九","n.ten":"十","n.eleven":"十一","n.twelve":"十二","d.one":"初一","d.two":"初二","d.three":"初三","d.four":"初四","d.five":"初五","d.six":"初六","d.seven":"初七","d.eight":"初八","d.nine":"初九","d.ten":"初十","d.eleven":"十一","d.twelve":"十二","d.thirteen":"十三","d.fourteen":"十四","d.fifteen":"十五","d.sixteen":"十六","d.seventeen":"十七","d.eighteen":"十八","d.nighteen":"十九","d.twenty":"二十","d.twentyOne":"廿一","d.twentyTwo":"廿二","d.twentyThree":"廿三","d.twentyFour":"廿四","d.twentyFive":"廿五","d.twentySix":"廿六","d.twentySeven":"廿七","d.twentyEight":"廿八","d.twentyNine":"廿九","d.thirty":"三十","m.one":"正","m.two":"二","m.three":"三","m.four":"四","m.five":"五","m.six":"六","m.seven":"七","m.eight":"八","m.nine":"九","m.ten":"十","m.eleven":"冬","m.twelve":"腊","w.sun":"日","w.mon":"一","w.tues":"二","w.wed":"三","w.thur":"四","w.fri":"五","w.sat":"六","xz.aries":"白羊","xz.taurus":"金牛","xz.gemini":"双子","xz.cancer":"巨蟹","xz.leo":"狮子","xz.virgo":"处女","xz.libra":"天秤","xz.scorpio":"天蝎","xz.sagittarius":"射手","xz.capricornus":"摩羯","xz.aquarius":"水瓶","xz.pisces":"双鱼","bg.qian":"乾","bg.kun":"坤","bg.zhen":"震","bg.xun":"巽","bg.kan":"坎","bg.li":"离","bg.gen":"艮","bg.dui":"兑","ps.center":"中","ps.dong":"东","ps.nan":"南","ps.xi":"西","ps.bei":"北","ps.zhong":"中宫","ps.zhengDong":"正东","ps.zhengNan":"正南","ps.zhengXi":"正西","ps.zhengBei":"正北","ps.dongBei":"东北","ps.dongNan":"东南","ps.xiBei":"西北","ps.xiNan":"西南","ps.wai":"外","ps.fangNei":"房内","jq.dongZhi":"冬至","jq.xiaoHan":"小寒","jq.daHan":"大寒","jq.liChun":"立春","jq.yuShui":"雨水","jq.jingZhe":"惊蛰","jq.chunFen":"春分","jq.qingMing":"清明","jq.guYu":"谷雨","jq.liXia":"立夏","jq.xiaoMan":"小满","jq.mangZhong":"芒种","jq.xiaZhi":"夏至","jq.xiaoShu":"小暑","jq.daShu":"大暑","jq.liQiu":"立秋","jq.chuShu":"处暑","jq.baiLu":"白露","jq.qiuFen":"秋分","jq.hanLu":"寒露","jq.shuangJiang":"霜降","jq.liDong":"立冬","jq.xiaoXue":"小雪","jq.daXue":"大雪","sn.qingLong":"青龙","sn.baiHu":"白虎","sn.zhuQue":"朱雀","sn.xuanWu":"玄武","sn.mingTang":"明堂","sn.tianXing":"天刑","sn.tianDe":"天德","sn.jinKui":"金匮","sn.yuTang":"玉堂","sn.siMing":"司命","sn.tianLao":"天牢","sn.gouChen":"勾陈","sn.tianEn":"天恩","sn.muCang":"母仓","sn.shiYang":"时阳","sn.shengQi":"生气","sn.yiHou":"益后","sn.zaiSha":"灾煞","sn.tianHuo":"天火","sn.siJi":"四忌","sn.baLong":"八龙","sn.fuRi":"复日","sn.xuShi":"续世","sn.yueSha":"月煞","sn.yueXu":"月虚","sn.xueZhi":"血支","sn.tianZei":"天贼","sn.wuXu":"五虚","sn.tuFu":"土符","sn.guiJi":"归忌","sn.xueJi":"血忌","sn.yueDe":"月德","sn.yueEn":"月恩","sn.siXiang":"四相","sn.wangRi":"王日","sn.tianCang":"天仓","sn.buJiang":"不将","sn.wuHe":"五合","sn.mingFeiDui":"鸣吠对","sn.yueJian":"月建","sn.xiaoShi":"小时","sn.tuHu":"土府","sn.wangWang":"往亡","sn.yaoAn":"要安","sn.siShen":"死神","sn.tianMa":"天马","sn.jiuHu":"九虎","sn.qiNiao":"七鸟","sn.liuShe":"六蛇","sn.guanRi":"官日","sn.jiQi":"吉期","sn.yuYu":"玉宇","sn.daShi":"大时","sn.daBai":"大败","sn.xianChi":"咸池","sn.shouRi":"守日","sn.tianWu":"天巫","sn.fuDe":"福德","sn.liuYi":"六仪","sn.jinTang":"金堂","sn.yanDui":"厌对","sn.zhaoYao":"招摇","sn.jiuKong":"九空","sn.jiuKan":"九坎","sn.jiuJiao":"九焦","sn.xiangRi":"相日","sn.baoGuang":"宝光","sn.tianGang":"天罡","sn.yueXing":"月刑","sn.yueHai":"月害","sn.youHuo":"游祸","sn.chongRi":"重日","sn.shiDe":"时德","sn.minRi":"民日","sn.sanHe":"三合","sn.linRi":"临日","sn.shiYin":"时阴","sn.mingFei":"鸣吠","sn.siQi":"死气","sn.diNang":"地囊","sn.yueDeHe":"月德合","sn.jingAn":"敬安","sn.puHu":"普护","sn.jieShen":"解神","sn.xiaoHao":"小耗","sn.tianDeHe":"天德合","sn.yueKong":"月空","sn.yiMa":"驿马","sn.tianHou":"天后","sn.chuShen":"除神","sn.yuePo":"月破","sn.daHao":"大耗","sn.wuLi":"五离","sn.yinDe":"阴德","sn.fuSheng":"福生","sn.tianLi":"天吏","sn.zhiSi":"致死","sn.yuanWu":"元武","sn.yangDe":"阳德","sn.tianXi":"天喜","sn.tianYi":"天医","sn.yueYan":"月厌","sn.diHuo":"地火","sn.fourHit":"四击","sn.daSha":"大煞","sn.daHui":"大会","sn.tianYuan":"天愿","sn.liuHe":"六合","sn.wuFu":"五富","sn.shengXin":"圣心","sn.heKui":"河魁","sn.jieSha":"劫煞","sn.siQiong":"四穷","sn.chuShuiLong":"触水龙","sn.baFeng":"八风","sn.tianShe":"天赦","sn.wuMu":"五墓","sn.baZhuan":"八专","sn.yinCuo":"阴错","sn.siHao":"四耗","sn.yangCuo":"阳错","sn.siFei":"四废","sn.sanYin":"三阴","sn.xiaoHui":"小会","sn.yinDaoChongYang":"阴道冲阳","sn.danYin":"单阴","sn.guChen":"孤辰","sn.yinWei":"阴位","sn.xingHen":"行狠","sn.liaoLi":"了戾","sn.jueYin":"绝阴","sn.chunYang":"纯阳","sn.suiBo":"岁薄","sn.yinYangJiaoPo":"阴阳交破","sn.yinYangJuCuo":"阴阳俱错","sn.yinYangJiChong":"阴阳击冲","sn.zhuZhen":"逐阵","sn.yangCuoYinChong":"阳错阴冲","sn.qiFu":"七符","sn.tianGou":"天狗","sn.chengRi":"成日","sn.tianFu":"天符","sn.guYang":"孤阳","sn.jueYang":"绝阳","sn.chunYin":"纯阴","sn.yinShen":"阴神","sn.jieChu":"解除","sn.yangPoYinChong":"阳破阴冲","sn.sanSang":"三丧","sn.guiKu":"鬼哭","sn.daTui":"大退","sn.siLi":"四离","ss.biJian":"比肩","ss.jieCai":"劫财","ss.shiShen":"食神","ss.shangGuan":"伤官","ss.pianCai":"偏财","ss.zhengCai":"正财","ss.qiSha":"七杀","ss.zhengGuan":"正官","ss.pianYin":"偏印","ss.zhengYin":"正印","s.none":"无","s.huangDao":"黄道","s.heiDao":"黑道","s.goodLuck":"吉","s.badLuck":"凶","s.yin":"阴","s.yang":"阳","s.white":"白","s.black":"黑","s.blue":"碧","s.green":"绿","s.yellow":"黄","s.red":"赤","s.purple":"紫","jr.chuXi":"除夕","jr.chunJie":"春节","jr.yuanXiao":"元宵节","jr.longTou":"龙头节","jr.duanWu":"端午节","jr.qiXi":"七夕节","jr.zhongQiu":"中秋节","jr.chongYang":"重阳节","jr.laBa":"腊八节","jr.yuanDan":"元旦节","jr.qingRen":"情人节","jr.fuNv":"妇女节","jr.zhiShu":"植树节","jr.xiaoFei":"消费者权益日","jr.wuYi":"劳动节","jr.qingNian":"青年节","jr.erTong":"儿童节","jr.yuRen":"愚人节","jr.jianDang":"建党节","jr.jianJun":"建军节","jr.jiaoShi":"教师节","jr.guoQing":"国庆节","jr.wanShengYe":"万圣节前夜","jr.wanSheng":"万圣节","jr.pingAn":"平安夜","jr.shengDan":"圣诞节","ds.changSheng":"长生","ds.muYu":"沐浴","ds.guanDai":"冠带","ds.linGuan":"临官","ds.diWang":"帝旺","ds.shuai":"衰","ds.bing":"病","ds.si":"死","ds.mu":"墓","ds.jue":"绝","ds.tai":"胎","ds.yang":"养","h.first":"初候","h.second":"二候","h.third":"三候","h.qiuYinJie":"蚯蚓结","h.miJiao":"麋角解","h.shuiQuan":"水泉动","h.yanBei":"雁北乡","h.queShi":"鹊始巢","h.zhiShi":"雉始雊","h.jiShi":"鸡始乳","h.zhengNiao":"征鸟厉疾","h.shuiZe":"水泽腹坚","h.dongFeng":"东风解冻","h.zheChongShiZhen":"蛰虫始振","h.yuZhi":"鱼陟负冰","h.taJi":"獭祭鱼","h.houYan":"候雁北","h.caoMuMengDong":"草木萌动","h.taoShi":"桃始华","h.cangGeng":"仓庚鸣","h.yingHua":"鹰化为鸠","h.xuanNiaoZhi":"玄鸟至","h.leiNai":"雷乃发声","h.shiDian":"始电","h.tongShi":"桐始华","h.tianShu":"田鼠化为鴽","h.hongShi":"虹始见","h.pingShi":"萍始生","h.mingJiu":"鸣鸠拂其羽","h.daiSheng":"戴胜降于桑","h.louGuo":"蝼蝈鸣","h.qiuYinChu":"蚯蚓出","h.wangGua":"王瓜生","h.kuCai":"苦菜秀","h.miCao":"靡草死","h.maiQiu":"麦秋至","h.tangLang":"螳螂生","h.juShi":"鵙始鸣","h.fanShe":"反舌无声","h.luJia":"鹿角解","h.tiaoShi":"蜩始鸣","h.banXia":"半夏生","h.wenFeng":"温风至","h.xiShuai":"蟋蟀居壁","h.yingShi":"鹰始挚","h.fuCao":"腐草为萤","h.tuRun":"土润溽暑","h.daYu":"大雨行时","h.liangFeng":"凉风至","h.baiLu":"白露降","h.hanChan":"寒蝉鸣","h.yingNai":"鹰乃祭鸟","h.tianDi":"天地始肃","h.heNai":"禾乃登","h.hongYanLai":"鸿雁来","h.xuanNiaoGui":"玄鸟归","h.qunNiao":"群鸟养羞","h.leiShi":"雷始收声","h.zheChongPiHu":"蛰虫坯户","h.shuiShiHe":"水始涸","h.hongYanLaiBin":"鸿雁来宾","h.queRu":"雀入大水为蛤","h.juYou":"菊有黄花","h.caiNai":"豺乃祭兽","h.caoMuHuangLuo":"草木黄落","h.zheChongXianFu":"蛰虫咸俯","h.shuiShiBing":"水始冰","h.diShi":"地始冻","h.zhiRu":"雉入大水为蜃","h.hongCang":"虹藏不见","h.tianQi":"天气上升地气下降","h.biSe":"闭塞而成冬","h.heDan":"鹖鴠不鸣","h.huShi":"虎始交","h.liTing":"荔挺出","ts.zhan":"占","ts.hu":"户","ts.win":"窗","ts.fang":"房","ts.chuang":"床","ts.lu":"炉","ts.zao":"灶","ts.dui":"碓","ts.mo":"磨","ts.xi":"栖","ts.chu":"厨","ts.ce":"厕","ts.cang":"仓","ts.cangKu":"仓库","ts.daMen":"大门","ts.men":"门","ts.tang":"堂","ly.xianSheng":"先胜","ly.xianFu":"先负","ly.youYin":"友引","ly.foMie":"佛灭","ly.daAn":"大安","ly.chiKou":"赤口","yj.jiSi":"祭祀","yj.qiFu":"祈福","yj.qiuSi":"求嗣","yj.kaiGuang":"开光","yj.suHui":"塑绘","yj.qiJiao":"齐醮","yj.zhaiJiao":"斋醮","yj.muYu":"沐浴","yj.chouShen":"酬神","yj.zaoMiao":"造庙","yj.siZhao":"祀灶","yj.fenXiang":"焚香","yj.xieTu":"谢土","yj.chuHuo":"出火","yj.diaoKe":"雕刻","yj.jiaQu":"嫁娶","yj.DingHun":"订婚","yj.naCai":"纳采","yj.wenMing":"问名","yj.naXu":"纳婿","yj.guiNing":"归宁","yj.anChuang":"安床","yj.heZhang":"合帐","yj.guanJi":"冠笄","yj.dingMeng":"订盟","yj.jinRenKou":"进人口","yj.caiYi":"裁衣","yj.wanMian":"挽面","yj.kaiRong":"开容","yj.xiuFen":"修坟","yj.qiZuan":"启钻","yj.poTu":"破土","yj.anZang":"安葬","yj.liBei":"立碑","yj.chengFu":"成服","yj.chuFu":"除服","yj.kaiShengFen":"开生坟","yj.heShouMu":"合寿木","yj.ruLian":"入殓","yj.yiJiu":"移柩","yj.puDu":"普渡","yj.ruZhai":"入宅","yj.anXiang":"安香","yj.anMen":"安门","yj.xiuZao":"修造","yj.qiJi":"起基","yj.dongTu":"动土","yj.shangLiang":"上梁","yj.shuZhu":"竖柱","yj.kaiJing":"开井开池","yj.zuoBei":"作陂放水","yj.chaiXie":"拆卸","yj.poWu":"破屋","yj.huaiYuan":"坏垣","yj.buYuan":"补垣","yj.faMuZuoLiang":"伐木做梁","yj.zuoZhao":"作灶","yj.jieChu":"解除","yj.kaiZhuYan":"开柱眼","yj.chuanPing":"穿屏扇架","yj.gaiWuHeJi":"盖屋合脊","yj.kaiCe":"开厕","yj.zaoCang":"造仓","yj.saiXue":"塞穴","yj.pingZhi":"平治道涂","yj.zaoQiao":"造桥","yj.zuoCe":"作厕","yj.zhuDi":"筑堤","yj.kaiChi":"开池","yj.faMu":"伐木","yj.kaiQu":"开渠","yj.jueJing":"掘井","yj.saoShe":"扫舍","yj.fangShui":"放水","yj.zaoWu":"造屋","yj.heJi":"合脊","yj.zaoChuChou":"造畜稠","yj.xiuMen":"修门","yj.dingSang":"定磉","yj.zuoLiang":"作梁","yj.xiuShi":"修饰垣墙","yj.jiaMa":"架马","yj.kaiShi":"开市","yj.guaBian":"挂匾","yj.naChai":"纳财","yj.qiuCai":"求财","yj.kaiCang":"开仓","yj.maiChe":"买车","yj.zhiChan":"置产","yj.guYong":"雇佣","yj.chuHuoCai":"出货财","yj.anJiXie":"安机械","yj.zaoCheQi":"造车器","yj.jingLuo":"经络","yj.yunNiang":"酝酿","yj.zuoRan":"作染","yj.guZhu":"鼓铸","yj.zaoChuan":"造船","yj.geMi":"割蜜","yj.zaiZhong":"栽种","yj.quYu":"取渔","yj.jieWang":"结网","yj.muYang":"牧养","yj.anDuiWei":"安碓磑","yj.xiYi":"习艺","yj.ruXue":"入学","yj.liFa":"理发","yj.tanBing":"探病","yj.jianGui":"见贵","yj.chengChuan":"乘船","yj.duShui":"渡水","yj.zhenJiu":"针灸","yj.chuXing":"出行","yj.yiXi":"移徙","yj.fenJu":"分居","yj.TiTou":"剃头","yj.zhengShou":"整手足甲","yj.naChu":"纳畜","yj.buZhuo":"捕捉","yj.tianLie":"畋猎","yj.jiaoNiuMa":"教牛马","yj.huiQinYou":"会亲友","yj.fuRen":"赴任","yj.qiuYi":"求医","yj.zhiBing":"治病","yj.ciSong":"词讼","yj.qiJiDongTu":"起基动土","yj.poWuHuaiYuan":"破屋坏垣","yj.gaiWu":"盖屋","yj.zaoCangKu":"造仓库","yj.liQuanJiaoYi":"立券交易","yj.jiaoYi":"交易","yj.liQuan":"立券","yj.anJi":"安机","yj.huiYou":"会友","yj.qiuYiLiaoBing":"求医疗病","yj.zhuShi":"诸事不宜","yj.yuShi":"馀事勿取","yj.xingSang":"行丧","yj.duanYi":"断蚁","yj.guiXiu":"归岫","xx.bi":"毕","xx.yi":"翼","xx.ji":"箕","xx.kui":"奎","xx.gui":"鬼","xx.di":"氐","xx.xu":"虚","xx.wei":"危","xx.zi":"觜","xx.zhen":"轸","xx.dou":"斗","xx.lou":"娄","xx.liu":"柳","xx.fang":"房","xx.xin":"心","xx.shi":"室","xx.can":"参","xx.jiao":"角","xx.niu":"牛","xx.vei":"胃","xx.xing":"星","xx.zhang":"张","xx.tail":"尾","xx.qiang":"壁","xx.jing":"井","xx.kang":"亢","xx.nv":"女","xx.mao":"昴","sz.chun":"春","sz.xia":"夏","sz.qiu":"秋","sz.dong":"冬","od.first":"孟","od.second":"仲","od.third":"季","yx.shuo":"朔","yx.jiShuo":"既朔","yx.eMeiXin":"蛾眉新","yx.eMei":"蛾眉","yx.xi":"夕","yx.shangXian":"上弦","yx.jiuYe":"九夜","yx.night":"宵","yx.jianYingTu":"渐盈凸","yx.xiaoWang":"小望","yx.wang":"望","yx.jiWang":"既望","yx.liDai":"立待","yx.juDai":"居待","yx.qinDai":"寝待","yx.gengDai":"更待","yx.jianKuiTu":"渐亏凸","yx.xiaXian":"下弦","yx.youMing":"有明","yx.eMeiCan":"蛾眉残","yx.can":"残","yx.xiao":"晓","yx.hui":"晦","ny.sangZhe":"桑柘","ny.baiLa":"白蜡","ny.yangLiu":"杨柳","ny.jinBo":"金箔","ny.haiZhong":"海中","ny.daHai":"大海","ny.shaZhong":"沙中","ny.luZhong":"炉中","ny.shanXia":"山下","ny.daLin":"大林","ny.pingDi":"平地","ny.luPang":"路旁","ny.biShang":"壁上","ny.jianFeng":"剑锋","ny.shanTou":"山头","ny.fuDeng":"覆灯","ny.jianXia":"涧下","ny.tianHe":"天河","ny.chengTou":"城头","ny.daYi":"大驿","ny.chaiChuan":"钗钏","ny.quanZhong":"泉中","ny.daXi":"大溪","ny.wuShang":"屋上","ny.piLi":"霹雳","ny.tianShang":"天上","ny.songBo":"松柏","ny.shiLiu":"石榴","ny.changLiu":"长流"},en:{"tg.jia":"Jia","tg.yi":"Yi","tg.bing":"Bing","tg.ding":"Ding","tg.wu":"Wu","tg.ji":"Ji","tg.geng":"Geng","tg.xin":"Xin","tg.ren":"Ren","tg.gui":"Gui","dz.zi":"Zi","dz.chou":"Chou","dz.yin":"Yin","dz.mao":"Mao","dz.chen":"Chen","dz.si":"Si","dz.wu":"Wu","dz.wei":"Wei","dz.shen":"Shen","dz.you":"You","dz.xu":"Xu","dz.hai":"Hai","zx.jian":"Build","zx.chu":"Remove","zx.man":"Full","zx.ping":"Flat","zx.ding":"Stable","zx.zhi":"Hold","zx.po":"Break","zx.wei":"Danger","zx.cheng":"Complete","zx.shou":"Collect","zx.kai":"Open","zx.bi":"Close","jz.jiaZi":"JiaZi","jz.yiChou":"YiChou","jz.bingYin":"BingYin","jz.dingMao":"DingMao","jz.wuChen":"WuChen","jz.jiSi":"JiSi","jz.gengWu":"GengWu","jz.xinWei":"XinWei","jz.renShen":"RenShen","jz.guiYou":"GuiYou","jz.jiaXu":"JiaXu","jz.yiHai":"YiHai","jz.bingZi":"BingZi","jz.dingChou":"DingChou","jz.wuYin":"WuYin","jz.jiMao":"JiMao","jz.gengChen":"GengChen","jz.xinSi":"XinSi","jz.renWu":"RenWu","jz.guiWei":"GuiWei","jz.jiaShen":"JiaShen","jz.yiYou":"YiYou","jz.bingXu":"BingXu","jz.dingHai":"DingHai","jz.wuZi":"WuZi","jz.jiChou":"JiChou","jz.gengYin":"GengYin","jz.xinMao":"XinMao","jz.renChen":"RenChen","jz.guiSi":"GuiSi","jz.jiaWu":"JiaWu","jz.yiWei":"YiWei","jz.bingShen":"BingShen","jz.dingYou":"DingYou","jz.wuXu":"WuXu","jz.jiHai":"JiHai","jz.gengZi":"GengZi","jz.xinChou":"XinChou","jz.renYin":"RenYin","jz.guiMao":"GuiMao","jz.jiaChen":"JiaChen","jz.yiSi":"YiSi","jz.bingWu":"BingWu","jz.dingWei":"DingWei","jz.wuShen":"WuShen","jz.jiYou":"JiYou","jz.gengXu":"GengXu","jz.xinHai":"XinHai","jz.renZi":"RenZi","jz.guiChou":"GuiChou","jz.jiaYin":"JiaYin","jz.yiMao":"YiMao","jz.bingChen":"BingChen","jz.dingSi":"DingSi","jz.wuWu":"WuWu","jz.jiWei":"JiWei","jz.gengShen":"GengShen","jz.xinYou":"XinYou","jz.renXu":"RenXu","jz.guiHai":"GuiHai","sx.rat":"Rat","sx.ox":"Ox","sx.tiger":"Tiger","sx.rabbit":"Rabbit","sx.dragon":"Dragon","sx.snake":"Snake","sx.horse":"Horse","sx.goat":"Goat","sx.monkey":"Monkey","sx.rooster":"Rooster","sx.dog":"Dog","sx.pig":"Pig","dw.long":"Dragon","dw.niu":"Ox","dw.gou":"Dog","dw.yang":"Goat","dw.tu":"Rabbit","dw.shu":"Rat","dw.ji":"Rooster","dw.ma":"Horse","dw.hu":"Tiger","dw.zhu":"Pig","dw.hou":"Monkey","dw.she":"Snake","dw.huLi":"Fox","dw.yan":"Swallow","dw.bao":"Leopard","dw.yuan":"Ape","dw.yin":"Earthworm","dw.lu":"Deer","dw.wu":"Crow","dw.lang":"Wolf","dw.fu":"Bat","wx.jin":"Metal","wx.mu":"Wood","wx.shui":"Water","wx.huo":"Fire","wx.tu":"Earth","wx.ri":"Sun","wx.yue":"Moon","n.zero":"0","n.one":"1","n.two":"2","n.three":"3","n.four":"4","n.five":"5","n.six":"6","n.seven":"7","n.eight":"8","n.nine":"9","n.ten":"10","n.eleven":"11","n.twelve":"12","w.sun":"Sunday","w.mon":"Monday","w.tues":"Tuesday","w.wed":"Wednesday","w.thur":"Thursday","w.fri":"Friday","w.sat":"Saturday","xz.aries":"Aries","xz.taurus":"Taurus","xz.gemini":"Gemini","xz.cancer":"Cancer","xz.leo":"Leo","xz.virgo":"Virgo","xz.libra":"Libra","xz.scorpio":"Scorpio","xz.sagittarius":"Sagittarius","xz.capricornus":"Capricornus","xz.aquarius":"Aquarius","xz.pisces":"Pisces","bg.qian":"Qian","bg.kun":"Kun","bg.zhen":"Zhen","bg.xun":"Xun","bg.kan":"Kan","bg.li":"Li","bg.gen":"Gen","bg.dui":"Dui","ps.center":"Center","ps.dong":"East","ps.nan":"South","ps.xi":"West","ps.bei":"North","ps.zhong":"Center","ps.zhengDong":"East","ps.zhengNan":"South","ps.zhengXi":"West","ps.zhengBei":"North","ps.dongBei":"Northeast","ps.dongNan":"Southeast","ps.xiBei":"Northwest","ps.xiNan":"Southwest","jq.dongZhi":"Winter Solstice","jq.xiaoHan":"Lesser Cold","jq.daHan":"Great Cold","jq.liChun":"Spring Beginning","jq.yuShui":"Rain Water","jq.jingZhe":"Awakening from Hibernation","jq.chunFen":"Spring Equinox","jq.qingMing":"Fresh Green","jq.guYu":"Grain Rain","jq.liXia":"Beginning of Summer","jq.xiaoMan":"Lesser Fullness","jq.mangZhong":"Grain in Ear","jq.xiaZhi":"Summer Solstice","jq.xiaoShu":"Lesser Heat","jq.daShu":"Greater Heat","jq.liQiu":"Beginning of Autumn","jq.chuShu":"End of Heat","jq.baiLu":"White Dew","jq.qiuFen":"Autumnal Equinox","jq.hanLu":"Cold Dew","jq.shuangJiang":"First Frost","jq.liDong":"Beginning of Winter","jq.xiaoXue":"Light Snow","jq.daXue":"Heavy Snow","sn.qingLong":"Azure Dragon","sn.baiHu":"White Tiger","sn.zhuQue":"Rosefinch","sn.xuanWu":"Black Tortoise","sn.tianEn":"Serene Grace","sn.siShen":"Death","sn.tianMa":"Pegasus","sn.baLong":"Eight Dragon","sn.jiuHu":"Nine Tiger","sn.qiNiao":"Seven Bird","sn.liuShe":"Six Snake","s.none":"None","s.goodLuck":"Good luck","s.badLuck":"Bad luck","s.yin":"Yin","s.yang":"Yang","s.white":"White","s.black":"Black","s.blue":"Blue","s.green":"Green","s.yellow":"Yellow","s.red":"Red","s.purple":"Purple","jr.chuXi":"Chinese New Year's Eve","jr.chunJie":"Luna New Year","jr.yuanXiao":"Lantern Festival","jr.duanWu":"Dragon Boat Festival","jr.qiXi":"Begging Festival","jr.zhongQiu":"Mid-Autumn Festival","jr.laBa":"Laba Festival","jr.yuanDan":"New Year's Day","jr.qingRen":"Valentine's Day","jr.fuNv":"Women's Day","jr.xiaoFei":"Consumer Rights Day","jr.zhiShu":"Arbor Day","jr.wuYi":"International Worker's Day","jr.erTong":"Children's Day","jr.qingNian":"Youth Day","jr.yuRen":"April Fools' Day","jr.jianDang":"Party's Day","jr.jianJun":"Army Day","jr.jiaoShi":"Teachers' Day","jr.guoQing":"National Day","jr.wanShengYe":"All Saints' Eve","jr.wanSheng":"All Saints' Day","jr.pingAn":"Christmas Eve","jr.shengDan":"Christmas Day","ts.zhan":"At","ts.hu":"Household","ts.zao":"Cooker","ts.dui":"Pestle","ts.xi":"Habitat","ts.win":"Window","ts.fang":"Room","ts.chuang":"Bed","ts.lu":"Stove","ts.mo":"Mill","ts.chu":"Kitchen","ts.ce":"Toilet","ts.cang":"Depot","ts.cangKu":"Depot","ts.daMen":"Gate","ts.men":"Door","ts.tang":"Hall","ly.xianSheng":"Win first","ly.xianFu":"Lose first","ly.youYin":"Friend's referral","ly.foMie":"Buddhism's demise","ly.daAn":"Great safety","ly.chiKou":"Chikagoro","yj.jiSi":"Sacrifice","yj.qiFu":"Pray","yj.qiuSi":"Seek heirs","yj.kaiGuang":"Consecretion","yj.suHui":"Paint sculptural","yj.qiJiao":"Build altar","yj.zhaiJiao":"Taoist rites","yj.muYu":"Bathing","yj.chouShen":"Reward gods","yj.zaoMiao":"Build temple","yj.siZhao":"Offer kitchen god","yj.fenXiang":"Burn incense","yj.xieTu":"Earth gratitude","yj.chuHuo":"Expel the flame","yj.diaoKe":"Carving","yj.jiaQu":"Marriage","yj.DingHun":"Engagement","yj.naCai":"Proposing","yj.wenMing":"Ask name","yj.naXu":"Uxorilocal marriage","yj.guiNing":"Visit parents","yj.anChuang":"Bed placing","yj.heZhang":"Make up accounts","yj.guanJi":"Crowning adulthood","yj.dingMeng":"Make alliance","yj.jinRenKou":"Adopt","yj.caiYi":"Dressmaking","yj.wanMian":"Cosmeticsurgery","yj.kaiRong":"Open face","yj.xiuFen":"Grave repair","yj.qiZuan":"Open coffin","yj.poTu":"Break earth","yj.anZang":"Burial","yj.liBei":"Tombstone erecting","yj.chengFu":"Formation of clothes","yj.chuFu":"Mourning clothes removal","yj.kaiShengFen":"Open grave","yj.heShouMu":"Make coffin","yj.ruLian":"Body placing","yj.yiJiu":"Move coffin","yj.puDu":"Save soul","yj.ruZhai":"Enter house","yj.anXiang":"Incenst placement","yj.anMen":"Door placing","yj.xiuZao":"Repair","yj.qiJi":"Digging","yj.dongTu":"Break ground","yj.shangLiang":"Beam placing","yj.shuZhu":"Erecting pillars","yj.kaiJing":"Open pond and well","yj.zuoBei":"Make pond and fill water","yj.chaiXie":"Smash house","yj.poWu":"Break house","yj.huaiYuan":"Demolish","yj.buYuan":"Mending","yj.faMuZuoLiang":"Make beams","yj.zuoZhao":"Make stove","yj.jieChu":"Removal","yj.kaiZhuYan":"Build beam","yj.chuanPing":"Build door","yj.gaiWuHeJi":"Cover house","yj.kaiCe":"Open toilet","yj.zaoCang":"Build depot","yj.saiXue":"Block nest","yj.pingZhi":"Repair roads","yj.zaoQiao":"Build bridge","yj.zuoCe":"Build toilet","yj.zhuDi":"Fill","yj.kaiChi":"Open pond","yj.faMu":"Lumbering","yj.kaiQu":"Canalization","yj.jueJing":"Dig well","yj.saoShe":"Sweep house","yj.fangShui":"Drainage","yj.zaoWu":"Build house","yj.heJi":"Close ridge","yj.zaoChuChou":"Livestock thickening","yj.xiuMen":"Repair door","yj.dingSang":"Fix stone","yj.zuoLiang":"Beam construction","yj.xiuShi":"Decorate wall","yj.jiaMa":"Erect horse","yj.kaiShi":"Opening","yj.guaBian":"Hang plaque","yj.naChai":"Accept wealth","yj.qiuCai":"Seek wealth","yj.kaiCang":"Open depot","yj.maiChe":"Buy car","yj.zhiChan":"Buy property","yj.guYong":"Hire","yj.chuHuoCai":"Delivery","yj.anJiXie":"Build machine","yj.zaoCheQi":"Build car","yj.jingLuo":"Build loom","yj.yunNiang":"Brew","yj.zuoRan":"Dye","yj.guZhu":"Cast","yj.zaoChuan":"Build boat","yj.geMi":"Harvest honey","yj.zaiZhong":"Farming","yj.quYu":"Fishing","yj.jieWang":"Netting","yj.muYang":"Graze","yj.anDuiWei":"Build rub","yj.xiYi":"Learn","yj.ruXue":"Enter school","yj.liFa":"Haircut","yj.tanBing":"Visiting","yj.jianGui":"Meet noble","yj.chengChuan":"Ride boat","yj.duShui":"Cross water","yj.zhenJiu":"Acupuncture","yj.chuXing":"Travel","yj.yiXi":"Move","yj.fenJu":"Live apart","yj.TiTou":"Shave","yj.zhengShou":"Manicure","yj.naChu":"Feed livestock","yj.buZhuo":"Catch","yj.tianLie":"Hunt","yj.jiaoNiuMa":"Train horse","yj.huiQinYou":"Meet friends","yj.fuRen":"Go post","yj.qiuYi":"See doctor","yj.zhiBing":"Treat","yj.ciSong":"Litigation","yj.qiJiDongTu":"Lay foundation","yj.poWuHuaiYuan":"Demolish","yj.gaiWu":"Build house","yj.zaoCangKu":"Build depot","yj.liQuanJiaoYi":"Covenant trade","yj.jiaoYi":"Trade","yj.liQuan":"Covenant","yj.anJi":"Install machine","yj.huiYou":"Meet friends","yj.qiuYiLiaoBing":"Seek treatment","yj.zhuShi":"Everything Sucks","yj.yuShi":"Do nothing else","yj.xingSang":"Funeral","yj.duanYi":"Block ant hole","yj.guiXiu":"Place beam","xx.bi":"Finish","xx.yi":"Wing","xx.ji":"Sieve","xx.kui":"Qui","xx.gui":"Ghost","xx.di":"Foundation","xx.xu":"Virtual","xx.wei":"Danger","xx.zi":"Mouth","xx.zhen":"Cross-bar","xx.dou":"Fight","xx.lou":"Weak","xx.liu":"Willow","xx.fang":"House","xx.xin":"Heart","xx.shi":"Room","xx.can":"Join","xx.jiao":"Horn","xx.niu":"Ox","xx.vei":"Stomach","xx.xing":"Star","xx.zhang":"Chang","xx.tail":"Tail","xx.qiang":"Wall","xx.jing":"Well","xx.kang":"Kang","xx.nv":"Female","xx.mao":"Mao","sz.chun":"Spring","sz.xia":"Summer","sz.qiu":"Autumn","sz.dong":"Winter","yx.shuo":"New","yx.eMeiXin":"New waxing","yx.eMei":"Waxing","yx.xi":"Evening","yx.shangXian":"First quarter","yx.jiuYe":"Nine night","yx.night":"Night","yx.jianYingTu":"Gibbous","yx.xiaoWang":"Little full","yx.wang":"Full","yx.jianKuiTu":"Disseminating","yx.xiaXian":"Third quarter","yx.eMeiCan":"Waning waxing","yx.can":"Waning","yx.xiao":"Daybreak","yx.hui":"Obscure","ny.sangZhe":"Cudrania","ny.baiLa":"Wax","ny.yangLiu":"Willow","ny.jinBo":"Foil","ny.haiZhong":"Sea","ny.daHai":"Ocean","ny.shaZhong":"Sand","ny.luZhong":"Stove","ny.shanXia":"Piedmont","ny.daLin":"Forest","ny.pingDi":"Land","ny.luPang":"Roadside","ny.biShang":"Wall","ny.jianFeng":"Blade","ny.shanTou":"Hilltop","ny.fuDeng":"Light","ny.jianXia":"Valleyn","ny.tianHe":"River","ny.chengTou":"City","ny.daYi":"Post","ny.chaiChuan":"Ornaments","ny.quanZhong":"Spring","ny.daXi":"Stream","ny.wuShang":"Roof","ny.piLi":"Thunderbolt","ny.tianShang":"Sky","ny.songBo":"Coniferin","ny.shiLiu":"Pomegranate","ny.changLiu":"Flows"}},j={LunarUtil:ce,SolarUtil:le,TaoUtil:ye,FotoUtil:fe,NineStarUtil:ve},L={LunarUtil:{TIAN_SHEN_TYPE:{},TIAN_SHEN_TYPE_LUCK:{},XIU_LUCK:{},LU:{},XIU:{},SHA:{},POSITION_DESC:{},NAYIN:{},WU_XING_GAN:{},WU_XING_ZHI:{},SHOU:{},GONG:{},FESTIVAL:{},ZHENG:{},ANIMAL:{},SHI_SHEN:{},XIU_SONG:{}},SolarUtil:{FESTIVAL:{}},TaoUtil:{BA_HUI:{},BA_JIE:{}}},R={LunarUtil:{ZHI_TIAN_SHEN_OFFSET:{},CHANG_SHENG_OFFSET:{}}},z={LunarUtil:{ZHI_HIDE_GAN:{}}},H={LunarUtil:{GAN:[],ZHI:[],JIA_ZI:[],ZHI_XING:[],XUN:[],XUN_KONG:[],CHONG:[],CHONG_GAN:[],CHONG_GAN_TIE:[],HE_GAN_5:[],HE_ZHI_6:[],SHENGXIAO:[],NUMBER:[],POSITION_XI:[],POSITION_YANG_GUI:[],POSITION_YIN_GUI:[],POSITION_FU:[],POSITION_FU_2:[],POSITION_CAI:[],POSITION_TAI_SUI_YEAR:[],POSITION_GAN:[],POSITION_ZHI:[],JIE_QI:[],JIE_QI_IN_USE:[],TIAN_SHEN:[],SHEN_SHA:[],PENGZU_GAN:[],PENGZU_ZHI:[],MONTH_ZHI:[],CHANG_SHENG:[],HOU:[],WU_HOU:[],POSITION_TAI_DAY:[],POSITION_TAI_MONTH:[],YI_JI:[],LIU_YAO:[],MONTH:[],SEASON:[],DAY:[],YUE_XIANG:[]},SolarUtil:{WEEK:[],XINGZUO:[]},TaoUtil:{AN_WU:[]},FotoUtil:{XIU_27:[]},NineStarUtil:{NUMBER:[],WU_XING:[],POSITION:[],LUCK_XUAN_KONG:[],YIN_YANG_QI_MEN:[],COLOR:[]}},Y=function(e){var t=H[e],a=j[e];for(var n in t)for(var r=t[n],s=0,i=r.length;st.id===e);if(a)return a.title}return e}("clock"),a=St(!0),n=St(!0),r=St(!0),s=St(!0),i=St(!0),o=St("digital"),{isFullscreen:l,toggleFullscreen:c,setDoubleClickElement:u}=YC(!0),d=St(new Date),h=St(null),p=St(null),{success:f}=Vo(),m=is(()=>{const e=d.value;if(i.value)return e.getHours().toString().padStart(2,"0");{const t=e.getHours();return(0===t?12:t>12?t-12:t).toString().padStart(2,"0")}}),g=is(()=>d.value.getMinutes().toString().padStart(2,"0")),y=is(()=>d.value.getSeconds().toString().padStart(2,"0")),v=is(()=>d.value.getMilliseconds().toString().padStart(3,"0")),b=is(()=>i.value?"":d.value.getHours()>=12?"PM":"AM"),w=is(()=>d.value.toLocaleDateString("zh-CN",{year:"numeric",month:"long",day:"numeric"})),x=is(()=>{if(!r.value)return"";const e=d.value;return F(e)}),k=is(()=>{if(!s.value)return"";return d.value.toLocaleDateString("zh-CN",{weekday:"long"})}),_=is(()=>{const e=d.value;return 30*(e.getHours()%12)+.5*e.getMinutes()}),E=is(()=>{const e=d.value;return 6*e.getMinutes()+.1*e.getSeconds()}),C=is(()=>6*d.value.getSeconds()),F=e=>{try{const t=MD.Solar.fromDate(e).getLunar(),a=t.getYearInGanZhi(),n=t.getYearShengXiao(),r=t.getMonth();return`农历${a}年 (${n}年) ${["正月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","腊月"][r-1]||"未知月"}${t.getDayInChinese()}`}catch(t){console.error("农历计算错误:",t);const a=e.getFullYear();return`农历${["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"][(a-4)%10]}${["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"][(a-4)%12]}年 (${["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"][(a-4)%12]}年)`}},D=()=>{d.value=new Date},A=()=>{const e=["minimal","digital","analog","card","immersive"],t=e.indexOf(o.value),a=e[(t+1)%e.length];a&&(o.value=a);f(`切换到${{minimal:"简约白色风格",digital:"数字显示屏风格",analog:"模拟时钟风格",card:"卡片式设计",immersive:"全屏沉浸式"}[o.value]}`)},T=()=>{i.value=!i.value,f(`切换到${i.value?"24":"12"}小时制`)},S=()=>{r.value=!r.value,f((r.value?"显示":"隐藏")+"农历")},I=()=>{n.value=!n.value,f((n.value?"显示":"隐藏")+"毫秒")},P=e=>{"Escape"===e.code?(e.preventDefault(),l.value&&c()):"KeyF"!==e.code&&"F11"!==e.code||(e.preventDefault(),c())};return nn(()=>{D(),h.value=window.setInterval(D,10),document.addEventListener("keydown",P),Zt(()=>{p.value&&u(p.value)}),f("双击时钟进入全屏模式")}),ln(()=>{h.value&&clearInterval(h.value),document.removeEventListener("keydown",P)}),(e,u)=>(Cr(),Tr("div",{class:Q(["clock",[{fullscreen:Pt(l)},`style-${o.value}`]])},[Pt(l)?Rr("",!0):(Cr(),Sr(hl,{key:0,title:Pt(t),onBack:u[0]||(u[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"settings",tooltip:"切换风格",onClick:A}),Or(jl,{icon:"clock",tooltip:i.value?"切换到12小时制":"切换到24小时制",onClick:T},null,8,["tooltip"]),Or(jl,{icon:"eye",tooltip:n.value?"隐藏毫秒":"显示毫秒",onClick:I},null,8,["tooltip"]),Or(jl,{icon:"moon",tooltip:r.value?"隐藏农历":"显示农历",onClick:S},null,8,["tooltip"]),Or(jl,{icon:"fullscreen",tooltip:"全屏显示",onClick:Pt(c)},null,8,["onClick"])]),_:1},8,["title"])),Mr("div",OD,[Mr("div",{class:Q(["digital-display",o.value]),ref_key:"digitalDisplayRef",ref:p},["analog"!==o.value?(Cr(),Tr("div",UD,[Mr("div",jD,[Mr("span",LD,se(m.value),1),Mr("span",{class:Q(["separator",{blink:a.value}])},":",2),Mr("span",RD,se(g.value),1),a.value?(Cr(),Tr("span",zD,":")):Rr("",!0),a.value?(Cr(),Tr("span",HD,se(y.value),1)):Rr("",!0),a.value&&n.value?(Cr(),Tr("span",YD,".")):Rr("",!0),a.value&&n.value?(Cr(),Tr("span",$D,se(v.value),1)):Rr("",!0)]),i.value?Rr("",!0):(Cr(),Tr("div",GD,se(b.value),1))])):Rr("",!0),"analog"===o.value?(Cr(),Tr("div",WD,[(Cr(),Tr(br,null,yn(12,e=>Mr("div",{key:`hour-tick-${e}`,class:"hour-tick",style:K({transform:`rotate(${30*e}deg)`})},[Mr("div",{class:"tick-number",style:K({transform:`rotate(${30*-e}deg)`})},se(e),5)],4)),64)),(Cr(),Tr(br,null,yn(60,e=>ca(Mr("div",{key:`minute-tick-${e}`,class:"minute-tick",style:K({transform:`rotate(${6*e}deg)`})},null,4),[[Os,e%5!=0]])),64)),Mr("div",VD,[Mr("div",KD,se(d.value.getDate()),1)]),Mr("div",JD,[Mr("div",qD,se(["SUN","MON","TUE","WED","THU","FRI","SAT"][d.value.getDay()]||"SUN"),1)]),Mr("div",{class:"clock-hour-hand",style:K({transform:`rotate(${_.value}deg)`})},null,4),Mr("div",{class:"clock-minute-hand",style:K({transform:`rotate(${E.value}deg)`})},null,4),a.value?(Cr(),Tr("div",{key:0,class:"clock-second-hand",style:K({transform:`rotate(${C.value}deg)`})},null,4)):Rr("",!0),u[1]||(u[1]=Mr("div",{class:"clock-center"},null,-1))])):Rr("",!0),"analog"!==o.value?(Cr(),Tr("div",ZD,[Mr("div",XD,se(w.value),1),r.value?(Cr(),Tr("div",QD,se(x.value),1)):Rr("",!0),s.value?(Cr(),Tr("div",eA,se(k.value),1)):Rr("",!0)])):Rr("",!0)],2)])],2))}}),aA=Wi(tA,[["__scopeId","data-v-5830a910"]]),nA={class:"timezone-converter"},rA={class:"converter-content"},sA={class:"world-clock-section"},iA={class:"world-clock-grid"},oA=["onClick"],lA={class:"clock-header"},cA={class:"city-name"},uA={class:"timezone-code"},dA={class:"time-display"},hA={class:"time-value"},pA={class:"date-value"},fA={class:"quick-convert-section"},mA={class:"quick-convert-container"},gA={class:"convert-card"},yA={class:"convert-inputs"},vA={class:"timezone-selector"},bA={class:"timezone-input-group"},wA=["value"],xA={class:"timezone-selector"},kA={class:"timezone-input-group"},_A=["value"],EA={class:"datetime-inputs"},CA={class:"datetime-group"},FA={class:"input-wrapper"},DA={class:"input-wrapper"},AA={key:0,class:"conversion-result"},TA={class:"result-items"},SA={class:"result-item source"},IA={class:"result-value"},PA={class:"result-item target"},NA={class:"result-value"},BA={class:"time-difference"},MA={class:"diff-value"},OA={class:"meeting-planner-section"},UA={class:"meeting-planner-container"},jA={class:"meeting-setup"},LA={class:"meeting-basic-info"},RA={class:"meeting-datetime"},zA={class:"input-wrapper"},HA={class:"input-wrapper"},YA={class:"input-wrapper"},$A=["value"],GA={class:"participants-section"},WA={class:"participants-list"},VA=["onUpdate:modelValue"],KA=["onUpdate:modelValue"],JA=["value"],qA=["onClick"],ZA={key:0,class:"meeting-plan"},XA={class:"plan-content"},QA={class:"plan-participant"},eT={class:"participant-info"},tT={class:"participant-name"},aT={class:"participant-timezone"},nT={class:"participant-status"},rT={class:"plan-time"},sT={class:"plan-datetime"},iT=Ya({__name:"TimezoneConverter",emits:["back"],setup(e){il("timezone-convert");const{copyToClipboard:t}=ll(),{success:a,error:n}=Vo(),r=[{name:"奥克兰",code:"UTC+12",zone:"Pacific/Auckland"},{name:"悉尼",code:"UTC+10",zone:"Australia/Sydney"},{name:"东京",code:"UTC+9",zone:"Asia/Tokyo"},{name:"首尔",code:"UTC+9",zone:"Asia/Seoul"},{name:"北京",code:"UTC+8",zone:"Asia/Shanghai"},{name:"新加坡",code:"UTC+8",zone:"Asia/Singapore"},{name:"曼谷",code:"UTC+7",zone:"Asia/Bangkok"},{name:"孟买",code:"UTC+5:30",zone:"Asia/Kolkata"},{name:"迪拜",code:"UTC+4",zone:"Asia/Dubai"},{name:"莫斯科",code:"UTC+3",zone:"Europe/Moscow"},{name:"巴黎",code:"UTC+1",zone:"Europe/Paris"},{name:"伦敦",code:"UTC+0",zone:"Europe/London"},{name:"圣保罗",code:"UTC-3",zone:"America/Sao_Paulo"},{name:"纽约",code:"UTC-5",zone:"America/New_York"},{name:"芝加哥",code:"UTC-6",zone:"America/Chicago"},{name:"洛杉矶",code:"UTC-8",zone:"America/Los_Angeles"}],s=[{name:"北京",code:"CST",zone:"Asia/Shanghai"},{name:"东京",code:"JST",zone:"Asia/Tokyo"},{name:"首尔",code:"KST",zone:"Asia/Seoul"},{name:"新加坡",code:"SGT",zone:"Asia/Singapore"},{name:"香港",code:"HKT",zone:"Asia/Hong_Kong"},{name:"台北",code:"CST",zone:"Asia/Taipei"},{name:"曼谷",code:"ICT",zone:"Asia/Bangkok"},{name:"雅加达",code:"WIB",zone:"Asia/Jakarta"},{name:"孟买",code:"IST",zone:"Asia/Kolkata"},{name:"迪拜",code:"GST",zone:"Asia/Dubai"},{name:"伦敦",code:"GMT/BST",zone:"Europe/London"},{name:"巴黎",code:"CET/CEST",zone:"Europe/Paris"},{name:"柏林",code:"CET/CEST",zone:"Europe/Berlin"},{name:"罗马",code:"CET/CEST",zone:"Europe/Rome"},{name:"马德里",code:"CET/CEST",zone:"Europe/Madrid"},{name:"阿姆斯特丹",code:"CET/CEST",zone:"Europe/Amsterdam"},{name:"莫斯科",code:"MSK",zone:"Europe/Moscow"},{name:"纽约",code:"EST/EDT",zone:"America/New_York"},{name:"洛杉矶",code:"PST/PDT",zone:"America/Los_Angeles"},{name:"芝加哥",code:"CST/CDT",zone:"America/Chicago"},{name:"丹佛",code:"MST/MDT",zone:"America/Denver"},{name:"多伦多",code:"EST/EDT",zone:"America/Toronto"},{name:"温哥华",code:"PST/PDT",zone:"America/Vancouver"},{name:"悉尼",code:"AEST/AEDT",zone:"Australia/Sydney"},{name:"墨尔本",code:"AEST/AEDT",zone:"Australia/Melbourne"},{name:"奥克兰",code:"NZST/NZDT",zone:"Pacific/Auckland"},{name:"圣保罗",code:"BRT/BRST",zone:"America/Sao_Paulo"},{name:"布宜诺斯艾利斯",code:"ART",zone:"America/Argentina/Buenos_Aires"},{name:"开罗",code:"EET/EEST",zone:"Africa/Cairo"},{name:"约翰内斯堡",code:"SAST",zone:"Africa/Johannesburg"}],i=St("Asia/Shanghai"),o=St("America/New_York"),l=St(""),c=St(""),u=St(null),d=St(""),h=St(""),p=St("Asia/Shanghai"),f=St([]),m=St([]);let g=null;const y=St(0);nn(()=>{const e=new Date;l.value=e.toISOString().split("T")[0]||"",c.value=(e.toTimeString().split(" ")[0]||"12:00:00").substring(0,8),d.value=e.toISOString().split("T")[0]||"",h.value="14:00:00",f.value=[{name:"参会者1",timezone:"America/New_York"},{name:"参会者2",timezone:"Europe/London"}],v()}),ln(()=>{g&&clearInterval(g)});const v=()=>{g&&clearInterval(g),g=setInterval(()=>{y.value++},1e3)},b=e=>{try{const t=new Date,a=new Date(t.toLocaleString("en-US",{timeZone:"UTC"})),n=(new Date(t.toLocaleString("en-US",{timeZone:e})).getTime()-a.getTime())/6e4,r=n/60;if(0===n)return"UTC+0";const s=r>=0?"+":"";if(n%60==0)return`UTC${s}${Math.floor(r)}`;{const e=Math.floor(Math.abs(r));return`UTC${s}${r<0?"-":""}${e}:${(Math.abs(n)%60).toString().padStart(2,"0")}`}}catch(t){return"UTC"}},w=e=>{y.value;try{return(new Date).toLocaleTimeString("zh-CN",{timeZone:e,hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch(t){return"--:--:--"}},x=e=>{y.value;try{return(new Date).toLocaleDateString("zh-CN",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit"})}catch(t){return"----/--/--"}},k=()=>{const e=new Date;l.value=e.toISOString().split("T")[0]||"",c.value=(e.toTimeString().split(" ")[0]||"12:00:00").substring(0,8),a("已设置为当前时间")},_=()=>{if(l.value&&c.value)try{const e=new Date(`${l.value}T${c.value}`),t=s.find(e=>e.zone===i.value),n=s.find(e=>e.zone===o.value),r=e.toLocaleString("zh-CN",{timeZone:i.value,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}),d=e.toLocaleString("zh-CN",{timeZone:o.value,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}),h=E(i.value),p=(E(o.value)-h)/60,f=p>=0?`+${p}小时`:`${p}小时`;u.value={source:`${r} (${t?.name})`,target:`${d} (${n?.name})`,difference:f},a("时区转换完成")}catch(e){n("转换失败,请检查输入")}else n("请输入完整的日期和时间")},E=e=>{try{return C(e)}catch(t){return 0}},C=e=>{const t=new Date,a=new Date(t.toLocaleString("en-US",{timeZone:"UTC"}));return(new Date(t.toLocaleString("en-US",{timeZone:e})).getTime()-a.getTime())/6e4},F=async()=>{if(!u.value)return;const e=`时区转换结果:\n源时间: ${u.value.source}\n目标时间: ${u.value.target}\n时差: ${u.value.difference}`;await t(e)?a("转换结果已复制到剪贴板"):n("复制失败")},D=()=>{f.value.push({name:`参会者${f.value.length+1}`,timezone:"Asia/Shanghai"})},A=()=>{if(d.value&&h.value)try{const e=new Date(`${d.value}T${h.value}`),t=s.find(e=>e.zone===p.value),n=[];n.push({name:"主办方",timezoneName:t?.name||"未知",localTime:e.toLocaleString("zh-CN",{timeZone:p.value,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}),status:"host",statusText:"主办方"}),f.value.forEach(t=>{const a=s.find(e=>e.zone===t.timezone),r=e.toLocaleString("zh-CN",{timeZone:t.timezone,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}),i=r.split(" ")[1]||"12:00",o=parseInt(i.split(":")[0]||"12");let l="good",c="合适";o<6||o>22?(l="bad",c="不合适"):(o<8||o>20)&&(l="warning",c="一般"),n.push({name:t.name,timezoneName:a?.name||"未知",localTime:r,status:l,statusText:c})}),m.value=n,a("会议时间规划完成")}catch(e){n("规划失败,请检查输入")}else n("请输入会议日期和时间")},T=async()=>{if(0===m.value.length)return;let e="会议时间安排:\n\n";m.value.forEach(t=>{e+=`${t.name} (${t.timezoneName}): ${t.localTime} - ${t.statusText}\n`});await t(e)?a("会议安排已复制到剪贴板"):n("复制失败")},S=()=>{u.value=null,m.value=[],f.value=[{name:"参会者1",timezone:"America/New_York"},{name:"参会者2",timezone:"Europe/London"}],a("已清空所有数据")};return(e,g)=>(Cr(),Tr("div",nA,[Or(hl,{title:"时区转换",onBack:g[0]||(g[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:S})]),_:1}),Mr("div",rA,[Mr("div",sA,[g[8]||(g[8]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"🌍 世界时钟"),Mr("span",{class:"section-subtitle"},"实时显示全球主要城市时间,点击卡片可复制时间信息")])],-1)),Mr("div",iA,[(Cr(),Tr(br,null,yn(r,e=>Mr("div",{key:e.zone,class:"clock-card",onClick:r=>(async e=>{const r=w(e.zone),s=x(e.zone),i=`${e.name} (${e.code}): ${s} ${r}`;await t(i)?a(`已复制 ${e.name} 时间`):n("复制失败")})(e)},[Mr("div",lA,[Mr("span",cA,se(e.name),1),Mr("span",uA,se(b(e.zone)),1)]),Mr("div",dA,[Mr("div",hA,se(w(e.zone)),1),Mr("div",pA,se(x(e.zone)),1)])],8,oA)),64))])]),Mr("div",fA,[g[22]||(g[22]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"⚡ 快速转换"),Mr("span",{class:"section-subtitle"},"在不同时区之间快速转换时间")])],-1)),Mr("div",mA,[Mr("div",gA,[Mr("div",yA,[Mr("div",vA,[g[9]||(g[9]=Mr("label",null,"从",-1)),Mr("div",bA,[ca(Mr("select",{"onUpdate:modelValue":g[1]||(g[1]=e=>i.value=e),class:"timezone-select"},[(Cr(),Tr(br,null,yn(s,e=>Mr("option",{key:e.zone,value:e.zone},se(e.name)+" ("+se(e.code)+") ",9,wA)),64))],512),[[_i,i.value]])])]),g[11]||(g[11]=Mr("div",{class:"convert-arrow"},[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M5 12h14"}),Mr("path",{d:"m12 5 7 7-7 7"})])],-1)),Mr("div",xA,[g[10]||(g[10]=Mr("label",null,"到",-1)),Mr("div",kA,[ca(Mr("select",{"onUpdate:modelValue":g[2]||(g[2]=e=>o.value=e),class:"timezone-select"},[(Cr(),Tr(br,null,yn(s,e=>Mr("option",{key:e.zone,value:e.zone},se(e.name)+" ("+se(e.code)+") ",9,_A)),64))],512),[[_i,o.value]])])])]),Mr("div",EA,[Mr("div",CA,[Mr("div",FA,[g[12]||(g[12]=Mr("label",null,"日期",-1)),ca(Mr("input",{"onUpdate:modelValue":g[3]||(g[3]=e=>l.value=e),type:"date",class:"date-input"},null,512),[[bi,l.value]])]),Mr("div",DA,[g[13]||(g[13]=Mr("label",null,"时间",-1)),ca(Mr("input",{"onUpdate:modelValue":g[4]||(g[4]=e=>c.value=e),type:"time",step:"1",class:"time-input"},null,512),[[bi,c.value]])])]),Mr("div",{class:"convert-actions"},[Mr("button",{class:"now-btn",onClick:k},[...g[14]||(g[14]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("polyline",{points:"12,6 12,12 16,14"})],-1),jr(" 现在 ",-1)])]),Mr("button",{class:"convert-btn",onClick:_},[...g[15]||(g[15]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M7 16.5L12 12l5 4.5"}),Mr("path",{d:"M7 7.5L12 12l5-4.5"})],-1),jr(" 转换 ",-1)])])])])]),u.value?(Cr(),Tr("div",AA,[Mr("div",{class:"result-header"},[g[17]||(g[17]=Mr("h4",null,"转换结果",-1)),Mr("button",{class:"copy-btn",onClick:F,title:"复制结果"},[...g[16]||(g[16]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",TA,[Mr("div",SA,[g[18]||(g[18]=Mr("div",{class:"result-label"},"源时间",-1)),Mr("div",IA,se(u.value.source),1)]),g[20]||(g[20]=Mr("div",{class:"result-arrow"},[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M5 12h14"}),Mr("path",{d:"m12 5 7 7-7 7"})])],-1)),Mr("div",PA,[g[19]||(g[19]=Mr("div",{class:"result-label"},"目标时间",-1)),Mr("div",NA,se(u.value.target),1)])]),Mr("div",BA,[g[21]||(g[21]=Mr("span",{class:"diff-label"},"时差:",-1)),Mr("span",MA,se(u.value.difference),1)])])):Rr("",!0)])]),Mr("div",OA,[g[32]||(g[32]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📅 会议时间规划"),Mr("span",{class:"section-subtitle"},"为跨时区会议找到最佳时间")])],-1)),Mr("div",UA,[Mr("div",jA,[Mr("div",LA,[Mr("div",RA,[Mr("div",zA,[g[23]||(g[23]=Mr("label",null,"会议日期",-1)),ca(Mr("input",{"onUpdate:modelValue":g[5]||(g[5]=e=>d.value=e),type:"date",class:"date-input"},null,512),[[bi,d.value]])]),Mr("div",HA,[g[24]||(g[24]=Mr("label",null,"会议时间",-1)),ca(Mr("input",{"onUpdate:modelValue":g[6]||(g[6]=e=>h.value=e),type:"time",step:"1",class:"time-input"},null,512),[[bi,h.value]])]),Mr("div",YA,[g[25]||(g[25]=Mr("label",null,"主办方时区",-1)),ca(Mr("select",{"onUpdate:modelValue":g[7]||(g[7]=e=>p.value=e),class:"timezone-select"},[(Cr(),Tr(br,null,yn(s,e=>Mr("option",{key:e.zone,value:e.zone},se(e.name)+" ("+se(e.code)+") ",9,$A)),64))],512),[[_i,p.value]])])])]),Mr("div",GA,[Mr("div",{class:"participants-header"},[g[27]||(g[27]=Mr("label",null,"参会者时区",-1)),Mr("button",{class:"add-participant-btn",onClick:D},[...g[26]||(g[26]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加参会者 ",-1)])])]),Mr("div",WA,[(Cr(!0),Tr(br,null,yn(f.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"participant-item"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.name=t,type:"text",placeholder:"参会者姓名",class:"participant-name"},null,8,VA),[[bi,e.name]]),ca(Mr("select",{"onUpdate:modelValue":t=>e.timezone=t,class:"timezone-select"},[(Cr(),Tr(br,null,yn(s,e=>Mr("option",{key:e.zone,value:e.zone},se(e.name)+" ("+se(e.code)+") ",9,JA)),64))],8,KA),[[_i,e.timezone]]),Mr("button",{class:"remove-participant-btn",onClick:e=>(e=>{f.value.splice(e,1)})(t)},[...g[28]||(g[28]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,qA)]))),128))])]),Mr("button",{class:"plan-meeting-btn",onClick:A},[...g[29]||(g[29]=[Lr(' 规划会议时间 ',2)])])]),m.value.length>0?(Cr(),Tr("div",ZA,[Mr("div",{class:"plan-header"},[g[31]||(g[31]=Mr("h4",null,"会议时间安排",-1)),Mr("button",{class:"copy-plan-btn",onClick:T,title:"复制会议安排"},[...g[30]||(g[30]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",XA,[(Cr(!0),Tr(br,null,yn(m.value,e=>(Cr(),Tr("div",{key:e.name,class:Q(["plan-item",e.status])},[Mr("div",QA,[Mr("div",eT,[Mr("span",tT,se(e.name),1),Mr("span",aT,se(e.timezoneName),1)]),Mr("div",nT,[Mr("span",{class:Q(["status-badge",e.status])},se(e.statusText),3)])]),Mr("div",rT,[Mr("div",sT,se(e.localTime),1)])],2))),128))])])):Rr("",!0)])])])]))}}),oT=Wi(iT,[["__scopeId","data-v-66da35c0"]]),lT={class:"base64-converter"},cT={class:"converter-content"},uT={class:"converter-section"},dT={class:"text-converter-container"},hT={class:"input-output-grid"},pT={class:"input-section"},fT={class:"input-info"},mT={class:"char-count"},gT={class:"byte-count"},yT={class:"output-section"},vT={class:"output-info"},bT={class:"char-count"},wT={key:0,class:"compression-ratio"},xT={class:"converter-options"},kT={class:"option-checkbox"},_T={class:"converter-section"},ET={class:"file-converter-container"},CT={key:0,class:"file-info"},FT={class:"file-details"},DT={class:"file-meta"},AT={class:"file-name"},TT={class:"file-size"},ST={class:"file-type"},IT={class:"file-actions"},PT=["disabled"],NT={key:1,class:"file-result"},BT={class:"result-info"},MT=Ya({__name:"Base64Converter",emits:["back"],setup(e){il("base64-encode");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("base64-encode"),{success:a,error:n}=Vo(),r=St(""),s=St(""),i=St(!1),o=St(null),l=St(""),c=St(!1),u=St(),d=e=>new Blob([e]).size,h=()=>{if(!r.value||!s.value)return"0";const e=d(r.value);return((d(s.value)-e)/e*100).toFixed(1)},p=()=>{r.value.trim()?f():s.value=""},f=()=>{if(r.value.trim())try{let e=btoa((new TextEncoder).encode(r.value).reduce((e,t)=>e+String.fromCharCode(t),""));i.value&&(e=e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")),s.value=e,a("编码成功")}catch(e){n("编码失败,请检查输入内容")}else s.value=""},m=()=>{if(r.value.trim())try{let e=r.value;if(i.value)for(e=e.replace(/-/g,"+").replace(/_/g,"/");e.length%4;)e+="=";const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a{const e=r.value;r.value=s.value,s.value=e,a("内容已交换")},y=async()=>{try{const e=await navigator.clipboard.readText();r.value=e,f(),a("已粘贴文本")}catch(e){n("粘贴失败")}},v=()=>{r.value="",s.value="",a("已清空输入")},b=async()=>{if(s.value)try{await navigator.clipboard.writeText(s.value),a("编码结果已复制到剪贴板")}catch(e){n("复制失败")}else n("没有可复制的内容")},w=()=>{if(!s.value)return void n("没有可下载的内容");const e=new Blob([s.value],{type:"text/plain"}),t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download="base64-encoded.txt",r.click(),URL.revokeObjectURL(t),a("编码结果已下载")},x=e=>{const t=e.target,r=t.files?.[0];if(r){if(r.size>10485760)return void n("文件大小不能超过10MB");o.value=r,l.value="",a("文件已选择")}},k=e=>{e.preventDefault();const t=e.dataTransfer?.files[0];if(t){if(t.size>10485760)return void n("文件大小不能超过10MB");o.value=t,l.value="",a("文件已选择")}},_=()=>{o.value=null,l.value="",u.value&&(u.value.value=""),a("文件已移除")},E=()=>{if(!o.value)return;c.value=!0;const e=new FileReader;e.onload=e=>{try{const t=e.target?.result,n=t.split(",")[1];l.value=n||"",a("文件编码完成")}catch(t){n("文件编码失败")}finally{c.value=!1}},e.onerror=()=>{n("文件读取失败"),c.value=!1},e.readAsDataURL(o.value)},C=async()=>{if(l.value)try{await navigator.clipboard.writeText(l.value),a("文件编码结果已复制")}catch(e){n("复制失败")}},F=()=>{if(!l.value)return;const e=new Blob([l.value],{type:"text/plain"}),t=URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download=`${o.value?.name||"file"}-base64.txt`,n.click(),URL.revokeObjectURL(t),a("文件编码结果已下载")},D=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]},A=()=>{r.value="",s.value="",o.value=null,l.value="",i.value=!1,u.value&&(u.value.value=""),a("已清空所有内容")};return nn(()=>{}),(e,a)=>(Cr(),Tr("div",lT,[Or(hl,{title:Pt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:A})]),_:1},8,["title"]),Mr("div",cT,[Mr("div",uT,[a[19]||(a[19]=Mr("div",{class:"section-header"},[Mr("h3",null,"文本编码解码"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对文本进行Base64编码和解码,支持URL安全格式")])],-1)),Mr("div",dT,[Mr("div",hT,[Mr("div",pT,[Mr("div",{class:"section-title"},[a[10]||(a[10]=Mr("span",null,"原始文本",-1)),Mr("div",{class:"section-actions"},[Mr("button",{class:"action-btn-small",onClick:y,title:"粘贴"},[...a[8]||(a[8]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:v,title:"清空"},[...a[9]||(a[9]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[1]||(a[1]=e=>r.value=e),placeholder:"请输入要编码的文本...",class:"text-input",onInput:p},null,544),[[bi,r.value]]),Mr("div",fT,[Mr("span",mT,"字符数: "+se(r.value.length),1),Mr("span",gT,"字节数: "+se(d(r.value)),1)])]),Mr("div",yT,[Mr("div",{class:"section-title"},[a[13]||(a[13]=Mr("span",null,"Base64编码结果",-1)),Mr("div",{class:"section-actions"},[Mr("button",{class:"action-btn-small",onClick:b,title:"复制"},[...a[11]||(a[11]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:w,title:"下载"},[...a[12]||(a[12]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[2]||(a[2]=e=>s.value=e),placeholder:"编码结果将显示在这里...",class:"text-output",readonly:""},null,512),[[bi,s.value]]),Mr("div",vT,[Mr("span",bT,"字符数: "+se(s.value.length),1),r.value&&s.value?(Cr(),Tr("span",wT," 压缩比: "+se(h())+"% ",1)):Rr("",!0)])])]),Mr("div",xT,[Mr("label",kT,[ca(Mr("input",{type:"checkbox","onUpdate:modelValue":a[3]||(a[3]=e=>i.value=e),onChange:p},null,544),[[wi,i.value]]),a[14]||(a[14]=Mr("span",{class:"checkmark"},null,-1)),a[15]||(a[15]=jr(" URL安全格式 (替换 +/= 字符) ",-1))])]),Mr("div",{class:"converter-actions"},[Mr("button",{class:"convert-btn encode",onClick:f},[...a[16]||(a[16]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M7 16.5L12 12l5 4.5"}),Mr("path",{d:"M7 7.5L12 12l5-4.5"})],-1),jr(" 编码 ",-1)])]),Mr("button",{class:"convert-btn decode",onClick:m},[...a[17]||(a[17]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M17 7.5L12 12l-5-4.5"}),Mr("path",{d:"M17 16.5L12 12l-5 4.5"})],-1),jr(" 解码 ",-1)])]),Mr("button",{class:"swap-btn",onClick:g},[...a[18]||(a[18]=[Lr(' 交换 ',2)])])])])]),Mr("div",_T,[a[27]||(a[27]=Mr("div",{class:"section-header"},[Mr("h3",null,"文件编码解码"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对文件进行Base64编码,支持图片、文档等")])],-1)),Mr("div",ET,[Mr("div",{class:"file-upload-area",onDrop:k,onDragover:a[5]||(a[5]=Ii(()=>{},["prevent"])),onDragenter:a[6]||(a[6]=Ii(()=>{},["prevent"]))},[Mr("input",{ref_key:"fileInput",ref:u,type:"file",onChange:x,class:"file-input",accept:"*/*"},null,544),Mr("div",{class:"upload-content",onClick:a[4]||(a[4]=e=>u.value?.click())},[...a[20]||(a[20]=[Lr('

点击选择文件或拖拽文件到此处

支持所有文件类型,最大10MB

',3)])])],32),o.value?(Cr(),Tr("div",CT,[Mr("div",FT,[a[22]||(a[22]=Mr("div",{class:"file-icon"},[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})])],-1)),Mr("div",DT,[Mr("div",AT,se(o.value.name),1),Mr("div",TT,se(D(o.value.size)),1),Mr("div",ST,se(o.value.type||"未知类型"),1)]),Mr("button",{class:"remove-file-btn",onClick:_},[...a[21]||(a[21]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),Mr("div",IT,[Mr("button",{class:"file-action-btn",onClick:E,disabled:c.value},[a[23]||(a[23]=Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M7 16.5L12 12l5 4.5"}),Mr("path",{d:"M7 7.5L12 12l5-4.5"})],-1)),jr(" "+se(c.value?"编码中...":"编码文件"),1)],8,PT)])])):Rr("",!0),l.value?(Cr(),Tr("div",NT,[Mr("div",{class:"result-header"},[a[26]||(a[26]=Mr("h4",null,"编码结果",-1)),Mr("div",{class:"result-actions"},[Mr("button",{class:"action-btn-small",onClick:C,title:"复制"},[...a[24]||(a[24]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:F,title:"下载"},[...a[25]||(a[25]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[7]||(a[7]=e=>l.value=e),class:"file-result-text",readonly:""},null,512),[[bi,l.value]]),Mr("div",BT,[Mr("span",null,"原始大小: "+se(D(o.value?.size||0)),1),Mr("span",null,"编码后大小: "+se(D(d(l.value))),1)])])):Rr("",!0)])])])]))}}),OT=Wi(MT,[["__scopeId","data-v-bc649345"]]),UT={class:"url-converter"},jT={class:"converter-content"},LT={class:"converter-section"},RT={class:"url-converter-container"},zT={class:"input-output-grid"},HT={class:"input-section"},YT={class:"input-info"},$T={class:"char-count"},GT={class:"output-section"},WT={class:"section-title"},VT={class:"section-actions"},KT=["disabled"],JT={class:"output-info"},qT={class:"char-count"},ZT={class:"converter-section"},XT={class:"url-parser-container"},QT={class:"parser-input"},eS={class:"input-with-button"},tS={key:0,class:"url-components"},aS={class:"component-grid"},nS={class:"component-item"},rS={class:"component-value"},sS={class:"component-item"},iS={class:"component-value"},oS={class:"component-item"},lS={class:"component-value"},cS={class:"component-item"},uS={class:"component-value"},dS={class:"component-item"},hS={class:"component-value"},pS={class:"component-item"},fS={class:"component-value"},mS={key:0,class:"url-params"},gS={class:"params-list"},yS={class:"param-key"},vS={class:"param-value"},bS=["onClick"],wS={class:"converter-section"},xS={class:"char-reference"},kS={class:"char-grid"},_S=["onClick"],ES={class:"char-original"},CS={class:"char-encoded"},FS={class:"char-description"},DS=Wi(Ya({__name:"UrlConverter",emits:["back"],setup(e){il("url-encode");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("url-encode"),{success:a,error:n}=Vo(),r=St(""),s=St(""),i=St(""),o=St(null),l=St([]),c=[{original:" ",encoded:"%20",description:"空格"},{original:"!",encoded:"%21",description:"感叹号"},{original:'"',encoded:"%22",description:"双引号"},{original:"#",encoded:"%23",description:"井号"},{original:"$",encoded:"%24",description:"美元符号"},{original:"%",encoded:"%25",description:"百分号"},{original:"&",encoded:"%26",description:"和号"},{original:"'",encoded:"%27",description:"单引号"},{original:"(",encoded:"%28",description:"左括号"},{original:")",encoded:"%29",description:"右括号"},{original:"*",encoded:"%2A",description:"星号"},{original:"+",encoded:"%2B",description:"加号"},{original:",",encoded:"%2C",description:"逗号"},{original:"/",encoded:"%2F",description:"斜杠"},{original:":",encoded:"%3A",description:"冒号"},{original:";",encoded:"%3B",description:"分号"},{original:"<",encoded:"%3C",description:"小于号"},{original:"=",encoded:"%3D",description:"等号"},{original:">",encoded:"%3E",description:"大于号"},{original:"?",encoded:"%3F",description:"问号"},{original:"@",encoded:"%40",description:"at符号"},{original:"[",encoded:"%5B",description:"左方括号"},{original:"\\",encoded:"%5C",description:"反斜杠"},{original:"]",encoded:"%5D",description:"右方括号"},{original:"^",encoded:"%5E",description:"脱字符"},{original:"`",encoded:"%60",description:"反引号"},{original:"{",encoded:"%7B",description:"左花括号"},{original:"|",encoded:"%7C",description:"竖线"},{original:"}",encoded:"%7D",description:"右花括号"},{original:"~",encoded:"%7E",description:"波浪号"}],u=e=>{if(!e)return!1;try{return new URL(e),!0}catch{try{const t=decodeURIComponent(e);return new URL(t),!0}catch{return!1}}},d=e=>{if(!e)return"";try{return new URL(e),"有效URL"}catch{try{const t=decodeURIComponent(e);return new URL(t),"编码后的有效URL"}catch{return e.includes("%")?"包含编码字符":"文本内容"}}},h=e=>{if(!e)return"";try{return new URL(e),"valid"}catch{try{const t=decodeURIComponent(e);return new URL(t),"valid"}catch{return e.includes("%")?"":e.length>0?"invalid":""}}},p=()=>{r.value.trim()?f():s.value=""},f=()=>{if(r.value.trim())try{s.value=encodeURIComponent(r.value),a("URL编码成功")}catch(e){n("URL编码失败")}else s.value=""},m=()=>{if(r.value.trim())try{s.value=decodeURIComponent(r.value),a("URL解码成功")}catch(e){n("URL解码失败,请检查编码格式")}else s.value=""},g=()=>{const e=r.value;r.value=s.value,s.value=e,a("内容已交换")},y=async()=>{try{const e=await navigator.clipboard.readText();r.value=e,p(),a("已粘贴文本")}catch(e){n("粘贴失败")}},v=()=>{r.value="",s.value="",a("已清空输入")},b=async()=>{if(s.value)try{await navigator.clipboard.writeText(s.value),a("编码结果已复制到剪贴板")}catch(e){n("复制失败")}else n("没有可复制的内容")},w=()=>{if(!u(s.value))return void n("不是有效的URL");let e=s.value;try{new URL(s.value)}catch{try{const t=decodeURIComponent(s.value);new URL(t),e=t}catch{return void n("无法解析URL")}}window.open(e,"_blank"),a("已在新窗口打开URL")},x=()=>{if(!i.value.trim())return o.value=null,void(l.value=[]);try{const e=new URL(i.value);o.value={protocol:e.protocol,host:e.host,hostname:e.hostname,port:e.port,pathname:e.pathname,search:e.search,hash:e.hash},l.value=Array.from(e.searchParams.entries()).map(([e,t])=>({key:e,value:t})),a("URL解析完成")}catch(e){n("URL解析失败,请检查URL格式"),o.value=null,l.value=[]}},k=async()=>{const e=l.value.map(e=>`${e.key}=${e.value}`).join("&");try{await navigator.clipboard.writeText(e),a("参数已复制到剪贴板")}catch(t){n("复制失败")}},_=()=>{r.value="",s.value="",i.value="",o.value=null,l.value=[],a("已清空所有内容")};return(e,E)=>(Cr(),Tr("div",UT,[Or(hl,{title:Pt(t),onBack:E[0]||(E[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:_})]),_:1},8,["title"]),Mr("div",jT,[Mr("div",LT,[E[13]||(E[13]=Mr("div",{class:"section-header"},[Mr("h3",null,"URL编码解码"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对URL进行编码和解码处理")])],-1)),Mr("div",RT,[Mr("div",zT,[Mr("div",HT,[Mr("div",{class:"section-title"},[E[6]||(E[6]=Mr("span",null,"原始文本/URL",-1)),Mr("div",{class:"section-actions"},[Mr("button",{class:"action-btn-small",onClick:y,title:"粘贴"},[...E[4]||(E[4]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:v,title:"清空"},[...E[5]||(E[5]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":E[1]||(E[1]=e=>r.value=e),placeholder:"请输入要编码的URL或文本...",class:"text-input",onInput:p},null,544),[[bi,r.value]]),Mr("div",YT,[Mr("span",$T,"字符数: "+se(r.value.length),1),Mr("span",{class:Q(["url-valid",h(r.value)])},se(d(r.value)),3)])]),Mr("div",GT,[Mr("div",WT,[E[9]||(E[9]=Mr("span",null,"编码结果",-1)),Mr("div",VT,[Mr("button",{class:"action-btn-small",onClick:b,title:"复制"},[...E[7]||(E[7]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:w,title:"打开URL",disabled:!u(s.value)},[...E[8]||(E[8]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),Mr("polyline",{points:"15,3 21,3 21,9"}),Mr("line",{x1:"10",y1:"14",x2:"21",y2:"3"})],-1)])],8,KT)])]),ca(Mr("textarea",{"onUpdate:modelValue":E[2]||(E[2]=e=>s.value=e),placeholder:"编码结果将显示在这里...",class:"text-output",readonly:""},null,512),[[bi,s.value]]),Mr("div",JT,[Mr("span",qT,"字符数: "+se(s.value.length),1),Mr("span",{class:Q(["url-valid",h(s.value)])},se(d(s.value)),3)])])]),Mr("div",{class:"converter-actions"},[Mr("button",{class:"convert-btn encode",onClick:f},[...E[10]||(E[10]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M7 16.5L12 12l5 4.5"}),Mr("path",{d:"M7 7.5L12 12l5-4.5"})],-1),jr(" 编码 ",-1)])]),Mr("button",{class:"convert-btn decode",onClick:m},[...E[11]||(E[11]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M17 7.5L12 12l-5-4.5"}),Mr("path",{d:"M17 16.5L12 12l-5 4.5"})],-1),jr(" 解码 ",-1)])]),Mr("button",{class:"swap-btn",onClick:g},[...E[12]||(E[12]=[Lr(' 交换 ',2)])])])])]),Mr("div",ZT,[E[24]||(E[24]=Mr("div",{class:"section-header"},[Mr("h3",null,"URL解析"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"解析URL的各个组成部分")])],-1)),Mr("div",XT,[Mr("div",QT,[E[14]||(E[14]=Mr("label",null,"要解析的URL",-1)),Mr("div",eS,[ca(Mr("input",{"onUpdate:modelValue":E[3]||(E[3]=e=>i.value=e),type:"text",placeholder:"请输入完整的URL...",class:"url-input",onInput:x},null,544),[[bi,i.value]]),Mr("button",{class:"parse-btn",onClick:x},"解析")])]),o.value?(Cr(),Tr("div",tS,[Mr("div",aS,[Mr("div",nS,[E[15]||(E[15]=Mr("label",null,"协议 (Protocol)",-1)),Mr("span",rS,se(o.value.protocol),1)]),Mr("div",sS,[E[16]||(E[16]=Mr("label",null,"主机 (Host)",-1)),Mr("span",iS,se(o.value.host),1)]),Mr("div",oS,[E[17]||(E[17]=Mr("label",null,"端口 (Port)",-1)),Mr("span",lS,se(o.value.port||"默认"),1)]),Mr("div",cS,[E[18]||(E[18]=Mr("label",null,"路径 (Path)",-1)),Mr("span",uS,se(o.value.pathname),1)]),Mr("div",dS,[E[19]||(E[19]=Mr("label",null,"查询字符串 (Search)",-1)),Mr("span",hS,se(o.value.search||"无"),1)]),Mr("div",pS,[E[20]||(E[20]=Mr("label",null,"锚点 (Hash)",-1)),Mr("span",fS,se(o.value.hash||"无"),1)])]),l.value.length>0?(Cr(),Tr("div",mS,[Mr("div",{class:"params-header"},[E[21]||(E[21]=Mr("h4",null,"查询参数",-1)),Mr("button",{class:"copy-params-btn",onClick:k},"复制所有参数")]),Mr("div",gS,[(Cr(!0),Tr(br,null,yn(l.value,e=>(Cr(),Tr("div",{key:e.key,class:"param-item"},[Mr("span",yS,se(e.key),1),E[23]||(E[23]=Mr("span",{class:"param-separator"},"=",-1)),Mr("span",vS,se(e.value),1),Mr("button",{class:"copy-param-btn",onClick:t=>(async e=>{try{await navigator.clipboard.writeText(`${e.key}=${e.value}`),a(`参数 ${e.key} 已复制`)}catch(t){n("复制失败")}})(e),title:"复制此参数"},[...E[22]||(E[22]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,bS)]))),128))])])):Rr("",!0)])):Rr("",!0)])]),Mr("div",wS,[E[25]||(E[25]=Mr("div",{class:"section-header"},[Mr("h3",null,"常用字符编码"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"常见特殊字符的URL编码对照")])],-1)),Mr("div",xS,[Mr("div",kS,[(Cr(),Tr(br,null,yn(c,e=>Mr("div",{key:e.original,class:"char-item",onClick:t=>(e=>{r.value+=e.original,p(),a(`已插入字符: ${e.original}`)})(e)},[Mr("span",ES,se(e.original),1),Mr("span",CS,se(e.encoded),1),Mr("span",FS,se(e.description),1)],8,_S)),64))])])])])]))}}),[["__scopeId","data-v-d86d8d60"]]),AS={class:"hash-generator"},TS={class:"generator-content"},SS={class:"generator-section"},IS={class:"text-hash-container"},PS={class:"input-section"},NS={class:"input-header"},BS={class:"input-actions"},MS=["title"],OS={class:"case-text"},US={class:"input-info"},jS={class:"char-count"},LS={class:"byte-count"},RS={class:"hash-results"},zS={class:"hash-grid"},HS={class:"hash-header"},YS={class:"hash-info"},$S={class:"hash-type"},GS={class:"hash-description"},WS={class:"hash-actions"},VS=["onClick"],KS={class:"hash-value"},JS={class:"hash-meta"},qS={class:"hash-length"},ZS={class:"hash-format"},XS={class:"generator-section"},QS={class:"file-hash-container"},eI={key:0,class:"file-info"},tI={class:"file-details"},aI={class:"file-meta"},nI={class:"file-name"},rI={class:"file-size"},sI={class:"file-type"},iI={class:"file-actions"},oI=["disabled"],lI={key:0,class:"file-hash-results"},cI={class:"file-hash-list"},uI={class:"file-hash-header"},dI={class:"file-hash-type"},hI=["onClick"],pI={class:"file-hash-value"},fI={class:"generator-section"},mI={class:"hash-verify-container"},gI={class:"verify-form"},yI={class:"verify-input-group"},vI={class:"verify-input-group"},bI={class:"verify-input-group"},wI={key:0,class:"verify-result"},xI={class:"verify-result-header"},kI={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},_I={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},EI={class:"verify-details"},CI={class:"verify-detail-item"},FI={class:"verify-value computed"},DI={class:"verify-detail-item"},AI={class:"verify-value expected"},TI={class:"generator-section"},SI={class:"algorithm-info"},II={class:"algorithm-grid"},PI={class:"algorithm-header"},NI={class:"algorithm-length"},BI={class:"algorithm-description"},MI={class:"algorithm-features"},OI={class:"feature-item"},UI={class:"feature-item"},jI={class:"feature-item"},LI={class:"feature-value"},RI=Ya({__name:"HashGenerator",emits:["back"],setup(e){il("md5-hash");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("md5-hash"),{success:a,error:n}=Vo(),r=St(""),s=St(!1),i=St(null),o=St(!1),l=St(),c=St([{type:"MD5",description:"128位哈希值,快速但安全性较低",value:"",format:"Hex",length:32},{type:"SHA-1",description:"160位哈希值,已不推荐用于安全用途",value:"",format:"Hex",length:40},{type:"SHA-256",description:"256位哈希值,目前广泛使用的安全算法",value:"",format:"Hex",length:64},{type:"SHA-512",description:"512位哈希值,更高安全性",value:"",format:"Hex",length:128}]),u=St([]),d=St(""),h=St("MD5"),p=St(""),f=St(null),m=[{name:"MD5",length:128,description:"Message Digest Algorithm 5,产生128位哈希值。速度快但已被发现存在碰撞漏洞。",security:"low",securityText:"低",speed:"high",speedText:"快",usage:"文件校验、非安全场景"},{name:"SHA-1",length:160,description:"Secure Hash Algorithm 1,产生160位哈希值。已被发现安全漏洞,不推荐用于新项目。",security:"medium",securityText:"中",speed:"high",speedText:"快",usage:"兼容性需求、Git版本控制"},{name:"SHA-256",length:256,description:"SHA-2系列算法,产生256位哈希值。目前广泛使用的安全哈希算法。",security:"high",securityText:"高",speed:"medium",speedText:"中",usage:"数字签名、区块链、SSL证书"},{name:"SHA-512",length:512,description:"SHA-2系列算法,产生512位哈希值。提供更高的安全性,适用于高安全要求场景。",security:"very-high",securityText:"很高",speed:"medium",speedText:"中",usage:"高安全要求、长期存储"}],g=async(e,t)=>{const a=(new TextEncoder).encode(e);try{if("MD5"===t)return(e=>{const t=(e,t)=>e<>>32-t,a=(e,t)=>{const a=1073741824&e,n=1073741824&t,r=2147483648&e,s=2147483648&t,i=(1073741823&e)+(1073741823&t);return a&n?2147483648^i^r^s:a|n?1073741824&i?3221225472^i^r^s:1073741824^i^r^s:i^r^s},n=(e,n,r,s,i,o,l)=>(e=a(e,a(a(((e,t,a)=>e&t|~e&a)(n,r,s),i),l)),a(t(e,o),n)),r=(e,n,r,s,i,o,l)=>(e=a(e,a(a(((e,t,a)=>e&a|t&~a)(n,r,s),i),l)),a(t(e,o),n)),s=(e,n,r,s,i,o,l)=>(e=a(e,a(a(((e,t,a)=>e^t^a)(n,r,s),i),l)),a(t(e,o),n)),i=(e,n,r,s,i,o,l)=>(e=a(e,a(a(((e,t,a)=>t^(e|~a))(n,r,s),i),l)),a(t(e,o),n)),o=e=>{let t="";for(let a=0;a<=3;a++)t+=("0"+(e>>>8*a&255).toString(16)).slice(-2);return t},l=(e=>{const t=[],a=e.length,n=16*((a+8-(a+8)%64)/64+1);for(let i=0;i>>29,t})(e);let c=1732584193,u=4023233417,d=2562383102,h=271733878;for(let p=0;pe.toString(16).padStart(2,"0")).join("")}catch(n){return console.error("Hash generation error:",n),""}},y=async()=>{if(r.value.trim())for(const t of c.value)try{let e=await g(r.value,t.type);t.value=s.value?e.toUpperCase():e.toLowerCase()}catch(e){t.value="生成失败"}else c.value.forEach(e=>{e.value=""})},v=async()=>{s.value=!s.value,await y(),a("已切换为"+(s.value?"大写":"小写"))},b=async()=>{try{const e=await navigator.clipboard.readText();r.value=e,await y(),a("已粘贴文本")}catch(e){n("粘贴失败")}},w=()=>{r.value="",c.value.forEach(e=>{e.value=""}),a("已清空输入")},x=async e=>{if(e.value)try{await navigator.clipboard.writeText(e.value),a(`${e.type} 哈希值已复制`)}catch(t){n("复制失败")}else n("没有可复制的哈希值")},k=()=>{r.value="",i.value=null,u.value=[],d.value="",p.value="",f.value=null,c.value.forEach(e=>{e.value=""}),l.value&&(l.value.value=""),a("已清空所有内容")},_=e=>{const t=e.target,r=t.files?.[0];if(r){if(r.size>104857600)return void n("文件大小不能超过100MB");i.value=r,u.value=[],a("文件已选择")}},E=e=>{e.preventDefault();const t=e.dataTransfer?.files[0];if(t){if(t.size>104857600)return void n("文件大小不能超过100MB");i.value=t,u.value=[],a("文件已选择")}},C=()=>{i.value=null,u.value=[],l.value&&(l.value.value=""),a("文件已移除")},F=async()=>{if(i.value){o.value=!0,u.value=[];try{const t=await D(i.value),n=["MD5","SHA-1","SHA-256","SHA-512"];for(const a of n)try{let e=await g(t,a);u.value.push({type:a,value:s.value?e.toUpperCase():e.toLowerCase()})}catch(e){u.value.push({type:a,value:"生成失败"})}a("文件哈希生成完成")}catch(e){n("文件哈希生成失败")}finally{o.value=!1}}},D=e=>new Promise((t,a)=>{const n=new FileReader;n.onload=e=>t(e.target?.result),n.onerror=a,n.readAsText(e)}),A=()=>{if(0===u.value.length)return;const e=[`文件: ${i.value?.name}`,`大小: ${I(i.value?.size||0)}`,`生成时间: ${(new Date).toLocaleString()}`,"",...u.value.map(e=>`${e.type}: ${e.value}`)].join("\n"),t=new Blob([e],{type:"text/plain"}),n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download=`${i.value?.name||"file"}-hashes.txt`,r.click(),URL.revokeObjectURL(n),a("哈希结果已导出")},T=async()=>{if(d.value.trim())try{let e=await g(d.value,h.value);e=s.value?e.toUpperCase():e.toLowerCase(),S(e)}catch(e){f.value=null}else f.value=null},S=e=>{if(!e&&d.value.trim())return void T();if(!e||!p.value.trim())return void(f.value=null);const t=e.toLowerCase(),a=p.value.toLowerCase().trim();f.value={match:t===a,computed:t,expected:a}},I=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]};return(e,a)=>{return Cr(),Tr("div",AS,[Or(hl,{title:Pt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:k})]),_:1},8,["title"]),Mr("div",TS,[Mr("div",SS,[a[14]||(a[14]=Mr("div",{class:"section-header"},[Mr("h3",null,"文本哈希生成"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对文本生成多种哈希值")])],-1)),Mr("div",IS,[Mr("div",PS,[Mr("div",NS,[a[11]||(a[11]=Mr("label",null,"输入文本",-1)),Mr("div",BS,[Mr("button",{class:"action-btn-small",onClick:v,title:s.value?"切换为小写":"切换为大写"},[Mr("span",OS,se(s.value?"Aa":"AA"),1)],8,MS),Mr("button",{class:"action-btn-small",onClick:b,title:"粘贴"},[...a[9]||(a[9]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:w,title:"清空"},[...a[10]||(a[10]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[1]||(a[1]=e=>r.value=e),placeholder:"请输入要生成哈希的文本...",class:"text-input",onInput:y},null,544),[[bi,r.value]]),Mr("div",US,[Mr("span",jS,"字符数: "+se(r.value.length),1),Mr("span",LS,"字节数: "+se((n=r.value,new Blob([n]).size)),1)])]),Mr("div",RS,[a[13]||(a[13]=Mr("div",{class:"results-title"},[Mr("h4",null,"哈希结果"),Mr("div",{class:"results-divider"})],-1)),Mr("div",zS,[(Cr(!0),Tr(br,null,yn(c.value,e=>(Cr(),Tr("div",{key:e.type,class:"hash-result-item"},[Mr("div",HS,[Mr("div",YS,[Mr("span",$S,se(e.type),1),Mr("span",GS,se(e.description),1)]),Mr("div",WS,[Mr("button",{class:"copy-hash-btn",onClick:t=>x(e),title:"复制"},[...a[12]||(a[12]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,VS)])]),Mr("div",KS,se(e.value||"请输入文本"),1),Mr("div",JS,[Mr("span",qS,"长度: "+se(e.value?.length||0),1),Mr("span",ZS,"格式: "+se(e.format),1)])]))),128))])])])]),Mr("div",XS,[a[22]||(a[22]=Mr("div",{class:"section-header"},[Mr("h3",null,"文件哈希生成"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对文件生成哈希值,用于完整性验证")])],-1)),Mr("div",QS,[Mr("div",{class:"file-upload-area",onDrop:E,onDragover:a[3]||(a[3]=Ii(()=>{},["prevent"])),onDragenter:a[4]||(a[4]=Ii(()=>{},["prevent"]))},[Mr("input",{ref_key:"fileInput",ref:l,type:"file",onChange:_,class:"file-input",accept:"*/*"},null,544),Mr("div",{class:"upload-content",onClick:a[2]||(a[2]=e=>l.value?.click())},[...a[15]||(a[15]=[Lr('

点击选择文件或拖拽文件到此处

支持所有文件类型,最大100MB

',3)])])],32),i.value?(Cr(),Tr("div",eI,[Mr("div",tI,[a[17]||(a[17]=Mr("div",{class:"file-icon"},[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})])],-1)),Mr("div",aI,[Mr("div",nI,se(i.value.name),1),Mr("div",rI,se(I(i.value.size)),1),Mr("div",sI,se(i.value.type||"未知类型"),1)]),Mr("button",{class:"remove-file-btn",onClick:C},[...a[16]||(a[16]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),Mr("div",iI,[Mr("button",{class:"file-action-btn",onClick:F,disabled:o.value},[a[18]||(a[18]=Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1)),jr(" "+se(o.value?"生成中...":"生成哈希"),1)],8,oI)]),u.value.length>0?(Cr(),Tr("div",lI,[Mr("div",{class:"results-header"},[a[20]||(a[20]=Mr("h4",null,"文件哈希结果",-1)),Mr("button",{class:"export-results-btn",onClick:A,title:"导出结果"},[...a[19]||(a[19]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])]),Mr("div",cI,[(Cr(!0),Tr(br,null,yn(u.value,e=>(Cr(),Tr("div",{key:e.type,class:"file-hash-item"},[Mr("div",uI,[Mr("span",dI,se(e.type),1),Mr("button",{class:"copy-file-hash-btn",onClick:t=>x(e),title:"复制"},[...a[21]||(a[21]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,hI)]),Mr("div",pI,se(e.value),1)]))),128))])])):Rr("",!0)])):Rr("",!0)])]),Mr("div",fI,[a[32]||(a[32]=Mr("div",{class:"section-header"},[Mr("h3",null,"哈希验证"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"验证文本或文件的哈希值是否匹配")])],-1)),Mr("div",mI,[Mr("div",gI,[Mr("div",yI,[a[23]||(a[23]=Mr("label",null,"原始文本",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[5]||(a[5]=e=>d.value=e),placeholder:"请输入要验证的原始文本...",class:"verify-input",onInput:T},null,544),[[bi,d.value]])]),Mr("div",vI,[a[25]||(a[25]=Mr("label",null,"哈希类型",-1)),ca(Mr("select",{"onUpdate:modelValue":a[6]||(a[6]=e=>h.value=e),onChange:T,class:"hash-type-select"},[...a[24]||(a[24]=[Mr("option",{value:"MD5"},"MD5",-1),Mr("option",{value:"SHA-1"},"SHA-1",-1),Mr("option",{value:"SHA-256"},"SHA-256",-1),Mr("option",{value:"SHA-512"},"SHA-512",-1)])],544),[[_i,h.value]])]),Mr("div",bI,[a[26]||(a[26]=Mr("label",null,"期望哈希值",-1)),ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>p.value=e),type:"text",placeholder:"请输入期望的哈希值...",class:"expected-hash-input",onInput:a[8]||(a[8]=()=>S())},null,544),[[bi,p.value]])])]),f.value?(Cr(),Tr("div",wI,[Mr("div",xI,[a[29]||(a[29]=Mr("h4",null,"验证结果",-1)),Mr("div",{class:Q(["verify-status",f.value.match?"match":"mismatch"])},[f.value.match?(Cr(),Tr("svg",kI,[...a[27]||(a[27]=[Mr("polyline",{points:"20,6 9,17 4,12"},null,-1)])])):(Cr(),Tr("svg",_I,[...a[28]||(a[28]=[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)])])),jr(" "+se(f.value.match?"匹配":"不匹配"),1)],2)]),Mr("div",EI,[Mr("div",CI,[a[30]||(a[30]=Mr("span",{class:"verify-label"},"计算得到:",-1)),Mr("span",FI,se(f.value.computed),1)]),Mr("div",DI,[a[31]||(a[31]=Mr("span",{class:"verify-label"},"期望值:",-1)),Mr("span",AI,se(f.value.expected),1)])])])):Rr("",!0)])]),Mr("div",TI,[a[38]||(a[38]=Mr("div",{class:"section-header"},[Mr("h3",null,"哈希算法说明"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"了解不同哈希算法的特点和用途")])],-1)),Mr("div",SI,[Mr("div",II,[(Cr(),Tr(br,null,yn(m,e=>Mr("div",{key:e.name,class:"algorithm-card"},[Mr("div",PI,[Mr("h4",null,se(e.name),1),Mr("span",NI,se(e.length)+"位",1)]),Mr("div",BI,se(e.description),1),Mr("div",MI,[Mr("div",OI,[a[34]||(a[34]=Mr("span",{class:"feature-label"},"安全性:",-1)),Mr("div",{class:Q(["security-level",e.security])},[a[33]||(a[33]=Mr("div",{class:"security-bar"},null,-1)),Mr("span",null,se(e.securityText),1)],2)]),Mr("div",UI,[a[36]||(a[36]=Mr("span",{class:"feature-label"},"速度:",-1)),Mr("div",{class:Q(["speed-level",e.speed])},[a[35]||(a[35]=Mr("div",{class:"speed-bar"},null,-1)),Mr("span",null,se(e.speedText),1)],2)]),Mr("div",jI,[a[37]||(a[37]=Mr("span",{class:"feature-label"},"用途:",-1)),Mr("span",LI,se(e.usage),1)])])])),64))])])])])]);var n}}}),zI=Wi(RI,[["__scopeId","data-v-87e684ca"]]),HI={class:"password-generator"},YI={class:"generator-content"},$I={class:"generator-section"},GI={class:"password-settings"},WI={class:"settings-grid"},VI={class:"setting-group"},KI={class:"length-controls"},JI={class:"setting-group"},qI={class:"character-options"},ZI={class:"checkbox-label"},XI={class:"checkbox-label"},QI={class:"checkbox-label"},eP={class:"checkbox-label"},tP={class:"checkbox-label"},aP={class:"checkbox-label"},nP={class:"quick-presets"},rP={class:"preset-buttons"},sP={class:"generator-section"},iP={class:"section-header"},oP={class:"section-info"},lP={class:"strength-indicator"},cP={class:"strength-text"},uP={class:"password-result"},dP={class:"password-display"},hP={class:"password-actions"},pP=["title"],fP={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},mP={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},gP={class:"password-info"},yP={class:"info-item"},vP={class:"info-value"},bP={class:"info-item"},wP={class:"info-value"},xP={class:"info-item"},kP={class:"info-value"},_P={class:"generator-section"},EP={class:"batch-generator"},CP={class:"batch-controls"},FP={class:"batch-input-group"},DP=["disabled"],AP={key:0,class:"batch-results"},TP={class:"batch-header"},SP={class:"batch-password-list"},IP={class:"batch-password-index"},PP=["onClick"],NP={class:"batch-actions"},BP={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},MP={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},OP=Wi(Ya({__name:"PasswordGenerator",emits:["back"],setup(e){il("password-generator");const{success:t,error:a}=Vo(),n=is(()=>{for(const e of Object.values(Qi.cards)){const t=e.find(e=>"password-generator"===e.id);if(t)return t.title}return"密码生成器"}),r=St(16),s=St(!0),i=St(!0),o=St(!0),l=St(!0),c=St(!1),u=St(!1),d=St(""),h=St(!0),p=St(10),f=St([]),m=St(!0),g={uppercase:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",lowercase:"abcdefghijklmnopqrstuvwxyz",numbers:"0123456789",symbols:"!@#$%^&*()_+-=[]{}|;:,.<>?",similar:"0oO1lI2Z5S8B",ambiguous:"{}[]()/~,;.<>"},y=is(()=>{let e="";return s.value&&(e+=g.uppercase),i.value&&(e+=g.lowercase),o.value&&(e+=g.numbers),l.value&&(e+=g.symbols),c.value&&(e=e.split("").filter(e=>!g.similar.includes(e)).join("")),u.value&&(e=e.split("").filter(e=>!g.ambiguous.includes(e)).join("")),e}),v=is(()=>{const e=y.value.length;return r.value*Math.log2(e)}),b=is(()=>{const e=v.value;return e<30?{level:"very-weak",text:"非常弱",percentage:20}:e<50?{level:"weak",text:"弱",percentage:40}:e<70?{level:"medium",text:"中等",percentage:60}:e<90?{level:"strong",text:"强",percentage:80}:{level:"very-strong",text:"非常强",percentage:100}}),w=is(()=>{const e=v.value,t=Math.pow(2,e)/2/1e9;return t<1?"瞬间":t<60?`${Math.round(t)} 秒`:t<3600?`${Math.round(t/60)} 分钟`:t<86400?`${Math.round(t/3600)} 小时`:t<31536e3?`${Math.round(t/86400)} 天`:t<31536e6?`${Math.round(t/31536e3)} 年`:"数千年"}),x=(e=!1)=>{const n=y.value;if(0===n.length)return void a("请至少选择一种字符类型");let c="";const u=[];s.value&&u.push(k(g.uppercase)),i.value&&u.push(k(g.lowercase)),o.value&&u.push(k(g.numbers)),l.value&&u.push(k(g.symbols));for(const t of u)c.lengthe[Math.floor(Math.random()*e.length)]||"",_=e=>{const t=e.split("");for(let a=t.length-1;a>0;a--){const e=Math.floor(Math.random()*(a+1)),n=t[a]||"";t[a]=t[e]||"",t[e]=n}return t.join("")},E=e=>{switch(e){case"simple":r.value=12,s.value=!0,i.value=!0,o.value=!0,l.value=!1,c.value=!0,u.value=!1;break;case"standard":r.value=16,s.value=!0,i.value=!0,o.value=!0,l.value=!0,c.value=!1,u.value=!0;break;case"secure":r.value=24,s.value=!0,i.value=!0,o.value=!0,l.value=!0,c.value=!1,u.value=!1;break;case"pin":r.value=6,s.value=!1,i.value=!1,o.value=!0,l.value=!1,c.value=!1,u.value=!1}x();t(`已应用${{simple:"简单",standard:"标准",secure:"安全",pin:"PIN码"}[e]}预设`)},C=()=>{h.value=!h.value},F=async()=>{if(d.value)try{await navigator.clipboard.writeText(d.value),t("密码已复制到剪贴板")}catch(e){a("复制失败")}else a("没有可复制的密码")},D=()=>{if(p.value<1||p.value>100)return void a("生成数量必须在1-100之间");const e=y.value;if(0!==e.length){f.value=[];for(let t=0;t{m.value=!m.value},T=async()=>{if(0===f.value.length)return;const e=f.value.join("\n");try{await navigator.clipboard.writeText(e),t("所有密码已复制")}catch(n){a("复制失败")}},S=()=>{f.value=[],t("已清空批量密码")},I=()=>{if(0===f.value.length)return;const e=["密码生成报告",`生成时间: ${(new Date).toLocaleString()}`,`密码长度: ${r.value}`,`字符类型: ${[s.value&&"大写字母",i.value&&"小写字母",o.value&&"数字",l.value&&"特殊符号"].filter(Boolean).join(", ")}`,`生成数量: ${f.value.length}`,"","生成的密码:",...f.value.map((e,t)=>`${t+1}. ${e}`)].join("\n"),a=new Blob([e],{type:"text/plain"}),n=URL.createObjectURL(a),c=document.createElement("a");c.href=n,c.download=`passwords-${Date.now()}.txt`,c.click(),URL.revokeObjectURL(n),t("密码已导出")},P=()=>{d.value="",f.value=[],t("已清空所有内容")};return nn(()=>{x()}),(e,g)=>(Cr(),Tr("div",HI,[Or(hl,{title:n.value,onBack:g[0]||(g[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:P})]),_:1},8,["title"]),Mr("div",YI,[Mr("div",$I,[g[28]||(g[28]=Mr("div",{class:"section-header"},[Mr("h3",null,"密码生成设置"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"自定义密码长度和字符类型")])],-1)),Mr("div",GI,[Mr("div",WI,[Mr("div",VI,[g[15]||(g[15]=Mr("label",{class:"setting-label"},"密码长度",-1)),Mr("div",KI,[ca(Mr("input",{"onUpdate:modelValue":g[1]||(g[1]=e=>r.value=e),type:"range",min:"4",max:"128",class:"length-slider",onInput:x},null,544),[[bi,r.value,void 0,{number:!0}]]),ca(Mr("input",{"onUpdate:modelValue":g[2]||(g[2]=e=>r.value=e),type:"number",min:"4",max:"128",class:"length-input",onInput:x},null,544),[[bi,r.value,void 0,{number:!0}]])])]),Mr("div",JI,[g[22]||(g[22]=Mr("label",{class:"setting-label"},"字符类型",-1)),Mr("div",qI,[Mr("label",ZI,[ca(Mr("input",{"onUpdate:modelValue":g[3]||(g[3]=e=>s.value=e),type:"checkbox",onChange:x},null,544),[[wi,s.value]]),g[16]||(g[16]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"大写字母 (A-Z)"),Mr("span",{class:"character-preview"},"ABCDEFGHIJKLMNOPQRSTUVWXYZ")],-1))]),Mr("label",XI,[ca(Mr("input",{"onUpdate:modelValue":g[4]||(g[4]=e=>i.value=e),type:"checkbox",onChange:x},null,544),[[wi,i.value]]),g[17]||(g[17]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"小写字母 (a-z)"),Mr("span",{class:"character-preview"},"abcdefghijklmnopqrstuvwxyz")],-1))]),Mr("label",QI,[ca(Mr("input",{"onUpdate:modelValue":g[5]||(g[5]=e=>o.value=e),type:"checkbox",onChange:x},null,544),[[wi,o.value]]),g[18]||(g[18]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"数字 (0-9)"),Mr("span",{class:"character-preview"},"0123456789")],-1))]),Mr("label",eP,[ca(Mr("input",{"onUpdate:modelValue":g[6]||(g[6]=e=>l.value=e),type:"checkbox",onChange:x},null,544),[[wi,l.value]]),g[19]||(g[19]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"特殊符号"),Mr("span",{class:"character-preview"},"!@#$%^&*()_+-=[]{}|;:,.<>?")],-1))]),Mr("label",tP,[ca(Mr("input",{"onUpdate:modelValue":g[7]||(g[7]=e=>c.value=e),type:"checkbox",onChange:x},null,544),[[wi,c.value]]),g[20]||(g[20]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"排除相似字符"),Mr("span",{class:"character-preview"},"排除: 0oO, 1lI, 2Z, 5S, 8B")],-1))]),Mr("label",aP,[ca(Mr("input",{"onUpdate:modelValue":g[8]||(g[8]=e=>u.value=e),type:"checkbox",onChange:x},null,544),[[wi,u.value]]),g[21]||(g[21]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"排除易混淆符号"),Mr("span",{class:"character-preview"},"排除: {}[]()\\/~,;.<>")],-1))])])])]),Mr("div",nP,[g[27]||(g[27]=Mr("h4",null,"快速预设",-1)),Mr("div",rP,[Mr("button",{class:"preset-btn",onClick:g[9]||(g[9]=e=>E("simple"))},[...g[23]||(g[23]=[Mr("span",{class:"preset-name"},"简单",-1),Mr("span",{class:"preset-desc"},"字母+数字",-1)])]),Mr("button",{class:"preset-btn",onClick:g[10]||(g[10]=e=>E("standard"))},[...g[24]||(g[24]=[Mr("span",{class:"preset-name"},"标准",-1),Mr("span",{class:"preset-desc"},"字母+数字+符号",-1)])]),Mr("button",{class:"preset-btn",onClick:g[11]||(g[11]=e=>E("secure"))},[...g[25]||(g[25]=[Mr("span",{class:"preset-name"},"安全",-1),Mr("span",{class:"preset-desc"},"全字符+长度",-1)])]),Mr("button",{class:"preset-btn",onClick:g[12]||(g[12]=e=>E("pin"))},[...g[26]||(g[26]=[Mr("span",{class:"preset-name"},"PIN码",-1),Mr("span",{class:"preset-desc"},"纯数字",-1)])])])])])]),Mr("div",sP,[Mr("div",iP,[g[29]||(g[29]=Mr("h3",null,"生成的密码",-1)),Mr("div",oP,[Mr("div",{class:Q(["password-strength",b.value.level])},[Mr("div",lP,[Mr("div",{class:"strength-bar",style:K({width:b.value.percentage+"%"})},null,4)]),Mr("span",cP,se(b.value.text),1)],2)])]),Mr("div",uP,[Mr("div",dP,[Mr("div",{class:Q(["password-value",{"password-hidden":h.value}])},se(h.value?"•".repeat(d.value.length):d.value),3),Mr("div",hP,[Mr("button",{class:"password-action-btn",onClick:C,title:h.value?"显示密码":"隐藏密码"},[h.value?(Cr(),Tr("svg",fP,[...g[30]||(g[30]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])])):(Cr(),Tr("svg",mP,[...g[31]||(g[31]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])]))],8,pP),Mr("button",{class:"password-action-btn",onClick:F,title:"复制密码"},[...g[32]||(g[32]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"password-action-btn",onClick:g[13]||(g[13]=e=>x(!0)),title:"重新生成"},[...g[33]||(g[33]=[Lr('',1)])])])]),Mr("div",gP,[Mr("div",yP,[g[34]||(g[34]=Mr("span",{class:"info-label"},"长度:",-1)),Mr("span",vP,se(d.value.length)+" 字符",1)]),Mr("div",bP,[g[35]||(g[35]=Mr("span",{class:"info-label"},"熵值:",-1)),Mr("span",wP,se(v.value.toFixed(1))+" 位",1)]),Mr("div",xP,[g[36]||(g[36]=Mr("span",{class:"info-label"},"破解时间:",-1)),Mr("span",kP,se(w.value),1)])])])]),Mr("div",_P,[g[45]||(g[45]=Mr("div",{class:"section-header"},[Mr("h3",null,"批量生成"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"一次生成多个密码")])],-1)),Mr("div",EP,[Mr("div",CP,[Mr("div",FP,[g[37]||(g[37]=Mr("label",null,"生成数量",-1)),ca(Mr("input",{"onUpdate:modelValue":g[14]||(g[14]=e=>p.value=e),type:"number",min:"1",max:"100",class:"batch-count-input"},null,512),[[bi,p.value,void 0,{number:!0}]])]),Mr("button",{class:"batch-generate-btn",onClick:D},[...g[38]||(g[38]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1),jr(" 批量生成 ",-1)])]),Mr("button",{class:"batch-export-btn",onClick:I,disabled:0===f.value.length},[...g[39]||(g[39]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1),jr(" 导出 ",-1)])],8,DP)]),f.value.length>0?(Cr(),Tr("div",AP,[Mr("div",TP,[Mr("h4",null,"生成的密码 ("+se(f.value.length)+")",1),Mr("button",{class:"clear-batch-btn",onClick:S},[...g[40]||(g[40]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1),jr(" 清空 ",-1)])])]),Mr("div",SP,[(Cr(!0),Tr(br,null,yn(f.value,(e,n)=>(Cr(),Tr("div",{key:n,class:"batch-password-item"},[Mr("span",IP,se(n+1)+".",1),Mr("span",{class:Q(["batch-password-value",{"password-hidden":m.value}])},se(m.value?"•".repeat(e.length):e),3),Mr("button",{class:"copy-batch-password-btn",onClick:n=>(async e=>{try{await navigator.clipboard.writeText(e),t("密码已复制")}catch(n){a("复制失败")}})(e),title:"复制"},[...g[41]||(g[41]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,PP)]))),128))]),Mr("div",NP,[Mr("button",{class:"toggle-batch-visibility-btn",onClick:A},[m.value?(Cr(),Tr("svg",BP,[...g[42]||(g[42]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])])):(Cr(),Tr("svg",MP,[...g[43]||(g[43]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])])),jr(" "+se(m.value?"显示所有":"隐藏所有"),1)]),Mr("button",{class:"copy-all-btn",onClick:T},[...g[44]||(g[44]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1),jr(" 复制所有 ",-1)])])])])):Rr("",!0)])]),g[46]||(g[46]=Lr('

密码安全提示

🔒

长度很重要

密码长度至少12位,越长越安全。每增加一位字符,破解难度呈指数级增长。

🎲

使用多种字符

结合大小写字母、数字和特殊符号,增加密码的复杂性和不可预测性。

🚫

避免个人信息

不要使用生日、姓名、电话号码等个人信息作为密码的一部分。

🔄

定期更换

重要账户的密码应定期更换,特别是在发生安全事件后。

📱

使用密码管理器

使用专业的密码管理器来生成、存储和管理所有密码。

🔐

启用双因素认证

在支持的服务上启用2FA,为账户安全增加额外保护层。

',1))])]))}}),[["__scopeId","data-v-4e7bfff2"]]),UP={class:"rsa-generator"},jP={class:"generator-content"},LP={class:"generator-section"},RP={class:"key-config"},zP={class:"config-row"},HP={class:"config-group"},YP={class:"config-group"},$P={class:"config-group"},GP={class:"config-row"},WP={class:"config-group"},VP={class:"password-label"},KP=["disabled"],JP=["disabled"],qP={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},ZP={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},XP={class:"config-group"},QP={key:0,class:"password-strength"},eN={class:"strength-bar"},tN={key:1,class:"password-strength disabled"},aN={class:"generate-actions"},nN=["disabled"],rN=["disabled"],sN={key:0,class:"generator-section"},iN={class:"section-header"},oN={class:"section-info"},lN={class:"info-text"},cN={class:"key-results"},uN={class:"key-result-container"},dN={class:"key-result-item"},hN={class:"key-header"},pN={class:"key-actions"},fN={class:"key-value"},mN={class:"key-meta"},gN={class:"key-length"},yN={class:"key-format"},vN={class:"key-result-item"},bN={class:"key-header"},wN={class:"key-info"},xN={class:"key-type-container"},kN={key:0,class:"password-protected-badge"},_N={class:"key-description"},EN={class:"key-actions"},CN={class:"key-meta"},FN={class:"key-length"},DN={class:"key-format"},AN={class:"generator-section"},TN={class:"key-verify-container"},SN={class:"verify-form"},IN={class:"verify-input-group"},PN={class:"verify-input-group"},NN={key:0,class:"verify-result"},BN={class:"verify-result-header"},MN={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},ON={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},UN={class:"verify-details"},jN={class:"verify-detail-item"},LN={class:"verify-detail-item"},RN={class:"verify-detail-item"},zN={key:0,class:"verify-detail-item"},HN={class:"verify-value"},YN={class:"generator-section"},$N={class:"algorithm-info"},GN={class:"algorithm-grid"},WN={class:"algorithm-header"},VN={class:"algorithm-icon"},KN={class:"algorithm-description"},JN={class:"algorithm-features"},qN={class:"feature-text"},ZN=Wi(Ya({__name:"RsaKeyGenerator",emits:["back"],setup(e){il("rsa-key-generator");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("rsa-key-generator"),{success:a,error:n}=Vo(),r=St("2048"),s=St("pem"),i=St("both"),o=St(!1),l=St(!1),c=St(!1),u=St(""),d=St(!1),h=St(null),p=St(""),f=St(""),m=St(null),g=[{title:"密钥长度",icon:"🔢",description:"不同密钥长度的安全性和性能对比",features:["1024位: 已不安全,不推荐使用","2048位: 目前标准,适合大多数应用","3072位: 高安全性,政府级别","4096位: 最高安全性,但性能较慢"]},{title:"密钥格式",icon:"📄",description:"常见的RSA密钥存储格式",features:["PEM: 最常用的文本格式","PKCS#8: 标准的私钥格式","JWK: JSON Web Key格式","DER: 二进制编码格式"]},{title:"应用场景",icon:"🛡️",description:"RSA加密的主要应用领域",features:["HTTPS/TLS证书","数字签名验证","邮件加密(PGP)","SSH密钥认证"]},{title:"安全建议",icon:"⚠️",description:"RSA密钥使用的安全注意事项",features:["私钥必须严格保密","定期更换密钥对","使用强随机数生成器","避免在不安全环境存储"]}],y=is(()=>{const e=u.value;if(!e)return{level:"none",percentage:0,text:"未设置"};let t=0;return e.length>=8&&(t+=25),e.length>=12&&(t+=15),e.length>=16&&(t+=10),/[a-z]/.test(e)&&(t+=15),/[A-Z]/.test(e)&&(t+=15),/\d/.test(e)&&(t+=10),/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(e)&&(t+=10),t<30?{level:"weak",percentage:t,text:"弱"}:t<60?{level:"medium",percentage:t,text:"中等"}:t<80?{level:"strong",percentage:t,text:"强"}:{level:"very-strong",percentage:100,text:"很强"}}),v=async()=>{o.value=!0,l.value=!1;try{const e=await window.crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:parseInt(r.value),publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),t=await window.crypto.subtle.exportKey("jwk"===s.value?"jwk":"spki",e.publicKey),n=await window.crypto.subtle.exportKey("jwk"===s.value?"jwk":"pkcs8",e.privateKey);let o,l;"jwk"===s.value?(o=JSON.stringify(t,null,2),l=JSON.stringify(n,null,2)):(o=w(t,"PUBLIC KEY"),l=w(n,"PRIVATE KEY")),c.value&&u.value&&(l=await A(l,u.value)),h.value={publicKey:o,privateKey:l,keyInfo:{keySize:r.value,format:s.value,usage:i.value,passwordProtected:c.value&&""!==u.value,generated:(new Date).toISOString()}};const d=c.value&&u.value?"RSA密钥对生成成功(私钥已加密保护)":"RSA密钥对生成成功";a(d)}catch(e){console.error("密钥生成失败:",e),await x();const t=c.value&&u.value?"使用模拟密钥对(私钥已加密保护,浏览器不支持Web Crypto API)":"使用模拟密钥对(浏览器不支持Web Crypto API)";a(t)}finally{o.value=!1}},b=async()=>{r.value="2048",s.value="pem",i.value="both",await v()},w=(e,t)=>{const a=btoa(String.fromCharCode(...new Uint8Array(e)));return`-----BEGIN ${t}-----\n${a.match(/.{1,64}/g)?.join("\n")||a}\n-----END ${t}-----`},x=async()=>{let e="-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZndBfQFMtLkIp\nALkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nQIDAQABAoIBAH8K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\n-----END PRIVATE KEY-----";c.value&&u.value&&(e=await A(e,u.value)),h.value={publicKey:"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Z3QX0BTLS5CKQC5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nQIDAQAB\n-----END PUBLIC KEY-----",privateKey:e,keyInfo:{keySize:r.value,format:s.value,usage:i.value,passwordProtected:c.value&&""!==u.value,generated:(new Date).toISOString()}}},k=async e=>{if(!h.value)return;const t="public"===e?h.value.publicKey:h.value.privateKey;try{await navigator.clipboard.writeText(t),a(("public"===e?"公钥":"私钥")+"已复制")}catch(r){n("复制失败")}},_=e=>{if(!h.value)return;const t="public"===e?h.value.publicKey:h.value.privateKey,n=`rsa_${e}_key_${r.value}.${"jwk"===s.value?"json":"pem"}`,i=new Blob([t],{type:"text/plain"}),o=URL.createObjectURL(i),l=document.createElement("a");l.href=o,l.download=n,l.click(),URL.revokeObjectURL(o),a(("public"===e?"公钥":"私钥")+"已下载")},E=()=>{if(!p.value.trim()&&!f.value.trim())return void(m.value=null);const e=C(p.value,"public"),t=C(f.value,"private"),a=e&&t&&F();m.value={valid:e&&t&&a,publicKeyValid:e,privateKeyValid:t,keyPairMatch:a,keyInfo:e||t?{keySize:"2048"}:void 0}},C=(e,t)=>!!e.trim()&&("public"===t?e.includes("BEGIN PUBLIC KEY")&&e.includes("END PUBLIC KEY"):e.includes("BEGIN PRIVATE KEY")&&e.includes("END PRIVATE KEY")||e.includes("BEGIN ENCRYPTED PRIVATE KEY")&&e.includes("END ENCRYPTED PRIVATE KEY")),F=()=>""!==p.value.trim()&&""!==f.value.trim(),D=()=>{d.value=!d.value;const e=document.querySelector(".password-input");e&&(e.type=d.value?"text":"password")},A=async(e,t)=>{try{const a=new TextEncoder,n=a.encode(e),r=a.encode(t),s=new Uint8Array(n.length);for(let e=0;e{h.value=null,p.value="",f.value="",m.value=null,l.value=!1,c.value=!1,u.value="",d.value=!1,a("已清空所有内容")};return(e,a)=>(Cr(),Tr("div",UP,[Or(hl,{title:Pt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:T})]),_:1},8,["title"]),Mr("div",jP,[Mr("div",LP,[a[27]||(a[27]=Mr("div",{class:"section-header"},[Mr("h3",null,"密钥生成配置"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"配置RSA密钥参数")])],-1)),Mr("div",RP,[Mr("div",zP,[Mr("div",HP,[a[14]||(a[14]=Mr("label",null,"密钥长度",-1)),ca(Mr("select",{"onUpdate:modelValue":a[1]||(a[1]=e=>r.value=e),class:"key-size-select"},[...a[13]||(a[13]=[Mr("option",{value:"1024"},"1024位 (不推荐)",-1),Mr("option",{value:"2048"},"2048位 (推荐)",-1),Mr("option",{value:"3072"},"3072位",-1),Mr("option",{value:"4096"},"4096位 (高安全)",-1)])],512),[[_i,r.value]])]),Mr("div",YP,[a[16]||(a[16]=Mr("label",null,"输出格式",-1)),ca(Mr("select",{"onUpdate:modelValue":a[2]||(a[2]=e=>s.value=e),class:"format-select"},[...a[15]||(a[15]=[Mr("option",{value:"pem"},"PEM格式",-1),Mr("option",{value:"pkcs8"},"PKCS#8格式",-1),Mr("option",{value:"jwk"},"JWK格式",-1)])],512),[[_i,s.value]])]),Mr("div",$P,[a[18]||(a[18]=Mr("label",null,"密钥用途",-1)),ca(Mr("select",{"onUpdate:modelValue":a[3]||(a[3]=e=>i.value=e),class:"usage-select"},[...a[17]||(a[17]=[Mr("option",{value:"sign"},"数字签名",-1),Mr("option",{value:"encrypt"},"数据加密",-1),Mr("option",{value:"both"},"签名+加密",-1)])],512),[[_i,i.value]])])]),Mr("div",GP,[Mr("div",WP,[Mr("label",VP,[ca(Mr("input",{type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=e=>c.value=e),class:"password-checkbox"},null,512),[[wi,c.value]]),a[19]||(a[19]=jr(" 私钥密码保护 (可选) ",-1))]),Mr("div",{class:Q(["password-input-container",{disabled:!c.value}])},[ca(Mr("input",{type:"password","onUpdate:modelValue":a[5]||(a[5]=e=>u.value=e),disabled:!c.value,placeholder:"输入私钥保护密码...",class:"password-input"},null,8,KP),[[bi,u.value]]),Mr("button",{type:"button",onClick:D,disabled:!c.value,class:"password-toggle-btn",title:"显示/隐藏密码"},[d.value?(Cr(),Tr("svg",qP,[...a[20]||(a[20]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])])):(Cr(),Tr("svg",ZP,[...a[21]||(a[21]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])]))],8,JP)],2),a[22]||(a[22]=Mr("div",{class:"password-hint"},[Mr("span",{class:"hint-text"},"密码用于加密私钥,增强安全性")],-1))]),Mr("div",XP,[a[24]||(a[24]=Mr("label",null,"密码强度",-1)),c.value&&u.value?(Cr(),Tr("div",QP,[Mr("div",eN,[Mr("div",{class:Q(["strength-fill",y.value.level]),style:K({width:y.value.percentage+"%"})},null,6)]),Mr("span",{class:Q(["strength-text",y.value.level])},se(y.value.text),3)])):(Cr(),Tr("div",tN,[...a[23]||(a[23]=[Mr("div",{class:"strength-bar"},[Mr("div",{class:"strength-fill",style:{width:"0%"}})],-1),Mr("span",{class:"strength-text"},"未设置密码",-1)])]))])]),Mr("div",aN,[Mr("button",{class:"generate-btn",onClick:v,disabled:o.value},[a[25]||(a[25]=Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1)),jr(" "+se(o.value?"生成中...":"生成密钥对"),1)],8,nN),Mr("button",{class:"quick-generate-btn",onClick:b,disabled:o.value},[...a[26]||(a[26]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("polyline",{points:"12,6 12,12 16,14"})],-1),jr(" 快速生成 ",-1)])],8,rN)])])]),h.value?(Cr(),Tr("div",sN,[Mr("div",iN,[a[28]||(a[28]=Mr("h3",null,"生成的密钥对",-1)),Mr("div",oN,[Mr("span",lN,se(r.value)+"位 RSA密钥对",1)])]),Mr("div",cN,[Mr("div",uN,[Mr("div",dN,[Mr("div",hN,[a[31]||(a[31]=Mr("div",{class:"key-info"},[Mr("span",{class:"key-type"},"公钥 (Public Key)"),Mr("span",{class:"key-description"},"用于加密数据和验证签名")],-1)),Mr("div",pN,[Mr("button",{class:"copy-key-btn",onClick:a[6]||(a[6]=e=>k("public")),title:"复制公钥"},[...a[29]||(a[29]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"download-key-btn",onClick:a[7]||(a[7]=e=>_("public")),title:"下载公钥"},[...a[30]||(a[30]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])])]),Mr("div",fN,se(h.value.publicKey),1),Mr("div",mN,[Mr("span",gN,"长度: "+se(h.value.publicKey.length)+" 字符",1),Mr("span",yN,"格式: "+se(s.value.toUpperCase()),1)])]),Mr("div",vN,[Mr("div",bN,[Mr("div",wN,[Mr("div",xN,[a[33]||(a[33]=Mr("span",{class:"key-type"},"私钥 (Private Key)",-1)),h.value.keyInfo.passwordProtected?(Cr(),Tr("span",kN,[...a[32]||(a[32]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),Mr("circle",{cx:"12",cy:"7",r:"4"})],-1),jr(" 密码保护 ",-1)])])):Rr("",!0)]),Mr("span",_N,se(h.value.keyInfo.passwordProtected?"已使用密码加密保护,请妥善保管密码和私钥":"用于解密数据和生成签名,请妥善保管"),1)]),Mr("div",EN,[Mr("button",{class:"copy-key-btn",onClick:a[8]||(a[8]=e=>k("private")),title:"复制私钥"},[...a[34]||(a[34]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"download-key-btn",onClick:a[9]||(a[9]=e=>_("private")),title:"下载私钥"},[...a[35]||(a[35]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])])]),Mr("div",{class:Q(["key-value private-key",{blurred:!l.value}])},[jr(se(h.value.privateKey)+" ",1),l.value?Rr("",!0):(Cr(),Tr("div",{key:0,class:"privacy-overlay",onClick:a[10]||(a[10]=e=>l.value=!0)},[...a[36]||(a[36]=[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),Mr("circle",{cx:"12",cy:"12",r:"3"})],-1),Mr("span",null,"点击显示私钥",-1)])]))],2),Mr("div",CN,[Mr("span",FN,"长度: "+se(h.value.privateKey.length)+" 字符",1),Mr("span",DN,"格式: "+se(s.value.toUpperCase()),1)])])])])])):Rr("",!0),Mr("div",AN,[a[46]||(a[46]=Mr("div",{class:"section-header"},[Mr("h3",null,"密钥验证工具"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"验证RSA密钥的有效性和匹配性")])],-1)),Mr("div",TN,[Mr("div",SN,[Mr("div",IN,[a[37]||(a[37]=Mr("label",null,"公钥",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[11]||(a[11]=e=>p.value=e),placeholder:"请输入要验证的公钥...",class:"verify-input",onInput:E},null,544),[[bi,p.value]])]),Mr("div",PN,[a[38]||(a[38]=Mr("label",null,"私钥",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[12]||(a[12]=e=>f.value=e),placeholder:"请输入要验证的私钥...",class:"verify-input",onInput:E},null,544),[[bi,f.value]])])]),m.value?(Cr(),Tr("div",NN,[Mr("div",BN,[a[41]||(a[41]=Mr("h4",null,"验证结果",-1)),Mr("div",{class:Q(["verify-status",m.value.valid?"valid":"invalid"])},[m.value.valid?(Cr(),Tr("svg",MN,[...a[39]||(a[39]=[Mr("polyline",{points:"20,6 9,17 4,12"},null,-1)])])):(Cr(),Tr("svg",ON,[...a[40]||(a[40]=[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)])])),jr(" "+se(m.value.valid?"密钥有效":"密钥无效"),1)],2)]),Mr("div",UN,[Mr("div",jN,[a[42]||(a[42]=Mr("span",{class:"verify-label"},"公钥状态:",-1)),Mr("span",{class:Q(["verify-value",m.value.publicKeyValid?"valid":"invalid"])},se(m.value.publicKeyValid?"有效":"无效"),3)]),Mr("div",LN,[a[43]||(a[43]=Mr("span",{class:"verify-label"},"私钥状态:",-1)),Mr("span",{class:Q(["verify-value",m.value.privateKeyValid?"valid":"invalid"])},se(m.value.privateKeyValid?"有效":"无效"),3)]),Mr("div",RN,[a[44]||(a[44]=Mr("span",{class:"verify-label"},"密钥匹配:",-1)),Mr("span",{class:Q(["verify-value",m.value.keyPairMatch?"valid":"invalid"])},se(m.value.keyPairMatch?"匹配":"不匹配"),3)]),m.value.keyInfo?(Cr(),Tr("div",zN,[a[45]||(a[45]=Mr("span",{class:"verify-label"},"密钥长度:",-1)),Mr("span",HN,se(m.value.keyInfo.keySize)+"位",1)])):Rr("",!0)])])):Rr("",!0)])]),Mr("div",YN,[a[48]||(a[48]=Mr("div",{class:"section-header"},[Mr("h3",null,"RSA算法说明"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"了解RSA加密算法的特点和应用")])],-1)),Mr("div",$N,[Mr("div",GN,[(Cr(),Tr(br,null,yn(g,e=>Mr("div",{key:e.title,class:"algorithm-card"},[Mr("div",WN,[Mr("h4",null,se(e.title),1),Mr("span",VN,se(e.icon),1)]),Mr("div",KN,se(e.description),1),Mr("div",JN,[(Cr(!0),Tr(br,null,yn(e.features,e=>(Cr(),Tr("div",{key:e,class:"feature-item"},[a[47]||(a[47]=Mr("span",{class:"feature-bullet"},"•",-1)),Mr("span",qN,se(e),1)]))),128))])])),64))])])])])]))}}),[["__scopeId","data-v-7ba029c7"]]);var XN,QN,eB=Object.create,tB=Object.defineProperty,aB=Object.getOwnPropertyDescriptor,nB=Object.getOwnPropertyNames,rB=Object.getPrototypeOf,sB=Object.prototype.hasOwnProperty,iB=(e,t)=>{for(var a in t)tB(e,a,{get:t[a],enumerable:!0})},oB=(XN=(e,t)=>{var a,n,r,s,i,o,l,c,u,d,h,p,f,m,g,y,v,b,w;f=/\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]|[^\/\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy,p=/--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y,a=/(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy,g=/(['"])(?:[^'"\\\n\r]+|(?!\1)['"]|\\(?:\r\n|[^]))*(\1)?/y,h=/(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y,y=/[`}](?:[^`\\$]+|\\[^]|\$(?!\{))*(`|\$\{)?/y,w=/[\t\v\f\ufeff\p{Zs}]+/uy,c=/\r?\n|[\r\u2028\u2029]/y,u=/\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y,m=/\/\/.*/y,r=/[<>.:={}]|\/(?![\/*])/y,n=/[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy,s=/(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y,i=/[^<>{}]+/y,b=/^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/,v=/^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/,o=/^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/,l=/^(?:return|throw|yield)$/,d=RegExp(c.source),t.exports=function*(e,{jsx:t=!1}={}){var x,k,_,E,C,F,D,A,T,S,I,P,N,B;for(({length:F}=e),E=0,C="",B=[{tag:"JS"}],x=[],I=0,P=!1;E":B.pop(),"/"===C||"JSXTagEnd"===A.tag?(S="?JSX",P=!0):B.push({tag:"JSXChildren"});break;case"{":B.push({tag:"InterpolationInJSX",nesting:x.length}),S="?InterpolationInJSX",P=!1;break;case"/":"<"===C&&(B.pop(),"JSXChildren"===B[B.length-1].tag&&B.pop(),B.push({tag:"JSXTagEnd"}))}C=S,yield{type:"JSXPunctuator",value:D[0]};continue}if(n.lastIndex=E,D=n.exec(e)){E=n.lastIndex,C=D[0],yield{type:"JSXIdentifier",value:D[0]};continue}if(s.lastIndex=E,D=s.exec(e)){E=s.lastIndex,C=D[0],yield{type:"JSXString",value:D[0],closed:void 0!==D[2]};continue}break;case"JSXChildren":if(i.lastIndex=E,D=i.exec(e)){E=i.lastIndex,C=D[0],yield{type:"JSXText",value:D[0]};continue}switch(e[E]){case"<":B.push({tag:"JSXTag"}),E++,C="<",yield{type:"JSXPunctuator",value:"<"};continue;case"{":B.push({tag:"InterpolationInJSX",nesting:x.length}),E++,C="?InterpolationInJSX",P=!1,yield{type:"JSXPunctuator",value:"{"};continue}}w.lastIndex=E,(D=w.exec(e))?(E=w.lastIndex,yield{type:"WhiteSpace",value:D[0]}):(c.lastIndex=E,(D=c.exec(e))?(E=c.lastIndex,P=!1,l.test(C)&&(C="?NoLineTerminatorHere"),yield{type:"LineTerminatorSequence",value:D[0]}):(u.lastIndex=E,(D=u.exec(e))?(E=u.lastIndex,d.test(D[0])&&(P=!1,l.test(C)&&(C="?NoLineTerminatorHere")),yield{type:"MultiLineComment",value:D[0],closed:void 0!==D[1]}):(m.lastIndex=E,(D=m.exec(e))?(E=m.lastIndex,P=!1,yield{type:"SingleLineComment",value:D[0]}):(E+=(k=String.fromCodePoint(e.codePointAt(E))).length,C=k,P=!1,yield{type:A.tag.startsWith("JSX")?"JSXInvalid":"Invalid",value:k}))))}}},()=>(QN||XN((QN={exports:{}}).exports,QN),QN.exports));iB({},{__debug:()=>Hj,check:()=>Lj,doc:()=>hj,format:()=>jj,formatWithCursor:()=>Uj,getSupportInfo:()=>zj,util:()=>yj,version:()=>gj});var lB=(e,t)=>(a,n,...r)=>1|a&&null==n?void 0:(t.call(n)??n[e]).apply(n,r),cB=String.prototype.replaceAll??function(e,t){return e.global?this.replace(e,t):this.split(e).join(t)},uB=lB("replaceAll",function(){if("string"==typeof this)return cB}),dB=class{diff(e,t,a={}){let n;"function"==typeof a?(n=a,a={}):"callback"in a&&(n=a.callback);let r=this.castInput(e,a),s=this.castInput(t,a),i=this.removeEmpty(this.tokenize(r,a)),o=this.removeEmpty(this.tokenize(s,a));return this.diffWithOptionsObj(i,o,a,n)}diffWithOptionsObj(e,t,a,n){var r;let s=e=>(e=this.postProcess(e,a),n?void setTimeout(function(){n(e)},0):e),i=t.length,o=e.length,l=1,c=i+o;null!=a.maxEditLength&&(c=Math.min(c,a.maxEditLength));let u=null!==(r=a.timeout)&&void 0!==r?r:1/0,d=Date.now()+u,h=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(h[0],t,e,0,a);if(h[0].oldPos+1>=o&&p+1>=i)return s(this.buildValues(h[0].lastComponent,t,e));let f=-1/0,m=1/0,g=()=>{for(let n=Math.max(f,-l);n<=Math.min(m,l);n+=2){let r,l=h[n-1],c=h[n+1];l&&(h[n-1]=void 0);let u=!1;if(c){let e=c.oldPos-n;u=c&&0<=e&&e=o&&p+1>=i)return s(this.buildValues(r.lastComponent,t,e))||!0;h[n]=r,r.oldPos+1>=o&&(m=Math.min(m,n-1)),p+1>=i&&(f=Math.max(f,n+1))}else h[n]=void 0}l++};if(n)!function e(){setTimeout(function(){if(l>c||Date.now()>d)return n(void 0);g()||e()},0)}();else for(;l<=c&&Date.now()<=d;){let e=g();if(e)return e}}addToPath(e,t,a,n,r){let s=e.lastComponent;return s&&!r.oneChangePerToken&&s.added===t&&s.removed===a?{oldPos:e.oldPos+n,lastComponent:{count:s.count+1,added:t,removed:a,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:a,previousComponent:s}}}extractCommon(e,t,a,n,r){let s=t.length,i=a.length,o=e.oldPos,l=o-n,c=0;for(;l+1e.length?n:e}),e.value=this.join(n)}else e.value=this.join(t.slice(o,o+e.count));o+=e.count,e.added||(l+=e.count)}}return r}},hB=new class extends dB{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};var pB=()=>{},fB="crlf",mB="\n",gB=mB;function yB(e){return"cr"===e?"\r":e===fB?"\r\n":gB}var vB=new Map([[mB,/\n/gu],["\r",/\r/gu],["\r\n",/\r\n/gu]]);function bB(e,t){let a=vB.get(t);return e.match(a)?.length??0}var wB=/\r\n?/gu;function xB(e){return this[e<0?this.length+e:e]}var kB=lB("at",function(){if(Array.isArray(this)||"string"==typeof this)return xB}),_B="string",EB="array",CB="cursor",FB="indent",DB="align",AB="trim",TB="group",SB="fill",IB="if-break",PB="indent-if-break",NB="line-suffix",BB="line-suffix-boundary",MB="line",OB="label",UB="break-parent",jB=new Set([CB,FB,DB,AB,TB,SB,IB,PB,NB,BB,MB,OB,UB]);var LB=function(e){if("string"==typeof e)return _B;if(Array.isArray(e))return EB;if(!e)return;let{type:t}=e;return jB.has(t)?t:void 0};function RB(e){let t=null===e?"null":typeof e;if("string"!==t&&"object"!==t)return`Unexpected doc '${t}', \nExpected it to be 'string' or 'object'.`;if(LB(e))throw new Error("doc is valid.");let a=Object.prototype.toString.call(e);if("[object Object]"!==a)return`Unexpected doc '${a}'.`;let n=(e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e))([...jB].map(e=>`'${e}'`));return`Unexpected doc.type '${e.type}'.\nExpected it to be ${n}.`}var zB=class extends Error{constructor(e){super(RB(e)),o(this,"name","InvalidDocError"),this.doc=e}},HB=zB,YB={};var $B=function(e,t,a,n){let r=[e];for(;r.length>0;){let e=r.pop();if(e===YB){a(r.pop());continue}a&&r.push(e,YB);let s=LB(e);if(!s)throw new HB(e);if(!1!==t?.(e))switch(s){case EB:case SB:{let t=s===EB?e:e.parts;for(let e=t.length-1;e>=0;--e)r.push(t[e]);break}case IB:r.push(e.flatContents,e.breakContents);break;case TB:if(n&&e.expandedStates)for(let t=e.expandedStates.length-1;t>=0;--t)r.push(e.expandedStates[t]);else r.push(e.contents);break;case DB:case FB:case PB:case OB:case NB:r.push(e.contents);break;case _B:case CB:case AB:case BB:case MB:case UB:break;default:throw new HB(e)}}};function GB(e,t){if("string"==typeof e)return t(e);let a=new Map;return n(e);function n(e){if(a.has(e))return a.get(e);let r=function(e){switch(LB(e)){case EB:return t(e.map(n));case SB:return t({...e,parts:e.parts.map(n)});case IB:return t({...e,breakContents:n(e.breakContents),flatContents:n(e.flatContents)});case TB:{let{expandedStates:a,contents:r}=e;return a?(a=a.map(n),r=a[0]):r=n(r),t({...e,contents:r,expandedStates:a})}case DB:case FB:case PB:case OB:case NB:return t({...e,contents:n(e.contents)});case _B:case CB:case AB:case BB:case MB:case UB:return t(e);default:throw new HB(e)}}(e);return a.set(e,r),r}}function WB(e,t,a){let n=a,r=!1;return $B(e,function(e){if(r)return!1;let a=t(e);void 0!==a&&(r=!0,n=a)}),n}function VB(e){if(e.type===TB&&e.break||e.type===MB&&e.hard||e.type===UB)return!0}function KB(e){if(e.length>0){let t=kB(0,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated")}return null}function JB(e){return e.type!==MB||e.hard?e.type===IB?e.flatContents:e:e.soft?"":" "}function qB(e){for(e=[...e];e.length>=2&&kB(0,e,-2).type===MB&&kB(0,e,-1).type===UB;)e.length-=2;if(e.length>0){let t=ZB(kB(0,e,-1));e[e.length-1]=t}return e}function ZB(e){switch(LB(e)){case FB:case PB:case TB:case NB:case OB:{let t=ZB(e.contents);return{...e,contents:t}}case IB:return{...e,breakContents:ZB(e.breakContents),flatContents:ZB(e.flatContents)};case SB:return{...e,parts:qB(e.parts)};case EB:return qB(e);case _B:return function(e){let t=e.length;for(;t>0&&("\r"===e[t-1]||"\n"===e[t-1]);)t--;return tfunction(e){switch(LB(e)){case SB:if(e.parts.every(e=>""===e))return"";break;case TB:if(!(e.contents||e.id||e.break||e.expandedStates))return"";if(e.contents.type===TB&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case DB:case FB:case PB:case NB:if(!e.contents)return"";break;case IB:if(!e.flatContents&&!e.breakContents)return"";break;case EB:{let t=[];for(let a of e){if(!a)continue;let[e,...n]=Array.isArray(a)?a:[a];"string"==typeof e&&"string"==typeof kB(0,t,-1)?t[t.length-1]+=e:t.push(e),t.push(...n)}return 0===t.length?"":1===t.length?t[0]:t}case _B:case CB:case AB:case BB:case MB:case OB:case UB:break;default:throw new HB(e)}return e}(e))}(e))}function QB(e){if(e.type===MB)return!0}function eM(e,t){return e.type===OB?{...e,contents:t(e.contents)}:t(e)}var tM=pB;function aM(e){return{type:FB,contents:e}}function nM(e,t){return{type:DB,contents:t,n:e}}function rM(e){return nM({type:"root"},e)}function sM(e,t,a){let n=e;if(t>0){for(let e=0;e=65281&&e<=65376||e>=65504&&e<=65510}function xM(e){return e>=4352&&e<=4447||8986===e||8987===e||9001===e||9002===e||e>=9193&&e<=9196||9200===e||9203===e||9725===e||9726===e||9748===e||9749===e||e>=9776&&e<=9783||e>=9800&&e<=9811||9855===e||e>=9866&&e<=9871||9875===e||9889===e||9898===e||9899===e||9917===e||9918===e||9924===e||9925===e||9934===e||9940===e||9962===e||9970===e||9971===e||9973===e||9978===e||9981===e||9989===e||9994===e||9995===e||10024===e||10060===e||10062===e||e>=10067&&e<=10069||10071===e||e>=10133&&e<=10135||10160===e||10175===e||11035===e||11036===e||11088===e||11093===e||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||110589===e||110590===e||e>=110592&&e<=110882||110898===e||e>=110928&&e<=110930||110933===e||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||126980===e||127183===e||127374===e||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||127568===e||127569===e||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||127988===e||e>=127992&&e<=128062||128064===e||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||128378===e||128405===e||128406===e||128420===e||e>=128507&&e<=128591||e>=128640&&e<=128709||128716===e||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||128747===e||128748===e||e>=128756&&e<=128764||e>=128992&&e<=129003||129008===e||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||129736===e||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var kM=/[^\x20-\x7F]/u,_M=new Set("©®‼⁉™ℹ↔↕↖↗↘↙↩↪⌨⏏⏱⏲⏸⏹⏺▪▫▶◀◻◼☀☁☂☃☄☎☑☘☝☠☢☣☦☪☮☯☸☹☺♀♂♟♠♣♥♦♨♻♾⚒⚔⚕⚖⚗⚙⚛⚜⚠⚧⚰⚱⛈⛏⛑⛓⛩⛱⛷⛸⛹✂✈✉✌✍✏✒✔✖✝✡✳✴❄❇❣❤➡⤴⤵⬅⬆⬇");var EM=function(e){if(!e)return 0;if(!kM.test(e))return e.length;e=e.replace(/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g,e=>_M.has(e)?" ":" ");let t=0;for(let a of e){let e=a.codePointAt(0);e<=31||e>=127&&e<=159||e>=768&&e<=879||e>=65024&&e<=65039||(t+=wM(e)||xM(e)?2:1)}return t},CM={type:0},FM={type:1},DM={value:"",length:0,queue:[],get root(){return DM}};function AM(e,t,a){let n=1===t.type?e.queue.slice(0,-1):[...e.queue,t],r="",s=0,i=0,o=0;for(let p of n)switch(p.type){case 0:u(),a.useTabs?l(1):c(a.tabWidth);break;case 3:{let{string:e}=p;u(),r+=e,s+=e.length;break}case 2:{let{width:e}=p;i+=1,o+=e;break}default:throw new Error(`Unexpected indent comment '${p.type}'.`)}return d(),{...e,value:r,length:s,queue:n};function l(e){r+="\t".repeat(e),s+=a.tabWidth*e}function c(e){r+=" ".repeat(e),s+=e}function u(){a.useTabs?(i>0&&l(i),h()):d()}function d(){o>0&&c(o),h()}function h(){i=0,o=0}}function TM(e,t,a){if(!t)return e;if("root"===t.type)return{...e,root:e};if(t===Number.NEGATIVE_INFINITY)return e.root;let n;return n="number"==typeof t?t<0?FM:{type:2,width:t}:{type:3,string:t},AM(e,n,a)}function SM(e,t){return AM(e,CM,t)}function IM(e){let t=function(e){let t=0;for(let a=e.length-1;a>=0;a--){let n=e[a];if(" "!==n&&"\t"!==n)break;t++}return t}(e);return{text:0===t?e:e.slice(0,e.length-t),count:t}}var PM=Symbol("MODE_BREAK"),NM=Symbol("MODE_FLAT"),BM=Symbol("DOC_FILL_PRINTED_LENGTH");function MM(e,t,a,n,r,s){if(a===Number.POSITIVE_INFINITY)return!0;let i=t.length,o=!1,l=[e],c="";for(;a>=0;){if(0===l.length){if(0===i)return!0;l.push(t[--i]);continue}let{mode:e,doc:u}=l.pop(),d=LB(u);switch(d){case _B:u&&(o&&(c+=" ",a-=1,o=!1),c+=u,a-=EM(u));break;case EB:case SB:{let t=d===EB?u:u.parts,a=u[BM]??0;for(let n=t.length-1;n>=a;n--)l.push({mode:e,doc:t[n]});break}case FB:case DB:case PB:case OB:l.push({mode:e,doc:u.contents});break;case AB:{let{text:e,count:t}=IM(c);c=e,a+=t;break}case TB:{if(s&&u.break)return!1;let t=u.break?PM:e,a=u.expandedStates&&t===PM?kB(0,u.expandedStates,-1):u.contents;l.push({mode:t,doc:a});break}case IB:{let t=(u.groupId?r[u.groupId]||NM:e)===PM?u.breakContents:u.flatContents;t&&l.push({mode:e,doc:t});break}case MB:if(e===PM||u.hard)return!0;u.soft||(o=!0);break;case NB:n=!0;break;case BB:if(n)return!1}}return!1}function OM(e,t){let a=Object.create(null),n=t.printWidth,r=yB(t.endOfLine),s=0,i=[{indent:DM,mode:PM,doc:e}],o="",l=!1,c=[],u=[],d=[],h=[],p=0;for(function(e){let t=new Set,a=[];$B(e,function(e){if(e.type===UB&&KB(a),e.type===TB){if(a.push(e),t.has(e))return!1;t.add(e)}},function(e){e.type===TB&&a.pop().break&&KB(a)},!0)}(e);i.length>0;){let{indent:e,mode:d,doc:h}=i.pop();switch(LB(h)){case _B:{let e="\n"!==r?uB(0,h,"\n",r):h;e&&(o+=e,i.length>0&&(s+=EM(e)));break}case EB:for(let t=h.length-1;t>=0;t--)i.push({indent:e,mode:d,doc:h[t]});break;case CB:if(u.length>=2)throw new Error("There are too many 'cursor' in doc.");u.push(p+o.length);break;case FB:i.push({indent:SM(e,t),mode:d,doc:h.contents});break;case DB:i.push({indent:TM(e,h.n,t),mode:d,doc:h.contents});break;case AB:y();break;case TB:switch(d){case NM:if(!l){i.push({indent:e,mode:h.break?PM:NM,doc:h.contents});break}case PM:{l=!1;let t={indent:e,mode:NM,doc:h.contents},r=n-s,o=c.length>0;if(!h.break&&MM(t,i,r,o,a))i.push(t);else if(h.expandedStates){let t=kB(0,h.expandedStates,-1);if(h.break){i.push({indent:e,mode:PM,doc:t});break}for(let n=1;n=h.expandedStates.length){i.push({indent:e,mode:PM,doc:t});break}{let t=h.expandedStates[n],s={indent:e,mode:NM,doc:t};if(MM(s,i,r,o,a)){i.push(s);break}}}}else i.push({indent:e,mode:PM,doc:h.contents});break}}h.id&&(a[h.id]=kB(0,i,-1).mode);break;case SB:{let t=n-s,r=h[BM]??0,{parts:o}=h,l=o.length-r;if(0===l)break;let u=o[r+0],p=o[r+1],f={indent:e,mode:NM,doc:u},m={indent:e,mode:PM,doc:u},g=MM(f,[],t,c.length>0,a,!0);if(1===l){g?i.push(f):i.push(m);break}let y={indent:e,mode:NM,doc:p},v={indent:e,mode:PM,doc:p};if(2===l){g?i.push(y,f):i.push(v,m);break}let b=o[r+2],w={indent:e,mode:d,doc:{...h,[BM]:r+2}},x=MM({indent:e,mode:NM,doc:[u,p,b]},[],t,c.length>0,a,!0);i.push(w),x?i.push(y,f):g?i.push(v,f):i.push(v,m);break}case IB:case PB:{let t=h.groupId?a[h.groupId]:d;if(t===PM){let t=h.type===IB?h.breakContents:h.negate?h.contents:aM(h.contents);t&&i.push({indent:e,mode:d,doc:t})}if(t===NM){let t=h.type===IB?h.flatContents:h.negate?aM(h.contents):h.contents;t&&i.push({indent:e,mode:d,doc:t})}break}case NB:c.push({indent:e,mode:d,doc:h.contents});break;case BB:c.length>0&&i.push({indent:e,mode:d,doc:hM});break;case MB:switch(d){case NM:if(!h.hard){h.soft||(o+=" ",s+=1);break}l=!0;case PM:if(c.length>0){i.push({indent:e,mode:d,doc:h},...c.reverse()),c.length=0;break}h.literal?(o+=r,s=0,e.root&&(e.root.value&&(o+=e.root.value),s=e.root.length)):(y(),o+=r+e.value,s=e.length)}break;case OB:i.push({indent:e,mode:d,doc:h.contents});break;case UB:break;default:throw new HB(h)}0===i.length&&c.length>0&&(i.push(...c.reverse()),c.length=0)}let f=d.join("")+o,m=[...h,...u];if(2!==m.length)return{formatted:f};let g=m[0];return{formatted:f,cursorNodeStart:g,cursorNodeText:f.slice(g,kB(0,m,-1))};function y(){let{text:e,count:t}=IM(o);e&&(d.push(e),p+=e.length),o="",s-=t,u.length>0&&(h.push(...u.map(e=>Math.min(e,p))),u.length=0)}}var UM=function(e,t,a=0){let n=0;for(let r=a;r1?kB(0,e,-2):null}getValue(){return kB(0,this.stack,-1)}getNode(a=0){let n=l(this,e,t).call(this,a);return-1===n?null:this.stack[n]}getParentNode(e=0){return this.getNode(e+1)}call(e,...t){let{stack:a}=this,{length:n}=a,r=kB(0,a,-1);for(let s of t)r=r?.[s],a.push(s,r);try{return e(this)}finally{a.length=n}}callParent(a,n=0){let r=l(this,e,t).call(this,n+1),s=this.stack.splice(r+1);try{return a(this)}finally{this.stack.push(...s)}}each(e,...t){let{stack:a}=this,{length:n}=a,r=kB(0,a,-1);for(let s of t)r=r[s],a.push(s,r);try{for(let t=0;t{a[n]=e(t,n,r)},...t),a}match(...e){let t=this.stack.length-1,a=null,n=this.stack[t--];for(let r of e){if(void 0===n)return!1;let e=null;if("number"==typeof a&&(e=a,a=this.stack[t--],n=this.stack[t--]),r&&!r(n,a,e))return!1;a=this.stack[t--],n=this.stack[t--]}return!0}findAncestor(t){for(let n of l(this,e,a).call(this))if(t(n))return n}hasAncestor(t){for(let n of l(this,e,a).call(this))if(t(n))return!0;return!1}},e=new WeakSet,t=function(e){let{stack:t}=this;for(let a=t.length-1;a>=0;a-=2)if(!Array.isArray(t[a])&&--e<0)return a;return-1},a=function*(){let{stack:e}=this;for(let t=e.length-3;t>=0;t-=2){let a=e[t];Array.isArray(a)||(yield a)}},n),LM=jM;var RM=function(e){return null!==e&&"object"==typeof e};function zM(e){return(t,a,n)=>{let r=!!n?.backwards;if(!1===a)return!1;let{length:s}=t,i=a;for(;i>=0&&i"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e;var VM=function(e,t,a){let n=!!a?.backwards;if(!1===t)return!1;let r=e.charAt(t);if(n){if("\r"===e.charAt(t-1)&&"\n"===r)return t-2;if(WM(r))return t-1}else{if("\r"===r&&"\n"===e.charAt(t+1))return t+2;if(WM(r))return t+1}return t};var KM=function(e,t,a={}){let n=YM(e,a.backwards?t-1:t,a);return n!==VM(e,n,a)};var JM=function(e){return Array.isArray(e)&&e.length>0};function*qM(e,t){let{getVisitorKeys:a,filter:n=()=>!0}=t,r=e=>RM(e)&&n(e);for(let s of a(e)){let t=e[s];if(Array.isArray(t))for(let e of t)r(e)&&(yield e);else r(t)&&(yield t)}}var ZM=function e(t,a,n){let{cache:r}=n;if(r.has(t))return r.get(t);let{filter:s}=n;if(!s)return[];let i,o=(n.getChildren?.(t,n)??[...qM(t,{getVisitorKeys:n.getVisitorKeys})]).flatMap(r=>(i??(i=[t,...a]),s(r,i)?[r]:e(r,i,n))),{locStart:l,locEnd:c}=n;return o.sort((e,t)=>l(e)-l(t)||c(e)-c(t)),r.set(t,o),o};function XM(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){let t=e.type||e.kind||"(unknown type)",a=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");return a.length>20&&(a=a.slice(0,19)+"…"),t+(a?" "+a:"")}(e)}function QM(e,t){t.leading=!0,t.trailing=!1,XM(e,t)}function eO(e,t,a){t.leading=!1,t.trailing=!1,a&&(t.marker=a),XM(e,t)}function tO(e,t){t.leading=!1,t.trailing=!0,XM(e,t)}var aO=new WeakMap;function nO(e,t,a,n,r=[]){let s,i,{locStart:o,locEnd:l}=a,c=o(t),u=l(t),d=ZM(e,r,{cache:aO,locStart:o,locEnd:l,getVisitorKeys:a.getVisitorKeys,filter:a.printer.canAttachComment,getChildren:a.printer.getCommentChildNodes}),h=0,p=d.length;for(;h>1,n=d[e],f=o(n),m=l(n);if(f<=c&&u<=m)return nO(n,t,a,n,[n,...r]);if(m<=c)s=n,h=e+1;else{if(!(u<=f))throw new Error("Comment location overlaps with node location");i=n,p=e}}if("TemplateLiteral"===n?.type){let{quasis:e}=n,r=cO(e,t,a);s&&cO(e,s,a)!==r&&(s=null),i&&cO(e,i,a)!==r&&(i=null)}return{enclosingNode:n,precedingNode:s,followingNode:i}}var rO=()=>!1;var sO=e=>!/[\S\n\u2028\u2029]/u.test(e);function iO(e,t,a,n){let{comment:r,precedingNode:s}=a[n],{locStart:i,locEnd:o}=t,l=i(r);if(s)for(let c=n-1;c>=0;c--){let{comment:t,precedingNode:n}=a[c];if(n!==s||!sO(e.slice(o(t),l)))break;l=i(t)}return KM(e,l,{backwards:!0})}function oO(e,t,a,n){let{comment:r,followingNode:s}=a[n],{locStart:i,locEnd:o}=t,l=o(r);if(s)for(let c=n+1;c0;--n){let{comment:a,precedingNode:r,followingNode:s}=e[n-1],o=t.originalText.slice(t.locEnd(a),i);if(!(t.printer.isGap?.(o,t)??/^[\s(]*$/u.test(o)))break;i=t.locStart(a)}for(let[o,{comment:l}]of e.entries())o1&&o.comments.sort((e,a)=>t.locStart(e)-t.locStart(a));e.length=0}function cO(e,t,a){let n=a.locStart(t)-1;for(let r=1;r!n.has(e)).length)return{leading:"",trailing:""};let r,s=[],i=[];return e.each(()=>{let a=e.node;if(n?.has(a))return;let{leading:o,trailing:l}=a;o?s.push(function(e,t){let a=e.node,n=[dO(e,t)],{printer:r,originalText:s,locStart:i,locEnd:o}=t;if(r.isBlockComment?.(a)){let e=KM(s,o(a))?KM(s,i(a),{backwards:!0})?pM:uM:" ";n.push(e)}else n.push(pM);let l=VM(s,YM(s,o(a)));return!1!==l&&KM(s,l)&&n.push(pM),n}(e,t)):l&&(r=function(e,t,a){let n=e.node,r=dO(e,t),{printer:s,originalText:i,locStart:o}=t,l=s.isBlockComment?.(n);if(a?.hasLineSuffix&&!a?.isBlock||KM(i,o(n),{backwards:!0})){let e=uO(i,o(n));return{doc:gM([pM,e?pM:"",r]),isBlock:l,hasLineSuffix:!0}}return!l||a?.hasLineSuffix?{doc:[gM([" ",r]),iM],isBlock:l,hasLineSuffix:!0}:{doc:[" ",r],isBlock:l,hasLineSuffix:!1}}(e,t,r),i.push(r.doc))},"comments"),{leading:s,trailing:i}}var pO=class extends Error{constructor(){super(...arguments),o(this,"name","ConfigError")}},fO=class extends Error{constructor(){super(...arguments),o(this,"name","UndefinedParserError")}},mO={checkIgnorePragma:{category:"Special",type:"boolean",default:!1,description:"Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.",cliCategory:"Other"},cursorOffset:{category:"Special",type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:"Print (to stderr) where a cursor at the given position would move to after formatting.",cliCategory:"Editor"},endOfLine:{category:"Global",type:"choice",default:"lf",description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:"Maintain existing\n(mixed values within one file are normalised by looking at what's used after the first line)"}]},filepath:{category:"Special",type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:"Other",cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{category:"Special",type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:"Other"},parser:{category:"Global",type:"choice",default:void 0,description:"Which parser to use.",exception:e=>"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",description:"JavaScript"},{value:"babel-flow",description:"Flow"},{value:"babel-ts",description:"TypeScript"},{value:"typescript",description:"TypeScript"},{value:"acorn",description:"JavaScript"},{value:"espree",description:"JavaScript"},{value:"meriyah",description:"JavaScript"},{value:"css",description:"CSS"},{value:"less",description:"Less"},{value:"scss",description:"SCSS"},{value:"json",description:"JSON"},{value:"json5",description:"JSON5"},{value:"jsonc",description:"JSON with Comments"},{value:"json-stringify",description:"JSON.stringify"},{value:"graphql",description:"GraphQL"},{value:"markdown",description:"Markdown"},{value:"mdx",description:"MDX"},{value:"vue",description:"Vue"},{value:"yaml",description:"YAML"},{value:"glimmer",description:"Ember / Handlebars"},{value:"html",description:"HTML"},{value:"angular",description:"Angular"},{value:"lwc",description:"Lightning Web Components"},{value:"mjml",description:"MJML"}]},plugins:{type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},printWidth:{category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:"Format code ending at a given character offset (exclusive).\nThe range will extend forwards to the end of the selected statement.",cliCategory:"Editor"},rangeStart:{category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:"Format code starting at a given character offset.\nThe range will extend backwards to the start of the first line containing the selected statement.",cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:!1,description:"Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};function gO({plugins:e=[],showDeprecated:t=!1}={}){let a=e.flatMap(e=>e.languages??[]),n=[];for(let r of function(e){let t=[];for(let[a,n]of Object.entries(e)){let e={name:a,...n};Array.isArray(e.default)&&(e.default=kB(0,e.default,-1).value),t.push(e)}return t}(Object.assign({},...e.map(({options:e})=>e),mO)))!t&&r.deprecated||(Array.isArray(r.choices)&&(t||(r.choices=r.choices.filter(e=>!e.deprecated)),"parser"===r.name&&(r.choices=[...r.choices,...yO(r.choices,a,e)])),r.pluginDefaults=Object.fromEntries(e.filter(e=>void 0!==e.defaultOptions?.[r.name]).map(e=>[e.name,e.defaultOptions[r.name]])),n.push(r));return{languages:a,options:n}}function*yO(e,t,a){let n=new Set(e.map(e=>e.value));for(let r of t)if(r.parsers)for(let e of r.parsers)if(!n.has(e)){n.add(e);let t=a.find(t=>t.parsers&&Object.prototype.hasOwnProperty.call(t.parsers,e)),s=r.name;t?.name&&(s+=` (plugin: ${t.name})`),yield{value:e,description:s}}}var vO=Array.prototype.toReversed??function(){return[...this].reverse()},bO=lB("toReversed",function(){if(Array.isArray(this))return vO});var wO=function(){let e=globalThis,t=e.Deno?.build?.os;return"string"==typeof t?"windows"===t:e.navigator?.platform?.startsWith("Win")??e.process?.platform?.startsWith("win")??!1}();function xO(e){if("file:"!==(e=e instanceof URL?e:new URL(e)).protocol)throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);return e}function kO(e){return wO?function(e){e=xO(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return""!==e.hostname&&(t=`\\\\${e.hostname}${t}`),t}(e):function(e){return e=xO(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}(e)}function _O(e,t){if(!t)return;let a=(e=>String(e).split(/[/\\]/u).pop())(t).toLowerCase();return e.find(({filenames:e})=>e?.some(e=>e.toLowerCase()===a))??e.find(({extensions:e})=>e?.some(e=>a.endsWith(e)))}function EO(e,t){if(t){if((e=>String(e).startsWith("file:"))(t))try{t=kO(t)}catch{return}if("string"==typeof t)return e.find(({isSupported:e})=>e?.({filepath:t}))}}var CO=function(e,t){let a=bO(0,e.plugins).flatMap(e=>e.languages??[]);return(function(e,t){if(t)return e.find(({name:e})=>e.toLowerCase()===t)??e.find(({aliases:e})=>e?.includes(t))??e.find(({extensions:e})=>e?.includes(`.${t}`))}(a,t.language)??_O(a,t.physicalFile)??_O(a,t.file)??EO(a,t.physicalFile)??EO(a,t.file)??undefined)?.parsers[0]},FO={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e=>FO.value(e)).join(", ")}]`;let t=Object.keys(e);return 0===t.length?"{}":`{ ${t.map(t=>`${FO.key(t)}: ${FO.value(e[t])}`).join(", ")} }`},pair:({key:e,value:t})=>FO.value({[e]:t})},DO=new Proxy(String,{get:()=>DO}),AO=DO,TO=()=>DO,SO=Symbol.for("vnopts.VALUE_NOT_EXIST"),IO=Symbol.for("vnopts.VALUE_UNCHANGED"),PO=" ".repeat(2);function NO(e,t,a,n){return[`Invalid ${AO.red(n.key(e))} value.`,`Expected ${AO.blue(a)},`,`but received ${t===SO?AO.gray("nothing"):AO.red(n.value(t))}.`].join(" ")}function BO({text:e,list:t},a){let n=[];return e&&n.push(`- ${AO.blue(e)}`),t&&n.push([`- ${AO.blue(t.title)}:`].concat(t.values.map(e=>BO(e,a-PO.length).replace(/^|\n/g,`$&${PO}`))).join("\n")),MO(n,a)}function MO(e,t){if(1===e.length)return e[0];let[a,n]=e,[r,s]=e.map(e=>e.split("\n",1)[0].length);return r>t&&r>s?n:a}var OO=[],UO=[];function jO(e,t,a){if(e===t)return 0;let n=a?.maxDistance,r=e;e.length>t.length&&(e=t,t=r);let s=e.length,i=t.length;for(;s>0&&e.charCodeAt(~-s)===t.charCodeAt(~-i);)s--,i--;let o=0;for(;on)return n;if(0===s)return void 0!==n&&i>n?n:i;let l,c,u,d,h=0,p=0;for(;hc?d>c?c+1:d:d>u?u+1:d;if(void 0!==n){let e=c;for(h=0;hn)return n}}return OO.length=s,UO.length=s,void 0!==n&&c>n?n:c}var LO=(e,t,{descriptor:a,logger:n,schemas:r})=>{let s=[`Ignored unknown option ${AO.yellow(a.pair({key:e,value:t}))}.`],i=function(e,t,a){if(!Array.isArray(t)||0===t.length)return;let n=a?.maxDistance,r=e.length;for(let l of t)if(l===e)return l;let s,i=Number.POSITIVE_INFINITY,o=new Set;for(let l of t){if(o.has(l))continue;o.add(l);let t=Math.abs(l.length-r);if(t>=i||t>n)continue;let a=Number.isFinite(i)?Math.min(i,n):n,c=void 0===a?jO(e,l):jO(e,l,{maxDistance:a});if(c>n)continue;let u=c;if(void 0!==a&&c===a&&a===n&&(u=jO(e,l)),un?void 0:s}(e,Object.keys(r),{maxDistance:3});i&&s.push(`Did you mean ${AO.blue(a.key(i))}?`),n.warn(s.join(" "))},RO=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];var zO=class{static create(e){return function(e,t){let a=new e(t),n=Object.create(a);for(let r of RO)r in t&&(n[r]=HO(t[r],a,zO.prototype[r].length));return n}(this,e)}constructor(e){this.name=e.name}default(e){}expected(e){return"nothing"}validate(e,t){return!1}deprecated(e,t){return!1}forward(e,t){}redirect(e,t){}overlap(e,t,a){return e}preprocess(e,t){return e}postprocess(e,t){return IO}};function HO(e,t,a){return"function"==typeof e?(...n)=>e(...n.slice(0,a-1),t,...n.slice(a-1)):()=>e}var YO=class extends zO{constructor(e){super(e),this._sourceName=e.sourceName}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}},$O=class extends zO{expected(){return"anything"}validate(){return!0}},GO=class extends zO{constructor({valueSchema:e,name:t=e.name,...a}){super({...a,name:t}),this._valueSchema=e}expected(e){let{text:t,list:a}=e.normalizeExpectedResult(this._valueSchema.expected(e));return{text:t&&`an array of ${t}`,list:a&&{title:"an array of the following values",values:[{list:a}]}}}validate(e,t){if(!Array.isArray(e))return!1;let a=[];for(let n of e){let e=t.normalizeValidateResult(this._valueSchema.validate(n,t),n);!0!==e&&a.push(e.value)}return 0===a.length||{value:a}}deprecated(e,t){let a=[];for(let n of e){let e=t.normalizeDeprecatedResult(this._valueSchema.deprecated(n,t),n);!1!==e&&a.push(...e.map(({value:e})=>({value:[e]})))}return a}forward(e,t){let a=[];for(let n of e){let e=t.normalizeForwardResult(this._valueSchema.forward(n,t),n);a.push(...e.map(WO))}return a}redirect(e,t){let a=[],n=[];for(let r of e){let e=t.normalizeRedirectResult(this._valueSchema.redirect(r,t),r);"remain"in e&&a.push(e.remain),n.push(...e.redirect.map(WO))}return 0===a.length?{redirect:n}:{redirect:n,remain:a}}overlap(e,t){return e.concat(t)}};function WO({from:e,to:t}){return{from:[e],to:t}}var VO=class extends zO{expected(){return"true or false"}validate(e){return"boolean"==typeof e}};function KO(e,t){let a=Object.create(null);for(let n of e){let e=n[t];if(a[e])throw new Error(`Duplicate ${t} ${JSON.stringify(e)}`);a[e]=n}return a}function JO(e,t){if(e===t)return 0;let a=typeof e,n=typeof t,r=["undefined","object","boolean","number","string"];return a!==n?r.indexOf(a)-r.indexOf(n):"string"!==a?Number(e)-Number(t):e.localeCompare(t)}function qO(e){return void 0===e?{}:e}function ZO(e){if("string"==typeof e)return{text:e};let{text:t,list:a}=e;return function(e,t){if(!e)throw new Error(t)}(void 0!==(t||a),"Unexpected `expected` result, there should be at least one field."),a?{text:t,list:{title:a.title,values:a.values.map(ZO)}}:{text:t}}function XO(e,t){return!0===e||(!1===e?{value:t}:e)}function QO(e,t,a=!1){return!1!==e&&(!0===e?!!a||[{value:t}]:"value"in e?[e]:0!==e.length&&e)}function eU(e,t){return"string"==typeof e||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function tU(e,t){return void 0===e?[]:Array.isArray(e)?e.map(e=>eU(e,t)):[eU(e,t)]}function aU(e,t){let a=tU("object"==typeof e&&"redirect"in e?e.redirect:e,t);return 0===a.length?{remain:t,redirect:a}:"object"==typeof e&&"remain"in e?{remain:e.remain,redirect:a}:{redirect:a}}var nU,rU=class extends zO{constructor(e){super(e),this._choices=function(e,t){let a=new Map;for(let n of e){let e=n[t];if(a.has(e))throw new Error(`Duplicate ${t} ${JSON.stringify(e)}`);a.set(e,n)}return a}(e.choices.map(e=>e&&"object"==typeof e?e:{value:e}),"value")}expected({descriptor:e}){let t=Array.from(this._choices.keys()).map(e=>this._choices.get(e)).filter(({hidden:e})=>!e).map(e=>e.value).sort(JO).map(e.value),a=t.slice(0,-2),n=t.slice(-2);return{text:a.concat(n.join(" or ")).join(", "),list:{title:"one of the following values",values:t}}}validate(e){return this._choices.has(e)}deprecated(e){let t=this._choices.get(e);return!(!t||!t.deprecated)&&{value:e}}forward(e){let t=this._choices.get(e);return t?t.forward:void 0}redirect(e){let t=this._choices.get(e);return t?t.redirect:void 0}},sU=class extends zO{expected(){return"a number"}validate(e,t){return"number"==typeof e}},iU=class extends sU{expected(){return"an integer"}validate(e,t){return!0===t.normalizeValidateResult(super.validate(e,t),e)&&function(e){return e===Math.floor(e)}(e)}},oU=class extends zO{expected(){return"a string"}validate(e){return"string"==typeof e}},lU=FO,cU=LO,uU=(e,t,a)=>{let{text:n,list:r}=a.normalizeExpectedResult(a.schemas[e].expected(a)),s=[];return n&&s.push(NO(e,t,n,a.descriptor)),r&&s.push([NO(e,t,r.title,a.descriptor)].concat(r.values.map(e=>BO(e,a.loggerPrintWidth))).join("\n")),MO(s,a.loggerPrintWidth)},dU=(e,t,{descriptor:a})=>{let n=[`${AO.yellow("string"==typeof e?a.key(e):a.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${AO.blue("string"==typeof t?a.key(t):a.pair(t))}`),n.join("; ")+"."},hU=class{constructor(e,t){let{logger:a=console,loggerPrintWidth:n=80,descriptor:r=lU,unknown:s=cU,invalid:i=uU,deprecated:o=dU,missing:l=()=>!1,required:c=()=>!1,preprocess:u=e=>e,postprocess:d=()=>IO}=t||{};this._utils={descriptor:r,logger:a||{warn:()=>{}},loggerPrintWidth:n,schemas:KO(e,"name"),normalizeDefaultResult:qO,normalizeExpectedResult:ZO,normalizeDeprecatedResult:QO,normalizeForwardResult:tU,normalizeRedirectResult:aU,normalizeValidateResult:XO},this._unknownHandler=s,this._invalidHandler=function(e){return(...t)=>{let a=e(...t);return"string"==typeof a?new Error(a):a}}(i),this._deprecatedHandler=o,this._identifyMissing=(e,t)=>!(e in t)||l(e,t),this._identifyRequired=c,this._preprocess=u,this._postprocess=d,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=function(){let e=Object.create(null);return t=>{let a=JSON.stringify(t);return!!e[a]||(e[a]=!0,!1)}}()}normalize(e){let t={},a=[this._preprocess(e,this._utils)],n=()=>{for(;0!==a.length;){let e=a.shift(),n=this._applyNormalization(e,t);a.push(...n)}};n();for(let r of Object.keys(this._utils.schemas)){let e=this._utils.schemas[r];if(!(r in t)){let t=qO(e.default(this._utils));"value"in t&&a.push({[r]:t.value})}}n();for(let r of Object.keys(this._utils.schemas)){if(!(r in t))continue;let e=this._utils.schemas[r],a=t[r],n=e.postprocess(a,this._utils);n!==IO&&(this._applyValidation(n,r,e),t[r]=n)}return this._applyPostprocess(t),this._applyRequiredCheck(t),t}_applyNormalization(e,t){let a=[],{knownKeys:n,unknownKeys:r}=this._partitionOptionKeys(e);for(let s of n){let n=this._utils.schemas[s],r=n.preprocess(e[s],this._utils);this._applyValidation(r,s,n);let i=({from:e,to:t})=>{a.push("string"==typeof t?{[t]:e}:{[t.key]:t.value})},o=({value:e,redirectTo:t})=>{let a=QO(n.deprecated(e,this._utils),r,!0);if(!1!==a)if(!0===a)this._hasDeprecationWarned(s)||this._utils.logger.warn(this._deprecatedHandler(s,t,this._utils));else for(let{value:n}of a){let e={key:s,value:n};if(!this._hasDeprecationWarned(e)){let a="string"==typeof t?{key:t,value:n}:t;this._utils.logger.warn(this._deprecatedHandler(e,a,this._utils))}}};tU(n.forward(r,this._utils),r).forEach(i);let l=aU(n.redirect(r,this._utils),r);if(l.redirect.forEach(i),"remain"in l){let e=l.remain;t[s]=s in t?n.overlap(t[s],e,this._utils):e,o({value:e})}for(let{from:e,to:t}of l.redirect)o({value:e,redirectTo:t})}for(let s of r){let n=e[s];this._applyUnknownHandler(s,n,t,(e,t)=>{a.push({[e]:t})})}return a}_applyRequiredCheck(e){for(let t of Object.keys(this._utils.schemas))if(this._identifyMissing(t,e)&&this._identifyRequired(t))throw this._invalidHandler(t,SO,this._utils)}_partitionOptionKeys(e){let[t,a]=function(e,t){let a=[],n=[];for(let r of e)t(r)?a.push(r):n.push(r);return[a,n]}(Object.keys(e).filter(t=>!this._identifyMissing(t,e)),e=>e in this._utils.schemas);return{knownKeys:t,unknownKeys:a}}_applyValidation(e,t,a){let n=XO(a.validate(e,this._utils),e);if(!0!==n)throw this._invalidHandler(t,n.value,this._utils)}_applyUnknownHandler(e,t,a,n){let r=this._unknownHandler(e,t,this._utils);if(r)for(let s of Object.keys(r)){if(this._identifyMissing(s,r))continue;let e=r[s];s in this._utils.schemas?n(s,e):a[s]=e}}_applyPostprocess(e){let t=this._postprocess(e,this._utils);if(t!==IO){if(t.delete)for(let a of t.delete)delete e[a];if(t.override){let{knownKeys:a,unknownKeys:n}=this._partitionOptionKeys(t.override);for(let r of a){let a=t.override[r];this._applyValidation(a,r,this._utils.schemas[r]),e[r]=a}for(let r of n){let a=t.override[r];this._applyUnknownHandler(r,a,e,(t,a)=>{let n=this._utils.schemas[t];this._applyValidation(a,t,n),e[t]=a})}}}}};function pU(e,{isCLI:t,optionInfos:a,FlagSchema:n}){let r,{name:s}=e,i={name:s},o={};switch(e.type){case"int":r=iU,t&&(i.preprocess=Number);break;case"string":case"path":r=oU;break;case"choice":r=rU,i.choices=e.choices.map(t=>t?.redirect?{...t,redirect:{to:{key:e.name,value:t.redirect}}}:t);break;case"boolean":r=VO;break;case"flag":r=n,i.flags=a.flatMap(e=>[e.alias,e.description&&e.name,e.oppositeDescription&&`no-${e.name}`].filter(Boolean));break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?i.validate=(t,a,n)=>e.exception(t)||a.validate(t,n):i.validate=(e,t,a)=>void 0===e||t.validate(e,a),e.redirect&&(o.redirect=t=>t?{to:"string"==typeof e.redirect?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(o.deprecated=!0),t&&!e.array){let e=i.preprocess||(e=>e);i.preprocess=(t,a,n)=>a.preprocess(e(Array.isArray(t)?kB(0,t,-1):t),n)}return e.array?GO.create({...t?{preprocess:e=>Array.isArray(e)?e:[e]}:{},...o,valueSchema:r.create(i)}):r.create({...i,...o})}var fU=function(e,t,{logger:a=!1,isCLI:n=!1,passThrough:r=!1,FlagSchema:s,descriptor:i}={}){if(n){if(!s)throw new Error("'FlagSchema' option is required.");if(!i)throw new Error("'descriptor' option is required.")}else i=FO;let o=r?Array.isArray(r)?(e,t)=>r.includes(e)?{[e]:t}:void 0:(e,t)=>({[e]:t}):(e,t,a)=>{let{_:n,...r}=a.schemas;return LO(e,t,{...a,schemas:r})},l=function(e,{isCLI:t,FlagSchema:a}){let n=[];t&&n.push($O.create({name:"_"}));for(let r of e)n.push(pU(r,{isCLI:t,optionInfos:e,FlagSchema:a})),r.alias&&t&&n.push(YO.create({name:r.alias,sourceName:r.name}));return n}(t,{isCLI:n,FlagSchema:s}),c=new hU(l,{logger:a,unknown:o,descriptor:i}),u=!1!==a;u&&nU&&(c._hasDeprecationWarned=nU);let d=c.normalize(e);return u&&(nU=c._hasDeprecationWarned),d},mU=Array.prototype.findLast??function(e){for(let t=this.length-1;t>=0;t--){let a=this[t];if(e(a,t,this))return a}},gU=lB("findLast",function(){if(Array.isArray(this))return mU}),yU=Symbol.for("PRETTIER_IS_FRONT_MATTER"),vU=[];var bU=function(e){return!!e?.[yU]},wU=new Set(["yaml","toml"]),xU=({node:e})=>bU(e)&&wU.has(e.language);async function kU(e,t,a,n){let{node:r}=a,{language:s}=r;if(!wU.has(s))return;let i,o=r.value.trim();if(o){let t="yaml"===s?s:CO(n,{language:s});if(!t)return;i=o?await e(o,{parser:t}):""}else i=o;return rM([r.startDelimiter,r.explicitLanguage??"",pM,i,i?pM:"",r.endDelimiter])}var _U=function(e,t){return xU({node:e})&&(delete t.end,delete t.raw,delete t.value),t};var EU=function({node:e}){return e.raw},CU=new Set(["tokens","comments","parent","enclosingNode","precedingNode","followingNode"]),FU=e=>Object.keys(e).filter(e=>!CU.has(e));var DU=function(e,t){let a=e?t=>e(t,CU):FU;return t?new Proxy(a,{apply:(e,t,a)=>bU(a[0])?vU:Reflect.apply(e,t,a)}):a};function AU(e,t){if(!t)throw new Error("parserName is required.");let a=gU(0,e,e=>e.parsers&&Object.prototype.hasOwnProperty.call(e.parsers,t));if(a)return a;let n=`Couldn't resolve parser "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new pO(n)}function TU({plugins:e,parser:t}){return SU(AU(e,t),t)}function SU(e,t){let a=e.parsers[t];return"function"==typeof a?a():a}async function IU(e,t){let a=e.printers[t];return function(e){if(PU.has(e))return PU.get(e);let{features:t,getVisitorKeys:a,embed:n,massageAstNode:r,print:s,...i}=e;t=function(e){return{experimental_avoidAstMutation:!1,...e,experimental_frontMatterSupport:BU(e?.experimental_frontMatterSupport)}}(t);let o=t.experimental_frontMatterSupport;a=DU(a,o.massageAstNode||o.embed||o.print);let l=r;r&&o.massageAstNode&&(l=new Proxy(r,{apply:(e,t,a)=>(_U(...a),Reflect.apply(e,t,a))}));let c=n;if(n){let e;c=new Proxy(n,{get:(t,r,s)=>"getVisitorKeys"===r?(e??(e=n.getVisitorKeys?DU(n.getVisitorKeys,o.massageAstNode||o.embed):a),e):Reflect.get(t,r,s),apply:(e,t,a)=>o.embed&&xU(...a)?kU:Reflect.apply(e,t,a)})}let u=s;o.print&&(u=new Proxy(s,{apply(e,t,a){let[n]=a;return bU(n.node)?EU(n):Reflect.apply(e,t,a)}}));let d={features:t,getVisitorKeys:a,embed:c,massageAstNode:l,print:u,...i};return PU.set(e,d),d}("function"==typeof a?await a():a)}var PU=new WeakMap;var NU=Object.fromEntries(["clean","embed","print"].map(e=>[e,!1]));function BU(e){return{...NU,...e}}var MU={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null,getVisitorKeys:null};var OU=async function(e,t={}){let a={...e};if(!a.parser){if(!a.filepath)throw new fO("No parser and no file path given, couldn't infer a parser.");if(a.parser=CO(a,{physicalFile:a.filepath}),!a.parser)throw new fO(`No parser could be inferred for file "${a.filepath}".`)}let n=gO({plugins:e.plugins,showDeprecated:!0}).options,r={...MU,...Object.fromEntries(n.filter(e=>void 0!==e.default).map(e=>[e.name,e.default]))},s=AU(a.plugins,a.parser),i=await SU(s,a.parser);a.astFormat=i.astFormat,a.locEnd=i.locEnd,a.locStart=i.locStart;let o=s.printers?.[i.astFormat]?s:function(e,t){if(!t)throw new Error("astFormat is required.");let a=gU(0,e,e=>e.printers&&Object.prototype.hasOwnProperty.call(e.printers,t));if(a)return a;let n=`Couldn't find plugin for AST format "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new pO(n)}(a.plugins,i.astFormat),l=await IU(o,i.astFormat);a.printer=l,a.getVisitorKeys=l.getVisitorKeys;let c={...r,...o.defaultOptions?Object.fromEntries(Object.entries(o.defaultOptions).filter(([,e])=>void 0!==e)):{}};for(let[u,d]of Object.entries(c))(null===a[u]||void 0===a[u])&&(a[u]=d);return"json"===a.parser&&(a.trailingComma="none"),fU(a,n,{passThrough:Object.keys(MU),...t})};((e,t,a)=>{a=null!=e?eB(rB(e)):{},((e,t,a,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of nB(t))!sB.call(e,r)&&r!==a&&tB(e,r,{get:()=>t[r],enumerable:!(n=aB(t,r))||n.enumerable})})(tB(a,"default",{value:e,enumerable:!0}),e)})(oB());var UU=["implements","interface","let","package","private","protected","public","static","yield"],jU=["eval","arguments"];new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),new Set(UU),new Set(jU);var LU=(e,t)=>a=>e(t(a));function RU(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:LU(LU(e.white,e.bgRed),e.bold),gutter:e.gray,marker:LU(e.red,e.bold),message:LU(e.red,e.bold),reset:e.reset}}RU(TO()),RU(TO());var zU=/\r\n|[\n\r\u2028\u2029]/;function HU(e,t,a={}){let n=new Proxy({},{get:()=>e=>e}),r=e.split(zU),{start:s,end:i,markerLines:o}=function(e,t,a){let n=Object.assign({column:0,line:-1},e.start),r=Object.assign({},n,e.end),{linesAbove:s=2,linesBelow:i=3}=a||{},o=n.line,l=n.column,c=r.line,u=r.column,d=Math.max(o-(s+1),0),h=Math.min(t.length,c+i);-1===o&&(d=0),-1===c&&(h=t.length);let p=c-o,f={};if(p)for(let m=0;m<=p;m++){let e=m+o;if(l)if(0===m){let a=t[e-1].length;f[e]=[l,a-l+1]}else if(m===p)f[e]=[0,u];else{let a=t[e-m].length;f[e]=[0,a]}else f[e]=!0}else f[o]=l===u?!l||[l,0]:[l,u-l];return{start:d,end:h,markerLines:f}}(t,r,a),l=t.start&&"number"==typeof t.start.column,c=String(i).length,u=e.split(zU,i).slice(s,i).map((e,t)=>{let r=s+1+t,i=` ${` ${r}`.slice(-c)} |`,l=o[r],u=!o[r+1];if(l){let t="";if(Array.isArray(l)){let r=e.slice(0,Math.max(l[0]-1,0)).replace(/[^\t]/g," "),s=l[1]||1;t=["\n ",n.gutter(i.replace(/\d/g," "))," ",r,n.marker("^").repeat(s)].join(""),u&&a.message&&(t+=" "+n.message(a.message))}return[n.marker(">"),n.gutter(i),e.length>0?` ${e}`:"",t].join("")}return` ${n.gutter(i)}${e.length>0?` ${e}`:""}`}).join("\n");return a.message&&!l&&(u=`${" ".repeat(c+1)}${a.message}\n${u}`),u}var YU=async function(e,t){let a,n=await TU(t),r=n.preprocess?await n.preprocess(e,t):e;t.originalText=r;try{a=await n.parse(r,t,t)}catch(s){!function(e,t){let{loc:a}=e;if(a){let n=HU(t,a,{});throw e.message+="\n"+n,e.codeFrame=n,e}throw e}(s,e)}return{text:r,ast:a}};async function $U(e,t,a,n,r){if("auto"!==a.embeddedLanguageFormatting)return;let{printer:s}=a,{embed:i}=s;if(!i)return;if(i.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed");let{hasPrettierIgnore:o}=s,{getVisitorKeys:l}=i,c=[];!function t(){let{node:n}=e;if(null===n||"object"!=typeof n||o?.(e))return;for(let a of l(n))Array.isArray(n[a])?e.each(t,a):e.call(t,a);let s=i(e,a);if(s){if("function"==typeof s)return void c.push({print:s,node:n,pathStack:[...e.stack]});r.set(n,s)}}();let u=e.stack;for(let{print:p,node:f,pathStack:m}of c)try{e.stack=m;let n=await p(d,t,e,a);n&&r.set(f,n)}catch(h){if(globalThis.PRETTIER_DEBUG)throw h}function d(e,t){return async function(e,t,a,n){let r=await OU({...a,...t,parentParser:a.parser,originalText:e,cursorOffset:void 0,rangeStart:void 0,rangeEnd:void 0},{passThrough:!0}),{ast:s}=await YU(e,r),i=await n(s,r);return XB(i)}(e,t,a,n)}e.stack=u}var GU=function(e,t,a,n){let{originalText:r,[Symbol.for("comments")]:s,locStart:i,locEnd:o,[Symbol.for("printedComments")]:l}=t,{node:c}=e,u=i(c),d=o(c);for(let p of s)i(p)>=u&&o(p)<=d&&l.add(p);let{printPrettierIgnored:h}=t.printer;return h?h(e,t,a,n):r.slice(u,d)};async function WU(e,t){({ast:e}=await KU(e,t));let a=new Map,n=new LM(e),r=new Map;await $U(n,i,t,WU,r);let s=await VU(n,t,i,void 0,r);if(function(e){let{[Symbol.for("comments")]:t,[Symbol.for("printedComments")]:a}=e;for(let n of t){if(!n.printed&&!a.has(n))throw new Error('Comment "'+n.value.trim()+'" was not printed. Please report this error!');delete n.printed}}(t),t.cursorOffset>=0){if(t.nodeAfterCursor&&!t.nodeBeforeCursor)return[oM,s];if(t.nodeBeforeCursor&&!t.nodeAfterCursor)return[s,oM]}return s;function i(e,t){return void 0===e||e===n?o(t):Array.isArray(e)?n.call(()=>o(t),...e):n.call(()=>o(t),e)}function o(e){let s=n.node;if(null==s)return"";let o=RM(s)&&void 0===e;if(o&&a.has(s))return a.get(s);let l=VU(n,t,i,e,r);return o&&a.set(s,l),l}}function VU(e,t,a,n,r){let s,{node:i}=e,{printer:o}=t;switch(s=o.hasPrettierIgnore?.(e)?GU(e,t,a,n):r.has(i)?r.get(i):o.print(e,t,a,n),i){case t.cursorNode:s=eM(s,e=>[oM,e,oM]);break;case t.nodeBeforeCursor:s=eM(s,e=>[e,oM]);break;case t.nodeAfterCursor:s=eM(s,e=>[oM,e])}return o.printComment&&!o.willPrintOwnComments?.(e,t)&&(s=function(e,t,a){let{leading:n,trailing:r}=hO(e,a);return n||r?eM(t,e=>[n,e,r]):t}(e,s,t)),s}async function KU(e,t){let a=e.comments??[];t[Symbol.for("comments")]=a,t[Symbol.for("printedComments")]=new Set,function(e,t){let{comments:a}=e;if(delete e.comments,!JM(a)||!t.printer.canAttachComment)return;let n=[],{printer:{features:{experimental_avoidAstMutation:r},handleComments:s={}},originalText:i}=t,{ownLine:o=rO,endOfLine:l=rO,remaining:c=rO}=s,u=a.map((n,r)=>({...nO(e,n,t),comment:n,text:i,options:t,ast:e,isLastComment:a.length-1===r}));for(let[d,h]of u.entries()){let e,{comment:t,precedingNode:a,enclosingNode:s,followingNode:i,text:p,options:f,ast:m,isLastComment:g}=h;if(r?e=[h]:(t.enclosingNode=s,t.precedingNode=a,t.followingNode=i,e=[t,p,f,m,g]),iO(p,f,u,d))t.placement="ownLine",o(...e)||(i?QM(i,t):a?tO(a,t):eO(s||m,t));else if(oO(p,f,u,d))t.placement="endOfLine",l(...e)||(a?tO(a,t):i?QM(i,t):eO(s||m,t));else if(t.placement="remaining",!c(...e))if(a&&i){let e=n.length;e>0&&n[e-1].followingNode!==i&&lO(n,f),n.push(h)}else a?tO(a,t):i?QM(i,t):eO(s||m,t)}if(lO(n,t),!r)for(let d of a)delete d.precedingNode,delete d.enclosingNode,delete d.followingNode}(e,t);let{printer:{preprocess:n}}=t;return{ast:e=n?await n(e,t):e,comments:a}}var JU=function(e,t){let{cursorOffset:a,locStart:n,locEnd:r,getVisitorKeys:s}=t,i=e=>n(e)<=a&&r(e)>=a,o=e,l=[e];for(let p of function*(e,t){let a=[e];for(let n=0;n0&&(void 0===c||void 0===u);){o=l.pop();let e=void 0!==c,t=void 0!==u;for(let i of qM(o,{getVisitorKeys:s})){if(!e){let e=r(i);e<=a&&e>d&&(c=i,d=e)}if(!t){let e=n(i);e>=a&&ee(t,a)).filter(Boolean);let i={},o=new Set(r(t));for(let n in t)!Object.prototype.hasOwnProperty.call(t,n)||s?.has(n)||(o.has(n)?i[n]=e(t[n],t):i[n]=t[n]);let l=n(t,i,a);if(null!==l)return l??i}(e)},ZU=Array.prototype.findLastIndex??function(e){for(let t=this.length-1;t>=0;t--){if(e(this[t],t,this))return t}return-1},XU=lB("findLastIndex",function(){if(Array.isArray(this))return ZU});function QU(e){let t=XU(0,e,e=>"Program"!==e.type&&"File"!==e.type);return-1===t?e:e.slice(0,t+1)}function ej(e,t,a,n,r=[],s){let{locStart:i,locEnd:o}=a,l=i(e),c=o(e);if(t>c||tn&&!/\S/u.test(e[r-1]);--r);let c=ej(a,n,t,(e,a)=>nj(t,e,a),[],"rangeStart");if(!c)return;let u,d,h=l?c:ej(a,r,t,e=>nj(t,e),[],"rangeEnd");if(h){if((({parser:e})=>"json"===e||"json5"===e||"jsonc"===e||"json-stringify"===e)(t)){let e=function(e,t){return t=new Set(t),e.find(e=>tj.has(e.type)&&t.has(e))}(c,h);u=e,d=e}else[u,d]=function(e,t,{locStart:a,locEnd:n}){let[r,...s]=e,[i,...o]=t;if(r===i)return[r,i];let l=a(r);for(let u of QU(o)){if(!(a(u)>=l))break;i=u}let c=n(i);for(let u of QU(s)){if(!(n(u)<=c))break;if(r=u,r===i)break}return[r,i]}(c,h,t);return[Math.min(s(u),s(d)),Math.max(i(u),i(d))]}}var sj=Symbol("cursor");async function ij(e,t,a=0){if(!e||0===e.trim().length)return{formatted:"",cursorOffset:-1,comments:[]};let{ast:n,text:r}=await YU(e,t);t.cursorOffset>=0&&(t={...t,...JU(n,t)});let s=await WU(n,t);a>0&&(s=sM([pM,s],a,t.tabWidth));let i=OM(s,t);if(a>0){let e=i.formatted.trim();void 0!==i.cursorNodeStart&&(i.cursorNodeStart-=i.formatted.indexOf(e),i.cursorNodeStart<0&&(i.cursorNodeStart=0,i.cursorNodeText=i.cursorNodeText.trimStart()),i.cursorNodeStart+i.cursorNodeText.length>e.length&&(i.cursorNodeText=i.cursorNodeText.trimEnd())),i.formatted=e+yB(t.endOfLine)}let o=t[Symbol.for("comments")];if(t.cursorOffset>=0){let e,a,n,s;if((t.cursorNode||t.nodeBeforeCursor||t.nodeAfterCursor)&&i.cursorNodeText)if(n=i.cursorNodeStart,s=i.cursorNodeText,t.cursorNode)e=t.locStart(t.cursorNode),a=r.slice(e,t.locEnd(t.cursorNode));else{if(!t.nodeBeforeCursor&&!t.nodeAfterCursor)throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");e=t.nodeBeforeCursor?t.locEnd(t.nodeBeforeCursor):0;let n=t.nodeAfterCursor?t.locStart(t.nodeAfterCursor):r.length;a=r.slice(e,n)}else e=0,a=r,n=0,s=i.formatted;let l=t.cursorOffset-e;if(a===s)return{formatted:i.formatted,cursorOffset:n+l,comments:o};let c=a.split("");c.splice(l,0,sj);let u=function(e,t,a){return hB.diff(e,t,a)}(c,s.split("")),d=n;for(let t of u)if(t.removed){if(t.value.includes(sj))break}else d+=t.count;return{formatted:i.formatted,cursorOffset:d,comments:o}}return{formatted:i.formatted,cursorOffset:-1,comments:o}}function oj(e,t,a){return"number"!=typeof t||Number.isNaN(t)||t<0||t>e.length?a:t}function lj(e,t){let{cursorOffset:a,rangeStart:n,rangeEnd:r}=t;return a=oj(e,a,-1),n=oj(e,n,0),r=oj(e,r,e.length),{...t,cursorOffset:a,rangeStart:n,rangeEnd:r}}function cj(e,t){let{cursorOffset:a,rangeStart:n,rangeEnd:r,endOfLine:s}=lj(e,t),i="\ufeff"===e.charAt(0);if(i&&(e=e.slice(1),a--,n--,r--),"auto"===s&&(s=function(e){let t=e.indexOf("\r");return-1!==t?e.charAt(t+1)===mB?fB:"cr":"lf"}(e)),e.includes("\r")){let t=t=>bB(e.slice(0,Math.max(t,0)),"\r\n");a-=t(a),n-=t(n),r-=t(r),e=function(e){return uB(0,e,wB,mB)}(e)}return{hasBOM:i,text:e,options:lj(e,{...t,cursorOffset:a,rangeStart:n,rangeEnd:r,endOfLine:s})}}async function uj(e,t){let a=await TU(t);return!a.hasPragma||a.hasPragma(e)}async function dj(e,t){let a,{hasBOM:n,text:r,options:s}=cj(e,await OU(t));return s.rangeStart>=s.rangeEnd&&""!==r||s.requirePragma&&!(await uj(r,s))||s.checkIgnorePragma&&await async function(e,t){return(await TU(t)).hasIgnorePragma?.(e)}(r,s)?{formatted:e,cursorOffset:t.cursorOffset,comments:[]}:(s.rangeStart>0||s.rangeEndr&&t.cursorOffset<=s?t.cursorOffset-r:-1,endOfLine:"lf"},c),d=u.formatted.trimEnd(),{cursorOffset:h}=t;h>s?h+=d.length-i.length:u.cursorOffset>=0&&(h=u.cursorOffset+r);let p=n.slice(0,r)+d+n.slice(s);if("lf"!==t.endOfLine){let e=yB(t.endOfLine);h>=0&&"\r\n"===e&&(h+=bB(p.slice(0,h),"\n")),p=uB(0,p,"\n",e)}return{formatted:p,cursorOffset:h,comments:u.comments}}(r,s):(!s.requirePragma&&s.insertPragma&&s.printer.insertPragma&&!(await uj(r,s))&&(r=s.printer.insertPragma(r)),a=await ij(r,s)),n&&(a.formatted="\ufeff"+a.formatted,a.cursorOffset>=0&&a.cursorOffset++),a)}var hj={};iB(hj,{builders:()=>pj,printer:()=>fj,utils:()=>mj});var pj={join:cM,line:uM,softline:dM,hardline:pM,literalline:mM,group:lM,conditionalGroup:function(e,t){return lM(e[0],{...t,expandedStates:e})},fill:function(e){return{type:SB,parts:e}},lineSuffix:gM,lineSuffixBoundary:yM,cursor:oM,breakParent:iM,ifBreak:function(e,t="",a={}){return{type:IB,breakContents:e,flatContents:t,groupId:a.groupId}},trim:vM,indent:aM,indentIfBreak:function(e,t){return{type:PB,contents:e,groupId:t.groupId,negate:t.negate}},align:nM,addAlignmentToDoc:sM,markAsRoot:rM,dedentToRoot:function(e){return nM(Number.NEGATIVE_INFINITY,e)},dedent:function(e){return nM(-1,e)},hardlineWithoutBreakParent:hM,literallineWithoutBreakParent:fM,label:function(e,t){return e?{type:OB,label:e,contents:t}:t},concat:e=>e},fj={printDocToString:OM},mj={willBreak:function(e){return WB(e,VB,!1)},traverseDoc:$B,findInDoc:WB,mapDoc:GB,removeLines:function(e){return GB(e,JB)},stripTrailingHardline:XB,replaceEndOfLine:function(e,t=mM){return GB(e,e=>"string"==typeof e?cM(t,e.split("\n")):e)},canBreak:function(e){return WB(e,QB,!1)}},gj="3.7.4",yj={};iB(yj,{addDanglingComment:()=>eO,addLeadingComment:()=>QM,addTrailingComment:()=>tO,getAlignmentSize:()=>UM,getIndentSize:()=>kj,getMaxContinuousCount:()=>_j,getNextNonSpaceNonCommentCharacter:()=>Ej,getNextNonSpaceNonCommentCharacterIndex:()=>Pj,getPreferredQuote:()=>Tj,getStringWidth:()=>EM,hasNewline:()=>KM,hasNewlineInRange:()=>Sj,hasSpaces:()=>Ij,isNextLineEmpty:()=>Mj,isNextLineEmptyAfterIndex:()=>xj,isPreviousLineEmpty:()=>Nj,makeString:()=>Bj,skip:()=>zM,skipEverythingButNewLine:()=>GM,skipInlineComment:()=>vj,skipNewline:()=>VM,skipSpaces:()=>YM,skipToLineEnd:()=>$M,skipTrailingComment:()=>bj,skipWhitespace:()=>HM});var vj=function(e,t){if(!1===t)return!1;if("/"===e.charAt(t)&&"*"===e.charAt(t+1))for(let a=t+2;aMath.max(e,t.length),0)/t.length};var Ej=function(e,t){let a=wj(e,t);return!1===a?"":e.charAt(a)},Cj=Object.freeze({character:"'",codePoint:39}),Fj=Object.freeze({character:'"',codePoint:34}),Dj=Object.freeze({preferred:Cj,alternate:Fj}),Aj=Object.freeze({preferred:Fj,alternate:Cj});var Tj=function(e,t){let{preferred:a,alternate:n}=!0===t||"'"===t?Dj:Aj,{length:r}=e,s=0,i=0;for(let o=0;oi?n:a).character};var Sj=function(e,t,a){for(let n=t;nr===n?r:s===t?"\\"+s:s||(a&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(r)?r:"\\"+r));return t+r+t}function Mj(e,t){return 2===arguments.length||"number"==typeof t?xj(e,t):function(e,t,a){return xj(e,a(t))}(...arguments)}function Oj(e,t=1){return async(...a)=>{let n=a[t]??{},r=n.plugins??[];return a[t]={...n,plugins:Array.isArray(r)?r:Object.values(r)},e(...a)}}var Uj=Oj(dj);async function jj(e,t){let{formatted:a}=await Uj(e,{...t,cursorOffset:-1});return a}async function Lj(e,t){return await jj(e,t)===e}var Rj,zj=Oj(gO,0),Hj={parse:Oj(async function(e,t,a){let{text:n,options:r}=cj(e,await OU(t)),s=await YU(n,r);return a&&(a.preprocessForPrint&&(s.ast=await KU(s.ast,r)),a.massage&&(s.ast=qU(s.ast,r))),s}),formatAST:Oj(async function(e,t){return t=await OU(t),OM(await WU(e,t),t)}),formatDoc:Oj(async function(e,t){let a=function(e){let t=Object.create(null),a=new Set;return function e(t,a,r){if("string"==typeof t)return JSON.stringify(t);if(Array.isArray(t)){let a=t.map(e).filter(Boolean);return 1===a.length?a[0]:`[${a.join(", ")}]`}if(t.type===MB){let e=r?.[a+1]?.type===UB;return t.literal?e?"literalline":"literallineWithoutBreakParent":t.hard?e?"hardline":"hardlineWithoutBreakParent":t.soft?"softline":"line"}if(t.type===UB)return r?.[a-1]?.type===MB&&r[a-1].hard?void 0:"breakParent";if(t.type===AB)return"trim";if(t.type===FB)return"indent("+e(t.contents)+")";if(t.type===DB)return t.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+e(t.contents)+")":t.n<0?"dedent("+e(t.contents)+")":"root"===t.n.type?"markAsRoot("+e(t.contents)+")":"align("+JSON.stringify(t.n)+", "+e(t.contents)+")";if(t.type===IB)return"ifBreak("+e(t.breakContents)+(t.flatContents?", "+e(t.flatContents):"")+(t.groupId?(t.flatContents?"":', ""')+`, { groupId: ${n(t.groupId)} }`:"")+")";if(t.type===PB){let a=[];t.negate&&a.push("negate: true"),t.groupId&&a.push(`groupId: ${n(t.groupId)}`);let r=a.length>0?`, { ${a.join(", ")} }`:"";return`indentIfBreak(${e(t.contents)}${r})`}if(t.type===TB){let a=[];t.break&&"propagated"!==t.break&&a.push("shouldBreak: true"),t.id&&a.push(`id: ${n(t.id)}`);let r=a.length>0?`, { ${a.join(", ")} }`:"";return t.expandedStates?`conditionalGroup([${t.expandedStates.map(t=>e(t)).join(",")}]${r})`:`group(${e(t.contents)}${r})`}if(t.type===SB)return`fill([${t.parts.map(t=>e(t)).join(", ")}])`;if(t.type===NB)return"lineSuffix("+e(t.contents)+")";if(t.type===BB)return"lineSuffixBoundary";if(t.type===OB)return`label(${JSON.stringify(t.label)}, ${e(t.contents)})`;if(t.type===CB)return"cursor";throw new Error("Unknown doc type "+t.type)}(bM(e));function n(e){if("symbol"!=typeof e)return JSON.stringify(String(e));if(e in t)return t[e];let n=e.description||"symbol";for(let r=0;;r++){let s=n+(r>0?` #${r}`:"");if(!a.has(s))return a.add(s),t[e]=`Symbol.for(${JSON.stringify(s)})`}}}(e),{formatted:n}=await dj(a,{...t,parser:"__js_expression"});return n}),printToDoc:Oj(async function(e,t){t=await OU(t);let{ast:a}=await YU(e,t);return t.cursorOffset>=0&&(t={...t,...JU(a,t)}),WU(a,t)}),printDocToString:Oj(async function(e,t){return OM(e,await OU(t))})},Yj={exports:{}};function $j(){return Rj||(Rj=1,Yj.exports=(e=function(){var t=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,s=(e,a)=>{for(var n in a)t(e,n,{get:a[n],enumerable:!0})},i=(e,s,i,o)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let l of n(s))!r.call(e,l)&&l!==i&&t(e,l,{get:()=>s[l],enumerable:!(o=a(s,l))||o.enumerable});return e},l=e=>i(t({},"__esModule",{value:!0}),e),c={};s(c,{parsers:()=>jr});var u={};function d(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}s(u,{__babel_estree:()=>Cr,__js_expression:()=>kr,__ts_expression:()=>_r,__vue_event_binding:()=>wr,__vue_expression:()=>kr,__vue_ts_event_binding:()=>xr,__vue_ts_expression:()=>_r,babel:()=>wr,"babel-flow":()=>Er,"babel-ts":()=>xr});var h=class{constructor(e,t,a){o(this,"line"),o(this,"column"),o(this,"index"),this.line=e,this.column=t,this.index=a}},p=class{constructor(e,t){o(this,"start"),o(this,"end"),o(this,"filename"),o(this,"identifierName"),this.start=e,this.end=t}};function f(e,t){let{line:a,column:n,index:r}=e;return new h(a,n+t,r+t)}var m="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED",g={ImportMetaOutsideModule:{message:"import.meta may appear only with 'sourceType: \"module\"'",code:m},ImportOutsideModule:{message:"'import' and 'export' may appear only with 'sourceType: \"module\"'",code:m}},y={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},v=e=>"UpdateExpression"===e.type?y.UpdateExpression[`${e.prefix}`]:y[e.type],b={AccessorIsGenerator:({kind:e})=>`A ${e}ter cannot be a generator.`,ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:({kind:e})=>`Missing initializer in ${e} declaration.`,DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:({exportName:e})=>`\`${e}\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:({localName:e,exportName:t})=>`A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${e}' as '${t}' } from 'some-module'\`?`,ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:({type:e})=>`'${"ForInStatement"===e?"for-in":"for-of"}' loop variable declaration may not have an initializer.`,ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:({type:e})=>`Unsyntactic ${"BreakStatement"===e?"break":"continue"}.`,IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.",ImportBindingIsString:({importName:e})=>`A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${e}" as foo }\`?`,ImportCallArity:"`import()` requires exactly one or two arguments.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverDiscardElement:"'void' must be followed by an expression when not used in a binding position.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:({radix:e})=>`Expected number in radix ${e}.`,InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:({reservedWord:e})=>`Escape sequence in keyword ${e}.`,InvalidIdentifier:({identifierName:e})=>`Invalid identifier ${e}.`,InvalidLhs:({ancestor:e})=>`Invalid left-hand side in ${v(e)}.`,InvalidLhsBinding:({ancestor:e})=>`Binding invalid left-hand side in ${v(e)}.`,InvalidLhsOptionalChaining:({ancestor:e})=>`Invalid optional chaining in the left-hand side of ${v(e)}.`,InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:({unexpected:e})=>`Unexpected character '${e}'.`,InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:({identifierName:e})=>`Private name #${e} is not defined.`,InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:({labelName:e})=>`Label '${e}' is already declared.`,LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:({missingPlugin:e})=>`This experimental syntax requires enabling the parser plugin: ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingOneOfPlugins:({missingPlugin:e})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:({key:e})=>`Duplicate key "${e}" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:e})=>`An export name cannot include a lone surrogate, found '\\u${e.toString(16)}'.`,ModuleExportUndefined:({localName:e})=>`Export '${e}' is not defined.`,MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:({identifierName:e})=>`Private names are only allowed in property accesses (\`obj.#${e}\`) or in \`in\` expressions (\`#${e} in obj\`).`,PrivateNameRedeclaration:({identifierName:e})=>`Duplicate private name #${e}.`,RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:({keyword:e})=>`Unexpected keyword '${e}'.`,UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:({reservedWord:e})=>`Unexpected reserved word '${e}'.`,UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:({expected:e,unexpected:t})=>`Unexpected token${t?` '${t}'.`:""}${e?`, expected "${e}"`:""}`,UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement.",UnexpectedVoidPattern:"Unexpected void binding.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:({target:e,onlyValidPropertyName:t})=>`The only valid meta property for ${e} is ${e}.${t}.`,UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationExport:"Using declaration cannot be exported.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:({identifierName:e})=>`Identifier '${e}' has already been declared.`,VoidPatternCatchClauseParam:"A void binding can not be the catch clause parameter. Use `try { ... } catch { ... }` if you want to discard the caught error.",VoidPatternInitializer:"A void binding may not have an initializer.",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",YieldNotInGeneratorFunction:"'yield' is only allowed within generator functions.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},w={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:({referenceName:e})=>`Assigning to '${e}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:e})=>`Binding '${e}' in strict mode.`,StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."},x={ParseExpressionEmptyInput:"Unexpected parseExpression() input: The input is empty or contains only comments.",ParseExpressionExpectsEOF:({unexpected:e})=>`Unexpected parseExpression() input: The input should contain exactly one expression, but the first expression is followed by the unexpected character \`${String.fromCodePoint(e)}\`.`},k=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),_=Object.assign({PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic references are only supported when using the `"proposal": "hack"` version of the pipeline proposal.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:({token:e})=>`Invalid topic token ${e}. In order to use ${e} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${e}" }.`,PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:({type:e})=>`Hack-style pipe body cannot be an unparenthesized ${v({type:e})}; please wrap it in parentheses.`},{}),E=["message"];function C(e,t,a){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:a})}function F({toMessage:e,code:t,reasonCode:a,syntaxPlugin:n}){let r="MissingPlugin"===a||"MissingOneOfPlugins"===a;return function s(i,o){let l=new SyntaxError;return l.code=t,l.reasonCode=a,l.loc=i,l.pos=i.index,l.syntaxPlugin=n,r&&(l.missingPlugin=o.missingPlugin),C(l,"clone",function(e={}){let{line:t,column:a,index:n}=e.loc??i;return s(new h(t,a,n),Object.assign({},o,e.details))}),C(l,"details",o),Object.defineProperty(l,"message",{configurable:!0,get(){let t=`${e(o)} (${i.line}:${i.column})`;return this.message=t,t},set(e){Object.defineProperty(this,"message",{value:e,writable:!0})}}),l}}function D(e,t){if(Array.isArray(e))return t=>D(t,e[0]);let a={};for(let n of Object.keys(e)){let r=e[n],s="string"==typeof r?{message:()=>r}:"function"==typeof r?{message:r}:r,{message:i}=s,o=d(s,E),l="string"==typeof i?()=>i:i;a[n]=F(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:n,toMessage:l},t?{syntaxPlugin:t}:{},o))}return a}var A=Object.assign({},D(g),D(b),D(w),D(x),D`pipelineOperator`(_));function T(){return{sourceType:"script",sourceFilename:void 0,startIndex:0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,allowYieldOutsideFunction:!1,plugins:[],strictMode:void 0,ranges:!1,tokens:!1,createImportExpressions:!0,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0}}function S(e){let t=T();if(null==e)return t;if(null!=e.annexB&&!1!==e.annexB)throw new Error("The `annexB` option can only be set to `false`.");for(let a of Object.keys(t))null!=e[a]&&(t[a]=e[a]);if(1===t.startLine)null==e.startIndex&&t.startColumn>0?t.startIndex=t.startColumn:null==e.startColumn&&t.startIndex>0&&(t.startColumn=t.startIndex);else if(null==e.startColumn||null==e.startIndex)throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");if("commonjs"===t.sourceType){if(null!=e.allowAwaitOutsideFunction)throw new Error("The `allowAwaitOutsideFunction` option cannot be used with `sourceType: 'commonjs'`.");if(null!=e.allowReturnOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowReturnOutsideFunction: true`, please remove the `allowReturnOutsideFunction` option or use `sourceType: 'script'`.");if(null!=e.allowNewTargetOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowNewTargetOutsideFunction: true`, please remove the `allowNewTargetOutsideFunction` option or use `sourceType: 'script'`.")}return t}var{defineProperty:I}=Object,P=(e,t)=>{e&&I(e,t,{enumerable:!1,value:e[t]})};function N(e){return P(e.loc.start,"index"),P(e.loc.end,"index"),e}var B=e=>class extends e{parse(){let e=N(super.parse());return 256&this.optionFlags&&(e.tokens=e.tokens.map(N)),e}parseRegExpLiteral({pattern:e,flags:t}){let a=null;try{a=new RegExp(e,t)}catch{}let n=this.estreeParseLiteral(a);return n.regex={pattern:e,flags:t},n}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch{t=null}let a=this.estreeParseLiteral(t);return a.bigint=String(a.value||e),a}parseDecimalLiteral(e){let t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}estreeParseChainExpression(e,t){let a=this.startNodeAtNode(e);return a.expression=e,this.finishNodeAt(a,"ChainExpression",t)}directiveToStmt(e){let t=e.value;delete e.value,this.castNodeTo(t,"Literal"),t.raw=t.extra.raw,t.value=t.extra.expressionValue;let a=this.castNodeTo(e,"ExpressionStatement");return a.expression=t,a.directive=t.extra.rawValue,delete t.extra,a}fillOptionalPropertiesForTSESLint(e){}cloneEstreeStringLiteral(e){let{start:t,end:a,loc:n,range:r,raw:s,value:i}=e,o=Object.create(e.constructor.prototype);return o.type="Literal",o.start=t,o.end=a,o.loc=n,o.range=r,o.raw=s,o.value=i,o}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!e.expression.extra?.parenthesized}parseBlockBody(e,t,a,n,r){super.parseBlockBody(e,t,a,n,r);let s=e.directives.map(e=>this.directiveToStmt(e));e.body=s.concat(e.body),delete e.directives}parsePrivateName(){let e=super.parsePrivateName();return this.convertPrivateNameToPrivateIdentifier(e)}convertPrivateNameToPrivateIdentifier(e){let t=super.getPrivateNameSV(e);return delete e.id,e.name=t,this.castNodeTo(e,"PrivateIdentifier")}isPrivateName(e){return"PrivateIdentifier"===e.type}getPrivateNameSV(e){return e.name}parseLiteral(e,t){let a=super.parseLiteral(e,t);return a.raw=a.extra.raw,delete a.extra,a}parseFunctionBody(e,t,a=!1){super.parseFunctionBody(e,t,a),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,a,n,r,s,i=!1){let o=this.startNode();o.kind=e.kind,o=super.parseMethod(o,t,a,n,r,s,i),delete o.kind;let{typeParameters:l}=e;l&&(delete e.typeParameters,o.typeParameters=l,this.resetStartLocationFromNode(o,l));let c=this.castNodeTo(o,this.hasPlugin("typescript")&&!o.body?"TSEmptyBodyFunctionExpression":"FunctionExpression");return e.value=c,"ClassPrivateMethod"===s&&(e.computed=!1),this.hasPlugin("typescript")&&e.abstract?(delete e.abstract,this.finishNode(e,"TSAbstractMethodDefinition")):"ObjectMethod"===s?("method"===e.kind&&(e.kind="init"),e.shorthand=!1,this.finishNode(e,"Property")):this.finishNode(e,"MethodDefinition")}nameIsConstructor(e){return"Literal"===e.type?"constructor"===e.value:super.nameIsConstructor(e)}parseClassProperty(...e){let t=super.parseClassProperty(...e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractPropertyDefinition")):this.castNodeTo(t,"PropertyDefinition"),t}parseClassPrivateProperty(...e){let t=super.parseClassPrivateProperty(...e);return t.abstract&&this.hasPlugin("typescript")?this.castNodeTo(t,"TSAbstractPropertyDefinition"):this.castNodeTo(t,"PropertyDefinition"),t.computed=!1,t}parseClassAccessorProperty(e){let t=super.parseClassAccessorProperty(e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractAccessorProperty")):this.castNodeTo(t,"AccessorProperty"),t}parseObjectProperty(e,t,a,n){let r=super.parseObjectProperty(e,t,a,n);return r&&(r.kind="init",this.castNodeTo(r,"Property")),r}finishObjectProperty(e){return e.kind="init",this.finishNode(e,"Property")}isValidLVal(e,t,a,n){return"Property"===e?"value":super.isValidLVal(e,t,a,n)}isAssignable(e,t){return null!=e&&this.isObjectProperty(e)?this.isAssignable(e.value,t):super.isAssignable(e,t)}toAssignable(e,t=!1){if(null!=e&&this.isObjectProperty(e)){let{key:a,value:n}=e;this.isPrivateName(a)&&this.classScope.usePrivateName(this.getPrivateNameSV(a),a.loc.start),this.toAssignable(n,t)}else super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,t,a){"Property"!==e.type||"get"!==e.kind&&"set"!==e.kind?"Property"===e.type&&e.method?this.raise(A.PatternHasMethod,e.key):super.toAssignableObjectExpressionProp(e,t,a):this.raise(A.PatternHasAccessor,e.key)}finishCallExpression(e,t){let a=super.finishCallExpression(e,t);return"Import"===a.callee.type?(this.castNodeTo(a,"ImportExpression"),a.source=a.arguments[0],a.options=a.arguments[1]??null,delete a.arguments,delete a.callee):"OptionalCallExpression"===a.type?this.castNodeTo(a,"CallExpression"):a.optional=!1,a}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e,t){let a=this.state.lastTokStartLoc,n=super.parseExport(e,t);switch(n.type){case"ExportAllDeclaration":n.exported=null;break;case"ExportNamedDeclaration":1===n.specifiers.length&&"ExportNamespaceSpecifier"===n.specifiers[0].type&&(this.castNodeTo(n,"ExportAllDeclaration"),n.exported=n.specifiers[0].exported,delete n.specifiers);case"ExportDefaultDeclaration":{let{declaration:e}=n;"ClassDeclaration"===e?.type&&e.decorators?.length>0&&e.start===n.start&&this.resetStartLocation(n,a)}}return n}stopParseSubscript(e,t){let a=super.stopParseSubscript(e,t);return t.optionalChainMember?this.estreeParseChainExpression(a,e.loc.end):a}parseMember(e,t,a,n,r){let s=super.parseMember(e,t,a,n,r);return"OptionalMemberExpression"===s.type?this.castNodeTo(s,"MemberExpression"):s.optional=!1,s}isOptionalMemberExpression(e){return"ChainExpression"===e.type?"MemberExpression"===e.expression.type:super.isOptionalMemberExpression(e)}hasPropertyAsPrivateName(e){return"ChainExpression"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return"Property"===e.type&&"init"===e.kind&&!e.method}isObjectMethod(e){return"Property"===e.type&&(e.method||"get"===e.kind||"set"===e.kind)}castNodeTo(e,t){let a=super.castNodeTo(e,t);return this.fillOptionalPropertiesForTSESLint(a),a}cloneIdentifier(e){let t=super.cloneIdentifier(e);return this.fillOptionalPropertiesForTSESLint(t),t}cloneStringLiteral(e){return"Literal"===e.type?this.cloneEstreeStringLiteral(e):super.cloneStringLiteral(e)}finishNodeAt(e,t,a){return N(super.finishNodeAt(e,t,a))}finishNode(e,t){let a=super.finishNode(e,t);return this.fillOptionalPropertiesForTSESLint(a),a}resetStartLocation(e,t){super.resetStartLocation(e,t),N(e)}resetEndLocation(e,t=this.state.lastTokEndLoc){super.resetEndLocation(e,t),N(e)}},M=class{constructor(e,t){o(this,"token"),o(this,"preserveSpace"),this.token=e,this.preserveSpace=!!t}},O={brace:new M("{"),j_oTag:new M("...",!0)},U=!0,j=!0,L=!0,R=!0,z=!0,H=!0,Y=class{constructor(e,t={}){o(this,"label"),o(this,"keyword"),o(this,"beforeExpr"),o(this,"startsExpr"),o(this,"rightAssociative"),o(this,"isLoop"),o(this,"isAssign"),o(this,"prefix"),o(this,"postfix"),o(this,"binop"),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null}},$=new Map;function G(e,t={}){t.keyword=e;let a=ee(e,t);return $.set(e,a),a}function W(e,t){return ee(e,{beforeExpr:U,binop:t})}var V=-1,K=[],J=[],q=[],Z=[],X=[],Q=[];function ee(e,t={}){return++V,J.push(e),q.push(t.binop??-1),Z.push(t.beforeExpr??!1),X.push(t.startsExpr??!1),Q.push(t.prefix??!1),K.push(new Y(e,t)),V}function te(e,t={}){return++V,$.set(e,V),J.push(e),q.push(t.binop??-1),Z.push(t.beforeExpr??!1),X.push(t.startsExpr??!1),Q.push(t.prefix??!1),K.push(new Y("name",t)),V}var ae={bracketL:ee("[",{beforeExpr:U,startsExpr:j}),bracketHashL:ee("#[",{beforeExpr:U,startsExpr:j}),bracketBarL:ee("[|",{beforeExpr:U,startsExpr:j}),bracketR:ee("]"),bracketBarR:ee("|]"),braceL:ee("{",{beforeExpr:U,startsExpr:j}),braceBarL:ee("{|",{beforeExpr:U,startsExpr:j}),braceHashL:ee("#{",{beforeExpr:U,startsExpr:j}),braceR:ee("}"),braceBarR:ee("|}"),parenL:ee("(",{beforeExpr:U,startsExpr:j}),parenR:ee(")"),comma:ee(",",{beforeExpr:U}),semi:ee(";",{beforeExpr:U}),colon:ee(":",{beforeExpr:U}),doubleColon:ee("::",{beforeExpr:U}),dot:ee("."),question:ee("?",{beforeExpr:U}),questionDot:ee("?."),arrow:ee("=>",{beforeExpr:U}),template:ee("template"),ellipsis:ee("...",{beforeExpr:U}),backQuote:ee("`",{startsExpr:j}),dollarBraceL:ee("${",{beforeExpr:U,startsExpr:j}),templateTail:ee("...`",{startsExpr:j}),templateNonTail:ee("...${",{beforeExpr:U,startsExpr:j}),at:ee("@"),hash:ee("#",{startsExpr:j}),interpreterDirective:ee("#!..."),eq:ee("=",{beforeExpr:U,isAssign:R}),assign:ee("_=",{beforeExpr:U,isAssign:R}),slashAssign:ee("_=",{beforeExpr:U,isAssign:R}),xorAssign:ee("_=",{beforeExpr:U,isAssign:R}),moduloAssign:ee("_=",{beforeExpr:U,isAssign:R}),incDec:ee("++/--",{prefix:z,postfix:H,startsExpr:j}),bang:ee("!",{beforeExpr:U,prefix:z,startsExpr:j}),tilde:ee("~",{beforeExpr:U,prefix:z,startsExpr:j}),doubleCaret:ee("^^",{startsExpr:j}),doubleAt:ee("@@",{startsExpr:j}),pipeline:W("|>",0),nullishCoalescing:W("??",1),logicalOR:W("||",1),logicalAND:W("&&",2),bitwiseOR:W("|",3),bitwiseXOR:W("^",4),bitwiseAND:W("&",5),equality:W("==/!=/===/!==",6),lt:W("/<=/>=",7),gt:W("/<=/>=",7),relational:W("/<=/>=",7),bitShift:W("<>/>>>",8),bitShiftL:W("<>/>>>",8),bitShiftR:W("<>/>>>",8),plusMin:ee("+/-",{beforeExpr:U,binop:9,prefix:z,startsExpr:j}),modulo:ee("%",{binop:10,startsExpr:j}),star:ee("*",{binop:10}),slash:W("/",10),exponent:ee("**",{beforeExpr:U,binop:11,rightAssociative:!0}),_in:G("in",{beforeExpr:U,binop:7}),_instanceof:G("instanceof",{beforeExpr:U,binop:7}),_break:G("break"),_case:G("case",{beforeExpr:U}),_catch:G("catch"),_continue:G("continue"),_debugger:G("debugger"),_default:G("default",{beforeExpr:U}),_else:G("else",{beforeExpr:U}),_finally:G("finally"),_function:G("function",{startsExpr:j}),_if:G("if"),_return:G("return",{beforeExpr:U}),_switch:G("switch"),_throw:G("throw",{beforeExpr:U,prefix:z,startsExpr:j}),_try:G("try"),_var:G("var"),_const:G("const"),_with:G("with"),_new:G("new",{beforeExpr:U,startsExpr:j}),_this:G("this",{startsExpr:j}),_super:G("super",{startsExpr:j}),_class:G("class",{startsExpr:j}),_extends:G("extends",{beforeExpr:U}),_export:G("export"),_import:G("import",{startsExpr:j}),_null:G("null",{startsExpr:j}),_true:G("true",{startsExpr:j}),_false:G("false",{startsExpr:j}),_typeof:G("typeof",{beforeExpr:U,prefix:z,startsExpr:j}),_void:G("void",{beforeExpr:U,prefix:z,startsExpr:j}),_delete:G("delete",{beforeExpr:U,prefix:z,startsExpr:j}),_do:G("do",{isLoop:L,beforeExpr:U}),_for:G("for",{isLoop:L}),_while:G("while",{isLoop:L}),_as:te("as",{startsExpr:j}),_assert:te("assert",{startsExpr:j}),_async:te("async",{startsExpr:j}),_await:te("await",{startsExpr:j}),_defer:te("defer",{startsExpr:j}),_from:te("from",{startsExpr:j}),_get:te("get",{startsExpr:j}),_let:te("let",{startsExpr:j}),_meta:te("meta",{startsExpr:j}),_of:te("of",{startsExpr:j}),_sent:te("sent",{startsExpr:j}),_set:te("set",{startsExpr:j}),_source:te("source",{startsExpr:j}),_static:te("static",{startsExpr:j}),_using:te("using",{startsExpr:j}),_yield:te("yield",{startsExpr:j}),_asserts:te("asserts",{startsExpr:j}),_checks:te("checks",{startsExpr:j}),_exports:te("exports",{startsExpr:j}),_global:te("global",{startsExpr:j}),_implements:te("implements",{startsExpr:j}),_intrinsic:te("intrinsic",{startsExpr:j}),_infer:te("infer",{startsExpr:j}),_is:te("is",{startsExpr:j}),_mixins:te("mixins",{startsExpr:j}),_proto:te("proto",{startsExpr:j}),_require:te("require",{startsExpr:j}),_satisfies:te("satisfies",{startsExpr:j}),_keyof:te("keyof",{startsExpr:j}),_readonly:te("readonly",{startsExpr:j}),_unique:te("unique",{startsExpr:j}),_abstract:te("abstract",{startsExpr:j}),_declare:te("declare",{startsExpr:j}),_enum:te("enum",{startsExpr:j}),_module:te("module",{startsExpr:j}),_namespace:te("namespace",{startsExpr:j}),_interface:te("interface",{startsExpr:j}),_type:te("type",{startsExpr:j}),_opaque:te("opaque",{startsExpr:j}),name:ee("name",{startsExpr:j}),placeholder:ee("%%",{startsExpr:j}),string:ee("string",{startsExpr:j}),num:ee("num",{startsExpr:j}),bigint:ee("bigint",{startsExpr:j}),decimal:ee("decimal",{startsExpr:j}),regexp:ee("regexp",{startsExpr:j}),privateName:ee("#name",{startsExpr:j}),eof:ee("eof"),jsxName:ee("jsxName"),jsxText:ee("jsxText",{beforeExpr:U}),jsxTagStart:ee("jsxTagStart",{startsExpr:j}),jsxTagEnd:ee("jsxTagEnd")};function ne(e){return e>=93&&e<=133}function re(e){return e<=92}function se(e){return e>=58&&e<=133}function ie(e){return e>=58&&e<=137}function oe(e){return Z[e]}function le(e){return X[e]}function ce(e){return e>=29&&e<=33}function ue(e){return e>=129&&e<=131}function de(e){return e>=90&&e<=92}function he(e){return e>=58&&e<=92}function pe(e){return e>=39&&e<=59}function fe(e){return 34===e}function me(e){return Q[e]}function ge(e){return e>=121&&e<=123}function ye(e){return e>=124&&e<=130}function ve(e){return J[e]}function be(e){return q[e]}function we(e){return 57===e}function xe(e){return e>=24&&e<=25}function ke(e){return K[e]}var _e="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-࢏ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚ౜ౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ೜-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ƛ꟱-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Ee="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-᫝᫠-᫫ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",Ce=new RegExp("["+_e+"]"),Fe=new RegExp("["+_e+Ee+"]");_e=Ee=null;var De=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,57,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,261,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7381,42,31,98,114,8702,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4381,3,5773,3,7472,16,621,2467,541,1507,4938,6,8489],Ae=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,78,5,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,266,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239];function Te(e,t){let a=65536;for(let n=0,r=t.length;ne)return!1;if(a+=t[n+1],a>=e)return!0}return!1}function Se(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Ce.test(String.fromCharCode(e)):Te(e,De)))}function Ie(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Fe.test(String.fromCharCode(e)):Te(e,De)||Te(e,Ae))))}var Pe={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},Ne=new Set(Pe.keyword),Be=new Set(Pe.strict),Me=new Set(Pe.strictBind);function Oe(e,t){return t&&"await"===e||"enum"===e}function Ue(e,t){return Oe(e,t)||Be.has(e)}function je(e){return Me.has(e)}function Le(e,t){return Ue(e,t)||je(e)}function Re(e){return Ne.has(e)}function ze(e,t,a){return 64===e&&64===t&&Se(a)}var He=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function Ye(e){return He.has(e)}var $e=class{constructor(e){o(this,"flags",0),o(this,"names",new Map),o(this,"firstLexicalName",""),this.flags=e}},Ge=class{constructor(e,t){o(this,"parser"),o(this,"scopeStack",[]),o(this,"inModule"),o(this,"undefinedExports",new Map),this.parser=e,this.inModule=t}get inTopLevel(){return(1&this.currentScope().flags)>0}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get allowNewTarget(){return(512&this.currentThisScopeFlags())>0}get inClass(){return(64&this.currentThisScopeFlags())>0}get inClassAndNotInNonArrowFunction(){let e=this.currentThisScopeFlags();return(64&e)>0&&!(2&e)}get inStaticBlock(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(128&t)return!0;if(1731&t)return!1}}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get inBareCaseStatement(){return(256&this.currentScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new $e(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(e){return!!(130&e.flags||!this.parser.inModule&&1&e.flags)}declareName(e,t,a){let n=this.currentScope();if(8&t||16&t){this.checkRedeclarationInScope(n,e,t,a);let r=n.names.get(e)||0;16&t?r|=4:(n.firstLexicalName||(n.firstLexicalName=e),r|=2),n.names.set(e,r),8&t&&this.maybeExportDefined(n,e)}else if(4&t)for(let r=this.scopeStack.length-1;r>=0&&(n=this.scopeStack[r],this.checkRedeclarationInScope(n,e,t,a),n.names.set(e,1|(n.names.get(e)||0)),this.maybeExportDefined(n,e),!(1667&n.flags));--r);this.parser.inModule&&1&n.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.parser.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,a,n){this.isRedeclaredInScope(e,t,a)&&this.parser.raise(A.VarRedeclaration,n,{identifierName:t})}isRedeclaredInScope(e,t,a){if(!(1&a))return!1;if(8&a)return e.names.has(t);let n=e.names.get(t)||0;return 16&a?(2&n)>0||!this.treatFunctionsAsVarInScope(e)&&(1&n)>0:(2&n)>0&&!(8&e.flags&&e.firstLexicalName===t)||!this.treatFunctionsAsVarInScope(e)&&(4&n)>0}checkLocalExport(e){let{name:t}=e;this.scopeStack[0].names.has(t)||this.undefinedExports.set(t,e.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(1667&t)return t}}currentThisScopeFlags(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(1731&t&&!(4&t))return t}}},We=class extends $e{constructor(){super(...arguments),o(this,"declareFunctions",new Set)}},Ve=class extends Ge{createScope(e){return new We(e)}declareName(e,t,a){let n=this.currentScope();if(2048&t)return this.checkRedeclarationInScope(n,e,t,a),this.maybeExportDefined(n,e),void n.declareFunctions.add(e);super.declareName(e,t,a)}isRedeclaredInScope(e,t,a){if(super.isRedeclaredInScope(e,t,a))return!0;if(2048&a&&!e.declareFunctions.has(t)){let a=e.names.get(t);return(4&a)>0||(2&a)>0}return!1}checkLocalExport(e){this.scopeStack[0].declareFunctions.has(e.name)||super.checkLocalExport(e)}},Ke=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),Je=D`flow`({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:({reservedType:e})=>`Cannot overwrite reserved type ${e}.`,DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:({memberName:e,enumName:t})=>`Boolean enum members need to be initialized. Use either \`${e} = true,\` or \`${e} = false,\` in enum \`${t}\`.`,EnumDuplicateMemberName:({memberName:e,enumName:t})=>`Enum member names need to be unique, but the name \`${e}\` has already been used before in enum \`${t}\`.`,EnumInconsistentMemberValues:({enumName:e})=>`Enum \`${e}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`,EnumInvalidExplicitType:({invalidEnumType:e,enumName:t})=>`Enum type \`${e}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`,EnumInvalidExplicitTypeUnknownSupplied:({enumName:e})=>`Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`,EnumInvalidMemberInitializerPrimaryType:({enumName:e,memberName:t,explicitType:a})=>`Enum \`${e}\` has type \`${a}\`, so the initializer of \`${t}\` needs to be a ${a} literal.`,EnumInvalidMemberInitializerSymbolType:({enumName:e,memberName:t})=>`Symbol enum members cannot be initialized. Use \`${t},\` in enum \`${e}\`.`,EnumInvalidMemberInitializerUnknownType:({enumName:e,memberName:t})=>`The enum member initializer for \`${t}\` needs to be a literal (either a boolean, number, or string) in enum \`${e}\`.`,EnumInvalidMemberName:({enumName:e,memberName:t,suggestion:a})=>`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${t}\`, consider using \`${a}\`, in enum \`${e}\`.`,EnumNumberMemberNotInitialized:({enumName:e,memberName:t})=>`Number enum members need to be initialized, e.g. \`${t} = 1\` in enum \`${e}\`.`,EnumStringMemberInconsistentlyInitialized:({enumName:e})=>`String enum members need to consistently either all use initializers, or use no initializers, in enum \`${e}\`.`,GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:({reservedType:e})=>`Unexpected reserved type ${e}.`,UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:({unsupportedExportKind:e,suggestion:t})=>`\`declare export ${e}\` is not supported. Use \`${t}\` instead.`,UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function qe(e){return"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type&&(!e.declaration||"TypeAlias"!==e.declaration.type&&"InterfaceDeclaration"!==e.declaration.type)}function Ze(e){return"type"===e.importKind||"typeof"===e.importKind}var Xe={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function Qe(e,t){let a=[],n=[];for(let r=0;rclass extends e{constructor(){super(...arguments),o(this,"flowPragma")}getScopeHandler(){return Ve}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}finishToken(e,t){134!==e&&13!==e&&28!==e&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){let t=et.exec(e.value);if(t)if("flow"===t[1])this.flowPragma="flow";else{if("noflow"!==t[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}}super.addComment(e)}flowParseTypeInitialiser(e){let t=this.state.inType;this.state.inType=!0,this.expect(e||14);let a=this.flowParseType();return this.state.inType=t,a}flowParsePredicate(){let e=this.startNode(),t=this.state.startLoc;return this.next(),this.expectContextual(110),this.state.lastTokStartLoc.index>t.index+1&&this.raise(Je.UnexpectedSpaceBetweenModuloChecks,t),this.eat(10)?(e.value=super.parseExpression(),this.expect(11),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){let e=this.state.inType;this.state.inType=!0,this.expect(14);let t=null,a=null;return this.match(54)?(this.state.inType=e,a=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(54)&&(a=this.flowParsePredicate())),[t,a]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();let t=e.id=this.parseIdentifier(),a=this.startNode(),n=this.startNode();this.match(47)?a.typeParameters=this.flowParseTypeParameterDeclaration():a.typeParameters=null,this.expect(10);let r=this.flowParseFunctionTypeParams();return a.params=r.params,a.rest=r.rest,a.this=r._this,this.expect(11),[a.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),n.typeAnnotation=this.finishNode(a,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.scope.declareName(e.id.name,2048,e.id.loc.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(80))return this.flowParseDeclareClass(e);if(this.match(68))return this.flowParseDeclareFunction(e);if(this.match(74))return this.flowParseDeclareVariable(e);if(this.eatContextual(127))return this.match(16)?this.flowParseDeclareModuleExports(e):(t&&this.raise(Je.NestedDeclareModule,this.state.lastTokStartLoc),this.flowParseDeclareModule(e));if(this.isContextual(130))return this.flowParseDeclareTypeAlias(e);if(this.isContextual(131))return this.flowParseDeclareOpaqueType(e);if(this.isContextual(129))return this.flowParseDeclareInterface(e);if(this.match(82))return this.flowParseDeclareExportDeclaration(e,t);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,5,e.id.loc.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(0),this.match(134)?e.id=super.parseExprAtom():e.id=this.parseIdentifier();let t=e.body=this.startNode(),a=t.body=[];for(this.expect(5);!this.match(8);){let e=this.startNode();this.match(83)?(this.next(),!this.isContextual(130)&&!this.match(87)&&this.raise(Je.InvalidNonTypeImportInDeclareModule,this.state.lastTokStartLoc),a.push(super.parseImport(e))):(this.expectContextual(125,Je.UnsupportedStatementInDeclareModule),a.push(this.flowParseDeclare(e,!0)))}this.scope.exit(),this.expect(8),this.finishNode(t,"BlockStatement");let n=null,r=!1;return a.forEach(e=>{qe(e)?("CommonJS"===n&&this.raise(Je.AmbiguousDeclareModuleKind,e),n="ES"):"DeclareModuleExports"===e.type&&(r&&this.raise(Je.DuplicateDeclareModuleExports,e),"ES"===n&&this.raise(Je.AmbiguousDeclareModuleKind,e),n="CommonJS",r=!0)}),e.kind=n||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(130)||this.isContextual(129))&&!t){let e=this.state.value;throw this.raise(Je.UnsupportedDeclareExportKind,this.state.startLoc,{unsupportedExportKind:e,suggestion:Xe[e]})}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(131))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(55)||this.match(5)||this.isContextual(129)||this.isContextual(130)||this.isContextual(131))return"ExportNamedDeclaration"===(e=this.parseExport(e,null)).type?(e.default=!1,delete e.exportKind,this.castNodeTo(e,"DeclareExportDeclaration")):this.castNodeTo(e,"DeclareExportAllDeclaration");throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual(111),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){this.next();let t=this.flowParseTypeAlias(e);return this.castNodeTo(t,"DeclareTypeAlias"),t}flowParseDeclareOpaqueType(e){this.next();let t=this.flowParseOpaqueType(e,!0);return this.castNodeTo(t,"DeclareOpaqueType"),t}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e,!1),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,t){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],this.eat(81))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(12));if(t){if(e.implements=[],e.mixins=[],this.eatContextual(117))do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(12));if(this.eatContextual(113))do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(12))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){let e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){"_"===e&&this.raise(Je.UnexpectedReservedUnderscore,this.state.startLoc)}checkReservedType(e,t,a){Ke.has(e)&&this.raise(a?Je.AssignReservedType:Je.UnexpectedReservedType,t,{reservedType:e})}flowParseRestrictedIdentifier(e,t){return this.checkReservedType(this.state.value,this.state.startLoc,t),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,t){return this.expectContextual(130),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(14)&&(e.supertype=this.flowParseTypeInitialiser(14)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){let t=this.state.startLoc,a=this.startNode(),n=this.flowParseVariance(),r=this.flowParseTypeAnnotatableIdentifier();return a.name=r.name,a.variance=n,a.bound=r.typeAnnotation,this.match(29)?(this.eat(29),a.default=this.flowParseType()):e&&this.raise(Je.MissingTypeParamDefault,t),this.finishNode(a,"TypeParameter")}flowParseTypeParameterDeclaration(){let e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.match(47)||this.match(143)?this.next():this.unexpected();let a=!1;do{let e=this.flowParseTypeParameter(a);t.params.push(e),e.default&&(a=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")}flowInTopLevelContext(e){if(this.curContext()===O.brace)return e();{let t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}}flowParseTypeParameterInstantiationInExpression(){if(47===this.reScan_lt())return this.flowParseTypeParameterInstantiation()}flowParseTypeParameterInstantiation(){let e=this.startNode(),t=this.state.inType;return this.state.inType=!0,e.params=[],this.flowInTopLevelContext(()=>{this.expect(47);let t=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)e.params.push(this.flowParseType()),this.match(48)||this.expect(12);this.state.noAnonFunctionType=t}),this.state.inType=t,!this.state.inType&&this.curContext()===O.brace&&this.reScan_lt_gt(),this.expect(48),this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){if(47!==this.reScan_lt())return null;let e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){let e=this.startNode();if(this.expectContextual(129),e.extends=[],this.eat(81))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(12));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(135)||this.match(134)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,a){return e.static=t,14===this.lookahead().type?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(3),e.value=this.flowParseTypeInitialiser(),e.variance=a,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start))):(e.method=!1,this.eat(17)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){let a=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(a),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:a,allowProto:n,allowInexact:r}){let s=this.state.inType;this.state.inType=!0;let i=this.startNode();i.callProperties=[],i.properties=[],i.indexers=[],i.internalSlots=[];let o,l,c=!1;for(t&&this.match(6)?(this.expect(6),o=9,l=!0):(this.expect(5),o=8,l=!1),i.exact=l;!this.match(o);){let t=!1,s=null,o=null,u=this.startNode();if(n&&this.isContextual(118)){let t=this.lookahead();14!==t.type&&17!==t.type&&(this.next(),s=this.state.startLoc,e=!1)}if(e&&this.isContextual(106)){let e=this.lookahead();14!==e.type&&17!==e.type&&(this.next(),t=!0)}let d=this.flowParseVariance();if(this.eat(0))null!=s&&this.unexpected(s),this.eat(0)?(d&&this.unexpected(d.loc.start),i.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):i.indexers.push(this.flowParseObjectTypeIndexer(u,t,d));else if(this.match(10)||this.match(47))null!=s&&this.unexpected(s),d&&this.unexpected(d.loc.start),i.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";(this.isContextual(99)||this.isContextual(104))&&ie(this.lookahead().type)&&(e=this.state.value,this.next());let n=this.flowParseObjectTypeProperty(u,t,s,d,e,a,r??!l);null===n?(c=!0,o=this.state.lastTokStartLoc):i.properties.push(n)}this.flowObjectTypeSemicolon(),o&&!this.match(8)&&!this.match(9)&&this.raise(Je.UnexpectedExplicitInexactInObject,o)}this.expect(o),a&&(i.inexact=c);let u=this.finishNode(i,"ObjectTypeAnnotation");return this.state.inType=s,u}flowParseObjectTypeProperty(e,t,a,n,r,s,i){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(s?i||this.raise(Je.InexactInsideExact,this.state.lastTokStartLoc):this.raise(Je.InexactInsideNonObject,this.state.lastTokStartLoc),n&&this.raise(Je.InexactVariance,n),null):(s||this.raise(Je.UnexpectedSpreadType,this.state.lastTokStartLoc),null!=a&&this.unexpected(a),n&&this.raise(Je.SpreadVariance,n),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=a,e.kind=r;let i=!1;return this.match(47)||this.match(10)?(e.method=!0,null!=a&&this.unexpected(a),n&&this.unexpected(n.loc.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start)),("get"===r||"set"===r)&&this.flowCheckGetterSetterParams(e),!s&&"constructor"===e.key.name&&e.value.this&&this.raise(Je.ThisParamBannedInConstructor,e.value.this)):("init"!==r&&this.unexpected(),e.method=!1,this.eat(17)&&(i=!0),e.value=this.flowParseTypeInitialiser(),e.variance=n),e.optional=i,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){let t="get"===e.kind?0:1,a=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise("get"===e.kind?Je.GetterMayNotHaveThisParam:Je.SetterMayNotHaveThisParam,e.value.this),a!==t&&this.raise("get"===e.kind?A.BadGetterArity:A.BadSetterArity,e),"set"===e.kind&&e.value.rest&&this.raise(A.BadSetterRestParameter,e)}flowObjectTypeSemicolon(){!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)&&this.unexpected()}flowParseQualifiedTypeIdentifier(e,t){e??(e=this.state.startLoc);let a=t||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){let t=this.startNodeAt(e);t.qualification=a,t.id=this.flowParseRestrictedIdentifier(!0),a=this.finishNode(t,"QualifiedTypeIdentifier")}return a}flowParseGenericType(e,t){let a=this.startNodeAt(e);return a.typeParameters=null,a.id=this.flowParseQualifiedTypeIdentifier(e,t),this.match(47)&&(a.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(a,"GenericTypeAnnotation")}flowParseTypeofType(){let e=this.startNode();return this.expect(87),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){let e=this.startNode();for(e.types=[],this.expect(0);this.state.possuper.parseFunctionBody(e,!0,a)):super.parseFunctionBody(e,!1,a)}parseFunctionBodyAndFinish(e,t,a=!1){if(this.match(14)){let t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}return super.parseFunctionBodyAndFinish(e,t,a)}parseStatementLike(e){if(this.state.strict&&this.isContextual(129)){if(se(this.lookahead().type)){let e=this.startNode();return this.next(),this.flowParseInterface(e)}}else if(this.isContextual(126)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}let t=super.parseStatementLike(e);return void 0===this.flowPragma&&!this.isValidDirective(t)&&(this.flowPragma=null),t}parseExpressionStatement(e,t,a){if("Identifier"===t.type)if("declare"===t.name){if(this.match(80)||ne(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(e)}else if(ne(this.state.type)){if("interface"===t.name)return this.flowParseInterface(e);if("type"===t.name)return this.flowParseTypeAlias(e);if("opaque"===t.name)return this.flowParseOpaqueType(e,!1)}return super.parseExpressionStatement(e,t,a)}shouldParseExportDeclaration(){let{type:e}=this.state;return 126===e||ue(e)?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:e}=this.state;return 126===e||ue(e)?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.isContextual(126)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,a){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){let t=this.lookaheadCharCode();if(44===t||61===t||58===t||41===t)return this.setOptionalParametersError(a),e}this.expect(17);let n=this.state.clone(),r=this.state.noArrowAt,s=this.startNodeAt(t),{consequent:i,failed:o}=this.tryParseConditionalConsequent(),[l,c]=this.getArrowLikeExpressions(i);if(o||c.length>0){let e=[...r];if(c.length>0){this.state=n,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(Je.AmbiguousConditionalArrow,n.startLoc),o&&1===l.length&&(this.state=n,e.push(l[0].start),this.state.noArrowAt=e,({consequent:i,failed:o}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(i,!0),this.state.noArrowAt=r,this.expect(14),s.test=e,s.consequent=i,s.alternate=this.forwardNoArrowParamsConversionAt(s,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(s,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let e=this.parseMaybeAssignAllowIn(),t=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){let a=[e],n=[];for(;0!==a.length;){let e=a.pop();"ArrowFunctionExpression"===e.type&&"BlockStatement"!==e.body.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):n.push(e),a.push(e.body)):"ConditionalExpression"===e.type&&(a.push(e.consequent),a.push(e.alternate))}return t?(n.forEach(e=>this.finishArrowValidation(e)),[n,[]]):Qe(n,e=>e.params.every(e=>this.isAssignable(e,!0)))}finishArrowValidation(e){this.toAssignableList(e.params,e.extra?.trailingCommaLoc,!1),this.scope.enter(518),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let a;return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start))?(this.state.noArrowParamsConversionAt.push(this.state.start),a=t(),this.state.noArrowParamsConversionAt.pop()):a=t(),a}parseParenItem(e,t){let a=super.parseParenItem(e,t);if(this.eat(17)&&(a.optional=!0,this.resetEndLocation(e)),this.match(14)){let e=this.startNodeAt(t);return e.expression=a,e.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(e,"TypeCastExpression")}return a}assertModuleNodeAllowed(e){"ImportDeclaration"===e.type&&("type"===e.importKind||"typeof"===e.importKind)||"ExportNamedDeclaration"===e.type&&"type"===e.exportKind||"ExportAllDeclaration"===e.type&&"type"===e.exportKind||super.assertModuleNodeAllowed(e)}parseExportDeclaration(e){if(this.isContextual(130)){e.exportKind="type";let t=this.startNode();return this.next(),this.match(5)?(e.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual(131)){e.exportKind="type";let t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual(129)){e.exportKind="type";let t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.isContextual(126)){e.exportKind="value";let t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return!!super.eatExportStar(e)||!(!this.isContextual(130)||55!==this.lookahead().type)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){let{startLoc:t}=this.state,a=super.maybeParseExportNamespaceSpecifier(e);return a&&"type"===e.exportKind&&this.unexpected(t),a}parseClassId(e,t,a){super.parseClassId(e,t,a),this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,a){let{startLoc:n}=this.state;if(this.isContextual(125)){if(super.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,a),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(Je.DeclareClassElement,n):t.value&&this.raise(Je.DeclareClassFieldInitializer,t.value))}isIterator(e){return"iterator"===e||"asyncIterator"===e}readIterator(){let e=super.readWord1(),t="@@"+e;(!this.isIterator(e)||!this.state.inType)&&this.raise(A.InvalidIdentifier,this.state.curPosition(),{identifierName:t}),this.finishToken(132,t)}getTokenFromCode(e){let t=this.input.charCodeAt(this.state.pos+1);123===e&&124===t?this.finishOp(6,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?46===t?this.finishOp(18,2):this.finishOp(17,1):ze(e,t,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e):this.finishOp(62===e?48:47,1)}isAssignable(e,t){return"TypeCastExpression"===e.type?this.isAssignable(e.expression,t):super.isAssignable(e,t)}toAssignable(e,t=!1){!t&&"AssignmentExpression"===e.type&&"TypeCastExpression"===e.left.type&&(e.left=this.typeCastToParameter(e.left)),super.toAssignable(e,t)}toAssignableList(e,t,a){for(let n=0;n1||!t)&&this.raise(Je.TypeCastInPattern,n.typeAnnotation)}return e}parseArrayLike(e,t,a){let n=super.parseArrayLike(e,t,a);return null!=a&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}isValidLVal(e,t,a,n){return"TypeCastExpression"===e||super.isValidLVal(e,t,a,n)}parseClassProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(14)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(14)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,a,n,r,s){if(t.variance&&this.unexpected(t.variance.loc.start),delete t.variance,this.match(47)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,a,n,r,s),t.params&&r){let e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(Je.ThisParamBannedInConstructor,t)}else if("MethodDefinition"===t.type&&r&&t.value.params){let e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(Je.ThisParamBannedInConstructor,t)}}pushClassPrivateMethod(e,t,a,n){t.variance&&this.unexpected(t.variance.loc.start),delete t.variance,this.match(47)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,a,n)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeArguments=this.flowParseTypeParameterInstantiationInExpression()),this.isContextual(113)){this.next();let t=e.implements=[];do{let e=this.startNode();e.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,t.push(this.finishNode(e,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);let t=this.getObjectOrClassMethodParams(e);if(t.length>0){let a=t[0];this.isThisParam(a)&&"get"===e.kind?this.raise(Je.GetterMayNotHaveThisParam,a):this.isThisParam(a)&&this.raise(Je.SetterMayNotHaveThisParam,a)}}parsePropertyNamePrefixOperator(e){e.variance=this.flowParseVariance()}parseObjPropValue(e,t,a,n,r,s,i){let o;e.variance&&this.unexpected(e.variance.loc.start),delete e.variance,this.match(47)&&!s&&(o=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());let l=super.parseObjPropValue(e,t,a,n,r,s,i);return o&&((l.value||l).typeParameters=o),l}parseFunctionParamType(e){return this.eat(17)&&("Identifier"!==e.type&&this.raise(Je.PatternIsOptional,e),this.isThisParam(e)&&this.raise(Je.ThisParamMayNotBeOptional,e),e.optional=!0),this.match(14)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(Je.ThisParamAnnotationRequired,e),this.match(29)&&this.isThisParam(e)&&this.raise(Je.ThisParamNoDefault,e),this.resetEndLocation(e),e}parseMaybeDefault(e,t){let a=super.parseMaybeDefault(e,t);return"AssignmentPattern"===a.type&&a.typeAnnotation&&a.right.startsuper.parseMaybeAssign(e,t),n),!a.error)return a.node;let{context:r}=this.state,s=r[r.length-1];(s===O.j_oTag||s===O.j_expr)&&r.pop()}if(a?.error||this.match(47)){n=n||this.state.clone();let r,s=this.tryParse(a=>{r=this.flowParseTypeParameterDeclaration();let n=this.forwardNoArrowParamsConversionAt(r,()=>{let a=super.parseMaybeAssign(e,t);return this.resetStartLocationFromNode(a,r),a});n.extra?.parenthesized&&a();let s=this.maybeUnwrapTypeCastExpression(n);return"ArrowFunctionExpression"!==s.type&&a(),s.typeParameters=r,this.resetStartLocationFromNode(s,r),n},n),i=null;if(s.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(s.node).type){if(!s.error&&!s.aborted)return s.node.async&&this.raise(Je.UnexpectedTypeParameterBeforeAsyncArrowFunction,r),s.node;i=s.node}if(a?.node)return this.state=a.failState,a.node;if(i)return this.state=s.failState,i;throw a?.thrown?a.error:s.thrown?s.error:this.raise(Je.UnexpectedTokenAfterTypeParameter,r)}return super.parseMaybeAssign(e,t)}parseArrow(e){if(this.match(14)){let t=this.tryParse(()=>{let t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let a=this.startNode();return[a.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),a});if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(e){return this.match(14)||super.shouldParseArrow(e)}setArrowFunctionParameters(e,t){this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start))?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,a,n=!0){if(!a||!this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start))){for(let t=0;t0&&this.raise(Je.ThisParamMustBeFirst,e.params[t]);super.checkParams(e,t,a,n)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&!this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)))}parseSubscripts(e,t,a){if("Identifier"===e.type&&"async"===e.name&&this.state.noArrowAt.includes(t.index)){this.next();let a=this.startNodeAt(t);a.callee=e,a.arguments=super.parseCallExpressionArguments(),e=this.finishNode(a,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.match(47)){let n=this.state.clone(),r=this.tryParse(e=>this.parseAsyncArrowWithTypeParameters(t)||e(),n);if(!r.error&&!r.aborted)return r.node;let s=this.tryParse(()=>super.parseSubscripts(e,t,a),n);if(s.node&&!s.error)return s.node;if(r.node)return this.state=r.failState,r.node;if(s.node)return this.state=s.failState,s.node;throw r.error||s.error}return super.parseSubscripts(e,t,a)}parseSubscript(e,t,a,n){if(this.match(18)&&this.isLookaheadToken_lt()){if(n.optionalChainMember=!0,a)return n.stop=!0,e;this.next();let r=this.startNodeAt(t);return r.callee=e,r.typeArguments=this.flowParseTypeParameterInstantiationInExpression(),this.expect(10),r.arguments=this.parseCallExpressionArguments(),r.optional=!0,this.finishCallExpression(r,!0)}if(!a&&this.shouldParseTypes()&&(this.match(47)||this.match(51))){let a=this.startNodeAt(t);a.callee=e;let r=this.tryParse(()=>(a.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),a.arguments=super.parseCallExpressionArguments(),n.optionalChainMember&&(a.optional=!1),this.finishCallExpression(a,n.optionalChainMember)));if(r.node)return r.error&&(this.state=r.failState),r.node}return super.parseSubscript(e,t,a,n)}parseNewCallee(e){super.parseNewCallee(e);let t=null;this.shouldParseTypes()&&this.match(47)&&(t=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=t}parseAsyncArrowWithTypeParameters(e){let t=this.startNodeAt(e);if(this.parseFunctionParams(t,!1),this.parseArrow(t))return super.parseArrowExpression(t,void 0,!0)}readToken_mult_modulo(e){let t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(e)}readToken_pipe_amp(e){let t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?super.readToken_pipe_amp(e):this.finishOp(9,2)}parseTopLevel(e,t){let a=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(Je.UnterminatedFlowComment,this.state.curPosition()),a}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment()){if(this.state.hasFlowComment)throw this.raise(Je.NestedFlowComment,this.state.startLoc);this.hasFlowCommentCompletion();let e=this.skipFlowComment();return void(e&&(this.state.pos+=e,this.state.hasFlowComment=!0))}return super.skipBlockComment(this.state.hasFlowComment?"*-/":"*/")}skipFlowComment(){let{pos:e}=this.state,t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;let a=this.input.charCodeAt(t+e),n=this.input.charCodeAt(t+e+1);return 58===a&&58===n?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===a&&58!==n&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(A.UnterminatedComment,this.state.curPosition())}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:a}){this.raise(Je.EnumBooleanMemberNotInitialized,e,{memberName:a,enumName:t})}flowEnumErrorInvalidMemberInitializer(e,t){return this.raise(t.explicitType?"symbol"===t.explicitType?Je.EnumInvalidMemberInitializerSymbolType:Je.EnumInvalidMemberInitializerPrimaryType:Je.EnumInvalidMemberInitializerUnknownType,e,t)}flowEnumErrorNumberMemberNotInitialized(e,t){this.raise(Je.EnumNumberMemberNotInitialized,e,t)}flowEnumErrorStringMemberInconsistentlyInitialized(e,t){this.raise(Je.EnumStringMemberInconsistentlyInitialized,e,t)}flowEnumMemberInit(){let e=this.state.startLoc,t=()=>this.match(12)||this.match(8);switch(this.state.type){case 135:{let a=this.parseNumericLiteral(this.state.value);return t()?{type:"number",loc:a.loc.start,value:a}:{type:"invalid",loc:e}}case 134:{let a=this.parseStringLiteral(this.state.value);return t()?{type:"string",loc:a.loc.start,value:a}:{type:"invalid",loc:e}}case 85:case 86:{let a=this.parseBooleanLiteral(this.match(85));return t()?{type:"boolean",loc:a.loc.start,value:a}:{type:"invalid",loc:e}}default:return{type:"invalid",loc:e}}}flowEnumMemberRaw(){let e=this.state.startLoc;return{id:this.parseIdentifier(!0),init:this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:e}}}flowEnumCheckExplicitTypeMismatch(e,t,a){let{explicitType:n}=t;null!==n&&n!==a&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){let a=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},r=!1;for(;!this.match(8);){if(this.eat(21)){r=!0;break}let s=this.startNode(),{id:i,init:o}=this.flowEnumMemberRaw(),l=i.name;if(""===l)continue;/^[a-z]/.test(l)&&this.raise(Je.EnumInvalidMemberName,i,{memberName:l,suggestion:l[0].toUpperCase()+l.slice(1),enumName:e}),a.has(l)&&this.raise(Je.EnumDuplicateMemberName,i,{memberName:l,enumName:e}),a.add(l);let c={enumName:e,explicitType:t,memberName:l};switch(s.id=i,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,"boolean"),s.init=o.value,n.booleanMembers.push(this.finishNode(s,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,"number"),s.init=o.value,n.numberMembers.push(this.finishNode(s,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,"string"),s.init=o.value,n.stringMembers.push(this.finishNode(s,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.loc,c);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.loc,c);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.loc,c);break;default:n.defaultedMembers.push(this.finishNode(s,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}return{members:n,hasUnknownMembers:r}}flowEnumStringMembers(e,t,{enumName:a}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(let t of e)this.flowEnumErrorStringMemberInconsistentlyInitialized(t,{enumName:a});return t}for(let n of t)this.flowEnumErrorStringMemberInconsistentlyInitialized(n,{enumName:a});return e}flowEnumParseExplicitType({enumName:e}){if(!this.eatContextual(102))return null;if(!ne(this.state.type))throw this.raise(Je.EnumInvalidExplicitTypeUnknownSupplied,this.state.startLoc,{enumName:e});let{value:t}=this.state;return this.next(),"boolean"!==t&&"number"!==t&&"string"!==t&&"symbol"!==t&&this.raise(Je.EnumInvalidExplicitType,this.state.startLoc,{enumName:e,invalidEnumType:t}),t}flowEnumBody(e,t){let a=t.name,n=t.loc.start,r=this.flowEnumParseExplicitType({enumName:a});this.expect(5);let{members:s,hasUnknownMembers:i}=this.flowEnumMembers({enumName:a,explicitType:r});switch(e.hasUnknownMembers=i,r){case"boolean":return e.explicitType=!0,e.members=s.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=s.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(s.stringMembers,s.defaultedMembers,{enumName:a}),this.expect(8),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=s.defaultedMembers,this.expect(8),this.finishNode(e,"EnumSymbolBody");default:{let t=()=>(e.members=[],this.expect(8),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;let r=s.booleanMembers.length,i=s.numberMembers.length,o=s.stringMembers.length,l=s.defaultedMembers.length;if(!(r||i||o||l))return t();if(!r&&!i)return e.members=this.flowEnumStringMembers(s.stringMembers,s.defaultedMembers,{enumName:a}),this.expect(8),this.finishNode(e,"EnumStringBody");if(!i&&!o&&r>=l){for(let e of s.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.loc.start,{enumName:a,memberName:e.id.name});return e.members=s.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody")}if(!r&&!o&&i>=l){for(let e of s.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.loc.start,{enumName:a,memberName:e.id.name});return e.members=s.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody")}return this.raise(Je.EnumInconsistentMemberValues,n,{enumName:a}),t()}}}flowParseEnumDeclaration(e){let t=this.parseIdentifier();return e.id=t,e.body=this.flowEnumBody(this.startNode(),t),this.finishNode(e,"EnumDeclaration")}jsxParseOpeningElementAfterName(e){return this.shouldParseTypes()&&(this.match(47)||this.match(51))&&(e.typeArguments=this.flowParseTypeParameterInstantiationInExpression()),super.jsxParseOpeningElementAfterName(e)}isLookaheadToken_lt(){let e=this.nextTokenStart();if(60===this.input.charCodeAt(e)){let t=this.input.charCodeAt(e+1);return 60!==t&&61!==t}return!1}reScan_lt_gt(){let{type:e}=this.state;47===e?(this.state.pos-=1,this.readToken_lt()):48===e&&(this.state.pos-=1,this.readToken_gt())}reScan_lt(){let{type:e}=this.state;return 51===e?(this.state.pos-=2,this.finishOp(47,1),47):e}maybeUnwrapTypeCastExpression(e){return"TypeCastExpression"===e.type?e.expression:e}},at=new RegExp(/\r\n|[\r\n\u2028\u2029]/.source,"g");function nt(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function rt(e,t,a){for(let n=t;n`Expected corresponding JSX closing tag for <${e}>.`,MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:({unexpected:e,HTMLEntity:t})=>`Unexpected token \`${e}\`. Did you mean \`${t}\` or \`{'${e}'}\`?`,UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function ct(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function ut(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return ut(e.object)+"."+ut(e.property);throw new Error("Node had unexpected type: "+e.type)}var dt=e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(lt.UnterminatedJsxContent,this.state.startLoc);let a=this.input.charCodeAt(this.state.pos);switch(a){case 60:case 123:return this.state.pos===this.state.start?void(60===a&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(143)):super.getTokenFromCode(a)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(142,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:this.raise(lt.UnexpectedToken,this.state.curPosition(),{unexpected:this.input[this.state.pos],HTMLEntity:125===a?"}":">"});default:nt(a)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){let t,a=this.input.charCodeAt(this.state.pos);return++this.state.pos,13===a&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(a),++this.state.curLine,this.state.lineStart=this.state.pos,t}jsxReadString(e){let t="",a=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(A.UnterminatedString,this.state.startLoc);let n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(a,this.state.pos),t+=this.jsxReadEntity(),a=this.state.pos):nt(n)?(t+=this.input.slice(a,this.state.pos),t+=this.jsxReadNewLine(!1),a=this.state.pos):++this.state.pos}t+=this.input.slice(a,this.state.pos++),this.finishToken(134,t)}jsxReadEntity(){let e=++this.state.pos;if(35===this.codePointAtPos(this.state.pos)){++this.state.pos;let e=10;120===this.codePointAtPos(this.state.pos)&&(e=16,++this.state.pos);let t=this.readInt(e,void 0,!1,"bail");if(null!==t&&59===this.codePointAtPos(this.state.pos))return++this.state.pos,String.fromCodePoint(t)}else{let t=0,a=!1;for(;t++<10&&this.state.pos1)for(let n=0;n0?!(256&a)||!!(512&a)!=(4&n)>0:128&a&&(8&n)>0?!!(2&e.names.get(t))&&!!(1&a):!!(2&a&&(1&n)>0)||super.isRedeclaredInScope(e,t,a)}checkLocalExport(e){let{name:t}=e;if(!this.hasImport(t)){for(let e=this.scopeStack.length-1;e>=0;e--){let a=this.scopeStack[e].tsNames.get(t);if((1&a)>0||(16&a)>0)return}super.checkLocalExport(e)}}},ft=class{constructor(){o(this,"stacks",[])}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}};function mt(e,t){return(e?2:0)|(t?1:0)}var gt=class{constructor(){o(this,"sawUnambiguousESM",!1),o(this,"ambiguousScriptDifferentAst",!1)}sourceToOffsetPos(e){return e+this.startIndex}offsetToSourcePos(e){return e-this.startIndex}hasPlugin(e){if("string"==typeof e)return this.plugins.has(e);{let[t,a]=e;if(!this.hasPlugin(t))return!1;let n=this.plugins.get(t);for(let e of Object.keys(a))if(n?.[e]!==a[e])return!1;return!0}}getPluginOption(e,t){return this.plugins.get(e)?.[t]}};function yt(e,t){void 0===e.trailingComments?e.trailingComments=t:e.trailingComments.unshift(...t)}function vt(e,t){void 0===e.leadingComments?e.leadingComments=t:e.leadingComments.unshift(...t)}function bt(e,t){void 0===e.innerComments?e.innerComments=t:e.innerComments.unshift(...t)}function wt(e,t,a){let n=null,r=t.length;for(;null===n&&r>0;)n=t[--r];null===n||n.start>a.start?bt(e,a.comments):yt(n,a.comments)}var xt=class extends gt{addComment(e){this.filename&&(e.loc.filename=this.filename);let{commentsLen:t}=this.state;this.comments.length!==t&&(this.comments.length=t),this.comments.push(e),this.state.commentsLen++}processComment(e){let{commentStack:t}=this.state,a=t.length;if(0===a)return;let n=a-1,r=t[n];r.start===e.end&&(r.leadingNode=e,n--);let{start:s}=e;for(;n>=0;n--){let a=t[n],r=a.end;if(!(r>s)){r===s&&(a.trailingNode=e);break}a.containingNode=e,this.finalizeComment(a),t.splice(n,1)}}finalizeComment(e){let{comments:t}=e;if(null!==e.leadingNode||null!==e.trailingNode)null!==e.leadingNode&&yt(e.leadingNode,t),null!==e.trailingNode&&vt(e.trailingNode,t);else{let a=e.containingNode,n=e.start;if(44===this.input.charCodeAt(this.offsetToSourcePos(n)-1))switch(a.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":wt(a,a.properties,e);break;case"CallExpression":case"OptionalCallExpression":wt(a,a.arguments,e);break;case"ImportExpression":wt(a,[a.source,a.options??null],e);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":wt(a,a.params,e);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":wt(a,a.elements,e);break;case"ExportNamedDeclaration":case"ImportDeclaration":wt(a,a.specifiers,e);break;case"TSEnumDeclaration":default:bt(a,t);break;case"TSEnumBody":wt(a,a.members,e)}else bt(a,t)}}finalizeRemainingComments(){let{commentStack:e}=this.state;for(let t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(e){let{commentStack:t}=this.state,{length:a}=t;if(0===a)return;let n=t[a-1];n.leadingNode===e&&(n.leadingNode=null)}takeSurroundingComments(e,t,a){let{commentStack:n}=this.state,r=n.length;if(0===r)return;let s=r-1;for(;s>=0;s--){let r=n[s],i=r.end;if(r.start===a)r.leadingNode=e;else if(i===t)r.trailingNode=e;else if(i0}set strict(e){e?this.flags|=1:this.flags&=-2}init({strictMode:e,sourceType:t,startIndex:a,startLine:n,startColumn:r}){this.strict=!1!==e&&(!0===e||"module"===t),this.startIndex=a,this.curLine=n,this.lineStart=-r,this.startLoc=this.endLoc=new h(n,r,a)}get maybeInArrowParameters(){return(2&this.flags)>0}set maybeInArrowParameters(e){e?this.flags|=2:this.flags&=-3}get inType(){return(4&this.flags)>0}set inType(e){e?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(8&this.flags)>0}set noAnonFunctionType(e){e?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(16&this.flags)>0}set hasFlowComment(e){e?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(32&this.flags)>0}set isAmbientContext(e){e?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(64&this.flags)>0}set inAbstractClass(e){e?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(128&this.flags)>0}set inDisallowConditionalTypesContext(e){e?this.flags|=128:this.flags&=-129}get soloAwait(){return(256&this.flags)>0}set soloAwait(e){e?this.flags|=256:this.flags&=-257}get inFSharpPipelineDirectBody(){return(512&this.flags)>0}set inFSharpPipelineDirectBody(e){e?this.flags|=512:this.flags&=-513}get canStartJSXElement(){return(1024&this.flags)>0}set canStartJSXElement(e){e?this.flags|=1024:this.flags&=-1025}get containsEsc(){return(2048&this.flags)>0}set containsEsc(e){e?this.flags|=2048:this.flags&=-2049}get hasTopLevelAwait(){return(4096&this.flags)>0}set hasTopLevelAwait(e){e?this.flags|=4096:this.flags&=-4097}curPosition(){return new h(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){let t=new e;return t.flags=this.flags,t.startIndex=this.startIndex,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.potentialArrowAt=this.potentialArrowAt,t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.topicContext=this.topicContext,t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}},_t=function(e){return e>=48&&e<=57},Et={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},Ct={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function Ft(e,t,a,n,r,s){let i=a,o=n,l=r,c="",u=null,d=a,{length:h}=t;for(;;){if(a>=h){s.unterminated(i,o,l),c+=t.slice(d,a);break}let p=t.charCodeAt(a);if(Dt(e,p,t,a)){c+=t.slice(d,a);break}if(92===p){c+=t.slice(d,a);let i=At(t,a,n,r,"template"===e,s);null!==i.ch||u?c+=i.ch:u={pos:a,lineStart:n,curLine:r},({pos:a,lineStart:n,curLine:r}=i),d=a}else 8232===p||8233===p?(++r,n=++a):10===p||13===p?"template"===e?(c+=t.slice(d,a)+"\n",++a,13===p&&10===t.charCodeAt(a)&&++a,++r,d=n=a):s.unterminated(i,o,l):++a}return{pos:a,str:c,firstInvalidLoc:u,lineStart:n,curLine:r}}function Dt(e,t,a,n){return"template"===e?96===t||36===t&&123===a.charCodeAt(n+1):t===("double"===e?34:39)}function At(e,t,a,n,r,s){let i=!r;t++;let o=e=>({pos:t,ch:e,lineStart:a,curLine:n}),l=e.charCodeAt(t++);switch(l){case 110:return o("\n");case 114:return o("\r");case 120:{let r;return({code:r,pos:t}=Tt(e,t,a,n,2,!1,i,s)),o(null===r?null:String.fromCharCode(r))}case 117:{let r;return({code:r,pos:t}=It(e,t,a,n,i,s)),o(null===r?null:String.fromCodePoint(r))}case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:a=t,++n;case 8232:case 8233:return o("");case 56:case 57:if(r)return o(null);s.strictNumericEscape(t-1,a,n);default:if(l>=48&&l<=55){let i=t-1,l=/^[0-7]+/.exec(e.slice(i,t+2))[0],c=parseInt(l,8);c>255&&(l=l.slice(0,-1),c=parseInt(l,8)),t+=l.length-1;let u=e.charCodeAt(t);if("0"!==l||56===u||57===u){if(r)return o(null);s.strictNumericEscape(i,a,n)}return o(String.fromCharCode(c))}return o(String.fromCharCode(l))}}function Tt(e,t,a,n,r,s,i,o){let l,c=t;return({n:l,pos:t}=St(e,t,a,n,16,r,s,!1,o,!i)),null===l&&(i?o.invalidEscapeSequence(c,a,n):t=c-1),{code:l,pos:t}}function St(e,t,a,n,r,s,i,o,l,c){let u=t,d=16===r?Et.hex:Et.decBinOct,h=16===r?Ct.hex:10===r?Ct.dec:8===r?Ct.oct:Ct.bin,p=!1,f=0;for(let m=0,g=s??1/0;m=97?u-97+10:u>=65?u-65+10:_t(u)?u-48:1/0,s>=r){if(s<=9&&c)return{n:null,pos:t};if(s<=9&&l.invalidDigit(t,a,n,r))s=0;else{if(!i)break;s=0,p=!0}}++t,f=f*r+s}return t===u||null!=s&&t-u!==s||p?{n:null,pos:t}:{n:f,pos:t}}function It(e,t,a,n,r,s){let i;if(123===e.charCodeAt(t)){if(++t,({code:i,pos:t}=Tt(e,t,a,n,e.indexOf("}",t)-t,!0,r,s)),++t,null!==i&&i>1114111){if(!r)return{code:null,pos:t};s.invalidCodePoint(t,a,n)}}else({code:i,pos:t}=Tt(e,t,a,n,4,!1,r,s));return{code:i,pos:t}}function Pt(e,t,a){return new h(a,e-t,e)}var Nt=new Set([103,109,115,105,121,117,100,118]),Bt=class{constructor(e){let t=e.startIndex||0;this.type=e.type,this.value=e.value,this.start=t+e.start,this.end=t+e.end,this.loc=new p(e.startLoc,e.endLoc)}},Mt=class extends xt{constructor(e,t){super(),o(this,"isLookahead"),o(this,"tokens",[]),o(this,"errorHandlers_readInt",{invalidDigit:(e,t,a,n)=>!!(2048&this.optionFlags)&&(this.raise(A.InvalidDigit,Pt(e,t,a),{radix:n}),!0),numericSeparatorInEscapeSequence:this.errorBuilder(A.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(A.UnexpectedNumericSeparator)}),o(this,"errorHandlers_readCodePoint",Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(A.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(A.InvalidCodePoint)})),o(this,"errorHandlers_readStringContents_string",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,t,a)=>{this.recordStrictModeErrors(A.StrictNumericEscape,Pt(e,t,a))},unterminated:(e,t,a)=>{throw this.raise(A.UnterminatedString,Pt(e-1,t,a))}})),o(this,"errorHandlers_readStringContents_template",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(A.StrictNumericEscape),unterminated:(e,t,a)=>{throw this.raise(A.UnterminatedTemplate,Pt(e,t,a))}})),this.state=new kt,this.state.init(e),this.input=t,this.length=t.length,this.comments=[],this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),256&this.optionFlags&&this.pushToken(new Bt(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}lookahead(){let e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){return st.lastIndex=e,st.test(this.input)?st.lastIndex:e}lookaheadCharCode(){return this.lookaheadCharCodeSince(this.state.pos)}lookaheadCharCodeSince(e){return this.input.charCodeAt(this.nextTokenStartSince(e))}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(e){return it.lastIndex=e,it.test(this.input)?it.lastIndex:e}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++ethis.raise(e,t)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(140):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(e){let t;this.isLookahead||(t=this.state.curPosition());let a=this.state.pos,n=this.input.indexOf(e,a+2);if(-1===n)throw this.raise(A.UnterminatedComment,this.state.curPosition());for(this.state.pos=n+e.length,at.lastIndex=a+2;at.test(this.input)&&at.lastIndex<=n;)++this.state.curLine,this.state.lineStart=at.lastIndex;if(this.isLookahead)return;let r={type:"CommentBlock",value:this.input.slice(a+2,n),start:this.sourceToOffsetPos(a),end:this.sourceToOffsetPos(n+e.length),loc:new p(t,this.state.curPosition())};return 256&this.optionFlags&&this.pushToken(r),r}skipLineComment(e){let t,a=this.state.pos;this.isLookahead||(t=this.state.curPosition());let n=this.input.charCodeAt(this.state.pos+=e);if(this.state.pose))break e;{let e=this.skipLineComment(3);void 0!==e&&(this.addComment(e),t?.push(e))}}else{if(60!==a||this.inModule||!(8192&this.optionFlags))break e;{let e=this.state.pos;if(33!==this.input.charCodeAt(e+1)||45!==this.input.charCodeAt(e+2)||45!==this.input.charCodeAt(e+3))break e;{let e=this.skipLineComment(4);void 0!==e&&(this.addComment(e),t?.push(e))}}}}}if(t?.length>0){let a=this.state.pos,n={start:this.sourceToOffsetPos(e),end:this.sourceToOffsetPos(a),comments:t,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(n)}}finishToken(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let a=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(a)}replaceToken(e){this.state.type=e,this.updateContext()}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;let e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(A.UnexpectedDigitAfterHash,this.state.curPosition());Se(t)?(++this.state.pos,this.finishToken(139,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(139,this.readWord1())):this.finishOp(27,1)}readToken_dot(){let e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;let t=this.state.pos;for(this.state.pos+=1;!nt(e)&&++this.state.pos=48&&t<=57?(++this.state.pos,this.finishToken(17)):(this.state.pos+=2,this.finishToken(18))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(10);case 41:return++this.state.pos,void this.finishToken(11);case 59:return++this.state.pos,void this.finishToken(13);case 44:return++this.state.pos,void this.finishToken(12);case 91:return++this.state.pos,void this.finishToken(0);case 93:return++this.state.pos,void this.finishToken(3);case 123:return++this.state.pos,void this.finishToken(5);case 125:return++this.state.pos,void this.finishToken(8);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(15,2):(++this.state.pos,this.finishToken(14)));case 63:return void this.readToken_question();case 96:return void this.readTemplateToken();case 48:{let e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:return void this.readToken_lt();case 62:return void this.readToken_gt();case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(36,1);case 64:return void this.readToken_atSign();case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(Se(e))return void this.readWord(e)}throw this.raise(A.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(e)})}finishOp(e,t){let a=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,a)}readRegexp(){let e,t,a=this.state.startLoc,n=this.state.start+1,{pos:r}=this.state;for(;;++r){if(r>=this.length)throw this.raise(A.UnterminatedRegExp,f(a,1));let n=this.input.charCodeAt(r);if(nt(n))throw this.raise(A.UnterminatedRegExp,f(a,1));if(e)e=!1;else{if(91===n)t=!0;else if(93===n&&t)t=!1;else if(47===n&&!t)break;e=92===n}}let s=this.input.slice(n,r);++r;let i="",o=()=>f(a,r+2-n);for(;r=2&&48===this.input.charCodeAt(t);if(i){let e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(A.StrictOctalLiteral,a),!this.state.strict){let t=e.indexOf("_");t>0&&this.raise(A.ZeroDigitNumericSeparator,f(a,t))}s=i&&!/[89]/.test(e)}let o=this.input.charCodeAt(this.state.pos);if(46===o&&!s&&(++this.state.pos,this.readInt(10),n=!0,o=this.input.charCodeAt(this.state.pos)),(69===o||101===o)&&!s&&(o=this.input.charCodeAt(++this.state.pos),(43===o||45===o)&&++this.state.pos,null===this.readInt(10)&&this.raise(A.InvalidOrMissingExponent,a),n=!0,o=this.input.charCodeAt(this.state.pos)),110===o&&((n||i)&&this.raise(A.InvalidBigIntLiteral,a),++this.state.pos,r=!0),Se(this.codePointAtPos(this.state.pos)))throw this.raise(A.NumberIdentifier,this.state.curPosition());let l=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(136,l);let c=s?parseInt(l,8):parseFloat(l);this.finishToken(135,c)}readCodePoint(e){let{code:t,pos:a}=It(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint);return this.state.pos=a,t}readString(e){let{str:t,pos:a,curLine:n,lineStart:r}=Ft(34===e?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=a+1,this.state.lineStart=r,this.state.curLine=n,this.finishToken(134,t)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let e=this.input[this.state.pos],{str:t,firstInvalidLoc:a,pos:n,curLine:r,lineStart:s}=Ft("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=n+1,this.state.lineStart=s,this.state.curLine=r,a&&(this.state.firstInvalidTemplateEscapePos=new h(a.curLine,a.pos-a.lineStart,this.sourceToOffsetPos(a.pos))),96===this.input.codePointAt(n)?this.finishToken(24,a?null:e+t+"`"):(this.state.pos++,this.finishToken(25,a?null:e+t+"${"))}recordStrictModeErrors(e,t){let a=t.index;this.state.strict&&!this.state.strictErrors.has(a)?this.raise(e,t):this.state.strictErrors.set(a,[e,t])}readWord1(e){this.state.containsEsc=!1;let t="",a=this.state.pos,n=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos=0;i--){let t=s[i];if(t.loc.index===r)return s[i]=e(n,a);if(t.loc.indexthis.hasPlugin(e)))throw this.raise(A.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:e})}errorBuilder(e){return(t,a,n)=>{this.raise(e,Pt(t,a,n))}}},Ot=class{constructor(){o(this,"privateNames",new Set),o(this,"loneAccessors",new Map),o(this,"undefinedPrivateNames",new Map)}},Ut=class{constructor(e){o(this,"parser"),o(this,"stack",[]),o(this,"undefinedPrivateNames",new Map),this.parser=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Ot)}exit(){let e=this.stack.pop(),t=this.current();for(let[a,n]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(a)||t.undefinedPrivateNames.set(a,n):this.parser.raise(A.InvalidPrivateFieldResolution,n,{identifierName:a})}declarePrivateName(e,t,a){let{privateNames:n,loneAccessors:r,undefinedPrivateNames:s}=this.current(),i=n.has(e);if(3&t){let a=i&&r.get(e);a?(i=(3&a)==(3&t)||(4&a)!=(4&t),i||r.delete(e)):i||r.set(e,t)}i&&this.parser.raise(A.PrivateNameRedeclaration,a,{identifierName:e}),n.add(e),s.delete(e)}usePrivateName(e,t){let a;for(a of this.stack)if(a.privateNames.has(e))return;a?a.undefinedPrivateNames.set(e,t):this.parser.raise(A.InvalidPrivateFieldResolution,t,{identifierName:e})}},jt=class{constructor(e=0){this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}},Lt=class extends jt{constructor(e){super(e),o(this,"declarationErrors",new Map)}recordDeclarationError(e,t){let a=t.index;this.declarationErrors.set(a,[e,t])}clearDeclarationError(e){this.declarationErrors.delete(e)}iterateErrors(e){this.declarationErrors.forEach(e)}},Rt=class{constructor(e){o(this,"parser"),o(this,"stack",[new jt]),this.parser=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){let a=t.loc.start,{stack:n}=this,r=n.length-1,s=n[r];for(;!s.isCertainlyParameterDeclaration();){if(!s.canBeArrowParameterDeclaration())return;s.recordDeclarationError(e,a),s=n[--r]}this.parser.raise(e,a)}recordArrowParameterBindingError(e,t){let{stack:a}=this,n=a[a.length-1],r=t.loc.start;if(n.isCertainlyParameterDeclaration())this.parser.raise(e,r);else{if(!n.canBeArrowParameterDeclaration())return;n.recordDeclarationError(e,r)}}recordAsyncArrowParametersError(e){let{stack:t}=this,a=t.length-1,n=t[a];for(;n.canBeArrowParameterDeclaration();)2===n.type&&n.recordDeclarationError(A.AwaitBindingIdentifier,e),n=t[--a]}validateAsPattern(){let{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors(([t,a])=>{this.parser.raise(t,a);let n=e.length-2,r=e[n];for(;r.canBeArrowParameterDeclaration();)r.clearDeclarationError(a.index),r=e[--n]})}};function zt(){return new jt(3)}function Ht(){return new Lt(1)}function Yt(){return new Lt(2)}function $t(){return new jt}var Gt=class extends Mt{addExtra(e,t,a,n=!0){if(!e)return;let{extra:r}=e;null==r&&(r={},e.extra=r),n?r[t]=a:Object.defineProperty(r,t,{enumerable:n,value:a})}isContextual(e){return this.state.type===e&&!this.state.containsEsc}isUnparsedContextual(e,t){if(this.input.startsWith(t,e)){let a=this.input.charCodeAt(e+t.length);return!(Ie(a)||55296==(64512&a))}return!1}isLookaheadContextual(e){let t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return!!this.isContextual(e)&&(this.next(),!0)}expectContextual(e,t){if(!this.eatContextual(e)){if(null!=t)throw this.raise(t,this.state.startLoc);this.unexpected(null,e)}}canInsertSemicolon(){return this.match(140)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return rt(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return rt(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(13))||this.raise(A.MissingSemicolon,this.state.lastTokEndLoc)}expect(e,t){this.eat(e)||this.unexpected(t,e)}tryParse(t,a=this.state.clone()){let n={node:null};try{let e=t((e=null)=>{throw n.node=e,n});if(this.state.errors.length>a.errors.length){let t=this.state;return this.state=a,this.state.tokensLength=t.tokensLength,{node:e,error:t.errors[a.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:e,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){let r=this.state;if(this.state=a,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;let{shorthandAssignLoc:a,doubleProtoLoc:n,privateKeyLoc:r,optionalParametersLoc:s,voidPatternLoc:i}=e;if(!t)return!!(a||n||s||r||i);null!=a&&this.raise(A.InvalidCoverInitializedName,a),null!=n&&this.raise(A.DuplicateProto,n),null!=r&&this.raise(A.UnexpectedPrivateField,r),null!=s&&this.unexpected(s),null!=i&&this.raise(A.InvalidCoverDiscardElement,i)}isLiteralPropertyName(){return ie(this.state.type)}isPrivateName(e){return"PrivateName"===e.type}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&this.isPrivateName(e.property)}isObjectProperty(e){return"ObjectProperty"===e.type}isObjectMethod(e){return"ObjectMethod"===e.type}initializeScopes(e="module"===this.options.sourceType){let t=this.state.labels;this.state.labels=[];let a=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let n=this.inModule;this.inModule=e;let r=this.scope,s=this.getScopeHandler();this.scope=new s(this,e);let i=this.prodParam;this.prodParam=new ft;let o=this.classScope;this.classScope=new Ut(this);let l=this.expressionScope;return this.expressionScope=new Rt(this),()=>{this.state.labels=t,this.exportedIdentifiers=a,this.inModule=n,this.scope=r,this.prodParam=i,this.classScope=o,this.expressionScope=l}}enterInitialScopes(){let e=0;(this.inModule||1&this.optionFlags)&&(e|=2),32&this.optionFlags&&(e|=1);let t=!this.inModule&&"commonjs"===this.options.sourceType;(t||2&this.optionFlags)&&(e|=4),this.prodParam.enter(e);let a=t?514:1;4&this.optionFlags&&(a|=512),16&this.optionFlags&&(a|=48),this.scope.enter(a)}checkDestructuringPrivate(e){let{privateKeyLoc:t}=e;null!==t&&this.expectPlugin("destructuringPrivate",t)}},Wt=class{constructor(){o(this,"shorthandAssignLoc",null),o(this,"doubleProtoLoc",null),o(this,"privateKeyLoc",null),o(this,"optionalParametersLoc",null),o(this,"voidPatternLoc",null)}},Vt=class{constructor(e,t,a){o(this,"type",""),this.start=t,this.end=0,this.loc=new p(a),128&e?.optionFlags&&(this.range=[t,0]),e?.filename&&(this.loc.filename=e.filename)}},Kt=Vt.prototype,Jt=class extends Gt{startNode(){let e=this.state.startLoc;return new Vt(this,e.index,e)}startNodeAt(e){return new Vt(this,e.index,e)}startNodeAtNode(e){return this.startNodeAt(e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}finishNodeAt(e,t,a){return e.type=t,e.end=a.index,e.loc.end=a,128&this.optionFlags&&(e.range[1]=a.index),4096&this.optionFlags&&this.processComment(e),e}resetStartLocation(e,t){e.start=t.index,e.loc.start=t,128&this.optionFlags&&(e.range[0]=t.index)}resetEndLocation(e,t=this.state.lastTokEndLoc){e.end=t.index,e.loc.end=t,128&this.optionFlags&&(e.range[1]=t.index)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.loc.start)}castNodeTo(e,t){return e.type=t,e}cloneIdentifier(e){let{type:t,start:a,end:n,loc:r,range:s,name:i}=e,o=Object.create(Kt);return o.type=t,o.start=a,o.end=n,o.loc=r,o.range=s,o.name=i,e.extra&&(o.extra=e.extra),o}cloneStringLiteral(e){let{type:t,start:a,end:n,loc:r,range:s,extra:i}=e,o=Object.create(Kt);return o.type=t,o.start=a,o.end=n,o.loc=r,o.range=s,o.extra=i,o.value=e.value,o}},qt=e=>"ParenthesizedExpression"===e.type?qt(e.expression):e,Zt=class extends Jt{toAssignable(e,t=!1){let a;switch(("ParenthesizedExpression"===e.type||e.extra?.parenthesized)&&(a=qt(e),t?"Identifier"===a.type?this.expressionScope.recordArrowParameterBindingError(A.InvalidParenthesizedAssignment,e):"CallExpression"!==a.type&&"MemberExpression"!==a.type&&!this.isOptionalMemberExpression(a)&&this.raise(A.InvalidParenthesizedAssignment,e):this.raise(A.InvalidParenthesizedAssignment,e)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":case"VoidPattern":break;case"ObjectExpression":this.castNodeTo(e,"ObjectPattern");for(let a=0,n=e.properties.length,r=n-1;a"ObjectMethod"!==e.type&&(a===t||"SpreadElement"!==e.type)&&this.isAssignable(e))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every(e=>null===e||this.isAssignable(e));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toReferencedList(e,t){return e}toReferencedListDeep(e,t){this.toReferencedList(e,t);for(let a of e)"ArrayExpression"===a?.type&&this.toReferencedListDeep(a.elements)}parseSpread(e){let t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e,void 0),this.finishNode(t,"SpreadElement")}parseRestBinding(){let e=this.startNode();this.next();let t=this.parseBindingAtom();return"VoidPattern"===t.type&&this.raise(A.UnexpectedVoidPattern,t),e.argument=t,this.finishNode(e,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{let e=this.startNode();return this.next(),e.elements=this.parseBindingList(3,93,1),this.finishNode(e,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0);case 88:return this.parseVoidPattern(null)}return this.parseIdentifier()}parseBindingList(e,t,a){let n=1&a,r=[],s=!0;for(;!this.eat(e);)if(s?s=!1:this.expect(12),n&&this.match(12))r.push(null);else{if(this.eat(e))break;if(this.match(21)){let n=this.parseRestBinding();if(2&a&&(n=this.parseFunctionParamType(n)),r.push(n),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{let e=[];if(2&a)for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(A.UnsupportedParameterDecorator,this.state.startLoc);this.match(26);)e.push(this.parseDecorator());r.push(this.parseBindingElement(a,e))}}return r}parseBindingRestProperty(e){return this.next(),this.hasPlugin("discardBinding")&&this.match(88)?(e.argument=this.parseVoidPattern(null),this.raise(A.UnexpectedVoidPattern,e.argument)):e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,"RestElement")}parseBindingProperty(){let{type:e,startLoc:t}=this.state;if(21===e)return this.parseBindingRestProperty(this.startNode());let a=this.startNode();return 139===e?(this.expectPlugin("destructuringPrivate",t),this.classScope.usePrivateName(this.state.value,t),a.key=this.parsePrivateName()):this.parsePropertyName(a),a.method=!1,this.parseObjPropValue(a,t,!1,!1,!0,!1)}parseBindingElement(e,t){let a=this.parseMaybeDefault();return 2&e&&this.parseFunctionParamType(a),t.length&&(a.decorators=t,this.resetStartLocationFromNode(a,t[0])),this.parseMaybeDefault(a.loc.start,a)}parseFunctionParamType(e){return e}parseMaybeDefault(e,t){if(e??(e=this.state.startLoc),t=t??this.parseBindingAtom(),!this.eat(29))return t;let a=this.startNodeAt(e);return"VoidPattern"===t.type&&this.raise(A.VoidPatternInitializer,t),a.left=t,a.right=this.parseMaybeAssignAllowIn(),this.finishNode(a,"AssignmentPattern")}isValidLVal(e,t,a,n){switch(e){case"AssignmentPattern":return"left";case"RestElement":return"argument";case"ObjectProperty":return"value";case"ParenthesizedExpression":return"expression";case"ArrayPattern":return"elements";case"ObjectPattern":return"properties";case"VoidPattern":return!0;case"CallExpression":if(!t&&!this.state.strict&&8192&this.optionFlags)return!0}return!1}isOptionalMemberExpression(e){return"OptionalMemberExpression"===e.type}checkLVal(e,t,a=64,n=!1,r=!1,s=!1,i=!1){let o=e.type;if(this.isObjectMethod(e))return;let l=this.isOptionalMemberExpression(e);if(l||"MemberExpression"===o)return l&&(this.expectPlugin("optionalChainingAssign",e.loc.start),"AssignmentExpression"!==t.type&&this.raise(A.InvalidLhsOptionalChaining,e,{ancestor:t})),void(64!==a&&this.raise(A.InvalidPropertyBindingPattern,e));if("Identifier"===o){this.checkIdentifier(e,a,r);let{name:t}=e;return void(n&&(n.has(t)?this.raise(A.ParamDupe,e):n.add(t)))}"VoidPattern"===o&&"CatchClause"===t.type&&this.raise(A.VoidPatternCatchClauseParam,e);let c=qt(e);i||(i="CallExpression"===c.type&&("Import"===c.callee.type||"Super"===c.callee.type));let u,d,h=this.isValidLVal(o,i,!(s||e.extra?.parenthesized)&&"AssignmentExpression"===t.type,a);if(!0===h)return;if(!1===h){let n=64===a?A.InvalidLhs:A.InvalidLhsBinding;return void this.raise(n,e,{ancestor:t})}"string"==typeof h?(u=h,d="ParenthesizedExpression"===o):[u,d]=h;let p="ArrayPattern"===o||"ObjectPattern"===o?{type:o}:t,f=e[u];if(Array.isArray(f))for(let m of f)m&&this.checkLVal(m,p,a,n,r,d,!0);else f&&this.checkLVal(f,p,a,n,r,d,i)}checkIdentifier(e,t,a=!1){this.state.strict&&(a?Le(e.name,this.inModule):je(e.name))&&(64===t?this.raise(A.StrictEvalArguments,e,{referenceName:e.name}):this.raise(A.StrictEvalArgumentsBinding,e,{bindingName:e.name})),8192&t&&"let"===e.name&&this.raise(A.LetInLexicalBinding,e),64&t||this.declareNameFromIdentifier(e,t)}declareNameFromIdentifier(e,t){this.scope.declareName(e.name,t,e.loc.start)}checkToRestConversion(e,t){switch(e.type){case"ParenthesizedExpression":this.checkToRestConversion(e.expression,t);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(t)break;default:this.raise(A.InvalidRestAssignmentPattern,e)}}checkCommaAfterRest(e){return!!this.match(12)&&(this.raise(this.lookaheadCharCode()===e?A.RestTrailingComma:A.ElementAfterRest,this.state.startLoc),!0)}},Xt=/in(?:stanceof)?|as|satisfies/y;function Qt(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}function ea(e){if(!e)throw new Error("Assert fail")}var ta=D`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",AccessorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccessorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:({modifier:e})=>`Accessibility modifier already seen: '${e}'.`,DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidHeritageClauseType:({token:e})=>`'${e}' list can only include identifiers or qualified-names with optional type arguments.`,InvalidModifierOnAwaitUsingDeclaration:e=>`'${e}' modifier cannot appear on an await using declaration.`,InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifierOnUsingDeclaration:e=>`'${e}' modifier cannot appear on a using declaration.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifier:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccessorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccessorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`,UsingDeclarationInAmbientContext:e=>`'${e}' declarations are not allowed in ambient contexts.`});function aa(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function na(e){return"private"===e||"public"===e||"protected"===e}function ra(e){return"in"===e||"out"===e}function sa(e){if(e.extra?.parenthesized)return!1;switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&sa(e.object);case"TSInstantiationExpression":return sa(e.expression);default:return!1}}var ia=e=>class extends e{constructor(){super(...arguments),o(this,"tsParseInOutModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:ta.InvalidModifierOnTypeParameter})),o(this,"tsParseConstModifier",this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:ta.InvalidModifierOnTypeParameterPositions})),o(this,"tsParseInOutConstModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:ta.InvalidModifierOnTypeParameter}))}getScopeHandler(){return pt}tsIsIdentifier(){return ne(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(139)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(106)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(e,t,a){if(!ne(this.state.type)&&58!==this.state.type&&75!==this.state.type)return;let n=this.state.value;if(e.includes(n)){if(a&&this.match(106)||t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return n}}tsParseModifiers({allowedModifiers:e,disallowedModifiers:t,stopOnStartOfClassStaticBlock:a,errorTemplate:n=ta.InvalidModifierOnTypeMember},r){let s=(e,t,a,n)=>{t===a&&r[n]&&this.raise(ta.InvalidModifiersOrder,e,{orderedModifiers:[a,n]})},i=(e,t,a,n)=>{(r[a]&&t===n||r[n]&&t===a)&&this.raise(ta.IncompatibleModifiers,e,{modifiers:[a,n]})};for(;;){let{startLoc:o}=this.state,l=this.tsParseModifier(e.concat(t??[]),a,r.static);if(!l)break;na(l)?r.accessibility?this.raise(ta.DuplicateAccessibilityModifier,o,{modifier:l}):(s(o,l,l,"override"),s(o,l,l,"static"),s(o,l,l,"readonly"),r.accessibility=l):ra(l)?(r[l]&&this.raise(ta.DuplicateModifier,o,{modifier:l}),r[l]=!0,s(o,l,"in","out")):(Object.prototype.hasOwnProperty.call(r,l)?this.raise(ta.DuplicateModifier,o,{modifier:l}):(s(o,l,"static","readonly"),s(o,l,"static","override"),s(o,l,"override","readonly"),s(o,l,"abstract","override"),i(o,l,"declare","override"),i(o,l,"static","abstract")),r[l]=!0),t?.includes(l)&&this.raise(n,o,{modifier:l})}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(e,t){let a=[];for(;!this.tsIsListTerminator(e);)a.push(t());return a}tsParseDelimitedList(e,t,a){return Qt(this.tsParseDelimitedListWorker(e,t,!0,a))}tsParseDelimitedListWorker(e,t,a,n){let r=[],s=-1;for(;!this.tsIsListTerminator(e);){s=-1;let n=t();if(null==n)return;if(r.push(n),!this.eat(12)){if(this.tsIsListTerminator(e))break;return void(a&&this.expect(12))}s=this.state.lastTokStartLoc.index}return n&&(n.value=s),r}tsParseBracketedList(e,t,a,n,r){n||(a?this.expect(0):this.expect(47));let s=this.tsParseDelimitedList(e,t,r);return a?this.expect(3):this.expect(48),s}tsParseImportType(){let e=this.startNode();return this.expect(83),this.expect(10),this.match(134)?e.argument=this.tsParseLiteralTypeNode():(this.raise(ta.UnsupportedImportTypeArgument,this.state.startLoc),e.argument=this.tsParseNonConditionalType()),this.eat(12)?e.options=this.tsParseImportTypeOptions():e.options=null,this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName(3)),this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseImportTypeOptions(){let e=this.startNode();this.expect(5);let t=this.startNode();return this.isContextual(76)?(t.method=!1,t.key=this.parseIdentifier(!0),t.computed=!1,t.shorthand=!1):this.unexpected(null,76),this.expect(14),t.value=this.tsParseImportTypeWithPropertyValue(),e.properties=[this.finishObjectProperty(t)],this.eat(12),this.expect(8),this.finishNode(e,"ObjectExpression")}tsParseImportTypeWithPropertyValue(){let e=this.startNode(),t=[];for(this.expect(5);!this.match(8);){let e=this.state.type;ne(e)||134===e?t.push(super.parsePropertyDefinition(null)):this.unexpected(),this.eat(12)}return e.properties=t,this.next(),this.finishNode(e,"ObjectExpression")}tsParseEntityName(e){let t;if(1&e&&this.match(78))if(2&e)t=this.parseIdentifier(!0);else{let e=this.startNode();this.next(),t=this.finishNode(e,"ThisExpression")}else t=this.parseIdentifier(!!(1&e));for(;this.eat(16);){let a=this.startNodeAtNode(t);a.left=t,a.right=this.parseIdentifier(!!(1&e)),t=this.finishNode(a,"TSQualifiedName")}return t}tsParseTypeReference(){let e=this.startNode();return e.typeName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();let t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){let e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){let e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(e){let t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(81),t.default=this.tsEatThenParseType(29),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){let t=this.startNode();this.match(47)||this.match(143)?this.next():this.unexpected();let a={value:-1};return t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,a),0===t.params.length&&this.raise(ta.EmptyTypeParameters,t),-1!==a.value&&this.addExtra(t,"trailingComma",a.value),this.finishNode(t,"TSTypeParameterDeclaration")}tsFillSignature(e,t){let a=19===e,n="params",r="returnType";t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),t[n]=this.tsParseBindingListForSignature(),(a||this.match(e))&&(t[r]=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){let e=super.parseBindingList(11,41,2);for(let t of e){let{type:e}=t;("AssignmentPattern"===e||"TSParameterProperty"===e)&&this.raise(ta.UnsupportedSignatureParameterKind,t,{type:e})}return e}tsParseTypeMemberSemicolon(){!this.eat(12)&&!this.isLineTerminator()&&this.expect(13)}tsParseSignatureMember(e,t){return this.tsFillSignature(14,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),!!ne(this.state.type)&&(this.next(),this.match(14))}tsTryParseIndexSignature(e){if(!this.match(0)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(0);let t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(3),e.parameters=[t];let a=this.tsTryParseTypeAnnotation();return a&&(e.typeAnnotation=a),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){if(this.eat(17)&&(e.optional=!0),this.match(10)||this.match(47)){t&&this.raise(ta.ReadonlyForMethodSignature,e);let a=e;a.kind&&this.match(47)&&this.raise(ta.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(14,a),this.tsParseTypeMemberSemicolon();let n="params",r="returnType";if("get"===a.kind)a[n].length>0&&(this.raise(A.BadGetterArity,this.state.curPosition()),this.isThisParam(a[n][0])&&this.raise(ta.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if("set"===a.kind){if(1!==a[n].length)this.raise(A.BadSetterArity,this.state.curPosition());else{let e=a[n][0];this.isThisParam(e)&&this.raise(ta.AccessorCannotDeclareThisParameter,this.state.curPosition()),"Identifier"===e.type&&e.optional&&this.raise(ta.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),"RestElement"===e.type&&this.raise(ta.SetAccessorCannotHaveRestParameter,this.state.curPosition())}a[r]&&this.raise(ta.SetAccessorCannotHaveReturnType,a[r])}else a.kind="method";return this.finishNode(a,"TSMethodSignature")}{let a=e;t&&(a.readonly=!0);let n=this.tsTryParseTypeAnnotation();return n&&(a.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(a,"TSPropertySignature")}}tsParseTypeMember(){let e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){let t=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}return this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e),this.tsTryParseIndexSignature(e)||(super.parsePropertyName(e),!e.computed&&"Identifier"===e.key.type&&("get"===e.key.name||"set"===e.key.name)&&this.tsTokenCanFollowModifier()&&(e.kind=e.key.name,super.parsePropertyName(e),!this.match(10)&&!this.match(47)&&this.unexpected(null,10)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){let e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);let e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(122):(this.isContextual(122)&&this.next(),!(!this.match(0)||(this.next(),!this.tsIsIdentifier()))&&(this.next(),this.match(58)))}tsParseMappedType(){let e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(122)):this.eatContextual(122)&&(e.readonly=!0),this.expect(0),e.key=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}tsParseTupleType(){let e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{let{type:a}=e;t&&"TSRestType"!==a&&"TSOptionalType"!==a&&!("TSNamedTupleMember"===a&&e.optional)&&this.raise(ta.OptionalTypeBeforeRequired,e),t||(t="TSNamedTupleMember"===a&&e.optional||"TSOptionalType"===a)}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){let e,t,a,n,r=this.state.startLoc,s=this.eat(21),{startLoc:i}=this.state,o=se(this.state.type)?this.lookaheadCharCode():null;if(58===o)e=!0,a=!1,t=this.parseIdentifier(!0),this.expect(14),n=this.tsParseType();else if(63===o){a=!0;let r=this.state.value,s=this.tsParseNonArrayType();58===this.lookaheadCharCode()?(e=!0,t=this.createIdentifier(this.startNodeAt(i),r),this.expect(17),this.expect(14),n=this.tsParseType()):(e=!1,n=s,this.expect(17))}else n=this.tsParseType(),a=this.eat(17),e=this.eat(14);if(e){let e;t?(e=this.startNodeAt(i),e.optional=a,e.label=t,e.elementType=n,this.eat(17)&&(e.optional=!0,this.raise(ta.TupleOptionalAfterType,this.state.lastTokStartLoc))):(e=this.startNodeAt(i),e.optional=a,this.raise(ta.InvalidTupleMemberLabel,n),e.label=n,e.elementType=this.tsParseType()),n=this.finishNode(e,"TSNamedTupleMember")}else if(a){let e=this.startNodeAt(i);e.typeAnnotation=n,n=this.finishNode(e,"TSOptionalType")}if(s){let e=this.startNodeAt(r);e.typeAnnotation=n,n=this.finishNode(e,"TSRestType")}return n}tsParseParenthesizedType(){let e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){let a=this.startNode();return"TSConstructorType"===e&&(a.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,a)),this.finishNode(a,e)}tsParseLiteralTypeNode(){let e=this.startNode();switch(this.state.type){case 135:case 136:case 134:case 85:case 86:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){{let e=this.state.startLoc,t=this.parseTemplateElement(!1),a=[t];if(t.tail){let t=this.startNodeAt(e),n=this.startNodeAt(e);return n.expressions=[],n.quasis=a,t.literal=this.finishNode(n,"TemplateLiteral"),this.finishNode(t,"TSLiteralType")}{let n=[];for(;!t.tail;)n.push(this.tsParseType()),this.readTemplateContinuation(),a.push(t=this.parseTemplateElement(!1));let r=this.startNodeAt(e);return r.types=n,r.quasis=a,this.finishNode(r,"TSTemplateLiteralType")}}}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let e=this.tsParseThisTypeNode();return this.isContextual(116)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 134:case 135:case 136:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if("-"===this.state.value){let e=this.startNode(),t=this.lookahead();return 135!==t.type&&136!==t.type&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:if(!(1024&this.optionFlags)){let e=this.state.startLoc;this.next();let t=this.tsParseType();return this.expect(11),this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),t}return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{let{type:e}=this.state;if(ne(e)||88===e||84===e){let t=88===e?"TSVoidKeyword":84===e?"TSNullKeyword":aa(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){let e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}throw this.unexpected()}tsParseArrayTypeOrHigher(){let{startLoc:e}=this.state,t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){let a=this.startNodeAt(e);a.elementType=t,this.expect(3),t=this.finishNode(a,"TSArrayType")}else{let a=this.startNodeAt(e);a.objectType=t,a.indexType=this.tsParseType(),this.expect(3),t=this.finishNode(a,"TSIndexedAccessType")}return t}tsParseTypeOperator(){let e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(ta.UnexpectedReadonly,e)}}tsParseInferType(){let e=this.startNode();this.expectContextual(115);let t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){let e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){return ge(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,t,a){let n=this.startNode(),r=this.eat(a),s=[];do{s.push(t())}while(this.eat(a));return 1!==s.length||r?(n.types=s,this.finishNode(n,e)):s[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return!!this.match(47)||this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(ne(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){let{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(8,!0),e.length===t}catch{return!1}}if(this.match(0)){this.next();let{errors:e}=this.state,t=e.length;try{return super.parseBindingList(3,93,1),e.length===t}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(11)||this.match(21)||this.tsSkipParameterStart()&&(this.match(14)||this.match(12)||this.match(17)||this.match(29)||this.match(11)&&(this.next(),this.match(19))))}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{let t=this.startNode();this.expect(e);let a=this.startNode(),n=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(n&&this.match(78)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(a.parameterName=e,a.asserts=!0,a.typeAnnotation=null,e=this.finishNode(a,"TSTypePredicate")):(this.resetStartLocationFromNode(e,a),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}let r=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!r)return n?(a.parameterName=this.parseIdentifier(),a.asserts=n,a.typeAnnotation=null,t.typeAnnotation=this.finishNode(a,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);let s=this.tsParseTypeAnnotation(!1);return a.parameterName=r,a.typeAnnotation=s,a.asserts=n,t.typeAnnotation=this.finishNode(a,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}tsTryParseTypeAnnotation(){if(this.match(14))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){let e=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(109!==this.state.type)return!1;let e=this.state.containsEsc;return this.next(),!(!ne(this.state.type)&&!this.match(78)||(e&&this.raise(A.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"}),0))}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(14),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){ea(this.state.inType);let e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;let t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),t.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),t.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(124)&&this.isLookaheadContextual("new")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(ta.ReservedTypeAssertion,this.state.startLoc);let e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){let t=this.state.startLoc,a=this.tsParseDelimitedList("HeritageClauseElement",()=>{{let t=super.parseExprSubscripts();sa(t)||this.raise(ta.InvalidHeritageClauseType,t.loc.start,{token:e});let a="extends"===e?"TSInterfaceHeritage":"TSClassImplements";if("TSInstantiationExpression"===t.type)return t.type=a,t;let n=this.startNodeAtNode(t);return n.expression=t,(this.match(47)||this.match(51))&&(n.typeArguments=this.tsParseTypeArgumentsInExpression()),this.finishNode(n,a)}});return a.length||this.raise(ta.EmptyHeritageClauseType,t,{token:e}),a}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(129),t.declare&&(e.declare=!0),ne(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(ta.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));let a=this.startNode();return a.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(a,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(114)&&46!==this.lookaheadCharCode()){let e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInTopLevelContext(e){if(this.curContext()===O.brace)return e();{let t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}}tsInType(e){let t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType(()=>(this.expect(e),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){let e=this.startNode();return e.id=this.match(134)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(126),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),e.body=this.tsParseEnumBody(),this.finishNode(e,"TSEnumDeclaration")}tsParseEnumBody(){let e=this.startNode();return this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumBody")}tsParseModuleBlock(){let e=this.startNode();return this.scope.enter(0),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){return e.id=this.tsParseEntityName(1),"Identifier"===e.id.type&&this.checkIdentifier(e.id,1024),this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(112)?(e.kind="global",e.id=this.parseIdentifier()):this.match(134)?(e.kind="module",e.id=super.parseStringLiteral(this.state.value)):this.unexpected(),this.match(5)?(this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t,a){e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(29);let n=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==n.type&&this.raise(ta.ImportAliasHasImportType,n),e.moduleReference=n,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(119)&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(0)}tsParseExternalModuleReference(){let e=this.startNode();return this.expectContextual(119),this.expect(10),this.match(134)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){let t=this.state.clone(),a=e();return this.state=t,a}tsTryParseAndCatch(e){let t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){let t=this.state.clone(),a=e();if(void 0!==a&&!1!==a)return a;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t=this.state.type;return this.tsInAmbientContext(()=>{switch(t){case 68:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 80:return e.declare=!0,this.parseClass(e,!0,!1);case 126:return this.tsParseEnumDeclaration(e,{declare:!0});case 112:return this.tsParseAmbientExternalModuleDeclaration(e);case 100:if(this.state.containsEsc)return;case 75:case 74:return this.match(75)&&this.isLookaheadContextual("enum")?(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0})):(e.declare=!0,this.parseVarStatement(e,this.state.value,!0));case 107:if(this.isUsing())return this.raise(ta.InvalidModifierOnUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.parseVarStatement(e,"using",!0);break;case 96:if(this.isAwaitUsing())return this.raise(ta.InvalidModifierOnAwaitUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.next(),this.parseVarStatement(e,"await using",!0);break;case 129:{let t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(ne(t))return this.tsParseDeclaration(e,this.state.type,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.type,!0,null)}tsParseDeclaration(e,t,a,n){switch(t){case 124:if(this.tsCheckLineTerminator(a)&&(this.match(80)||ne(this.state.type)))return this.tsParseAbstractDeclaration(e,n);break;case 127:if(this.tsCheckLineTerminator(a)){if(this.match(134))return this.tsParseAmbientExternalModuleDeclaration(e);if(ne(this.state.type))return e.kind="module",this.tsParseModuleOrNamespaceDeclaration(e)}break;case 128:if(this.tsCheckLineTerminator(a)&&ne(this.state.type))return e.kind="namespace",this.tsParseModuleOrNamespaceDeclaration(e);break;case 130:if(this.tsCheckLineTerminator(a)&&ne(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;let t=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;let a=this.tsTryParseAndCatch(()=>{let t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),t});return this.state.maybeInArrowParameters=t,a?super.parseArrowExpression(a,null,!0):void 0}tsParseTypeArgumentsInExpression(){if(47===this.reScan_lt())return this.tsParseTypeArguments()}tsParseTypeArguments(){let e=this.startNode();return e.params=this.tsInType(()=>this.tsInTopLevelContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),0===e.params.length?this.raise(ta.EmptyTypeArguments,e):!this.state.inType&&this.curContext()===O.brace&&this.reScan_lt_gt(),this.expect(48),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return ye(this.state.type)}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseBindingElement(e,t){let a=t.length?t[0].loc.start:this.state.startLoc,n={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},n);let r=n.accessibility,s=n.override,i=n.readonly;!(4&e)&&(r||i||s)&&this.raise(ta.UnexpectedParameterModifier,a);let o=this.parseMaybeDefault();2&e&&this.parseFunctionParamType(o);let l=this.parseMaybeDefault(o.loc.start,o);if(r||i||s){let e=this.startNodeAt(a);return t.length&&(e.decorators=t),r&&(e.accessibility=r),i&&(e.readonly=i),s&&(e.override=s),"Identifier"!==l.type&&"AssignmentPattern"!==l.type&&this.raise(ta.UnsupportedParameterPropertyKind,e),e.parameter=l,this.finishNode(e,"TSParameterProperty")}return t.length&&(o.decorators=t),l}isSimpleParameter(e){return"TSParameterProperty"===e.type&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(let t of e.params)"Identifier"!==t.type&&t.optional&&!this.state.isAmbientContext&&this.raise(ta.PatternIsOptional,t)}setArrowFunctionParameters(e,t,a){super.setArrowFunctionParameters(e,t,a),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,a=!1){this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));let n="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t||"ClassPrivateMethod"===t?"TSDeclareMethod":void 0;return n&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,n):"TSDeclareFunction"===n&&this.state.isAmbientContext&&(this.raise(ta.DeclareFunctionHasImplementation,e),e.declare)?super.parseFunctionBodyAndFinish(e,n,a):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,a))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{"TSTypeCastExpression"===e?.type&&this.raise(ta.UnexpectedTypeAnnotation,e.typeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t,a){let n=super.parseArrayLike(e,t,a);return"ArrayExpression"===n.type&&this.tsCheckForInvalidTypeCasts(n.elements),n}parseSubscript(e,t,a,n){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();let a=this.startNodeAt(t);return a.expression=e,this.finishNode(a,"TSNonNullExpression")}let r=!1;if(this.match(18)&&60===this.lookaheadCharCode()){if(a)return n.stop=!0,e;n.optionalChainMember=r=!0,this.next()}if(this.match(47)||this.match(51)){let s,i=this.tsTryParseAndCatch(()=>{if(!a&&this.atPossibleAsyncArrow(e)){let e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return n.stop=!0,e}let i=this.tsParseTypeArgumentsInExpression();if(!i)return;if(r&&!this.match(10))return void(s=this.state.curPosition());if(xe(this.state.type)){let a=super.parseTaggedTemplateExpression(e,t,n);return a.typeArguments=i,a}if(!a&&this.eat(10)){let a=this.startNodeAt(t);return a.callee=e,a.arguments=this.parseCallExpressionArguments(),this.tsCheckForInvalidTypeCasts(a.arguments),a.typeArguments=i,n.optionalChainMember&&(a.optional=r),this.finishCallExpression(a,n.optionalChainMember)}let o=this.state.type;if(48===o||52===o||10!==o&&le(o)&&!this.hasPrecedingLineBreak())return;let l=this.startNodeAt(t);return l.expression=e,l.typeArguments=i,this.finishNode(l,"TSInstantiationExpression")});if(s&&this.unexpected(s,10),i)return"TSInstantiationExpression"===i.type&&((this.match(16)||this.match(18)&&40!==this.lookaheadCharCode())&&this.raise(ta.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),!this.match(16)&&!this.match(18)&&(i.expression=super.stopParseSubscript(e,n))),i}return super.parseSubscript(e,t,a,n)}parseNewCallee(e){super.parseNewCallee(e);let{callee:t}=e;"TSInstantiationExpression"===t.type&&!t.extra?.parenthesized&&(e.typeArguments=t.typeArguments,e.callee=t.expression)}parseExprOp(e,t,a){let n;if(be(58)>a&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(n=this.isContextual(120)))){let r=this.startNodeAt(t);return r.expression=e,r.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(n&&this.raise(A.UnexpectedKeyword,this.state.startLoc,{keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(r,n?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(r,t,a)}return super.parseExprOp(e,t,a)}checkReservedWord(e,t,a,n){this.state.isAmbientContext||super.checkReservedWord(e,t,a,n)}checkImportReflection(e){super.checkImportReflection(e),e.module&&"value"!==e.importKind&&this.raise(ta.ImportReflectionHasImportType,e.specifiers[0].loc.start)}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(130)){let t=this.lookaheadCharCode();return e?123===t||42===t:61!==t}return!e&&this.isContextual(87)}applyImportPhase(e,t,a,n){super.applyImportPhase(e,t,a,n),t?e.exportKind="type"===a?"type":"value":e.importKind="type"===a||"typeof"===a?a:"value"}parseImport(e){if(this.match(134))return e.importKind="value",super.parseImport(e);let t;if(ne(this.state.type)&&61===this.lookaheadCharCode())return e.importKind="value",this.tsParseImportEqualsDeclaration(e);if(this.isContextual(130)){let a=this.parseMaybeImportPhase(e,!1);if(61===this.lookaheadCharCode())return this.tsParseImportEqualsDeclaration(e,a);t=super.parseImportSpecifiersAndAfter(e,a)}else t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(ta.TypeImportCannotSpecifyDefaultAndNamed,t),t}parseExport(e,t){if(this.match(83)){let t=this.startNode();this.next();let a=null;this.isContextual(130)&&this.isPotentialImportPhase(!1)?a=this.parseMaybeImportPhase(t,!1):t.importKind="value";let n=this.tsParseImportEqualsDeclaration(t,a,!0);return e.attributes=[],e.declaration=n,e.exportKind="value",e.source=null,e.specifiers=[],this.finishNode(e,"ExportNamedDeclaration")}if(this.eat(29)){let t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(t,"TSExportAssignment")}if(this.eatContextual(93)){let t=e;return this.expectContextual(128),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return super.parseExport(e,t)}isAbstractClass(){return this.isContextual(124)&&this.isLookaheadContextual("class")}parseExportDefaultExpression(){if(this.isAbstractClass()){let e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(129)){let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,a=!1){let{isAmbientContext:n}=this.state,r=super.parseVarStatement(e,t,a||n);if(!n)return r;if(!e.declare&&("using"===t||"await using"===t))return this.raiseOverwrite(ta.UsingDeclarationInAmbientContext,e,t),r;for(let{id:s,init:i}of r.declarations)i&&("var"===t||"let"===t||s.typeAnnotation?this.raise(ta.InitializerNotAllowedInAmbientContext,i):la(i,this.hasPlugin("estree"))||this.raise(ta.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,i));return r}parseStatementContent(e,t){if(!this.state.containsEsc)switch(this.state.type){case 75:if(this.isLookaheadContextual("enum")){let e=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(e,{const:!0})}break;case 124:case 125:if(this.nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine()){let e=this.state.type,a=this.startNode();this.next();let n=125===e?this.tsTryParseDeclare(a):this.tsParseAbstractDeclaration(a,t);return n?(125===e&&(n.declare=!0),n):(a.expression=this.createIdentifier(this.startNodeAt(a.loc.start),125===e?"declare":"abstract"),this.semicolon(!1),this.finishNode(a,"ExpressionStatement"))}break;case 126:return this.tsParseEnumDeclaration(this.startNode());case 112:if(123===this.lookaheadCharCode()){let e=this.startNode();return this.tsParseAmbientExternalModuleDeclaration(e)}break;case 129:{let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e;break}case 127:if(this.nextTokenIsIdentifierOrStringLiteralOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,127,!1,t)}break;case 128:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,128,!1,t)}break;case 130:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return this.next(),this.tsParseTypeAliasDeclaration(e)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some(t=>na(t)?e.accessibility===t:!!e[t])}tsIsStartOfStaticBlocks(){return this.isContextual(106)&&123===this.lookaheadCharCode()}parseClassMember(e,t,a){let n=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:n,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:ta.InvalidModifierOnTypeParameterPositions},t);let r=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,n)&&this.raise(ta.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,a,!!t.static)};t.declare?this.tsInAmbientContext(r):r()}parseClassMemberWithIsStatic(e,t,a,n){let r=this.tsTryParseIndexSignature(t);if(r)return e.body.push(r),t.abstract&&this.raise(ta.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(ta.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(ta.IndexSignatureHasDeclare,t),void(t.override&&this.raise(ta.IndexSignatureHasOverride,t));!this.state.inAbstractClass&&t.abstract&&this.raise(ta.NonAbstractClassHasAbstractMethod,t),t.override&&(a.hadSuperClass||this.raise(ta.OverrideNotInSubClass,t)),super.parseClassMemberWithIsStatic(e,t,a,n)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(ta.ClassMethodHasReadonly,e),e.declare&&this.match(10)&&this.raise(ta.ClassMethodHasDeclare,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,a){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){let t=this.lookaheadCharCode();if(44===t||61===t||58===t||41===t)return this.setOptionalParametersError(a),e}return super.parseConditional(e,t,a)}parseParenItem(e,t){let a=super.parseParenItem(e,t);if(this.eat(17)&&(a.optional=!0,this.resetEndLocation(e)),this.match(14)){let a=this.startNodeAt(t);return a.expression=e,a.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(a,"TSTypeCastExpression")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(125))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));let t=this.state.startLoc,a=this.eatContextual(125);if(a&&(this.isContextual(125)||!this.shouldParseExportDeclaration()))throw this.raise(ta.ExpectedAmbientAfterExportDeclare,this.state.startLoc);let n=ne(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return n?(("TSInterfaceDeclaration"===n.type||"TSTypeAliasDeclaration"===n.type||a)&&(e.exportKind="type"),a&&"TSImportEqualsDeclaration"!==n.type&&(this.resetStartLocation(n,t),n.declare=!0),n):null}parseClassId(e,t,a,n){if((!t||a)&&this.isContextual(113))return;super.parseClassId(e,t,a,e.declare?1024:8331);let r=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);r&&(e.typeParameters=r)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));let t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&!(e.readonly&&!e.typeAnnotation)&&this.match(29)&&this.raise(ta.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(29)){let{key:t}=e;this.raise(ta.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:"Identifier"!==t.type||e.computed?`[${this.input.slice(this.offsetToSourcePos(t.start),this.offsetToSourcePos(t.end))}]`:t.name})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(ta.PrivateElementHasAbstract,e),e.accessibility&&this.raise(ta.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(ta.AccessorCannotBeOptional,e),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,a,n,r,s){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&r&&this.raise(ta.ConstructorHasTypeParameters,i);let{declare:o=!1,kind:l}=t;o&&("get"===l||"set"===l)&&this.raise(ta.DeclareAccessor,t,{kind:l}),i&&(t.typeParameters=i),super.pushClassMethod(e,t,a,n,r,s)}pushClassPrivateMethod(e,t,a,n){let r=this.tsTryParseTypeParameters(this.tsParseConstModifier);r&&(t.typeParameters=r),super.pushClassPrivateMethod(e,t,a,n)}declareClassPrivateMethodInScope(e,t){"TSDeclareMethod"!==e.type&&("MethodDefinition"===e.type&&null==e.value.body||super.declareClassPrivateMethodInScope(e,t))}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeArguments=this.tsParseTypeArgumentsInExpression()),this.eatContextual(113)&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,t,a,n,r,s,i){let o=this.tsTryParseTypeParameters(this.tsParseConstModifier);return o&&(e.typeParameters=o),super.parseObjPropValue(e,t,a,n,r,s,i)}parseFunctionParams(e,t){let a=this.tsTryParseTypeParameters(this.tsParseConstModifier);a&&(e.typeParameters=a),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);let a=this.tsTryParseTypeAnnotation();a&&(e.id.typeAnnotation=a,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){let a,n,r;if(this.hasPlugin("jsx")&&(this.match(143)||this.match(47))){if(a=this.state.clone(),n=this.tryParse(()=>super.parseMaybeAssign(e,t),a),!n.error)return n.node;let{context:r}=this.state,s=r[r.length-1];(s===O.j_oTag||s===O.j_expr)&&r.pop()}if(!n?.error&&!this.match(47))return super.parseMaybeAssign(e,t);(!a||a===this.state)&&(a=this.state.clone());let s,i=this.tryParse(a=>{s=this.tsParseTypeParameters(this.tsParseConstModifier);let n=super.parseMaybeAssign(e,t);if(("ArrowFunctionExpression"!==n.type||n.extra?.parenthesized)&&a(),0!==s?.params.length&&this.resetStartLocationFromNode(n,s),n.typeParameters=s,this.hasPlugin("jsx")&&1===n.typeParameters.params.length&&!n.typeParameters.extra?.trailingComma){let e=n.typeParameters.params[0];e.constraint||this.raise(ta.SingleTypeParameterWithoutTrailingComma,f(e.loc.end,1),{typeParameterName:e.name.name})}return n},a);if(!i.error&&!i.aborted)return s&&this.reportReservedArrowTypeParam(s),i.node;if(!n&&(ea(!this.hasPlugin("jsx")),r=this.tryParse(()=>super.parseMaybeAssign(e,t),a),!r.error))return r.node;if(n?.node)return this.state=n.failState,n.node;if(i.node)return this.state=i.failState,s&&this.reportReservedArrowTypeParam(s),i.node;if(r?.node)return this.state=r.failState,r.node;throw n?.error||i.error||r?.error}reportReservedArrowTypeParam(e){1===e.params.length&&!e.params[0].constraint&&!e.extra?.trailingComma&&this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(ta.ReservedArrowTypeParam,e)}parseMaybeUnary(e,t){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(14)){let t=this.tryParse(e=>{let t=this.tsParseTypeOrTypePredicateAnnotation(14);return(this.canInsertSemicolon()||!this.match(19))&&e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseFunctionParamType(e){this.eat(17)&&(e.optional=!0);let t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,t);case"TSParameterProperty":return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,t);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":t?this.expressionScope.recordArrowParameterBindingError(ta.UnexpectedTypeCastInParameter,e):this.raise(ta.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case"AssignmentExpression":!t&&"TSTypeCastExpression"===e.left.type&&(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,a,n){switch(e){case"TSTypeCastExpression":return!0;case"TSParameterProperty":return"parameter";case"TSNonNullExpression":return"expression";case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":return(64!==n||!a)&&["expression",!0];default:return super.isValidLVal(e,t,a,n)}}parseBindingAtom(){return 78===this.state.type?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e,t){if(this.match(47)||this.match(51)){let a=this.tsParseTypeArgumentsInExpression();if(this.match(10)){let n=super.parseMaybeDecoratorArguments(e,t);return n.typeArguments=a,n}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e,t)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,t){let a=super.parseMaybeDefault(e,t);return"AssignmentPattern"===a.type&&a.typeAnnotation&&a.right.startthis.isAssignable(e,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){let t=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());t&&(e.typeArguments=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){let t=super.getGetterSetterExpectedParamCount(e),a=this.getObjectOrClassMethodParams(e)[0];return a&&this.isThisParam(a)?t+1:t}parseCatchClauseParam(){let e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){let{isAmbientContext:t,strict:a}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return e()}finally{this.state.isAmbientContext=t,this.state.strict=a}}parseClass(e,t,a){let n=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,a)}finally{this.state.inAbstractClass=n}}tsParseAbstractDeclaration(e,t){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(129))return this.hasFollowingLineBreak()?null:(e.abstract=!0,this.raise(ta.NonClassMethodPropertyHasAbstractModifier,e),this.tsParseInterfaceDeclaration(e));throw this.unexpected(null,80)}parseMethod(e,t,a,n,r,s,i){let o=super.parseMethod(e,t,a,n,r,s,i);if((o.abstract||"TSAbstractMethodDefinition"===o.type)&&(this.hasPlugin("estree")?o.value:o).body){let{key:e}=o;this.raise(ta.AbstractMethodHasImplementation,o,{methodName:"Identifier"!==e.type||o.computed?`[${this.input.slice(this.offsetToSourcePos(e.start),this.offsetToSourcePos(e.end))}]`:e.name})}return o}tsParseTypeParameterName(){return this.parseIdentifier()}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,a,n){return!t&&n?(this.parseTypeOnlyImportExportSpecifier(e,!1,a),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",super.parseExportSpecifier(e,t,a,n))}parseImportSpecifier(e,t,a,n,r){return!t&&n?(this.parseTypeOnlyImportExportSpecifier(e,!0,a),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",super.parseImportSpecifier(e,t,a,n,a?4098:4096))}parseTypeOnlyImportExportSpecifier(e,t,a){let n,r=t?"imported":"local",s=t?"local":"exported",i=e[r],o=!1,l=!0,c=i.loc.start;if(this.isContextual(93)){let e=this.parseIdentifier();if(this.isContextual(93)){let a=this.parseIdentifier();se(this.state.type)?(o=!0,i=e,n=t?this.parseIdentifier():this.parseModuleExportName(),l=!1):(n=a,l=!1)}else se(this.state.type)?(l=!1,n=t?this.parseIdentifier():this.parseModuleExportName()):(o=!0,i=e)}else se(this.state.type)&&(o=!0,t?(i=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(i.name,i.loc.start,!0,!0)):i=this.parseModuleExportName());o&&a&&this.raise(t?ta.TypeModifierIsUsedInTypeImports:ta.TypeModifierIsUsedInTypeExports,c),e[r]=i,e[s]=n,e[t?"importKind":"exportKind"]=o?"type":"value",l&&this.eatContextual(93)&&(e[s]=t?this.parseIdentifier():this.parseModuleExportName()),e[s]||(e[s]=this.cloneIdentifier(e[r])),t&&this.checkIdentifier(e[s],o?4098:4096)}fillOptionalPropertiesForTSESLint(e){switch(e.type){case"ExpressionStatement":return void(e.directive??(e.directive=void 0));case"RestElement":e.value=void 0;case"Identifier":case"ArrayPattern":case"AssignmentPattern":case"ObjectPattern":return e.decorators??(e.decorators=[]),e.optional??(e.optional=!1),void(e.typeAnnotation??(e.typeAnnotation=void 0));case"TSParameterProperty":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSEmptyBodyFunctionExpression":e.body=null;case"TSDeclareFunction":case"FunctionDeclaration":case"FunctionExpression":case"ClassMethod":case"ClassPrivateMethod":return e.declare??(e.declare=!1),e.returnType??(e.returnType=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"Property":return void(e.optional??(e.optional=!1));case"TSMethodSignature":case"TSPropertySignature":e.optional??(e.optional=!1);case"TSIndexSignature":return e.accessibility??(e.accessibility=void 0),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSAbstractPropertyDefinition":case"PropertyDefinition":case"TSAbstractAccessorProperty":case"AccessorProperty":e.declare??(e.declare=!1),e.definite??(e.definite=!1),e.readonly??(e.readonly=!1),e.typeAnnotation??(e.typeAnnotation=void 0);case"TSAbstractMethodDefinition":case"MethodDefinition":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),void(e.optional??(e.optional=!1));case"ClassExpression":e.id??(e.id=null);case"ClassDeclaration":return e.abstract??(e.abstract=!1),e.declare??(e.declare=!1),e.decorators??(e.decorators=[]),e.implements??(e.implements=[]),e.superTypeArguments??(e.superTypeArguments=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"TSTypeAliasDeclaration":case"VariableDeclaration":return void(e.declare??(e.declare=!1));case"VariableDeclarator":return void(e.definite??(e.definite=!1));case"TSEnumDeclaration":return e.const??(e.const=!1),void(e.declare??(e.declare=!1));case"TSEnumMember":return void(e.computed??(e.computed=!1));case"TSImportType":return e.qualifier??(e.qualifier=null),e.options??(e.options=null),void(e.typeArguments??(e.typeArguments=null));case"TSInterfaceDeclaration":return e.declare??(e.declare=!1),void(e.extends??(e.extends=[]));case"TSMappedType":return e.optional??(e.optional=!1),void(e.readonly??(e.readonly=void 0));case"TSModuleDeclaration":return e.declare??(e.declare=!1),void(e.global??(e.global="global"===e.kind));case"TSTypeParameter":return e.const??(e.const=!1),e.in??(e.in=!1),void(e.out??(e.out=!1))}}chStartsBindingIdentifierAndNotRelationalOperator(e,t){if(Se(e)){if(Xt.lastIndex=t,Xt.test(this.input)){let e=this.codePointAtPos(Xt.lastIndex);if(!Ie(e)&&92!==e)return!1}return!0}return 92===e}nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifierAndNotRelationalOperator(t,e)}nextTokenIsIdentifierOrStringLiteralOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)||34===t||39===t}};function oa(e){if("MemberExpression"!==e.type)return!1;let{computed:t,property:a}=e;return(!t||"StringLiteral"===a.type||!("TemplateLiteral"!==a.type||a.expressions.length>0))&&da(e.object)}function la(e,t){let{type:a}=e;if(e.extra?.parenthesized)return!1;if(t){if("Literal"===a){let{value:t}=e;if("string"==typeof t||"boolean"==typeof t)return!0}}else if("StringLiteral"===a||"BooleanLiteral"===a)return!0;return!!(ca(e,t)||ua(e,t)||"TemplateLiteral"===a&&0===e.expressions.length||oa(e))}function ca(e,t){return t?"Literal"===e.type&&("number"==typeof e.value||"bigint"in e):"NumericLiteral"===e.type||"BigIntLiteral"===e.type}function ua(e,t){if("UnaryExpression"===e.type){let{operator:a,argument:n}=e;if("-"===a&&ca(n,t))return!0}return!1}function da(e){return"Identifier"===e.type||"MemberExpression"===e.type&&!e.computed&&da(e.object)}var ha=D`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),pa=e=>class extends e{parsePlaceholder(e){if(this.match(133)){let t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(133),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){let a=e;return(!a.expectedNode||!a.type)&&(a=this.finishNode(a,"Placeholder")),a.expectedNode=t,a}getTokenFromCode(e){37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(133,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder("Expression")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder("Identifier")||super.parseIdentifier(e)}checkReservedWord(e,t,a,n){void 0!==e&&super.checkReservedWord(e,t,a,n)}cloneIdentifier(e){let t=super.cloneIdentifier(e);return"Placeholder"===t.type&&(t.expectedNode=e.expectedNode),t}cloneStringLiteral(e){return"Placeholder"===e.type?this.cloneIdentifier(e):super.cloneStringLiteral(e)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(e,t,a,n){return"Placeholder"===e||super.isValidLVal(e,t,a,n)}toAssignable(e,t){e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?e.expectedNode="Pattern":super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){if(super.chStartsBindingIdentifier(e,t))return!0;let a=this.nextTokenStart();return 37===this.input.charCodeAt(a)&&37===this.input.charCodeAt(a+1)}verifyBreakContinue(e,t){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra?.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(14)){let a=e;return a.label=this.finishPlaceholder(t,"Identifier"),this.next(),a.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(a,"LabeledStatement")}this.semicolon();let a=e;return a.name=t.name,this.finishPlaceholder(a,"Statement")}parseBlock(e,t,a){return this.parsePlaceholder("BlockStatement")||super.parseBlock(e,t,a)}parseFunctionId(e){return this.parsePlaceholder("Identifier")||super.parseFunctionId(e)}parseClass(e,t,a){let n=t?"ClassDeclaration":"ClassExpression";this.next();let r=this.state.strict,s=this.parsePlaceholder("Identifier");if(s){if(!(this.match(81)||this.match(133)||this.match(5))){if(a||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,n);throw this.raise(ha.ClassNameIsRequired,this.state.startLoc)}e.id=s}else this.parseClassId(e,t,a);return super.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!e.superClass,r),this.finishNode(e,n)}parseExport(e,t){let a=this.parsePlaceholder("Identifier");if(!a)return super.parseExport(e,t);let n=e;if(!this.isContextual(98)&&!this.match(12))return n.specifiers=[],n.source=null,n.declaration=this.finishPlaceholder(a,"Declaration"),this.finishNode(n,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");let r=this.startNode();return r.exported=a,n.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],super.parseExport(n,t)}isExportDefaultSpecifier(){if(this.match(65)){let e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(ve(133),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){return!!e.specifiers?.length||super.maybeParseExportDefaultSpecifier(e,t)}checkExport(e){let{specifiers:t}=e;t?.length&&(e.specifiers=t.filter(e=>"Placeholder"===e.exported.type)),super.checkExport(e),e.specifiers=t}parseImport(e){let t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(98)&&!this.match(12))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");let a=this.startNodeAtNode(t);return a.local=t,e.specifiers.push(this.finishNode(a,"ImportDefaultSpecifier")),this.eat(12)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(98),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(ha.UnexpectedSpace,this.state.lastTokEndLoc)}},fa=e=>class extends e{parseV8Intrinsic(){if(this.match(54)){let e=this.state.startLoc,t=this.startNode();if(this.next(),ne(this.state.type)){let e=this.parseIdentifierName(),a=this.createIdentifier(t,e);if(this.castNodeTo(a,"V8IntrinsicIdentifier"),this.match(10))return a}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},ma=["fsharp","hack"],ga=["^^","@@","^","%","#"];function ya(e){if(e.has("decorators")){if(e.has("decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");let t=e.get("decorators").decoratorsBeforeExport;if(null!=t&&"boolean"!=typeof t)throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");let a=e.get("decorators").allowCallParenthesized;if(null!=a&&"boolean"!=typeof a)throw new Error("'allowCallParenthesized' must be a boolean.")}if(e.has("flow")&&e.has("typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(e.has("placeholders")&&e.has("v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(e.has("pipelineOperator")){let t=e.get("pipelineOperator").proposal;if(!ma.includes(t)){let e=ma.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${e}.`)}if("hack"===t){if(e.has("placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(e.has("v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");let t=e.get("pipelineOperator").topicToken;if(!ga.includes(t)){let e=ga.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${e}.`)}}}if(e.has("moduleAttributes"))throw new Error("`moduleAttributes` has been removed in Babel 8, please migrate to import attributes instead.");if(e.has("importAssertions"))throw new Error("`importAssertions` has been removed in Babel 8, please use import attributes instead. To use the non-standard `assert` syntax you can enable the `deprecatedImportAssert` parser plugin.");if(!e.has("deprecatedImportAssert")&&e.has("importAttributes")&&e.get("importAttributes").deprecatedAssertSyntax)throw new Error("The 'importAttributes' plugin has been removed in Babel 8. If you need to enable support for the deprecated `assert` syntax, you can enable the `deprecatedImportAssert` parser plugin.");if(e.has("recordAndTuple"))throw new Error("The 'recordAndTuple' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("asyncDoExpressions")&&!e.has("doExpressions")){let e=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw e.missingPlugins="doExpressions",e}if(e.has("optionalChainingAssign")&&"2023-07"!==e.get("optionalChainingAssign").version)throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.");if(e.has("discardBinding")&&"void"!==e.get("discardBinding").syntaxType)throw new Error("The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'.");if(e.has("decimal"))throw new Error("The 'decimal' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("importReflection"))throw new Error("The 'importReflection' plugin has been removed in Babel 8. Use 'sourcePhaseImports' instead, and replace 'import module' with 'import source' in your code.")}var va={estree:B,jsx:dt,flow:tt,typescript:ia,v8intrinsic:fa,placeholders:pa},ba=Object.keys(va),wa=class extends Zt{checkProto(e,t,a,n){if("SpreadElement"===e.type||this.isObjectMethod(e)||e.computed||e.shorthand)return a;let r=e.key;return"__proto__"===("Identifier"===r.type?r.name:r.value)?t?(this.raise(A.RecordNoProto,r),!0):(a&&(n?null===n.doubleProtoLoc&&(n.doubleProtoLoc=r.loc.start):this.raise(A.DuplicateProto,r)),!0):a}shouldExitDescending(e,t){return"ArrowFunctionExpression"===e.type&&this.offsetToSourcePos(e.start)===t}getExpression(){if(this.enterInitialScopes(),this.nextToken(),this.match(140))throw this.raise(A.ParseExpressionEmptyInput,this.state.startLoc);let e=this.parseExpression();if(!this.match(140))throw this.raise(A.ParseExpressionExpectsEOF,this.state.startLoc,{unexpected:this.input.codePointAt(this.state.start)});return this.finalizeRemainingComments(),e.comments=this.comments,e.errors=this.state.errors,256&this.optionFlags&&(e.tokens=this.tokens),e}parseExpression(e,t){return e?this.disallowInAnd(()=>this.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){let t=this.state.startLoc,a=this.parseMaybeAssign(e);if(this.match(12)){let n=this.startNodeAt(t);for(n.expressions=[a];this.eat(12);)n.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(n.expressions),this.finishNode(n,"SequenceExpression")}return a}parseMaybeAssignDisallowIn(e,t){return this.disallowInAnd(()=>this.parseMaybeAssign(e,t))}parseMaybeAssignAllowIn(e,t){return this.allowInAnd(()=>this.parseMaybeAssign(e,t))}setOptionalParametersError(e){e.optionalParametersLoc=this.state.startLoc}parseMaybeAssign(e,t){let a,n=this.state.startLoc,r=this.isContextual(108);if(r&&this.prodParam.hasYield){this.next();let e=this.parseYield(n);return t&&(e=t.call(this,e,n)),e}e?a=!1:(e=new Wt,a=!0);let{type:s}=this.state;(10===s||ne(s))&&(this.state.potentialArrowAt=this.state.start);let i=this.parseMaybeConditional(e);if(t&&(i=t.call(this,i,n)),ce(this.state.type)){let t=this.startNodeAt(n),a=this.state.value;if(t.operator=a,this.match(29)){this.toAssignable(i,!0),t.left=i;let a=n.index;null!=e.doubleProtoLoc&&e.doubleProtoLoc.index>=a&&(e.doubleProtoLoc=null),null!=e.shorthandAssignLoc&&e.shorthandAssignLoc.index>=a&&(e.shorthandAssignLoc=null),null!=e.privateKeyLoc&&e.privateKeyLoc.index>=a&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null),null!=e.voidPatternLoc&&e.voidPatternLoc.index>=a&&(e.voidPatternLoc=null)}else t.left=i;return this.next(),t.right=this.parseMaybeAssign(),this.checkLVal(i,this.finishNode(t,"AssignmentExpression"),void 0,void 0,void 0,void 0,"||="===a||"&&="===a||"??="===a),t}if(a&&this.checkExpressionErrors(e,!0),r){let{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?le(e):le(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(A.YieldNotInGeneratorFunction,n),this.parseYield(n)}return i}parseMaybeConditional(e){let t=this.state.startLoc,a=this.state.potentialArrowAt,n=this.parseExprOps(e);return this.shouldExitDescending(n,a)?n:this.parseConditional(n,t,e)}parseConditional(e,t,a){if(this.eat(17)){let a=this.startNodeAt(t);return a.test=e,a.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),a.alternate=this.parseMaybeAssign(),this.finishNode(a,"ConditionalExpression")}return e}parseMaybeUnaryOrPrivate(e){return this.match(139)?this.parsePrivateName():this.parseMaybeUnary(e)}parseExprOps(e){let t=this.state.startLoc,a=this.state.potentialArrowAt,n=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(n,a)?n:this.parseExprOp(n,t,-1)}parseExprOp(e,t,a){if(this.isPrivateName(e)){let t=this.getPrivateNameSV(e);(a>=be(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(A.PrivateInExpectedIn,e,{identifierName:t}),this.classScope.usePrivateName(t,e.loc.start)}let n=this.state.type;if(pe(n)&&(this.prodParam.hasIn||!this.match(58))){let r=be(n);if(r>a){if(39===n){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.checkPipelineAtInfixOperator(e,t)}let s=this.startNodeAt(t);s.left=e,s.operator=this.state.value;let i=41===n||42===n,o=40===n;o&&(r=be(42)),this.next(),s.right=this.parseExprOpRightExpr(n,r);let l=this.finishNode(s,i||o?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(o&&(41===c||42===c)||i&&40===c)throw this.raise(A.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(l,t,a)}}return e}parseExprOpRightExpr(e,t){if(39===(this.state.startLoc,e))switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(t))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){let a=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),a,we(e)?t-1:t)}parseHackPipeBody(){let{startLoc:e}=this.state,t=this.parseMaybeAssign();return k.has(t.type)&&!t.extra?.parenthesized&&this.raise(A.PipeUnparenthesizedBody,e,{type:t.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(A.PipeTopicUnused,e),t}checkExponentialAfterUnary(e){this.match(57)&&this.raise(A.UnexpectedTokenUnaryExponentiation,e.argument)}parseMaybeUnary(e,t){let a=this.state.startLoc,n=this.isContextual(96);if(n&&this.recordAwaitIfAllowed()){this.next();let e=this.parseAwait(a);return t||this.checkExponentialAfterUnary(e),e}let r=this.match(34),s=this.startNode();if(me(this.state.type)){s.operator=this.state.value,s.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");let a=this.match(89);if(this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&a){let e=s.argument;"Identifier"===e.type?this.raise(A.StrictDelete,s):this.hasPropertyAsPrivateName(e)&&this.raise(A.DeletePrivateField,s)}if(!r)return t||this.checkExponentialAfterUnary(s),this.finishNode(s,"UnaryExpression")}let i=this.parseUpdate(s,r,e);if(n){let{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?le(e):le(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(A.AwaitNotInAsyncContext,a),this.parseAwait(a)}return i}parseUpdate(e,t,a){if(t){let t=e;return this.checkLVal(t.argument,this.finishNode(t,"UpdateExpression")),e}let n=this.state.startLoc,r=this.parseExprSubscripts(a);if(this.checkExpressionErrors(a,!1))return r;for(;fe(this.state.type)&&!this.canInsertSemicolon();){let e=this.startNodeAt(n);e.operator=this.state.value,e.prefix=!1,e.argument=r,this.next(),this.checkLVal(r,r=this.finishNode(e,"UpdateExpression"))}return r}parseExprSubscripts(e){let t=this.state.startLoc,a=this.state.potentialArrowAt,n=this.parseExprAtom(e);return this.shouldExitDescending(n,a)?n:this.parseSubscripts(n,t)}parseSubscripts(e,t,a){let n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,a,n),n.maybeAsyncArrow=!1}while(!n.stop);return e}parseSubscript(e,t,a,n){let{type:r}=this.state;if(!a&&15===r)return this.parseBind(e,t,a,n);if(xe(r))return this.parseTaggedTemplateExpression(e,t,n);let s=!1;if(18===r){if(a&&(this.raise(A.OptionalChainingNoNew,this.state.startLoc),40===this.lookaheadCharCode()))return this.stopParseSubscript(e,n);n.optionalChainMember=s=!0,this.next()}if(!a&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(e,t,n,s);{let a=this.eat(0);return a||s||this.eat(16)?this.parseMember(e,t,n,a,s):this.stopParseSubscript(e,n)}}stopParseSubscript(e,t){return t.stop=!0,e}parseMember(e,t,a,n,r){let s=this.startNodeAt(t);return s.object=e,s.computed=n,n?(s.property=this.parseExpression(),this.expect(3)):this.match(139)?("Super"===e.type&&this.raise(A.SuperPrivateField,t),this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),a.optionalChainMember?(s.optional=r,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}parseBind(e,t,a,n){let r=this.startNodeAt(t);return r.object=e,this.next(),r.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(r,"BindExpression"),t,a)}parseCoverCallAndAsyncArrowHead(e,t,a,n){let r=this.state.maybeInArrowParameters,s=null;this.state.maybeInArrowParameters=!0,this.next();let i=this.startNodeAt(t);i.callee=e;let{maybeAsyncArrow:o,optionalChainMember:l}=a;o&&(this.expressionScope.enter(Yt()),s=new Wt),l&&(i.optional=n),i.arguments=n?this.parseCallExpressionArguments():this.parseCallExpressionArguments("Super"!==e.type,i,s);let c=this.finishCallExpression(i,l);return o&&this.shouldParseAsyncArrow()&&!n?(a.stop=!0,this.checkDestructuringPrivate(s),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),c)):(o&&(this.checkExpressionErrors(s,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=r,c}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,a){let n=this.startNodeAt(t);return n.tag=e,n.quasi=this.parseTemplate(!0),a.optionalChainMember&&this.raise(A.OptionalChainingNoTemplate,t),this.finishNode(n,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.offsetToSourcePos(e.start)===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(0===e.arguments.length||e.arguments.length>2)this.raise(A.ImportCallArity,e);else for(let a of e.arguments)"SpreadElement"===a.type&&this.raise(A.ImportCallSpreadArgument,a);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,a){let n=[],r=!0,s=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(11);){if(r)r=!1;else if(this.expect(12),this.match(11)){t&&this.addTrailingCommaExtraToNode(t),this.next();break}n.push(this.parseExprListItem(11,!1,a,e))}return this.state.inFSharpPipelineDirectBody=s,n}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){return this.resetPreviousNodeTrailingComments(t),this.expect(19),this.parseArrowExpression(e,t.arguments,!0,t.extra?.trailingCommaLoc),t.innerComments&&bt(e,t.innerComments),t.callee.trailingComments&&bt(e,t.callee.trailingComments),e}parseNoCallExpr(){let e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,!0)}parseExprAtom(e){let t,a=null,{type:n}=this.state;switch(n){case 79:return this.parseSuper();case 83:return t=this.startNode(),this.next(),this.match(16)?this.parseImportMetaPropertyOrPhaseCall(t):this.match(10)?512&this.optionFlags?this.parseImportCall(t):this.finishNode(t,"Import"):(this.raise(A.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(t,"Import"));case 78:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 135:return this.parseNumericLiteral(this.state.value);case 136:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{let e=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(e)}case 0:return this.parseArrayLike(3,!1,e);case 5:return this.parseObjectLike(8,!1,!1,e);case 68:return this.parseFunctionOrFunctionSent();case 26:a=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(a,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{t=this.startNode(),this.next(),t.object=null;let e=t.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(t,"BindExpression");throw this.raise(A.UnsupportedBind,e)}case 139:return this.raise(A.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{let e=this.getPluginOption("pipelineOperator","proposal");if(e)return this.parseTopicReference(e);throw this.unexpected()}case 47:{let e=this.input.codePointAt(this.nextTokenStart());throw Se(e)||62===e?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected()}default:if(ne(n)){if(this.isContextual(127)&&123===this.lookaheadInLineCharCode())return this.parseModuleExpression();let e=this.state.potentialArrowAt===this.state.start,t=this.state.containsEsc,a=this.parseIdentifier();if(!t&&"async"===a.name&&!this.canInsertSemicolon()){let{type:e}=this.state;if(68===e)return this.resetPreviousNodeTrailingComments(a),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(a));if(ne(e))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(a)):a;if(90===e)return this.resetPreviousNodeTrailingComments(a),this.parseDo(this.startNodeAtNode(a),!0)}return e&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(a),[a],!1)):a}throw this.unexpected()}}parseTopicReferenceThenEqualsSign(e,t){let a=this.getPluginOption("pipelineOperator","proposal");if(a)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=f(this.state.endLoc,-1),this.parseTopicReference(a);throw this.unexpected()}parseTopicReference(e){let t=this.startNode(),a=this.state.startLoc,n=this.state.type;return this.next(),this.finishTopicReference(t,a,e,n)}finishTopicReference(e,t,a,n){if(this.testTopicReferenceConfiguration(a,t,n))return this.topicReferenceIsAllowedInCurrentContext()||this.raise(A.PipeTopicUnbound,t),this.registerTopicReference(),this.finishNode(e,"TopicReference");throw this.raise(A.PipeTopicUnconfiguredToken,t,{token:ve(n)})}testTopicReferenceConfiguration(e,t,a){switch(e){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:ve(a)}]);case"smart":return 27===a;default:throw this.raise(A.PipeTopicRequiresHackPipes,t)}}parseAsyncArrowUnaryFunction(e){this.prodParam.enter(mt(!0,this.prodParam.hasYield));let t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(A.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(19),this.parseArrowExpression(e,t,!0)}parseDo(e,t){this.expectPlugin("doExpressions"),t&&this.expectPlugin("asyncDoExpressions"),e.async=t,this.next();let a=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=a,this.finishNode(e,"DoExpression")}parseSuper(){let e=this.startNode();return this.next(),this.match(10)&&!this.scope.allowDirectSuper?this.raise(A.SuperNotAllowed,e):this.scope.allowSuper||this.raise(A.UnexpectedSuper,e),!this.match(10)&&!this.match(0)&&!this.match(16)&&this.raise(A.UnsupportedSuper,e),this.finishNode(e,"Super")}parsePrivateName(){let e=this.startNode(),t=this.startNodeAt(f(this.state.startLoc,1)),a=this.state.value;return this.next(),e.id=this.createIdentifier(t,a),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){let e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){let t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.match(103)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,a){e.meta=t;let n=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==a||n)&&this.raise(A.UnsupportedMetaProperty,e.property,{target:t.name,onlyValidPropertyName:a}),this.finishNode(e,"MetaProperty")}parseImportMetaPropertyOrPhaseCall(e){if(this.next(),this.isContextual(105)||this.isContextual(97)){let t=this.isContextual(105);return this.expectPlugin(t?"sourcePhaseImports":"deferredImportEvaluation"),this.next(),e.phase=t?"source":"defer",this.parseImportCall(e)}{let t=this.createIdentifierAt(this.startNodeAtNode(e),"import",this.state.lastTokStartLoc);return this.isContextual(101)&&(this.inModule||this.raise(A.ImportMetaOutsideModule,t),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}}parseLiteralAtNode(e,t,a){return this.addExtra(a,"rawValue",e),this.addExtra(a,"raw",this.input.slice(this.offsetToSourcePos(a.start),this.state.end)),a.value=e,this.next(),this.finishNode(a,t)}parseLiteral(e,t){let a=this.startNode();return this.parseLiteralAtNode(e,t,a)}parseStringLiteral(e){return this.parseLiteral(e,"StringLiteral")}parseNumericLiteral(e){return this.parseLiteral(e,"NumericLiteral")}parseBigIntLiteral(e){{let t;try{t=BigInt(e)}catch{t=null}return this.parseLiteral(t,"BigIntLiteral")}}parseDecimalLiteral(e){return this.parseLiteral(e,"DecimalLiteral")}parseRegExpLiteral(e){let t=this.startNode();return this.addExtra(t,"raw",this.input.slice(this.offsetToSourcePos(t.start),this.state.end)),t.pattern=e.pattern,t.flags=e.flags,this.next(),this.finishNode(t,"RegExpLiteral")}parseBooleanLiteral(e){let t=this.startNode();return t.value=e,this.next(),this.finishNode(t,"BooleanLiteral")}parseNullLiteral(){let e=this.startNode();return this.next(),this.finishNode(e,"NullLiteral")}parseParenAndDistinguishExpression(e){let t,a=this.state.startLoc;this.next(),this.expressionScope.enter(Ht());let n=this.state.maybeInArrowParameters,r=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;let s,i,o=this.state.startLoc,l=[],c=new Wt,u=!0;for(;!this.match(11);){if(u)u=!1;else if(this.expect(12,null===c.optionalParametersLoc?null:c.optionalParametersLoc),this.match(11)){i=this.state.startLoc;break}if(this.match(21)){let e=this.state.startLoc;if(s=this.state.startLoc,l.push(this.parseParenItem(this.parseRestBinding(),e)),!this.checkCommaAfterRest(41))break}else l.push(this.parseMaybeAssignAllowInOrVoidPattern(11,c,this.parseParenItem))}let d=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=n,this.state.inFSharpPipelineDirectBody=r;let h=this.startNodeAt(a);return e&&this.shouldParseArrow(l)&&(h=this.parseArrow(h))?(this.checkDestructuringPrivate(c),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(h,l,!1),h):(this.expressionScope.exit(),l.length||this.unexpected(this.state.lastTokStartLoc),i&&this.unexpected(i),s&&this.unexpected(s),this.checkExpressionErrors(c,!0),this.toReferencedListDeep(l,!0),l.length>1?(t=this.startNodeAt(o),t.expressions=l,this.finishNode(t,"SequenceExpression"),this.resetEndLocation(t,d)):t=l[0],this.wrapParenthesis(a,t))}wrapParenthesis(e,t){if(!(1024&this.optionFlags))return this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;let a=this.startNodeAt(e);return a.expression=t,this.finishNode(a,"ParenthesizedExpression")}shouldParseArrow(e){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(19))return e}parseParenItem(e,t){return e}parseNewOrNewTarget(){let e=this.startNode();if(this.next(),this.match(16)){let t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();let a=this.parseMetaProperty(e,t,"target");return this.scope.allowNewTarget||this.raise(A.UnexpectedNewTarget,a),a}return this.parseNew(e)}parseNew(e){if(this.parseNewCallee(e),this.eat(10)){let t=this.parseExprList(11);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,"NewExpression")}parseNewCallee(e){let t=this.match(83),a=this.parseNoCallExpr();e.callee=a,t&&("Import"===a.type||"ImportExpression"===a.type)&&this.raise(A.ImportCallNotNewExpression,a)}parseTemplateElement(e){let{start:t,startLoc:a,end:n,value:r}=this.state,s=t+1,i=this.startNodeAt(f(a,1));null===r&&(e||this.raise(A.InvalidEscapeSequenceTemplate,f(this.state.firstInvalidTemplateEscapePos,1)));let o=this.match(24),l=o?-1:-2,c=n+l;i.value={raw:this.input.slice(s,c).replace(/\r\n?/g,"\n"),cooked:null===r?null:r.slice(1,l)},i.tail=o,this.next();let u=this.finishNode(i,"TemplateElement");return this.resetEndLocation(u,f(this.state.lastTokEndLoc,l)),u}parseTemplate(e){let t=this.startNode(),a=this.parseTemplateElement(e),n=[a],r=[];for(;!a.tail;)r.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),n.push(a=this.parseTemplateElement(e));return t.expressions=r,t.quasis=n,this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,a,n){a&&this.expectPlugin("recordAndTuple");let r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let s=!1,i=!0,o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(i)i=!1;else if(this.expect(12),this.match(e)){this.addTrailingCommaExtraToNode(o);break}let r;t?r=this.parseBindingProperty():(r=this.parsePropertyDefinition(n),s=this.checkProto(r,a,s,n)),a&&!this.isObjectProperty(r)&&"SpreadElement"!==r.type&&this.raise(A.InvalidRecordProperty,r),o.properties.push(r)}this.next(),this.state.inFSharpPipelineDirectBody=r;let l="ObjectExpression";return t?l="ObjectPattern":a&&(l="RecordExpression"),this.finishNode(o,l)}addTrailingCommaExtraToNode(e){this.addExtra(e,"trailingComma",this.state.lastTokStartLoc.index),this.addExtra(e,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(e){let t=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(A.UnsupportedPropertyDecorator,this.state.startLoc);this.match(26);)t.push(this.parseDecorator());let a,n=this.startNode(),r=!1,s=!1;if(this.match(21))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t,t=[]),n.method=!1,e&&(a=this.state.startLoc);let i=this.eat(55);this.parsePropertyNamePrefixOperator(n);let o=this.state.containsEsc;if(this.parsePropertyName(n,e),!i&&!o&&this.maybeAsyncOrAccessorProp(n)){let{key:e}=n,t=e.name;"async"===t&&!this.hasPrecedingLineBreak()&&(r=!0,this.resetPreviousNodeTrailingComments(e),i=this.eat(55),this.parsePropertyName(n)),("get"===t||"set"===t)&&(s=!0,this.resetPreviousNodeTrailingComments(e),n.kind=t,this.match(55)&&(i=!0,this.raise(A.AccessorIsGenerator,this.state.curPosition(),{kind:t}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,a,i,r,!1,s,e)}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){let t=this.getGetterSetterExpectedParamCount(e),a=this.getObjectOrClassMethodParams(e);a.length!==t&&this.raise("get"===e.kind?A.BadGetterArity:A.BadSetterArity,e),"set"===e.kind&&"RestElement"===a[a.length-1]?.type&&this.raise(A.BadSetterRestParameter,e)}parseObjectMethod(e,t,a,n,r){if(r){let a=this.parseMethod(e,t,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(a),a}if(a||t||this.match(10))return n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,a,!1,!1,"ObjectMethod")}parseObjectProperty(e,t,a,n){if(e.shorthand=!1,this.eat(14))return e.value=a?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowInOrVoidPattern(8,n),this.finishObjectProperty(e);if(!e.computed&&"Identifier"===e.key.type){if(this.checkReservedWord(e.key.name,e.key.loc.start,!0,!1),a)e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key));else if(this.match(29)){let a=this.state.startLoc;null!=n?null===n.shorthandAssignLoc&&(n.shorthandAssignLoc=a):this.raise(A.InvalidCoverInitializedName,a),e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key))}else e.value=this.cloneIdentifier(e.key);return e.shorthand=!0,this.finishObjectProperty(e)}}finishObjectProperty(e){return this.finishNode(e,"ObjectProperty")}parseObjPropValue(e,t,a,n,r,s,i){let o=this.parseObjectMethod(e,a,n,r,s)||this.parseObjectProperty(e,t,r,i);return o||this.unexpected(),o}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{let a,{type:n,value:r}=this.state;if(se(n))a=this.parseIdentifier(!0);else switch(n){case 135:a=this.parseNumericLiteral(r);break;case 134:a=this.parseStringLiteral(r);break;case 136:a=this.parseBigIntLiteral(r);break;case 139:{let e=this.state.startLoc;null!=t?null===t.privateKeyLoc&&(t.privateKeyLoc=e):this.raise(A.UnexpectedPrivateField,e),a=this.parsePrivateName();break}default:this.unexpected()}e.key=a,139!==n&&(e.computed=!1)}}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,a,n,r,s,i=!1){this.initFunction(e,a),e.generator=t,this.scope.enter(530|(i?576:0)|(r?32:0)),this.prodParam.enter(mt(a,e.generator)),this.parseFunctionParams(e,n);let o=this.parseFunctionBodyAndFinish(e,s,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(e,t,a){t&&this.expectPlugin("recordAndTuple");let n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let r=this.startNode();return this.next(),r.elements=this.parseExprList(e,!t,a,r),this.state.inFSharpPipelineDirectBody=n,this.finishNode(r,t?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,a,n){this.scope.enter(518);let r=mt(a,!1);!this.match(5)&&this.prodParam.hasIn&&(r|=8),this.prodParam.enter(r),this.initFunction(e,a);let s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,n)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=s,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,a){this.toAssignableList(t,a,!1),e.params=t}parseFunctionBodyAndFinish(e,t,a=!1){return this.parseFunctionBody(e,!1,a),this.finishNode(e,t)}parseFunctionBody(e,t,a=!1){let n=t&&!this.match(5);if(this.expressionScope.enter($t()),n)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{let n=this.state.strict,r=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,r=>{let s=!this.isSimpleParamList(e.params);r&&s&&this.raise(A.IllegalLanguageModeDirective,"method"!==e.kind&&"constructor"!==e.kind||!e.key?e:e.key.loc.end);let i=!n&&this.state.strict;this.checkParams(e,!(this.state.strict||t||a||s),t,i),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,i)}),this.prodParam.exit(),this.state.labels=r}this.expressionScope.exit()}isSimpleParameter(e){return"Identifier"===e.type}isSimpleParamList(e){for(let t=0,a=e.length;t10)&&Ye(e))if(a&&Re(e))this.raise(A.UnexpectedKeyword,t,{keyword:e});else if((this.state.strict?n?Le:Ue:Oe)(e,this.inModule))this.raise(A.UnexpectedReservedWord,t,{reservedWord:e});else if("yield"===e){if(this.prodParam.hasYield)return void this.raise(A.YieldBindingIdentifier,t)}else if("await"===e){if(this.prodParam.hasAwait)return void this.raise(A.AwaitBindingIdentifier,t);if(this.scope.inStaticBlock)return void this.raise(A.AwaitBindingIdentifierInStaticBlock,t);this.expressionScope.recordAsyncArrowParametersError(t)}else if("arguments"===e&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(A.ArgumentsInClass,t)}recordAwaitIfAllowed(){let e=this.prodParam.hasAwait;return e&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),e}parseAwait(e){let t=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(A.AwaitExpressionFormalParameter,t),this.eat(55)&&this.raise(A.ObsoleteAwaitStar,t),!this.scope.inFunction&&!(1&this.optionFlags)&&(this.isAmbiguousPrefixOrIdentifier()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(t.argument=this.parseMaybeUnary(null,!0)),this.finishNode(t,"AwaitExpression")}isAmbiguousPrefixOrIdentifier(){if(this.hasPrecedingLineBreak())return!0;let{type:e}=this.state;return 53===e||10===e||0===e||xe(e)||102===e&&!this.state.containsEsc||138===e||56===e||this.hasPlugin("v8intrinsic")&&54===e}parseYield(e){let t=this.startNodeAt(e);this.expressionScope.recordParameterInitializerError(A.YieldInParameter,t);let a=!1,n=null;if(!this.hasPrecedingLineBreak())switch(a=this.eat(55),this.state.type){case 13:case 140:case 8:case 11:case 3:case 9:case 14:case 12:if(!a)break;default:n=this.parseMaybeAssign()}return t.delegate=a,t.argument=n,this.finishNode(t,"YieldExpression")}parseImportCall(e){if(this.next(),e.source=this.parseMaybeAssignAllowIn(),e.options=null,this.eat(12))if(this.match(11))this.addTrailingCommaExtraToNode(e.source);else if(e.options=this.parseMaybeAssignAllowIn(),this.eat(12)&&(this.addTrailingCommaExtraToNode(e.options),!this.match(11))){do{this.parseMaybeAssignAllowIn()}while(this.eat(12)&&!this.match(11));this.raise(A.ImportCallArity,e)}return this.expect(11),this.finishNode(e,"ImportExpression")}checkPipelineAtInfixOperator(e,t){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&"SequenceExpression"===e.type&&this.raise(A.PipelineHeadSequenceExpression,t)}parseSmartPipelineBodyInStyle(e,t){if(this.isSimpleReference(e)){let a=this.startNodeAt(t);return a.callee=e,this.finishNode(a,"PipelineBareFunction")}{let a=this.startNodeAt(t);return this.checkSmartPipeTopicBodyEarlyErrors(t),a.expression=e,this.finishNode(a,"PipelineTopicExpression")}}isSimpleReference(e){switch(e.type){case"MemberExpression":return!e.computed&&this.isSimpleReference(e.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(e){if(this.match(19))throw this.raise(A.PipelineBodyNoArrow,this.state.startLoc);this.topicReferenceWasUsedInCurrentContext()||this.raise(A.PipelineTopicUnused,e)}withTopicBindingContext(e){let t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withSmartMixTopicForbiddingContext(e){return e()}withSoloAwaitPermittingContext(e){let t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}allowInAnd(e){let t=this.prodParam.currentFlags();if(8&~t){this.prodParam.enter(8|t);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){let t=this.prodParam.currentFlags();if(8&t){this.prodParam.enter(-9&t);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){let t=this.state.startLoc;this.state.potentialArrowAt=this.state.start;let a=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;let n=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.state.inFSharpPipelineDirectBody=a,n}parseModuleExpression(){this.expectPlugin("moduleBlocks");let e=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);let t=this.startNodeAt(this.state.endLoc);this.next();let a=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,8,"module")}finally{a()}return this.finishNode(e,"ModuleExpression")}parseVoidPattern(e){this.expectPlugin("discardBinding");let t=this.startNode();return null!=e&&(e.voidPatternLoc=this.state.startLoc),this.next(),this.finishNode(t,"VoidPattern")}parseMaybeAssignAllowInOrVoidPattern(e,t,a){if(null!=t&&this.match(88)){let a=this.lookaheadCharCode();if(44===a||a===(3===e?93:8===e?125:41)||61===a)return this.parseMaybeDefault(this.state.startLoc,this.parseVoidPattern(t))}return this.parseMaybeAssignAllowIn(t,a)}parsePropertyNamePrefixOperator(e){}},xa={kind:1},ka={kind:2},_a=/[\uD800-\uDFFF]/u,Ea=/in(?:stanceof)?/y;function Ca(e,t,a){for(let n=0;n0)for(let[e,t]of Array.from(this.scope.undefinedExports))this.raise(A.ModuleExportUndefined,t,{localName:e});this.addExtra(e,"topLevelAwait",this.state.hasTopLevelAwait)}let n;return n=140===t?this.finishNode(e,"Program"):this.finishNodeAt(e,"Program",f(this.state.startLoc,-1)),n}stmtToDirective(e){let t=this.castNodeTo(e,"Directive"),a=this.castNodeTo(e.expression,"DirectiveLiteral"),n=a.value,r=this.input.slice(this.offsetToSourcePos(a.start),this.offsetToSourcePos(a.end)),s=a.value=r.slice(1,-1);return this.addExtra(a,"raw",r),this.addExtra(a,"rawValue",s),this.addExtra(a,"expressionValue",n),t.value=a,delete e.expression,t}parseInterpreterDirective(){if(!this.match(28))return null;let e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(){return!!this.isContextual(100)&&this.hasFollowingBindingAtom()}isUsing(){return!!this.isContextual(107)&&this.nextTokenIsIdentifierOnSameLine()}isForUsing(){if(!this.isContextual(107))return!1;let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);if(this.isUnparsedContextual(e,"of")){let t=this.lookaheadCharCodeSince(e+2);if(61!==t&&58!==t&&59!==t)return!1}return!(!this.chStartsBindingIdentifier(t,e)&&!this.isUnparsedContextual(e,"void"))}nextTokenIsIdentifierOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}isAwaitUsing(){if(!this.isContextual(96))return!1;let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,"using")){e=this.nextTokenInLineStartSince(e+5);let t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return!0}return!1}chStartsBindingIdentifier(e,t){if(Se(e)){if(Ea.lastIndex=t,Ea.test(this.input)){let e=this.codePointAtPos(Ea.lastIndex);if(!Ie(e)&&92!==e)return!1}return!0}return 92===e}chStartsBindingPattern(e){return 91===e||123===e}hasFollowingBindingAtom(){let e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifierOrBrace(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return 123===t||this.chStartsBindingIdentifier(t,e)}allowsUsing(){return(this.scope.inModule||!this.scope.inTopLevel)&&!this.scope.inBareCaseStatement}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(26)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){let a=this.state.type,n=this.startNode(),r=!!(2&e),s=!!(4&e),i=1&e;switch(a){case 60:return this.parseBreakContinueStatement(n,!0);case 63:return this.parseBreakContinueStatement(n,!1);case 64:return this.parseDebuggerStatement(n);case 90:return this.parseDoWhileStatement(n);case 91:return this.parseForStatement(n);case 68:if(46===this.lookaheadCharCode())break;return s||this.raise(this.state.strict?A.StrictFunction:this.options.annexB?A.SloppyFunctionAnnexB:A.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(n,!1,!r&&s);case 80:return r||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,n),!0);case 69:return this.parseIfStatement(n);case 70:return this.parseReturnStatement(n);case 71:return this.parseSwitchStatement(n);case 72:return this.parseThrowStatement(n);case 73:return this.parseTryStatement(n);case 96:if(this.isAwaitUsing())return this.allowsUsing()?r?this.recordAwaitIfAllowed()||this.raise(A.AwaitUsingNotInAsyncContext,n):this.raise(A.UnexpectedLexicalDeclaration,n):this.raise(A.UnexpectedUsingDeclaration,n),this.next(),this.parseVarStatement(n,"await using");break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.allowsUsing()?r||this.raise(A.UnexpectedLexicalDeclaration,this.state.startLoc):this.raise(A.UnexpectedUsingDeclaration,this.state.startLoc),this.parseVarStatement(n,"using");case 100:{if(this.state.containsEsc)break;let e=this.nextTokenStart(),t=this.codePointAtPos(e);if(91!==t&&(!r&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(t,e)&&123!==t))break}case 75:r||this.raise(A.UnexpectedLexicalDeclaration,this.state.startLoc);case 74:{let e=this.state.value;return this.parseVarStatement(n,e)}case 92:return this.parseWhileStatement(n);case 76:return this.parseWithStatement(n);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(n);case 83:{let e=this.lookaheadCharCode();if(40===e||46===e)break}case 82:{let e;return!(8&this.optionFlags)&&!i&&this.raise(A.UnexpectedImportExport,this.state.startLoc),this.next(),e=83===a?this.parseImport(n):this.parseExport(n,t),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return r||this.raise(A.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(n,!0,!r&&s)}let o=this.state.value,l=this.parseExpression();return ne(a)&&"Identifier"===l.type&&this.eat(14)?this.parseLabeledStatement(n,o,l,e):this.parseExpressionStatement(n,l,t)}assertModuleNodeAllowed(e){!(8&this.optionFlags)&&!this.inModule&&this.raise(A.ImportOutsideModule,e)}decoratorsEnabledBeforeExport(){return!!this.hasPlugin("decorators-legacy")||this.hasPlugin("decorators")&&!1!==this.getPluginOption("decorators","decoratorsBeforeExport")}maybeTakeDecorators(e,t,a){return e&&(t.decorators?.length?("boolean"!=typeof this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(A.DecoratorsBeforeAfterExport,t.decorators[0]),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),a&&this.resetStartLocationFromNode(a,t)),t}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(e){let t=[];do{t.push(this.parseDecorator())}while(this.match(26));if(this.match(82))e||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(A.DecoratorExportClass,this.state.startLoc);else if(!this.canHaveLeadingDecorator())throw this.raise(A.UnexpectedLeadingDecorator,this.state.startLoc);return t}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);let e=this.startNode();if(this.next(),this.hasPlugin("decorators")){let t,a=this.state.startLoc;if(this.match(10)){let a=this.state.startLoc;this.next(),t=this.parseExpression(),this.expect(11),t=this.wrapParenthesis(a,t);let n=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(t,a),!1===this.getPluginOption("decorators","allowCallParenthesized")&&e.expression!==t&&this.raise(A.DecoratorArgumentsOutsideParentheses,n)}else{for(t=this.parseIdentifier(!1);this.eat(16);){let e=this.startNodeAt(a);e.object=t,this.match(139)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,t=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(t,a)}}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}parseMaybeDecoratorArguments(e,t){if(this.eat(10)){let a=this.startNodeAt(t);return a.callee=e,a.arguments=this.parseCallExpressionArguments(),this.toReferencedList(a.arguments),this.finishNode(a,"CallExpression")}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){let a;for(a=0;athis.parseStatement()),this.state.labels.pop(),this.expect(92),e.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(xa);let t=null;if(this.isContextual(96)&&this.recordAwaitIfAllowed()&&(t=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(10),this.match(13))return null!==t&&this.unexpected(t),this.parseFor(e,null);let a=this.isContextual(100);{let n=this.isAwaitUsing(),r=n||this.isForUsing(),s=a&&this.hasFollowingBindingAtom()||r;if(this.match(74)||this.match(75)||s){let a,s=this.startNode();n?(a="await using",this.recordAwaitIfAllowed()||this.raise(A.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):a=this.state.value,this.next(),this.parseVar(s,!0,a);let i=this.finishNode(s,"VariableDeclaration"),o=this.match(58);return o&&r&&this.raise(A.ForInUsing,i),(o||this.isContextual(102))&&1===i.declarations.length?this.parseForIn(e,i,t):(null!==t&&this.unexpected(t),this.parseFor(e,i))}}let n=this.isContextual(95),r=new Wt,s=this.parseExpression(!0,r),i=this.isContextual(102);if(i&&(a&&this.raise(A.ForOfLet,s),null===t&&n&&"Identifier"===s.type&&this.raise(A.ForOfAsync,s)),i||this.match(58)){this.checkDestructuringPrivate(r),this.toAssignable(s,!0);let a=i?"ForOfStatement":"ForInStatement";return this.checkLVal(s,{type:a}),this.parseForIn(e,s,t)}return this.checkExpressionErrors(r,!0),null!==t&&this.unexpected(t),this.parseFor(e,s)}parseFunctionStatement(e,t,a){return this.next(),this.parseFunction(e,1|(a?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.raise(A.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();let t,a=e.cases=[];this.expect(5),this.state.labels.push(ka),this.scope.enter(256);for(let n;!this.match(8);)if(this.match(61)||this.match(65)){let e=this.match(61);t&&this.finishNode(t,"SwitchCase"),a.push(t=this.startNode()),t.consequent=[],this.next(),e?t.test=this.parseExpression():(n&&this.raise(A.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),n=!0,t.test=null),this.expect(14)}else t?t.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(A.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){let e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&"Identifier"===e.type?8:0),this.checkLVal(e,{type:"CatchClause"},9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(62)){let t=this.startNode();this.next(),this.match(10)?(this.expect(10),t.param=this.parseCatchClauseParam(),this.expect(11)):(t.param=null,this.scope.enter(0)),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(67)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(A.NoCatchOrFinally,e),this.finishNode(e,"TryStatement")}parseVarStatement(e,t,a=!1){return this.next(),this.parseVar(e,!1,t,a),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(xa),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(A.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,a,n){for(let s of this.state.labels)s.name===t&&this.raise(A.LabelRedeclaration,a,{labelName:t});let r=de(this.state.type)?1:this.match(71)?2:null;for(let s=this.state.labels.length-1;s>=0;s--){let t=this.state.labels[s];if(t.statementStart!==e.start)break;t.statementStart=this.sourceToOffsetPos(this.state.start),t.kind=r}return this.state.labels.push({name:t,kind:r,statementStart:this.sourceToOffsetPos(this.state.start)}),e.body=8&n?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=a,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t,a){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,a){let n=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(5),t&&this.scope.enter(0),this.parseBlockBody(n,e,!1,8,a),t&&this.scope.exit(),this.finishNode(n,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,a,n,r){let s=e.body=[],i=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?i:void 0,a,n,r)}parseBlockOrModuleBlockBody(e,t,a,n,r){let s=this.state.strict,i=!1,o=!1;for(;!this.match(n);){let n=a?this.parseModuleItem():this.parseStatementListItem();if(t&&!o){if(this.isValidDirective(n)){let e=this.stmtToDirective(n);t.push(e),!i&&"use strict"===e.value.value&&(i=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(n)}r?.call(this,i),s||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(11)?null:this.parseExpression(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,a){let n=this.match(58);return this.next(),n?null!==a&&this.unexpected(a):e.await=null!==a,"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!n||!this.options.annexB||this.state.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)&&this.raise(A.ForInOfLoopInitializer,t,{type:n?"ForInStatement":"ForOfStatement"}),"AssignmentPattern"===t.type&&this.raise(A.InvalidLhs,t,{ancestor:{type:"ForStatement"}}),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")}parseVar(e,t,a,n=!1){let r=e.declarations=[];for(e.kind=a;;){let e=this.startNode();if(this.parseVarId(e,a),e.init=this.eat(29)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,null===e.init&&!n&&("Identifier"===e.id.type||t&&(this.match(58)||this.isContextual(102))?("const"===a||"using"===a||"await using"===a)&&!(this.match(58)||this.isContextual(102))&&this.raise(A.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:a}):this.raise(A.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"})),r.push(this.finishNode(e,"VariableDeclarator")),!this.eat(12))break}return e}parseVarId(e,t){let a=this.parseBindingAtom();"using"===t||"await using"===t?("ArrayPattern"===a.type||"ObjectPattern"===a.type)&&this.raise(A.UsingDeclarationHasBindingPattern,a.loc.start):"VoidPattern"===a.type&&this.raise(A.UnexpectedVoidPattern,a.loc.start),this.checkLVal(a,{type:"VariableDeclarator"},"var"===t?5:8201),e.id=a}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){let a=2&t,n=!!(1&t),r=n&&!(4&t),s=!!(8&t);this.initFunction(e,s),this.match(55)&&(a&&this.raise(A.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),n&&(e.id=this.parseFunctionId(r));let i=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(514),this.prodParam.enter(mt(s,e.generator)),n||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(e,n?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),n&&!a&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=i,e}parseFunctionId(e){return e||ne(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(10),this.expressionScope.enter(zt()),e.params=this.parseBindingList(11,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.loc.start)}parseClass(e,t,a){this.next();let n=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,a),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,n),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}nameIsConstructor(e){return"Identifier"===e.type&&"constructor"===e.name||"StringLiteral"===e.type&&"constructor"===e.value}isNonstaticConstructor(e){return!e.computed&&!e.static&&this.nameIsConstructor(e.key)}parseClassBody(e,t){this.classScope.enter();let a={hadConstructor:!1,hadSuperClass:e},n=[],r=this.startNode();if(r.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(n.length>0)throw this.raise(A.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(26)){n.push(this.parseDecorator());continue}let e=this.startNode();n.length&&(e.decorators=n,this.resetStartLocationFromNode(e,n[0]),n=[]),this.parseClassMember(r,e,a),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(A.DecoratorConstructor,e)}}),this.state.strict=t,this.next(),n.length)throw this.raise(A.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(r,"ClassBody")}parseClassMemberFromModifier(e,t){let a=this.parseIdentifier(!0);if(this.isClassMethod()){let n=t;return n.kind="method",n.computed=!1,n.key=a,n.static=!1,this.pushClassMethod(e,n,!1,!1,!1,!1),!0}if(this.isClassProperty()){let n=t;return n.computed=!1,n.key=a,n.static=!1,e.body.push(this.parseClassProperty(n)),!0}return this.resetPreviousNodeTrailingComments(a),!1}parseClassMember(e,t,a){let n=this.isContextual(106);if(n){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(5))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,a,n)}parseClassMemberWithIsStatic(e,t,a,n){let r=t,s=t,i=t,o=t,l=t,c=r,u=r;if(t.static=n,this.parsePropertyNamePrefixOperator(t),this.eat(55)){c.kind="method";let t=this.match(139);return this.parseClassElementName(c),this.parsePostMemberNameModifiers(c),t?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(r)&&this.raise(A.ConstructorIsGenerator,r.key),void this.pushClassMethod(e,r,!0,!1,!1,!1))}let d=!this.state.containsEsc&&ne(this.state.type),h=this.parseClassElementName(t),p=d?h.name:null,f=this.isPrivateName(h),m=this.state.startLoc;if(this.parsePostMemberNameModifiers(u),this.isClassMethod()){if(c.kind="method",f)return void this.pushClassPrivateMethod(e,s,!1,!1);let n=this.isNonstaticConstructor(r),i=!1;n&&(r.kind="constructor",a.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(A.DuplicateConstructor,h),n&&this.hasPlugin("typescript")&&t.override&&this.raise(A.OverrideOnConstructor,h),a.hadConstructor=!0,i=a.hadSuperClass),this.pushClassMethod(e,r,!1,!1,n,i)}else if(this.isClassProperty())f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,i);else if("async"!==p||this.isLineTerminator())if("get"!==p&&"set"!==p||this.match(55)&&this.isLineTerminator())if("accessor"!==p||this.isLineTerminator())this.isLineTerminator()?f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,i):this.unexpected();else{this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(h);let t=this.match(139);this.parseClassElementName(i),this.pushClassAccessorProperty(e,l,t)}else{this.resetPreviousNodeTrailingComments(h),c.kind=p;let t=this.match(139);this.parseClassElementName(r),t?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(r)&&this.raise(A.ConstructorIsAccessor,r.key),this.pushClassMethod(e,r,!1,!1,!1,!1)),this.checkGetterSetterParams(r)}else{this.resetPreviousNodeTrailingComments(h);let t=this.eat(55);u.optional&&this.unexpected(m),c.kind="method";let a=this.match(139);this.parseClassElementName(c),this.parsePostMemberNameModifiers(u),a?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(r)&&this.raise(A.ConstructorIsAsync,r.key),this.pushClassMethod(e,r,t,!0,!1,!1))}}parseClassElementName(e){let{type:t,value:a}=this.state;if((132===t||134===t)&&e.static&&"prototype"===a&&this.raise(A.StaticPrototype,this.state.startLoc),139===t){"constructor"===a&&this.raise(A.ConstructorClassPrivateField,this.state.startLoc);let t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e),e.key}parseClassStaticBlock(e,t){this.scope.enter(720);let a=this.state.labels;this.state.labels=[],this.prodParam.enter(0);let n=t.body=[];this.parseBlockOrModuleBlockBody(n,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=a,e.body.push(this.finishNode(t,"StaticBlock")),t.decorators?.length&&this.raise(A.DecoratorStaticBlock,t)}pushClassProperty(e,t){!t.computed&&this.nameIsConstructor(t.key)&&this.raise(A.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){let a=this.parseClassPrivateProperty(t);e.body.push(a),this.classScope.declarePrivateName(this.getPrivateNameSV(a.key),0,a.key.loc.start)}pushClassAccessorProperty(e,t,a){!a&&!t.computed&&this.nameIsConstructor(t.key)&&this.raise(A.ConstructorClassField,t.key);let n=this.parseClassAccessorProperty(t);e.body.push(n),a&&this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.loc.start)}pushClassMethod(e,t,a,n,r,s){e.body.push(this.parseMethod(t,a,n,r,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,a,n){let r=this.parseMethod(t,a,n,!1,!1,"ClassPrivateMethod",!0);e.body.push(r);let s="get"===r.kind?r.static?6:2:"set"===r.kind?r.static?5:1:0;this.declareClassPrivateMethodInScope(r,s)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.loc.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassAccessorProperty")}parseInitializer(e){this.scope.enter(592),this.expressionScope.enter($t()),this.prodParam.enter(0),e.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,a,n=8331){if(ne(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,n);else{if(!a&&t)throw this.raise(A.MissingClassName,this.state.startLoc);e.id=null}}parseClassSuper(e){e.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(e,t){let a=this.parseMaybeImportPhase(e,!0),n=this.maybeParseExportDefaultSpecifier(e,a),r=!n||this.eat(12),s=r&&this.eatExportStar(e),i=s&&this.maybeParseExportNamespaceSpecifier(e),o=r&&(!i||this.eat(12)),l=n||s;if(s&&!i){if(n&&this.unexpected(),t)throw this.raise(A.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.sawUnambiguousESM=!0,this.finishNode(e,"ExportAllDeclaration")}let c,u=this.maybeParseExportNamedSpecifiers(e);if(n&&r&&!s&&!u&&this.unexpected(null,5),i&&o&&this.unexpected(null,98),l||u){if(c=!1,t)throw this.raise(A.UnsupportedDecoratorExport,e);this.parseExportFrom(e,l)}else c=this.maybeParseExportDeclaration(e);if(l||u||c){let a=e;if(this.checkExport(a,!0,!1,!!a.source),"ClassDeclaration"===a.declaration?.type)this.maybeTakeDecorators(t,a.declaration,a);else if(t)throw this.raise(A.UnsupportedDecoratorExport,e);return this.sawUnambiguousESM=!0,this.finishNode(a,"ExportNamedDeclaration")}if(this.eat(65)){let a=e,n=this.parseExportDefaultExpression();if(a.declaration=n,"ClassDeclaration"===n.type)this.maybeTakeDecorators(t,n,a);else if(t)throw this.raise(A.UnsupportedDecoratorExport,e);return this.checkExport(a,!0,!0),this.sawUnambiguousESM=!0,this.finishNode(a,"ExportDefaultDeclaration")}throw this.unexpected(null,5)}eatExportStar(e){return this.eat(55)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",t?.loc.start);let a=t||this.parseIdentifier(!0),n=this.startNodeAtNode(a);return n.exported=a,e.specifiers=[this.finishNode(n,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(93)){e.specifiers??(e.specifiers=[]);let t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(5)){let t=e;t.specifiers||(t.specifiers=[]);let a="type"===t.exportKind;return t.specifiers.push(...this.parseExportSpecifiers(a)),t.source=null,t.attributes=[],t.declaration=null,!0}return!1}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.attributes=[],e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual(95))return!1;let e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){let e=this.startNode();if(this.match(68))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(80))return this.parseClass(e,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(A.DecoratorBeforeExport,this.state.startLoc),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet()||this.isUsing()||this.isAwaitUsing())throw this.raise(A.UnsupportedDefaultExport,this.state.startLoc);let t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:e}=this.state;if(ne(e)){if(95===e&&!this.state.containsEsc||100===e)return!1;if((130===e||129===e)&&!this.state.containsEsc){let e=this.nextTokenStart(),t=this.input.charCodeAt(e);if(123===t||this.chStartsBindingIdentifier(t,e)&&!this.input.startsWith("from",e))return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;let t=this.nextTokenStart(),a=this.isUnparsedContextual(t,"from");if(44===this.input.charCodeAt(t)||ne(this.state.type)&&a)return!0;if(this.match(65)&&a){let e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(e,t){this.eatContextual(98)?(e.source=this.parseImportSource(),this.checkExport(e),this.maybeParseImportAttributes(e),this.checkJSONModuleImport(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){let{type:e}=this.state;return 26===e&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(A.DecoratorBeforeExport,this.state.startLoc),!0):this.isUsing()||this.isAwaitUsing()?(this.raise(A.UsingDeclarationExport,this.state.startLoc),!0):74===e||75===e||68===e||80===e||this.isLet()||this.isAsyncFunction()}checkExport(e,t,a,n){if(t)if(a){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){let t=e.declaration;"Identifier"===t.type&&"from"===t.name&&t.end-t.start===4&&!t.extra?.parenthesized&&this.raise(A.ExportDefaultFromAsIdentifier,t)}}else if(e.specifiers?.length)for(let r of e.specifiers){let{exported:e}=r,t="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(r,t),!n&&r.local){let{local:e}=r;"Identifier"!==e.type?this.raise(A.ExportBindingIsString,r,{localName:e.value,exportName:t}):(this.checkReservedWord(e.name,e.loc.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration){let t=e.declaration;if("FunctionDeclaration"===t.type||"ClassDeclaration"===t.type){let{id:a}=t;if(!a)throw new Error("Assertion failure");this.checkDuplicateExports(e,a.name)}else if("VariableDeclaration"===t.type)for(let e of t.declarations)this.checkDeclaration(e.id)}}checkDeclaration(e){if("Identifier"===e.type)this.checkDuplicateExports(e,e.name);else if("ObjectPattern"===e.type)for(let t of e.properties)this.checkDeclaration(t);else if("ArrayPattern"===e.type)for(let t of e.elements)t&&this.checkDeclaration(t);else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type?this.checkDeclaration(e.argument):"AssignmentPattern"===e.type&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&("default"===t?this.raise(A.DuplicateDefaultExport,e):this.raise(A.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){let t=[],a=!0;for(this.expect(5);!this.eat(8);){if(a)a=!1;else if(this.expect(12),this.eat(8))break;let n=this.isContextual(130),r=this.match(134),s=this.startNode();s.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(s,r,e,n))}return t}parseExportSpecifier(e,t,a,n){return this.eatContextual(93)?e.exported=this.parseModuleExportName():t?e.exported=this.cloneStringLiteral(e.local):e.exported||(e.exported=this.cloneIdentifier(e.local)),this.finishNode(e,"ExportSpecifier")}parseModuleExportName(){if(this.match(134)){let e=this.parseStringLiteral(this.state.value),t=_a.exec(e.value);return t&&this.raise(A.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}isJSONModuleImport(e){return null!=e.assertions&&e.assertions.some(({key:e,value:t})=>"json"===t.value&&("Identifier"===e.type?"type"===e.name:"type"===e.value))}checkImportReflection(e){let{specifiers:t}=e,a=1===t.length?t[0].type:null;"source"===e.phase?"ImportDefaultSpecifier"!==a&&this.raise(A.SourcePhaseImportRequiresDefault,t[0].loc.start):"defer"===e.phase?"ImportNamespaceSpecifier"!==a&&this.raise(A.DeferImportRequiresNamespace,t[0].loc.start):e.module&&("ImportDefaultSpecifier"!==a&&this.raise(A.ImportReflectionNotBinding,t[0].loc.start),e.assertions?.length>0&&this.raise(A.ImportReflectionHasAssertion,t[0].loc.start))}checkJSONModuleImport(e){if(this.isJSONModuleImport(e)&&"ExportAllDeclaration"!==e.type){let{specifiers:t}=e;if(null!=t){let e=t.find(e=>{let t;if("ExportSpecifier"===e.type?t=e.local:"ImportSpecifier"===e.type&&(t=e.imported),void 0!==t)return"Identifier"===t.type?"default"!==t.name:"default"!==t.value});void 0!==e&&this.raise(A.ImportJSONBindingNotDefault,e.loc.start)}}}isPotentialImportPhase(e){return!e&&(this.isContextual(105)||this.isContextual(97))}applyImportPhase(e,t,a,n){t||(this.hasPlugin("importReflection")&&(e.module=!1),"source"===a?(this.expectPlugin("sourcePhaseImports",n),e.phase="source"):"defer"===a?(this.expectPlugin("deferredImportEvaluation",n),e.phase="defer"):this.hasPlugin("sourcePhaseImports")&&(e.phase=null))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;let a=this.startNode(),n=this.parseIdentifierName(!0),{type:r}=this.state;return(se(r)?98!==r||102===this.lookaheadCharCode():12!==r)?(this.applyImportPhase(e,t,n,a.loc.start),null):(this.applyImportPhase(e,t,null),this.createIdentifier(a,n))}isPrecedingIdImportPhase(e){let{type:t}=this.state;return ne(t)?98!==t||102===this.lookaheadCharCode():12!==t}parseImport(e){return this.match(134)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];let a=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(12),n=a&&this.maybeParseStarImportSpecifier(e);return a&&!n&&this.parseNamedImportSpecifiers(e),this.expectContextual(98),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return e.specifiers??(e.specifiers=[]),e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportReflection(e),this.checkJSONModuleImport(e),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(134)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,a){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,a))}finishImportSpecifier(e,t,a=8201){return this.checkLVal(e.local,{type:t},a),this.finishNode(e,t)}parseImportAttributes(){this.expect(5);let e=[],t=new Set;do{if(this.match(8))break;let a=this.startNode(),n=this.state.value;if(t.has(n)&&this.raise(A.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:n}),t.add(n),this.match(134)?a.key=this.parseStringLiteral(n):a.key=this.parseIdentifier(!0),this.expect(14),!this.match(134))throw this.raise(A.ModuleAttributeInvalidValue,this.state.startLoc);a.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(a,"ImportAttribute"))}while(this.eat(12));return this.expect(8),e}parseModuleAttributes(){let e=[],t=new Set;do{let a=this.startNode();if(a.key=this.parseIdentifier(!0),"type"!==a.key.name&&this.raise(A.ModuleAttributeDifferentFromType,a.key),t.has(a.key.name)&&this.raise(A.ModuleAttributesWithDuplicateKeys,a.key,{key:a.key.name}),t.add(a.key.name),this.expect(14),!this.match(134))throw this.raise(A.ModuleAttributeInvalidValue,this.state.startLoc);a.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(a,"ImportAttribute"))}while(this.eat(12));return e}maybeParseImportAttributes(e){let t;if(this.match(76)){if(this.hasPrecedingLineBreak()&&40===this.lookaheadCharCode())return;this.next(),t=this.parseImportAttributes()}else this.isContextual(94)&&!this.hasPrecedingLineBreak()?(this.hasPlugin("deprecatedImportAssert")||this.raise(A.ImportAttributesUseAssert,this.state.startLoc),this.addExtra(e,"deprecatedAssertSyntax",!0),this.next(),t=this.parseImportAttributes()):t=[];e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){let a=this.startNodeAtNode(t);return a.local=t,e.specifiers.push(this.finishImportSpecifier(a,"ImportDefaultSpecifier")),!0}return!!se(this.state.type)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(55)){let t=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(5);!this.eat(8);){if(t)t=!1;else{if(this.eat(14))throw this.raise(A.DestructureNamedImport,this.state.startLoc);if(this.expect(12),this.eat(8))break}let a=this.startNode(),n=this.match(134),r=this.isContextual(130);a.imported=this.parseModuleExportName();let s=this.parseImportSpecifier(a,n,"type"===e.importKind||"typeof"===e.importKind,r,void 0);e.specifiers.push(s)}}parseImportSpecifier(e,t,a,n,r){if(this.eatContextual(93))e.local=this.parseIdentifier();else{let{imported:a}=e;if(t)throw this.raise(A.ImportBindingIsString,e,{importName:a.value});this.checkReservedWord(a.name,e.loc.start,!0,!0),e.local||(e.local=this.cloneIdentifier(a))}return this.finishImportSpecifier(e,"ImportSpecifier",r)}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}},Da=class extends Fa{constructor(e,t,a){let n=S(e);super(n,t),this.options=n,this.initializeScopes(),this.plugins=a,this.filename=n.sourceFilename,this.startIndex=n.startIndex;let r=0;n.allowAwaitOutsideFunction&&(r|=1),n.allowReturnOutsideFunction&&(r|=2),n.allowImportExportEverywhere&&(r|=8),n.allowSuperOutsideMethod&&(r|=16),n.allowUndeclaredExports&&(r|=64),n.allowNewTargetOutsideFunction&&(r|=4),n.allowYieldOutsideFunction&&(r|=32),n.ranges&&(r|=128),n.tokens&&(r|=256),n.createImportExpressions&&(r|=512),n.createParenthesizedExpressions&&(r|=1024),n.errorRecovery&&(r|=2048),n.attachComment&&(r|=4096),n.annexB&&(r|=8192),this.optionFlags=r}getScopeHandler(){return Ge}parse(){this.enterInitialScopes();let e=this.startNode(),t=this.startNode();this.nextToken(),e.errors=null;let a=this.parseTopLevel(e,t);return a.errors=this.state.errors,a.comments.length=this.state.commentsLen,a}};function Aa(e,t){if("unambiguous"!==t?.sourceType)return Ia(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";let a=Ia(t,e),n=a.parse();if(a.sawUnambiguousESM)return n;if(a.ambiguousScriptDifferentAst)try{return t.sourceType="script",Ia(t,e).parse()}catch{}else n.program.sourceType="script";return n}catch(XN){try{return t.sourceType="script",Ia(t,e).parse()}catch{}throw XN}}function Ta(e,t){let a=Ia(t,e);return a.options.strictMode&&(a.state.strict=!0),a.getExpression()}function Sa(e){let t={};for(let a of Object.keys(e))t[a]=ke(e[a]);return t}function Ia(e,t){let a=Da,n=new Map;if(e?.plugins){for(let t of e.plugins){let e,a;"string"==typeof t?e=t:[e,a]=t,n.has(e)||n.set(e,a||{})}ya(n),a=Na(n)}return new a(e,t,n)}Sa(ae);var Pa=new Map;function Na(e){let t=[];for(let r of ba)e.has(r)&&t.push(r);let a=t.join("|"),n=Pa.get(a);if(!n){n=Da;for(let e of t)n=va[e](n);Pa.set(a,n)}return n}function Ba(e){return(t,a,n)=>{let r=!!n?.backwards;if(!1===a)return!1;let{length:s}=t,i=a;for(;i>=0&&i"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e;function Ra(e,t,a){let n=!!a?.backwards;if(!1===t)return!1;let r=e.charAt(t);if(n){if("\r"===e.charAt(t-1)&&"\n"===r)return t-2;if(La(r))return t-1}else{if("\r"===r&&"\n"===e.charAt(t+1))return t+2;if(La(r))return t+1}return t}var za=Ra;function Ha(e,t){return!1!==t&&("/"===e.charAt(t)&&"/"===e.charAt(t+1)?Oa(e,t):t)}var Ya=Ha;function $a(e,t){let a=null,n=t;for(;n!==a;)a=n,n=Ma(e,n),n=ja(e,n),n=Ya(e,n),n=za(e,n);return n}var Ga=$a;function Wa(e){let t=[];for(let n of e)try{return n()}catch(a){t.push(a)}throw Object.assign(new Error("All combinations failed"),{errors:t})}function Va(e){if(!e.startsWith("#!"))return"";let t=e.indexOf("\n");return-1===t?e:e.slice(0,t)}var Ka=Va,Ja=(e,t)=>(a,n,...r)=>1|a&&null==n?void 0:(t.call(n)??n[e]).apply(n,r),qa=Array.prototype.findLast??function(e){for(let t=this.length-1;t>=0;t--){let a=this[t];if(e(a,t,this))return a}},Za=Ja("findLast",function(){if(Array.isArray(this))return qa});function Xa(e){return this[e<0?this.length+e:e]}var Qa=Ja("at",function(){if(Array.isArray(this)||"string"==typeof this)return Xa});function en(e){let t=e.range?.[0]??e.start,a=(e.declaration?.decorators??e.decorators)?.[0];return a?Math.min(en(a),t):t}function tn(e){return e.range?.[1]??e.end}function an(e){let t=new Set(e);return e=>t.has(e?.type)}var nn=an,rn=nn(["Block","CommentBlock","MultiLine"]),sn=nn(["Line","CommentLine","SingleLine","HashbangComment","HTMLOpen","HTMLClose","Hashbang","InterpreterDirective"]),on=new WeakMap;function ln(e){return on.has(e)||on.set(e,rn(e)&&"*"===e.value[0]&&/@(?:type|satisfies)\b/u.test(e.value)),on.get(e)}var cn=ln;function un(e){if(!rn(e))return!1;let t=`*${e.value}*`.split("\n");return t.length>1&&t.every(e=>"*"===e.trimStart()[0])}var dn=new WeakMap;function hn(e){return dn.has(e)||dn.set(e,un(e)),dn.get(e)}var pn=hn;function fn(e){if(e.length<2)return;let t;for(let a=e.length-1;a>=0;a--){let n=e[a];if(t&&tn(n)===en(t)&&pn(n)&&pn(t)&&(e.splice(a+1,1),n.value+="*//*"+t.value,n.range=[en(n),tn(t)]),!sn(n)&&!rn(n))throw new TypeError(`Unknown comment type: "${n.type}".`);t=n}}var mn=fn;function gn(e){return null!==e&&"object"==typeof e}var yn=gn,vn=null;function bn(e){if(null!==vn&&(vn.property,1)){let e=vn;return vn=bn.prototype=null,e}return vn=bn.prototype=e??Object.create(null),new bn}var wn=10;for(let e=0;e<=wn;e++)bn();function xn(e){return bn(e)}function kn(e,t="type"){function a(a){let n=a[t],r=e[n];if(!Array.isArray(r))throw Object.assign(new Error(`Missing visitor keys for '${n}'.`),{node:a});return r}return xn(e),a}var _n=kn,En=[["decorators","key","typeAnnotation","value"],[],["elementType"],["expression"],["expression","typeAnnotation"],["left","right"],["argument"],["directives","body"],["label"],["callee","typeArguments","arguments"],["body"],["decorators","id","typeParameters","superClass","superTypeArguments","mixins","implements","body","superTypeParameters"],["id","typeParameters"],["decorators","key","typeParameters","params","returnType","body"],["decorators","variance","key","typeAnnotation","value"],["name","typeAnnotation"],["test","consequent","alternate"],["checkType","extendsType","trueType","falseType"],["value"],["id","body"],["declaration","specifiers","source","attributes"],["id"],["id","typeParameters","extends","body"],["typeAnnotation"],["id","typeParameters","right"],["body","test"],["members"],["id","init"],["exported"],["left","right","body"],["id","typeParameters","params","predicate","returnType","body"],["id","params","body","typeParameters","returnType"],["key","value"],["local"],["objectType","indexType"],["typeParameter"],["types"],["node"],["object","property"],["argument","cases"],["pattern","body","guard"],["literal"],["decorators","key","value"],["expressions"],["qualification","id"],["decorators","key","typeAnnotation"],["typeParameters","params","returnType"],["expression","typeArguments"],["params"],["parameterName","typeAnnotation"]],Cn={AccessorProperty:En[0],AnyTypeAnnotation:En[1],ArgumentPlaceholder:En[1],ArrayExpression:["elements"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrayTypeAnnotation:En[2],ArrowFunctionExpression:["typeParameters","params","predicate","returnType","body"],AsConstExpression:En[3],AsExpression:En[4],AssignmentExpression:En[5],AssignmentPattern:["left","right","decorators","typeAnnotation"],AwaitExpression:En[6],BigIntLiteral:En[1],BigIntLiteralTypeAnnotation:En[1],BigIntTypeAnnotation:En[1],BinaryExpression:En[5],BindExpression:["object","callee"],BlockStatement:En[7],BooleanLiteral:En[1],BooleanLiteralTypeAnnotation:En[1],BooleanTypeAnnotation:En[1],BreakStatement:En[8],CallExpression:En[9],CatchClause:["param","body"],ChainExpression:En[3],ClassAccessorProperty:En[0],ClassBody:En[10],ClassDeclaration:En[11],ClassExpression:En[11],ClassImplements:En[12],ClassMethod:En[13],ClassPrivateMethod:En[13],ClassPrivateProperty:En[14],ClassProperty:En[14],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:En[15],ConditionalExpression:En[16],ConditionalTypeAnnotation:En[17],ContinueStatement:En[8],DebuggerStatement:En[1],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclaredPredicate:En[18],DeclareEnum:En[19],DeclareExportAllDeclaration:["source","attributes"],DeclareExportDeclaration:En[20],DeclareFunction:["id","predicate"],DeclareHook:En[21],DeclareInterface:En[22],DeclareModule:En[19],DeclareModuleExports:En[23],DeclareNamespace:En[19],DeclareOpaqueType:["id","typeParameters","supertype","lowerBound","upperBound"],DeclareTypeAlias:En[24],DeclareVariable:En[21],Decorator:En[3],Directive:En[18],DirectiveLiteral:En[1],DoExpression:En[10],DoWhileStatement:En[25],EmptyStatement:En[1],EmptyTypeAnnotation:En[1],EnumBigIntBody:En[26],EnumBigIntMember:En[27],EnumBooleanBody:En[26],EnumBooleanMember:En[27],EnumDeclaration:En[19],EnumDefaultedMember:En[21],EnumNumberBody:En[26],EnumNumberMember:En[27],EnumStringBody:En[26],EnumStringMember:En[27],EnumSymbolBody:En[26],ExistsTypeAnnotation:En[1],ExperimentalRestProperty:En[6],ExperimentalSpreadProperty:En[6],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportDefaultSpecifier:En[28],ExportNamedDeclaration:En[20],ExportNamespaceSpecifier:En[28],ExportSpecifier:["local","exported"],ExpressionStatement:En[3],File:["program"],ForInStatement:En[29],ForOfStatement:En[29],ForStatement:["init","test","update","body"],FunctionDeclaration:En[30],FunctionExpression:En[30],FunctionTypeAnnotation:["typeParameters","this","params","rest","returnType"],FunctionTypeParam:En[15],GenericTypeAnnotation:En[12],HookDeclaration:En[31],HookTypeAnnotation:["params","returnType","rest","typeParameters"],Identifier:["typeAnnotation","decorators"],IfStatement:En[16],ImportAttribute:En[32],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:En[33],ImportExpression:["source","options"],ImportNamespaceSpecifier:En[33],ImportSpecifier:["imported","local"],IndexedAccessType:En[34],InferredPredicate:En[1],InferTypeAnnotation:En[35],InterfaceDeclaration:En[22],InterfaceExtends:En[12],InterfaceTypeAnnotation:["extends","body"],InterpreterDirective:En[1],IntersectionTypeAnnotation:En[36],JsExpressionRoot:En[37],JsonRoot:En[37],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXClosingFragment:En[1],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:En[1],JSXExpressionContainer:En[3],JSXFragment:["openingFragment","children","closingFragment"],JSXIdentifier:En[1],JSXMemberExpression:En[38],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","typeArguments","attributes"],JSXOpeningFragment:En[1],JSXSpreadAttribute:En[6],JSXSpreadChild:En[3],JSXText:En[1],KeyofTypeAnnotation:En[6],LabeledStatement:["label","body"],Literal:En[1],LogicalExpression:En[5],MatchArrayPattern:["elements","rest"],MatchAsPattern:["pattern","target"],MatchBindingPattern:En[21],MatchExpression:En[39],MatchExpressionCase:En[40],MatchIdentifierPattern:En[21],MatchLiteralPattern:En[41],MatchMemberPattern:["base","property"],MatchObjectPattern:["properties","rest"],MatchObjectPatternProperty:["key","pattern"],MatchOrPattern:["patterns"],MatchRestPattern:En[6],MatchStatement:En[39],MatchStatementCase:En[40],MatchUnaryPattern:En[6],MatchWildcardPattern:En[1],MemberExpression:En[38],MetaProperty:["meta","property"],MethodDefinition:En[42],MixedTypeAnnotation:En[1],ModuleExpression:En[10],NeverTypeAnnotation:En[1],NewExpression:En[9],NGChainedExpression:En[43],NGEmptyExpression:En[1],NGMicrosyntax:En[10],NGMicrosyntaxAs:["key","alias"],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKey:En[1],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:En[32],NGPipeExpression:["left","right","arguments"],NGRoot:En[37],NullableTypeAnnotation:En[23],NullLiteral:En[1],NullLiteralTypeAnnotation:En[1],NumberLiteralTypeAnnotation:En[1],NumberTypeAnnotation:En[1],NumericLiteral:En[1],ObjectExpression:["properties"],ObjectMethod:En[13],ObjectPattern:["decorators","properties","typeAnnotation"],ObjectProperty:En[42],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeCallProperty:En[18],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeInternalSlot:["id","value"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:En[6],OpaqueType:["id","typeParameters","supertype","impltype","lowerBound","upperBound"],OptionalCallExpression:En[9],OptionalIndexedAccessType:En[34],OptionalMemberExpression:En[38],ParenthesizedExpression:En[3],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:En[1],PipelineTopicExpression:En[3],Placeholder:En[1],PrivateIdentifier:En[1],PrivateName:En[21],Program:En[7],Property:En[32],PropertyDefinition:En[14],QualifiedTypeIdentifier:En[44],QualifiedTypeofIdentifier:En[44],RegExpLiteral:En[1],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:En[6],SatisfiesExpression:En[4],SequenceExpression:En[43],SpreadElement:En[6],StaticBlock:En[10],StringLiteral:En[1],StringLiteralTypeAnnotation:En[1],StringTypeAnnotation:En[1],Super:En[1],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],SymbolTypeAnnotation:En[1],TaggedTemplateExpression:["tag","typeArguments","quasi"],TemplateElement:En[1],TemplateLiteral:["quasis","expressions"],ThisExpression:En[1],ThisTypeAnnotation:En[1],ThrowStatement:En[6],TopicReference:En[1],TryStatement:["block","handler","finalizer"],TSAbstractAccessorProperty:En[45],TSAbstractKeyword:En[1],TSAbstractMethodDefinition:En[32],TSAbstractPropertyDefinition:En[45],TSAnyKeyword:En[1],TSArrayType:En[2],TSAsExpression:En[4],TSAsyncKeyword:En[1],TSBigIntKeyword:En[1],TSBooleanKeyword:En[1],TSCallSignatureDeclaration:En[46],TSClassImplements:En[47],TSConditionalType:En[17],TSConstructorType:En[46],TSConstructSignatureDeclaration:En[46],TSDeclareFunction:En[31],TSDeclareKeyword:En[1],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumBody:En[26],TSEnumDeclaration:En[19],TSEnumMember:["id","initializer"],TSExportAssignment:En[3],TSExportKeyword:En[1],TSExternalModuleReference:En[3],TSFunctionType:En[46],TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["options","qualifier","typeArguments","source"],TSIndexedAccessType:En[34],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:En[35],TSInstantiationExpression:En[47],TSInterfaceBody:En[10],TSInterfaceDeclaration:En[22],TSInterfaceHeritage:En[47],TSIntersectionType:En[36],TSIntrinsicKeyword:En[1],TSJSDocAllType:En[1],TSJSDocNonNullableType:En[23],TSJSDocNullableType:En[23],TSJSDocUnknownType:En[1],TSLiteralType:En[41],TSMappedType:["key","constraint","nameType","typeAnnotation"],TSMethodSignature:["key","typeParameters","params","returnType"],TSModuleBlock:En[10],TSModuleDeclaration:En[19],TSNamedTupleMember:["label","elementType"],TSNamespaceExportDeclaration:En[21],TSNeverKeyword:En[1],TSNonNullExpression:En[3],TSNullKeyword:En[1],TSNumberKeyword:En[1],TSObjectKeyword:En[1],TSOptionalType:En[23],TSParameterProperty:["parameter","decorators"],TSParenthesizedType:En[23],TSPrivateKeyword:En[1],TSPropertySignature:["key","typeAnnotation"],TSProtectedKeyword:En[1],TSPublicKeyword:En[1],TSQualifiedName:En[5],TSReadonlyKeyword:En[1],TSRestType:En[23],TSSatisfiesExpression:En[4],TSStaticKeyword:En[1],TSStringKeyword:En[1],TSSymbolKeyword:En[1],TSTemplateLiteralType:["quasis","types"],TSThisType:En[1],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:En[23],TSTypeAssertion:En[4],TSTypeLiteral:En[26],TSTypeOperator:En[23],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:En[48],TSTypeParameterInstantiation:En[48],TSTypePredicate:En[49],TSTypeQuery:["exprName","typeArguments"],TSTypeReference:["typeName","typeArguments"],TSUndefinedKeyword:En[1],TSUnionType:En[36],TSUnknownKeyword:En[1],TSVoidKeyword:En[1],TupleTypeAnnotation:["types","elementTypes"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeAlias:En[24],TypeAnnotation:En[23],TypeCastExpression:En[4],TypeofTypeAnnotation:["argument","typeArguments"],TypeOperator:En[23],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:En[48],TypeParameterInstantiation:En[48],TypePredicate:En[49],UnaryExpression:En[6],UndefinedTypeAnnotation:En[1],UnionTypeAnnotation:En[36],UnknownTypeAnnotation:En[1],UpdateExpression:En[6],V8IntrinsicIdentifier:En[1],VariableDeclaration:["declarations"],VariableDeclarator:En[27],Variance:En[1],VoidPattern:En[1],VoidTypeAnnotation:En[1],WhileStatement:En[25],WithStatement:["object","body"],YieldExpression:En[6]},Fn=_n(Cn);function Dn(e,t){if(!yn(e))return e;if(Array.isArray(e)){for(let a=0;ae<=a);o=e&&0===n.slice(e,a).trim().length}return o?void 0:(e.extra={...e.extra,parenthesized:!0},e)}case"TemplateLiteral":if(t.expressions.length!==t.quasis.length-1)throw new Error("Malformed template literal.");break;case"TemplateElement":if("flow"===a||"hermes"===a||"espree"===a||"typescript"===a||s){let e=en(t)+1,a=tn(t)-(t.tail?1:2);t.range=[e,a]}break;case"VariableDeclaration":{let e=Qa(0,t.declarations,-1);e?.init&&";"!==n[tn(e)]&&(t.range=[en(t),tn(e)]);break}case"TSParenthesizedType":return t.typeAnnotation;case"TopicReference":e.extra={...e.extra,__isUsingHackPipeline:!0};break;case"TSUnionType":case"TSIntersectionType":if(1===t.types.length)return t.types[0];break;case"ImportExpression":"hermes"===a&&t.attributes&&!t.options&&(t.options=t.attributes)}},onLeave(e){switch(e.type){case"LogicalExpression":if(Sn(e))return In(e);break;case"TSImportType":!e.source&&"TSLiteralType"===e.argument.type&&(e.source=e.argument.literal,delete e.argument)}}}),e}function Sn(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function In(e){return Sn(e)?In({type:"LogicalExpression",operator:e.operator,left:In({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[en(e.left),tn(e.right.left)]}),right:e.right.right,range:[en(e),tn(e)]}):e}nn(["RegExpLiteral","BigIntLiteral","NumericLiteral","StringLiteral","DirectiveLiteral","Literal","JSXText","TemplateElement","StringLiteralTypeAnnotation","NumberLiteralTypeAnnotation","BigIntLiteralTypeAnnotation"]);var Pn=Tn;function Nn(e,t){let a=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(a,t)}var Bn=Nn,Mn="Unexpected parseExpression() input: ";function On(e){let{message:t,loc:a,reasonCode:n}=e;if(!a)return e;let{line:r,column:s}=a,i=e;("MissingPlugin"===n||"MissingOneOfPlugins"===n)&&(t="Unexpected token.",i=void 0);let o=` (${r}:${s})`;return t.endsWith(o)&&(t=t.slice(0,-o.length)),t.startsWith(Mn)&&(t=t.slice(Mn.length)),Bn(t,{loc:{start:{line:r,column:s+1}},cause:i})}var Un=On,jn=String.prototype.replaceAll??function(e,t){return e.global?this.replace(e,t):this.split(e).join(t)},Ln=Ja("replaceAll",function(){if("string"==typeof this)return jn}),Rn=/\*\/$/,zn=/^\/\*\*?/,Hn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Yn=/(^|\s+)\/\/([^\n\r]*)/g,$n=/^(\r?\n)+/,Gn=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,Wn=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,Vn=/(\r?\n|^) *\* ?/g,Kn=[];function Jn(e){let t=e.match(Hn);return t?t[0].trimStart():""}function qn(e){e=Ln(0,e.replace(zn,"").replace(Rn,""),Vn,"$1");let t="";for(;t!==e;)t=e,e=Ln(0,e,Gn,"\n$1 $2\n");e=e.replace($n,"").trimEnd();let a,n=Object.create(null),r=Ln(0,e,Wn,"").replace($n,"").trimEnd();for(;a=Wn.exec(e);){let e=Ln(0,a[2],Yn,"");if("string"==typeof n[a[1]]||Array.isArray(n[a[1]])){let t=n[a[1]];n[a[1]]=[...Kn,...Array.isArray(t)?t:[t],e]}else n[a[1]]=e}return{comments:r,pragmas:n}}var Zn=["noformat","noprettier"],Xn=["format","prettier"];function Qn(e){let t=Ka(e);t&&(e=e.slice(t.length+1));let a=Jn(e),{pragmas:n,comments:r}=qn(a);return{shebang:t,text:e,pragmas:n,comments:r}}function er(e){let{pragmas:t}=Qn(e);return Xn.some(e=>Object.prototype.hasOwnProperty.call(t,e))}function tr(e){let{pragmas:t}=Qn(e);return Zn.some(e=>Object.prototype.hasOwnProperty.call(t,e))}function ar(e){return e="function"==typeof e?{parse:e}:e,{astFormat:"estree",hasPragma:er,hasIgnorePragma:tr,locStart:en,locEnd:tn,...e}}var nr=ar,rr="module",sr="commonjs";function ir(e){if("string"==typeof e){if(e=e.toLowerCase(),/\.(?:mjs|mts)$/iu.test(e))return rr;if(/\.(?:cjs|cts)$/iu.test(e))return sr}}function or(e,t){let{type:a="JsExpressionRoot",rootMarker:n,text:r}=t,{tokens:s,comments:i}=e;return delete e.tokens,delete e.comments,{tokens:s,comments:i,type:a,node:e,range:[0,r.length],rootMarker:n}}var lr=or,cr=e=>nr(yr(e)),ur={sourceType:rr,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowNewTargetOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,attachComment:!1,plugins:["doExpressions","exportDefaultFrom","functionBind","functionSent","throwExpressions","partialApplication","decorators","moduleBlocks","asyncDoExpressions","destructuringPrivate","decoratorAutoAccessors","sourcePhaseImports","deferredImportEvaluation",["optionalChainingAssign",{version:"2023-07"}],["discardBinding",{syntaxType:"void"}]],tokens:!1,ranges:!1},dr="v8intrinsic",hr=[["pipelineOperator",{proposal:"hack",topicToken:"%"}],["pipelineOperator",{proposal:"fsharp"}]],pr=(e,t=ur)=>({...t,plugins:[...t.plugins,...e]}),fr=/@(?:no)?flow\b/u;function mr(e,t){if(t?.endsWith(".js.flow"))return!0;let a=Ka(e);a&&(e=e.slice(a.length));let n=Ga(e,0);return!1!==n&&(e=e.slice(0,n)),fr.test(e)}function gr(e,t,a){let n=e(t,a),r=n.errors.find(e=>!vr.has(e.reasonCode));if(r)throw r;return n}function yr({isExpression:e=!1,optionsCombinations:t}){return(a,n={})=>{let{filepath:r}=n;if("string"!=typeof r&&(r=void 0),("babel"===n.parser||"__babel_estree"===n.parser)&&mr(a,r))return n.parser="babel-flow",Er.parse(a,n);let s=t,i=n.__babelSourceType??ir(r);i&&i!==rr&&(s=s.map(e=>({...e,sourceType:i,...i===sr?{allowReturnOutsideFunction:void 0,allowNewTargetOutsideFunction:void 0}:void 0})));let o=/%[A-Z]/u.test(a);a.includes("|>")?s=(o?[...hr,dr]:hr).flatMap(e=>s.map(t=>pr([e],t))):o&&(s=s.map(e=>pr([dr],e)));let l,c=e?Ta:Aa;try{l=Wa(s.map(e=>()=>gr(c,a,e)))}catch({errors:[u]}){throw Un(u)}return e&&(l=lr(l,{text:a,rootMarker:n.rootMarker})),Pn(l,{text:a})}}var vr=new Set(["StrictNumericEscape","StrictWith","StrictOctalLiteral","StrictDelete","StrictEvalArguments","StrictEvalArgumentsBinding","StrictFunction","ForInOfLoopInitializer","ConstructorHasTypeParameters","UnsupportedParameterPropertyKind","DecoratorExportClass","ParamDupe","InvalidDecimal","RestTrailingComma","UnsupportedParameterDecorator","UnterminatedJsxContent","UnexpectedReservedWord","ModuleAttributesWithDuplicateKeys","InvalidEscapeSequenceTemplate","NonAbstractClassHasAbstractMethod","OptionalTypeBeforeRequired","PatternIsOptional","DeclareClassFieldHasInitializer","TypeImportCannotSpecifyDefaultAndNamed","VarRedeclaration","InvalidPrivateFieldResolution","DuplicateExport","ImportAttributesUseAssert","DeclarationMissingInitializer"]),br=[pr(["jsx"])],wr=cr({optionsCombinations:br}),xr=cr({optionsCombinations:[pr(["jsx","typescript"]),pr(["typescript"])]}),kr=cr({isExpression:!0,optionsCombinations:[pr(["jsx"])]}),_r=cr({isExpression:!0,optionsCombinations:[pr(["typescript"])]}),Er=cr({optionsCombinations:[pr(["jsx",["flow",{all:!0}],"flowComments"])]}),Cr=cr({optionsCombinations:br.map(e=>pr(["estree"],e))}),Fr={};function Dr(e){return Array.isArray(e)&&e.length>0}s(Fr,{json:()=>Br,"json-stringify":()=>Ur,json5:()=>Mr,jsonc:()=>Or});var Ar=Dr,Tr={tokens:!1,ranges:!1,attachComment:!1,createParenthesizedExpressions:!0};function Sr(e){let t=Aa(e,Tr),{program:a}=t;if(0===a.body.length&&0===a.directives.length&&!a.interpreter)return t}function Ir(e,t={}){let a,{allowComments:n=!0,allowEmpty:r=!1}=t;try{a=Ta(e,Tr)}catch(s){if(r&&"BABEL_PARSER_SYNTAX_ERROR"===s.code&&"ParseExpressionEmptyInput"===s.reasonCode)try{a=Sr(e)}catch{}if(!a)throw Un(s)}if(!n&&Ar(a.comments))throw Pr(a.comments[0],"Comment");return a=lr(a,{type:"JsonRoot",text:e}),"File"===a.node.type?delete a.node:Nr(a.node),a}function Pr(e,t){let[a,n]=[e.loc.start,e.loc.end].map(({line:e,column:t})=>({line:e,column:t+1}));return Bn(`${t} is not allowed in JSON.`,{loc:{start:a,end:n}})}function Nr(e){switch(e.type){case"ArrayExpression":for(let t of e.elements)null!==t&&Nr(t);return;case"ObjectExpression":for(let t of e.properties)Nr(t);return;case"ObjectProperty":if(e.computed)throw Pr(e.key,"Computed key");if(e.shorthand)throw Pr(e.key,"Shorthand property");return"Identifier"!==e.key.type&&Nr(e.key),void Nr(e.value);case"UnaryExpression":{let{operator:t,argument:a}=e;if("+"!==t&&"-"!==t)throw Pr(e,`Operator '${e.operator}'`);if("NumericLiteral"===a.type||"Identifier"===a.type&&("Infinity"===a.name||"NaN"===a.name))return;throw Pr(a,`Operator '${t}' before '${a.type}'`)}case"Identifier":if("Infinity"!==e.name&&"NaN"!==e.name&&"undefined"!==e.name)throw Pr(e,`Identifier '${e.name}'`);return;case"TemplateLiteral":if(Ar(e.expressions))throw Pr(e.expressions[0],"'TemplateLiteral' with expression");for(let t of e.quasis)Nr(t);return;case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":case"TemplateElement":return;default:throw Pr(e,`'${e.type}'`)}}var Br=nr({parse:e=>Ir(e),hasPragma:()=>!0,hasIgnorePragma:()=>!1}),Mr=nr(e=>Ir(e)),Or=nr(e=>Ir(e,{allowEmpty:!0})),Ur=nr({parse:e=>Ir(e,{allowComments:!1}),astFormat:"estree-json"}),jr={...u,...Fr};return l(c)}(),e.default||e)),Yj.exports;var e}const Gj=Ql($j());var Wj,Vj={exports:{}};function Kj(){return Wj||(Wj=1,Vj.exports=(e=function(){var t=Object.create,a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,s=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,l=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},u=(e,t,s,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of r(t))!i.call(e,l)&&l!==s&&a(e,l,{get:()=>t[l],enumerable:!(o=n(t,l))||o.enumerable});return e},d=(e,n,r)=>(r=null!=e?t(s(e)):{},u(a(r,"default",{value:e,enumerable:!0}),e)),h=e=>u(a({},"__esModule",{value:!0}),e),p=l((e,t)=>{var a=String,n=function(){return{isColorSupported:!1,reset:a,bold:a,dim:a,italic:a,underline:a,inverse:a,hidden:a,strikethrough:a,black:a,red:a,green:a,yellow:a,blue:a,magenta:a,cyan:a,white:a,gray:a,bgBlack:a,bgRed:a,bgGreen:a,bgYellow:a,bgBlue:a,bgMagenta:a,bgCyan:a,bgWhite:a,blackBright:a,redBright:a,greenBright:a,yellowBright:a,blueBright:a,magentaBright:a,cyanBright:a,whiteBright:a,bgBlackBright:a,bgRedBright:a,bgGreenBright:a,bgYellowBright:a,bgBlueBright:a,bgMagentaBright:a,bgCyanBright:a,bgWhiteBright:a}};t.exports=n(),t.exports.createColors=n}),f=l(()=>{}),m=l((e,t)=>{var a=p(),n=f(),r=class e extends Error{constructor(t,a,n,r,s,i){super(t),this.name="CssSyntaxError",this.reason=t,s&&(this.file=s),r&&(this.source=r),i&&(this.plugin=i),typeof a<"u"&&typeof n<"u"&&("number"==typeof a?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=a.isColorSupported);let r=e=>e,s=e=>e,i=e=>e;if(e){let{bold:e,gray:t,red:o}=a.createColors(!0);s=t=>e(o(t)),r=e=>t(e),n&&(i=e=>n(e))}let o=t.split(/\r?\n/),l=Math.max(this.line-3,0),c=Math.min(this.line+2,o.length),u=String(c).length;return o.slice(l,c).map((e,t)=>{let a=l+1+t,n=" "+(" "+a).slice(-u)+" | ";if(a===this.line){if(e.length>160){let t=20,a=Math.max(0,this.column-t),o=Math.max(this.column+t,this.endColumn+t),l=e.slice(a,o),c=r(n.replace(/\d/g," "))+e.slice(0,Math.min(this.column-1,t-1)).replace(/[^\t]/g," ");return s(">")+r(n)+i(l)+"\n "+c+s("^")}let t=r(n.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(n)+i(e)+"\n "+t+s("^")}return" "+r(n)+i(e)}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}};t.exports=r,r.default=r}),g=l((e,t)=>{var a={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function n(e){return e[0].toUpperCase()+e.slice(1)}var r=class{constructor(e){this.builder=e}atrule(e,t){let a="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(typeof e.raws.afterName<"u"?a+=e.raws.afterName:n&&(a+=" "),e.nodes)this.block(e,a+n);else{let r=(e.raws.between||"")+(t?";":"");this.builder(a+n+r,e)}}beforeAfter(e,t){let a;a="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let n=e.parent,r=0;for(;n&&"root"!==n.type;)r+=1,n=n.parent;if(a.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e0&&"comment"===e.nodes[t].type;)t-=1;let a=this.raw(e,"semicolon");for(let n=0;n{if(s=e.raws[t],typeof s<"u")return!1})}return typeof s>"u"&&(s=a[r]),o.rawCache[r]=s,s}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&typeof e.raws.after<"u")return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let a;return e.walkComments(e=>{if(typeof e.raws.before<"u")return a=e.raws.before,a.includes("\n")&&(a=a.replace(/[^\n]+$/,"")),!1}),typeof a>"u"?a=this.raw(t,null,"beforeDecl"):a&&(a=a.replace(/\S/g,"")),a}rawBeforeDecl(e,t){let a;return e.walkDecls(e=>{if(typeof e.raws.before<"u")return a=e.raws.before,a.includes("\n")&&(a=a.replace(/[^\n]+$/,"")),!1}),typeof a>"u"?a=this.raw(t,null,"beforeRule"):a&&(a=a.replace(/\S/g,"")),a}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,typeof t<"u"))return!1}),t}rawBeforeRule(e){let t;return e.walk(a=>{if(a.nodes&&(a.parent!==e||e.first!==a)&&typeof a.raws.before<"u")return t=a.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(typeof e.raws.between<"u")return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,typeof t<"u"))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(a=>{let n=a.parent;if(n&&n!==e&&n.parent&&n.parent===e&&typeof a.raws.before<"u"){let e=a.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,typeof t<"u"))return!1}),t}rawValue(e,t){let a=e[t],n=e.raws[t];return n&&n.value===a?n.raw:a}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}};t.exports=r,r.default=r}),y=l((e,t)=>{var a=g();function n(e,t){new a(t).stringify(e)}t.exports=n,n.default=n}),v=l((e,t)=>{t.exports.isClean=Symbol("isClean"),t.exports.my=Symbol("my")}),b=l((e,t)=>{var a=m(),n=g(),r=y(),{isClean:s,my:i}=v();function o(e,t){let a=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n)||"proxyCache"===n)continue;let r=e[n],s=typeof r;"parent"===n&&"object"===s?t&&(a[n]=t):"source"===n?a[n]=r:Array.isArray(r)?a[n]=r.map(e=>o(e,a)):("object"===s&&null!==r&&(r=o(r)),a[n]=r)}return a}function l(e,t){if(t&&typeof t.offset<"u")return t.offset;let a=1,n=1,r=0;for(let s=0;s"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,a)=>(e[t]===a||(e[t]=a,("prop"===t||"value"===t||"name"===t||"params"===t||"important"===t||"text"===t)&&e.markDirty()),!0)}}markClean(){this[s]=!0}markDirty(){if(this[s]){this[s]=!1;let e=this;for(;e=e.parent;)e[s]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let t=this.source.start;if(e.index)t=this.positionInside(e.index);else if(e.word){let a="document"in this.source.input?this.source.input.document:this.source.input.css,n=a.slice(l(a,this.source.start),l(a,this.source.end)).indexOf(e.word);-1!==n&&(t=this.positionInside(n))}return t}positionInside(e){let t=this.source.start.column,a=this.source.start.line,n="document"in this.source.input?this.source.input.document:this.source.input.css,r=l(n,this.source.start),s=r+e;for(let i=r;i"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof e&&e.toJSON)a[s]=e.toJSON(null,t);else if("source"===s){if(null==e)continue;let n=t.get(e.input);null==n&&(n=r,t.set(e.input,r),r++),a[s]={end:e.end,inputId:n,start:e.start}}else a[s]=e}return n&&(a.inputs=[...t.keys()].map(e=>e.toJSON())),a}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=r){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,a={}){let n={node:this};for(let r in a)n[r]=a[r];return e.warn(t,n)}};t.exports=c,c.default=c}),w=l((e,t)=>{var a=b(),n=class extends a{constructor(e){super(e),this.type="comment"}};t.exports=n,n.default=n}),x=l((e,t)=>{var a=b(),n=class extends a{get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}constructor(e){e&&typeof e.value<"u"&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};t.exports=n,n.default=n}),k=l((t,a)=>{var n,r,s,i,o=w(),l=x(),c=b(),{isClean:u,my:d}=v();function h(e){return e.map(e=>(e.nodes&&(e.nodes=h(e.nodes)),delete e.source,e))}function p(e){if(e[u]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)p(t)}var f=class t extends c{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,a,n=this.getIterator();for(;this.indexes[n]"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...a)=>e[t](...a.map(e=>"function"==typeof e?(t,a)=>e(t.toProxy(),a):e)):"every"===t||"some"===t?a=>e[t]((e,...t)=>a(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,a)=>(e[t]===a||(e[t]=a,("name"===t||"params"===t||"selector"===t)&&e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let a,n=this.index(e),r=this.normalize(t,this.proxyOf.nodes[n]).reverse();n=this.index(e);for(let s of r)this.proxyOf.nodes.splice(n+1,0,s);for(let s in this.indexes)a=this.indexes[s],n"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,"ignore")}else if("root"===e.type&&"document"!==this.type){e=e.nodes.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");"string"!=typeof e.value&&(e.value=String(e.value)),e=[new l(e)]}else if(e.selector||e.selectors)e=[new i(e)];else if(e.name)e=[new n(e)];else{if(!e.text)throw new Error("Unknown node type in node creation");e=[new o(e)]}return e.map(e=>(e[d]||t.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[u]&&p(e),e.raws||(e.raws={}),typeof e.raws.before>"u"&&a&&typeof a.raws.before<"u"&&(e.raws.before=a.raws.before.replace(/\S/g,"")),e.parent=this.proxyOf,e))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let a in this.indexes)t=this.indexes[a],t>=e&&(this.indexes[a]=t-1);return this.markDirty(),this}replaceValues(e,t,a){return a||(a=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,a))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(t){return this.each((a,n)=>{let r;try{r=t(a,n)}catch(e){throw a.addToError(e)}return!1!==r&&a.walk&&(r=a.walk(t)),r})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((a,n)=>{if("atrule"===a.type&&e.test(a.name))return t(a,n)}):this.walk((a,n)=>{if("atrule"===a.type&&a.name===e)return t(a,n)}):(t=e,this.walk((e,a)=>{if("atrule"===e.type)return t(e,a)}))}walkComments(e){return this.walk((t,a)=>{if("comment"===t.type)return e(t,a)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((a,n)=>{if("decl"===a.type&&e.test(a.prop))return t(a,n)}):this.walk((a,n)=>{if("decl"===a.type&&a.prop===e)return t(a,n)}):(t=e,this.walk((e,a)=>{if("decl"===e.type)return t(e,a)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((a,n)=>{if("rule"===a.type&&e.test(a.selector))return t(a,n)}):this.walk((a,n)=>{if("rule"===a.type&&a.selector===e)return t(a,n)}):(t=e,this.walk((e,a)=>{if("rule"===e.type)return t(e,a)}))}};f.registerParse=e=>{r=e},f.registerRule=e=>{i=e},f.registerAtRule=e=>{n=e},f.registerRoot=e=>{s=e},a.exports=f,f.default=f,f.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,n.prototype):"rule"===e.type?Object.setPrototypeOf(e,i.prototype):"decl"===e.type?Object.setPrototypeOf(e,l.prototype):"comment"===e.type?Object.setPrototypeOf(e,o.prototype):"root"===e.type&&Object.setPrototypeOf(e,s.prototype),e[d]=!0,e.nodes&&e.nodes.forEach(e=>{f.rebuild(e)})}}),_=l((e,t)=>{var a="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",n=(e,t=21)=>(a=t)=>{let n="",r=0|a;for(;r--;)n+=e[Math.random()*e.length|0];return n},r=(e=21)=>{let t="",n=0|e;for(;n--;)t+=a[64*Math.random()|0];return t};t.exports={nanoid:r,customAlphabet:n}}),E=l(()=>{}),C=l((e,t)=>{t.exports=class{}}),F=l((e,t)=>{var{nanoid:a}=_(),{isAbsolute:n,resolve:r}={},{SourceMapConsumer:s,SourceMapGenerator:i}=E(),{fileURLToPath:o,pathToFileURL:l}={},c=m(),u=C(),d=f(),h=Symbol("lineToIndexCache"),p=!(!s||!i),g=!(!r||!n);function y(e){if(e[h])return e[h];let t=e.css.split("\n"),a=new Array(t.length),n=0;for(let r=0,s=t.length;r"u"||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"￾"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,t.document&&(this.document=t.document.toString()),t.from&&(!g||/^\w+:\/\//.test(t.from)||n(t.from)?this.file=t.from:this.file=r(t.from)),g&&p){let e=new u(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}error(e,t,a,n={}){let r,s,i,o,u;if(t&&"object"==typeof t){let e=t,n=a;if("number"==typeof e.offset){o=e.offset;let n=this.fromOffset(o);t=n.line,a=n.col}else t=e.line,a=e.column,o=this.fromLineAndColumn(t,a);if("number"==typeof n.offset){i=n.offset;let e=this.fromOffset(i);s=e.line,r=e.col}else s=n.line,r=n.column,i=this.fromLineAndColumn(n.line,n.column)}else if(a)o=this.fromLineAndColumn(t,a);else{o=t;let e=this.fromOffset(o);t=e.line,a=e.col}let d=this.origin(t,a,s,r);return u=d?new c(e,void 0===d.endLine?d.line:{column:d.column,line:d.line},void 0===d.endLine?d.column:{column:d.endColumn,line:d.endLine},d.source,d.file,n.plugin):new c(e,void 0===s?t:{column:a,line:t},void 0===s?a:{column:r,line:s},this.css,this.file,n.plugin),u.input={column:a,endColumn:r,endLine:s,endOffset:i,line:t,offset:o,source:this.css},this.file&&(l&&(u.input.url=l(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(e,t){return y(this)[e-1]+t-1}fromOffset(e){let t=y(this),a=0;if(e>=t[t.length-1])a=t.length-1;else{let n,r=t.length-2;for(;a>1),e=t[n+1])){a=n;break}a=n+1}}return{col:e-t[a]+1,line:a+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:r(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,a,r){if(!this.map)return!1;let s,i,c=this.map.consumer(),u=c.originalPositionFor({column:t,line:e});if(!u.source)return!1;"number"==typeof a&&(s=c.originalPositionFor({column:r,line:a})),i=n(u.source)?l(u.source):new URL(u.source,this.map.consumer().sourceRoot||l(this.map.mapFile));let d={column:u.column,endColumn:s&&s.column,endLine:s&&s.line,line:u.line,url:i.toString()};if("file:"===i.protocol){if(!o)throw new Error("file: protocol is not available in this PostCSS build");d.file=o(i)}let h=c.sourceContentFor(u.source);return h&&(d.source=h),d}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};t.exports=v,v.default=v,d&&d.registerInput&&d.registerInput(v)}),D=l((e,t)=>{var a=k(),n=class extends a{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};t.exports=n,n.default=n,a.registerAtRule(n)}),A=l((e,t)=>{var a,n,r=k(),s=class extends r{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,a){let n=super.normalize(e);if(t)if("prepend"===a)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let r of n)r.raws.before=t.raws.before;return n}removeChild(e,t){let a=this.index(e);return!t&&0===a&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[a].raws.before),super.removeChild(e)}toResult(e={}){return new a(new n,this,e).stringify()}};s.registerLazyResult=e=>{a=e},s.registerProcessor=e=>{n=e},t.exports=s,s.default=s,r.registerRoot(s)}),T=l((e,t)=>{var a={comma:e=>a.split(e,[","],!0),space(e){let t=[" ","\n","\t"];return a.split(e,t)},split(e,t,a){let n=[],r="",s=!1,i=0,o=!1,l="",c=!1;for(let u of e)c?c=!1:"\\"===u?c=!0:o?u===l&&(o=!1):'"'===u||"'"===u?(o=!0,l=u):"("===u?i+=1:")"===u?i>0&&(i-=1):0===i&&t.includes(u)&&(s=!0),s?(""!==r&&n.push(r.trim()),r="",s=!1):r+=u;return(a||""!==r)&&n.push(r.trim()),n}};t.exports=a,a.default=a}),S=l((e,t)=>{var a=k(),n=T(),r=class extends a{get selectors(){return n.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,a=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(a)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};t.exports=r,r.default=r,a.registerRule(r)}),I=l((e,t)=>{var a=/[\t\n\f\r "#'()/;[\\\]{}]/g,n=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,r=/.[\r\n"'(/\\]/,s=/[\da-f]/i;t.exports=function(e,t={}){let i,o,l,c,u,d,h,p,f,m,g=e.css.valueOf(),y=t.ignoreErrors,v=g.length,b=0,w=[],x=[];function k(){return b}function _(t){throw e.error("Unclosed "+t,b)}function E(){return 0===x.length&&b>=v}function C(e){if(x.length)return x.pop();if(b>=v)return;let t=!!e&&e.ignoreUnclosed;switch(i=g.charCodeAt(b),i){case 10:case 32:case 9:case 13:case 12:c=b;do{c+=1,i=g.charCodeAt(c)}while(32===i||10===i||9===i||13===i||12===i);d=["space",g.slice(b,c)],b=c-1;break;case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let e=String.fromCharCode(i);d=[e,e,b];break}case 40:if(m=w.length?w.pop()[1]:"",f=g.charCodeAt(b+1),"url"===m&&39!==f&&34!==f&&32!==f&&10!==f&&9!==f&&12!==f&&13!==f){c=b;do{if(h=!1,c=g.indexOf(")",c+1),-1===c){if(y||t){c=b;break}_("bracket")}for(p=c;92===g.charCodeAt(p-1);)p-=1,h=!h}while(h);d=["brackets",g.slice(b,c+1),b,c],b=c}else c=g.indexOf(")",b+1),o=g.slice(b,c+1),-1===c||r.test(o)?d=["(","(",b]:(d=["brackets",o,b,c],b=c);break;case 39:case 34:u=39===i?"'":'"',c=b;do{if(h=!1,c=g.indexOf(u,c+1),-1===c){if(y||t){c=b+1;break}_("string")}for(p=c;92===g.charCodeAt(p-1);)p-=1,h=!h}while(h);d=["string",g.slice(b,c+1),b,c],b=c;break;case 64:a.lastIndex=b+1,a.test(g),c=0===a.lastIndex?g.length-1:a.lastIndex-2,d=["at-word",g.slice(b,c+1),b,c],b=c;break;case 92:for(c=b,l=!0;92===g.charCodeAt(c+1);)c+=1,l=!l;if(i=g.charCodeAt(c+1),l&&47!==i&&32!==i&&10!==i&&9!==i&&13!==i&&12!==i&&(c+=1,s.test(g.charAt(c)))){for(;s.test(g.charAt(c+1));)c+=1;32===g.charCodeAt(c+1)&&(c+=1)}d=["word",g.slice(b,c+1),b,c],b=c;break;default:47===i&&42===g.charCodeAt(b+1)?(c=g.indexOf("*/",b+2)+1,0===c&&(y||t?c=g.length:_("comment")),d=["comment",g.slice(b,c+1),b,c],b=c):(n.lastIndex=b+1,n.test(g),c=0===n.lastIndex?g.length-1:n.lastIndex-2,d=["word",g.slice(b,c+1),b,c],w.push(d),b=c)}return b++,d}function F(e){x.push(e)}return{back:F,endOfFile:E,nextToken:C,position:k}}}),P=l((e,t)=>{var a=D(),n=w(),r=x(),s=A(),i=S(),o=I(),l={empty:!0,space:!0};function c(e){for(let t=e.length-1;t>=0;t--){let a=e[t],n=a[3]||a[2];if(n)return n}}var u=class{constructor(e){this.input=e,this.root=new s,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t=new a;t.name=e[1].slice(1),""===t.name&&this.unnamedAtrule(t,e),this.init(t,e[2]);let n,r,s,i=!1,o=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(n=(e=this.tokenizer.nextToken())[0],"("===n||"["===n?c.push("("===n?")":"]"):"{"===n&&c.length>0?c.push("}"):n===c[c.length-1]&&c.pop(),0===c.length){if(";"===n){t.source.end=this.getPosition(e[2]),t.source.end.offset++,this.semicolon=!0;break}if("{"===n){o=!0;break}if("}"===n){if(l.length>0){for(s=l.length-1,r=l[s];r&&"space"===r[0];)r=l[--s];r&&(t.source.end=this.getPosition(r[3]||r[2]),t.source.end.offset++)}this.end(e);break}l.push(e)}else l.push(e);if(this.tokenizer.endOfFile()){i=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(t.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(t,"params",l),i&&(e=l[l.length-1],t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++,this.spaces=t.raws.between,t.raws.between="")):(t.raws.afterName="",t.params=""),o&&(t.nodes=[],this.current=t)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let a,n=0;for(let r=t-1;r>=0&&(a=e[r],"space"===a[0]||(n+=1,2!==n));r--);throw this.input.error("Missed semicolon","word"===a[0]?a[3]+1:a[2])}colon(e){let t,a,n,r=0;for(let[s,i]of e.entries()){if(a=i,n=a[0],"("===n&&(r+=1),")"===n&&(r-=1),0===r&&":"===n){if(t){if("word"===t[0]&&"progid"===t[1])continue;return s}this.doubleColon(a)}t=a}return!1}comment(e){let t=new n;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let a=e[1].slice(2,-2);if(/^\s*$/.test(a))t.text="",t.raws.left=a,t.raws.right="";else{let e=a.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}createTokenizer(){this.tokenizer=o(this.input)}decl(e,t){let a=new r;this.init(a,e[0][2]);let n,s=e[e.length-1];for(";"===s[0]&&(this.semicolon=!0,e.pop()),a.source.end=this.getPosition(s[3]||s[2]||c(e)),a.source.end.offset++;"word"!==e[0][0];)1===e.length&&this.unknownWord(e),a.raws.before+=e.shift()[1];for(a.source.start=this.getPosition(e[0][2]),a.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;a.prop+=e.shift()[1]}for(a.raws.between="";e.length;){if(n=e.shift(),":"===n[0]){a.raws.between+=n[1];break}"word"===n[0]&&/\w/.test(n[1])&&this.unknownWord([n]),a.raws.between+=n[1]}("_"===a.prop[0]||"*"===a.prop[0])&&(a.raws.before+=a.prop[0],a.prop=a.prop.slice(1));let i,o=[];for(;e.length&&(i=e[0][0],"space"===i||"comment"===i);)o.push(e.shift());this.precheckMissedSemicolon(e);for(let r=e.length-1;r>=0;r--){if(n=e[r],"!important"===n[1].toLowerCase()){a.important=!0;let t=this.stringFrom(e,r);t=this.spacesFromEnd(e)+t," !important"!==t&&(a.raws.important=t);break}if("important"===n[1].toLowerCase()){let t=e.slice(0),n="";for(let e=r;e>0;e--){let a=t[e][0];if(n.trim().startsWith("!")&&"space"!==a)break;n=t.pop()[1]+n}n.trim().startsWith("!")&&(a.important=!0,a.raws.important=n,e=t)}if("space"!==n[0]&&"comment"!==n[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(a.raws.between+=o.map(e=>e[1]).join(""),o=[]),this.raw(a,"value",o.concat(e),t),a.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new i;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="",t.source.end=this.getPosition(e[2]),t.source.end.offset+=t.raws.ownSemicolon.length)}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,a=null,n=!1,r=null,s=[],i=e[1].startsWith("--"),o=[],l=e;for(;l;){if(a=l[0],o.push(l),"("===a||"["===a)r||(r=l),s.push("("===a?")":"]");else if(i&&n&&"{"===a)r||(r=l),s.push("}");else if(0===s.length){if(";"===a){if(n)return void this.decl(o,i);break}if("{"===a)return void this.rule(o);if("}"===a){this.tokenizer.back(o.pop()),t=!0;break}":"===a&&(n=!0)}else a===s[s.length-1]&&(s.pop(),0===s.length&&(r=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(r),t&&n){if(!i)for(;o.length&&(l=o[o.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(o.pop());this.decl(o,i)}else this.unknownWord(o)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,a,n){let r,s,i,o,c=a.length,u="",d=!0;for(let h=0;he+t[1],"");e.raws[t]={raw:n,value:u}}e[t]=u}rule(e){e.pop();let t=new i;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,a="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)a=e.pop()[1]+a;return a}spacesAndCommentsFromStart(e){let t,a="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)a+=e.shift()[1];return a}spacesFromEnd(e){let t,a="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)a=e.pop()[1]+a;return a}stringFrom(e,t){let a="";for(let n=t;n{var a=k(),n=F(),r=P();function s(e,t){let a=new n(e,t),s=new r(a);try{s.parse()}catch(i){throw i}return s.root}t.exports=s,s.default=s,a.registerParse(s)}),B=l((e,t)=>{var a=I(),n=F();t.exports={isInlineComment(e){if("word"===e[0]&&"//"===e[1].slice(0,2)){let t,r,s=e,i=[];for(;e;){if(/\r?\n/.test(e[1])){if(/['"].*\r?\n/.test(e[1])){i.push(e[1].substring(0,e[1].indexOf("\n"))),r=e[1].substring(e[1].indexOf("\n"));let a=this.input.css.valueOf().substring(this.tokenizer.position());r+=a,t=e[3]+a.length-r.length}else this.tokenizer.back(e);break}i.push(e[1]),t=e[2],e=this.tokenizer.nextToken({ignoreUnclosed:!0})}let o=["comment",i.join(""),s[2],t];return this.inlineComment(o),r&&(this.input=new n(r),this.tokenizer=a(this.input)),!0}if("/"===e[1]){let a=this.tokenizer.nextToken({ignoreUnclosed:!0});if("comment"===a[0]&&/^\/\*/.test(a[1]))return a[0]="word",a[1]=a[1].slice(1),e[1]="//",this.tokenizer.back(a),t.exports.isInlineComment.bind(this)(e)}return!1}}}),M=l((e,t)=>{t.exports={interpolation(e){let t=[e,this.tokenizer.nextToken()],a=["word","}"];if(t[0][1].length>1||"{"!==t[1][0])return this.tokenizer.back(t[1]),!1;for(e=this.tokenizer.nextToken();e&&a.includes(e[0]);)t.push(e),e=this.tokenizer.nextToken();let n=t.map(e=>e[1]),[r]=t,s=t.pop(),i=["word",n.join(""),r[2],s[2]];return this.tokenizer.back(e),this.tokenizer.back(i),!0}}}),O=l((e,t)=>{var a=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,n=/\.[0-9]/,r=e=>{let[,t]=e,[r]=t;return("."===r||"#"===r)&&!1===a.test(t)&&!1===n.test(t)};t.exports={isMixinToken:r}}),U=l((e,t)=>{var a=I(),n=/^url\((.+)\)/;t.exports=e=>{let{name:t,params:r=""}=e;if("import"===t&&r.length){e.import=!0;let t=a({css:r});for(e.filename=r.replace(n,"$1");!t.endOfFile();){let[a,n]=t.nextToken();if("word"===a&&"url"===n)return;if("brackets"===a){e.options=n,e.filename=r.replace(n,"").trim();break}}}}}),j=l((e,t)=>{var a=/:$/,n=/^:(\s+)?/;t.exports=e=>{let{name:t,params:r=""}=e;if(":"===e.name.slice(-1)){if(a.test(t)){let[n]=t.match(a);e.name=t.replace(n,""),e.raws.afterName=n+(e.raws.afterName||""),e.variable=!0,e.value=e.params}if(n.test(r)){let[t]=r.match(n);e.value=r.replace(t,""),e.raws.afterName=(e.raws.afterName||"")+t,e.variable=!0}}}}),L=l((e,t)=>{var a=w(),n=P(),{isInlineComment:r}=B(),{interpolation:s}=M(),{isMixinToken:i}=O(),o=U(),l=j(),c=/(!\s*important)$/i;t.exports=class extends n{constructor(...e){super(...e),this.lastNode=null}atrule(e){s.bind(this)(e)||(super.atrule(e),o(this.lastNode),l(this.lastNode))}decl(...e){super.decl(...e),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(e){e[0][1]=` ${e[0][1]}`;let t=e.findIndex(e=>"("===e[0]),a=e.reverse().find(e=>")"===e[0]),n=e.reverse().indexOf(a),r=e.splice(t,n).map(e=>e[1]).join("");for(let s of e.reverse())this.tokenizer.back(s);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=r}init(e,t,a){super.init(e,t,a),this.lastNode=e}inlineComment(e){let t=new a,n=e[1].slice(2);if(this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.inline=!0,t.raws.begin="//",/^\s*$/.test(n))t.text="",t.raws.left=n,t.raws.right="";else{let e=n.match(/^(\s*)([^]*[^\s])(\s*)$/);[,t.raws.left,t.text,t.raws.right]=e}}mixin(e){let[t]=e,a=t[1].slice(0,1),n=e.findIndex(e=>"brackets"===e[0]),r=e.findIndex(e=>"("===e[0]),s="";if((n<0||n>3)&&r>0){let t=e.reduce((e,t,a)=>")"===t[0]?a:e),a=e.slice(r,t+r).map(e=>e[1]).join(""),[n]=e.slice(r),s=[n[2],n[3]],[i]=e.slice(t,t+1),o=[i[2],i[3]],l=["brackets",a].concat(s,o),c=e.slice(0,r),u=e.slice(t+1);(e=c).push(l),e=e.concat(u)}let i=[];for(let l of e)if(("!"===l[1]||i.length)&&i.push(l),"important"===l[1])break;if(i.length){let[t]=i,a=e.indexOf(t),n=i[i.length-1],r=[t[2],t[3]],s=[n[4],n[5]],o=["word",i.map(e=>e[1]).join("")].concat(r,s);e.splice(a,i.length,o)}let o=e.findIndex(e=>c.test(e[1]));o>0&&([,s]=e[o],e.splice(o,1));for(let l of e.reverse())this.tokenizer.back(l);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=a,s&&(this.lastNode.important=!0,this.lastNode.raws.important=s)}other(e){r.bind(this)(e)||super.other(e)}rule(e){let t=e[e.length-1],a=e[e.length-2];if("at-word"===a[0]&&"{"===t[0]&&(this.tokenizer.back(t),s.bind(this)(a))){let t=this.tokenizer.nextToken();e=e.slice(0,e.length-2).concat([t]);for(let a of e.reverse())this.tokenizer.back(a);return}super.rule(e),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(e){let[t]=e;"each"!==e[0][1]||"("!==e[1][0]?i(t)?this.mixin(e):super.unknownWord(e):this.each(e)}}}),R=l((e,t)=>{var a=g();t.exports=class extends a{atrule(e,t){if(!e.mixin&&!e.variable&&!e.function)return void super.atrule(e,t);let a=`${e.function?"":e.raws.identifier||"@"}${e.name}`,n=e.params?this.rawValue(e,"params"):"",r=e.raws.important||"";if(e.variable&&(n=e.value),typeof e.raws.afterName<"u"?a+=e.raws.afterName:n&&(a+=" "),e.nodes)this.block(e,a+n+r);else{let s=(e.raws.between||"")+r+(t?";":"");this.builder(a+n+s,e)}}comment(e){if(e.inline){let t=this.raw(e,"left","commentLeft"),a=this.raw(e,"right","commentRight");this.builder(`//${t}${e.text}${a}`,e)}else super.comment(e)}}}),z=l((e,t)=>{var a=F(),n=L(),r=R();t.exports={parse(e,t){let r=new a(e,t),s=new n(r);return s.parse(),s.root.walk(e=>{let t=r.css.lastIndexOf(e.source.input.css);if(0===t)return;if(t+e.source.input.css.length!==r.css.length)throw new Error("Invalid state detected in postcss-less");let a=t+e.source.start.offset,n=r.fromOffset(t+e.source.start.offset);if(e.source.start={offset:a,line:n.line,column:n.col},e.source.end){let a=t+e.source.end.offset,n=r.fromOffset(t+e.source.end.offset);e.source.end={offset:a,line:n.line,column:n.col}}}),s.root},stringify(e,t){new r(t).stringify(e)},nodeToString(e){let a="";return t.exports.stringify(e,e=>{a+=e}),a}}}),H=l((e,t)=>{var a,n,r=k(),s=class extends r{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new a(new n,this,e).stringify()}};s.registerLazyResult=e=>{a=e},s.registerProcessor=e=>{n=e},t.exports=s,s.default=s}),Y=l((e,t)=>{var a=D(),n=w(),r=x(),s=F(),i=C(),o=A(),l=S();function c(e,t){if(Array.isArray(e))return e.map(e=>c(e));let{inputs:u,...d}=e;if(u){t=[];for(let e of u){let a={...e,__proto__:s.prototype};a.map&&(a.map={...a.map,__proto__:i.prototype}),t.push(a)}}if(d.nodes&&(d.nodes=e.nodes.map(e=>c(e,t))),d.source){let{inputId:e,...a}=d.source;d.source=a,null!=e&&(d.source.input=t[e])}if("root"===d.type)return new o(d);if("decl"===d.type)return new r(d);if("rule"===d.type)return new l(d);if("comment"===d.type)return new n(d);if("atrule"===d.type)return new a(d);throw new Error("Unknown node type: "+e.type)}t.exports=c,c.default=c}),$=l((e,t)=>{t.exports=class{generate(){}}}),G=l((e,t)=>{var a=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let a in t)this[a]=t[a]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};t.exports=a,a.default=a}),W=l((e,t)=>{var a=G(),n=class{get content(){return this.css}constructor(e,t,a){this.processor=e,this.messages=[],this.root=t,this.opts=a,this.css="",this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let n=new a(e,t);return this.messages.push(n),n}warnings(){return this.messages.filter(e=>"warning"===e.type)}};t.exports=n,n.default=n}),V=l((e,t)=>{var a={};t.exports=function(e){a[e]||(a[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}}),K=l((e,t)=>{var a=k(),n=H(),r=$(),s=N(),i=W(),o=A(),l=y(),{isClean:c,my:u}=v();V();var d={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},h={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},p={Once:!0,postcssPlugin:!0,prepare:!0},f=0;function m(e){return"object"==typeof e&&"function"==typeof e.then}function g(e){let t=!1,a=d[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[a,a+"-"+t,f,a+"Exit",a+"Exit-"+t]:t?[a,a+"-"+t,a+"Exit",a+"Exit-"+t]:e.append?[a,f,a+"Exit"]:[a,a+"Exit"]}function b(e){let t;return t="document"===e.type?["Document",f,"DocumentExit"]:"root"===e.type?["Root",f,"RootExit"]:g(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function w(e){return e[c]=!1,e.nodes&&e.nodes.forEach(e=>w(e)),e}var x={},_=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,r){let o;if(this.stringified=!1,this.processed=!1,"object"!=typeof n||null===n||"root"!==n.type&&"document"!==n.type)if(n instanceof e||n instanceof i)o=w(n.root),n.map&&(typeof r.map>"u"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{let e=s;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{o=e(n,r)}catch(l){this.processed=!0,this.error=l}o&&!o[u]&&a.rebuild(o)}else o=w(n);this.result=new i(t,o,r),this.helpers={...x,postcss:x,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let a=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin?a.postcssVersion:(e.plugin=a.postcssPlugin,e.setMessage())}catch(n){console&&console.error&&console.error(n)}return e}prepareVisitors(){this.listeners={};let e=(e,t,a)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,a])};for(let t of this.plugins)if("object"==typeof t)for(let a in t){if(!h[a]&&/^[A-Z]/.test(a))throw new Error(`Unknown event ${a} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!p[a])if("object"==typeof t[a])for(let n in t[a])e(t,"*"===n?a:a+"-"+n.toLowerCase(),t[a][n]);else"function"==typeof t[a]&&e(t,a,t[a])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t0;){let t=this.visitTick(a);if(m(t))try{await t}catch(e){let t=a[a.length-1].node;throw this.handleError(e,t)}}}if(this.listeners.OnceExit)for(let[a,n]of this.listeners.OnceExit){this.result.lastPlugin=a;try{if("document"===t.type){let e=t.nodes.map(e=>n(e,this.helpers));await Promise.all(e)}else await n(t,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return m(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=l;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let a=new r(t,this.result.root,this.result.opts).generate();return this.result.css=a[0],this.result.map=a[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(m(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[c];)e[c]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[n,r]of e){let e;this.result.lastPlugin=n;try{e=r(t,this.helpers)}catch(a){throw this.handleError(a,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(m(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:a,visitors:n}=t;if("root"!==a.type&&"document"!==a.type&&!a.parent)return void e.pop();if(n.length>0&&t.visitorIndex{e[c]||this.walkSync(e)});else{let t=this.listeners[a];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}};_.registerPostcss=e=>{x=e},t.exports=_,_.default=_,o.registerLazyResult(_),n.registerLazyResult(_)}),J=l((e,t)=>{var a=$(),n=N(),r=W(),s=y();V();var i=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=n;try{e=t(this._css,this._opts)}catch(a){this.error=a}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,t,n){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=n,this._map=void 0;let i,o=s;this.result=new r(this._processor,i,this._opts),this.result.css=t;let l=this;Object.defineProperty(this.result,"root",{get:()=>l.root});let c=new a(o,i,this._opts,t);if(c.isMap()){let[e,t]=c.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else c.clearAnnotation(),this.result.css=c.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}};t.exports=i,i.default=i}),q=l((e,t)=>{var a=H(),n=K(),r=J(),s=A(),i=class{constructor(e=[]){this.version="8.5.6",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let a of e)if(!0===a.postcss?a=a():a.postcss&&(a=a.postcss),"object"==typeof a&&Array.isArray(a.plugins))t=t.concat(a.plugins);else if("object"==typeof a&&a.postcssPlugin)t.push(a);else if("function"==typeof a)t.push(a);else if("object"!=typeof a||!a.parse&&!a.stringify)throw new Error(a+" is not a PostCSS plugin");return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new n(this,e,t):new r(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};t.exports=i,i.default=i,s.registerProcessor(i),a.registerProcessor(i)}),Z=l((e,t)=>{var a=D(),n=w(),r=k(),s=m(),i=x(),o=H(),l=Y(),c=F(),u=K(),d=T(),h=b(),p=N(),f=q(),g=W(),v=A(),_=S(),E=y(),C=G();function I(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new f(e)}I.plugin=function(e,t){let a,n=!1;function r(...a){console&&console.warn&&!n&&(n=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"));let r=t(...a);return r.postcssPlugin=e,r.postcssVersion=(new f).version,r}return Object.defineProperty(r,"postcss",{get:()=>(a||(a=r()),a)}),r.process=function(e,t,a){return I([r(a)]).process(e,t)},r},I.stringify=E,I.parse=p,I.fromJSON=l,I.list=d,I.comment=e=>new n(e),I.atRule=e=>new a(e),I.decl=e=>new i(e),I.rule=e=>new _(e),I.root=e=>new v(e),I.document=e=>new o(e),I.CssSyntaxError=s,I.Declaration=i,I.Container=r,I.Processor=f,I.Document=o,I.Comment=n,I.Warning=C,I.AtRule=a,I.Result=g,I.Input=c,I.Rule=_,I.Root=v,I.Node=h,u.registerPostcss(I),t.exports=I,I.default=I}),X=l((e,t)=>{var{Container:a}=Z(),n=class extends a{constructor(e){super(e),this.type="decl",this.isNested=!0,this.nodes||(this.nodes=[])}};t.exports=n}),Q=l((e,t)=>{var a=/[\t\n\f\r "#'()/;[\\\]{}]/g,n=/[,\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,r=/.[\r\n"'(/\\]/,s=/[\da-f]/i,i=/[\n\f\r]/g;t.exports=function(e,t={}){let o,l,c,u,d,h,p,f,m,g,y=e.css.valueOf(),v=t.ignoreErrors,b=y.length,w=0,x=[],k=[];function _(){return w}function E(t){throw e.error("Unclosed "+t,w)}function C(){return 0===k.length&&w>=b}function F(){let e=1,t=!1,a=!1;for(;e>0;)l+=1,y.length<=l&&E("interpolation"),o=y.charCodeAt(l),f=y.charCodeAt(l+1),t?a||o!==t?92===o?a=!a:a&&(a=!1):(t=!1,a=!1):39===o||34===o?t=o:125===o?e-=1:35===o&&123===f&&(e+=1)}function D(e){if(k.length)return k.pop();if(w>=b)return;let t=!!e&&e.ignoreUnclosed;switch(o=y.charCodeAt(w),o){case 10:case 32:case 9:case 13:case 12:l=w;do{l+=1,o=y.charCodeAt(l)}while(32===o||10===o||9===o||13===o||12===o);m=["space",y.slice(w,l)],w=l-1;break;case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let e=String.fromCharCode(o);m=[e,e,w];break}case 44:m=["word",",",w,w+1];break;case 40:if(p=x.length?x.pop()[1]:"",f=y.charCodeAt(w+1),"url"===p&&39!==f&&34!==f){for(g=1,h=!1,l=w+1;l<=y.length-1;){if(f=y.charCodeAt(l),92===f)h=!h;else if(40===f)g+=1;else if(41===f&&(g-=1,0===g))break;l+=1}u=y.slice(w,l+1),m=["brackets",u,w,l],w=l}else l=y.indexOf(")",w+1),u=y.slice(w,l+1),-1===l||r.test(u)?m=["(","(",w]:(m=["brackets",u,w,l],w=l);break;case 39:case 34:for(c=o,l=w,h=!1;l{var{Comment:a}=Z(),n=P(),r=X(),s=Q(),i=class extends n{atrule(e){let t=e[1],a=e;for(;!this.tokenizer.endOfFile();){let e=this.tokenizer.nextToken();if("word"!==e[0]||e[2]!==a[3]+1){this.tokenizer.back(e);break}t+=e[1],a=e}super.atrule(["at-word",t,e[2],a[3]])}comment(e){if("inline"===e[4]){let t=new a;this.init(t,e[2]),t.raws.inline=!0;let n=this.input.fromOffset(e[3]);t.source.end={column:n.col,line:n.line,offset:e[3]+1};let r=e[1].slice(2);if(/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{let e=r.match(/^(\s*)([^]*\S)(\s*)$/),a=e[2].replace(/(\*\/|\/\*)/g,"*//*");t.text=a,t.raws.left=e[1],t.raws.right=e[3],t.raws.text=e[2]}}else super.comment(e)}createTokenizer(){this.tokenizer=s(this.input)}raw(e,t,a,n){if(super.raw(e,t,a,n),e.raws[t]){let n=e.raws[t].raw;e.raws[t].raw=a.reduce((e,t)=>"comment"===t[0]&&"inline"===t[4]?e+"/*"+t[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*")+"*/":e+t[1],""),n!==e.raws[t].raw&&(e.raws[t].scss=n)}}rule(e){let t=!1,a=0,n="";for(let r of e)if(t)"comment"!==r[0]&&"{"!==r[0]&&(n+=r[1]);else{if("space"===r[0]&&r[1].includes("\n"))break;"("===r[0]?a+=1:")"===r[0]?a-=1:0===a&&":"===r[0]&&(t=!0)}if(!t||""===n.trim()||/^[#:A-Za-z-]/.test(n))super.rule(e);else{e.pop();let t,a,n=new r;this.init(n,e[0][2]);for(let r=e.length-1;r>=0;r--)if("space"!==e[r][0]){t=e[r];break}if(t[3]){let e=this.input.fromOffset(t[3]);n.source.end={column:e.col,line:e.line,offset:t[3]+1}}else{let e=this.input.fromOffset(t[2]);n.source.end={column:e.col,line:e.line,offset:t[2]+1}}for(;"word"!==e[0][0];)n.raws.before+=e.shift()[1];if(e[0][2]){let t=this.input.fromOffset(e[0][2]);n.source.start={column:t.col,line:t.line,offset:e[0][2]}}for(n.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;n.prop+=e.shift()[1]}for(n.raws.between="";e.length;){if(a=e.shift(),":"===a[0]){n.raws.between+=a[1];break}n.raws.between+=a[1]}("_"===n.prop[0]||"*"===n.prop[0])&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1)),n.raws.between+=this.spacesAndCommentsFromStart(e),this.precheckMissedSemicolon(e);for(let r=e.length-1;r>0;r--){if(a=e[r],"!important"===a[1]){n.important=!0;let t=this.stringFrom(e,r);t=this.spacesFromEnd(e)+t," !important"!==t&&(n.raws.important=t);break}if("important"===a[1]){let t=e.slice(0),a="";for(let e=r;e>0;e--){let n=t[e][0];if(0===a.trim().indexOf("!")&&"space"!==n)break;a=t.pop()[1]+a}0===a.trim().indexOf("!")&&(n.important=!0,n.raws.important=a,e=t)}if("space"!==a[0]&&"comment"!==a[0])break}this.raw(n,"value",e),n.value.includes(":")&&this.checkMissedSemicolon(e),this.current=n}}};t.exports=i}),te=l((e,t)=>{var{Input:a}=Z(),n=ee();t.exports=function(e,t){let r=new a(e,t),s=new n(r);return s.parse(),s.root}}),ae=l(e=>{function t(e){this.after=e.after,this.before=e.before,this.type=e.type,this.value=e.value,this.sourceIndex=e.sourceIndex}Object.defineProperty(e,"__esModule",{value:!0}),e.default=t}),ne=l(e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=a(ae());function a(e){return e&&e.__esModule?e:{default:e}}function n(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:""),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach(function(e){e.parent=t})}n.prototype=Object.create(t.default.prototype),n.constructor=t.default,n.prototype.walk=function(e,t){for(var a="string"==typeof e||e instanceof RegExp,n=a?t:e,r="string"==typeof e?new RegExp(e):e,s=0;s{Object.defineProperty(e,"__esModule",{value:!0}),e.parseMediaFeature=r,e.parseMediaQuery=s,e.parseMediaList=i;var t=n(ae()),a=n(ne());function n(e){return e&&e.__esModule?e:{default:e}}function r(e){var t=[{mode:"normal",character:null}],a=[],n=0,r="",s=null,i=null,o=arguments.length<=1||void 0===arguments[1]?0:arguments[1],l=e;"("===e[0]&&")"===e[e.length-1]&&(l=e.substring(1,e.length-1),o++);for(var c=0;c0&&(s[h-1].after=l.before),void 0===l.type){if(h>0){if("media-feature-expression"===s[h-1].type){l.type="keyword";continue}if("not"===s[h-1].value||"only"===s[h-1].value){l.type="media-type";continue}if("and"===s[h-1].value){l.type="media-feature-expression";continue}"media-type"===s[h-1].type&&(s[h+1]?l.type="media-feature-expression"===s[h+1].type?"keyword":"media-feature-expression":l.type="media-feature-expression")}if(0===h){if(!s[h+1]){l.type="media-type";continue}if(s[h+1]&&("media-feature-expression"===s[h+1].type||"keyword"===s[h+1].type)){l.type="media-type";continue}if(s[h+2]){if("media-feature-expression"===s[h+2].type){l.type="media-type",s[h+1].type="keyword";continue}if("keyword"===s[h+2].type){l.type="keyword",s[h+1].type="media-type";continue}}if(s[h+3]&&"media-feature-expression"===s[h+3].type){l.type="keyword",s[h+1].type="media-type",s[h+2].type="keyword";continue}}}return s}function i(e){var n=[],r=0,i=0,o=/^(\s*)url\s*\(/.exec(e);if(null!==o){for(var l=o[0].length,c=1;c>0;){var u=e[l];"("===u&&c++,")"===u&&c--,l++}n.unshift(new t.default({type:"url",value:e.substring(0,l).trim(),sourceIndex:o[1].length,before:o[1],after:/^(\s*)/.exec(e.substring(l))[1]})),r=l}for(var d=r;d{Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var t=n(ne()),a=re();function n(e){return e&&e.__esModule?e:{default:e}}function r(e){return new t.default({nodes:(0,a.parseMediaList)(e),type:"media-query-list",value:e.trim()})}}),ie=l((e,t)=>{t.exports=function(e,t){return(t="number"==typeof t?t:1/0)?a(e,1):Array.isArray(e)?e.map(function(e){return e}):e;function a(e,n){return e.reduce(function(e,r){return Array.isArray(r)&&n{t.exports=function(e,t){for(var a=-1,n=[];-1!==(a=e.indexOf(t,a+1));)n.push(a);return n}}),le=l((e,t)=>{function a(e,t){for(var a=1,n=e.length,r=e[0],s=e[0],i=1;i{e.__esModule=!0;var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function e(t,n){if("object"!==(typeof t>"u"?"undefined":a(t)))return t;var r=new t.constructor;for(var s in t)if(t.hasOwnProperty(s)){var i=t[s],o=typeof i>"u"?"undefined":a(i);"parent"===s&&"object"===o?n&&(r[s]=n):r[s]=i instanceof Array?i.map(function(t){return e(t,r)}):e(i,r)}return r},s=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var a in n(this,e),t)this[a]=t[a];var r=t.spaces,s=(r=void 0===r?{}:r).before,i=void 0===s?"":s,o=r.after,l=void 0===o?"":o;this.spaces={before:i,after:l}}return e.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.prototype.replaceWith=function(){if(this.parent){for(var e in arguments)this.parent.insertBefore(this,arguments[e]);this.remove()}return this},e.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},e.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},e.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r(this);for(var a in e)t[a]=e[a];return t},e.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},e}();e.default=s,t.exports=e.default}),ue=l(e=>{e.__esModule=!0,e.TAG="tag",e.STRING="string",e.SELECTOR="selector",e.ROOT="root",e.PSEUDO="pseudo",e.NESTING="nesting",e.ID="id",e.COMMENT="comment",e.COMBINATOR="combinator",e.CLASS="class",e.ATTRIBUTE="attribute",e.UNIVERSAL="universal"}),de=l((e,t)=>{e.__esModule=!0;var a=function(){function e(e,t){for(var a=0;a=e&&(this.indexes[a]=t-1);return this},t.prototype.removeAll=function(){var e=this.nodes,t=Array.isArray(e),a=0;for(e=t?e:e[Symbol.iterator]();;){var n;if(t){if(a>=e.length)break;n=e[a++]}else{if((a=e.next()).done)break;n=a.value}n.parent=void 0}return this.nodes=[],this},t.prototype.empty=function(){return this.removeAll()},t.prototype.insertAfter=function(e,t){var a=this.index(e);this.nodes.splice(a+1,0,t);var n=void 0;for(var r in this.indexes)a<=(n=this.indexes[r])&&(this.indexes[r]=n+this.nodes.length);return this},t.prototype.insertBefore=function(e,t){var a=this.index(e);this.nodes.splice(a,0,t);var n=void 0;for(var r in this.indexes)a<=(n=this.indexes[r])&&(this.indexes[r]=n+this.nodes.length);return this},t.prototype.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var a=void 0,n=void 0;this.indexes[t]{e.__esModule=!0;var a=r(de()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.ROOT,r}return o(t,e),t.prototype.toString=function(){var e=this.reduce(function(e,t){var a=String(t);return a?e+a+",":""},"").slice(0,-1);return this.trailingComma?e+",":e},t}(a.default);e.default=l,t.exports=e.default}),pe=l((e,t)=>{e.__esModule=!0;var a=r(de()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.SELECTOR,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),fe=l((e,t)=>{e.__esModule=!0;var a=function(){function e(e,t){for(var a=0;a{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.CLASS,r}return o(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,"."+this.value,this.spaces.after].join("")},t}(a.default);e.default=l,t.exports=e.default}),ge=l((e,t)=>{e.__esModule=!0;var a=r(ce()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.COMMENT,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),ye=l((e,t)=>{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.ID,r}return o(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,"#"+this.value,this.spaces.after].join("")},t}(a.default);e.default=l,t.exports=e.default}),ve=l((e,t)=>{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.TAG,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),be=l((e,t)=>{e.__esModule=!0;var a=r(ce()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.STRING,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),we=l((e,t)=>{e.__esModule=!0;var a=r(de()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.PSEUDO,r}return o(t,e),t.prototype.toString=function(){var e=this.length?"("+this.map(String).join(",")+")":"";return[this.spaces.before,String(this.value),e,this.spaces.after].join("")},t}(a.default);e.default=l,t.exports=e.default}),xe=l((e,t)=>{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.ATTRIBUTE,r.raws={},r}return o(t,e),t.prototype.toString=function(){var e=[this.spaces.before,"[",this.ns,this.attribute];return this.operator&&e.push(this.operator),this.value&&e.push(this.value),this.raws.insensitive?e.push(this.raws.insensitive):this.insensitive&&e.push(" i"),e.push("]"),e.concat(this.spaces.after).join("")},t}(a.default);e.default=l,t.exports=e.default}),ke=l((e,t)=>{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.UNIVERSAL,r.value="*",r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),_e=l((e,t)=>{e.__esModule=!0;var a=r(ce()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.COMBINATOR,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),Ee=l((e,t)=>{e.__esModule=!0;var a=r(ce()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.NESTING,r.value="&",r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),Ce=l((e,t)=>{function a(e){return e.sort(function(e,t){return e-t})}e.__esModule=!0,e.default=a,t.exports=e.default}),Fe=l((e,t)=>{e.__esModule=!0,e.default=D;var a=39,n=34,r=92,s=47,i=10,o=32,l=12,c=9,u=13,d=43,h=62,p=126,f=124,m=44,g=40,y=41,v=91,b=93,w=59,x=42,k=58,_=38,E=64,C=/[ \n\t\r\{\(\)'"\\;/]/g,F=/[ \n\t\r\(\)\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g;function D(e){for(var t=[],D=e.css.valueOf(),A=void 0,T=void 0,S=void 0,I=void 0,P=void 0,N=void 0,B=void 0,M=void 0,O=void 0,U=void 0,j=void 0,L=D.length,R=-1,z=1,H=0,Y=function(t,a){if(!e.safe)throw e.error("Unclosed "+t,z,H-R,H);T=(D+=a).length-1};H0?(M=z+P,O=T-I[P].length):(M=z,O=R),t.push(["comment",N,z,H-R,M,T-O,H]),R=O,z=M,H=T):(F.lastIndex=H+1,F.test(D),T=0===F.lastIndex?D.length-1:F.lastIndex-2,t.push(["word",D.slice(H,T+1),z,H-R,z,T-R,H]),H=T)}H++}return t}t.exports=e.default}),De=l((e,t)=>{e.__esModule=!0;var a=function(){function e(e,t){for(var a=0;a1?(""===r[0]&&(r[0]=!0),s.attribute=this.parseValue(r[2]),s.namespace=this.parseNamespace(r[0])):s.attribute=this.parseValue(n[0]),t=new f.default(s),n[2]){var i=n[2].split(/(\s+i\s*?)$/),o=i[0].trim();t.value=this.lossy?o:i[0],i[1]&&(t.insensitive=!0,this.lossy||(t.raws.insensitive=i[1])),t.quoted="'"===o[0]||'"'===o[0],t.raws.unquoted=t.quoted?o.slice(1,-1):o}this.newNode(t),this.position++},e.prototype.combinator=function(){if("|"===this.currToken[1])return this.namespace();for(var e=new g.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&e.nextToken&&"("===e.nextToken[0]&&e.error("Misplaced parenthesis.")})}else this.error('Unexpected "'+this.currToken[0]+'" found.')},e.prototype.space=function(){var e=this.currToken;0===this.position||","===this.prevToken[0]||"("===this.prevToken[0]?(this.spaces=this.parseSpace(e[1]),this.position++):this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.spaces.after=this.parseSpace(e[1]),this.position++):this.combinator()},e.prototype.string=function(){var e=this.currToken;this.newNode(new h.default({value:this.currToken[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++},e.prototype.universal=function(e){var t=this.nextToken;if(t&&"|"===t[1])return this.position++,this.namespace();this.newNode(new m.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),e),this.position++},e.prototype.splitWord=function(e,t){for(var a=this,i=this.nextToken,o=this.currToken[1];i&&"word"===i[0];){this.position++;var c=this.currToken[1];if(o+=c,c.lastIndexOf("\\")===c.length-1){var h=this.nextToken;h&&"space"===h[0]&&(o+=this.parseSpace(h[1]," "),this.position++)}i=this.nextToken}var p=(0,r.default)(o,"."),f=(0,r.default)(o,"#"),m=(0,r.default)(o,"#{");m.length&&(f=f.filter(function(e){return!~m.indexOf(e)}));var g=(0,v.default)((0,s.default)((0,n.default)([[0],p,f])));g.forEach(function(n,r){var s=g[r+1]||o.length,i=o.slice(n,s);if(0===r&&t)return t.call(a,i,g.length);var c=void 0;c=~p.indexOf(n)?new l.default({value:i.slice(1),source:{start:{line:a.currToken[2],column:a.currToken[3]+n},end:{line:a.currToken[4],column:a.currToken[3]+(s-1)}},sourceIndex:a.currToken[6]+g[r]}):~f.indexOf(n)?new u.default({value:i.slice(1),source:{start:{line:a.currToken[2],column:a.currToken[3]+n},end:{line:a.currToken[4],column:a.currToken[3]+(s-1)}},sourceIndex:a.currToken[6]+g[r]}):new d.default({value:i,source:{start:{line:a.currToken[2],column:a.currToken[3]+n},end:{line:a.currToken[4],column:a.currToken[3]+(s-1)}},sourceIndex:a.currToken[6]+g[r]}),a.newNode(c,e)}),this.position++},e.prototype.word=function(e){var t=this.nextToken;return t&&"|"===t[1]?(this.position++,this.namespace()):this.splitWord(e)},e.prototype.loop=function(){for(;this.position{e.__esModule=!0;var a=function(){function e(e,t){for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:{},a=new n.default({css:e,error:function(e){throw new Error(e)},options:t});return this.res=a,this.func(a),this},a(e,[{key:"result",get:function(){return String(this.res)}}]),e}();e.default=i,t.exports=e.default}),Te=l((e,t)=>{var a=function(e,t){let n=new e.constructor;for(let r in e){if(!e.hasOwnProperty(r))continue;let s=e[r],i=typeof s;"parent"===r&&"object"===i?t&&(n[r]=t):"source"===r?n[r]=s:s instanceof Array?n[r]=s.map(e=>a(e,n)):"before"!==r&&"after"!==r&&"between"!==r&&"semicolon"!==r&&("object"===i&&null!==s&&(s=a(s)),n[r]=s)}return n};t.exports=class{constructor(e){e=e||{},this.raws={before:"",after:""};for(let t in e)this[t]=e[t]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(e){e=e||{};let t=a(this);for(let a in e)t[a]=e[a];return t}cloneBefore(e){e=e||{};let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e){e=e||{};let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(){let e=Array.prototype.slice.call(arguments);if(this.parent){for(let t of e)this.parent.insertBefore(this,t);this.remove()}return this}moveTo(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.append(this),this}moveBefore(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertBefore(e,this),this}moveAfter(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertAfter(e,this),this}next(){let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){let e=this.parent.index(this);return this.parent.nodes[e-1]}toJSON(){let e={};for(let t in this){if(!this.hasOwnProperty(t)||"parent"===t)continue;let a=this[t];a instanceof Array?e[t]=a.map(e=>"object"==typeof e&&e.toJSON?e.toJSON():e):"object"==typeof a&&a.toJSON?e[t]=a.toJSON():e[t]=a}return e}root(){let e=this;for(;e.parent;)e=e.parent;return e}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}positionInside(e){let t=this.toString(),a=this.source.start.column,n=this.source.start.line;for(let r=0;r{var a=Te(),n=class extends a{constructor(e){super(e),this.nodes||(this.nodes=[])}push(e){return e.parent=this,this.nodes.push(e),this}each(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t,a,n=this.lastEach;if(this.indexes[n]=0,this.nodes){for(;this.indexes[n]{let n=e(t,a);return!1!==n&&t.walk&&(n=t.walk(e)),n})}walkType(e,t){if(!e||!t)throw new Error("Parameters {type} and {callback} are required.");let a="function"==typeof e;return this.walk((n,r)=>{if(a&&n instanceof e||!a&&n.type===e)return t.call(this,n,r)})}append(e){return e.parent=this,this.nodes.push(e),this}prepend(e){return e.parent=this,this.nodes.unshift(e),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertAfter(e,t){let a,n=this.index(e);this.nodes.splice(n+1,0,t);for(let r in this.indexes)a=this.indexes[r],n<=a&&(this.indexes[r]=a+this.nodes.length);return this}insertBefore(e,t){let a,n=this.index(e);this.nodes.splice(n,0,t);for(let r in this.indexes)a=this.indexes[r],n<=a&&(this.indexes[r]=a+this.nodes.length);return this}removeChild(e){let t;e=this.index(e),this.nodes[e].parent=void 0,this.nodes.splice(e,1);for(let a in this.indexes)t=this.indexes[a],t>=e&&(this.indexes[a]=t-1);return this}removeAll(){for(let e of this.nodes)e.parent=void 0;return this.nodes=[],this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return"number"==typeof e?e:this.nodes.indexOf(e)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let e=this.nodes.map(String).join("");return this.value&&(e=this.value+e),this.raws.before&&(e=this.raws.before+e),this.raws.after&&(e+=this.raws.after),e}};n.registerWalker=e=>{let t="walk"+e.name;t.lastIndexOf("s")!==t.length-1&&(t+="s"),!n.prototype[t]&&(n.prototype[t]=function(t){return this.walkType(e,t)})},t.exports=n}),Ie=l((e,t)=>{var a=Se();t.exports=class extends a{constructor(e){super(e),this.type="root"}}}),Pe=l((e,t)=>{var a=Se();t.exports=class extends a{constructor(e){super(e),this.type="value",this.unbalanced=0}}}),Ne=l((e,t)=>{var a=Se(),n=class extends a{constructor(e){super(e),this.type="atword"}toString(){return this.quoted&&this.raws.quote,[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}};a.registerWalker(n),t.exports=n}),Be=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="colon"}};a.registerWalker(r),t.exports=r}),Me=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="comma"}};a.registerWalker(r),t.exports=r}),Oe=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="comment",this.inline=Object(e).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}};a.registerWalker(r),t.exports=r}),Ue=l((e,t)=>{var a=Se(),n=class extends a{constructor(e){super(e),this.type="func",this.unbalanced=-1}};a.registerWalker(n),t.exports=n}),je=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="number",this.unit=Object(e).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}};a.registerWalker(r),t.exports=r}),Le=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="operator"}};a.registerWalker(r),t.exports=r}),Re=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="paren",this.parenType=""}};a.registerWalker(r),t.exports=r}),ze=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="string"}toString(){let e=this.quoted?this.raws.quote:"";return[this.raws.before,e,this.value+"",e,this.raws.after].join("")}};a.registerWalker(r),t.exports=r}),He=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="word"}};a.registerWalker(r),t.exports=r}),Ye=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="unicode-range"}};a.registerWalker(r),t.exports=r}),$e=l((e,t)=>{var a=class extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while tokzenizing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}};t.exports=a}),Ge=l((e,t)=>{var a=/[ \n\t\r\{\(\)'"\\;,/]/g,n=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,r=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,s=/^[a-z0-9]/i,i=/^[a-f0-9?\-]/i,o=$e();t.exports=function(e,t){t=t||{};let l,c,u,d,h,p,f,m,g,y,v,b=[],w=e.valueOf(),x=w.length,k=-1,_=1,E=0,C=0,F=null;function D(e){throw new o(`Unclosed ${e} at line: ${_}, column: ${E-k}, token: ${E}`)}for(;E0&&"word"===b[b.length-1][0]&&"url"===b[b.length-1][1],b.push(["(","(",_,E-k,_,c-k,E]);break;case 41:C--,F=F&&C>0,b.push([")",")",_,E-k,_,c-k,E]);break;case 39:case 34:u=39===l?"'":'"',c=E;do{for(g=!1,c=w.indexOf(u,c+1),-1===c&&D("quote"),y=c;92===w.charCodeAt(y-1);)y-=1,g=!g}while(g);b.push(["string",w.slice(E,c+1),_,E-k,_,c-k,E]),E=c;break;case 64:a.lastIndex=E+1,a.test(w),c=0===a.lastIndex?w.length-1:a.lastIndex-2,b.push(["atword",w.slice(E,c+1),_,E-k,_,c-k,E]),E=c;break;case 92:c=E,l=w.charCodeAt(c+1),b.push(["word",w.slice(E,c+1),_,E-k,_,c-k,E]),E=c;break;case 43:case 45:case 42:if(c=E+1,v=w.slice(E+1,c+1),w.slice(E-1,E),45===l&&45===v.charCodeAt(0)){c++,b.push(["word",w.slice(E,c),_,E-k,_,c-k,E]),E=c-1;break}b.push(["operator",w.slice(E,c),_,E-k,_,c-k,E]),E=c-1;break;default:if(47===l&&(42===w.charCodeAt(E+1)||t.loose&&!F&&47===w.charCodeAt(E+1))){if(42===w.charCodeAt(E+1))c=w.indexOf("*/",E+2)+1,0===c&&D("comment");else{let e=w.indexOf("\n",E+2);c=-1!==e?e-1:x}p=w.slice(E,c+1),d=p.split("\n"),h=d.length-1,h>0?(f=_+h,m=c-d[h].length):(f=_,m=k),b.push(["comment",p,_,E-k,f,c-m,E]),k=m,_=f,E=c}else if(35!==l||s.test(w.slice(E+1,E+2)))if(117!==l&&85!==l||43!==w.charCodeAt(E+1))if(47===l)c=E+1,b.push(["operator",w.slice(E,c),_,E-k,_,c-k,E]),E=c-1;else{let e=n;if(l>=48&&l<=57&&(e=r),e.lastIndex=E+1,e.test(w),c=0===e.lastIndex?w.length-1:e.lastIndex-2,e===r||46===l){let e=w.charCodeAt(c),t=w.charCodeAt(c+1),a=w.charCodeAt(c+2);(101===e||69===e)&&(45===t||43===t)&&a>=48&&a<=57&&(r.lastIndex=c+2,r.test(w),c=0===r.lastIndex?w.length-1:r.lastIndex-2)}b.push(["word",w.slice(E,c+1),_,E-k,_,c-k,E]),E=c}else{c=E+2;do{c+=1,l=w.charCodeAt(c)}while(c{var a=class extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while parsing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}};t.exports=a}),Ve=l((e,t)=>{var a=Ie(),n=Pe(),r=Ne(),s=Be(),i=Me(),o=Oe(),l=Ue(),c=je(),u=Le(),d=Re(),h=ze(),p=He(),f=Ye(),m=Ge(),g=ie(),y=oe(),v=le(),b=We();function w(e){return e.sort((e,t)=>e-t)}t.exports=class{constructor(e,t){let r={loose:!1};this.cache=[],this.input=e,this.options=Object.assign({},r,t),this.position=0,this.unbalanced=0,this.root=new a;let s=new n;this.root.append(s),this.current=s,this.tokens=m(e,this.options)}parse(){return this.loop()}colon(){let e=this.currToken;this.newNode(new s({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comma(){let e=this.currToken;this.newNode(new i({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comment(){let e,t=!1,a=this.currToken[1].replace(/\/\*|\*\//g,"");this.options.loose&&a.startsWith("//")&&(a=a.substring(2),t=!0),e=new o({value:a,inline:t,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(e),this.position++}error(e,t){throw new b(e+` at line: ${t[2]}, column ${t[3]}`)}loop(){for(;this.position0&&("func"===this.current.type&&"calc"===this.current.value?("space"!==this.prevToken[0]&&"("!==this.prevToken[0]||"space"!==this.nextToken[0]&&"word"!==this.nextToken[0]||"word"===this.nextToken[0]&&"operator"!==this.current.last.type&&"("!==this.current.last.value)&&this.error("Syntax Error",this.currToken):("space"===this.nextToken[0]||"operator"===this.nextToken[0]||"operator"===this.prevToken[0])&&this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&"operator"===this.current.last.type)&&"word"===this.nextToken[0])return this.word()}else if("word"===this.nextToken[0])return this.word();return e=new u({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(e)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":default:this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange()}}parenOpen(){let e,t=1,a=this.position+1,n=this.currToken;for(;a=this.tokens.length-1)||this.current.unbalanced)&&(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",e),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let e=this.currToken;this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.raws.after+=e[1],this.position++):(this.spaces=e[1],this.position++)}unicodeRange(){let e=this.currToken;this.newNode(new f({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}splitWord(){let e,t,a=this.nextToken,n=this.currToken[1],s=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/;if(!/^(?!\#([a-z0-9]+))[\#\{\}]/gi.test(n))for(;a&&"word"===a[0];){this.position++;let e=this.currToken[1];n+=e,a=this.nextToken}e=y(n,"@"),t=w(v(g([[0],e]))),t.forEach((i,o)=>{let u,d=t[o+1]||n.length,h=n.slice(i,d);if(~e.indexOf(i))u=new r({value:h.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+i},end:{line:this.currToken[4],column:this.currToken[3]+(d-1)}},sourceIndex:this.currToken[6]+t[o]});else if(s.test(this.currToken[1])){let e=h.replace(s,"");u=new c({value:h.replace(e,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+i},end:{line:this.currToken[4],column:this.currToken[3]+(d-1)}},sourceIndex:this.currToken[6]+t[o],unit:e})}else u=new(a&&"("===a[0]?l:p)({value:h,source:{start:{line:this.currToken[2],column:this.currToken[3]+i},end:{line:this.currToken[4],column:this.currToken[3]+(d-1)}},sourceIndex:this.currToken[6]+t[o]}),"word"===u.type?(u.isHex=/^#(.+)/.test(h),u.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(h)):this.cache.push(this.current);this.newNode(u)}),this.position++}string(){let e,t=this.currToken,a=this.currToken[1],n=/^(\"|\')/,r=n.test(a),s="";r&&(s=a.match(n)[0],a=a.slice(1,a.length-1)),e=new h({value:a,source:{start:{line:t[2],column:t[3]},end:{line:t[4],column:t[5]}},sourceIndex:t[6],quoted:r}),e.raws.quote=s,this.newNode(e),this.position++}word(){return this.splitWord()}newNode(e){return this.spaces&&(e.raws.before+=this.spaces,this.spaces=""),this.current.append(e)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}}),Ke={};c(Ke,{languages:()=>Hr,options:()=>Yr,parsers:()=>$r,printers:()=>Ls});var Je=(e,t)=>(a,n,...r)=>1|a&&null==n?void 0:(t.call(n)??n[e]).apply(n,r),qe=String.prototype.replaceAll??function(e,t){return e.global?this.replace(e,t):this.split(e).join(t)},Ze=Je("replaceAll",function(){if("string"==typeof this)return qe});function Xe(e){return this[e<0?this.length+e:e]}var Qe=Je("at",function(){if(Array.isArray(this)||"string"==typeof this)return Xe}),et=()=>{},tt="string",at="array",nt="cursor",rt="indent",st="align",it="trim",ot="group",lt="fill",ct="if-break",ut="indent-if-break",dt="line-suffix",ht="line-suffix-boundary",pt="line",ft="label",mt="break-parent",gt=new Set([nt,rt,st,it,ot,lt,ct,ut,dt,ht,pt,ft,mt]);function yt(e){if("string"==typeof e)return tt;if(Array.isArray(e))return at;if(!e)return;let{type:t}=e;return gt.has(t)?t:void 0}var vt=yt,bt=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);function wt(e){let t=null===e?"null":typeof e;if("string"!==t&&"object"!==t)return`Unexpected doc '${t}', \nExpected it to be 'string' or 'object'.`;if(vt(e))throw new Error("doc is valid.");let a=Object.prototype.toString.call(e);if("[object Object]"!==a)return`Unexpected doc '${a}'.`;let n=bt([...gt].map(e=>`'${e}'`));return`Unexpected doc.type '${e.type}'.\nExpected it to be ${n}.`}var xt=class extends Error{constructor(e){super(wt(e)),o(this,"name","InvalidDocError"),this.doc=e}},kt=xt;function _t(e,t){if("string"==typeof e)return t(e);let a=new Map;return n(e);function n(e){if(a.has(e))return a.get(e);let t=r(e);return a.set(e,t),t}function r(e){switch(vt(e)){case at:return t(e.map(n));case lt:return t({...e,parts:e.parts.map(n)});case ct:return t({...e,breakContents:n(e.breakContents),flatContents:n(e.flatContents)});case ot:{let{expandedStates:a,contents:r}=e;return a?(a=a.map(n),r=a[0]):r=n(r),t({...e,contents:r,expandedStates:a})}case st:case rt:case ut:case ft:case dt:return t({...e,contents:n(e.contents)});case tt:case nt:case it:case ht:case pt:case mt:return t(e);default:throw new kt(e)}}}function Et(e){return e.type!==pt||e.hard?e.type===ct?e.flatContents:e:e.soft?"":" "}function Ct(e){return _t(e,Et)}var Ft=et;function Dt(e){return{type:rt,contents:e}}function At(e,t){return{type:st,contents:t,n:e}}function Tt(e){return At(-1,e)}var St={type:mt};function It(e){return{type:lt,parts:e}}function Pt(e,t={}){return Ft(t.expandedStates),{type:ot,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function Nt(e,t="",a={}){return{type:ct,breakContents:e,flatContents:t,groupId:a.groupId}}function Bt(e,t){let a=[];for(let n=0;n0}var Rt=Lt,zt=Object.freeze({character:"'",codePoint:39}),Ht=Object.freeze({character:'"',codePoint:34}),Yt=Object.freeze({preferred:zt,alternate:Ht}),$t=Object.freeze({preferred:Ht,alternate:zt});function Gt(e,t){let{preferred:a,alternate:n}=!0===t||"'"===t?Yt:$t,{length:r}=e,s=0,i=0;for(let o=0;oi?n:a).character}var Wt=Gt,Vt=/\\(["'\\])|(["'])/gu;function Kt(e,t){let a='"'===t?"'":'"',n=Ze(0,e,Vt,(e,n,r)=>n?n===a?a:e:r===t?"\\"+r:r);return t+n+t}var Jt=Kt;function qt(e,t){let a=e.slice(1,-1),n="json"===t.parser||"jsonc"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":Wt(a,t.singleQuote);return e.charAt(0)===n?e:Jt(a,n)}var Zt=qt,Xt=class extends Error{constructor(e,t,a="type"){super(`Unexpected ${t} node ${a}: ${JSON.stringify(e[a])}.`),o(this,"name","UnexpectedNodeError"),this.node=e}},Qt=Xt,ea=Symbol.for("PRETTIER_IS_FRONT_MATTER");function ta(e){return!!e?.[ea]}var aa=ta,na=3;function ra(e){let t=e.slice(0,na);if("---"!==t&&"+++"!==t)return;let a=e.indexOf("\n",na);if(-1===a)return;let n=e.slice(na,a).trim(),r=e.indexOf(`\n${t}`,a),s=n;if(s||(s="+++"===t?"toml":"yaml"),-1===r&&"---"===t&&"yaml"===s&&(r=e.indexOf("\n...",a)),-1===r)return;let i=r+1+na,o=e.charAt(i+1);if(!/\s?/u.test(o))return;let l,c=e.slice(0,i);return{language:s,explicitLanguage:n||null,value:e.slice(a+1,r),startDelimiter:t,endDelimiter:c.slice(-na),raw:c,start:{line:1,column:0,index:0},end:{index:c.length,get line(){return l??(l=c.split("\n")),l.length},get column(){return l??(l=c.split("\n")),Qe(0,l,-1).length}},[ea]:!0}}function sa(e){let t=ra(e);return t?{frontMatter:t,get content(){let{raw:a}=t;return Ze(0,a,/[^\n]/gu," ")+e.slice(a.length)}}:{content:e}}var ia=sa,oa=new Set(["raw","raws","sourceIndex","source","before","after","trailingComma","spaces"]);function la(e,t,a){if("css-comment"===e.type&&"css-root"===a.type&&a.nodes.length>0&&((a.nodes[0]===e||aa(a.nodes[0])&&a.nodes[1]===e)&&(delete t.text,/^\*\s*@(?:format|prettier)\s*$/u.test(e.text))||"css-root"===a.type&&Qe(0,a.nodes,-1)===e))return null;if("value-root"===e.type&&delete t.text,("media-query"===e.type||"media-query-list"===e.type||"media-feature-expression"===e.type)&&delete t.value,"css-rule"===e.type&&delete t.params,("media-feature"===e.type||"media-keyword"===e.type||"media-type"===e.type||"media-unknown"===e.type||"media-url"===e.type||"media-value"===e.type||"selector-attribute"===e.type||"selector-string"===e.type||"selector-class"===e.type||"selector-combinator"===e.type||"value-string"===e.type)&&e.value&&(t.value=ca(e.value)),"selector-combinator"===e.type&&(t.value=Ze(0,t.value,/\s+/gu," ")),"media-feature"===e.type&&(t.value=Ze(0,t.value," ","")),("value-word"===e.type&&(e.isColor&&e.isHex||["initial","inherit","unset","revert"].includes(e.value.toLowerCase()))||"media-feature"===e.type||"selector-root-invalid"===e.type||"selector-pseudo"===e.type)&&(t.value=t.value.toLowerCase()),"css-decl"===e.type&&(t.prop=e.prop.toLowerCase()),("css-atrule"===e.type||"css-import"===e.type)&&(t.name=e.name.toLowerCase()),"value-number"===e.type&&(t.unit=e.unit.toLowerCase()),"value-unknown"===e.type&&(t.value=Ze(0,t.value,/;$/gu,"")),"selector-attribute"===e.type&&(t.attribute=e.attribute.trim(),e.namespace&&"string"==typeof e.namespace&&(t.namespace=e.namespace.trim()||!0),e.value)){let{value:e}=t;/\s[a-zA-Z]$/u.test(e)&&(t.__prettier_attribute_selector_flag=Qe(0,e,-1),e=e.slice(0,-1)),e=e.trim(),e=e.replace(/^(?["'])(?.*?)\k$/u,"$"),t.value=e,delete t.quoted}if(("media-value"===e.type||"media-type"===e.type||"value-number"===e.type||"selector-root-invalid"===e.type||"selector-class"===e.type||"selector-combinator"===e.type||"selector-tag"===e.type)&&e.value&&(t.value=Ze(0,t.value,/([\d+.e-]+)([a-z]*)/giu,(e,t,a)=>{let n=Number(t);return Number.isNaN(n)?e:n+a.toLowerCase()})),"selector-tag"===e.type){let e=t.value.toLowerCase();["from","to"].includes(e)&&(t.value=e)}if("css-atrule"===e.type&&"supports"===e.name.toLowerCase()&&delete t.value,"selector-unknown"===e.type&&delete t.value,"value-comma_group"===e.type){let a=e.groups.findIndex(e=>"value-number"===e.type&&"..."===e.unit);-1!==a&&(t.groups[a].unit="",t.groups.splice(a+1,0,{type:"value-word",value:"...",isColor:!1,isHex:!1}))}return"value-comma_group"===e.type&&e.groups.some(e=>"value-atword"===e.type&&(e.value.endsWith("[")||e.value.endsWith("]"))||"value-word"===e.type&&(e.value.startsWith("]")||e.value.startsWith("[")))?{type:"value-atword",value:e.groups.map(e=>e.value).join(""),group:{open:null,close:null,groups:[],type:"value-paren_group"}}:void 0}function ca(e){return Ze(0,Ze(0,e,"'",'"'),/\\([^\da-f])/giu,"$1")}la.ignoredProperties=oa;var ua=la;function da(){}da.getVisitorKeys=e=>"css-root"===e.type?["frontMatter"]:[];var ha=da,pa=null;function fa(e){if(null!==pa&&(pa.property,1)){let e=pa;return pa=fa.prototype=null,e}return pa=fa.prototype=e??Object.create(null),new fa}var ma=10;for(let e=0;e<=ma;e++)fa();function ga(e){return fa(e)}function ya(e,t="type"){function a(a){let n=a[t],r=e[n];if(!Array.isArray(r))throw Object.assign(new Error(`Missing visitor keys for '${n}'.`),{node:a});return r}return ga(e),a}var va=ya,ba=[[],["nodes"],["group"]],wa={"css-root":["frontMatter","nodes"],"css-comment":ba[0],"css-rule":["selector","nodes"],"css-decl":["value","selector","nodes"],"css-atrule":["selector","params","value","nodes"],"media-query-list":ba[1],"media-query":ba[1],"media-type":ba[0],"media-feature-expression":ba[1],"media-feature":ba[0],"media-colon":ba[0],"media-value":ba[0],"media-keyword":ba[0],"media-url":ba[0],"media-unknown":ba[0],"selector-root":ba[1],"selector-selector":ba[1],"selector-comment":ba[0],"selector-string":ba[0],"selector-tag":ba[0],"selector-id":ba[0],"selector-class":ba[0],"selector-attribute":ba[0],"selector-combinator":ba[1],"selector-universal":ba[0],"selector-pseudo":ba[1],"selector-nesting":ba[0],"selector-unknown":ba[0],"value-value":ba[2],"value-root":ba[2],"value-comment":ba[0],"value-comma_group":["groups"],"value-paren_group":["open","groups","close"],"value-func":ba[2],"value-paren":ba[0],"value-number":ba[0],"value-operator":ba[0],"value-word":ba[0],"value-colon":ba[0],"value-comma":ba[0],"value-string":ba[0],"value-atword":ba[0],"value-unicode-range":ba[0],"value-unknown":ba[0]},xa=va(wa);function ka(e,t){let a=0;for(let n=0;n{let r=!!n?.backwards;if(!1===a)return!1;let{length:s}=t,i=a;for(;i>=0&&ie.source?.startOffset,Oa=e=>e.source?.endOffset,Ua=/\*\/$/,ja=/^\/\*\*?/,La=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Ra=/(^|\s+)\/\/([^\n\r]*)/g,za=/^(\r?\n)+/,Ha=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,Ya=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,$a=/(\r?\n|^) *\* ?/g,Ga=[];function Wa(e){let t=e.match(La);return t?t[0].trimStart():""}function Va(e){let t=e.match(La)?.[0];return null==t?e:e.slice(t.length)}function Ka(e){e=Ze(0,e.replace(ja,"").replace(Ua,""),$a,"$1");let t="";for(;t!==e;)t=e,e=Ze(0,e,Ha,"\n$1 $2\n");e=e.replace(za,"").trimEnd();let a,n=Object.create(null),r=Ze(0,e,Ya,"").replace(za,"").trimEnd();for(;a=Ya.exec(e);){let e=Ze(0,a[2],Ra,"");if("string"==typeof n[a[1]]||Array.isArray(n[a[1]])){let t=n[a[1]];n[a[1]]=[...Ga,...Array.isArray(t)?t:[t],e]}else n[a[1]]=e}return{comments:r,pragmas:n}}function Ja({comments:e="",pragmas:t={}}){let a=Object.keys(t),n=a.flatMap(e=>qa(e,t[e])).map(e=>` * ${e}\n`).join("");if(!e){if(0===a.length)return"";if(1===a.length&&!Array.isArray(t[a[0]])){let e=t[a[0]];return`/** ${qa(a[0],e)[0]} */`}}let r=e.split("\n").map(e=>` * ${e}`).join("\n")+"\n";return"/**\n"+(e?r:"")+(e&&a.length>0?" *\n":"")+n+" */"}function qa(e,t){return[...Ga,...Array.isArray(t)?t:[t]].map(t=>`@${e} ${t}`.trim())}var Za=["noformat","noprettier"],Xa=["format","prettier"],Qa="format";function en(e){if(!e.startsWith("#!"))return"";let t=e.indexOf("\n");return-1===t?e:e.slice(0,t)}var tn=en;function an(e){let t=tn(e);t&&(e=e.slice(t.length+1));let a=Wa(e),{pragmas:n,comments:r}=Ka(a);return{shebang:t,text:e,pragmas:n,comments:r}}function nn(e){let{pragmas:t}=an(e);return Xa.some(e=>Object.prototype.hasOwnProperty.call(t,e))}function rn(e){let{pragmas:t}=an(e);return Za.some(e=>Object.prototype.hasOwnProperty.call(t,e))}function sn(e){let{shebang:t,text:a,pragmas:n,comments:r}=an(e),s=Va(a);return(t?`${t}\n`:"")+Ja({pragmas:{[Qa]:"",...n},comments:r.trimStart()})+(s.startsWith("\n")?"\n":"\n\n")+s}var on=e=>nn(ia(e).content),ln=e=>rn(ia(e).content),cn=e=>{let{frontMatter:t,content:a}=ia(e);return(t?t.raw+"\n\n":"")+sn(a)},un=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function dn(e){return e.findAncestor(e=>"css-decl"===e.type)?.prop?.toLowerCase()}var hn=new Set(["initial","inherit","unset","revert"]);function pn(e){return hn.has(e.toLowerCase())}function fn(e,t){return e.findAncestor(e=>"css-atrule"===e.type)?.name?.toLowerCase().endsWith("keyframes")&&["from","to"].includes(t.toLowerCase())}function mn(e){return e.includes("$")||e.includes("@")||e.includes("#")||e.startsWith("%")||e.startsWith("--")||e.startsWith(":--")||e.includes("(")&&e.includes(")")?e:e.toLowerCase()}function gn(e,t){return e.findAncestor(e=>"value-func"===e.type)?.value?.toLowerCase()===t}function yn(e){return e.hasAncestor(e=>{if("css-rule"!==e.type)return!1;let t=e.raws?.selector;return t&&(t.startsWith(":import")||t.startsWith(":export"))})}function vn(e,t){let a=Array.isArray(t)?t:[t],n=e.findAncestor(e=>"css-atrule"===e.type);return n&&a.includes(n.name.toLowerCase())}function bn(e){let{node:t}=e;return"url"===t.groups[0]?.value&&2===t.groups.length&&"import"===e.findAncestor(e=>"css-atrule"===e.type)?.name}function wn(e){return"value-func"===e.type&&"url"===e.value.toLowerCase()}function xn(e){return"value-func"===e.type&&"var"===e.value.toLowerCase()}function kn(e){let{selector:t}=e;return!!t&&("string"==typeof t&&/^@.+:.*$/u.test(t)||t.value&&/^@.+:.*$/u.test(t.value))}function _n(e){return"value-word"===e.type&&["from","through","end"].includes(e.value)}function En(e){return"value-word"===e.type&&["and","or","not"].includes(e.value)}function Cn(e){return"value-word"===e.type&&"in"===e.value}function Fn(e){return"value-operator"===e.type&&"*"===e.value}function Dn(e){return"value-operator"===e?.type&&"/"===e.value}function An(e){return"value-operator"===e.type&&"+"===e.value}function Tn(e){return"value-operator"===e.type&&"-"===e.value}function Sn(e){return"value-operator"===e.type&&"%"===e.value}function In(e){return Fn(e)||Dn(e)||An(e)||Tn(e)||Sn(e)}function Pn(e){return"value-word"===e.type&&["==","!="].includes(e.value)}function Nn(e){return"value-word"===e.type&&["<",">","<=",">="].includes(e.value)}function Bn(e,t){return"scss"===t.parser&&"css-atrule"===e.type&&["if","else","for","each","while"].includes(e.name)}function Mn(e){return e.raws?.params&&/^\(\s*\)$/u.test(e.raws.params)}function On(e){return e.name.startsWith("prettier-placeholder")}function Un(e){return e.prop.startsWith("@prettier-placeholder")}function jn(e,t){return"$$"===e.value&&"value-func"===e.type&&"value-word"===t?.type&&!t.raws.before}function Ln(e){return"value-root"===e.value?.type&&"value-value"===e.value.group?.type&&"composes"===e.prop.toLowerCase()}function Rn(e){return"value-paren_group"===e.value?.group?.group?.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close}function zn(e){return""===e?.raws?.before}function Hn(e){return"value-comma_group"===e.type&&"value-colon"===e.groups?.[1]?.type}function Yn(e){return"value-paren_group"===e.type&&e.groups?.[0]&&Hn(e.groups[0])}function $n(e,t){if("scss"!==t.parser)return!1;let{node:a}=e;if(0===a.groups.length)return!1;let n=e.grandparent;return!(!(Yn(a)||n&&Yn(n))||!e.findAncestor(e=>"css-decl"===e.type)?.prop?.startsWith("$")&&!Yn(n)&&"value-func"!==n.type)}function Gn(e){return"value-comment"===e.type&&e.inline}function Wn(e){return"value-word"===e.type&&"#"===e.value}function Vn(e){return"value-word"===e.type&&"{"===e.value}function Kn(e){return"value-word"===e.type&&"}"===e.value}function Jn(e){return["value-word","value-atword"].includes(e.type)}function qn(e){return"value-colon"===e?.type}function Zn(e,t){if(!Hn(t))return!1;let{groups:a}=t,n=a.indexOf(e);return-1!==n&&qn(a[n+1])}function Xn(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())}function Qn(e){return"value-func"===e.type&&un.has(e.value.toLowerCase())}function er(e){return/\/\//u.test(e.split(/[\n\r]/u).pop())}function tr(e){return"value-atword"===e?.type&&e.value.startsWith("prettier-placeholder-")}function ar(e,t){if("("!==e.open?.value||")"!==e.close?.value||e.groups.some(e=>"value-comma_group"!==e.type))return!1;if("value-comma_group"===t.type){let a=t.groups.indexOf(e)-1,n=t.groups[a];if("value-word"===n?.type&&"with"===n.value)return!0}return!1}function nr(e){return"value-paren_group"===e.type&&"("===e.open?.value&&")"===e.close?.value}function rr(e,t,a){let{node:n}=e,r=e.parent,s=e.grandparent,i=dn(e),o=i&&"value-value"===r.type&&("grid"===i||i.startsWith("grid-template")),l=e.findAncestor(e=>"css-atrule"===e.type),c=l&&Bn(l,t),u=n.groups.some(e=>Gn(e)),d=e.map(a,"groups"),h=[""],p=gn(e,"url"),f=!1,m=!1;for(let g=0;gt:-1!==e?f=!0:-1!==t&&(f=!1)}if(f||qn(u)||qn(y)||"value-atword"===u.type&&(""===u.value||u.value.endsWith("["))||"value-word"===y.type&&y.value.startsWith("]")||"~"===u.value||"less"===t.parser&&("value-word"===y?.type&&"["===y.value||"value-word"===u.type&&"["===u.value&&("value-atword"===y?.type||"value-word"===y?.type)||"value-word"===u.type&&"]["===u.value&&"value-word"===y?.type)||"value-string"!==u.type&&u.value&&u.value.includes("\\")&&y&&"value-comment"!==y.type||a?.value&&a.value.indexOf("\\")===a.value.length-1&&"value-operator"===u.type&&"/"===u.value||"\\"===u.value||jn(u,y)||Wn(u)||Vn(u)||Kn(y)||Vn(y)&&zn(y)||Kn(u)&&zn(y)||"--"===u.value&&Wn(y))continue;let b=In(u),w=In(y);if((b&&Wn(y)||w&&Kn(u))&&zn(y)||!a&&Dn(u)||gn(e,"calc")&&(An(u)||An(y)||Tn(u)||Tn(y))&&zn(y))continue;let x=(An(u)||Tn(u))&&0===g&&("value-number"===y.type||y.isHex)&&s&&Qn(s)&&!zn(y);if("scss"===t.parser&&b&&"-"===u.value&&"value-func"===y.type&&Oa(u)!==Ma(y)){h.push([h.pop()," "]);continue}let k="value-func"===v?.type||v&&Jn(v)||"value-func"===u.type||Jn(u),_="value-func"===y.type||Jn(y)||"value-func"===a?.type||a&&Jn(a);if((Fn(y)||Fn(u)||gn(e,"calc")||x||!(Dn(y)&&!k||Dn(u)&&!_||An(y)&&!k||An(u)&&!_||Tn(y)||Tn(u))||!(zn(y)||b&&(!a||a&&In(a))))&&("scss"!==t.parser&&"less"!==t.parser||!b||"-"!==u.value||!nr(y)||Oa(u)!==Ma(y.open)||"("!==y.open.value)){if(Gn(u)){if("value-paren_group"===r.type){h.push(Tt(Ut),"");continue}h.push(Ut,"");continue}if(c&&(Pn(y)||Nn(y)||En(y)||Cn(u)||_n(u))){h.push([h.pop()," "]);continue}if(l&&"namespace"===l.name.toLowerCase()){h.push([h.pop()," "]);continue}if(o){u.source&&y.source&&u.source.start.line!==y.source.start.line?(h.push(Ut,""),m=!0):h.push([h.pop()," "]);continue}if(!i||"font"!==i&&!i.startsWith("--")||!(Dn(y)&&zn(y)&&sr(u)||Dn(u)&&zn(u)&&sr(a))){if(w){h.push([h.pop()," "]);continue}if(!("..."===y?.value||tr(u)&&tr(y)&&Oa(u)===Ma(y))){if(tr(u)&&nr(y)&&Oa(u)===Ma(y.open)){h.push(Ot,"");continue}if("with"===u.value&&nr(y)){h=[[It(h)," "]];continue}if((!u.value?.endsWith("#")||"{"!==y.value||!nr(y.group))&&(!Gn(y)||v)){if(!l&&"value-comment"===u.type&&!u.inline&&n.groups.slice(0,g).every(e=>"value-comment"===e.type)){h.push(Tt(Mt),"");continue}h.push(Mt,"")}}}}}return u&&h.push([h.pop(),St]),m&&h.unshift("",Ut),c?Pt(Dt(h)):bn(e)?Pt(It(h)):Pt(Dt(It(h)))}function sr(e){if("value-number"===e?.type)return!0;if("value-func"!==e?.type)return!1;let t=e.value.toLowerCase();return"var"===t||"calc"===t||"min"===t||"max"===t||"clamp"===t||t.startsWith("--")}var ir=rr;function or(e){return 1===e.length?e:e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/u,"$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/u,"$1").replace(/^([+-])?\./u,"$10.").replace(/(\.\d+?)0+(?=e|$)/u,"$1").replace(/\.(?=e|$)/u,"")}var lr=or,cr=new Map([["em","em"],["rem","rem"],["ex","ex"],["rex","rex"],["cap","cap"],["rcap","rcap"],["ch","ch"],["rch","rch"],["ic","ic"],["ric","ric"],["lh","lh"],["rlh","rlh"],["vw","vw"],["svw","svw"],["lvw","lvw"],["dvw","dvw"],["vh","vh"],["svh","svh"],["lvh","lvh"],["dvh","dvh"],["vi","vi"],["svi","svi"],["lvi","lvi"],["dvi","dvi"],["vb","vb"],["svb","svb"],["lvb","lvb"],["dvb","dvb"],["vmin","vmin"],["svmin","svmin"],["lvmin","lvmin"],["dvmin","dvmin"],["vmax","vmax"],["svmax","svmax"],["lvmax","lvmax"],["dvmax","dvmax"],["cm","cm"],["mm","mm"],["q","Q"],["in","in"],["pt","pt"],["pc","pc"],["px","px"],["deg","deg"],["grad","grad"],["rad","rad"],["turn","turn"],["s","s"],["ms","ms"],["hz","Hz"],["khz","kHz"],["dpi","dpi"],["dpcm","dpcm"],["dppx","dppx"],["x","x"],["cqw","cqw"],["cqh","cqh"],["cqi","cqi"],["cqb","cqb"],["cqmin","cqmin"],["cqmax","cqmax"],["fr","fr"]]);function ur(e){let t=e.toLowerCase();return cr.has(t)?cr.get(t):e}var dr=/(["'])(?:(?!\1)[^\\]|\\.)*\1/gsu,hr=/(?:\d*\.\d+|\d+\.?)(?:e[+-]?\d+)?/giu,pr=/[a-z]+/giu,fr=/[$@]?[_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/giu,mr=new RegExp(dr.source+`|(${fr.source})?(${hr.source})(${pr.source})?`,"giu");function gr(e,t){return Ze(0,e,dr,e=>Zt(e,t))}function yr(e,t){let a=t.singleQuote?"'":'"',n="",r=e.match(/^(?.+?)\s+(?[a-zA-Z])$/u);return r&&({value:e,flag:n}=r.groups),(e.includes('"')||e.includes("'")?e:a+e+a)+(n?` ${n}`:"")}function vr(e){return Ze(0,e,mr,(e,t,a,n,r)=>!a&&n&&(r??(r=""),!(r=r.toLowerCase())||"n"===r||cr.has(r))?br(n)+(r?ur(r):""):e)}function br(e){return lr(e).replace(/\.0(?=$|e)/u,"")}function wr(e){return"es5"===e.trailingComma||"all"===e.trailingComma}var xr=e=>"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e;function kr(e,t,a){let n=!!a?.backwards;if(!1===t)return!1;let r=e.charAt(t);if(n){if("\r"===e.charAt(t-1)&&"\n"===r)return t-2;if(xr(r))return t-1}else{if("\r"===r&&"\n"===e.charAt(t+1))return t+2;if(xr(r))return t+1}return t}var _r=kr;function Er(e,t,a={}){let n=Ca(e,a.backwards?t-1:t,a);return n!==_r(e,n,a)}var Cr=Er;function Fr(e,t){if(!1===t)return!1;if("/"===e.charAt(t)&&"*"===e.charAt(t+1))for(let a=t+2;a"value-comment"===e.type)||!wr(t)||!e.callParent(()=>$n(e,t))?"":Nt(",")}function Br(e,t,a){let{node:n,parent:r}=e,s=e.map(({node:e})=>"string"==typeof e?e:a(),"groups");if(r&&wn(r)&&(1===n.groups.length||n.groups.length>0&&"value-comma_group"===n.groups[0].type&&n.groups[0].groups.length>0&&"value-word"===n.groups[0].groups[0].type&&n.groups[0].groups[0].value.startsWith("data:")))return[n.open?a("open"):"",Bt(",",s),n.close?a("close"):""];if(!n.open){let t=Mr(e),a=Ur(Bt(",",s),2),n=Bt(t?Ut:Mt,a);return Dt(t?[Ut,n]:Pt([Or(e)?Ot:"",It(n)]))}let i=e.map(({node:a,isLast:n,index:r})=>{let i=s[r];Hn(a)&&"value-comma_group"===a.type&&a.groups&&"value-paren_group"!==a.groups[0].type&&"value-paren_group"===a.groups[2]?.type&&vt(i)===ot&&vt(i.contents)===rt&&vt(i.contents.contents)===lt&&(i=Pt(Tt(i)));let o=[i,n?Nr(e,t):","];if(!n&&"value-comma_group"===a.type&&Rt(a.groups)){let e=Qe(0,a.groups,-1);!e.source&&e.close&&(e=e.close),e.source&&Ir(t.originalText,Oa(e))&&o.push(Ut)}return o},"groups"),o=Zn(n,r),l=ar(n,r),c=$n(e,t),u=l||c&&!o,d=l||o,h=Pt([n.open?a("open"):"",Dt([Ot,Bt(Mt,i)]),Ot,n.close?a("close"):""],{shouldBreak:u});return d?Tt(h):h}function Mr(e){return e.match(e=>"value-paren_group"===e.type&&!e.open&&e.groups.some(e=>"value-comma_group"===e.type),(e,t)=>"group"===t&&"value-value"===e.type,(e,t)=>"group"===t&&"value-root"===e.type,(e,t)=>"value"===t&&("css-decl"===e.type&&!e.prop.startsWith("--")||"css-atrule"===e.type&&e.variable))}function Or(e){return e.match(e=>"value-paren_group"===e.type&&!e.open,(e,t)=>"group"===t&&"value-value"===e.type,(e,t)=>"group"===t&&"value-root"===e.type,(e,t)=>"value"===t&&"css-decl"===e.type)}function Ur(e,t){let a=[];for(let n=0;n{let{node:r,previous:s}=e;if("css-comment"===s?.type&&"prettier-ignore"===s.text.trim()?n.push(t.originalText.slice(Ma(r),Oa(r))):n.push(a()),e.isLast)return;let{next:i}=e;"css-comment"===i.type&&!Cr(t.originalText,Ma(i),{backwards:!0})&&!aa(r)||"css-atrule"===i.type&&"else"===i.name&&"css-comment"!==r.type?n.push(" "):(n.push(t.__isHTMLStyleAttribute?Mt:Ut),Ir(t.originalText,Oa(r))&&!aa(r)&&n.push(Ut))},"nodes"),n}var Lr=jr;function Rr(e,t,a){let{node:n}=e;switch(n.type){case"css-root":{let r=Lr(e,t,a),s=n.raws.after.trim();return s.startsWith(";")&&(s=s.slice(1).trim()),[n.frontMatter?[a("frontMatter"),Ut,n.nodes.length>0?Ut:""]:"",r,s?` ${s}`:"",n.nodes.length>0?Ut:""]}case"css-comment":{let e=n.inline||n.raws.inline,a=t.originalText.slice(Ma(n),Oa(n));return e?a.trimEnd():a}case"css-rule":return[a("selector"),n.important?" !important":"",n.nodes?["selector-unknown"===n.selector?.type&&er(n.selector.value)?Mt:n.selector?" ":"","{",n.nodes.length>0?Dt([Ut,Lr(e,t,a)]):"",Ut,"}",kn(n)?";":""]:";"];case"css-decl":{let r=e.parent,{between:s}=n.raws,i=s.trim(),o=":"===i,l="string"==typeof n.value&&/^ *$/u.test(n.value),c="string"==typeof n.value?n.value:a("value");return c=Ln(n)?Ct(c):c,!o&&er(i)&&!e.call(()=>Mr(e),"value","group","group")&&(c=Dt([Ut,Tt(c)])),[Ze(0,n.raws.before,/[\s;]/gu,""),"css-atrule"===r.type&&r.variable||yn(e)?n.prop:mn(n.prop),i.startsWith("//")?" ":"",i,n.extend||l?"":" ","less"===t.parser&&n.extend&&n.selector?["extend(",a("selector"),")"]:"",c,n.raws.important?n.raws.important.replace(/\s*!\s*important/iu," !important"):n.important?" !important":"",n.raws.scssDefault?n.raws.scssDefault.replace(/\s*!default/iu," !default"):n.scssDefault?" !default":"",n.raws.scssGlobal?n.raws.scssGlobal.replace(/\s*!global/iu," !global"):n.scssGlobal?" !global":"",n.nodes?[" {",Dt([Ot,Lr(e,t,a)]),Ot,"}"]:Un(n)&&!r.raws.semicolon&&";"!==t.originalText[Oa(n)-1]?"":t.__isHTMLStyleAttribute&&e.isLast?Nt(";"):";"]}case"css-atrule":{let r=e.parent,s=On(n)&&!r.raws.semicolon&&";"!==t.originalText[Oa(n)-1];if("less"===t.parser){if(n.mixin)return[a("selector"),n.important?" !important":"",s?"":";"];if(n.function)return[n.name,"string"==typeof n.params?n.params:a("params"),s?"":";"];if(n.variable)return["@",n.name,": ",n.value?a("value"):"",n.raws.between.trim()?n.raws.between.trim()+" ":"",n.nodes?["{",Dt([n.nodes.length>0?Ot:"",Lr(e,t,a)]),Ot,"}"]:"",s?"":";"]}let i="import"===n.name&&"value-unknown"===n.params?.type&&n.params.value.endsWith(";");return["@",Mn(n)||n.name.endsWith(":")||On(n)?n.name:mn(n.name),n.params?[Mn(n)?"":On(n)?""===n.raws.afterName?"":n.name.endsWith(":")?" ":/^\s*\n\s*\n/u.test(n.raws.afterName)?[Ut,Ut]:/^\s*\n/u.test(n.raws.afterName)?Ut:" ":" ","string"==typeof n.params?n.params:a("params")]:"",n.selector?Dt([" ",a("selector")]):"",n.value?Pt([" ",a("value"),Bn(n,t)?Rn(n)?" ":Mt:""]):"else"===n.name?" ":"",n.nodes?[Bn(n,t)?"":n.selector&&!n.selector.nodes&&"string"==typeof n.selector.value&&er(n.selector.value)||!n.selector&&"string"==typeof n.params&&er(n.params)?Mt:" ","{",Dt([n.nodes.length>0?Ot:"",Lr(e,t,a)]),Ot,"}"]:s||i?"":";"]}case"media-query-list":{let t=[];return e.each(({node:e})=>{"media-query"===e.type&&""===e.value||t.push(a())},"nodes"),Pt(Dt(Bt(Mt,t)))}case"media-query":return[Bt(" ",e.map(a,"nodes")),e.isLast?"":","];case"media-type":case"media-value":return vr(gr(n.value,t));case"media-feature-expression":return n.nodes?["(",...e.map(a,"nodes"),")"]:n.value;case"media-feature":return mn(gr(Ze(0,n.value,/ +/gu," "),t));case"media-colon":return[n.value," "];case"media-keyword":case"selector-string":return gr(n.value,t);case"media-url":return gr(Ze(0,Ze(0,n.value,/^url\(\s+/giu,"url("),/\s+\)$/gu,")"),t);case"media-unknown":case"selector-comment":case"selector-nesting":case"value-paren":case"value-operator":case"value-unicode-range":case"value-unknown":return n.value;case"selector-root":return Pt([vn(e,"custom-selector")?[e.findAncestor(e=>"css-atrule"===e.type).customSelector,Mt]:"",Bt([",",vn(e,["extend","custom-selector","nest"])?Mt:Ut],e.map(a,"nodes"))]);case"selector-selector":return Pt((n.nodes.length>2?Dt:e=>e)(e.map(a,"nodes")));case"selector-tag":return[n.namespace?[!0===n.namespace?"":n.namespace.trim(),"|"]:"","selector-nesting"===e.previous?.type?n.value:vr(fn(e,n.value)?n.value.toLowerCase():n.value)];case"selector-id":return["#",n.value];case"selector-class":return[".",vr(gr(n.value,t))];case"selector-attribute":return["[",n.namespace?[!0===n.namespace?"":n.namespace.trim(),"|"]:"",n.attribute.trim(),n.operator??"",n.value?yr(gr(n.value.trim(),t),t):"",n.insensitive?" i":"","]"];case"selector-combinator":if("+"===n.value||">"===n.value||"~"===n.value||">>>"===n.value){let t=e.parent;return["selector-selector"===t.type&&t.nodes[0]===n?"":Mt,n.value,e.isLast?"":" "]}return[n.value.trim().startsWith("(")?Mt:"",vr(gr(n.value.trim(),t))||Mt];case"selector-universal":return[n.namespace?[!0===n.namespace?"":n.namespace.trim(),"|"]:"",n.value];case"selector-pseudo":return[mn(n.value),Rt(n.nodes)?Pt(["(",Dt([Ot,Bt([",",Mt],e.map(a,"nodes"))]),Ot,")"]):""];case"selector-unknown":{if(e.findAncestor(e=>"css-rule"===e.type)?.isSCSSNesterProperty)return vr(gr(mn(n.value),t));let a=e.parent;if(a.raws?.selector){let e=Ma(a),n=e+a.raws.selector.length;return t.originalText.slice(e,n).trim()}let r=e.grandparent;if("value-paren_group"===a.type&&"value-func"===r?.type&&"selector"===r.value){let e=Oa(a.open)+1,n=Ma(a.close),r=t.originalText.slice(e,n).trim();return er(r)?[St,r]:r}return n.value}case"value-value":case"value-root":return a("group");case"value-comment":return t.originalText.slice(Ma(n),Oa(n));case"value-comma_group":return ir(e,t,a);case"value-paren_group":return Br(e,t,a);case"value-func":return[n.value,vn(e,"supports")&&Xn(n)?" ":"",a("group")];case"value-number":return[br(n.value),ur(n.unit)];case"value-word":return n.isColor&&n.isHex||pn(n.value)?n.value.toLowerCase():n.value;case"value-colon":{let{previous:t}=e;return Pt([n.value,"string"==typeof t?.value&&t.value.endsWith("\\")||gn(e,"url")?"":Mt])}case"value-string":return Zt(n.raws.quote+n.value+n.raws.quote,t);case"value-atword":return["@",n.value];default:throw new Qt(n,"PostCSS")}}var zr={features:{experimental_frontMatterSupport:{massageAstNode:!0,embed:!0,print:!0}},print:Rr,embed:ha,insertPragma:cn,massageAstNode:ua,getVisitorKeys:xa},Hr=[{name:"CSS",type:"markup",aceMode:"css",extensions:[".css",".wxss"],tmScope:"source.css",codemirrorMode:"css",codemirrorMimeType:"text/css",parsers:["css"],vscodeLanguageIds:["css"],linguistLanguageId:50},{name:"PostCSS",type:"markup",aceMode:"text",extensions:[".pcss",".postcss"],tmScope:"source.postcss",group:"CSS",parsers:["css"],vscodeLanguageIds:["postcss"],linguistLanguageId:262764437},{name:"Less",type:"markup",aceMode:"less",extensions:[".less"],tmScope:"source.css.less",aliases:["less-css"],codemirrorMode:"css",codemirrorMimeType:"text/x-less",parsers:["less"],vscodeLanguageIds:["less"],linguistLanguageId:198},{name:"SCSS",type:"markup",aceMode:"scss",extensions:[".scss"],tmScope:"source.css.scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",parsers:["scss"],vscodeLanguageIds:["scss"],linguistLanguageId:329}],Yr={singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."}},$r={};c($r,{css:()=>Os,less:()=>Us,scss:()=>js});var Gr=d(N()),Wr=d(z()),Vr=d(te());function Kr(e,t){let a=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(a,t)}var Jr=Kr;function qr(e){return null!==e&&"object"==typeof e}var Zr=qr;function Xr(e,t,a){if(Zr(e)){delete e.parent;for(let n in e)Xr(e[n],t,a),"type"===n&&"string"==typeof e[n]&&!e[n].startsWith(t)&&(!a||!a.test(e[n]))&&(e[n]=t+e[n])}return e}function Qr(e){if(Zr(e)){delete e.parent;for(let t in e)Qr(e[t]);!Array.isArray(e)&&e.value&&!e.type&&(e.type="unknown")}return e}var es=d(se()).default.default;function ts(e){let t;try{t=es(e)}catch{return{type:"selector-unknown",value:e}}return Xr(Qr(t),"media-")}var as=ts,ns=d(Ae());function rs(e){if(/\/[/*]/u.test(Ze(0,e,/"[^"]+"|'[^']+'/gu,"")))return{type:"selector-unknown",value:e.trim()};let t;try{new ns.default(e=>{t=e}).process(e)}catch{return{type:"selector-unknown",value:e}}return Xr(t,"selector-")}var ss=rs,is=d(Ve()),os=e=>{for(;e.parent;)e=e.parent;return e},ls=os;function cs(e){return ls(e).text.slice(e.group.open.sourceIndex+1,e.group.close.sourceIndex).trim()}var us=cs;function ds(e){if(Rt(e))for(let t=e.length-1;t>0;t--)if("word"===e[t].type&&"{"===e[t].value&&"word"===e[t-1].type&&e[t-1].value.endsWith("#"))return!0;return!1}var hs=ds;function ps(e){return e.some(e=>"string"===e.type||"func"===e.type&&!e.value.endsWith("\\"))}var fs=ps;function ms(e,t){return!("scss"!==t.parser||"word"!==e?.type||!e.value.startsWith("$"))}var gs=ms,ys=e=>"paren"===e.type&&")"===e.value;function vs(e,t){let{nodes:a}=e,n={open:null,close:null,groups:[],type:"paren_group"},r=[n],s=n,i={groups:[],type:"comma_group"},o=[i];for(let l=0;l0&&n.groups.push(i),n.close=s,1===o.length)throw new Error("Unbalanced parenthesis");o.pop(),i=Qe(0,o,-1),i.groups.push(n),r.pop(),n=Qe(0,r,-1)}else if("comma"===s.type){if(l===a.length-3&&"comment"===a[l+1].type&&ys(a[l+2]))continue;n.groups.push(i),i={groups:[],type:"comma_group"},o[o.length-1]=i}else i.groups.push(s)}return i.groups.length>0&&n.groups.push(i),s}function bs(e){return"paren_group"===e.type&&!e.open&&!e.close&&1===e.groups.length||"comma_group"===e.type&&1===e.groups.length?bs(e.groups[0]):"paren_group"===e.type||"comma_group"===e.type?{...e,groups:e.groups.map(bs)}:e}function ws(e,t){if(Zr(e))for(let a in e)"parent"!==a&&(ws(e[a],t),"nodes"===a&&(e.group=bs(vs(e,t)),delete e[a]));return e}function xs(e,t){if("less"===t.parser&&e.startsWith("~`"))return{type:"value-unknown",value:e};let a=null;try{a=new is.default(e,{loose:!0}).parse()}catch{return{type:"value-unknown",value:e}}return a.text=e,Xr(ws(a,t),"value-",/^selector-/u)}var ks=xs,_s=new Set(["import","use","forward"]);function Es(e){return _s.has(e)}var Cs=Es;function Fs(e,t){return!("scss"!==t.parser||!e.selector)&&e.selector.replace(/\/\*.*?\*\//u,"").replace(/\/\/.*\n/u,"").trim().endsWith(":")}var Ds=Fs,As=/(\s*)(!default).*$/u,Ts=/(\s*)(!global).*$/u;function Ss(e,t){if(Zr(e)){delete e.parent;for(let s in e)Ss(e[s],t);if(!e.type)return e;if(e.raws??(e.raws={}),"css-decl"===e.type&&"string"==typeof e.prop&&e.prop.startsWith("--")&&"string"==typeof e.value&&e.value.startsWith("{")){let a;if(e.value.trimEnd().endsWith("}")){let n,r,s=t.originalText.slice(0,e.source.start.offset),i="a".repeat(e.prop.length)+t.originalText.slice(e.source.start.offset+e.prop.length,e.source.end.offset),o=Ze(0,s,/[^\n]/gu," ")+i;n="scss"===t.parser?Bs:"less"===t.parser?Ns:Ps;try{r=n(o,{...t})}catch{}1===r?.nodes?.length&&"css-rule"===r.nodes[0].type&&(a=r.nodes[0].nodes)}return e.value=a?{type:"css-rule",nodes:a}:{type:"value-unknown",value:e.raws.value.raw},e}let a="";"string"==typeof e.selector&&(a=e.raws.selector?e.raws.selector.scss??e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(a+=e.raws.between),e.raws.selector=a);let n="";"string"==typeof e.value&&(n=e.raws.value?e.raws.value.scss??e.raws.value.raw:e.value,e.raws.value=n.trim());let r="";if("string"==typeof e.params&&(r=e.raws.params?e.raws.params.scss??e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(r=e.raws.afterName+r),e.raws.between&&e.raws.between.trim().length>0&&(r+=e.raws.between),r=r.trim(),e.raws.params=r),a.trim().length>0)return a.startsWith("@")&&a.endsWith(":")?e:e.mixin?(e.selector=ks(a,t),e):(Ds(e,t)&&(e.isSCSSNesterProperty=!0),e.selector=ss(a),e);if(n.trim().length>0){let a=n.match(As);a&&(n=n.slice(0,a.index),e.scssDefault=!0,"!default"!==a[0].trim()&&(e.raws.scssDefault=a[0]));let r=n.match(Ts);if(r&&(n=n.slice(0,r.index),e.scssGlobal=!0,"!global"!==r[0].trim()&&(e.raws.scssGlobal=r[0])),n.startsWith("progid:"))return{type:"value-unknown",value:n};e.value=ks(n,t)}if("less"===t.parser&&"css-decl"===e.type&&n.startsWith("extend(")&&(e.extend||(e.extend=":"===e.raws.between),e.extend&&!e.selector&&(delete e.value,e.selector=ss(n.slice(7,-1)))),"css-atrule"===e.type){if("less"===t.parser){if(e.mixin){let t=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=ss(t),delete e.params,e}if(e.function)return e}if("css"===t.parser&&"custom-selector"===e.name){let t=e.params.match(/:--\S+\s+/u)[0].trim();return e.customSelector=t,e.selector=ss(e.params.slice(t.length).trim()),delete e.params,e}if("less"===t.parser){if(e.name.includes(":")){e.variable=!0;let a=e.name.split(":");e.name=a[0];let n=a.slice(1).join(":");e.params&&(n+=e.params),e.value=ks(n,t)}if(!["page","nest","keyframes"].includes(e.name)&&":"===e.params?.[0]){e.variable=!0;let a=e.params.slice(1);a&&(e.value=ks(a,t)),e.raws.afterName+=":"}if(e.variable)return delete e.params,e.value||delete e.value,e}}if("css-atrule"===e.type&&r.length>0){let{name:a}=e,n=e.name.toLowerCase();return"warn"===a||"error"===a?(e.params={type:"media-unknown",value:r},e):"extend"===a||"nest"===a?(e.selector=ss(r),delete e.params,e):"at-root"===a?(/^\(\s*(?:without|with)\s*:.+\)$/su.test(r)?e.params=ks(r,t):(e.selector=ss(r),delete e.params),e):Cs(n)?(e.import=!0,delete e.filename,e.params=ks(r,t),e):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(a)?(r=r.replace(/(\$\S+?)(\s+)?\.{3}/u,"$1...$2"),r=r.replace(/^(?!if)([^"'\s(]+)(\s+)\(/u,"$1($2"),e.value=ks(r,t),delete e.params,e):["media","custom-media"].includes(n)?r.includes("#{")?{type:"media-unknown",value:r}:(e.params=as(r),e):(e.params=r,e)}}return e}function Is(e,t,a){let n,{frontMatter:r,content:s}=ia(t);try{n=e(s,{map:!1})}catch(i){let{name:e,reason:t,line:a,column:n}=i;throw"number"!=typeof a?i:Jr(`${e}: ${t}`,{loc:{start:{line:a,column:n}},cause:i})}return a.originalText=t,n=Ss(Xr(n,"css-"),a),Ia(n,t),r&&(n.frontMatter={...r,type:"front-matter",source:{startOffset:r.start.index,endOffset:r.end.index}}),n}function Ps(e,t={}){return Is(Gr.default.default,e,t)}function Ns(e,t={}){return Is(e=>Wr.default.parse(Ba(e)),e,t)}function Bs(e,t={}){return Is(Vr.default,e,t)}var Ms={astFormat:"postcss",hasPragma:on,hasIgnorePragma:ln,locStart:Ma,locEnd:Oa},Os={...Ms,parse:Ps},Us={...Ms,parse:Ns},js={...Ms,parse:Bs},Ls={postcss:zr};return h(Ke)}(),e.default||e)),Vj.exports;var e}const Jj=Ql(Kj());var qj,Zj={exports:{}},Xj={},Qj={exports:{}},eL={},tL={};function aL(){if(qj)return tL;function e(e){this.__parent=e,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}function t(e,t){this.__cache=[""],this.__indent_size=e.indent_size,this.__indent_string=e.indent_char,e.indent_with_tabs||(this.__indent_string=new Array(e.indent_size+1).join(e.indent_char)),t=t||"",e.indent_level>0&&(t=new Array(e.indent_level+1).join(this.__indent_string)),this.__base_string=t,this.__base_string_length=t.length}function a(a,n){this.__indent_cache=new t(a,n),this.raw=!1,this._end_with_newline=a.end_with_newline,this.indent_size=a.indent_size,this.wrap_line_length=a.wrap_line_length,this.indent_empty_lines=a.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new e(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}return qj=1,e.prototype.clone_empty=function(){var t=new e(this.__parent);return t.set_indent(this.__indent_count,this.__alignment_count),t},e.prototype.item=function(e){return e<0?this.__items[this.__items.length+e]:this.__items[e]},e.prototype.has_match=function(e){for(var t=this.__items.length-1;t>=0;t--)if(this.__items[t].match(e))return!0;return!1},e.prototype.set_indent=function(e,t){this.is_empty()&&(this.__indent_count=e||0,this.__alignment_count=t||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},e.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},e.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},e.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var e=this.__parent.current_line;return e.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),e.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),e.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count," "===e.__items[0]&&(e.__items.splice(0,1),e.__character_count-=1),!0}return!1},e.prototype.is_empty=function(){return 0===this.__items.length},e.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},e.prototype.push=function(e){this.__items.push(e);var t=e.lastIndexOf("\n");-1!==t?this.__character_count=e.length-t:this.__character_count+=e.length},e.prototype.pop=function(){var e=null;return this.is_empty()||(e=this.__items.pop(),this.__character_count-=e.length),e},e.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},e.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},e.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},e.prototype.toString=function(){var e="";return this.is_empty()?this.__parent.indent_empty_lines&&(e=this.__parent.get_indent_string(this.__indent_count)):(e=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),e+=this.__items.join("")),e},t.prototype.get_indent_size=function(e,t){var a=this.__base_string_length;return t=t||0,e<0&&(a=0),a+=e*this.__indent_size,a+=t},t.prototype.get_indent_string=function(e,t){var a=this.__base_string;return t=t||0,e<0&&(e=0,a=""),t+=e*this.__indent_size,this.__ensure_cache(t),a+=this.__cache[t]},t.prototype.__ensure_cache=function(e){for(;e>=this.__cache.length;)this.__add_column()},t.prototype.__add_column=function(){var e=this.__cache.length,t=0,a="";this.__indent_size&&e>=this.__indent_size&&(e-=(t=Math.floor(e/this.__indent_size))*this.__indent_size,a=new Array(t+1).join(this.__indent_string)),e&&(a+=new Array(e+1).join(" ")),this.__cache.push(a)},a.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},a.prototype.get_line_number=function(){return this.__lines.length},a.prototype.get_indent_string=function(e,t){return this.__indent_cache.get_indent_string(e,t)},a.prototype.get_indent_size=function(e,t){return this.__indent_cache.get_indent_size(e,t)},a.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},a.prototype.add_new_line=function(e){return!(this.is_empty()||!e&&this.just_added_newline())&&(this.raw||this.__add_outputline(),!0)},a.prototype.get_code=function(e){this.trim(!0);var t=this.current_line.pop();t&&("\n"===t[t.length-1]&&(t=t.replace(/\n+$/g,"")),this.current_line.push(t)),this._end_with_newline&&this.__add_outputline();var a=this.__lines.join("\n");return"\n"!==e&&(a=a.replace(/[\n]/g,e)),a},a.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},a.prototype.set_indent=function(e,t){return e=e||0,t=t||0,this.next_line.set_indent(e,t),this.__lines.length>1?(this.current_line.set_indent(e,t),!0):(this.current_line.set_indent(),!1)},a.prototype.add_raw_token=function(e){for(var t=0;t1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},a.prototype.just_added_newline=function(){return this.current_line.is_empty()},a.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},a.prototype.ensure_empty_line_above=function(t,a){for(var n=this.__lines.length-2;n>=0;){var r=this.__lines[n];if(r.is_empty())break;if(0!==r.item(0).indexOf(t)&&r.item(-1)!==a){this.__lines.splice(n+1,0,new e(this)),this.previous_line=this.__lines[this.__lines.length-2];break}n--}},tL.Output=a,tL}var nL,rL={};function sL(){if(nL)return rL;return nL=1,rL.Token=function(e,t,a,n){this.type=e,this.text=t,this.comments_before=null,this.newlines=a||0,this.whitespace_before=n||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null},rL}var iL,oL={};function lL(){return iL||(iL=1,s="(?:"+(r="\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}")+"|[\\x23\\x24\\x40\\x41-\\x5a\\x5f\\x61-\\x7a"+(a="\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc")+"])",i="(?:"+r+"|["+(t="\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a")+a+(n="\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f")+"])*",(e=oL).identifier=new RegExp(s+i,"g"),e.identifierStart=new RegExp(s),e.identifierMatch=new RegExp("(?:"+r+"|["+t+a+n+"])+"),e.newline=/[\n\r\u2028\u2029]/,e.lineBreak=new RegExp("\r\n|"+e.newline.source),e.allLineBreaks=new RegExp(e.lineBreak.source,"g")),oL;var e,t,a,n,r,s,i}var cL,uL,dL={},hL={};function pL(){if(cL)return hL;function e(e,a){this.raw_options=t(e,a),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs","\t"===this.indent_char),this.indent_with_tabs&&(this.indent_char="\t",1===this.indent_size&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}function t(e,t){var n,r={};for(n in e=a(e))n!==t&&(r[n]=e[n]);if(t&&e[t])for(n in e[t])r[n]=e[t][n];return r}function a(e){var t,a={};for(t in e){a[t.replace(/-/g,"_")]=e[t]}return a}return cL=1,e.prototype._get_array=function(e,t){var a=this.raw_options[e],n=t||[];return"object"==typeof a?null!==a&&"function"==typeof a.concat&&(n=a.concat()):"string"==typeof a&&(n=a.split(/[^a-zA-Z0-9_\/\-]+/)),n},e.prototype._get_boolean=function(e,t){var a=this.raw_options[e];return void 0===a?!!t:!!a},e.prototype._get_characters=function(e,t){var a=this.raw_options[e],n=t||"";return"string"==typeof a&&(n=a.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),n},e.prototype._get_number=function(e,t){var a=this.raw_options[e];t=parseInt(t,10),isNaN(t)&&(t=0);var n=parseInt(a,10);return isNaN(n)&&(n=t),n},e.prototype._get_selection=function(e,t,a){var n=this._get_selection_list(e,t,a);if(1!==n.length)throw new Error("Invalid Option Value: The option '"+e+"' can only be one of the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return n[0]},e.prototype._get_selection_list=function(e,t,a){if(!t||0===t.length)throw new Error("Selection list cannot be empty.");if(a=a||[t[0]],!this._is_valid_selection(a,t))throw new Error("Invalid Default Value!");var n=this._get_array(e,a);if(!this._is_valid_selection(n,t))throw new Error("Invalid Option Value: The option '"+e+"' can contain only the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return n},e.prototype._is_valid_selection=function(e,t){return e.length&&t.length&&!e.some(function(e){return-1===t.indexOf(e)})},hL.Options=e,hL.normalizeOpts=a,hL.mergeOpts=t,hL}function fL(){if(uL)return dL;uL=1;var e=pL().Options,t=["before-newline","after-newline","preserve-newline"];function a(a){e.call(this,a,"js");var n=this.raw_options.brace_style||null;"expand-strict"===n?this.raw_options.brace_style="expand":"collapse-preserve-inline"===n?this.raw_options.brace_style="collapse,preserve-inline":void 0!==this.raw_options.braces_on_own_line&&(this.raw_options.brace_style=this.raw_options.braces_on_own_line?"expand":"collapse");var r=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_preserve_inline=!1,this.brace_style="collapse";for(var s=0;s0&&(this.__position-=1)},t.prototype.hasNext=function(){return this.__position=0&&e=0&&t=e.length&&this.__input.substring(t-e.length,t).toLowerCase()===e},yL.InputScanner=t,yL}var bL,wL={},xL={};var kL,_L,EL,CL={},FL={};function DL(){if(kL)return FL;function e(e,t){this._input=e,this._starting_pattern=null,this._match_pattern=null,this._until_pattern=null,this._until_after=!1,t&&(this._starting_pattern=this._input.get_regexp(t._starting_pattern,!0),this._match_pattern=this._input.get_regexp(t._match_pattern,!0),this._until_pattern=this._input.get_regexp(t._until_pattern),this._until_after=t._until_after)}return kL=1,e.prototype.read=function(){var e=this._input.read(this._starting_pattern);return this._starting_pattern&&!e||(e+=this._input.read(this._match_pattern,this._until_pattern,this._until_after)),e},e.prototype.read_match=function(){return this._input.match(this._match_pattern)},e.prototype.until_after=function(e){var t=this._create();return t._until_after=!0,t._until_pattern=this._input.get_regexp(e),t._update(),t},e.prototype.until=function(e){var t=this._create();return t._until_after=!1,t._until_pattern=this._input.get_regexp(e),t._update(),t},e.prototype.starting_with=function(e){var t=this._create();return t._starting_pattern=this._input.get_regexp(e,!0),t._update(),t},e.prototype.matching=function(e){var t=this._create();return t._match_pattern=this._input.get_regexp(e,!0),t._update(),t},e.prototype._create=function(){return new e(this._input,this)},e.prototype._update=function(){},FL.Pattern=e,FL}function AL(){if(EL)return wL;EL=1;var e=vL().InputScanner,t=sL().Token,a=function(){if(bL)return xL;function e(e){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=e}return bL=1,e.prototype.restart=function(){this.__position=0},e.prototype.isEmpty=function(){return 0===this.__tokens_length},e.prototype.hasNext=function(){return this.__position=0&&e/),erb:r.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:r.starting_with(/{%/).until_after(/%}/),django_value:r.starting_with(/{{/).until_after(/}}/),django_comment:r.starting_with(/{#/).until_after(/#}/),smarty:r.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:r.starting_with(/{\*/).until_after(/\*}/),smarty_literal:r.starting_with(/{literal}/).until_after(/{\/literal}/)}}return a.prototype=new e,a.prototype._create=function(){return new a(this._input,this)},a.prototype._update=function(){this.__set_templated_pattern()},a.prototype.disable=function(e){var t=this._create();return t._disabled[e]=!0,t._update(),t},a.prototype.read_options=function(e){var a=this._create();for(var n in t)a._disabled[n]=-1===e.templating.indexOf(n);return a._update(),a},a.prototype.exclude=function(e){var t=this._create();return t._excluded[e]=!0,t._update(),t},a.prototype.read=function(){var e="";e=this._match_pattern?this._input.read(this._starting_pattern):this._input.read(this._starting_pattern,this.__template_pattern);for(var t=this._read_template();t;)this._match_pattern?t+=this._input.read(this._match_pattern):t+=this._input.readUntil(this.__template_pattern),e+=t,t=this._read_template();return this._until_after&&(e+=this._input.readUntilAfter(this._until_pattern)),e},a.prototype.__set_templated_pattern=function(){var e=[];this._disabled.php||e.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||e.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.angular||e.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||e.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(e.push(this.__patterns.django._starting_pattern.source),e.push(this.__patterns.django_value._starting_pattern.source),e.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||e.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&e.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+e.join("|")+")")},a.prototype._read_template=function(){var e="",t=this._input.peek();if("<"===t){var a=this._input.peek(1);this._disabled.php||this._excluded.php||"?"!==a||(e=e||this.__patterns.php.read()),this._disabled.erb||this._excluded.erb||"%"!==a||(e=e||this.__patterns.erb.read())}else"{"===t&&(this._disabled.handlebars||this._excluded.handlebars||(e=(e=(e=e||this.__patterns.handlebars_comment.read())||this.__patterns.handlebars_unescaped.read())||this.__patterns.handlebars.read()),this._disabled.django||(this._excluded.django||this._excluded.handlebars||(e=e||this.__patterns.django_value.read()),this._excluded.django||(e=(e=e||this.__patterns.django_comment.read())||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(e=(e=(e=e||this.__patterns.smarty_comment.read())||this.__patterns.smarty_literal.read())||this.__patterns.smarty.read()));return e},OL.TemplatablePattern=a,OL}function jL(){if(NL)return gL;NL=1;var e=vL().InputScanner,t=AL().Tokenizer,a=AL().TOKEN,n=IL().Directives,r=lL(),s=DL().Pattern,i=UL().TemplatablePattern;function o(e,t){return-1!==t.indexOf(e)}var l={START_EXPR:"TK_START_EXPR",END_EXPR:"TK_END_EXPR",START_BLOCK:"TK_START_BLOCK",END_BLOCK:"TK_END_BLOCK",WORD:"TK_WORD",RESERVED:"TK_RESERVED",SEMICOLON:"TK_SEMICOLON",STRING:"TK_STRING",EQUALS:"TK_EQUALS",OPERATOR:"TK_OPERATOR",COMMA:"TK_COMMA",BLOCK_COMMENT:"TK_BLOCK_COMMENT",COMMENT:"TK_COMMENT",DOT:"TK_DOT",UNKNOWN:"TK_UNKNOWN",START:a.START,RAW:a.RAW,EOF:a.EOF},c=new n(/\/\*/,/\*\//),u=/0[xX][0123456789abcdefABCDEF_]*n?|0[oO][01234567_]*n?|0[bB][01_]*n?|\d[\d_]*n|(?:\.\d[\d_]*|\d[\d_]*\.?[\d_]*)(?:[eE][+-]?[\d_]+)?/,d=/[0-9]/,h=/[^\d\.]/,p=">>> === !== &&= ??= ||= << && >= ** != == <= >> || ?? |> < / - + > : & % ? ^ | *".split(" "),f=">>>= ... >>= <<= === >>> !== **= &&= ??= ||= => ^= :: /= << <= == && -= >= >> != -- += ** || ?? ++ %= &= *= |= |> = ! ? > < : / ^ - + * & % ~ |";f=(f="\\?\\.(?!\\d) "+(f=f.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"))).replace(/ /g,"|");var m,g=new RegExp(f),y="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","),v=y.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as","class","extends"]),b=new RegExp("^(?:"+v.join("|")+")$"),w=function(e,a){t.call(this,e,a),this._patterns.whitespace=this._patterns.whitespace.matching(/\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff/.source,/\u2028\u2029/.source);var n=new s(this._input),o=new i(this._input).read_options(this._options);this.__patterns={template:o,identifier:o.starting_with(r.identifier).matching(r.identifierMatch),number:n.matching(u),punct:n.matching(g),comment:n.starting_with(/\/\//).until(/[\n\r\u2028\u2029]/),block_comment:n.starting_with(/\/\*/).until_after(/\*\//),html_comment_start:n.matching(//),include:n.starting_with(/#include/).until_after(r.lineBreak),shebang:n.starting_with(/#!/).until_after(r.lineBreak),xml:n.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[^}]+?}|!\[CDATA\[[^\]]*?\]\]|)(\s*{[^}]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{([^{}]|{[^}]+?})+?}))*\s*(\/?)\s*>/),single_quote:o.until(/['\\\n\r\u2028\u2029]/),double_quote:o.until(/["\\\n\r\u2028\u2029]/),template_text:o.until(/[`\\$]/),template_expression:o.until(/[`}\\]/)}};return(w.prototype=new t)._is_comment=function(e){return e.type===l.COMMENT||e.type===l.BLOCK_COMMENT||e.type===l.UNKNOWN},w.prototype._is_opening=function(e){return e.type===l.START_BLOCK||e.type===l.START_EXPR},w.prototype._is_closing=function(e,t){return(e.type===l.END_BLOCK||e.type===l.END_EXPR)&&t&&("]"===e.text&&"["===t.text||")"===e.text&&"("===t.text||"}"===e.text&&"{"===t.text)},w.prototype._reset=function(){m=!1},w.prototype._get_next_token=function(e,t){var a=null;this._readWhitespace();var n=this._input.peek();return null===n?this._create_token(l.EOF,""):a=(a=(a=(a=(a=(a=(a=(a=(a=(a=a||this._read_non_javascript(n))||this._read_string(n))||this._read_pair(n,this._input.peek(1)))||this._read_word(e))||this._read_singles(n))||this._read_comment(n))||this._read_regexp(n,e))||this._read_xml(n,e))||this._read_punctuation())||this._create_token(l.UNKNOWN,this._input.next())},w.prototype._read_word=function(e){var t;return""!==(t=this.__patterns.identifier.read())?(t=t.replace(r.allLineBreaks,"\n"),e.type!==l.DOT&&(e.type!==l.RESERVED||"set"!==e.text&&"get"!==e.text)&&b.test(t)?"in"!==t&&"of"!==t||e.type!==l.WORD&&e.type!==l.STRING?this._create_token(l.RESERVED,t):this._create_token(l.OPERATOR,t):this._create_token(l.WORD,t)):""!==(t=this.__patterns.number.read())?this._create_token(l.WORD,t):void 0},w.prototype._read_singles=function(e){var t=null;return"("===e||"["===e?t=this._create_token(l.START_EXPR,e):")"===e||"]"===e?t=this._create_token(l.END_EXPR,e):"{"===e?t=this._create_token(l.START_BLOCK,e):"}"===e?t=this._create_token(l.END_BLOCK,e):";"===e?t=this._create_token(l.SEMICOLON,e):"."===e&&h.test(this._input.peek(1))?t=this._create_token(l.DOT,e):","===e&&(t=this._create_token(l.COMMA,e)),t&&this._input.next(),t},w.prototype._read_pair=function(e,t){var a=null;return"#"===e&&"{"===t&&(a=this._create_token(l.START_BLOCK,e+t)),a&&(this._input.next(),this._input.next()),a},w.prototype._read_punctuation=function(){var e=this.__patterns.punct.read();if(""!==e)return"="===e?this._create_token(l.EQUALS,e):"?."===e?this._create_token(l.DOT,e):this._create_token(l.OPERATOR,e)},w.prototype._read_non_javascript=function(e){var t="";if("#"===e){if(this._is_first_token()&&(t=this.__patterns.shebang.read()))return this._create_token(l.UNKNOWN,t.trim()+"\n");if(t=this.__patterns.include.read())return this._create_token(l.UNKNOWN,t.trim()+"\n");e=this._input.next();var a="#";if(this._input.hasNext()&&this._input.testChar(d)){do{a+=e=this._input.next()}while(this._input.hasNext()&&"#"!==e&&"="!==e);return"#"===e||("["===this._input.peek()&&"]"===this._input.peek(1)?(a+="[]",this._input.next(),this._input.next()):"{"===this._input.peek()&&"}"===this._input.peek(1)&&(a+="{}",this._input.next(),this._input.next())),this._create_token(l.WORD,a)}this._input.back()}else if("<"===e&&this._is_first_token()){if(t=this.__patterns.html_comment_start.read()){for(;this._input.hasNext()&&!this._input.testChar(r.newline);)t+=this._input.next();return m=!0,this._create_token(l.COMMENT,t)}}else if(m&&"-"===e&&(t=this.__patterns.html_comment_end.read()))return m=!1,this._create_token(l.COMMENT,t);return null},w.prototype._read_comment=function(e){var t=null;if("/"===e){var a="";if("*"===this._input.peek(1)){a=this.__patterns.block_comment.read();var n=c.get_directives(a);n&&"start"===n.ignore&&(a+=c.readIgnored(this._input)),a=a.replace(r.allLineBreaks,"\n"),(t=this._create_token(l.BLOCK_COMMENT,a)).directives=n}else"/"===this._input.peek(1)&&(a=this.__patterns.comment.read(),t=this._create_token(l.COMMENT,a))}return t},w.prototype._read_string=function(t){if("`"===t||"'"===t||'"'===t){var a=this._input.next();return this.has_char_escapes=!1,a+="`"===t?this._read_string_recursive("`",!0,"${"):this._read_string_recursive(t),this.has_char_escapes&&this._options.unescape_strings&&(a=function(t){var a="",n=0,r=new e(t),s=null;for(;r.hasNext();)if((s=r.match(/([\s]|[^\\]|\\\\)+/g))&&(a+=s[0]),"\\"===r.peek()){if(r.next(),"x"===r.peek())s=r.match(/x([0-9A-Fa-f]{2})/g);else{if("u"!==r.peek()){a+="\\",r.hasNext()&&(a+=r.next());continue}(s=r.match(/u([0-9A-Fa-f]{4})/g))||(s=r.match(/u\{([0-9A-Fa-f]+)\}/g))}if(!s)return t;if((n=parseInt(s[1],16))>126&&n<=255&&0===s[0].indexOf("x"))return t;a+=n>=0&&n<32||n>1114111?"\\"+s[0]:34===n||39===n||92===n?"\\"+String.fromCharCode(n):String.fromCharCode(n)}return a}(a)),this._input.peek()===t&&(a+=this._input.next()),a=a.replace(r.allLineBreaks,"\n"),this._create_token(l.STRING,a)}return null},w.prototype._allow_regexp_or_xml=function(e){return e.type===l.RESERVED&&o(e.text,["return","case","throw","else","do","typeof","yield"])||e.type===l.END_EXPR&&")"===e.text&&e.opened.previous.type===l.RESERVED&&o(e.opened.previous.text,["if","while","for"])||o(e.type,[l.COMMENT,l.START_EXPR,l.START_BLOCK,l.START,l.END_BLOCK,l.OPERATOR,l.EQUALS,l.EOF,l.SEMICOLON,l.COMMA])},w.prototype._read_regexp=function(e,t){if("/"===e&&this._allow_regexp_or_xml(t)){for(var a=this._input.next(),n=!1,s=!1;this._input.hasNext()&&(n||s||this._input.peek()!==e)&&!this._input.testChar(r.newline);)a+=this._input.peek(),n?n=!1:(n="\\"===this._input.peek(),"["===this._input.peek()?s=!0:"]"===this._input.peek()&&(s=!1)),this._input.next();return this._input.peek()===e&&(a+=this._input.next(),a+=this._input.read(r.identifier)),this._create_token(l.STRING,a)}return null},w.prototype._read_xml=function(e,t){if(this._options.e4x&&"<"===e&&this._allow_regexp_or_xml(t)){var a="",n=this.__patterns.xml.read_match();if(n){for(var s=n[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),i=0===s.indexOf("{"),o=0;n;){var c=!!n[1],u=n[2];if(!(!!n[n.length-1]||"![CDATA["===u.slice(0,8))&&(u===s||i&&u.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(c?--o:++o),a+=n[0],o<=0)break;n=this.__patterns.xml.read_match()}return n||(a+=this._input.match(/[\s\S]*/g)[0]),a=a.replace(r.allLineBreaks,"\n"),this._create_token(l.STRING,a)}}return null},w.prototype._read_string_recursive=function(e,t,a){var n,s;"'"===e?s=this.__patterns.single_quote:'"'===e?s=this.__patterns.double_quote:"`"===e?s=this.__patterns.template_text:"}"===e&&(s=this.__patterns.template_expression);for(var i=s.read(),o="";this._input.hasNext();){if((o=this._input.next())===e||!t&&r.newline.test(o)){this._input.back();break}"\\"===o&&this._input.hasNext()?("x"===(n=this._input.peek())||"u"===n?this.has_char_escapes=!0:"\r"===n&&"\n"===this._input.peek(1)&&this._input.next(),o+=this._input.next()):a&&("${"===a&&"$"===o&&"{"===this._input.peek()&&(o+=this._input.next()),a===o&&(o+="`"===e?this._read_string_recursive("}",t,"`"):this._read_string_recursive("`",t,"${"),this._input.hasNext()&&(o+=this._input.next()))),i+=o+=s.read()}return i},gL.Tokenizer=w,gL.TOKEN=l,gL.positionable_operators=p.slice(),gL.line_starters=y.slice(),gL}function LL(){if(BL)return eL;BL=1;var e=aL().Output,t=sL().Token,a=lL(),n=fL().Options,r=jL().Tokenizer,s=jL().line_starters,i=jL().positionable_operators,o=jL().TOKEN;function l(e,t){return-1!==t.indexOf(e)}function c(e){return e.replace(/^\s+/g,"")}function u(e,t){return e&&e.type===o.RESERVED&&e.text===t}function d(e,t){return e&&e.type===o.RESERVED&&l(e.text,t)}var h=["case","return","do","if","throw","else","await","break","continue","async"],p=function(e){for(var t={},a=0;an&&(n=e.line_indent_level)),{mode:a,parent:e,last_token:e?e.last_token:new t(o.START_BLOCK,""),last_word:e?e.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,class_start_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,case_block:!1,indentation_level:n,alignment:0,line_indent_level:e?e.line_indent_level:n,start_line_index:this._output.get_line_number(),ternary_depth:0}},C.prototype._reset=function(t){var a=t.match(/^[\t ]*/)[0];this._last_last_text="",this._output=new e(this._options,a),this._output.raw=this._options.test_output_raw,this._flag_store=[],this.set_mode(m);var n=new r(t,this._options);return this._tokens=n.tokenize(),t},C.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._reset(this._source_text),t=this._options.eol;"auto"===this._options.eol&&(t="\n",e&&a.lineBreak.test(e||"")&&(t=e.match(a.lineBreak)[0]));for(var n=this._tokens.next();n;)this.handle_token(n),this._last_last_text=this._flags.last_token.text,this._flags.last_token=n,n=this._tokens.next();return this._output.get_code(t)},C.prototype.handle_token=function(e,t){e.type===o.START_EXPR?this.handle_start_expr(e):e.type===o.END_EXPR?this.handle_end_expr(e):e.type===o.START_BLOCK?this.handle_start_block(e):e.type===o.END_BLOCK?this.handle_end_block(e):e.type===o.WORD||e.type===o.RESERVED?this.handle_word(e):e.type===o.SEMICOLON?this.handle_semicolon(e):e.type===o.STRING?this.handle_string(e):e.type===o.EQUALS?this.handle_equals(e):e.type===o.OPERATOR?this.handle_operator(e):e.type===o.COMMA?this.handle_comma(e):e.type===o.BLOCK_COMMENT?this.handle_block_comment(e,t):e.type===o.COMMENT?this.handle_comment(e,t):e.type===o.DOT?this.handle_dot(e):e.type===o.EOF?this.handle_eof(e):(e.type,o.UNKNOWN,this.handle_unknown(e,t))},C.prototype.handle_whitespace_and_comments=function(e,t){var a=e.newlines,n=this._options.keep_array_indentation&&_(this._flags.mode);if(e.comments_before)for(var r=e.comments_before.next();r;)this.handle_whitespace_and_comments(r,t),this.handle_token(r,t),r=e.comments_before.next();if(n)for(var s=0;s0,t);else if(this._options.max_preserve_newlines&&a>this._options.max_preserve_newlines&&(a=this._options.max_preserve_newlines),this._options.preserve_newlines&&a>1){this.print_newline(!1,t);for(var i=1;i0&&(!this._flags.parent||this._flags.indentation_level>this._flags.parent.indentation_level)&&(this._flags.indentation_level-=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},C.prototype.set_mode=function(e){this._flags?(this._flag_store.push(this._flags),this._previous_flags=this._flags):this._previous_flags=this.create_flags(null,e),this._flags=this.create_flags(this._previous_flags,e),this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},C.prototype.restore_mode=function(){this._flag_store.length>0&&(this._previous_flags=this._flags,this._flags=this._flag_store.pop(),this._previous_flags.mode===g&&k(this._output,this._previous_flags),this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},C.prototype.start_of_object_property=function(){return this._flags.parent.mode===y&&this._flags.mode===g&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||d(this._flags.last_token,["get","set"]))},C.prototype.start_of_statement=function(e){var t=!1;return!!(t=(t=(t=(t=(t=(t=(t=t||d(this._flags.last_token,["var","let","const"])&&e.type===o.WORD)||u(this._flags.last_token,"do"))||!(this._flags.parent.mode===y&&this._flags.mode===g)&&d(this._flags.last_token,F)&&!e.newlines)||u(this._flags.last_token,"else")&&!(u(e,"if")&&!e.comments_before))||this._flags.last_token.type===o.END_EXPR&&(this._previous_flags.mode===b||this._previous_flags.mode===w))||this._flags.last_token.type===o.WORD&&this._flags.mode===m&&!this._flags.in_case&&!("--"===e.text||"++"===e.text)&&"function"!==this._last_last_text&&e.type!==o.WORD&&e.type!==o.RESERVED)||this._flags.mode===y&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||d(this._flags.last_token,["get","set"])))&&(this.set_mode(g),this.indent(),this.handle_whitespace_and_comments(e,!0),this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e,d(e,["do","for","if","while"])),!0)},C.prototype.handle_start_expr=function(e){this.start_of_statement(e)||this.handle_whitespace_and_comments(e);var t=x;if("["===e.text){if(this._flags.last_token.type===o.WORD||")"===this._flags.last_token.text)return d(this._flags.last_token,s)&&(this._output.space_before_token=!0),this.print_token(e),this.set_mode(t),this.indent(),void(this._options.space_in_paren&&(this._output.space_before_token=!0));t=v,_(this._flags.mode)&&("["!==this._flags.last_token.text&&(","!==this._flags.last_token.text||"]"!==this._last_last_text&&"}"!==this._last_last_text)||this._options.keep_array_indentation||this.print_newline()),l(this._flags.last_token.type,[o.START_EXPR,o.END_EXPR,o.WORD,o.OPERATOR,o.DOT])||(this._output.space_before_token=!0)}else{if(this._flags.last_token.type===o.RESERVED)"for"===this._flags.last_token.text?(this._output.space_before_token=this._options.space_before_conditional,t=b):l(this._flags.last_token.text,["if","while","switch"])?(this._output.space_before_token=this._options.space_before_conditional,t=w):l(this._flags.last_word,["await","async"])?this._output.space_before_token=!0:"import"===this._flags.last_token.text&&""===e.whitespace_before?this._output.space_before_token=!1:(l(this._flags.last_token.text,s)||"catch"===this._flags.last_token.text)&&(this._output.space_before_token=!0);else if(this._flags.last_token.type===o.EQUALS||this._flags.last_token.type===o.OPERATOR)this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e);else if(this._flags.last_token.type===o.WORD){this._output.space_before_token=!1;var a=this._tokens.peek(-3);if(this._options.space_after_named_function&&a){var n=this._tokens.peek(-4);d(a,["async","function"])||"*"===a.text&&d(n,["async","function"])?this._output.space_before_token=!0:this._flags.mode===y?"{"!==a.text&&","!==a.text&&("*"!==a.text||"{"!==n.text&&","!==n.text)||(this._output.space_before_token=!0):this._flags.parent&&this._flags.parent.class_start_block&&(this._output.space_before_token=!0)}}else this.allow_wrap_or_preserved_newline(e);(this._flags.last_token.type===o.RESERVED&&("function"===this._flags.last_word||"typeof"===this._flags.last_word)||"*"===this._flags.last_token.text&&(l(this._last_last_text,["function","yield"])||this._flags.mode===y&&l(this._last_last_text,["{",","])))&&(this._output.space_before_token=this._options.space_after_anon_function)}";"===this._flags.last_token.text||this._flags.last_token.type===o.START_BLOCK?this.print_newline():this._flags.last_token.type!==o.END_EXPR&&this._flags.last_token.type!==o.START_EXPR&&this._flags.last_token.type!==o.END_BLOCK&&"."!==this._flags.last_token.text&&this._flags.last_token.type!==o.COMMA||this.allow_wrap_or_preserved_newline(e,e.newlines),this.print_token(e),this.set_mode(t),this._options.space_in_paren&&(this._output.space_before_token=!0),this.indent()},C.prototype.handle_end_expr=function(e){for(;this._flags.mode===g;)this.restore_mode();this.handle_whitespace_and_comments(e),this._flags.multiline_frame&&this.allow_wrap_or_preserved_newline(e,"]"===e.text&&_(this._flags.mode)&&!this._options.keep_array_indentation),this._options.space_in_paren&&(this._flags.last_token.type!==o.START_EXPR||this._options.space_in_empty_paren?this._output.space_before_token=!0:(this._output.trim(),this._output.space_before_token=!1)),this.deindent(),this.print_token(e),this.restore_mode(),k(this._output,this._previous_flags),this._flags.do_while&&this._previous_flags.mode===w&&(this._previous_flags.mode=x,this._flags.do_block=!1,this._flags.do_while=!1)},C.prototype.handle_start_block=function(e){this.handle_whitespace_and_comments(e);var t=this._tokens.peek(),a=this._tokens.peek(1);"switch"===this._flags.last_word&&this._flags.last_token.type===o.END_EXPR?(this.set_mode(m),this._flags.in_case_statement=!0):this._flags.case_body?this.set_mode(m):a&&(l(a.text,[":",","])&&l(t.type,[o.STRING,o.WORD,o.RESERVED])||l(t.text,["get","set","..."])&&l(a.type,[o.WORD,o.RESERVED]))?l(this._last_last_text,["class","interface"])&&!l(a.text,[":",","])?this.set_mode(m):this.set_mode(y):this._flags.last_token.type===o.OPERATOR&&"=>"===this._flags.last_token.text?this.set_mode(m):l(this._flags.last_token.type,[o.EQUALS,o.START_EXPR,o.COMMA,o.OPERATOR])||d(this._flags.last_token,["return","throw","import","default"])?this.set_mode(y):this.set_mode(m),this._flags.last_token&&d(this._flags.last_token.previous,["class","extends"])&&(this._flags.class_start_block=!0);var n=!t.comments_before&&"}"===t.text,r=n&&"function"===this._flags.last_word&&this._flags.last_token.type===o.END_EXPR;if(this._options.brace_preserve_inline){var s=0,i=null;this._flags.inline_frame=!0;do{if(s+=1,(i=this._tokens.peek(s-1)).newlines){this._flags.inline_frame=!1;break}}while(i.type!==o.EOF&&(i.type!==o.END_BLOCK||i.opened!==e))}("expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines)&&!this._flags.inline_frame?this._flags.last_token.type!==o.OPERATOR&&(r||this._flags.last_token.type===o.EQUALS||d(this._flags.last_token,h)&&"else"!==this._flags.last_token.text)?this._output.space_before_token=!0:this.print_newline(!1,!0):(!_(this._previous_flags.mode)||this._flags.last_token.type!==o.START_EXPR&&this._flags.last_token.type!==o.COMMA||((this._flags.last_token.type===o.COMMA||this._options.space_in_paren)&&(this._output.space_before_token=!0),(this._flags.last_token.type===o.COMMA||this._flags.last_token.type===o.START_EXPR&&this._flags.inline_frame)&&(this.allow_wrap_or_preserved_newline(e),this._previous_flags.multiline_frame=this._previous_flags.multiline_frame||this._flags.multiline_frame,this._flags.multiline_frame=!1)),this._flags.last_token.type!==o.OPERATOR&&this._flags.last_token.type!==o.START_EXPR&&(l(this._flags.last_token.type,[o.START_BLOCK,o.SEMICOLON])&&!this._flags.inline_frame?this.print_newline():this._output.space_before_token=!0)),this.print_token(e),this.indent(),n||this._options.brace_preserve_inline&&this._flags.inline_frame||this.print_newline()},C.prototype.handle_end_block=function(e){for(this.handle_whitespace_and_comments(e);this._flags.mode===g;)this.restore_mode();var t=this._flags.last_token.type===o.START_BLOCK;this._flags.inline_frame&&!t?this._output.space_before_token=!0:"expand"===this._options.brace_style?t||this.print_newline():t||(_(this._flags.mode)&&this._options.keep_array_indentation?(this._options.keep_array_indentation=!1,this.print_newline(),this._options.keep_array_indentation=!0):this.print_newline()),this.restore_mode(),this.print_token(e)},C.prototype.handle_word=function(e){if(e.type===o.RESERVED)if(l(e.text,["set","get"])&&this._flags.mode!==y)e.type=o.WORD;else if("import"===e.text&&l(this._tokens.peek().text,["(","."]))e.type=o.WORD;else if(l(e.text,["as","from"])&&!this._flags.import_block)e.type=o.WORD;else if(this._flags.mode===y){":"===this._tokens.peek().text&&(e.type=o.WORD)}if(this.start_of_statement(e)?d(this._flags.last_token,["var","let","const"])&&e.type===o.WORD&&(this._flags.declaration_statement=!0):!e.newlines||E(this._flags.mode)||this._flags.last_token.type===o.OPERATOR&&"--"!==this._flags.last_token.text&&"++"!==this._flags.last_token.text||this._flags.last_token.type===o.EQUALS||!this._options.preserve_newlines&&d(this._flags.last_token,["var","let","const","set","get"])?this.handle_whitespace_and_comments(e):(this.handle_whitespace_and_comments(e),this.print_newline()),this._flags.do_block&&!this._flags.do_while){if(u(e,"while"))return this._output.space_before_token=!0,this.print_token(e),this._output.space_before_token=!0,void(this._flags.do_while=!0);this.print_newline(),this._flags.do_block=!1}if(this._flags.if_block)if(!this._flags.else_block&&u(e,"else"))this._flags.else_block=!0;else{for(;this._flags.mode===g;)this.restore_mode();this._flags.if_block=!1,this._flags.else_block=!1}if(this._flags.in_case_statement&&d(e,["case","default"]))return this.print_newline(),this._flags.case_block||!this._flags.case_body&&!this._options.jslint_happy||this.deindent(),this._flags.case_body=!1,this.print_token(e),void(this._flags.in_case=!0);if(this._flags.last_token.type!==o.COMMA&&this._flags.last_token.type!==o.START_EXPR&&this._flags.last_token.type!==o.EQUALS&&this._flags.last_token.type!==o.OPERATOR||this.start_of_object_property()||l(this._flags.last_token.text,["+","-"])&&":"===this._last_last_text&&this._flags.parent.mode===y||this.allow_wrap_or_preserved_newline(e),u(e,"function"))return(l(this._flags.last_token.text,["}",";"])||this._output.just_added_newline()&&!l(this._flags.last_token.text,["(","[","{",":","=",","])&&this._flags.last_token.type!==o.OPERATOR)&&(this._output.just_added_blankline()||e.comments_before||(this.print_newline(),this.print_newline(!0))),this._flags.last_token.type===o.RESERVED||this._flags.last_token.type===o.WORD?d(this._flags.last_token,["get","set","new","export"])||d(this._flags.last_token,F)||u(this._flags.last_token,"default")&&"export"===this._last_last_text||"declare"===this._flags.last_token.text?this._output.space_before_token=!0:this.print_newline():this._flags.last_token.type===o.OPERATOR||"="===this._flags.last_token.text?this._output.space_before_token=!0:(this._flags.multiline_frame||!E(this._flags.mode)&&!_(this._flags.mode))&&this.print_newline(),this.print_token(e),void(this._flags.last_word=e.text);var t="NONE";(this._flags.last_token.type===o.END_BLOCK?this._previous_flags.inline_frame?t="SPACE":d(e,["else","catch","finally","from"])?"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines?t="NEWLINE":(t="SPACE",this._output.space_before_token=!0):t="NEWLINE":this._flags.last_token.type===o.SEMICOLON&&this._flags.mode===m?t="NEWLINE":this._flags.last_token.type===o.SEMICOLON&&E(this._flags.mode)?t="SPACE":this._flags.last_token.type===o.STRING?t="NEWLINE":this._flags.last_token.type===o.RESERVED||this._flags.last_token.type===o.WORD||"*"===this._flags.last_token.text&&(l(this._last_last_text,["function","yield"])||this._flags.mode===y&&l(this._last_last_text,["{",","]))?t="SPACE":this._flags.last_token.type===o.START_BLOCK?t=this._flags.inline_frame?"SPACE":"NEWLINE":this._flags.last_token.type===o.END_EXPR&&(this._output.space_before_token=!0,t="NEWLINE"),d(e,s)&&")"!==this._flags.last_token.text&&(t=this._flags.inline_frame||"else"===this._flags.last_token.text||"export"===this._flags.last_token.text?"SPACE":"NEWLINE"),d(e,["else","catch","finally"]))?(this._flags.last_token.type!==o.END_BLOCK||this._previous_flags.mode!==m||"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines)&&!this._flags.inline_frame?this.print_newline():(this._output.trim(!0),"}"!==this._output.current_line.last()&&this.print_newline(),this._output.space_before_token=!0):"NEWLINE"===t?d(this._flags.last_token,h)||"declare"===this._flags.last_token.text&&d(e,["var","let","const"])?this._output.space_before_token=!0:this._flags.last_token.type!==o.END_EXPR?this._flags.last_token.type===o.START_EXPR&&d(e,["var","let","const"])||":"===this._flags.last_token.text||(u(e,"if")&&u(e.previous,"else")?this._output.space_before_token=!0:this.print_newline()):d(e,s)&&")"!==this._flags.last_token.text&&this.print_newline():this._flags.multiline_frame&&_(this._flags.mode)&&","===this._flags.last_token.text&&"}"===this._last_last_text?this.print_newline():"SPACE"===t&&(this._output.space_before_token=!0);!e.previous||e.previous.type!==o.WORD&&e.previous.type!==o.RESERVED||(this._output.space_before_token=!0),this.print_token(e),this._flags.last_word=e.text,e.type===o.RESERVED&&("do"===e.text?this._flags.do_block=!0:"if"===e.text?this._flags.if_block=!0:"import"===e.text?this._flags.import_block=!0:this._flags.import_block&&u(e,"from")&&(this._flags.import_block=!1))},C.prototype.handle_semicolon=function(e){this.start_of_statement(e)?this._output.space_before_token=!1:this.handle_whitespace_and_comments(e);for(var t=this._tokens.peek();!(this._flags.mode!==g||this._flags.if_block&&u(t,"else")||this._flags.do_block);)this.restore_mode();this._flags.import_block&&(this._flags.import_block=!1),this.print_token(e)},C.prototype.handle_string=function(e){(!e.text.startsWith("`")||0!==e.newlines||""!==e.whitespace_before||")"!==e.previous.text&&this._flags.last_token.type!==o.WORD)&&(this.start_of_statement(e)?this._output.space_before_token=!0:(this.handle_whitespace_and_comments(e),this._flags.last_token.type===o.RESERVED||this._flags.last_token.type===o.WORD||this._flags.inline_frame?this._output.space_before_token=!0:this._flags.last_token.type===o.COMMA||this._flags.last_token.type===o.START_EXPR||this._flags.last_token.type===o.EQUALS||this._flags.last_token.type===o.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e):!e.text.startsWith("`")||this._flags.last_token.type!==o.END_EXPR||"]"!==e.previous.text&&")"!==e.previous.text||0!==e.newlines?this.print_newline():this._output.space_before_token=!0)),this.print_token(e)},C.prototype.handle_equals=function(e){this.start_of_statement(e)||this.handle_whitespace_and_comments(e),this._flags.declaration_statement&&(this._flags.declaration_assignment=!0),this._output.space_before_token=!0,this.print_token(e),this._output.space_before_token=!0},C.prototype.handle_comma=function(e){this.handle_whitespace_and_comments(e,!0),this.print_token(e),this._output.space_before_token=!0,this._flags.declaration_statement?(E(this._flags.parent.mode)&&(this._flags.declaration_assignment=!1),this._flags.declaration_assignment?(this._flags.declaration_assignment=!1,this.print_newline(!1,!0)):this._options.comma_first&&this.allow_wrap_or_preserved_newline(e)):this._flags.mode===y||this._flags.mode===g&&this._flags.parent.mode===y?(this._flags.mode===g&&this.restore_mode(),this._flags.inline_frame||this.print_newline()):this._options.comma_first&&this.allow_wrap_or_preserved_newline(e)},C.prototype.handle_operator=function(e){var t="*"===e.text&&(d(this._flags.last_token,["function","yield"])||l(this._flags.last_token.type,[o.START_BLOCK,o.COMMA,o.END_BLOCK,o.SEMICOLON])),a=l(e.text,["-","+"])&&(l(this._flags.last_token.type,[o.START_BLOCK,o.START_EXPR,o.EQUALS,o.OPERATOR])||l(this._flags.last_token.text,s)||","===this._flags.last_token.text);if(this.start_of_statement(e));else{var n=!t;this.handle_whitespace_and_comments(e,n)}if("*"!==e.text||this._flags.last_token.type!==o.DOT)if("::"!==e.text)if(l(e.text,["-","+"])&&this.start_of_object_property())this.print_token(e);else{if(this._flags.last_token.type===o.OPERATOR&&l(this._options.operator_position,f)&&this.allow_wrap_or_preserved_newline(e),":"===e.text&&this._flags.in_case)return this.print_token(e),this._flags.in_case=!1,this._flags.case_body=!0,void(this._tokens.peek().type!==o.START_BLOCK?(this.indent(),this.print_newline(),this._flags.case_block=!1):(this._flags.case_block=!0,this._output.space_before_token=!0));var r=!0,c=!0,u=!1;if(":"===e.text?0===this._flags.ternary_depth?r=!1:(this._flags.ternary_depth-=1,u=!0):"?"===e.text&&(this._flags.ternary_depth+=1),!a&&!t&&this._options.preserve_newlines&&l(e.text,i)){var y=":"===e.text,v=y&&u,b=y&&!u;switch(this._options.operator_position){case p.before_newline:return this._output.space_before_token=!b,this.print_token(e),y&&!v||this.allow_wrap_or_preserved_newline(e),void(this._output.space_before_token=!0);case p.after_newline:return this._output.space_before_token=!0,!y||v?this._tokens.peek().newlines?this.print_newline(!1,!0):this.allow_wrap_or_preserved_newline(e):this._output.space_before_token=!1,this.print_token(e),void(this._output.space_before_token=!0);case p.preserve_newline:return b||this.allow_wrap_or_preserved_newline(e),r=!(this._output.just_added_newline()||b),this._output.space_before_token=r,this.print_token(e),void(this._output.space_before_token=!0)}}if(t){this.allow_wrap_or_preserved_newline(e),r=!1;var w=this._tokens.peek();c=w&&l(w.type,[o.WORD,o.RESERVED])}else if("..."===e.text)this.allow_wrap_or_preserved_newline(e),r=this._flags.last_token.type===o.START_BLOCK,c=!1;else if(l(e.text,["--","++","!","~"])||a){if(this._flags.last_token.type!==o.COMMA&&this._flags.last_token.type!==o.START_EXPR||this.allow_wrap_or_preserved_newline(e),r=!1,c=!1,e.newlines&&("--"===e.text||"++"===e.text||"~"===e.text)){var x=d(this._flags.last_token,h)&&e.newlines;x&&(this._previous_flags.if_block||this._previous_flags.else_block)&&this.restore_mode(),this.print_newline(x,!0)}";"===this._flags.last_token.text&&E(this._flags.mode)&&(r=!0),this._flags.last_token.type===o.RESERVED?r=!0:this._flags.last_token.type===o.END_EXPR?r=!("]"===this._flags.last_token.text&&("--"===e.text||"++"===e.text)):this._flags.last_token.type===o.OPERATOR&&(r=l(e.text,["--","-","++","+"])&&l(this._flags.last_token.text,["--","-","++","+"]),l(e.text,["+","-"])&&l(this._flags.last_token.text,["--","++"])&&(c=!0)),(this._flags.mode!==m||this._flags.inline_frame)&&this._flags.mode!==g||"{"!==this._flags.last_token.text&&";"!==this._flags.last_token.text||this.print_newline()}this._output.space_before_token=this._output.space_before_token||r,this.print_token(e),this._output.space_before_token=c}else this.print_token(e);else this.print_token(e)},C.prototype.handle_block_comment=function(e,t){return this._output.raw?(this._output.add_raw_token(e),void(e.directives&&"end"===e.directives.preserve&&(this._output.raw=this._options.test_output_raw))):e.directives?(this.print_newline(!1,t),this.print_token(e),"start"===e.directives.preserve&&(this._output.raw=!0),void this.print_newline(!1,!0)):a.newline.test(e.text)||e.newlines?void this.print_block_commment(e,t):(this._output.space_before_token=!0,this.print_token(e),void(this._output.space_before_token=!0))},C.prototype.print_block_commment=function(e,t){var n,r=function(e){for(var t=[],n=(e=e.replace(a.allLineBreaks,"\n")).indexOf("\n");-1!==n;)t.push(e.substring(0,n)),n=(e=e.substring(n+1)).indexOf("\n");return e.length&&t.push(e),t}(e.text),s=!1,i=!1,o=e.whitespace_before,l=o.length;if(this.print_newline(!1,t),this.print_token_line_indentation(e),this._output.add_token(r[0]),this.print_newline(!1,t),r.length>1){for(s=function(e,t){for(var a=0;a0&&this._indentLevel--},u.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._source_text,u=this._options.eol;"auto"===u&&(u="\n",e&&r.test(e||"")&&(u=e.match(r)[0]));var d=(e=e.replace(s,"\n")).match(/^[\t ]*/)[0];this._output=new t(this._options,d),this._input=new a(e),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var h,p,f=0,m=!1,g=!1,y=!1,v=!1,b=!1,w=this._ch,x=!1;h=""!==this._input.read(o),p=w,this._ch=this._input.next(),"\\"===this._ch&&this._input.hasNext()&&(this._ch+=this._input.next()),w=this._ch,this._ch;)if("/"===this._ch&&"*"===this._input.peek()){this._output.add_new_line(),this._input.back();var k=this._input.read(l),_=n.get_directives(k);_&&"start"===_.ignore&&(k+=n.readIgnored(this._input)),this.print_string(k),this.eatWhitespace(!0),this._output.add_new_line()}else if("/"===this._ch&&"/"===this._input.peek())this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(c)),this.eatWhitespace(!0);else if("$"===this._ch){this.preserveSingleSpace(h),this.print_string(this._ch);var E=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);E.match(/[ :]$/)&&(E=this.eatString(": ").replace(/\s+$/,""),this.print_string(E),this._output.space_before_token=!0),0===f&&-1!==E.indexOf(":")&&(g=!0,this.indent())}else if("@"===this._ch)if(this.preserveSingleSpace(h),"{"===this._input.peek())this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var C=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);C.match(/[ :]$/)&&(C=this.eatString(": ").replace(/\s+$/,""),this.print_string(C),this._output.space_before_token=!0),0===f&&-1!==C.indexOf(":")?(g=!0,this.indent()):C in this.NESTED_AT_RULE?(this._nestedLevel+=1,C in this.CONDITIONAL_GROUP_RULE&&(y=!0)):0!==f||g||(v=!0)}else if("#"===this._ch&&"{"===this._input.peek())this.preserveSingleSpace(h),this.print_string(this._ch+this.eatString("}"));else if("{"===this._ch)g&&(g=!1,this.outdent()),v=!1,y?(y=!1,m=this._indentLevel>=this._nestedLevel):m=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&m&&this._output.previous_line&&"{"!==this._output.previous_line.item(-1)&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,"expand"===this._options.brace_style?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):("("===p?this._output.space_before_token=!1:","!==p&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if("}"===this._ch)this.outdent(),this._output.add_new_line(),"{"===p&&this._output.trim(!0),g&&(this.outdent(),g=!1),this.print_string(this._ch),m=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&"}"!==this._input.peek()&&this._output.add_new_line(!0),")"===this._input.peek()&&(this._output.trim(!0),"expand"===this._options.brace_style&&this._output.add_new_line(!0));else if(":"===this._ch){for(var F=0;F"!==this._ch&&"+"!==this._ch&&"~"!==this._ch||g||0!==f)if("]"===this._ch)this.print_string(this._ch);else if("["===this._ch)this.preserveSingleSpace(h),this.print_string(this._ch);else if("="===this._ch)this.eatWhitespace(),this.print_string("="),i.test(this._ch)&&(this._ch="");else if("!"!==this._ch||this._input.lookBack("\\")){var T='"'===p||"'"===p;this.preserveSingleSpace(T||h),this.print_string(this._ch),!this._output.just_added_newline()&&"\n"===this._input.peek()&&x&&this._output.add_new_line()}else this._output.space_before_token=!0,this.print_string(this._ch);else this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&i.test(this._ch)&&(this._ch=""));return this._output.get_code(u)},$L.Beautifier=u,$L}().Beautifier,t=WL().Options;return YL.exports=function(t,a){return new e(t,a).beautify()},YL.exports.defaultOptions=function(){return new t},YL.exports}var KL,JL={exports:{}},qL={},ZL={};function XL(){if(KL)return ZL;KL=1;var e=pL().Options;function t(t){e.call(this,t,"html"),1===this.templating.length&&"auto"===this.templating[0]&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_min_attrs=this._get_number("wrap_attributes_min_attrs",2),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.inline_custom_elements=this._get_boolean("inline_custom_elements",!0),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}return t.prototype=new e,ZL.Options=t,ZL}var QL,eR,tR,aR,nR,rR={};function sR(){if(QL)return rR;QL=1;var e=AL().Tokenizer,t=AL().TOKEN,a=IL().Directives,n=UL().TemplatablePattern,r=DL().Pattern,s={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",CONTROL_FLOW_OPEN:"TK_CONTROL_FLOW_OPEN",CONTROL_FLOW_CLOSE:"TK_CONTROL_FLOW_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:t.START,RAW:t.RAW,EOF:t.EOF},i=new a(/<\!--/,/-->/),o=function(t,a){e.call(this,t,a),this._current_tag_name="";var s=new n(this._input).read_options(this._options),i=new r(this._input);if(this.__patterns={word:s.until(/[\n\r\t <]/),word_control_flow_close_excluded:s.until(/[\n\r\t <}]/),single_quote:s.until_after(/'/),double_quote:s.until_after(/"/),attribute:s.until(/[\n\r\t =>]|\/>/),element_name:s.until(/[\n\r\t >\/]/),angular_control_flow_start:i.matching(/\@[a-zA-Z]+[^({]*[({]/),handlebars_comment:i.starting_with(/{{!--/).until_after(/--}}/),handlebars:i.starting_with(/{{/).until_after(/}}/),handlebars_open:i.until(/[\n\r\t }]/),handlebars_raw_close:i.until(/}}/),comment:i.starting_with(//),cdata:i.starting_with(//),conditional_comment:i.starting_with(//),processing:i.starting_with(/<\?/).until_after(/\?>/)},this._options.indent_handlebars&&(this.__patterns.word=this.__patterns.word.exclude("handlebars"),this.__patterns.word_control_flow_close_excluded=this.__patterns.word_control_flow_close_excluded.exclude("handlebars")),this._unformatted_content_delimiter=null,this._options.unformatted_content_delimiter){var o=this._input.get_literal_regexp(this._options.unformatted_content_delimiter);this.__patterns.unformatted_content_delimiter=i.matching(o).until_after(o)}};return(o.prototype=new e)._is_comment=function(e){return!1},o.prototype._is_opening=function(e){return e.type===s.TAG_OPEN||e.type===s.CONTROL_FLOW_OPEN},o.prototype._is_closing=function(e,t){return e.type===s.TAG_CLOSE&&t&&((">"===e.text||"/>"===e.text)&&"<"===t.text[0]||"}}"===e.text&&"{"===t.text[0]&&"{"===t.text[1])||e.type===s.CONTROL_FLOW_CLOSE&&"}"===e.text&&t.text.endsWith("{")},o.prototype._reset=function(){this._current_tag_name=""},o.prototype._get_next_token=function(e,t){var a=null;this._readWhitespace();var n=this._input.peek();return null===n?this._create_token(s.EOF,""):a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=a||this._read_open_handlebars(n,t))||this._read_attribute(n,e,t))||this._read_close(n,t))||this._read_script_and_style(n,e))||this._read_control_flows(n,t))||this._read_raw_content(n,e,t))||this._read_content_word(n,t))||this._read_comment_or_cdata(n))||this._read_processing(n))||this._read_open(n,t))||this._create_token(s.UNKNOWN,this._input.next())},o.prototype._read_comment_or_cdata=function(e){var t=null,a=null,n=null;"<"===e&&("!"===this._input.peek(1)&&((a=this.__patterns.comment.read())?(n=i.get_directives(a))&&"start"===n.ignore&&(a+=i.readIgnored(this._input)):a=this.__patterns.cdata.read()),a&&((t=this._create_token(s.COMMENT,a)).directives=n));return t},o.prototype._read_processing=function(e){var t=null,a=null;if("<"===e){var n=this._input.peek(1);"!"!==n&&"?"!==n||(a=(a=this.__patterns.conditional_comment.read())||this.__patterns.processing.read()),a&&((t=this._create_token(s.COMMENT,a)).directives=null)}return t},o.prototype._read_open=function(e,t){var a=null,n=null;return t&&t.type!==s.CONTROL_FLOW_OPEN||"<"===e&&(a=this._input.next(),"/"===this._input.peek()&&(a+=this._input.next()),a+=this.__patterns.element_name.read(),n=this._create_token(s.TAG_OPEN,a)),n},o.prototype._read_open_handlebars=function(e,t){var a=null,n=null;return t&&t.type!==s.CONTROL_FLOW_OPEN||(this._options.templating.includes("angular")||this._options.indent_handlebars)&&"{"===e&&"{"===this._input.peek(1)&&(this._options.indent_handlebars&&"!"===this._input.peek(2)?(a=(a=this.__patterns.handlebars_comment.read())||this.__patterns.handlebars.read(),n=this._create_token(s.COMMENT,a)):(a=this.__patterns.handlebars_open.read(),n=this._create_token(s.TAG_OPEN,a))),n},o.prototype._read_control_flows=function(e,t){var a="",n=null;if(!this._options.templating.includes("angular"))return n;if("@"===e){if(""===(a=this.__patterns.angular_control_flow_start.read()))return n;for(var r=a.endsWith("(")?1:0,i=0;!a.endsWith("{")||r!==i;){var o=this._input.next();if(null===o)break;"("===o?r++:")"===o&&i++,a+=o}n=this._create_token(s.CONTROL_FLOW_OPEN,a)}else"}"===e&&t&&t.type===s.CONTROL_FLOW_OPEN&&(a=this._input.next(),n=this._create_token(s.CONTROL_FLOW_CLOSE,a));return n},o.prototype._read_close=function(e,t){var a=null,n=null;return t&&t.type===s.TAG_OPEN&&("<"===t.text[0]&&(">"===e||"/"===e&&">"===this._input.peek(1))?(a=this._input.next(),"/"===e&&(a+=this._input.next()),n=this._create_token(s.TAG_CLOSE,a)):"{"===t.text[0]&&"}"===e&&"}"===this._input.peek(1)&&(this._input.next(),this._input.next(),n=this._create_token(s.TAG_CLOSE,"}}"))),n},o.prototype._read_attribute=function(e,t,a){var n=null,r="";if(a&&"<"===a.text[0])if("="===e)n=this._create_token(s.EQUALS,this._input.next());else if('"'===e||"'"===e){var i=this._input.next();i+='"'===e?this.__patterns.double_quote.read():this.__patterns.single_quote.read(),n=this._create_token(s.VALUE,i)}else(r=this.__patterns.attribute.read())&&(n=t.type===s.EQUALS?this._create_token(s.VALUE,r):this._create_token(s.ATTRIBUTE,r));return n},o.prototype._is_content_unformatted=function(e){return-1===this._options.void_elements.indexOf(e)&&(-1!==this._options.content_unformatted.indexOf(e)||-1!==this._options.unformatted.indexOf(e))},o.prototype._read_raw_content=function(e,t,a){var n="";if(a&&"{"===a.text[0])n=this.__patterns.handlebars_raw_close.read();else if(t.type===s.TAG_CLOSE&&"<"===t.opened.text[0]&&"/"!==t.text[0]){var r=t.opened.text.substr(1).toLowerCase();this._is_content_unformatted(r)&&(n=this._input.readUntil(new RegExp("","ig")))}return n?this._create_token(s.TEXT,n):null},o.prototype._read_script_and_style=function(e,t){if(t.type===s.TAG_CLOSE&&"<"===t.opened.text[0]&&"/"!==t.text[0]){var a=t.opened.text.substr(1).toLowerCase();if("script"===a||"style"===a){var n=this._read_comment_or_cdata(e);if(n)return n.type=s.TEXT,n;var r=this._input.readUntil(new RegExp("","ig"));if(r)return this._create_token(s.TEXT,r)}}return null},o.prototype._read_content_word=function(e,t){var a="";return this._options.unformatted_content_delimiter&&e===this._options.unformatted_content_delimiter[0]&&(a=this.__patterns.unformatted_content_delimiter.read()),a||(a=t&&t.type===s.CONTROL_FLOW_OPEN?this.__patterns.word_control_flow_close_excluded.read():this.__patterns.word.read()),a?this._create_token(s.TEXT,a):null},rR.Tokenizer=o,rR.TOKEN=s,rR}function iR(){if(eR)return qL;eR=1;var e=XL().Options,t=aL().Output,a=sR().Tokenizer,n=sR().TOKEN,r=/\r\n|[\r\n]/,s=/\r\n|[\r\n]/g,i=function(e,a){this.indent_level=0,this.alignment_size=0,this.max_preserve_newlines=e.max_preserve_newlines,this.preserve_newlines=e.preserve_newlines,this._output=new t(e,a)};i.prototype.current_line_has_match=function(e){return this._output.current_line.has_match(e)},i.prototype.set_space_before_token=function(e,t){this._output.space_before_token=e,this._output.non_breaking_space=t},i.prototype.set_wrap_point=function(){this._output.set_indent(this.indent_level,this.alignment_size),this._output.set_wrap_point()},i.prototype.add_raw_token=function(e){this._output.add_raw_token(e)},i.prototype.print_preserved_newlines=function(e){var t=0;e.type!==n.TEXT&&e.previous.type!==n.TEXT&&(t=e.newlines?1:0),this.preserve_newlines&&(t=e.newlines0);return 0!==t},i.prototype.traverse_whitespace=function(e){return!(!e.whitespace_before&&!e.newlines)&&(this.print_preserved_newlines(e)||(this._output.space_before_token=!0),!0)},i.prototype.previous_token_wrapped=function(){return this._output.previous_token_wrapped},i.prototype.print_newline=function(e){this._output.add_new_line(e)},i.prototype.print_token=function(e){e.text&&(this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(e.text))},i.prototype.indent=function(){this.indent_level++},i.prototype.deindent=function(){this.indent_level>0&&(this.indent_level--,this._output.set_indent(this.indent_level,this.alignment_size))},i.prototype.get_full_indent=function(e){return(e=this.indent_level+(e||0))<1?"":this._output.get_indent_string(e)};var o=function(e,t){var a=null,r=null;return t.closed?("script"===e?a="text/javascript":"style"===e&&(a="text/css"),a=function(e){for(var t=null,a=e.next;a.type!==n.EOF&&e.closed!==a;){if(a.type===n.ATTRIBUTE&&"type"===a.text){a.next&&a.next.type===n.EQUALS&&a.next.next&&a.next.next.type===n.VALUE&&(t=a.next.next.text);break}a=a.next}return t}(t)||a,a.search("text/css")>-1?r="css":a.search(/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/)>-1?r="javascript":a.search(/(text|application|dojo)\/(x-)?(html)/)>-1?r="html":a.search(/test\/null/)>-1&&(r="null"),r):null};function l(e,t){return-1!==t.indexOf(e)}function c(e,t,a){this.parent=e||null,this.tag=t?t.tag_name:"",this.indent_level=a||0,this.parser_token=t||null}function u(e){this._printer=e,this._current_frame=null}function d(t,a,n,r){this._source_text=t||"",a=a||{},this._js_beautify=n,this._css_beautify=r,this._tag_stack=null;var s=new e(a,"html");this._options=s,this._is_wrap_attributes_force="force"===this._options.wrap_attributes.substr(0,5),this._is_wrap_attributes_force_expand_multiline="force-expand-multiline"===this._options.wrap_attributes,this._is_wrap_attributes_force_aligned="force-aligned"===this._options.wrap_attributes,this._is_wrap_attributes_aligned_multiple="aligned-multiple"===this._options.wrap_attributes,this._is_wrap_attributes_preserve="preserve"===this._options.wrap_attributes.substr(0,8),this._is_wrap_attributes_preserve_aligned="preserve-aligned"===this._options.wrap_attributes}u.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},u.prototype.record_tag=function(e){var t=new c(this._current_frame,e,this._printer.indent_level);this._current_frame=t},u.prototype._try_pop_frame=function(e){var t=null;return e&&(t=e.parser_token,this._printer.indent_level=e.indent_level,this._current_frame=e.parent),t},u.prototype._get_frame=function(e,t){for(var a=this._current_frame;a&&-1===e.indexOf(a.tag);){if(t&&-1!==t.indexOf(a.tag)){a=null;break}a=a.parent}return a},u.prototype.try_pop=function(e,t){var a=this._get_frame([e],t);return this._try_pop_frame(a)},u.prototype.indent_to_tag=function(e){var t=this._get_frame(e);t&&(this._printer.indent_level=t.indent_level)},d.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._source_text,t=this._options.eol;"auto"===this._options.eol&&(t="\n",e&&r.test(e)&&(t=e.match(r)[0]));var o=(e=e.replace(s,"\n")).match(/^[\t ]*/)[0],l={text:"",type:""},c=new h(this._options),d=new i(this._options,o),p=new a(e,this._options).tokenize();this._tag_stack=new u(d);for(var f=null,m=p.next();m.type!==n.EOF;)m.type===n.TAG_OPEN||m.type===n.COMMENT?c=f=this._handle_tag_open(d,m,c,l,p):m.type===n.ATTRIBUTE||m.type===n.EQUALS||m.type===n.VALUE||m.type===n.TEXT&&!c.tag_complete?f=this._handle_inside_tag(d,m,c,l):m.type===n.TAG_CLOSE?f=this._handle_tag_close(d,m,c):m.type===n.TEXT?f=this._handle_text(d,m,c):m.type===n.CONTROL_FLOW_OPEN?f=this._handle_control_flow_open(d,m):m.type===n.CONTROL_FLOW_CLOSE?f=this._handle_control_flow_close(d,m):d.add_raw_token(m),l=f,m=p.next();return d._output.get_code(t)},d.prototype._handle_control_flow_open=function(e,t){var a={text:t.text,type:t.type};return e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),t.newlines?e.print_preserved_newlines(t):e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),e.print_token(t),e.indent(),a},d.prototype._handle_control_flow_close=function(e,t){var a={text:t.text,type:t.type};return e.deindent(),t.newlines?e.print_preserved_newlines(t):e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),e.print_token(t),a},d.prototype._handle_tag_close=function(e,t,a){var n={text:t.text,type:t.type};return e.alignment_size=0,a.tag_complete=!0,e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),a.is_unformatted?e.add_raw_token(t):("<"===a.tag_start_char&&(e.set_space_before_token("/"===t.text[0],!0),this._is_wrap_attributes_force_expand_multiline&&a.has_wrapped_attrs&&e.print_newline(!1)),e.print_token(t)),!a.indent_content||a.is_unformatted||a.is_content_unformatted||(e.indent(),a.indent_content=!1),a.is_inline_element||a.is_unformatted||a.is_content_unformatted||e.set_wrap_point(),n},d.prototype._handle_inside_tag=function(e,t,a,r){var s=a.has_wrapped_attrs,i={text:t.text,type:t.type};return e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),a.is_unformatted?e.add_raw_token(t):"{"===a.tag_start_char&&t.type===n.TEXT?e.print_preserved_newlines(t)?(t.newlines=0,e.add_raw_token(t)):e.print_token(t):(t.type===n.ATTRIBUTE?e.set_space_before_token(!0):(t.type===n.EQUALS||t.type===n.VALUE&&t.previous.type===n.EQUALS)&&e.set_space_before_token(!1),t.type===n.ATTRIBUTE&&"<"===a.tag_start_char&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(e.traverse_whitespace(t),s=s||0!==t.newlines),this._is_wrap_attributes_force&&a.attr_count>=this._options.wrap_attributes_min_attrs&&(r.type!==n.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(e.print_newline(!1),s=!0)),e.print_token(t),s=s||e.previous_token_wrapped(),a.has_wrapped_attrs=s),i},d.prototype._handle_text=function(e,t,a){var n={text:t.text,type:"TK_CONTENT"};return a.custom_beautifier_name?this._print_custom_beatifier_text(e,t,a):a.is_unformatted||a.is_content_unformatted?e.add_raw_token(t):(e.traverse_whitespace(t),e.print_token(t)),n},d.prototype._print_custom_beatifier_text=function(e,t,a){var n=this;if(""!==t.text){var r,s=t.text,i=1,o="",l="";"javascript"===a.custom_beautifier_name&&"function"==typeof this._js_beautify?r=this._js_beautify:"css"===a.custom_beautifier_name&&"function"==typeof this._css_beautify?r=this._css_beautify:"html"===a.custom_beautifier_name&&(r=function(e,t){return new d(e,t,n._js_beautify,n._css_beautify).beautify()}),"keep"===this._options.indent_scripts?i=0:"separate"===this._options.indent_scripts&&(i=-e.indent_level);var c=e.get_full_indent(i);if(s=s.replace(/\n[ \t]*$/,""),"html"!==a.custom_beautifier_name&&"<"===s[0]&&s.match(/^(|]]>)$/.exec(s);if(!u)return void e.add_raw_token(t);o=c+u[1]+"\n",s=u[4],u[5]&&(l=c+u[5]),s=s.replace(/\n[ \t]*$/,""),(u[2]||-1!==u[3].indexOf("\n"))&&(u=u[3].match(/[ \t]+$/))&&(t.whitespace_before=u[0])}if(s)if(r){var h=function(){this.eol="\n"};h.prototype=this._options.raw_options,s=r(c+s,new h)}else{var p=t.whitespace_before;p&&(s=s.replace(new RegExp("\n("+p+")?","g"),"\n")),s=c+s.replace(/\n/g,"\n"+c)}o&&(s=s?o+s+"\n"+l:o+l),e.print_newline(!1),s&&(t.text=s,t.whitespace_before="",t.newlines=0,e.add_raw_token(t),e.print_newline(!0))}},d.prototype._handle_tag_open=function(e,t,a,r,s){var i=this._get_tag_open_token(t);if(!a.is_unformatted&&!a.is_content_unformatted||a.is_empty_element||t.type!==n.TAG_OPEN||i.is_start_tag?(e.traverse_whitespace(t),this._set_tag_position(e,t,i,a,r),i.is_inline_element||e.set_wrap_point(),e.print_token(t)):(e.add_raw_token(t),i.start_tag_token=this._tag_stack.try_pop(i.tag_name)),i.is_start_tag&&this._is_wrap_attributes_force){var o,l=0;do{(o=s.peek(l)).type===n.ATTRIBUTE&&(i.attr_count+=1),l+=1}while(o.type!==n.EOF&&o.type!==n.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(i.alignment_size=t.text.length+1),i.tag_complete||i.is_unformatted||(e.alignment_size=i.alignment_size),i};var h=function(e,t,a){if(this.parent=t||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",a){var r;this.tag_start_char=a.text[0],this.text=a.text,"<"===this.tag_start_char?(r=a.text.match(/^<([^\s>]*)/),this.tag_check=r?r[1]:""):(r=a.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=r?r[1]:"",(a.text.startsWith("{{#>")||a.text.startsWith("{{~#>"))&&">"===this.tag_check[0]&&(">"===this.tag_check&&null!==a.next?this.tag_check=a.next.text.split(" ")[0]:this.tag_check=a.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),a.type===n.COMMENT&&(this.tag_complete=!0),this.is_start_tag="/"!==this.tag_check.charAt(0),this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||a.closed&&"/>"===a.closed.text;var s=2;"{"===this.tag_start_char&&this.text.length>=3&&"~"===this.text.charAt(2)&&(s=3),this.is_end_tag=this.is_end_tag||"{"===this.tag_start_char&&(!e.indent_handlebars||this.text.length<3||/[^#\^]/.test(this.text.charAt(s)))}else this.tag_complete=!0};d.prototype._get_tag_open_token=function(e){var t=new h(this._options,this._tag_stack.get_parser_token(),e);return t.alignment_size=this._options.wrap_attributes_indent_size,t.is_end_tag=t.is_end_tag||l(t.tag_check,this._options.void_elements),t.is_empty_element=t.tag_complete||t.is_start_tag&&t.is_end_tag,t.is_unformatted=!t.tag_complete&&l(t.tag_check,this._options.unformatted),t.is_content_unformatted=!t.is_empty_element&&l(t.tag_check,this._options.content_unformatted),t.is_inline_element=l(t.tag_name,this._options.inline)||this._options.inline_custom_elements&&t.tag_name.includes("-")||"{"===t.tag_start_char,t},d.prototype._set_tag_position=function(e,t,a,r,s){if(a.is_empty_element||(a.is_end_tag?a.start_tag_token=this._tag_stack.try_pop(a.tag_name):(this._do_optional_end_element(a)&&(a.is_inline_element||e.print_newline(!1)),this._tag_stack.record_tag(a),"script"!==a.tag_name&&"style"!==a.tag_name||a.is_unformatted||a.is_content_unformatted||(a.custom_beautifier_name=o(a.tag_check,t)))),l(a.tag_check,this._options.extra_liners)&&(e.print_newline(!1),e._output.just_added_blankline()||e.print_newline(!0)),a.is_empty_element){if("{"===a.tag_start_char&&"else"===a.tag_check)this._tag_stack.indent_to_tag(["if","unless","each"]),a.indent_content=!0,e.current_line_has_match(/{{#if/)||e.print_newline(!1);"!--"===a.tag_name&&s.type===n.TAG_CLOSE&&r.is_end_tag&&-1===a.text.indexOf("\n")||(a.is_inline_element||a.is_unformatted||e.print_newline(!1),this._calcluate_parent_multiline(e,a))}else if(a.is_end_tag){var i=!1;i=(i=a.start_tag_token&&a.start_tag_token.multiline_content)||!a.is_inline_element&&!(r.is_inline_element||r.is_unformatted)&&!(s.type===n.TAG_CLOSE&&a.start_tag_token===r)&&"TK_CONTENT"!==s.type,(a.is_content_unformatted||a.is_unformatted)&&(i=!1),i&&e.print_newline(!1)}else a.indent_content=!a.custom_beautifier_name,"<"===a.tag_start_char&&("html"===a.tag_name?a.indent_content=this._options.indent_inner_html:"head"===a.tag_name?a.indent_content=this._options.indent_head_inner_html:"body"===a.tag_name&&(a.indent_content=this._options.indent_body_inner_html)),a.is_inline_element||a.is_unformatted||"TK_CONTENT"===s.type&&!a.is_content_unformatted||e.print_newline(!1),this._calcluate_parent_multiline(e,a)},d.prototype._calcluate_parent_multiline=function(e,t){!t.parent||!e._output.just_added_newline()||(t.is_inline_element||t.is_unformatted)&&t.parent.is_inline_element||(t.parent.multiline_content=!0)};var p=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],f=["a","audio","del","ins","map","noscript","video"];return d.prototype._do_optional_end_element=function(e){var t=null;if(!e.is_empty_element&&e.is_start_tag&&e.parent){if("body"===e.tag_name)t=t||this._tag_stack.try_pop("head");else if("li"===e.tag_name)t=t||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if("dd"===e.tag_name||"dt"===e.tag_name)t=(t=t||this._tag_stack.try_pop("dt",["dl"]))||this._tag_stack.try_pop("dd",["dl"]);else if("p"===e.parent.tag_name&&-1!==p.indexOf(e.tag_name)){var a=e.parent.parent;a&&-1!==f.indexOf(a.tag_name)||(t=t||this._tag_stack.try_pop("p"))}else"rp"===e.tag_name||"rt"===e.tag_name?t=(t=t||this._tag_stack.try_pop("rt",["ruby","rtc"]))||this._tag_stack.try_pop("rp",["ruby","rtc"]):"optgroup"===e.tag_name?t=t||this._tag_stack.try_pop("optgroup",["select"]):"option"===e.tag_name?t=t||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):"colgroup"===e.tag_name?t=t||this._tag_stack.try_pop("caption",["table"]):"thead"===e.tag_name?t=(t=t||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]):"tbody"===e.tag_name||"tfoot"===e.tag_name?t=(t=(t=(t=t||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]))||this._tag_stack.try_pop("thead",["table"]))||this._tag_stack.try_pop("tbody",["table"]):"tr"===e.tag_name?t=(t=(t=t||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]))||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"]):"th"!==e.tag_name&&"td"!==e.tag_name||(t=(t=t||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]))||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return e.parent=this._tag_stack.get_parser_token(),t}},qL.Beautifier=d,qL}function oR(){if(aR)return Xj;aR=1;var e=function(){if(ML)return Qj.exports;ML=1;var e=LL().Beautifier,t=fL().Options;return Qj.exports=function(t,a){return new e(t,a).beautify()},Qj.exports.defaultOptions=function(){return new t},Qj.exports}(),t=VL(),a=function(){if(tR)return JL.exports;tR=1;var e=iR().Beautifier,t=XL().Options;return JL.exports=function(t,a,n,r){return new e(t,a,n,r).beautify()},JL.exports.defaultOptions=function(){return new t},JL.exports}();function n(n,r,s,i){return a(n,r,s=s||e,i=i||t)}return n.defaultOptions=a.defaultOptions,Xj.js=e,Xj.css=t,Xj.html=n,Xj}var lR,cR,uR,dR,hR,pR,fR=(nR||(nR=1,lR=Zj,(pR=oR()).js_beautify=pR.js,pR.css_beautify=pR.css,pR.html_beautify=pR.html,lR.exports=(uR=pR,dR=pR,(hR=function(e,t){return cR.js_beautify(e,t)}).js=(cR=pR).js_beautify,hR.css=uR.css_beautify,hR.html=dR.html_beautify,hR.js_beautify=cR.js_beautify,hR.css_beautify=uR.css_beautify,hR.html_beautify=dR.html_beautify,hR)),Zj.exports);const mR={class:"code-formatter"},gR={class:"language-selector"},yR={class:"formatter-content"},vR={class:"main-workspace"},bR={class:"input-section"},wR={class:"section-header"},xR={class:"header-right"},kR={class:"config-section"},_R={class:"operation-buttons"},ER=["disabled"],CR=["disabled"],FR=["disabled"],DR={class:"code-editor"},AR=["placeholder"],TR={key:0,class:"line-numbers"},SR={class:"section-footer"},IR={class:"stats-info"},PR={class:"stat-item"},NR={class:"stat-item"},BR={class:"stat-item"},MR={class:"output-section"},OR={class:"code-editor"},UR={key:1,class:"empty-output"},jR={key:2,class:"line-numbers"},LR={key:0,class:"section-footer"},RR={class:"stats-info"},zR={class:"stat-item"},HR={class:"stat-item"},YR={key:0,class:"stat-item compression"},$R={key:1,class:"section-footer"},GR=Ya({__name:"CodeFormatter",emits:["back"],setup(e){il("code-formatter");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),{downloadText:r}=ol(),s=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"code-formatter"===e.id);if(t)return t.title}return"JS/HTML格式化工具"}),i=St("html"),o=St(""),l=St(""),c=St({indentType:"tabs",indentSize:"2"}),u=St({lines:0,characters:0,bytes:0}),d=St({lines:0,characters:0,bytes:0}),h=is(()=>{if(!o.value||!l.value)return 0;const e=new Blob([o.value]).size,t=new Blob([l.value]).size;return Math.round((e-t)/e*100)}),p=()=>{switch(i.value){case"javascript":return'function hello() {\nconsole.log("Hello World!");\n}';case"html":return"\n\n\nTitle\n\n\n

Hello World!

\n\n";case"css":return"body {\nmargin: 0;\npadding: 0;\nfont-family: Arial, sans-serif;\n}";default:return"请输入代码..."}},f=()=>{const e=o.value;u.value={lines:e?e.split("\n").length:0,characters:e.length,bytes:new Blob([e]).size}},m=()=>{const e=l.value;d.value={lines:e?e.split("\n").length:0,characters:e.length,bytes:new Blob([e]).size}},g=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(1))+" "+["B","KB","MB"][t]},y=()=>{l.value="",m(),t("已清空输出")},v=()=>{const e=document.createElement("input");e.type="file",e.accept=".js,.html,.css,.txt,.json,.xml,.vue,.ts,.jsx,.tsx",e.onchange=e=>{const n=e.target.files?.[0];if(!n)return;const r=n.name.split(".").pop()?.toLowerCase();if(r)switch(r){case"js":case"jsx":case"ts":case"tsx":case"json":i.value="javascript";break;case"html":case"htm":case"vue":case"xml":i.value="html";break;case"css":case"scss":case"sass":case"less":i.value="css"}const s=new FileReader;s.onload=e=>{const a=e.target?.result;o.value=a,f(),t(`已导入文件: ${n.name}`)},s.onerror=()=>{a("文件读取失败")},s.readAsText(n)},e.click()},b=async()=>{if(!l.value)return void a("没有可复制的内容");await n(l.value)?t("已复制到剪贴板"):a("复制失败")},w=()=>{if(!l.value)return void a("没有可下载的内容");const e="javascript"===i.value?"js":i.value;r(l.value,"formatted_code",e),t("文件下载已开始")},x=async()=>{if(o.value.trim())try{let a="";const n=parseInt(c.value.indentSize),r="tabs"===c.value.indentType;if("html"===i.value)try{a=fR.html(o.value,{indent_size:r?1:n,indent_char:r?"\t":" ",max_preserve_newlines:2,preserve_newlines:!0,wrap_line_length:120,indent_inner_html:!0,indent_scripts:"keep",end_with_newline:!1,extra_liners:["head","body","/html"]})}catch(e){a=k(o.value,n,r)}else if("css"===i.value)try{a=await jj(o.value,{parser:"css",plugins:[Jj],tabWidth:n,useTabs:r,semi:!0,singleQuote:!1,printWidth:120})}catch(e){a=_(o.value,n,r)}else try{a=await jj(o.value,{parser:"babel",plugins:[Gj],tabWidth:n,useTabs:r,semi:!0,singleQuote:!0,trailingComma:"es5",bracketSpacing:!0,arrowParens:"avoid",printWidth:120})}catch(e){a=E(o.value,n,r)}l.value=a,m(),t("代码格式化完成")}catch(e){console.error("格式化错误:",e);const t=e.message;t.includes("languages")?a("格式化失败: 代码格式化器初始化错误,请刷新页面重试"):a(`格式化失败: ${t}`)}else a("请输入代码")},k=(e,t,a)=>{const n=a?"\t":" ".repeat(t);let r="",s=0;const i=e.split(/>\s*{t>0&&(e="<"+e),t"),e.includes("")||s++}),r.trim()},_=(e,t,a)=>{const n=a?"\t":" ".repeat(t);return e.replace(/\s*{\s*/g," {\n"+n).replace(/;\s*/g,";\n"+n).replace(/\s*}\s*/g,"\n}\n").replace(/,\s*/g,",\n").trim()},E=(e,t,a)=>{const n=a?"\t":" ".repeat(t);let r="",s=0;for(let i=0;i{if(o.value.trim())try{let e="";e="html"===i.value?o.value.replace(//g,"").replace(/\s+/g," ").replace(/>\s+<").trim():"css"===i.value?o.value.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*;\s*/g,";").replace(/\s*:\s*/g,":").replace(/\s*,\s*/g,",").trim():o.value.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*,\s*/g,",").replace(/\s*;\s*/g,";").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").trim(),l.value=e,m(),t("代码压缩完成")}catch(e){a("压缩失败")}else a("请输入代码")},F=async()=>{if(o.value.trim())try{let s=!1,l="";if("javascript"===i.value)try{new Function(o.value),s=!0}catch(e){try{await jj(o.value,{parser:"babel",plugins:[Gj],printWidth:80,tabWidth:2,useTabs:!1,semi:!0,singleQuote:!0}),s=!0}catch(n){l=e.message}}else if("html"===i.value)try{const e=(new DOMParser).parseFromString(o.value,"text/html");0===e.querySelectorAll("parsererror").length?s=!0:l="HTML 语法错误"}catch(r){l=r.message}else if("css"===i.value)try{const e=document.createElement("style");e.textContent=o.value,document.head.appendChild(e),document.head.removeChild(e),s=!0}catch(r){l=r.message}s?t("代码验证通过"):a(`代码验证失败: ${l}`)}catch(r){console.error("验证错误:",r),a("代码验证失败: 验证器错误")}else a("请输入代码")};return o.value&&f(),l.value&&m(),(e,t)=>(Cr(),Tr("div",mR,[Or(hl,{title:s.value,onBack:t[1]||(t[1]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",gR,[ca(Mr("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>i.value=e),class:"language-select"},[...t[6]||(t[6]=[Mr("option",{value:"javascript"},"JavaScript",-1),Mr("option",{value:"html"},"HTML",-1),Mr("option",{value:"css"},"CSS",-1)])],512),[[_i,i.value]])]),Or(jl,{icon:"copy",tooltip:"复制结果",onClick:b,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空结果",onClick:y,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载结果",onClick:w,disabled:!l.value},null,8,["disabled"])]),_:1},8,["title"]),Mr("div",yR,[Mr("div",vR,[Mr("div",bR,[Mr("div",wR,[t[10]||(t[10]=Mr("h3",null,"代码输入",-1)),Mr("div",xR,[Mr("div",kR,[t[9]||(t[9]=Mr("label",null,"缩进:",-1)),ca(Mr("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>c.value.indentType=e),class:"config-select"},[...t[7]||(t[7]=[Mr("option",{value:"spaces"},"空格",-1),Mr("option",{value:"tabs"},"制表符",-1)])],512),[[_i,c.value.indentType]]),ca(Mr("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>c.value.indentSize=e),class:"config-select"},[...t[8]||(t[8]=[Mr("option",{value:"2"},"2",-1),Mr("option",{value:"4"},"4",-1),Mr("option",{value:"8"},"8",-1)])],512),[[_i,c.value.indentSize]])]),Mr("div",_R,[Mr("button",{class:"operation-btn format-btn",onClick:x,disabled:!o.value.trim()}," 格式化 ",8,ER),Mr("button",{class:"operation-btn minify-btn",onClick:C,disabled:!o.value.trim()}," 压缩 ",8,CR),Mr("button",{class:"operation-btn validate-btn",onClick:F,disabled:!o.value.trim()}," 验证 ",8,FR)]),Mr("button",{class:"import-btn",onClick:v}," 导入文件 ")])]),Mr("div",DR,[ca(Mr("textarea",{"onUpdate:modelValue":t[4]||(t[4]=e=>o.value=e),placeholder:p(),class:"code-input",onInput:f},null,40,AR),[[bi,o.value]]),o.value?(Cr(),Tr("div",TR,[(Cr(!0),Tr(br,null,yn(o.value.split("\n"),(e,t)=>(Cr(),Tr("div",{key:t,class:"line-number"},se(t+1),1))),128))])):Rr("",!0)]),Mr("div",SR,[Mr("div",IR,[Mr("span",PR,se(u.value.lines)+" 行",1),Mr("span",NR,se(u.value.characters)+" 字符",1),Mr("span",BR,se(g(u.value.bytes)),1)])])]),t[14]||(t[14]=Mr("div",{class:"divider"},null,-1)),Mr("div",MR,[t[13]||(t[13]=Mr("div",{class:"section-header"},[Mr("h3",null,"处理结果")],-1)),Mr("div",OR,[l.value?ca((Cr(),Tr("textarea",{key:0,"onUpdate:modelValue":t[5]||(t[5]=e=>l.value=e),class:"code-output",readonly:""},null,512)),[[bi,l.value]]):(Cr(),Tr("div",UR,[...t[11]||(t[11]=[Lr('

等待处理

选择下方的操作按钮来处理代码

',1)])])),l.value?(Cr(),Tr("div",jR,[(Cr(!0),Tr(br,null,yn(l.value.split("\n"),(e,t)=>(Cr(),Tr("div",{key:t,class:"line-number"},se(t+1),1))),128))])):Rr("",!0)]),l.value?(Cr(),Tr("div",LR,[Mr("div",RR,[Mr("span",zR,se(d.value.lines)+" 行",1),Mr("span",HR,se(d.value.characters)+" 字符",1),0!==h.value?(Cr(),Tr("span",YR,se(h.value>0?"减少":"增加")+" "+se(Math.abs(h.value))+"% ",1)):Rr("",!0)])])):(Cr(),Tr("div",$R,[...t[12]||(t[12]=[Mr("div",{class:"stats-info"},[Mr("span",{class:"stat-item"},"等待处理结果")],-1)])]))])]),t[15]||(t[15]=Lr('
格式化:美化代码结构,统一缩进和换行
压缩:移除空格和注释,减小文件体积
验证:检查代码语法是否正确
',1))])]))}}),WR=Wi(GR,[["__scopeId","data-v-1f23f000"]]);var VR,KR,JR={};var qR,ZR={},XR={};function QR(){if(qR)return XR;let e;qR=1;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return XR.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return 4*e+17},XR.getSymbolTotalCodewords=function(e){return t[e]},XR.getBCHDigit=function(e){let t=0;for(;0!==e;)t++,e>>>=1;return t},XR.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');e=t},XR.isKanjiModeEnabled=function(){return void 0!==e},XR.toSJIS=function(t){return e(t)},XR}var ez,tz,az,nz,rz,sz={};function iz(){return ez||(ez=1,(e=sz).L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2},e.isValid=function(e){return e&&void 0!==e.bit&&e.bit>=0&&e.bit<4},e.from=function(t,a){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(XN){return a}}),sz;var e}var oz,lz={};var cz,uz={};var dz,hz={};var pz,fz={};function mz(){if(pz)return fz;pz=1;const e=iz(),t=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],a=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return fz.getBlocksCount=function(a,n){switch(n){case e.L:return t[4*(a-1)+0];case e.M:return t[4*(a-1)+1];case e.Q:return t[4*(a-1)+2];case e.H:return t[4*(a-1)+3];default:return}},fz.getTotalCodewordsCount=function(t,n){switch(n){case e.L:return a[4*(t-1)+0];case e.M:return a[4*(t-1)+1];case e.Q:return a[4*(t-1)+2];case e.H:return a[4*(t-1)+3];default:return}},fz}var gz,yz,vz,bz,wz={},xz={};function kz(){return yz||(yz=1,function(e){const t=function(){if(gz)return xz;gz=1;const e=new Uint8Array(512),t=new Uint8Array(256);return function(){let a=1;for(let n=0;n<255;n++)e[n]=a,t[a]=n,a<<=1,256&a&&(a^=285);for(let t=255;t<512;t++)e[t]=e[t-255]}(),xz.log=function(e){if(e<1)throw new Error("log("+e+")");return t[e]},xz.exp=function(t){return e[t]},xz.mul=function(a,n){return 0===a||0===n?0:e[t[a]+t[n]]},xz}();e.mul=function(e,a){const n=new Uint8Array(e.length+a.length-1);for(let r=0;r=0;){const e=n[0];for(let s=0;s=1&&e<=40}),Fz}var Az,Tz,Sz,Iz={};function Pz(){if(Az)return Iz;Az=1;const e="[0-9]+";let t="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";t=t.replace(/u/g,"\\u");const a="(?:(?![A-Z0-9 $%*+\\-./:]|"+t+")(?:.|[\r\n]))+";Iz.KANJI=new RegExp(t,"g"),Iz.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),Iz.BYTE=new RegExp(a,"g"),Iz.NUMERIC=new RegExp(e,"g"),Iz.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const n=new RegExp("^"+t+"$"),r=new RegExp("^"+e+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return Iz.testKanji=function(e){return n.test(e)},Iz.testNumeric=function(e){return r.test(e)},Iz.testAlphanumeric=function(e){return s.test(e)},Iz}function Nz(){return Tz||(Tz=1,function(e){const t=Dz(),a=Pz();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,a){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!t.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?e.ccBits[0]:a<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return a.testNumeric(t)?e.NUMERIC:a.testAlphanumeric(t)?e.ALPHANUMERIC:a.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},e.isValid=function(e){return e&&e.bit&&e.ccBits},e.from=function(t,a){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(XN){return a}}}(Cz)),Cz}function Bz(){return Sz||(Sz=1,function(e){const t=QR(),a=mz(),n=iz(),r=Nz(),s=Dz(),i=t.getBCHDigit(7973);function o(e,t){return r.getCharCountIndicator(e,t)+4}function l(e,t){let a=0;return e.forEach(function(e){const n=o(e.mode,t);a+=n+e.getBitsLength()}),a}e.from=function(e,t){return s.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,n,i){if(!s.isValid(e))throw new Error("Invalid QR Code version");void 0===i&&(i=r.BYTE);const l=8*(t.getSymbolTotalCodewords(e)-a.getTotalCodewordsCount(e,n));if(i===r.MIXED)return l;const c=l-o(i,e);switch(i){case r.NUMERIC:return Math.floor(c/10*3);case r.ALPHANUMERIC:return Math.floor(c/11*2);case r.KANJI:return Math.floor(c/13);case r.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(t,a){let s;const i=n.from(a,n.M);if(Array.isArray(t)){if(t.length>1)return function(t,a){for(let n=1;n<=40;n++)if(l(t,n)<=e.getCapacity(n,a,r.MIXED))return n}(t,i);if(0===t.length)return 1;s=t[0]}else s=t;return function(t,a,n){for(let r=1;r<=40;r++)if(a<=e.getCapacity(r,n,t))return r}(s.mode,s.getLength(),i)},e.getEncodedBits=function(e){if(!s.isValid(e)||e<7)throw new Error("Invalid QR Code version");let a=e<<12;for(;t.getBCHDigit(a)-i>=0;)a^=7973<0&&(a=this.data.substr(t),n=parseInt(a,10),e.put(n,3*r+1))},Uz=t}(),n=function(){if(Rz)return Lz;Rz=1;const e=Nz(),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function a(t){this.mode=e.ALPHANUMERIC,this.data=t}return a.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(e){let a;for(a=0;a+2<=this.data.length;a+=2){let n=45*t.indexOf(this.data[a]);n+=t.indexOf(this.data[a+1]),e.put(n,11)}this.data.length%2&&e.put(t.indexOf(this.data[a]),6)},Lz=a}(),r=function(){if(Hz)return zz;Hz=1;const e=Nz();function t(t){this.mode=e.BYTE,this.data="string"==typeof t?(new TextEncoder).encode(t):new Uint8Array(t)}return t.getBitsLength=function(e){return 8*e},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(e){for(let t=0,a=this.data.length;t=33088&&n<=40956)n-=33088;else{if(!(n>=57408&&n<=60351))throw new Error("Invalid SJIS character: "+this.data[a]+"\nMake sure your charset is UTF-8");n-=49472}n=192*(n>>>8&255)+(255&n),e.put(n,13)}},Yz=a}(),i=Pz(),o=QR(),l=function(){return Wz?Jz.exports:(Wz=1,e={single_source_shortest_paths:function(t,a,n){var r={},s={};s[a]=0;var i,o,l,c,u,d,h,p=e.PriorityQueue.make();for(p.push(a,0);!p.empty();)for(l in o=(i=p.pop()).value,c=i.cost,u=t[o]||{})u.hasOwnProperty(l)&&(d=c+u[l],h=s[l],(void 0===s[l]||h>d)&&(s[l]=d,p.push(l,d),r[l]=o));if(void 0!==n&&void 0===s[n]){var f=["Could not find a path from ",a," to ",n,"."].join("");throw new Error(f)}return r},extract_shortest_path_from_predecessor_list:function(e,t){for(var a=[],n=t;n;)a.push(n),e[n],n=e[n];return a.reverse(),a},find_path:function(t,a,n){var r=e.single_source_shortest_paths(t,a,n);return e.extract_shortest_path_from_predecessor_list(r,n)},PriorityQueue:{make:function(t){var a,n=e.PriorityQueue,r={};for(a in t=t||{},n)n.hasOwnProperty(a)&&(r[a]=n[a]);return r.queue=[],r.sorter=t.sorter||n.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var a={value:e,cost:t};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}},Jz.exports=e);var e}();function c(e){return unescape(encodeURIComponent(e)).length}function u(e,t,a){const n=[];let r;for(;null!==(r=e.exec(a));)n.push({data:r[0],index:r.index,mode:t,length:r[0].length});return n}function d(e){const a=u(i.NUMERIC,t.NUMERIC,e),n=u(i.ALPHANUMERIC,t.ALPHANUMERIC,e);let r,s;o.isKanjiModeEnabled()?(r=u(i.BYTE,t.BYTE,e),s=u(i.KANJI,t.KANJI,e)):(r=u(i.BYTE_KANJI,t.BYTE,e),s=[]);return a.concat(n,r,s).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function h(e,i){switch(i){case t.NUMERIC:return a.getBitsLength(e);case t.ALPHANUMERIC:return n.getBitsLength(e);case t.KANJI:return s.getBitsLength(e);case t.BYTE:return r.getBitsLength(e)}}function p(e,i){let l;const c=t.getBestModeForData(e);if(l=t.from(i,c),l!==t.BYTE&&l.bit=0?e[e.length-1]:null;return a&&a.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}(u))},e.rawSplit=function(t){return e.fromArray(d(t,o.isKanjiModeEnabled()))}}(Gz)),Gz}function Zz(){if(Kz)return ZR;Kz=1;const e=QR(),t=iz(),a=function(){if(az)return tz;function e(){this.buffer=[],this.length=0}return az=1,e.prototype={get:function(e){const t=Math.floor(e/8);return 1==(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(let a=0;a>>t-a-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},tz=e}(),n=function(){if(rz)return nz;function e(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}return rz=1,e.prototype.set=function(e,t,a,n){const r=e*this.size+t;this.data[r]=a,n&&(this.reservedBit[r]=!0)},e.prototype.get=function(e,t){return this.data[e*this.size+t]},e.prototype.xor=function(e,t,a){this.data[e*this.size+t]^=a},e.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},nz=e}(),r=(oz||(oz=1,function(e){const t=QR().getSymbolSize;e.getRowColCoords=function(e){if(1===e)return[];const a=Math.floor(e/7)+2,n=t(e),r=145===n?26:2*Math.ceil((n-13)/(2*a-2)),s=[n-7];for(let t=1;t=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){const a=e.size;let n=0,r=0,s=0,i=null,o=null;for(let l=0;l=5&&(n+=t+(r-5)),i=a,r=1),a=e.get(c,l),a===o?s++:(s>=5&&(n+=t+(s-5)),o=a,s=1)}r>=5&&(n+=t+(r-5)),s>=5&&(n+=t+(s-5))}return n},e.getPenaltyN2=function(e){const t=e.size;let n=0;for(let a=0;a=10&&(1488===r||93===r)&&a++,s=s<<1&2047|e.get(i,n),i>=10&&(1488===s||93===s)&&a++}return a*n},e.getPenaltyN4=function(e){let t=0;const a=e.data.length;for(let n=0;n0){const e=new Uint8Array(this.degree);return e.set(n,r),e}return n},vz=t}(),c=Bz(),u=function(){if(Mz)return Oz;Mz=1;const e=QR(),t=e.getBCHDigit(1335);return Oz.getEncodedBits=function(a,n){const r=a.bit<<3|n;let s=r<<10;for(;e.getBCHDigit(s)-t>=0;)s^=1335<>s&1),s<6?e.set(s,8,i,!0):s<8?e.set(s+1,8,i,!0):e.set(n-15+s,8,i,!0),s<8?e.set(8,n-s-1,i,!0):s<9?e.set(8,15-s-1+1,i,!0):e.set(8,15-s-1,i,!0);e.set(n-8,8,1,!0)}function f(t,n,r){const s=new a;r.forEach(function(e){s.put(e.mode.bit,4),s.put(e.getLength(),d.getCharCountIndicator(e.mode,t)),e.write(s)});const i=8*(e.getSymbolTotalCodewords(t)-o.getTotalCodewordsCount(t,n));for(s.getLengthInBits()+4<=i&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(0);const c=(i-s.getLengthInBits())/8;for(let e=0;e=0&&n<=6&&(0===r||6===r)||r>=0&&r<=6&&(0===n||6===n)||n>=2&&n<=4&&r>=2&&r<=4?e.set(t+n,s+r,!0,!0):e.set(t+n,s+r,!1,!0))}}(y,a),function(e){const t=e.size;for(let a=8;a=7&&function(e,t){const a=e.size,n=c.getEncodedBits(t);let r,s,i;for(let o=0;o<18;o++)r=Math.floor(o/3),s=o%3+a-8-3,i=1==(n>>o&1),e.set(r,s,i,!0),e.set(s,r,i,!0)}(y,a),function(e,t){const a=e.size;let n=-1,r=a-1,s=7,i=0;for(let o=a-1;o>0;o-=2)for(6===o&&o--;;){for(let a=0;a<2;a++)if(!e.isReserved(r,o-a)){let n=!1;i>>s&1)),e.set(r,o-a,n),s--,-1===s&&(i++,s=7)}if(r+=n,r<0||a<=r){r-=n,n=-n;break}}}(y,m),isNaN(l)&&(l=i.getBestMask(y,p.bind(null,y,o))),i.applyMask(l,y),p(y,o,l),{modules:y,version:a,errorCorrectionLevel:o,maskPattern:l,segments:u}}return ZR.create=function(a,n){if(void 0===a||""===a)throw new Error("No input text");let r,s,o=t.M;return void 0!==n&&(o=t.from(n.errorCorrectionLevel,t.M),r=c.from(n.version),s=i.from(n.maskPattern),n.toSJISFunc&&e.setToSJISFunction(n.toSJISFunc)),m(a,r,o,s)},ZR}var Xz,Qz,eH={},tH={};function aH(){return Xz||(Xz=1,function(e){function t(e){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||5===t.length||t.length>8)throw new Error("Invalid hex color: "+e);3!==t.length&&4!==t.length||(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),6===t.length&&t.push("F","F");const a=parseInt(t.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:255&a,hex:"#"+t.slice(0,6).join("")}}e.getOptions=function(e){e||(e={}),e.color||(e.color={});const a=void 0===e.margin||null===e.margin||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,r=e.scale||4;return{width:n,scale:n?4:r,margin:a,color:{dark:t(e.color.dark||"#000000ff"),light:t(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+2*t.margin?t.width/(e+2*t.margin):t.scale},e.getImageWidth=function(t,a){const n=e.getScale(t,a);return Math.floor((t+2*a.margin)*n)},e.qrToImageData=function(t,a,n){const r=a.modules.size,s=a.modules.data,i=e.getScale(r,n),o=Math.floor((r+2*n.margin)*i),l=n.margin*i,c=[n.color.light,n.color.dark];for(let e=0;e=l&&a>=l&&e':"",d="0&&c>0&&e[l-1]||(r+=i?a("M",c+n,.5+u+n):a("m",s,0),s=0,i=!1),c+1',h='viewBox="0 0 '+c+" "+c+'"',p=''+u+d+"\n";return"function"==typeof s&&s(null,p),p},iH}var lH=function(){if(sH)return JR;sH=1;const e=KR?VR:(KR=1,VR=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}),t=Zz(),a=nH(),n=oH();function r(a,n,r,s,i){const o=[].slice.call(arguments,1),l=o.length,c="function"==typeof o[l-1];if(!c&&!e())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(r=n,n=s=void 0):2!==l||n.getContext||(s=r,r=n,n=void 0),new Promise(function(e,i){try{const i=t.create(r,s);e(a(i,n,s))}catch(XN){i(XN)}})}if(l<2)throw new Error("Too few arguments provided");2===l?(i=r,r=n,n=s=void 0):3===l&&(n.getContext&&void 0===i?(i=s,s=void 0):(i=s,s=r,r=n,n=void 0));try{const e=t.create(r,s);i(null,a(e,n,s))}catch(XN){i(XN)}}return JR.create=t.create,JR.toCanvas=r.bind(null,a.render),JR.toDataURL=r.bind(null,a.renderToDataURL),JR.toString=r.bind(null,function(e,t,a){return n.render(e,a)}),JR}();const cH=Ql(lH),uH={class:"qr-generator"},dH={class:"generator-content"},hH={class:"input-section"},pH={class:"section-header"},fH={class:"type-selector"},mH=["onClick"],gH={class:"type-icon"},yH={class:"type-name"},vH={class:"content-area"},bH={key:0,class:"input-form"},wH={key:1,class:"input-form"},xH={key:2,class:"input-form"},kH={class:"form-group"},_H={class:"form-group"},EH={class:"form-group"},CH={key:3,class:"input-form"},FH={class:"form-group"},DH={class:"form-group"},AH={class:"form-group"},TH={key:4,class:"input-form"},SH={class:"form-group"},IH={class:"form-group"},PH={class:"form-group"},NH={key:5,class:"input-form"},BH={class:"form-group"},MH={key:6,class:"input-form"},OH={class:"form-group"},UH={class:"form-group"},jH={key:7,class:"input-form"},LH={class:"map-selector"},RH={class:"map-header"},zH={class:"map-controls"},HH={class:"search-wrapper"},YH={key:0,class:"suggestions-dropdown"},$H=["onClick"],GH={class:"suggestion-title"},WH={class:"suggestion-address"},VH={class:"location-format-wrapper"},KH={class:"map-container"},JH={key:0,class:"map-loading"},qH={key:0,class:"location-info"},ZH={class:"location-item"},XH={class:"location-value"},QH={class:"location-item"},eY={class:"location-value"},tY={class:"settings-panel"},aY={class:"settings-section"},nY={class:"style-grid"},rY={class:"style-row"},sY={class:"style-item"},iY={class:"style-item"},oY=["value"],lY={key:0,class:"style-row"},cY={class:"style-item"},uY={class:"color-picker-wrapper"},dY={class:"style-item"},hY={class:"color-picker-wrapper"},pY={class:"style-row"},fY={class:"style-item"},mY={class:"color-picker-wrapper"},gY={class:"style-item"},yY={class:"color-picker-wrapper"},vY={class:"settings-section"},bY={class:"style-grid"},wY={class:"style-row"},xY={class:"style-item"},kY={class:"style-item"},_Y={class:"style-row"},EY={class:"style-item"},CY={class:"style-item"},FY={class:"settings-section"},DY={class:"logo-controls"},AY={key:1,class:"logo-preview"},TY=["src"],SY={key:2,class:"logo-size-control"},IY={class:"logo-size-label"},PY={class:"preview-section"},NY={class:"section-header"},BY={class:"scan-tip"},MY={class:"preview-container"},OY={key:0,class:"qr-display"},UY={class:"qr-wrapper"},jY=["src","alt"],LY={class:"qr-info"},RY={class:"qr-content"},zY={class:"qr-stats"},HY={class:"stat-item"},YY={class:"stat-value"},$Y={class:"stat-item"},GY={class:"stat-value"},WY={class:"stat-item"},VY={class:"stat-value"},KY={key:1,class:"preview-placeholder"},JY=Ya({__name:"QrGenerator",emits:["back"],setup(e){il("qr-generator");const{success:t,error:a}=Vo(),n=is(()=>{for(const e of Object.values(Qi.cards)){const t=e.find(e=>"qr-generator"===e.id);if(t)return t.title}return"二维码生成器"}),r=[{id:"text",name:"文本",icon:"📝"},{id:"url",name:"链接",icon:"🔗"},{id:"wifi",name:"WiFi",icon:"📶"},{id:"contact",name:"联系人",icon:"👤"},{id:"email",name:"邮件",icon:"📧"},{id:"phone",name:"电话",icon:"📞"},{id:"sms",name:"短信",icon:"💬"},{id:"location",name:"位置",icon:"📍"}],s=St("text"),i=St(""),o=St(""),l=St(""),c=St(""),u=St("WPA"),d=St(""),h=St(""),p=St(""),f=St(""),m=St(""),g=St(""),y=St(""),v=St(""),b=St(""),w=St(""),x=St(""),k=St(""),_=St("tencent"),E=St(null),C=St(""),F=St([]),D=St(!1),A=St(!1),T=St(null);let S=null;const I=St("300"),P=St("auto"),N=St("4"),B=St("#000000"),M=St("#ffffff"),O=St("M"),U=St("square");St("auto");const j=St("square"),L=St("#000000"),R=St("#000000"),z=St(""),H=St(""),Y=[{id:"square",name:"方正"},{id:"circle",name:"圆角"},{id:"thick-rounded",name:"粗圆角"},{id:"medium-rounded",name:"中圆角"},{id:"thin-rounded",name:"细圆角"},{id:"thick-circle",name:"粗圆形"},{id:"thin-circle",name:"细圆形"},{id:"diamond",name:"菱形"},{id:"star",name:"星形"},{id:"bubble",name:"气泡"},{id:"eye",name:"眼睛"},{id:"single-rounded",name:"单圆角"},{id:"four-eye",name:"四码眼"}],$=St(""),G=St(20),W=St(null),V=St(""),J=async()=>{if(E.value)try{A.value=!1;const e=await new Promise((e,t)=>{if(window.BMapGL)return void e(window.BMapGL);const a=document.createElement("script");a.src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=E4805d16520de693a3fe707cdc962045&callback=initBaiduMap",a.async=!0,window.initBaiduMap=()=>{e(window.BMapGL)},a.onerror=()=>{t(new Error("百度地图加载失败"))},document.head.appendChild(a)});T.value=new e.Map("mapContainer");const t=parseFloat(w.value),a=parseFloat(x.value),n=new e.Point(a,t);T.value.centerAndZoom(n,13),T.value.enableScrollWheelZoom(!0),T.value.addControl(new e.ZoomControl);const r=new e.Marker(n);T.value.addOverlay(r),T.value.addEventListener("click",t=>{const a=t.point,n=a.lat.toFixed(6),r=a.lng.toFixed(6);(new e.Geocoder).getLocation(a,e=>{const t=e?e.address:"选中位置";q(n,r,t)})}),A.value=!0,console.log("地图初始化完成")}catch(e){console.error("地图初始化失败:",e),A.value=!0,a("地图加载失败")}},q=(e,t,a="")=>{if(w.value=e,x.value=t,k.value=a,T.value&&window.BMapGL){T.value.clearOverlays();const a=new window.BMapGL.Point(parseFloat(t),parseFloat(e)),n=new window.BMapGL.Marker(a);T.value.addOverlay(n),T.value.centerAndZoom(a,15)}re()},Z=()=>{if(console.log("开始获取当前位置..."),t("正在获取当前位置..."),window.BMapGL&&T.value){console.log("使用百度地图定位API");const e=new window.BMapGL.Geolocation;e.getCurrentPosition(a=>{if(e.getStatus()===window.BMAP_STATUS_SUCCESS){const e=a.point.lat.toFixed(6),n=a.point.lng.toFixed(6);console.log("百度地图定位成功:",e,n);(new window.BMapGL.Geocoder).getLocation(a.point,a=>{const r=a?a.address:"当前位置";console.log("获取到地址:",r),q(e,n,r),t(`定位成功: ${r}`)})}else console.log("百度地图定位失败,尝试浏览器定位"),X()},{enableHighAccuracy:!0})}else X()},X=()=>{navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{const a=e.coords.latitude.toFixed(6),n=e.coords.longitude.toFixed(6);console.log("浏览器定位成功:",a,n),q(a,n,"当前位置"),t("定位成功")},e=>{console.error("定位失败:",e),a("定位失败,请手动选择位置")},{enableHighAccuracy:!0,timeout:3e4,maximumAge:3e5}):a("浏览器不支持地理定位")},ee=()=>{S&&clearTimeout(S),S=setTimeout(()=>{if(!C.value.trim()||!window.BMapGL||!T.value)return F.value=[],void(D.value=!1);console.log("开始搜索建议:",C.value);const e=new window.BMapGL.LocalSearch(T.value,{onSearchComplete:t=>{if(console.log("搜索完成,状态:",e.getStatus()),e.getStatus()===window.BMAP_STATUS_SUCCESS){const e=[],a=t.getNumPois();console.log("找到POI数量:",a);for(let n=0;n0,console.log("搜索建议结果:",e)}else console.log("搜索失败,状态码:",e.getStatus()),F.value=[],D.value=!1}});e.search(C.value)},500)},te=()=>{setTimeout(()=>{D.value=!1},200)},ae=async()=>{if(C.value.trim()){if(window.BMapGL&&T.value){const e=new window.BMapGL.LocalSearch(T.value,{onSearchComplete:a=>{if(e.getStatus()===window.BMAP_STATUS_SUCCESS){const e=a.getPoi(0);if(e){const a=e.point.lat.toFixed(6),n=e.point.lng.toFixed(6),r=e.title||C.value;q(a,n,r),t(`找到位置: ${r}`)}}}});e.search(C.value)}D.value=!1}},ne=()=>{switch(s.value){case"text":return i.value;case"url":return o.value;case"wifi":return`WIFI:T:${u.value};S:${l.value};P:${c.value};;`;case"contact":return`BEGIN:VCARD\nVERSION:3.0\nFN:${d.value}\nTEL:${h.value}\nEMAIL:${p.value}\nEND:VCARD`;case"email":return`mailto:${f.value}?subject=${encodeURIComponent(m.value)}&body=${encodeURIComponent(g.value)}`;case"phone":return`tel:${y.value}`;case"sms":return`sms:${v.value}?body=${encodeURIComponent(b.value)}`;case"location":const e=w.value,t=x.value,a=k.value;switch(_.value){case"geo":return a?`geo:${e},${t}?q=${e},${t}(${encodeURIComponent(a)})`:`geo:${e},${t}`;case"google":return a?`https://maps.google.com/maps?q=${e},${t}(${encodeURIComponent(a)})`:`https://maps.google.com/maps?q=${e},${t}`;case"baidu":if(a){const n=parseFloat(t),r=parseFloat(e);return`https://map.baidu.com/search/${encodeURIComponent(a)}/@${t},${e},15z?querytype=s&da_src=shareurl&wd=${encodeURIComponent(a)}&c=1&src=0&pn=0&sug=0&l=15&b=(${n-.01},${r-.01};${n+.01},${r+.01})&from=webmap&biz_forward=%7B%22scaler%22:1,%22styles%22:%22pl%22%7D`}return`https://map.baidu.com/@${t},${e},15z`;case"amap":return a?`https://uri.amap.com/marker?position=${t},${e}&name=${encodeURIComponent(a)}`:`https://uri.amap.com/marker?position=${t},${e}`;case"tencent":return a?`https://apis.map.qq.com/uri/v1/marker?marker=coord:${e},${t};title:${encodeURIComponent(a)}`:`https://apis.map.qq.com/uri/v1/marker?marker=coord:${e},${t}`;case"text":return a?`位置:${a}\n纬度:${e}\n经度:${t}`:`纬度:${e}\n经度:${t}`;default:return`geo:${e},${t}`}default:return""}},re=async()=>{const e=ne();if(!("location"!==s.value||w.value&&x.value))return V.value="",z.value="",void(H.value="");if(!e.trim())return V.value="",z.value="",void(H.value="");z.value=e.length>20?e.substring(0,20)+"...":e,H.value=e.length.toString();try{if(console.log("dotStyle:",U.value,"eyePattern:",j.value),"square"!==U.value||"square"!==j.value)console.log("使用自定义绘制"),V.value=await ie(e);else{console.log("使用标准绘制");const t={width:parseInt(I.value),margin:parseInt(N.value),errorCorrectionLevel:O.value,version:"auto"===P.value?void 0:parseInt(P.value),color:{dark:B.value,light:M.value}},a=await cH.toDataURL(e,t);$.value?V.value=await be(a):V.value=a}}catch(t){console.error("生成二维码失败:",t),a("生成二维码失败")}},ie=async e=>{const t=(await cH.create(e,{errorCorrectionLevel:O.value,version:"auto"===P.value?void 0:parseInt(P.value)})).modules,a=t.size,n=parseInt(I.value),r=parseInt(N.value),s=n/(a+2*r),i=r*s,o=document.createElement("canvas");o.width=n,o.height=n;const l=o.getContext("2d");if(!l)throw new Error("无法获取canvas上下文");if(l.fillStyle=M.value,l.fillRect(0,0,n,n),l.fillStyle=B.value,"liquid"===U.value)ge(l,t,a,i,s);else for(let c=0;ce<7&&t<7||(e<7&&t>=a-7||e>=a-7&&t<7),le=(e,t,a)=>0===e&&0===t||(0===e&&t===a-7||e===a-7&&0===t),ce=(e,t,a,n,r)=>{const s=n,i=5*n/7,o=3*n/7,l=(s-i)/2,c=(s-o)/2;switch(e.fillStyle=B.value,r){case"square":case"four-eye":default:e.fillRect(t,a,s,s),e.fillStyle=M.value,e.fillRect(t+l,a+l,i,i),e.fillStyle=B.value,e.fillRect(t+c,a+c,o,o);break;case"circle":de(e,t,a,s,s,.2*s),e.fillStyle=M.value,de(e,t+l,a+l,i,i,.2*i),e.fillStyle=B.value,e.beginPath(),e.arc(t+s/2,a+s/2,o/2,0,2*Math.PI),e.fill();break;case"thick-rounded":ue(e,t,a,s,i,o,.25);break;case"medium-rounded":ue(e,t,a,s,i,o,.15);break;case"thin-rounded":ue(e,t,a,s,i,o,.08);break;case"thick-circle":e.beginPath(),e.arc(t+s/2,a+s/2,s/2,0,2*Math.PI),e.fill(),e.fillStyle=M.value,e.beginPath(),e.arc(t+s/2,a+s/2,i/2,0,2*Math.PI),e.fill(),e.fillStyle=B.value,e.beginPath(),e.arc(t+s/2,a+s/2,o/2,0,2*Math.PI),e.fill();break;case"thin-circle":e.beginPath(),e.arc(t+s/2,a+s/2,s/2,0,2*Math.PI),e.fill(),e.fillStyle=M.value,e.beginPath(),e.arc(t+s/2,a+s/2,i/2,0,2*Math.PI),e.fill(),e.fillStyle=B.value,e.beginPath(),e.arc(t+s/2,a+s/2,.6*o,0,2*Math.PI),e.fill();break;case"diamond":e.beginPath(),e.arc(t+s/2,a+s/2,s/2,0,2*Math.PI),e.fill(),e.fillStyle=M.value,e.beginPath(),e.arc(t+s/2,a+s/2,i/2,0,2*Math.PI),e.fill(),e.fillStyle=B.value,e.beginPath();const n=o/2;e.moveTo(t+s/2,a+s/2-n),e.lineTo(t+s/2+n,a+s/2),e.lineTo(t+s/2,a+s/2+n),e.lineTo(t+s/2-n,a+s/2),e.closePath(),e.fill();break;case"star":const r=t+s/2,u=a+s/2;e.beginPath(),e.arc(r,u,s/2,0,2*Math.PI),e.fill(),e.fillStyle=M.value,e.beginPath(),e.arc(r,u,i/2,0,2*Math.PI),e.fill(),e.fillStyle=B.value;const d=o/2,h=.35*d;e.beginPath(),e.moveTo(r,u-d),e.quadraticCurveTo(r+h,u-h,r+d,u),e.quadraticCurveTo(r+h,u+h,r,u+d),e.quadraticCurveTo(r-h,u+h,r-d,u),e.quadraticCurveTo(r-h,u-h,r,u-d),e.closePath(),e.fill();break;case"bubble":he(e,t,a,s,i,o);break;case"eye":console.log("绘制眼睛形状"),fe(e,t,a,s,i,o);break;case"single-rounded":e.fillRect(t,a,s,s),e.fillStyle=M.value,e.fillRect(t+l,a+l,i,i),e.fillStyle=B.value,e.fillRect(t+c,a+c,o,o),e.fillStyle=M.value,e.fillRect(t,a,.2*s,.2*s),e.fillStyle=B.value,e.beginPath(),e.arc(t+.2*s,a+.2*s,.2*s,Math.PI,1.5*Math.PI),e.fill()}},ue=(e,t,a,n,r,s,i)=>{const o=(n-r)/2,l=(n-s)/2;e.fillStyle=B.value,de(e,t,a,n,n,n*i),e.fillStyle=M.value,de(e,t+o,a+o,r,r,r*i),e.fillStyle=B.value,de(e,t+l,a+l,s,s,s*i)},de=(e,t,a,n,r,s)=>{e.beginPath(),e.moveTo(t+s,a),e.lineTo(t+n-s,a),e.quadraticCurveTo(t+n,a,t+n,a+s),e.lineTo(t+n,a+r-s),e.quadraticCurveTo(t+n,a+r,t+n-s,a+r),e.lineTo(t+s,a+r),e.quadraticCurveTo(t,a+r,t,a+r-s),e.lineTo(t,a+s),e.quadraticCurveTo(t,a,t+s,a),e.closePath(),e.fill()},he=(e,t,a,n,r,s)=>{const i=(n-r)/2,o=(n-s)/2;let l=0,c="unknown";t<100&&a<100?(l=Math.PI,c="左上角"):t>150&&a<100?(l=Math.PI/2,c="右上角"):t<100&&a>150&&(l=3*Math.PI/2,c="左下角"),console.log(`气泡定位点位置: ${c}, 坐标: (${t}, ${a}), 旋转角度: ${180*l/Math.PI}度`),e.fillStyle=B.value,pe(e,t,a,n,n,l),e.fillStyle=M.value,pe(e,t+i,a+i,r,r,l),e.fillStyle=B.value,pe(e,t+o,a+o,s,s,l)},pe=(e,t,a,n,r,s)=>{const i=.25*Math.min(n,r),o=t+n/2,l=a+r/2;e.save(),e.translate(o,l),e.rotate(s),e.translate(-o,-l),e.beginPath(),e.moveTo(t+i,a),e.lineTo(t+n-i,a),e.quadraticCurveTo(t+n,a,t+n,a+i),e.lineTo(t+n,a+r-i),e.quadraticCurveTo(t+n,a+r,t+n-i,a+r),e.lineTo(t,a+r),e.lineTo(t,a+i),e.quadraticCurveTo(t,a,t+i,a),e.closePath(),e.fill(),e.restore()},fe=(e,t,a,n,r,s)=>{console.log("drawRealisticEye被调用",{x:t,y:a,outerSize:n,middleSize:r,innerSize:s});const i=(n-r)/2,o=(n-s)/2;let l=0,c="unknown";t<100&&a<100?(l=0,c="左上角"):t>150&&a<100?(l=Math.PI/2,c="右上角"):t<100&&a>150&&(l=-Math.PI/2,c="左下角"),console.log(`定位点位置: ${c}, 坐标: (${t}, ${a}), 旋转角度: ${180*l/Math.PI}度`),e.fillStyle=B.value,me(e,t,a,n,n,l),e.fillStyle=M.value,me(e,t+i,a+i,r,r,l),e.fillStyle=B.value,me(e,t+o,a+o,s,s,l)},me=(e,t,a,n,r,s)=>{const i=.3*Math.min(n,r),o=t+n/2,l=a+r/2;e.save(),e.translate(o,l),e.rotate(s),e.translate(-o,-l),e.beginPath(),e.moveTo(t,a),e.lineTo(t+n-i,a),e.quadraticCurveTo(t+n,a,t+n,a+i),e.lineTo(t+n,a+r),e.lineTo(t+i,a+r),e.quadraticCurveTo(t,a+r,t,a+r-i),e.lineTo(t,a),e.closePath(),e.fill(),e.restore()},ge=(e,t,a,n,r)=>{e.fillStyle=B.value,new Path2D;for(let s=0;s{const l=t+n/2,c=a+n/2,u=[];for(let p=-1;p<=1;p++)for(let e=-1;e<=1;e++){if(0===p&&0===e)continue;const t=r+p,a=s+e;t>=0&&t=0&&a7*Math.PI/4)&&(e+=.4)}const t=d*(e+.1*Math.sin(3*p+.5*r+.7*s));h.push({x:l+t*Math.cos(p),y:c+t*Math.sin(p)})}if(h.length>0){e.moveTo(h[0].x,h[0].y);for(let t=0;t{if(e.fillStyle=B.value,"square"===r)return void e.fillRect(t,a,n,n);const s=.9*n,i=(n-s)/2,o=t+n/2,l=a+n/2,c=s/2;switch(r){case"circle":e.beginPath(),e.arc(o,l,c,0,2*Math.PI),e.fill();break;case"rounded":de(e,t+i,a+i,s,s,.3*s);break;case"diamond":e.beginPath(),e.moveTo(o,a+i),e.lineTo(t+n-i,l),e.lineTo(o,a+n-i),e.lineTo(t+i,l),e.closePath(),e.fill();break;case"dot":e.beginPath(),e.arc(o,l,.7*c,0,2*Math.PI),e.fill();break;case"star":const r=c,u=.3*r;e.beginPath(),e.moveTo(o,l-r),e.quadraticCurveTo(o+u,l-u,o+r,l),e.quadraticCurveTo(o+u,l+u,o,l+r),e.quadraticCurveTo(o-u,l+u,o-r,l),e.quadraticCurveTo(o-u,l-u,o,l-r),e.closePath(),e.fill();break;case"horizontal":e.fillRect(t+i,l-.4*c,s,.8*c);break;case"vertical":e.fillRect(o-.4*c,a+i,.8*c,s);break;case"liquid":e.beginPath();for(let n=0;n<2*Math.PI;n+=.3){const r=c*(.7+.3*Math.sin(3*n+t+a)),s=o+r*Math.cos(n),i=l+r*Math.sin(n);0===n?e.moveTo(s,i):e.lineTo(s,i)}e.closePath(),e.fill();break;case"tile":const d=s/2;e.fillRect(t+i,a+i,d,d),e.fillRect(t+i+d,a+i+d,d,d);break;case"grid":const h=s/3;for(let n=0;n<3;n++)for(let r=0;r<3;r++)(n+r)%2==0&&e.fillRect(t+i+n*h,a+i+r*h,h,h);break;case"small-square":const p=.6*s;e.fillRect(o-p/2,l-p/2,p,p);break;default:e.fillRect(t,a,n,n)}},be=async e=>new Promise((t,a)=>{const n=document.createElement("canvas"),r=n.getContext("2d");if(!r)return void a(new Error("无法获取canvas上下文"));const s=new Image;s.onload=()=>{const e=parseInt(I.value);n.width=e,n.height=e,r.drawImage(s,0,0,e,e);const i=new Image;i.onload=()=>{const a=e*G.value/100,s=(e-a)/2,o=(e-a)/2,l=.1*a;r.fillStyle=M.value,r.fillRect(s-l,o-l,a+2*l,a+2*l),r.drawImage(i,s,o,a,a),t(n.toDataURL("image/png"))},i.onerror=()=>a(new Error("Logo加载失败")),i.src=$.value},s.onerror=()=>a(new Error("二维码加载失败")),s.src=e}),we=()=>{W.value?.click()},xe=e=>{const n=e.target,r=n.files?.[0];if(!r)return;if(!r.type.startsWith("image/"))return void a("请上传图片文件");if(r.size>5242880)return void a("图片文件不能超过5MB");const s=new FileReader;s.onload=e=>{$.value=e.target?.result,re(),t("Logo已上传")},s.onerror=()=>{a("Logo上传失败")},s.readAsDataURL(r)},ke=()=>{$.value="",W.value&&(W.value.value=""),re(),t("Logo已移除")},_e=()=>{if(!V.value)return;const e=document.createElement("a");e.download=`qrcode-${Date.now()}.png`,e.href=V.value,e.click(),t("二维码已下载")},Ee=async()=>{if(V.value)try{const e=await fetch(V.value),a=await e.blob();await navigator.clipboard.write([new ClipboardItem({"image/png":a})]),t("二维码已复制到剪贴板")}catch(e){a("复制失败")}},Ce=()=>{switch(s.value){case"text":case"url":return"使用任意二维码扫描应用或手机相机扫描";case"wifi":return"使用手机相机或支持WiFi连接的扫描应用扫描";case"contact":return"使用手机相机扫描,可直接添加到通讯录";case"email":return"使用手机扫描,会自动打开邮件应用";case"phone":return"使用手机扫描,会自动拨打电话";case"sms":return"使用手机扫描,会自动打开短信应用";case"location":switch(_.value){case"tencent":return"使用微信扫描,会在腾讯地图中显示位置";case"baidu":return"使用百度APP扫描,会在百度地图中显示位置";case"amap":return"使用支付宝扫描,会在高德地图中显示位置";case"google":return"使用手机相机扫描,会在谷歌地图中显示位置";case"geo":return"使用手机相机扫描,会在默认地图应用中显示位置";case"text":return"使用任意扫描应用,会显示位置文本信息";default:return"使用手机相机或地图应用扫描"}default:return"使用手机相机或二维码扫描应用扫描"}},Fe=()=>{switch(O.value){case"L":return"低 (7%)";case"M":default:return"中 (15%)";case"Q":return"高 (25%)";case"H":return"最高 (30%)"}},De=()=>{const e=ne();try{window.open(e,"_blank"),t("已尝试打开链接")}catch(n){a("无法打开链接,请在手机上扫描二维码测试")}},Ae=()=>{i.value="",o.value="",l.value="",c.value="",u.value="WPA",d.value="",h.value="",p.value="",f.value="",m.value="",g.value="",y.value="",v.value="",b.value="",w.value="",x.value="",k.value="",_.value="tencent",$.value="",V.value="",s.value="text",P.value="auto",N.value="4",O.value="M",U.value="square",j.value="square",z.value="",H.value="",G.value=20,W.value&&(W.value.value=""),t("已清空所有内容")};return nn(()=>{i.value="欢迎使用二维码生成器!",re()}),(e,a)=>(Cr(),Tr("div",uH,[Or(hl,{title:n.value,onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"download",tooltip:"下载二维码",onClick:_e,disabled:!V.value},null,8,["disabled"]),Or(jl,{icon:"copy",tooltip:"复制二维码",onClick:Ee,disabled:!V.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:Ae})]),_:1},8,["title"]),Mr("div",dH,[Mr("div",hH,[Mr("div",pH,[a[28]||(a[28]=Mr("h3",null,"内容设置",-1)),Mr("div",fH,[(Cr(),Tr(br,null,yn(r,e=>Mr("button",{key:e.id,class:Q(["type-btn",{active:s.value===e.id}]),onClick:t=>(e=>{s.value=e,"location"===e&&(w.value&&x.value||(w.value="39.9042",x.value="116.4074",k.value="北京市"),Zt(()=>{J().then(()=>{setTimeout(()=>{Z()},1e3)})})),re()})(e.id)},[Mr("span",gH,se(e.icon),1),Mr("span",yH,se(e.name),1)],10,mH)),64))])]),Mr("div",vH,["text"===s.value?(Cr(),Tr("div",bH,[a[29]||(a[29]=Mr("label",{class:"form-label"},"文本内容",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[1]||(a[1]=e=>i.value=e),class:"form-textarea",placeholder:"请输入要生成二维码的文本内容...",onInput:re},null,544),[[bi,i.value]])])):Rr("",!0),"url"===s.value?(Cr(),Tr("div",wH,[a[30]||(a[30]=Mr("label",{class:"form-label"},"网址链接",-1)),ca(Mr("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>o.value=e),type:"url",class:"form-input",placeholder:"https://example.com",onInput:re},null,544),[[bi,o.value]])])):Rr("",!0),"wifi"===s.value?(Cr(),Tr("div",xH,[Mr("div",kH,[a[31]||(a[31]=Mr("label",{class:"form-label"},"网络名称",-1)),ca(Mr("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>l.value=e),type:"text",class:"form-input",placeholder:"WiFi名称",onInput:re},null,544),[[bi,l.value]])]),Mr("div",_H,[a[32]||(a[32]=Mr("label",{class:"form-label"},"WiFi密码",-1)),ca(Mr("input",{"onUpdate:modelValue":a[4]||(a[4]=e=>c.value=e),type:"password",class:"form-input",placeholder:"WiFi密码",onInput:re},null,544),[[bi,c.value]])]),Mr("div",EH,[a[34]||(a[34]=Mr("label",{class:"form-label"},"加密类型",-1)),ca(Mr("select",{"onUpdate:modelValue":a[5]||(a[5]=e=>u.value=e),class:"form-select",onChange:re},[...a[33]||(a[33]=[Mr("option",{value:"WPA"},"WPA/WPA2",-1),Mr("option",{value:"WEP"},"WEP",-1),Mr("option",{value:"nopass"},"无密码",-1)])],544),[[_i,u.value]])])])):Rr("",!0),"contact"===s.value?(Cr(),Tr("div",CH,[Mr("div",FH,[a[35]||(a[35]=Mr("label",{class:"form-label"},"姓名",-1)),ca(Mr("input",{"onUpdate:modelValue":a[6]||(a[6]=e=>d.value=e),type:"text",class:"form-input",placeholder:"联系人姓名",onInput:re},null,544),[[bi,d.value]])]),Mr("div",DH,[a[36]||(a[36]=Mr("label",{class:"form-label"},"电话",-1)),ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>h.value=e),type:"tel",class:"form-input",placeholder:"电话号码",onInput:re},null,544),[[bi,h.value]])]),Mr("div",AH,[a[37]||(a[37]=Mr("label",{class:"form-label"},"邮箱",-1)),ca(Mr("input",{"onUpdate:modelValue":a[8]||(a[8]=e=>p.value=e),type:"email",class:"form-input",placeholder:"邮箱地址",onInput:re},null,544),[[bi,p.value]])])])):Rr("",!0),"email"===s.value?(Cr(),Tr("div",TH,[Mr("div",SH,[a[38]||(a[38]=Mr("label",{class:"form-label"},"收件人",-1)),ca(Mr("input",{"onUpdate:modelValue":a[9]||(a[9]=e=>f.value=e),type:"email",class:"form-input",placeholder:"收件人邮箱地址",onInput:re},null,544),[[bi,f.value]])]),Mr("div",IH,[a[39]||(a[39]=Mr("label",{class:"form-label"},"主题",-1)),ca(Mr("input",{"onUpdate:modelValue":a[10]||(a[10]=e=>m.value=e),type:"text",class:"form-input",placeholder:"邮件主题",onInput:re},null,544),[[bi,m.value]])]),Mr("div",PH,[a[40]||(a[40]=Mr("label",{class:"form-label"},"内容",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[11]||(a[11]=e=>g.value=e),class:"form-textarea",placeholder:"邮件内容...",onInput:re},null,544),[[bi,g.value]])])])):Rr("",!0),"phone"===s.value?(Cr(),Tr("div",NH,[Mr("div",BH,[a[41]||(a[41]=Mr("label",{class:"form-label"},"电话号码",-1)),ca(Mr("input",{"onUpdate:modelValue":a[12]||(a[12]=e=>y.value=e),type:"tel",class:"form-input",placeholder:"请输入电话号码",onInput:re},null,544),[[bi,y.value]])])])):Rr("",!0),"sms"===s.value?(Cr(),Tr("div",MH,[Mr("div",OH,[a[42]||(a[42]=Mr("label",{class:"form-label"},"手机号码",-1)),ca(Mr("input",{"onUpdate:modelValue":a[13]||(a[13]=e=>v.value=e),type:"tel",class:"form-input",placeholder:"接收短信的手机号码",onInput:re},null,544),[[bi,v.value]])]),Mr("div",UH,[a[43]||(a[43]=Mr("label",{class:"form-label"},"短信内容",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[14]||(a[14]=e=>b.value=e),class:"form-textarea",placeholder:"短信内容...",onInput:re},null,544),[[bi,b.value]])])])):Rr("",!0),"location"===s.value?(Cr(),Tr("div",jH,[Mr("div",LH,[Mr("div",RH,[a[45]||(a[45]=Mr("label",{class:"form-label"},"选择位置",-1)),Mr("div",zH,[Mr("div",HH,[ca(Mr("input",{"onUpdate:modelValue":a[15]||(a[15]=e=>C.value=e),type:"text",class:"search-input",placeholder:"搜索地点...",onInput:ee,onKeyup:Ni(ae,["enter"]),onFocus:ee,onBlur:te},null,544),[[bi,C.value]]),D.value&&F.value.length>0?(Cr(),Tr("div",YH,[(Cr(!0),Tr(br,null,yn(F.value,(e,a)=>(Cr(),Tr("div",{key:a,class:"suggestion-item",onClick:a=>(e=>{const a=e.point.lat.toFixed(6),n=e.point.lng.toFixed(6),r=e.title;q(a,n,r),C.value=e.title,D.value=!1,t(`已选择位置: ${r}`)})(e)},[Mr("div",GH,se(e.title),1),Mr("div",WH,se(e.address),1)],8,$H))),128))])):Rr("",!0)]),Mr("button",{onClick:ae,class:"search-btn"},"搜索"),Mr("button",{onClick:Z,class:"location-btn"},"定位"),Mr("div",VH,[ca(Mr("select",{"onUpdate:modelValue":a[16]||(a[16]=e=>_.value=e),class:"format-select",onChange:re},[...a[44]||(a[44]=[Lr('',6)])],544),[[_i,_.value]])])])]),Mr("div",KH,[Mr("div",{ref_key:"mapContainer",ref:E,id:"mapContainer",class:"map-canvas"},null,512),A.value?Rr("",!0):(Cr(),Tr("div",JH,[...a[46]||(a[46]=[Mr("div",{class:"loading-text"},"正在加载地图...",-1)])]))]),w.value&&x.value?(Cr(),Tr("div",qH,[Mr("div",ZH,[a[47]||(a[47]=Mr("span",{class:"location-label"},"位置名称:",-1)),Mr("span",XH,se(k.value||"未命名位置"),1)]),Mr("div",QH,[a[48]||(a[48]=Mr("span",{class:"location-label"},"坐标:",-1)),Mr("span",eY,se(w.value)+", "+se(x.value),1)])])):Rr("",!0)])])):Rr("",!0)]),Mr("div",tY,[a[66]||(a[66]=Mr("h3",null,"二维码设置",-1)),Mr("div",aY,[Mr("div",nY,[Mr("div",rY,[Mr("div",sY,[a[50]||(a[50]=Mr("label",{class:"style-label"},"码点形状:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[17]||(a[17]=e=>U.value=e),class:"style-select",onChange:re},[...a[49]||(a[49]=[Lr('',14)])],544),[[_i,U.value]])]),Mr("div",iY,[a[51]||(a[51]=Mr("label",{class:"style-label"},"码眼形状:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[18]||(a[18]=e=>j.value=e),class:"style-select",onChange:re},[(Cr(),Tr(br,null,yn(Y,e=>Mr("option",{key:e.id,value:e.id},se(e.name),9,oY)),64))],544),[[_i,j.value]])])]),"custom"===j.value?(Cr(),Tr("div",lY,[Mr("div",cY,[a[52]||(a[52]=Mr("label",{class:"style-label"},"码外眼颜色:",-1)),Mr("div",uY,[Mr("div",{class:"color-preview",style:K({backgroundColor:L.value})},null,4),ca(Mr("input",{"onUpdate:modelValue":a[19]||(a[19]=e=>L.value=e),type:"color",class:"color-input-hidden",onChange:re},null,544),[[bi,L.value]])])]),Mr("div",dY,[a[53]||(a[53]=Mr("label",{class:"style-label"},"码内眼颜色:",-1)),Mr("div",hY,[Mr("div",{class:"color-preview",style:K({backgroundColor:R.value})},null,4),ca(Mr("input",{"onUpdate:modelValue":a[20]||(a[20]=e=>R.value=e),type:"color",class:"color-input-hidden",onChange:re},null,544),[[bi,R.value]])])])])):Rr("",!0),Mr("div",pY,[Mr("div",fY,[a[54]||(a[54]=Mr("label",{class:"style-label"},"码颜色:",-1)),Mr("div",mY,[Mr("div",{class:"color-preview",style:K({backgroundColor:B.value})},null,4),ca(Mr("input",{"onUpdate:modelValue":a[21]||(a[21]=e=>B.value=e),type:"color",class:"color-input-hidden",onChange:re},null,544),[[bi,B.value]])])]),Mr("div",gY,[a[55]||(a[55]=Mr("label",{class:"style-label"},"码背景色:",-1)),Mr("div",yY,[Mr("div",{class:"color-preview",style:K({backgroundColor:M.value})},null,4),ca(Mr("input",{"onUpdate:modelValue":a[22]||(a[22]=e=>M.value=e),type:"color",class:"color-input-hidden",onChange:re},null,544),[[bi,M.value]])])])])])]),Mr("div",vY,[a[63]||(a[63]=Mr("h4",{class:"section-title"},"尺寸设置",-1)),Mr("div",bY,[Mr("div",wY,[Mr("div",xY,[a[57]||(a[57]=Mr("label",{class:"style-label"},"标准尺寸:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[23]||(a[23]=e=>I.value=e),class:"style-select",onChange:re},[...a[56]||(a[56]=[Lr('',5)])],544),[[_i,I.value]])]),Mr("div",kY,[a[59]||(a[59]=Mr("label",{class:"style-label"},"容错率:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[24]||(a[24]=e=>O.value=e),class:"style-select",onChange:re},[...a[58]||(a[58]=[Mr("option",{value:"L"},"7%",-1),Mr("option",{value:"M"},"15%",-1),Mr("option",{value:"Q"},"25%",-1),Mr("option",{value:"H"},"30%",-1)])],544),[[_i,O.value]])])]),Mr("div",_Y,[Mr("div",EY,[a[60]||(a[60]=Mr("label",{class:"style-label"},"边距:",-1)),ca(Mr("input",{"onUpdate:modelValue":a[25]||(a[25]=e=>N.value=e),type:"number",min:"0",max:"10",class:"style-input",onInput:re},null,544),[[bi,N.value]])]),Mr("div",CY,[a[62]||(a[62]=Mr("label",{class:"style-label"},"版本:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[26]||(a[26]=e=>P.value=e),class:"style-select",onChange:re},[...a[61]||(a[61]=[Lr('',6)])],544),[[_i,P.value]])])])])]),Mr("div",FY,[a[65]||(a[65]=Mr("h4",{class:"section-title"},"Logo设置",-1)),Mr("div",DY,[Mr("input",{ref_key:"logoInput",ref:W,type:"file",accept:"image/*",onChange:xe,style:{display:"none"}},null,544),$.value?(Cr(),Tr("div",AY,[Mr("img",{src:$.value,alt:"Logo",class:"logo-image"},null,8,TY),Mr("div",{class:"logo-info"},[a[64]||(a[64]=Mr("span",{class:"logo-name"},"Logo已上传",-1)),Mr("button",{onClick:ke,class:"logo-remove-btn"},"移除")])])):(Cr(),Tr("button",{key:0,onClick:we,class:"logo-upload-btn"}," 上传Logo ")),$.value?(Cr(),Tr("div",SY,[Mr("label",IY,"大小: "+se(G.value)+"%",1),ca(Mr("input",{"onUpdate:modelValue":a[27]||(a[27]=e=>G.value=e),type:"range",min:"10",max:"30",step:"1",class:"logo-slider",onInput:re},null,544),[[bi,G.value]])])):Rr("",!0)])])])]),Mr("div",PY,[Mr("div",NY,[a[67]||(a[67]=Mr("h3",null,"二维码预览",-1)),Mr("div",BY,se(Ce()),1)]),Mr("div",MY,[V.value?(Cr(),Tr("div",OY,[Mr("div",UY,[Mr("img",{src:V.value,alt:"二维码: "+ne(),class:"qr-image"},null,8,jY)]),Mr("div",LY,[Mr("div",RY,se(ne()),1),Mr("div",zY,[Mr("div",HY,[a[68]||(a[68]=Mr("span",{class:"stat-label"},"内容长度:",-1)),Mr("span",YY,se(ne().length)+" 字符",1)]),Mr("div",$Y,[a[69]||(a[69]=Mr("span",{class:"stat-label"},"尺寸:",-1)),Mr("span",GY,se(I.value)+"x"+se(I.value)+"px",1)]),Mr("div",WY,[a[70]||(a[70]=Mr("span",{class:"stat-label"},"容错率:",-1)),Mr("span",VY,se(Fe()),1)])]),"sms"===s.value||"phone"===s.value||"email"===s.value?(Cr(),Tr("button",{key:0,onClick:De,class:"test-link-btn"}," 测试链接 ")):Rr("",!0)])])):(Cr(),Tr("div",KY,[...a[71]||(a[71]=[Mr("h4",null,"二维码预览",-1),Mr("p",null,"输入内容后将显示二维码",-1)])]))])])])]))}}),qY=Wi(JY,[["__scopeId","data-v-ed92a709"]]),ZY={class:"crontab-generator"},XY={class:"mode-toggle"},QY={class:"generator-content"},e$={class:"config-section"},t$={key:0,class:"visual-config"},a$={class:"config-grid"},n$={class:"config-item"},r$={key:1,class:"interval-compact"},s$={key:2,class:"range-compact"},i$={class:"config-item"},o$={key:1,class:"interval-compact"},l$={key:2,class:"range-compact"},c$={class:"config-item"},u$={key:1,class:"interval-compact"},d$={key:2,class:"range-compact"},h$={class:"config-item"},p$={key:1,class:"interval-compact"},f$={key:2,class:"range-compact"},m$={class:"config-item"},g$={key:1,class:"range-compact"},y$={class:"presets-section"},v$={class:"presets-grid"},b$=["onClick"],w$={class:"preset-name"},x$={class:"preset-desc"},k$={class:"preset-cron"},_$={key:1,class:"manual-config"},E$={class:"manual-input-section"},C$={class:"cron-input-wrapper"},F$={class:"result-section"},D$={class:"result-content"},A$={class:"cron-display"},T$={class:"cron-expression"},S$={class:"cron-code"},I$={class:"cron-description"},P$={class:"desc-text"},N$={class:"field-explanation"},B$={class:"field-grid"},M$={class:"field-item"},O$={class:"field-value"},U$={class:"field-item"},j$={class:"field-value"},L$={class:"field-item"},R$={class:"field-value"},z$={class:"field-item"},H$={class:"field-value"},Y$={class:"field-item"},$$={class:"field-value"},G$={class:"next-execution"},W$={class:"execution-list"},V$={class:"execution-time"},K$=Ya({__name:"CrontabGenerator",emits:["back"],setup(e){il("crontab-generator");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"crontab-generator"===e.id);if(t)return t.title}return"Crontab表达式生成器"}),s=St("visual"),i=St({minute:{type:"*",value:0,interval:1,start:0,end:59},hour:{type:"*",value:0,interval:1,start:0,end:23},day:{type:"*",value:1,interval:1,start:1,end:31},month:{type:"*",value:1,interval:1,start:1,end:12},weekday:{type:"*",value:0,start:0,end:6}}),o=St("* * * * *"),l=[{name:"每分钟",desc:"每分钟执行一次",cron:"* * * * *"},{name:"每5分钟",desc:"每5分钟执行一次",cron:"*/5 * * * *"},{name:"每10分钟",desc:"每10分钟执行一次",cron:"*/10 * * * *"},{name:"每15分钟",desc:"每15分钟执行一次",cron:"*/15 * * * *"},{name:"每30分钟",desc:"每30分钟执行一次",cron:"*/30 * * * *"},{name:"每小时",desc:"每小时整点执行",cron:"0 * * * *"},{name:"每2小时",desc:"每2小时执行一次",cron:"0 */2 * * *"},{name:"每3小时",desc:"每3小时执行一次",cron:"0 */3 * * *"},{name:"每4小时",desc:"每4小时执行一次",cron:"0 */4 * * *"},{name:"每6小时",desc:"每6小时执行一次",cron:"0 */6 * * *"},{name:"每12小时",desc:"每12小时执行一次",cron:"0 */12 * * *"},{name:"每天午夜",desc:"每天0点执行",cron:"0 0 * * *"},{name:"每天凌晨2点",desc:"每天凌晨2点执行",cron:"0 2 * * *"},{name:"每天早上6点",desc:"每天早上6点执行",cron:"0 6 * * *"},{name:"每天早上9点",desc:"每天上午9点执行",cron:"0 9 * * *"},{name:"每天中午",desc:"每天12点执行",cron:"0 12 * * *"},{name:"每天晚上6点",desc:"每天下午6点执行",cron:"0 18 * * *"},{name:"每天晚上10点",desc:"每天晚上10点执行",cron:"0 22 * * *"},{name:"工作日9点",desc:"周一到周五9点执行",cron:"0 9 * * 1-5"},{name:"工作日下班",desc:"周一到周五18点执行",cron:"0 18 * * 1-5"},{name:"工作日午休",desc:"周一到周五12点执行",cron:"0 12 * * 1-5"},{name:"每周一",desc:"每周一0点执行",cron:"0 0 * * 1"},{name:"每周五",desc:"每周五0点执行",cron:"0 0 * * 5"},{name:"每周日",desc:"每周日0点执行",cron:"0 0 * * 0"},{name:"周末",desc:"每周六日0点执行",cron:"0 0 * * 0,6"},{name:"每月1号",desc:"每月1号0点执行",cron:"0 0 1 * *"},{name:"每月15号",desc:"每月15号0点执行",cron:"0 0 15 * *"},{name:"每月最后一天",desc:"每月最后一天0点执行",cron:"0 0 L * *"},{name:"每季度",desc:"每季度第一天执行",cron:"0 0 1 */3 *"},{name:"每半年",desc:"每半年第一天执行",cron:"0 0 1 */6 *"},{name:"每年元旦",desc:"每年1月1日执行",cron:"0 0 1 1 *"}],c=is(()=>{if("manual"===s.value)return o.value;const e=[];return e.push(f(i.value.minute)),e.push(f(i.value.hour)),e.push(f(i.value.day)),e.push(f(i.value.month)),e.push(f(i.value.weekday)),e.join(" ")}),u=is(()=>w(c.value)),d=is(()=>k(c.value,5)),h=e=>{s.value=e,"manual"===e&&(o.value=c.value)},p=(e,t,a)=>{if("*"===e)return{type:"*",value:t,interval:1,start:t,end:a};if(e.includes("/")){return{type:"interval",value:t,interval:parseInt(e.split("/")[1]||"1"),start:t,end:a}}if(e.includes("-")){const[n,r]=e.split("-");return{type:"range",value:t,interval:1,start:parseInt(n||t.toString()),end:parseInt(r||a.toString())}}return{type:"specific",value:parseInt(e),interval:1,start:t,end:a}},f=e=>{switch(e.type){case"*":default:return"*";case"specific":return e.value.toString();case"interval":return`*/${e.interval}`;case"range":return`${e.start}-${e.end}`}},m=()=>{},g=()=>{try{v(o.value),t("Cron表达式格式正确")}catch(e){a(`Cron表达式格式错误: ${e.message}`)}},y=()=>{try{v(o.value),t("Cron表达式验证通过")}catch(e){a(`验证失败: ${e.message}`)}},v=e=>{const t=e.trim().split(/\s+/);if(5!==t.length)throw new Error("Cron表达式必须包含5个字段");const a=[{min:0,max:59,name:"分钟"},{min:0,max:23,name:"小时"},{min:1,max:31,name:"日期"},{min:1,max:12,name:"月份"},{min:0,max:7,name:"星期"}];t.forEach((e,t)=>{if("*"===e)return;const n=a[t];if(e.includes("/")){const[t,a]=e.split("/");if("*"!==t&&n&&!b(t||"*",n))throw new Error(`${n?.name||"字段"}格式错误: ${e}`);const r=parseInt(a||"0");if(isNaN(r)||r<=0)throw new Error(`${n?.name||"字段"}间隔值无效: ${a??"undefined"}`);return}if(e.includes("-")){const[t,a]=e.split("-"),r=parseInt(t||"0"),s=parseInt(a||"0");if(isNaN(r)||isNaN(s)||n&&(rn.max||sn.max)||r>=s)throw new Error(`${n?.name||"字段"}范围无效: ${e}`);return}if(e.includes(",")){const t=e.split(",");for(const e of t){const t=parseInt(e);if(isNaN(t)||n&&(tn.max))throw new Error(`${n?.name||"字段"}值无效: ${e}`)}return}const r=parseInt(e);if(isNaN(r)||n&&(rn.max))throw new Error(`${n?.name||"字段"}值无效: ${e}`)})},b=(e,t)=>{if("*"===e)return!0;const a=parseInt(e);return!isNaN(a)&&a>=t.min&&a<=t.max},w=e=>{try{const t=e.split(" ");if(5!==t.length)return"无效的Cron表达式";const[a,n,r,s,i]=t;let o="";if(s&&"*"!==s)if(s.includes("/")){o+=`每${s.split("/")[1]}个月`}else if(s.includes("-")){const[e,t]=s.split("-");o+=`${e}月到${t}月`}else o+=`${s}月`;if("*"===r&&"*"===i)o+=o?"的每天":"每天";else if(r&&"*"!==r&&"*"===i)if(r.includes("/")){const e=r.split("/")[1];o+=o?`的每${e}天`:`每${e}天`}else if(r.includes("-")){const[e,t]=r.split("-");o+=o?`的${e}号到${t}号`:`每月${e}号到${t}号`}else o+=o?`的${r}号`:`每月${r}号`;else if("*"===r&&i&&"*"!==i){const e=["日","一","二","三","四","五","六","日"];if(i.includes("-")){const[t,a]=i.split("-"),n=parseInt(t||"0"),r=parseInt(a||"0");o+=o?`的每周${e[n]}到周${e[r]}`:`每周${e[n]}到周${e[r]}`}else{const t=parseInt(i);o+=o?`的每周${e[t]}`:`每周${e[t]}`}}if(n&&"*"===n)o+="的每小时";else if(n&&n.includes("/")){o+=`的每${n.split("/")[1]}小时`}else if(n&&n.includes("-")){const[e,t]=n.split("-");o+=`的${e}点到${t}点`}else n&&(o+=`的${n}点`);if(a&&"*"===a)o+="每分钟";else if(a&&a.includes("/")){o+=`每${a.split("/")[1]}分钟`}else a&&(o+=`${a}分`);return o+"执行"}catch(t){return"无法解析Cron表达式"}},x=e=>c.value.split(" ")[{minute:0,hour:1,day:2,month:3,weekday:4}[e]]||"*",k=(e,t)=>{try{if(!e||"* * * * *"===e){const e=[],a=new Date;for(let n=0;n0?a:["无法计算执行时间"]}catch(a){return["无法计算执行时间"]}},_=(e,t)=>{try{const a=e.split(" ");if(5!==a.length)return null;const n=a[0]||"*",r=a[1]||"*",s=a[2]||"*",i=a[3]||"*",o=a[4]||"*";let l=new Date(t);l.setSeconds(0,0),l.setMinutes(l.getMinutes()+1);const c=new Date(t.getTime()+31536e6);for(;l<=c;){if(E(l,n,r,s,i,o))return l;l.setMinutes(l.getMinutes()+1)}return null}catch(a){return null}},E=(e,t,a,n,r,s)=>{const i=e.getMinutes(),o=e.getHours(),l=e.getDate(),c=e.getMonth()+1,u=e.getDay();return C(i,t,0,59)&&C(o,a,0,23)&&C(l,n,1,31)&&C(c,r,1,12)&&C(u,s,0,7)},C=(e,t,a,n)=>{if("*"===t)return!0;if(t.includes("/")){const a=t.split("/"),n=a[0]||"*",r=a[1]||"1",s=parseInt(r);if("*"===n)return e%s===0;{const t=parseInt(n);return e>=t&&(e-t)%s===0}}if(t.includes("-")){const r=t.split("-"),s=r[0]||a.toString(),i=r[1]||n.toString(),o=parseInt(s),l=parseInt(i);return e>=o&&e<=l}if(t.includes(",")){return t.split(",").map(e=>parseInt(e.trim())).includes(e)}const r=parseInt(t||"0");if(0===a&&7===n){if(7===r&&0===e)return!0;if(0===r&&0===e)return!0}return e===r},F=async()=>{if(c.value)try{await n(c.value),t("Cron表达式已复制到剪贴板")}catch(e){a("复制失败")}else a("没有可复制的内容")},D=()=>{i.value={minute:{type:"*",value:0,interval:1,start:0,end:59},hour:{type:"*",value:0,interval:1,start:0,end:23},day:{type:"*",value:1,interval:1,start:1,end:31},month:{type:"*",value:1,interval:1,start:1,end:12},weekday:{type:"*",value:0,start:0,end:6}},o.value="* * * * *",s.value="visual",t("已清空所有配置")};return nn(()=>{}),(e,a)=>(Cr(),Tr("div",ZY,[Or(hl,{title:r.value,onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",XY,[Mr("button",{class:Q(["mode-btn",{active:"visual"===s.value}]),onClick:a[0]||(a[0]=e=>h("visual"))}," 可视化 ",2),Mr("button",{class:Q(["mode-btn",{active:"manual"===s.value}]),onClick:a[1]||(a[1]=e=>h("manual"))}," 手动输入 ",2)]),Or(jl,{icon:"copy",tooltip:"复制表达式",onClick:F,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:D})]),_:1},8,["title"]),Mr("div",QY,[Mr("div",e$,[a[57]||(a[57]=Mr("div",{class:"section-header"},[Mr("h3",null,"定时配置")],-1)),"visual"===s.value?(Cr(),Tr("div",t$,[Mr("div",a$,[Mr("div",n$,[a[32]||(a[32]=Mr("label",{class:"config-label"},"分钟",-1)),ca(Mr("select",{"onUpdate:modelValue":a[3]||(a[3]=e=>i.value.minute.type=e),class:"config-select-compact",onChange:m},[...a[28]||(a[28]=[Mr("option",{value:"*"},"每分钟",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"interval"},"间隔",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.minute.type]]),"specific"===i.value.minute.type?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":a[4]||(a[4]=e=>i.value.minute.value=e),type:"number",min:"0",max:"59",class:"config-input-compact",onInput:m,placeholder:"0-59"},null,544)),[[bi,i.value.minute.value]]):Rr("",!0),"interval"===i.value.minute.type?(Cr(),Tr("div",r$,[a[29]||(a[29]=Mr("span",null,"每",-1)),ca(Mr("input",{"onUpdate:modelValue":a[5]||(a[5]=e=>i.value.minute.interval=e),type:"number",min:"1",max:"59",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.minute.interval]]),a[30]||(a[30]=Mr("span",null,"分",-1))])):Rr("",!0),"range"===i.value.minute.type?(Cr(),Tr("div",s$,[ca(Mr("input",{"onUpdate:modelValue":a[6]||(a[6]=e=>i.value.minute.start=e),type:"number",min:"0",max:"59",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.minute.start]]),a[31]||(a[31]=Mr("span",null,"-",-1)),ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>i.value.minute.end=e),type:"number",min:"0",max:"59",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.minute.end]])])):Rr("",!0)]),Mr("div",i$,[a[37]||(a[37]=Mr("label",{class:"config-label"},"小时",-1)),ca(Mr("select",{"onUpdate:modelValue":a[8]||(a[8]=e=>i.value.hour.type=e),class:"config-select-compact",onChange:m},[...a[33]||(a[33]=[Mr("option",{value:"*"},"每小时",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"interval"},"间隔",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.hour.type]]),"specific"===i.value.hour.type?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":a[9]||(a[9]=e=>i.value.hour.value=e),type:"number",min:"0",max:"23",class:"config-input-compact",onInput:m,placeholder:"0-23"},null,544)),[[bi,i.value.hour.value]]):Rr("",!0),"interval"===i.value.hour.type?(Cr(),Tr("div",o$,[a[34]||(a[34]=Mr("span",null,"每",-1)),ca(Mr("input",{"onUpdate:modelValue":a[10]||(a[10]=e=>i.value.hour.interval=e),type:"number",min:"1",max:"23",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.hour.interval]]),a[35]||(a[35]=Mr("span",null,"时",-1))])):Rr("",!0),"range"===i.value.hour.type?(Cr(),Tr("div",l$,[ca(Mr("input",{"onUpdate:modelValue":a[11]||(a[11]=e=>i.value.hour.start=e),type:"number",min:"0",max:"23",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.hour.start]]),a[36]||(a[36]=Mr("span",null,"-",-1)),ca(Mr("input",{"onUpdate:modelValue":a[12]||(a[12]=e=>i.value.hour.end=e),type:"number",min:"0",max:"23",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.hour.end]])])):Rr("",!0)]),Mr("div",c$,[a[42]||(a[42]=Mr("label",{class:"config-label"},"日期",-1)),ca(Mr("select",{"onUpdate:modelValue":a[13]||(a[13]=e=>i.value.day.type=e),class:"config-select-compact",onChange:m},[...a[38]||(a[38]=[Mr("option",{value:"*"},"每天",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"interval"},"间隔",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.day.type]]),"specific"===i.value.day.type?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":a[14]||(a[14]=e=>i.value.day.value=e),type:"number",min:"1",max:"31",class:"config-input-compact",onInput:m,placeholder:"1-31"},null,544)),[[bi,i.value.day.value]]):Rr("",!0),"interval"===i.value.day.type?(Cr(),Tr("div",u$,[a[39]||(a[39]=Mr("span",null,"每",-1)),ca(Mr("input",{"onUpdate:modelValue":a[15]||(a[15]=e=>i.value.day.interval=e),type:"number",min:"1",max:"31",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.day.interval]]),a[40]||(a[40]=Mr("span",null,"天",-1))])):Rr("",!0),"range"===i.value.day.type?(Cr(),Tr("div",d$,[ca(Mr("input",{"onUpdate:modelValue":a[16]||(a[16]=e=>i.value.day.start=e),type:"number",min:"1",max:"31",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.day.start]]),a[41]||(a[41]=Mr("span",null,"-",-1)),ca(Mr("input",{"onUpdate:modelValue":a[17]||(a[17]=e=>i.value.day.end=e),type:"number",min:"1",max:"31",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.day.end]])])):Rr("",!0)]),Mr("div",h$,[a[47]||(a[47]=Mr("label",{class:"config-label"},"月份",-1)),ca(Mr("select",{"onUpdate:modelValue":a[18]||(a[18]=e=>i.value.month.type=e),class:"config-select-compact",onChange:m},[...a[43]||(a[43]=[Mr("option",{value:"*"},"每月",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"interval"},"间隔",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.month.type]]),"specific"===i.value.month.type?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":a[19]||(a[19]=e=>i.value.month.value=e),type:"number",min:"1",max:"12",class:"config-input-compact",onInput:m,placeholder:"1-12"},null,544)),[[bi,i.value.month.value]]):Rr("",!0),"interval"===i.value.month.type?(Cr(),Tr("div",p$,[a[44]||(a[44]=Mr("span",null,"每",-1)),ca(Mr("input",{"onUpdate:modelValue":a[20]||(a[20]=e=>i.value.month.interval=e),type:"number",min:"1",max:"12",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.month.interval]]),a[45]||(a[45]=Mr("span",null,"月",-1))])):Rr("",!0),"range"===i.value.month.type?(Cr(),Tr("div",f$,[ca(Mr("input",{"onUpdate:modelValue":a[21]||(a[21]=e=>i.value.month.start=e),type:"number",min:"1",max:"12",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.month.start]]),a[46]||(a[46]=Mr("span",null,"-",-1)),ca(Mr("input",{"onUpdate:modelValue":a[22]||(a[22]=e=>i.value.month.end=e),type:"number",min:"1",max:"12",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.month.end]])])):Rr("",!0)]),Mr("div",m$,[a[53]||(a[53]=Mr("label",{class:"config-label"},"星期",-1)),ca(Mr("select",{"onUpdate:modelValue":a[23]||(a[23]=e=>i.value.weekday.type=e),class:"config-select-compact",onChange:m},[...a[48]||(a[48]=[Mr("option",{value:"*"},"每天",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.weekday.type]]),"specific"===i.value.weekday.type?ca((Cr(),Tr("select",{key:0,"onUpdate:modelValue":a[24]||(a[24]=e=>i.value.weekday.value=e),class:"config-select-compact",onChange:m},[...a[49]||(a[49]=[Lr('',7)])],544)),[[_i,i.value.weekday.value]]):Rr("",!0),"range"===i.value.weekday.type?(Cr(),Tr("div",g$,[ca(Mr("select",{"onUpdate:modelValue":a[25]||(a[25]=e=>i.value.weekday.start=e),class:"config-select-tiny",onChange:m},[...a[50]||(a[50]=[Lr('',7)])],544),[[_i,i.value.weekday.start]]),a[52]||(a[52]=Mr("span",null,"-",-1)),ca(Mr("select",{"onUpdate:modelValue":a[26]||(a[26]=e=>i.value.weekday.end=e),class:"config-select-tiny",onChange:m},[...a[51]||(a[51]=[Lr('',7)])],544),[[_i,i.value.weekday.end]])])):Rr("",!0)])]),Mr("div",y$,[a[54]||(a[54]=Mr("h4",{class:"presets-title"},"常用预设",-1)),Mr("div",v$,[(Cr(),Tr(br,null,yn(l,e=>Mr("button",{key:e.name,class:"preset-btn",onClick:a=>(e=>{const a=e.split(" ");if(5!==a.length)return;const[n,r,o,l,c]=a;n&&(i.value.minute=p(n,0,59)),r&&(i.value.hour=p(r,0,23)),o&&(i.value.day=p(o,1,31)),l&&(i.value.month=p(l,1,12)),c&&(i.value.weekday=p(c,0,6)),s.value="visual",t("已应用预设配置")})(e.cron)},[Mr("div",w$,se(e.name),1),Mr("div",x$,se(e.desc),1),Mr("div",k$,se(e.cron),1)],8,b$)),64))])])])):Rr("",!0),"manual"===s.value?(Cr(),Tr("div",_$,[Mr("div",E$,[a[55]||(a[55]=Mr("label",{class:"section-label"},"Cron表达式",-1)),Mr("div",C$,[ca(Mr("input",{"onUpdate:modelValue":a[27]||(a[27]=e=>o.value=e),type:"text",class:"cron-input",placeholder:"* * * * *",onInput:g},null,544),[[bi,o.value]]),Or(jl,{icon:"validate",tooltip:"验证表达式",onClick:y})]),a[56]||(a[56]=Mr("div",{class:"cron-format-help"},[Mr("span",{class:"format-text"},"格式:分钟 小时 日期 月份 星期")],-1))])])):Rr("",!0)]),Mr("div",F$,[a[72]||(a[72]=Mr("div",{class:"section-header"},[Mr("h3",null,"生成结果")],-1)),Mr("div",D$,[Mr("div",A$,[Mr("div",T$,[a[58]||(a[58]=Mr("span",{class:"cron-label"},"Cron表达式:",-1)),Mr("code",S$,se(c.value||"* * * * *"),1)]),Mr("div",I$,[a[59]||(a[59]=Mr("span",{class:"desc-label"},"执行时间:",-1)),Mr("span",P$,se(u.value),1)])]),Mr("div",N$,[a[70]||(a[70]=Mr("h4",null,"字段说明",-1)),Mr("div",B$,[Mr("div",M$,[a[60]||(a[60]=Mr("span",{class:"field-name"},"分钟",-1)),Mr("span",O$,se(x("minute")),1),a[61]||(a[61]=Mr("span",{class:"field-desc"},"0-59",-1))]),Mr("div",U$,[a[62]||(a[62]=Mr("span",{class:"field-name"},"小时",-1)),Mr("span",j$,se(x("hour")),1),a[63]||(a[63]=Mr("span",{class:"field-desc"},"0-23",-1))]),Mr("div",L$,[a[64]||(a[64]=Mr("span",{class:"field-name"},"日期",-1)),Mr("span",R$,se(x("day")),1),a[65]||(a[65]=Mr("span",{class:"field-desc"},"1-31",-1))]),Mr("div",z$,[a[66]||(a[66]=Mr("span",{class:"field-name"},"月份",-1)),Mr("span",H$,se(x("month")),1),a[67]||(a[67]=Mr("span",{class:"field-desc"},"1-12",-1))]),Mr("div",Y$,[a[68]||(a[68]=Mr("span",{class:"field-name"},"星期",-1)),Mr("span",$$,se(x("weekday")),1),a[69]||(a[69]=Mr("span",{class:"field-desc"},"0-7",-1))])])]),Mr("div",G$,[a[71]||(a[71]=Mr("h4",null,"下次执行时间",-1)),Mr("div",W$,[(Cr(!0),Tr(br,null,yn(d.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"execution-item"},[Mr("span",V$,se(e),1)]))),128))])])])])])]))}}),J$=Wi(K$,[["__scopeId","data-v-d47453ad"]]),q$={class:"base-converter"},Z$={class:"converter-content"},X$={class:"convert-section"},Q$={class:"input-panel"},eG={class:"section-header"},tG={class:"base-selector"},aG={class:"input-area"},nG=["placeholder"],rG={class:"input-info"},sG={class:"input-hint"},iG={class:"base-info"},oG={class:"examples-area"},lG={class:"examples-grid"},cG={class:"results-panel"},uG={class:"results-list"},dG={class:"result-info"},hG={class:"result-label"},pG={key:0,class:"active-indicator"},fG={class:"result-content"},mG=["value"],gG={class:"result-info"},yG={class:"result-label"},vG={key:0,class:"active-indicator"},bG={class:"result-content"},wG=["value"],xG={class:"result-info"},kG={class:"result-label"},_G={key:0,class:"active-indicator"},EG={class:"result-content"},CG=["value"],FG={class:"result-info"},DG={class:"result-label"},AG={key:0,class:"active-indicator"},TG={class:"result-content"},SG=["value"],IG={class:"result-info"},PG={class:"result-label"},NG={key:0,class:"active-indicator"},BG={class:"result-content"},MG=["value"],OG=Ya({__name:"BaseConverter",emits:["back"],setup(e){il("number-base");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"number-base"===e.id);if(t)return t.title}return"进制转换"}),s=St(""),i=St("10"),o=St({binary:"",octal:"",decimal:"",hexadecimal:"",base32:""}),l=()=>{if(s.value.trim())try{const e=parseInt(i.value),t=s.value.trim().toUpperCase();if(!c(t,e))throw new Error("输入包含无效字符");const a=parseInt(t,e);if(isNaN(a))throw new Error("无效的数值");o.value={binary:a.toString(2),octal:a.toString(8),decimal:a.toString(10),hexadecimal:a.toString(16).toUpperCase(),base32:a.toString(32).toUpperCase()}}catch(e){o.value={binary:"错误",octal:"错误",decimal:"错误",hexadecimal:"错误",base32:"错误"}}else o.value={binary:"",octal:"",decimal:"",hexadecimal:"",base32:""}},c=(e,t)=>{const a="0123456789ABCDEFGHIJKLMNOPQRSTUV".slice(0,t);return e.split("").every(e=>a.includes(e))},u=()=>{s.value="",o.value={binary:"",octal:"",decimal:"",hexadecimal:"",base32:""},t("已清空所有内容")},d=async e=>{if(!e||"错误"===e)return;await n(e)?t("已复制到剪贴板"):a("复制失败")},h=async()=>{const e={2:o.value.binary,8:o.value.octal,10:o.value.decimal,16:o.value.hexadecimal,32:o.value.base32}[i.value];e&&"错误"!==e&&await d(e)},p=e=>{s.value=e,i.value="10",l(),t(`已设置示例值: ${e}`)};return l(),(e,t)=>(Cr(),Tr("div",q$,[Or(hl,{title:r.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制结果",onClick:h}),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:u})]),_:1},8,["title"]),Mr("div",Z$,[Mr("div",X$,[Mr("div",Q$,[Mr("div",eG,[t[13]||(t[13]=Mr("h3",null,"数值输入",-1)),Mr("div",tG,[ca(Mr("select",{"onUpdate:modelValue":t[1]||(t[1]=e=>i.value=e),class:"base-select",onChange:l},[...t[12]||(t[12]=[Lr('',5)])],544),[[_i,i.value]])])]),Mr("div",aG,[ca(Mr("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>s.value=e),type:"text",class:"number-input",placeholder:{2:"例如: 1010",8:"例如: 755",10:"例如: 255",16:"例如: FF",32:"例如: 7V"}[i.value]||"输入数值",onInput:l},null,40,nG),[[bi,s.value]]),Mr("div",rG,[Mr("div",sG,se({2:"只能包含 0 和 1",8:"只能包含 0-7",10:"只能包含 0-9",16:"只能包含 0-9 和 A-F",32:"只能包含 0-9 和 A-V"}[i.value]||""),1),Mr("div",iG,se({2:"基数: 2 | 符号: 0,1",8:"基数: 8 | 符号: 0-7",10:"基数: 10 | 符号: 0-9",16:"基数: 16 | 符号: 0-9,A-F",32:"基数: 32 | 符号: 0-9,A-V"}[i.value]||""),1)])]),Mr("div",oG,[t[18]||(t[18]=Mr("div",{class:"examples-header"},[Mr("h4",null,"快速示例")],-1)),Mr("div",lG,[Mr("div",{class:"example-item",onClick:t[3]||(t[3]=e=>p("255"))},[...t[14]||(t[14]=[Mr("div",{class:"example-label"},"255",-1),Mr("div",{class:"example-desc"},"8位最大值",-1)])]),Mr("div",{class:"example-item",onClick:t[4]||(t[4]=e=>p("1024"))},[...t[15]||(t[15]=[Mr("div",{class:"example-label"},"1024",-1),Mr("div",{class:"example-desc"},"1KB字节数",-1)])]),Mr("div",{class:"example-item",onClick:t[5]||(t[5]=e=>p("65535"))},[...t[16]||(t[16]=[Mr("div",{class:"example-label"},"65535",-1),Mr("div",{class:"example-desc"},"16位最大值",-1)])]),Mr("div",{class:"example-item",onClick:t[6]||(t[6]=e=>p("16777215"))},[...t[17]||(t[17]=[Mr("div",{class:"example-label"},"16777215",-1),Mr("div",{class:"example-desc"},"RGB最大值",-1)])])])])]),Mr("div",cG,[t[34]||(t[34]=Lr('

转换结果

点击任意行复制内容
',1)),Mr("div",uG,[Mr("div",{class:Q(["result-row",{active:"2"===i.value}]),onClick:t[7]||(t[7]=e=>d(o.value.binary))},[Mr("div",dG,[Mr("div",hG,[t[19]||(t[19]=Mr("span",{class:"base-name"},"二进制",-1)),t[20]||(t[20]=Mr("span",{class:"base-code"},"BIN",-1)),"2"===i.value?(Cr(),Tr("span",pG,"输入")):Rr("",!0)]),t[21]||(t[21]=Mr("div",{class:"result-desc"},"计算机基础,只用0和1",-1))]),Mr("div",fG,[Mr("input",{value:o.value.binary||"0",class:"result-input",readonly:""},null,8,mG)])],2),Mr("div",{class:Q(["result-row",{active:"8"===i.value}]),onClick:t[8]||(t[8]=e=>d(o.value.octal))},[Mr("div",gG,[Mr("div",yG,[t[22]||(t[22]=Mr("span",{class:"base-name"},"八进制",-1)),t[23]||(t[23]=Mr("span",{class:"base-code"},"OCT",-1)),"8"===i.value?(Cr(),Tr("span",vG,"输入")):Rr("",!0)]),t[24]||(t[24]=Mr("div",{class:"result-desc"},"Unix权限系统常用",-1))]),Mr("div",bG,[Mr("input",{value:o.value.octal||"0",class:"result-input",readonly:""},null,8,wG)])],2),Mr("div",{class:Q(["result-row",{active:"10"===i.value}]),onClick:t[9]||(t[9]=e=>d(o.value.decimal))},[Mr("div",xG,[Mr("div",kG,[t[25]||(t[25]=Mr("span",{class:"base-name"},"十进制",-1)),t[26]||(t[26]=Mr("span",{class:"base-code"},"DEC",-1)),"10"===i.value?(Cr(),Tr("span",_G,"输入")):Rr("",!0)]),t[27]||(t[27]=Mr("div",{class:"result-desc"},"日常使用的数字系统",-1))]),Mr("div",EG,[Mr("input",{value:o.value.decimal||"0",class:"result-input",readonly:""},null,8,CG)])],2),Mr("div",{class:Q(["result-row",{active:"16"===i.value}]),onClick:t[10]||(t[10]=e=>d(o.value.hexadecimal))},[Mr("div",FG,[Mr("div",DG,[t[28]||(t[28]=Mr("span",{class:"base-name"},"十六进制",-1)),t[29]||(t[29]=Mr("span",{class:"base-code"},"HEX",-1)),"16"===i.value?(Cr(),Tr("span",AG,"输入")):Rr("",!0)]),t[30]||(t[30]=Mr("div",{class:"result-desc"},"颜色代码、内存地址",-1))]),Mr("div",TG,[Mr("input",{value:o.value.hexadecimal||"0",class:"result-input",readonly:""},null,8,SG)])],2),Mr("div",{class:Q(["result-row",{active:"32"===i.value}]),onClick:t[11]||(t[11]=e=>d(o.value.base32))},[Mr("div",IG,[Mr("div",PG,[t[31]||(t[31]=Mr("span",{class:"base-name"},"三十二进制",-1)),t[32]||(t[32]=Mr("span",{class:"base-code"},"BASE32",-1)),"32"===i.value?(Cr(),Tr("span",NG,"输入")):Rr("",!0)]),t[33]||(t[33]=Mr("div",{class:"result-desc"},"数据编码、短链接",-1))]),Mr("div",BG,[Mr("input",{value:o.value.base32||"0",class:"result-input",readonly:""},null,8,MG)])],2)])])]),t[35]||(t[35]=Lr('

💡 进制说明

🔢

二进制 (Binary)

基数:2,使用数字:0、1。计算机内部数据存储和处理的基础,每一位代表2的幂次。

🔧

八进制 (Octal)

基数:8,使用数字:0-7。常用于Unix/Linux文件权限设置,如755表示rwxr-xr-x权限。

📊

十进制 (Decimal)

基数:10,使用数字:0-9。日常生活中使用的标准数字系统,所有进制转换的基准。

🎨

十六进制 (Hexadecimal)

基数:16,使用字符:0-9、A-F。广泛用于颜色代码(#FF0000)、内存地址、哈希值等。

🔗

三十二进制 (Base32)

基数:32,使用字符:0-9、A-V。用于数据编码、短链接生成,避免易混淆字符。

💡

转换方法详解

十进制转其他进制(除法取余):
以255转二进制为例:255÷2=127余1,127÷2=63余1,63÷2=31余1,31÷2=15余1,15÷2=7余1,7÷2=3余1,3÷2=1余1,1÷2=0余1。
将余数从下往上排列:11111111,这就是255的二进制。

其他进制转十进制(位权相加):
以二进制1010转十进制为例:从右往左,每一位乘以对应的权重(2的幂次)。
1010₂ = 0×2⁰ + 1×2¹ + 0×2² + 1×2³ = 0×1 + 1×2 + 0×4 + 1×8 = 0+2+0+8 = 10

',1))])]))}}),UG=Wi(OG,[["__scopeId","data-v-c516d8c8"]]),jG={class:"button-group"},LG=Ya({__name:"ButtonGroup",setup:e=>(e,t)=>(Cr(),Tr("div",jG,[vn(e.$slots,"default",{},void 0)]))}),RG=Wi(LG,[["__scopeId","data-v-8b57e320"]]),zG={class:"text-encoder"},HG={class:"encoding-selector"},YG={class:"header-actions"},$G=["disabled"],GG=["disabled"],WG=["disabled"],VG={class:"encoder-content"},KG={class:"main-workspace"},JG={class:"input-section"},qG={class:"section-header"},ZG={class:"quick-examples"},XG={class:"text-editor"},QG={class:"section-footer"},eW={class:"stats-info"},tW={class:"stat-item"},aW={class:"stat-item"},nW={class:"stat-item"},rW={class:"output-section"},sW={class:"section-header"},iW={class:"text-editor"},oW={class:"section-footer"},lW={class:"stats-info"},cW={class:"stat-item"},uW={class:"stat-item"},dW={key:0,class:"stat-item compression"},hW=Ya({__name:"TextEncoder",emits:["back"],setup(e){il("text-encoder");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("text-encoder"),{success:a,error:n}=Vo(),r=St(""),s=St(""),i=St("base64"),o=is(()=>{const e=r.value;return{characters:e.length,bytes:new Blob([e]).size,lines:e.split("\n").length}}),l=is(()=>{const e=s.value;return{characters:e.length,bytes:new Blob([e]).size,lines:e.split("\n").length}}),c=is(()=>{if(!o.value.characters||!l.value.characters)return 0;const e=(l.value.characters-o.value.characters)/o.value.characters*100;return Math.round(e)}),u=()=>{if(r.value)try{switch(i.value){case"base64":const e=(new TextEncoder).encode(r.value);s.value=btoa(String.fromCharCode(...e));break;case"url":s.value=encodeURIComponent(r.value);break;case"html":s.value=r.value.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");break;case"unicode":s.value=r.value.split("").map(e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0")).join("");break;case"ascii":s.value=r.value.split("").map(e=>e.charCodeAt(0)).join(" ")}}catch(e){s.value="转换失败",n("转换失败")}else s.value=""},d=()=>{if(s.value)try{let e="";switch(i.value){case"base64":const t=atob(s.value),a=new Uint8Array(t.length);for(let e=0;e").replace(/"/g,'"').replace(/'/g,"'");break;case"unicode":e=s.value.replace(/\\u([0-9a-fA-F]{4})/g,(e,t)=>String.fromCharCode(parseInt(t,16)));break;case"ascii":e=s.value.split(" ").map(e=>String.fromCharCode(parseInt(e))).join("")}r.value=e,a("反向转换完成")}catch(e){n("反向转换失败")}},h=async()=>{if(s.value)try{await navigator.clipboard.writeText(s.value),a("结果已复制到剪贴板")}catch(e){n("复制失败")}},p=()=>{s.value="",a("输出已清空")},f=e=>{r.value=e,u(),a("已设置示例文本")};return u(),(e,a)=>(Cr(),Tr("div",zG,[Or(hl,{title:Pt(t),onBack:a[1]||(a[1]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",HG,[ca(Mr("select",{"onUpdate:modelValue":a[0]||(a[0]=e=>i.value=e),class:"encoding-select",onChange:u},[...a[8]||(a[8]=[Mr("option",{value:"base64"},"Base64",-1),Mr("option",{value:"url"},"URL编码",-1),Mr("option",{value:"html"},"HTML实体",-1),Mr("option",{value:"unicode"},"Unicode",-1),Mr("option",{value:"ascii"},"ASCII码",-1)])],544),[[_i,i.value]])]),Mr("div",YG,[Mr("button",{class:"action-btn-small",onClick:h,title:"复制结果",disabled:!s.value},[...a[9]||(a[9]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,$G),Mr("button",{class:"action-btn-small",onClick:d,title:"反向转换",disabled:!s.value},[...a[10]||(a[10]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m3 16 4 4 4-4"}),Mr("path",{d:"M7 20V4"}),Mr("path",{d:"m21 8-4-4-4 4"}),Mr("path",{d:"M17 4v16"})],-1)])],8,GG),Mr("button",{class:"action-btn-small",onClick:p,title:"清空结果",disabled:!s.value},[...a[11]||(a[11]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,WG)])]),_:1},8,["title"]),Mr("div",VG,[Mr("div",KG,[Mr("div",JG,[Mr("div",qG,[a[12]||(a[12]=Mr("h3",null,"文本输入",-1)),Mr("div",ZG,[Or(RG,null,{default:la(()=>[Mr("button",{class:"group-btn",onClick:a[2]||(a[2]=e=>f("Hello World!")),title:"基础文本示例"}," Hello "),Mr("button",{class:"group-btn",onClick:a[3]||(a[3]=e=>f("你好,世界!")),title:"中文文本示例"}," 中文 "),Mr("button",{class:"group-btn",onClick:a[4]||(a[4]=e=>f("https://example.com/path?param=value&other=123")),title:"URL链接示例"}," URL "),Mr("button",{class:"group-btn",onClick:a[5]||(a[5]=e=>f('
Content
')),title:"HTML代码示例"}," HTML ")]),_:1})])]),Mr("div",XG,[ca(Mr("textarea",{"onUpdate:modelValue":a[6]||(a[6]=e=>r.value=e),class:"text-input",placeholder:"输入要转换的文本...",onInput:u},null,544),[[bi,r.value]])]),Mr("div",QG,[Mr("div",eW,[Mr("span",tW,se(o.value.characters)+" 字符",1),Mr("span",aW,se(o.value.bytes)+" 字节",1),Mr("span",nW,se(o.value.lines)+" 行",1)])])]),a[14]||(a[14]=Mr("div",{class:"divider"},null,-1)),Mr("div",rW,[Mr("div",sW,[Mr("h3",null,"转换结果 ("+se({base64:"Base64",url:"URL编码",html:"HTML实体",unicode:"Unicode",ascii:"ASCII码"}[i.value]||"未知编码")+")",1),a[13]||(a[13]=Mr("div",{class:"header-placeholder"},null,-1))]),Mr("div",iW,[ca(Mr("textarea",{"onUpdate:modelValue":a[7]||(a[7]=e=>s.value=e),class:"text-output",readonly:"",placeholder:"转换结果将显示在这里..."},null,512),[[bi,s.value]])]),Mr("div",oW,[Mr("div",lW,[Mr("span",cW,se(l.value.characters)+" 字符",1),Mr("span",uW,se(l.value.bytes)+" 字节",1),0!==c.value?(Cr(),Tr("span",dW,se(c.value>0?"增加":"减少")+" "+se(Math.abs(c.value))+"% ",1)):Rr("",!0)])])])]),a[15]||(a[15]=Lr('
Base64编码:将文本转换为Base64格式,常用于数据传输
URL编码:将特殊字符转换为URL安全格式
HTML实体:将HTML特殊字符转换为实体编码
Unicode编码:显示字符的Unicode码点表示
ASCII码:显示字符对应的ASCII数值
反向转换:支持将编码结果转换回原始文本
',1))])]))}}),pW=Wi(hW,[["__scopeId","data-v-52eddbc9"]]),fW={class:"string-counter"},mW={class:"counter-content"},gW={class:"input-section"},yW={class:"section-header"},vW={class:"quick-actions"},bW={key:0,class:"file-info"},wW={class:"file-name"},xW={class:"file-size"},kW={class:"stats-section"},_W={class:"stats-grid"},EW={class:"stat-card primary"},CW={class:"stat-content"},FW={class:"stat-value"},DW={class:"stat-card"},AW={class:"stat-content"},TW={class:"stat-value"},SW={class:"stat-card"},IW={class:"stat-content"},PW={class:"stat-value"},NW={class:"stat-card"},BW={class:"stat-content"},MW={class:"stat-value"},OW={class:"stat-card"},UW={class:"stat-content"},jW={class:"stat-value"},LW={class:"stat-card"},RW={class:"stat-content"},zW={class:"stat-value"},HW={class:"analysis-section"},YW={class:"stats-grid"},$W={class:"stat-card"},GW={class:"stat-content"},WW={class:"stat-value"},VW={class:"stat-desc"},KW={class:"stat-card"},JW={class:"stat-content"},qW={class:"stat-value"},ZW={class:"stat-desc"},XW={class:"stat-card"},QW={class:"stat-content"},eV={class:"stat-value"},tV={class:"stat-desc"},aV={class:"stat-card"},nV={class:"stat-content"},rV={class:"stat-value"},sV={class:"stat-desc"},iV={class:"stat-card"},oV={class:"stat-content"},lV={class:"stat-value"},cV={class:"stat-desc"},uV={class:"stat-card"},dV={class:"stat-content"},hV={class:"stat-value"},pV={class:"stat-desc"},fV={class:"stat-card"},mV={class:"stat-content"},gV={class:"stat-value"},yV={class:"stat-desc"},vV={class:"stat-card"},bV={class:"stat-content"},wV={class:"stat-value"},xV={class:"stat-desc"},kV={class:"detailed-analysis-section"},_V={class:"analysis-grid"},EV={class:"analysis-card"},CV={class:"analysis-item"},FV={class:"analysis-value"},DV={class:"analysis-item"},AV={class:"analysis-value"},TV={class:"analysis-item"},SV={class:"analysis-value"},IV={class:"analysis-item"},PV={class:"analysis-value"},NV={class:"analysis-item"},BV={class:"analysis-value"},MV={class:"analysis-card"},OV={class:"analysis-item"},UV={class:"analysis-value"},jV={class:"analysis-item"},LV={class:"analysis-value"},RV={class:"analysis-item"},zV={class:"analysis-value"},HV={class:"analysis-item"},YV={class:"analysis-value"},$V={class:"analysis-item"},GV={class:"analysis-value"},WV={class:"analysis-card"},VV={class:"analysis-item"},KV={class:"analysis-item"},JV={class:"analysis-value"},qV={class:"analysis-item"},ZV={class:"analysis-value"},XV={class:"analysis-item"},QV={class:"analysis-value"},eK={class:"analysis-item"},tK={class:"analysis-value"},aK={class:"analysis-card"},nK={class:"analysis-item"},rK={class:"analysis-value"},sK={class:"analysis-item"},iK={class:"analysis-value"},oK={class:"analysis-item"},lK={class:"analysis-value"},cK={class:"analysis-item"},uK={class:"analysis-value"},dK={class:"analysis-item"},hK={class:"analysis-value"},pK=Ya({__name:"StringCounter",emits:["back"],setup(e){il("string-counter");const{success:t,error:a}=Vo(),n=St(""),r=St(""),s=St("success"),i=St(),o=St(null),l=bt({totalChars:0,charsNoSpace:0,bytes:0,lines:0,words:0,paragraphs:0,numbers:0,letters:0,chinese:0,symbols:0,spaces:0,uppercase:0,lowercase:0,others:0,uniqueWords:0,wordFrequencies:new Map}),c=()=>{const e=n.value,t=l.totalChars;l.totalChars=e.length,l.charsNoSpace=e.replace(/\s/g,"").length,l.bytes=new Blob([e]).size,l.lines=e?e.split("\n").length:0,l.paragraphs=e?e.split(/\n\s*\n/).filter(e=>e.trim()).length:0;const a=e.trim()?e.trim().split(/\s+/):[];l.words=a.length,l.wordFrequencies.clear(),a.forEach(e=>{const t=e.toLowerCase().replace(/[^\w\u4e00-\u9fa5]/g,"");t&&l.wordFrequencies.set(t,(l.wordFrequencies.get(t)||0)+1)}),l.uniqueWords=l.wordFrequencies.size,l.numbers=(e.match(/\d/g)||[]).length,l.letters=(e.match(/[a-zA-Z]/g)||[]).length,l.chinese=(e.match(/[\u4e00-\u9fa5]/g)||[]).length,l.uppercase=(e.match(/[A-Z]/g)||[]).length,l.lowercase=(e.match(/[a-z]/g)||[]).length,l.spaces=(e.match(/\s/g)||[]).length;const r=l.letters+l.numbers+l.chinese+l.spaces,s=(e.match(/[^\w\s\u4e00-\u9fa5]/g)||[]).length;l.symbols=s,l.others=l.totalChars-r-s,0===t&&l.totalChars>50&&R("文本已输入,统计完成","success")},u=(e,t)=>0===t?"0.0":(e/t*100).toFixed(1),d=()=>0===l.lines?"0":(l.totalChars/l.lines).toFixed(1),h=()=>{if(0===l.lines)return"0";return(n.value.split("\n").reduce((e,t)=>e+t.length,0)/l.lines).toFixed(1)},p=()=>0===l.words?"0":(l.charsNoSpace/l.words).toFixed(1),f=()=>{if(!n.value)return 0;const e=n.value.split("\n");return Math.max(...e.map(e=>e.length))},m=()=>{if(!n.value)return 0;const e=n.value.split("\n").filter(e=>e.length>0);return 0===e.length?0:Math.min(...e.map(e=>e.length))},g=()=>0===l.words?"0.0":(l.uniqueWords/l.words*100).toFixed(1),y=()=>0===l.uniqueWords?"0.0":(l.words/l.uniqueWords).toFixed(1),v=()=>0===l.wordFrequencies.size?0:Math.max(...Array.from(l.wordFrequencies.values())),b=()=>{let e=0;e+=.3*parseFloat(g());const t=parseFloat(p());e+=.25*Math.min(10*t,25);e+=.2*parseFloat(_());const a=parseFloat(E());e+=.15*Math.min(5*a,15);return e+=.1*w(),Math.min(e,100).toFixed(1)},w=()=>{if(!n.value)return 0;const e=n.value.split("\n");if(e.length<2)return 0;const t=e.map(e=>e.length),a=t.reduce((e,t)=>e+t,0)/t.length,r=t.reduce((e,t)=>e+Math.pow(t-a,2),0)/t.length,s=Math.sqrt(r);return Math.min(s/a*100,100)||0},x=()=>{const e=parseFloat(b());return e>=80?"very-high":e>=60?"high":e>=40?"medium":e>=20?"low":"very-low"},k=()=>{const e=parseFloat(b());return e>=80?"专业级":e>=60?"高级":e>=40?"中级":e>=20?"初级":"入门级"},_=()=>{if(0===l.totalChars)return"0.0";const e=l.letters/l.totalChars,t=l.chinese/l.totalChars;return(2*Math.min(e,t)*100).toFixed(1)},E=()=>u(l.symbols,l.totalChars),C=()=>u(l.numbers,l.totalChars),F=()=>{const e=l.chinese>l.letters?300:200,t=l.words/e;return t<1?`${Math.round(60*t)} 秒`:`${t.toFixed(1)} 分钟`},D=()=>{const e=l.chinese>l.letters?30:40,t=l.words/e;return t<1?`${Math.round(60*t)} 秒`:`${t.toFixed(1)} 分钟`},A=()=>{const e=l.chinese>l.letters?200:150,t=l.words/e;return t<1?`${Math.round(60*t)} 秒`:`${t.toFixed(1)} 分钟`},T=()=>{const e=l.chinese>l.letters?15:20,t=l.words/e;return t<1?`${Math.round(60*t)} 秒`:`${t.toFixed(1)} 分钟`},S=()=>{const e=l.words/10;return e<1?`${Math.round(60*e)} 秒`:`${e.toFixed(1)} 分钟`},I=async e=>{const t=e.target,a=t.files?.[0];if(a)if(a.size>5242880)R("文件大小不能超过5MB","error");else try{const e=await P(a);n.value=e,o.value={name:a.name,size:a.size},c(),R(`文件 ${a.name} 上传成功`,"success")}catch(r){R("文件读取失败","error")}},P=e=>new Promise((t,a)=>{const n=new FileReader;n.onload=e=>{const n=e.target?.result;"string"==typeof n?t(n):a(new Error("文件读取失败"))},n.onerror=a,n.readAsText(e,"UTF-8")}),N=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]},B=()=>{n.value="这是一个功能强大的字符串长度统计工具示例文本。\nThis is a comprehensive text analysis tool that supports multiple languages!\n支持中文、English、数字123、特殊符号!@#等各种字符的深度分析。\n\n主要功能特点:\n1. 基础统计:字符数、单词数、行数、段落数等\n2. 字符分析:数字、字母、中文、符号等类型分布\n3. 深度分析:字符密度、词汇丰富度、复杂度评分\n4. 时间估算:阅读、打字、语音、手写、翻译时间\n5. 文件支持:支持多种格式的文本文件上传\n6. 导出功能:一键复制或导出详细分析报告\n\nTry it out with your own text! 试试看吧!\n这个工具可以帮助您深入了解文本的各种特征和属性。",o.value=null,c(),R("已加载示例文本","success")},M=()=>{n.value="",o.value=null,i.value&&(i.value.value=""),c(),R("已清空所有内容","success")},O=async()=>{const e=j();try{await navigator.clipboard.writeText(e),R("统计结果已复制到剪贴板","success")}catch(t){R("复制失败","error")}},U=()=>{const e=L(),t=new Blob([e],{type:"text/plain;charset=utf-8"}),a=URL.createObjectURL(t),n=document.createElement("a");n.href=a,n.download=`文本分析报告_${(new Date).toISOString().slice(0,10)}.txt`,n.click(),URL.revokeObjectURL(a),R("分析报告已导出","success")},j=()=>`文本统计结果\n================\n总字符数: ${l.totalChars}\n不含空格: ${l.charsNoSpace}\n字节数: ${l.bytes}\n行数: ${l.lines}\n单词数: ${l.words}\n段落数: ${l.paragraphs}\n\n字符分析\n========\n数字字符: ${l.numbers} (${u(l.numbers,l.totalChars)}%)\n字母字符: ${l.letters} (${u(l.letters,l.totalChars)}%)\n中文字符: ${l.chinese} (${u(l.chinese,l.totalChars)}%)\n大写字母: ${l.uppercase} (${u(l.uppercase,l.totalChars)}%)\n小写字母: ${l.lowercase} (${u(l.lowercase,l.totalChars)}%)\n特殊符号: ${l.symbols} (${u(l.symbols,l.totalChars)}%)\n空白字符: ${l.spaces} (${u(l.spaces,l.totalChars)}%)\n\n复杂度分析\n==========\n文本复杂度: ${b()}\n可读性等级: ${k()}\n词汇丰富度: ${g()}%\n语言混合度: ${_()}%\n\n时间估算\n========\n阅读时间: ${F()}\n打字时间: ${D()}\n语音时间: ${A()}\n手写时间: ${T()}\n翻译时间: ${S()}`,L=()=>j()+`\n\n详细分析\n========\n字符密度: ${d()}\n平均行长: ${h()} 字符\n平均词长: ${p()} 字符\n最长行: ${f()} 字符\n最短行: ${m()} 字符\n唯一词汇: ${l.uniqueWords}\n重复词汇: ${l.words-l.uniqueWords}\n平均词频: ${y()}\n最高词频: ${v()}\n标点密度: ${E()}%\n数字密度: ${C()}%\n\n生成时间: ${(new Date).toLocaleString()}\n工具版本: StringCounter v2.0`,R=(e,n)=>{"success"===n?t(e):a(e),r.value=e,s.value=n,setTimeout(()=>{r.value=""},3e3)};return nn(()=>{c()}),(e,t)=>(Cr(),Tr("div",fW,[Or(hl,{title:"字符串长度统计",onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:M}),Or(jl,{icon:"copy",tooltip:"复制统计结果",onClick:O}),Or(jl,{icon:"download",tooltip:"导出统计报告",onClick:U})]),_:1}),Mr("div",mW,[Mr("div",gW,[Mr("div",yW,[t[5]||(t[5]=Mr("h3",null,"输入文本",-1)),Mr("div",vW,[Mr("button",{class:"quick-btn",onClick:B,title:"示例"},[...t[3]||(t[3]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})],-1),jr(" 示例 ",-1)])]),Mr("input",{ref_key:"fileInput",ref:i,type:"file",onChange:I,accept:".txt,.md,.json,.xml,.html,.css,.js,.ts,.vue,.py,.java,.cpp,.c,.h",style:{display:"none"}},null,544),Mr("button",{class:"quick-btn",onClick:t[1]||(t[1]=e=>i.value?.click()),title:"上传文件"},[...t[4]||(t[4]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"17,8 12,3 7,8"}),Mr("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1),jr(" 上传 ",-1)])])])]),o.value?(Cr(),Tr("div",bW,[Mr("span",wW,se(o.value.name),1),Mr("span",xW,se(N(o.value.size)),1)])):Rr("",!0),ca(Mr("textarea",{"onUpdate:modelValue":t[2]||(t[2]=e=>n.value=e),class:"text-input",placeholder:"在此输入或粘贴文本...",onInput:c},null,544),[[bi,n.value]])]),Mr("div",kW,[t[24]||(t[24]=Mr("div",{class:"section-header"},[Mr("h3",null,"基础统计")],-1)),Mr("div",_W,[Mr("div",EW,[t[8]||(t[8]=Mr("div",{class:"stat-icon"},"📝",-1)),Mr("div",CW,[t[6]||(t[6]=Mr("div",{class:"stat-label"},"总字符数",-1)),Mr("div",FW,se(l.totalChars),1),t[7]||(t[7]=Mr("div",{class:"stat-desc"},"包含所有字符",-1))])]),Mr("div",DW,[t[11]||(t[11]=Mr("div",{class:"stat-icon"},"🔤",-1)),Mr("div",AW,[t[9]||(t[9]=Mr("div",{class:"stat-label"},"不含空格",-1)),Mr("div",TW,se(l.charsNoSpace),1),t[10]||(t[10]=Mr("div",{class:"stat-desc"},"排除空白字符",-1))])]),Mr("div",SW,[t[14]||(t[14]=Mr("div",{class:"stat-icon"},"💾",-1)),Mr("div",IW,[t[12]||(t[12]=Mr("div",{class:"stat-label"},"字节数",-1)),Mr("div",PW,se(l.bytes),1),t[13]||(t[13]=Mr("div",{class:"stat-desc"},"UTF-8编码",-1))])]),Mr("div",NW,[t[17]||(t[17]=Mr("div",{class:"stat-icon"},"📄",-1)),Mr("div",BW,[t[15]||(t[15]=Mr("div",{class:"stat-label"},"行数",-1)),Mr("div",MW,se(l.lines),1),t[16]||(t[16]=Mr("div",{class:"stat-desc"},"换行符分隔",-1))])]),Mr("div",OW,[t[20]||(t[20]=Mr("div",{class:"stat-icon"},"📖",-1)),Mr("div",UW,[t[18]||(t[18]=Mr("div",{class:"stat-label"},"单词数",-1)),Mr("div",jW,se(l.words),1),t[19]||(t[19]=Mr("div",{class:"stat-desc"},"空格分隔",-1))])]),Mr("div",LW,[t[23]||(t[23]=Mr("div",{class:"stat-icon"},"📑",-1)),Mr("div",RW,[t[21]||(t[21]=Mr("div",{class:"stat-label"},"段落数",-1)),Mr("div",zW,se(l.paragraphs),1),t[22]||(t[22]=Mr("div",{class:"stat-desc"},"空行分隔",-1))])])])]),Mr("div",HW,[t[41]||(t[41]=Mr("div",{class:"section-header"},[Mr("h3",null,"字符分析")],-1)),Mr("div",YW,[Mr("div",$W,[t[26]||(t[26]=Mr("div",{class:"stat-icon"},"🔢",-1)),Mr("div",GW,[t[25]||(t[25]=Mr("div",{class:"stat-label"},"数字字符",-1)),Mr("div",WW,se(l.numbers),1),Mr("div",VW,se(u(l.numbers,l.totalChars))+"%",1)])]),Mr("div",KW,[t[28]||(t[28]=Mr("div",{class:"stat-icon"},"🔠",-1)),Mr("div",JW,[t[27]||(t[27]=Mr("div",{class:"stat-label"},"字母字符",-1)),Mr("div",qW,se(l.letters),1),Mr("div",ZW,se(u(l.letters,l.totalChars))+"%",1)])]),Mr("div",XW,[t[30]||(t[30]=Mr("div",{class:"stat-icon"},"🈳",-1)),Mr("div",QW,[t[29]||(t[29]=Mr("div",{class:"stat-label"},"中文字符",-1)),Mr("div",eV,se(l.chinese),1),Mr("div",tV,se(u(l.chinese,l.totalChars))+"%",1)])]),Mr("div",aV,[t[32]||(t[32]=Mr("div",{class:"stat-icon"},"🔡",-1)),Mr("div",nV,[t[31]||(t[31]=Mr("div",{class:"stat-label"},"大写字母",-1)),Mr("div",rV,se(l.uppercase),1),Mr("div",sV,se(u(l.uppercase,l.totalChars))+"%",1)])]),Mr("div",iV,[t[34]||(t[34]=Mr("div",{class:"stat-icon"},"🔡",-1)),Mr("div",oV,[t[33]||(t[33]=Mr("div",{class:"stat-label"},"小写字母",-1)),Mr("div",lV,se(l.lowercase),1),Mr("div",cV,se(u(l.lowercase,l.totalChars))+"%",1)])]),Mr("div",uV,[t[36]||(t[36]=Mr("div",{class:"stat-icon"},"⚡",-1)),Mr("div",dV,[t[35]||(t[35]=Mr("div",{class:"stat-label"},"特殊符号",-1)),Mr("div",hV,se(l.symbols),1),Mr("div",pV,se(u(l.symbols,l.totalChars))+"%",1)])]),Mr("div",fV,[t[38]||(t[38]=Mr("div",{class:"stat-icon"},"⬜",-1)),Mr("div",mV,[t[37]||(t[37]=Mr("div",{class:"stat-label"},"空白字符",-1)),Mr("div",gV,se(l.spaces),1),Mr("div",yV,se(u(l.spaces,l.totalChars))+"%",1)])]),Mr("div",vV,[t[40]||(t[40]=Mr("div",{class:"stat-icon"},"🌐",-1)),Mr("div",bV,[t[39]||(t[39]=Mr("div",{class:"stat-label"},"其他字符",-1)),Mr("div",wV,se(l.others),1),Mr("div",xV,se(u(l.others,l.totalChars))+"%",1)])])])]),Mr("div",kV,[t[66]||(t[66]=Mr("div",{class:"section-header"},[Mr("h3",null,"详细分析")],-1)),Mr("div",_V,[Mr("div",EV,[t[47]||(t[47]=Mr("h4",null,"📊 字符密度",-1)),Mr("div",CV,[t[42]||(t[42]=Mr("span",{class:"analysis-label"},"字符密度:",-1)),Mr("span",FV,se(d()),1)]),Mr("div",DV,[t[43]||(t[43]=Mr("span",{class:"analysis-label"},"平均行长:",-1)),Mr("span",AV,se(h())+" 字符",1)]),Mr("div",TV,[t[44]||(t[44]=Mr("span",{class:"analysis-label"},"平均词长:",-1)),Mr("span",SV,se(p())+" 字符",1)]),Mr("div",IV,[t[45]||(t[45]=Mr("span",{class:"analysis-label"},"最长行:",-1)),Mr("span",PV,se(f())+" 字符",1)]),Mr("div",NV,[t[46]||(t[46]=Mr("span",{class:"analysis-label"},"最短行:",-1)),Mr("span",BV,se(m())+" 字符",1)])]),Mr("div",MV,[t[53]||(t[53]=Mr("h4",null,"📚 词汇丰富度",-1)),Mr("div",OV,[t[48]||(t[48]=Mr("span",{class:"analysis-label"},"唯一词汇:",-1)),Mr("span",UV,se(l.uniqueWords),1)]),Mr("div",jV,[t[49]||(t[49]=Mr("span",{class:"analysis-label"},"词汇丰富度:",-1)),Mr("span",LV,se(g())+"%",1)]),Mr("div",RV,[t[50]||(t[50]=Mr("span",{class:"analysis-label"},"重复词汇:",-1)),Mr("span",zV,se(l.words-l.uniqueWords),1)]),Mr("div",HV,[t[51]||(t[51]=Mr("span",{class:"analysis-label"},"平均词频:",-1)),Mr("span",YV,se(y()),1)]),Mr("div",$V,[t[52]||(t[52]=Mr("span",{class:"analysis-label"},"最高词频:",-1)),Mr("span",GV,se(v()),1)])]),Mr("div",WV,[t[59]||(t[59]=Mr("h4",null,"🎯 复杂度评分",-1)),Mr("div",VV,[t[54]||(t[54]=Mr("span",{class:"analysis-label"},"文本复杂度:",-1)),Mr("span",{class:Q(["analysis-value complexity-score",x()])},se(b()),3)]),Mr("div",KV,[t[55]||(t[55]=Mr("span",{class:"analysis-label"},"可读性等级:",-1)),Mr("span",JV,se(k()),1)]),Mr("div",qV,[t[56]||(t[56]=Mr("span",{class:"analysis-label"},"语言混合度:",-1)),Mr("span",ZV,se(_())+"%",1)]),Mr("div",XV,[t[57]||(t[57]=Mr("span",{class:"analysis-label"},"标点密度:",-1)),Mr("span",QV,se(E())+"%",1)]),Mr("div",eK,[t[58]||(t[58]=Mr("span",{class:"analysis-label"},"数字密度:",-1)),Mr("span",tK,se(C())+"%",1)])]),Mr("div",aK,[t[65]||(t[65]=Mr("h4",null,"⏱️ 时间估算",-1)),Mr("div",nK,[t[60]||(t[60]=Mr("span",{class:"analysis-label"},"阅读时间:",-1)),Mr("span",rK,se(F()),1)]),Mr("div",sK,[t[61]||(t[61]=Mr("span",{class:"analysis-label"},"打字时间:",-1)),Mr("span",iK,se(D()),1)]),Mr("div",oK,[t[62]||(t[62]=Mr("span",{class:"analysis-label"},"语音时间:",-1)),Mr("span",lK,se(A()),1)]),Mr("div",cK,[t[63]||(t[63]=Mr("span",{class:"analysis-label"},"手写时间:",-1)),Mr("span",uK,se(T()),1)]),Mr("div",dK,[t[64]||(t[64]=Mr("span",{class:"analysis-label"},"翻译时间:",-1)),Mr("span",hK,se(S()),1)])])])]),t[67]||(t[67]=Lr('
📊

全面统计

提供字符、单词、行数、段落等多维度统计分析。

🔍

深度分析

字符密度、词汇丰富度、复杂度评分等高级分析功能。

📁

文件支持

支持上传多种格式的文本文件进行批量分析。

📋

导出功能

一键复制统计结果或导出详细的分析报告。

',1))]),r.value?(Cr(),Tr("div",{key:0,class:Q(["message-toast",s.value])},se(r.value),3)):Rr("",!0)]))}}),fK=Wi(pK,[["__scopeId","data-v-df989333"]]),mK={class:"php-serializer"},gK={class:"mode-toggle"},yK={class:"serializer-content"},vK={class:"examples-section"},bK={class:"examples-grid"},wK={key:0,class:"convert-section"},xK={class:"input-panel"},kK={class:"section-header"},_K={class:"section-title"},EK={class:"format-selector"},CK={class:"panel-content"},FK=["placeholder"],DK={class:"output-panel"},AK={class:"section-header"},TK={class:"section-title"},SK={class:"panel-info"},IK={key:0,class:"char-count"},PK={class:"panel-content"},NK={key:1,class:"convert-section"},BK={class:"input-panel"},MK={class:"panel-content"},OK={class:"output-panel"},UK={class:"section-header"},jK={class:"section-title"},LK={class:"format-selector"},RK={class:"panel-content"},zK=Ya({__name:"PhpSerializer",emits:["back"],setup(e){il("php-serializer");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),{downloadText:r}=ol(),s=St("serialize"),i=St("array"),o=St("json"),l=St(""),c=St(""),u=St(""),d=e=>{s.value=e,_()},h=e=>{i.value=e,g()},p=e=>{o.value=e,y()},f=()=>{switch(i.value){case"array":return"请输入PHP数组格式,例如:\narray(\n 'name' => 'John',\n 'age' => 30,\n 'city' => 'New York'\n)";case"json":return'请输入JSON格式,例如:\n{\n "name": "John",\n "age": 30,\n "city": "New York"\n}';case"xml":return"请输入XML格式,例如:\n\n John\n 30\n New York\n";default:return"请输入要序列化的数据..."}},m=e=>{if(null===e)return"N;";if("boolean"==typeof e)return e?"b:1;":"b:0;";if("number"==typeof e)return Number.isInteger(e)?`i:${e};`:`d:${e};`;if("string"==typeof e)return`s:${e.length}:"${e}";`;if(Array.isArray(e)){let t=`a:${e.length}:{`;return e.forEach((e,a)=>{t+=m(a)+m(e)}),t+="}",t}if("object"==typeof e){const t=Object.keys(e);let a=`a:${t.length}:{`;return t.forEach(t=>{a+=m(t)+m(e[t])}),a+="}",a}return"N;"},g=()=>{if(l.value.trim())try{let e;switch(i.value){case"array":e=(e=>{try{let t=e.trim();t.startsWith("array(")&&(t=t.substring(6,t.length-1));const a={},n=t.split(",");for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf("=>");if(n>-1){let e=t.substring(0,n).trim(),r=t.substring(n+2).trim();e=e.replace(/^['"]|['"]$/g,""),r=r.replace(/^['"]|['"]$/g,""),/^\d+$/.test(r)?a[e]=parseInt(r):a[e]=r}}return a}catch(t){throw new Error("PHP数组格式错误")}})(l.value);break;case"json":e=JSON.parse(l.value);break;case"xml":return void a("XML解析功能开发中...");default:throw new Error("不支持的输入格式")}u.value=m(e)}catch(e){a(`序列化失败: ${e instanceof Error?e.message:"未知错误"}`),u.value=""}else u.value=""},y=()=>{if(c.value.trim())try{const e=(e=>{let t=0;const a=()=>{const n=e[t];switch(t+=2,n){case"N":return t++,null;case"b":const n="1"===e[t];return t+=2,n;case"i":const r=e.indexOf(";",t),s=parseInt(e.substring(t,r));return t=r+1,s;case"d":const i=e.indexOf(";",t),o=parseFloat(e.substring(t,i));return t=i+1,o;case"s":const l=e.indexOf(":",t),c=parseInt(e.substring(t,l));t=l+2;const u=e.substring(t,t+c);return t+=c+2,u;case"a":const d=e.indexOf(":",t),h=parseInt(e.substring(t,d));t=d+2;const p={};for(let e=0;e{const a=" ".repeat(t);if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("number"==typeof e)return e.toString();if("string"==typeof e)return`'${e}'`;if("object"==typeof e){const n=Object.entries(e);if(0===n.length)return"array()";let r="array(\n";return n.forEach(([e,s],i)=>{const o=/^\d+$/.test(e)?e:`'${e}'`,l=v(s,t+1);r+=`${a} ${o} => ${l}`,i{const a=(e,t)=>{if(null===e)return`<${t}>`;if("object"==typeof e){let n=`<${t}>\n`;return Object.entries(e).forEach(([e,t])=>{n+=" "+a(t,e)+"\n"}),n+=``,n}return`<${t}>${e}`};return`\n${a(e,t)}`},w=e=>{const a={array:{mode:"serialize",format:"array",data:"array(\n 'name' => 'John Doe',\n 'age' => 30,\n 'email' => 'john@example.com',\n 'skills' => array('PHP', 'JavaScript', 'Python'),\n 'active' => true\n)"},object:{mode:"serialize",format:"json",data:'{\n "user": {\n "id": 123,\n "profile": {\n "name": "Alice",\n "settings": {\n "theme": "dark",\n "notifications": true\n }\n }\n }\n}'},complex:{mode:"serialize",format:"array",data:"array(\n 'users' => array(\n array('id' => 1, 'name' => 'John'),\n array('id' => 2, 'name' => 'Jane')\n ),\n 'config' => array(\n 'debug' => true,\n 'version' => '1.0.0'\n )\n)"},json:{mode:"serialize",format:"json",data:'{\n "products": [\n {"id": 1, "name": "Laptop", "price": 999.99},\n {"id": 2, "name": "Mouse", "price": 29.99}\n ],\n "total": 1029.98,\n "currency": "USD"\n}'}}[e];a&&(s.value=a.mode,i.value=a.format,l.value=a.data,c.value="",u.value="",g(),t("已加载示例"))},x=async()=>{if(!u.value)return void a("没有可复制的内容");await n(u.value)?t("结果已复制"):a("复制失败")},k=()=>{if(!u.value)return void a("没有可下载的内容");const e="serialize"===s.value?"txt":"json"===o.value?"json":"xml"===o.value?"xml":"txt";r(u.value,`php-${s.value}-result`,e)?t("文件已下载"):a("下载失败")},_=()=>{l.value="",c.value="",u.value="",t("已清空所有内容")};return(e,t)=>(Cr(),Tr("div",mK,[Or(hl,{title:"PHP序列化转换",onBack:t[2]||(t[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",gK,[Mr("button",{class:Q(["mode-btn",{active:"serialize"===s.value}]),onClick:t[0]||(t[0]=e=>d("serialize"))}," 序列化 ",2),Mr("button",{class:Q(["mode-btn",{active:"unserialize"===s.value}]),onClick:t[1]||(t[1]=e=>d("unserialize"))}," 反序列化 ",2)]),Or(jl,{icon:"copy",tooltip:"复制结果",onClick:x,disabled:!u.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载文件",onClick:k,disabled:!u.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:_})]),_:1}),Mr("div",yK,[Mr("div",vK,[t[21]||(t[21]=Mr("div",{class:"examples-header"},[Mr("h3",null,"📝 快速示例")],-1)),Mr("div",bK,[Mr("button",{class:"example-btn",onClick:t[3]||(t[3]=e=>w("array"))},[...t[17]||(t[17]=[Mr("span",{class:"example-title"},"PHP数组",-1),Mr("span",{class:"example-preview"},"关联数组和索引数组",-1)])]),Mr("button",{class:"example-btn",onClick:t[4]||(t[4]=e=>w("object"))},[...t[18]||(t[18]=[Mr("span",{class:"example-title"},"PHP对象",-1),Mr("span",{class:"example-preview"},"类实例和属性",-1)])]),Mr("button",{class:"example-btn",onClick:t[5]||(t[5]=e=>w("complex"))},[...t[19]||(t[19]=[Mr("span",{class:"example-title"},"复杂结构",-1),Mr("span",{class:"example-preview"},"嵌套数组和对象",-1)])]),Mr("button",{class:"example-btn",onClick:t[6]||(t[6]=e=>w("json"))},[...t[20]||(t[20]=[Mr("span",{class:"example-title"},"JSON数据",-1),Mr("span",{class:"example-preview"},"JSON转PHP序列化",-1)])])])]),"serialize"===s.value?(Cr(),Tr("div",wK,[Mr("div",xK,[Mr("div",kK,[Mr("div",_K,[t[22]||(t[22]=Mr("h3",null,"📝 输入数据",-1)),Mr("div",EK,[Mr("button",{class:Q(["format-btn",{active:"array"===i.value}]),onClick:t[7]||(t[7]=e=>h("array"))}," PHP数组 ",2),Mr("button",{class:Q(["format-btn",{active:"json"===i.value}]),onClick:t[8]||(t[8]=e=>h("json"))}," JSON ",2),Mr("button",{class:Q(["format-btn",{active:"xml"===i.value}]),onClick:t[9]||(t[9]=e=>h("xml"))}," XML ",2)])])]),Mr("div",CK,[ca(Mr("textarea",{"onUpdate:modelValue":t[10]||(t[10]=e=>l.value=e),class:"data-input",placeholder:f(),onInput:g},null,40,FK),[[bi,l.value]])])]),Mr("div",DK,[Mr("div",AK,[Mr("div",TK,[t[23]||(t[23]=Mr("h3",null,"🐘 PHP序列化结果",-1)),Mr("div",SK,[u.value?(Cr(),Tr("span",IK,se(u.value.length)+" 字符",1)):Rr("",!0)])])]),Mr("div",PK,[ca(Mr("textarea",{"onUpdate:modelValue":t[11]||(t[11]=e=>u.value=e),class:"data-output",placeholder:"序列化结果将显示在这里...",readonly:""},null,512),[[bi,u.value]])])])])):Rr("",!0),"unserialize"===s.value?(Cr(),Tr("div",NK,[Mr("div",BK,[t[24]||(t[24]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"🐘 PHP序列化数据"),Mr("div",{class:"panel-info"},[Mr("span",{class:"input-hint"},"输入PHP序列化字符串")])])],-1)),Mr("div",MK,[ca(Mr("textarea",{"onUpdate:modelValue":t[12]||(t[12]=e=>c.value=e),class:"data-input",placeholder:"请输入PHP序列化字符串...",onInput:y},null,544),[[bi,c.value]])])]),Mr("div",OK,[Mr("div",UK,[Mr("div",jK,[t[25]||(t[25]=Mr("h3",null,"📄 反序列化结果",-1)),Mr("div",LK,[Mr("button",{class:Q(["format-btn",{active:"array"===o.value}]),onClick:t[13]||(t[13]=e=>p("array"))}," PHP数组 ",2),Mr("button",{class:Q(["format-btn",{active:"json"===o.value}]),onClick:t[14]||(t[14]=e=>p("json"))}," JSON ",2),Mr("button",{class:Q(["format-btn",{active:"xml"===o.value}]),onClick:t[15]||(t[15]=e=>p("xml"))}," XML ",2)])])]),Mr("div",RK,[ca(Mr("textarea",{"onUpdate:modelValue":t[16]||(t[16]=e=>u.value=e),class:"data-output",placeholder:"反序列化结果将显示在这里...",readonly:""},null,512),[[bi,u.value]])])])])):Rr("",!0),t[26]||(t[26]=Lr('

💡 使用说明

🔄

序列化

将PHP数组、JSON或XML数据转换为PHP序列化字符串格式。

📦

反序列化

将PHP序列化字符串还原为可读的数组、JSON或XML格式。

🔀

格式转换

支持PHP数组、JSON、XML之间的相互转换和序列化。

实时预览

输入数据后立即显示转换结果,支持错误提示和格式验证。

',1))]),Or(nl)]))}}),HK=Wi(zK,[["__scopeId","data-v-a9038348"]]),YK={class:"text-replacer"},$K={class:"replacer-content"},GK={class:"settings-section"},WK={class:"settings-grid"},VK={class:"setting-group"},KK={class:"input-wrapper"},JK={class:"setting-group"},qK={class:"input-wrapper"},ZK={class:"options-section"},XK={class:"options-grid"},QK={class:"option-item"},eJ={class:"option-item"},tJ={class:"option-item"},aJ={class:"option-item"},nJ={class:"text-section"},rJ={class:"input-panel"},sJ={class:"section-header"},iJ={class:"section-title"},oJ={class:"panel-info"},lJ={key:0,class:"char-count"},cJ={key:1,class:"match-count"},uJ={class:"panel-content"},dJ={class:"output-panel"},hJ={class:"section-header"},pJ={class:"section-title"},fJ={class:"panel-info"},mJ={key:0,class:"result-count"},gJ={key:1,class:"no-change"},yJ={class:"panel-content"},vJ={key:0,class:"matches-section"},bJ={class:"matches-header"},wJ={class:"matches-subtitle"},xJ={class:"matches-list"},kJ={class:"match-index"},_J={class:"match-text"},EJ={class:"match-position"},CJ={key:0,class:"more-matches"},FJ={class:"examples-section"},DJ={class:"examples-grid"},AJ=Wi(Ya({__name:"TextReplacer",emits:["back"],setup(e){il("text-replacer");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),{downloadText:r}=ol(),s=St(""),i=St(""),o=St(""),l=St(""),c=St(0),u=St(0),d=St([]),h=St(!1),p=St(!1),f=St(!0),m=St(!1),g=()=>{if(!s.value||!i.value)return l.value=s.value,c.value=0,u.value=0,void(d.value=[]);try{let e;if(h.value){let t="";p.value||(t+="i"),f.value&&(t+="g"),m.value&&(t+="m"),e=new RegExp(i.value,t)}else{const t=i.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");let a="";p.value||(a+="i"),f.value&&(a+="g"),m.value&&(a+="m"),e=new RegExp(t,a)}const t=Array.from(s.value.matchAll(e));c.value=t.length,d.value=t.map(e=>({text:e[0],start:e.index||0,end:(e.index||0)+e[0].length})),l.value=s.value.replace(e,o.value),u.value=t.length}catch(e){console.error("替换错误:",e),l.value=s.value,c.value=0,u.value=0,d.value=[]}},y=e=>{const a={email:{input:"联系我们:admin@example.com 或 support@test.org\n客服邮箱:service@company.com.cn",search:"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}",replace:"【邮箱地址】",regex:!0,caseSensitive:!1,global:!0},phone:{input:"电话:13812345678\n座机:010-12345678\n手机:+86 138-1234-5678",search:"(\\d{3})(\\d{4})(\\d{4})",replace:"$1-$2-$3",regex:!0,caseSensitive:!1,global:!0},space:{input:"这是 一段 有很多\n\n\n空格和换行的\t\t文本",search:"\\s+",replace:" ",regex:!0,caseSensitive:!1,global:!0},html:{input:'

这是HTML文本


',search:"<[^>]*>",replace:"",regex:!0,caseSensitive:!1,global:!0}}[e];a&&(s.value=a.input,i.value=a.search,o.value=a.replace,h.value=a.regex,p.value=a.caseSensitive,f.value=a.global,g(),t("已加载示例"))},v=async()=>{if(!l.value)return void a("没有可复制的内容");await n(l.value)?t("替换结果已复制"):a("复制失败")},b=()=>{if(!l.value)return void a("没有可下载的内容");r(l.value,"replaced-text","txt")?t("文件已下载"):a("下载失败")},w=()=>{s.value="",i.value="",o.value="",l.value="",c.value=0,u.value=0,d.value=[],h.value=!1,p.value=!1,f.value=!0,m.value=!1,t("已清空所有内容")};return(e,t)=>(Cr(),Tr("div",YK,[Or(hl,{title:"全局文本替换",onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制结果",onClick:v,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载文件",onClick:b,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:w})]),_:1}),Mr("div",$K,[Mr("div",GK,[t[19]||(t[19]=Mr("div",{class:"settings-header"},[Mr("h3",null,"🔧 替换设置")],-1)),Mr("div",WK,[Mr("div",VK,[t[13]||(t[13]=Mr("label",{class:"setting-label"},"查找内容",-1)),Mr("div",KK,[ca(Mr("input",{"onUpdate:modelValue":t[1]||(t[1]=e=>i.value=e),type:"text",class:"search-input",placeholder:"输入要查找的文本或正则表达式",onInput:g},null,544),[[bi,i.value]])])]),Mr("div",JK,[t[14]||(t[14]=Mr("label",{class:"setting-label"},"替换为",-1)),Mr("div",qK,[ca(Mr("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>o.value=e),type:"text",class:"replace-input",placeholder:"输入替换后的文本(支持$1, $2等捕获组)",onInput:g},null,544),[[bi,o.value]])])])]),Mr("div",ZK,[Mr("div",XK,[Mr("label",QK,[ca(Mr("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>h.value=e),type:"checkbox",onChange:g},null,544),[[wi,h.value]]),t[15]||(t[15]=Mr("div",{class:"option-content"},[Mr("span",{class:"option-title"},"正则表达式"),Mr("span",{class:"option-desc"},"启用正则表达式模式")],-1))]),Mr("label",eJ,[ca(Mr("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>p.value=e),type:"checkbox",onChange:g},null,544),[[wi,p.value]]),t[16]||(t[16]=Mr("div",{class:"option-content"},[Mr("span",{class:"option-title"},"区分大小写"),Mr("span",{class:"option-desc"},"匹配时区分大小写")],-1))]),Mr("label",tJ,[ca(Mr("input",{"onUpdate:modelValue":t[5]||(t[5]=e=>f.value=e),type:"checkbox",onChange:g},null,544),[[wi,f.value]]),t[17]||(t[17]=Mr("div",{class:"option-content"},[Mr("span",{class:"option-title"},"全局替换"),Mr("span",{class:"option-desc"},"替换所有匹配项")],-1))]),Mr("label",aJ,[ca(Mr("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>m.value=e),type:"checkbox",onChange:g},null,544),[[wi,m.value]]),t[18]||(t[18]=Mr("div",{class:"option-content"},[Mr("span",{class:"option-title"},"多行模式"),Mr("span",{class:"option-desc"},"^和$匹配行首行尾")],-1))])])])]),Mr("div",nJ,[Mr("div",rJ,[Mr("div",sJ,[Mr("div",iJ,[t[20]||(t[20]=Mr("h3",null,"📝 原始文本",-1)),Mr("div",oJ,[s.value?(Cr(),Tr("span",lJ,se(s.value.length)+" 字符",1)):Rr("",!0),c.value>0?(Cr(),Tr("span",cJ,se(c.value)+" 个匹配",1)):Rr("",!0)])])]),Mr("div",uJ,[ca(Mr("textarea",{"onUpdate:modelValue":t[7]||(t[7]=e=>s.value=e),class:"text-input",placeholder:"请输入要处理的文本...",onInput:g},null,544),[[bi,s.value]])])]),Mr("div",dJ,[Mr("div",hJ,[Mr("div",pJ,[t[21]||(t[21]=Mr("h3",null,"📄 替换结果",-1)),Mr("div",fJ,[u.value>0?(Cr(),Tr("span",mJ,"替换了 "+se(u.value)+" 处",1)):s.value&&l.value?(Cr(),Tr("span",gJ,"无匹配项")):Rr("",!0)])])]),Mr("div",yJ,[ca(Mr("textarea",{"onUpdate:modelValue":t[8]||(t[8]=e=>l.value=e),class:"text-output",placeholder:"替换结果将显示在这里...",readonly:""},null,512),[[bi,l.value]])])])]),d.value.length>0?(Cr(),Tr("div",vJ,[Mr("div",bJ,[Mr("h3",null,[t[22]||(t[22]=jr("🎯 匹配详情 ",-1)),Mr("span",wJ,"共找到 "+se(d.value.length)+" 个匹配项",1)])]),Mr("div",xJ,[(Cr(!0),Tr(br,null,yn(d.value.slice(0,20),(e,t)=>(Cr(),Tr("div",{key:t,class:"match-item"},[Mr("span",kJ,se(t+1),1),Mr("span",_J,se(e.text),1),Mr("span",EJ,"位置: "+se(e.start)+"-"+se(e.end),1)]))),128))]),d.value.length>20?(Cr(),Tr("div",CJ," 还有 "+se(d.value.length-20)+" 个匹配项未显示... ",1)):Rr("",!0)])):Rr("",!0),Mr("div",FJ,[t[27]||(t[27]=Mr("div",{class:"examples-header"},[Mr("h3",null,"📝 快速示例")],-1)),Mr("div",DJ,[Mr("button",{class:"example-btn",onClick:t[9]||(t[9]=e=>y("email"))},[...t[23]||(t[23]=[Mr("span",{class:"example-title"},"邮箱提取",-1),Mr("span",{class:"example-preview"},"提取文本中的邮箱地址",-1)])]),Mr("button",{class:"example-btn",onClick:t[10]||(t[10]=e=>y("phone"))},[...t[24]||(t[24]=[Mr("span",{class:"example-title"},"电话格式化",-1),Mr("span",{class:"example-preview"},"统一电话号码格式",-1)])]),Mr("button",{class:"example-btn",onClick:t[11]||(t[11]=e=>y("space"))},[...t[25]||(t[25]=[Mr("span",{class:"example-title"},"空格清理",-1),Mr("span",{class:"example-preview"},"清理多余空格和换行",-1)])]),Mr("button",{class:"example-btn",onClick:t[12]||(t[12]=e=>y("html"))},[...t[26]||(t[26]=[Mr("span",{class:"example-title"},"HTML标签",-1),Mr("span",{class:"example-preview"},"移除HTML标签",-1)])])])]),t[28]||(t[28]=Lr('

💡 使用说明

🔍

基础搜索

输入要查找的文本,支持普通文本和正则表达式两种模式。

🔄

替换功能

支持简单替换和正则捕获组替换,使用$1、$2等引用捕获的内容。

⚙️

高级选项

支持大小写敏感、全局替换、多行模式等多种匹配选项。

📝

常用模板

提供邮箱、手机号、URL提取等常用正则表达式模板。

',1))]),Or(nl)]))}}),[["__scopeId","data-v-0665c6f6"]]),TJ={},SJ=function(e,t,a){let n=Promise.resolve();if(t&&t.length>0){let e=function(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e}))))};const r=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),i=s?.nonce||s?.getAttribute("nonce");n=e(t.map(e=>{if(e=function(e,t){return new URL(e,t).href}(e,a),e in TJ)return;TJ[e]=!0;const t=e.endsWith(".css"),n=t?'[rel="stylesheet"]':"";if(a)for(let a=r.length-1;a>=0;a--){const n=r[a];if(n.href===e&&(!t||"stylesheet"===n.rel))return}else if(document.querySelector(`link[href="${e}"]${n}`))return;const s=document.createElement("link");return s.rel=t?"stylesheet":"modulepreload",t||(s.as="script"),s.crossOrigin="",s.href=e,i&&s.setAttribute("nonce",i),document.head.appendChild(s),t?new Promise((t,a)=>{s.addEventListener("load",t),s.addEventListener("error",()=>a(new Error(`Unable to preload CSS for ${e}`)))}):void 0}))}function r(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return e().catch(r)})},IJ={class:"chinese-converter"},PJ={class:"mode-toggle"},NJ={class:"converter-content"},BJ={class:"examples-section"},MJ={class:"examples-grid"},OJ={class:"convert-section"},UJ={class:"input-panel"},jJ={class:"section-header"},LJ={class:"section-title"},RJ={class:"panel-content"},zJ=["placeholder"],HJ={class:"output-panel"},YJ={class:"section-header"},$J={class:"section-title"},GJ={key:0,class:"standard-selector"},WJ={class:"panel-content"},VJ={key:0,class:"details-section"},KJ={class:"stats-info"},JJ={key:0,class:"stat-item"},qJ={class:"stat-value"},ZJ={key:1,class:"stat-item"},XJ={class:"stat-value"},QJ={key:2,class:"stat-item"},eq={class:"stat-value"},tq={key:3,class:"stat-item"},aq={key:0,class:"conversion-details"},nq={class:"details-list"},rq={class:"original-char"},sq={class:"converted-char"},iq={class:"char-count"},oq={key:0,class:"more-details"},lq=Ya({__name:"ChineseConverter",emits:["back"],setup(e){let t=null;il("chinese-converter");const{success:a,error:n}=Vo(),{copyToClipboard:r}=ll(),{downloadText:s}=ol(),i=St("toTraditional"),o=St("tw"),l=St(""),c=St(""),u=St(0),d=St([]);let h=null;(async()=>{if(await(async()=>{try{const e=await SJ(()=>import("./full-0_kiFYUu.js"),[],import.meta.url);return t=e.Converter,!0}catch(e){return console.error("OpenCC 加载失败:",e),!1}})()&&t)try{h={s2t:t({from:"cn",to:"tw"}),s2hk:t({from:"cn",to:"hk"}),t2s:t({from:"tw",to:"cn"}),hk2s:t({from:"hk",to:"cn"})}}catch(e){console.error("OpenCC 初始化失败:",e),n("转换器初始化失败")}else n("OpenCC 加载失败,将使用基础转换功能")})();const p=is(()=>{if(!l.value)return 0;const e=l.value.match(/[\u4e00-\u9fa5]/g);return e?e.length:0}),f=e=>{i.value=e,x()},m=e=>{o.value=e,x()},g=()=>{switch(i.value){case"toTraditional":return"📝 简体中文输入";case"toSimplified":return"📝 繁体中文输入";case"auto":return"📝 智能识别输入";default:return"📝 文本输入"}},y=()=>{switch(i.value){case"toTraditional":return"tw"===o.value?"📄 繁体中文(台湾)":"📄 繁体中文(香港)";case"toSimplified":return"📄 简体中文输出";case"auto":return"📄 智能转换结果";default:return"📄 转换结果"}},v=()=>{switch(i.value){case"toTraditional":return"请输入简体中文文本...";case"toSimplified":return"请输入繁体中文文本...";case"auto":return"请输入中文文本,将自动识别并转换...";default:return"请输入中文文本..."}},b={s2t:{"国":"國","产":"產","发":"發","现":"現","实":"實","际":"際","学":"學","习":"習","电":"電","脑":"腦","网":"網","络":"絡","软":"軟","件":"件","开":"開","程":"程","序":"序","计":"計","算":"算","机":"機","技":"技","术":"術","公":"公","司":"司","企":"企","业":"業","管":"管","理":"理","系":"系","统":"統","数":"數","据":"據","库":"庫","服":"服","务":"務","应":"應","用":"用","设":"設","测":"測","试":"試","维":"維","护":"護"},t2s:{}};b.s2t&&Object.entries(b.s2t).forEach(([e,t])=>{b.t2s&&(b.t2s[t]=e)});const w=(e,t)=>{let a=t,n="";if("auto"===t){const t=(e=>{if(!h){const t=/[国产发现实际]/g,a=/[國產發現實際]/g,n=e.match(t)?.length||0,r=e.match(a)?.length||0;return n>r?"simplified":r>n?"traditional":"mixed"}if(!h.s2t||!h.t2s)return"mixed";try{const t=h.s2t(e),a=h.t2s(e);let n=0,r=0;for(let s=0;sr?"simplified":r>n?"traditional":"mixed"}catch(t){return console.error("OpenCC 检测失败:",t),"mixed"}})(e);a="simplified"===t?"toTraditional":"toSimplified"}if(h&&h.s2t&&h.s2hk&&h.t2s&&h.hk2s)try{n="toTraditional"===a?"tw"===o.value?h.s2t(e):h.s2hk(e):"tw"===o.value?h.t2s(e):h.hk2s(e)}catch(s){console.error("OpenCC 转换失败:",s),n=e}else{const t="toTraditional"===a?b.s2t:b.t2s;n=t?e.split("").map(e=>t[e]||e).join(""):e}const r={};for(let i=0;i({original:e,converted:t,count:a}))}},x=()=>{if(!l.value)return c.value="",u.value=0,void(d.value=[]);const{result:e,details:t}=w(l.value,i.value);c.value=e,u.value=t.reduce((e,t)=>e+t.count,0),d.value=t.sort((e,t)=>t.count-e.count)},k=e=>{const t={tech:"计算机技术发展迅速,人工智能、大数据、云计算等新兴技术不断涌现。软件开发、网络安全、移动应用等领域都在快速发展。",culture:"中华文化源远流长,传统节日如春节、中秋节承载着深厚的历史文化内涵。书法、绘画、诗词等艺术形式体现了中华民族的智慧。",business:"商业合作需要诚信为本,双方应该建立长期稳定的合作关系。市场营销、品牌建设、客户服务都是企业发展的重要环节。",daily:"今天天气很好,我们一起去公园散步吧。学习新知识很重要,要保持终身学习的习惯。健康的生活方式包括合理饮食和适量运动。"};l.value=t[e]||t.daily,x(),a("已加载示例文本")},_=async()=>{if(!c.value)return void n("没有可复制的内容");await r(c.value)?a("转换结果已复制"):n("复制失败")},E=()=>{if(!c.value)return void n("没有可下载的内容");s(c.value,"converted-text","txt")?a("文件已下载"):n("下载失败")},C=()=>{c.value?(l.value=c.value,"toTraditional"===i.value?i.value="toSimplified":"toSimplified"===i.value&&(i.value="toTraditional"),x(),a("已交换文本")):n("没有可交换的内容")},F=()=>{l.value="",c.value="",u.value=0,d.value=[],a("已清空所有内容")};return(e,t)=>(Cr(),Tr("div",IJ,[Or(hl,{title:"简繁体转换",onBack:t[3]||(t[3]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",PJ,[Mr("button",{class:Q(["mode-btn",{active:"toTraditional"===i.value}]),onClick:t[0]||(t[0]=e=>f("toTraditional"))}," 简→繁 ",2),Mr("button",{class:Q(["mode-btn",{active:"toSimplified"===i.value}]),onClick:t[1]||(t[1]=e=>f("toSimplified"))}," 繁→简 ",2),Mr("button",{class:Q(["mode-btn",{active:"auto"===i.value}]),onClick:t[2]||(t[2]=e=>f("auto"))}," 智能 ",2)]),Or(jl,{icon:"copy",tooltip:"复制结果",onClick:_,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载文件",onClick:E,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"swap",tooltip:"交换输入输出",onClick:C,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:F})]),_:1}),Mr("div",NJ,[Mr("div",BJ,[t[16]||(t[16]=Mr("div",{class:"examples-header"},[Mr("h3",null,"📝 快速示例")],-1)),Mr("div",MJ,[Mr("button",{class:"example-btn",onClick:t[4]||(t[4]=e=>k("tech"))},[...t[12]||(t[12]=[Mr("span",{class:"example-title"},"科技文本",-1),Mr("span",{class:"example-preview"},"计算机、网络、软件...",-1)])]),Mr("button",{class:"example-btn",onClick:t[5]||(t[5]=e=>k("culture"))},[...t[13]||(t[13]=[Mr("span",{class:"example-title"},"文化内容",-1),Mr("span",{class:"example-preview"},"传统文化、历史...",-1)])]),Mr("button",{class:"example-btn",onClick:t[6]||(t[6]=e=>k("business"))},[...t[14]||(t[14]=[Mr("span",{class:"example-title"},"商务用语",-1),Mr("span",{class:"example-preview"},"商业、贸易、合作...",-1)])]),Mr("button",{class:"example-btn",onClick:t[7]||(t[7]=e=>k("daily"))},[...t[15]||(t[15]=[Mr("span",{class:"example-title"},"日常用语",-1),Mr("span",{class:"example-preview"},"生活、学习、工作...",-1)])])])]),Mr("div",OJ,[Mr("div",UJ,[Mr("div",jJ,[Mr("div",LJ,[Mr("h3",null,se(g()),1)])]),Mr("div",RJ,[ca(Mr("textarea",{"onUpdate:modelValue":t[8]||(t[8]=e=>l.value=e),class:"text-input",placeholder:v(),onInput:x},null,40,zJ),[[bi,l.value]])])]),Mr("div",HJ,[Mr("div",YJ,[Mr("div",$J,[Mr("h3",null,se(y()),1),"toTraditional"===i.value||"auto"===i.value?(Cr(),Tr("div",GJ,[Mr("button",{class:Q(["standard-btn",{active:"tw"===o.value}]),onClick:t[9]||(t[9]=e=>m("tw"))}," 台湾 ",2),Mr("button",{class:Q(["standard-btn",{active:"hk"===o.value}]),onClick:t[10]||(t[10]=e=>m("hk"))}," 香港 ",2)])):Rr("",!0)])]),Mr("div",WJ,[ca(Mr("textarea",{"onUpdate:modelValue":t[11]||(t[11]=e=>c.value=e),class:"text-output",placeholder:"转换结果将显示在这里...",readonly:""},null,512),[[bi,c.value]])])])]),l.value||d.value.length>0?(Cr(),Tr("div",VJ,[t[22]||(t[22]=Mr("div",{class:"details-header"},[Mr("h3",null,[jr("📊 转换统计 "),Mr("span",{class:"details-subtitle"},"文本分析和转换详情")])],-1)),Mr("div",KJ,[l.value?(Cr(),Tr("div",JJ,[t[17]||(t[17]=Mr("span",{class:"stat-label"},"总字符数",-1)),Mr("span",qJ,se(l.value.length),1)])):Rr("",!0),p.value>0?(Cr(),Tr("div",ZJ,[t[18]||(t[18]=Mr("span",{class:"stat-label"},"中文字符",-1)),Mr("span",XJ,se(p.value),1)])):Rr("",!0),u.value>0?(Cr(),Tr("div",QJ,[t[19]||(t[19]=Mr("span",{class:"stat-label"},"转换字符",-1)),Mr("span",eq,se(u.value),1)])):l.value&&c.value?(Cr(),Tr("div",tq,[...t[20]||(t[20]=[Mr("span",{class:"stat-label"},"转换状态",-1),Mr("span",{class:"stat-value no-conversion"},"无需转换",-1)])])):Rr("",!0)]),d.value.length>0?(Cr(),Tr("div",aq,[Mr("h4",null,"转换详情(共 "+se(d.value.length)+" 个字符)",1),Mr("div",nq,[(Cr(!0),Tr(br,null,yn(d.value.slice(0,20),(e,a)=>(Cr(),Tr("div",{key:a,class:"detail-item"},[Mr("span",rq,se(e.original),1),t[21]||(t[21]=Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"9,18 15,12 9,6"})],-1)),Mr("span",sq,se(e.converted),1),Mr("span",iq,se(e.count)+"次",1)]))),128))]),d.value.length>20?(Cr(),Tr("div",oq," 还有 "+se(d.value.length-20)+" 个字符未显示... ",1)):Rr("",!0)])):Rr("",!0)])):Rr("",!0),t[23]||(t[23]=Lr('

💡 使用说明

🔄

转换模式

支持简体转繁体、繁体转简体,以及智能识别自动转换模式。

🌏

地区标准

支持台湾标准和香港标准的繁体中文转换,满足不同地区的用字习惯。

OpenCC 引擎

基于 OpenCC 开源转换引擎,提供准确、全面的简繁体转换服务。

📊

详细统计

显示转换字符数量、转换详情,帮助了解转换过程和结果。

🏛️ 关于 OpenCC

OpenCC(Open Chinese Convert)是一个开源的中文简繁转换项目,具有以下特点:

  • 权威性 - 基于学术研究和实际使用数据构建转换词典
  • 准确性 - 支持词汇级转换,避免单字转换的歧义问题
  • 标准化 - 支持多种地区标准(大陆、台湾、香港等)
  • 开源性 - 完全开源,持续更新和改进

本工具使用 OpenCC 引擎,为您提供专业级的简繁体转换服务。

',1))]),Or(nl)]))}}),cq=Wi(lq,[["__scopeId","data-v-2a39e6d6"]]),uq={class:"ascii-lookup-wrapper"},dq={class:"content-wrapper"},hq={class:"lookup-content"},pq={class:"main-content"},fq={class:"query-section"},mq={class:"section-header"},gq={class:"mode-toggle"},yq={class:"query-content"},vq={key:0,class:"char-query"},bq={class:"input-section"},wq={class:"input-wrapper"},xq={class:"quick-chars"},kq={class:"char-buttons"},_q=["onClick"],Eq={key:1,class:"code-query"},Cq={class:"input-section"},Fq={class:"input-wrapper"},Dq={class:"quick-codes"},Aq={class:"code-buttons"},Tq=["onClick"],Sq={key:0,class:"result-section"},Iq={class:"result-card"},Pq={class:"result-content"},Nq={class:"result-grid"},Bq={class:"result-item"},Mq={class:"result-value char-value"},Oq={class:"result-item"},Uq={class:"result-value code-value"},jq={class:"result-item"},Lq={class:"result-value hex-value"},Rq={class:"result-item"},zq={class:"result-value binary-value"},Hq={class:"result-description"},Yq={class:"desc-value"},$q={class:"ascii-table-section"},Gq={class:"section-header"},Wq={class:"table-controls"},Vq={class:"ascii-table"},Kq={class:"table-body"},Jq=["onClick"],qq={class:"table-cell code-cell"},Zq={class:"table-cell char-cell"},Xq={class:"char-display"},Qq={class:"table-cell hex-cell"},eZ={class:"table-cell desc-cell"},tZ=Wi(Ya({__name:"AsciiLookup",emits:["back"],setup(e){il("ascii-lookup");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return"ASCII字符查询"}("ascii-lookup"),{success:a,error:n}=Vo(),r=St("char"),s=St(""),i=St(null),o=St(null),l=St("all"),c=["A","a","0"," ","!","@","#","$","%"],u=[32,48,65,97,33,64,35,36,37],d=St([]),h=is(()=>"all"===l.value?d.value:"printable"===l.value?d.value.filter(e=>e.code>=32&&e.code<=126):"control"===l.value?d.value.filter(e=>e.code<32||127===e.code):d.value),p=e=>{r.value=e,y()},f=()=>{if(!s.value)return void(o.value=null);const e=s.value.charCodeAt(0);if(e>127)return void n("只支持ASCII字符 (0-127)");const t=d.value.find(t=>t.code===e);t&&(o.value=t,a("查询成功"))},m=()=>{if(null===i.value||i.value<0||i.value>127)return void(o.value=null);const e=d.value.find(e=>e.code===i.value);e&&(o.value=e,a("查询成功"))},g=e=>{l.value=e},y=()=>{s.value="",i.value=null,o.value=null},v=()=>{y(),a("已清空")},b=async()=>{if(!o.value)return;const e=`字符: ${o.value.char}\nASCII码: ${o.value.code}\n十六进制: 0x${o.value.hex}\n二进制: ${o.value.binary}\n描述: ${o.value.description}`;try{await navigator.clipboard.writeText(e),a("结果已复制到剪贴板")}catch(t){n("复制失败")}};return nn(()=>{(()=>{const e=["NUL","SOH","STX","ETX","EOT","ENQ","ACK","BEL","BS","TAB","LF","VT","FF","CR","SO","SI","DLE","DC1","DC2","DC3","DC4","NAK","SYN","ETB","CAN","EM","SUB","ESC","FS","GS","RS","US"],t=["空字符 (Null)","标题开始 (Start of Heading)","正文开始 (Start of Text)","正文结束 (End of Text)","传输结束 (End of Transmission)","询问 (Enquiry)","确认 (Acknowledge)","响铃 (Bell)","退格 (Backspace)","水平制表 (Horizontal Tab)","换行 (Line Feed)","垂直制表 (Vertical Tab)","换页 (Form Feed)","回车 (Carriage Return)","移出 (Shift Out)","移入 (Shift In)","数据链路转义 (Data Link Escape)","设备控制1 (Device Control 1)","设备控制2 (Device Control 2)","设备控制3 (Device Control 3)","设备控制4 (Device Control 4)","否定确认 (Negative Acknowledge)","同步空闲 (Synchronous Idle)","传输块结束 (End of Transmission Block)","取消 (Cancel)","媒介结束 (End of Medium)","替换 (Substitute)","转义 (Escape)","文件分隔符 (File Separator)","组分隔符 (Group Separator)","记录分隔符 (Record Separator)","单元分隔符 (Unit Separator)"];for(let a=0;a<=127;a++){let n=String.fromCharCode(a),r="";a<32?(n=e[a]||"",r=t[a]||""):32===a?(n="SPACE",r="空格 (Space)"):127===a?(n="DEL",r="删除 (Delete)"):r=a>=48&&a<=57?"数字":a>=65&&a<=90?"大写字母":a>=97&&a<=122?"小写字母":"特殊字符",d.value.push({code:a,char:n,hex:a.toString(16).toUpperCase().padStart(2,"0"),binary:a.toString(2).padStart(8,"0"),description:r})}})()}),(e,n)=>(Cr(),Tr("div",uq,[Or(hl,{title:Pt(t),onBack:n[0]||(n[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制结果",onClick:b,disabled:!o.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空",onClick:v})]),_:1},8,["title"]),Mr("div",dq,[Mr("div",hq,[Mr("div",pq,[Mr("div",fq,[Mr("div",mq,[n[8]||(n[8]=Mr("h3",null,"字符查询",-1)),Mr("div",gq,[Mr("button",{class:Q(["mode-btn",{active:"char"===r.value}]),onClick:n[1]||(n[1]=e=>p("char"))}," 字符→编码 ",2),Mr("button",{class:Q(["mode-btn",{active:"code"===r.value}]),onClick:n[2]||(n[2]=e=>p("code"))}," 编码→字符 ",2)])]),Mr("div",yq,["char"===r.value?(Cr(),Tr("div",vq,[Mr("div",bq,[n[10]||(n[10]=Mr("label",{class:"input-label"},"输入字符",-1)),Mr("div",wq,[ca(Mr("input",{"onUpdate:modelValue":n[3]||(n[3]=e=>s.value=e),type:"text",class:"char-input",placeholder:"输入单个字符",maxlength:"1",onInput:f},null,544),[[bi,s.value]]),s.value?(Cr(),Tr("button",{key:0,onClick:y,class:"clear-btn",title:"清空"},[...n[9]||(n[9]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])):Rr("",!0)])]),Mr("div",xq,[n[11]||(n[11]=Mr("span",{class:"quick-label"},"常用字符:",-1)),Mr("div",kq,[(Cr(),Tr(br,null,yn(c,e=>Mr("button",{key:e,class:"char-btn",onClick:t=>(e=>{s.value=e,f()})(e)},se(e),9,_q)),64))])])])):Rr("",!0),"code"===r.value?(Cr(),Tr("div",Eq,[Mr("div",Cq,[n[13]||(n[13]=Mr("label",{class:"input-label"},"输入ASCII编码",-1)),Mr("div",Fq,[ca(Mr("input",{"onUpdate:modelValue":n[4]||(n[4]=e=>i.value=e),type:"number",class:"code-input",placeholder:"0-127",min:"0",max:"127",onInput:m},null,544),[[bi,i.value]]),i.value?(Cr(),Tr("button",{key:0,onClick:y,class:"clear-btn",title:"清空"},[...n[12]||(n[12]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])):Rr("",!0)])]),Mr("div",Dq,[n[14]||(n[14]=Mr("span",{class:"quick-label"},"常用编码:",-1)),Mr("div",Aq,[(Cr(),Tr(br,null,yn(u,e=>Mr("button",{key:e,class:"code-btn",onClick:t=>(e=>{i.value=e,m()})(e)},se(e),9,Tq)),64))])])])):Rr("",!0)])]),o.value?(Cr(),Tr("div",Sq,[Mr("div",Iq,[Mr("div",{class:"result-header"},[n[16]||(n[16]=Mr("h4",null,"查询结果",-1)),Mr("button",{onClick:b,class:"copy-result-btn",title:"复制结果"},[...n[15]||(n[15]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",Pq,[Mr("div",Nq,[Mr("div",Bq,[n[17]||(n[17]=Mr("span",{class:"result-label"},"字符",-1)),Mr("span",Mq,se(o.value.char),1)]),Mr("div",Oq,[n[18]||(n[18]=Mr("span",{class:"result-label"},"ASCII",-1)),Mr("span",Uq,se(o.value.code),1)]),Mr("div",jq,[n[19]||(n[19]=Mr("span",{class:"result-label"},"十六进制",-1)),Mr("span",Lq,"0x"+se(o.value.hex),1)]),Mr("div",Rq,[n[20]||(n[20]=Mr("span",{class:"result-label"},"二进制",-1)),Mr("span",zq,se(o.value.binary),1)])]),Mr("div",Hq,[n[21]||(n[21]=Mr("span",{class:"desc-label"},"描述:",-1)),Mr("span",Yq,se(o.value.description),1)])])])])):Rr("",!0)]),Mr("div",$q,[Mr("div",Gq,[n[22]||(n[22]=Mr("h3",null,"ASCII编码表",-1)),Mr("div",Wq,[Mr("button",{class:Q(["filter-btn",{active:"all"===l.value}]),onClick:n[5]||(n[5]=e=>g("all"))}," 全部 (128) ",2),Mr("button",{class:Q(["filter-btn",{active:"printable"===l.value}]),onClick:n[6]||(n[6]=e=>g("printable"))}," 可打印 (95) ",2),Mr("button",{class:Q(["filter-btn",{active:"control"===l.value}]),onClick:n[7]||(n[7]=e=>g("control"))}," 控制字符 (33) ",2)])]),Mr("div",Vq,[n[23]||(n[23]=Lr('
编码
字符
十六进制
描述
',1)),Mr("div",Kq,[(Cr(!0),Tr(br,null,yn(h.value,e=>(Cr(),Tr("div",{key:e.code,class:Q(["table-row",{highlighted:o.value&&o.value.code===e.code,control:e.code<32||127===e.code}]),onClick:t=>(e=>{o.value=e,"char"===r.value?s.value=e.code<32||127===e.code?"":String.fromCharCode(e.code):i.value=e.code;const t=e.code<32||127===e.code?e.char:String.fromCharCode(e.code);a(`已选择: ${t} (ASCII: ${e.code})`)})(e)},[Mr("div",qq,se(e.code),1),Mr("div",Zq,[Mr("span",Xq,se(e.char),1)]),Mr("div",Qq,"0x"+se(e.hex),1),Mr("div",eZ,se(e.description),1)],10,Jq))),128))])])])]),n[24]||(n[24]=Lr('

功能说明

🔍

字符查询

输入字符获取对应的ASCII码和详细信息

🔢

编码查询

输入ASCII码获取对应的字符和详细信息

📊

字符表浏览

浏览完整的ASCII字符表,支持分类筛选

📋

快速复制

一键复制查询结果到剪贴板

',1))])]))}}),[["__scopeId","data-v-bb888ead"]]),aZ={class:"unit-converter"},nZ={class:"converter-content"},rZ={class:"category-selector"},sZ=["disabled"],iZ={class:"category-tabs-container"},oZ=["onClick"],lZ={class:"tab-icon"},cZ={class:"tab-label"},uZ=["disabled"],dZ={class:"examples-section"},hZ={class:"conversions-grid"},pZ=["onClick"],fZ={class:"conversion-label"},mZ={class:"conversion-formula"},gZ={class:"converter-main"},yZ={class:"conversion-panel"},vZ={class:"input-section"},bZ={class:"section-header"},wZ={class:"unit-selector"},xZ=["value"],kZ={class:"input-area"},_Z={class:"input-info"},EZ={class:"unit-info"},CZ={class:"conversion-arrow"},FZ={class:"output-section"},DZ={class:"section-header"},AZ={class:"unit-selector"},TZ=["value"],SZ={class:"output-area"},IZ=["value"],PZ={class:"output-info"},NZ={class:"unit-info"},BZ={class:"formula-section"},MZ={class:"formula-header"},OZ={class:"formula-content"},UZ={class:"formula-info"},jZ={class:"formula-text"},LZ={key:0,class:"formula-example"},RZ=Wi(Ya({__name:"UnitConverter",emits:["back"],setup(e){il("unit-convert");const{success:t,error:a}=Vo(),{copy:n}=ll(),r=St("单位转换"),s=St(),i=St(!1),o=St(!1),l=St("length"),c=St(""),u=St(""),d=St(""),h=St(""),p=[{id:"length",name:"长度",icon:"📏"},{id:"weight",name:"重量",icon:"⚖️"},{id:"temperature",name:"温度",icon:"🌡️"},{id:"area",name:"面积",icon:"📐"},{id:"volume",name:"体积",icon:"🥤"},{id:"speed",name:"速度",icon:"🚗"},{id:"pressure",name:"压力",icon:"💨"},{id:"energy",name:"能量",icon:"⚡"},{id:"power",name:"功率",icon:"🔌"},{id:"frequency",name:"频率",icon:"📡"},{id:"angle",name:"角度",icon:"📐"},{id:"data",name:"数据",icon:"💾"}],f={length:[{id:"mm",name:"毫米",symbol:"mm",toMeter:.001,info:"1毫米 = 0.001米"},{id:"cm",name:"厘米",symbol:"cm",toMeter:.01,info:"1厘米 = 0.01米"},{id:"m",name:"米",symbol:"m",toMeter:1,info:"国际标准长度单位"},{id:"km",name:"千米",symbol:"km",toMeter:1e3,info:"1千米 = 1000米"},{id:"inch",name:"英寸",symbol:"in",toMeter:.0254,info:"1英寸 = 2.54厘米"},{id:"ft",name:"英尺",symbol:"ft",toMeter:.3048,info:"1英尺 = 12英寸"},{id:"yard",name:"码",symbol:"yd",toMeter:.9144,info:"1码 = 3英尺"},{id:"mile",name:"英里",symbol:"mi",toMeter:1609.344,info:"1英里 = 1.609千米"}],weight:[{id:"mg",name:"毫克",symbol:"mg",toKg:1e-6,info:"1毫克 = 0.001克"},{id:"g",name:"克",symbol:"g",toKg:.001,info:"1克 = 0.001千克"},{id:"kg",name:"千克",symbol:"kg",toKg:1,info:"国际标准质量单位"},{id:"t",name:"吨",symbol:"t",toKg:1e3,info:"1吨 = 1000千克"},{id:"oz",name:"盎司",symbol:"oz",toKg:.0283495,info:"1盎司 ≈ 28.35克"},{id:"lb",name:"磅",symbol:"lb",toKg:.453592,info:"1磅 ≈ 0.454千克"},{id:"stone",name:"英石",symbol:"st",toKg:6.35029,info:"1英石 = 14磅"}],temperature:[{id:"c",name:"摄氏度",symbol:"°C",info:"水的冰点0°C,沸点100°C"},{id:"f",name:"华氏度",symbol:"°F",info:"水的冰点32°F,沸点212°F"},{id:"k",name:"开尔文",symbol:"K",info:"绝对温度,0K = -273.15°C"},{id:"r",name:"兰氏度",symbol:"°R",info:"华氏度的绝对温标"}],area:[{id:"mm2",name:"平方毫米",symbol:"mm²",toM2:1e-6,info:"1平方毫米 = 0.000001平方米"},{id:"cm2",name:"平方厘米",symbol:"cm²",toM2:1e-4,info:"1平方厘米 = 0.0001平方米"},{id:"m2",name:"平方米",symbol:"m²",toM2:1,info:"国际标准面积单位"},{id:"km2",name:"平方千米",symbol:"km²",toM2:1e6,info:"1平方千米 = 100万平方米"},{id:"hectare",name:"公顷",symbol:"ha",toM2:1e4,info:"1公顷 = 10000平方米"},{id:"acre",name:"英亩",symbol:"ac",toM2:4046.86,info:"1英亩 ≈ 4047平方米"}],volume:[{id:"ml",name:"毫升",symbol:"ml",toLiter:.001,info:"1毫升 = 0.001升"},{id:"l",name:"升",symbol:"L",toLiter:1,info:"国际标准体积单位"},{id:"m3",name:"立方米",symbol:"m³",toLiter:1e3,info:"1立方米 = 1000升"},{id:"gallon",name:"加仑",symbol:"gal",toLiter:3.78541,info:"1美制加仑 ≈ 3.785升"},{id:"quart",name:"夸脱",symbol:"qt",toLiter:.946353,info:"1夸脱 ≈ 0.946升"},{id:"pint",name:"品脱",symbol:"pt",toLiter:.473176,info:"1品脱 ≈ 0.473升"}],speed:[{id:"ms",name:"米/秒",symbol:"m/s",toMs:1,info:"国际标准速度单位"},{id:"kmh",name:"千米/时",symbol:"km/h",toMs:.277778,info:"1千米/时 ≈ 0.278米/秒"},{id:"mph",name:"英里/时",symbol:"mph",toMs:.44704,info:"1英里/时 ≈ 0.447米/秒"},{id:"knot",name:"节",symbol:"kn",toMs:.514444,info:"1节 ≈ 0.514米/秒"},{id:"mach",name:"马赫",symbol:"Ma",toMs:343,info:"1马赫 ≈ 343米/秒(音速)"}],pressure:[{id:"pa",name:"帕斯卡",symbol:"Pa",toPa:1,info:"国际标准压力单位"},{id:"kpa",name:"千帕",symbol:"kPa",toPa:1e3,info:"1千帕 = 1000帕斯卡"},{id:"bar",name:"巴",symbol:"bar",toPa:1e5,info:"1巴 = 100000帕斯卡"},{id:"atm",name:"标准大气压",symbol:"atm",toPa:101325,info:"1标准大气压 = 101325帕斯卡"},{id:"psi",name:"磅/平方英寸",symbol:"psi",toPa:6894.76,info:"1psi ≈ 6895帕斯卡"},{id:"mmhg",name:"毫米汞柱",symbol:"mmHg",toPa:133.322,info:"1毫米汞柱 ≈ 133帕斯卡"}],energy:[{id:"j",name:"焦耳",symbol:"J",toJ:1,info:"国际标准能量单位"},{id:"kj",name:"千焦",symbol:"kJ",toJ:1e3,info:"1千焦 = 1000焦耳"},{id:"cal",name:"卡路里",symbol:"cal",toJ:4.184,info:"1卡路里 ≈ 4.184焦耳"},{id:"kcal",name:"千卡",symbol:"kcal",toJ:4184,info:"1千卡 = 1000卡路里"},{id:"kwh",name:"千瓦时",symbol:"kWh",toJ:36e5,info:"1千瓦时 = 3.6兆焦"},{id:"btu",name:"英热单位",symbol:"BTU",toJ:1055.06,info:"1BTU ≈ 1055焦耳"}],power:[{id:"w",name:"瓦特",symbol:"W",toW:1,info:"国际标准功率单位"},{id:"kw",name:"千瓦",symbol:"kW",toW:1e3,info:"1千瓦 = 1000瓦特"},{id:"mw",name:"兆瓦",symbol:"MW",toW:1e6,info:"1兆瓦 = 100万瓦特"},{id:"hp",name:"马力",symbol:"hp",toW:745.7,info:"1马力 ≈ 745.7瓦特"},{id:"ps",name:"公制马力",symbol:"PS",toW:735.5,info:"1公制马力 ≈ 735.5瓦特"},{id:"btu_h",name:"BTU/小时",symbol:"BTU/h",toW:.293,info:"1BTU/h ≈ 0.293瓦特"}],frequency:[{id:"hz",name:"赫兹",symbol:"Hz",toHz:1,info:"国际标准频率单位"},{id:"khz",name:"千赫",symbol:"kHz",toHz:1e3,info:"1千赫 = 1000赫兹"},{id:"mhz",name:"兆赫",symbol:"MHz",toHz:1e6,info:"1兆赫 = 100万赫兹"},{id:"ghz",name:"吉赫",symbol:"GHz",toHz:1e9,info:"1吉赫 = 10亿赫兹"},{id:"rpm",name:"转/分",symbol:"rpm",toHz:.0167,info:"1转/分 ≈ 0.0167赫兹"},{id:"rps",name:"转/秒",symbol:"rps",toHz:1,info:"1转/秒 = 1赫兹"}],angle:[{id:"deg",name:"度",symbol:"°",toDeg:1,info:"角度的常用单位"},{id:"rad",name:"弧度",symbol:"rad",toDeg:57.2958,info:"1弧度 ≈ 57.296度"},{id:"grad",name:"百分度",symbol:"grad",toDeg:.9,info:"1百分度 = 0.9度"},{id:"turn",name:"圈",symbol:"turn",toDeg:360,info:"1圈 = 360度"},{id:"arcmin",name:"角分",symbol:"'",toDeg:.0167,info:"1角分 = 1/60度"},{id:"arcsec",name:"角秒",symbol:'"',toDeg:278e-6,info:"1角秒 = 1/3600度"}],data:[{id:"b",name:"字节",symbol:"B",toByte:1,info:"计算机存储基本单位"},{id:"kb",name:"千字节",symbol:"KB",toByte:1024,info:"1KB = 1024字节"},{id:"mb",name:"兆字节",symbol:"MB",toByte:1048576,info:"1MB = 1024KB"},{id:"gb",name:"吉字节",symbol:"GB",toByte:1073741824,info:"1GB = 1024MB"},{id:"tb",name:"太字节",symbol:"TB",toByte:1099511627776,info:"1TB = 1024GB"},{id:"pb",name:"拍字节",symbol:"PB",toByte:0x4000000000000,info:"1PB = 1024TB"},{id:"bit",name:"比特",symbol:"bit",toByte:.125,info:"1字节 = 8比特"}]},m=is(()=>f[l.value]||[]),g=e=>{l.value=e;const t=m.value[0],a=m.value[1]||t;u.value=t?.id||"",d.value=a?.id||"",v(),Zt(()=>{D()})},y=()=>{const e=u.value;u.value=d.value,d.value=e,v()},v=()=>{if(!c.value||!u.value||!d.value)return void(h.value="");const e=parseFloat(c.value);if(isNaN(e))return void(h.value="");let t=0;t="temperature"===l.value?x(e,u.value,d.value):b(e,u.value,d.value),Math.abs(t)>=1e6||Math.abs(t)<.001&&0!==t?h.value=t.toExponential(6):h.value=parseFloat(t.toFixed(10)).toString()},b=(e,t,a)=>{const n=m.value.find(e=>e.id===t),r=m.value.find(e=>e.id===a);if(!n||!r)return 0;const s=w();if(!s)return 0;const i=n[s],o=r[s];return void 0===i||void 0===o?0:e*i/o},w=()=>({length:"toMeter",weight:"toKg",area:"toM2",volume:"toLiter",speed:"toMs",pressure:"toPa",energy:"toJ",power:"toW",frequency:"toHz",angle:"toDeg",data:"toByte"}[l.value]||""),x=(e,t,a)=>{let n=e;switch(t){case"f":n=5*(e-32)/9;break;case"k":n=e-273.15;break;case"r":n=5*(e-491.67)/9}switch(a){case"c":default:return n;case"f":return 9*n/5+32;case"k":return n+273.15;case"r":return 9*n/5+491.67}},k=e=>{const t=m.value.find(t=>t.id===e);return t?.info||""},_=()=>{const e=p.find(e=>e.id===l.value);return e?.icon||"📐"},E=()=>{if(!s.value)return;const e=s.value,t=e.scrollLeft,a=e.scrollWidth-e.clientWidth;i.value=t>5,o.value=a>10&&t{s.value&&(s.value.scrollBy({left:-200,behavior:"smooth"}),setTimeout(E,300))},F=()=>{if(!s.value)return;s.value.scrollBy({left:200,behavior:"smooth"}),setTimeout(E,300)},D=()=>{if(!s.value||!tabsWrapper.value)return;const e=tabsWrapper.value.querySelector(".category-tab.active");if(!e)return;const t=s.value.getBoundingClientRect(),a=e.getBoundingClientRect();if(a.leftt.right){const t=e.offsetLeft-(s.value.clientWidth-e.clientWidth)/2;s.value.scrollTo({left:t,behavior:"smooth"})}setTimeout(E,300)},A=()=>{if(!u.value||!d.value)return"";const e=m.value.find(e=>e.id===u.value),t=m.value.find(e=>e.id===d.value);if(!e||!t)return"";if("temperature"===l.value)return T(u.value,d.value);const a=w();if(!a)return"";const n=e[a]/t[a];return`1 ${e.symbol} = ${parseFloat(n.toFixed(8))} ${t.symbol}`},T=(e,t)=>({c:{f:"°F = °C × 9/5 + 32",k:"K = °C + 273.15",r:"°R = °C × 9/5 + 491.67"},f:{c:"°C = (°F - 32) × 5/9",k:"K = (°F - 32) × 5/9 + 273.15",r:"°R = °F + 459.67"},k:{c:"°C = K - 273.15",f:"°F = (K - 273.15) × 9/5 + 32",r:"°R = K × 9/5"}}[e]?.[t]||`${e} → ${t}`),S=()=>{if(!c.value||!h.value)return"";const e=m.value.find(e=>e.id===u.value),t=m.value.find(e=>e.id===d.value);return e&&t?`${c.value} ${e.symbol} = ${h.value} ${t.symbol}`:""},I=async()=>{if(!h.value)return void a("没有可复制的结果");await n(h.value)?t("结果已复制到剪贴板"):a("复制失败")},P=()=>{c.value="",h.value="",t("已清空所有内容")};return nn(()=>{g("length"),setTimeout(()=>{E(),s.value&&s.value.addEventListener("scroll",E),window.addEventListener("resize",()=>{setTimeout(E,100)})},100)}),(e,a)=>(Cr(),Tr("div",aZ,[Or(hl,{title:r.value,onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制结果",onClick:I}),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:P})]),_:1},8,["title"]),Mr("div",nZ,[Mr("div",rZ,[Mr("button",{class:"scroll-btn scroll-left",onClick:C,disabled:!i.value},[...a[4]||(a[4]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1)])],8,sZ),Mr("div",iZ,[Mr("div",{class:"category-tabs",ref_key:"tabsContainer",ref:s},[(Cr(),Tr(br,null,yn(p,e=>Mr("button",{key:e.id,class:Q(["category-tab",{active:l.value===e.id}]),onClick:t=>g(e.id)},[Mr("span",lZ,se(e.icon),1),Mr("span",cZ,se(e.name),1)],10,oZ)),64))],512)]),Mr("button",{class:"scroll-btn scroll-right",onClick:F,disabled:!o.value},[...a[5]||(a[5]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m9 18 6-6-6-6"})],-1)])],8,uZ)]),Mr("div",dZ,[a[6]||(a[6]=Mr("div",{class:"section-header"},[Mr("h3",null,"快速示例")],-1)),Mr("div",hZ,[(Cr(!0),Tr(br,null,yn({length:[{id:1,label:"1米 → 厘米",formula:"1 m = 100 cm",from:"m",to:"cm",value:1},{id:2,label:"1千米 → 英里",formula:"1 km ≈ 0.621 mi",from:"km",to:"mile",value:1},{id:3,label:"1英寸 → 厘米",formula:"1 in = 2.54 cm",from:"inch",to:"cm",value:1},{id:4,label:"1英尺 → 米",formula:"1 ft ≈ 0.305 m",from:"ft",to:"m",value:1}],weight:[{id:1,label:"1千克 → 磅",formula:"1 kg ≈ 2.205 lb",from:"kg",to:"lb",value:1},{id:2,label:"1磅 → 千克",formula:"1 lb ≈ 0.454 kg",from:"lb",to:"kg",value:1},{id:3,label:"1吨 → 磅",formula:"1 t ≈ 2205 lb",from:"t",to:"lb",value:1},{id:4,label:"1盎司 → 克",formula:"1 oz ≈ 28.35 g",from:"oz",to:"g",value:1}],temperature:[{id:1,label:"0°C → 华氏度",formula:"0°C = 32°F",from:"c",to:"f",value:0},{id:2,label:"100°C → 华氏度",formula:"100°C = 212°F",from:"c",to:"f",value:100},{id:3,label:"0°C → 开尔文",formula:"0°C = 273.15K",from:"c",to:"k",value:0},{id:4,label:"室温 → 各单位",formula:"20°C = 68°F = 293K",from:"c",to:"f",value:20}],area:[{id:1,label:"1平方米 → 平方厘米",formula:"1 m² = 10000 cm²",from:"m2",to:"cm2",value:1},{id:2,label:"1公顷 → 平方米",formula:"1 ha = 10000 m²",from:"hectare",to:"m2",value:1},{id:3,label:"1英亩 → 平方米",formula:"1 ac ≈ 4047 m²",from:"acre",to:"m2",value:1},{id:4,label:"1平方千米 → 公顷",formula:"1 km² = 100 ha",from:"km2",to:"hectare",value:1}],volume:[{id:1,label:"1升 → 毫升",formula:"1 L = 1000 ml",from:"l",to:"ml",value:1},{id:2,label:"1立方米 → 升",formula:"1 m³ = 1000 L",from:"m3",to:"l",value:1},{id:3,label:"1加仑 → 升",formula:"1 gal ≈ 3.785 L",from:"gallon",to:"l",value:1},{id:4,label:"1品脱 → 毫升",formula:"1 pt ≈ 473 ml",from:"pint",to:"ml",value:1}],speed:[{id:1,label:"1米/秒 → 千米/时",formula:"1 m/s = 3.6 km/h",from:"ms",to:"kmh",value:1},{id:2,label:"100千米/时 → 英里/时",formula:"100 km/h ≈ 62.1 mph",from:"kmh",to:"mph",value:100},{id:3,label:"1马赫 → 千米/时",formula:"1 Ma ≈ 1235 km/h",from:"mach",to:"kmh",value:1},{id:4,label:"1节 → 千米/时",formula:"1 kn ≈ 1.852 km/h",from:"knot",to:"kmh",value:1}],pressure:[{id:1,label:"1大气压 → 千帕",formula:"1 atm ≈ 101.3 kPa",from:"atm",to:"kpa",value:1},{id:2,label:"1巴 → 帕斯卡",formula:"1 bar = 100000 Pa",from:"bar",to:"pa",value:1},{id:3,label:"1psi → 千帕",formula:"1 psi ≈ 6.895 kPa",from:"psi",to:"kpa",value:1},{id:4,label:"760毫米汞柱 → 大气压",formula:"760 mmHg = 1 atm",from:"mmhg",to:"atm",value:760}],energy:[{id:1,label:"1千焦 → 焦耳",formula:"1 kJ = 1000 J",from:"kj",to:"j",value:1},{id:2,label:"1千卡 → 焦耳",formula:"1 kcal = 4184 J",from:"kcal",to:"j",value:1},{id:3,label:"1千瓦时 → 兆焦",formula:"1 kWh = 3.6 MJ",from:"kwh",to:"kj",value:1},{id:4,label:"1BTU → 焦耳",formula:"1 BTU ≈ 1055 J",from:"btu",to:"j",value:1}],power:[{id:1,label:"1千瓦 → 瓦特",formula:"1 kW = 1000 W",from:"kw",to:"w",value:1},{id:2,label:"1马力 → 瓦特",formula:"1 hp ≈ 745.7 W",from:"hp",to:"w",value:1},{id:3,label:"1兆瓦 → 千瓦",formula:"1 MW = 1000 kW",from:"mw",to:"kw",value:1},{id:4,label:"1公制马力 → 瓦特",formula:"1 PS ≈ 735.5 W",from:"ps",to:"w",value:1}],frequency:[{id:1,label:"1千赫 → 赫兹",formula:"1 kHz = 1000 Hz",from:"khz",to:"hz",value:1},{id:2,label:"1兆赫 → 千赫",formula:"1 MHz = 1000 kHz",from:"mhz",to:"khz",value:1},{id:3,label:"1吉赫 → 兆赫",formula:"1 GHz = 1000 MHz",from:"ghz",to:"mhz",value:1},{id:4,label:"60转/分 → 赫兹",formula:"60 rpm = 1 Hz",from:"rpm",to:"hz",value:60}],angle:[{id:1,label:"180度 → 弧度",formula:"180° = π rad",from:"deg",to:"rad",value:180},{id:2,label:"1弧度 → 度",formula:"1 rad ≈ 57.3°",from:"rad",to:"deg",value:1},{id:3,label:"1圈 → 度",formula:"1 turn = 360°",from:"turn",to:"deg",value:1},{id:4,label:"90度 → 百分度",formula:"90° = 100 grad",from:"deg",to:"grad",value:90}],data:[{id:1,label:"1KB → 字节",formula:"1 KB = 1024 B",from:"kb",to:"b",value:1},{id:2,label:"1MB → KB",formula:"1 MB = 1024 KB",from:"mb",to:"kb",value:1},{id:3,label:"1GB → MB",formula:"1 GB = 1024 MB",from:"gb",to:"mb",value:1},{id:4,label:"1字节 → 比特",formula:"1 B = 8 bit",from:"b",to:"bit",value:1}]}[l.value]||[],e=>(Cr(),Tr("div",{key:e.id,class:"conversion-item",onClick:a=>(e=>{u.value=e.from,d.value=e.to,c.value=e.value.toString(),v(),t(`已应用转换: ${e.label}`)})(e)},[Mr("div",fZ,se(e.label),1),Mr("div",mZ,se(e.formula),1)],8,pZ))),128))])]),Mr("div",gZ,[Mr("div",yZ,[Mr("div",vZ,[Mr("div",bZ,[a[7]||(a[7]=Mr("h3",null,"输入值",-1)),Mr("div",wZ,[ca(Mr("select",{"onUpdate:modelValue":a[1]||(a[1]=e=>u.value=e),class:"unit-select",onChange:v},[(Cr(!0),Tr(br,null,yn(m.value,e=>(Cr(),Tr("option",{key:e.id,value:e.id},se(e.name)+" ("+se(e.symbol)+") ",9,xZ))),128))],544),[[_i,u.value]])])]),Mr("div",kZ,[ca(Mr("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>c.value=e),type:"number",class:"value-input",placeholder:"请输入数值",onInput:v,step:"any"},null,544),[[bi,c.value]]),Mr("div",_Z,[Mr("div",EZ,se(k(u.value)),1)])])]),Mr("div",CZ,[Or(jl,{icon:"swap",tooltip:"交换单位",onClick:y})]),Mr("div",FZ,[Mr("div",DZ,[a[8]||(a[8]=Mr("h3",null,"转换结果",-1)),Mr("div",AZ,[ca(Mr("select",{"onUpdate:modelValue":a[3]||(a[3]=e=>d.value=e),class:"unit-select",onChange:v},[(Cr(!0),Tr(br,null,yn(m.value,e=>(Cr(),Tr("option",{key:e.id,value:e.id},se(e.name)+" ("+se(e.symbol)+") ",9,TZ))),128))],544),[[_i,d.value]])])]),Mr("div",SZ,[Mr("input",{value:h.value,class:"value-output",readonly:""},null,8,IZ),Mr("div",PZ,[Mr("div",NZ,se(k(d.value)),1)])])])]),Mr("div",BZ,[Mr("div",MZ,[Mr("h3",null,se(_())+" 转换公式",1)]),Mr("div",OZ,[Mr("div",UZ,[Mr("div",jZ,se(A()),1),S()?(Cr(),Tr("div",LZ,se(S()),1)):Rr("",!0)])])])])])]))}}),[["__scopeId","data-v-c52f9f53"]]),zZ={class:"number-converter"},HZ={class:"converter-content"},YZ={class:"convert-section"},$Z={class:"input-panel"},GZ={class:"section-header"},WZ={class:"input-type-selector"},VZ={class:"input-area"},KZ={class:"input-container"},JZ=["type","step","placeholder"],qZ={class:"input-hint"},ZZ={class:"examples-area"},XZ={class:"examples-grid"},QZ={class:"results-panel"},eX={class:"results-list"},tX={class:"result-content"},aX=["value"],nX={class:"result-info"},rX={class:"result-label"},sX={key:0,class:"active-indicator"},iX={class:"result-content"},oX=["value"],lX={class:"result-info"},cX={class:"result-label"},uX={key:0,class:"active-indicator"},dX={class:"result-content"},hX=["value"],pX={class:"result-info"},fX={class:"result-label"},mX={key:0,class:"active-indicator"},gX={class:"result-content"},yX=["value"],vX=Wi(Ya({__name:"NumberConverter",emits:["back"],setup(e){il("number-format-new");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"number-format-new"===e.id);if(t)return t.title}return"数字格式转换"}),s=St(""),i=St("number"),o=St({number:"",roman:"",chinese:"",chineseUpper:""}),l=()=>{try{console.log("=== START convertNumber ==="),console.log("convertNumber called, inputNumber:",s.value,"inputType:",i.value);const e=String(s.value||"").trim();if(console.log("inputValue after string conversion and trim:",`"${e}"`),console.log("trim length:",e.length),!e)return console.log("input is empty after trim, returning"),void(o.value={number:"",roman:"",chinese:"",chineseUpper:""});console.log("proceeding with conversion...");let t=0;if("number"===i.value){if(console.log("parsing number:",e),t=parseFloat(e),console.log("parsed number:",t),isNaN(t))throw console.log("number is NaN"),new Error("无效数字")}else if("roman"===i.value){if(t=(e=>{const t={I:1,V:5,X:10,L:50,C:100,D:500,M:1e3};let a=0,n=0;for(let r=e.length-1;r>=0;r--){const s=e[r];if(!s)continue;const i=t[s];if(!i)return 0;i{const t={"零":0,"一":1,"二":2,"三":3,"四":4,"五":5,"六":6,"七":7,"八":8,"九":9,"壹":1,"贰":2,"叁":3,"肆":4,"伍":5,"陆":6,"柒":7,"捌":8,"玖":9},a={"十":10,"拾":10,"百":100,"佰":100,"千":1e3,"仟":1e3,"万":1e4,"亿":1e8};let n=0,r=0,s=1;for(let i=e.length-1;i>=0;i--){const o=e[i];o&&(t.hasOwnProperty(o)?(r=t[o]*s,n+=r):a.hasOwnProperty(o)&&(s=a[o],"万"!==o&&"亿"!==o||(n+=r*s,r=0,s=1)))}return n})(e),0===t&&"零"!==e))throw new Error("无效中文数字");console.log("calling conversion functions...");const a=(e=>{if(e<1)return"";if(e>999999)return"数字过大";const t=[1e3,900,500,400,100,90,50,40,10,9,5,4,1],a=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"];let n="",r=e;for(let s=0;s=e;)n+=i,r-=e}return n})(Math.floor(t));console.log("toRoman result:",a);const n=(e=>{if(e<0)return"";if(0===e)return"零";const t=["","一","二","三","四","五","六","七","八","九"],a=["","十","百","千","万","十万","百万","千万","亿"],n=e=>{if(0===e)return"";const n=e.toString();let r="";for(let s=0;s0&&s?s:"")}else r&&s"0"!==e)&&!r.endsWith("零")&&(r+="零")}return r},r=Math.floor(e);if(0===r)return"零";if(r<1e4)return n(r);if(r<1e8){const e=r%1e4;let t=n(Math.floor(r/1e4))+"万";return e>0&&(t+=e<1e3?"零"+n(e):n(e)),t}{const e=r%1e8;let t=n(Math.floor(r/1e8))+"亿";if(e>0)if(e<1e7&&(t+="零"),e>=1e4){const a=e%1e4;t+=n(Math.floor(e/1e4))+"万",a>0&&(a<1e3&&(t+="零"),t+=n(a))}else t+=n(e);return t}})(Math.floor(t));console.log("toChinese result:",n);const r=(e=>{if(e<0)return"";if(0===e)return"零元整";const t=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],a=["","拾","佰","仟","万","拾万","佰万","仟万","亿"],n=e.toString().split("."),r=parseInt(n[0]||"0"),s=n[1],i=e=>{if(0===e)return"";const n=e.toString();let r="";for(let s=0;s0&&e?e:"")}else r&&s"0"!==e)&&!r.endsWith("零")&&(r+="零")}return r};let o="";if(0===r)o="零";else if(r<1e4)o=i(r);else if(r<1e8){const e=r%1e4;o=i(Math.floor(r/1e4))+"万",e>0&&(o+=e<1e3?"零"+i(e):i(e))}else{const e=r%1e8;if(o=i(Math.floor(r/1e8))+"亿",e>0)if(e<1e7&&(o+="零"),e>=1e4){const t=e%1e4;o+=i(Math.floor(e/1e4))+"万",t>0&&(t<1e3&&(o+="零"),o+=i(t))}else o+=i(e)}if(o+="元",s){const e=s.length>0?parseInt(s[0]):0,a=s.length>1?parseInt(s[1]):0;0===e&&0===a?o+="整":(e>0?o+=t[e]+"角":a>0&&(o+="零"),a>0&&(o+=t[a]+"分"))}else o+="整";return o})(t);console.log("toChineseUpper result:",r);const l={number:t.toString(),roman:a,chinese:n,chineseUpper:r};console.log("converted results:",l),o.value=l,console.log("=== END convertNumber ===")}catch(e){console.error("=== ERROR in convertNumber ===",e),o.value={number:"错误",roman:"错误",chinese:"错误",chineseUpper:"错误"}}},c=e=>{i.value=e,s.value="",o.value={number:"",roman:"",chinese:"",chineseUpper:""}},u=()=>{switch(i.value){case"number":return"请输入阿拉伯数字,如:123";case"chinese":return"请输入中文数字,如:一百二十三";case"roman":return"请输入罗马数字,如:CXXIII";default:return"请输入数字"}},d=()=>{switch(i.value){case"number":return"支持整数和小数,范围:0-999999";case"chinese":return"支持中文数字,如:一、二、三、十、百、千、万";case"roman":return"支持罗马数字,如:I、V、X、L、C、D、M";default:return""}},h=()=>{s.value="",o.value={number:"",roman:"",chinese:"",chineseUpper:""},t("已清空所有内容")},p=async e=>{if(!e||"-"===e||"错误"===e)return;await n(e)?t("已复制到剪贴板"):a("复制失败")},f=e=>{i.value="number",s.value=e.toString(),l(),t(`已设置示例值: ${e}`)};return l(),(e,t)=>(Cr(),Tr("div",zZ,[Or(hl,{title:r.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:h})]),_:1},8,["title"]),Mr("div",HZ,[Mr("div",YZ,[Mr("div",$Z,[Mr("div",GZ,[t[15]||(t[15]=Mr("h3",null,"数字输入",-1)),Mr("div",WZ,[Mr("button",{class:Q(["type-btn",{active:"number"===i.value}]),onClick:t[1]||(t[1]=e=>c("number"))}," 阿拉伯数字 ",2),Mr("button",{class:Q(["type-btn",{active:"chinese"===i.value}]),onClick:t[2]||(t[2]=e=>c("chinese"))}," 中文数字 ",2),Mr("button",{class:Q(["type-btn",{active:"roman"===i.value}]),onClick:t[3]||(t[3]=e=>c("roman"))}," 罗马数字 ",2)])]),Mr("div",VZ,[Mr("div",KZ,[ca(Mr("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>s.value=e),type:"number"===i.value?"number":"text",step:"number"===i.value?"0.01":void 0,class:"number-input",placeholder:u(),onInput:l},null,40,JZ),[[Di,s.value]])]),Mr("div",qZ,se(d()),1)]),Mr("div",ZZ,[t[22]||(t[22]=Mr("h4",{class:"examples-title"},"快速示例",-1)),Mr("div",XZ,[Mr("div",{class:"example-item",onClick:t[5]||(t[5]=e=>f(1))},[...t[16]||(t[16]=[Mr("div",{class:"example-number"},"1",-1),Mr("div",{class:"example-roman"},"I",-1)])]),Mr("div",{class:"example-item",onClick:t[6]||(t[6]=e=>f(10))},[...t[17]||(t[17]=[Mr("div",{class:"example-number"},"10",-1),Mr("div",{class:"example-roman"},"X",-1)])]),Mr("div",{class:"example-item",onClick:t[7]||(t[7]=e=>f(100))},[...t[18]||(t[18]=[Mr("div",{class:"example-number"},"100",-1),Mr("div",{class:"example-roman"},"C",-1)])]),Mr("div",{class:"example-item",onClick:t[8]||(t[8]=e=>f(500))},[...t[19]||(t[19]=[Mr("div",{class:"example-number"},"500",-1),Mr("div",{class:"example-roman"},"D",-1)])]),Mr("div",{class:"example-item",onClick:t[9]||(t[9]=e=>f(1e3))},[...t[20]||(t[20]=[Mr("div",{class:"example-number"},"1000",-1),Mr("div",{class:"example-roman"},"M",-1)])]),Mr("div",{class:"example-item",onClick:t[10]||(t[10]=e=>f(2024))},[...t[21]||(t[21]=[Mr("div",{class:"example-number"},"2024",-1),Mr("div",{class:"example-roman"},"MMXXIV",-1)])])])])]),Mr("div",QZ,[t[33]||(t[33]=Lr('

转换结果

点击任意行复制内容
',1)),Mr("div",eX,[Mr("div",{class:"result-row",onClick:t[11]||(t[11]=e=>p(o.value.chineseUpper))},[t[23]||(t[23]=Lr('
💰大写金额
人民币大写,财务专用
',1)),Mr("div",tX,[Mr("input",{value:o.value.chineseUpper||"-",class:"result-input",readonly:""},null,8,aX)])]),Mr("div",{class:Q(["result-row",{active:"number"===i.value}]),onClick:t[12]||(t[12]=e=>p(o.value.number))},[Mr("div",nX,[Mr("div",rX,[t[24]||(t[24]=Mr("span",{class:"result-icon"},"🔢",-1)),t[25]||(t[25]=Mr("span",{class:"result-name"},"阿拉伯数字",-1)),"number"===i.value?(Cr(),Tr("span",sX,"输入")):Rr("",!0)]),t[26]||(t[26]=Mr("div",{class:"result-desc"},"标准数字格式,国际通用",-1))]),Mr("div",iX,[Mr("input",{value:o.value.number||"-",class:"result-input",readonly:""},null,8,oX)])],2),Mr("div",{class:Q(["result-row",{active:"roman"===i.value}]),onClick:t[13]||(t[13]=e=>p(o.value.roman))},[Mr("div",lX,[Mr("div",cX,[t[27]||(t[27]=Mr("span",{class:"result-icon"},"🏛️",-1)),t[28]||(t[28]=Mr("span",{class:"result-name"},"罗马数字",-1)),"roman"===i.value?(Cr(),Tr("span",uX,"输入")):Rr("",!0)]),t[29]||(t[29]=Mr("div",{class:"result-desc"},"古罗马数字系统,常用于序号",-1))]),Mr("div",dX,[Mr("input",{value:o.value.roman||"-",class:"result-input",readonly:""},null,8,hX)])],2),Mr("div",{class:Q(["result-row",{active:"chinese"===i.value}]),onClick:t[14]||(t[14]=e=>p(o.value.chinese))},[Mr("div",pX,[Mr("div",fX,[t[30]||(t[30]=Mr("span",{class:"result-icon"},"🀄",-1)),t[31]||(t[31]=Mr("span",{class:"result-name"},"中文数字",-1)),"chinese"===i.value?(Cr(),Tr("span",mX,"输入")):Rr("",!0)]),t[32]||(t[32]=Mr("div",{class:"result-desc"},"中文小写数字,日常使用",-1))]),Mr("div",gX,[Mr("input",{value:o.value.chinese||"-",class:"result-input",readonly:""},null,8,yX)])],2)])])]),t[34]||(t[34]=Lr('

💡 转换规则说明

🏛️

罗马数字基本符号

I = 1
V = 5
X = 10
L = 50
C = 100
D = 500
M = 1000
🀄

中文数字对照

零 = 0
一 = 1
二 = 2
三 = 3
四 = 4
五 = 5
六 = 6
七 = 7
八 = 8
九 = 9
💰

人民币大写汉字

零 = 0
壹 = 1
贰 = 2
叁 = 3
肆 = 4
伍 = 5
陆 = 6
柒 = 7
捌 = 8
玖 = 9
',1))])]))}}),[["__scopeId","data-v-8533b6b2"]]),bX={class:"search-section"},wX={class:"search-container"},xX={class:"search-input-wrapper"},kX=["value","placeholder"],_X={key:0,class:"category-filter"},EX=["onClick"],CX={key:0,class:"filter-count"},FX=Wi(Ya({__name:"SearchSection",props:{searchQuery:{},placeholder:{},filters:{},activeFilter:{}},emits:["update:searchQuery","update:activeFilter"],setup:e=>(t,a)=>(Cr(),Tr("div",bX,[Mr("div",wX,[Mr("div",xX,[a[3]||(a[3]=Mr("svg",{class:"search-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"11",cy:"11",r:"8"}),Mr("path",{d:"m21 21-4.35-4.35"})],-1)),Mr("input",{value:e.searchQuery,onInput:a[0]||(a[0]=e=>t.$emit("update:searchQuery",e.target.value)),type:"text",placeholder:e.placeholder,class:"search-input"},null,40,kX),e.searchQuery?(Cr(),Tr("button",{key:0,onClick:a[1]||(a[1]=e=>t.$emit("update:searchQuery","")),class:"clear-search-btn"},[...a[2]||(a[2]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])):Rr("",!0)]),e.filters&&e.filters.length>0?(Cr(),Tr("div",_X,[(Cr(!0),Tr(br,null,yn(e.filters,a=>(Cr(),Tr("button",{key:a.key,class:Q(["category-btn",{active:e.activeFilter===a.key}]),onClick:e=>t.$emit("update:activeFilter",a.key)},[jr(se(a.name)+" ",1),void 0!==a.count?(Cr(),Tr("span",CX,"("+se(a.count)+")",1)):Rr("",!0)],10,EX))),128))])):Rr("",!0)])]))}),[["__scopeId","data-v-04e124c0"]]);const DX=["title"],AX={key:0,d:"m18 15-6-6-6 6"},TX={key:1,d:"M21 12a9 9 0 11-6.219-8.56"},SX={key:0,class:"scroll-text"},IX=Ya({__name:"ScrollToTop",props:{threshold:{default:300},behavior:{default:"smooth"},container:{},tooltip:{default:"回到顶部"},text:{default:"顶部"},showText:{type:Boolean,default:!1},position:{default:"bottom-right"}},setup(e){const t=e,{isVisible:a,isScrolling:n,scrollToTop:r}=function(e){const{threshold:t=300,behavior:a="smooth",container:n}=e||{},r=St(!1),s=St(!1);let i=window,o=null;const l=()=>i===window?window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0:i.scrollTop||0,c=()=>{const e=l();r.value=e>t},u=((e,t)=>{let a=null,n=0;return function(...r){const s=Date.now();s-n>t?(e.apply(this,r),n=s):(a&&clearTimeout(a),a=window.setTimeout(()=>{e.apply(this,r),n=Date.now()},t-(s-n)))}})(c,100),d=()=>{if(o&&(o(),o=null),i=window,n)if("string"==typeof n){const e=document.querySelector(n);e&&(i=e)}else n&&"value"in n?n.value&&(i=n.value):n instanceof HTMLElement&&(i=n);i.addEventListener("scroll",u,{passive:!0}),c(),o=()=>{i.removeEventListener("scroll",u)}};return nn(()=>{Zt(()=>{d(),n&&"object"==typeof n&&"value"in n&&pa(()=>n.value,()=>{Zt(d)})})}),ln(()=>{o&&o()}),{isVisible:r,isScrolling:s,scrollToTop:()=>{if(s.value)return;s.value=!0,i===window?window.scrollTo({top:0,behavior:a}):i.scrollTo({top:0,behavior:a});const e=()=>{l()<=10?s.value=!1:requestAnimationFrame(e)};requestAnimationFrame(e)}}}({threshold:t.threshold,behavior:t.behavior,container:t.container});return(t,s)=>(Cr(),Sr(Fa,{to:"body"},[Or(ws,{name:"scroll-to-top"},{default:la(()=>[Pt(a)?(Cr(),Tr("button",{key:0,class:Q(["scroll-to-top-btn",{scrolling:Pt(n)}]),onClick:s[0]||(s[0]=(...e)=>Pt(r)&&Pt(r)(...e)),title:e.tooltip},[(Cr(),Tr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:Q({rotating:Pt(n)})},[Pt(n)?(Cr(),Tr("path",TX)):(Cr(),Tr("path",AX))],2)),e.showText?(Cr(),Tr("span",SX,se(e.text),1)):Rr("",!0)],10,DX)):Rr("",!0)]),_:1})]))}}),PX=Wi(IX,[["__scopeId","data-v-ca8072fe"]]),NX={key:0,class:"modal-header"},BX={class:"modal-title"},MX=["title"],OX={key:1,class:"modal-footer"},UX=Ya({__name:"Modal",props:{visible:{type:Boolean},title:{default:""},width:{default:"90%"},maxWidth:{default:"800px"},maxHeight:{default:"70vh"},showHeader:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},closeOnOverlay:{type:Boolean,default:!0},closeButtonTitle:{default:"关闭"},modalClass:{default:""},contentClass:{default:""}},emits:["close","update:visible"],setup(e,{emit:t}){Ls(e=>({v576693a0:a.width,v14dc03d0:a.maxWidth,ba4269d6:a.maxHeight}));const a=e,n=t,r=()=>{n("update:visible",!1),n("close")},s=()=>{a.closeOnOverlay&&r()};return(t,a)=>(Cr(),Sr(Fa,{to:"body"},[Or(ws,{name:"modal"},{default:la(()=>[e.visible?(Cr(),Tr("div",{key:0,class:"modal-overlay",onClick:s},[Mr("div",{class:Q(["modal",e.modalClass]),onClick:a[0]||(a[0]=Ii(()=>{},["stop"]))},[e.showHeader?(Cr(),Tr("div",NX,[vn(t.$slots,"header",{},()=>[Mr("h3",BX,se(e.title),1)]),e.showCloseButton?(Cr(),Tr("button",{key:0,class:"close-btn",onClick:r,title:e.closeButtonTitle},[...a[1]||(a[1]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,MX)):Rr("",!0)])):Rr("",!0),Mr("div",{class:Q(["modal-content",e.contentClass])},[vn(t.$slots,"default",{},void 0)],2),t.$slots.footer?(Cr(),Tr("div",OX,[vn(t.$slots,"footer",{},void 0)])):Rr("",!0)],2)])):Rr("",!0)]),_:3})]))}}),jX=Wi(UX,[["__scopeId","data-v-277974ec"]]),LX={class:"color-reference"},RX={class:"converter-content"},zX={class:"colors-grid"},HX=["onClick"],YX={class:"color-info"},$X={class:"color-name"},GX={class:"color-hex"},WX={class:"color-details-content"},VX={class:"color-display"},KX={class:"color-name-large"},JX={class:"color-formats"},qX={class:"format-row"},ZX={class:"format-item"},XX={class:"format-value"},QX=["value"],eQ={class:"format-item"},tQ={class:"format-value"},aQ=["value"],nQ={class:"format-row"},rQ={class:"format-item"},sQ={class:"format-value"},iQ=["value"],oQ={class:"format-item"},lQ={class:"format-value"},cQ=["value"],uQ=Ya({__name:"ColorReference",emits:["back"],setup(e,{emit:t}){const a=t;il("color-reference");const{success:n}=Vo(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"color-reference"===e.id);if(t)return t.title}return"颜色对照表"}),s=St(""),i=St("all"),o=St(null),l=St(!1),c=is(()=>[{key:"all",name:"全部",count:u.value.length},{key:"basic",name:"基础色",count:u.value.filter(e=>"basic"===e.category).length},{key:"web",name:"网页安全色",count:u.value.filter(e=>"web"===e.category).length},{key:"material",name:"Material Design",count:u.value.filter(e=>"material"===e.category).length}]);pa([s,i],()=>{o.value=null});const u=St([{name:"黑色",hex:"#000000",rgb:"rgb(0, 0, 0)",hsl:"hsl(0, 0%, 0%)",category:"basic"},{name:"白色",hex:"#FFFFFF",rgb:"rgb(255, 255, 255)",hsl:"hsl(0, 0%, 100%)",category:"basic"},{name:"红色",hex:"#FF0000",rgb:"rgb(255, 0, 0)",hsl:"hsl(0, 100%, 50%)",category:"basic"},{name:"绿色",hex:"#00FF00",rgb:"rgb(0, 255, 0)",hsl:"hsl(120, 100%, 50%)",category:"basic"},{name:"蓝色",hex:"#0000FF",rgb:"rgb(0, 0, 255)",hsl:"hsl(240, 100%, 50%)",category:"basic"},{name:"黄色",hex:"#FFFF00",rgb:"rgb(255, 255, 0)",hsl:"hsl(60, 100%, 50%)",category:"basic"},{name:"青色",hex:"#00FFFF",rgb:"rgb(0, 255, 255)",hsl:"hsl(180, 100%, 50%)",category:"basic"},{name:"洋红",hex:"#FF00FF",rgb:"rgb(255, 0, 255)",hsl:"hsl(300, 100%, 50%)",category:"basic"},{name:"灰色",hex:"#808080",rgb:"rgb(128, 128, 128)",hsl:"hsl(0, 0%, 50%)",category:"basic"},{name:"银色",hex:"#C0C0C0",rgb:"rgb(192, 192, 192)",hsl:"hsl(0, 0%, 75%)",category:"basic"},{name:"深灰",hex:"#404040",rgb:"rgb(64, 64, 64)",hsl:"hsl(0, 0%, 25%)",category:"basic"},{name:"浅灰",hex:"#D3D3D3",rgb:"rgb(211, 211, 211)",hsl:"hsl(0, 0%, 83%)",category:"basic"},{name:"深红",hex:"#8B0000",rgb:"rgb(139, 0, 0)",hsl:"hsl(0, 100%, 27%)",category:"web"},{name:"火砖红",hex:"#B22222",rgb:"rgb(178, 34, 34)",hsl:"hsl(0, 68%, 42%)",category:"web"},{name:"印度红",hex:"#CD5C5C",rgb:"rgb(205, 92, 92)",hsl:"hsl(0, 53%, 58%)",category:"web"},{name:"浅珊瑚",hex:"#F08080",rgb:"rgb(240, 128, 128)",hsl:"hsl(0, 79%, 72%)",category:"web"},{name:"深粉",hex:"#FF1493",rgb:"rgb(255, 20, 147)",hsl:"hsl(328, 100%, 54%)",category:"web"},{name:"热粉",hex:"#FF69B4",rgb:"rgb(255, 105, 180)",hsl:"hsl(330, 100%, 71%)",category:"web"},{name:"粉色",hex:"#FFC0CB",rgb:"rgb(255, 192, 203)",hsl:"hsl(350, 100%, 88%)",category:"web"},{name:"浅粉",hex:"#FFB6C1",rgb:"rgb(255, 182, 193)",hsl:"hsl(351, 100%, 86%)",category:"web"},{name:"橙红",hex:"#FF4500",rgb:"rgb(255, 69, 0)",hsl:"hsl(16, 100%, 50%)",category:"web"},{name:"橙色",hex:"#FFA500",rgb:"rgb(255, 165, 0)",hsl:"hsl(39, 100%, 50%)",category:"web"},{name:"深橙",hex:"#FF8C00",rgb:"rgb(255, 140, 0)",hsl:"hsl(33, 100%, 50%)",category:"web"},{name:"金色",hex:"#FFD700",rgb:"rgb(255, 215, 0)",hsl:"hsl(51, 100%, 50%)",category:"web"},{name:"黄绿",hex:"#ADFF2F",rgb:"rgb(173, 255, 47)",hsl:"hsl(84, 100%, 59%)",category:"web"},{name:"草绿",hex:"#7CFC00",rgb:"rgb(124, 252, 0)",hsl:"hsl(90, 100%, 49%)",category:"web"},{name:"酸橙绿",hex:"#32CD32",rgb:"rgb(50, 205, 50)",hsl:"hsl(120, 61%, 50%)",category:"web"},{name:"森林绿",hex:"#228B22",rgb:"rgb(34, 139, 34)",hsl:"hsl(120, 61%, 34%)",category:"web"},{name:"深绿",hex:"#006400",rgb:"rgb(0, 100, 0)",hsl:"hsl(120, 100%, 20%)",category:"web"},{name:"海绿",hex:"#2E8B57",rgb:"rgb(46, 139, 87)",hsl:"hsl(146, 50%, 36%)",category:"web"},{name:"春绿",hex:"#00FF7F",rgb:"rgb(0, 255, 127)",hsl:"hsl(150, 100%, 50%)",category:"web"},{name:"薄荷绿",hex:"#00FA9A",rgb:"rgb(0, 250, 154)",hsl:"hsl(157, 100%, 49%)",category:"web"},{name:"深青",hex:"#008B8B",rgb:"rgb(0, 139, 139)",hsl:"hsl(180, 100%, 27%)",category:"web"},{name:"浅海绿",hex:"#20B2AA",rgb:"rgb(32, 178, 170)",hsl:"hsl(177, 70%, 41%)",category:"web"},{name:"青绿",hex:"#48D1CC",rgb:"rgb(72, 209, 204)",hsl:"hsl(178, 60%, 55%)",category:"web"},{name:"浅青",hex:"#E0FFFF",rgb:"rgb(224, 255, 255)",hsl:"hsl(180, 100%, 94%)",category:"web"},{name:"天蓝",hex:"#87CEEB",rgb:"rgb(135, 206, 235)",hsl:"hsl(197, 71%, 73%)",category:"web"},{name:"深天蓝",hex:"#00BFFF",rgb:"rgb(0, 191, 255)",hsl:"hsl(195, 100%, 50%)",category:"web"},{name:"道奇蓝",hex:"#1E90FF",rgb:"rgb(30, 144, 255)",hsl:"hsl(210, 100%, 56%)",category:"web"},{name:"钢蓝",hex:"#4682B4",rgb:"rgb(70, 130, 180)",hsl:"hsl(207, 44%, 49%)",category:"web"},{name:"皇家蓝",hex:"#4169E1",rgb:"rgb(65, 105, 225)",hsl:"hsl(225, 73%, 57%)",category:"web"},{name:"深蓝",hex:"#00008B",rgb:"rgb(0, 0, 139)",hsl:"hsl(240, 100%, 27%)",category:"web"},{name:"海军蓝",hex:"#000080",rgb:"rgb(0, 0, 128)",hsl:"hsl(240, 100%, 25%)",category:"web"},{name:"午夜蓝",hex:"#191970",rgb:"rgb(25, 25, 112)",hsl:"hsl(240, 64%, 27%)",category:"web"},{name:"靛青",hex:"#4B0082",rgb:"rgb(75, 0, 130)",hsl:"hsl(275, 100%, 25%)",category:"web"},{name:"紫色",hex:"#800080",rgb:"rgb(128, 0, 128)",hsl:"hsl(300, 100%, 25%)",category:"web"},{name:"深紫",hex:"#9400D3",rgb:"rgb(148, 0, 211)",hsl:"hsl(282, 100%, 41%)",category:"web"},{name:"蓝紫",hex:"#8A2BE2",rgb:"rgb(138, 43, 226)",hsl:"hsl(271, 76%, 53%)",category:"web"},{name:"深兰花紫",hex:"#9932CC",rgb:"rgb(153, 50, 204)",hsl:"hsl(280, 61%, 50%)",category:"web"},{name:"兰花紫",hex:"#DA70D6",rgb:"rgb(218, 112, 214)",hsl:"hsl(302, 59%, 65%)",category:"web"},{name:"紫罗兰",hex:"#EE82EE",rgb:"rgb(238, 130, 238)",hsl:"hsl(300, 76%, 72%)",category:"web"},{name:"李子紫",hex:"#DDA0DD",rgb:"rgb(221, 160, 221)",hsl:"hsl(300, 47%, 75%)",category:"web"},{name:"棕色",hex:"#A52A2A",rgb:"rgb(165, 42, 42)",hsl:"hsl(0, 59%, 41%)",category:"web"},{name:"马鞍棕",hex:"#8B4513",rgb:"rgb(139, 69, 19)",hsl:"hsl(25, 76%, 31%)",category:"web"},{name:"巧克力",hex:"#D2691E",rgb:"rgb(210, 105, 30)",hsl:"hsl(25, 75%, 47%)",category:"web"},{name:"秘鲁",hex:"#CD853F",rgb:"rgb(205, 133, 63)",hsl:"hsl(30, 59%, 53%)",category:"web"},{name:"沙棕",hex:"#F4A460",rgb:"rgb(244, 164, 96)",hsl:"hsl(28, 87%, 67%)",category:"web"},{name:"小麦",hex:"#F5DEB3",rgb:"rgb(245, 222, 179)",hsl:"hsl(39, 77%, 83%)",category:"web"},{name:"橄榄色",hex:"#808000",rgb:"rgb(128, 128, 0)",hsl:"hsl(60, 100%, 25%)",category:"web"},{name:"卡其",hex:"#F0E68C",rgb:"rgb(240, 230, 140)",hsl:"hsl(54, 77%, 75%)",category:"web"},{name:"Material Red 50",hex:"#FFEBEE",rgb:"rgb(255, 235, 238)",hsl:"hsl(351, 100%, 96%)",category:"material"},{name:"Material Red 100",hex:"#FFCDD2",rgb:"rgb(255, 205, 210)",hsl:"hsl(354, 100%, 90%)",category:"material"},{name:"Material Red 200",hex:"#EF9A9A",rgb:"rgb(239, 154, 154)",hsl:"hsl(0, 69%, 77%)",category:"material"},{name:"Material Red 300",hex:"#E57373",rgb:"rgb(229, 115, 115)",hsl:"hsl(0, 64%, 67%)",category:"material"},{name:"Material Red 400",hex:"#EF5350",rgb:"rgb(239, 83, 80)",hsl:"hsl(1, 83%, 63%)",category:"material"},{name:"Material Red 500",hex:"#F44336",rgb:"rgb(244, 67, 54)",hsl:"hsl(4, 90%, 58%)",category:"material"},{name:"Material Red 600",hex:"#E53935",rgb:"rgb(229, 57, 53)",hsl:"hsl(1, 77%, 55%)",category:"material"},{name:"Material Red 700",hex:"#D32F2F",rgb:"rgb(211, 47, 47)",hsl:"hsl(0, 66%, 51%)",category:"material"},{name:"Material Red 800",hex:"#C62828",rgb:"rgb(198, 40, 40)",hsl:"hsl(0, 66%, 47%)",category:"material"},{name:"Material Red 900",hex:"#B71C1C",rgb:"rgb(183, 28, 28)",hsl:"hsl(0, 73%, 41%)",category:"material"},{name:"Material Pink 500",hex:"#E91E63",rgb:"rgb(233, 30, 99)",hsl:"hsl(340, 82%, 52%)",category:"material"},{name:"Material Purple 500",hex:"#9C27B0",rgb:"rgb(156, 39, 176)",hsl:"hsl(291, 64%, 42%)",category:"material"},{name:"Material Deep Purple 500",hex:"#673AB7",rgb:"rgb(103, 58, 183)",hsl:"hsl(262, 52%, 47%)",category:"material"},{name:"Material Indigo 500",hex:"#3F51B5",rgb:"rgb(63, 81, 181)",hsl:"hsl(231, 48%, 48%)",category:"material"},{name:"Material Blue 50",hex:"#E3F2FD",rgb:"rgb(227, 242, 253)",hsl:"hsl(205, 79%, 94%)",category:"material"},{name:"Material Blue 100",hex:"#BBDEFB",rgb:"rgb(187, 222, 251)",hsl:"hsl(207, 89%, 86%)",category:"material"},{name:"Material Blue 200",hex:"#90CAF9",rgb:"rgb(144, 202, 249)",hsl:"hsl(207, 90%, 77%)",category:"material"},{name:"Material Blue 300",hex:"#64B5F6",rgb:"rgb(100, 181, 246)",hsl:"hsl(207, 90%, 68%)",category:"material"},{name:"Material Blue 400",hex:"#42A5F5",rgb:"rgb(66, 165, 245)",hsl:"hsl(207, 90%, 61%)",category:"material"},{name:"Material Blue 500",hex:"#2196F3",rgb:"rgb(33, 150, 243)",hsl:"hsl(207, 90%, 54%)",category:"material"},{name:"Material Blue 600",hex:"#1E88E5",rgb:"rgb(30, 136, 229)",hsl:"hsl(208, 79%, 51%)",category:"material"},{name:"Material Blue 700",hex:"#1976D2",rgb:"rgb(25, 118, 210)",hsl:"hsl(210, 79%, 46%)",category:"material"},{name:"Material Blue 800",hex:"#1565C0",rgb:"rgb(21, 101, 192)",hsl:"hsl(212, 80%, 42%)",category:"material"},{name:"Material Blue 900",hex:"#0D47A1",rgb:"rgb(13, 71, 161)",hsl:"hsl(216, 85%, 34%)",category:"material"},{name:"Material Light Blue 500",hex:"#03A9F4",rgb:"rgb(3, 169, 244)",hsl:"hsl(199, 98%, 48%)",category:"material"},{name:"Material Cyan 500",hex:"#00BCD4",rgb:"rgb(0, 188, 212)",hsl:"hsl(187, 100%, 42%)",category:"material"},{name:"Material Teal 500",hex:"#009688",rgb:"rgb(0, 150, 136)",hsl:"hsl(174, 100%, 29%)",category:"material"},{name:"Material Green 50",hex:"#E8F5E8",rgb:"rgb(232, 245, 232)",hsl:"hsl(120, 39%, 94%)",category:"material"},{name:"Material Green 100",hex:"#C8E6C9",rgb:"rgb(200, 230, 201)",hsl:"hsl(122, 39%, 84%)",category:"material"},{name:"Material Green 200",hex:"#A5D6A7",rgb:"rgb(165, 214, 167)",hsl:"hsl(122, 39%, 74%)",category:"material"},{name:"Material Green 300",hex:"#81C784",rgb:"rgb(129, 199, 132)",hsl:"hsl(123, 39%, 64%)",category:"material"},{name:"Material Green 400",hex:"#66BB6A",rgb:"rgb(102, 187, 106)",hsl:"hsl(123, 39%, 57%)",category:"material"},{name:"Material Green 500",hex:"#4CAF50",rgb:"rgb(76, 175, 80)",hsl:"hsl(122, 39%, 49%)",category:"material"},{name:"Material Green 600",hex:"#43A047",rgb:"rgb(67, 160, 71)",hsl:"hsl(123, 41%, 45%)",category:"material"},{name:"Material Green 700",hex:"#388E3C",rgb:"rgb(56, 142, 60)",hsl:"hsl(123, 43%, 39%)",category:"material"},{name:"Material Green 800",hex:"#2E7D32",rgb:"rgb(46, 125, 50)",hsl:"hsl(123, 46%, 34%)",category:"material"},{name:"Material Green 900",hex:"#1B5E20",rgb:"rgb(27, 94, 32)",hsl:"hsl(124, 55%, 24%)",category:"material"},{name:"Material Light Green 500",hex:"#8BC34A",rgb:"rgb(139, 195, 74)",hsl:"hsl(88, 50%, 53%)",category:"material"},{name:"Material Lime 500",hex:"#CDDC39",rgb:"rgb(205, 220, 57)",hsl:"hsl(66, 70%, 54%)",category:"material"},{name:"Material Yellow 500",hex:"#FFEB3B",rgb:"rgb(255, 235, 59)",hsl:"hsl(54, 100%, 62%)",category:"material"},{name:"Material Amber 500",hex:"#FFC107",rgb:"rgb(255, 193, 7)",hsl:"hsl(45, 100%, 51%)",category:"material"},{name:"Material Orange 500",hex:"#FF9800",rgb:"rgb(255, 152, 0)",hsl:"hsl(36, 100%, 50%)",category:"material"},{name:"Material Deep Orange 500",hex:"#FF5722",rgb:"rgb(255, 87, 34)",hsl:"hsl(14, 100%, 57%)",category:"material"},{name:"Material Brown 500",hex:"#795548",rgb:"rgb(121, 85, 72)",hsl:"hsl(16, 25%, 38%)",category:"material"},{name:"Material Grey 500",hex:"#9E9E9E",rgb:"rgb(158, 158, 158)",hsl:"hsl(0, 0%, 62%)",category:"material"},{name:"Material Blue Grey 500",hex:"#607D8B",rgb:"rgb(96, 125, 139)",hsl:"hsl(200, 18%, 46%)",category:"material"}]),d=is(()=>{let e=u.value;if("all"!==i.value&&(e=e.filter(e=>e.category===i.value)),s.value){const t=s.value.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.hex.toLowerCase().includes(t)||e.rgb.toLowerCase().includes(t))}return e}),h=()=>{a("back")},p=async(e,t)=>{try{await navigator.clipboard.writeText(e),n(`已复制${t}: ${e}`)}catch(a){console.error("复制失败:",a),n("复制失败,请手动复制")}},f=()=>{o.value&&p(o.value.hex,"HEX值")},m=()=>{o.value&&p(o.value.rgb,"RGB值")},g=()=>{o.value&&p(o.value.hsl,"HSL值")},y=()=>{o.value&&p(`color: ${o.value.hex};`,"CSS样式")};return nn(()=>{}),(e,t)=>(Cr(),Tr("div",LX,[Or(hl,{title:r.value,onBack:h},null,8,["title"]),Mr("div",RX,[Or(FX,{searchQuery:s.value,"onUpdate:searchQuery":t[0]||(t[0]=e=>s.value=e),placeholder:"搜索颜色名称或代码...",filters:c.value,activeFilter:i.value,"onUpdate:activeFilter":t[1]||(t[1]=e=>i.value=e)},null,8,["searchQuery","filters","activeFilter"]),Mr("div",zX,[(Cr(!0),Tr(br,null,yn(d.value,e=>(Cr(),Tr("div",{key:e.name,class:"color-card",onClick:t=>(e=>{o.value=e,l.value=!0})(e)},[Mr("div",{class:"color-preview",style:K({backgroundColor:e.hex})},null,4),Mr("div",YX,[Mr("div",$X,se(e.name),1),Mr("div",GX,se(e.hex),1)])],8,HX))),128))])]),Or(PX,{threshold:200,container:".converter-content"}),Or(jX,{visible:l.value,"onUpdate:visible":t[2]||(t[2]=e=>l.value=e),title:"颜色详情","max-width":"700px","max-height":"550px","content-class":"color-modal-content"},{default:la(()=>[Mr("div",WX,[Mr("div",VX,[Mr("div",{class:"large-preview",style:K({backgroundColor:o.value?.hex})},null,4),Mr("div",KX,se(o.value?.name),1)]),Mr("div",JX,[Mr("div",qX,[Mr("div",ZX,[t[3]||(t[3]=Mr("label",null,"HEX",-1)),Mr("div",XX,[Mr("input",{value:o.value?.hex,readonly:"",class:"format-input"},null,8,QX),Or(jl,{icon:"copy",tooltip:"复制HEX值",onClick:f})])]),Mr("div",eQ,[t[4]||(t[4]=Mr("label",null,"RGB",-1)),Mr("div",tQ,[Mr("input",{value:o.value?.rgb,readonly:"",class:"format-input"},null,8,aQ),Or(jl,{icon:"copy",tooltip:"复制RGB值",onClick:m})])])]),Mr("div",nQ,[Mr("div",rQ,[t[5]||(t[5]=Mr("label",null,"HSL",-1)),Mr("div",sQ,[Mr("input",{value:o.value?.hsl,readonly:"",class:"format-input"},null,8,iQ),Or(jl,{icon:"copy",tooltip:"复制HSL值",onClick:g})])]),Mr("div",oQ,[t[6]||(t[6]=Mr("label",null,"CSS",-1)),Mr("div",lQ,[Mr("input",{value:`color: ${o.value?.hex};`,readonly:"",class:"format-input"},null,8,cQ),Or(jl,{icon:"copy",tooltip:"复制CSS样式",onClick:y})])])])])])]),_:1},8,["visible"])]))}}),dQ=Wi(uQ,[["__scopeId","data-v-513f0198"]]),hQ={class:"jwt-generator"},pQ={class:"mode-toggle"},fQ={class:"converter-content"},mQ={key:0,class:"generate-section"},gQ={class:"config-section"},yQ={class:"config-grid"},vQ={class:"config-item"},bQ={class:"config-item"},wQ={class:"config-section"},xQ={class:"config-grid"},kQ={class:"config-item"},_Q={class:"config-item"},EQ={class:"config-item"},CQ={class:"config-item"},FQ={class:"config-item"},DQ={class:"config-item"},AQ={class:"custom-payload"},TQ={class:"config-section"},SQ={class:"secret-input-wrapper"},IQ=["type"],PQ={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},NQ={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},BQ={class:"generate-actions"},MQ=["disabled"],OQ={key:0,class:"result-section"},UQ={class:"section-header"},jQ={class:"jwt-result"},LQ={class:"jwt-parts"},RQ={class:"jwt-part header-part"},zQ={class:"part-content"},HQ={class:"jwt-part payload-part"},YQ={class:"part-content"},$Q={class:"jwt-part signature-part"},GQ={class:"part-content"},WQ={class:"jwt-full"},VQ={class:"jwt-output"},KQ=["value"],JQ={key:1,class:"decode-section"},qQ={class:"input-section"},ZQ={class:"section-header"},XQ={class:"jwt-input-wrapper"},QQ={key:0,class:"decode-result-section"},e0={class:"decode-result-card"},t0={class:"card-header"},a0={class:"json-content"},n0={class:"decode-result-card"},r0={class:"card-header"},s0={class:"json-content"},i0={class:"token-info"},o0={class:"info-grid"},l0={class:"info-item"},c0={class:"info-value"},u0={class:"info-item"},d0={class:"info-value"},h0={class:"info-item"},p0={class:"info-value"},f0={class:"info-item"},m0={class:"info-value"},g0={class:"info-item"},y0={class:"info-value"},v0={class:"info-item"},b0={class:"info-item"},w0={class:"info-value"},x0={class:"info-item"},k0={class:"info-value"},_0={key:1,class:"error-section"},E0={class:"error-message"},C0=Wi(Ya({__name:"JwtGenerator",emits:["back"],setup(e){il("jwt-generator");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),r=St("generate"),s=St({alg:"HS256",typ:"JWT"}),i=St(""),o=St({iss:"",sub:"",aud:"",exp:null,nbf:null,iat:null}),l=St(""),c=St(""),u=St(!1),d=St(""),h=St(""),p=St(""),f=St(""),m=St(""),g=St(null),y=St(""),v=is(()=>{if(!d.value)return{header:"",payload:"",signature:""};const e=d.value.split(".");return{header:e[0]||"",payload:e[1]||"",signature:e[2]||""}}),b=is(()=>!!g.value?.payload?.exp&&Date.now()/1e3>g.value.payload.exp),w=e=>btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),x=e=>(e+="=".repeat((4-e.length%4)%4),atob(e.replace(/-/g,"+").replace(/_/g,"/"))),k=e=>{r.value=e,d.value="",g.value=null,y.value=""},_=()=>{const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let a="";for(let t=0;t<32;t++)a+=e.charAt(Math.floor(62*Math.random()));c.value=a,t("已生成随机密钥")},E=async()=>{try{const n={...o.value};if(h.value&&(n.exp=Math.floor(new Date(h.value).getTime()/1e3)),p.value&&(n.nbf=Math.floor(new Date(p.value).getTime()/1e3)),f.value&&(n.iat=Math.floor(new Date(f.value).getTime()/1e3)),l.value.trim())try{const e=JSON.parse(l.value);Object.assign(n,e)}catch(e){return void a("自定义载荷 JSON 格式错误")}Object.keys(n).forEach(e=>{""!==n[e]&&null!==n[e]||delete n[e]});const r=w(JSON.stringify(s.value)),i=`${r}.${w(JSON.stringify(n))}`,u=await(async(e,t)=>{const a=new TextEncoder,n=a.encode(t),r=a.encode(e),s=await crypto.subtle.importKey("raw",n,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),i=await crypto.subtle.sign("HMAC",s,r),o=new Uint8Array(i),l=String.fromCharCode(...o);return w(l)})(i,c.value);d.value=`${i}.${u}`,t("JWT 生成成功")}catch(n){a("JWT 生成失败: "+n.message)}},C=()=>{if(!m.value.trim())return g.value=null,void(y.value="");try{const e=m.value.trim().split(".");if(3!==e.length)throw new Error("JWT 格式错误,应该包含三个部分");const t=JSON.parse(x(e[0]||"")),a=JSON.parse(x(e[1]||""));g.value={header:t,payload:a,signature:e[2]},y.value=""}catch(e){g.value=null,y.value="解析失败: "+e.message}},F=e=>e?new Date(1e3*e).toLocaleString("zh-CN"):"N/A",D=async()=>{await n(d.value)?t("JWT Token 已复制到剪贴板"):a("复制失败,请手动复制")},A=async e=>{await n(e)?t("已复制到剪贴板"):a("复制失败,请手动复制")},T=()=>{m.value="",g.value=null,y.value=""},S=()=>{s.value={alg:"HS256",typ:"JWT"},i.value="",o.value={iss:"",sub:"",aud:"",exp:null,nbf:null,iat:null},l.value="",c.value="",d.value="",h.value="",p.value="",f.value="",m.value="",g.value=null,y.value="",I(),t("已清空所有数据")};pa([h,p,f],()=>{h.value&&(o.value.exp=Math.floor(new Date(h.value).getTime()/1e3)),p.value&&(o.value.nbf=Math.floor(new Date(p.value).getTime()/1e3)),f.value&&(o.value.iat=Math.floor(new Date(f.value).getTime()/1e3))}),pa(i,e=>{"custom"===s.value.typ&&e&&(s.value.typ=e)}),pa(()=>s.value.typ,e=>{"custom"!==e&&e!==i.value&&(i.value="")});const I=()=>{const e=new Date,t=new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().slice(0,16);f.value=t;const a=new Date(e.getTime()+36e5-6e4*e.getTimezoneOffset());h.value=a.toISOString().slice(0,16)};return I(),(e,t)=>(Cr(),Tr("div",hQ,[Or(hl,{title:"JWT 生成器",onBack:t[2]||(t[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",pQ,[Mr("button",{class:Q(["mode-btn",{active:"generate"===r.value}]),onClick:t[0]||(t[0]=e=>k("generate"))}," 生成 JWT ",2),Mr("button",{class:Q(["mode-btn",{active:"decode"===r.value}]),onClick:t[1]||(t[1]=e=>k("decode"))}," 解析 JWT ",2)]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:S})]),_:1}),Mr("div",fQ,["generate"===r.value?(Cr(),Tr("div",mQ,[Mr("div",gQ,[t[22]||(t[22]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📋 Header 配置"),Mr("span",{class:"section-subtitle"},"设置 JWT 头部信息")])],-1)),Mr("div",yQ,[Mr("div",vQ,[t[19]||(t[19]=Mr("label",null,"算法 (alg)",-1)),ca(Mr("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>s.value.alg=e),class:"config-select"},[...t[18]||(t[18]=[Lr('',6)])],512),[[_i,s.value.alg]])]),Mr("div",bQ,[t[21]||(t[21]=Mr("label",null,"类型 (typ)",-1)),ca(Mr("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>s.value.typ=e),class:"config-select"},[...t[20]||(t[20]=[Mr("option",{value:"JWT"},"JWT",-1),Mr("option",{value:"JWS"},"JWS",-1),Mr("option",{value:"JWE"},"JWE",-1),Mr("option",{value:"custom"},"自定义...",-1)])],512),[[_i,s.value.typ]]),"custom"===s.value.typ?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":t[5]||(t[5]=e=>i.value=e),class:"config-input",placeholder:"请输入自定义类型"},null,512)),[[bi,i.value]]):Rr("",!0)])])]),Mr("div",wQ,[t[30]||(t[30]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📦 Payload 配置"),Mr("span",{class:"section-subtitle"},"设置 JWT 载荷信息")])],-1)),Mr("div",xQ,[Mr("div",kQ,[t[23]||(t[23]=Mr("label",null,"发行者 (iss)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>o.value.iss=e),class:"config-input",placeholder:"签发者"},null,512),[[bi,o.value.iss]])]),Mr("div",_Q,[t[24]||(t[24]=Mr("label",null,"主题 (sub)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[7]||(t[7]=e=>o.value.sub=e),class:"config-input",placeholder:"主题"},null,512),[[bi,o.value.sub]])]),Mr("div",EQ,[t[25]||(t[25]=Mr("label",null,"受众 (aud)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[8]||(t[8]=e=>o.value.aud=e),class:"config-input",placeholder:"受众"},null,512),[[bi,o.value.aud]])]),Mr("div",CQ,[t[26]||(t[26]=Mr("label",null,"过期时间 (exp)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[9]||(t[9]=e=>h.value=e),type:"datetime-local",class:"config-input"},null,512),[[bi,h.value]])]),Mr("div",FQ,[t[27]||(t[27]=Mr("label",null,"生效时间 (nbf)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[10]||(t[10]=e=>p.value=e),type:"datetime-local",class:"config-input"},null,512),[[bi,p.value]])]),Mr("div",DQ,[t[28]||(t[28]=Mr("label",null,"签发时间 (iat)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[11]||(t[11]=e=>f.value=e),type:"datetime-local",class:"config-input"},null,512),[[bi,f.value]])])]),Mr("div",AQ,[t[29]||(t[29]=Mr("label",null,"自定义载荷 (JSON格式)",-1)),ca(Mr("textarea",{"onUpdate:modelValue":t[12]||(t[12]=e=>l.value=e),class:"payload-textarea",placeholder:'{"userId": 123, "role": "admin", "permissions": ["read", "write"]}',rows:"6"}," ",512),[[bi,l.value]])])]),Mr("div",TQ,[t[34]||(t[34]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"🔐 密钥配置"),Mr("span",{class:"section-subtitle"},"设置签名密钥")])],-1)),Mr("div",SQ,[ca(Mr("input",{"onUpdate:modelValue":t[13]||(t[13]=e=>c.value=e),type:u.value?"text":"password",class:"secret-input",placeholder:"请输入密钥"},null,8,IQ),[[Di,c.value]]),Mr("button",{class:"toggle-secret-btn",onClick:t[14]||(t[14]=e=>u.value=!u.value),title:"显示/隐藏密钥"},[u.value?(Cr(),Tr("svg",PQ,[...t[31]||(t[31]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])])):(Cr(),Tr("svg",NQ,[...t[32]||(t[32]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])]))]),Mr("button",{class:"generate-secret-btn",onClick:_,title:"生成随机密钥"},[...t[33]||(t[33]=[Lr('',1)])])])]),Mr("div",BQ,[Mr("button",{class:"generate-btn",onClick:E,disabled:!c.value},[...t[35]||(t[35]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"})],-1),jr(" 生成 JWT Token ",-1)])],8,MQ)]),d.value?(Cr(),Tr("div",OQ,[Mr("div",UQ,[t[36]||(t[36]=Mr("div",{class:"section-title"},[Mr("h3",null,"✅ 生成结果"),Mr("span",{class:"section-subtitle"},"JWT Token 已生成")],-1)),Or(jl,{icon:"copy",tooltip:"复制完整Token",onClick:D})]),Mr("div",jQ,[Mr("div",LQ,[Mr("div",RQ,[t[37]||(t[37]=Mr("div",{class:"part-label"},"Header",-1)),Mr("div",zQ,se(v.value.header),1)]),t[40]||(t[40]=Mr("div",{class:"jwt-separator"},".",-1)),Mr("div",HQ,[t[38]||(t[38]=Mr("div",{class:"part-label"},"Payload",-1)),Mr("div",YQ,se(v.value.payload),1)]),t[41]||(t[41]=Mr("div",{class:"jwt-separator"},".",-1)),Mr("div",$Q,[t[39]||(t[39]=Mr("div",{class:"part-label"},"Signature",-1)),Mr("div",GQ,se(v.value.signature),1)])]),Mr("div",WQ,[t[43]||(t[43]=Mr("label",null,"完整 JWT Token",-1)),Mr("div",VQ,[Mr("textarea",{value:d.value,readonly:"",class:"jwt-textarea"},null,8,KQ),Mr("button",{class:"copy-btn",onClick:D,title:"复制"},[...t[42]||(t[42]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])])])])):Rr("",!0)])):Rr("",!0),"decode"===r.value?(Cr(),Tr("div",JQ,[Mr("div",qQ,[Mr("div",ZQ,[t[44]||(t[44]=Mr("div",{class:"section-title"},[Mr("h3",null,"📥 JWT Token 输入"),Mr("span",{class:"section-subtitle"},"粘贴要解析的 JWT Token")],-1)),m.value?(Cr(),Sr(jl,{key:0,icon:"clear",tooltip:"清空输入",onClick:T})):Rr("",!0)]),Mr("div",XQ,[ca(Mr("textarea",{"onUpdate:modelValue":t[15]||(t[15]=e=>m.value=e),class:"jwt-input",placeholder:"请粘贴 JWT Token...",rows:"4",onInput:C}," ",544),[[bi,m.value]])])]),g.value?(Cr(),Tr("div",QQ,[t[58]||(t[58]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📊 解析结果"),Mr("span",{class:"section-subtitle"},"JWT Token 解析详情")])],-1)),Mr("div",e0,[Mr("div",t0,[t[46]||(t[46]=Mr("span",{class:"card-title"},"Header",-1)),Mr("button",{class:"copy-btn",onClick:t[16]||(t[16]=e=>A(JSON.stringify(g.value.header,null,2))),title:"复制"},[...t[45]||(t[45]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("pre",a0,se(JSON.stringify(g.value.header,null,2)),1)]),Mr("div",n0,[Mr("div",r0,[t[48]||(t[48]=Mr("span",{class:"card-title"},"Payload",-1)),Mr("button",{class:"copy-btn",onClick:t[17]||(t[17]=e=>A(JSON.stringify(g.value.payload,null,2))),title:"复制"},[...t[47]||(t[47]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("pre",s0,se(JSON.stringify(g.value.payload,null,2)),1)]),Mr("div",i0,[t[57]||(t[57]=Mr("h4",null,"Token 信息",-1)),Mr("div",o0,[Mr("div",l0,[t[49]||(t[49]=Mr("span",{class:"info-label"},"算法:",-1)),Mr("span",c0,se(g.value.header.alg||"N/A"),1)]),Mr("div",u0,[t[50]||(t[50]=Mr("span",{class:"info-label"},"类型:",-1)),Mr("span",d0,se(g.value.header.typ||"N/A"),1)]),Mr("div",h0,[t[51]||(t[51]=Mr("span",{class:"info-label"},"发行者:",-1)),Mr("span",p0,se(g.value.payload.iss||"N/A"),1)]),Mr("div",f0,[t[52]||(t[52]=Mr("span",{class:"info-label"},"主题:",-1)),Mr("span",m0,se(g.value.payload.sub||"N/A"),1)]),Mr("div",g0,[t[53]||(t[53]=Mr("span",{class:"info-label"},"受众:",-1)),Mr("span",y0,se(g.value.payload.aud||"N/A"),1)]),Mr("div",v0,[t[54]||(t[54]=Mr("span",{class:"info-label"},"过期时间:",-1)),Mr("span",{class:Q(["info-value",{expired:b.value}])},se(F(g.value.payload.exp)),3)]),Mr("div",b0,[t[55]||(t[55]=Mr("span",{class:"info-label"},"生效时间:",-1)),Mr("span",w0,se(F(g.value.payload.nbf)),1)]),Mr("div",x0,[t[56]||(t[56]=Mr("span",{class:"info-label"},"签发时间:",-1)),Mr("span",k0,se(F(g.value.payload.iat)),1)])])])])):Rr("",!0),y.value?(Cr(),Tr("div",_0,[Mr("div",E0,[t[59]||(t[59]=Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),Mr("line",{x1:"9",y1:"9",x2:"15",y2:"15"})],-1)),jr(" "+se(y.value),1)])])):Rr("",!0)])):Rr("",!0)]),Or(nl)]))}}),[["__scopeId","data-v-8184150c"]]),F0={class:"image-base64-converter"},D0={class:"mode-toggle"},A0={class:"formatter-actions"},T0={class:"converter-content"},S0={key:0,class:"to-base64-section"},I0={class:"main-workspace"},P0={class:"left-panel"},N0={class:"upload-section"},B0={key:0,class:"upload-placeholder"},M0={key:1,class:"image-preview"},O0=["src","alt"],U0={class:"image-info"},j0={class:"info-item"},L0={class:"value"},R0={class:"info-item"},z0={class:"value"},H0={class:"info-item"},Y0={class:"value"},$0={class:"right-panel"},G0={key:0,class:"result-section"},W0={class:"base64-output"},V0=["value"],K0={class:"result-stats"},J0={class:"stat-item"},q0={class:"stat-item"},Z0={class:"stat-item"},X0={key:1,class:"result-placeholder"},Q0={key:1,class:"from-base64-section"},e1={class:"main-workspace"},t1={class:"left-panel"},a1={class:"input-section"},n1={class:"base64-input-area"},r1={class:"right-panel"},s1={key:0,class:"decoded-result-section"},i1={class:"decoded-image-container"},o1=["src"],l1={class:"decoded-info"},c1={class:"info-item"},u1={class:"value"},d1={class:"info-item"},h1={class:"value"},p1={key:1,class:"error-section"},f1={class:"error-message"},m1={key:2,class:"result-placeholder"},g1=Ya({__name:"ImageBase64Converter",emits:["back"],setup(e){il("image-base64");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("image-base64"),{success:a,error:n}=Vo(),r=St("toBase64"),s=St(),i=St(null),o=St(""),l=St(""),c=St(""),u=St(""),d=St(""),h=St(""),p=is(()=>{if(!i.value||!l.value)return 0;const e=i.value.size,t=.75*l.value.length;return Math.round((t-e)/e*100)}),f=e=>{r.value=e,T()},m=()=>{s.value?.click()},g=e=>{const t=e.target,a=t.files?.[0];a&&v(a)},y=e=>{const t=e.dataTransfer?.files;if(t&&t.length>0){const e=t[0];e&&e.type.startsWith("image/")?v(e):n("请选择图片文件")}},v=e=>{i.value=e;const t=new FileReader;t.onload=e=>{o.value=e.target?.result,l.value=e.target?.result,a("图片已加载")},t.readAsDataURL(e)},b=()=>{i.value=null,o.value="",l.value="",s.value&&(s.value.value=""),a("已清空图片")},w=async()=>{try{await navigator.clipboard.writeText(l.value),a("Base64编码已复制到剪贴板")}catch(e){n("复制失败")}},x=()=>{const e=new Blob([l.value],{type:"text/plain"}),t=URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download=`${i.value?.name||"image"}_base64.txt`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t),a("Base64文件已下载")},k=async()=>{try{const e=await navigator.clipboard.readText();c.value=e,E(),a("Base64编码已粘贴")}catch(e){n("粘贴失败")}},_=()=>{c.value="",u.value="",d.value="",h.value="",a("已清空输入")},E=()=>{if(!c.value.trim())return u.value="",d.value="",void(h.value="");try{let e=c.value.trim();if(e.startsWith("data:image/")){const t=e.match(/^data:image\/([^;]+);base64,(.+)$/);if(!(t&&t[1]&&t[2]))throw new Error("无效的data URL格式");d.value=t[1].toUpperCase(),e=t[2]}else d.value=C(e);if(!/^[A-Za-z0-9+/]*={0,2}$/.test(e))throw new Error("无效的Base64编码格式");const t=F(d.value);u.value=`data:${t};base64,${e}`,h.value="",a("Base64解码成功")}catch(e){u.value="",h.value="解码失败: "+e.message}},C=e=>{const t={"/9j/":"JPEG",iVBORw0KGgo:"PNG",R0lGODlh:"GIF",UklGR:"WebP"};for(const[a,n]of Object.entries(t))if(e.startsWith(a))return n;return"Unknown"},F=e=>({JPEG:"image/jpeg",JPG:"image/jpeg",PNG:"image/png",GIF:"image/gif",WebP:"image/webp",BMP:"image/bmp",SVG:"image/svg+xml"}[e.toUpperCase()]||"image/png"),D=()=>{if(!u.value)return;const e=document.createElement("a");e.href=u.value,e.download=`decoded_image.${d.value?.toLowerCase()||"png"}`,document.body.appendChild(e),e.click(),document.body.removeChild(e),a("图片已下载")},A=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]},T=()=>{b(),_()};return(e,a)=>(Cr(),Tr("div",F0,[Or(hl,{title:Pt(t),onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",D0,[Mr("button",{class:Q(["mode-btn",{active:"toBase64"===r.value}]),onClick:a[0]||(a[0]=e=>f("toBase64"))}," 图片转Base64 ",2),Mr("button",{class:Q(["mode-btn",{active:"fromBase64"===r.value}]),onClick:a[1]||(a[1]=e=>f("fromBase64"))}," Base64转图片 ",2)]),Mr("div",A0,["toBase64"===r.value?(Cr(),Tr(br,{key:0},[Or(jl,{icon:"clear",tooltip:"清空图片",onClick:b,disabled:!i.value},null,8,["disabled"]),Or(jl,{icon:"copy",tooltip:"复制Base64",onClick:w,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载Base64文件",onClick:x,disabled:!l.value},null,8,["disabled"])],64)):Rr("",!0),"fromBase64"===r.value?(Cr(),Tr(br,{key:1},[Or(jl,{icon:"paste",tooltip:"粘贴Base64",onClick:k}),Or(jl,{icon:"clear",tooltip:"清空输入",onClick:_,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载图片",onClick:D,disabled:!u.value},null,8,["disabled"])],64)):Rr("",!0)])]),_:1},8,["title"]),Mr("div",T0,["toBase64"===r.value?(Cr(),Tr("div",S0,[Mr("div",I0,[Mr("div",P0,[Mr("div",N0,[a[9]||(a[9]=Mr("div",{class:"section-header"},[Mr("h3",null,"选择图片")],-1)),Mr("div",{class:"upload-area",onClick:m,onDragover:a[3]||(a[3]=Ii(()=>{},["prevent"])),onDrop:Ii(y,["prevent"])},[Mr("input",{ref_key:"fileInput",ref:s,type:"file",accept:"image/*",onChange:g,style:{display:"none"}},null,544),i.value?(Cr(),Tr("div",M0,[Mr("img",{src:o.value,alt:i.value.name},null,8,O0),Mr("div",U0,[Mr("div",j0,[a[6]||(a[6]=Mr("span",{class:"label"},"文件名:",-1)),Mr("span",L0,se(i.value.name),1)]),Mr("div",R0,[a[7]||(a[7]=Mr("span",{class:"label"},"大小:",-1)),Mr("span",z0,se(A(i.value.size)),1)]),Mr("div",H0,[a[8]||(a[8]=Mr("span",{class:"label"},"类型:",-1)),Mr("span",Y0,se(i.value.type),1)])])])):(Cr(),Tr("div",B0,[...a[5]||(a[5]=[Lr('

点击选择图片或拖拽到此处

支持 JPG、PNG、GIF、WebP 等格式

',3)])]))],32)])]),a[12]||(a[12]=Mr("div",{class:"divider"},null,-1)),Mr("div",$0,[l.value?(Cr(),Tr("div",G0,[a[10]||(a[10]=Mr("div",{class:"section-header"},[Mr("h3",null,"Base64 编码结果")],-1)),Mr("div",W0,[Mr("textarea",{value:l.value,readonly:"",class:"base64-textarea",placeholder:"Base64编码结果将显示在这里..."},null,8,V0)]),Mr("div",K0,[Mr("span",J0,se(l.value.length)+" 字符",1),Mr("span",q0,se(Math.round(l.value.length/1024))+" KB",1),Mr("span",Z0,"压缩率: "+se(p.value)+"%",1)])])):(Cr(),Tr("div",X0,[...a[11]||(a[11]=[Lr('

选择图片后,Base64编码结果将显示在这里

',2)])]))])])])):Rr("",!0),"fromBase64"===r.value?(Cr(),Tr("div",Q0,[Mr("div",e1,[Mr("div",t1,[Mr("div",a1,[a[13]||(a[13]=Mr("div",{class:"section-header"},[Mr("h3",null,"Base64 编码输入")],-1)),Mr("div",n1,[ca(Mr("textarea",{"onUpdate:modelValue":a[4]||(a[4]=e=>c.value=e),class:"base64-input",placeholder:"请粘贴Base64编码字符串...\n支持带data:image前缀的完整格式,也支持纯Base64编码",onInput:E},null,544),[[bi,c.value]])])])]),a[19]||(a[19]=Mr("div",{class:"divider"},null,-1)),Mr("div",r1,[u.value?(Cr(),Tr("div",s1,[a[16]||(a[16]=Mr("div",{class:"section-header"},[Mr("h3",null,"解码结果")],-1)),Mr("div",i1,[Mr("img",{src:u.value,alt:"解码后的图片",class:"decoded-image"},null,8,o1),Mr("div",l1,[Mr("div",c1,[a[14]||(a[14]=Mr("span",{class:"label"},"图片类型:",-1)),Mr("span",u1,se(d.value||"未知"),1)]),Mr("div",d1,[a[15]||(a[15]=Mr("span",{class:"label"},"数据大小:",-1)),Mr("span",h1,se(A(.75*c.value.length)),1)])])])])):h.value?(Cr(),Tr("div",p1,[Mr("div",f1,[a[17]||(a[17]=Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),Mr("line",{x1:"9",y1:"9",x2:"15",y2:"15"})],-1)),jr(" "+se(h.value),1)])])):(Cr(),Tr("div",m1,[...a[18]||(a[18]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),Mr("circle",{cx:"9",cy:"9",r:"2"}),Mr("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})],-1),Mr("p",null,"输入Base64编码后,解码图片将显示在这里",-1)])]))])])])):Rr("",!0)])]))}}),y1=Wi(g1,[["__scopeId","data-v-0890d2c1"]]),v1=[{surname:"王",rank:1,population:10152,pinyin:"Wáng",origin:"姬姓",junwang:"太原郡",distribution:"山东、河南、河北",description:"王姓是中国第一大姓,主要源于姬姓,部分源于子姓、妫姓和少数民族改姓。王姓在春秋战国时期就已经是大姓,历史上王姓名人辈出。",celebrities:["王羲之","王安石","王阳明","王昭君"]},{surname:"李",rank:2,population:9530,pinyin:"Lǐ",origin:"嬴姓",junwang:"陇西郡",distribution:"河南、山东、四川",description:"李姓是中国第二大姓,主要源于嬴姓及少数民族改姓。李姓在唐朝时期达到鼎盛,唐朝皇室姓李,李姓因此成为国姓。",celebrities:["李白","李世民","李清照","李时珍"]},{surname:"张",rank:3,population:8750,pinyin:"Zhāng",origin:"姬姓",junwang:"清河郡",distribution:"河北、河南、山东",description:"张姓是中国第三大姓,主要源于姬姓及少数民族改姓。张姓始祖为张挥,相传为黄帝之孙,因制弓矢有功,被赐姓张。",celebrities:["张仲景","张衡","张飞","张居正"]},{surname:"刘",rank:4,population:7210,pinyin:"Liú",origin:"祁姓",junwang:"彭城郡",distribution:"山东、江苏、河南",description:"刘姓是中国第四大姓,主要源于祁姓及少数民族改姓。刘姓在汉朝时期成为皇姓,刘邦建立汉朝后,刘姓地位显赫。",celebrities:["刘邦","刘备","刘禹锡","刘墉"]},{surname:"陈",rank:5,population:6370,pinyin:"Chén",origin:"妫姓",junwang:"颍川郡",distribution:"广东、福建、浙江",description:"陈姓是中国第五大姓,主要源于妫姓。陈姓始祖为陈胡公,是舜帝的后裔。陈姓在南方分布较多,尤其在广东、福建等地。",celebrities:["陈胜","陈寿","陈独秀","陈毅"]},{surname:"杨",rank:6,population:4270,pinyin:"Yáng",origin:"姬姓",junwang:"弘农郡",distribution:"四川、河南、云南",description:"杨姓是中国第六大姓,主要源于姬姓。杨姓始祖为杨伯侨,是晋武公的儿子。杨姓在隋朝时期成为皇姓。",celebrities:["杨坚","杨广","杨贵妃","杨靖宇"]},{surname:"赵",rank:7,population:2750,pinyin:"Zhào",origin:"嬴姓",junwang:"天水郡",distribution:"河北、河南、山西",description:"赵姓是中国第七大姓,主要源于嬴姓。赵姓在宋朝时期成为皇姓,宋朝皇室姓赵,因此赵姓地位显赫。",celebrities:["赵匡胤","赵云","赵孟頫","赵州"]},{surname:"黄",rank:8,population:2680,pinyin:"Huáng",origin:"嬴姓",junwang:"江夏郡",distribution:"广东、四川、湖南",description:"黄姓是中国第八大姓,主要源于嬴姓。黄姓始祖为黄帝后裔,在南方分布较多。",celebrities:["黄帝","黄忠","黄庭坚","黄宗羲"]},{surname:"周",rank:9,population:2540,pinyin:"Zhōu",origin:"姬姓",junwang:"汝南郡",distribution:"湖南、四川、江苏",description:"周姓是中国第九大姓,主要源于姬姓。周姓与周朝王室同源,是古老的姓氏之一。",celebrities:["周公","周瑜","周敦颐","周恩来"]},{surname:"吴",rank:10,population:2460,pinyin:"Wú",origin:"姬姓",junwang:"延陵郡",distribution:"江苏、广东、浙江",description:"吴姓是中国第十大姓,主要源于姬姓。吴姓与古代吴国有关,在江南地区分布较多。",celebrities:["吴王夫差","吴承恩","吴敬梓","吴昌硕"]},{surname:"徐",rank:11,population:2e3,pinyin:"Xú",origin:"嬴姓",junwang:"东海郡",distribution:"江苏、浙江、山东",description:"徐姓是中国第十一大姓,主要源于嬴姓。徐姓始祖为徐偃王,在江南地区分布较多。",celebrities:["徐霞客","徐悲鸿","徐志摩","徐达"]},{surname:"孙",rank:12,population:1848,pinyin:"Sūn",origin:"姬姓",junwang:"太原郡",distribution:"山东、江苏、河北",description:"孙姓是中国第十二大姓,主要源于姬姓。孙姓有多个起源,其中以卫国公孙氏最为著名。",celebrities:["孙武","孙权","孙中山","孙思邈"]},{surname:"胡",rank:13,population:1572,pinyin:"Hú",origin:"妫姓",junwang:"安定郡",distribution:"湖北、安徽、四川",description:"胡姓是中国第十三大姓,主要源于妫姓。胡姓始祖为胡公满,是舜帝的后裔。",celebrities:["胡适","胡雪岩","胡锦涛","胡歌"]},{surname:"朱",rank:14,population:1512,pinyin:"Zhū",origin:"曹姓",junwang:"沛郡",distribution:"江苏、浙江、安徽",description:"朱姓是中国第十四大姓,主要源于曹姓。朱姓在明朝时期成为皇姓,朱元璋建立明朝。",celebrities:["朱元璋","朱熹","朱自清","朱德"]},{surname:"高",rank:15,population:1450,pinyin:"Gāo",origin:"姜姓",junwang:"渤海郡",distribution:"山东、河南、辽宁",description:"高姓是中国第十五大姓,主要源于姜姓。高姓始祖为高傒,是齐国的重要姓氏。",celebrities:["高适","高启","高尔基","高俅"]},{surname:"林",rank:16,population:1416,pinyin:"Lín",origin:"子姓",junwang:"西河郡",distribution:"福建、广东、台湾",description:"林姓是中国第十六大姓,主要源于子姓。林姓在南方分布较多,尤其在福建、台湾等地。",celebrities:["林则徐","林黛玉","林语堂","林徽因"]},{surname:"何",rank:17,population:1404,pinyin:"Hé",origin:"姬姓",junwang:"庐江郡",distribution:"广东、四川、湖南",description:"何姓是中国第十七大姓,主要源于姬姓。何姓有多个起源,在南方分布较多。",celebrities:["何晏","何景明","何香凝","何炅"]},{surname:"郭",rank:18,population:1382,pinyin:"Guō",origin:"姬姓",junwang:"太原郡",distribution:"河南、山西、河北",description:"郭姓是中国第十八大姓,主要源于姬姓。郭姓始祖为郭叔,是周朝的重要姓氏。",celebrities:["郭守敬","郭沫若","郭嘉","郭靖"]},{surname:"马",rank:19,population:1260,pinyin:"Mǎ",origin:"嬴姓",junwang:"扶风郡",distribution:"河南、河北、山东",description:"马姓是中国第十九大姓,主要源于嬴姓。马姓有多个起源,在北方分布较多。",celebrities:["马援","马超","马致远","马云"]},{surname:"罗",rank:20,population:1032,pinyin:"Luó",origin:"妫姓",junwang:"豫章郡",distribution:"四川、广东、湖南",description:"罗姓是中国第二十大姓,主要源于妫姓。罗姓在南方分布较多,尤其在四川、湖南等地。",celebrities:["罗贯中","罗隐","罗振玉","罗大佑"]}],b1=["王","李","张","刘","陈","杨","赵","黄","周","吴"],w1={version:"1.0"},x1={class:"surname-lookup"},k1={class:"converter-content"},_1={key:0,class:"results-section"},E1={class:"ranking-grid"},C1=["onClick"],F1=["onClick"],D1={class:"ranking-header"},A1={class:"ranking-number"},T1={class:"ranking-main"},S1={class:"ranking-pinyin"},I1={class:"ranking-surname"},P1={class:"ranking-footer"},N1={class:"ranking-population"},B1={key:1,class:"overview-section"},M1={class:"section-title"},O1={class:"ranking-grid"},U1=["onClick"],j1=["onClick"],L1={class:"ranking-header"},R1={class:"ranking-number"},z1={class:"ranking-main"},H1={class:"ranking-pinyin"},Y1={class:"ranking-surname"},$1={class:"ranking-footer"},G1={class:"ranking-population"},W1={key:2,class:"detail-section"},V1={class:"detail-card"},K1={class:"detail-header"},J1={class:"surname-title"},q1={class:"surname-main"},Z1={class:"surname-char"},X1={class:"surname-pinyin"},Q1={class:"pinyin-text"},e2={class:"surname-meta"},t2={class:"rank-badge"},a2={class:"population-badge"},n2={class:"detail-content"},r2={class:"info-grid"},s2={class:"info-item"},i2={class:"info-value"},o2={class:"info-item"},l2={class:"info-value"},c2={class:"info-item"},u2={class:"info-value"},d2={class:"info-item"},h2={class:"info-value"},p2={class:"description-section"},f2={class:"description-text"},m2={key:0,class:"celebrities-section"},g2={class:"celebrities-list"},y2={key:3,class:"no-results"},v2=Wi(Ya({__name:"SurnameLookup",emits:["back"],setup(e,{emit:t}){const a=t;il("surname-lookup");const{success:n,error:r}=Vo(),s=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"surname-lookup"===e.id);if(t)return t.title}return"百家姓查询"}),i=St(""),o=St(null),l=St("");pa(l,e=>{e&&u.value.includes(e)&&(i.value=e,o.value=null)}),pa(i,e=>{e.trim()||(l.value="")});const c=St(v1),u=St(b1),d=is(()=>u.value.slice(0,10).map(e=>({key:e,name:e,count:void 0}))),h=St((()=>{const e=[...c.value],t=[{surname:"梁",pinyin:"Liáng"},{surname:"宋",pinyin:"Sòng"},{surname:"郑",pinyin:"Zhèng"},{surname:"谢",pinyin:"Xiè"},{surname:"韩",pinyin:"Hán"},{surname:"唐",pinyin:"Táng"},{surname:"冯",pinyin:"Féng"},{surname:"于",pinyin:"Yú"},{surname:"董",pinyin:"Dǒng"},{surname:"萧",pinyin:"Xiāo"},{surname:"程",pinyin:"Chéng"},{surname:"曹",pinyin:"Cáo"},{surname:"袁",pinyin:"Yuán"},{surname:"邓",pinyin:"Dèng"},{surname:"许",pinyin:"Xǔ"},{surname:"傅",pinyin:"Fù"},{surname:"沈",pinyin:"Shěn"},{surname:"曾",pinyin:"Zēng"},{surname:"彭",pinyin:"Péng"},{surname:"吕",pinyin:"Lǚ"},{surname:"苏",pinyin:"Sū"},{surname:"卢",pinyin:"Lú"},{surname:"蒋",pinyin:"Jiǎng"},{surname:"蔡",pinyin:"Cài"},{surname:"贾",pinyin:"Jiǎ"},{surname:"丁",pinyin:"Dīng"},{surname:"魏",pinyin:"Wèi"},{surname:"薛",pinyin:"Xuē"},{surname:"叶",pinyin:"Yè"},{surname:"阎",pinyin:"Yán"},{surname:"余",pinyin:"Yú"},{surname:"潘",pinyin:"Pān"},{surname:"杜",pinyin:"Dù"},{surname:"戴",pinyin:"Dài"},{surname:"夏",pinyin:"Xià"},{surname:"钟",pinyin:"Zhōng"},{surname:"汪",pinyin:"Wāng"},{surname:"田",pinyin:"Tián"},{surname:"任",pinyin:"Rèn"},{surname:"姜",pinyin:"Jiāng"},{surname:"范",pinyin:"Fàn"},{surname:"方",pinyin:"Fāng"},{surname:"石",pinyin:"Shí"},{surname:"姚",pinyin:"Yáo"},{surname:"谭",pinyin:"Tán"},{surname:"廖",pinyin:"Liào"},{surname:"邹",pinyin:"Zōu"},{surname:"熊",pinyin:"Xióng"},{surname:"金",pinyin:"Jīn"},{surname:"陆",pinyin:"Lù"},{surname:"郝",pinyin:"Hǎo"},{surname:"孔",pinyin:"Kǒng"},{surname:"白",pinyin:"Bái"},{surname:"崔",pinyin:"Cuī"},{surname:"康",pinyin:"Kāng"},{surname:"毛",pinyin:"Máo"},{surname:"邱",pinyin:"Qiū"},{surname:"秦",pinyin:"Qín"},{surname:"江",pinyin:"Jiāng"},{surname:"史",pinyin:"Shǐ"},{surname:"顾",pinyin:"Gù"},{surname:"侯",pinyin:"Hóu"},{surname:"邵",pinyin:"Shào"},{surname:"孟",pinyin:"Mèng"},{surname:"龙",pinyin:"Lóng"},{surname:"万",pinyin:"Wàn"},{surname:"段",pinyin:"Duàn"},{surname:"漕",pinyin:"Cáo"},{surname:"钱",pinyin:"Qián"},{surname:"汤",pinyin:"Tāng"},{surname:"尹",pinyin:"Yǐn"},{surname:"黎",pinyin:"Lí"},{surname:"易",pinyin:"Yì"},{surname:"常",pinyin:"Cháng"},{surname:"武",pinyin:"Wǔ"},{surname:"乔",pinyin:"Qiáo"},{surname:"贺",pinyin:"Hè"},{surname:"赖",pinyin:"Lài"},{surname:"龚",pinyin:"Gōng"},{surname:"文",pinyin:"Wén"}];if(e.length<100){const a=e.length+1;t.slice(0,100-e.length).forEach((t,n)=>{e.push({surname:t.surname,rank:a+n,population:Math.floor(800*Math.random())+200,pinyin:t.pinyin,origin:"待完善",junwang:"待完善",distribution:"全国各地",description:`${t.surname}姓的详细信息正在整理中,欢迎提供更多资料...`,celebrities:[]})})}return e})()),p=is(()=>{if(!i.value.trim())return[];const e=i.value.trim();return h.value.filter(t=>t.surname.includes(e)||t.pinyin.toLowerCase().includes(e.toLowerCase()))}),f=is(()=>h.value),m=e=>{o.value=e,i.value="",n(`已选择 ${e.surname} 姓`)},g=()=>{o.value=null},y=async e=>{try{await navigator.clipboard.writeText(e),n(`已复制姓氏: ${e}`)}catch(t){console.error("复制失败:",t),r("复制失败,请手动复制")}},v=()=>{a("back")},b=e=>1===e?"rank-first":2===e?"rank-second":3===e?"rank-third":e<=10?"rank-top-ten":"";return nn(()=>{const e=w1.version;n(`当前版本 v${e},收录 ${h.value.length} 个姓氏`)}),(e,t)=>(Cr(),Tr("div",x1,[Or(hl,{title:s.value,onBack:v},null,8,["title"]),Mr("div",k1,[Or(FX,{searchQuery:i.value,"onUpdate:searchQuery":t[0]||(t[0]=e=>i.value=e),placeholder:"输入姓氏进行查询,如:王、李、张...",filters:d.value,activeFilter:l.value,"onUpdate:activeFilter":t[1]||(t[1]=e=>l.value=e)},null,8,["searchQuery","filters","activeFilter"]),p.value.length>0?(Cr(),Tr("div",_1,[t[3]||(t[3]=Mr("h3",{class:"section-title"},"搜索结果",-1)),Mr("div",E1,[(Cr(!0),Tr(br,null,yn(p.value,e=>(Cr(),Tr("div",{key:e.surname,class:Q(["ranking-item",b(e.rank)]),onClick:t=>m(e)},[Mr("button",{class:"copy-btn-corner-small",onClick:Ii(t=>y(e.surname),["stop"]),title:"复制姓氏"},[...t[2]||(t[2]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,F1),Mr("div",D1,[Mr("div",A1,se(e.rank),1)]),Mr("div",T1,[Mr("div",S1,se(e.pinyin),1),Mr("div",I1,se(e.surname),1)]),Mr("div",P1,[Mr("div",N1,se(e.population)+"万人",1)])],10,C1))),128))])])):Rr("",!0),i.value||o.value?Rr("",!0):(Cr(),Tr("div",B1,[Mr("h3",M1,"百家姓排行榜(前"+se(f.value.length)+"位)",1),Mr("div",O1,[(Cr(!0),Tr(br,null,yn(f.value,e=>(Cr(),Tr("div",{key:e.surname,class:Q(["ranking-item",b(e.rank)]),onClick:t=>m(e)},[Mr("button",{class:"copy-btn-corner-small",onClick:Ii(t=>y(e.surname),["stop"]),title:"复制姓氏"},[...t[4]||(t[4]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,j1),Mr("div",L1,[Mr("div",R1,se(e.rank),1)]),Mr("div",z1,[Mr("div",H1,se(e.pinyin),1),Mr("div",Y1,se(e.surname),1)]),Mr("div",$1,[Mr("div",G1,se(e.population)+"万人",1)])],10,U1))),128))])])),o.value?(Cr(),Tr("div",W1,[Mr("div",V1,[Mr("div",K1,[Mr("button",{class:"back-to-list-btn",onClick:g,title:"返回列表"},[...t[5]||(t[5]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1)])]),Mr("div",J1,[Mr("div",q1,[Mr("span",Z1,se(o.value.surname),1),Mr("div",X1,[Mr("span",Q1,se(o.value.pinyin),1)])]),Mr("div",e2,[Mr("span",t2,"第"+se(o.value.rank)+"位",1),Mr("span",a2,se(o.value.population)+"万人",1)])])]),Mr("div",n2,[Mr("div",r2,[Mr("div",s2,[t[6]||(t[6]=Mr("div",{class:"info-label"},"拼音",-1)),Mr("div",i2,se(o.value.pinyin),1)]),Mr("div",o2,[t[7]||(t[7]=Mr("div",{class:"info-label"},"起源",-1)),Mr("div",l2,se(o.value.origin),1)]),Mr("div",c2,[t[8]||(t[8]=Mr("div",{class:"info-label"},"郡望",-1)),Mr("div",u2,se(o.value.junwang),1)]),Mr("div",d2,[t[9]||(t[9]=Mr("div",{class:"info-label"},"主要分布",-1)),Mr("div",h2,se(o.value.distribution),1)])]),Mr("div",p2,[t[10]||(t[10]=Mr("h4",null,"姓氏来源",-1)),Mr("p",f2,se(o.value.description),1)]),o.value.celebrities&&o.value.celebrities.length>0?(Cr(),Tr("div",m2,[t[11]||(t[11]=Mr("h4",null,"历史名人",-1)),Mr("div",g2,[(Cr(!0),Tr(br,null,yn(o.value.celebrities,e=>(Cr(),Tr("span",{key:e,class:"celebrity-tag"},se(e),1))),128))])])):Rr("",!0)])])])):Rr("",!0),i.value&&0===p.value.length?(Cr(),Tr("div",y2,[...t[12]||(t[12]=[Mr("svg",{width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"11",cy:"11",r:"8"}),Mr("path",{d:"m21 21-4.35-4.35"})],-1),Mr("h3",null,"未找到相关姓氏",-1),Mr("p",null,"请尝试输入其他姓氏或检查输入是否正确",-1)])])):Rr("",!0)]),Or(PX,{threshold:200,container:".converter-content"})]))}}),[["__scopeId","data-v-2c0c0a94"]]),b2={class:"regex-tester-wrapper"},w2={class:"regex-tester-content"},x2={class:"main-content"},k2={class:"left-section"},_2={class:"regex-input-section"},E2={class:"regex-input-wrapper"},C2={class:"regex-input-container"},F2={class:"regex-hint"},D2=["onClick","title"],A2={class:"test-text-section"},T2={class:"match-status"},S2={class:"status-icon"},I2={class:"status-text"},P2={key:0,class:"matches-list"},N2={class:"matches-table-container"},B2={class:"matches-table"},M2={class:"match-content-cell"},O2={class:"match-position-cell"},U2={class:"match-groups-cell"},j2={key:0,class:"groups-info"},L2={key:1,class:"no-groups"},R2={key:1,class:"highlighted-text"},z2=["innerHTML"],H2={class:"right-section"},Y2={class:"examples-grid"},$2=["onClick","title"],G2={class:"example-name"},W2=Wi(Ya({__name:"RegexTester",emits:["back"],setup(e){il("regex-tester");const{success:t,error:a}=Vo(),n=St(""),r=St("g"),s=St(""),i=St([]),o=St(!0),l=St(""),c=[{flag:"g",description:"全局匹配"},{flag:"i",description:"忽略大小写"},{flag:"m",description:"多行模式"},{flag:"s",description:"单行模式(.匹配换行符)"},{flag:"u",description:"Unicode模式"},{flag:"y",description:"粘性匹配"}],u={common:[{name:"邮箱",pattern:"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}",description:"匹配邮箱地址"},{name:"手机号",pattern:"1[3-9]\\d{9}",description:"匹配中国手机号"},{name:"身份证",pattern:"[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[0-9Xx]",description:"匹配18位身份证号"},{name:"银行卡",pattern:"[1-9]\\d{12,18}",description:"匹配银行卡号"},{name:"IPv4",pattern:"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",description:"匹配IPv4地址"},{name:"IPv6",pattern:"(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}",description:"匹配IPv6地址"},{name:"QQ号",pattern:"[1-9][0-9]{4,10}",description:"匹配QQ号码"},{name:"强密码",pattern:"(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}",description:"匹配强密码"},{name:"邮政编码",pattern:"[1-9]\\d{5}(?!\\d)",description:"匹配中国邮政编码"},{name:"微信号",pattern:"[a-zA-Z][-_a-zA-Z0-9]{5,19}",description:"匹配微信号格式"},{name:"MAC地址",pattern:"([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})",description:"匹配MAC地址"},{name:"统一社会信用代码",pattern:"[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}",description:"匹配统一社会信用代码"},{name:"数字",pattern:"\\d+",description:"匹配所有数字"},{name:"小数",pattern:"\\d+\\.\\d+",description:"匹配小数"},{name:"中文",pattern:"[\\u4e00-\\u9fa5]+",description:"匹配中文字符"},{name:"英文",pattern:"[a-zA-Z]+",description:"匹配英文字母"},{name:"URL",pattern:"https?://[^\\s]+",description:"匹配HTTP/HTTPS链接"},{name:"域名",pattern:"[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+",description:"匹配域名"},{name:"文件路径",pattern:"[a-zA-Z]:\\\\[^\\n\\r]*|/[^\\n\\r]*",description:"匹配文件路径"},{name:"颜色代码",pattern:"#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3}",description:"匹配十六进制颜色代码"},{name:"日期",pattern:"\\d{4}[-/]\\d{1,2}[-/]\\d{1,2}",description:"匹配日期格式"},{name:"时间",pattern:"([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?",description:"匹配时间格式"},{name:"版本号",pattern:"\\d+\\.\\d+\\.\\d+",description:"匹配版本号"},{name:"UUID",pattern:"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}",description:"匹配UUID"},{name:"多个空格",pattern:"\\s+",description:"匹配多个连续空格"},{name:"换行符",pattern:"\\r?\\n",description:"匹配换行符"},{name:"HTML标签",pattern:"<[^>]*>",description:"匹配HTML标签"},{name:"特殊字符",pattern:"[^a-zA-Z0-9\\u4e00-\\u9fa5\\s]",description:"匹配特殊字符"},{name:"首尾空格",pattern:"^\\s+|\\s+$",description:"匹配字符串首尾的空格"},{name:"中文标点",pattern:"[\\u3000-\\u303F\\uFF00-\\uFFEF]",description:"匹配中文标点符号"},{name:"英文标点",pattern:"[,.!?;:\"'()\\[\\]{}]",description:"匹配英文标点符号"},{name:"空行",pattern:"^\\s*$",description:"匹配空行"},{name:"XML标签",pattern:"<[^>]+>",description:"匹配XML标签"},{name:"JSON字符串",pattern:'"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"',description:"匹配JSON字符串"},{name:"货币格式",pattern:"\\$?\\d{1,3}(,\\d{3})*(\\.\\d{2})?",description:"匹配货币格式"},{name:"百分比",pattern:"\\d+(\\.\\d+)?%",description:"匹配百分比格式"},{name:"Base64",pattern:"[A-Za-z0-9+/]*={0,2}",description:"匹配Base64编码"},{name:"端口号",pattern:":(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3})",description:"匹配端口号"},{name:"电话号码",pattern:"(\\+\\d{1,3}[\\s-]?)?\\(?\\d{3,4}\\)?[\\s-]?\\d{3,4}[\\s-]?\\d{3,4}",description:"匹配电话号码"},{name:"信用卡号",pattern:"\\d{4}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4}",description:"匹配信用卡号"},{name:"图片文件",pattern:"\\S+\\.(jpg|jpeg|png|gif|bmp|webp|svg)\\b",description:"匹配图片文件"},{name:"视频文件",pattern:"\\S+\\.(mp4|avi|mkv|mov|wmv|flv|webm|m4v)\\b",description:"匹配视频文件"},{name:"音频文件",pattern:"\\S+\\.(mp3|wav|flac|aac|ogg|wma|m4a)\\b",description:"匹配音频文件"},{name:"文档文件",pattern:"\\S+\\.(pdf|doc|docx|txt|rtf|odt)\\b",description:"匹配文档文件"},{name:"Excel文件",pattern:"\\S+\\.(xls|xlsx|xlsm|xlsb|csv)\\b",description:"匹配Excel文件"},{name:"压缩文件",pattern:"\\S+\\.(zip|rar|7z|tar|gz|bz2)\\b",description:"匹配压缩文件"},{name:"代码文件",pattern:"\\S+\\.(js|ts|py|java|cpp|c|php|rb|go|rs)\\b",description:"匹配代码文件"},{name:"HTTP链接",pattern:'https?://[^\\s<>"{}|\\\\^`\\[\\]]+',description:"匹配HTTP/HTTPS链接"},{name:"FTP链接",pattern:'ftp://[^\\s<>"{}|\\\\^`\\[\\]]+',description:"匹配FTP链接"},{name:"图片URL",pattern:'https?://[^\\s<>"{}|\\\\^`\\[\\]]+\\.(jpg|jpeg|png|gif|bmp|webp|svg)',description:"匹配图片URL"},{name:"API接口",pattern:'https?://[^\\s<>"{}|\\\\^`\\[\\]]+/api/[^\\s<>"{}|\\\\^`\\[\\]]*',description:"匹配API接口URL"},{name:"CDN资源",pattern:'https?://[^\\s<>"{}|\\\\^`\\[\\]]*cdn[^\\s<>"{}|\\\\^`\\[\\]]*',description:"匹配CDN资源链接"},{name:"GitHub链接",pattern:"https?://github\\.com/[\\w.-]+/[\\w.-]+",description:"匹配GitHub仓库链接"},{name:"车牌号",pattern:"[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][DF][A-HJ-NP-Z0-9]{5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9][DF][A-HJ-NP-Z0-9]{4}",description:"匹配车牌号(含新能源)"},{name:"传统车牌",pattern:"[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]",description:"匹配传统车牌号"},{name:"新能源车牌",pattern:"[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][DF][A-HJ-NP-Z0-9]{5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9][DF][A-HJ-NP-Z0-9]{4}",description:"匹配新能源车牌号"}]},d=is(()=>n.value?o.value?s.value?0===i.value.length?{type:"warning",icon:"⚠️",text:"没有找到匹配项"}:{type:"success",icon:"✅",text:`匹配成功,找到 ${i.value.length} 个匹配项`}:{type:"info",icon:"📝",text:"请输入测试文本"}:{type:"error",icon:"❌",text:`正则表达式语法错误: ${l.value}`}:{type:"info",icon:"📝",text:"请输入正则表达式"}),h=is(()=>{if(!s.value||!o.value||0===i.value.length)return s.value.replace(/\n/g,"
");try{new RegExp(n.value,r.value);let e=s.value,t=0;return[...i.value].sort((e,t)=>(e.index||0)-(t.index||0)).forEach(a=>{if(void 0!==a.index){const n=a.index+t,r=n+a[0].length,s=`${a[0]}`;e=e.slice(0,n)+s+e.slice(r),t+=s.length-a[0].length}}),e.replace(/\n/g,"
")}catch{return s.value.replace(/\n/g,"
")}}),p=e=>{const t=e.index||0;return`${t} - ${t+e[0].length-1}`},f=()=>{if(i.value=[],o.value=!0,l.value="",n.value&&s.value)try{const e=new RegExp(n.value,r.value),t=[];if(r.value.includes("g")){let a;for(;null!==(a=e.exec(s.value));)t.push(a),a.index===e.lastIndex&&e.lastIndex++}else{const a=e.exec(s.value);a&&t.push(a)}i.value=t}catch(e){o.value=!1,l.value=e instanceof Error?e.message:"未知错误"}},m=async()=>{if(n.value)try{const e=`/${n.value}/${r.value}`;await navigator.clipboard.writeText(e),t("正则表达式已复制到剪贴板")}catch(e){a("复制失败")}else a("没有可复制的正则表达式")},g=()=>{n.value="",r.value="g",s.value="",i.value=[],t("已清空正则表达式")};return(e,a)=>(Cr(),Tr("div",b2,[Or(hl,{title:"正则表达式测试",onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[n.value?(Cr(),Sr(jl,{key:0,icon:"copy",tooltip:"复制正则表达式",onClick:m})):Rr("",!0),n.value?(Cr(),Sr(jl,{key:1,icon:"clear",tooltip:"清空正则表达式",onClick:g})):Rr("",!0)]),_:1}),Mr("div",w2,[Mr("div",x2,[Mr("div",k2,[Mr("div",_2,[a[7]||(a[7]=Mr("h3",{class:"section-title"},"正则表达式",-1)),Mr("div",E2,[Mr("div",C2,[a[4]||(a[4]=Mr("span",{class:"regex-delimiter"},"/",-1)),ca(Mr("input",{"onUpdate:modelValue":a[1]||(a[1]=e=>n.value=e),class:"regex-input",placeholder:"输入正则表达式",onInput:f},null,544),[[bi,n.value]]),a[5]||(a[5]=Mr("span",{class:"regex-delimiter"},"/",-1)),ca(Mr("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>r.value=e),class:"flags-input",placeholder:"flags",maxlength:"6",onInput:f},null,544),[[bi,r.value]])]),Mr("div",F2,[a[6]||(a[6]=Mr("span",null,"常用标志:",-1)),(Cr(),Tr(br,null,yn(c,e=>Mr("button",{key:e.flag,class:Q(["flag-btn",{active:r.value.includes(e.flag)}]),onClick:t=>(e=>{r.value.includes(e)?r.value=r.value.replace(e,""):r.value+=e,f()})(e.flag),title:e.description},se(e.flag),11,D2)),64))])])]),Mr("div",A2,[a[8]||(a[8]=Mr("h4",{class:"subsection-title"},"测试文本",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[3]||(a[3]=e=>s.value=e),class:"test-textarea",placeholder:"输入要测试的文本内容...",rows:"6",onInput:f},null,544),[[bi,s.value]])]),Mr("div",T2,[Mr("div",{class:Q(["status-indicator",d.value.type])},[Mr("span",S2,se(d.value.icon),1),Mr("span",I2,se(d.value.text),1)],2)]),i.value.length>0?(Cr(),Tr("div",P2,[a[10]||(a[10]=Mr("h4",{class:"subsection-title"},"匹配详情",-1)),Mr("div",N2,[Mr("table",B2,[a[9]||(a[9]=Mr("thead",null,[Mr("tr",null,[Mr("th",null,"序号"),Mr("th",null,"匹配内容"),Mr("th",null,"位置"),Mr("th",null,"分组")])],-1)),Mr("tbody",null,[(Cr(!0),Tr(br,null,yn(i.value,(e,t)=>(Cr(),Tr("tr",{key:t},[Mr("td",null,se(t+1),1),Mr("td",M2,se(e[0]),1),Mr("td",O2,se(p(e)),1),Mr("td",U2,[e.length>1?(Cr(),Tr("span",j2,se(e.slice(1).map((e,t)=>`组${t+1}: ${e||"(空)"}`).join(", ")),1)):(Cr(),Tr("span",L2,"无"))])]))),128))])])])])):Rr("",!0),s.value?(Cr(),Tr("div",R2,[a[11]||(a[11]=Mr("h4",{class:"subsection-title"},"高亮显示",-1)),Mr("div",{class:"highlight-container",innerHTML:h.value},null,8,z2)])):Rr("",!0)]),Mr("div",H2,[a[12]||(a[12]=Mr("h3",{class:"section-title"},"常用正则表达式",-1)),Mr("div",Y2,[(Cr(!0),Tr(br,null,yn(u.common,e=>(Cr(),Tr("button",{key:e.name,class:"example-btn",onClick:a=>(e=>{n.value=e.pattern,"空行"===e.name||"首尾空格"===e.name?r.value="gm":e.name.includes("文件")||"Excel文件"===e.name||e.name.includes("链接")||e.name.includes("URL")||"API接口"===e.name||"CDN资源"===e.name||"GitHub链接"===e.name?r.value="gi":r.value="g",s.value={"邮箱":"联系我们:admin@example.com 或 support@test.org\n客服邮箱:service@company.com.cn","手机号":"请联系:13812345678 或 15987654321\n座机:010-12345678",IPv4:"服务器地址:192.168.1.1\n网关:10.0.0.1\n公网IP:203.208.60.1",IPv6:"本地地址:::1\n公网IPv6:2001:0db8:85a3:0000:0000:8a2e:0370:7334\n简化格式:2001:db8::1","身份证":"张三:110101199001011234\n李四:320102198505052345","银行卡":"卡号:6225881234567890\n备用卡:9558801234567890123","QQ号":"张三:123456789\n李四:987654321\n王五:1234567890","强密码":"强密码:MyP@ssw0rd123\n弱密码:123456\n弱密码:password","邮政编码":"北京朝阳区:100020\n上海浦东区:200120\n广州天河区:510630","微信号":"微信号:wechat_user123\n微信号:wx-test-2024\n微信号:user_name_01","MAC地址":"网卡1:00:1B:44:11:3A:B7\n网卡2:AA-BB-CC-DD-EE-FF\n无线网卡:12:34:56:78:9A:BC","统一社会信用代码":"公司A:91110000000000000A\n公司B:92320000MA1234567X","数字":"价格:99.99元,数量:5个,总计:499.95元","小数":"商品A:¥99.99\n商品B:¥199.50\n商品C:¥1299.00","中文":"Hello 世界!这是一个测试文本。包含中文字符:你好,欢迎使用。","英文":"这是English文本,包含Chinese和English混合内容。",URL:"官网:https://www.example.com 文档:http://docs.example.com/api","域名":"网站:www.example.com\n邮箱服务:mail.google.com\nAPI:api.github.com","文件路径":"Windows路径:C:\\Users\\Admin\\Documents\\file.txt\nLinux路径:/home/user/documents/file.txt\n相对路径:./src/main.js","颜色代码":"CSS颜色:#FF5733, #3498DB, #2ECC71\n简写:#F00, #0F0, #00F","多个空格":"这是 一个 有多个 空格的 文本","换行符":"第一行\n第二行\r\n第三行\n第四行","HTML标签":"

这是重要文本

","特殊字符":"Hello@World#2024!测试$文本%^&*()","首尾空格":" 文本首尾有多余空格 \n 另一行也有空格 ","中文标点":'你好,世界!这是一个测试。包含:引号"内容"和(括号)【方括号】',"英文标点":'Hello, World! This is a test. Contains: "quotes" and (parentheses) [brackets] {braces}',"空行":"第一行\n\n第二行\n \n第三行\n\t\n第四行","日期":"开始日期:2024-01-15,结束日期:2024/12/31","时间":"上班时间:09:30:00,下班时间:18:30","版本号":"当前版本:1.2.3,最新版本:2.0.1",UUID:"用户ID:550e8400-e29b-41d4-a716-446655440000\n会话ID:6ba7b810-9dad-11d1-80b4-00c04fd430c8","货币格式":"价格:$1,234.56,折扣价:$999.99","百分比":"完成率:85.5%,增长率:12.3%,转化率:3.7%",Base64:"SGVsbG8gV29ybGQ=\niVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJ","JSON字符串":'{"name": "张三", "age": 25, "city": "北京"}\n{"message": "Hello World", "status": "success"}',"XML标签":"张三25\nHello World","端口号":"服务器:192.168.1.1:8080\nSSH:server.com:22\nHTTPS:api.example.com:443","电话号码":"客服热线:+86 400-123-4567\n座机:(010) 1234-5678\n手机:138-1234-5678\n国际:+1 555-123-4567","信用卡号":"卡号:4532 1234 5678 9012\n备用卡:5555-4444-3333-2222\n公司卡:378282246310005","图片文件":"头像:avatar.jpg\n背景:background.png\n图标:icon.svg\n照片:photo.jpeg\n动图:animation.gif","视频文件":"宣传片:promo.mp4\n教程:tutorial.avi\n电影:movie.mkv\n录屏:screen.mov\n直播:live.webm","音频文件":"音乐:song.mp3\n录音:record.wav\n播客:podcast.m4a\n音效:sound.ogg\n无损:music.flac","文档文件":"报告:report.pdf\n合同:contract.docx\n说明:readme.txt\n手册:manual.doc\n文档:document.odt","Excel文件":"数据:data.xlsx\n报表:report.xls\n统计:stats.csv\n模板:template.xlsm\n工作簿:workbook.xlsb","压缩文件":"源码:source.zip\n备份:backup.rar\n安装包:setup.7z\n归档:archive.tar.gz\n压缩:files.bz2","代码文件":"脚本:script.js\n组件:component.ts\n程序:main.py\n类:Class.java\n头文件:header.cpp","HTTP链接":"官网:https://www.example.com\n文档:http://docs.example.com/guide\nAPI:https://api.github.com/users\n博客:https://blog.example.com/post/123","FTP链接":"文件服务器:ftp://files.example.com/downloads\n备份:ftp://backup.server.com/data\n资源:ftp://resources.company.com/assets","图片URL":"头像:https://cdn.example.com/avatar.jpg\n背景:https://images.unsplash.com/photo.png\n图标:https://static.example.com/icon.svg","API接口":"REST API:https://api.example.com/api/users\n数据接口:https://service.com/api/v1/data\nGraphQL:https://graph.example.com/api/graphql","CDN资源":"JS库:https://cdn.jsdelivr.net/npm/vue@3.0.0/dist/vue.js\nCSS:https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.0/css/bootstrap.min.css\n字体:https://fonts.googleapis.com/css2?family=Roboto","GitHub链接":"仓库:https://github.com/vuejs/vue\n项目:https://github.com/microsoft/vscode\n工具:https://github.com/facebook/react","车牌号":"传统车牌:京A12345\n新能源:京AD12345\n蓝牌:沪B67890\n绿牌:粤BD88888\n黄牌:川A12345挂\n警车:京A12345警","传统车牌":"小型车:京A12345\n大型车:京A12345挂\n教练车:京A12345学\n警车:京A12345警\n港澳车:粤Z12345港\n使馆车:使001234","新能源车牌":"小型新能源:京AD12345\n大型新能源:京AF12345\n纯电动:沪AD88888\n混合动力:粤BF66666\n燃料电池:川A1D234"}[e.name]||"请输入测试文本...",f(),t(`已设置${e.name}示例`)})(e),title:e.description},[Mr("div",G2,se(e.name),1)],8,$2))),128))])])]),a[13]||(a[13]=Lr('

正则表达式参考

基本字符

.匹配任意单个字符(除换行符)
\\d匹配数字 [0-9]
\\w匹配字母、数字、下划线 [a-zA-Z0-9_]
\\s匹配空白字符(空格、制表符、换行符)

量词

*匹配0次或多次
+匹配1次或多次
?匹配0次或1次
{n,m}匹配n到m次

位置锚点

^匹配行的开始
$匹配行的结束
\\b匹配单词边界

字符类

[abc]匹配a、b或c中的任意一个
[^abc]匹配除a、b、c之外的任意字符
[a-z]匹配小写字母a到z
',1))])]))}}),[["__scopeId","data-v-f1c75a9e"]]),V2={class:"api-tester"},K2={class:"formatter-actions"},J2={class:"tester-content"},q2={class:"request-section"},Z2={class:"request-header"},X2={class:"example-buttons"},Q2={class:"request-content"},e3={class:"request-line"},t3=["disabled"],a3={key:0,class:"loading-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},n3={key:1,class:"send-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},r3={class:"config-section"},s3={key:0,class:"headers-list"},i3=["onUpdate:modelValue"],o3=["onUpdate:modelValue"],l3=["onClick"],c3={key:0,class:"config-section"},u3={key:0,class:"params-list"},d3=["onUpdate:modelValue"],h3=["onUpdate:modelValue"],p3=["onClick"],f3={key:1,class:"config-section"},m3={class:"section-header"},g3={key:0,class:"json-body"},y3={key:1,class:"form-body"},v3={class:"form-mode-toggle"},b3={key:0,class:"form-mode"},w3={key:0,class:"form-container"},x3={class:"form-list"},k3=["onUpdate:modelValue"],_3=["onUpdate:modelValue"],E3=["onClick"],C3={key:1,class:"bulk-mode"},F3={key:2,class:"form-body"},D3={key:0,class:"form-list"},A3=["onUpdate:modelValue"],T3=["onUpdate:modelValue"],S3=["onClick"],I3={key:3,class:"xml-body"},P3={key:4,class:"raw-body"},N3={key:5,class:"binary-body"},B3={class:"file-upload"},M3={for:"binary-file",class:"file-label"},O3={key:0,class:"file-info"},U3={class:"file-details"},j3={class:"file-name"},L3={class:"file-size"},R3={class:"file-type"},z3={class:"response-section"},H3={class:"response-header"},Y3={class:"response-info"},$3={class:"status-code"},G3={class:"status-text"},W3={key:1,class:"meta-info"},V3={class:"response-content"},K3={key:0,class:"response-body"},J3={key:0,class:"error-message"},q3={class:"error-detail"},Z3={key:1,class:"response-data"},X3={class:"response-pre"},Q3={key:1,class:"empty-response"},e5=Wi(Ya({__name:"ApiTester",emits:["back"],setup(e){il("api-tester");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("api-tester"),{success:a,error:n}=Vo(),r=St(!1),s=St("form"),i=St(""),o=bt({method:"GET",url:"",headers:[{key:"Content-Type",value:"application/json"}],params:[],bodyType:"json",jsonBody:"",formData:[],formUrlEncodedData:[],formDataFields:[],xmlBody:"",rawBody:"",binaryFile:null}),l=bt({status:null,data:null,headers:null,error:null,time:null}),c=e=>{switch(e){case"jsonplaceholder":o.method="GET",o.url="https://jsonplaceholder.typicode.com/posts/1",o.headers=[{key:"Content-Type",value:"application/json"}],o.params=[];break;case"httpbin-get":o.method="GET",o.url="https://httpbin.org/get",o.headers=[{key:"User-Agent",value:"Toolbox-API-Tester"}],o.params=[{key:"param1",value:"value1"},{key:"param2",value:"value2"}];break;case"httpbin-post":o.method="POST",o.url="https://httpbin.org/post",o.headers=[{key:"Content-Type",value:"application/json"}],o.bodyType="json",o.jsonBody=JSON.stringify({name:"测试用户",email:"test@example.com",message:"这是一个测试消息"},null,2)}a("已加载示例API")},u=()=>{o.headers.push({key:"",value:""})},d=()=>{o.params.push({key:"",value:""})},h=()=>{o.formDataFields.push({key:"",value:""})},p=()=>{o.formUrlEncodedData.push({key:"",value:""})},f=()=>{const e=i.value.split("\n"),t=[];e.forEach(e=>{const a=e.trim();if(a){let e="",n="";if(a.includes("=")){const t=a.split("=");e=t[0]||"",n=t.slice(1).join("=")}else if(a.includes(":")){const t=a.split(":");e=t[0]||"",n=t.slice(1).join(":")}else e=a,n="";e&&e.trim()&&t.push({key:e.trim(),value:n.trim()})}}),o.formUrlEncodedData=t},m=()=>{f(),(()=>{const e=o.formUrlEncodedData.filter(e=>e.key||e.value).map(e=>`${e.key}=${e.value}`);i.value=e.join("\n")})(),a("批量参数格式化成功")},g=()=>{i.value="",o.formUrlEncodedData=[],a("已清空批量参数")},y=()=>{try{const e=JSON.parse(o.jsonBody);o.jsonBody=JSON.stringify(e,null,2),a("JSON格式化成功")}catch(e){n("JSON格式错误,无法格式化")}},v=()=>{try{const e=JSON.parse(o.jsonBody);o.jsonBody=JSON.stringify(e),a("JSON压缩成功")}catch(e){n("JSON格式错误,无法压缩")}},b=()=>{try{let e=o.xmlBody.replace(/>\n<").replace(/^\s*\n/gm,"");const t=e.split("\n");let n=0;const r=2;e=t.map(e=>{const t=e.trim();t.startsWith("")||(n+=r),a}).join("\n"),o.xmlBody=e,a("XML格式化成功")}catch(e){n("XML格式化失败")}},w=()=>{try{o.xmlBody=o.xmlBody.replace(/>\s+<").replace(/^\s+|\s+$/g,""),a("XML压缩成功")}catch(e){n("XML压缩失败")}},x=St(),k=e=>{const t=e.target,n=t.files?.[0];n&&(o.binaryFile=n,a(`已选择文件: ${n.name}`))},_=()=>{o.binaryFile=null,x.value&&(x.value.value=""),a("已移除文件")},E=e=>{if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB"][t]},C=()=>{o.method="GET",o.url="",o.headers=[{key:"Content-Type",value:"application/json"}],o.params=[],o.bodyType="json",o.jsonBody="",o.formData=[],o.formUrlEncodedData=[],o.formDataFields=[],o.xmlBody="",o.rawBody="",o.binaryFile=null,s.value="form",i.value="",x.value&&(x.value.value=""),l.status=null,l.data=null,l.headers=null,l.error=null,l.time=null,a("已清空所有配置")},F=async()=>{if(!o.url.trim())return void n("请输入API接口地址");r.value=!0,l.error=null,l.data=null,l.headers=null,l.status=null,l.time=null;const e=Date.now();try{let r=o.url.trim();if(r.match(/^https?:\/\//)||(r="https://"+r),"GET"===o.method&&o.params.length>0){const e=new URLSearchParams;o.params.forEach(t=>{t.key&&t.value&&e.append(t.key,t.value)});const t=e.toString();t&&(r+=(r.includes("?")?"&":"?")+t)}const s={};o.headers.forEach(e=>{e.key&&e.value&&(s[e.key]=e.value)});const i="https://difficult-ape-32.panxu71.deno.net",c={method:"POST",headers:{"Content-Type":"application/json"}},u={url:r,method:o.method,headers:s};if(["POST","PUT","PATCH"].includes(o.method))if("json"===o.bodyType&&o.jsonBody)try{u.body=JSON.parse(o.jsonBody),s["Content-Type"]||(u.headers["Content-Type"]="application/json")}catch(t){throw new Error("JSON格式错误,请检查请求体")}else if("form-urlencoded"===o.bodyType&&o.formUrlEncodedData.length>0){const e=new URLSearchParams;o.formUrlEncodedData.forEach(t=>{t.key&&t.value&&e.append(t.key,t.value)}),u.body=e.toString(),u.headers["Content-Type"]="application/x-www-form-urlencoded"}else if("form-data"===o.bodyType&&o.formDataFields.length>0){const e={};o.formDataFields.forEach(t=>{t.key&&t.value&&(e[t.key]=t.value)}),u.body=e,u.headers["Content-Type"]="multipart/form-data"}else if("xml"===o.bodyType&&o.xmlBody)u.body=o.xmlBody,u.headers["Content-Type"]="application/xml";else if("raw"===o.bodyType&&o.rawBody)u.body=o.rawBody,u.headers["Content-Type"]||(u.headers["Content-Type"]="text/plain");else if("binary"===o.bodyType&&o.binaryFile)throw new Error("二进制文件上传暂不支持代理模式");c.body=JSON.stringify(u);const d=await fetch(i,c),h=Date.now();l.time=h-e;const p=await d.json();l.status=p.status||d.status,l.headers=p.headers||{},l.data=p.data||p.body,p.error?(l.error=p.error,n("请求失败")):d.ok?a("请求发送成功"):(l.error=`HTTP ${d.status}: ${d.statusText}`,n("请求失败"))}catch(t){const a=Date.now();l.time=a-e,"TypeError"===t.name&&t.message.includes("Failed to fetch")?l.error="代理服务连接失败或网络错误":t.message.includes("JSON格式错误")?l.error=t.message:l.error=t.message||"请求失败",n("请求失败")}finally{r.value=!1}},D=e=>({200:"OK",201:"Created",204:"No Content",400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable"}[e]||"Unknown"),A=e=>{if("string"==typeof e)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)},T=async()=>{try{let e="";e=l.error?l.error:l.data?A(l.data):"无响应数据",await navigator.clipboard.writeText(e),a("响应结果已复制到剪贴板")}catch(e){n("复制失败")}};return(e,a)=>{return Cr(),Tr("div",V2,[Or(hl,{title:Pt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",K2,[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:C}),Or(jl,{icon:"copy",tooltip:"复制响应",onClick:T,disabled:!l.data&&!l.error},null,8,["disabled"])])]),_:1},8,["title"]),Mr("div",J2,[Mr("div",q2,[Mr("div",Z2,[a[16]||(a[16]=Lr('

请求配置

配置API请求参数和选项

',1)),Mr("div",X2,[Or(RG,null,{default:la(()=>[Mr("button",{class:"group-btn",onClick:a[1]||(a[1]=e=>c("jsonplaceholder"))},[...a[13]||(a[13]=[Mr("span",{class:"method-badge get"},"GET",-1),jr(" JSONPlaceholder ",-1)])]),Mr("button",{class:"group-btn",onClick:a[2]||(a[2]=e=>c("httpbin-get"))},[...a[14]||(a[14]=[Mr("span",{class:"method-badge get"},"GET",-1),jr(" HTTPBin GET ",-1)])]),Mr("button",{class:"group-btn",onClick:a[3]||(a[3]=e=>c("httpbin-post"))},[...a[15]||(a[15]=[Mr("span",{class:"method-badge post"},"POST",-1),jr(" HTTPBin POST ",-1)])])]),_:1})])]),Mr("div",Q2,[Mr("div",e3,[ca(Mr("select",{"onUpdate:modelValue":a[4]||(a[4]=e=>o.method=e),class:"method-select"},[...a[17]||(a[17]=[Lr('',7)])],512),[[_i,o.method]]),ca(Mr("input",{"onUpdate:modelValue":a[5]||(a[5]=e=>o.url=e),type:"text",class:"url-input",placeholder:"请输入API接口地址,如:https://jsonplaceholder.typicode.com/posts",onKeyup:Ni(F,["enter"])},null,544),[[bi,o.url]]),Mr("button",{class:Q(["send-btn",{loading:r.value,[o.method.toLowerCase()]:!0}]),onClick:F,disabled:r.value||!o.url.trim()},[r.value?(Cr(),Tr("svg",a3,[...a[18]||(a[18]=[Mr("path",{d:"M21 12a9 9 0 11-6.219-8.56"},null,-1)])])):(Cr(),Tr("svg",n3,[...a[19]||(a[19]=[Mr("line",{x1:"22",y1:"2",x2:"11",y2:"13"},null,-1),Mr("polygon",{points:"22,2 15,22 11,13 2,9 22,2"},null,-1)])])),jr(" "+se(r.value?"发送中...":"发送请求"),1)],10,t3)]),Mr("div",r3,[Mr("div",{class:"section-header"},[a[21]||(a[21]=Mr("h4",null,"请求头 (Headers)",-1)),Mr("button",{class:"add-btn",onClick:u},[...a[20]||(a[20]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加 ",-1)])])]),o.headers.length>0?(Cr(),Tr("div",s3,[(Cr(!0),Tr(br,null,yn(o.headers,(e,t)=>(Cr(),Tr("div",{key:t,class:"header-row"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.key=t,type:"text",placeholder:"Header名称",class:"header-key"},null,8,i3),[[bi,e.key]]),a[23]||(a[23]=Mr("span",{class:"separator"},":",-1)),ca(Mr("input",{"onUpdate:modelValue":t=>e.value=t,type:"text",placeholder:"Header值",class:"header-value"},null,8,o3),[[bi,e.value]]),Mr("button",{class:"remove-btn",onClick:e=>(e=>{o.headers.splice(e,1)})(t)},[...a[22]||(a[22]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,l3)]))),128))])):Rr("",!0)]),"GET"===o.method?(Cr(),Tr("div",c3,[Mr("div",{class:"section-header"},[a[25]||(a[25]=Mr("h4",null,"查询参数 (Query Parameters)",-1)),Mr("button",{class:"add-btn",onClick:d},[...a[24]||(a[24]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加 ",-1)])])]),o.params.length>0?(Cr(),Tr("div",u3,[(Cr(!0),Tr(br,null,yn(o.params,(e,t)=>(Cr(),Tr("div",{key:t,class:"param-row"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.key=t,type:"text",placeholder:"参数名",class:"param-key"},null,8,d3),[[bi,e.key]]),a[27]||(a[27]=Mr("span",{class:"separator"},"=",-1)),ca(Mr("input",{"onUpdate:modelValue":t=>e.value=t,type:"text",placeholder:"参数值",class:"param-value"},null,8,h3),[[bi,e.value]]),Mr("button",{class:"remove-btn",onClick:e=>(e=>{o.params.splice(e,1)})(t)},[...a[26]||(a[26]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,p3)]))),128))])):Rr("",!0)])):Rr("",!0),["POST","PUT","PATCH"].includes(o.method)?(Cr(),Tr("div",f3,[Mr("div",m3,[a[29]||(a[29]=Mr("h4",null,"请求体 (Request Body)",-1)),ca(Mr("select",{"onUpdate:modelValue":a[6]||(a[6]=e=>o.bodyType=e),class:"body-type-select"},[...a[28]||(a[28]=[Lr('',6)])],512),[[_i,o.bodyType]])]),"json"===o.bodyType?(Cr(),Tr("div",g3,[ca(Mr("textarea",{"onUpdate:modelValue":a[7]||(a[7]=e=>o.jsonBody=e),class:"json-textarea",placeholder:'请输入JSON数据,例如:\n{\n "title": "测试标题",\n "body": "测试内容",\n "userId": 1\n}',rows:"8"},null,512),[[bi,o.jsonBody]]),Mr("div",{class:"json-actions"},[Mr("button",{class:"format-btn",onClick:y},"格式化"),Mr("button",{class:"minify-btn",onClick:v},"压缩")])])):Rr("",!0),"form-urlencoded"===o.bodyType?(Cr(),Tr("div",y3,[Mr("div",v3,[Mr("button",{class:Q(["mode-btn",{active:"form"===s.value}]),onClick:a[8]||(a[8]=e=>s.value="form")},[...a[30]||(a[30]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),Mr("line",{x1:"9",y1:"9",x2:"15",y2:"9"}),Mr("line",{x1:"9",y1:"15",x2:"15",y2:"15"})],-1),jr(" 表单模式 ",-1)])],2),Mr("button",{class:Q(["mode-btn",{active:"bulk"===s.value}]),onClick:a[9]||(a[9]=e=>s.value="bulk")},[...a[31]||(a[31]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})],-1),jr(" 批量编辑 ",-1)])],2)]),"form"===s.value?(Cr(),Tr("div",b3,[o.formUrlEncodedData.length>0?(Cr(),Tr("div",w3,[Mr("div",x3,[(Cr(!0),Tr(br,null,yn(o.formUrlEncodedData,(e,t)=>(Cr(),Tr("div",{key:t,class:"form-row"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.key=t,type:"text",placeholder:"参数名",class:"form-key"},null,8,k3),[[bi,e.key]]),a[33]||(a[33]=Mr("span",{class:"separator"},"=",-1)),ca(Mr("input",{"onUpdate:modelValue":t=>e.value=t,type:"text",placeholder:"参数值",class:"form-value"},null,8,_3),[[bi,e.value]]),Mr("button",{class:"remove-btn",onClick:e=>(e=>{o.formUrlEncodedData.splice(e,1)})(t)},[...a[32]||(a[32]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,E3)]))),128))])])):Rr("",!0),Mr("button",{class:"add-btn",onClick:p},[...a[34]||(a[34]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加参数 ",-1)])])])):Rr("",!0),"bulk"===s.value?(Cr(),Tr("div",C3,[ca(Mr("textarea",{"onUpdate:modelValue":a[10]||(a[10]=e=>i.value=e),class:"bulk-textarea",placeholder:"批量编辑参数,每行一个参数,支持等号(=)或冒号(:)分割\n格式1:参数名=参数值\n格式2:参数名:参数值\n\n例如:\nname=张三\nemail:test@example.com\nage=25\ncity:北京\ntoken=abc123:def456",rows:"8",onBlur:f},null,544),[[bi,i.value]]),Mr("div",{class:"bulk-actions"},[Mr("button",{class:"format-btn",onClick:m},"格式化"),Mr("button",{class:"clear-btn",onClick:g},"清空")])])):Rr("",!0)])):Rr("",!0),"form-data"===o.bodyType?(Cr(),Tr("div",F3,[o.formDataFields.length>0?(Cr(),Tr("div",D3,[(Cr(!0),Tr(br,null,yn(o.formDataFields,(e,t)=>(Cr(),Tr("div",{key:t,class:"form-row"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.key=t,type:"text",placeholder:"字段名",class:"form-key"},null,8,A3),[[bi,e.key]]),a[36]||(a[36]=Mr("span",{class:"separator"},"=",-1)),ca(Mr("input",{"onUpdate:modelValue":t=>e.value=t,type:"text",placeholder:"字段值",class:"form-value"},null,8,T3),[[bi,e.value]]),Mr("button",{class:"remove-btn",onClick:e=>(e=>{o.formDataFields.splice(e,1)})(t)},[...a[35]||(a[35]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,S3)]))),128))])):Rr("",!0),Mr("button",{class:"add-btn",onClick:h},[...a[37]||(a[37]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加字段 ",-1)])])])):Rr("",!0),"xml"===o.bodyType?(Cr(),Tr("div",I3,[ca(Mr("textarea",{"onUpdate:modelValue":a[11]||(a[11]=e=>o.xmlBody=e),class:"xml-textarea",placeholder:'请输入XML数据,例如:\n\n\n 测试用户\n test@example.com\n 这是一个测试消息\n',rows:"8"},null,512),[[bi,o.xmlBody]]),Mr("div",{class:"xml-actions"},[Mr("button",{class:"format-btn",onClick:b},"格式化"),Mr("button",{class:"minify-btn",onClick:w},"压缩")])])):Rr("",!0),"raw"===o.bodyType?(Cr(),Tr("div",P3,[ca(Mr("textarea",{"onUpdate:modelValue":a[12]||(a[12]=e=>o.rawBody=e),class:"raw-textarea",placeholder:"请输入原始文本数据",rows:"8"},null,512),[[bi,o.rawBody]])])):Rr("",!0),"binary"===o.bodyType?(Cr(),Tr("div",N3,[Mr("div",B3,[Mr("input",{type:"file",ref_key:"fileInput",ref:x,onChange:k,class:"file-input",id:"binary-file"},null,544),Mr("label",M3,[a[38]||(a[38]=Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)),jr(" "+se(o.binaryFile?o.binaryFile.name:"选择文件"),1)])]),o.binaryFile?(Cr(),Tr("div",O3,[Mr("div",U3,[Mr("span",j3,se(o.binaryFile.name),1),Mr("span",L3,se(E(o.binaryFile.size)),1),Mr("span",R3,se(o.binaryFile.type||"未知类型"),1)]),Mr("button",{class:"remove-file-btn",onClick:_},[...a[39]||(a[39]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])):Rr("",!0)])):Rr("",!0)])):Rr("",!0)])]),Mr("div",z3,[Mr("div",H3,[a[40]||(a[40]=Lr('

响应结果

API请求的返回数据和状态信息

',1)),Mr("div",Y3,[l.status?(Cr(),Tr("div",{key:0,class:Q(["status-badge",(n=l.status,n>=200&&n<300?"success":n>=300&&n<400?"redirect":n>=400&&n<500?"client-error":n>=500?"server-error":"")])},[Mr("span",$3,se(l.status),1),Mr("span",G3,se(D(l.status)),1)],2)):Rr("",!0),l.time?(Cr(),Tr("div",W3,[Mr("span",null,se(l.time)+"ms",1)])):Rr("",!0)])]),Mr("div",V3,[l.data||l.error?(Cr(),Tr("div",K3,[l.error?(Cr(),Tr("div",J3,[a[41]||(a[41]=Mr("div",{class:"error-title"},"请求失败",-1)),Mr("div",q3,se(l.error),1)])):(Cr(),Tr("div",Z3,[Mr("pre",X3,se(A(l.data)),1)]))])):(Cr(),Tr("div",Q3,[...a[42]||(a[42]=[Lr('
配置请求参数后点击发送按钮
💡 提示:可以先试试上面的示例API
',3)])]))])])])]);var n}}}),[["__scopeId","data-v-7a13705b"]]);class t5{diff(e,t,a={}){let n;"function"==typeof a?(n=a,a={}):"callback"in a&&(n=a.callback);const r=this.castInput(e,a),s=this.castInput(t,a),i=this.removeEmpty(this.tokenize(r,a)),o=this.removeEmpty(this.tokenize(s,a));return this.diffWithOptionsObj(i,o,a,n)}diffWithOptionsObj(e,t,a,n){var r;const s=e=>(e=this.postProcess(e,a),n?void setTimeout(function(){n(e)},0):e),i=t.length,o=e.length;let l=1,c=i+o;null!=a.maxEditLength&&(c=Math.min(c,a.maxEditLength));const u=null!==(r=a.timeout)&&void 0!==r?r:1/0,d=Date.now()+u,h=[{oldPos:-1,lastComponent:void 0}];let p=this.extractCommon(h[0],t,e,0,a);if(h[0].oldPos+1>=o&&p+1>=i)return s(this.buildValues(h[0].lastComponent,t,e));let f=-1/0,m=1/0;const g=()=>{for(let n=Math.max(f,-l);n<=Math.min(m,l);n+=2){let r;const l=h[n-1],c=h[n+1];l&&(h[n-1]=void 0);let u=!1;if(c){const e=c.oldPos-n;u=c&&0<=e&&e=o&&p+1>=i)return s(this.buildValues(r.lastComponent,t,e))||!0;h[n]=r,r.oldPos+1>=o&&(m=Math.min(m,n-1)),p+1>=i&&(f=Math.max(f,n+1))}else h[n]=void 0}l++};if(n)!function e(){setTimeout(function(){if(l>c||Date.now()>d)return n(void 0);g()||e()},0)}();else for(;l<=c&&Date.now()<=d;){const e=g();if(e)return e}}addToPath(e,t,a,n,r){const s=e.lastComponent;return s&&!r.oneChangePerToken&&s.added===t&&s.removed===a?{oldPos:e.oldPos+n,lastComponent:{count:s.count+1,added:t,removed:a,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:a,previousComponent:s}}}extractCommon(e,t,a,n,r){const s=t.length,i=a.length;let o=e.oldPos,l=o-n,c=0;for(;l+1e.length?n:e}),e.value=this.join(n)}else e.value=this.join(t.slice(o,o+e.count));o+=e.count,e.added||(l+=e.count)}}return n}}const a5=new class extends t5{constructor(){super(...arguments),this.tokenize=n5}equals(e,t,a){return a.ignoreWhitespace?(a.newlineIsToken&&e.includes("\n")||(e=e.trim()),a.newlineIsToken&&t.includes("\n")||(t=t.trim())):a.ignoreNewlineAtEof&&!a.newlineIsToken&&(e.endsWith("\n")&&(e=e.slice(0,-1)),t.endsWith("\n")&&(t=t.slice(0,-1))),super.equals(e,t,a)}};function n5(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,"\n"));const a=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let r=0;r{const a=e.target,s=a.files?.[0];if(s)if(s.size>10485760)F("文件大小不能超过10MB","error");else try{const e=await m(s);"A"===t?(n.value=e,o.value={name:s.name,size:s.size}):(r.value=e,l.value={name:s.name,size:s.size}),k(),F(`文件 ${s.name} 上传成功`,"success")}catch(i){F("文件读取失败","error")}},m=e=>new Promise((t,a)=>{const n=new FileReader;n.onload=e=>{const n=e.target?.result;"string"==typeof n?t(n):a(new Error("文件读取失败"))},n.onerror=a,n.readAsText(e,"UTF-8")}),g=async e=>{try{const t=await navigator.clipboard.readText();"A"===e?(n.value=t,o.value=null):(r.value=t,l.value=null),k(),F("文本已粘贴","success")}catch(t){F("粘贴失败","error")}},y=e=>{"A"===e?(n.value="",o.value=null,s.value&&(s.value.value="")):(r.value="",l.value=null,i.value&&(i.value.value="")),k(),F(`文本${e}已清空`,"success")},v=e=>e?e.split("\n").length:0,b=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]},w=e=>{let t=e;return u.value.ignoreCase&&(t=t.toLowerCase()),u.value.ignoreWhitespace&&(t=t.replace(/\s+/g," ").trim()),u.value.ignoreLineBreaks&&(t=t.replace(/\n/g," ")),t},x=(e,t)=>{const a=e.length,n=t.length,r=Array(n+1).fill(null).map(()=>Array(a+1).fill(0));for(let s=0;s<=a;s++)r[0][s]=s;for(let s=0;s<=n;s++)r[s][0]=s;for(let s=1;s<=n;s++)for(let n=1;n<=a;n++)t[s-1]===e[n-1]?r[s][n]=r[s-1][n-1]:r[s][n]=Math.min(r[s-1][n]+1,r[s][n-1]+1,r[s-1][n-1]+1);return r[n][a]},k=()=>{if(!n.value&&!r.value)return void(d.value=null);if(!n.value||!r.value)return void(d.value=null);const e=w(n.value),t=w(r.value),a=function(e,t,a){return a5.diff(e,t,a)}(e,t);let s=0,i=0,o=0;a.forEach(e=>{e.added?s+=e.count||0:e.removed&&(i+=e.count||0),(e.added||e.removed)&&(o+=e.count||0)});const l=((e,t)=>{if(e===t)return 100;if(!e||!t)return 0;const a=e.length>t.length?e:t,n=e.length>t.length?t:e;if(0===a.length)return 100;const r=x(a,n);return(a.length-r)/a.length*100})(e,t),c=a.map(e=>({type:e.added?"added":e.removed?"removed":"unchanged",value:e.value,count:e.count}));d.value={similarity:l,diffLines:o,addedLines:s,removedLines:i,diffs:c}},_=is(()=>{if(!d.value)return[];const e=[];let t=1,a=1;return d.value.diffs.forEach(n=>{n.value.split("\n").filter(e=>""!==e||n.value.endsWith("\n")).forEach(r=>{"unchanged"===n.type?e.push({left:{type:"unchanged",content:r,lineNumber:t++},right:{type:"unchanged",content:r,lineNumber:a++}}):"removed"===n.type?e.push({left:{type:"removed",content:r,lineNumber:t++},right:void 0}):"added"===n.type&&e.push({left:void 0,right:{type:"added",content:r,lineNumber:a++}})})}),e}),E=(e,t)=>"unchanged"===t?C(e):`${C(e)}`,C=e=>{const t=document.createElement("div");return t.textContent=e,t.innerHTML},F=(e,n)=>{"success"===n?t(e):a(e),h.value=e,p.value=n,setTimeout(()=>{h.value=""},3e3)};return nn(()=>{}),(e,t)=>{return Cr(),Tr("div",r5,[Or(hl,{title:"文本比对",onBack:t[0]||(t[0]=t=>e.$emit("back"))}),Mr("div",s5,[Mr("div",i5,[t[28]||(t[28]=Mr("div",{class:"section-header"},[Mr("h3",null,"文本比对"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"比较两个文本的差异,支持文件上传")])],-1)),Mr("div",o5,[Mr("div",l5,[Mr("div",c5,[t[19]||(t[19]=Mr("h4",null,"文本A",-1)),Mr("div",u5,[Mr("input",{ref_key:"fileInputA",ref:s,type:"file",onChange:t[1]||(t[1]=e=>f(e,"A")),accept:".txt,.md,.json,.xml,.html,.css,.js,.ts,.vue,.py,.java,.cpp,.c,.h",style:{display:"none"}},null,544),Mr("button",{class:"upload-btn",onClick:t[2]||(t[2]=e=>s.value?.click()),title:"上传文件"},[...t[16]||(t[16]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"17,8 12,3 7,8"}),Mr("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1)])]),Mr("button",{class:"paste-btn",onClick:t[3]||(t[3]=e=>g("A")),title:"粘贴"},[...t[17]||(t[17]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"clear-btn",onClick:t[4]||(t[4]=e=>y("A")),title:"清空"},[...t[18]||(t[18]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),o.value?(Cr(),Tr("div",d5,[Mr("span",h5,se(o.value.name),1),Mr("span",p5,se(b(o.value.size)),1)])):Rr("",!0),ca(Mr("textarea",{"onUpdate:modelValue":t[5]||(t[5]=e=>n.value=e),placeholder:"请输入或上传第一个文本...",class:"text-input",onInput:k},null,544),[[bi,n.value]]),Mr("div",f5,[Mr("span",null,"字符数: "+se(n.value.length),1),Mr("span",null,"行数: "+se(v(n.value)),1)])]),Mr("div",m5,[Mr("div",g5,[t[23]||(t[23]=Mr("h4",null,"文本B",-1)),Mr("div",y5,[Mr("input",{ref_key:"fileInputB",ref:i,type:"file",onChange:t[6]||(t[6]=e=>f(e,"B")),accept:".txt,.md,.json,.xml,.html,.css,.js,.ts,.vue,.py,.java,.cpp,.c,.h",style:{display:"none"}},null,544),Mr("button",{class:"upload-btn",onClick:t[7]||(t[7]=e=>i.value?.click()),title:"上传文件"},[...t[20]||(t[20]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"17,8 12,3 7,8"}),Mr("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1)])]),Mr("button",{class:"paste-btn",onClick:t[8]||(t[8]=e=>g("B")),title:"粘贴"},[...t[21]||(t[21]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"clear-btn",onClick:t[9]||(t[9]=e=>y("B")),title:"清空"},[...t[22]||(t[22]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),l.value?(Cr(),Tr("div",v5,[Mr("span",b5,se(l.value.name),1),Mr("span",w5,se(b(l.value.size)),1)])):Rr("",!0),ca(Mr("textarea",{"onUpdate:modelValue":t[10]||(t[10]=e=>r.value=e),placeholder:"请输入或上传第二个文本...",class:"text-input",onInput:k},null,544),[[bi,r.value]]),Mr("div",x5,[Mr("span",null,"字符数: "+se(r.value.length),1),Mr("span",null,"行数: "+se(v(r.value)),1)])])]),Mr("div",k5,[Mr("div",_5,[Mr("label",E5,[ca(Mr("input",{"onUpdate:modelValue":t[11]||(t[11]=e=>u.value.ignoreCase=e),type:"checkbox",onChange:k},null,544),[[wi,u.value.ignoreCase]]),t[24]||(t[24]=Mr("span",null,"忽略大小写",-1))]),Mr("label",C5,[ca(Mr("input",{"onUpdate:modelValue":t[12]||(t[12]=e=>u.value.ignoreWhitespace=e),type:"checkbox",onChange:k},null,544),[[wi,u.value.ignoreWhitespace]]),t[25]||(t[25]=Mr("span",null,"忽略空白字符",-1))]),Mr("label",F5,[ca(Mr("input",{"onUpdate:modelValue":t[13]||(t[13]=e=>u.value.ignoreLineBreaks=e),type:"checkbox",onChange:k},null,544),[[wi,u.value.ignoreLineBreaks]]),t[26]||(t[26]=Mr("span",null,"忽略换行符",-1))])]),Mr("button",{class:"compare-btn",onClick:k,disabled:!n.value||!r.value},[...t[27]||(t[27]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M9 11H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4"}),Mr("path",{d:"M15 11h4a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-4"}),Mr("path",{d:"M12 2v20"})],-1),jr(" 开始比对 ",-1)])],8,D5)])]),d.value?(Cr(),Tr("div",A5,[t[36]||(t[36]=Mr("div",{class:"section-header"},[Mr("h3",null,"比对结果"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"文本差异分析结果")])],-1)),Mr("div",T5,[Mr("div",S5,[Mr("div",I5,[t[29]||(t[29]=Mr("span",{class:"summary-label"},"相似度:",-1)),Mr("span",{class:Q(["summary-value",(a=d.value.similarity,a>=90?"high":a>=70?"medium":a>=50?"low":"very-low")])},se(d.value.similarity.toFixed(1))+"% ",3)]),Mr("div",P5,[t[30]||(t[30]=Mr("span",{class:"summary-label"},"差异行数:",-1)),Mr("span",N5,se(d.value.diffLines),1)]),Mr("div",B5,[t[31]||(t[31]=Mr("span",{class:"summary-label"},"新增行数:",-1)),Mr("span",M5,se(d.value.addedLines),1)]),Mr("div",O5,[t[32]||(t[32]=Mr("span",{class:"summary-label"},"删除行数:",-1)),Mr("span",U5,se(d.value.removedLines),1)])]),Mr("div",j5,[Mr("div",L5,[t[33]||(t[33]=Mr("h4",null,"差异详情",-1)),Mr("div",R5,[Mr("button",{class:Q(["view-btn",{active:"unified"===c.value}]),onClick:t[14]||(t[14]=e=>c.value="unified")}," 统一视图 ",2),Mr("button",{class:Q(["view-btn",{active:"split"===c.value}]),onClick:t[15]||(t[15]=e=>c.value="split")}," 并排视图 ",2)]),t[34]||(t[34]=Mr("div",{class:"diff-legend"},[Mr("span",{class:"legend-item added"},"+ 新增"),Mr("span",{class:"legend-item removed"},"- 删除"),Mr("span",{class:"legend-item modified"},"~ 修改")],-1))]),"unified"===c.value?(Cr(),Tr("div",z5,[(Cr(!0),Tr(br,null,yn(d.value.diffs,(e,t)=>(Cr(),Tr(br,{key:t},[(Cr(!0),Tr(br,null,yn(e.value.split("\n"),(a,n)=>(Cr(),Tr(br,{key:`${t}-${n}`},[a||e.value.endsWith("\n")?(Cr(),Tr("div",{key:0,class:Q(["diff-line",e.type])},[Mr("span",H5,se(n+1),1),Mr("span",Y5,se("added"===e.type?"+":"removed"===e.type?"-":" "),1),Mr("span",{class:"line-content",innerHTML:E(a,e.type)},null,8,$5)],2)):Rr("",!0)],64))),128))],64))),128))])):Rr("",!0),"split"===c.value?(Cr(),Tr("div",G5,[t[35]||(t[35]=Mr("div",{class:"split-header"},[Mr("div",{class:"split-title"},"文本A"),Mr("div",{class:"split-title"},"文本B")],-1)),Mr("div",W5,[(Cr(!0),Tr(br,null,yn(_.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"diff-pair"},[Mr("div",{class:Q(["diff-side left",e.left?.type||"empty"])},[Mr("span",V5,se(e.left?.lineNumber||""),1),e.left?(Cr(),Tr("span",{key:0,class:"line-content",innerHTML:E(e.left.content,e.left.type)},null,8,K5)):(Cr(),Tr("span",J5))],2),Mr("div",{class:Q(["diff-side right",e.right?.type||"empty"])},[Mr("span",q5,se(e.right?.lineNumber||""),1),e.right?(Cr(),Tr("span",{key:0,class:"line-content",innerHTML:E(e.right.content,e.right.type)},null,8,Z5)):(Cr(),Tr("span",X5))],2)]))),128))])])):Rr("",!0)])])])):Rr("",!0),t[37]||(t[37]=Lr('
📄

支持文件上传

支持手动输入文本或上传多种格式的文件进行比对。

⚙️

灵活比对选项

可选择忽略大小写、空白字符或换行符进行灵活比对。

📊

多种视图模式

提供统一视图和并排视图两种方式展示文本差异。

📈

详细统计分析

显示相似度、差异行数等统计信息,帮助分析文本差异。

⚡ 关于 Diff 算法

基于专业的 diff 库,采用 Myers 差分算法,被 Git、GitHub、VS Code 等工具广泛使用。该算法能够高效地计算两个文本序列之间的最小编辑距离,提供精确的差异分析结果。

🔍 算法优势:时间复杂度 O(ND),空间复杂度优化,适合大文件比对
🌟 应用场景:代码审查、版本控制、文档比较、数据同步等
🛠️ 技术特性:支持字符级、单词级、行级比对,可自定义比较规则
Myers 算法高性能广泛应用开源可靠精确比对多级别支持
',1))]),h.value?(Cr(),Tr("div",{key:0,class:Q(["message-toast",p.value])},se(h.value),3)):Rr("",!0)]);var a}}}),e4=Wi(Q5,[["__scopeId","data-v-f6762626"]]),t4={class:"mime-type-reference"},a4={class:"converter-content"},n4={class:"mime-table-section"},r4={class:"table-header"},s4={class:"table-info"},i4={class:"info-text"},o4={class:"table-container"},l4={class:"mime-table"},c4={class:"extension-cell"},u4={class:"extension"},d4={class:"mime-cell"},h4={class:"mime-type"},p4={class:"description-cell"},f4={class:"description"},m4={class:"action-cell"},g4=["onClick"],y4={key:0,class:"pagination"},v4=["disabled"],b4={class:"page-info"},w4=["disabled"],x4=Wi(Ya({__name:"MimeTypeReference",emits:["back"],setup(e,{emit:t}){const a=t;il("mime-type-reference");const{success:n,error:r}=Vo(),s=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"mime-type-reference"===e.id);if(t)return t.title}return"MIME-Type 速查表"}),i=St(""),o=St("all"),l=St(1),c=[{key:"all",name:"全部"},{key:"text",name:"文本"},{key:"image",name:"图片"},{key:"video",name:"视频"},{key:"audio",name:"音频"},{key:"application",name:"应用程序"},{key:"font",name:"字体"}],u=is(()=>c.map(e=>({key:e.key,name:e.name,count:"all"===e.key?d.value.length:d.value.filter(t=>t.category===e.key).length}))),d=St([{extension:".txt",mimeType:"text/plain",description:"纯文本文件",category:"text"},{extension:".html",mimeType:"text/html",description:"HTML文档",category:"text"},{extension:".htm",mimeType:"text/html",description:"HTML文档",category:"text"},{extension:".css",mimeType:"text/css",description:"CSS样式表",category:"text"},{extension:".js",mimeType:"text/javascript",description:"JavaScript文件",category:"text"},{extension:".json",mimeType:"application/json",description:"JSON数据文件",category:"text"},{extension:".xml",mimeType:"text/xml",description:"XML文档",category:"text"},{extension:".csv",mimeType:"text/csv",description:"CSV数据文件",category:"text"},{extension:".md",mimeType:"text/markdown",description:"Markdown文档",category:"text"},{extension:".jpg",mimeType:"image/jpeg",description:"JPEG图片",category:"image"},{extension:".jpeg",mimeType:"image/jpeg",description:"JPEG图片",category:"image"},{extension:".png",mimeType:"image/png",description:"PNG图片",category:"image"},{extension:".gif",mimeType:"image/gif",description:"GIF动画",category:"image"},{extension:".bmp",mimeType:"image/bmp",description:"BMP位图",category:"image"},{extension:".webp",mimeType:"image/webp",description:"WebP图片",category:"image"},{extension:".svg",mimeType:"image/svg+xml",description:"SVG矢量图",category:"image"},{extension:".ico",mimeType:"image/x-icon",description:"图标文件",category:"image"},{extension:".tiff",mimeType:"image/tiff",description:"TIFF图片",category:"image"},{extension:".mp4",mimeType:"video/mp4",description:"MP4视频",category:"video"},{extension:".avi",mimeType:"video/x-msvideo",description:"AVI视频",category:"video"},{extension:".mov",mimeType:"video/quicktime",description:"QuickTime视频",category:"video"},{extension:".wmv",mimeType:"video/x-ms-wmv",description:"Windows Media视频",category:"video"},{extension:".flv",mimeType:"video/x-flv",description:"Flash视频",category:"video"},{extension:".webm",mimeType:"video/webm",description:"WebM视频",category:"video"},{extension:".mkv",mimeType:"video/x-matroska",description:"Matroska视频",category:"video"},{extension:".3gp",mimeType:"video/3gpp",description:"3GPP视频",category:"video"},{extension:".mp3",mimeType:"audio/mpeg",description:"MP3音频",category:"audio"},{extension:".wav",mimeType:"audio/wav",description:"WAV音频",category:"audio"},{extension:".ogg",mimeType:"audio/ogg",description:"OGG音频",category:"audio"},{extension:".aac",mimeType:"audio/aac",description:"AAC音频",category:"audio"},{extension:".flac",mimeType:"audio/flac",description:"FLAC无损音频",category:"audio"},{extension:".m4a",mimeType:"audio/mp4",description:"M4A音频",category:"audio"},{extension:".wma",mimeType:"audio/x-ms-wma",description:"Windows Media音频",category:"audio"},{extension:".pdf",mimeType:"application/pdf",description:"PDF文档",category:"application"},{extension:".doc",mimeType:"application/msword",description:"Word文档",category:"application"},{extension:".docx",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",description:"Word文档(新版)",category:"application"},{extension:".xls",mimeType:"application/vnd.ms-excel",description:"Excel表格",category:"application"},{extension:".xlsx",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",description:"Excel表格(新版)",category:"application"},{extension:".ppt",mimeType:"application/vnd.ms-powerpoint",description:"PowerPoint演示文稿",category:"application"},{extension:".pptx",mimeType:"application/vnd.openxmlformats-officedocument.presentationml.presentation",description:"PowerPoint演示文稿(新版)",category:"application"},{extension:".zip",mimeType:"application/zip",description:"ZIP压缩包",category:"application"},{extension:".rar",mimeType:"application/vnd.rar",description:"RAR压缩包",category:"application"},{extension:".7z",mimeType:"application/x-7z-compressed",description:"7-Zip压缩包",category:"application"},{extension:".tar",mimeType:"application/x-tar",description:"TAR归档文件",category:"application"},{extension:".gz",mimeType:"application/gzip",description:"GZIP压缩文件",category:"application"},{extension:".exe",mimeType:"application/vnd.microsoft.portable-executable",description:"Windows可执行文件",category:"application"},{extension:".dmg",mimeType:"application/x-apple-diskimage",description:"macOS磁盘映像",category:"application"},{extension:".deb",mimeType:"application/vnd.debian.binary-package",description:"Debian软件包",category:"application"},{extension:".rpm",mimeType:"application/x-rpm",description:"RPM软件包",category:"application"},{extension:".ttf",mimeType:"font/ttf",description:"TrueType字体",category:"font"},{extension:".otf",mimeType:"font/otf",description:"OpenType字体",category:"font"},{extension:".woff",mimeType:"font/woff",description:"Web字体格式",category:"font"},{extension:".woff2",mimeType:"font/woff2",description:"Web字体格式2",category:"font"},{extension:".eot",mimeType:"application/vnd.ms-fontobject",description:"Embedded OpenType字体",category:"font"}]),h=is(()=>{let e=d.value;if("all"!==o.value&&(e=e.filter(e=>e.category===o.value)),i.value){const t=i.value.toLowerCase();e=e.filter(e=>e.extension.toLowerCase().includes(t)||e.mimeType.toLowerCase().includes(t)||e.description.toLowerCase().includes(t))}return e}),p=is(()=>{const e=20*(l.value-1),t=e+20;return h.value.slice(e,t)}),f=is(()=>Math.ceil(h.value.length/20)),m=()=>{const e=c.find(e=>e.key===o.value);return e?`${e.name}类型`:"MIME类型"},g=e=>{e>=1&&e<=f.value&&(l.value=e)},y=()=>{a("back")};return nn(()=>{n(`共收录 ${d.value.length} 种文件类型`)}),pa([i,o],()=>{l.value=1}),(e,t)=>(Cr(),Tr("div",t4,[Or(hl,{title:s.value,onBack:y},null,8,["title"]),Mr("div",a4,[Or(FX,{searchQuery:i.value,"onUpdate:searchQuery":t[0]||(t[0]=e=>i.value=e),placeholder:"搜索文件扩展名或MIME类型...",filters:u.value,activeFilter:o.value,"onUpdate:activeFilter":t[1]||(t[1]=e=>o.value=e)},null,8,["searchQuery","filters","activeFilter"]),Mr("div",n4,[Mr("div",r4,[Mr("h3",null,se(m()),1),Mr("div",s4,[Mr("span",i4,"共 "+se(h.value.length)+" 条记录",1)])]),Mr("div",o4,[Mr("table",l4,[t[5]||(t[5]=Mr("thead",null,[Mr("tr",null,[Mr("th",null,"文件扩展名"),Mr("th",null,"MIME类型"),Mr("th",null,"描述"),Mr("th",null,"操作")])],-1)),Mr("tbody",null,[(Cr(!0),Tr(br,null,yn(p.value,e=>(Cr(),Tr("tr",{key:e.extension,class:"mime-row"},[Mr("td",c4,[Mr("span",u4,se(e.extension),1)]),Mr("td",d4,[Mr("code",h4,se(e.mimeType),1)]),Mr("td",p4,[Mr("span",f4,se(e.description),1)]),Mr("td",m4,[Mr("button",{onClick:t=>(async e=>{try{await navigator.clipboard.writeText(e),n(`已复制MIME类型: ${e}`)}catch(t){console.error("复制失败:",t),r("复制失败,请手动复制")}})(e.mimeType),class:"copy-btn-table",title:"复制MIME类型"},[...t[4]||(t[4]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,g4)])]))),128))])])]),f.value>1?(Cr(),Tr("div",y4,[Mr("button",{onClick:t[2]||(t[2]=e=>g(l.value-1)),disabled:1===l.value,class:"page-btn"},[...t[6]||(t[6]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1)])],8,v4),Mr("span",b4,se(l.value)+" / "+se(f.value),1),Mr("button",{onClick:t[3]||(t[3]=e=>g(l.value+1)),disabled:l.value===f.value,class:"page-btn"},[...t[7]||(t[7]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m9 18 6-6-6-6"})],-1)])],8,w4)])):Rr("",!0)])]),Or(PX,{threshold:200,container:".converter-content"})]))}}),[["__scopeId","data-v-d9717f03"]]),k4={class:"dynasty-query"},_4={class:"dynasty-content"},E4={key:1,class:"timeline-section"},C4={class:"section-header"},F4={class:"section-info"},D4={class:"info-text"},A4={class:"timeline-container"},T4={class:"timeline"},S4=["data-dynasty","onClick"],I4={class:"timeline-content"},P4={class:"dynasty-card"},N4={class:"dynasty-header"},B4={class:"dynasty-main"},M4={class:"dynasty-name"},O4={class:"dynasty-basic"},U4={class:"dynasty-years"},j4={class:"dynasty-duration"},L4={class:"dynasty-info"},R4={class:"dynasty-capital"},z4={class:"emperors-count"},H4={class:"dynasty-founder"},Y4={class:"dynasty-description"},$4={key:2,class:"dynasty-detail"},G4={class:"detail-header"},W4={class:"detail-content"},V4={class:"detail-grid"},K4={class:"detail-card"},J4={class:"detail-item"},q4={class:"value"},Z4={class:"detail-item"},X4={class:"value"},Q4={class:"detail-item"},e6={class:"value"},t6={class:"detail-item"},a6={class:"value"},n6={class:"detail-item"},r6={class:"value"},s6={class:"detail-item"},i6={class:"value"},o6={class:"detail-item"},l6={class:"value"},c6={key:0,class:"achievements-section"},u6={class:"achievements-list"},d6={class:"detail-card"},h6={class:"dynasty-description"},p6={class:"emperors-card"},f6={class:"emperors-table-container"},m6={class:"emperors-table"},g6={class:"emperor-index"},y6={class:"emperor-title-table"},v6={class:"emperor-era-table"},b6={class:"emperor-name-table"},w6={class:"emperor-reign-table"},x6={class:"emperor-years-table"},k6={class:"emperor-birth-death"},_6={key:0},E6={key:1},C6={key:2},F6={class:"emperor-age"},D6={key:0},A6={key:1},T6={key:2},S6=Wi(Ya({__name:"DynastyQuery",emits:["back"],setup(e){il("dynasty-query");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("dynasty-query"),a=St(""),n=St("all"),r=St(null),s=St(null),i=[{key:"all",name:"全部"},{key:"ancient",name:"上古"},{key:"imperial",name:"帝制"},{key:"modern",name:"近现代"}],o=is(()=>i.map(e=>({key:e.key,name:e.name,count:"all"===e.key?l.value.length:l.value.filter(t=>t.period===e.key).length}))),l=St([{name:"夏朝",startYear:"约前2070年",endYear:"约前1600年",duration:470,capital:"阳城、斟鄩、安邑等地",founder:"禹",lastEmperor:"桀",period:"ancient",description:'中国史书中记载的第一个奴隶制朝代,也是中国历史上第一个世袭王权的朝代。夏朝实际是由氏族为核心发展形成的国家,一般认为夏朝共传14代、17后(夏统治者在位称"后",去世后称"帝")。\n\n夏朝的兴起:夏是黄河中游地区一个历史悠久的部落联盟,由十多个姒姓部落所组成,夏后氏在这些部落中居于领导地位。尧、舜时期逐步强大,鲧治水失败被杀。鲧子禹,继承父业,并取得了治水的成功,得到众多部落首领支持拥护,成为诸夏族最高领导者。禹本来传位于益,但益却让位给禹子启,这被看作是中国历史上"家天下"的开始,标志着禅让制的结束。\n\n夏朝的发展:夏朝疆域西起河南省西部、山西省南部,东至河南省、山东省和河北省三省交界处,南达湖北省北部,北及河北省南部,地理中心是今河南偃师、登封、新密、禹州一带。夏朝时形成了完善的官僚制度、赋税制度,建立了军队、制定刑法、设置监狱,还建立了礼制。\n\n夏朝的衰亡:夏朝后期,第十七任君主桀即位后荒淫无度、暴虐无道,天下诸侯大多背弃桀而投靠商汤。商汤于是起兵讨伐桀,在鸣条之战将他击败后放逐到南方,夏朝自此灭亡。\n\n河南洛阳偃师二里头遗址的发现揭开了古老"夏都"的神秘面纱,为夏朝都城遗存已逐渐成为学界共识。夏朝历时约470年,共有17位君主。',emperors:[{name:"禹(Yǔ)",title:"夏禹",reignStart:"约前2070年",reignEnd:"约前2061年",reignYears:9,birth:"不详",death:"不详",age:"不详"},{name:"启(Qǐ)",title:"夏启",reignStart:"约前2061年",reignEnd:"约前2051年",reignYears:10,birth:"不详",death:"不详",age:"不详"},{name:"太康(Tài Kāng)",title:"夏太康",reignStart:"约前2051年",reignEnd:"约前2022年",reignYears:29,birth:"不详",death:"不详",age:"不详"},{name:"仲康(Zhòng Kāng)",title:"夏仲康",reignStart:"约前2022年",reignEnd:"约前2009年",reignYears:13,birth:"不详",death:"不详",age:"不详"},{name:"相(Xiāng)",title:"夏相",reignStart:"约前2009年",reignEnd:"约前1981年",reignYears:28,birth:"不详",death:"不详",age:"不详"},{name:"少康(Shào Kāng)",title:"夏少康",reignStart:"约前1981年",reignEnd:"约前1960年",reignYears:21,birth:"不详",death:"不详",age:"不详"},{name:"予(Yǔ)",title:"夏予",reignStart:"约前1960年",reignEnd:"约前1943年",reignYears:17,birth:"不详",death:"不详",age:"不详"},{name:"槐(Huái)",title:"夏槐",reignStart:"约前1943年",reignEnd:"约前1900年",reignYears:43,birth:"不详",death:"不详",age:"不详"},{name:"芒(Máng)",title:"夏芒",reignStart:"约前1900年",reignEnd:"约前1882年",reignYears:18,birth:"不详",death:"不详",age:"不详"},{name:"泄(Xiè)",title:"夏泄",reignStart:"约前1882年",reignEnd:"约前1866年",reignYears:16,birth:"不详",death:"不详",age:"不详"},{name:"不降(Bù Jiàng)",title:"夏不降",reignStart:"约前1866年",reignEnd:"约前1808年",reignYears:58,birth:"不详",death:"不详",age:"不详"},{name:"扃(Jiōng)",title:"夏扃",reignStart:"约前1808年",reignEnd:"约前1788年",reignYears:20,birth:"不详",death:"不详",age:"不详"},{name:"廑(Jǐn)",title:"夏廑",reignStart:"约前1788年",reignEnd:"约前1780年",reignYears:8,birth:"不详",death:"不详",age:"不详"},{name:"孔甲(Kǒng Jiǎ)",title:"夏孔甲",reignStart:"约前1780年",reignEnd:"约前1749年",reignYears:31,birth:"不详",death:"不详",age:"不详"},{name:"皋(Gāo)",title:"夏皋",reignStart:"约前1749年",reignEnd:"约前1738年",reignYears:11,birth:"不详",death:"不详",age:"不详"},{name:"发(Fā)",title:"夏发",reignStart:"约前1738年",reignEnd:"约前1729年",reignYears:9,birth:"不详",death:"不详",age:"不详"},{name:"桀(Jié)",title:"夏桀",reignStart:"约前1729年",reignEnd:"约前1600年",reignYears:129,birth:"不详",death:"不详",age:"不详"}],achievements:["建立了中国第一个世袭制王朝","创立了早期的国家制度","发展了青铜器制造技术","建立了历法制度"]},{name:"商朝",startYear:"约前1600年",endYear:"约前1046年",duration:554,capital:"亳(今河南商丘)",founder:"汤",lastEmperor:"纣王",period:"ancient",description:"中国历史上第二个王朝,也是中国第一个有直接文字记载同时期的王朝。商朝约存在于公元前1600年至公元前1046年,经历了三个大的阶段:先商、早商、晚商,前后相传17世31王。\n\n商朝处于奴隶社会时期,奴隶主贵族是统治阶级,形成了庞大的官僚统治机构和军队。商朝农业和手工业较发达,且有了原始的瓷器。商朝的手工业作坊规模很大,能制造出精美的青铜器,如司母戊鼎等。\n\n商朝文字系统比较成熟,其文字系统为甲骨文,这是中国最早的成熟文字系统。商朝历法也比较完备,采用干支纪日,一年分12个月。商朝的都城最初在亳(今河南商丘),后迁至殷(今河南安阳),因此商朝又称殷商。\n\n商朝的疆域,东到大海,西到陕西,南到长江流域,北到河北、山西一带。商朝历时约554年,共有30位君主。",emperors:[{name:"汤(Tāng)",title:"商汤王",reignStart:"约前1675年",reignEnd:"约前1646年",reignYears:29,birth:"不详",death:"不详",age:"不详"},{name:"太丁(Tài Dīng)",title:"商太丁",reignStart:"约前1646年",reignEnd:"约前1644年",reignYears:2,birth:"不详",death:"不详",age:"不详"},{name:"外丙(Wài Bǐng)",title:"商外丙",reignStart:"约前1644年",reignEnd:"约前1642年",reignYears:2,birth:"不详",death:"不详",age:"不详"},{name:"中壬(Zhōng Rén)",title:"商中壬",reignStart:"约前1642年",reignEnd:"约前1638年",reignYears:4,birth:"不详",death:"不详",age:"不详"},{name:"太甲(Tài Jiǎ)",title:"商太甲",reignStart:"约前1638年",reignEnd:"约前1615年",reignYears:23,birth:"不详",death:"不详",age:"不详"},{name:"沃丁(Wò Dīng)",title:"商沃丁",reignStart:"约前1615年",reignEnd:"约前1587年",reignYears:28,birth:"不详",death:"不详",age:"不详"},{name:"太庚(Tài Gēng)",title:"商太庚",reignStart:"约前1587年",reignEnd:"约前1562年",reignYears:25,birth:"不详",death:"不详",age:"不详"},{name:"小甲(Xiǎo Jiǎ)",title:"商小甲",reignStart:"约前1562年",reignEnd:"约前1545年",reignYears:17,birth:"不详",death:"不详",age:"不详"},{name:"雍己(Yōng Jǐ)",title:"商雍己",reignStart:"约前1545年",reignEnd:"约前1533年",reignYears:12,birth:"不详",death:"不详",age:"不详"},{name:"太戊(Tài Wù)",title:"商太戊",reignStart:"约前1533年",reignEnd:"约前1459年",reignYears:74,birth:"不详",death:"不详",age:"不详"},{name:"中丁(Zhōng Dīng)",title:"商中丁",reignStart:"约前1459年",reignEnd:"约前1450年",reignYears:9,birth:"不详",death:"不详",age:"不详"},{name:"外壬(Wài Rén)",title:"商外壬",reignStart:"约前1450年",reignEnd:"约前1435年",reignYears:15,birth:"不详",death:"不详",age:"不详"},{name:"河亶甲(Hé Dǎn Jiǎ)",title:"商河亶甲",reignStart:"约前1435年",reignEnd:"约前1427年",reignYears:8,birth:"不详",death:"不详",age:"不详"},{name:"祖乙(Zǔ Yǐ)",title:"商祖乙",reignStart:"约前1427年",reignEnd:"约前1409年",reignYears:18,birth:"不详",death:"不详",age:"不详"},{name:"祖辛(Zǔ Xīn)",title:"商祖辛",reignStart:"约前1409年",reignEnd:"约前1393年",reignYears:16,birth:"不详",death:"不详",age:"不详"},{name:"沃甲(Wò Jiǎ)",title:"商沃甲",reignStart:"约前1393年",reignEnd:"约前1368年",reignYears:25,birth:"不详",death:"不详",age:"不详"},{name:"祖丁(Zǔ Dīng)",title:"商祖丁",reignStart:"约前1368年",reignEnd:"约前1336年",reignYears:32,birth:"不详",death:"不详",age:"不详"},{name:"南庚(Nán Gēng)",title:"商南庚",reignStart:"约前1336年",reignEnd:"约前1308年",reignYears:28,birth:"不详",death:"不详",age:"不详"},{name:"阳甲(Yáng Jiǎ)",title:"商阳甲",reignStart:"约前1308年",reignEnd:"约前1301年",reignYears:7,birth:"不详",death:"不详",age:"不详"},{name:"盘庚(Pán Gēng)",title:"商盘庚",reignStart:"约前1301年",reignEnd:"约前1273年",reignYears:28,birth:"不详",death:"不详",age:"不详"},{name:"小辛(Xiǎo Xīn)",title:"商小辛",reignStart:"约前1273年",reignEnd:"约前1270年",reignYears:3,birth:"不详",death:"不详",age:"不详"},{name:"小乙(Xiǎo Yǐ)",title:"商小乙",reignStart:"约前1270年",reignEnd:"约前1251年",reignYears:19,birth:"不详",death:"不详",age:"不详"},{name:"武丁(Wǔ Dīng)",title:"商武丁",reignStart:"约前1251年",reignEnd:"约前1192年",reignYears:59,birth:"不详",death:"不详",age:"不详"},{name:"祖庚(Zǔ Gēng)",title:"商祖庚",reignStart:"约前1192年",reignEnd:"约前1181年",reignYears:11,birth:"不详",death:"不详",age:"不详"},{name:"祖甲(Zǔ Jiǎ)",title:"商祖甲",reignStart:"约前1181年",reignEnd:"约前1148年",reignYears:33,birth:"不详",death:"不详",age:"不详"},{name:"廪辛(Lǐn Xīn)",title:"商廪辛",reignStart:"约前1148年",reignEnd:"约前1142年",reignYears:6,birth:"不详",death:"不详",age:"不详"},{name:"康丁(Kāng Dīng)",title:"商康丁",reignStart:"约前1142年",reignEnd:"约前1134年",reignYears:8,birth:"不详",death:"不详",age:"不详"},{name:"武乙(Wǔ Yǐ)",title:"商武乙",reignStart:"约前1134年",reignEnd:"约前1115年",reignYears:19,birth:"不详",death:"不详",age:"不详"},{name:"文丁(Wén Dīng)",title:"商文丁",reignStart:"约前1115年",reignEnd:"约前1102年",reignYears:13,birth:"不详",death:"不详",age:"不详"},{name:"帝乙(Dì Yǐ)",title:"商帝乙",reignStart:"约前1102年",reignEnd:"约前1076年",reignYears:26,birth:"不详",death:"不详",age:"不详"},{name:"纣王(Zhòu Wáng)",title:"商纣王",reignStart:"约前1076年",reignEnd:"约前1046年",reignYears:30,birth:"不详",death:"不详",age:"不详"}],achievements:["发明了甲骨文,是中国最早的成熟文字","青铜器制造达到高峰","建立了完善的祭祀制度","发展了天文历法"]},{name:"西周",startYear:"约前1046年",endYear:"前771年",duration:275,capital:"镐京(今陕西西安)",founder:"周武王",lastEmperor:"周幽王",period:"ancient",description:'中国历史上第三个王朝,由周武王姬发建立。西周实行分封制、井田制和宗法制,奠定了中国古代政治制度的基础。\n\n政治上实行分封制,周王把土地和人民分封给诸侯,诸侯在自己的领地内享有统治权;经济上实行井田制,土地名义上属于周王,实际上由各级贵族占有;社会关系方面实行宗法制,以血缘关系为纽带。西周建立了完备的礼乐制度,强调等级秩序和道德规范。\n\n西周的疆域比商朝有所扩大,东到大海,西到甘肃,南到长江流域,北到辽宁。西周前期政治清明,经济繁荣,被称为"成康之治"。后期由于土地兼并严重,阶级矛盾尖锐,加上外族入侵,最终在公元前771年被犬戎攻破,周幽王被杀,西周灭亡。\n\n西周历时约275年,共有12位君主。',emperors:[{name:"姬发",title:"周武王",reignStart:"约前1046年",reignEnd:"约前1043年",reignYears:3,birth:"不详",death:"不详",age:"不详"},{name:"姬诵",title:"周成王",reignStart:"约前1042年",reignEnd:"约前1021年",reignYears:21,birth:"不详",death:"不详",age:"不详"},{name:"姬钊",title:"周康王",reignStart:"约前1020年",reignEnd:"约前996年",reignYears:24,birth:"不详",death:"不详",age:"不详"},{name:"姬瑕",title:"周昭王",reignStart:"约前995年",reignEnd:"约前977年",reignYears:18,birth:"不详",death:"不详",age:"不详"},{name:"姬满",title:"周穆王",reignStart:"约前976年",reignEnd:"约前922年",reignYears:54,birth:"不详",death:"不详",age:"不详"},{name:"姬繄扈(yī hù)",title:"周共王",reignStart:"约前922年",reignEnd:"约前900年",reignYears:22,birth:"不详",death:"不详",age:"不详"},{name:"姬囏(jiān)",title:"周懿王",reignStart:"约前899年",reignEnd:"约前892年",reignYears:7,birth:"不详",death:"不详",age:"不详"},{name:"姬辟方",title:"周孝王",reignStart:"约前891年",reignEnd:"约前886年",reignYears:5,birth:"不详",death:"不详",age:"不详"},{name:"姬燮(xiè)",title:"周夷王",reignStart:"约前885年",reignEnd:"约前878年",reignYears:7,birth:"不详",death:"不详",age:"不详"},{name:"姬胡",title:"周厉王",reignStart:"约前877年",reignEnd:"约前841年",reignYears:36,birth:"不详",death:"不详",age:"不详"},{name:"姬静",title:"周宣王",reignStart:"约前827年",reignEnd:"约前782年",reignYears:45,birth:"不详",death:"不详",age:"不详"},{name:"姬宫湦(shēng)",title:"周幽王",reignStart:"前781年",reignEnd:"前771年",reignYears:10,birth:"不详",death:"不详",age:"不详"}],achievements:["建立了分封制和宗法制","制定了礼乐制度","发展了农业和手工业",'创立了"天命"思想']},{name:"东周",startYear:"前770年",endYear:"前256年",duration:514,capital:"洛邑(今河南洛阳)",founder:"周平王",lastEmperor:"周赧王",period:"ancient",description:'西周灭亡后,周平王东迁洛邑建立的王朝,分为春秋和战国两个时期。东周时期,周王室衰微,诸侯争霸,礼崩乐坏,但却是中国思想文化最为繁荣的时代。\n\n春秋时期(公元前770年-公元前476年),先后出现了"春秋五霸":齐桓公、晋文公、楚庄王、吴王阖闾、越王勾践。战国时期(公元前475年-公元前221年),形成了"战国七雄":齐、楚、燕、韩、赵、魏、秦的格局。\n\n东周时期是中国古代思想文化的黄金时代,出现了孔子、老子、墨子、孟子、荀子、韩非子等思想家,形成了儒家、道家、墨家、法家等诸子百家争鸣的局面。这一时期铁器广泛使用,农业生产力大幅提高,商业和手工业也得到很大发展。\n\n东周最终被秦国所灭,结束了长达514年的历史,共有25位君主。',emperors:[{name:"姬宜臼(Yí Jiù)",title:"周平王",reignStart:"前770年",reignEnd:"前720年",reignYears:50,birth:"约前795年",death:"约前720年",age:"约75岁"},{name:"姬林(Lín)",title:"周桓王",reignStart:"前719年",reignEnd:"前697年",reignYears:22,birth:"约前743年",death:"约前697年",age:"约46岁"},{name:"姬佗(Tuó)",title:"周庄王",reignStart:"前696年",reignEnd:"前682年",reignYears:14,birth:"约前717年",death:"约前682年",age:"约35岁"},{name:"姬胡齐(Hú Qí)",title:"周釐王",reignStart:"前681年",reignEnd:"前677年",reignYears:4,birth:"约前705年",death:"约前677年",age:"约28岁"},{name:"姬阆(Láng)",title:"周惠王",reignStart:"前676年",reignEnd:"前652年",reignYears:24,birth:"约前700年",death:"约前652年",age:"约48岁"},{name:"姬郑(Zhèng)",title:"周襄王",reignStart:"前651年",reignEnd:"前619年",reignYears:32,birth:"约前683年",death:"约前619年",age:"约64岁"},{name:"姬壬臣(Rén Chén)",title:"周顷王",reignStart:"前618年",reignEnd:"前613年",reignYears:5,birth:"约前650年",death:"约前613年",age:"约37岁"},{name:"姬班(Bān)",title:"周匡王",reignStart:"前612年",reignEnd:"前607年",reignYears:5,birth:"约前645年",death:"约前607年",age:"约38岁"},{name:"姬瑜(Yú)",title:"周定王",reignStart:"前606年",reignEnd:"前586年",reignYears:20,birth:"约前633年",death:"约前586年",age:"约47岁"},{name:"姬夷(Yí)",title:"周简王",reignStart:"前585年",reignEnd:"前572年",reignYears:13,birth:"约前610年",death:"约前572年",age:"约38岁"},{name:"姬泄心(Xiè Xīn)",title:"周灵王",reignStart:"前571年",reignEnd:"前545年",reignYears:26,birth:"约前597年",death:"约前545年",age:"约52岁"},{name:"姬贵(Guì)",title:"周景王",reignStart:"前544年",reignEnd:"前521年",reignYears:23,birth:"约前571年",death:"约前521年",age:"约50岁"},{name:"姬猛(Měng)",title:"周悼王",reignStart:"前520年",reignEnd:"前520年",reignYears:"6个月",birth:"约前548年",death:"约前520年",age:"28岁"},{name:"姬丐(Gài)",title:"周敬王",reignStart:"前519年",reignEnd:"前476年",reignYears:43,birth:"约前547年",death:"约前476年",age:"约71岁"},{name:"姬仁(Rén)",title:"周元王",reignStart:"前475年",reignEnd:"前469年",reignYears:6,birth:"约前510年",death:"约前469年",age:"约41岁"},{name:"姬介(Jiè)",title:"周贞定王",reignStart:"前468年",reignEnd:"前441年",reignYears:27,birth:"约前495年",death:"约前441年",age:"约54岁"},{name:"姬去疾(Qù Jí)",title:"周哀王",reignStart:"前441年",reignEnd:"前441年",reignYears:"3个月",birth:"约前468年",death:"约前441年",age:"27岁"},{name:"姬叔(Shū)",title:"周思王",reignStart:"前441年",reignEnd:"前441年",reignYears:"5个月",birth:"约前465年",death:"约前441年",age:"24岁"},{name:"姬嵬(Wéi)",title:"周考王",reignStart:"前440年",reignEnd:"前426年",reignYears:14,birth:"约前467年",death:"约前426年",age:"约41岁"},{name:"姬午(Wǔ)",title:"周威烈王",reignStart:"前425年",reignEnd:"前402年",reignYears:23,birth:"约前450年",death:"约前402年",age:"约48岁"},{name:"姬骄(Jiāo)",title:"周安王",reignStart:"前401年",reignEnd:"前376年",reignYears:25,birth:"约前426年",death:"约前376年",age:"约50岁"},{name:"姬喜(Xǐ)",title:"周烈王",reignStart:"前375年",reignEnd:"前369年",reignYears:6,birth:"约前400年",death:"约前369年",age:"约31岁"},{name:"姬扁(Biǎn)",title:"周显王",reignStart:"前368年",reignEnd:"前321年",reignYears:47,birth:"约前395年",death:"约前321年",age:"约74岁"},{name:"姬定(Dìng)",title:"周慎靓王",reignStart:"前320年",reignEnd:"前315年",reignYears:5,birth:"约前350年",death:"约前315年",age:"约35岁"},{name:"姬延(Yán)",title:"周赧王",reignStart:"前314年",reignEnd:"前256年",reignYears:58,birth:"约前372年",death:"约前256年",age:"约116岁"}],achievements:["春秋战国时期诸子百家争鸣","铁器的广泛使用","商业和手工业的发展","军事技术的进步"]},{name:"秦朝",startYear:"前221年",endYear:"前206年",duration:15,capital:"咸阳(今陕西咸阳)",founder:"秦始皇",lastEmperor:"秦二世",period:"imperial",description:'中国历史上第一个统一的中央集权制帝国,由秦始皇嬴政建立。秦朝结束了春秋战国以来长期分裂割据的局面,建立了中国历史上第一个统一的多民族的中央集权国家。\n\n东周末期,战国七雄争霸,秦国通过商鞅变法逐渐强大。秦始皇继位后,采用"远交近攻"的策略,先后灭掉了韩、赵、魏、楚、燕、齐六国,于公元前221年统一了中国,结束了长达500多年的分裂局面。\n\n秦始皇统一六国后,在政治上建立了皇帝制度和三公九卿制,在地方实行郡县制;在经济上统一货币、度量衡;在文化上统一文字,推行小篆;在军事上修筑万里长城,抵御北方匈奴。秦朝还修建了大量的道路和水利工程,如直道、灵渠等。\n\n但秦朝实行严刑峻法,赋税繁重,徭役频繁,激起了人民的反抗。秦始皇死后,秦二世胡亥继位,政治更加黑暗,最终爆发了陈胜吴广起义,各地纷纷响应,秦朝迅速灭亡。\n\n秦朝虽然存在时间很短,仅历时15年,但其建立的政治制度对后世产生了深远影响,共有3位皇帝。',emperors:[{name:"嬴政",title:"秦始皇帝",reignStart:"前221年",reignEnd:"前210年",reignYears:11,birth:"前259年",death:"前210年",age:"49岁"},{name:"嬴胡亥",title:"秦二世皇帝",reignStart:"前210年",reignEnd:"前207年",reignYears:3,birth:"前230年",death:"前207年",age:"23岁"},{name:"嬴子婴",title:"秦王子婴",reignStart:"前207年",reignEnd:"前206年",reignYears:1,birth:"前225年",death:"前206年",age:"19岁"}],achievements:["统一六国,建立中央集权制","统一文字、货币、度量衡","修建万里长城","建立郡县制"]},{name:"西汉",startYear:"前202年",endYear:"8年",duration:210,capital:"长安(今陕西西安)",founder:"汉高祖刘邦",lastEmperor:"汉平帝",period:"imperial",description:'中国历史上重要的统一王朝,由汉高祖刘邦建立。西汉继承了秦朝的政治制度,但在具体政策上有所调整,实行"无为而治"和"休养生息"的政策。\n\n西汉前期出现了"文景之治"的盛世局面,经济繁荣,人口增长。汉武帝时期,国力达到鼎盛,对外开拓疆土,派张骞出使西域,开辟了丝绸之路;对内加强中央集权,推行"推恩令"削弱诸侯王势力,设立刺史制度监察地方。\n\n西汉时期儒学成为正统思想,董仲舒提出"罢黜百家,独尊儒术"。西汉的疆域空前辽阔,东到朝鲜,西到中亚,南到越南,北到蒙古高原。西汉后期由于土地兼并严重,外戚专权,政治腐败,最终被王莽篡夺,建立新朝。\n\n西汉历时210年,为中华民族的形成和发展奠定了重要基础,共有15位皇帝。',emperors:[{name:"刘邦",title:"汉高祖",reignStart:"前202年",reignEnd:"前195年",reignYears:7,eraName:"汉",birth:"前256年",death:"前195年",age:"61岁"},{name:"刘盈",title:"汉惠帝",reignStart:"前194年",reignEnd:"前188年",reignYears:6,eraName:"汉",birth:"前211年",death:"前188年",age:"23岁"},{name:"刘恭",title:"汉前少帝",reignStart:"前188年",reignEnd:"前184年",reignYears:4,eraName:"汉",birth:"前188年",death:"前184年",age:"4岁"},{name:"刘弘",title:"汉后少帝",reignStart:"前184年",reignEnd:"前180年",reignYears:4,eraName:"汉",birth:"前188年",death:"前180年",age:"8岁"},{name:"刘恒",title:"汉文帝",reignStart:"前180年",reignEnd:"前157年",reignYears:23,eraName:"汉",birth:"前202年",death:"前157年",age:"45岁"},{name:"刘启",title:"汉景帝",reignStart:"前156年",reignEnd:"前141年",reignYears:15,eraName:"汉",birth:"前188年",death:"前141年",age:"47岁"},{name:"刘彻",title:"汉武帝",reignStart:"前140年",reignEnd:"前87年",reignYears:53,eraName:"建元、元光、元朔、元狩、元鼎、元封、太初、天汉、太始、征和、后元",birth:"前156年",death:"前87年",age:"69岁"},{name:"刘弗陵",title:"汉昭帝",reignStart:"前86年",reignEnd:"前74年",reignYears:12,eraName:"始元、元凤、元平",birth:"前94年",death:"前74年",age:"20岁"},{name:"刘贺",title:"汉废帝",reignStart:"前74年",reignEnd:"前74年",reignYears:"27天",eraName:"汉",birth:"前92年",death:"前59年",age:"33岁"},{name:"刘询",title:"汉宣帝",reignStart:"前73年",reignEnd:"前49年",reignYears:24,eraName:"本始、地节、元康、神爵、五凤、甘露、黄龙",birth:"前74年",death:"前49年",age:"25岁"},{name:"刘奭",title:"汉元帝",reignStart:"前48年",reignEnd:"前33年",reignYears:15,eraName:"初元、永光、建昭、竟宁",birth:"前75年",death:"前33年",age:"42岁"},{name:"刘骜",title:"汉成帝",reignStart:"前32年",reignEnd:"前7年",reignYears:25,eraName:"建始、河平、阳朔、鸿嘉、永始、元延、绥和",birth:"前51年",death:"前7年",age:"44岁"},{name:"刘欣",title:"汉哀帝",reignStart:"前6年",reignEnd:"前1年",reignYears:5,eraName:"建平、太初元将、元寿",birth:"前27年",death:"前1年",age:"26岁"},{name:"刘衎",title:"汉平帝",reignStart:"1年",reignEnd:"5年",reignYears:4,eraName:"元始",birth:"前9年",death:"5年",age:"14岁"},{name:"刘婴",title:"孺子婴",reignStart:"6年",reignEnd:"8年",reignYears:2,eraName:"居摄、初始",birth:"3年",death:"25年",age:"22岁"}],achievements:["开辟丝绸之路",'推行"文景之治"',"建立太学,重视教育","发展农业和手工业"]},{name:"新朝",startYear:"8年",endYear:"23年",duration:15,capital:"长安(今陕西西安)",founder:"王莽",lastEmperor:"王莽",period:"imperial",description:"王莽篡汉建立的短暂王朝,是中国历史上第一个通过和平方式取得政权的朝代。王莽是西汉外戚,通过一系列政治手段逐步掌握大权,最终在公元8年建立新朝。\n\n王莽推行激进的改革政策,包括土地国有化、货币制度改革、官制改革等,试图恢复周朝的政治制度。他将私有土地收归国有,重新分配给农民;多次改革货币制度,造成经济混乱;频繁更改官制和地名,引起社会动荡。\n\n王莽的改革虽然出发点是好的,但脱离实际,加上天灾频繁,最终引发了绿林、赤眉等农民起义。公元23年,王莽在长安被杀,新朝灭亡。\n\n新朝历时15年,只有王莽1位皇帝。",emperors:[{name:"王莽",title:"新始祖",reignStart:"8年",reignEnd:"23年",reignYears:15,eraName:"始建国、天凤、地皇",birth:"前45年",death:"23年",age:"68岁"}],achievements:["推行土地国有化","货币制度改革","官制改革","推广儒家经典"]},{name:"东汉",startYear:"25年",endYear:"220年",duration:195,capital:"洛阳(今河南洛阳)",founder:"汉光武帝",lastEmperor:"汉献帝",period:"imperial",description:'汉朝的延续,由汉光武帝刘秀建立。新朝灭亡后,天下大乱,各地豪强割据。刘秀是汉景帝之子刘章的后代,出身于南阳豪族。他起初参加绿林起义,后来脱离绿林军,独立发展势力。刘秀利用"柔远人,优待降者"的政策,逐步统一了中原地区,于25年建立东汉,定都洛阳。\n\n东汉前期政治清明,经济繁荣,出现了"光武中兴"和"明章之治"等盛世局面。这一时期科技文化继续发展,出现了造纸术等重要发明,蔡伦改进了造纸技术;张衡发明了地动仪;医学家张仲景著有《伤寒杂病论》。\n\n东汉时期佛教正式传入中国,对中国文化产生了深远影响。丝绸之路继续繁荣,中外文化交流频繁。东汉的疆域基本继承了西汉的版图,并在西域设立了西域都护府。\n\n东汉后期外戚宦官专权,政治腐败,黄巾起义爆发后,东汉名存实亡,最终被曹魏取代。东汉历时195年,共有14位皇帝。',emperors:[{name:"刘秀",title:"汉光武帝",reignStart:"25年",reignEnd:"57年",reignYears:32,eraName:"建武、建武中元",birth:"前6年",death:"57年",age:"63岁"},{name:"刘庄",title:"汉明帝",reignStart:"57年",reignEnd:"75年",reignYears:18,eraName:"永平",birth:"28年",death:"75年",age:"47岁"},{name:"刘炟(Dá)",title:"汉章帝",reignStart:"75年",reignEnd:"88年",reignYears:13,eraName:"建初、元和、章和",birth:"56年",death:"88年",age:"32岁"},{name:"刘肇(Zhào)",title:"汉和帝",reignStart:"88年",reignEnd:"106年",reignYears:18,eraName:"永元、元兴",birth:"79年",death:"106年",age:"27岁"},{name:"刘隆(Lóng)",title:"汉殇帝",reignStart:"106年",reignEnd:"106年",reignYears:"8个月",eraName:"延平",birth:"105年",death:"106年",age:"1岁"},{name:"刘祜(Hù)",title:"汉安帝",reignStart:"106年",reignEnd:"125年",reignYears:19,eraName:"永初、元初、永宁、建光、延光",birth:"94年",death:"125年",age:"31岁"},{name:"刘懿(Yì)",title:"汉前少帝",reignStart:"125年",reignEnd:"125年",reignYears:"7个月",birth:"115年",death:"125年",age:"10岁"},{name:"刘保",title:"汉顺帝",reignStart:"125年",reignEnd:"144年",reignYears:19,eraName:"永建、阳嘉、永和、汉安、建康",birth:"115年",death:"144年",age:"29岁"},{name:"刘炳",title:"汉冲帝",reignStart:"144年",reignEnd:"145年",reignYears:"5个月",eraName:"永嘉",birth:"143年",death:"145年",age:"2岁"},{name:"刘缵(Zuǎn)",title:"汉质帝",reignStart:"145年",reignEnd:"146年",reignYears:1,eraName:"本初",birth:"138年",death:"146年",age:"8岁"},{name:"刘志",title:"汉桓帝",reignStart:"146年",reignEnd:"167年",reignYears:21,eraName:"建和、和平、元嘉、永兴、永寿、延熹、永康",birth:"132年",death:"167年",age:"35岁"},{name:"刘宏",title:"汉灵帝",reignStart:"167年",reignEnd:"189年",reignYears:22,eraName:"建宁、熹平、光和、中平",birth:"156年",death:"189年",age:"33岁"},{name:"刘辩",title:"汉后少帝",reignStart:"189年",reignEnd:"189年",reignYears:"4个月",eraName:"光熹、昭宁",birth:"175年",death:"190年",age:"15岁"},{name:"刘协",title:"汉献帝",reignStart:"189年",reignEnd:"220年",reignYears:31,eraName:"初平、兴平、建安、延康",birth:"181年",death:"234年",age:"53岁"}],achievements:["蔡伦改进造纸术","张衡发明地动仪","医学著作《伤寒杂病论》","佛教传入中国"]},{name:"三国时期",startYear:"220年",endYear:"280年",duration:60,capital:"洛阳/成都/建业",founder:"曹丕/刘备/孙权",lastEmperor:"曹奂/刘禅/孙皓",period:"imperial",description:"东汉末年,中央权力衰落,地方豪强割据。曹操起兵于北方,逐步统一中原,其子曹丕于220年建立魏国。同年,刘备在蜀地建立蜀汉,自称汉室正统。孙权继承父亲孙策的基业,占据江南,于229年建立吴国。三国鼎立的局面由此形成。\n\n三国时期战争频繁,著名的战役有官渡之战、赤壁之战、夷陵之战等。这一时期涌现出了诸葛亮、司马懿、周瑜、陆逊等杰出的政治家和军事家。三国文化对后世影响深远,《三国演义》等文学作品使这一时期的人物和故事家喻户晓。\n\n魏国由曹操奠基,曹丕建立,定都洛阳,占据中原地区,国力最强;蜀国由刘备建立,定都成都,占据四川盆地,以恢复汉室为号召;吴国由孙权建立,定都建业(今南京),占据江南地区,善于水战。\n\n最终蜀国最先灭亡(263年被司马昭灭),吴国被西晋所灭(280年),三国归晋。三国时期历时60年,魏国5位皇帝,蜀国2位皇帝,吴国4位皇帝。",emperors:[{name:"曹丕",title:"魏文帝",reignStart:"220年",reignEnd:"226年",reignYears:6,eraName:"黄初",birth:"187年",death:"226年",age:"39岁"},{name:"曹叡(Ruì)",title:"魏明帝",reignStart:"226年",reignEnd:"239年",reignYears:13,eraName:"太和、青龙、景初",birth:"204年",death:"239年",age:"35岁"},{name:"曹芳",title:"魏齐王",reignStart:"239年",reignEnd:"254年",reignYears:15,eraName:"正始、嘉平",birth:"232年",death:"274年",age:"42岁"},{name:"曹髦(Máo)",title:"魏高贵乡公",reignStart:"254年",reignEnd:"260年",reignYears:6,eraName:"正元、甘露",birth:"241年",death:"260年",age:"19岁"},{name:"曹奂(Huàn)",title:"魏元帝",reignStart:"260年",reignEnd:"265年",reignYears:5,eraName:"景元、咸熙",birth:"246年",death:"302年",age:"56岁"},{name:"刘备",title:"蜀昭烈帝",reignStart:"221年",reignEnd:"223年",reignYears:2,eraName:"章武",birth:"161年",death:"223年",age:"62岁"},{name:"刘禅(Shàn)",title:"蜀后主",reignStart:"223年",reignEnd:"263年",reignYears:40,eraName:"建兴、延熙、景耀、炎兴",birth:"207年",death:"271年",age:"64岁"},{name:"孙权",title:"吴大帝",reignStart:"229年",reignEnd:"252年",reignYears:23,eraName:"黄龙、嘉禾、赤乌、太元、神凤",birth:"182年",death:"252年",age:"70岁"},{name:"孙亮",title:"吴会稽王",reignStart:"252年",reignEnd:"258年",reignYears:6,eraName:"建兴、五凤、太平",birth:"243年",death:"260年",age:"17岁"},{name:"孙休",title:"吴景帝",reignStart:"258年",reignEnd:"264年",reignYears:6,eraName:"永安",birth:"235年",death:"264年",age:"29岁"},{name:"孙皓(Hào)",title:"吴末帝",reignStart:"264年",reignEnd:"280年",reignYears:16,eraName:"元兴、甘露、宝鼎、建衡、凤凰、天册、天玺、天纪",birth:"242年",death:"284年",age:"42岁"}],achievements:["三国文化繁荣","军事技术发展","农业生产恢复","文学艺术成就"]},{name:"西晋",startYear:"266年",endYear:"316年",duration:50,capital:"洛阳(今河南洛阳)",founder:"晋武帝司马炎",lastEmperor:"晋愍帝",period:"imperial",description:'司马氏建立的王朝,短暂统一全国后因内乱和外族入侵而衰落。西晋由司马炎建立,他是司马懿的孙子,通过"高平陵之变"等政治斗争,司马氏逐步掌握了曹魏政权。\n\n西晋建立后,于280年灭吴,结束了三国分裂局面,实现了全国统一。西晋前期政治相对稳定,经济得到恢复和发展。但西晋实行分封制,分封了大量宗室为王,为后来的内乱埋下了隐患。\n\n西晋后期爆发了"八王之乱",宗室诸王为争夺权力而相互攻伐,持续16年,严重削弱了西晋的国力。同时,北方游牧民族趁机南下,发生了"五胡乱华",西晋政权岌岌可危。\n\n最终,匈奴人刘渊建立汉国(后称前赵),攻陷洛阳,俘虏晋怀帝;后又攻陷长安,俘虏晋愍帝,西晋灭亡。西晋历时50年,共有4位皇帝。',emperors:[{name:"司马炎",title:"晋武帝",reignStart:"266年",reignEnd:"290年",reignYears:24,eraName:"泰始、咸宁、太康、太熙",birth:"236年",death:"290年",age:"54岁"},{name:"司马衷",title:"晋惠帝",reignStart:"290年",reignEnd:"307年",reignYears:17,eraName:"永熙、永平、元康、永康、永宁、太安、永兴、光熙",birth:"259年",death:"307年",age:"48岁"},{name:"司马炽",title:"晋怀帝",reignStart:"307年",reignEnd:"313年",reignYears:6,eraName:"永嘉",birth:"284年",death:"313年",age:"29岁"},{name:"司马邺",title:"晋愍帝",reignStart:"313年",reignEnd:"316年",reignYears:3,eraName:"建兴",birth:"300年",death:"318年",age:"18岁"}],achievements:["统一三国","经济恢复发展","文化艺术繁荣","法律制度完善"]},{name:"东晋",startYear:"317年",endYear:"420年",duration:103,capital:"建康(今江苏南京)",founder:"晋元帝",lastEmperor:"晋恭帝",period:"imperial",description:'西晋灭亡后,司马氏皇族后裔在南方建立的政权,与北方十六国并立。司马睿是西晋皇帝司马炎的儿子,属于皇族直系。西晋灭亡时,司马睿在南方拥有兵权和势力,他联合南方士族,于317年在建康(今南京)建立东晋,成为中原士族南迁的领导者。\n\n东晋前期,在王导、谢安等名臣辅佐下,政治相对稳定。著名的淝水之战中,东晋以少胜多,击败了前秦苻坚的百万大军,保住了江南半壁江山。这一时期文化艺术繁荣,出现了王羲之、顾恺之等杰出的艺术家。\n\n东晋时期佛教和道教都得到很大发展,佛教寺院遍布江南,道教理论也日趋完善。士族门阀制度在这一时期达到鼎盛,形成了"王谢"等著名的门阀世族。\n\n东晋后期,门阀政治腐朽,皇权衰微,军阀割据严重。最终刘裕崛起,废除晋恭帝,建立刘宋,东晋灭亡。东晋历时103年,共有11位皇帝。',emperors:[{name:"司马睿",title:"晋元帝",reignStart:"317年",reignEnd:"323年",reignYears:6,eraName:"建武、大兴",birth:"275年",death:"323年",age:"48岁"},{name:"司马绍",title:"晋明帝",reignStart:"323年",reignEnd:"325年",reignYears:2,eraName:"太宁",birth:"298年",death:"325年",age:"27岁"},{name:"司马衍",title:"晋成帝",reignStart:"325年",reignEnd:"342年",reignYears:17,eraName:"咸和、咸康",birth:"321年",death:"342年",age:"21岁"},{name:"司马岳",title:"晋康帝",reignStart:"342年",reignEnd:"344年",reignYears:2,eraName:"建元",birth:"322年",death:"344年",age:"22岁"},{name:"司马聃(dān)",title:"晋穆帝",reignStart:"344年",reignEnd:"361年",reignYears:17,eraName:"永和、升平",birth:"343年",death:"361年",age:"18岁"},{name:"司马丕",title:"晋哀帝",reignStart:"361年",reignEnd:"365年",reignYears:4,eraName:"隆和、兴宁",birth:"341年",death:"365年",age:"24岁"},{name:"司马奕",title:"晋废帝",reignStart:"365年",reignEnd:"371年",reignYears:6,eraName:"太和",birth:"342年",death:"386年",age:"44岁"},{name:"司马昱(yù)",title:"晋简文帝",reignStart:"371年",reignEnd:"372年",reignYears:1,eraName:"咸安",birth:"320年",death:"372年",age:"52岁"},{name:"司马曜",title:"晋孝武帝",reignStart:"372年",reignEnd:"396年",reignYears:24,eraName:"宁康、太元",birth:"361年",death:"396年",age:"35岁"},{name:"司马德宗",title:"晋安帝",reignStart:"396年",reignEnd:"418年",reignYears:22,eraName:"隆安、元兴、义熙",birth:"382年",death:"418年",age:"36岁"},{name:"司马德文",title:"晋恭帝",reignStart:"418年",reignEnd:"420年",reignYears:2,eraName:"元熙",birth:"406年",death:"421年",age:"15岁"}],achievements:["保持汉族政权","文化艺术发展","佛教道教兴盛","书法绘画成就"]},{name:"十六国",startYear:"304年",endYear:"439年",duration:135,capital:"多个都城",founder:"刘渊等",lastEmperor:"沮渠牧犍等",period:"imperial",description:"西晋末年至北魏统一北方期间,北方地区由各少数民族建立的十六个主要政权的总称,是中国历史上重要的民族大融合时期。\n\n十六国包括:前赵(汉赵)、后赵、前燕、后燕、南燕、北燕、前秦、后秦、西秦、前凉、后凉、南凉、西凉、北凉、夏、成汉。各政权疆域大小不一,存在时间长短不等,相互征伐不断,但促进了民族融合。\n\n这一时期为后来北魏的统一奠定了基础,也为中华民族的形成和发展做出了重要贡献。十六国时期的民族融合,为隋唐时期的繁荣创造了条件。",emperors:[{name:"刘渊",title:"汉光文帝",reignStart:"304年",reignEnd:"310年",reignYears:6,eraName:"元熙、永凤、河瑞",birth:"251年",death:"310年",age:"59岁",dynasty:"前赵(汉赵)"},{name:"刘和",title:"汉废帝",reignStart:"310年",reignEnd:"310年",reignYears:"数月",eraName:"河瑞",birth:"不详",death:"310年",age:"不详",dynasty:"前赵(汉赵)"},{name:"刘聪",title:"汉昭武帝",reignStart:"310年",reignEnd:"318年",reignYears:8,eraName:"光兴、嘉平、建元、麟嘉",birth:"285年",death:"318年",age:"33岁",dynasty:"前赵(汉赵)"},{name:"刘粲",title:"汉隐帝",reignStart:"318年",reignEnd:"318年",reignYears:"数月",eraName:"汉昌",birth:"不详",death:"318年",age:"不详",dynasty:"前赵(汉赵)"},{name:"刘曜",title:"前赵光初帝",reignStart:"318年",reignEnd:"329年",reignYears:11,eraName:"光初、建光",birth:"285年",death:"329年",age:"44岁",dynasty:"前赵(汉赵)"},{name:"石勒",title:"后赵武帝",reignStart:"319年",reignEnd:"333年",reignYears:14,eraName:"太和、建平",birth:"274年",death:"333年",age:"59岁",dynasty:"后赵"},{name:"石弘",title:"后赵成帝",reignStart:"333年",reignEnd:"334年",reignYears:1,eraName:"延熙",birth:"不详",death:"334年",age:"不详",dynasty:"后赵"},{name:"石虎",title:"后赵武帝(称帝)",reignStart:"334年",reignEnd:"349年",reignYears:15,eraName:"建武、太宁",birth:"295年",death:"349年",age:"54岁",dynasty:"后赵"},{name:"石世",title:"后赵废帝",reignStart:"349年",reignEnd:"349年",reignYears:"33天",eraName:"太宁",birth:"不详",death:"349年",age:"不详",dynasty:"后赵"},{name:"石遵",title:"后赵义阳王",reignStart:"349年",reignEnd:"349年",reignYears:"183天",eraName:"青龙",birth:"不详",death:"349年",age:"不详",dynasty:"后赵"},{name:"石鉴",title:"后赵新兴王",reignStart:"349年",reignEnd:"350年",reignYears:1,eraName:"青龙",birth:"不详",death:"350年",age:"不详",dynasty:"后赵"},{name:"石祗",title:"后赵武宁王",reignStart:"350年",reignEnd:"351年",reignYears:1,eraName:"永宁",birth:"不详",death:"351年",age:"不详",dynasty:"后赵"},{name:"慕容皝",title:"前燕文明帝",reignStart:"337年",reignEnd:"348年",reignYears:11,eraName:"延兴",birth:"297年",death:"348年",age:"51岁",dynasty:"前燕"},{name:"慕容儁",title:"前燕景昭帝",reignStart:"349年",reignEnd:"360年",reignYears:11,eraName:"元玺",birth:"319年",death:"360年",age:"41岁",dynasty:"前燕"},{name:"慕容暐",title:"前燕幽帝",reignStart:"360年",reignEnd:"370年",reignYears:10,eraName:"建熙",birth:"350年",death:"384年",age:"34岁",dynasty:"前燕"},{name:"慕容垂",title:"后燕成武帝",reignStart:"384年",reignEnd:"396年",reignYears:12,eraName:"燕元、建兴",birth:"326年",death:"396年",age:"70岁",dynasty:"后燕"},{name:"慕容宝",title:"后燕惠愍帝",reignStart:"396年",reignEnd:"398年",reignYears:2,eraName:"永康",birth:"355年",death:"398年",age:"43岁",dynasty:"后燕"},{name:"慕容盛",title:"后燕昭武帝",reignStart:"398年",reignEnd:"401年",reignYears:3,eraName:"建平",birth:"373年",death:"401年",age:"28岁",dynasty:"后燕"},{name:"慕容熙",title:"后燕昭文帝",reignStart:"401年",reignEnd:"407年",reignYears:6,eraName:"光始",birth:"385年",death:"407年",age:"22岁",dynasty:"后燕"},{name:"苻健",title:"前秦景明帝",reignStart:"351年",reignEnd:"355年",reignYears:4,eraName:"皇始",birth:"317年",death:"355年",age:"38岁",dynasty:"前秦"},{name:"苻生",title:"前秦厉王",reignStart:"355年",reignEnd:"357年",reignYears:2,eraName:"寿光",birth:"335年",death:"357年",age:"22岁",dynasty:"前秦"},{name:"苻坚",title:"前秦宣昭帝",reignStart:"357年",reignEnd:"385年",reignYears:28,eraName:"永兴、甘露、建元",birth:"338年",death:"385年",age:"47岁",dynasty:"前秦"},{name:"苻丕",title:"前秦哀平帝",reignStart:"385年",reignEnd:"386年",reignYears:1,eraName:"太安",birth:"不详",death:"386年",age:"不详",dynasty:"前秦"},{name:"苻登",title:"前秦太宗",reignStart:"386年",reignEnd:"394年",reignYears:8,eraName:"太初",birth:"不详",death:"394年",age:"不详",dynasty:"前秦"},{name:"姚苌",title:"后秦武昭帝",reignStart:"384年",reignEnd:"393年",reignYears:9,eraName:"白雀、建初",birth:"331年",death:"393年",age:"62岁",dynasty:"后秦"},{name:"姚兴",title:"后秦文桓帝",reignStart:"394年",reignEnd:"416年",reignYears:22,eraName:"皇初、弘始",birth:"366年",death:"416年",age:"50岁",dynasty:"后秦"},{name:"姚泓",title:"后秦末主",reignStart:"416年",reignEnd:"417年",reignYears:1,eraName:"永和",birth:"不详",death:"417年",age:"不详",dynasty:"后秦"},{name:"李特",title:"成汉景帝",reignStart:"304年",reignEnd:"304年",reignYears:1,eraName:"建初",birth:"不详",death:"304年",age:"不详",dynasty:"成汉"},{name:"李流",title:"成汉始祖",reignStart:"304年",reignEnd:"304年",reignYears:1,eraName:"建兴",birth:"不详",death:"304年",age:"不详",dynasty:"成汉"},{name:"李雄",title:"成汉武帝",reignStart:"304年",reignEnd:"334年",reignYears:30,eraName:"建兴、晏平、玉衡、玉恒、建元",birth:"274年",death:"334年",age:"60岁",dynasty:"成汉"},{name:"李班",title:"成汉戾太子",reignStart:"334年",reignEnd:"334年",reignYears:"数月",eraName:"玉恒",birth:"不详",death:"334年",age:"不详",dynasty:"成汉"},{name:"李期",title:"成汉幽公",reignStart:"334年",reignEnd:"338年",reignYears:4,eraName:"玉恒、建兴",birth:"不详",death:"338年",age:"不详",dynasty:"成汉"},{name:"李寿",title:"成汉昭文帝",reignStart:"338年",reignEnd:"343年",reignYears:5,eraName:"汉兴",birth:"不详",death:"343年",age:"不详",dynasty:"成汉"},{name:"李势",title:"成汉归义侯",reignStart:"343年",reignEnd:"347年",reignYears:4,eraName:"太和",birth:"不详",death:"361年",age:"不详",dynasty:"成汉"},{name:"段业",title:"北凉建国公",reignStart:"397年",reignEnd:"401年",reignYears:4,eraName:"神玺",birth:"不详",death:"401年",age:"不详",dynasty:"北凉"},{name:"沮渠蒙逊",title:"北凉武宣王",reignStart:"401年",reignEnd:"433年",reignYears:32,eraName:"永安、玄始、承玄、义和、真兴",birth:"368年",death:"433年",age:"65岁",dynasty:"北凉"},{name:"沮渠牧犍",title:"北凉哀王",reignStart:"433年",reignEnd:"439年",reignYears:6,eraName:"承和、胜光",birth:"不详",death:"447年",age:"不详",dynasty:"北凉"}],achievements:["促进民族融合","文化交流发展","军事技术进步","为北魏统一奠基"]},{name:"南北朝",startYear:"420年",endYear:"589年",duration:169,capital:"建康/平城/洛阳",founder:"刘裕等",lastEmperor:"陈叔宝/杨坚",period:"imperial",description:"中国历史上的分裂时期,南朝包括宋、齐、梁、陈四个朝代,北朝包括北魏、东魏、西魏、北齐、北周五个朝代。这一时期民族融合加速,文化艺术繁荣。\n\n南朝政权都建都建康(今南京),主要由汉族士族建立和统治,保持了汉族的传统文化;北朝政权主要由鲜卑族等少数民族建立,但逐渐汉化,促进了民族融合。\n\n这一时期佛教得到很大发展,出现了许多著名的佛教石窟和寺院;文学艺术也很繁荣,出现了《文心雕龙》、《诗品》等重要著作。科技方面,祖冲之计算出圆周率,贾思勰著《齐民要术》。\n\n南北朝的分裂局面最终被隋朝统一,结束了长达169年的分裂状态。",emperors:[{name:"刘裕",title:"宋武帝",reignStart:"420年",reignEnd:"422年",reignYears:2,eraName:"永初",birth:"363年",death:"422年",age:"59岁",dynasty:"南朝宋"},{name:"刘义符",title:"宋少帝",reignStart:"422年",reignEnd:"424年",reignYears:2,eraName:"景平",birth:"406年",death:"424年",age:"18岁",dynasty:"南朝宋"},{name:"刘义隆",title:"宋文帝",reignStart:"424年",reignEnd:"453年",reignYears:29,eraName:"元嘉",birth:"407年",death:"453年",age:"46岁",dynasty:"南朝宋"},{name:"刘骏",title:"宋孝武帝",reignStart:"453年",reignEnd:"464年",reignYears:11,eraName:"孝建、大明",birth:"430年",death:"464年",age:"34岁",dynasty:"南朝宋"},{name:"刘子业",title:"宋前废帝",reignStart:"464年",reignEnd:"465年",reignYears:1,eraName:"永光、景和",birth:"449年",death:"465年",age:"16岁",dynasty:"南朝宋"},{name:"刘彧",title:"宋明帝",reignStart:"465年",reignEnd:"472年",reignYears:7,eraName:"泰始",birth:"439年",death:"472年",age:"33岁",dynasty:"南朝宋"},{name:"刘昱",title:"宋后废帝",reignStart:"472年",reignEnd:"477年",reignYears:5,eraName:"元徽",birth:"463年",death:"477年",age:"14岁",dynasty:"南朝宋"},{name:"刘准",title:"宋顺帝",reignStart:"477年",reignEnd:"479年",reignYears:2,eraName:"升明",birth:"467年",death:"479年",age:"12岁",dynasty:"南朝宋"},{name:"萧道成",title:"齐高帝",reignStart:"479年",reignEnd:"482年",reignYears:3,eraName:"建元",birth:"427年",death:"482年",age:"55岁",dynasty:"南朝齐"},{name:"萧赜",title:"齐武帝",reignStart:"482年",reignEnd:"493年",reignYears:11,eraName:"永明",birth:"440年",death:"493年",age:"53岁",dynasty:"南朝齐"},{name:"萧昭业",title:"齐郁林王",reignStart:"493年",reignEnd:"494年",reignYears:1,eraName:"隆昌",birth:"473年",death:"494年",age:"21岁",dynasty:"南朝齐"},{name:"萧昭文",title:"齐海陵王",reignStart:"494年",reignEnd:"494年",reignYears:"4个月",eraName:"延兴",birth:"480年",death:"494年",age:"14岁",dynasty:"南朝齐"},{name:"萧鸾",title:"齐明帝",reignStart:"494年",reignEnd:"498年",reignYears:4,eraName:"建武",birth:"452年",death:"498年",age:"46岁",dynasty:"南朝齐"},{name:"萧宝卷",title:"齐东昏侯",reignStart:"498年",reignEnd:"501年",reignYears:3,eraName:"永元",birth:"483年",death:"501年",age:"18岁",dynasty:"南朝齐"},{name:"萧宝融",title:"齐和帝",reignStart:"501年",reignEnd:"502年",reignYears:1,eraName:"中兴",birth:"488年",death:"502年",age:"14岁",dynasty:"南朝齐"},{name:"萧衍",title:"梁武帝",reignStart:"502年",reignEnd:"549年",reignYears:47,eraName:"天监、普通、大通、中大通、大同、中大同、太清",birth:"464年",death:"549年",age:"85岁",dynasty:"南朝梁"},{name:"萧纲",title:"梁简文帝",reignStart:"549年",reignEnd:"551年",reignYears:2,eraName:"大宝",birth:"503年",death:"551年",age:"48岁",dynasty:"南朝梁"},{name:"萧栋",title:"梁豫章王",reignStart:"551年",reignEnd:"551年",reignYears:"3个月",eraName:"天正",birth:"536年",death:"551年",age:"15岁",dynasty:"南朝梁"},{name:"萧绎",title:"梁元帝",reignStart:"552年",reignEnd:"554年",reignYears:2,eraName:"承圣",birth:"508年",death:"554年",age:"46岁",dynasty:"南朝梁"},{name:"萧方智",title:"梁敬帝",reignStart:"555年",reignEnd:"557年",reignYears:2,eraName:"绍泰、太平",birth:"544年",death:"558年",age:"14岁",dynasty:"南朝梁"},{name:"陈霸先",title:"陈武帝",reignStart:"557年",reignEnd:"559年",reignYears:2,eraName:"永定",birth:"503年",death:"559年",age:"56岁",dynasty:"南朝陈"},{name:"陈蒨",title:"陈文帝",reignStart:"559年",reignEnd:"566年",reignYears:7,eraName:"天嘉、天康",birth:"522年",death:"566年",age:"44岁",dynasty:"南朝陈"},{name:"陈伯宗",title:"陈废帝",reignStart:"566年",reignEnd:"568年",reignYears:2,eraName:"光大",birth:"554年",death:"570年",age:"16岁",dynasty:"南朝陈"},{name:"陈顼",title:"陈宣帝",reignStart:"568年",reignEnd:"582年",reignYears:14,eraName:"太建",birth:"530年",death:"582年",age:"52岁",dynasty:"南朝陈"},{name:"陈叔宝",title:"陈后主",reignStart:"582年",reignEnd:"589年",reignYears:7,eraName:"至德、祯明",birth:"553年",death:"604年",age:"51岁",dynasty:"南朝陈"},{name:"拓跋珪",title:"北魏道武帝",reignStart:"386年",reignEnd:"409年",reignYears:23,eraName:"登国、皇始、天兴、天赐",birth:"371年",death:"409年",age:"38岁",dynasty:"北朝北魏"},{name:"拓跋嗣",title:"北魏明元帝",reignStart:"409年",reignEnd:"423年",reignYears:14,eraName:"永兴、神瑞、泰常",birth:"392年",death:"423年",age:"31岁",dynasty:"北朝北魏"},{name:"拓跋焘",title:"北魏太武帝",reignStart:"423年",reignEnd:"452年",reignYears:29,eraName:"始光、神䴥、延和、太延、太平真君、正平",birth:"408年",death:"452年",age:"44岁",dynasty:"北朝北魏"},{name:"拓跋余",title:"北魏南安王",reignStart:"452年",reignEnd:"452年",reignYears:"8个月",eraName:"永平",birth:"不详",death:"452年",age:"不详",dynasty:"北朝北魏"},{name:"拓跋濬",title:"北魏文成帝",reignStart:"452年",reignEnd:"465年",reignYears:13,eraName:"兴安、兴光、太安、和平",birth:"440年",death:"465年",age:"25岁",dynasty:"北朝北魏"},{name:"拓跋弘",title:"北魏献文帝",reignStart:"465年",reignEnd:"471年",reignYears:6,eraName:"天安、皇兴",birth:"454年",death:"476年",age:"22岁",dynasty:"北朝北魏"},{name:"元宏",title:"北魏孝文帝",reignStart:"471年",reignEnd:"499年",reignYears:28,eraName:"延兴、承明、太和",birth:"467年",death:"499年",age:"32岁",dynasty:"北朝北魏"},{name:"元恪",title:"北魏宣武帝",reignStart:"499年",reignEnd:"515年",reignYears:16,eraName:"景明、正始、永平、延昌",birth:"483年",death:"515年",age:"32岁",dynasty:"北朝北魏"},{name:"元诩",title:"北魏孝明帝",reignStart:"515年",reignEnd:"528年",reignYears:13,eraName:"熙平、神龟、正光、孝昌、武泰",birth:"510年",death:"528年",age:"18岁",dynasty:"北朝北魏"},{name:"元钊",title:"北魏幼主",reignStart:"528年",reignEnd:"528年",reignYears:"数月",eraName:"武泰",birth:"526年",death:"528年",age:"2岁",dynasty:"北朝北魏"},{name:"元子攸",title:"北魏孝庄帝",reignStart:"528年",reignEnd:"530年",reignYears:2,eraName:"建义、永安",birth:"507年",death:"530年",age:"23岁",dynasty:"北朝北魏"},{name:"元晔",title:"北魏节闵帝",reignStart:"531年",reignEnd:"531年",reignYears:"5个月",eraName:"建明",birth:"不详",death:"532年",age:"不详",dynasty:"北朝北魏"},{name:"元恭",title:"北魏安定王",reignStart:"531年",reignEnd:"532年",reignYears:1,eraName:"中兴",birth:"498年",death:"532年",age:"34岁",dynasty:"北朝北魏"},{name:"元修",title:"北魏孝武帝",reignStart:"532年",reignEnd:"534年",reignYears:2,eraName:"太昌、永兴、永熙",birth:"510年",death:"535年",age:"25岁",dynasty:"北朝北魏"}],achievements:["民族融合加速","佛教文化繁荣","科技文化发展","农业技术进步"]},{name:"隋朝",startYear:"581年",endYear:"618年",duration:37,capital:"大兴城(今陕西西安)",founder:"隋文帝杨坚",lastEmperor:"隋恭帝",period:"imperial",description:"结束了长期分裂局面,重新统一中国的朝代。隋朝建立了三省六部制,开凿了大运河,创立了科举制度,为唐朝的繁荣奠定了基础。\n\n隋朝由杨坚建立,他是北周的外戚,通过政治手段夺取了政权。隋文帝杨坚统一南北后,进行了一系列改革:政治上建立三省六部制,加强中央集权;经济上统一货币,兴修水利;文化上创立科举制度,打破门第限制。\n\n隋炀帝杨广继位后,开凿了贯通南北的大运河,这是中国古代最伟大的工程之一,对后世经济文化交流产生了深远影响。但杨广好大喜功,频繁征战,加重了人民负担,最终导致农民起义,隋朝灭亡。\n\n隋朝虽然只存在了37年,但其建立的政治制度和文化成就为唐朝的繁荣奠定了坚实基础。",emperors:[{name:"杨坚",title:"隋文帝",reignStart:"581年",reignEnd:"604年",reignYears:23,eraName:"开皇、仁寿",birth:"541年",death:"604年",age:"63岁"},{name:"杨广",title:"隋炀帝",reignStart:"604年",reignEnd:"618年",reignYears:14,eraName:"大业",birth:"569年",death:"618年",age:"49岁"},{name:"杨侑",title:"隋恭帝",reignStart:"617年",reignEnd:"618年",reignYears:1,eraName:"义宁",birth:"605年",death:"619年",age:"14岁"}],achievements:["重新统一中国","建立科举制度","开凿大运河","经济文化发展"]},{name:"唐朝",startYear:"618年",endYear:"907年",duration:289,capital:"长安(今陕西西安)",founder:"唐高祖李渊",lastEmperor:"唐哀帝",period:"imperial",description:'中国历史上最强盛的王朝之一,由唐高祖李渊建立。唐朝是中国古代最为辉煌的时期,政治开明,经济繁荣,文化昌盛,国际交流频繁,被誉为"盛唐"。\n\n唐朝前期出现了"贞观之治"和"开元盛世"等繁荣局面。唐太宗李世民励精图治,政治清明;唐玄宗时期国力达到鼎盛,疆域辽阔,文化繁荣。唐朝实行开放的对外政策,长安成为国际大都市,丝绸之路空前繁荣。\n\n唐朝是诗歌的黄金时代,涌现出李白、杜甫、白居易等伟大诗人。科举制度得到完善,促进了社会流动。佛教、道教都得到很大发展,对外文化交流频繁。\n\n唐朝后期由于安史之乱等内乱,国力衰落,藩镇割据严重,最终被朱温建立的后梁所取代。唐朝历时289年,是中国历史上最辉煌的朝代之一。',emperors:[{name:"李渊",title:"唐高祖",reignStart:"618年",reignEnd:"626年",reignYears:8,eraName:"武德",birth:"566年",death:"635年",age:"69岁"},{name:"李世民",title:"唐太宗",reignStart:"626年",reignEnd:"649年",reignYears:23,eraName:"贞观",birth:"598年",death:"649年",age:"51岁"},{name:"李治",title:"唐高宗",reignStart:"649年",reignEnd:"683年",reignYears:34,eraName:"永徽、显庆、龙朔、麟德、乾封、总章、咸亨、上元、仪凤、调露、永隆、开耀、永淳、弘道",birth:"628年",death:"683年",age:"55岁"},{name:"李显",title:"唐中宗",reignStart:"683年",reignEnd:"684年",reignYears:1,eraName:"嗣圣",birth:"656年",death:"710年",age:"54岁"},{name:"李旦",title:"唐睿宗",reignStart:"684年",reignEnd:"690年",reignYears:6,eraName:"文明、光宅、垂拱、永昌、载初",birth:"662年",death:"716年",age:"54岁"},{name:"武曌",title:"武周圣神皇帝",reignStart:"690年",reignEnd:"705年",reignYears:15,eraName:"天授、如意、长寿、延载、证圣、天册万岁、万岁登封、万岁通天、神功、圣历、久视、大足、长安",birth:"624年",death:"705年",age:"81岁"},{name:"李显",title:"唐中宗(复位)",reignStart:"705年",reignEnd:"710年",reignYears:5,eraName:"神龙、景龙",birth:"656年",death:"710年",age:"54岁"},{name:"李重茂",title:"唐殇帝",reignStart:"710年",reignEnd:"710年",reignYears:"1个月",eraName:"唐隆",birth:"695年",death:"714年",age:"19岁"},{name:"李旦",title:"唐睿宗(复位)",reignStart:"710年",reignEnd:"712年",reignYears:2,eraName:"景云、太极、延和",birth:"662年",death:"716年",age:"54岁"},{name:"李隆基",title:"唐玄宗",reignStart:"712年",reignEnd:"756年",reignYears:44,eraName:"先天、开元、天宝",birth:"685年",death:"762年",age:"77岁"},{name:"李亨",title:"唐肃宗",reignStart:"756年",reignEnd:"762年",reignYears:6,eraName:"至德、乾元、上元",birth:"711年",death:"762年",age:"51岁"},{name:"李豫",title:"唐代宗",reignStart:"762年",reignEnd:"779年",reignYears:17,eraName:"宝应、广德、永泰、大历",birth:"726年",death:"779年",age:"53岁"},{name:"李适",title:"唐德宗",reignStart:"779年",reignEnd:"805年",reignYears:26,eraName:"建中、兴元、贞元",birth:"742年",death:"805年",age:"63岁"},{name:"李诵",title:"唐顺宗",reignStart:"805年",reignEnd:"805年",reignYears:"8个月",eraName:"永贞",birth:"761年",death:"806年",age:"45岁"},{name:"李纯",title:"唐宪宗",reignStart:"805年",reignEnd:"820年",reignYears:15,eraName:"元和",birth:"778年",death:"820年",age:"42岁"},{name:"李恒",title:"唐穆宗",reignStart:"820年",reignEnd:"824年",reignYears:4,eraName:"长庆",birth:"795年",death:"824年",age:"29岁"},{name:"李湛",title:"唐敬宗",reignStart:"824年",reignEnd:"826年",reignYears:2,eraName:"宝历",birth:"809年",death:"826年",age:"17岁"},{name:"李昂",title:"唐文宗",reignStart:"826年",reignEnd:"840年",reignYears:14,eraName:"太和、开成",birth:"809年",death:"840年",age:"31岁"},{name:"李炎",title:"唐武宗",reignStart:"840年",reignEnd:"846年",reignYears:6,eraName:"会昌",birth:"814年",death:"846年",age:"32岁"},{name:"李忱",title:"唐宣宗",reignStart:"846年",reignEnd:"859年",reignYears:13,eraName:"大中",birth:"810年",death:"859年",age:"49岁"},{name:"李漼",title:"唐懿宗",reignStart:"859年",reignEnd:"873年",reignYears:14,eraName:"大中、咸通",birth:"833年",death:"873年",age:"40岁"},{name:"李儇",title:"唐僖宗",reignStart:"873年",reignEnd:"888年",reignYears:15,eraName:"咸通、乾符、广明、中和、光启、文德",birth:"862年",death:"888年",age:"26岁"},{name:"李晔",title:"唐昭宗",reignStart:"888年",reignEnd:"904年",reignYears:16,eraName:"龙纪、大顺、景福、乾宁、光化、天复、天祐",birth:"867年",death:"904年",age:"37岁"},{name:"李柷",title:"唐哀帝",reignStart:"904年",reignEnd:"907年",reignYears:3,eraName:"天祐",birth:"892年",death:"908年",age:"16岁"}],achievements:["贞观之治、开元盛世","科举制度的完善","诗歌文化的巅峰","国际交流的繁荣"]},{name:"五代十国",startYear:"907年",endYear:"979年",duration:72,capital:"开封/洛阳等",founder:"朱温等",lastEmperor:"柴宗训等",period:"imperial",description:"唐朝灭亡后中国历史上的大分裂时期,北方相继出现后梁、后唐、后晋、后汉、后周五个朝代,南方同时并立着十个割据政权。\n\n五代是指后梁、后唐、后晋、后汉、后周五个朝代,都建都于中原地区;十国是指前蜀、后蜀、吴、南唐、吴越、闽、楚、南汉、南平、北汉十个割据政权,主要分布在南方和山西。\n\n这一时期政权更迭频繁,战乱不断,但经济文化仍有发展。南方各国相对稳定,经济繁荣;北方虽然战乱频繁,但科技文化仍有进步,如活字印刷术的发明等。\n\n五代十国的分裂局面最终被宋朝统一,结束了72年的分裂状态。",emperors:[{name:"朱温",title:"后梁太祖",reignStart:"907年",reignEnd:"912年",reignYears:5,eraName:"开平、乾化",birth:"852年",death:"912年",age:"60岁",dynasty:"后梁"},{name:"朱友珪",title:"后梁郢王",reignStart:"912年",reignEnd:"913年",reignYears:1,eraName:"凤历",birth:"不详",death:"913年",age:"不详",dynasty:"后梁"},{name:"朱友贞",title:"后梁末帝",reignStart:"913年",reignEnd:"923年",reignYears:10,eraName:"乾化、贞明、龙德",birth:"888年",death:"923年",age:"35岁",dynasty:"后梁"},{name:"李存勖",title:"后唐庄宗",reignStart:"923年",reignEnd:"926年",reignYears:3,eraName:"同光",birth:"885年",death:"926年",age:"41岁",dynasty:"后唐"},{name:"李嗣源",title:"后唐明宗",reignStart:"926年",reignEnd:"933年",reignYears:7,eraName:"天成、长兴",birth:"867年",death:"933年",age:"66岁",dynasty:"后唐"},{name:"李从厚",title:"后唐闵帝",reignStart:"933年",reignEnd:"934年",reignYears:1,eraName:"应顺",birth:"914年",death:"934年",age:"20岁",dynasty:"后唐"},{name:"李从珂",title:"后唐末帝",reignStart:"934年",reignEnd:"936年",reignYears:2,eraName:"清泰",birth:"885年",death:"936年",age:"51岁",dynasty:"后唐"},{name:"石敬瑭",title:"后晋高祖",reignStart:"936年",reignEnd:"942年",reignYears:6,eraName:"天福",birth:"892年",death:"942年",age:"50岁",dynasty:"后晋"},{name:"石重贵",title:"后晋出帝",reignStart:"942年",reignEnd:"947年",reignYears:5,eraName:"天福、开运",birth:"914年",death:"974年",age:"60岁",dynasty:"后晋"},{name:"刘知远",title:"后汉高祖",reignStart:"947年",reignEnd:"948年",reignYears:1,eraName:"天福、乾祐",birth:"895年",death:"948年",age:"53岁",dynasty:"后汉"},{name:"刘承祐",title:"后汉隐帝",reignStart:"948年",reignEnd:"951年",reignYears:3,eraName:"乾祐",birth:"930年",death:"951年",age:"21岁",dynasty:"后汉"},{name:"郭威",title:"后周太祖",reignStart:"951年",reignEnd:"954年",reignYears:3,eraName:"广顺、显德",birth:"904年",death:"954年",age:"50岁",dynasty:"后周"},{name:"柴荣",title:"后周世宗",reignStart:"954年",reignEnd:"959年",reignYears:5,eraName:"显德",birth:"921年",death:"959年",age:"38岁",dynasty:"后周"},{name:"柴宗训",title:"后周恭帝",reignStart:"959年",reignEnd:"960年",reignYears:1,eraName:"显德",birth:"953年",death:"973年",age:"20岁",dynasty:"后周"}],achievements:["保持文化传承","经济局部发展","科技继续进步","为宋朝统一奠基"]},{name:"北宋",startYear:"960年",endYear:"1127年",duration:167,capital:"开封(今河南开封)",founder:"宋太祖赵匡胤",lastEmperor:"宋钦宗",period:"imperial",description:'中国历史上经济文化高度发达的朝代,由宋太祖赵匡胤通过"陈桥兵变"建立。北宋结束了五代十国的分裂局面,基本统一了中国,开创了中国古代科技文化的黄金时代。\n\n北宋实行重文轻武的政策,科举制度得到完善,文化教育繁荣。这一时期出现了四大发明中的三项:活字印刷术、火药、指南针。经济高度发达,商业繁荣,出现了世界上最早的纸币"交子"。\n\n北宋在哲学思想方面形成了理学,以程颢、程颐、朱熹为代表;文学艺术方面出现了苏轼、欧阳修、王安石等文学巨匠;科技方面有沈括的《梦溪笔谈》等重要著作。\n\n北宋后期由于冗官、冗兵、冗费等问题,国力衰弱,最终在靖康之变中被金国所灭。',emperors:[{name:"赵匡胤",title:"宋太祖",reignStart:"960年",reignEnd:"976年",reignYears:16,eraName:"建隆、乾德、开宝",birth:"927年",death:"976年",age:"49岁"},{name:"赵光义",title:"宋太宗",reignStart:"976年",reignEnd:"997年",reignYears:21,eraName:"太平兴国、雍熙、端拱、淳化、至道",birth:"939年",death:"997年",age:"58岁"},{name:"赵恒",title:"宋真宗",reignStart:"997年",reignEnd:"1022年",reignYears:25,eraName:"咸平、景德、大中祥符、天禧、乾兴",birth:"968年",death:"1022年",age:"54岁"},{name:"赵祯",title:"宋仁宗",reignStart:"1022年",reignEnd:"1063年",reignYears:41,eraName:"天圣、明道、景祐、宝元、康定、庆历、皇祐、至和、嘉祐",birth:"1010年",death:"1063年",age:"53岁"},{name:"赵曙",title:"宋英宗",reignStart:"1063年",reignEnd:"1067年",reignYears:4,eraName:"治平",birth:"1032年",death:"1067年",age:"35岁"},{name:"赵顼",title:"宋神宗",reignStart:"1067年",reignEnd:"1085年",reignYears:18,eraName:"熙宁、元丰",birth:"1048年",death:"1085年",age:"37岁"},{name:"赵煦",title:"宋哲宗",reignStart:"1085年",reignEnd:"1100年",reignYears:15,eraName:"元祐、绍圣、元符",birth:"1076年",death:"1100年",age:"24岁"},{name:"赵佶",title:"宋徽宗",reignStart:"1100年",reignEnd:"1125年",reignYears:25,eraName:"建中靖国、崇宁、大观、政和、重和、宣和",birth:"1082年",death:"1135年",age:"53岁"},{name:"赵桓",title:"宋钦宗",reignStart:"1125年",reignEnd:"1127年",reignYears:2,eraName:"靖康",birth:"1100年",death:"1156年",age:"56岁"}],achievements:["四大发明中的三项(印刷术、火药、指南针)","经济的高度发展","理学的兴起","文学艺术的繁荣"]},{name:"南宋",startYear:"1127年",endYear:"1279年",duration:152,capital:"临安(今浙江杭州)",founder:"宋高宗",lastEmperor:"宋末帝",period:"imperial",description:"北宋灭亡后,宋室南迁建立的政权,由宋高宗赵构建立,定都临安(今杭州)。南宋偏安江南,与北方的金国、后来的蒙古(元)长期对峙,虽然军事相对薄弱,但经济文化依然发达。\n\n南宋时期,江南经济进一步发展,成为全国的经济重心,农业、手工业、商业都很繁荣,海外贸易兴盛,泉州成为世界性的大港口。理学思想在南宋时期达到成熟,朱熹集理学之大成,对后世影响深远。\n\n南宋的科技文化成就依然辉煌,出现了《梦溪笔谈》、《本草纲目》等重要著作,指南针、火药等技术进一步完善并传播到世界各地。文学方面,词的创作达到新的高峰,辛弃疾、李清照等词人留下了不朽名作。\n\n南宋后期面临蒙古的强大压力,虽有岳飞、文天祥等忠臣良将奋力抵抗,但最终不敌蒙古铁骑,在崖山海战后彻底灭亡。南宋历时152年,在中华文明史上占有重要地位,共有9位皇帝。",emperors:[{name:"赵构",title:"宋高宗",reignStart:"1127年",reignEnd:"1162年",reignYears:35,eraName:"建炎、绍兴",birth:"1107年",death:"1187年",age:"80岁"},{name:"赵昚(Shèn)",title:"宋孝宗",reignStart:"1162年",reignEnd:"1189年",reignYears:27,eraName:"隆兴、乾道、淳熙",birth:"1127年",death:"1194年",age:"67岁"},{name:"赵惇(Dūn)",title:"宋光宗",reignStart:"1189年",reignEnd:"1194年",reignYears:5,eraName:"绍熙",birth:"1147年",death:"1200年",age:"53岁"},{name:"赵扩(Kuò)",title:"宋宁宗",reignStart:"1194年",reignEnd:"1224年",reignYears:30,eraName:"庆元、嘉泰、开禧、嘉定",birth:"1168年",death:"1224年",age:"56岁"},{name:"赵昀(Yún)",title:"宋理宗",reignStart:"1224年",reignEnd:"1264年",reignYears:40,eraName:"宝庆、绍定、端平、嘉熙、淳祐、宝祐、开庆、景定",birth:"1205年",death:"1264年",age:"59岁"},{name:"赵禥(Qí)",title:"宋度宗",reignStart:"1264年",reignEnd:"1274年",reignYears:10,eraName:"咸淳",birth:"1240年",death:"1274年",age:"34岁"},{name:"赵显",title:"宋恭帝",reignStart:"1274年",reignEnd:"1276年",reignYears:2,eraName:"德祐",birth:"1271年",death:"1323年",age:"52岁"},{name:"赵昰(Shì)",title:"宋端宗",reignStart:"1276年",reignEnd:"1278年",reignYears:2,eraName:"景炎",birth:"1272年",death:"1278年",age:"6岁"},{name:"赵昺(Bǐng)",title:"宋末帝",reignStart:"1278年",reignEnd:"1279年",reignYears:1,eraName:"祥兴",birth:"1278年",death:"1279年",age:"1岁"}],achievements:["理学思想成熟","商业经济发达","科技文化繁荣","海外贸易兴盛"]},{name:"元朝",startYear:"1271年",endYear:"1368年",duration:97,capital:"大都(今北京)",founder:"元世祖忽必烈",lastEmperor:"元顺帝",period:"imperial",description:"中国历史上第一个由少数民族建立的大一统王朝,由蒙古族建立。元朝是蒙古帝国的一部分,疆域辽阔,东起朝鲜半岛,西达东欧,南至东南亚,北抵西伯利亚,是世界历史上疆域最大的帝国之一。\n\n元朝在政治上建立了行省制度,这一制度对后世影响深远,至今仍是中国行政区划的基础。元朝实行民族等级制度,将人民分为蒙古人、色目人、汉人、南人四个等级。在文化上,元朝促进了中外文化交流,马可·波罗等外国人来华,中国的科技文化也传播到世界各地。\n\n元朝时期科技文化继续发展,出现了《农桑辑要》等农学著作,天文学、数学、医学都有重要成就。文学方面,元曲兴起,关汉卿、马致远等戏曲家创作了大量优秀作品。元朝还修建了大运河,促进了南北交通。\n\n元朝后期由于统治腐败,民族矛盾尖锐,加上自然灾害频繁,最终爆发了红巾军起义,朱元璋建立明朝,推翻了元朝统治。元朝历时97年,在中华文明史上具有重要地位,共有11位皇帝。",emperors:[{name:"忽必烈",title:"元世祖",reignStart:"1260年",reignEnd:"1294年",reignYears:34,eraName:"中统、至元",birth:"1215年",death:"1294年",age:"79岁"},{name:"铁穆耳",title:"元成宗",reignStart:"1294年",reignEnd:"1307年",reignYears:13,eraName:"元贞、大德",birth:"1265年",death:"1307年",age:"42岁"},{name:"海山",title:"元武宗",reignStart:"1307年",reignEnd:"1311年",reignYears:4,eraName:"至大",birth:"1281年",death:"1311年",age:"30岁"},{name:"爱育黎拔力八达",title:"元仁宗",reignStart:"1311年",reignEnd:"1320年",reignYears:9,eraName:"皇庆、延祐",birth:"1285年",death:"1320年",age:"35岁"},{name:"硕德八剌(Lá)",title:"元英宗",reignStart:"1320年",reignEnd:"1323年",reignYears:3,eraName:"至治",birth:"1303年",death:"1323年",age:"20岁"},{name:"也孙铁木儿",title:"元泰定帝",reignStart:"1323年",reignEnd:"1328年",reignYears:5,eraName:"泰定、致和",birth:"1293年",death:"1328年",age:"35岁"},{name:"阿速吉八",title:"元天顺帝",reignStart:"1328年",reignEnd:"1328年",reignYears:1,eraName:"天顺",birth:"1320年",death:"1328年",age:"8岁"},{name:"图帖睦尔",title:"元文宗",reignStart:"1328年",reignEnd:"1332年",reignYears:4,eraName:"天历、至顺",birth:"1304年",death:"1332年",age:"28岁"},{name:"懿璘(Lín)质班",title:"元明宗",reignStart:"1329年",reignEnd:"1329年",reignYears:1,eraName:"天历",birth:"1326年",death:"1329年",age:"3岁"},{name:"宁宗",title:"元宁宗",reignStart:"1332年",reignEnd:"1332年",reignYears:1,eraName:"至顺",birth:"1326年",death:"1332年",age:"6岁"},{name:"妥懽(Huān)帖睦尔",title:"元顺帝",reignStart:"1333年",reignEnd:"1368年",reignYears:35,eraName:"元统、至元、至正",birth:"1320年",death:"1370年",age:"50岁"}],achievements:["建立行省制度","促进中外文化交流","发展农业和手工业","统一度量衡和货币"]},{name:"明朝",startYear:"1368年",endYear:"1644年",duration:276,capital:"南京/北京(今江苏南京/北京)",founder:"明太祖朱元璋",lastEmperor:"崇祯帝",period:"imperial",description:"中国历史上最后一个由汉族建立的大一统王朝,由明太祖朱元璋建立。明朝推翻了元朝的统治,恢复了汉族政权,在政治、经济、文化等方面都取得了重要成就。\n\n明朝的建立:元末,朱元璋起义于濠州,逐步统一南方,建立明朝。1368年,朱元璋定都南京,建立了明朝政权。随后,明朝继续北伐,消灭了元朝残余势力,完成了全国统一。\n\n明朝的鼎盛:明朝前期国力强盛,明成祖朱棣迁都北京,修建了紫禁城,派遣郑和七下西洋,展现了中华文明的辉煌。明朝建立了完善的科举制度,编纂了《永乐大典》等重要典籍,小说、戏曲等文学形式达到新的高峰,出现了《西游记》、《水浒传》、《三国演义》、《红楼梦》等四大名著中的三部。明朝的手工业和商业发达,出现了资本主义萌芽,农业技术也有很大发展。\n\n明朝的衰落:明朝后期由于政治腐败、宦官专权、自然灾害频繁、外敌入侵等多重因素,国力衰落。李自成农民起义最终攻陷北京,崇祯帝自缢身亡,明朝灭亡。随后满族入关,建立清朝。\n\n明朝历时276年,在中华文明史上占有重要地位,共有17位皇帝。",emperors:[{name:"朱元璋",title:"明太祖",reignStart:"1368年",reignEnd:"1398年",reignYears:30,eraName:"洪武",birth:"1328年",death:"1398年",age:"70岁"},{name:"朱允炆",title:"明惠帝",reignStart:"1398年",reignEnd:"1402年",reignYears:4,eraName:"建文",birth:"1377年",death:"1402年",age:"25岁"},{name:"朱棣",title:"明成祖",reignStart:"1402年",reignEnd:"1424年",reignYears:22,eraName:"永乐",birth:"1360年",death:"1424年",age:"64岁"},{name:"朱高炽",title:"明仁宗",reignStart:"1424年",reignEnd:"1425年",reignYears:1,eraName:"洪熙",birth:"1378年",death:"1425年",age:"47岁"},{name:"朱瞻基",title:"明宣宗",reignStart:"1425年",reignEnd:"1435年",reignYears:10,eraName:"宣德",birth:"1399年",death:"1435年",age:"36岁"},{name:"朱祁镇",title:"明英宗",reignStart:"1435年",reignEnd:"1449年",reignYears:14,eraName:"正统",birth:"1427年",death:"1464年",age:"37岁"},{name:"朱祁钰",title:"明代宗",reignStart:"1449年",reignEnd:"1457年",reignYears:8,eraName:"景泰",birth:"1428年",death:"1457年",age:"29岁"},{name:"朱祁镇",title:"明英宗(复辟)",reignStart:"1457年",reignEnd:"1464年",reignYears:7,eraName:"天顺",birth:"1427年",death:"1464年",age:"37岁"},{name:"朱见深",title:"明宪宗",reignStart:"1464年",reignEnd:"1487年",reignYears:23,eraName:"成化",birth:"1447年",death:"1487年",age:"40岁"},{name:"朱祐樘",title:"明孝宗",reignStart:"1487年",reignEnd:"1505年",reignYears:18,eraName:"弘治",birth:"1470年",death:"1505年",age:"35岁"},{name:"朱厚照",title:"明武宗",reignStart:"1505年",reignEnd:"1521年",reignYears:16,eraName:"正德",birth:"1491年",death:"1521年",age:"30岁"},{name:"朱厚熜(Cōng)",title:"明世宗",reignStart:"1521年",reignEnd:"1567年",reignYears:46,eraName:"嘉靖",birth:"1507年",death:"1567年",age:"60岁"},{name:"朱载垕(Hòu)",title:"明穆宗",reignStart:"1567年",reignEnd:"1572年",reignYears:5,eraName:"隆庆",birth:"1537年",death:"1572年",age:"35岁"},{name:"朱翊钧",title:"明神宗",reignStart:"1572年",reignEnd:"1620年",reignYears:48,eraName:"万历",birth:"1563年",death:"1620年",age:"57岁"},{name:"朱常洛",title:"明光宗",reignStart:"1620年",reignEnd:"1620年",reignYears:"29天",eraName:"泰昌",birth:"1582年",death:"1620年",age:"38岁"},{name:"朱由校",title:"明熹宗",reignStart:"1620年",reignEnd:"1627年",reignYears:7,eraName:"天启",birth:"1605年",death:"1627年",age:"22岁"},{name:"朱由检",title:"明思宗",reignStart:"1627年",reignEnd:"1644年",reignYears:17,eraName:"崇祯",birth:"1611年",death:"1644年",age:"33岁"}],achievements:["郑和七下西洋","修建紫禁城","编纂《永乐大典》","发展农业和手工业"]},{name:"清朝",startYear:"1636年",endYear:"1912年",duration:276,capital:"北京(今北京)",founder:"清太宗皇太极",lastEmperor:"溥仪",period:"imperial",description:'中国历史上最后一个封建王朝,由满族建立。清朝是中国历史上疆域最辽阔、人口最多的朝代之一,经历了从兴盛到衰落的完整历程,最终被辛亥革命推翻。\n\n清朝的兴起:1616年努尔哈赤建立后金,1636年皇太极改国号为清。1644年李自成攻陷北京,明朝灭亡,清军入关,逐步统一全国,建立了对中国的统治。\n\n清朝的鼎盛:清朝前期出现了"康乾盛世",国力强盛,疆域辽阔,东起库页岛,西至葱岭,南达南海诸岛,北抵外兴安岭,总面积达1300多万平方公里。清朝统一了台湾,平定了准噶尔叛乱,加强了对西藏、新疆的管理,巩固了多民族国家的统一。在文化上编纂了《四库全书》等重要典籍,人口从明末的6000万增长到清末的4亿多。\n\n清朝的衰落:清朝后期由于闭关锁国政策,错失了工业革命的机遇,在鸦片战争后逐渐沦为半殖民地半封建社会。虽然进行了洋务运动、戊戌变法等改革尝试,但最终无法挽回颓势。1911年辛亥革命爆发,1912年宣统帝退位,清朝灭亡。\n\n清朝历时276年,是中国封建社会的最后一个朝代,共有12位皇帝。',emperors:[{name:"爱新觉罗·努尔哈赤",title:"清太祖",reignStart:"1616年",reignEnd:"1626年",reignYears:10,eraName:"天命",birth:"1559年",death:"1626年",age:"68岁"},{name:"爱新觉罗·皇太极",title:"清太宗",reignStart:"1626年",reignEnd:"1643年",reignYears:17,eraName:"天聪、崇德",birth:"1592年",death:"1643年",age:"52岁"},{name:"爱新觉罗·福临",title:"清世祖",reignStart:"1644年",reignEnd:"1661年",reignYears:17,eraName:"顺治",birth:"1638年",death:"1661年",age:"24岁"},{name:"爱新觉罗·玄烨",title:"清圣祖",reignStart:"1661年",reignEnd:"1722年",reignYears:61,eraName:"康熙",birth:"1654年",death:"1722年",age:"69岁"},{name:"爱新觉罗·胤禛(Yìn Zhēn)",title:"清世宗",reignStart:"1722年",reignEnd:"1735年",reignYears:13,eraName:"雍正",birth:"1678年",death:"1735年",age:"58岁"},{name:"爱新觉罗·弘历",title:"清高宗",reignStart:"1735年",reignEnd:"1796年",reignYears:61,eraName:"乾隆",birth:"1711年",death:"1799年",age:"89岁"},{name:"爱新觉罗·颙琰(Yóng Yǎn)",title:"清仁宗",reignStart:"1796年",reignEnd:"1820年",reignYears:24,eraName:"嘉庆",birth:"1760年",death:"1820年",age:"61岁"},{name:"爱新觉罗·旻(Mín)宁",title:"清宣宗",reignStart:"1820年",reignEnd:"1850年",reignYears:30,eraName:"道光",birth:"1782年",death:"1850年",age:"69岁"},{name:"爱新觉罗·奕詝(Zhǔ)",title:"清文宗",reignStart:"1850年",reignEnd:"1861年",reignYears:11,eraName:"咸丰",birth:"1831年",death:"1861年",age:"31岁"},{name:"爱新觉罗·载淳(chún)",title:"清穆宗",reignStart:"1861年",reignEnd:"1875年",reignYears:14,eraName:"同治",birth:"1856年",death:"1875年",age:"19岁"},{name:"爱新觉罗·载湉(Tián)",title:"清德宗",reignStart:"1875年",reignEnd:"1908年",reignYears:33,eraName:"光绪",birth:"1871年",death:"1908年",age:"38岁"},{name:"爱新觉罗·溥仪",title:"清末帝",reignStart:"1908年",reignEnd:"1912年",reignYears:4,eraName:"宣统",birth:"1906年",death:"1967年",age:"61岁"}],achievements:["康乾盛世,疆域辽阔","人口大幅增长","《四库全书》的编纂","统一台湾"]},{name:"中华民国",startYear:"1912年",endYear:"1949年",duration:37,capital:"南京(今江苏南京)",founder:"孙中山",lastEmperor:"蒋介石",period:"modern",description:"中国历史上第一个共和政府,由孙中山领导的辛亥革命推翻清朝建立。中华民国的建立结束了中国两千多年的封建帝制,开创了共和政治的新纪元。\n\n中华民国初期政局动荡,经历了袁世凯称帝、军阀混战等政治危机。1928年国民政府完成北伐,基本统一全国,开始进行现代化建设。这一时期在政治上建立了三民主义的政治体系,在经济上发展民族工业,在文化上推行新文化运动,促进了思想解放。\n\n抗日战争时期(1937-1945年),中华民国政府领导全国人民进行了艰苦卓绝的抗战,最终取得胜利,成为联合国创始会员国之一。战后由于内战爆发,国民政府最终迁至台湾地区继续存在。\n\n中华民国在大陆时期虽然只有37年,但推翻了封建制度,建立了共和政体,为中国的现代化进程奠定了重要基础,共有多位领导人。",emperors:[{name:"孙中山",title:"临时大总统",reignStart:"1912年",reignEnd:"1912年",reignYears:1,eraName:"中华民国元年",birth:"1866年",death:"1925年",age:"59岁"},{name:"袁世凯",title:"大总统",reignStart:"1912年",reignEnd:"1916年",reignYears:4,eraName:"民国",birth:"1859年",death:"1916年",age:"57岁"},{name:"蒋介石",title:"国民政府主席",reignStart:"1928年",reignEnd:"1949年",reignYears:21,eraName:"民国",birth:"1887年",death:"1975年",age:"88岁"}],achievements:["建立共和政体","推翻封建制度","抗日战争胜利","现代化建设起步"]}]),c=is(()=>{let e=l.value;if("all"!==n.value&&(e=e.filter(e=>e.period===n.value)),a.value){const t=a.value.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.founder.toLowerCase().includes(t)||e.capital.toLowerCase().includes(t)||e.startYear.includes(t)||e.endYear.includes(t)||e.description.toLowerCase().includes(t))}return e}),u=()=>{const e=i.find(e=>e.key===n.value);return e?`${e.name}朝代`:"历史朝代"},d=()=>{r.value=null,Zt(()=>{s.value&&h(s.value)})},h=e=>{const t=document.querySelector(`[data-dynasty="${e}"]`);t&&(t.scrollIntoView({behavior:"smooth",block:"center"}),t.classList.add("highlight"),setTimeout(()=>{t.classList.remove("highlight")},2e3))};return(e,i)=>(Cr(),Tr("div",k4,[Or(hl,{title:Pt(t),onBack:i[0]||(i[0]=t=>e.$emit("back"))},null,8,["title"]),Mr("div",_4,[r.value?Rr("",!0):(Cr(),Sr(FX,{key:0,searchQuery:a.value,"onUpdate:searchQuery":i[1]||(i[1]=e=>a.value=e),placeholder:"搜索朝代名称、皇帝姓名...",filters:o.value,activeFilter:n.value,"onUpdate:activeFilter":i[2]||(i[2]=e=>n.value=e)},null,8,["searchQuery","filters","activeFilter"])),r.value?Rr("",!0):(Cr(),Tr("div",E4,[Mr("div",C4,[Mr("h3",null,se(u()),1),Mr("div",F4,[Mr("span",D4,"共 "+se(c.value.length)+" 个朝代",1)])]),Mr("div",A4,[Mr("div",T4,[(Cr(!0),Tr(br,null,yn(c.value,e=>(Cr(),Tr("div",{key:e.name,class:"timeline-item","data-dynasty":e.name,onClick:t=>(e=>{r.value=e,s.value=e.name})(e)},[i[3]||(i[3]=Mr("div",{class:"timeline-marker"},[Mr("div",{class:"timeline-dot",style:{backgroundColor:"#dc2626"}}),Mr("div",{class:"timeline-line"})],-1)),Mr("div",I4,[Mr("div",P4,[Mr("div",N4,[Mr("div",B4,[Mr("h4",M4,se(e.name),1)]),Mr("div",O4,[Mr("span",U4,se(e.startYear)+" - "+se(e.endYear),1),Mr("span",j4,se(e.duration)+"年",1)]),Mr("div",L4,[Mr("span",R4,"都城:"+se(e.capital),1),Mr("span",z4,"皇帝:"+se(e.emperors?.length||0)+"位",1)]),Mr("div",H4," 开国:"+se(e.founder)+" → 末代:"+se(e.lastEmperor),1)]),Mr("div",Y4,se(e.description.substring(0,80))+"... ",1)])])],8,S4))),128))])])])),r.value?(Cr(),Tr("div",$4,[Mr("div",G4,[Mr("button",{class:"back-detail-btn",onClick:d},[...i[4]||(i[4]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1),jr(" 返回列表 ",-1)])]),Mr("h3",null,se(r.value.name)+"详情",1)]),Mr("div",W4,[Mr("div",V4,[Mr("div",K4,[i[13]||(i[13]=Mr("h4",null,"基本信息",-1)),Mr("div",J4,[i[5]||(i[5]=Mr("span",{class:"label"},"朝代名称:",-1)),Mr("span",q4,se(r.value.name),1)]),Mr("div",Z4,[i[6]||(i[6]=Mr("span",{class:"label"},"起始年份:",-1)),Mr("span",X4,se(r.value.startYear),1)]),Mr("div",Q4,[i[7]||(i[7]=Mr("span",{class:"label"},"结束年份:",-1)),Mr("span",e6,se(r.value.endYear),1)]),Mr("div",t6,[i[8]||(i[8]=Mr("span",{class:"label"},"历时年数:",-1)),Mr("span",a6,se(r.value.duration)+" 年",1)]),Mr("div",n6,[i[9]||(i[9]=Mr("span",{class:"label"},"都城:",-1)),Mr("span",r6,se(r.value.capital),1)]),Mr("div",s6,[i[10]||(i[10]=Mr("span",{class:"label"},"开国皇帝:",-1)),Mr("span",i6,se(r.value.founder),1)]),Mr("div",o6,[i[11]||(i[11]=Mr("span",{class:"label"},"末代皇帝:",-1)),Mr("span",l6,se(r.value.lastEmperor),1)]),r.value.achievements?(Cr(),Tr("div",c6,[i[12]||(i[12]=Mr("h5",null,"主要成就",-1)),Mr("ul",u6,[(Cr(!0),Tr(br,null,yn(r.value.achievements,e=>(Cr(),Tr("li",{key:e},se(e),1))),128))])])):Rr("",!0)]),Mr("div",d6,[i[14]||(i[14]=Mr("h4",null,"历史概述",-1)),Mr("p",h6,se(r.value.description),1)])]),Mr("div",p6,[i[16]||(i[16]=Mr("h4",null,"历代皇帝",-1)),Mr("div",f6,[Mr("table",m6,[i[15]||(i[15]=Mr("thead",null,[Mr("tr",null,[Mr("th",null,"序号"),Mr("th",null,"庙号/谥号"),Mr("th",null,"年号"),Mr("th",null,"姓名"),Mr("th",null,"在位时间"),Mr("th",null,"在位年数"),Mr("th",null,"生卒年份"),Mr("th",null,"享年")])],-1)),Mr("tbody",null,[(Cr(!0),Tr(br,null,yn(r.value.emperors||[],(e,t)=>(Cr(),Tr("tr",{key:e.name},[Mr("td",g6,se(t+1),1),Mr("td",y6,se(e.title),1),Mr("td",v6,se(e.eraName||"-"),1),Mr("td",b6,se(e.name),1),Mr("td",w6,se(e.reignStart)+" - "+se(e.reignEnd),1),Mr("td",x6,se("number"==typeof e.reignYears?e.reignYears+"年":e.reignYears),1),Mr("td",k6,["不详"===e.birth||"不详"===e.death?(Cr(),Tr("span",_6,"不详")):e.birth&&e.death?(Cr(),Tr("span",E6,se(e.birth)+" - "+se(e.death),1)):(Cr(),Tr("span",C6,"-"))]),Mr("td",F6,["不详"===e.age?(Cr(),Tr("span",D6,"不详")):e.age?(Cr(),Tr("span",A6,se(e.age),1)):(Cr(),Tr("span",T6,"-"))])]))),128))])])])])])])):Rr("",!0)]),Or(PX,{container:".dynasty-content"})]))}}),[["__scopeId","data-v-06a5dc0c"]]),I6={class:"uuid-generator"},P6={class:"formatter-actions"},N6={class:"generator-content"},B6={class:"generator-section"},M6={class:"uuid-container"},O6={class:"uuid-controls"},U6={class:"control-group"},j6={class:"control-group"},L6={class:"quantity-controls"},R6={class:"quantity-buttons"},z6={class:"control-group"},H6={class:"format-options"},Y6={class:"checkbox-label"},$6={class:"checkbox-label"},G6={class:"checkbox-label"},W6={class:"uuid-results"},V6={class:"results-header"},K6={class:"count-info"},J6={key:0,class:"empty-state"},q6={key:1,class:"uuid-list"},Z6={class:"uuid-index"},X6={class:"uuid-value"},Q6=["onClick"],e8={class:"generator-section"},t8={class:"uuid-validator"},a8={class:"validator-input"},n8={key:0,class:"validation-result"},r8={class:"validation-header"},s8={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},i8={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},o8={class:"validation-details"},l8={class:"detail-item"},c8={class:"detail-value"},u8={key:0,class:"detail-item"},d8={class:"detail-value"},h8={key:1,class:"detail-item"},p8={class:"detail-value"},f8={key:2,class:"detail-item"},m8={class:"detail-value"},g8={class:"generator-section"},y8={class:"uuid-info"},v8={class:"info-grid"},b8={class:"info-header"},w8={class:"info-description"},x8={class:"info-features"},k8={class:"feature-item"},_8={class:"feature-item"},E8={class:"feature-item"},C8={class:"feature-value"},F8=Wi(Ya({__name:"UuidGenerator",emits:["back"],setup(e){il("uuid-generator");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("uuid-generator"),{success:a,error:n}=Vo(),r=St("v4"),s=St(10),i=St([]),o=St(""),l=St(null),c=St({uppercase:!1,withHyphens:!0,withBraces:!1}),u=[{version:"UUID v1",description:"基于时间戳和MAC地址生成,保证时间顺序性,但可能泄露MAC地址信息。",status:"legacy",statusText:"传统",uniqueness:"high",uniquenessText:"高",performance:"medium",performanceText:"中",usage:"需要时间顺序的场景"},{version:"UUID v4",description:"基于随机数生成,最常用的版本,提供良好的唯一性和隐私保护。",status:"recommended",statusText:"推荐",uniqueness:"very-high",uniquenessText:"很高",performance:"high",performanceText:"高",usage:"通用场景、数据库主键"},{version:"UUID v7",description:"基于时间戳和随机数,结合了v1的时间顺序性和v4的随机性,是最新标准。",status:"modern",statusText:"现代",uniqueness:"very-high",uniquenessText:"很高",performance:"high",performanceText:"高",usage:"现代应用、分布式系统"}],d=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),h=()=>{const e=Date.now().toString(16).padStart(12,"0"),t=Math.floor(16384*Math.random()),a=Array.from({length:6},()=>Math.floor(256*Math.random()).toString(16).padStart(2,"0")).join("");return`${e.slice(-8)}-${e.slice(-12,-8)}-${"1"+e.slice(-15,-12).padStart(3,"0")}-${(32768|t).toString(16)}-${a}`},p=()=>{const e=Date.now().toString(16).padStart(12,"0"),t=Math.floor(4096*Math.random()).toString(16).padStart(3,"0"),a=Math.floor(0x40000000000000*Math.random()).toString(16).padStart(14,"0");return`${e.slice(0,8)}-${e.slice(8)}-7${t}-${(8|parseInt(a.slice(0,1),16)).toString(16)}${a.slice(1,4)}-${a.slice(4)}`},f=e=>{let t=e;return c.value.withHyphens||(t=t.replace(/-/g,"")),t=c.value.uppercase?t.toUpperCase():t.toLowerCase(),c.value.withBraces&&(t=`{${t}}`),t},m=()=>{const e=[];for(let t=0;t{s.value=e},y=()=>{if(i.value.length>0){const e=i.value.map(e=>{let t=e.replace(/[{}]/g,"");return 32===t.length&&(t=`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`),t});i.value=e.map(e=>f(e))}},v=async()=>{if(0!==i.value.length)try{const e=JSON.stringify(i.value,null,2);await navigator.clipboard.writeText(e),a(`已复制 ${i.value.length} 个UUID为JSON格式`)}catch(e){n("复制失败")}},b=async()=>{if(0!==i.value.length)try{const e=i.value.join("\n");await navigator.clipboard.writeText(e),a(`已复制 ${i.value.length} 个UUID`)}catch(e){n("复制失败")}},w=()=>{if(0===i.value.length)return;const e=["UUID生成结果",`版本: ${r.value.toUpperCase()}`,`数量: ${i.value.length}`,`生成时间: ${(new Date).toLocaleString()}`,`格式选项: ${c.value.uppercase?"大写":"小写"}, ${c.value.withHyphens?"包含连字符":"无连字符"}, ${c.value.withBraces?"包含大括号":"无大括号"}`,"",...i.value.map((e,t)=>`${t+1}. ${e}`)].join("\n"),t=(new Date).toISOString().slice(0,19).replace(/:/g,"-"),n=new Blob([e],{type:"text/plain"}),s=URL.createObjectURL(n),o=document.createElement("a");o.href=s,o.download=`uuids-${r.value}-${t}.txt`,o.click(),URL.revokeObjectURL(s),a("UUID列表已导出")},x=()=>{const e=o.value.trim();if(!e)return void(l.value=null);const t=e.replace(/[{}\s]/g,"");let a,n,r,s=!1,i="无效格式";if(/^[0-9a-f]{8}-?[0-9a-f]{4}-?[1-7][0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$/i.test(t)||/^[0-9a-f]{32}$/i.test(t)){s=!0,i=t.includes("-")?"标准格式":"紧凑格式";const e=t.replace(/-/g,"")[12];switch(e){case"1":a="UUID v1 (时间戳)";break;case"4":a="UUID v4 (随机)";break;case"7":a="UUID v7 (时间戳+随机)";break;default:a=`UUID v${e} (其他版本)`}const o=t.replace(/-/g,"")[16];if(o){n=8&~parseInt(o,16)?"其他变体":"RFC 4122"}if("1"===e||"7"===e)try{if("7"===e){const e=t.replace(/-/g,"").slice(0,12),a=parseInt(e,16);r=new Date(a).toLocaleString()}}catch(c){}}l.value={isValid:s,format:i,version:a,variant:n,timestamp:r}},k=()=>{i.value=[],o.value="",l.value=null,a("已清空所有内容")};return m(),(e,d)=>(Cr(),Tr("div",I6,[Or(hl,{title:Pt(t),onBack:d[0]||(d[0]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",P6,[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:k}),Or(jl,{icon:"copy",tooltip:"复制全部",onClick:b,disabled:0===i.value.length},null,8,["disabled"]),Or(jl,{icon:"format",tooltip:"复制JSON",onClick:v,disabled:0===i.value.length},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"导出文件",onClick:w,disabled:0===i.value.length},null,8,["disabled"])])]),_:1},8,["title"]),Mr("div",N6,[Mr("div",B6,[d[22]||(d[22]=Lr('

UUID生成器

生成各种版本的UUID(通用唯一标识符)

',1)),Mr("div",M6,[Mr("div",O6,[Mr("div",U6,[d[12]||(d[12]=Mr("label",null,"UUID版本",-1)),ca(Mr("select",{"onUpdate:modelValue":d[1]||(d[1]=e=>r.value=e),onChange:m,class:"version-select"},[...d[11]||(d[11]=[Mr("option",{value:"v1"},"UUID v1 (时间戳)",-1),Mr("option",{value:"v4"},"UUID v4 (随机)",-1),Mr("option",{value:"v7"},"UUID v7 (时间戳+随机)",-1)])],544),[[_i,r.value]])]),Mr("div",j6,[d[13]||(d[13]=Mr("label",null,"生成数量",-1)),Mr("div",L6,[ca(Mr("input",{"onUpdate:modelValue":d[2]||(d[2]=e=>s.value=e),type:"number",min:"1",max:"1000",class:"quantity-input"},null,512),[[bi,s.value,void 0,{number:!0}]]),Mr("div",R6,[Mr("button",{class:Q(["quantity-btn",{active:1===s.value}]),onClick:d[3]||(d[3]=e=>g(1))},"1",2),Mr("button",{class:Q(["quantity-btn",{active:10===s.value}]),onClick:d[4]||(d[4]=e=>g(10))},"10",2),Mr("button",{class:Q(["quantity-btn",{active:50===s.value}]),onClick:d[5]||(d[5]=e=>g(50))},"50",2),Mr("button",{class:Q(["quantity-btn",{active:100===s.value}]),onClick:d[6]||(d[6]=e=>g(100))},"100",2)])])]),Mr("div",z6,[d[17]||(d[17]=Mr("label",null,"格式选项",-1)),Mr("div",H6,[Mr("label",Y6,[ca(Mr("input",{"onUpdate:modelValue":d[7]||(d[7]=e=>c.value.uppercase=e),type:"checkbox",onChange:y},null,544),[[wi,c.value.uppercase]]),d[14]||(d[14]=Mr("span",null,"大写",-1))]),Mr("label",$6,[ca(Mr("input",{"onUpdate:modelValue":d[8]||(d[8]=e=>c.value.withHyphens=e),type:"checkbox",onChange:y},null,544),[[wi,c.value.withHyphens]]),d[15]||(d[15]=Mr("span",null,"包含连字符",-1))]),Mr("label",G6,[ca(Mr("input",{"onUpdate:modelValue":d[9]||(d[9]=e=>c.value.withBraces=e),type:"checkbox",onChange:y},null,544),[[wi,c.value.withBraces]]),d[16]||(d[16]=Mr("span",null,"包含大括号",-1))])])]),Mr("div",{class:"generate-actions"},[Mr("button",{class:"generate-btn",onClick:m},[...d[18]||(d[18]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1),jr(" 生成UUID ",-1)])])])]),Mr("div",W6,[Mr("div",V6,[d[19]||(d[19]=Mr("h4",null,"生成结果",-1)),Mr("span",K6,"共 "+se(i.value.length)+" 个UUID",1)]),0===i.value.length?(Cr(),Tr("div",J6,[...d[20]||(d[20]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1),Mr("p",null,'点击"生成UUID"按钮开始生成',-1)])])):(Cr(),Tr("div",q6,[(Cr(!0),Tr(br,null,yn(i.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"uuid-item"},[Mr("div",Z6,se(t+1),1),Mr("div",X6,se(e),1),Mr("button",{class:"copy-uuid-btn",onClick:t=>(async e=>{try{await navigator.clipboard.writeText(e),a("UUID已复制")}catch(t){n("复制失败")}})(e),title:"复制"},[...d[21]||(d[21]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,Q6)]))),128))]))])])]),Mr("div",e8,[d[31]||(d[31]=Lr('

UUID验证器

验证UUID格式和版本信息

',1)),Mr("div",t8,[Mr("div",a8,[d[23]||(d[23]=Mr("label",null,"输入UUID",-1)),ca(Mr("input",{"onUpdate:modelValue":d[10]||(d[10]=e=>o.value=e),placeholder:"请输入要验证的UUID...",class:"validate-input",onInput:x},null,544),[[bi,o.value]])]),l.value?(Cr(),Tr("div",n8,[Mr("div",r8,[d[26]||(d[26]=Mr("h4",null,"验证结果",-1)),Mr("div",{class:Q(["validation-status",l.value.isValid?"valid":"invalid"])},[l.value.isValid?(Cr(),Tr("svg",s8,[...d[24]||(d[24]=[Mr("polyline",{points:"20,6 9,17 4,12"},null,-1)])])):(Cr(),Tr("svg",i8,[...d[25]||(d[25]=[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)])])),jr(" "+se(l.value.isValid?"有效":"无效"),1)],2)]),Mr("div",o8,[Mr("div",l8,[d[27]||(d[27]=Mr("span",{class:"detail-label"},"格式:",-1)),Mr("span",c8,se(l.value.format),1)]),l.value.version?(Cr(),Tr("div",u8,[d[28]||(d[28]=Mr("span",{class:"detail-label"},"版本:",-1)),Mr("span",d8,se(l.value.version),1)])):Rr("",!0),l.value.variant?(Cr(),Tr("div",h8,[d[29]||(d[29]=Mr("span",{class:"detail-label"},"变体:",-1)),Mr("span",p8,se(l.value.variant),1)])):Rr("",!0),l.value.timestamp?(Cr(),Tr("div",f8,[d[30]||(d[30]=Mr("span",{class:"detail-label"},"时间戳:",-1)),Mr("span",m8,se(l.value.timestamp),1)])):Rr("",!0)])])):Rr("",!0)])]),Mr("div",g8,[d[37]||(d[37]=Lr('

UUID版本说明

了解不同UUID版本的特点和用途

',1)),Mr("div",y8,[Mr("div",v8,[(Cr(),Tr(br,null,yn(u,e=>Mr("div",{key:e.version,class:"info-card"},[Mr("div",b8,[Mr("h4",null,se(e.version),1),Mr("span",{class:Q(["info-badge",e.status])},se(e.statusText),3)]),Mr("div",w8,se(e.description),1),Mr("div",x8,[Mr("div",k8,[d[33]||(d[33]=Mr("span",{class:"feature-label"},"唯一性:",-1)),Mr("div",{class:Q(["feature-level",e.uniqueness])},[d[32]||(d[32]=Mr("div",{class:"feature-bar"},null,-1)),Mr("span",null,se(e.uniquenessText),1)],2)]),Mr("div",_8,[d[35]||(d[35]=Mr("span",{class:"feature-label"},"性能:",-1)),Mr("div",{class:Q(["feature-level",e.performance])},[d[34]||(d[34]=Mr("div",{class:"feature-bar"},null,-1)),Mr("span",null,se(e.performanceText),1)],2)]),Mr("div",E8,[d[36]||(d[36]=Mr("span",{class:"feature-label"},"用途:",-1)),Mr("span",C8,se(e.usage),1)])])])),64))])])])])]))}}),[["__scopeId","data-v-8df3160f"]]),D8={class:"programming-languages"},A8={class:"converter-content"},T8={class:"languages-list"},S8=["onClick"],I8={class:"language-header"},P8={class:"language-info"},N8={class:"language-name"},B8={class:"language-description"},M8={class:"language-meta"},O8={class:"language-year"},U8={class:"language-tags"},j8={class:"language-stats"},L8={class:"stat-item"},R8={class:"difficulty-bar"},z8={class:"stat-value"},H8={class:"stat-item"},Y8={class:"popularity-bar"},$8={class:"stat-value"},G8={key:0,class:"modal-body-content"},W8={class:"modal-header"},V8={class:"modal-title-section"},K8={class:"modal-subtitle"},J8={class:"modal-content"},q8={class:"modal-section"},Z8={class:"info-grid"},X8={class:"info-item"},Q8={class:"info-value"},e7={class:"info-item"},t7={class:"info-value"},a7={class:"info-item"},n7={class:"info-value"},r7={class:"info-item"},s7={class:"info-value"},i7={class:"modal-section"},o7={class:"features-list"},l7={class:"modal-section"},c7={class:"use-cases"},u7={class:"modal-section"},d7={class:"resources-grid"},h7=["href"],p7={class:"resource-icon"},f7={class:"resource-name"},m7=Wi(Ya({__name:"ProgrammingLanguages",emits:["back"],setup(e){il("programming-languages");const t=St(""),a=St("all"),n=St(null),r=St([{id:"python",name:"Python",description:"简洁、易读的高级编程语言",icon:"PY",color:"#3776ab",year:1991,creator:"Guido van Rossum",type:"解释型",paradigm:"多范式",difficulty:1,popularity:95,tags:["popular","system"],features:["语法简洁清晰","丰富的标准库","强大的第三方生态","跨平台支持","动态类型"],useCases:["数据科学","Web开发","人工智能","自动化脚本","科学计算"],resources:[{name:"Python官网",url:"https://www.python.org/",icon:"🌐"},{name:"廖雪峰Python教程",url:"https://www.liaoxuefeng.com/wiki/1016959663602400",icon:"📚"},{name:"Python Package Index",url:"https://pypi.org/",icon:"📦"}]},{id:"c",name:"C",description:"经典的系统编程语言",icon:"C",color:"#a8b9cc",year:1972,creator:"Dennis Ritchie",type:"编译型",paradigm:"过程式",difficulty:4,popularity:85,tags:["system"],features:["高效的执行速度","底层硬件控制","简洁的语法","广泛的平台支持","内存管理控制"],useCases:["操作系统","嵌入式系统","系统软件","驱动程序","编译器"],resources:[{name:"C语言教程",url:"https://www.runoob.com/cprogramming/c-tutorial.html",icon:"📚"},{name:"GNU GCC",url:"https://gcc.gnu.org/",icon:"�"},{name:"C标准库参考",url:"https://en.cppreference.com/w/c",icon:"📖"}]},{id:"cpp",name:"C++",description:"高性能的系统编程语言",icon:"C+",color:"#00599c",year:1985,creator:"Bjarne Stroustrup",type:"编译型",paradigm:"多范式",difficulty:4,popularity:80,tags:["system"],features:["高性能执行","底层控制能力","丰富的标准库","多范式支持","广泛的平台支持"],useCases:["系统软件","游戏引擎","嵌入式开发","高性能计算","操作系统"],resources:[{name:"cppreference",url:"https://zh.cppreference.com/",icon:"📚"},{name:"ISO C++",url:"https://isocpp.org/",icon:"�"},{name:"Boost库",url:"https://www.boost.org/",icon:"📦"}]},{id:"java",name:"Java",description:"面向对象的、跨平台的编程语言",icon:"JA",color:"#ed8b00",year:1995,creator:"James Gosling",type:"编译型",paradigm:"面向对象",difficulty:3,popularity:85,tags:["popular","system"],features:["跨平台运行","强类型系统","自动内存管理","丰富的API","企业级支持"],useCases:["企业应用","Android开发","Web后端","大数据处理","桌面应用"],resources:[{name:"Oracle Java文档",url:"https://docs.oracle.com/javase/",icon:"📚"},{name:"Spring框架",url:"https://spring.io/",icon:"🌱"},{name:"Maven仓库",url:"https://mvnrepository.com/",icon:"📦"}]},{id:"csharp",name:"C#",description:"Microsoft开发的面向对象编程语言",icon:"C#",color:"#239120",year:2e3,creator:"Microsoft",type:"编译型",paradigm:"面向对象",difficulty:3,popularity:75,tags:["popular","system"],features:["强类型系统",".NET生态系统","自动内存管理","跨平台支持","丰富的标准库"],useCases:["Windows应用","Web开发","游戏开发","企业应用","移动应用"],resources:[{name:"Microsoft C#文档",url:"https://docs.microsoft.com/zh-cn/dotnet/csharp/",icon:"📚"},{name:".NET官网",url:"https://dotnet.microsoft.com/",icon:"🌐"},{name:"NuGet包管理",url:"https://www.nuget.org/",icon:"📦"}]},{id:"javascript",name:"JavaScript",description:"动态的、弱类型的解释型编程语言",icon:"JS",color:"#f7df1e",year:1995,creator:"Brendan Eich",type:"解释型",paradigm:"多范式",difficulty:2,popularity:90,tags:["popular","web"],features:["动态类型系统","函数式编程支持","原型继承","事件驱动","跨平台支持"],useCases:["Web前端","Node.js后端","移动应用","桌面应用","游戏开发"],resources:[{name:"MDN Web Docs",url:"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript",icon:"📚"},{name:"JavaScript.info",url:"https://zh.javascript.info/",icon:"�"},{name:"Node.js官网",url:"https://nodejs.org/",icon:"🌐"}]},{id:"visual-basic",name:"Visual Basic",description:"Microsoft开发的事件驱动编程语言",icon:"VB",color:"#945db7",year:1991,creator:"Microsoft",type:"编译型",paradigm:"面向对象",difficulty:2,popularity:60,tags:["system"],features:["可视化开发环境","事件驱动编程","简单易学","Windows集成","RAD开发"],useCases:["Windows应用","办公自动化","数据库应用","企业软件","原型开发"],resources:[{name:"VB.NET文档",url:"https://docs.microsoft.com/zh-cn/dotnet/visual-basic/",icon:"📚"},{name:"Visual Studio",url:"https://visualstudio.microsoft.com/",icon:"🔧"},{name:".NET框架",url:"https://dotnet.microsoft.com/",icon:"🌐"}]},{id:"sql",name:"SQL",description:"结构化查询语言,用于数据库操作",icon:"SQL",color:"#336791",year:1974,creator:"IBM",type:"声明式",paradigm:"声明式",difficulty:2,popularity:85,tags:["popular"],features:["标准化语法","声明式查询","数据完整性","事务支持","跨平台兼容"],useCases:["数据库查询","数据分析","报表生成","数据管理","商业智能"],resources:[{name:"SQL教程",url:"https://www.runoob.com/sql/sql-tutorial.html",icon:"📚"},{name:"MySQL文档",url:"https://dev.mysql.com/doc/",icon:"🐬"},{name:"PostgreSQL文档",url:"https://www.postgresql.org/docs/",icon:"🐘"}]},{id:"perl",name:"Perl",description:"强大的文本处理和系统管理语言",icon:"PL",color:"#39457e",year:1987,creator:"Larry Wall",type:"解释型",paradigm:"多范式",difficulty:3,popularity:45,tags:["system"],features:["强大的正则表达式","文本处理能力","CPAN模块库","灵活的语法","跨平台支持"],useCases:["文本处理","系统管理","Web开发","生物信息学","网络编程"],resources:[{name:"Perl官网",url:"https://www.perl.org/",icon:"🌐"},{name:"CPAN",url:"https://www.cpan.org/",icon:"📦"},{name:"Perl文档",url:"https://perldoc.perl.org/",icon:"📚"}]},{id:"r",name:"R",description:"统计计算和图形的编程语言",icon:"R",color:"#276dc3",year:1993,creator:"Ross Ihaka & Robert Gentleman",type:"解释型",paradigm:"函数式",difficulty:3,popularity:55,tags:["system"],features:["统计分析功能","数据可视化","丰富的包生态","向量化操作","交互式环境"],useCases:["统计分析","数据科学","机器学习","生物统计","金融分析"],resources:[{name:"R官网",url:"https://www.r-project.org/",icon:"🌐"},{name:"CRAN",url:"https://cran.r-project.org/",icon:"📦"},{name:"RStudio",url:"https://www.rstudio.com/",icon:"🔧"}]},{id:"delphi",name:"Delphi/Object Pascal",description:"面向对象的Pascal语言扩展",icon:"DP",color:"#ee1f35",year:1995,creator:"Borland",type:"编译型",paradigm:"面向对象",difficulty:3,popularity:40,tags:["system"],features:["快速应用开发","可视化设计器","强类型系统","原生代码编译","数据库集成"],useCases:["Windows应用","数据库应用","企业软件","桌面工具","系统工具"],resources:[{name:"Embarcadero Delphi",url:"https://www.embarcadero.com/products/delphi",icon:"🔧"},{name:"Free Pascal",url:"https://www.freepascal.org/",icon:"🆓"},{name:"Lazarus IDE",url:"https://www.lazarus-ide.org/",icon:"🔧"}]},{id:"fortran",name:"Fortran",description:"科学计算的先驱编程语言",icon:"F",color:"#734f96",year:1957,creator:"IBM",type:"编译型",paradigm:"过程式",difficulty:3,popularity:35,tags:["system"],features:["高性能数值计算","数组处理能力","并行计算支持","科学计算库","长期稳定性"],useCases:["科学计算","工程仿真","天气预报","数值分析","高性能计算"],resources:[{name:"Fortran官网",url:"https://fortran-lang.org/",icon:"🌐"},{name:"GNU Fortran",url:"https://gcc.gnu.org/fortran/",icon:"🔧"},{name:"Intel Fortran",url:"https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html",icon:"🔧"}]},{id:"matlab",name:"MATLAB",description:"数值计算和算法开发平台",icon:"ML",color:"#0076a8",year:1984,creator:"MathWorks",type:"解释型",paradigm:"数值计算",difficulty:2,popularity:50,tags:["system"],features:["矩阵运算","算法开发","数据可视化","仿真建模","工具箱生态"],useCases:["科学计算","工程分析","算法开发","数据分析","控制系统"],resources:[{name:"MATLAB官网",url:"https://www.mathworks.com/products/matlab.html",icon:"🌐"},{name:"MATLAB文档",url:"https://www.mathworks.com/help/matlab/",icon:"📚"},{name:"File Exchange",url:"https://www.mathworks.com/matlabcentral/fileexchange/",icon:"📦"}]},{id:"ada",name:"Ada",description:"高可靠性的系统编程语言",icon:"ADA",color:"#02f88c",year:1980,creator:"Jean Ichbiah",type:"编译型",paradigm:"面向对象",difficulty:4,popularity:25,tags:["system"],features:["强类型系统","高可靠性","并发编程","实时系统支持","安全关键应用"],useCases:["航空航天","国防系统","交通控制","医疗设备","金融系统"],resources:[{name:"Ada官网",url:"https://www.adacore.com/",icon:"🌐"},{name:"GNAT编译器",url:"https://www.adacore.com/gnatpro",icon:"🔧"},{name:"Ada参考手册",url:"http://www.ada-auth.org/standards/ada12.html",icon:"📚"}]},{id:"go",name:"Go",description:"Google开发的简洁高效的编程语言",icon:"GO",color:"#00add8",year:2009,creator:"Google",type:"编译型",paradigm:"过程式",difficulty:2,popularity:65,tags:["popular","system"],features:["简洁的语法","快速编译","并发编程支持","垃圾回收","静态类型"],useCases:["微服务","云原生应用","网络编程","系统工具","DevOps工具"],resources:[{name:"Go语言之旅",url:"https://tour.golang.org/",icon:"🎯"},{name:"Go包索引",url:"https://pkg.go.dev/",icon:"📦"}]},{id:"php",name:"PHP",description:"专为Web开发设计的脚本语言",icon:"PHP",color:"#777bb4",year:1995,creator:"Rasmus Lerdorf",type:"解释型",paradigm:"多范式",difficulty:2,popularity:70,tags:["web"],features:["易于学习","丰富的Web框架","广泛的主机支持","大量的扩展库","活跃的社区"],useCases:["Web开发","CMS系统","API开发","电子商务","内容管理"],resources:[{name:"PHP官网",url:"https://www.php.net/",icon:"🌐"},{name:"PHP手册",url:"https://www.php.net/manual/zh/",icon:"📚"},{name:"Packagist",url:"https://packagist.org/",icon:"📦"}]},{id:"rust",name:"Rust",description:"内存安全的系统编程语言",icon:"RS",color:"#ce422b",year:2010,creator:"Mozilla",type:"编译型",paradigm:"多范式",difficulty:4,popularity:60,tags:["system"],features:["内存安全","零成本抽象","并发安全","高性能","现代语言特性"],useCases:["系统编程","Web后端","区块链","游戏引擎","操作系统"],resources:[{name:"Rust官网",url:"https://www.rust-lang.org/",icon:"🌐"},{name:"Rust程序设计语言",url:"https://doc.rust-lang.org/book/",icon:"📚"},{name:"Crates.io",url:"https://crates.io/",icon:"📦"}]},{id:"scratch",name:"Scratch",description:"可视化编程语言,适合初学者",icon:"SC",color:"#ffab19",year:2007,creator:"MIT Media Lab",type:"可视化",paradigm:"事件驱动",difficulty:1,popularity:40,tags:["popular"],features:["拖拽式编程","可视化界面","教育导向","创意表达","社区分享"],useCases:["编程教育","创意项目","游戏制作","动画制作","互动故事"],resources:[{name:"Scratch官网",url:"https://scratch.mit.edu/",icon:"🌐"},{name:"Scratch教程",url:"https://scratch.mit.edu/ideas",icon:"📚"},{name:"Scratch社区",url:"https://scratch.mit.edu/explore/projects/all",icon:"👥"}]},{id:"assembly",name:"Assembly",description:"低级汇编语言,直接操作硬件",icon:"ASM",color:"#6e4c13",year:1949,creator:"Various",type:"汇编",paradigm:"过程式",difficulty:5,popularity:30,tags:["system"],features:["直接硬件控制","最高执行效率","精确内存管理","平台特定","底层优化"],useCases:["嵌入式系统","驱动程序","系统内核","性能优化","逆向工程"],resources:[{name:"NASM汇编器",url:"https://www.nasm.us/",icon:"🔧"},{name:"x86汇编指南",url:"https://www.cs.virginia.edu/~evans/cs216/guides/x86.html",icon:"📚"},{name:"ARM汇编",url:"https://developer.arm.com/documentation",icon:"📖"}]},{id:"kotlin",name:"Kotlin",description:"JetBrains开发的现代编程语言",icon:"KT",color:"#7f52ff",year:2011,creator:"JetBrains",type:"编译型",paradigm:"多范式",difficulty:3,popularity:60,tags:["mobile"],features:["与Java完全互操作","简洁的语法","空安全","函数式编程支持","协程支持"],useCases:["Android开发","Web开发","服务器端开发","跨平台移动开发"],resources:[{name:"Kotlin官网",url:"https://kotlinlang.org/",icon:"🌐"},{name:"Kotlin文档",url:"https://kotlinlang.org/docs/",icon:"📚"},{name:"Kotlin多平台",url:"https://kotlinlang.org/lp/mobile/",icon:"📱"}]}]),s=is(()=>r.value.filter(e=>e.tags.includes("popular"))),i=is(()=>r.value.filter(e=>e.tags.includes("web"))),o=is(()=>r.value.filter(e=>e.tags.includes("mobile"))),l=is(()=>r.value.filter(e=>e.tags.includes("system"))),c=is(()=>[{key:"all",name:"全部",count:r.value.length},{key:"popular",name:"热门",count:s.value.length},{key:"web",name:"Web开发",count:i.value.length},{key:"mobile",name:"移动开发",count:o.value.length},{key:"system",name:"系统编程",count:l.value.length}]),u=is(()=>{let e=r.value;switch(a.value){case"popular":e=s.value;break;case"web":e=i.value;break;case"mobile":e=o.value;break;case"system":e=l.value}if(t.value){const a=t.value.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(a)||e.description.toLowerCase().includes(a)||e.creator.toLowerCase().includes(a)||e.useCases.some(e=>e.toLowerCase().includes(a)))}return e}),d=e=>["入门","简单","中等","困难","专家"][e-1]||"未知";return(e,r)=>(Cr(),Tr("div",D8,[Or(hl,{title:"编程语言大全",onBack:r[0]||(r[0]=t=>e.$emit("back"))}),Mr("div",A8,[Or(FX,{searchQuery:t.value,"onUpdate:searchQuery":r[1]||(r[1]=e=>t.value=e),placeholder:"搜索编程语言...",filters:c.value,activeFilter:a.value,"onUpdate:activeFilter":r[2]||(r[2]=e=>a.value=e)},null,8,["searchQuery","filters","activeFilter"]),Mr("div",T8,[(Cr(!0),Tr(br,null,yn(u.value,e=>{return Cr(),Tr("div",{key:e.id,class:"language-card",onClick:t=>(e=>{n.value=e})(e)},[Mr("div",I8,[Mr("div",{class:"language-icon",style:K({backgroundColor:e.color})},se(e.icon),5),Mr("div",P8,[Mr("h3",N8,se(e.name),1),Mr("p",B8,se(e.description),1)]),Mr("div",M8,[Mr("span",O8,se(e.year),1),Mr("div",U8,[(Cr(!0),Tr(br,null,yn(e.tags,e=>(Cr(),Tr("span",{key:e,class:Q(["tag",e])},se(e),3))),128))])])]),Mr("div",j8,[Mr("div",L8,[r[5]||(r[5]=Mr("span",{class:"stat-label"},"难度:",-1)),Mr("div",R8,[Mr("div",{class:"difficulty-fill",style:K({width:20*e.difficulty+"%",backgroundColor:(t=e.difficulty,["#10b981","#f59e0b","#f97316","#ef4444","#dc2626"][t-1]||"#6b7280")})},null,4)]),Mr("span",z8,se(d(e.difficulty)),1)]),Mr("div",H8,[r[6]||(r[6]=Mr("span",{class:"stat-label"},"流行度:",-1)),Mr("div",Y8,[Mr("div",{class:"popularity-fill",style:K({width:e.popularity+"%",backgroundColor:"#10b981"})},null,4)]),Mr("span",$8,se(e.popularity)+"%",1)])])],8,S8);var t}),128))]),r[7]||(r[7]=Lr('

编程语言排行榜来源

在编程语言排行榜中,有许多不同的榜单和排名系统,每个系统都有自己的标准和考量因素。以下是一些全球公认的编程语言排行榜和排名系统:

注意:每个排名系统都有其独特的视角和方法论,建议根据具体需求(了解当前趋势、评估学习价值、寻找就业机会等)来选择合适的排名系统参考。

',1))]),Or(jX,{visible:!!n.value,"onUpdate:visible":r[4]||(r[4]=e=>n.value=null),title:"",showHeader:!1,maxWidth:"800px",maxHeight:"90vh"},{default:la(()=>[n.value?(Cr(),Tr("div",G8,[Mr("div",W8,[Mr("div",V8,[Mr("div",{class:"language-icon large",style:K({backgroundColor:n.value.color})},se(n.value.icon),5),Mr("div",null,[Mr("h2",null,se(n.value.name),1),Mr("p",K8,se(n.value.description),1)])]),Mr("button",{class:"close-btn",onClick:r[3]||(r[3]=e=>n.value=null)},[...r[8]||(r[8]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),Mr("div",J8,[Mr("div",q8,[r[13]||(r[13]=Mr("h3",null,"基本信息",-1)),Mr("div",Z8,[Mr("div",X8,[r[9]||(r[9]=Mr("span",{class:"info-label"},"发布年份:",-1)),Mr("span",Q8,se(n.value.year),1)]),Mr("div",e7,[r[10]||(r[10]=Mr("span",{class:"info-label"},"设计者:",-1)),Mr("span",t7,se(n.value.creator),1)]),Mr("div",a7,[r[11]||(r[11]=Mr("span",{class:"info-label"},"类型:",-1)),Mr("span",n7,se(n.value.type),1)]),Mr("div",r7,[r[12]||(r[12]=Mr("span",{class:"info-label"},"范式:",-1)),Mr("span",s7,se(n.value.paradigm),1)])])]),Mr("div",i7,[r[14]||(r[14]=Mr("h3",null,"特点与优势",-1)),Mr("ul",o7,[(Cr(!0),Tr(br,null,yn(n.value.features,e=>(Cr(),Tr("li",{key:e},se(e),1))),128))])]),Mr("div",l7,[r[15]||(r[15]=Mr("h3",null,"主要用途",-1)),Mr("div",c7,[(Cr(!0),Tr(br,null,yn(n.value.useCases,e=>(Cr(),Tr("span",{key:e,class:"use-case-tag"},se(e),1))),128))])]),Mr("div",u7,[r[17]||(r[17]=Mr("h3",null,"学习资源",-1)),Mr("div",d7,[(Cr(!0),Tr(br,null,yn(n.value.resources,e=>(Cr(),Tr("a",{key:e.name,href:e.url,target:"_blank",class:"resource-link"},[Mr("span",p7,se(e.icon),1),Mr("span",f7,se(e.name),1),r[16]||(r[16]=Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),Mr("polyline",{points:"15,3 21,3 21,9"}),Mr("line",{x1:"10",y1:"14",x2:"21",y2:"3"})],-1))],8,h7))),128))])])])])):Rr("",!0)]),_:1},8,["visible"]),Or(PX,{container:".converter-content"})]))}}),[["__scopeId","data-v-badf73b1"]]),g7=[{key:"all",name:"全部",icon:"🌟"},{key:"smileys",name:"笑脸和情感",icon:"😂"},{key:"people",name:"人类和身体",icon:"👌"},{key:"animals",name:"动物和自然",icon:"🐵"},{key:"food",name:"食物和饮料",icon:"🍓"},{key:"travel",name:"旅行和地点",icon:"🚌"},{key:"activities",name:"活动",icon:"⚽"},{key:"objects",name:"物品",icon:"⌚"},{key:"symbols",name:"符号",icon:"💯"}],y7=[{symbol:"😀",name:"开心",code:"U+1F600",category:"smileys",keywords:["开心","笑","高兴"]},{symbol:"😃",name:"大笑",code:"U+1F603",category:"smileys",keywords:["大笑","开心","兴奋"]},{symbol:"😄",name:"笑眯眯",code:"U+1F604",category:"smileys",keywords:["笑眯眯","开心","愉快"]},{symbol:"😁",name:"咧嘴笑",code:"U+1F601",category:"smileys",keywords:["咧嘴笑","开心","兴奋"]},{symbol:"😆",name:"哈哈大笑",code:"U+1F606",category:"smileys",keywords:["哈哈","大笑","开心"]},{symbol:"😅",name:"苦笑",code:"U+1F605",category:"smileys",keywords:["苦笑","尴尬","汗"]},{symbol:"🤣",name:"笑哭了",code:"U+1F923",category:"smileys",keywords:["笑哭","大笑","眼泪"]},{symbol:"😂",name:"喜极而泣",code:"U+1F602",category:"smileys",keywords:["喜极而泣","笑哭","开心"]},{symbol:"🙂",name:"微笑",code:"U+1F642",category:"smileys",keywords:["微笑","开心","友好"]},{symbol:"🙃",name:"倒脸",code:"U+1F643",category:"smileys",keywords:["倒脸","调皮","搞怪"]},{symbol:"😉",name:"眨眼",code:"U+1F609",category:"smileys",keywords:["眨眼","调皮","暗示"]},{symbol:"😊",name:"害羞",code:"U+1F60A",category:"smileys",keywords:["害羞","开心","脸红"]},{symbol:"😇",name:"天使",code:"U+1F607",category:"smileys",keywords:["天使","纯洁","善良"]},{symbol:"🥰",name:"爱心眼",code:"U+1F970",category:"smileys",keywords:["爱心","喜欢","爱"]},{symbol:"😍",name:"花痴",code:"U+1F60D",category:"smileys",keywords:["花痴","爱心眼","喜欢"]},{symbol:"🤩",name:"星星眼",code:"U+1F929",category:"smileys",keywords:["星星眼","崇拜","兴奋"]},{symbol:"😘",name:"飞吻",code:"U+1F618",category:"smileys",keywords:["飞吻","亲吻","爱"]},{symbol:"😗",name:"亲吻",code:"U+1F617",category:"smileys",keywords:["亲吻","吻","爱"]},{symbol:"☺️",name:"开心",code:"U+263A",category:"smileys",keywords:["开心","微笑","愉快"]},{symbol:"😚",name:"闭眼亲吻",code:"U+1F61A",category:"smileys",keywords:["闭眼","亲吻","爱"]},{symbol:"😙",name:"亲吻微笑",code:"U+1F619",category:"smileys",keywords:["亲吻","微笑","开心"]},{symbol:"🥲",name:"含泪微笑",code:"U+1F972",category:"smileys",keywords:["含泪","微笑","感动"]},{symbol:"😋",name:"美味",code:"U+1F60B",category:"smileys",keywords:["美味","好吃","舔嘴"]},{symbol:"😛",name:"吐舌头",code:"U+1F61B",category:"smileys",keywords:["吐舌头","调皮","搞怪"]},{symbol:"😜",name:"眨眼吐舌",code:"U+1F61C",category:"smileys",keywords:["眨眼","吐舌头","调皮"]},{symbol:"🤪",name:"疯狂",code:"U+1F92A",category:"smileys",keywords:["疯狂","搞怪","兴奋"]},{symbol:"😝",name:"闭眼吐舌",code:"U+1F61D",category:"smileys",keywords:["闭眼","吐舌头","调皮"]},{symbol:"🤑",name:"财迷",code:"U+1F911",category:"smileys",keywords:["财迷","金钱","贪婪"]},{symbol:"🤗",name:"拥抱",code:"U+1F917",category:"smileys",keywords:["拥抱","温暖","友好"]},{symbol:"🤭",name:"捂嘴笑",code:"U+1F92D",category:"smileys",keywords:["捂嘴笑","偷笑","害羞"]},{symbol:"🫢",name:"捂嘴惊讶",code:"U+1FAE2",category:"smileys",keywords:["捂嘴","惊讶","震惊"]},{symbol:"🫣",name:"偷看",code:"U+1FAE3",category:"smileys",keywords:["偷看","害羞","好奇"]},{symbol:"🤫",name:"嘘",code:"U+1F92B",category:"smileys",keywords:["嘘","安静","秘密"]},{symbol:"🤔",name:"思考",code:"U+1F914",category:"smileys",keywords:["思考","疑惑","考虑"]},{symbol:"🫡",name:"敬礼",code:"U+1FAE1",category:"smileys",keywords:["敬礼","尊敬","军礼"]},{symbol:"🤐",name:"闭嘴",code:"U+1F910",category:"smileys",keywords:["闭嘴","拉链","保密"]},{symbol:"🤨",name:"挑眉",code:"U+1F928",category:"smileys",keywords:["挑眉","怀疑","质疑"]},{symbol:"😐",name:"面无表情",code:"U+1F610",category:"smileys",keywords:["面无表情","平静","无聊"]},{symbol:"😑",name:"无语",code:"U+1F611",category:"smileys",keywords:["无语","无奈","沉默"]},{symbol:"😶",name:"没嘴",code:"U+1F636",category:"smileys",keywords:["没嘴","沉默","无话可说"]},{symbol:"🫥",name:"虚线脸",code:"U+1FAE5",category:"smileys",keywords:["虚线脸","消失","隐形"]},{symbol:"😏",name:"得意",code:"U+1F60F",category:"smileys",keywords:["得意","坏笑","调皮"]},{symbol:"😒",name:"不爽",code:"U+1F612",category:"smileys",keywords:["不爽","无聊","厌烦"]},{symbol:"🙄",name:"翻白眼",code:"U+1F644",category:"smileys",keywords:["翻白眼","无语","鄙视"]},{symbol:"😬",name:"龇牙",code:"U+1F62C",category:"smileys",keywords:["龇牙","尴尬","紧张"]},{symbol:"😮‍💨",name:"叹气",code:"U+1F62E-200D-1F4A8",category:"smileys",keywords:["叹气","疲惫","无奈"]},{symbol:"🤥",name:"说谎",code:"U+1F925",category:"smileys",keywords:["说谎","撒谎","长鼻子"]},{symbol:"😌",name:"安心",code:"U+1F60C",category:"smileys",keywords:["安心","满足","平静"]},{symbol:"😔",name:"沮丧",code:"U+1F614",category:"smileys",keywords:["沮丧","失望","难过"]},{symbol:"😪",name:"困倦",code:"U+1F62A",category:"smileys",keywords:["困倦","睡觉","疲惫"]},{symbol:"🤤",name:"流口水",code:"U+1F924",category:"smileys",keywords:["流口水","想要","睡觉"]},{symbol:"😴",name:"睡觉",code:"U+1F634",category:"smileys",keywords:["睡觉","困","ZZZ"]},{symbol:"😷",name:"戴口罩",code:"U+1F637",category:"smileys",keywords:["戴口罩","生病","防护"]},{symbol:"🤒",name:"发烧",code:"U+1F912",category:"smileys",keywords:["发烧","生病","温度计"]},{symbol:"🤕",name:"受伤",code:"U+1F915",category:"smileys",keywords:["受伤","绷带","疼痛"]},{symbol:"🤢",name:"恶心",code:"U+1F922",category:"smileys",keywords:["恶心","想吐","不舒服"]},{symbol:"🤮",name:"呕吐",code:"U+1F92E",category:"smileys",keywords:["呕吐","恶心","吐"]},{symbol:"🤧",name:"打喷嚏",code:"U+1F927",category:"smileys",keywords:["打喷嚏","感冒","纸巾"]},{symbol:"🥵",name:"热",code:"U+1F975",category:"smileys",keywords:["热","高温","出汗"]},{symbol:"🥶",name:"冷",code:"U+1F976",category:"smileys",keywords:["冷","低温","发抖"]},{symbol:"🥴",name:"晕",code:"U+1F974",category:"smileys",keywords:["晕","眩晕","醉"]},{symbol:"😵",name:"晕倒",code:"U+1F635",category:"smileys",keywords:["晕倒","昏迷","眩晕"]},{symbol:"😵‍💫",name:"眼冒金星",code:"U+1F635-200D-1F4AB",category:"smileys",keywords:["眼冒金星","晕","眩晕"]},{symbol:"🤯",name:"爆炸头",code:"U+1F92F",category:"smileys",keywords:["爆炸头","震惊","惊讶"]},{symbol:"🤠",name:"牛仔",code:"U+1F920",category:"smileys",keywords:["牛仔","帽子","西部"]},{symbol:"🥳",name:"派对",code:"U+1F973",category:"smileys",keywords:["派对","庆祝","生日"]},{symbol:"🥸",name:"伪装",code:"U+1F978",category:"smileys",keywords:["伪装","眼镜","胡子"]},{symbol:"😎",name:"酷",code:"U+1F60E",category:"smileys",keywords:["酷","墨镜","帅"]},{symbol:"🤓",name:"书呆子",code:"U+1F913",category:"smileys",keywords:["书呆子","眼镜","学霸"]},{symbol:"🧐",name:"单片眼镜",code:"U+1F9D0",category:"smileys",keywords:["单片眼镜","绅士","仔细"]},{symbol:"😕",name:"困惑",code:"U+1F615",category:"smileys",keywords:["困惑","疑惑","不解"]},{symbol:"🫤",name:"斜眼",code:"U+1FAE4",category:"smileys",keywords:["斜眼","怀疑","不确定"]},{symbol:"😟",name:"担心",code:"U+1F61F",category:"smileys",keywords:["担心","忧虑","不安"]},{symbol:"🙁",name:"皱眉",code:"U+1F641",category:"smileys",keywords:["皱眉","不开心","难过"]},{symbol:"☹️",name:"不开心",code:"U+2639",category:"smileys",keywords:["不开心","难过","沮丧"]},{symbol:"😮",name:"惊讶",code:"U+1F62E",category:"smileys",keywords:["惊讶","震惊","张嘴"]},{symbol:"😯",name:"安静惊讶",code:"U+1F62F",category:"smileys",keywords:["安静惊讶","震惊","沉默"]},{symbol:"😲",name:"震惊",code:"U+1F632",category:"smileys",keywords:["震惊","惊讶","不敢相信"]},{symbol:"😳",name:"脸红",code:"U+1F633",category:"smileys",keywords:["脸红","害羞","尴尬"]},{symbol:"🥺",name:"可怜",code:"U+1F97A",category:"smileys",keywords:["可怜","恳求","委屈"]},{symbol:"🥹",name:"含泪",code:"U+1F979",category:"smileys",keywords:["含泪","感动","眼泪"]},{symbol:"😦",name:"皱眉张嘴",code:"U+1F626",category:"smileys",keywords:["皱眉张嘴","担心","不安"]},{symbol:"😧",name:"痛苦",code:"U+1F627",category:"smileys",keywords:["痛苦","难受","折磨"]},{symbol:"😨",name:"恐惧",code:"U+1F628",category:"smileys",keywords:["恐惧","害怕","惊恐"]},{symbol:"😰",name:"焦虑出汗",code:"U+1F630",category:"smileys",keywords:["焦虑","出汗","紧张"]},{symbol:"😥",name:"失望但安心",code:"U+1F625",category:"smileys",keywords:["失望","安心","复杂"]},{symbol:"😢",name:"哭泣",code:"U+1F622",category:"smileys",keywords:["哭泣","眼泪","伤心"]},{symbol:"😭",name:"大哭",code:"U+1F62D",category:"smileys",keywords:["大哭","痛哭","伤心"]},{symbol:"😱",name:"尖叫",code:"U+1F631",category:"smileys",keywords:["尖叫","恐惧","惊恐"]},{symbol:"😖",name:"困扰",code:"U+1F616",category:"smileys",keywords:["困扰","烦恼","纠结"]},{symbol:"😣",name:"坚持",code:"U+1F623",category:"smileys",keywords:["坚持","努力","痛苦"]},{symbol:"😞",name:"失望",code:"U+1F61E",category:"smileys",keywords:["失望","沮丧","难过"]},{symbol:"😓",name:"冷汗",code:"U+1F613",category:"smileys",keywords:["冷汗","紧张","尴尬"]},{symbol:"😩",name:"疲惫",code:"U+1F629",category:"smileys",keywords:["疲惫","累","无奈"]},{symbol:"😫",name:"疲倦",code:"U+1F62B",category:"smileys",keywords:["疲倦","累","困"]},{symbol:"🥱",name:"打哈欠",code:"U+1F971",category:"smileys",keywords:["打哈欠","困","无聊"]},{symbol:"😤",name:"愤怒",code:"U+1F624",category:"smileys",keywords:["愤怒","生气","鼻孔冒气"]},{symbol:"😡",name:"红脸愤怒",code:"U+1F621",category:"smileys",keywords:["红脸愤怒","生气","愤怒"]},{symbol:"😠",name:"愤怒",code:"U+1F620",category:"smileys",keywords:["愤怒","生气","不满"]},{symbol:"🤬",name:"脏话",code:"U+1F92C",category:"smileys",keywords:["脏话","愤怒","骂人"]},{symbol:"😈",name:"坏笑恶魔",code:"U+1F608",category:"smileys",keywords:["坏笑恶魔","恶魔","坏"]},{symbol:"👿",name:"愤怒恶魔",code:"U+1F47F",category:"smileys",keywords:["愤怒恶魔","恶魔","愤怒"]},{symbol:"💀",name:"骷髅",code:"U+1F480",category:"smileys",keywords:["骷髅","死亡","恐怖"]},{symbol:"☠️",name:"骷髅交叉骨",code:"U+2620",category:"smileys",keywords:["骷髅交叉骨","死亡","危险"]},{symbol:"👋",name:"挥手",code:"U+1F44B",category:"people",keywords:["挥手","再见","你好"]},{symbol:"🤚",name:"举手背",code:"U+1F91A",category:"people",keywords:["举手","停止","手背"]},{symbol:"🖐️",name:"张开手",code:"U+1F590",category:"people",keywords:["张开手","五指","手掌"]},{symbol:"✋",name:"举手",code:"U+270B",category:"people",keywords:["举手","停止","手掌"]},{symbol:"🖖",name:"瓦肯礼",code:"U+1F596",category:"people",keywords:["瓦肯礼","星际迷航","和平"]},{symbol:"👌",name:"OK手势",code:"U+1F44C",category:"people",keywords:["OK","好的","完美"]},{symbol:"🤌",name:"捏手指",code:"U+1F90C",category:"people",keywords:["捏手指","意大利","什么"]},{symbol:"🤏",name:"捏一点",code:"U+1F90F",category:"people",keywords:["捏一点","一点点","小"]},{symbol:"✌️",name:"胜利手势",code:"U+270C",category:"people",keywords:["胜利","V","和平"]},{symbol:"🤞",name:"交叉手指",code:"U+1F91E",category:"people",keywords:["交叉手指","祈祷","好运"]},{symbol:"🤟",name:"爱你手势",code:"U+1F91F",category:"people",keywords:["爱你","ILY","手语"]},{symbol:"🤘",name:"摇滚手势",code:"U+1F918",category:"people",keywords:["摇滚","角","重金属"]},{symbol:"🤙",name:"打电话手势",code:"U+1F919",category:"people",keywords:["打电话","联系","冲浪"]},{symbol:"👈",name:"左指",code:"U+1F448",category:"people",keywords:["左指","指向","那边"]},{symbol:"👉",name:"右指",code:"U+1F449",category:"people",keywords:["右指","指向","这边"]},{symbol:"👆",name:"上指",code:"U+1F446",category:"people",keywords:["上指","指向","上面"]},{symbol:"🖕",name:"中指",code:"U+1F595",category:"people",keywords:["中指","愤怒","侮辱"]},{symbol:"👇",name:"下指",code:"U+1F447",category:"people",keywords:["下指","指向","下面"]},{symbol:"☝️",name:"食指",code:"U+261D",category:"people",keywords:["食指","指向","一"]},{symbol:"👍",name:"点赞",code:"U+1F44D",category:"people",keywords:["点赞","好","赞同"]},{symbol:"👎",name:"踩",code:"U+1F44E",category:"people",keywords:["踩","不好","反对"]},{symbol:"✊",name:"拳头",code:"U+270A",category:"people",keywords:["拳头","力量","团结"]},{symbol:"👊",name:"碰拳",code:"U+1F44A",category:"people",keywords:["碰拳","击拳","友谊"]},{symbol:"🤛",name:"左拳",code:"U+1F91B",category:"people",keywords:["左拳","击拳","碰拳"]},{symbol:"🤜",name:"右拳",code:"U+1F91C",category:"people",keywords:["右拳","击拳","碰拳"]},{symbol:"👏",name:"鼓掌",code:"U+1F44F",category:"people",keywords:["鼓掌","赞扬","庆祝"]},{symbol:"🙌",name:"举双手",code:"U+1F64C",category:"people",keywords:["举双手","庆祝","万岁"]},{symbol:"👐",name:"张开双手",code:"U+1F450",category:"people",keywords:["张开双手","拥抱","欢迎"]},{symbol:"🤲",name:"托起双手",code:"U+1F932",category:"people",keywords:["托起双手","祈祷","请求"]},{symbol:"🤝",name:"握手",code:"U+1F91D",category:"people",keywords:["握手","合作","协议"]},{symbol:"🙏",name:"祈祷",code:"U+1F64F",category:"people",keywords:["祈祷","感谢","请求"]},{symbol:"✍️",name:"写字",code:"U+270D",category:"people",keywords:["写字","书写","签名"]},{symbol:"💅",name:"涂指甲",code:"U+1F485",category:"people",keywords:["涂指甲","美甲","时尚"]},{symbol:"🤳",name:"自拍",code:"U+1F933",category:"people",keywords:["自拍","拍照","手机"]},{symbol:"💪",name:"肌肉",code:"U+1F4AA",category:"people",keywords:["肌肉","力量","强壮"]},{symbol:"🦾",name:"机械臂",code:"U+1F9BE",category:"people",keywords:["机械臂","假肢","科技"]},{symbol:"🦿",name:"机械腿",code:"U+1F9BF",category:"people",keywords:["机械腿","假肢","科技"]},{symbol:"🦵",name:"腿",code:"U+1F9B5",category:"people",keywords:["腿","身体","部位"]},{symbol:"🦶",name:"脚",code:"U+1F9B6",category:"people",keywords:["脚","身体","部位"]},{symbol:"👂",name:"耳朵",code:"U+1F442",category:"people",keywords:["耳朵","听","身体"]},{symbol:"🦻",name:"助听器",code:"U+1F9BB",category:"people",keywords:["助听器","听力","辅助"]},{symbol:"👃",name:"鼻子",code:"U+1F443",category:"people",keywords:["鼻子","闻","身体"]},{symbol:"🧠",name:"大脑",code:"U+1F9E0",category:"people",keywords:["大脑","思考","智慧"]},{symbol:"🫀",name:"心脏",code:"U+1FAC0",category:"people",keywords:["心脏","器官","生命"]},{symbol:"🫁",name:"肺",code:"U+1FAC1",category:"people",keywords:["肺","呼吸","器官"]},{symbol:"🦷",name:"牙齿",code:"U+1F9B7",category:"people",keywords:["牙齿","口腔","健康"]},{symbol:"🦴",name:"骨头",code:"U+1F9B4",category:"people",keywords:["骨头","骨骼","身体"]},{symbol:"👀",name:"眼睛",code:"U+1F440",category:"people",keywords:["眼睛","看","注视"]},{symbol:"👁️",name:"眼",code:"U+1F441",category:"people",keywords:["眼","看","观察"]},{symbol:"👅",name:"舌头",code:"U+1F445",category:"people",keywords:["舌头","味觉","身体"]},{symbol:"👄",name:"嘴唇",code:"U+1F444",category:"people",keywords:["嘴唇","亲吻","美丽"]},{symbol:"🫦",name:"咬嘴唇",code:"U+1FAE6",category:"people",keywords:["咬嘴唇","紧张","诱惑"]},{symbol:"👶",name:"婴儿",code:"U+1F476",category:"people",keywords:["婴儿","宝宝","小孩"]},{symbol:"🧒",name:"儿童",code:"U+1F9D2",category:"people",keywords:["儿童","小孩","孩子"]},{symbol:"👦",name:"男孩",code:"U+1F466",category:"people",keywords:["男孩","小男孩","儿童"]},{symbol:"👧",name:"女孩",code:"U+1F467",category:"people",keywords:["女孩","小女孩","儿童"]},{symbol:"🧑",name:"成人",code:"U+1F9D1",category:"people",keywords:["成人","人","大人"]},{symbol:"👱",name:"金发人",code:"U+1F471",category:"people",keywords:["金发人","金发","人"]},{symbol:"👨",name:"男人",code:"U+1F468",category:"people",keywords:["男人","男性","成年男子"]},{symbol:"🧔",name:"胡须男",code:"U+1F9D4",category:"people",keywords:["胡须男","胡子","男人"]},{symbol:"🧔‍♂️",name:"男性胡须",code:"U+1F9D4-200D-2642-FE0F",category:"people",keywords:["男性胡须","胡子","男人"]},{symbol:"🧔‍♀️",name:"女性胡须",code:"U+1F9D4-200D-2640-FE0F",category:"people",keywords:["女性胡须","胡子","女人"]},{symbol:"👨‍🦰",name:"红发男",code:"U+1F468-200D-1F9B0",category:"people",keywords:["红发男","红发","男人"]},{symbol:"👨‍🦱",name:"卷发男",code:"U+1F468-200D-1F9B1",category:"people",keywords:["卷发男","卷发","男人"]},{symbol:"👨‍🦳",name:"白发男",code:"U+1F468-200D-1F9B3",category:"people",keywords:["白发男","白发","男人"]},{symbol:"👨‍🦲",name:"秃头男",code:"U+1F468-200D-1F9B2",category:"people",keywords:["秃头男","秃头","男人"]},{symbol:"👩",name:"女人",code:"U+1F469",category:"people",keywords:["女人","女性","成年女子"]},{symbol:"👩‍🦰",name:"红发女",code:"U+1F469-200D-1F9B0",category:"people",keywords:["红发女","红发","女人"]},{symbol:"🧑‍🦰",name:"红发人",code:"U+1F9D1-200D-1F9B0",category:"people",keywords:["红发人","红发","人"]},{symbol:"👩‍🦱",name:"卷发女",code:"U+1F469-200D-1F9B1",category:"people",keywords:["卷发女","卷发","女人"]},{symbol:"🧑‍🦱",name:"卷发人",code:"U+1F9D1-200D-1F9B1",category:"people",keywords:["卷发人","卷发","人"]},{symbol:"👩‍🦳",name:"白发女",code:"U+1F469-200D-1F9B3",category:"people",keywords:["白发女","白发","女人"]},{symbol:"🧑‍🦳",name:"白发人",code:"U+1F9D1-200D-1F9B3",category:"people",keywords:["白发人","白发","人"]},{symbol:"👩‍🦲",name:"秃头女",code:"U+1F469-200D-1F9B2",category:"people",keywords:["秃头女","秃头","女人"]},{symbol:"🧑‍🦲",name:"秃头人",code:"U+1F9D1-200D-1F9B2",category:"people",keywords:["秃头人","秃头","人"]},{symbol:"👱‍♀️",name:"金发女",code:"U+1F471-200D-2640-FE0F",category:"people",keywords:["金发女","金发","女人"]},{symbol:"👱‍♂️",name:"金发男",code:"U+1F471-200D-2642-FE0F",category:"people",keywords:["金发男","金发","男人"]},{symbol:"🧓",name:"老人",code:"U+1F9D3",category:"people",keywords:["老人","年长","长者"]},{symbol:"👴",name:"老爷爷",code:"U+1F474",category:"people",keywords:["老爷爷","老人","爷爷"]},{symbol:"👵",name:"老奶奶",code:"U+1F475",category:"people",keywords:["老奶奶","老人","奶奶"]},{symbol:"🐶",name:"狗脸",code:"U+1F436",category:"animals",keywords:["狗","小狗","宠物"]},{symbol:"🐱",name:"猫脸",code:"U+1F431",category:"animals",keywords:["猫","小猫","宠物"]},{symbol:"🐭",name:"老鼠脸",code:"U+1F42D",category:"animals",keywords:["老鼠","鼠","小鼠"]},{symbol:"🐹",name:"仓鼠脸",code:"U+1F439",category:"animals",keywords:["仓鼠","小仓鼠","宠物"]},{symbol:"🐰",name:"兔子脸",code:"U+1F430",category:"animals",keywords:["兔子","小兔","可爱"]},{symbol:"🦊",name:"狐狸脸",code:"U+1F98A",category:"animals",keywords:["狐狸","狡猾","聪明"]},{symbol:"🐻",name:"熊脸",code:"U+1F43B",category:"animals",keywords:["熊","大熊","可爱"]},{symbol:"🐼",name:"熊猫脸",code:"U+1F43C",category:"animals",keywords:["熊猫","大熊猫","中国"]},{symbol:"🐻‍❄️",name:"北极熊",code:"U+1F43B-200D-2744-FE0F",category:"animals",keywords:["北极熊","白熊","北极"]},{symbol:"🐨",name:"考拉",code:"U+1F428",category:"animals",keywords:["考拉","树袋熊","澳洲"]},{symbol:"🐯",name:"老虎脸",code:"U+1F42F",category:"animals",keywords:["老虎","虎","威猛"]},{symbol:"🦁",name:"狮子脸",code:"U+1F981",category:"animals",keywords:["狮子","狮","王者"]},{symbol:"🐮",name:"牛脸",code:"U+1F42E",category:"animals",keywords:["牛","奶牛","农场"]},{symbol:"🐷",name:"猪脸",code:"U+1F437",category:"animals",keywords:["猪","小猪","可爱"]},{symbol:"🐽",name:"猪鼻子",code:"U+1F43D",category:"animals",keywords:["猪鼻子","猪","鼻子"]},{symbol:"🐸",name:"青蛙脸",code:"U+1F438",category:"animals",keywords:["青蛙","蛙","绿色"]},{symbol:"🐵",name:"猴脸",code:"U+1F435",category:"animals",keywords:["猴子","猴","调皮"]},{symbol:"🙈",name:"非礼勿视",code:"U+1F648",category:"animals",keywords:["非礼勿视","猴子","害羞"]},{symbol:"🙉",name:"非礼勿听",code:"U+1F649",category:"animals",keywords:["非礼勿听","猴子","不听"]},{symbol:"🙊",name:"非礼勿言",code:"U+1F64A",category:"animals",keywords:["非礼勿言","猴子","不说"]},{symbol:"🐒",name:"猴子",code:"U+1F412",category:"animals",keywords:["猴子","猴","灵长类"]},{symbol:"🦍",name:"大猩猩",code:"U+1F98D",category:"animals",keywords:["大猩猩","猩猩","强壮"]},{symbol:"🦧",name:"猩猩",code:"U+1F9A7",category:"animals",keywords:["猩猩","红毛猩猩","灵长类"]},{symbol:"🐕",name:"狗",code:"U+1F415",category:"animals",keywords:["狗","犬","宠物"]},{symbol:"🐕‍🦺",name:"导盲犬",code:"U+1F415-200D-1F9BA",category:"animals",keywords:["导盲犬","服务犬","工作犬"]},{symbol:"🐩",name:"贵宾犬",code:"U+1F429",category:"animals",keywords:["贵宾犬","泰迪","卷毛狗"]},{symbol:"🐺",name:"狼",code:"U+1F43A",category:"animals",keywords:["狼","野狼","野生"]},{symbol:"🦝",name:"浣熊",code:"U+1F99D",category:"animals",keywords:["浣熊","小熊猫","可爱"]},{symbol:"🐱",name:"猫脸",code:"U+1F431",category:"animals",keywords:["猫脸","猫","可爱"]},{symbol:"🐈",name:"猫",code:"U+1F408",category:"animals",keywords:["猫","家猫","宠物"]},{symbol:"🐈‍⬛",name:"黑猫",code:"U+1F408-200D-2B1B",category:"animals",keywords:["黑猫","猫","黑色"]},{symbol:"🦌",name:"鹿",code:"U+1F98C",category:"animals",keywords:["鹿","梅花鹿","野生"]},{symbol:"🐃",name:"水牛",code:"U+1F403",category:"animals",keywords:["水牛","牛","农场"]},{symbol:"🐂",name:"公牛",code:"U+1F402",category:"animals",keywords:["公牛","牛","强壮"]},{symbol:"🐄",name:"奶牛",code:"U+1F404",category:"animals",keywords:["奶牛","牛","农场"]},{symbol:"🐎",name:"马",code:"U+1F40E",category:"animals",keywords:["马","骏马","奔跑"]},{symbol:"🐖",name:"猪",code:"U+1F416",category:"animals",keywords:["猪","家猪","农场"]},{symbol:"🐗",name:"野猪",code:"U+1F417",category:"animals",keywords:["野猪","猪","野生"]},{symbol:"🐏",name:"公羊",code:"U+1F40F",category:"animals",keywords:["公羊","羊","角"]},{symbol:"🐑",name:"绵羊",code:"U+1F411",category:"animals",keywords:["绵羊","羊","毛茸茸"]},{symbol:"🐐",name:"山羊",code:"U+1F410",category:"animals",keywords:["山羊","羊","胡子"]},{symbol:"🦙",name:"羊驼",code:"U+1F999",category:"animals",keywords:["羊驼","草泥马","可爱"]},{symbol:"🦏",name:"犀牛",code:"U+1F98F",category:"animals",keywords:["犀牛","角","厚皮"]},{symbol:"🦛",name:"河马",code:"U+1F99B",category:"animals",keywords:["河马","大嘴","水中"]},{symbol:"🐘",name:"大象",code:"U+1F418",category:"animals",keywords:["大象","象","长鼻子"]},{symbol:"🦣",name:"猛犸象",code:"U+1F9A3",category:"animals",keywords:["猛犸象","象","史前"]},{symbol:"🐪",name:"骆驼",code:"U+1F42A",category:"animals",keywords:["骆驼","单峰驼","沙漠"]},{symbol:"🐫",name:"双峰驼",code:"U+1F42B",category:"animals",keywords:["双峰驼","骆驼","沙漠"]},{symbol:"🦒",name:"长颈鹿",code:"U+1F992",category:"animals",keywords:["长颈鹿","长脖子","高"]},{symbol:"🦘",name:"袋鼠",code:"U+1F998",category:"animals",keywords:["袋鼠","跳跃","澳洲"]},{symbol:"🦬",name:"野牛",code:"U+1F9AC",category:"animals",keywords:["野牛","美洲野牛","草原"]},{symbol:"🐃",name:"水牛",code:"U+1F403",category:"animals",keywords:["水牛","牛","亚洲"]},{symbol:"🐔",name:"鸡",code:"U+1F414",category:"animals",keywords:["鸡","公鸡","农场"]},{symbol:"🐓",name:"公鸡",code:"U+1F413",category:"animals",keywords:["公鸡","鸡","报晓"]},{symbol:"🐣",name:"破壳小鸡",code:"U+1F423",category:"animals",keywords:["破壳","小鸡","新生"]},{symbol:"🐤",name:"小鸡",code:"U+1F424",category:"animals",keywords:["小鸡","雏鸡","可爱"]},{symbol:"🐥",name:"正面小鸡",code:"U+1F425",category:"animals",keywords:["小鸡","正面","可爱"]},{symbol:"🦆",name:"鸭子",code:"U+1F986",category:"animals",keywords:["鸭子","鸭","水鸟"]},{symbol:"🦢",name:"天鹅",code:"U+1F9A2",category:"animals",keywords:["天鹅","优雅","白色"]},{symbol:"🦅",name:"老鹰",code:"U+1F985",category:"animals",keywords:["老鹰","鹰","猛禽"]},{symbol:"🦉",name:"猫头鹰",code:"U+1F989",category:"animals",keywords:["猫头鹰","智慧","夜晚"]},{symbol:"🦤",name:"渡渡鸟",code:"U+1F9A4",category:"animals",keywords:["渡渡鸟","灭绝","鸟类"]},{symbol:"🪶",name:"羽毛",code:"U+1FAB6",category:"animals",keywords:["羽毛","鸟","轻盈"]},{symbol:"🦩",name:"火烈鸟",code:"U+1F9A9",category:"animals",keywords:["火烈鸟","粉色","优雅"]},{symbol:"🦚",name:"孔雀",code:"U+1F99A",category:"animals",keywords:["孔雀","美丽","开屏"]},{symbol:"🦜",name:"鹦鹉",code:"U+1F99C",category:"animals",keywords:["鹦鹉","彩色","说话"]},{symbol:"🐦",name:"鸟",code:"U+1F426",category:"animals",keywords:["鸟","小鸟","飞行"]},{symbol:"🐦‍⬛",name:"黑鸟",code:"U+1F426-200D-2B1B",category:"animals",keywords:["黑鸟","乌鸦","黑色"]},{symbol:"🐧",name:"企鹅",code:"U+1F427",category:"animals",keywords:["企鹅","南极","可爱"]},{symbol:"🕊️",name:"鸽子",code:"U+1F54A",category:"animals",keywords:["鸽子","和平","白色"]},{symbol:"🐸",name:"青蛙",code:"U+1F438",category:"animals",keywords:["青蛙","蛙","绿色"]},{symbol:"🐊",name:"鳄鱼",code:"U+1F40A",category:"animals",keywords:["鳄鱼","爬行动物","危险"]},{symbol:"🐢",name:"乌龟",code:"U+1F422",category:"animals",keywords:["乌龟","龟","长寿"]},{symbol:"🦎",name:"蜥蜴",code:"U+1F98E",category:"animals",keywords:["蜥蜴","爬行动物","变色"]},{symbol:"🐍",name:"蛇",code:"U+1F40D",category:"animals",keywords:["蛇","爬行动物","长"]},{symbol:"🐲",name:"龙脸",code:"U+1F432",category:"animals",keywords:["龙脸","龙","神话"]},{symbol:"🐉",name:"龙",code:"U+1F409",category:"animals",keywords:["龙","中国龙","神话"]},{symbol:"🦕",name:"长颈龙",code:"U+1F995",category:"animals",keywords:["长颈龙","恐龙","史前"]},{symbol:"🦖",name:"霸王龙",code:"U+1F996",category:"animals",keywords:["霸王龙","恐龙","史前"]},{symbol:"🐳",name:"喷水鲸鱼",code:"U+1F433",category:"animals",keywords:["喷水鲸鱼","鲸鱼","海洋"]},{symbol:"🐋",name:"鲸鱼",code:"U+1F40B",category:"animals",keywords:["鲸鱼","大鲸","海洋"]},{symbol:"🐬",name:"海豚",code:"U+1F42C",category:"animals",keywords:["海豚","聪明","海洋"]},{symbol:"🦭",name:"海豹",code:"U+1F9AD",category:"animals",keywords:["海豹","海洋","可爱"]},{symbol:"🐟",name:"鱼",code:"U+1F41F",category:"animals",keywords:["鱼","游泳","水中"]},{symbol:"🐠",name:"热带鱼",code:"U+1F420",category:"animals",keywords:["热带鱼","彩色","美丽"]},{symbol:"🐡",name:"河豚",code:"U+1F421",category:"animals",keywords:["河豚","刺","膨胀"]},{symbol:"🦈",name:"鲨鱼",code:"U+1F988",category:"animals",keywords:["鲨鱼","危险","海洋"]},{symbol:"🐙",name:"章鱼",code:"U+1F419",category:"animals",keywords:["章鱼","八爪鱼","海洋"]},{symbol:"🐚",name:"贝壳",code:"U+1F41A",category:"animals",keywords:["贝壳","海螺","海洋"]},{symbol:"🪸",name:"珊瑚",code:"U+1FAB8",category:"animals",keywords:["珊瑚","海洋","生物"]},{symbol:"🐌",name:"蜗牛",code:"U+1F40C",category:"animals",keywords:["蜗牛","慢","壳"]},{symbol:"🦋",name:"蝴蝶",code:"U+1F98B",category:"animals",keywords:["蝴蝶","美丽","飞舞"]},{symbol:"🐛",name:"毛毛虫",code:"U+1F41B",category:"animals",keywords:["毛毛虫","虫子","变化"]},{symbol:"🐜",name:"蚂蚁",code:"U+1F41C",category:"animals",keywords:["蚂蚁","勤劳","小"]},{symbol:"🐝",name:"蜜蜂",code:"U+1F41D",category:"animals",keywords:["蜜蜂","蜂蜜","勤劳"]},{symbol:"🪲",name:"甲虫",code:"U+1FAB2",category:"animals",keywords:["甲虫","昆虫","硬壳"]},{symbol:"🐞",name:"瓢虫",code:"U+1F41E",category:"animals",keywords:["瓢虫","红色","斑点"]},{symbol:"🦗",name:"蟋蟀",code:"U+1F997",category:"animals",keywords:["蟋蟀","昆虫","鸣叫"]},{symbol:"🪳",name:"蟑螂",code:"U+1FAB3",category:"animals",keywords:["蟑螂","昆虫","讨厌"]},{symbol:"🕷️",name:"蜘蛛",code:"U+1F577",category:"animals",keywords:["蜘蛛","网","八条腿"]},{symbol:"🕸️",name:"蜘蛛网",code:"U+1F578",category:"animals",keywords:["蜘蛛网","网","陷阱"]},{symbol:"🦂",name:"蝎子",code:"U+1F982",category:"animals",keywords:["蝎子","毒","尾巴"]},{symbol:"🦟",name:"蚊子",code:"U+1F99F",category:"animals",keywords:["蚊子","叮咬","讨厌"]},{symbol:"🪰",name:"苍蝇",code:"U+1FAB0",category:"animals",keywords:["苍蝇","昆虫","讨厌"]},{symbol:"🪱",name:"蚯蚓",code:"U+1FAB1",category:"animals",keywords:["蚯蚓","虫子","土壤"]},{symbol:"🦠",name:"细菌",code:"U+1F9A0",category:"animals",keywords:["细菌","病毒","微生物"]},{symbol:"🍎",name:"红苹果",code:"U+1F34E",category:"food",keywords:["苹果","红苹果","水果"]},{symbol:"🍏",name:"青苹果",code:"U+1F34F",category:"food",keywords:["苹果","青苹果","水果"]},{symbol:"🍊",name:"橘子",code:"U+1F34A",category:"food",keywords:["橘子","橙子","水果"]},{symbol:"🍋",name:"柠檬",code:"U+1F34B",category:"food",keywords:["柠檬","酸","水果"]},{symbol:"🍌",name:"香蕉",code:"U+1F34C",category:"food",keywords:["香蕉","黄色","水果"]},{symbol:"🍉",name:"西瓜",code:"U+1F349",category:"food",keywords:["西瓜","夏天","水果"]},{symbol:"🍇",name:"葡萄",code:"U+1F347",category:"food",keywords:["葡萄","紫色","水果"]},{symbol:"🍓",name:"草莓",code:"U+1F353",category:"food",keywords:["草莓","红色","水果"]},{symbol:"🫐",name:"蓝莓",code:"U+1FAD0",category:"food",keywords:["蓝莓","蓝色","水果"]},{symbol:"🍈",name:"甜瓜",code:"U+1F348",category:"food",keywords:["甜瓜","哈密瓜","水果"]},{symbol:"🍒",name:"樱桃",code:"U+1F352",category:"food",keywords:["樱桃","红色","水果"]},{symbol:"🍑",name:"桃子",code:"U+1F351",category:"food",keywords:["桃子","粉色","水果"]},{symbol:"🥭",name:"芒果",code:"U+1F96D",category:"food",keywords:["芒果","热带","水果"]},{symbol:"🍍",name:"菠萝",code:"U+1F34D",category:"food",keywords:["菠萝","热带","水果"]},{symbol:"🥥",name:"椰子",code:"U+1F965",category:"food",keywords:["椰子","热带","水果"]},{symbol:"🥝",name:"猕猴桃",code:"U+1F95D",category:"food",keywords:["猕猴桃","绿色","水果"]},{symbol:"🍅",name:"番茄",code:"U+1F345",category:"food",keywords:["番茄","西红柿","蔬菜"]},{symbol:"🍆",name:"茄子",code:"U+1F346",category:"food",keywords:["茄子","紫色","蔬菜"]},{symbol:"🥑",name:"牛油果",code:"U+1F951",category:"food",keywords:["牛油果","鳄梨","健康"]},{symbol:"🥦",name:"西兰花",code:"U+1F966",category:"food",keywords:["西兰花","绿色","蔬菜"]},{symbol:"🥬",name:"绿叶菜",code:"U+1F96C",category:"food",keywords:["绿叶菜","蔬菜","健康"]},{symbol:"🥒",name:"黄瓜",code:"U+1F952",category:"food",keywords:["黄瓜","绿色","蔬菜"]},{symbol:"🌶️",name:"辣椒",code:"U+1F336",category:"food",keywords:["辣椒","辣","香料"]},{symbol:"🫑",name:"甜椒",code:"U+1FAD1",category:"food",keywords:["甜椒","彩椒","蔬菜"]},{symbol:"🌽",name:"玉米",code:"U+1F33D",category:"food",keywords:["玉米","黄色","蔬菜"]},{symbol:"🥕",name:"胡萝卜",code:"U+1F955",category:"food",keywords:["胡萝卜","橙色","蔬菜"]},{symbol:"🫒",name:"橄榄",code:"U+1FAD2",category:"food",keywords:["橄榄","绿色","水果"]},{symbol:"🧄",name:"大蒜",code:"U+1F9C4",category:"food",keywords:["大蒜","香料","调料"]},{symbol:"🧅",name:"洋葱",code:"U+1F9C5",category:"food",keywords:["洋葱","蔬菜","调料"]},{symbol:"🥔",name:"土豆",code:"U+1F954",category:"food",keywords:["土豆","马铃薯","蔬菜"]},{symbol:"🍠",name:"红薯",code:"U+1F360",category:"food",keywords:["红薯","甘薯","蔬菜"]},{symbol:"🫘",name:"豆子",code:"U+1FAD8",category:"food",keywords:["豆子","豆类","蛋白质"]},{symbol:"🥜",name:"花生",code:"U+1F95C",category:"food",keywords:["花生","坚果","蛋白质"]},{symbol:"🌰",name:"栗子",code:"U+1F330",category:"food",keywords:["栗子","坚果","秋天"]},{symbol:"🍞",name:"面包",code:"U+1F35E",category:"food",keywords:["面包","主食","烘焙"]},{symbol:"🥐",name:"牛角包",code:"U+1F950",category:"food",keywords:["牛角包","面包","法式"]},{symbol:"🥖",name:"法棍",code:"U+1F956",category:"food",keywords:["法棍","面包","法式"]},{symbol:"🫓",name:"薄饼",code:"U+1FAD3",category:"food",keywords:["薄饼","面包","平面"]},{symbol:"🥨",name:"椒盐卷饼",code:"U+1F968",category:"food",keywords:["椒盐卷饼","面包","德式"]},{symbol:"🥯",name:"贝果",code:"U+1F96F",category:"food",keywords:["贝果","面包","圆形"]},{symbol:"🥞",name:"煎饼",code:"U+1F95E",category:"food",keywords:["煎饼","早餐","甜点"]},{symbol:"🧇",name:"华夫饼",code:"U+1F9C7",category:"food",keywords:["华夫饼","早餐","甜点"]},{symbol:"🧀",name:"奶酪",code:"U+1F9C0",category:"food",keywords:["奶酪","乳制品","黄色"]},{symbol:"🍖",name:"带骨肉",code:"U+1F356",category:"food",keywords:["带骨肉","肉类","蛋白质"]},{symbol:"🍗",name:"鸡腿",code:"U+1F357",category:"food",keywords:["鸡腿","鸡肉","蛋白质"]},{symbol:"🥩",name:"牛排",code:"U+1F969",category:"food",keywords:["牛排","牛肉","蛋白质"]},{symbol:"🥓",name:"培根",code:"U+1F953",category:"food",keywords:["培根","猪肉","早餐"]},{symbol:"🍔",name:"汉堡",code:"U+1F354",category:"food",keywords:["汉堡","快餐","美式"]},{symbol:"🍟",name:"薯条",code:"U+1F35F",category:"food",keywords:["薯条","快餐","土豆"]},{symbol:"🍕",name:"披萨",code:"U+1F355",category:"food",keywords:["披萨","意式","快餐"]},{symbol:"🌭",name:"热狗",code:"U+1F32D",category:"food",keywords:["热狗","快餐","香肠"]},{symbol:"🥪",name:"三明治",code:"U+1F96A",category:"food",keywords:["三明治","面包","快餐"]},{symbol:"🌮",name:"墨西哥卷饼",code:"U+1F32E",category:"food",keywords:["墨西哥卷饼","墨式","玉米饼"]},{symbol:"🌯",name:"卷饼",code:"U+1F32F",category:"food",keywords:["卷饼","墨式","包裹"]},{symbol:"🫔",name:"玉米粽",code:"U+1FAD4",category:"food",keywords:["玉米粽","墨式","玉米"]},{symbol:"🥙",name:"口袋饼",code:"U+1F959",category:"food",keywords:["口袋饼","中东","面包"]},{symbol:"🧆",name:"沙拉三明治",code:"U+1F9C6",category:"food",keywords:["沙拉三明治","中东","素食"]},{symbol:"🥚",name:"鸡蛋",code:"U+1F95A",category:"food",keywords:["鸡蛋","蛋白质","早餐"]},{symbol:"🍳",name:"煎蛋",code:"U+1F373",category:"food",keywords:["煎蛋","早餐","蛋类"]},{symbol:"🥘",name:"浅锅菜",code:"U+1F958",category:"food",keywords:["浅锅菜","西班牙","海鲜饭"]},{symbol:"🍲",name:"火锅",code:"U+1F372",category:"food",keywords:["火锅","热汤","中式"]},{symbol:"🫕",name:"火锅",code:"U+1FAD5",category:"food",keywords:["火锅","奶酪","瑞士"]},{symbol:"🥣",name:"碗",code:"U+1F963",category:"food",keywords:["碗","汤","谷物"]},{symbol:"🥗",name:"沙拉",code:"U+1F957",category:"food",keywords:["沙拉","蔬菜","健康"]},{symbol:"🍿",name:"爆米花",code:"U+1F37F",category:"food",keywords:["爆米花","零食","电影"]},{symbol:"🧈",name:"黄油",code:"U+1F9C8",category:"food",keywords:["黄油","乳制品","调料"]},{symbol:"🧂",name:"盐",code:"U+1F9C2",category:"food",keywords:["盐","调料","白色"]},{symbol:"🥫",name:"罐头",code:"U+1F96B",category:"food",keywords:["罐头","保存","食品"]},{symbol:"🍱",name:"便当",code:"U+1F371",category:"food",keywords:["便当","日式","盒饭"]},{symbol:"🍘",name:"米饼",code:"U+1F358",category:"food",keywords:["米饼","日式","零食"]},{symbol:"🍙",name:"饭团",code:"U+1F359",category:"food",keywords:["饭团","日式","米饭"]},{symbol:"🍚",name:"米饭",code:"U+1F35A",category:"food",keywords:["米饭","主食","亚洲"]},{symbol:"🍛",name:"咖喱饭",code:"U+1F35B",category:"food",keywords:["咖喱饭","日式","辣"]},{symbol:"🍜",name:"拉面",code:"U+1F35C",category:"food",keywords:["拉面","日式","面条"]},{symbol:"🍝",name:"意面",code:"U+1F35D",category:"food",keywords:["意面","意式","面条"]},{symbol:"🍠",name:"烤红薯",code:"U+1F360",category:"food",keywords:["烤红薯","甘薯","烘烤"]},{symbol:"🍢",name:"关东煮",code:"U+1F362",category:"food",keywords:["关东煮","日式","串"]},{symbol:"🍣",name:"寿司",code:"U+1F363",category:"food",keywords:["寿司","日式","生鱼"]},{symbol:"🍤",name:"炸虾",code:"U+1F364",category:"food",keywords:["炸虾","日式","海鲜"]},{symbol:"🍥",name:"鱼糕",code:"U+1F365",category:"food",keywords:["鱼糕","日式","鱼肉"]},{symbol:"🥮",name:"月饼",code:"U+1F96E",category:"food",keywords:["月饼","中式","节日"]},{symbol:"🍡",name:"团子",code:"U+1F361",category:"food",keywords:["团子","日式","甜点"]},{symbol:"🥟",name:"饺子",code:"U+1F95F",category:"food",keywords:["饺子","中式","包子"]},{symbol:"🥠",name:"幸运饼干",code:"U+1F960",category:"food",keywords:["幸运饼干","中式","预言"]},{symbol:"🥡",name:"外卖盒",code:"U+1F961",category:"food",keywords:["外卖盒","中式","打包"]},{symbol:"🦀",name:"螃蟹",code:"U+1F980",category:"food",keywords:["螃蟹","海鲜","甲壳类"]},{symbol:"🦞",name:"龙虾",code:"U+1F99E",category:"food",keywords:["龙虾","海鲜","甲壳类"]},{symbol:"🦐",name:"虾",code:"U+1F990",category:"food",keywords:["虾","海鲜","甲壳类"]},{symbol:"🦑",name:"鱿鱼",code:"U+1F991",category:"food",keywords:["鱿鱼","海鲜","软体动物"]},{symbol:"🦪",name:"牡蛎",code:"U+1F9AA",category:"food",keywords:["牡蛎","海鲜","贝类"]},{symbol:"🍦",name:"软冰淇淋",code:"U+1F366",category:"food",keywords:["软冰淇淋","甜点","冷饮"]},{symbol:"🍧",name:"刨冰",code:"U+1F367",category:"food",keywords:["刨冰","甜点","冷饮"]},{symbol:"🍨",name:"冰淇淋",code:"U+1F368",category:"food",keywords:["冰淇淋","甜点","冷饮"]},{symbol:"🍩",name:"甜甜圈",code:"U+1F369",category:"food",keywords:["甜甜圈","甜点","圆形"]},{symbol:"🍪",name:"饼干",code:"U+1F36A",category:"food",keywords:["饼干","甜点","零食"]},{symbol:"🎂",name:"生日蛋糕",code:"U+1F382",category:"food",keywords:["生日蛋糕","蛋糕","庆祝"]},{symbol:"🍰",name:"蛋糕",code:"U+1F370",category:"food",keywords:["蛋糕","甜点","奶油"]},{symbol:"🧁",name:"纸杯蛋糕",code:"U+1F9C1",category:"food",keywords:["纸杯蛋糕","甜点","小蛋糕"]},{symbol:"🥧",name:"派",code:"U+1F967",category:"food",keywords:["派","甜点","烘焙"]},{symbol:"🍫",name:"巧克力",code:"U+1F36B",category:"food",keywords:["巧克力","甜点","糖果"]},{symbol:"🍬",name:"糖果",code:"U+1F36C",category:"food",keywords:["糖果","甜点","零食"]},{symbol:"🍭",name:"棒棒糖",code:"U+1F36D",category:"food",keywords:["棒棒糖","糖果","甜点"]},{symbol:"🍮",name:"布丁",code:"U+1F36E",category:"food",keywords:["布丁","甜点","奶制品"]},{symbol:"🍯",name:"蜂蜜",code:"U+1F36F",category:"food",keywords:["蜂蜜","甜","天然"]},{symbol:"🍼",name:"奶瓶",code:"U+1F37C",category:"food",keywords:["奶瓶","婴儿","牛奶"]},{symbol:"🥛",name:"牛奶",code:"U+1F95B",category:"food",keywords:["牛奶","饮料","乳制品"]},{symbol:"☕",name:"咖啡",code:"U+2615",category:"food",keywords:["咖啡","饮料","提神"]},{symbol:"🫖",name:"茶壶",code:"U+1FAD6",category:"food",keywords:["茶壶","茶","饮料"]},{symbol:"🍵",name:"茶",code:"U+1F375",category:"food",keywords:["茶","饮料","热饮"]},{symbol:"🍶",name:"清酒",code:"U+1F376",category:"food",keywords:["清酒","日式","酒类"]},{symbol:"🍾",name:"香槟",code:"U+1F37E",category:"food",keywords:["香槟","庆祝","酒类"]},{symbol:"🍷",name:"红酒",code:"U+1F377",category:"food",keywords:["红酒","酒类","优雅"]},{symbol:"🍸",name:"鸡尾酒",code:"U+1F378",category:"food",keywords:["鸡尾酒","酒类","调酒"]},{symbol:"🍹",name:"热带饮料",code:"U+1F379",category:"food",keywords:["热带饮料","鸡尾酒","度假"]},{symbol:"🍺",name:"啤酒",code:"U+1F37A",category:"food",keywords:["啤酒","酒类","泡沫"]},{symbol:"🍻",name:"干杯",code:"U+1F37B",category:"food",keywords:["干杯","啤酒","庆祝"]},{symbol:"🥂",name:"碰杯",code:"U+1F942",category:"food",keywords:["碰杯","香槟","庆祝"]},{symbol:"🥃",name:"威士忌",code:"U+1F943",category:"food",keywords:["威士忌","酒类","烈酒"]},{symbol:"🫗",name:"倒液体",code:"U+1FAD7",category:"food",keywords:["倒液体","饮料","倾倒"]},{symbol:"🥤",name:"饮料杯",code:"U+1F964",category:"food",keywords:["饮料杯","软饮","吸管"]},{symbol:"🧋",name:"珍珠奶茶",code:"U+1F9CB",category:"food",keywords:["珍珠奶茶","奶茶","台式"]},{symbol:"🧃",name:"果汁盒",code:"U+1F9C3",category:"food",keywords:["果汁盒","果汁","儿童"]},{symbol:"🧉",name:"马黛茶",code:"U+1F9C9",category:"food",keywords:["马黛茶","南美","茶类"]},{symbol:"🧊",name:"冰块",code:"U+1F9CA",category:"food",keywords:["冰块","冰","冷饮"]},{symbol:"🚗",name:"汽车",code:"U+1F697",category:"travel",keywords:["汽车","车","交通"]},{symbol:"🚕",name:"出租车",code:"U+1F695",category:"travel",keywords:["出租车","的士","交通"]},{symbol:"🚙",name:"SUV",code:"U+1F699",category:"travel",keywords:["SUV","越野车","交通"]},{symbol:"🚌",name:"公交车",code:"U+1F68C",category:"travel",keywords:["公交车","巴士","交通"]},{symbol:"🚎",name:"无轨电车",code:"U+1F68E",category:"travel",keywords:["无轨电车","电车","交通"]},{symbol:"🏎️",name:"赛车",code:"U+1F3CE",category:"travel",keywords:["赛车","跑车","速度"]},{symbol:"🚓",name:"警车",code:"U+1F693",category:"travel",keywords:["警车","警察","执法"]},{symbol:"🚑",name:"救护车",code:"U+1F691",category:"travel",keywords:["救护车","医疗","急救"]},{symbol:"🚒",name:"消防车",code:"U+1F692",category:"travel",keywords:["消防车","消防","救火"]},{symbol:"🚐",name:"小巴",code:"U+1F690",category:"travel",keywords:["小巴","面包车","交通"]},{symbol:"🛻",name:"皮卡",code:"U+1F6FB",category:"travel",keywords:["皮卡","卡车","货车"]},{symbol:"🚚",name:"货车",code:"U+1F69A",category:"travel",keywords:["货车","卡车","运输"]},{symbol:"🚛",name:"拖车",code:"U+1F69B",category:"travel",keywords:["拖车","大卡车","运输"]},{symbol:"🚜",name:"拖拉机",code:"U+1F69C",category:"travel",keywords:["拖拉机","农机","农业"]},{symbol:"🏍️",name:"摩托车",code:"U+1F3CD",category:"travel",keywords:["摩托车","机车","交通"]},{symbol:"🛵",name:"踏板车",code:"U+1F6F5",category:"travel",keywords:["踏板车","电动车","交通"]},{symbol:"🚲",name:"自行车",code:"U+1F6B2",category:"travel",keywords:["自行车","单车","环保"]},{symbol:"🛴",name:"滑板车",code:"U+1F6F4",category:"travel",keywords:["滑板车","踏板车","交通"]},{symbol:"🛹",name:"滑板",code:"U+1F6F9",category:"travel",keywords:["滑板","运动","街头"]},{symbol:"🛼",name:"旱冰鞋",code:"U+1F6FC",category:"travel",keywords:["旱冰鞋","滑冰","运动"]},{symbol:"🚁",name:"直升机",code:"U+1F681",category:"travel",keywords:["直升机","飞机","航空"]},{symbol:"✈️",name:"飞机",code:"U+2708",category:"travel",keywords:["飞机","航空","旅行"]},{symbol:"🛩️",name:"小飞机",code:"U+1F6E9",category:"travel",keywords:["小飞机","私人飞机","航空"]},{symbol:"🛫",name:"起飞",code:"U+1F6EB",category:"travel",keywords:["起飞","飞机","出发"]},{symbol:"🛬",name:"降落",code:"U+1F6EC",category:"travel",keywords:["降落","飞机","到达"]},{symbol:"🪂",name:"降落伞",code:"U+1FA82",category:"travel",keywords:["降落伞","跳伞","极限运动"]},{symbol:"💺",name:"座位",code:"U+1F4BA",category:"travel",keywords:["座位","飞机","旅行"]},{symbol:"🚀",name:"火箭",code:"U+1F680",category:"travel",keywords:["火箭","太空","科技"]},{symbol:"🛸",name:"UFO",code:"U+1F6F8",category:"travel",keywords:["UFO","飞碟","外星人"]},{symbol:"🚉",name:"车站",code:"U+1F689",category:"travel",keywords:["车站","火车站","交通"]},{symbol:"🚇",name:"地铁",code:"U+1F687",category:"travel",keywords:["地铁","地下铁","交通"]},{symbol:"🚝",name:"单轨列车",code:"U+1F69D",category:"travel",keywords:["单轨列车","轻轨","交通"]},{symbol:"🚄",name:"高铁",code:"U+1F684",category:"travel",keywords:["高铁","高速列车","交通"]},{symbol:"🚅",name:"子弹头列车",code:"U+1F685",category:"travel",keywords:["子弹头列车","新干线","高铁"]},{symbol:"🚈",name:"轻轨",code:"U+1F688",category:"travel",keywords:["轻轨","电车","交通"]},{symbol:"🚞",name:"山地铁路",code:"U+1F69E",category:"travel",keywords:["山地铁路","登山","交通"]},{symbol:"🚋",name:"电车",code:"U+1F68B",category:"travel",keywords:["电车","有轨电车","交通"]},{symbol:"🚃",name:"铁路车厢",code:"U+1F683",category:"travel",keywords:["铁路车厢","火车","交通"]},{symbol:"🚋",name:"电车",code:"U+1F68B",category:"travel",keywords:["电车","有轨电车","交通"]},{symbol:"🚆",name:"火车",code:"U+1F686",category:"travel",keywords:["火车","列车","交通"]},{symbol:"🚂",name:"蒸汽火车",code:"U+1F682",category:"travel",keywords:["蒸汽火车","老式","怀旧"]},{symbol:"🚊",name:"电车",code:"U+1F68A",category:"travel",keywords:["电车","有轨电车","城市"]},{symbol:"🚝",name:"单轨列车",code:"U+1F69D",category:"travel",keywords:["单轨列车","现代","交通"]},{symbol:"🚠",name:"山地缆车",code:"U+1F6A0",category:"travel",keywords:["山地缆车","缆车","山区"]},{symbol:"🚡",name:"空中缆车",code:"U+1F6A1",category:"travel",keywords:["空中缆车","缆车","观光"]},{symbol:"🛰️",name:"卫星",code:"U+1F6F0",category:"travel",keywords:["卫星","太空","通讯"]},{symbol:"🚢",name:"船",code:"U+1F6A2",category:"travel",keywords:["船","轮船","海运"]},{symbol:"⛵",name:"帆船",code:"U+26F5",category:"travel",keywords:["帆船","航海","风帆"]},{symbol:"🛥️",name:"快艇",code:"U+1F6E5",category:"travel",keywords:["快艇","游艇","水上"]},{symbol:"🚤",name:"快艇",code:"U+1F6A4",category:"travel",keywords:["快艇","摩托艇","水上"]},{symbol:"⛴️",name:"渡轮",code:"U+26F4",category:"travel",keywords:["渡轮","轮渡","海运"]},{symbol:"🛳️",name:"客轮",code:"U+1F6F3",category:"travel",keywords:["客轮","邮轮","旅游"]},{symbol:"🚁",name:"直升机",code:"U+1F681",category:"travel",keywords:["直升机","旋翼","航空"]},{symbol:"🛶",name:"独木舟",code:"U+1F6F6",category:"travel",keywords:["独木舟","皮划艇","水上"]},{symbol:"⚓",name:"锚",code:"U+2693",category:"travel",keywords:["锚","船锚","海洋"]},{symbol:"⛽",name:"加油站",code:"U+26FD",category:"travel",keywords:["加油站","燃料","汽车"]},{symbol:"🚨",name:"警车灯",code:"U+1F6A8",category:"travel",keywords:["警车灯","警报","紧急"]},{symbol:"🚥",name:"水平红绿灯",code:"U+1F6A5",category:"travel",keywords:["水平红绿灯","交通灯","信号"]},{symbol:"🚦",name:"垂直红绿灯",code:"U+1F6A6",category:"travel",keywords:["垂直红绿灯","交通灯","信号"]},{symbol:"🛑",name:"停车标志",code:"U+1F6D1",category:"travel",keywords:["停车标志","停止","交通"]},{symbol:"🚧",name:"施工",code:"U+1F6A7",category:"travel",keywords:["施工","建设","道路"]},{symbol:"🏗️",name:"建筑起重机",code:"U+1F3D7",category:"travel",keywords:["建筑起重机","建设","工程"]},{symbol:"🏭",name:"工厂",code:"U+1F3ED",category:"travel",keywords:["工厂","制造","工业"]},{symbol:"🏠",name:"房子",code:"U+1F3E0",category:"travel",keywords:["房子","家","住宅"]},{symbol:"🏡",name:"带花园的房子",code:"U+1F3E1",category:"travel",keywords:["带花园的房子","别墅","住宅"]},{symbol:"🏘️",name:"住宅区",code:"U+1F3D8",category:"travel",keywords:["住宅区","社区","房屋"]},{symbol:"🏚️",name:"废弃房屋",code:"U+1F3DA",category:"travel",keywords:["废弃房屋","破房子","荒废"]},{symbol:"🏗️",name:"建筑工地",code:"U+1F3D7",category:"travel",keywords:["建筑工地","施工","建设"]},{symbol:"🏢",name:"办公楼",code:"U+1F3E2",category:"travel",keywords:["办公楼","商务","工作"]},{symbol:"🏬",name:"百货商店",code:"U+1F3EC",category:"travel",keywords:["百货商店","购物","商场"]},{symbol:"🏣",name:"日式邮局",code:"U+1F3E3",category:"travel",keywords:["日式邮局","邮局","日本"]},{symbol:"🏤",name:"欧式邮局",code:"U+1F3E4",category:"travel",keywords:["欧式邮局","邮局","欧洲"]},{symbol:"🏥",name:"医院",code:"U+1F3E5",category:"travel",keywords:["医院","医疗","健康"]},{symbol:"🏦",name:"银行",code:"U+1F3E6",category:"travel",keywords:["银行","金融","钱"]},{symbol:"🏨",name:"酒店",code:"U+1F3E8",category:"travel",keywords:["酒店","住宿","旅行"]},{symbol:"🏩",name:"情人酒店",code:"U+1F3E9",category:"travel",keywords:["情人酒店","爱情","浪漫"]},{symbol:"🏪",name:"便利店",code:"U+1F3EA",category:"travel",keywords:["便利店","商店","购物"]},{symbol:"🏫",name:"学校",code:"U+1F3EB",category:"travel",keywords:["学校","教育","学习"]},{symbol:"🏬",name:"百货商店",code:"U+1F3EC",category:"travel",keywords:["百货商店","购物中心","商场"]},{symbol:"🏭",name:"工厂",code:"U+1F3ED",category:"travel",keywords:["工厂","制造业","工业"]},{symbol:"🏯",name:"日式城堡",code:"U+1F3EF",category:"travel",keywords:["日式城堡","城堡","日本"]},{symbol:"🏰",name:"欧式城堡",code:"U+1F3F0",category:"travel",keywords:["欧式城堡","城堡","欧洲"]},{symbol:"💒",name:"婚礼",code:"U+1F492",category:"travel",keywords:["婚礼","教堂","结婚"]},{symbol:"🗼",name:"东京塔",code:"U+1F5FC",category:"travel",keywords:["东京塔","塔","日本"]},{symbol:"🗽",name:"自由女神像",code:"U+1F5FD",category:"travel",keywords:["自由女神像","纽约","美国"]},{symbol:"⛪",name:"教堂",code:"U+26EA",category:"travel",keywords:["教堂","宗教","基督教"]},{symbol:"🕌",name:"清真寺",code:"U+1F54C",category:"travel",keywords:["清真寺","宗教","伊斯兰教"]},{symbol:"🛕",name:"印度教神庙",code:"U+1F6D5",category:"travel",keywords:["印度教神庙","宗教","印度教"]},{symbol:"🕍",name:"犹太教堂",code:"U+1F54D",category:"travel",keywords:["犹太教堂","宗教","犹太教"]},{symbol:"⚽",name:"足球",code:"U+26BD",category:"activities",keywords:["足球","运动","球类"]},{symbol:"🏀",name:"篮球",code:"U+1F3C0",category:"activities",keywords:["篮球","运动","球类"]},{symbol:"🏈",name:"橄榄球",code:"U+1F3C8",category:"activities",keywords:["橄榄球","美式足球","运动"]},{symbol:"⚾",name:"棒球",code:"U+26BE",category:"activities",keywords:["棒球","运动","球类"]},{symbol:"🥎",name:"垒球",code:"U+1F94E",category:"activities",keywords:["垒球","运动","球类"]},{symbol:"🎾",name:"网球",code:"U+1F3BE",category:"activities",keywords:["网球","运动","球类"]},{symbol:"🏐",name:"排球",code:"U+1F3D0",category:"activities",keywords:["排球","运动","球类"]},{symbol:"🏉",name:"橄榄球",code:"U+1F3C9",category:"activities",keywords:["橄榄球","英式橄榄球","运动"]},{symbol:"🥏",name:"飞盘",code:"U+1F94F",category:"activities",keywords:["飞盘","运动","户外"]},{symbol:"🎱",name:"台球",code:"U+1F3B1",category:"activities",keywords:["台球","8号球","运动"]},{symbol:"🪀",name:"悠悠球",code:"U+1FA80",category:"activities",keywords:["悠悠球","玩具","技巧"]},{symbol:"🏓",name:"乒乓球",code:"U+1F3D3",category:"activities",keywords:["乒乓球","运动","球类"]},{symbol:"🏸",name:"羽毛球",code:"U+1F3F8",category:"activities",keywords:["羽毛球","运动","球类"]},{symbol:"🏒",name:"冰球",code:"U+1F3D2",category:"activities",keywords:["冰球","运动","冰上"]},{symbol:"🥍",name:"长曲棍球",code:"U+1F94D",category:"activities",keywords:["长曲棍球","运动","球类"]},{symbol:"🏑",name:"曲棍球",code:"U+1F3D1",category:"activities",keywords:["曲棍球","运动","球类"]},{symbol:"🛝",name:"滑梯",code:"U+1F6DD",category:"activities",keywords:["滑梯","游乐场","儿童"]},{symbol:"🎿",name:"滑雪",code:"U+1F3BF",category:"activities",keywords:["滑雪","运动","冬季"]},{symbol:"🛷",name:"雪橇",code:"U+1F6F7",category:"activities",keywords:["雪橇","运动","冬季"]},{symbol:"⛸️",name:"滑冰",code:"U+26F8",category:"activities",keywords:["滑冰","运动","冰上"]},{symbol:"🥌",name:"冰壶",code:"U+1F94C",category:"activities",keywords:["冰壶","运动","冰上"]},{symbol:"🎯",name:"飞镖",code:"U+1F3AF",category:"activities",keywords:["飞镖","靶心","游戏"]},{symbol:"🪁",name:"风筝",code:"U+1FA81",category:"activities",keywords:["风筝","户外","飞行"]},{symbol:"🎣",name:"钓鱼",code:"U+1F3A3",category:"activities",keywords:["钓鱼","户外","休闲"]},{symbol:"🤿",name:"潜水",code:"U+1F93F",category:"activities",keywords:["潜水","水下","运动"]},{symbol:"🏊",name:"游泳",code:"U+1F3CA",category:"activities",keywords:["游泳","运动","水上"]},{symbol:"🏄",name:"冲浪",code:"U+1F3C4",category:"activities",keywords:["冲浪","运动","海浪"]},{symbol:"🚣",name:"划船",code:"U+1F6A3",category:"activities",keywords:["划船","运动","水上"]},{symbol:"🧗",name:"攀岩",code:"U+1F9D7",category:"activities",keywords:["攀岩","运动","极限"]},{symbol:"🚴",name:"骑自行车",code:"U+1F6B4",category:"activities",keywords:["骑自行车","运动","健身"]},{symbol:"🚵",name:"山地自行车",code:"U+1F6B5",category:"activities",keywords:["山地自行车","运动","户外"]},{symbol:"🤸",name:"翻筋斗",code:"U+1F938",category:"activities",keywords:["翻筋斗","体操","运动"]},{symbol:"🤼",name:"摔跤",code:"U+1F93C",category:"activities",keywords:["摔跤","运动","格斗"]},{symbol:"🤽",name:"水球",code:"U+1F93D",category:"activities",keywords:["水球","运动","水上"]},{symbol:"🤾",name:"手球",code:"U+1F93E",category:"activities",keywords:["手球","运动","球类"]},{symbol:"🤹",name:"杂耍",code:"U+1F939",category:"activities",keywords:["杂耍","表演","技巧"]},{symbol:"🧘",name:"冥想",code:"U+1F9D8",category:"activities",keywords:["冥想","瑜伽","放松"]},{symbol:"🛀",name:"洗澡",code:"U+1F6C0",category:"activities",keywords:["洗澡","清洁","放松"]},{symbol:"🛌",name:"睡觉",code:"U+1F6CC",category:"activities",keywords:["睡觉","休息","床"]},{symbol:"🎭",name:"表演艺术",code:"U+1F3AD",category:"activities",keywords:["表演艺术","戏剧","面具"]},{symbol:"🩰",name:"芭蕾舞鞋",code:"U+1FA70",category:"activities",keywords:["芭蕾舞鞋","舞蹈","艺术"]},{symbol:"🎨",name:"艺术",code:"U+1F3A8",category:"activities",keywords:["艺术","绘画","创作"]},{symbol:"🎬",name:"电影",code:"U+1F3AC",category:"activities",keywords:["电影","拍摄","娱乐"]},{symbol:"🎤",name:"麦克风",code:"U+1F3A4",category:"activities",keywords:["麦克风","唱歌","音乐"]},{symbol:"🎧",name:"耳机",code:"U+1F3A7",category:"activities",keywords:["耳机","音乐","听歌"]},{symbol:"🎼",name:"乐谱",code:"U+1F3BC",category:"activities",keywords:["乐谱","音乐","作曲"]},{symbol:"🎵",name:"音符",code:"U+1F3B5",category:"activities",keywords:["音符","音乐","旋律"]},{symbol:"🎶",name:"多个音符",code:"U+1F3B6",category:"activities",keywords:["多个音符","音乐","歌曲"]},{symbol:"🎹",name:"钢琴",code:"U+1F3B9",category:"activities",keywords:["钢琴","音乐","乐器"]},{symbol:"🥁",name:"鼓",code:"U+1F941",category:"activities",keywords:["鼓","音乐","乐器"]},{symbol:"🪘",name:"长鼓",code:"U+1FA98",category:"activities",keywords:["长鼓","音乐","乐器"]},{symbol:"🎷",name:"萨克斯",code:"U+1F3B7",category:"activities",keywords:["萨克斯","音乐","乐器"]},{symbol:"🎺",name:"小号",code:"U+1F3BA",category:"activities",keywords:["小号","音乐","乐器"]},{symbol:"🎸",name:"吉他",code:"U+1F3B8",category:"activities",keywords:["吉他","音乐","乐器"]},{symbol:"🪕",name:"班卓琴",code:"U+1FA95",category:"activities",keywords:["班卓琴","音乐","乐器"]},{symbol:"🎻",name:"小提琴",code:"U+1F3BB",category:"activities",keywords:["小提琴","音乐","乐器"]},{symbol:"🪗",name:"手风琴",code:"U+1FA97",category:"activities",keywords:["手风琴","音乐","乐器"]},{symbol:"🎲",name:"骰子",code:"U+1F3B2",category:"activities",keywords:["骰子","游戏","运气"]},{symbol:"♠️",name:"黑桃",code:"U+2660",category:"activities",keywords:["黑桃","扑克","游戏"]},{symbol:"♥️",name:"红心",code:"U+2665",category:"activities",keywords:["红心","扑克","游戏"]},{symbol:"♦️",name:"方块",code:"U+2666",category:"activities",keywords:["方块","扑克","游戏"]},{symbol:"♣️",name:"梅花",code:"U+2663",category:"activities",keywords:["梅花","扑克","游戏"]},{symbol:"♟️",name:"棋子",code:"U+265F",category:"activities",keywords:["棋子","国际象棋","游戏"]},{symbol:"🃏",name:"小丑牌",code:"U+1F0CF",category:"activities",keywords:["小丑牌","扑克","游戏"]},{symbol:"🀄",name:"麻将红中",code:"U+1F004",category:"activities",keywords:["麻将红中","麻将","游戏"]},{symbol:"🎴",name:"花札",code:"U+1F3B4",category:"activities",keywords:["花札","日式纸牌","游戏"]},{symbol:"🎮",name:"游戏手柄",code:"U+1F3AE",category:"activities",keywords:["游戏手柄","电子游戏","娱乐"]},{symbol:"🕹️",name:"操纵杆",code:"U+1F579",category:"activities",keywords:["操纵杆","游戏","街机"]},{symbol:"🎰",name:"老虎机",code:"U+1F3B0",category:"activities",keywords:["老虎机","赌博","游戏"]},{symbol:"🎳",name:"保龄球",code:"U+1F3B3",category:"activities",keywords:["保龄球","运动","游戏"]},{symbol:"⌚",name:"手表",code:"U+231A",category:"objects",keywords:["手表","时间","配饰"]},{symbol:"📱",name:"手机",code:"U+1F4F1",category:"objects",keywords:["手机","电话","通讯"]},{symbol:"📲",name:"手机来电",code:"U+1F4F2",category:"objects",keywords:["手机来电","电话","通讯"]},{symbol:"💻",name:"笔记本电脑",code:"U+1F4BB",category:"objects",keywords:["笔记本电脑","电脑","工作"]},{symbol:"⌨️",name:"键盘",code:"U+2328",category:"objects",keywords:["键盘","电脑","输入"]},{symbol:"🖥️",name:"台式电脑",code:"U+1F5A5",category:"objects",keywords:["台式电脑","电脑","显示器"]},{symbol:"🖨️",name:"打印机",code:"U+1F5A8",category:"objects",keywords:["打印机","办公","设备"]},{symbol:"🖱️",name:"鼠标",code:"U+1F5B1",category:"objects",keywords:["鼠标","电脑","点击"]},{symbol:"🖲️",name:"轨迹球",code:"U+1F5B2",category:"objects",keywords:["轨迹球","电脑","输入"]},{symbol:"🕹️",name:"操纵杆",code:"U+1F579",category:"objects",keywords:["操纵杆","游戏","控制"]},{symbol:"🗜️",name:"压缩",code:"U+1F5DC",category:"objects",keywords:["压缩","工具","夹子"]},{symbol:"💽",name:"迷你光盘",code:"U+1F4BD",category:"objects",keywords:["迷你光盘","存储","数据"]},{symbol:"💾",name:"软盘",code:"U+1F4BE",category:"objects",keywords:["软盘","存储","保存"]},{symbol:"💿",name:"CD",code:"U+1F4BF",category:"objects",keywords:["CD","光盘","音乐"]},{symbol:"📀",name:"DVD",code:"U+1F4C0",category:"objects",keywords:["DVD","光盘","视频"]},{symbol:"🧮",name:"算盘",code:"U+1F9EE",category:"objects",keywords:["算盘","计算","传统"]},{symbol:"🎥",name:"摄像机",code:"U+1F3A5",category:"objects",keywords:["摄像机","拍摄","电影"]},{symbol:"📹",name:"摄像机",code:"U+1F4F9",category:"objects",keywords:["摄像机","录像","视频"]},{symbol:"📷",name:"相机",code:"U+1F4F7",category:"objects",keywords:["相机","拍照","摄影"]},{symbol:"📸",name:"闪光灯相机",code:"U+1F4F8",category:"objects",keywords:["闪光灯相机","拍照","闪光"]},{symbol:"🔍",name:"放大镜",code:"U+1F50D",category:"objects",keywords:["放大镜","搜索","查找"]},{symbol:"🔎",name:"右向放大镜",code:"U+1F50E",category:"objects",keywords:["右向放大镜","搜索","查找"]},{symbol:"🕯️",name:"蜡烛",code:"U+1F56F",category:"objects",keywords:["蜡烛","光","浪漫"]},{symbol:"💡",name:"灯泡",code:"U+1F4A1",category:"objects",keywords:["灯泡","想法","创意"]},{symbol:"🔦",name:"手电筒",code:"U+1F526",category:"objects",keywords:["手电筒","照明","工具"]},{symbol:"🏮",name:"红灯笼",code:"U+1F3EE",category:"objects",keywords:["红灯笼","中式","装饰"]},{symbol:"🪔",name:"油灯",code:"U+1FA94",category:"objects",keywords:["油灯","传统","照明"]},{symbol:"📔",name:"装饰笔记本",code:"U+1F4D4",category:"objects",keywords:["装饰笔记本","笔记","书写"]},{symbol:"📕",name:"闭合书本",code:"U+1F4D5",category:"objects",keywords:["闭合书本","书","阅读"]},{symbol:"📖",name:"打开书本",code:"U+1F4D6",category:"objects",keywords:["打开书本","书","阅读"]},{symbol:"📗",name:"绿色书本",code:"U+1F4D7",category:"objects",keywords:["绿色书本","书","阅读"]},{symbol:"📘",name:"蓝色书本",code:"U+1F4D8",category:"objects",keywords:["蓝色书本","书","阅读"]},{symbol:"📙",name:"橙色书本",code:"U+1F4D9",category:"objects",keywords:["橙色书本","书","阅读"]},{symbol:"📚",name:"书堆",code:"U+1F4DA",category:"objects",keywords:["书堆","书籍","学习"]},{symbol:"📓",name:"笔记本",code:"U+1F4D3",category:"objects",keywords:["笔记本","记录","书写"]},{symbol:"📒",name:"账本",code:"U+1F4D2",category:"objects",keywords:["账本","记录","账目"]},{symbol:"📃",name:"卷页",code:"U+1F4C3",category:"objects",keywords:["卷页","文档","纸张"]},{symbol:"📜",name:"卷轴",code:"U+1F4DC",category:"objects",keywords:["卷轴","古代","文档"]},{symbol:"📄",name:"文档",code:"U+1F4C4",category:"objects",keywords:["文档","文件","纸张"]},{symbol:"📰",name:"报纸",code:"U+1F4F0",category:"objects",keywords:["报纸","新闻","信息"]},{symbol:"🗞️",name:"卷起的报纸",code:"U+1F5DE",category:"objects",keywords:["卷起的报纸","新闻","信息"]},{symbol:"📑",name:"书签标签",code:"U+1F4D1",category:"objects",keywords:["书签标签","标记","文档"]},{symbol:"🔖",name:"书签",code:"U+1F516",category:"objects",keywords:["书签","标记","阅读"]},{symbol:"🏷️",name:"标签",code:"U+1F3F7",category:"objects",keywords:["标签","标记","分类"]},{symbol:"💰",name:"钱袋",code:"U+1F4B0",category:"objects",keywords:["钱袋","金钱","财富"]},{symbol:"🪙",name:"硬币",code:"U+1FA99",category:"objects",keywords:["硬币","金钱","货币"]},{symbol:"💴",name:"日元",code:"U+1F4B4",category:"objects",keywords:["日元","货币","钞票"]},{symbol:"💵",name:"美元",code:"U+1F4B5",category:"objects",keywords:["美元","货币","钞票"]},{symbol:"💶",name:"欧元",code:"U+1F4B6",category:"objects",keywords:["欧元","货币","钞票"]},{symbol:"💷",name:"英镑",code:"U+1F4B7",category:"objects",keywords:["英镑","货币","钞票"]},{symbol:"💸",name:"飞走的钱",code:"U+1F4B8",category:"objects",keywords:["飞走的钱","花钱","支出"]},{symbol:"💳",name:"信用卡",code:"U+1F4B3",category:"objects",keywords:["信用卡","支付","银行卡"]},{symbol:"🧾",name:"收据",code:"U+1F9FE",category:"objects",keywords:["收据","账单","购物"]},{symbol:"💎",name:"钻石",code:"U+1F48E",category:"objects",keywords:["钻石","宝石","珍贵"]},{symbol:"⚖️",name:"天平",code:"U+2696",category:"objects",keywords:["天平","平衡","正义"]},{symbol:"🪜",name:"梯子",code:"U+1FA9C",category:"objects",keywords:["梯子","攀爬","工具"]},{symbol:"🧰",name:"工具箱",code:"U+1F9F0",category:"objects",keywords:["工具箱","工具","修理"]},{symbol:"🔧",name:"扳手",code:"U+1F527",category:"objects",keywords:["扳手","工具","修理"]},{symbol:"🔨",name:"锤子",code:"U+1F528",category:"objects",keywords:["锤子","工具","建造"]},{symbol:"⚒️",name:"锤子和镐",code:"U+2692",category:"objects",keywords:["锤子和镐","工具","建造"]},{symbol:"🛠️",name:"锤子和扳手",code:"U+1F6E0",category:"objects",keywords:["锤子和扳手","工具","修理"]},{symbol:"⛏️",name:"镐",code:"U+26CF",category:"objects",keywords:["镐","工具","挖掘"]},{symbol:"🪚",name:"锯子",code:"U+1FA9A",category:"objects",keywords:["锯子","工具","切割"]},{symbol:"🔩",name:"螺栓",code:"U+1F529",category:"objects",keywords:["螺栓","螺丝","固定"]},{symbol:"⚙️",name:"齿轮",code:"U+2699",category:"objects",keywords:["齿轮","机械","设置"]},{symbol:"🪤",name:"捕鼠器",code:"U+1FAA4",category:"objects",keywords:["捕鼠器","陷阱","工具"]},{symbol:"🧲",name:"磁铁",code:"U+1F9F2",category:"objects",keywords:["磁铁","吸引","科学"]},{symbol:"🪣",name:"水桶",code:"U+1FAA3",category:"objects",keywords:["水桶","容器","清洁"]},{symbol:"🔫",name:"水枪",code:"U+1F52B",category:"objects",keywords:["水枪","玩具","游戏"]},{symbol:"🧨",name:"炸药",code:"U+1F9E8",category:"objects",keywords:["炸药","爆炸","危险"]},{symbol:"🪓",name:"斧头",code:"U+1FA93",category:"objects",keywords:["斧头","工具","砍伐"]},{symbol:"🔪",name:"菜刀",code:"U+1F52A",category:"objects",keywords:["菜刀","厨具","切割"]},{symbol:"🗡️",name:"剑",code:"U+1F5E1",category:"objects",keywords:["剑","武器","古代"]},{symbol:"⚔️",name:"交叉剑",code:"U+2694",category:"objects",keywords:["交叉剑","战斗","武器"]},{symbol:"🛡️",name:"盾牌",code:"U+1F6E1",category:"objects",keywords:["盾牌","防护","安全"]},{symbol:"🚬",name:"香烟",code:"U+1F6AC",category:"objects",keywords:["香烟","吸烟","不健康"]},{symbol:"⚰️",name:"棺材",code:"U+26B0",category:"objects",keywords:["棺材","死亡","葬礼"]},{symbol:"🪦",name:"墓碑",code:"U+1FAA6",category:"objects",keywords:["墓碑","死亡","纪念"]},{symbol:"⚱️",name:"骨灰盒",code:"U+26B1",category:"objects",keywords:["骨灰盒","死亡","纪念"]},{symbol:"🏺",name:"双耳瓶",code:"U+1F3FA",category:"objects",keywords:["双耳瓶","古代","容器"]},{symbol:"🔮",name:"水晶球",code:"U+1F52E",category:"objects",keywords:["水晶球","预言","神秘"]},{symbol:"📿",name:"念珠",code:"U+1F4FF",category:"objects",keywords:["念珠","宗教","祈祷"]},{symbol:"🧿",name:"恶魔之眼",code:"U+1F9FF",category:"objects",keywords:["恶魔之眼","护身符","保护"]},{symbol:"💈",name:"理发店标志",code:"U+1F488",category:"objects",keywords:["理发店标志","理发","服务"]},{symbol:"⚗️",name:"蒸馏器",code:"U+2697",category:"objects",keywords:["蒸馏器","化学","实验"]},{symbol:"🔭",name:"望远镜",code:"U+1F52D",category:"objects",keywords:["望远镜","观察","天文"]},{symbol:"🔬",name:"显微镜",code:"U+1F52C",category:"objects",keywords:["显微镜","科学","研究"]},{symbol:"🕳️",name:"洞",code:"U+1F573",category:"objects",keywords:["洞","空洞","缺失"]},{symbol:"🩹",name:"创可贴",code:"U+1FA79",category:"objects",keywords:["创可贴","医疗","治疗"]},{symbol:"🩺",name:"听诊器",code:"U+1FA7A",category:"objects",keywords:["听诊器","医疗","检查"]},{symbol:"💊",name:"药丸",code:"U+1F48A",category:"objects",keywords:["药丸","医疗","治疗"]},{symbol:"💉",name:"注射器",code:"U+1F489",category:"objects",keywords:["注射器","医疗","疫苗"]},{symbol:"🩸",name:"血滴",code:"U+1FA78",category:"objects",keywords:["血滴","血液","医疗"]},{symbol:"🧬",name:"DNA",code:"U+1F9EC",category:"objects",keywords:["DNA","基因","科学"]},{symbol:"🦠",name:"微生物",code:"U+1F9A0",category:"objects",keywords:["微生物","细菌","病毒"]},{symbol:"🧫",name:"培养皿",code:"U+1F9EB",category:"objects",keywords:["培养皿","实验","科学"]},{symbol:"🧪",name:"试管",code:"U+1F9EA",category:"objects",keywords:["试管","实验","化学"]},{symbol:"🌡️",name:"温度计",code:"U+1F321",category:"objects",keywords:["温度计","温度","测量"]},{symbol:"🧹",name:"扫帚",code:"U+1F9F9",category:"objects",keywords:["扫帚","清洁","打扫"]},{symbol:"🪠",name:"马桶塞",code:"U+1FAA0",category:"objects",keywords:["马桶塞","清洁","工具"]},{symbol:"🧽",name:"海绵",code:"U+1F9FD",category:"objects",keywords:["海绵","清洁","洗涤"]},{symbol:"🧴",name:"洗涤瓶",code:"U+1F9F4",category:"objects",keywords:["洗涤瓶","清洁","容器"]},{symbol:"🛎️",name:"服务铃",code:"U+1F6CE",category:"objects",keywords:["服务铃","铃铛","服务"]},{symbol:"🔑",name:"钥匙",code:"U+1F511",category:"objects",keywords:["钥匙","开锁","安全"]},{symbol:"🗝️",name:"老式钥匙",code:"U+1F5DD",category:"objects",keywords:["老式钥匙","古代","开锁"]},{symbol:"🚪",name:"门",code:"U+1F6AA",category:"objects",keywords:["门","入口","建筑"]},{symbol:"🪑",name:"椅子",code:"U+1FA91",category:"objects",keywords:["椅子","家具","坐"]},{symbol:"🛏️",name:"床",code:"U+1F6CF",category:"objects",keywords:["床","家具","睡觉"]},{symbol:"🛋️",name:"沙发",code:"U+1F6CB",category:"objects",keywords:["沙发","家具","休息"]},{symbol:"🪞",name:"镜子",code:"U+1FA9E",category:"objects",keywords:["镜子","反射","家具"]},{symbol:"🚽",name:"马桶",code:"U+1F6BD",category:"objects",keywords:["马桶","厕所","卫生间"]},{symbol:"🚿",name:"淋浴",code:"U+1F6BF",category:"objects",keywords:["淋浴","洗澡","清洁"]},{symbol:"🛁",name:"浴缸",code:"U+1F6C1",category:"objects",keywords:["浴缸","洗澡","放松"]},{symbol:"🪒",name:"剃须刀",code:"U+1FA92",category:"objects",keywords:["剃须刀","剃须","清洁"]},{symbol:"🧴",name:"洗发水",code:"U+1F9F4",category:"objects",keywords:["洗发水","洗头","清洁"]},{symbol:"🧷",name:"安全别针",code:"U+1F9F7",category:"objects",keywords:["安全别针","别针","固定"]},{symbol:"🧼",name:"肥皂",code:"U+1F9FC",category:"objects",keywords:["肥皂","清洁","洗手"]},{symbol:"🪥",name:"牙刷",code:"U+1FAA5",category:"objects",keywords:["牙刷","刷牙","清洁"]},{symbol:"🧻",name:"卷纸",code:"U+1F9FB",category:"objects",keywords:["卷纸","纸巾","清洁"]},{symbol:"🪖",name:"军用头盔",code:"U+1FA96",category:"objects",keywords:["军用头盔","保护","军事"]},{symbol:"⛑️",name:"救援头盔",code:"U+26D1",category:"objects",keywords:["救援头盔","安全","救援"]},{symbol:"📿",name:"念珠",code:"U+1F4FF",category:"objects",keywords:["念珠","宗教","祈祷"]},{symbol:"💄",name:"口红",code:"U+1F484",category:"objects",keywords:["口红","化妆","美容"]},{symbol:"💍",name:"戒指",code:"U+1F48D",category:"objects",keywords:["戒指","珠宝","结婚"]},{symbol:"💎",name:"宝石",code:"U+1F48E",category:"objects",keywords:["宝石","钻石","珍贵"]},{symbol:"🔇",name:"静音",code:"U+1F507",category:"objects",keywords:["静音","无声","音量"]},{symbol:"🔈",name:"低音量",code:"U+1F508",category:"objects",keywords:["低音量","声音","音响"]},{symbol:"🔉",name:"中音量",code:"U+1F509",category:"objects",keywords:["中音量","声音","音响"]},{symbol:"🔊",name:"高音量",code:"U+1F50A",category:"objects",keywords:["高音量","声音","音响"]},{symbol:"📢",name:"扩音器",code:"U+1F4E2",category:"objects",keywords:["扩音器","广播","通知"]},{symbol:"📣",name:"喇叭",code:"U+1F4E3",category:"objects",keywords:["喇叭","呐喊","加油"]},{symbol:"📯",name:"邮号",code:"U+1F4EF",category:"objects",keywords:["邮号","号角","音乐"]},{symbol:"🔔",name:"铃铛",code:"U+1F514",category:"objects",keywords:["铃铛","通知","提醒"]},{symbol:"🔕",name:"静音铃铛",code:"U+1F515",category:"objects",keywords:["静音铃铛","静音","关闭"]},{symbol:"🎼",name:"乐谱",code:"U+1F3BC",category:"objects",keywords:["乐谱","音乐","作曲"]},{symbol:"🎵",name:"音符",code:"U+1F3B5",category:"objects",keywords:["音符","音乐","旋律"]},{symbol:"🎶",name:"音符",code:"U+1F3B6",category:"objects",keywords:["音符","音乐","歌曲"]},{symbol:"🎙️",name:"录音室麦克风",code:"U+1F399",category:"objects",keywords:["录音室麦克风","录音","广播"]},{symbol:"🎚️",name:"电平滑块",code:"U+1F39A",category:"objects",keywords:["电平滑块","音响","调节"]},{symbol:"🎛️",name:"控制旋钮",code:"U+1F39B",category:"objects",keywords:["控制旋钮","音响","调节"]},{symbol:"🎤",name:"麦克风",code:"U+1F3A4",category:"objects",keywords:["麦克风","唱歌","录音"]},{symbol:"🎧",name:"耳机",code:"U+1F3A7",category:"objects",keywords:["耳机","音乐","听歌"]},{symbol:"📻",name:"收音机",code:"U+1F4FB",category:"objects",keywords:["收音机","广播","音乐"]},{symbol:"🎷",name:"萨克斯",code:"U+1F3B7",category:"objects",keywords:["萨克斯","乐器","音乐"]},{symbol:"🪗",name:"手风琴",code:"U+1FA97",category:"objects",keywords:["手风琴","乐器","音乐"]},{symbol:"🎸",name:"吉他",code:"U+1F3B8",category:"objects",keywords:["吉他","乐器","音乐"]},{symbol:"🎹",name:"钢琴键",code:"U+1F3B9",category:"objects",keywords:["钢琴键","钢琴","音乐"]},{symbol:"🎺",name:"小号",code:"U+1F3BA",category:"objects",keywords:["小号","乐器","音乐"]},{symbol:"🎻",name:"小提琴",code:"U+1F3BB",category:"objects",keywords:["小提琴","乐器","音乐"]},{symbol:"🪕",name:"班卓琴",code:"U+1FA95",category:"objects",keywords:["班卓琴","乐器","音乐"]},{symbol:"🥁",name:"鼓",code:"U+1F941",category:"objects",keywords:["鼓","乐器","音乐"]},{symbol:"🪘",name:"长鼓",code:"U+1FA98",category:"objects",keywords:["长鼓","乐器","音乐"]},{symbol:"📱",name:"智能手机",code:"U+1F4F1",category:"objects",keywords:["智能手机","手机","通讯"]},{symbol:"📞",name:"电话听筒",code:"U+1F4DE",category:"objects",keywords:["电话听筒","电话","通话"]},{symbol:"☎️",name:"电话",code:"U+260E",category:"objects",keywords:["电话","座机","通讯"]},{symbol:"📟",name:"寻呼机",code:"U+1F4DF",category:"objects",keywords:["寻呼机","通讯","老式"]},{symbol:"📠",name:"传真机",code:"U+1F4E0",category:"objects",keywords:["传真机","办公","通讯"]},{symbol:"🔋",name:"电池",code:"U+1F50B",category:"objects",keywords:["电池","电力","能源"]},{symbol:"🪫",name:"低电量电池",code:"U+1FAAB",category:"objects",keywords:["低电量电池","电池","电力不足"]},{symbol:"🔌",name:"电源插头",code:"U+1F50C",category:"objects",keywords:["电源插头","电力","插座"]},{symbol:"💻",name:"笔记本",code:"U+1F4BB",category:"objects",keywords:["笔记本","电脑","工作"]},{symbol:"🖥️",name:"桌面电脑",code:"U+1F5A5",category:"objects",keywords:["桌面电脑","电脑","办公"]},{symbol:"🖨️",name:"打印机",code:"U+1F5A8",category:"objects",keywords:["打印机","办公","文档"]},{symbol:"⌨️",name:"键盘",code:"U+2328",category:"objects",keywords:["键盘","输入","电脑"]},{symbol:"🖱️",name:"电脑鼠标",code:"U+1F5B1",category:"objects",keywords:["电脑鼠标","鼠标","点击"]},{symbol:"🖲️",name:"轨迹球",code:"U+1F5B2",category:"objects",keywords:["轨迹球","输入","电脑"]},{symbol:"💽",name:"MD",code:"U+1F4BD",category:"objects",keywords:["MD","迷你光盘","存储"]},{symbol:"💾",name:"软盘",code:"U+1F4BE",category:"objects",keywords:["软盘","存储","保存"]},{symbol:"💿",name:"光盘",code:"U+1F4BF",category:"objects",keywords:["光盘","CD","音乐"]},{symbol:"📀",name:"DVD",code:"U+1F4C0",category:"objects",keywords:["DVD","视频","电影"]},{symbol:"🧮",name:"算盘",code:"U+1F9EE",category:"objects",keywords:["算盘","计算","传统"]},{symbol:"🎥",name:"电影摄像机",code:"U+1F3A5",category:"objects",keywords:["电影摄像机","拍摄","电影"]},{symbol:"📹",name:"摄像机",code:"U+1F4F9",category:"objects",keywords:["摄像机","录像","视频"]},{symbol:"📷",name:"照相机",code:"U+1F4F7",category:"objects",keywords:["照相机","拍照","摄影"]},{symbol:"📸",name:"闪光照相机",code:"U+1F4F8",category:"objects",keywords:["闪光照相机","拍照","闪光"]},{symbol:"🔍",name:"左指放大镜",code:"U+1F50D",category:"objects",keywords:["左指放大镜","搜索","查找"]},{symbol:"🔎",name:"右指放大镜",code:"U+1F50E",category:"objects",keywords:["右指放大镜","搜索","查找"]},{symbol:"🕯️",name:"蜡烛",code:"U+1F56F",category:"objects",keywords:["蜡烛","光线","浪漫"]},{symbol:"💡",name:"电灯泡",code:"U+1F4A1",category:"objects",keywords:["电灯泡","想法","创意"]},{symbol:"🔦",name:"手电筒",code:"U+1F526",category:"objects",keywords:["手电筒","照明","工具"]},{symbol:"🏮",name:"红纸灯笼",code:"U+1F3EE",category:"objects",keywords:["红纸灯笼","中式","节日"]},{symbol:"🪔",name:"迪雅油灯",code:"U+1FA94",category:"objects",keywords:["迪雅油灯","印度","节日"]},{symbol:"📔",name:"装饰封面笔记本",code:"U+1F4D4",category:"objects",keywords:["装饰封面笔记本","笔记","记录"]},{symbol:"📕",name:"闭合的书",code:"U+1F4D5",category:"objects",keywords:["闭合的书","书籍","阅读"]},{symbol:"📖",name:"打开的书",code:"U+1F4D6",category:"objects",keywords:["打开的书","阅读","学习"]},{symbol:"📗",name:"绿皮书",code:"U+1F4D7",category:"objects",keywords:["绿皮书","书籍","阅读"]},{symbol:"📘",name:"蓝皮书",code:"U+1F4D8",category:"objects",keywords:["蓝皮书","书籍","阅读"]},{symbol:"📙",name:"橙皮书",code:"U+1F4D9",category:"objects",keywords:["橙皮书","书籍","阅读"]},{symbol:"📚",name:"书籍",code:"U+1F4DA",category:"objects",keywords:["书籍","书堆","学习"]},{symbol:"📓",name:"笔记本",code:"U+1F4D3",category:"objects",keywords:["笔记本","记录","学习"]},{symbol:"📒",name:"账本",code:"U+1F4D2",category:"objects",keywords:["账本","记录","账务"]},{symbol:"📃",name:"卷页文档",code:"U+1F4C3",category:"objects",keywords:["卷页文档","文件","纸张"]},{symbol:"📜",name:"卷轴",code:"U+1F4DC",category:"objects",keywords:["卷轴","古代","文档"]},{symbol:"📄",name:"朝上文档",code:"U+1F4C4",category:"objects",keywords:["朝上文档","文件","纸张"]},{symbol:"📰",name:"报纸",code:"U+1F4F0",category:"objects",keywords:["报纸","新闻","信息"]},{symbol:"🗞️",name:"卷起的报纸",code:"U+1F5DE",category:"objects",keywords:["卷起的报纸","新闻","媒体"]},{symbol:"📑",name:"书签标签页",code:"U+1F4D1",category:"objects",keywords:["书签标签页","标记","文档"]},{symbol:"🔖",name:"书签",code:"U+1F516",category:"objects",keywords:["书签","标记","阅读"]},{symbol:"🏷️",name:"标签",code:"U+1F3F7",category:"objects",keywords:["标签","标记","分类"]},{symbol:"🏷️",name:"划船",code:"U+1F6A3",category:"activities",keywords:["划船","运动","水上"]},{symbol:"🧗",name:"攀岩",code:"U+1F9D7",category:"activities",keywords:["攀岩","运动","极限"]},{symbol:"🚵",name:"山地自行车",code:"U+1F6B5",category:"activities",keywords:["山地自行车","运动","户外"]},{symbol:"🚴",name:"骑自行车",code:"U+1F6B4",category:"activities",keywords:["骑自行车","运动","健身"]},{symbol:"🏇",name:"赛马",code:"U+1F3C7",category:"activities",keywords:["赛马","运动","马术"]},{symbol:"🤸",name:"体操",code:"U+1F938",category:"activities",keywords:["体操","运动","翻跟头"]},{symbol:"🤼",name:"摔跤",code:"U+1F93C",category:"activities",keywords:["摔跤","运动","格斗"]},{symbol:"🤽",name:"水球",code:"U+1F93D",category:"activities",keywords:["水球","运动","水上"]},{symbol:"🤾",name:"手球",code:"U+1F93E",category:"activities",keywords:["手球","运动","球类"]},{symbol:"🤹",name:"杂耍",code:"U+1F939",category:"activities",keywords:["杂耍","表演","技巧"]},{symbol:"🧘",name:"冥想",code:"U+1F9D8",category:"activities",keywords:["冥想","瑜伽","放松"]},{symbol:"🛀",name:"洗澡",code:"U+1F6C0",category:"activities",keywords:["洗澡","放松","清洁"]},{symbol:"🛌",name:"睡觉",code:"U+1F6CC",category:"activities",keywords:["睡觉","休息","床"]},{symbol:"🎭",name:"表演艺术",code:"U+1F3AD",category:"activities",keywords:["表演艺术","戏剧","面具"]},{symbol:"🩰",name:"芭蕾舞鞋",code:"U+1FA70",category:"activities",keywords:["芭蕾舞鞋","舞蹈","艺术"]},{symbol:"🎨",name:"艺术",code:"U+1F3A8",category:"activities",keywords:["艺术","绘画","创作"]},{symbol:"🎬",name:"电影",code:"U+1F3AC",category:"activities",keywords:["电影","拍摄","娱乐"]},{symbol:"🎤",name:"麦克风",code:"U+1F3A4",category:"activities",keywords:["麦克风","唱歌","表演"]},{symbol:"🎧",name:"耳机",code:"U+1F3A7",category:"activities",keywords:["耳机","音乐","听歌"]},{symbol:"🎼",name:"乐谱",code:"U+1F3BC",category:"activities",keywords:["乐谱","音乐","作曲"]},{symbol:"🎵",name:"音符",code:"U+1F3B5",category:"activities",keywords:["音符","音乐","旋律"]},{symbol:"🎶",name:"多个音符",code:"U+1F3B6",category:"activities",keywords:["多个音符","音乐","歌曲"]},{symbol:"🎹",name:"钢琴",code:"U+1F3B9",category:"activities",keywords:["钢琴","音乐","乐器"]},{symbol:"🥁",name:"鼓",code:"U+1F941",category:"activities",keywords:["鼓","音乐","乐器"]},{symbol:"🪘",name:"长鼓",code:"U+1FA98",category:"activities",keywords:["长鼓","音乐","乐器"]},{symbol:"🎷",name:"萨克斯",code:"U+1F3B7",category:"activities",keywords:["萨克斯","音乐","乐器"]},{symbol:"🎺",name:"小号",code:"U+1F3BA",category:"activities",keywords:["小号","音乐","乐器"]},{symbol:"🎸",name:"吉他",code:"U+1F3B8",category:"activities",keywords:["吉他","音乐","乐器"]},{symbol:"🪕",name:"班卓琴",code:"U+1FA95",category:"activities",keywords:["班卓琴","音乐","乐器"]},{symbol:"🎻",name:"小提琴",code:"U+1F3BB",category:"activities",keywords:["小提琴","音乐","乐器"]},{symbol:"🪗",name:"手风琴",code:"U+1FA97",category:"activities",keywords:["手风琴","音乐","乐器"]},{symbol:"🪈",name:"长笛",code:"U+1FA88",category:"activities",keywords:["长笛","音乐","乐器"]},{symbol:"🎲",name:"骰子",code:"U+1F3B2",category:"activities",keywords:["骰子","游戏","运气"]},{symbol:"♟️",name:"国际象棋",code:"U+265F",category:"activities",keywords:["国际象棋","棋类","策略"]},{symbol:"🎳",name:"保龄球",code:"U+1F3B3",category:"activities",keywords:["保龄球","运动","游戏"]},{symbol:"🎮",name:"游戏手柄",code:"U+1F3AE",category:"activities",keywords:["游戏手柄","电子游戏","娱乐"]},{symbol:"🎰",name:"老虎机",code:"U+1F3B0",category:"activities",keywords:["老虎机","赌博","运气"]},{symbol:"🧩",name:"拼图",code:"U+1F9E9",category:"activities",keywords:["拼图","游戏","智力"]},{symbol:"🃏",name:"小丑牌",code:"U+1F0CF",category:"activities",keywords:["小丑牌","扑克","游戏"]},{symbol:"🀄",name:"麻将红中",code:"U+1F004",category:"activities",keywords:["麻将红中","麻将","游戏"]},{symbol:"🎴",name:"花札",code:"U+1F3B4",category:"activities",keywords:["花札","日式纸牌","游戏"]},{symbol:"🎊",name:"彩带",code:"U+1F38A",category:"activities",keywords:["彩带","庆祝","派对"]},{symbol:"🎉",name:"拉炮",code:"U+1F389",category:"activities",keywords:["拉炮","庆祝","派对"]},{symbol:"🎈",name:"气球",code:"U+1F388",category:"activities",keywords:["气球","庆祝","派对"]},{symbol:"🎁",name:"礼物",code:"U+1F381",category:"activities",keywords:["礼物","礼品","惊喜"]},{symbol:"🎀",name:"蝴蝶结",code:"U+1F380",category:"activities",keywords:["蝴蝶结","装饰","可爱"]},{symbol:"🎗️",name:"丝带",code:"U+1F397",category:"activities",keywords:["丝带","纪念","支持"]},{symbol:"🎟️",name:"门票",code:"U+1F39F",category:"activities",keywords:["门票","入场券","活动"]},{symbol:"🎫",name:"票",code:"U+1F3AB",category:"activities",keywords:["票","门票","入场"]},{symbol:"⌚",name:"手表",code:"U+231A",category:"objects",keywords:["手表","时间","配饰"]},{symbol:"📱",name:"手机",code:"U+1F4F1",category:"objects",keywords:["手机","电话","通讯"]},{symbol:"📲",name:"手机来电",code:"U+1F4F2",category:"objects",keywords:["手机来电","电话","通讯"]},{symbol:"💻",name:"笔记本电脑",code:"U+1F4BB",category:"objects",keywords:["笔记本电脑","电脑","工作"]},{symbol:"⌨️",name:"键盘",code:"U+2328",category:"objects",keywords:["键盘","电脑","输入"]},{symbol:"🖥️",name:"台式电脑",code:"U+1F5A5",category:"objects",keywords:["台式电脑","显示器","电脑"]},{symbol:"🖨️",name:"打印机",code:"U+1F5A8",category:"objects",keywords:["打印机","办公","设备"]},{symbol:"🖱️",name:"鼠标",code:"U+1F5B1",category:"objects",keywords:["鼠标","电脑","点击"]},{symbol:"🖲️",name:"轨迹球",code:"U+1F5B2",category:"objects",keywords:["轨迹球","电脑","输入"]},{symbol:"🕹️",name:"游戏手柄",code:"U+1F579",category:"objects",keywords:["游戏手柄","游戏","控制器"]},{symbol:"🗜️",name:"压缩",code:"U+1F5DC",category:"objects",keywords:["压缩","工具","夹子"]},{symbol:"💽",name:"光盘",code:"U+1F4BD",category:"objects",keywords:["光盘","CD","存储"]},{symbol:"💾",name:"软盘",code:"U+1F4BE",category:"objects",keywords:["软盘","保存","存储"]},{symbol:"💿",name:"CD",code:"U+1F4BF",category:"objects",keywords:["CD","光盘","音乐"]},{symbol:"📀",name:"DVD",code:"U+1F4C0",category:"objects",keywords:["DVD","光盘","视频"]},{symbol:"🧮",name:"算盘",code:"U+1F9EE",category:"objects",keywords:["算盘","计算","传统"]},{symbol:"🎥",name:"摄像机",code:"U+1F3A5",category:"objects",keywords:["摄像机","拍摄","电影"]},{symbol:"📹",name:"摄像头",code:"U+1F4F9",category:"objects",keywords:["摄像头","录像","拍摄"]},{symbol:"📷",name:"相机",code:"U+1F4F7",category:"objects",keywords:["相机","拍照","摄影"]},{symbol:"📸",name:"闪光灯相机",code:"U+1F4F8",category:"objects",keywords:["闪光灯相机","拍照","摄影"]},{symbol:"🔍",name:"放大镜",code:"U+1F50D",category:"objects",keywords:["放大镜","搜索","查找"]},{symbol:"🔎",name:"右向放大镜",code:"U+1F50E",category:"objects",keywords:["放大镜","搜索","查找"]},{symbol:"🕯️",name:"蜡烛",code:"U+1F56F",category:"objects",keywords:["蜡烛","火焰","照明"]},{symbol:"💡",name:"灯泡",code:"U+1F4A1",category:"objects",keywords:["灯泡","想法","照明"]},{symbol:"🔦",name:"手电筒",code:"U+1F526",category:"objects",keywords:["手电筒","照明","工具"]},{symbol:"🏮",name:"红灯笼",code:"U+1F3EE",category:"objects",keywords:["红灯笼","中国","节日"]},{symbol:"🪔",name:"油灯",code:"U+1FA94",category:"objects",keywords:["油灯","照明","传统"]},{symbol:"📔",name:"笔记本",code:"U+1F4D4",category:"objects",keywords:["笔记本","记录","学习"]},{symbol:"📕",name:"闭合书本",code:"U+1F4D5",category:"objects",keywords:["闭合书本","书","阅读"]},{symbol:"📖",name:"打开书本",code:"U+1F4D6",category:"objects",keywords:["打开书本","书","阅读"]},{symbol:"📗",name:"绿色书本",code:"U+1F4D7",category:"objects",keywords:["绿色书本","书","学习"]},{symbol:"📘",name:"蓝色书本",code:"U+1F4D8",category:"objects",keywords:["蓝色书本","书","学习"]},{symbol:"📙",name:"橙色书本",code:"U+1F4D9",category:"objects",keywords:["橙色书本","书","学习"]},{symbol:"📚",name:"书堆",code:"U+1F4DA",category:"objects",keywords:["书堆","书籍","学习"]},{symbol:"📓",name:"笔记本",code:"U+1F4D3",category:"objects",keywords:["笔记本","记录","写作"]},{symbol:"📒",name:"账本",code:"U+1F4D2",category:"objects",keywords:["账本","记录","账目"]},{symbol:"📃",name:"卷页",code:"U+1F4C3",category:"objects",keywords:["卷页","文档","纸张"]},{symbol:"📜",name:"卷轴",code:"U+1F4DC",category:"objects",keywords:["卷轴","古代","文档"]},{symbol:"📄",name:"文档",code:"U+1F4C4",category:"objects",keywords:["文档","纸张","文件"]},{symbol:"📰",name:"报纸",code:"U+1F4F0",category:"objects",keywords:["报纸","新闻","信息"]},{symbol:"🗞️",name:"卷起的报纸",code:"U+1F5DE",category:"objects",keywords:["卷起的报纸","新闻","信息"]},{symbol:"📑",name:"书签标签",code:"U+1F4D1",category:"objects",keywords:["书签标签","标记","文档"]},{symbol:"🔖",name:"书签",code:"U+1F516",category:"objects",keywords:["书签","标记","阅读"]},{symbol:"🏷️",name:"标签",code:"U+1F3F7",category:"objects",keywords:["标签","标记","分类"]},{symbol:"💰",name:"钱袋",code:"U+1F4B0",category:"objects",keywords:["钱袋","金钱","财富"]},{symbol:"🪙",name:"硬币",code:"U+1FA99",category:"objects",keywords:["硬币","金钱","货币"]},{symbol:"💴",name:"日元",code:"U+1F4B4",category:"objects",keywords:["日元","货币","日本"]},{symbol:"💵",name:"美元",code:"U+1F4B5",category:"objects",keywords:["美元","货币","美国"]},{symbol:"💶",name:"欧元",code:"U+1F4B6",category:"objects",keywords:["欧元","货币","欧洲"]},{symbol:"💷",name:"英镑",code:"U+1F4B7",category:"objects",keywords:["英镑","货币","英国"]},{symbol:"💸",name:"飞走的钱",code:"U+1F4B8",category:"objects",keywords:["飞走的钱","花钱","支出"]},{symbol:"💳",name:"信用卡",code:"U+1F4B3",category:"objects",keywords:["信用卡","支付","银行卡"]},{symbol:"🧾",name:"收据",code:"U+1F9FE",category:"objects",keywords:["收据","账单","购物"]},{symbol:"💎",name:"钻石",code:"U+1F48E",category:"objects",keywords:["钻石","宝石","珍贵"]},{symbol:"⚖️",name:"天平",code:"U+2696",category:"objects",keywords:["天平","正义","平衡"]},{symbol:"🪜",name:"梯子",code:"U+1FA9C",category:"objects",keywords:["梯子","攀爬","工具"]},{symbol:"🧰",name:"工具箱",code:"U+1F9F0",category:"objects",keywords:["工具箱","工具","修理"]},{symbol:"🔧",name:"扳手",code:"U+1F527",category:"objects",keywords:["扳手","工具","修理"]},{symbol:"🔨",name:"锤子",code:"U+1F528",category:"objects",keywords:["锤子","工具","建造"]},{symbol:"⚒️",name:"锤子和镐",code:"U+2692",category:"objects",keywords:["锤子和镐","工具","挖掘"]},{symbol:"🛠️",name:"锤子和扳手",code:"U+1F6E0",category:"objects",keywords:["锤子和扳手","工具","修理"]},{symbol:"⛏️",name:"镐",code:"U+26CF",category:"objects",keywords:["镐","工具","挖掘"]},{symbol:"🪚",name:"锯子",code:"U+1FA9A",category:"objects",keywords:["锯子","工具","切割"]},{symbol:"🔩",name:"螺栓",code:"U+1F529",category:"objects",keywords:["螺栓","工具","固定"]},{symbol:"⚙️",name:"齿轮",code:"U+2699",category:"objects",keywords:["齿轮","机械","设置"]},{symbol:"🪤",name:"捕鼠器",code:"U+1FAA4",category:"objects",keywords:["捕鼠器","陷阱","工具"]},{symbol:"🧲",name:"磁铁",code:"U+1F9F2",category:"objects",keywords:["磁铁","吸引","科学"]},{symbol:"🪣",name:"水桶",code:"U+1FAA3",category:"objects",keywords:["水桶","容器","清洁"]},{symbol:"🔫",name:"水枪",code:"U+1F52B",category:"objects",keywords:["水枪","玩具","游戏"]},{symbol:"💣",name:"炸弹",code:"U+1F4A3",category:"objects",keywords:["炸弹","爆炸","危险"]},{symbol:"🧨",name:"鞭炮",code:"U+1F9E8",category:"objects",keywords:["鞭炮","爆竹","庆祝"]},{symbol:"🪓",name:"斧头",code:"U+1FA93",category:"objects",keywords:["斧头","工具","砍伐"]},{symbol:"🔪",name:"菜刀",code:"U+1F52A",category:"objects",keywords:["菜刀","厨具","切割"]},{symbol:"🗡️",name:"剑",code:"U+1F5E1",category:"objects",keywords:["剑","武器","古代"]},{symbol:"⚔️",name:"交叉剑",code:"U+2694",category:"objects",keywords:["交叉剑","战斗","武器"]},{symbol:"🛡️",name:"盾牌",code:"U+1F6E1",category:"objects",keywords:["盾牌","防护","保护"]},{symbol:"🚬",name:"香烟",code:"U+1F6AC",category:"objects",keywords:["香烟","吸烟","不健康"]},{symbol:"⚰️",name:"棺材",code:"U+26B0",category:"objects",keywords:["棺材","死亡","葬礼"]},{symbol:"🪦",name:"墓碑",code:"U+1FAA6",category:"objects",keywords:["墓碑","死亡","纪念"]},{symbol:"⚱️",name:"骨灰盒",code:"U+26B1",category:"objects",keywords:["骨灰盒","死亡","纪念"]},{symbol:"🏺",name:"双耳瓶",code:"U+1F3FA",category:"objects",keywords:["双耳瓶","古代","容器"]},{symbol:"🔮",name:"水晶球",code:"U+1F52E",category:"objects",keywords:["水晶球","预言","神秘"]},{symbol:"📿",name:"念珠",code:"U+1F4FF",category:"objects",keywords:["念珠","宗教","祈祷"]},{symbol:"🧿",name:"恶魔之眼",code:"U+1F9FF",category:"objects",keywords:["恶魔之眼","护身符","保护"]},{symbol:"💈",name:"理发店标志",code:"U+1F488",category:"objects",keywords:["理发店标志","理发","服务"]},{symbol:"⚗️",name:"蒸馏器",code:"U+2697",category:"objects",keywords:["蒸馏器","化学","实验"]},{symbol:"🔭",name:"望远镜",code:"U+1F52D",category:"objects",keywords:["望远镜","观察","天文"]},{symbol:"🔬",name:"显微镜",code:"U+1F52C",category:"objects",keywords:["显微镜","科学","研究"]},{symbol:"🔦",name:"手电筒",code:"U+1F526",category:"objects",keywords:["手电筒","照明","工具"]},{symbol:"🏮",name:"红灯笼",code:"U+1F3EE",category:"objects",keywords:["红灯笼","中国","节日"]},{symbol:"🪔",name:"油灯",code:"U+1FA94",category:"objects",keywords:["油灯","照明","传统"]},{symbol:"📔",name:"笔记本",code:"U+1F4D4",category:"objects",keywords:["笔记本","记录","学习"]},{symbol:"❤️",name:"红心",code:"U+2764",category:"symbols",keywords:["红心","爱","喜欢"]},{symbol:"🧡",name:"橙心",code:"U+1F9E1",category:"symbols",keywords:["橙心","爱","温暖"]},{symbol:"💛",name:"黄心",code:"U+1F49B",category:"symbols",keywords:["黄心","爱","友谊"]},{symbol:"💚",name:"绿心",code:"U+1F49A",category:"symbols",keywords:["绿心","爱","自然"]},{symbol:"💙",name:"蓝心",code:"U+1F499",category:"symbols",keywords:["蓝心","爱","平静"]},{symbol:"💜",name:"紫心",code:"U+1F49C",category:"symbols",keywords:["紫心","爱","神秘"]},{symbol:"🖤",name:"黑心",code:"U+1F5A4",category:"symbols",keywords:["黑心","爱","酷"]},{symbol:"🤍",name:"白心",code:"U+1F90D",category:"symbols",keywords:["白心","爱","纯洁"]},{symbol:"🤎",name:"棕心",code:"U+1F90E",category:"symbols",keywords:["棕心","爱","大地"]},{symbol:"💔",name:"心碎",code:"U+1F494",category:"symbols",keywords:["心碎","伤心","分手"]},{symbol:"❣️",name:"心形感叹号",code:"U+2763",category:"symbols",keywords:["心形感叹号","爱","强调"]},{symbol:"💕",name:"两颗心",code:"U+1F495",category:"symbols",keywords:["两颗心","爱","恋爱"]},{symbol:"💞",name:"旋转的心",code:"U+1F49E",category:"symbols",keywords:["旋转的心","爱","恋爱"]},{symbol:"💓",name:"心跳",code:"U+1F493",category:"symbols",keywords:["心跳","爱","兴奋"]},{symbol:"💗",name:"成长的心",code:"U+1F497",category:"symbols",keywords:["成长的心","爱","增长"]},{symbol:"💖",name:"闪亮的心",code:"U+1F496",category:"symbols",keywords:["闪亮的心","爱","特别"]},{symbol:"💘",name:"丘比特之箭",code:"U+1F498",category:"symbols",keywords:["丘比特之箭","爱","恋爱"]},{symbol:"💝",name:"心形礼物",code:"U+1F49D",category:"symbols",keywords:["心形礼物","爱","礼物"]},{symbol:"💟",name:"心形装饰",code:"U+1F49F",category:"symbols",keywords:["心形装饰","爱","装饰"]},{symbol:"☮️",name:"和平符号",code:"U+262E",category:"symbols",keywords:["和平符号","和平","反战"]},{symbol:"✝️",name:"十字架",code:"U+271D",category:"symbols",keywords:["十字架","基督教","宗教"]},{symbol:"☪️",name:"星月符号",code:"U+262A",category:"symbols",keywords:["星月符号","伊斯兰教","宗教"]},{symbol:"🕉️",name:"奥姆符号",code:"U+1F549",category:"symbols",keywords:["奥姆符号","印度教","宗教"]},{symbol:"☸️",name:"法轮",code:"U+2638",category:"symbols",keywords:["法轮","佛教","宗教"]},{symbol:"✡️",name:"大卫之星",code:"U+2721",category:"symbols",keywords:["大卫之星","犹太教","宗教"]},{symbol:"🔯",name:"六芒星",code:"U+1F52F",category:"symbols",keywords:["六芒星","星星","符号"]},{symbol:"🕎",name:"烛台",code:"U+1F54E",category:"symbols",keywords:["烛台","犹太教","宗教"]},{symbol:"☯️",name:"阴阳",code:"U+262F",category:"symbols",keywords:["阴阳","太极","平衡"]},{symbol:"♈",name:"白羊座",code:"U+2648",category:"symbols",keywords:["白羊座","星座","占星"]},{symbol:"♉",name:"金牛座",code:"U+2649",category:"symbols",keywords:["金牛座","星座","占星"]},{symbol:"♊",name:"双子座",code:"U+264A",category:"symbols",keywords:["双子座","星座","占星"]},{symbol:"♋",name:"巨蟹座",code:"U+264B",category:"symbols",keywords:["巨蟹座","星座","占星"]},{symbol:"♌",name:"狮子座",code:"U+264C",category:"symbols",keywords:["狮子座","星座","占星"]},{symbol:"♍",name:"处女座",code:"U+264D",category:"symbols",keywords:["处女座","星座","占星"]},{symbol:"♎",name:"天秤座",code:"U+264E",category:"symbols",keywords:["天秤座","星座","占星"]},{symbol:"♏",name:"天蝎座",code:"U+264F",category:"symbols",keywords:["天蝎座","星座","占星"]},{symbol:"♐",name:"射手座",code:"U+2650",category:"symbols",keywords:["射手座","星座","占星"]},{symbol:"♑",name:"摩羯座",code:"U+2651",category:"symbols",keywords:["摩羯座","星座","占星"]},{symbol:"♒",name:"水瓶座",code:"U+2652",category:"symbols",keywords:["水瓶座","星座","占星"]},{symbol:"♓",name:"双鱼座",code:"U+2653",category:"symbols",keywords:["双鱼座","星座","占星"]},{symbol:"⛎",name:"蛇夫座",code:"U+26CE",category:"symbols",keywords:["蛇夫座","星座","占星"]},{symbol:"🔀",name:"随机播放",code:"U+1F500",category:"symbols",keywords:["随机播放","音乐","控制"]},{symbol:"🔁",name:"重复",code:"U+1F501",category:"symbols",keywords:["重复","循环","控制"]},{symbol:"🔂",name:"单曲循环",code:"U+1F502",category:"symbols",keywords:["单曲循环","重复","音乐"]},{symbol:"▶️",name:"播放",code:"U+25B6",category:"symbols",keywords:["播放","开始","控制"]},{symbol:"⏩",name:"快进",code:"U+23E9",category:"symbols",keywords:["快进","前进","控制"]},{symbol:"⏭️",name:"下一首",code:"U+23ED",category:"symbols",keywords:["下一首","跳过","控制"]},{symbol:"⏯️",name:"播放暂停",code:"U+23EF",category:"symbols",keywords:["播放暂停","控制","媒体"]},{symbol:"◀️",name:"倒退",code:"U+25C0",category:"symbols",keywords:["倒退","后退","控制"]},{symbol:"⏪",name:"快退",code:"U+23EA",category:"symbols",keywords:["快退","后退","控制"]},{symbol:"⏮️",name:"上一首",code:"U+23EE",category:"symbols",keywords:["上一首","返回","控制"]},{symbol:"🔼",name:"向上",code:"U+1F53C",category:"symbols",keywords:["向上","上升","方向"]},{symbol:"⏫",name:"快速向上",code:"U+23EB",category:"symbols",keywords:["快速向上","上升","控制"]},{symbol:"🔽",name:"向下",code:"U+1F53D",category:"symbols",keywords:["向下","下降","方向"]},{symbol:"⏬",name:"快速向下",code:"U+23EC",category:"symbols",keywords:["快速向下","下降","控制"]},{symbol:"⏸️",name:"暂停",code:"U+23F8",category:"symbols",keywords:["暂停","停止","控制"]},{symbol:"⏹️",name:"停止",code:"U+23F9",category:"symbols",keywords:["停止","结束","控制"]},{symbol:"⏺️",name:"录制",code:"U+23FA",category:"symbols",keywords:["录制","记录","控制"]},{symbol:"⏏️",name:"弹出",code:"U+23CF",category:"symbols",keywords:["弹出","退出","控制"]},{symbol:"🎦",name:"电影院",code:"U+1F3A6",category:"symbols",keywords:["电影院","电影","娱乐"]},{symbol:"🔅",name:"低亮度",code:"U+1F505",category:"symbols",keywords:["低亮度","暗","调节"]},{symbol:"🔆",name:"高亮度",code:"U+1F506",category:"symbols",keywords:["高亮度","亮","调节"]},{symbol:"📶",name:"信号强度",code:"U+1F4F6",category:"symbols",keywords:["信号强度","网络","通讯"]},{symbol:"📳",name:"振动模式",code:"U+1F4F3",category:"symbols",keywords:["振动模式","静音","手机"]},{symbol:"📴",name:"手机关机",code:"U+1F4F4",category:"symbols",keywords:["手机关机","关闭","禁止"]},{symbol:"♀️",name:"女性符号",code:"U+2640",category:"symbols",keywords:["女性符号","女","性别"]},{symbol:"♂️",name:"男性符号",code:"U+2642",category:"symbols",keywords:["男性符号","男","性别"]},{symbol:"⚧️",name:"跨性别符号",code:"U+26A7",category:"symbols",keywords:["跨性别符号","性别","多元"]},{symbol:"✖️",name:"乘号",code:"U+2716",category:"symbols",keywords:["乘号","乘法","数学"]},{symbol:"➕",name:"加号",code:"U+2795",category:"symbols",keywords:["加号","加法","数学"]},{symbol:"➖",name:"减号",code:"U+2796",category:"symbols",keywords:["减号","减法","数学"]},{symbol:"➗",name:"除号",code:"U+2797",category:"symbols",keywords:["除号","除法","数学"]},{symbol:"♾️",name:"无穷大",code:"U+267E",category:"symbols",keywords:["无穷大","无限","数学"]},{symbol:"‼️",name:"双感叹号",code:"U+203C",category:"symbols",keywords:["双感叹号","强调","惊讶"]},{symbol:"⁉️",name:"感叹问号",code:"U+2049",category:"symbols",keywords:["感叹问号","疑问","惊讶"]},{symbol:"❓",name:"问号",code:"U+2753",category:"symbols",keywords:["问号","疑问","询问"]},{symbol:"❔",name:"白色问号",code:"U+2754",category:"symbols",keywords:["白色问号","疑问","询问"]},{symbol:"❕",name:"白色感叹号",code:"U+2755",category:"symbols",keywords:["白色感叹号","强调","注意"]},{symbol:"❗",name:"感叹号",code:"U+2757",category:"symbols",keywords:["感叹号","强调","注意"]},{symbol:"〰️",name:"波浪线",code:"U+3030",category:"symbols",keywords:["波浪线","装饰","符号"]},{symbol:"💱",name:"货币兑换",code:"U+1F4B1",category:"symbols",keywords:["货币兑换","汇率","金融"]},{symbol:"💲",name:"美元符号",code:"U+1F4B2",category:"symbols",keywords:["美元符号","金钱","货币"]},{symbol:"⚕️",name:"医疗符号",code:"U+2695",category:"symbols",keywords:["医疗符号","医学","健康"]},{symbol:"♻️",name:"回收符号",code:"U+267B",category:"symbols",keywords:["回收符号","环保","循环"]},{symbol:"⚜️",name:"百合花饰",code:"U+269C",category:"symbols",keywords:["百合花饰","装饰","法国"]},{symbol:"🔱",name:"三叉戟",code:"U+1F531",category:"symbols",keywords:["三叉戟","武器","海神"]},{symbol:"📛",name:"姓名牌",code:"U+1F4DB",category:"symbols",keywords:["姓名牌","标识","名字"]},{symbol:"🔰",name:"日式初学者标志",code:"U+1F530",category:"symbols",keywords:["日式初学者标志","新手","学习"]},{symbol:"⭕",name:"红色圆圈",code:"U+2B55",category:"symbols",keywords:["红色圆圈","正确","标记"]},{symbol:"✅",name:"绿色勾选",code:"U+2705",category:"symbols",keywords:["绿色勾选","正确","完成"]},{symbol:"☑️",name:"勾选框",code:"U+2611",category:"symbols",keywords:["勾选框","选中","完成"]},{symbol:"✔️",name:"勾选",code:"U+2714",category:"symbols",keywords:["勾选","正确","确认"]},{symbol:"❌",name:"叉号",code:"U+274C",category:"symbols",keywords:["叉号","错误","取消"]},{symbol:"❎",name:"叉号按钮",code:"U+274E",category:"symbols",keywords:["叉号按钮","错误","取消"]},{symbol:"➰",name:"卷曲环",code:"U+27B0",category:"symbols",keywords:["卷曲环","装饰","符号"]},{symbol:"➿",name:"双卷曲环",code:"U+27BF",category:"symbols",keywords:["双卷曲环","装饰","符号"]},{symbol:"〽️",name:"部分交替标记",code:"U+303D",category:"symbols",keywords:["部分交替标记","日式","符号"]},{symbol:"✳️",name:"八角星",code:"U+2733",category:"symbols",keywords:["八角星","星星","装饰"]},{symbol:"✴️",name:"八角星",code:"U+2734",category:"symbols",keywords:["八角星","星星","装饰"]},{symbol:"❇️",name:"闪光",code:"U+2747",category:"symbols",keywords:["闪光","星星","装饰"]},{symbol:"©️",name:"版权",code:"U+00A9",category:"symbols",keywords:["版权","著作权","法律"]},{symbol:"®️",name:"注册商标",code:"U+00AE",category:"symbols",keywords:["注册商标","商标","法律"]},{symbol:"™️",name:"商标",code:"U+2122",category:"symbols",keywords:["商标","品牌","法律"]},{symbol:"#️⃣",name:"井号键",code:"U+0023-FE0F-20E3",category:"symbols",keywords:["井号键","数字","键盘"]},{symbol:"*️⃣",name:"星号键",code:"U+002A-FE0F-20E3",category:"symbols",keywords:["星号键","符号","键盘"]},{symbol:"0️⃣",name:"数字0",code:"U+0030-FE0F-20E3",category:"symbols",keywords:["数字0","零","数字"]},{symbol:"1️⃣",name:"数字1",code:"U+0031-FE0F-20E3",category:"symbols",keywords:["数字1","一","数字"]},{symbol:"2️⃣",name:"数字2",code:"U+0032-FE0F-20E3",category:"symbols",keywords:["数字2","二","数字"]},{symbol:"3️⃣",name:"数字3",code:"U+0033-FE0F-20E3",category:"symbols",keywords:["数字3","三","数字"]},{symbol:"4️⃣",name:"数字4",code:"U+0034-FE0F-20E3",category:"symbols",keywords:["数字4","四","数字"]},{symbol:"5️⃣",name:"数字5",code:"U+0035-FE0F-20E3",category:"symbols",keywords:["数字5","五","数字"]},{symbol:"6️⃣",name:"数字6",code:"U+0036-FE0F-20E3",category:"symbols",keywords:["数字6","六","数字"]},{symbol:"7️⃣",name:"数字7",code:"U+0037-FE0F-20E3",category:"symbols",keywords:["数字7","七","数字"]},{symbol:"8️⃣",name:"数字8",code:"U+0038-FE0F-20E3",category:"symbols",keywords:["数字8","八","数字"]},{symbol:"9️⃣",name:"数字9",code:"U+0039-FE0F-20E3",category:"symbols",keywords:["数字9","九","数字"]},{symbol:"🔟",name:"数字10",code:"U+1F51F",category:"symbols",keywords:["数字10","十","数字"]},{symbol:"🔠",name:"大写字母",code:"U+1F520",category:"symbols",keywords:["大写字母","字母","输入"]},{symbol:"🔡",name:"小写字母",code:"U+1F521",category:"symbols",keywords:["小写字母","字母","输入"]},{symbol:"🔢",name:"数字",code:"U+1F522",category:"symbols",keywords:["数字","数字键盘","输入"]},{symbol:"🔣",name:"符号",code:"U+1F523",category:"symbols",keywords:["符号","特殊字符","输入"]},{symbol:"🔤",name:"字母",code:"U+1F524",category:"symbols",keywords:["字母","ABC","输入"]},{symbol:"🅰️",name:"A型血",code:"U+1F170",category:"symbols",keywords:["A型血","血型","医疗"]},{symbol:"🆎",name:"AB型血",code:"U+1F18E",category:"symbols",keywords:["AB型血","血型","医疗"]},{symbol:"🅱️",name:"B型血",code:"U+1F171",category:"symbols",keywords:["B型血","血型","医疗"]},{symbol:"🆑",name:"清除",code:"U+1F191",category:"symbols",keywords:["清除","CL","按钮"]},{symbol:"🆒",name:"酷",code:"U+1F192",category:"symbols",keywords:["酷","COOL","按钮"]},{symbol:"🆓",name:"免费",code:"U+1F193",category:"symbols",keywords:["免费","FREE","按钮"]},{symbol:"ℹ️",name:"信息",code:"U+2139",category:"symbols",keywords:["信息","提示","帮助"]},{symbol:"🆔",name:"ID",code:"U+1F194",category:"symbols",keywords:["ID","身份","标识"]},{symbol:"Ⓜ️",name:"地铁",code:"U+24C2",category:"symbols",keywords:["地铁","交通","标志"]},{symbol:"🆕",name:"新",code:"U+1F195",category:"symbols",keywords:["新","NEW","按钮"]},{symbol:"🆖",name:"NG",code:"U+1F196",category:"symbols",keywords:["NG","不好","按钮"]},{symbol:"🅾️",name:"O型血",code:"U+1F17E",category:"symbols",keywords:["O型血","血型","医疗"]},{symbol:"🆗",name:"OK",code:"U+1F197",category:"symbols",keywords:["OK","好的","按钮"]},{symbol:"🅿️",name:"停车",code:"U+1F17F",category:"symbols",keywords:["停车","停车场","交通"]},{symbol:"🆘",name:"SOS",code:"U+1F198",category:"symbols",keywords:["SOS","求救","紧急"]},{symbol:"🆙",name:"向上",code:"U+1F199",category:"symbols",keywords:["向上","UP","按钮"]},{symbol:"🆚",name:"对战",code:"U+1F19A",category:"symbols",keywords:["对战","VS","比赛"]},{symbol:"🈁",name:"日文这里",code:"U+1F201",category:"symbols",keywords:["日文这里","日语","汉字"]},{symbol:"🈂️",name:"日文服务费",code:"U+1F202",category:"symbols",keywords:["日文服务费","日语","汉字"]},{symbol:"🈷️",name:"日文月",code:"U+1F237",category:"symbols",keywords:["日文月","日语","汉字"]},{symbol:"🈶",name:"日文有",code:"U+1F236",category:"symbols",keywords:["日文有","日语","汉字"]},{symbol:"🈯",name:"日文指",code:"U+1F22F",category:"symbols",keywords:["日文指","日语","汉字"]},{symbol:"🉐",name:"日文得",code:"U+1F250",category:"symbols",keywords:["日文得","日语","汉字"]},{symbol:"🈹",name:"日文割",code:"U+1F239",category:"symbols",keywords:["日文割","日语","汉字"]},{symbol:"🈚",name:"日文无",code:"U+1F21A",category:"symbols",keywords:["日文无","日语","汉字"]},{symbol:"🈲",name:"日文禁",code:"U+1F232",category:"symbols",keywords:["日文禁","日语","汉字"]},{symbol:"🉑",name:"日文可",code:"U+1F251",category:"symbols",keywords:["日文可","日语","汉字"]},{symbol:"🈸",name:"日文申",code:"U+1F238",category:"symbols",keywords:["日文申","日语","汉字"]},{symbol:"🈴",name:"日文合",code:"U+1F234",category:"symbols",keywords:["日文合","日语","汉字"]},{symbol:"🈳",name:"日文空",code:"U+1F233",category:"symbols",keywords:["日文空","日语","汉字"]},{symbol:"㊗️",name:"日文祝",code:"U+3297",category:"symbols",keywords:["日文祝","日语","汉字"]},{symbol:"㊙️",name:"日文秘",code:"U+3299",category:"symbols",keywords:["日文秘","日语","汉字"]},{symbol:"🈺",name:"日文营",code:"U+1F23A",category:"symbols",keywords:["日文营","日语","汉字"]},{symbol:"🈵",name:"日文满",code:"U+1F235",category:"symbols",keywords:["日文满","日语","汉字"]},{symbol:"🌍",name:"地球欧非",code:"U+1F30D",category:"animals",keywords:["地球","欧洲","非洲"]},{symbol:"🌎",name:"地球美洲",code:"U+1F30E",category:"animals",keywords:["地球","美洲","世界"]},{symbol:"🌏",name:"地球亚澳",code:"U+1F30F",category:"animals",keywords:["地球","亚洲","澳洲"]},{symbol:"🌐",name:"地球经纬线",code:"U+1F310",category:"animals",keywords:["地球经纬线","全球","网络"]},{symbol:"🗺️",name:"世界地图",code:"U+1F5FA",category:"animals",keywords:["世界地图","地图","地理"]},{symbol:"🗾",name:"日本地图",code:"U+1F5FE",category:"animals",keywords:["日本地图","日本","地图"]},{symbol:"🧭",name:"指南针",code:"U+1F9ED",category:"animals",keywords:["指南针","方向","导航"]},{symbol:"🏔️",name:"雪山",code:"U+1F3D4",category:"animals",keywords:["雪山","山峰","雪"]},{symbol:"⛰️",name:"山",code:"U+26F0",category:"animals",keywords:["山","山峰","自然"]},{symbol:"🌋",name:"火山",code:"U+1F30B",category:"animals",keywords:["火山","爆发","岩浆"]},{symbol:"🗻",name:"富士山",code:"U+1F5FB",category:"animals",keywords:["富士山","日本","山"]},{symbol:"🏕️",name:"露营",code:"U+1F3D5",category:"animals",keywords:["露营","帐篷","户外"]},{symbol:"🏖️",name:"海滩伞",code:"U+1F3D6",category:"animals",keywords:["海滩伞","海滩","度假"]},{symbol:"🏜️",name:"沙漠",code:"U+1F3DC",category:"animals",keywords:["沙漠","干旱","沙丘"]},{symbol:"🏝️",name:"荒岛",code:"U+1F3DD",category:"animals",keywords:["荒岛","岛屿","热带"]},{symbol:"🏞️",name:"国家公园",code:"U+1F3DE",category:"animals",keywords:["国家公园","自然","风景"]},{symbol:"🌅",name:"日出",code:"U+1F305",category:"animals",keywords:["日出","早晨","太阳"]},{symbol:"🌄",name:"山上日出",code:"U+1F304",category:"animals",keywords:["山上日出","日出","山"]},{symbol:"🌠",name:"流星",code:"U+1F320",category:"animals",keywords:["流星","星星","夜空"]},{symbol:"🎇",name:"烟花",code:"U+1F387",category:"animals",keywords:["烟花","庆祝","节日"]},{symbol:"🎆",name:"焰火",code:"U+1F386",category:"animals",keywords:["焰火","庆祝","夜空"]},{symbol:"🌇",name:"城市日落",code:"U+1F307",category:"animals",keywords:["城市日落","日落","城市"]},{symbol:"🌆",name:"黄昏城市",code:"U+1F306",category:"animals",keywords:["黄昏城市","黄昏","城市"]},{symbol:"🏙️",name:"城市景观",code:"U+1F3D9",category:"animals",keywords:["城市景观","城市","建筑"]},{symbol:"🌃",name:"星空夜晚",code:"U+1F303",category:"animals",keywords:["星空夜晚","夜晚","星星"]},{symbol:"🌌",name:"银河",code:"U+1F30C",category:"animals",keywords:["银河","星系","宇宙"]},{symbol:"🌉",name:"夜晚大桥",code:"U+1F309",category:"animals",keywords:["夜晚大桥","桥","夜景"]},{symbol:"🌁",name:"雾",code:"U+1F301",category:"animals",keywords:["雾","迷雾","天气"]},{symbol:"☀️",name:"太阳",code:"U+2600",category:"animals",keywords:["太阳","晴天","天气"]},{symbol:"🌤️",name:"晴间多云",code:"U+1F324",category:"animals",keywords:["晴间多云","天气","云"]},{symbol:"⛅",name:"多云",code:"U+26C5",category:"animals",keywords:["多云","天气","云"]},{symbol:"🌥️",name:"阴天",code:"U+1F325",category:"animals",keywords:["阴天","天气","云"]},{symbol:"☁️",name:"云",code:"U+2601",category:"animals",keywords:["云","天气","阴天"]},{symbol:"🌦️",name:"晴雨",code:"U+1F326",category:"animals",keywords:["晴雨","天气","雨"]},{symbol:"🌧️",name:"雨云",code:"U+1F327",category:"animals",keywords:["雨云","下雨","天气"]},{symbol:"⛈️",name:"雷雨",code:"U+26C8",category:"animals",keywords:["雷雨","雷电","天气"]},{symbol:"🌩️",name:"闪电",code:"U+1F329",category:"animals",keywords:["闪电","雷电","天气"]},{symbol:"🌨️",name:"雪云",code:"U+1F328",category:"animals",keywords:["雪云","下雪","天气"]},{symbol:"❄️",name:"雪花",code:"U+2744",category:"animals",keywords:["雪花","雪","冬天"]},{symbol:"☃️",name:"雪人",code:"U+2603",category:"animals",keywords:["雪人","雪","冬天"]},{symbol:"⛄",name:"无雪雪人",code:"U+26C4",category:"animals",keywords:["无雪雪人","雪人","冬天"]},{symbol:"🌬️",name:"风脸",code:"U+1F32C",category:"animals",keywords:["风脸","风","天气"]},{symbol:"💨",name:"疾风",code:"U+1F4A8",category:"animals",keywords:["疾风","风","快速"]},{symbol:"🌪️",name:"龙卷风",code:"U+1F32A",category:"animals",keywords:["龙卷风","风暴","天气"]},{symbol:"🌫️",name:"雾",code:"U+1F32B",category:"animals",keywords:["雾","迷雾","天气"]},{symbol:"🌈",name:"彩虹",code:"U+1F308",category:"animals",keywords:["彩虹","雨后","美丽"]},{symbol:"🌂",name:"闭合雨伞",code:"U+1F302",category:"animals",keywords:["闭合雨伞","雨伞","雨天"]},{symbol:"☂️",name:"雨伞",code:"U+2602",category:"animals",keywords:["雨伞","下雨","保护"]},{symbol:"☔",name:"雨伞雨滴",code:"U+2614",category:"animals",keywords:["雨伞雨滴","下雨","天气"]},{symbol:"⛱️",name:"沙滩伞",code:"U+26F1",category:"animals",keywords:["沙滩伞","海滩","夏天"]},{symbol:"⚡",name:"高压电",code:"U+26A1",category:"animals",keywords:["高压电","闪电","电力"]},{symbol:"🔥",name:"火",code:"U+1F525",category:"animals",keywords:["火","火焰","热"]},{symbol:"💧",name:"水滴",code:"U+1F4A7",category:"animals",keywords:["水滴","水","液体"]},{symbol:"🌊",name:"海浪",code:"U+1F30A",category:"animals",keywords:["海浪","海洋","波浪"]},{symbol:"🎄",name:"圣诞树",code:"U+1F384",category:"animals",keywords:["圣诞树","圣诞节","节日"]},{symbol:"🌲",name:"常青树",code:"U+1F332",category:"animals",keywords:["常青树","松树","森林"]},{symbol:"🌳",name:"落叶树",code:"U+1F333",category:"animals",keywords:["落叶树","树","森林"]},{symbol:"🌴",name:"棕榈树",code:"U+1F334",category:"animals",keywords:["棕榈树","热带","海滩"]},{symbol:"🌱",name:"幼苗",code:"U+1F331",category:"animals",keywords:["幼苗","成长","植物"]},{symbol:"🌿",name:"草本植物",code:"U+1F33F",category:"animals",keywords:["草本植物","叶子","绿色"]},{symbol:"☘️",name:"三叶草",code:"U+2618",category:"animals",keywords:["三叶草","幸运","爱尔兰"]},{symbol:"🍀",name:"四叶草",code:"U+1F340",category:"animals",keywords:["四叶草","幸运","稀有"]},{symbol:"🎍",name:"松竹装饰",code:"U+1F38D",category:"animals",keywords:["松竹装饰","日式","新年"]},{symbol:"🪴",name:"盆栽植物",code:"U+1FAB4",category:"animals",keywords:["盆栽植物","植物","装饰"]},{symbol:"🎋",name:"七夕树",code:"U+1F38B",category:"animals",keywords:["七夕树","竹子","节日"]},{symbol:"🍃",name:"飘落叶子",code:"U+1F343",category:"animals",keywords:["飘落叶子","叶子","秋天"]},{symbol:"🍂",name:"落叶",code:"U+1F342",category:"animals",keywords:["落叶","秋天","叶子"]},{symbol:"🍁",name:"枫叶",code:"U+1F341",category:"animals",keywords:["枫叶","秋天","加拿大"]},{symbol:"🌔",name:"渐盈凸月",code:"U+1F314",category:"animals",keywords:["渐盈凸月","月亮","夜晚"]},{symbol:"🌓",name:"上弦月",code:"U+1F313",category:"animals",keywords:["上弦月","月亮","夜晚"]},{symbol:"🌒",name:"渐盈眉月",code:"U+1F312",category:"animals",keywords:["渐盈眉月","月亮","夜晚"]},{symbol:"🌑",name:"新月",code:"U+1F311",category:"animals",keywords:["新月","月亮","夜晚"]},{symbol:"🌘",name:"渐亏眉月",code:"U+1F318",category:"animals",keywords:["渐亏眉月","月亮","夜晚"]},{symbol:"🌗",name:"下弦月",code:"U+1F317",category:"animals",keywords:["下弦月","月亮","夜晚"]},{symbol:"🌖",name:"渐亏凸月",code:"U+1F316",category:"animals",keywords:["渐亏凸月","月亮","夜晚"]},{symbol:"🌕",name:"满月",code:"U+1F315",category:"animals",keywords:["满月","月亮","夜晚"]},{symbol:"🌙",name:"弯月",code:"U+1F319",category:"animals",keywords:["弯月","月亮","夜晚"]},{symbol:"🌛",name:"上弦月脸",code:"U+1F31B",category:"animals",keywords:["上弦月脸","月亮","脸"]},{symbol:"🌜",name:"下弦月脸",code:"U+1F31C",category:"animals",keywords:["下弦月脸","月亮","脸"]},{symbol:"🌚",name:"新月脸",code:"U+1F31A",category:"animals",keywords:["新月脸","月亮","脸"]},{symbol:"🌝",name:"满月脸",code:"U+1F31D",category:"animals",keywords:["满月脸","月亮","脸"]},{symbol:"🌞",name:"太阳脸",code:"U+1F31E",category:"animals",keywords:["太阳脸","太阳","脸"]},{symbol:"🪐",name:"土星",code:"U+1FA90",category:"animals",keywords:["土星","行星","宇宙"]},{symbol:"⭐",name:"星星",code:"U+2B50",category:"animals",keywords:["星星","明星","夜空"]},{symbol:"🌟",name:"闪亮星星",code:"U+1F31F",category:"animals",keywords:["闪亮星星","星星","闪光"]},{symbol:"✨",name:"闪光",code:"U+2728",category:"animals",keywords:["闪光","闪亮","魔法"]},{symbol:"☄️",name:"彗星",code:"U+2604",category:"animals",keywords:["彗星","流星","宇宙"]},{symbol:"💫",name:"眩晕",code:"U+1F4AB",category:"animals",keywords:["眩晕","星星","晕"]},{symbol:"🫧",name:"泡泡",code:"U+1FAE7",category:"animals",keywords:["泡泡","肥皂泡","清洁"]},{symbol:"🫐",name:"蓝莓",code:"U+1FAD0",category:"food",keywords:["蓝莓","浆果","水果"]},{symbol:"🫒",name:"橄榄",code:"U+1FAD2",category:"food",keywords:["橄榄","地中海","健康"]},{symbol:"🫓",name:"薄饼",code:"U+1FAD3",category:"food",keywords:["薄饼","面包","印度"]},{symbol:"🫔",name:"玉米粽",code:"U+1FAD4",category:"food",keywords:["玉米粽","墨西哥","传统"]},{symbol:"🫕",name:"火锅",code:"U+1FAD5",category:"food",keywords:["火锅","奶酪","瑞士"]},{symbol:"🫖",name:"茶壶",code:"U+1FAD6",category:"food",keywords:["茶壶","茶","英式"]},{symbol:"🫗",name:"倒液体",code:"U+1FAD7",category:"food",keywords:["倒液体","倾倒","饮料"]},{symbol:"🫘",name:"豆子",code:"U+1FAD8",category:"food",keywords:["豆子","豆类","蛋白质"]},{symbol:"🫙",name:"罐子",code:"U+1FAD9",category:"objects",keywords:["罐子","容器","储存"]},{symbol:"🫚",name:"生姜",code:"U+1FADA",category:"food",keywords:["生姜","香料","调料"]},{symbol:"🫛",name:"豌豆荚",code:"U+1FADB",category:"food",keywords:["豌豆荚","豌豆","蔬菜"]},{symbol:"🧑‍⚕️",name:"医护人员",code:"U+1F9D1-200D-2695-FE0F",category:"people",keywords:["医护人员","医生","护士"]},{symbol:"👨‍⚕️",name:"男医生",code:"U+1F468-200D-2695-FE0F",category:"people",keywords:["男医生","医生","医疗"]},{symbol:"👩‍⚕️",name:"女医生",code:"U+1F469-200D-2695-FE0F",category:"people",keywords:["女医生","医生","医疗"]},{symbol:"🧑‍🎓",name:"学生",code:"U+1F9D1-200D-1F393",category:"people",keywords:["学生","毕业","教育"]},{symbol:"👨‍🎓",name:"男学生",code:"U+1F468-200D-1F393",category:"people",keywords:["男学生","毕业","教育"]},{symbol:"👩‍🎓",name:"女学生",code:"U+1F469-200D-1F393",category:"people",keywords:["女学生","毕业","教育"]},{symbol:"🧑‍🏫",name:"教师",code:"U+1F9D1-200D-1F3EB",category:"people",keywords:["教师","老师","教育"]},{symbol:"👨‍🏫",name:"男教师",code:"U+1F468-200D-1F3EB",category:"people",keywords:["男教师","老师","教育"]},{symbol:"👩‍🏫",name:"女教师",code:"U+1F469-200D-1F3EB",category:"people",keywords:["女教师","老师","教育"]},{symbol:"🧑‍⚖️",name:"法官",code:"U+1F9D1-200D-2696-FE0F",category:"people",keywords:["法官","法律","正义"]},{symbol:"👨‍⚖️",name:"男法官",code:"U+1F468-200D-2696-FE0F",category:"people",keywords:["男法官","法律","正义"]},{symbol:"👩‍⚖️",name:"女法官",code:"U+1F469-200D-2696-FE0F",category:"people",keywords:["女法官","法律","正义"]},{symbol:"🧑‍🌾",name:"农民",code:"U+1F9D1-200D-1F33E",category:"people",keywords:["农民","农业","种植"]},{symbol:"👨‍🌾",name:"男农民",code:"U+1F468-200D-1F33E",category:"people",keywords:["男农民","农业","种植"]},{symbol:"👩‍🌾",name:"女农民",code:"U+1F469-200D-1F33E",category:"people",keywords:["女农民","农业","种植"]},{symbol:"🧑‍🍳",name:"厨师",code:"U+1F9D1-200D-1F373",category:"people",keywords:["厨师","烹饪","餐饮"]},{symbol:"👨‍🍳",name:"男厨师",code:"U+1F468-200D-1F373",category:"people",keywords:["男厨师","烹饪","餐饮"]},{symbol:"👩‍🍳",name:"女厨师",code:"U+1F469-200D-1F373",category:"people",keywords:["女厨师","烹饪","餐饮"]},{symbol:"🧑‍🔧",name:"技工",code:"U+1F9D1-200D-1F527",category:"people",keywords:["技工","修理","工具"]},{symbol:"👨‍🔧",name:"男技工",code:"U+1F468-200D-1F527",category:"people",keywords:["男技工","修理","工具"]},{symbol:"👩‍🔧",name:"女技工",code:"U+1F469-200D-1F527",category:"people",keywords:["女技工","修理","工具"]},{symbol:"🧑‍🏭",name:"工人",code:"U+1F9D1-200D-1F3ED",category:"people",keywords:["工人","工厂","制造"]},{symbol:"👨‍🏭",name:"男工人",code:"U+1F468-200D-1F3ED",category:"people",keywords:["男工人","工厂","制造"]},{symbol:"👩‍🏭",name:"女工人",code:"U+1F469-200D-1F3ED",category:"people",keywords:["女工人","工厂","制造"]},{symbol:"🧑‍💼",name:"办公人员",code:"U+1F9D1-200D-1F4BC",category:"people",keywords:["办公人员","商务","工作"]},{symbol:"👨‍💼",name:"男办公人员",code:"U+1F468-200D-1F4BC",category:"people",keywords:["男办公人员","商务","工作"]},{symbol:"👩‍💼",name:"女办公人员",code:"U+1F469-200D-1F4BC",category:"people",keywords:["女办公人员","商务","工作"]},{symbol:"🧑‍🔬",name:"科学家",code:"U+1F9D1-200D-1F52C",category:"people",keywords:["科学家","研究","实验"]},{symbol:"👨‍🔬",name:"男科学家",code:"U+1F468-200D-1F52C",category:"people",keywords:["男科学家","研究","实验"]},{symbol:"👩‍🔬",name:"女科学家",code:"U+1F469-200D-1F52C",category:"people",keywords:["女科学家","研究","实验"]},{symbol:"🧑‍💻",name:"程序员",code:"U+1F9D1-200D-1F4BB",category:"people",keywords:["程序员","编程","技术"]},{symbol:"👨‍💻",name:"男程序员",code:"U+1F468-200D-1F4BB",category:"people",keywords:["男程序员","编程","技术"]},{symbol:"👩‍💻",name:"女程序员",code:"U+1F469-200D-1F4BB",category:"people",keywords:["女程序员","编程","技术"]},{symbol:"🧑‍🎤",name:"歌手",code:"U+1F9D1-200D-1F3A4",category:"people",keywords:["歌手","音乐","表演"]},{symbol:"👨‍🎤",name:"男歌手",code:"U+1F468-200D-1F3A4",category:"people",keywords:["男歌手","音乐","表演"]},{symbol:"👩‍🎤",name:"女歌手",code:"U+1F469-200D-1F3A4",category:"people",keywords:["女歌手","音乐","表演"]},{symbol:"🧑‍🎨",name:"艺术家",code:"U+1F9D1-200D-1F3A8",category:"people",keywords:["艺术家","绘画","创作"]},{symbol:"👨‍🎨",name:"男艺术家",code:"U+1F468-200D-1F3A8",category:"people",keywords:["男艺术家","绘画","创作"]},{symbol:"👩‍🎨",name:"女艺术家",code:"U+1F469-200D-1F3A8",category:"people",keywords:["女艺术家","绘画","创作"]},{symbol:"🧑‍✈️",name:"飞行员",code:"U+1F9D1-200D-2708-FE0F",category:"people",keywords:["飞行员","航空","驾驶"]},{symbol:"👨‍✈️",name:"男飞行员",code:"U+1F468-200D-2708-FE0F",category:"people",keywords:["男飞行员","航空","驾驶"]},{symbol:"👩‍✈️",name:"女飞行员",code:"U+1F469-200D-2708-FE0F",category:"people",keywords:["女飞行员","航空","驾驶"]},{symbol:"🧑‍🚀",name:"宇航员",code:"U+1F9D1-200D-1F680",category:"people",keywords:["宇航员","太空","探索"]},{symbol:"👨‍🚀",name:"男宇航员",code:"U+1F468-200D-1F680",category:"people",keywords:["男宇航员","太空","探索"]},{symbol:"👩‍🚀",name:"女宇航员",code:"U+1F469-200D-1F680",category:"people",keywords:["女宇航员","太空","探索"]},{symbol:"🧑‍🚒",name:"消防员",code:"U+1F9D1-200D-1F692",category:"people",keywords:["消防员","救火","救援"]},{symbol:"👨‍🚒",name:"男消防员",code:"U+1F468-200D-1F692",category:"people",keywords:["男消防员","救火","救援"]},{symbol:"👩‍🚒",name:"女消防员",code:"U+1F469-200D-1F692",category:"people",keywords:["女消防员","救火","救援"]},{symbol:"👮",name:"警察",code:"U+1F46E",category:"people",keywords:["警察","执法","安全"]},{symbol:"👮‍♂️",name:"男警察",code:"U+1F46E-200D-2642-FE0F",category:"people",keywords:["男警察","执法","安全"]},{symbol:"👮‍♀️",name:"女警察",code:"U+1F46E-200D-2640-FE0F",category:"people",keywords:["女警察","执法","安全"]},{symbol:"🕵️",name:"侦探",code:"U+1F575",category:"people",keywords:["侦探","调查","推理"]},{symbol:"🕵️‍♂️",name:"男侦探",code:"U+1F575-FE0F-200D-2642-FE0F",category:"people",keywords:["男侦探","调查","推理"]},{symbol:"🕵️‍♀️",name:"女侦探",code:"U+1F575-FE0F-200D-2640-FE0F",category:"people",keywords:["女侦探","调查","推理"]},{symbol:"💂",name:"卫兵",code:"U+1F482",category:"people",keywords:["卫兵","守卫","军事"]},{symbol:"💂‍♂️",name:"男卫兵",code:"U+1F482-200D-2642-FE0F",category:"people",keywords:["男卫兵","守卫","军事"]},{symbol:"💂‍♀️",name:"女卫兵",code:"U+1F482-200D-2640-FE0F",category:"people",keywords:["女卫兵","守卫","军事"]},{symbol:"🥷",name:"忍者",code:"U+1F977",category:"people",keywords:["忍者","隐秘","武术"]},{symbol:"👷",name:"建筑工人",code:"U+1F477",category:"people",keywords:["建筑工人","建设","工地"]},{symbol:"👷‍♂️",name:"男建筑工人",code:"U+1F477-200D-2642-FE0F",category:"people",keywords:["男建筑工人","建设","工地"]},{symbol:"👷‍♀️",name:"女建筑工人",code:"U+1F477-200D-2640-FE0F",category:"people",keywords:["女建筑工人","建设","工地"]},{symbol:"🫅",name:"戴王冠的人",code:"U+1FAC5",category:"people",keywords:["戴王冠的人","皇室","贵族"]},{symbol:"🤴",name:"王子",code:"U+1F934",category:"people",keywords:["王子","皇室","贵族"]},{symbol:"👸",name:"公主",code:"U+1F478",category:"people",keywords:["公主","皇室","贵族"]},{symbol:"👳",name:"戴头巾的人",code:"U+1F473",category:"people",keywords:["戴头巾的人","头巾","文化"]},{symbol:"👳‍♂️",name:"戴头巾的男人",code:"U+1F473-200D-2642-FE0F",category:"people",keywords:["戴头巾的男人","头巾","文化"]},{symbol:"👳‍♀️",name:"戴头巾的女人",code:"U+1F473-200D-2640-FE0F",category:"people",keywords:["戴头巾的女人","头巾","文化"]},{symbol:"👲",name:"戴瓜皮帽的人",code:"U+1F472",category:"people",keywords:["戴瓜皮帽的人","帽子","传统"]},{symbol:"🧕",name:"戴头巾的女人",code:"U+1F9D5",category:"people",keywords:["戴头巾的女人","头巾","宗教"]},{symbol:"🤵",name:"穿燕尾服的人",code:"U+1F935",category:"people",keywords:["穿燕尾服的人","正装","婚礼"]},{symbol:"🤵‍♂️",name:"穿燕尾服的男人",code:"U+1F935-200D-2642-FE0F",category:"people",keywords:["穿燕尾服的男人","正装","婚礼"]},{symbol:"🤵‍♀️",name:"穿燕尾服的女人",code:"U+1F935-200D-2640-FE0F",category:"people",keywords:["穿燕尾服的女人","正装","婚礼"]},{symbol:"👰",name:"新娘",code:"U+1F470",category:"people",keywords:["新娘","婚礼","结婚"]},{symbol:"👰‍♂️",name:"男新娘",code:"U+1F470-200D-2642-FE0F",category:"people",keywords:["男新娘","婚礼","结婚"]},{symbol:"👰‍♀️",name:"女新娘",code:"U+1F470-200D-2640-FE0F",category:"people",keywords:["女新娘","婚礼","结婚"]},{symbol:"🤰",name:"孕妇",code:"U+1F930",category:"people",keywords:["孕妇","怀孕","母亲"]},{symbol:"🫃",name:"怀孕的男人",code:"U+1FAC3",category:"people",keywords:["怀孕的男人","怀孕","父亲"]},{symbol:"🫄",name:"怀孕的人",code:"U+1FAC4",category:"people",keywords:["怀孕的人","怀孕","家庭"]},{symbol:"🤱",name:"哺乳",code:"U+1F931",category:"people",keywords:["哺乳","喂奶","母亲"]},{symbol:"👨‍🍼",name:"喂奶的男人",code:"U+1F468-200D-1F37C",category:"people",keywords:["喂奶的男人","喂奶","父亲"]},{symbol:"👩‍🍼",name:"喂奶的女人",code:"U+1F469-200D-1F37C",category:"people",keywords:["喂奶的女人","喂奶","母亲"]},{symbol:"🫰",name:"手指心",code:"U+1FAF0",category:"people",keywords:["手指心","爱心","韩式"]},{symbol:"🫱",name:"右手",code:"U+1FAF1",category:"people",keywords:["右手","手","身体"]},{symbol:"🫲",name:"左手",code:"U+1FAF2",category:"people",keywords:["左手","手","身体"]},{symbol:"🫳",name:"手心向下",code:"U+1FAF3",category:"people",keywords:["手心向下","手势","停止"]},{symbol:"🫴",name:"手心向上",code:"U+1FAF4",category:"people",keywords:["手心向上","手势","请求"]},{symbol:"🫵",name:"指向你",code:"U+1FAF5",category:"people",keywords:["指向你","指","你"]},{symbol:"🫶",name:"爱心手势",code:"U+1FAF6",category:"people",keywords:["爱心手势","爱心","手势"]},{symbol:"🫠",name:"融化脸",code:"U+1FAE0",category:"smileys",keywords:["融化脸","热","无奈"]},{symbol:"🫨",name:"摇晃脸",code:"U+1FAE8",category:"smileys",keywords:["摇晃脸","震惊","晕"]},{symbol:"🫥",name:"虚线脸",code:"U+1FAE5",category:"smileys",keywords:["虚线脸","消失","隐形"]},{symbol:"🫤",name:"斜眼脸",code:"U+1FAE4",category:"smileys",keywords:["斜眼脸","怀疑","不确定"]},{symbol:"🫣",name:"偷看脸",code:"U+1FAE3",category:"smileys",keywords:["偷看脸","害羞","好奇"]},{symbol:"🫢",name:"捂嘴惊讶脸",code:"U+1FAE2",category:"smileys",keywords:["捂嘴惊讶脸","惊讶","震惊"]},{symbol:"🫡",name:"敬礼脸",code:"U+1FAE1",category:"smileys",keywords:["敬礼脸","敬礼","尊敬"]},{symbol:"🫎",name:"驼鹿",code:"U+1FACE",category:"animals",keywords:["驼鹿","鹿","动物"]},{symbol:"🫏",name:"驴",code:"U+1FACF",category:"animals",keywords:["驴","动物","农场"]},{symbol:"🐻‍❄️",name:"北极熊",code:"U+1F43B-200D-2744-FE0F",category:"animals",keywords:["北极熊","白熊","北极"]},{symbol:"🐨",name:"考拉",code:"U+1F428",category:"animals",keywords:["考拉","树袋熊","澳洲"]},{symbol:"🫐",name:"蓝莓",code:"U+1FAD0",category:"food",keywords:["蓝莓","浆果","水果"]},{symbol:"🫒",name:"橄榄",code:"U+1FAD2",category:"food",keywords:["橄榄","地中海","健康"]},{symbol:"🫓",name:"薄饼",code:"U+1FAD3",category:"food",keywords:["薄饼","面包","印度"]},{symbol:"🫔",name:"玉米粽",code:"U+1FAD4",category:"food",keywords:["玉米粽","墨西哥","传统"]},{symbol:"🫕",name:"火锅",code:"U+1FAD5",category:"food",keywords:["火锅","奶酪","瑞士"]},{symbol:"🫖",name:"茶壶",code:"U+1FAD6",category:"food",keywords:["茶壶","茶","英式"]},{symbol:"🫗",name:"倒液体",code:"U+1FAD7",category:"food",keywords:["倒液体","倾倒","饮料"]},{symbol:"🫘",name:"豆子",code:"U+1FAD8",category:"food",keywords:["豆子","豆类","蛋白质"]},{symbol:"🫚",name:"生姜",code:"U+1FADA",category:"food",keywords:["生姜","香料","调料"]},{symbol:"🫛",name:"豌豆荚",code:"U+1FADB",category:"food",keywords:["豌豆荚","豌豆","蔬菜"]},{symbol:"🫙",name:"罐子",code:"U+1FAD9",category:"objects",keywords:["罐子","容器","储存"]},{symbol:"🪩",name:"镜球",code:"U+1FAA9",category:"objects",keywords:["镜球","迪斯科","派对"]},{symbol:"🪫",name:"低电量电池",code:"U+1FAAB",category:"objects",keywords:["低电量电池","电池","电力不足"]},{symbol:"🪬",name:"哈姆萨",code:"U+1FAAC",category:"objects",keywords:["哈姆萨","护身符","保护"]},{symbol:"🪭",name:"折扇",code:"U+1FAAD",category:"objects",keywords:["折扇","扇子","凉爽"]},{symbol:"🪮",name:"梳子",code:"U+1FAAE",category:"objects",keywords:["梳子","头发","美容"]},{symbol:"🪯",name:"发夹",code:"U+1FAAF",category:"objects",keywords:["发夹","头发","配饰"]},{symbol:"🫧",name:"泡泡",code:"U+1FAE7",category:"symbols",keywords:["泡泡","肥皂泡","清洁"]},{symbol:"🩷",name:"粉心",code:"U+1FA77",category:"symbols",keywords:["粉心","爱","粉色"]},{symbol:"🩵",name:"浅蓝心",code:"U+1FA75",category:"symbols",keywords:["浅蓝心","爱","浅蓝"]},{symbol:"🩶",name:"灰心",code:"U+1FA76",category:"symbols",keywords:["灰心","爱","灰色"]},{symbol:"📱",name:"智能手机",code:"U+1F4F1",category:"objects",keywords:["智能手机","手机","通讯"]},{symbol:"💻",name:"笔记本电脑",code:"U+1F4BB",category:"objects",keywords:["笔记本电脑","电脑","工作"]},{symbol:"🖥️",name:"台式电脑",code:"U+1F5A5",category:"objects",keywords:["台式电脑","电脑","显示器"]},{symbol:"⌚",name:"智能手表",code:"U+231A",category:"objects",keywords:["智能手表","手表","时间"]},{symbol:"🎮",name:"游戏手柄",code:"U+1F3AE",category:"objects",keywords:["游戏手柄","游戏","娱乐"]},{symbol:"🛴",name:"滑板车",code:"U+1F6F4",category:"travel",keywords:["滑板车","踏板车","交通"]},{symbol:"🛵",name:"踏板摩托",code:"U+1F6F5",category:"travel",keywords:["踏板摩托","摩托车","交通"]},{symbol:"🚗",name:"汽车",code:"U+1F697",category:"travel",keywords:["汽车","车","交通"]},{symbol:"🚙",name:"SUV",code:"U+1F699",category:"travel",keywords:["SUV","越野车","交通"]},{symbol:"🚐",name:"小巴",code:"U+1F690",category:"travel",keywords:["小巴","面包车","交通"]},{symbol:"🏃‍♂️",name:"跑步男",code:"U+1F3C3-200D-2642-FE0F",category:"activities",keywords:["跑步男","跑步","运动"]},{symbol:"🏃‍♀️",name:"跑步女",code:"U+1F3C3-200D-2640-FE0F",category:"activities",keywords:["跑步女","跑步","运动"]},{symbol:"🚶‍♂️",name:"走路男",code:"U+1F6B6-200D-2642-FE0F",category:"activities",keywords:["走路男","走路","步行"]},{symbol:"🚶‍♀️",name:"走路女",code:"U+1F6B6-200D-2640-FE0F",category:"activities",keywords:["走路女","走路","步行"]},{symbol:"🧘‍♂️",name:"冥想男",code:"U+1F9D8-200D-2642-FE0F",category:"activities",keywords:["冥想男","瑜伽","放松"]},{symbol:"🧘‍♀️",name:"冥想女",code:"U+1F9D8-200D-2640-FE0F",category:"activities",keywords:["冥想女","瑜伽","放松"]},{symbol:"🌈",name:"彩虹",code:"U+1F308",category:"animals",keywords:["彩虹","雨后","美丽"]},{symbol:"⭐",name:"星星",code:"U+2B50",category:"animals",keywords:["星星","明星","夜空"]},{symbol:"🌟",name:"闪亮星星",code:"U+1F31F",category:"animals",keywords:["闪亮星星","星星","闪光"]},{symbol:"✨",name:"闪光",code:"U+2728",category:"symbols",keywords:["闪光","闪亮","魔法"]},{symbol:"🔥",name:"火",code:"U+1F525",category:"symbols",keywords:["火","火焰","热"]},{symbol:"💧",name:"水滴",code:"U+1F4A7",category:"animals",keywords:["水滴","水","液体"]},{symbol:"🌊",name:"海浪",code:"U+1F30A",category:"animals",keywords:["海浪","海洋","波浪"]},{symbol:"🥺",name:"可怜巴巴",code:"U+1F97A",category:"smileys",keywords:["可怜巴巴","恳求","委屈"]},{symbol:"🥹",name:"含泪微笑",code:"U+1F979",category:"smileys",keywords:["含泪微笑","感动","眼泪"]},{symbol:"😮‍💨",name:"叹气",code:"U+1F62E-200D-1F4A8",category:"smileys",keywords:["叹气","疲惫","无奈"]},{symbol:"😵‍💫",name:"眼冒金星",code:"U+1F635-200D-1F4AB",category:"smileys",keywords:["眼冒金星","晕","眩晕"]},{symbol:"🤌",name:"意大利手势",code:"U+1F90C",category:"people",keywords:["意大利手势","什么","疑问"]},{symbol:"🫰",name:"手指心",code:"U+1FAF0",category:"people",keywords:["手指心","爱心","韩式"]},{symbol:"🧑‍💻",name:"程序员",code:"U+1F9D1-200D-1F4BB",category:"people",keywords:["程序员","编程","技术"]},{symbol:"🧑‍🎨",name:"艺术家",code:"U+1F9D1-200D-1F3A8",category:"people",keywords:["艺术家","绘画","创作"]},{symbol:"🧑‍🍳",name:"厨师",code:"U+1F9D1-200D-1F373",category:"people",keywords:["厨师","烹饪","餐饮"]},{symbol:"🧑‍⚕️",name:"医护人员",code:"U+1F9D1-200D-2695-FE0F",category:"people",keywords:["医护人员","医生","护士"]},{symbol:"🧑‍🏫",name:"教师",code:"U+1F9D1-200D-1F3EB",category:"people",keywords:["教师","老师","教育"]},{symbol:"🦄",name:"独角兽",code:"U+1F984",category:"animals",keywords:["独角兽","神话","魔法"]},{symbol:"🐉",name:"龙",code:"U+1F409",category:"animals",keywords:["龙","中国龙","神话"]},{symbol:"🦋",name:"蝴蝶",code:"U+1F98B",category:"animals",keywords:["蝴蝶","美丽","飞舞"]},{symbol:"🐝",name:"蜜蜂",code:"U+1F41D",category:"animals",keywords:["蜜蜂","蜂蜜","勤劳"]},{symbol:"🐞",name:"瓢虫",code:"U+1F41E",category:"animals",keywords:["瓢虫","红色","斑点"]},{symbol:"🧋",name:"珍珠奶茶",code:"U+1F9CB",category:"food",keywords:["珍珠奶茶","奶茶","台式"]},{symbol:"🍱",name:"便当",code:"U+1F371",category:"food",keywords:["便当","日式","盒饭"]},{symbol:"🍜",name:"拉面",code:"U+1F35C",category:"food",keywords:["拉面","日式","面条"]},{symbol:"🍣",name:"寿司",code:"U+1F363",category:"food",keywords:["寿司","日式","生鱼"]},{symbol:"🥟",name:"饺子",code:"U+1F95F",category:"food",keywords:["饺子","中式","包子"]},{symbol:"🎧",name:"耳机",code:"U+1F3A7",category:"objects",keywords:["耳机","音乐","听歌"]},{symbol:"📷",name:"相机",code:"U+1F4F7",category:"objects",keywords:["相机","拍照","摄影"]},{symbol:"💡",name:"灯泡",code:"U+1F4A1",category:"objects",keywords:["灯泡","想法","创意"]},{symbol:"🔋",name:"电池",code:"U+1F50B",category:"objects",keywords:["电池","电力","能源"]},{symbol:"🎮",name:"游戏手柄",code:"U+1F3AE",category:"objects",keywords:["游戏手柄","游戏","娱乐"]},{symbol:"🔧",name:"扳手",code:"U+1F527",category:"objects",keywords:["扳手","工具","修理"]},{symbol:"🔨",name:"锤子",code:"U+1F528",category:"objects",keywords:["锤子","工具","建造"]},{symbol:"⚒️",name:"锤子和镐",code:"U+2692",category:"objects",keywords:["锤子和镐","工具","建造"]},{symbol:"🛠️",name:"锤子和扳手",code:"U+1F6E0",category:"objects",keywords:["锤子和扳手","工具","修理"]},{symbol:"⚙️",name:"齿轮",code:"U+2699",category:"objects",keywords:["齿轮","机械","设置"]},{symbol:"🔩",name:"螺栓",code:"U+1F529",category:"objects",keywords:["螺栓","螺丝","工具"]},{symbol:"⚖️",name:"天平",code:"U+2696",category:"objects",keywords:["天平","平衡","正义"]},{symbol:"🔗",name:"链接",code:"U+1F517",category:"objects",keywords:["链接","连接","链条"]},{symbol:"⛓️",name:"链条",code:"U+26D3",category:"objects",keywords:["链条","锁链","连接"]},{symbol:"🧲",name:"磁铁",code:"U+1F9F2",category:"objects",keywords:["磁铁","吸引","磁性"]},{symbol:"🔫",name:"水枪",code:"U+1F52B",category:"objects",keywords:["水枪","玩具","游戏"]},{symbol:"💣",name:"炸弹",code:"U+1F4A3",category:"objects",keywords:["炸弹","爆炸","危险"]},{symbol:"🧨",name:"鞭炮",code:"U+1F9E8",category:"objects",keywords:["鞭炮","烟花","庆祝"]},{symbol:"🪓",name:"斧头",code:"U+1FA93",category:"objects",keywords:["斧头","工具","砍伐"]},{symbol:"🔪",name:"菜刀",code:"U+1F52A",category:"objects",keywords:["菜刀","刀","厨房"]},{symbol:"🗡️",name:"剑",code:"U+1F5E1",category:"objects",keywords:["剑","武器","古代"]},{symbol:"⚔️",name:"交叉剑",code:"U+2694",category:"objects",keywords:["交叉剑","战斗","武器"]},{symbol:"🛡️",name:"盾牌",code:"U+1F6E1",category:"objects",keywords:["盾牌","防护","保护"]},{symbol:"🚬",name:"香烟",code:"U+1F6AC",category:"objects",keywords:["香烟","吸烟","烟草"]},{symbol:"⚰️",name:"棺材",code:"U+26B0",category:"objects",keywords:["棺材","死亡","葬礼"]},{symbol:"🪦",name:"墓碑",code:"U+1FA66",category:"objects",keywords:["墓碑","坟墓","纪念"]},{symbol:"⚱️",name:"骨灰盒",code:"U+26B1",category:"objects",keywords:["骨灰盒","火化","纪念"]},{symbol:"🥳",name:"派对脸",code:"U+1F973",category:"smileys",keywords:["派对","庆祝","生日"]},{symbol:"🤯",name:"爆炸头",code:"U+1F92F",category:"smileys",keywords:["爆炸头","震惊","惊讶"]},{symbol:"🤠",name:"牛仔脸",code:"U+1F920",category:"smileys",keywords:["牛仔","帽子","西部"]},{symbol:"🥸",name:"伪装脸",code:"U+1F978",category:"smileys",keywords:["伪装","眼镜","胡子"]},{symbol:"🤓",name:"书呆子脸",code:"U+1F913",category:"smileys",keywords:["书呆子","眼镜","学霸"]},{symbol:"🧐",name:"单片眼镜脸",code:"U+1F9D0",category:"smileys",keywords:["单片眼镜","绅士","仔细"]},{symbol:"✨",name:"闪光",code:"U+2728",category:"symbols",keywords:["闪光","闪亮","魔法"]},{symbol:"⭐",name:"星星",code:"U+2B50",category:"symbols",keywords:["星星","明星","夜空"]},{symbol:"🌟",name:"闪亮星星",code:"U+1F31F",category:"symbols",keywords:["闪亮星星","星星","闪光"]},{symbol:"💯",name:"一百分",code:"U+1F4AF",category:"symbols",keywords:["一百分","完美","满分"]},{symbol:"🔥",name:"火",code:"U+1F525",category:"symbols",keywords:["火","火焰","热"]},{symbol:"💧",name:"水滴",code:"U+1F4A7",category:"symbols",keywords:["水滴","水","液体"]},{symbol:"⚡",name:"闪电",code:"U+26A1",category:"symbols",keywords:["闪电","电","能量"]},{symbol:"🌈",name:"彩虹",code:"U+1F308",category:"symbols",keywords:["彩虹","色彩","希望"]},{symbol:"☀️",name:"太阳",code:"U+2600",category:"symbols",keywords:["太阳","阳光","天气"]},{symbol:"🌙",name:"月亮",code:"U+1F319",category:"symbols",keywords:["月亮","夜晚","天空"]},{symbol:"⚠️",name:"警告",code:"U+26A0",category:"symbols",keywords:["警告","注意","危险"]},{symbol:"🚫",name:"禁止",code:"U+1F6AB",category:"symbols",keywords:["禁止","不允许","停止"]},{symbol:"✅",name:"勾选",code:"U+2705",category:"symbols",keywords:["勾选","正确","完成"]},{symbol:"❌",name:"叉号",code:"U+274C",category:"symbols",keywords:["叉号","错误","取消"]},{symbol:"➕",name:"加号",code:"U+2795",category:"symbols",keywords:["加号","添加","增加"]},{symbol:"➖",name:"减号",code:"U+2796",category:"symbols",keywords:["减号","删除","减少"]},{symbol:"➗",name:"除号",code:"U+2797",category:"symbols",keywords:["除号","除法","数学"]},{symbol:"✖️",name:"乘号",code:"U+2716",category:"symbols",keywords:["乘号","乘法","数学"]},{symbol:"💱",name:"货币兑换",code:"U+1F4B1",category:"symbols",keywords:["货币兑换","汇率","金融"]},{symbol:"💲",name:"美元符号",code:"U+1F4B2",category:"symbols",keywords:["美元符号","金钱","价格"]},{symbol:"©️",name:"版权",code:"U+00A9",category:"symbols",keywords:["版权","著作权","法律"]},{symbol:"®️",name:"注册商标",code:"U+00AE",category:"symbols",keywords:["注册商标","商标","品牌"]},{symbol:"™️",name:"商标",code:"U+2122",category:"symbols",keywords:["商标","品牌","标识"]}];function v7(){const e=St(""),t=St("all"),a=is(()=>{let a=y7;if("all"!==t.value&&(a=a.filter(e=>e.category===t.value)),e.value.trim()){const t=e.value.toLowerCase().trim();a=a.filter(e=>e.name.toLowerCase().includes(t)||e.keywords.some(e=>e.toLowerCase().includes(t)))}return a});return{searchQuery:e,activeCategory:t,filteredEmojis:a,setActiveCategory:e=>{t.value=e},clearSearch:()=>{e.value=""},emojiCategories:g7,emojiData:y7}}function b7(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var w7={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function x7(e){w7=e}var k7={exec:()=>null};function _7(e,t=""){let a="string"==typeof e?e:e.source,n={replace:(e,t)=>{let r="string"==typeof t?t:t.source;return r=r.replace(C7.caret,"$1"),a=a.replace(e,r),n},getRegex:()=>new RegExp(a,t)};return n}var E7=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[\t ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},F7=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,D7=/(?:[*+-]|\d{1,9}[.)])/,A7=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,T7=_7(A7).replace(/bull/g,D7).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),S7=_7(A7).replace(/bull/g,D7).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),I7=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,P7=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,N7=_7(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",P7).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),B7=_7(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,D7).getRegex(),M7="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",O7=/|$))/,U7=_7("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",O7).replace("tag",M7).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),j7=_7(I7).replace("hr",F7).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M7).getRegex(),L7={blockquote:_7(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",j7).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:N7,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:F7,html:U7,lheading:T7,list:B7,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:j7,table:k7,text:/^[^\n]+/},R7=_7("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",F7).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M7).getRegex(),z7={...L7,lheading:S7,table:R7,paragraph:_7(I7).replace("hr",F7).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",R7).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",M7).getRegex()},H7={...L7,html:_7("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",O7).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:k7,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:_7(I7).replace("hr",F7).replace("heading"," *#{1,6} *[^\n]").replace("lheading",T7).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},Y7=/^( {2,}|\\)\n(?!\s*$)/,$7=/[\p{P}\p{S}]/u,G7=/[\s\p{P}\p{S}]/u,W7=/[^\s\p{P}\p{S}]/u,V7=_7(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,G7).getRegex(),K7=/(?!~)[\p{P}\p{S}]/u,J7=_7(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",E7?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),q7=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,Z7=_7(q7,"u").replace(/punct/g,$7).getRegex(),X7=_7(q7,"u").replace(/punct/g,K7).getRegex(),Q7="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",e9=_7(Q7,"gu").replace(/notPunctSpace/g,W7).replace(/punctSpace/g,G7).replace(/punct/g,$7).getRegex(),t9=_7(Q7,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,K7).getRegex(),a9=_7("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,W7).replace(/punctSpace/g,G7).replace(/punct/g,$7).getRegex(),n9=_7(/\\(punct)/,"gu").replace(/punct/g,$7).getRegex(),r9=_7(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),s9=_7(O7).replace("(?:--\x3e|$)","--\x3e").getRegex(),i9=_7("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",s9).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),o9=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,l9=_7(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",o9).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),c9=_7(/^!?\[(label)\]\[(ref)\]/).replace("label",o9).replace("ref",P7).getRegex(),u9=_7(/^!?\[(ref)\](?:\[\])?/).replace("ref",P7).getRegex(),d9=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,h9={_backpedal:k7,anyPunctuation:n9,autolink:r9,blockSkip:J7,br:Y7,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:k7,emStrongLDelim:Z7,emStrongRDelimAst:e9,emStrongRDelimUnd:a9,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:l9,nolink:u9,punctuation:V7,reflink:c9,reflinkSearch:_7("reflink|nolink(?!\\()","g").replace("reflink",c9).replace("nolink",u9).getRegex(),tag:i9,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},b9=e=>v9[e];function w9(e,t){if(t){if(C7.escapeTest.test(e))return e.replace(C7.escapeReplace,b9)}else if(C7.escapeTestNoEncode.test(e))return e.replace(C7.escapeReplaceNoEncode,b9);return e}function x9(e){try{e=encodeURI(e).replace(C7.percentDecode,"%")}catch{return null}return e}function k9(e,t){let a=e.replace(C7.findPipe,(e,t,a)=>{let n=!1,r=t;for(;--r>=0&&"\\"===a[r];)n=!n;return n?"|":" |"}).split(C7.splitPipe),n=0;if(a[0].trim()||a.shift(),a.length>0&&!a.at(-1)?.trim()&&a.pop(),t)if(a.length>t)a.splice(t);else for(;a.length0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:_9(e,"\n")}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],a=function(e,t,a){let n=e.match(a.other.indentCodeCompensation);if(null===n)return t;let r=n[1];return t.split("\n").map(e=>{let t=e.match(a.other.beginningSpace);if(null===t)return e;let[n]=t;return n.length>=r.length?e.slice(r.length):e}).join("\n")}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:a}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=_9(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:_9(t[0],"\n")}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=_9(t[0],"\n").split("\n"),a="",n="",r=[];for(;e.length>0;){let t,s=!1,i=[];for(t=0;t1,r={type:"list",raw:"",ordered:n,start:n?+a.slice(0,-1):"",loose:!1,items:[]};a=n?`\\d{1,9}\\${a.slice(-1)}`:`\\${a}`,this.options.pedantic&&(a=n?a:"[*+-]");let s=this.rules.other.listItemRegex(a),i=!1;for(;e;){let a=!1,n="",o="";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;n=t[0],e=e.substring(n.length);let l=t[2].split("\n",1)[0].replace(this.rules.other.listReplaceTabs,e=>" ".repeat(3*e.length)),c=e.split("\n",1)[0],u=!l.trim(),d=0;if(this.options.pedantic?(d=2,o=l.trimStart()):u?d=t[1].length+1:(d=t[2].search(this.rules.other.nonSpaceChar),d=d>4?1:d,o=l.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(c)&&(n+=c+"\n",e=e.substring(c.length+1),a=!0),!a){let t=this.rules.other.nextBulletRegex(d),a=this.rules.other.hrRegex(d),r=this.rules.other.fencesBeginRegex(d),s=this.rules.other.headingBeginRegex(d),i=this.rules.other.htmlBeginRegex(d);for(;e;){let h,p=e.split("\n",1)[0];if(c=p,this.options.pedantic?(c=c.replace(this.rules.other.listReplaceNesting," "),h=c):h=c.replace(this.rules.other.tabCharGlobal," "),r.test(c)||s.test(c)||i.test(c)||t.test(c)||a.test(c))break;if(h.search(this.rules.other.nonSpaceChar)>=d||!c.trim())o+="\n"+h.slice(d);else{if(u||l.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||r.test(l)||s.test(l)||a.test(l))break;o+="\n"+c}!u&&!c.trim()&&(u=!0),n+=p+"\n",e=e.substring(p.length+1),l=h.slice(d)}}r.loose||(i?r.loose=!0:this.rules.other.doubleBlankLine.test(n)&&(i=!0)),r.items.push({type:"list_item",raw:n,task:!!this.options.gfm&&this.rules.other.listIsTask.test(o),loose:!1,text:o,tokens:[]}),r.raw+=n}let o=r.items.at(-1);if(!o)return;o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd(),r.raw=r.raw.trimEnd();for(let e of r.items){if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),e.task){if(e.text=e.text.replace(this.rules.other.listReplaceTask,""),"text"===e.tokens[0]?.type||"paragraph"===e.tokens[0]?.type){e.tokens[0].raw=e.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),e.tokens[0].text=e.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,"");break}}let t=this.rules.other.listTaskCheckbox.exec(e.raw);if(t){let a={type:"checkbox",raw:t[0]+" ",checked:"[ ]"!==t[0]};e.checked=a.checked,r.loose?e.tokens[0]&&["paragraph","text"].includes(e.tokens[0].type)&&"tokens"in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=a.raw+e.tokens[0].raw,e.tokens[0].text=a.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(a)):e.tokens.unshift({type:"paragraph",raw:a.raw,text:a.raw,tokens:[a]}):e.tokens.unshift(a)}}if(!r.loose){let t=e.tokens.filter(e=>"space"===e.type),a=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw));r.loose=a}}if(r.loose)for(let e of r.items){e.loose=!0;for(let t of e.tokens)"text"===t.type&&(t.type="paragraph")}return r}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),a=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:a,title:n}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let a=k9(t[1]),n=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),r=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(a.length===n.length){for(let e of n)this.rules.other.tableAlignRight.test(e)?s.align.push("right"):this.rules.other.tableAlignCenter.test(e)?s.align.push("center"):this.rules.other.tableAlignLeft.test(e)?s.align.push("left"):s.align.push(null);for(let e=0;e({text:e,tokens:this.lexer.inline(e),header:!1,align:s.align[t]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=_9(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let a=0;for(let n=0;n0?-2:-1}(t[2],"()");if(-2===e)return;if(e>-1){let a=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,a).trim(),t[3]=""}}let a=t[2],n="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(a);e&&(a=e[1],n=e[3])}else n=t[3]?t[3].slice(1,-1):"";return a=a.trim(),this.rules.other.startAngleBracket.test(a)&&(a=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?a.slice(1):a.slice(1,-1)),E9(t,{href:a&&a.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let a;if((a=this.rules.inline.reflink.exec(e))||(a=this.rules.inline.nolink.exec(e))){let e=t[(a[2]||a[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!e){let e=a[0].charAt(0);return{type:"text",raw:e,text:e}}return E9(a,e,a[0],this.lexer,this.rules)}}emStrong(e,t,a=""){let n=this.rules.inline.emStrongLDelim.exec(e);if(!(!n||n[3]&&a.match(this.rules.other.unicodeAlphaNumeric))&&(!n[1]&&!n[2]||!a||this.rules.inline.punctuation.exec(a))){let a,r,s=[...n[0]].length-1,i=s,o=0,l="*"===n[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+s);null!=(n=l.exec(t));){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(r=[...a].length,n[3]||n[4]){i+=r;continue}if((n[5]||n[6])&&s%3&&!((s+r)%3)){o+=r;continue}if(i-=r,i>0)continue;r=Math.min(r,r+i+o);let t=[...n[0]][0].length,l=e.slice(0,s+n.index+t+r);if(Math.min(s,r)%2){let e=l.slice(1,-1);return{type:"em",raw:l,text:e,tokens:this.lexer.inlineTokens(e)}}let c=l.slice(2,-2);return{type:"strong",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),a=this.rules.other.nonSpaceChar.test(e),n=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return a&&n&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,a;return"@"===t[2]?(e=t[1],a="mailto:"+e):(e=t[1],a=e),{type:"link",raw:t[0],text:e,href:a,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,a;if("@"===t[2])e=t[0],a="mailto:"+e;else{let n;do{n=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(n!==t[0]);e=t[0],a="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:a,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}},F9=class e{constructor(e){o(this,"tokens"),o(this,"options"),o(this,"state"),o(this,"inlineQueue"),o(this,"tokenizer"),this.tokens=[],this.tokens.links=Object.create(null),this.options=e||w7,this.options.tokenizer=this.options.tokenizer||new C9,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:C7,block:g9.normal,inline:y9.normal};this.options.pedantic?(t.block=g9.pedantic,t.inline=y9.pedantic):this.options.gfm&&(t.block=g9.gfm,this.options.breaks?t.inline=y9.breaks:t.inline=y9.gfm),this.tokenizer.rules=t}static get rules(){return{block:g9,inline:y9}}static lex(t,a){return new e(a).lex(t)}static lexInline(t,a){return new e(a).inlineTokens(t)}lex(e){e=e.replace(C7.carriageReturn,"\n"),this.blockTokens(e,this.tokens);for(let t=0;t!!(n=a.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))continue;if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length);let a=t.at(-1);1===n.raw.length&&void 0!==a?a.raw+="\n":t.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length);let a=t.at(-1);"paragraph"===a?.type||"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.text,this.inlineQueue.at(-1).src=a.text):t.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length);let a=t.at(-1);"paragraph"===a?.type||"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title},t.push(n));continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),t.push(n);continue}let r=e;if(this.options.extensions?.startBlock){let t,a=1/0,n=e.slice(1);this.options.extensions.startBlock.forEach(e=>{t=e.call({lexer:this},n),"number"==typeof t&&t>=0&&(a=Math.min(a,t))}),a<1/0&&a>=0&&(r=e.substring(0,a+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r))){let s=t.at(-1);a&&"paragraph"===s?.type?(s.raw+=(s.raw.endsWith("\n")?"":"\n")+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(n),a=r.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length);let a=t.at(-1);"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(n);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let a,n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(n));)e.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.anyPunctuation.exec(n));)n=n.slice(0,r.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(n));)a=r[2]?r[2].length:0,n=n.slice(0,r.index+a)+"["+"a".repeat(r[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,i="";for(;e;){let a;if(s||(i=""),s=!1,this.options.extensions?.inline?.some(n=>!!(a=n.call({lexer:this},e,t))&&(e=e.substring(a.raw.length),t.push(a),!0)))continue;if(a=this.tokenizer.escape(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.tag(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.link(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(a.raw.length);let n=t.at(-1);"text"===a.type&&"text"===n?.type?(n.raw+=a.raw,n.text+=a.text):t.push(a);continue}if(a=this.tokenizer.emStrong(e,n,i)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.codespan(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.br(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.del(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.autolink(e)){e=e.substring(a.raw.length),t.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(e))){e=e.substring(a.raw.length),t.push(a);continue}let r=e;if(this.options.extensions?.startInline){let t,a=1/0,n=e.slice(1);this.options.extensions.startInline.forEach(e=>{t=e.call({lexer:this},n),"number"==typeof t&&t>=0&&(a=Math.min(a,t))}),a<1/0&&a>=0&&(r=e.substring(0,a+1))}if(a=this.tokenizer.inlineText(r)){e=e.substring(a.raw.length),"_"!==a.raw.slice(-1)&&(i=a.raw.slice(-1)),s=!0;let n=t.at(-1);"text"===n?.type?(n.raw+=a.raw,n.text+=a.text):t.push(a);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return t}},D9=class{constructor(e){o(this,"options"),o(this,"parser"),this.options=e||w7}space(e){return""}code({text:e,lang:t,escaped:a}){let n=(t||"").match(C7.notSpaceStart)?.[0],r=e.replace(C7.endingNewline,"")+"\n";return n?'
'+(a?r:w9(r,!0))+"
\n":"
"+(a?r:w9(r,!0))+"
\n"}blockquote({tokens:e}){return`
\n${this.parser.parse(e)}
\n`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}\n`}hr(e){return"
\n"}list(e){let t=e.ordered,a=e.start,n="";for(let s=0;s\n"+n+"\n"}listitem(e){return`
  • ${this.parser.parse(e.tokens)}
  • \n`}checkbox({checked:e}){return" '}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    \n`}table(e){let t="",a="";for(let r=0;r${n}`),"\n\n"+t+"\n"+n+"
    \n"}tablerow({text:e}){return`\n${e}\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),a=e.header?"th":"td";return(e.align?`<${a} align="${e.align}">`:`<${a}>`)+t+`\n`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${w9(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:a}){let n=this.parser.parseInline(a),r=x9(e);if(null===r)return n;let s='
    ",s}image({href:e,title:t,text:a,tokens:n}){n&&(a=this.parser.parseInline(n,this.parser.textRenderer));let r=x9(e);if(null===r)return w9(a);let s=`${a}{let r=e[n].flat(1/0);a=a.concat(this.walkTokens(r,t))}):e.tokens&&(a=a.concat(this.walkTokens(e.tokens,t)))}}return a}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let a={...e};if(a.async=this.defaults.async||a.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){let a=t.renderers[e.name];t.renderers[e.name]=a?function(...t){let n=e.renderer.apply(this,t);return!1===n&&(n=a.apply(this,t)),n}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");let a=t[e.level];a?a.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),a.extensions=t),e.renderer){let t=this.defaults.renderer||new D9(this.defaults);for(let a in e.renderer){if(!(a in t))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let n=a,r=e.renderer[n],s=t[n];t[n]=(...e)=>{let a=r.apply(t,e);return!1===a&&(a=s.apply(t,e)),a||""}}a.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new C9(this.defaults);for(let a in e.tokenizer){if(!(a in t))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let n=a,r=e.tokenizer[n],s=t[n];t[n]=(...e)=>{let a=r.apply(t,e);return!1===a&&(a=s.apply(t,e)),a}}a.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new S9;for(let a in e.hooks){if(!(a in t))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let n=a,r=e.hooks[n],s=t[n];S9.passThroughHooks.has(a)?t[n]=e=>{if(this.defaults.async&&S9.passThroughHooksRespectAsync.has(a))return(async()=>{let a=await r.call(t,e);return s.call(t,a)})();let n=r.call(t,e);return s.call(t,n)}:t[n]=(...e)=>{if(this.defaults.async)return(async()=>{let a=await r.apply(t,e);return!1===a&&(a=await s.apply(t,e)),a})();let a=r.apply(t,e);return!1===a&&(a=s.apply(t,e)),a}}a.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,n=e.walkTokens;a.walkTokens=function(e){let a=[];return a.push(n.call(this,e)),t&&(a=a.concat(t.call(this,e))),a}}this.defaults={...this.defaults,...a}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return F9.lex(e,t??this.defaults)}parser(e,t){return T9.parse(e,t??this.defaults)}parseMarkdown(e){return(t,a)=>{let n={...a},r={...this.defaults,...n},s=this.onError(!!r.silent,!!r.async);if(!0===this.defaults.async&&!1===n.async)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return s(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(r.hooks&&(r.hooks.options=r,r.hooks.block=e),r.async)return(async()=>{let a=r.hooks?await r.hooks.preprocess(t):t,n=await(r.hooks?await r.hooks.provideLexer():e?F9.lex:F9.lexInline)(a,r),s=r.hooks?await r.hooks.processAllTokens(n):n;r.walkTokens&&await Promise.all(this.walkTokens(s,r.walkTokens));let i=await(r.hooks?await r.hooks.provideParser():e?T9.parse:T9.parseInline)(s,r);return r.hooks?await r.hooks.postprocess(i):i})().catch(s);try{r.hooks&&(t=r.hooks.preprocess(t));let a=(r.hooks?r.hooks.provideLexer():e?F9.lex:F9.lexInline)(t,r);r.hooks&&(a=r.hooks.processAllTokens(a)),r.walkTokens&&this.walkTokens(a,r.walkTokens);let n=(r.hooks?r.hooks.provideParser():e?T9.parse:T9.parseInline)(a,r);return r.hooks&&(n=r.hooks.postprocess(n)),n}catch(i){return s(i)}}}onError(e,t){return a=>{if(a.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="

    An error occurred:

    "+w9(a.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(a);throw a}}};function P9(e,t){return I9.parse(e,t)}P9.options=P9.setOptions=function(e){return I9.setOptions(e),P9.defaults=I9.defaults,x7(P9.defaults),P9},P9.getDefaults=b7,P9.defaults=w7,P9.use=function(...e){return I9.use(...e),P9.defaults=I9.defaults,x7(P9.defaults),P9},P9.walkTokens=function(e,t){return I9.walkTokens(e,t)},P9.parseInline=I9.parseInline,P9.Parser=T9,P9.parser=T9.parse,P9.Renderer=D9,P9.TextRenderer=A9,P9.Lexer=F9,P9.lexer=F9.lex,P9.Tokenizer=C9,P9.Hooks=S9,P9.parse=P9,P9.options,P9.setOptions,P9.use,P9.walkTokens,P9.parseInline,T9.parse,F9.lex;const N9={class:"markdown-editor"},B9={class:"editor-container"},M9={class:"editor-panes"},O9={class:"editor-pane"},U9={class:"pane-header"},j9={class:"editor-toolbar"},L9={class:"table-wrapper"},R9={key:0,class:"table-menu"},z9={class:"table-size-selector"},H9={class:"table-grid"},Y9=["onMouseenter","onClick"],$9={class:"table-info"},G9={class:"code-block-wrapper"},W9={key:0,class:"code-block-menu"},V9={class:"datetime-wrapper"},K9={key:0,class:"datetime-menu"},J9={class:"datetime-preview"},q9={class:"datetime-preview"},Z9={class:"datetime-preview"},X9={class:"datetime-preview"},Q9={class:"datetime-preview"},eee={class:"emoji-wrapper"},tee={key:0,class:"emoji-menu"},aee={class:"emoji-categories"},nee=["onClick","title"],ree={class:"emoji-grid"},see=["onClick","title"],iee=["title"],oee={key:0,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},lee={key:1,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},cee={class:"pane-actions"},uee={class:"editor-content"},dee={key:0,class:"preview-pane"},hee=["innerHTML"],pee=Ya({__name:"MarkdownEditor",emits:["back"],setup(e){il("markdown-editor");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),{activeCategory:r,filteredEmojis:s,setActiveCategory:i,emojiCategories:o}=v7(),l=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"markdown-editor"===e.id);if(t)return t.title}return"Markdown编辑器"}),c=St(),u=St(),d=St(),h=St(""),p=St(!1),f=St(!1),m=St(1),g=St(1),y=St(!1),v=St(!1),b=St(!0),w=St(`# 欢迎使用 Markdown 编辑器 📝\n\n[TOC]\n\n## 功能特色 ✨\n\n- **实时预览** - 左右分屏显示,所见即所得\n- **丰富工具栏** - 一键插入各种 Markdown 语法\n- **目录支持** - 自动生成文档目录,支持 TOC 标记\n- **图片支持** - 拖拽或粘贴图片自动转 Base64\n- **表情符号** - 内置丰富的 Emoji 表情库 😊\n- **代码高亮** - 支持 20+ 种编程语言\n- **导出功能** - 一键下载 .md 文件\n- **复制功能** - 快速复制到剪贴板\n- **日期时间** - 快速插入各种时间格式\n\n## 目录功能说明 📚\n\n### 如何使用目录\n1. 在文档中任意位置输入 \`TOC\`\n2. 系统会自动扫描所有标题(H1-H6)\n3. 生成带链接的目录列表\n4. 点击目录项可快速跳转到对应章节\n\n### 目录特性\n- 自动识别标题层级\n- 支持中英文标题\n- 生成唯一锚点链接\n- 响应式设计,适配各种屏幕\n\n## 文本格式示例 📖\n\n### 基础格式\n- **粗体文本** - 重要内容突出显示\n- *斜体文本* - 强调或引用\n- ~~删除线~~ - 标记已删除内容\n- \`行内代码\` - 变量名或函数名\n- ==高亮文本== - 重点标记\n\n### 标题层级\n# 一级标题 - 文档主标题\n## 二级标题 - 章节标题 \n### 三级标题 - 小节标题\n#### 四级标题 - 子小节\n##### 五级标题 - 详细分类\n###### 六级标题 - 最小单位\n\n## 列表示例 📋\n\n### 无序列表\n- 🍎 苹果 - 富含维生素C\n- 🍌 香蕉 - 补充钾元素\n- 🍇 葡萄 - 抗氧化作用\n - 🟣 紫葡萄 - 花青素丰富\n - 🟢 青葡萄 - 口感清爽\n - 🔴 红葡萄 - 甜度较高\n\n### 有序列表\n1. 📅 制定计划 - 明确目标和时间线\n2. 🔍 收集资料 - 查找相关信息和资源\n3. ✏️ 开始编写 - 按照大纲逐步完成\n4. 🔄 反复修改 - 完善内容和结构\n5. ✅ 最终确认 - 检查格式和错误\n\n### 任务列表\n- [x] ✅ 完成项目需求分析\n- [x] ✅ 设计系统架构\n- [ ] 🔄 开发核心功能\n- [ ] 📝 编写测试用例\n- [ ] 🚀 部署到生产环境\n\n## 代码示例 💻\n\n### JavaScript 代码\n\`\`\`javascript\n// 🚀 现代 JavaScript 示例\nconst greeting = (name) => {\n return \`Hello, \${name}! 👋\`;\n};\n\n// 📊 数据处理\nconst users = [\n { id: 1, name: 'Alice', role: '👩‍💻 Developer' },\n { id: 2, name: 'Bob', role: '🎨 Designer' },\n { id: 3, name: 'Charlie', role: '📊 Analyst' }\n];\n\nconsole.log(greeting('World')); // Hello, World! 👋\n\`\`\`\n\n### Python 代码\n\`\`\`python\n# 🐍 Python 数据分析示例\nimport pandas as pd\nimport numpy as np\n\ndef analyze_data(data):\n """📈 数据分析函数"""\n result = {\n 'mean': np.mean(data),\n 'std': np.std(data),\n 'count': len(data)\n }\n return result\n\n# 📊 示例数据\nsales_data = [100, 150, 200, 180, 220, 190, 250]\nstats = analyze_data(sales_data)\nprint(f"📊 销售统计: {stats}")\n\`\`\`\n\n### CSS 样式\n\`\`\`css\n/* 🎨 现代 CSS 样式 */\n.card {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\n padding: 24px;\n transition: transform 0.3s ease;\n}\n\n.card:hover {\n transform: translateY(-4px);\n}\n\n.icon {\n font-size: 2rem;\n margin-bottom: 16px;\n}\n\`\`\`\n\n## 表格示例 📊\n\n| 🏆 排名 | 👤 姓名 | 💼 职位 | 📧 邮箱 | 📱 电话 | 🌟 评分 |\n|---------|---------|---------|---------|---------|---------|\n| 1 | 张三 | 🚀 项目经理 | zhang@example.com | 138-0000-0001 | ⭐⭐⭐⭐⭐ |\n| 2 | 李四 | 👩‍💻 前端开发 | li@example.com | 138-0000-0002 | ⭐⭐⭐⭐ |\n| 3 | 王五 | 🎨 UI设计师 | wang@example.com | 138-0000-0003 | ⭐⭐⭐⭐⭐ |\n| 4 | 赵六 | 🔧 后端开发 | zhao@example.com | 138-0000-0004 | ⭐⭐⭐⭐ |\n\n## 引用和链接 🔗\n\n### 经典引用\n> 💡 "代码是写给人看的,只是偶尔让计算机执行一下。" \n> —— Harold Abelson\n\n> 🎯 "过早的优化是万恶之源。" \n> —— Donald Knuth\n\n> 🚀 "任何傻瓜都能写出计算机能理解的代码,只有优秀的程序员才能写出人类能理解的代码。" \n> —— Martin Fowler\n\n### 有用的链接\n- 📚 [MDN Web 文档](https://developer.mozilla.org/) - 最权威的前端技术文档\n- 🐙 [GitHub](https://github.com) - 全球最大的代码托管平台\n- 📖 [Stack Overflow](https://stackoverflow.com) - 程序员问答社区\n- 🎨 [Dribbble](https://dribbble.com) - 设计师灵感平台\n\n## 图片示例 🖼️\n\n### 在线图片\n![🌅 美丽风景](https://picsum.photos/400/300?random=3)\n\n### 本地图片(Base64)\n> 💡 提示:你可以通过工具栏的图片按钮上传本地图片,系统会自动转换为 Base64 格式\n\n## 表情符号大全 😊\n\n### 常用表情\n😀 😃 😄 😁 😆 😅 🤣 😂 🙂 😉 😊 😇 🥰 😍 🤩 😘 😗 😚 😙\n\n### 手势表情 \n👋 🤚 ✋ 👌 ✌️ 🤞 🤟 🤘 🤙 👈 👉 👆 👇 ☝️ 👍 👎 ✊ 👊\n\n### 工具图标\n🧰 🔧 🔨 ⚙️ 🛠️ ⚒️ 🔩 ⛏️ 🪓 🪚 🔪 🗡️ 🛡️ 💻 🖥️ 🖨️ ⌨️ 🖱️\n\n### 交通工具\n🚀 🛸 🚁 ✈️ 🛫 🛬 🚗 🚕 🚙 🚌 🚎 🏎️ 🚓 🚑 🚒 🚐 🛻 🚚\n\n## 特殊格式 ⚡\n\n### 分割线\n---\n\n### 脚注\n这是一个带脚注的文本[^1]。\n\n[^1]: 这里是脚注的内容,提供额外的说明信息。\n\n### 数学公式(如果支持)\n行内公式:$E = mc^2$\n\n块级公式:\n$\n\\sum_{i=1}^{n} x_i = x_1 + x_2 + \\cdots + x_n\n$\n\n### 键盘按键\n按 Ctrl + C 复制 \n按 Ctrl + V 粘贴 \n按 Ctrl + S 保存\n\n## 时间记录 ⏰\n\n- 📅 创建时间:${(new Date).toLocaleDateString("zh-CN")}\n- ⏰ 当前时间:${(new Date).toLocaleTimeString("zh-CN")}\n- 🌍 时区:${Intl.DateTimeFormat().resolvedOptions().timeZone}\n\n---\n\n🎉 **开始你的 Markdown 创作之旅吧!** \n\n💡 **小贴士:**\n- 使用工具栏快速插入各种元素\n- 支持键盘快捷键:Ctrl+B(粗体)、Ctrl+I(斜体)、Ctrl+K(链接)\n- 可以直接粘贴图片,自动转换为 Base64 格式\n- 点击预览按钮切换编辑/预览模式`),x=is(()=>{try{let e=h.value;if(e.includes("[TOC]")){const t=(e=>{const t=e.split("\n"),a=[];if(t.forEach(e=>{const t=e.match(/^(#{1,6})\s+(.+)$/);if(t&&t[1]&&t[2]){const e=t[1].length,n=t[2].trim(),r=n.toLowerCase().replace(/[^\w\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");a.push({level:e,text:n,id:r})}}),0===a.length)return'
    暂无目录
    ';let n='
    ",n})(e);e=e.replace(/\[TOC\]/g,t)}const t=P9(e);let a;return"string"!=typeof t?"

    正在渲染...

    ":(a=t,a=(e=>e.replace(/(.*?)<\/h[1-6]>/g,(e,t,a)=>`${a}`))(a),a)}catch(e){return"

    预览解析错误

    "}});function k(){_()}function _(){if(!d.value||!c.value)return;const e=h.value.split("\n").length,t=Array.from({length:e},(e,t)=>`
    ${t+1}
    `).join("");d.value.innerHTML=t}function E(){d.value&&c.value&&(d.value.scrollTop=c.value.scrollTop)}function C(e,t=""){const a=c.value;if(!a)return;const n=a.selectionStart,r=a.selectionEnd,s=h.value.substring(n,r),i=e+s+t;h.value=h.value.substring(0,n)+i+h.value.substring(r),setTimeout(()=>{s?a.setSelectionRange(n+e.length,n+e.length+s.length):a.setSelectionRange(n+e.length,n+e.length),a.focus()})}function F(e){const t=c.value;if(!t)return;const a=t.selectionStart,n=h.value.lastIndexOf("\n",a-1)+1,r="#".repeat(e)+" ";h.value=h.value.substring(0,n)+r+h.value.substring(n),setTimeout(()=>{t.setSelectionRange(a+r.length,a+r.length),t.focus()})}function D(e){const t=c.value;if(!t)return;const a=t.selectionStart,n=h.value.lastIndexOf("\n",a-1)+1;h.value=h.value.substring(0,n)+e+h.value.substring(n),setTimeout(()=>{t.setSelectionRange(a+e.length,a+e.length),t.focus()})}function A(){const e=c.value;if(!e)return;const t=e.selectionStart,a=e.selectionEnd,n=h.value.substring(t,a),r=n||"链接文本",s=`[${r}](https://example.com)`;h.value=h.value.substring(0,t)+s+h.value.substring(a),setTimeout(()=>{n?e.setSelectionRange(t+r.length+3,t+s.length-1):e.setSelectionRange(t+1,t+1+r.length),e.focus()})}function T(e=""){let t="",a="";switch(e){case"javascript":case"typescript":case"java":case"cpp":case"csharp":case"php":case"go":case"rust":case"swift":case"kotlin":case"dart":case"scala":a="// 在这里输入代码";break;case"python":case"ruby":case"perl":case"r":case"bash":case"shell":case"powershell":a="# 在这里输入代码";break;case"html":case"xml":a="\x3c!-- 在这里输入代码 --\x3e";break;case"css":a="/* 在这里输入样式 */";break;case"sql":a="-- 在这里输入查询";break;case"lua":a="-- 在这里输入代码";break;case"vim":a='" 在这里输入代码';break;case"matlab":a="% 在这里输入代码";break;default:a="在这里输入代码内容"}t=e?`\`\`\`${e}\n${a}\n\`\`\``:"```\n代码内容\n```",C(t),y.value=!1}function S(e){const t=new Date;switch(e){case"date":return t.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"}).replace(/\//g,"-");case"time":return t.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1});case"datetime":return t.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).replace(/\//g,"-");case"iso":return t.toISOString();case"timestamp":return t.getTime().toString();default:return""}}function I(e){C(S(e)),v.value=!1,t("已插入"+("date"===e?"日期":"time"===e?"时间":"datetime"===e?"日期时间":"iso"===e?"ISO格式":"时间戳"))}function P(e){if(e.ctrlKey||e.metaKey)switch(e.key){case"b":e.preventDefault(),C("**","**");break;case"i":e.preventDefault(),C("*","*");break;case"k":e.preventDefault(),A()}"Tab"===e.key&&(e.preventDefault(),C(" ")),"Escape"===e.key&&(p.value=!1,f.value=!1,y.value=!1,v.value=!1)}function N(e){const t=e.target;t.closest(".emoji-wrapper")||(p.value=!1),t.closest(".table-wrapper")||(f.value=!1),t.closest(".code-block-wrapper")||(y.value=!1),t.closest(".datetime-wrapper")||(v.value=!1)}function B(){h.value="",t("内容已清空")}function M(){const e=new Blob([h.value],{type:"text/markdown"}),a=URL.createObjectURL(e),n=document.createElement("a");n.href=a,n.download=`markdown-${Date.now()}.md`,n.click(),URL.revokeObjectURL(a),t("文件已导出")}async function O(){try{await n(h.value),t("内容已复制到剪贴板")}catch{a("复制失败")}}function U(e){const t=e.target,a=t.files?.[0];a&&j(a)}function j(e){if(!e.type.startsWith("image/"))return void a("请选择图片文件");const n=new FileReader;n.onload=a=>{const n=a.target?.result;C(`![${e.name.replace(/\.[^/.]+$/,"")}](${n})`),t("图片已插入")},n.onerror=()=>{a("图片读取失败")},n.readAsDataURL(e)}function L(e){const t=e.clipboardData?.items;if(t)for(let a=0;a{_(),document.addEventListener("click",N)}),ln(()=>{document.removeEventListener("click",N)}),pa(h,()=>{_()},{immediate:!0}),nn(()=>{h.value=w.value,k()}),(e,a)=>(Cr(),Tr("div",N9,[Or(hl,{title:l.value,onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制Markdown",onClick:O}),Or(jl,{icon:"download",tooltip:"下载Markdown",onClick:M}),Or(jl,{icon:"clear",tooltip:"清空内容",onClick:B})]),_:1},8,["title"]),Mr("div",B9,[Mr("div",M9,[Mr("div",O9,[Mr("div",U9,[a[76]||(a[76]=Mr("span",null,"编辑",-1)),Mr("div",j9,[Mr("button",{onClick:a[1]||(a[1]=e=>C("**","**")),title:"粗体",class:"toolbar-btn"},[...a[49]||(a[49]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},[Mr("path",{d:"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"}),Mr("path",{d:"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"})],-1)])]),Mr("button",{onClick:a[2]||(a[2]=e=>C("*","*")),title:"斜体",class:"toolbar-btn"},[...a[50]||(a[50]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},[Mr("polygon",{points:"10,4 14,4 8,20 4,20"})],-1)])]),Mr("button",{onClick:a[3]||(a[3]=e=>C("~~","~~")),title:"删除线",class:"toolbar-btn"},[...a[51]||(a[51]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M16 4H9a3 3 0 0 0-2.83 4"}),Mr("path",{d:"M14 12a4 4 0 0 1 0 8H6"}),Mr("line",{x1:"4",y1:"12",x2:"20",y2:"12"})],-1)])]),Mr("button",{onClick:a[4]||(a[4]=e=>C("`","`")),title:"行内代码",class:"toolbar-btn"},[...a[52]||(a[52]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1)])]),a[71]||(a[71]=Mr("div",{class:"toolbar-divider"},null,-1)),Mr("button",{onClick:a[5]||(a[5]=e=>F(1)),title:"标题 1",class:"toolbar-btn"},"H1"),Mr("button",{onClick:a[6]||(a[6]=e=>F(2)),title:"标题 2",class:"toolbar-btn"},"H2"),Mr("button",{onClick:a[7]||(a[7]=e=>F(3)),title:"标题 3",class:"toolbar-btn"},"H3"),a[72]||(a[72]=Mr("div",{class:"toolbar-divider"},null,-1)),Mr("button",{onClick:a[8]||(a[8]=e=>D("- ")),title:"无序列表",class:"toolbar-btn"},[...a[53]||(a[53]=[Lr('',1)])]),Mr("button",{onClick:a[9]||(a[9]=e=>D("1. ")),title:"有序列表",class:"toolbar-btn"},[...a[54]||(a[54]=[Lr('',1)])]),Mr("button",{onClick:a[10]||(a[10]=e=>{D("> ")}),title:"引用",class:"toolbar-btn"},[...a[55]||(a[55]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z"}),Mr("path",{d:"M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z"})],-1)])]),a[73]||(a[73]=Mr("div",{class:"toolbar-divider"},null,-1)),Mr("button",{onClick:a[11]||(a[11]=e=>A()),title:"链接",class:"toolbar-btn"},[...a[56]||(a[56]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.72"}),Mr("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.72-1.72"})],-1)])]),Mr("button",{onClick:a[12]||(a[12]=e=>{u.value?.click()}),title:"插入图片",class:"toolbar-btn"},[...a[57]||(a[57]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),Mr("circle",{cx:"9",cy:"9",r:"2"}),Mr("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})],-1)])]),Mr("div",L9,[Mr("button",{onClick:a[13]||(a[13]=e=>(f.value=!f.value,void(f.value&&(m.value=1,g.value=1)))),title:"表格",class:Q(["toolbar-btn",{active:f.value}])},[...a[58]||(a[58]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"})],-1)])],2),f.value?(Cr(),Tr("div",R9,[Mr("div",z9,[Mr("div",H9,[(Cr(),Tr(br,null,yn(6,e=>Mr("div",{key:e,class:"table-row"},[(Cr(),Tr(br,null,yn(8,t=>Mr("div",{key:t,class:Q(["table-cell",{active:e<=m.value&&t<=g.value}]),onMouseenter:a=>{m.value=e,g.value=t},onClick:a=>function(e=3,t=3){let a="\n";a+=`| ${Array.from({length:t},(e,t)=>`列${t+1}`).join(" | ")} |\n`,a+=`| ${Array.from({length:t},()=>"-----").join(" | ")} |\n`;for(let n=1;n<=e-1;n++)a+=`| ${Array.from({length:t},(e,t)=>`数据${n}-${t+1}`).join(" | ")} |\n`;a+="\n",C(a),f.value=!1}(e,t)},null,42,Y9)),64))])),64))]),Mr("div",$9,se(m.value)+" × "+se(g.value)+" 表格",1)])])):Rr("",!0)]),Mr("button",{onClick:a[14]||(a[14]=e=>function(){const e=c.value;if(!e)return;const t=e.selectionStart,a=h.value.lastIndexOf("\n",t-1)+1,n="[TOC]\n\n";h.value=h.value.substring(0,a)+n+h.value.substring(a),setTimeout(()=>{e.setSelectionRange(t+7,t+7),e.focus()})}()),title:"插入目录",class:"toolbar-btn"},[...a[59]||(a[59]=[Lr('',1)])]),Mr("div",G9,[Mr("button",{onClick:a[15]||(a[15]=e=>{y.value=!y.value}),title:"代码块",class:Q(["toolbar-btn",{active:y.value}])},[...a[60]||(a[60]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1)])],2),y.value?(Cr(),Tr("div",W9,[Mr("div",{class:"code-lang-item",onClick:a[16]||(a[16]=e=>T("javascript"))},"JavaScript"),Mr("div",{class:"code-lang-item",onClick:a[17]||(a[17]=e=>T("python"))},"Python"),Mr("div",{class:"code-lang-item",onClick:a[18]||(a[18]=e=>T("java"))},"Java"),Mr("div",{class:"code-lang-item",onClick:a[19]||(a[19]=e=>T("cpp"))},"C++"),Mr("div",{class:"code-lang-item",onClick:a[20]||(a[20]=e=>T("csharp"))},"C#"),Mr("div",{class:"code-lang-item",onClick:a[21]||(a[21]=e=>T("php"))},"PHP"),Mr("div",{class:"code-lang-item",onClick:a[22]||(a[22]=e=>T("go"))},"Go"),Mr("div",{class:"code-lang-item",onClick:a[23]||(a[23]=e=>T("rust"))},"Rust"),Mr("div",{class:"code-lang-item",onClick:a[24]||(a[24]=e=>T("html"))},"HTML"),Mr("div",{class:"code-lang-item",onClick:a[25]||(a[25]=e=>T("css"))},"CSS"),Mr("div",{class:"code-lang-item",onClick:a[26]||(a[26]=e=>T("sql"))},"SQL"),Mr("div",{class:"code-lang-item",onClick:a[27]||(a[27]=e=>T("json"))},"JSON"),Mr("div",{class:"code-lang-item",onClick:a[28]||(a[28]=e=>T("yaml"))},"YAML"),Mr("div",{class:"code-lang-item",onClick:a[29]||(a[29]=e=>T("bash"))},"Bash"),Mr("div",{class:"code-lang-item",onClick:a[30]||(a[30]=e=>T("powershell"))},"PowerShell"),Mr("div",{class:"code-lang-item",onClick:a[31]||(a[31]=e=>T("dockerfile"))},"Dockerfile"),Mr("div",{class:"code-lang-item",onClick:a[32]||(a[32]=e=>T("swift"))},"Swift"),Mr("div",{class:"code-lang-item",onClick:a[33]||(a[33]=e=>T("kotlin"))},"Kotlin"),Mr("div",{class:"code-lang-item",onClick:a[34]||(a[34]=e=>T("dart"))},"Dart"),Mr("div",{class:"code-lang-item",onClick:a[35]||(a[35]=e=>T("markdown"))},"Markdown"),Mr("div",{class:"code-lang-item",onClick:a[36]||(a[36]=e=>T("xml"))},"XML"),Mr("div",{class:"code-lang-item",onClick:a[37]||(a[37]=e=>T(""))},"纯文本")])):Rr("",!0)]),Mr("button",{onClick:a[38]||(a[38]=e=>{C("\n---\n")}),title:"分割线",class:"toolbar-btn"},[...a[61]||(a[61]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"3",y1:"12",x2:"21",y2:"12"})],-1)])]),Mr("div",V9,[Mr("button",{onClick:a[39]||(a[39]=e=>{v.value=!v.value}),title:"插入日期时间",class:Q(["toolbar-btn",{active:v.value}])},[...a[62]||(a[62]=[Lr('',1)])],2),v.value?(Cr(),Tr("div",K9,[Mr("div",{class:"datetime-item",onClick:a[40]||(a[40]=e=>I("date"))},[a[63]||(a[63]=Mr("span",{class:"datetime-label"},"日期",-1)),Mr("span",J9,se(S("date")),1)]),Mr("div",{class:"datetime-item",onClick:a[41]||(a[41]=e=>I("time"))},[a[64]||(a[64]=Mr("span",{class:"datetime-label"},"时间",-1)),Mr("span",q9,se(S("time")),1)]),Mr("div",{class:"datetime-item",onClick:a[42]||(a[42]=e=>I("datetime"))},[a[65]||(a[65]=Mr("span",{class:"datetime-label"},"日期时间",-1)),Mr("span",Z9,se(S("datetime")),1)]),Mr("div",{class:"datetime-item",onClick:a[43]||(a[43]=e=>I("iso"))},[a[66]||(a[66]=Mr("span",{class:"datetime-label"},"ISO 格式",-1)),Mr("span",X9,se(S("iso")),1)]),Mr("div",{class:"datetime-item",onClick:a[44]||(a[44]=e=>I("timestamp"))},[a[67]||(a[67]=Mr("span",{class:"datetime-label"},"时间戳",-1)),Mr("span",Q9,se(S("timestamp")),1)])])):Rr("",!0)]),Mr("div",eee,[Mr("button",{onClick:a[45]||(a[45]=e=>{p.value=!p.value}),title:"表情",class:Q(["toolbar-btn",{active:p.value}])},[...a[68]||(a[68]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("path",{d:"m9 9 1.5 1.5L12 9l1.5 1.5L15 9"}),Mr("path",{d:"M8 15s1.5 2 4 2 4-2 4-2"})],-1)])],2),p.value?(Cr(),Tr("div",tee,[Mr("div",aee,[(Cr(!0),Tr(br,null,yn(Pt(o),e=>(Cr(),Tr("button",{key:e.key,onClick:t=>Pt(i)(e.key),class:Q([{active:Pt(r)===e.key},"emoji-category-btn"]),title:e.name},se(e.icon),11,nee))),128))]),Mr("div",ree,[(Cr(!0),Tr(br,null,yn(Pt(s),e=>(Cr(),Tr("button",{key:e.code,onClick:t=>function(e){C(e),p.value=!1}(e.symbol),class:"emoji-item",title:e.name},se(e.symbol),9,see))),128))])])):Rr("",!0)]),a[74]||(a[74]=Mr("div",{class:"toolbar-divider"},null,-1)),Mr("button",{onClick:a[46]||(a[46]=e=>(b.value=!b.value,void t(b.value?"预览已开启":"预览已关闭"))),title:b.value?"关闭预览":"开启预览",class:Q(["toolbar-btn preview-toggle",{active:b.value}])},[b.value?(Cr(),Tr("svg",oee,[...a[69]||(a[69]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])])):(Cr(),Tr("svg",lee,[...a[70]||(a[70]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])]))],10,iee)]),Mr("div",cee,[Mr("button",{class:"sample-btn",onClick:a[47]||(a[47]=e=>(h.value=w.value,void t("示例数据已插入"))),title:"插入示例数据"},[...a[75]||(a[75]=[Lr(' 示例数据 ',2)])])])]),Mr("div",uee,[Mr("div",{class:"line-numbers",ref_key:"lineNumbersRef",ref:d},null,512),ca(Mr("textarea",{ref_key:"editorRef",ref:c,"onUpdate:modelValue":a[48]||(a[48]=e=>h.value=e),class:"editor-textarea",placeholder:"在这里输入 Markdown 内容...",onInput:k,onKeydown:P,onPaste:L,onScroll:E}," ",544),[[bi,h.value]])])]),b.value?(Cr(),Tr("div",dee,[a[77]||(a[77]=Mr("div",{class:"pane-header"},[Mr("span",null,"预览"),Mr("div",{class:"preview-toolbar"},[Mr("span",{class:"preview-info"},"实时预览")])],-1)),Mr("div",{class:"preview-content",innerHTML:x.value},null,8,hee)])):Rr("",!0)])]),Mr("input",{ref_key:"imageInput",ref:u,type:"file",accept:"image/*",onChange:U,style:{display:"none"}},null,544)]))}}),fee=Wi(pee,[["__scopeId","data-v-e0f0e04b"]]);function mee(){const e=St(!1);let t=null;const a=async a=>{try{"wakeLock"in navigator&&!t?(t=await navigator.wakeLock.request("screen"),e.value=!0,console.log("防息屏已启用"),a?.("已启用防息屏功能","success"),t.addEventListener("release",()=>{console.log("防息屏已自动释放"),e.value=!1,t=null})):"wakeLock"in navigator||(console.log("浏览器不支持 Wake Lock API"),a?.("浏览器不支持防息屏功能","error"))}catch(n){console.error("防息屏启用失败:",n),a?.("防息屏功能启用失败","error"),e.value=!1,t=null}},n=a=>{t&&(t.release(),t=null,e.value=!1,console.log("防息屏已释放"),a?.("已关闭防息屏功能","success"))};return{isWakeLockActive:e,requestWakeLock:a,releaseWakeLock:n,toggleWakeLock:async t=>{e.value?n(t):await a(t)},isWakeLockSupported:()=>"wakeLock"in navigator}}const gee={class:"formatter-actions"},yee={class:"converter-content"},vee={key:0,class:"control-panel"},bee={class:"control-group"},wee={class:"speed-value"},xee={class:"control-group"},kee={class:"font-value"},_ee={class:"control-group"},Eee={class:"control-group"},Cee={class:"control-group"},Fee={class:"font-value"},Dee={class:"control-group"},Aee={key:1,class:"text-input-area"},Tee={key:0,class:"focus-overlay-local"},See=["innerHTML"],Iee={key:1,class:"fullscreen-controls"},Pee=["title"],Nee={key:0,width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Bee={key:1,width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Mee=["title"],Oee=["title"],Uee=Ya({__name:"Teleprompter",emits:["back"],setup(e){il("teleprompter");const{requestWakeLock:t,releaseWakeLock:a}=mee(),{success:n,error:r}=Vo(),s=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"teleprompter"===e.id);if(t)return t.title}return"在线提词器"}),i=St(!1),o=St(!1),l=St(!1),c=St(!1),u=St(3),d=St(32),h=St("#ffffff"),p=St("#000000"),f=St(0),m=St(1),g=St(""),y=St(),v=St(),b=St(null),w=is(()=>g.value?g.value.split("\n").map(e=>e.trim()).filter(e=>e.length>0).map(e=>`

    ${e}

    `).join(""):"

    请输入文本内容

    "),x=is(()=>1.8*d.value*m.value),k=St(0),_=is(()=>{const e=k.value||y.value?.clientHeight||0;if(0===e)return 0;return(e-x.value)/2+x.value/2-.8*d.value}),E=()=>{b.value&&(clearInterval(b.value),b.value=null)},C=()=>{o.value=!o.value,o.value?(b.value||(b.value=window.setInterval(()=>{if(f.value-=u.value,y.value){const e=(y.value.clientHeight-x.value)/2,t=y.value.querySelector(".scrolling-text"),r=t?t.scrollHeight:0;_.value+f.value+r{E(),o.value=!1,f.value=0,n("重置位置")},D=()=>{l.value=!l.value,n((l.value?"开启":"关闭")+"水平镜像")},A=()=>{c.value=!c.value,n((c.value?"开启":"关闭")+"垂直反转")},T=async()=>{try{i.value?(document.fullscreenElement&&await document.exitFullscreen(),i.value=!1,n("已退出全屏模式")):(await document.documentElement.requestFullscreen(),i.value=!0,n("进入全屏模式,按ESC退出"))}catch(e){i.value=!i.value,i.value?n("进入全屏模式,双击退出"):n("已退出全屏模式")}},S=e=>{u.value=Math.max(1,Math.min(10,u.value+e)),n(`滚动速度: ${u.value}`)},I=async()=>{if(g.value)try{await navigator.clipboard.writeText(g.value),n("文本已复制到剪贴板")}catch(e){try{const e=document.createElement("textarea");e.value=g.value,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select();const t=document.execCommand("copy");document.body.removeChild(e),t?n("文本已复制到剪贴板"):r("复制失败,请手动复制")}catch(t){r("复制失败,请手动复制")}}else r("没有可复制的内容")},P=()=>{g.value="",F(),n("文本已清空")},N=()=>{g.value="欢迎使用在线提词器!\n\n这是一个专业的提词器工具,适用于:\n• 演讲和发言\n• 视频录制\n• 直播主持\n• 新闻播报\n\n主要功能:\n• 可调节滚动速度\n• 支持全屏显示\n• 镜像显示功能\n• 自定义字体大小和颜色\n• 支持文本文件导入\n\n使用方法:\n1. 输入或导入您的文本内容\n2. 调整字体大小和颜色\n3. 点击播放按钮开始滚动\n4. 双击进入全屏模式\n\n祝您使用愉快!",F(),n("示例文本已加载")},B=e=>{const t=e.target.files?.[0];if(!t)return;if("text/plain"!==t.type)return void r("请选择文本文件(.txt)");const a=new FileReader;a.onload=e=>{g.value=e.target?.result,F(),n("文件导入成功")},a.onerror=()=>{r("文件读取失败")},a.readAsText(t,"UTF-8")},M=e=>{"Space"===e.code?(e.preventDefault(),C()):"Escape"===e.code?(e.preventDefault(),document.fullscreenElement?document.exitFullscreen():i.value&&(i.value=!1)):"KeyR"===e.code?(e.preventDefault(),F()):"KeyF"===e.code||"F11"===e.code?(e.preventDefault(),T()):"ArrowUp"===e.code?(e.preventDefault(),u.value=Math.min(10,u.value+1)):"ArrowDown"===e.code?(e.preventDefault(),u.value=Math.max(1,u.value-1)):"ArrowRight"===e.code?(e.preventDefault(),d.value=Math.min(80,d.value+2),n(`字体大小: ${d.value}px`)):"ArrowLeft"===e.code?(e.preventDefault(),d.value=Math.max(24,d.value-2),n(`字体大小: ${d.value}px`)):"Equal"===e.code||"NumpadAdd"===e.code?(e.preventDefault(),m.value=Math.min(5,m.value+1),n(`聚焦行数: ${m.value}行`)):"Minus"===e.code||"NumpadSubtract"===e.code?(e.preventDefault(),m.value=Math.max(1,m.value-1),n(`聚焦行数: ${m.value}行`)):"KeyH"===e.code?(e.preventDefault(),D()):"KeyM"===e.code&&(e.preventDefault(),A())},O=()=>{i.value=!!document.fullscreenElement,setTimeout(()=>{f.value=0},150)};pa([d,m],()=>{f.value=0});const U=()=>{setTimeout(()=>{f.value=0},100)};return nn(()=>{document.addEventListener("keydown",M),document.addEventListener("fullscreenchange",O),window.addEventListener("resize",U),Zt(()=>{if(y.value){k.value=y.value.clientHeight;const e=new ResizeObserver(e=>{for(let t of e){const e=t.contentRect.height;k.value=e,f.value=0}});e.observe(y.value),y.value._resizeObserver=e}}),n("提词器已就绪,空格播放,方向键调节")}),ln(()=>{E(),a(),document.removeEventListener("keydown",M),document.removeEventListener("fullscreenchange",O),window.removeEventListener("resize",U),y.value&&y.value._resizeObserver&&y.value._resizeObserver.disconnect()}),(e,t)=>(Cr(),Tr("div",{class:Q(["teleprompter",{fullscreen:i.value}])},[i.value?Rr("",!0):(Cr(),Sr(hl,{key:0,title:s.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",gee,[Or(jl,{icon:o.value?"pause":"play",tooltip:o.value?"暂停滚动":"开始播放(自动全屏)",onClick:C},null,8,["icon","tooltip"]),Or(jl,{icon:"reset",tooltip:"重置位置",onClick:F}),Or(jl,{icon:"fullscreen",tooltip:"全屏显示",onClick:T}),Or(jl,{icon:"mirror",tooltip:l.value?"取消水平镜像":"水平镜像显示",onClick:D},null,8,["tooltip"]),Or(jl,{icon:"flip",tooltip:c.value?"取消垂直反转":"垂直反转显示",onClick:A},null,8,["tooltip"]),Or(jl,{icon:"copy",tooltip:"复制文本内容",onClick:I,disabled:!g.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空文本",onClick:P})])]),_:1},8,["title"])),Mr("div",yee,[i.value?Rr("",!0):(Cr(),Tr("div",vee,[Mr("div",bee,[t[10]||(t[10]=Mr("label",null,"滚动速度",-1)),ca(Mr("input",{type:"range","onUpdate:modelValue":t[1]||(t[1]=e=>u.value=e),min:"1",max:"10",step:"1",class:"speed-slider"},null,512),[[bi,u.value]]),Mr("span",wee,se(u.value),1)]),Mr("div",xee,[t[11]||(t[11]=Mr("label",null,"字体大小",-1)),ca(Mr("input",{type:"range","onUpdate:modelValue":t[2]||(t[2]=e=>d.value=e),min:"16",max:"72",step:"2",class:"font-slider"},null,512),[[bi,d.value]]),Mr("span",kee,se(d.value)+"px",1)]),Mr("div",_ee,[t[12]||(t[12]=Mr("label",null,"文本颜色",-1)),ca(Mr("input",{type:"color","onUpdate:modelValue":t[3]||(t[3]=e=>h.value=e),class:"color-picker"},null,512),[[bi,h.value]])]),Mr("div",Eee,[t[13]||(t[13]=Mr("label",null,"背景颜色",-1)),ca(Mr("input",{type:"color","onUpdate:modelValue":t[4]||(t[4]=e=>p.value=e),class:"color-picker"},null,512),[[bi,p.value]])]),Mr("div",Cee,[t[14]||(t[14]=Mr("label",null,"聚焦行数",-1)),ca(Mr("input",{type:"range","onUpdate:modelValue":t[5]||(t[5]=e=>m.value=e),min:"1",max:"5",step:"1",class:"font-slider"},null,512),[[bi,m.value]]),Mr("span",Fee,se(m.value)+"行",1)]),Mr("div",Dee,[Mr("button",{onClick:N,class:"control-action-btn"},"示例文本"),Mr("input",{type:"file",onChange:B,accept:".txt",ref_key:"fileInput",ref:v,style:{display:"none"}},null,544),Mr("button",{onClick:t[6]||(t[6]=e=>v.value?.click()),class:"control-action-btn"},"导入文件")])])),i.value?Rr("",!0):(Cr(),Tr("div",Aee,[ca(Mr("textarea",{"onUpdate:modelValue":t[7]||(t[7]=e=>g.value=e),placeholder:"请输入您的演讲稿或台词内容...",class:"script-textarea",rows:"8"},null,512),[[bi,g.value]])])),Mr("div",{class:Q(["teleprompter-display",{mirrored:l.value,"vertical-flipped":c.value}]),style:K({fontSize:d.value+"px",color:h.value,backgroundColor:p.value}),ref_key:"displayArea",ref:y,onDblclick:T},[g.value?(Cr(),Tr("div",Tee,[t[15]||(t[15]=Mr("div",{class:"overlay-top"},null,-1)),Mr("div",{class:"reading-zone",style:K({height:x.value+"px"})},null,4),t[16]||(t[16]=Mr("div",{class:"overlay-bottom"},null,-1))])):Rr("",!0),Mr("div",{class:Q(["scrolling-text",{playing:o.value}]),style:K({transform:`translateY(${_.value+f.value}px)`})},[Mr("div",{class:"text-content",innerHTML:w.value},null,8,See),t[17]||(t[17]=Mr("div",{class:"text-end"},"— 结束 —",-1))],6)],38)]),i.value?(Cr(),Tr("div",Iee,[Mr("button",{onClick:C,class:"fs-control-btn",title:o.value?"暂停":"播放"},[o.value?(Cr(),Tr("svg",Bee,[...t[19]||(t[19]=[Mr("rect",{x:"6",y:"4",width:"4",height:"16"},null,-1),Mr("rect",{x:"14",y:"4",width:"4",height:"16"},null,-1)])])):(Cr(),Tr("svg",Nee,[...t[18]||(t[18]=[Mr("polygon",{points:"5,3 19,12 5,21"},null,-1)])]))],8,Pee),Mr("button",{onClick:F,class:"fs-control-btn",title:"重置"},[...t[20]||(t[20]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),Mr("path",{d:"M21 3v5h-5"})],-1)])]),Mr("button",{onClick:D,class:Q(["fs-control-btn",{active:l.value}]),title:l.value?"关闭水平镜像":"开启水平镜像"},[...t[21]||(t[21]=[Lr('',1)])],10,Mee),Mr("button",{onClick:A,class:Q(["fs-control-btn",{active:c.value}]),title:c.value?"关闭垂直反转":"开启垂直反转"},[...t[22]||(t[22]=[Lr('',1)])],10,Oee),Mr("button",{onClick:t[8]||(t[8]=e=>S(-1)),class:"fs-control-btn",title:"减慢速度"},[...t[23]||(t[23]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("line",{x1:"8",y1:"12",x2:"16",y2:"12"})],-1)])]),Mr("button",{onClick:t[9]||(t[9]=e=>S(1)),class:"fs-control-btn",title:"加快速度"},[...t[24]||(t[24]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("line",{x1:"12",y1:"8",x2:"12",y2:"16"}),Mr("line",{x1:"8",y1:"12",x2:"16",y2:"12"})],-1)])]),Mr("button",{onClick:T,class:"fs-control-btn",title:"退出全屏"},[...t[25]||(t[25]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"})],-1)])])])):Rr("",!0)],2))}}),jee=Wi(Uee,[["__scopeId","data-v-825672ef"]]),Lee={class:"converter-content"},Ree={class:"main-content-area"},zee={key:0,class:"test-controls"},Hee={class:"controls-container"},Yee={class:"control-panel"},$ee={class:"manual-selector"},Gee=["disabled"],Wee={class:"manual-buttons"},Vee=["disabled"],Kee=["disabled"],Jee={class:"test-hints"},qee={class:"hint-section"},Zee={key:0},Xee={key:1},Qee={key:2},ete={key:3},tte={key:4},ate={key:5},nte={key:6},rte={key:7},ste={key:8},ite={key:9},ote={key:10},lte={key:11},cte={key:12},ute={key:13},dte={key:14},hte={key:15},pte={key:16},fte={key:17},mte={key:18},gte={key:19},yte={key:20},vte={class:"control-panel"},bte={class:"auto-test-config"},wte={class:"suite-selection"},xte=["value"],kte={class:"duration-setting"},_te={class:"auto-buttons"},Ete=["disabled"],Cte={key:0,class:"auto-test-status"},Fte={class:"status-info"},Dte={class:"progress-info"},Ate={class:"countdown-info"},Tte={key:0,class:"solid-color-test"},Ste={key:1,class:"dead-pixel-test"},Ite={key:0,class:"pixel-test-overlay"},Pte={class:"pixel-test-grid"},Nte={key:2,class:"gradient-test"},Bte={key:3,class:"grid-test"},Mte={key:4,class:"convergence-test"},Ote={key:5,class:"color-bars-test"},Ute={key:7,class:"saturation-test"},jte={class:"saturation-bars"},Lte={key:8,class:"micro-pattern-test"},Rte={class:"pattern-display"},zte={key:0,class:"micro-grid-1px"},Hte={key:1,class:"micro-grid-2px"},Yte={key:2,class:"micro-lines"},$te={key:3,class:"micro-checkerboard"},Gte={class:"pattern-counter"},Wte={key:9,class:"geometry-test"},Vte={key:10,class:"brightness-test"},Kte={class:"brightness-levels"},Jte={key:11,class:"contrast-test-professional"},qte={class:"gray-scale-grid"},Zte={class:"gray-row"},Xte={class:"percentage"},Qte={class:"rgb-value"},eae={class:"gray-row"},tae={class:"percentage"},aae={class:"rgb-value"},nae={class:"gray-row"},rae={class:"percentage"},sae={class:"rgb-value"},iae={class:"gray-row"},oae={class:"percentage"},lae={class:"rgb-value"},cae={key:1,class:"fullscreen-controls"},uae={class:"test-info-fs"},dae={class:"test-name"},hae={key:0,class:"auto-progress"},pae={key:1,class:"pattern-info"},fae={key:2,class:"pattern-info"},mae={key:3,class:"pattern-info"},gae={key:4,class:"pattern-info"},yae={key:5,class:"pattern-info"},vae={key:6,class:"pattern-info"},bae={key:7,class:"pattern-info"},wae={key:8,class:"pattern-info"},xae=Ya({__name:"ScreenTest",emits:["back"],setup(e){il("screen-test");const{requestWakeLock:t,releaseWakeLock:a}=mee(),{success:n}=Vo(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"screen-test"===e.id);if(t)return t.title}return"屏幕测试"}),s=St(!1),i=St("solid-colors"),o=St("#000000"),l=St("horizontal"),c=St(20),u=St(16),d=St("red"),h=St(!1),p=St("#000000"),f=St("dark"),m=St(0),g=St(2);let y=null;const v=St({light:{row1:[{percent:64.63,rgb:165},{percent:71.76,rgb:183},{percent:74.9,rgb:191},{percent:78.04,rgb:199},{percent:81.18,rgb:207},{percent:84.31,rgb:215},{percent:87.45,rgb:223},{percent:90.59,rgb:231},{percent:93.73,rgb:239},{percent:96.86,rgb:247}],row2:[{percent:54.51,rgb:139},{percent:58.82,rgb:150},{percent:61.96,rgb:158},{percent:65.1,rgb:166},{percent:68.24,rgb:174},{percent:71.37,rgb:182},{percent:74.51,rgb:190},{percent:77.65,rgb:198},{percent:80.78,rgb:206},{percent:83.92,rgb:214}],row3:[{percent:42.16,rgb:107},{percent:46.27,rgb:118},{percent:49.41,rgb:126},{percent:52.55,rgb:134},{percent:55.69,rgb:142},{percent:58.82,rgb:150},{percent:61.96,rgb:158},{percent:65.1,rgb:166},{percent:68.24,rgb:174},{percent:71.37,rgb:182}],row4:[{percent:26.08,rgb:66},{percent:30.2,rgb:77},{percent:33.33,rgb:85},{percent:36.47,rgb:93},{percent:39.61,rgb:101},{percent:42.75,rgb:109},{percent:45.88,rgb:117},{percent:49.02,rgb:125},{percent:52.16,rgb:133},{percent:55.29,rgb:141}]},dark:{row1:[{percent:.39,rgb:1},{percent:.78,rgb:2},{percent:1.18,rgb:3},{percent:1.57,rgb:4},{percent:1.96,rgb:5},{percent:2.35,rgb:6},{percent:2.75,rgb:7},{percent:3.14,rgb:8},{percent:3.53,rgb:9},{percent:3.92,rgb:10}],row2:[{percent:.78,rgb:2},{percent:1.57,rgb:4},{percent:2.35,rgb:6},{percent:3.14,rgb:8},{percent:3.92,rgb:10},{percent:4.71,rgb:12},{percent:5.49,rgb:14},{percent:6.27,rgb:16},{percent:7.06,rgb:18},{percent:7.84,rgb:20}],row3:[{percent:1.57,rgb:4},{percent:3.14,rgb:8},{percent:4.71,rgb:12},{percent:6.27,rgb:16},{percent:7.84,rgb:20},{percent:9.41,rgb:24},{percent:10.98,rgb:28},{percent:12.55,rgb:32},{percent:14.12,rgb:36},{percent:15.69,rgb:40}],row4:[{percent:3.14,rgb:8},{percent:6.27,rgb:16},{percent:9.41,rgb:24},{percent:12.55,rgb:32},{percent:15.69,rgb:40},{percent:18.82,rgb:48},{percent:21.96,rgb:56},{percent:25.1,rgb:64},{percent:28.24,rgb:72},{percent:31.37,rgb:80}]}}),b=St(!1),w=St(0),x=St(3),k=St(null),_=St(0),E={basic:{name:"基础测试",description:"快速检测屏幕基本功能",tests:["solid-colors","dead-pixel","grid","text"],duration:2},comprehensive:{name:"全面测试",description:"完整的屏幕质量检测",tests:["solid-colors","dead-pixel","grid","horizontal-lines","vertical-lines","diagonal-lines","dot-matrix","checkerboard","brightness-test","contrast-test","color-gradient","convergence-test","text"],duration:3},professional:{name:"专业测试",description:"专业级屏幕测试套件",tests:["solid-colors","dead-pixel","grid","horizontal-lines","vertical-lines","diagonal-lines","dot-matrix","checkerboard","pixel-alignment","brightness-test","contrast-test","color-gradient","saturation-test","stability-test","convergence-test","micro-pattern","text","geometry"],duration:4},quick:{name:"快速检测",description:"30秒快速屏幕检测",tests:["solid-colors","dead-pixel","grid","text"],duration:1}},C=St("basic"),F=["solid-colors","gradient","dead-pixel","grid","horizontal-lines","vertical-lines","diagonal-lines","dot-matrix","checkerboard","pixel-alignment","brightness-test","contrast-test","color-gradient","saturation-test","stability-test","convergence-test","micro-pattern","text","geometry","color-bars"],D=[{name:"黑色",value:"#000000"},{name:"白色",value:"#ffffff"},{name:"红色",value:"#ff0000"},{name:"绿色",value:"#00ff00"},{name:"蓝色",value:"#0000ff"},{name:"黄色",value:"#ffff00"},{name:"青色",value:"#00ffff"},{name:"洋红",value:"#ff00ff"},{name:"灰色",value:"#808080"}],A=[{name:"纯黑色",value:"#000000",purpose:"检测亮点"},{name:"纯白色",value:"#ffffff",purpose:"检测暗点"},{name:"纯红色",value:"#ff0000",purpose:"检测绿蓝坏点"},{name:"纯绿色",value:"#00ff00",purpose:"检测红蓝坏点"},{name:"纯蓝色",value:"#0000ff",purpose:"检测红绿坏点"},{name:"深灰色",value:"#404040",purpose:"检测亮点"},{name:"浅灰色",value:"#c0c0c0",purpose:"检测暗点"}],T=["#ffffff","#ffff00","#00ffff","#00ff00","#ff00ff","#ff0000","#0000ff","#000000"];let S=0;const I=e=>{const t=["#000000","#ffffff","#ff0000","#00ff00","#0000ff"];return t[e%t.length]},P=(e,t)=>({backgroundColor:{red:`hsl(0, ${t}%, 50%)`,green:`hsl(120, ${t}%, 50%)`,blue:`hsl(240, ${t}%, 50%)`,cyan:`hsl(180, ${t}%, 50%)`,magenta:`hsl(300, ${t}%, 50%)`,yellow:`hsl(60, ${t}%, 50%)`}[e]||"#000"}),N=()=>{const e=["#000000","#ff0000","#00ff00","#0000ff","#ffffff","#ffff00","#ff00ff"];let t=0;y=setInterval(()=>{p.value=e[t]||"#000000",t=(t+1)%e.length},200)},B=()=>{y&&(clearInterval(y),y=null),p.value="#000000"},M=()=>({"solid-colors":"纯色测试",gradient:"基础渐变","dead-pixel":"坏点测试",grid:"方形网格","horizontal-lines":"水平线测试","vertical-lines":"垂直线测试","diagonal-lines":"斜线测试","dot-matrix":"点阵测试",checkerboard:"棋盘测试","pixel-alignment":"像素对齐","brightness-test":"亮度测试","contrast-test":"对比度测试","color-gradient":"彩色渐变","saturation-test":"饱和度测试","stability-test":"闪烁测试","convergence-test":"彩色网格","micro-pattern":"微型图案",text:"文字清晰度",geometry:"几何图形","color-bars":"彩条测试"}[i.value]||"未知测试"),O=()=>{const e={};switch(i.value){case"solid-colors":case"dead-pixel":e.backgroundColor=o.value;break;case"gradient":switch(l.value){case"horizontal":e.background="linear-gradient(to right, #000000, #ffffff)";break;case"vertical":e.background="linear-gradient(to bottom, #000000, #ffffff)";break;case"radial":e.background="radial-gradient(circle, #000000, #ffffff)";break;case"rgb":e.background="linear-gradient(to right, #ff0000, #00ff00, #0000ff)"}break;case"grid":e.backgroundImage="\n linear-gradient(rgba(0,0,0,0.8) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0,0,0,0.8) 1px, transparent 1px)\n ",e.backgroundSize=`${c.value}px ${c.value}px`,e.backgroundColor="#ffffff";break;case"horizontal-lines":e.backgroundImage="linear-gradient(rgba(0,0,0,0.8) 1px, transparent 1px)",e.backgroundSize=`100% ${c.value}px`,e.backgroundColor="#ffffff";break;case"vertical-lines":e.backgroundImage="linear-gradient(90deg, rgba(0,0,0,0.8) 1px, transparent 1px)",e.backgroundSize=`${c.value}px 100%`,e.backgroundColor="#ffffff";break;case"diagonal-lines":e.backgroundImage=`\n repeating-linear-gradient(45deg, \n rgba(0,0,0,0.8) 0px, \n rgba(0,0,0,0.8) 1px, \n transparent 1px, \n transparent ${c.value}px)\n `,e.backgroundColor="#ffffff";break;case"dot-matrix":e.backgroundImage="radial-gradient(circle, rgba(0,0,0,0.8) 1px, transparent 1px)",e.backgroundSize=`${c.value}px ${c.value}px`,e.backgroundColor="#ffffff";break;case"checkerboard":const t=c.value;e.backgroundImage="\n linear-gradient(45deg, #000 25%, transparent 25%),\n linear-gradient(-45deg, #000 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, #000 75%),\n linear-gradient(-45deg, transparent 75%, #000 75%)\n ",e.backgroundSize=`${t}px ${t}px`,e.backgroundPosition=`0 0, 0 ${t/2}px, ${t/2}px -${t/2}px, -${t/2}px 0px`,e.backgroundColor="#ffffff";break;case"pixel-alignment":e.backgroundImage=`\n linear-gradient(90deg, #000 1px, #fff 1px, #fff ${c.value-1}px, #000 ${c.value-1}px),\n linear-gradient(#000 1px, #fff 1px, #fff ${c.value-1}px, #000 ${c.value-1}px)\n `,e.backgroundSize=`${c.value}px ${c.value}px`,e.backgroundColor="#ffffff";break;case"brightness-test":case"saturation-test":case"geometry":default:e.backgroundColor="#f0f0f0";break;case"contrast-test":case"micro-pattern":e.backgroundColor="#ffffff";break;case"color-gradient":switch(d.value){case"red":e.background="linear-gradient(to right, #000000, #ff0000)";break;case"green":e.background="linear-gradient(to right, #000000, #00ff00)";break;case"blue":e.background="linear-gradient(to right, #000000, #0000ff)";break;case"white":e.background="linear-gradient(to right, #000000, #ffffff)";break;case"rainbow":e.background="linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3)"}break;case"stability-test":e.backgroundColor=p.value;break;case"convergence-test":const a=4*g.value;e.backgroundImage=`\n linear-gradient(rgba(255,0,0,0.8) ${a}px, transparent ${a}px),\n linear-gradient(90deg, rgba(0,255,0,0.8) ${a}px, transparent ${a}px)\n `,e.backgroundSize=`${c.value*g.value}px ${c.value*g.value}px`,e.backgroundColor="#000000";break;case"text":e.backgroundColor="#ffffff",e.color="#000000";case"color-bars":}return e},U=()=>{"solid-colors"===i.value||"dead-pixel"===i.value?z():"gradient"===i.value?$():"stability-test"===i.value?(h.value=!h.value,h.value?(console.log("Starting flicker test"),n("闪烁测试已开始"),N()):(console.log("Stopping flicker test"),n("闪烁测试已停止"),B())):"contrast-test"===i.value?j():"micro-pattern"===i.value?m.value=(m.value+1)%4:"color-gradient"===i.value?V():"convergence-test"===i.value&&(g.value=5===g.value?1:g.value+1)},j=()=>{f.value="dark"===f.value?"light":"dark"},L=()=>{const e=(F.indexOf(i.value)+1)%F.length;i.value=F[e]||"solid-colors",S=0,"dead-pixel"===i.value?o.value=A[0]?.value||"#000000":o.value=D[0]?.value||"#000000"},R=()=>{const e=F.indexOf(i.value),t=0===e?F.length-1:e-1;i.value=F[t]||"solid-colors",S=0,"dead-pixel"===i.value?o.value=A[0]?.value||"#000000":o.value=D[0]?.value||"#000000"},z=()=>{"solid-colors"===i.value?(S=(S+1)%D.length,o.value=D[S]?.value||"#000000"):"dead-pixel"===i.value&&(S=(S+1)%A.length,o.value=A[S]?.value||"#000000")},H=["horizontal","vertical","radial","rgb"];let Y=0;const $=()=>{Y=(Y+1)%H.length,l.value=H[Y]||"horizontal"},G=["red","green","blue","white","rainbow"];let W=0;const V=()=>{W=(W+1)%G.length,d.value=G[W]||"red"},J=async()=>{if(!b.value){b.value=!0,w.value=0;try{if(!E[C.value])return;document.fullscreenElement||(await document.documentElement.requestFullscreen(),s.value=!0,t())}catch(e){s.value=!0,t()}n(`开始${E[C.value]?.name||"测试"}`),Z()}},q=()=>{k.value&&(clearInterval(k.value),k.value=null),b.value=!1,w.value=0,_.value=0,n("自动测试已停止")},Z=()=>{const e=E[C.value];if(!e||w.value>=e.tests.length)return q(),void n("所有测试已完成!");i.value=e.tests[w.value]||"solid-colors",_.value=x.value,S=0,"dead-pixel"===i.value?o.value=A[0]?.value||"#000000":o.value=D[0]?.value||"#000000";const t=setInterval(()=>{if(_.value--,_.value<=0)if(clearInterval(t),w.value++,("solid-colors"===i.value||"dead-pixel"===i.value)&&S<("dead-pixel"===i.value?A.length-1:D.length-1)){z(),_.value=x.value;const e=setInterval(()=>{_.value--,_.value<=0&&(clearInterval(e),Z())},1e3)}else Z()},1e3)},X=async()=>{try{document.fullscreenElement?(await document.exitFullscreen(),s.value=!1,a()):(await document.documentElement.requestFullscreen(),s.value=!0,t(),n("全屏测试模式,点击切换测试,ESC退出"))}catch(e){s.value=!s.value,s.value?(t(),n("全屏测试模式,点击切换测试,ESC退出")):a()}},ee=()=>{const e=s.value;s.value=!!document.fullscreenElement,e&&!s.value&&a()},te=e=>{b.value?"Escape"===e.code&&(e.preventDefault(),q(),document.fullscreenElement?document.exitFullscreen():s.value&&(s.value=!1)):"Space"===e.code||"ArrowRight"===e.code?(e.preventDefault(),U()):"ArrowLeft"===e.code?(e.preventDefault(),"solid-colors"===i.value||"dead-pixel"===i.value?"solid-colors"===i.value?(S=0===S?D.length-1:S-1,o.value=D[S]?.value||"#000000"):"dead-pixel"===i.value&&(S=0===S?A.length-1:S-1,o.value=A[S]?.value||"#000000"):"gradient"===i.value?(Y=0===Y?H.length-1:Y-1,l.value=H[Y]||"horizontal"):R()):"Escape"===e.code?(e.preventDefault(),document.fullscreenElement?document.exitFullscreen():s.value&&(s.value=!1)):"KeyF"===e.code||"F11"===e.code?(e.preventDefault(),X()):"KeyA"===e.code&&(e.preventDefault(),J())};return nn(()=>{document.addEventListener("keydown",te),document.addEventListener("fullscreenchange",ee),n("屏幕测试已就绪,空格键或点击切换测试")}),ln(()=>{document.removeEventListener("keydown",te),document.removeEventListener("fullscreenchange",ee),a(),B(),q()}),(e,t)=>(Cr(),Tr("div",{class:Q(["screen-test",{fullscreen:s.value}])},[s.value?Rr("",!0):(Cr(),Sr(hl,{key:0,title:r.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"fullscreen",tooltip:"全屏测试",onClick:X})]),_:1},8,["title"])),Mr("div",Lee,[Mr("div",Ree,[s.value?Rr("",!0):(Cr(),Tr("div",zee,[Mr("div",Hee,[Mr("div",Yee,[t[53]||(t[53]=Mr("h4",null,"手动测试",-1)),Mr("div",$ee,[ca(Mr("select",{"onUpdate:modelValue":t[1]||(t[1]=e=>i.value=e),class:"test-select",disabled:b.value},[...t[4]||(t[4]=[Lr('',4)])],8,Gee),[[_i,i.value]])]),Mr("div",Wee,[Mr("button",{onClick:R,disabled:b.value,class:"nav-button"}," ← 上一个 ",8,Vee),Mr("button",{onClick:L,disabled:b.value,class:"nav-button"}," 下一个 → ",8,Kee)]),Mr("div",Jee,[Mr("div",qee,[Mr("strong",null,se(M())+":",1),"solid-colors"===i.value?(Cr(),Tr("p",Zee,[t[5]||(t[5]=jr(" 检查屏幕颜色显示是否准确,点击屏幕切换颜色",-1)),t[6]||(t[6]=Mr("br",null,null,-1)),t[7]||(t[7]=Mr("br",null,null,-1)),Mr("strong",null,se(D.find(e=>e.value===o.value)?.name||"颜色"),1),t[8]||(t[8]=Mr("br",null,null,-1)),t[9]||(t[9]=Mr("br",null,null,-1)),t[10]||(t[10]=Mr("small",null,"点击右侧测试区域切换颜色",-1))])):"dead-pixel"===i.value?(Cr(),Tr("p",Xee,[t[11]||(t[11]=jr(" 仔细观察屏幕上是否有亮点、暗点或彩点,点击屏幕切换检测颜色",-1)),t[12]||(t[12]=Mr("br",null,null,-1)),t[13]||(t[13]=Mr("br",null,null,-1)),Mr("strong",null,se(A.find(e=>e.value===o.value)?.name||"颜色"),1),t[14]||(t[14]=Mr("br",null,null,-1)),t[15]||(t[15]=Mr("br",null,null,-1)),t[16]||(t[16]=Mr("small",null,"点击右侧测试区域切换颜色",-1))])):"gradient"===i.value?(Cr(),Tr("p",Qee,[t[17]||(t[17]=jr(" 检查颜色过渡是否平滑,点击屏幕切换渐变类型",-1)),t[18]||(t[18]=Mr("br",null,null,-1)),t[19]||(t[19]=Mr("br",null,null,-1)),Mr("strong",null,se({horizontal:"水平渐变",vertical:"竖直渐变",radial:"径向渐变",rgb:"RGB渐变"}[l.value]),1),t[20]||(t[20]=Mr("br",null,null,-1)),t[21]||(t[21]=Mr("br",null,null,-1)),t[22]||(t[22]=Mr("small",null,"点击右侧测试区域切换渐变类型",-1))])):"grid"===i.value?(Cr(),Tr("p",ete," 检查网格线条是否清晰、对齐,无断线或模糊 ")):"horizontal-lines"===i.value?(Cr(),Tr("p",tte," 检查水平线条是否笔直、清晰,无弯曲或断线 ")):"vertical-lines"===i.value?(Cr(),Tr("p",ate," 检查垂直线条是否笔直、清晰,无弯曲或断线 ")):"diagonal-lines"===i.value?(Cr(),Tr("p",nte," 检查斜线是否笔直、清晰,角度是否准确 ")):"dot-matrix"===i.value?(Cr(),Tr("p",rte," 检查点阵图案是否规整,点的大小和间距是否一致 ")):"checkerboard"===i.value?(Cr(),Tr("p",ste," 检查棋盘格是否规整,黑白对比是否清晰 ")):"pixel-alignment"===i.value?(Cr(),Tr("p",ite," 检查像素对齐精度,线条是否锐利清晰 ")):"brightness-test"===i.value?(Cr(),Tr("p",ote," 检查灰度显示和亮度层次,能否区分不同亮度级别 ")):"contrast-test"===i.value?(Cr(),Tr("p",lte,[t[23]||(t[23]=jr(" 检查灰度层次和对比度显示,观察不同灰度级别是否清晰可辨",-1)),t[24]||(t[24]=Mr("br",null,null,-1)),t[25]||(t[25]=Mr("br",null,null,-1)),Mr("strong",null,se("dark"===f.value?"暗色灰度":"亮色灰度"),1),t[26]||(t[26]=Mr("br",null,null,-1)),t[27]||(t[27]=Mr("br",null,null,-1)),t[28]||(t[28]=Mr("small",null,"点击右侧测试区域切换暗色/亮色灰度模式",-1))])):"color-gradient"===i.value?(Cr(),Tr("p",cte,[t[29]||(t[29]=jr(" 检查彩色渐变过渡是否平滑,无色带或断层",-1)),t[30]||(t[30]=Mr("br",null,null,-1)),t[31]||(t[31]=Mr("br",null,null,-1)),Mr("strong",null,se({red:"红色渐变",green:"绿色渐变",blue:"蓝色渐变",white:"白色渐变",rainbow:"彩虹渐变"}[d.value]),1),t[32]||(t[32]=Mr("br",null,null,-1)),t[33]||(t[33]=Mr("br",null,null,-1)),t[34]||(t[34]=Mr("small",null,"点击右侧测试区域切换颜色",-1))])):"saturation-test"===i.value?(Cr(),Tr("p",ute," 检查颜色饱和度显示,不同饱和度级别是否清晰可辨 ")):"stability-test"===i.value?(Cr(),Tr("p",dte,[t[35]||(t[35]=jr(" 检查屏幕稳定性和响应时间,点击屏幕开始闪烁测试",-1)),t[36]||(t[36]=Mr("br",null,null,-1)),t[37]||(t[37]=Mr("br",null,null,-1)),Mr("strong",null,"状态: "+se(h.value?"闪烁中":"静止"),1),t[38]||(t[38]=Mr("br",null,null,-1)),t[39]||(t[39]=Mr("br",null,null,-1)),t[40]||(t[40]=Mr("small",null,"点击右侧测试区域开始/停止闪烁",-1))])):"convergence-test"===i.value?(Cr(),Tr("p",hte,[t[41]||(t[41]=jr(" 检查RGB像素对齐和聚焦,红绿线条是否清晰分离",-1)),t[42]||(t[42]=Mr("br",null,null,-1)),t[43]||(t[43]=Mr("br",null,null,-1)),Mr("strong",null,"放大倍数: "+se(g.value)+"x",1),t[44]||(t[44]=Mr("br",null,null,-1)),t[45]||(t[45]=Mr("br",null,null,-1)),t[46]||(t[46]=Mr("small",null,"点击右侧测试区域切换放大倍数 (1-5x)",-1))])):"micro-pattern"===i.value?(Cr(),Tr("p",pte,[t[47]||(t[47]=jr(" 检查精细图案显示能力,微小细节是否清晰可见",-1)),t[48]||(t[48]=Mr("br",null,null,-1)),t[49]||(t[49]=Mr("br",null,null,-1)),Mr("strong",null,se(["1像素网格","2像素网格","细线图案","微型棋盘"][m.value]),1),t[50]||(t[50]=Mr("br",null,null,-1)),t[51]||(t[51]=Mr("br",null,null,-1)),t[52]||(t[52]=Mr("small",null,"点击右侧测试区域切换图案",-1))])):"text"===i.value?(Cr(),Tr("p",fte," 检查文字边缘是否清晰,字体显示是否锐利 ")):"geometry"===i.value?(Cr(),Tr("p",mte," 检查几何形状是否规整,线条是否笔直 ")):"color-bars"===i.value?(Cr(),Tr("p",gte," 检查标准彩条颜色显示是否准确 ")):(Cr(),Tr("p",yte," 选择测试模式开始检测 "))])]),t[54]||(t[54]=Mr("div",{class:"shortcuts"},[Mr("small",null," 快捷键: 空格(下一个) ←→(切换) F(全屏) A(自动) ")],-1))]),Mr("div",vte,[t[56]||(t[56]=Mr("h4",null,"自动测试套件",-1)),Mr("div",bte,[Mr("div",wte,[t[55]||(t[55]=Mr("label",null,"测试套件:",-1)),ca(Mr("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>C.value=e),class:"suite-select"},[(Cr(),Tr(br,null,yn(E,(e,t)=>Mr("option",{key:t,value:t},se(e.name)+" ("+se(e.tests.length)+"项) ",9,xte)),64))],512),[[_i,C.value]])]),Mr("div",kte,[Mr("label",null,"每项时长: "+se(x.value)+"秒",1),ca(Mr("input",{type:"range","onUpdate:modelValue":t[3]||(t[3]=e=>x.value=e),min:"1",max:"10",step:"1",class:"duration-range"},null,512),[[bi,x.value]])])]),Mr("div",_te,[Mr("button",{onClick:J,disabled:b.value,class:"start-btn"},se(b.value?"测试进行中...":"开始自动测试"),9,Ete),b.value?(Cr(),Tr("button",{key:0,onClick:q,class:"stop-btn"}," 停止测试 ")):Rr("",!0)]),b.value?(Cr(),Tr("div",Cte,[Mr("div",Fte,[Mr("strong",null,se(M()),1),Mr("span",Dte,se(w.value+1)+"/"+se(E[C.value]?.tests.length||0),1)]),Mr("div",Ate," 剩余时间: "+se(_.value)+"秒 ",1)])):Rr("",!0)])])])),Mr("div",{class:Q(["test-display",[i.value]]),style:K(O()),onClick:U},["solid-colors"===i.value?(Cr(),Tr("div",Tte)):Rr("",!0),"dead-pixel"===i.value?(Cr(),Tr("div",Ste,[s.value?Rr("",!0):(Cr(),Tr("div",Ite,[Mr("div",Pte,[(Cr(),Tr(br,null,yn(25,e=>Mr("div",{key:e,class:"pixel-test-cell",style:K({backgroundColor:I(e)})},null,4)),64))])]))])):Rr("",!0),"gradient"===i.value?(Cr(),Tr("div",Nte)):Rr("",!0),"grid"===i.value?(Cr(),Tr("div",Bte)):Rr("",!0),"convergence-test"===i.value?(Cr(),Tr("div",Mte)):Rr("",!0),"color-bars"===i.value?(Cr(),Tr("div",Ote,[(Cr(),Tr(br,null,yn(T,e=>Mr("div",{class:"color-bar",key:e,style:K({backgroundColor:e})},null,4)),64))])):Rr("",!0),"text"===i.value?(Cr(),Tr("div",{key:6,class:"text-test",style:K({fontSize:u.value+"px"})},[...t[57]||(t[57]=[Lr('
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    abcdefghijklmnopqrstuvwxyz
    0123456789
    中文字体清晰度测试
    ',1)])],4)):Rr("",!0),"saturation-test"===i.value?(Cr(),Tr("div",Ute,[Mr("div",jte,[(Cr(),Tr(br,null,yn(["red","green","blue","cyan","magenta","yellow"],(e,t)=>Mr("div",{key:e,class:"saturation-bar"},[(Cr(),Tr(br,null,yn([0,20,40,60,80,100],t=>Mr("div",{key:t,class:"saturation-block",style:K(P(e,t))},se(t)+"% ",5)),64))])),64))])])):Rr("",!0),"micro-pattern"===i.value?(Cr(),Tr("div",Lte,[Mr("div",Rte,[0===m.value?(Cr(),Tr("div",zte)):1===m.value?(Cr(),Tr("div",Hte)):2===m.value?(Cr(),Tr("div",Yte)):(Cr(),Tr("div",$te)),Mr("div",Gte,se(m.value+1)+"/4",1)])])):Rr("",!0),"geometry"===i.value?(Cr(),Tr("div",Wte,[...t[58]||(t[58]=[Lr('
    ',2)])])):Rr("",!0),"brightness-test"===i.value?(Cr(),Tr("div",Vte,[t[59]||(t[59]=Mr("div",{class:"brightness-gradient"},null,-1)),Mr("div",Kte,[(Cr(),Tr(br,null,yn([0,32,64,96,128,160,192,224,255],e=>Mr("div",{key:e,class:"brightness-block",style:K({backgroundColor:`rgb(${e}, ${e}, ${e})`})},se(e),5)),64))])])):Rr("",!0),"contrast-test"===i.value?(Cr(),Tr("div",Jte,[Mr("div",qte,[Mr("div",Zte,[(Cr(!0),Tr(br,null,yn(v.value[f.value].row1,(e,t)=>(Cr(),Tr("div",{key:"row1-"+t,class:"gray-block",style:K({backgroundColor:`rgb(${e.rgb}, ${e.rgb}, ${e.rgb})`})},[Mr("div",{class:"gray-label",style:K({color:e.rgb<128?"#ffffff":"#000000"})},[Mr("div",Xte,se(e.percent)+"%",1),Mr("div",Qte,"("+se(e.rgb)+"/255)",1)],4)],4))),128))]),Mr("div",eae,[(Cr(!0),Tr(br,null,yn(v.value[f.value].row2,(e,t)=>(Cr(),Tr("div",{key:"row2-"+t,class:"gray-block",style:K({backgroundColor:`rgb(${e.rgb}, ${e.rgb}, ${e.rgb})`})},[Mr("div",{class:"gray-label",style:K({color:e.rgb<128?"#ffffff":"#000000"})},[Mr("div",tae,se(e.percent)+"%",1),Mr("div",aae,"("+se(e.rgb)+"/255)",1)],4)],4))),128))]),Mr("div",nae,[(Cr(!0),Tr(br,null,yn(v.value[f.value].row3,(e,t)=>(Cr(),Tr("div",{key:"row3-"+t,class:"gray-block",style:K({backgroundColor:`rgb(${e.rgb}, ${e.rgb}, ${e.rgb})`})},[Mr("div",{class:"gray-label",style:K({color:e.rgb<128?"#ffffff":"#000000"})},[Mr("div",rae,se(e.percent)+"%",1),Mr("div",sae,"("+se(e.rgb)+"/255)",1)],4)],4))),128))]),Mr("div",iae,[(Cr(!0),Tr(br,null,yn(v.value[f.value].row4,(e,t)=>(Cr(),Tr("div",{key:"row4-"+t,class:"gray-block",style:K({backgroundColor:`rgb(${e.rgb}, ${e.rgb}, ${e.rgb})`})},[Mr("div",{class:"gray-label",style:K({color:e.rgb<128?"#ffffff":"#000000"})},[Mr("div",oae,se(e.percent)+"%",1),Mr("div",lae,"("+se(e.rgb)+"/255)",1)],4)],4))),128))])])])):Rr("",!0)],6)])]),s.value?(Cr(),Tr("div",cae,[b.value?Rr("",!0):(Cr(),Tr("button",{key:0,onClick:R,class:"fs-control-btn",title:"上一个测试"},[...t[60]||(t[60]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1)])])),Mr("div",uae,[Mr("span",dae,se(M()),1),b.value?(Cr(),Tr("span",hae,se(w.value+1)+"/"+se(E[C.value]?.tests.length||0)+" ("+se(_.value)+"s) ",1)):Rr("",!0)]),"micro-pattern"===i.value?(Cr(),Tr("span",pae,se(["1像素网格","2像素网格","细线图案","微型棋盘"][m.value])+" ("+se(m.value+1)+"/4) ",1)):"color-gradient"===i.value?(Cr(),Tr("span",fae,se({red:"红色渐变",green:"绿色渐变",blue:"蓝色渐变",white:"白色渐变",rainbow:"彩虹渐变"}[d.value]),1)):"solid-colors"===i.value?(Cr(),Tr("span",mae,se(D.find(e=>e.value===o.value)?.name||"颜色"),1)):"dead-pixel"===i.value?(Cr(),Tr("span",gae,se(A.find(e=>e.value===o.value)?.name||"颜色"),1)):"gradient"===i.value?(Cr(),Tr("span",yae,se({horizontal:"水平渐变",vertical:"竖直渐变",radial:"径向渐变",rgb:"RGB渐变"}[l.value]),1)):"contrast-test"===i.value?(Cr(),Tr("span",vae,se("dark"===f.value?"暗色灰度":"亮色灰度"),1)):"stability-test"===i.value?(Cr(),Tr("span",bae,se(h.value?"闪烁中":"静止"),1)):"convergence-test"===i.value?(Cr(),Tr("span",wae," 放大倍数: "+se(g.value)+"x ",1)):Rr("",!0),b.value?Rr("",!0):(Cr(),Tr("button",{key:9,onClick:L,class:"fs-control-btn",title:"下一个测试"},[...t[61]||(t[61]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m9 18 6-6-6-6"})],-1)])])),Mr("button",{onClick:X,class:"fs-control-btn",title:"退出全屏 (ESC)"},[...t[62]||(t[62]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"})],-1)])])])):Rr("",!0)],2))}}),kae=Wi(xae,[["__scopeId","data-v-5d31f4cf"]]),_ae={class:"settings-container"},Eae={class:"settings-content"},Cae={class:"settings-section"},Fae={class:"setting-item"},Dae={class:"setting-control"},Aae={class:"setting-item"},Tae={class:"setting-control"},Sae={class:"settings-section"},Iae={class:"setting-item"},Pae={class:"setting-control"},Nae={class:"toggle-switch"},Bae={class:"setting-item"},Mae={class:"setting-control"},Oae={class:"toggle-switch"},Uae={class:"settings-section"},jae={class:"about-info"},Lae={class:"about-item"},Rae={class:"about-value"},zae=Wi(Ya({__name:"Settings",setup(e){const{setTheme:t}=Bo();il("settings");const a=St({theme:"auto",language:"zh-CN",showToast:!0,autoFormat:!0}),n=St("2024-12-29"),r=e=>{console.log("设置提示:",e)},s=()=>{try{localStorage.setItem("toolbox_settings",JSON.stringify(a.value)),r("设置已保存")}catch(e){console.error("保存设置失败:",e),r("保存设置失败")}},i=()=>{t(a.value.theme),s()},o=()=>{const e={settings:a.value,exportTime:(new Date).toISOString(),version:"1.1.0"},t=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),n=URL.createObjectURL(t),s=document.createElement("a");s.href=n,s.download=`toolbox-settings-${(new Date).toISOString().split("T")[0]}.json`,s.click(),URL.revokeObjectURL(n),r("设置已导出")},l=()=>{if(confirm("确定要清除所有数据吗?此操作不可恢复。"))try{localStorage.clear(),a.value={theme:"auto",language:"zh-CN",showToast:!0,autoFormat:!0},r("数据已清除")}catch(e){console.error("清除数据失败:",e),r("清除数据失败")}};return nn(()=>{(()=>{try{const e=localStorage.getItem("toolbox_settings");if(e){const t=JSON.parse(e);a.value={...a.value,...t}}}catch(e){console.error("加载设置失败:",e)}})()}),(e,t)=>(Cr(),Tr("div",_ae,[Mr("div",Eae,[Mr("div",Cae,[t[8]||(t[8]=Mr("h3",{class:"section-title"},[Mr("span",{class:"section-icon"},"🎨"),jr(" 外观设置 ")],-1)),Mr("div",Fae,[t[5]||(t[5]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"主题模式"),Mr("span",{class:"setting-desc"},"选择应用的主题外观")],-1)),Mr("div",Dae,[ca(Mr("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>a.value.theme=e),onChange:i,class:"setting-select"},[...t[4]||(t[4]=[Mr("option",{value:"auto"},"跟随系统",-1),Mr("option",{value:"light"},"浅色模式",-1),Mr("option",{value:"dark"},"深色模式",-1)])],544),[[_i,a.value.theme]])])]),Mr("div",Aae,[t[7]||(t[7]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"语言"),Mr("span",{class:"setting-desc"},"选择界面显示语言")],-1)),Mr("div",Tae,[ca(Mr("select",{"onUpdate:modelValue":t[1]||(t[1]=e=>a.value.language=e),onChange:s,class:"setting-select"},[...t[6]||(t[6]=[Mr("option",{value:"zh-CN"},"简体中文",-1),Mr("option",{value:"zh-TW"},"繁體中文",-1),Mr("option",{value:"en-US"},"English",-1)])],544),[[_i,a.value.language]])])])]),Mr("div",Sae,[t[13]||(t[13]=Mr("h3",{class:"section-title"},[Mr("span",{class:"section-icon"},"⚙️"),jr(" 功能设置 ")],-1)),Mr("div",Iae,[t[10]||(t[10]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"显示提示"),Mr("span",{class:"setting-desc"},"显示操作成功的提示消息")],-1)),Mr("div",Pae,[Mr("label",Nae,[ca(Mr("input",{type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=e=>a.value.showToast=e),onChange:s},null,544),[[wi,a.value.showToast]]),t[9]||(t[9]=Mr("span",{class:"toggle-slider"},null,-1))])])]),Mr("div",Bae,[t[12]||(t[12]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"自动格式化"),Mr("span",{class:"setting-desc"},"粘贴JSON时自动格式化")],-1)),Mr("div",Mae,[Mr("label",Oae,[ca(Mr("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=e=>a.value.autoFormat=e),onChange:s},null,544),[[wi,a.value.autoFormat]]),t[11]||(t[11]=Mr("span",{class:"toggle-slider"},null,-1))])])])]),Mr("div",{class:"settings-section"},[t[18]||(t[18]=Mr("h3",{class:"section-title"},[Mr("span",{class:"section-icon"},"💾"),jr(" 数据管理 ")],-1)),Mr("div",{class:"setting-item"},[t[15]||(t[15]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"导出设置"),Mr("span",{class:"setting-desc"},"导出当前设置配置")],-1)),Mr("div",{class:"setting-control"},[Mr("button",{onClick:o,class:"action-btn"},[...t[14]||(t[14]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1),jr(" 导出 ",-1)])])])]),Mr("div",{class:"setting-item"},[t[17]||(t[17]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"清除数据"),Mr("span",{class:"setting-desc"},"清除所有本地存储的数据")],-1)),Mr("div",{class:"setting-control"},[Mr("button",{onClick:l,class:"action-btn danger"},[...t[16]||(t[16]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"3,6 5,6 21,6"}),Mr("path",{d:"m19,6v14a2,2 0 0,1 -2,2H7a2,2 0 0,1 -2,-2V6m3,0V4a2,2 0 0,1 2,-2h4a2,2 0 0,1 2,2v2"})],-1),jr(" 清除 ",-1)])])])])]),Mr("div",Uae,[t[22]||(t[22]=Mr("h3",{class:"section-title"},[Mr("span",{class:"section-icon"},"ℹ️"),jr(" 关于 ")],-1)),Mr("div",jae,[t[20]||(t[20]=Mr("div",{class:"about-item"},[Mr("span",{class:"about-label"},"版本"),Mr("span",{class:"about-value"},"v1.1.0")],-1)),Mr("div",Lae,[t[19]||(t[19]=Mr("span",{class:"about-label"},"构建时间",-1)),Mr("span",Rae,se(n.value),1)]),t[21]||(t[21]=Lr('
    开源地址 GitHub
    问题反馈 Issues
    ',2))])])])]))}}),[["__scopeId","data-v-67123926"]]),Hae={class:"countries-capitals"},Yae={class:"content-wrapper"},$ae={class:"reference-content"},Gae={class:"countries-section"},Wae={class:"section-header"},Vae={class:"header-left"},Kae={class:"section-info"},Jae={class:"info-text"},qae={class:"advanced-filters"},Zae={class:"filter-group"},Xae={class:"filter-group"},Qae={class:"filter-group"},ene={class:"filter-group"},tne={class:"filter-group"},ane={class:"countries-grid"},nne=["onClick"],rne={class:"card-header"},sne={class:"country-index"},ine={class:"country-region"},one={class:"card-content"},lne={class:"country-main"},cne={class:"country-flag-section"},une=["src","alt"],dne={class:"country-details"},hne={class:"country-names"},pne={class:"country-name"},fne={class:"country-name-en"},mne={class:"capital-info"},gne={class:"capital-main"},yne={class:"capital-names"},vne={class:"capital-name"},bne={class:"capital-name-en"},wne={class:"country-stats"},xne={class:"stat-item"},kne={class:"stat-value"},_ne={class:"stat-item"},Ene={class:"stat-value"},Cne={class:"stat-item"},Fne={class:"stat-value"},Dne={key:0,class:"pagination"},Ane=["disabled"],Tne={class:"page-info"},Sne=["disabled"],Ine={key:1,class:"no-pagination-spacer"},Pne={key:0,class:"modal-body"},Nne={class:"modal-title"},Bne={class:"modal-flag-section"},Mne=["src","alt"],One={class:"title-text"},Une={class:"country-info-grid"},jne={class:"info-item"},Lne={class:"info-value"},Rne={class:"info-value-en"},zne={class:"info-item"},Hne={class:"info-value"},Yne={class:"info-item"},$ne={class:"info-value"},Gne={class:"info-item"},Wne={class:"info-value"},Vne={class:"info-item"},Kne={class:"info-value"},Jne={class:"info-item"},qne={class:"info-value"},Zne={class:"info-value-en"},Xne={class:"info-item"},Qne={class:"info-value"},ere={class:"info-item"},tre={class:"info-value"},are={key:0,class:"country-history"},nre={class:"history-content"},rre={key:1,class:"no-info"},sre=Wi(Ya({__name:"CountriesCapitals",emits:["back"],setup(e,{emit:t}){il("国家首都查询");const a=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("countries-capitals"),{success:n,error:r}=Vo(),s=St(""),i=St("all"),o=St("all"),l=St("all"),c=St("all"),u=St("name"),d=St("asc"),h=St(1),p=St(!1),f=St(null),m=is(()=>[{key:"all",name:"全部地区",count:g.value.length},{key:"asia",name:"亚洲",count:k("asia")},{key:"europe",name:"欧洲",count:k("europe")},{key:"africa",name:"非洲",count:k("africa")},{key:"north-america",name:"北美洲",count:k("north-america")},{key:"south-america",name:"南美洲",count:k("south-america")},{key:"oceania",name:"大洋洲",count:k("oceania")}]),g=St([{code:"CN",name:"中国",nameEn:"China",capital:"北京",capitalEn:"Beijing",region:"asia",continent:"亚洲",population:1439323776,area:9596960,currency:"人民币",currencyCode:"CNY",language:"中文",flag:"https://flagcdn.com/w320/cn.png",description:"中华人民共和国,简称中国,是位于东亚的社会主义国家,首都北京。"},{code:"IN",name:"印度",nameEn:"India",capital:"新德里",capitalEn:"New Delhi",region:"asia",continent:"亚洲",population:1380004385,area:3287263,currency:"卢比",currencyCode:"INR",language:"印地语",flag:"https://flagcdn.com/w320/in.png",description:"印度共和国,简称印度,是位于南亚的联邦制国家,首都新德里。"},{code:"JP",name:"日本",nameEn:"Japan",capital:"东京",capitalEn:"Tokyo",region:"asia",continent:"亚洲",population:126476461,area:377975,currency:"日元",currencyCode:"JPY",language:"日语",flag:"https://flagcdn.com/w320/jp.png",description:"日本国,简称日本,是位于东亚的岛国,首都东京。"},{code:"KR",name:"韩国",nameEn:"South Korea",capital:"首尔",capitalEn:"Seoul",region:"asia",continent:"亚洲",population:51269185,area:100210,currency:"韩元",currencyCode:"KRW",language:"韩语",flag:"https://flagcdn.com/w320/kr.png",description:"大韩民国,简称韩国,是位于东亚朝鲜半岛南部的共和制国家,首都首尔。"},{code:"TH",name:"泰国",nameEn:"Thailand",capital:"曼谷",capitalEn:"Bangkok",region:"asia",continent:"亚洲",population:69799978,area:513120,currency:"泰铢",currencyCode:"THB",language:"泰语",flag:"https://flagcdn.com/w320/th.png",description:"泰王国,简称泰国,是位于东南亚的君主立宪制国家,首都曼谷。"},{code:"AF",name:"阿富汗",nameEn:"Afghanistan",capital:"喀布尔",capitalEn:"Kabul",region:"asia",continent:"亚洲",population:38928346,area:652230,currency:"阿富汗尼",currencyCode:"AFN",language:"达里语",flag:"https://flagcdn.com/w320/af.png",description:"阿富汗伊斯兰共和国,简称阿富汗,是位于中亚和南亚的内陆国家,首都喀布尔。"},{code:"BD",name:"孟加拉国",nameEn:"Bangladesh",capital:"达卡",capitalEn:"Dhaka",region:"asia",continent:"亚洲",population:164689383,area:147570,currency:"塔卡",currencyCode:"BDT",language:"孟加拉语",flag:"https://flagcdn.com/w320/bd.png",description:"孟加拉人民共和国,简称孟加拉国,是位于南亚的国家,首都达卡。"},{code:"BT",name:"不丹",nameEn:"Bhutan",capital:"廷布",capitalEn:"Thimphu",region:"asia",continent:"亚洲",population:771608,area:38394,currency:"努尔特鲁姆",currencyCode:"BTN",language:"宗卡语",flag:"https://flagcdn.com/w320/bt.png",description:"不丹王国,简称不丹,是位于喜马拉雅山脉的内陆国家,首都廷布。"},{code:"BN",name:"文莱",nameEn:"Brunei",capital:"斯里巴加湾市",capitalEn:"Bandar Seri Begawan",region:"asia",continent:"亚洲",population:437479,area:5765,currency:"文莱元",currencyCode:"BND",language:"马来语",flag:"https://flagcdn.com/w320/bn.png",description:"文莱达鲁萨兰国,简称文莱,是位于东南亚的君主制国家,首都斯里巴加湾市。"},{code:"KH",name:"柬埔寨",nameEn:"Cambodia",capital:"金边",capitalEn:"Phnom Penh",region:"asia",continent:"亚洲",population:16718965,area:181035,currency:"瑞尔",currencyCode:"KHR",language:"高棉语",flag:"https://flagcdn.com/w320/kh.png",description:"柬埔寨王国,简称柬埔寨,是位于东南亚的君主立宪制国家,首都金边。"},{code:"ID",name:"印度尼西亚",nameEn:"Indonesia",capital:"雅加达",capitalEn:"Jakarta",region:"asia",continent:"亚洲",population:273523615,area:1904569,currency:"印尼盾",currencyCode:"IDR",language:"印尼语",flag:"https://flagcdn.com/w320/id.png",description:"印度尼西亚共和国,简称印尼,是位于东南亚的群岛国家,首都雅加达。"},{code:"IR",name:"伊朗",nameEn:"Iran",capital:"德黑兰",capitalEn:"Tehran",region:"asia",continent:"亚洲",population:83992949,area:1648195,currency:"里亚尔",currencyCode:"IRR",language:"波斯语",flag:"https://flagcdn.com/w320/ir.png",description:"伊朗伊斯兰共和国,简称伊朗,是位于西亚的国家,首都德黑兰。"},{code:"IQ",name:"伊拉克",nameEn:"Iraq",capital:"巴格达",capitalEn:"Baghdad",region:"asia",continent:"亚洲",population:40222493,area:438317,currency:"第纳尔",currencyCode:"IQD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/iq.png",description:"伊拉克共和国,简称伊拉克,是位于西亚的国家,首都巴格达。"},{code:"IL",name:"以色列",nameEn:"Israel",capital:"耶路撒冷",capitalEn:"Jerusalem",region:"asia",continent:"亚洲",population:9364e3,area:20770,currency:"新谢克尔",currencyCode:"ILS",language:"希伯来语",flag:"https://flagcdn.com/w320/il.png",description:"以色列国,简称以色列,是位于西亚的国家,首都耶路撒冷。"},{code:"JO",name:"约旦",nameEn:"Jordan",capital:"安曼",capitalEn:"Amman",region:"asia",continent:"亚洲",population:10203134,area:89342,currency:"第纳尔",currencyCode:"JOD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/jo.png",description:"约旦哈希姆王国,简称约旦,是位于西亚的君主立宪制国家,首都安曼。"},{code:"KZ",name:"哈萨克斯坦",nameEn:"Kazakhstan",capital:"努尔苏丹",capitalEn:"Nur-Sultan",region:"asia",continent:"亚洲",population:18776707,area:2724900,currency:"坚戈",currencyCode:"KZT",language:"哈萨克语",flag:"https://flagcdn.com/w320/kz.png",description:"哈萨克斯坦共和国,简称哈萨克斯坦,是位于中亚的内陆国家,首都努尔苏丹。"},{code:"KW",name:"科威特",nameEn:"Kuwait",capital:"科威特城",capitalEn:"Kuwait City",region:"asia",continent:"亚洲",population:4270571,area:17818,currency:"第纳尔",currencyCode:"KWD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/kw.png",description:"科威特国,简称科威特,是位于西亚的君主制国家,首都科威特城。"},{code:"KG",name:"吉尔吉斯斯坦",nameEn:"Kyrgyzstan",capital:"比什凯克",capitalEn:"Bishkek",region:"asia",continent:"亚洲",population:6524195,area:199951,currency:"索姆",currencyCode:"KGS",language:"吉尔吉斯语",flag:"https://flagcdn.com/w320/kg.png",description:"吉尔吉斯共和国,简称吉尔吉斯斯坦,是位于中亚的内陆国家,首都比什凯克。"},{code:"LA",name:"老挝",nameEn:"Laos",capital:"万象",capitalEn:"Vientiane",region:"asia",continent:"亚洲",population:7275560,area:236800,currency:"基普",currencyCode:"LAK",language:"老挝语",flag:"https://flagcdn.com/w320/la.png",description:"老挝人民民主共和国,简称老挝,是位于东南亚的内陆国家,首都万象。"},{code:"LB",name:"黎巴嫩",nameEn:"Lebanon",capital:"贝鲁特",capitalEn:"Beirut",region:"asia",continent:"亚洲",population:6825445,area:10452,currency:"镑",currencyCode:"LBP",language:"阿拉伯语",flag:"https://flagcdn.com/w320/lb.png",description:"黎巴嫩共和国,简称黎巴嫩,是位于西亚的国家,首都贝鲁特。"},{code:"MY",name:"马来西亚",nameEn:"Malaysia",capital:"吉隆坡",capitalEn:"Kuala Lumpur",region:"asia",continent:"亚洲",population:32365999,area:330803,currency:"林吉特",currencyCode:"MYR",language:"马来语",flag:"https://flagcdn.com/w320/my.png",description:"马来西亚,是位于东南亚的联邦制国家,首都吉隆坡。"},{code:"MV",name:"马尔代夫",nameEn:"Maldives",capital:"马累",capitalEn:"Male",region:"asia",continent:"亚洲",population:540544,area:300,currency:"拉菲亚",currencyCode:"MVR",language:"迪维希语",flag:"https://flagcdn.com/w320/mv.png",description:"马尔代夫共和国,简称马尔代夫,是位于印度洋的岛国,首都马累。"},{code:"MN",name:"蒙古",nameEn:"Mongolia",capital:"乌兰巴托",capitalEn:"Ulaanbaatar",region:"asia",continent:"亚洲",population:3278290,area:1564110,currency:"图格里克",currencyCode:"MNT",language:"蒙古语",flag:"https://flagcdn.com/w320/mn.png",description:"蒙古国,简称蒙古,是位于东亚的内陆国家,首都乌兰巴托。"},{code:"MM",name:"缅甸",nameEn:"Myanmar",capital:"内比都",capitalEn:"Naypyidaw",region:"asia",continent:"亚洲",population:54409800,area:676578,currency:"缅元",currencyCode:"MMK",language:"缅甸语",flag:"https://flagcdn.com/w320/mm.png",description:"缅甸联邦共和国,简称缅甸,是位于东南亚的国家,首都内比都。"},{code:"NP",name:"尼泊尔",nameEn:"Nepal",capital:"加德满都",capitalEn:"Kathmandu",region:"asia",continent:"亚洲",population:29136808,area:147516,currency:"卢比",currencyCode:"NPR",language:"尼泊尔语",flag:"https://flagcdn.com/w320/np.png",description:"尼泊尔联邦民主共和国,简称尼泊尔,是位于喜马拉雅山脉的内陆国家,首都加德满都。"},{code:"KP",name:"朝鲜",nameEn:"North Korea",capital:"平壤",capitalEn:"Pyongyang",region:"asia",continent:"亚洲",population:25778816,area:120538,currency:"朝鲜元",currencyCode:"KPW",language:"朝鲜语",flag:"https://flagcdn.com/w320/kp.png",description:"朝鲜民主主义人民共和国,简称朝鲜,是位于东亚朝鲜半岛北部的社会主义国家,首都平壤。"},{code:"OM",name:"阿曼",nameEn:"Oman",capital:"马斯喀特",capitalEn:"Muscat",region:"asia",continent:"亚洲",population:5106626,area:309500,currency:"里亚尔",currencyCode:"OMR",language:"阿拉伯语",flag:"https://flagcdn.com/w320/om.png",description:"阿曼苏丹国,简称阿曼,是位于西亚的君主制国家,首都马斯喀特。"},{code:"PK",name:"巴基斯坦",nameEn:"Pakistan",capital:"伊斯兰堡",capitalEn:"Islamabad",region:"asia",continent:"亚洲",population:220892340,area:881913,currency:"卢比",currencyCode:"PKR",language:"乌尔都语",flag:"https://flagcdn.com/w320/pk.png",description:"巴基斯坦伊斯兰共和国,简称巴基斯坦,是位于南亚的国家,首都伊斯兰堡。"},{code:"PS",name:"巴勒斯坦",nameEn:"Palestine",capital:"拉马拉",capitalEn:"Ramallah",region:"asia",continent:"亚洲",population:5101414,area:6220,currency:"谢克尔",currencyCode:"ILS",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ps.png",description:"巴勒斯坦国,简称巴勒斯坦,是位于西亚的国家,首都拉马拉。"},{code:"PH",name:"菲律宾",nameEn:"Philippines",capital:"马尼拉",capitalEn:"Manila",region:"asia",continent:"亚洲",population:109581078,area:3e5,currency:"比索",currencyCode:"PHP",language:"菲律宾语",flag:"https://flagcdn.com/w320/ph.png",description:"菲律宾共和国,简称菲律宾,是位于东南亚的群岛国家,首都马尼拉。"},{code:"QA",name:"卡塔尔",nameEn:"Qatar",capital:"多哈",capitalEn:"Doha",region:"asia",continent:"亚洲",population:2881053,area:11586,currency:"里亚尔",currencyCode:"QAR",language:"阿拉伯语",flag:"https://flagcdn.com/w320/qa.png",description:"卡塔尔国,简称卡塔尔,是位于西亚的君主制国家,首都多哈。"},{code:"SA",name:"沙特阿拉伯",nameEn:"Saudi Arabia",capital:"利雅得",capitalEn:"Riyadh",region:"asia",continent:"亚洲",population:34813871,area:2149690,currency:"里亚尔",currencyCode:"SAR",language:"阿拉伯语",flag:"https://flagcdn.com/w320/sa.png",description:"沙特阿拉伯王国,简称沙特阿拉伯,是位于西亚的君主制国家,首都利雅得。"},{code:"SG",name:"新加坡",nameEn:"Singapore",capital:"新加坡",capitalEn:"Singapore",region:"asia",continent:"亚洲",population:5850342,area:719,currency:"新加坡元",currencyCode:"SGD",language:"英语",flag:"https://flagcdn.com/w320/sg.png",description:"新加坡共和国,简称新加坡,是位于东南亚的城市国家,首都新加坡。"},{code:"LK",name:"斯里兰卡",nameEn:"Sri Lanka",capital:"科伦坡",capitalEn:"Colombo",region:"asia",continent:"亚洲",population:21413249,area:65610,currency:"卢比",currencyCode:"LKR",language:"僧伽罗语",flag:"https://flagcdn.com/w320/lk.png",description:"斯里兰卡民主社会主义共和国,简称斯里兰卡,是位于南亚的岛国,首都科伦坡。"},{code:"SY",name:"叙利亚",nameEn:"Syria",capital:"大马士革",capitalEn:"Damascus",region:"asia",continent:"亚洲",population:17500658,area:185180,currency:"镑",currencyCode:"SYP",language:"阿拉伯语",flag:"https://flagcdn.com/w320/sy.png",description:"阿拉伯叙利亚共和国,简称叙利亚,是位于西亚的国家,首都大马士革。"},{code:"TJ",name:"塔吉克斯坦",nameEn:"Tajikistan",capital:"杜尚别",capitalEn:"Dushanbe",region:"asia",continent:"亚洲",population:9537645,area:143100,currency:"索莫尼",currencyCode:"TJS",language:"塔吉克语",flag:"https://flagcdn.com/w320/tj.png",description:"塔吉克斯坦共和国,简称塔吉克斯坦,是位于中亚的内陆国家,首都杜尚别。"},{code:"TL",name:"东帝汶",nameEn:"East Timor",capital:"帝力",capitalEn:"Dili",region:"asia",continent:"亚洲",population:1318445,area:14874,currency:"美元",currencyCode:"USD",language:"德顿语",flag:"https://flagcdn.com/w320/tl.png",description:"东帝汶民主共和国,简称东帝汶,是位于东南亚的国家,首都帝力。"},{code:"TR",name:"土耳其",nameEn:"Turkey",capital:"安卡拉",capitalEn:"Ankara",region:"asia",continent:"亚洲",population:84339067,area:783562,currency:"里拉",currencyCode:"TRY",language:"土耳其语",flag:"https://flagcdn.com/w320/tr.png",description:"土耳其共和国,简称土耳其,是位于欧亚大陆的国家,首都安卡拉。"},{code:"TM",name:"土库曼斯坦",nameEn:"Turkmenistan",capital:"阿什哈巴德",capitalEn:"Ashgabat",region:"asia",continent:"亚洲",population:6031200,area:488100,currency:"马纳特",currencyCode:"TMT",language:"土库曼语",flag:"https://flagcdn.com/w320/tm.png",description:"土库曼斯坦,是位于中亚的内陆国家,首都阿什哈巴德。"},{code:"AE",name:"阿联酋",nameEn:"United Arab Emirates",capital:"阿布扎比",capitalEn:"Abu Dhabi",region:"asia",continent:"亚洲",population:9890402,area:83600,currency:"迪拉姆",currencyCode:"AED",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ae.png",description:"阿拉伯联合酋长国,简称阿联酋,是位于西亚的联邦制国家,首都阿布扎比。"},{code:"UZ",name:"乌兹别克斯坦",nameEn:"Uzbekistan",capital:"塔什干",capitalEn:"Tashkent",region:"asia",continent:"亚洲",population:33469203,area:447400,currency:"苏姆",currencyCode:"UZS",language:"乌兹别克语",flag:"https://flagcdn.com/w320/uz.png",description:"乌兹别克斯坦共和国,简称乌兹别克斯坦,是位于中亚的内陆国家,首都塔什干。"},{code:"VN",name:"越南",nameEn:"Vietnam",capital:"河内",capitalEn:"Hanoi",region:"asia",continent:"亚洲",population:97338579,area:331212,currency:"越南盾",currencyCode:"VND",language:"越南语",flag:"https://flagcdn.com/w320/vn.png",description:"越南社会主义共和国,简称越南,是位于东南亚的国家,首都河内。"},{code:"YE",name:"也门",nameEn:"Yemen",capital:"萨那",capitalEn:"Sanaa",region:"asia",continent:"亚洲",population:29825964,area:527968,currency:"里亚尔",currencyCode:"YER",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ye.png",description:"也门共和国,简称也门,是位于西亚的国家,首都萨那。"},{code:"RU",name:"俄罗斯",nameEn:"Russia",capital:"莫斯科",capitalEn:"Moscow",region:"europe",continent:"欧洲",population:145934462,area:17098242,currency:"卢布",currencyCode:"RUB",language:"俄语",flag:"https://flagcdn.com/w320/ru.png",description:"俄罗斯联邦,简称俄罗斯,是位于欧亚大陆的联邦制国家,首都莫斯科。"},{code:"DE",name:"德国",nameEn:"Germany",capital:"柏林",capitalEn:"Berlin",region:"europe",continent:"欧洲",population:83783942,area:357114,currency:"欧元",currencyCode:"EUR",language:"德语",flag:"https://flagcdn.com/w320/de.png",description:"德意志联邦共和国,简称德国,是位于欧洲中部的联邦制国家,首都柏林。"},{code:"GB",name:"英国",nameEn:"United Kingdom",capital:"伦敦",capitalEn:"London",region:"europe",continent:"欧洲",population:67886011,area:243610,currency:"英镑",currencyCode:"GBP",language:"英语",flag:"https://flagcdn.com/w320/gb.png",description:"大不列颠及北爱尔兰联合王国,简称英国,是位于欧洲西北部的岛国,首都伦敦。"},{code:"FR",name:"法国",nameEn:"France",capital:"巴黎",capitalEn:"Paris",region:"europe",continent:"欧洲",population:65273511,area:643801,currency:"欧元",currencyCode:"EUR",language:"法语",flag:"https://flagcdn.com/w320/fr.png",description:"法兰西共和国,简称法国,是位于欧洲西部的共和制国家,首都巴黎。"},{code:"IT",name:"意大利",nameEn:"Italy",capital:"罗马",capitalEn:"Rome",region:"europe",continent:"欧洲",population:60461826,area:301340,currency:"欧元",currencyCode:"EUR",language:"意大利语",flag:"https://flagcdn.com/w320/it.png",description:"意大利共和国,简称意大利,是位于欧洲南部的共和制国家,首都罗马。"},{code:"ES",name:"西班牙",nameEn:"Spain",capital:"马德里",capitalEn:"Madrid",region:"europe",continent:"欧洲",population:46754778,area:505992,currency:"欧元",currencyCode:"EUR",language:"西班牙语",flag:"https://flagcdn.com/w320/es.png",description:"西班牙王国,简称西班牙,是位于欧洲西南部的君主立宪制国家,首都马德里。"},{code:"AL",name:"阿尔巴尼亚",nameEn:"Albania",capital:"地拉那",capitalEn:"Tirana",region:"europe",continent:"欧洲",population:2877797,area:28748,currency:"列克",currencyCode:"ALL",language:"阿尔巴尼亚语",flag:"https://flagcdn.com/w320/al.png",description:"阿尔巴尼亚共和国,简称阿尔巴尼亚,是位于欧洲东南部的国家,首都地拉那。"},{code:"AD",name:"安道尔",nameEn:"Andorra",capital:"安道尔城",capitalEn:"Andorra la Vella",region:"europe",continent:"欧洲",population:77265,area:468,currency:"欧元",currencyCode:"EUR",language:"加泰罗尼亚语",flag:"https://flagcdn.com/w320/ad.png",description:"安道尔公国,简称安道尔,是位于欧洲西南部的内陆国家,首都安道尔城。"},{code:"AM",name:"亚美尼亚",nameEn:"Armenia",capital:"埃里温",capitalEn:"Yerevan",region:"europe",continent:"欧洲",population:2963243,area:29743,currency:"德拉姆",currencyCode:"AMD",language:"亚美尼亚语",flag:"https://flagcdn.com/w320/am.png",description:"亚美尼亚共和国,简称亚美尼亚,是位于西亚的内陆国家,首都埃里温。"},{code:"AT",name:"奥地利",nameEn:"Austria",capital:"维也纳",capitalEn:"Vienna",region:"europe",continent:"欧洲",population:9006398,area:83879,currency:"欧元",currencyCode:"EUR",language:"德语",flag:"https://flagcdn.com/w320/at.png",description:"奥地利共和国,简称奥地利,是位于欧洲中部的内陆国家,首都维也纳。"},{code:"AZ",name:"阿塞拜疆",nameEn:"Azerbaijan",capital:"巴库",capitalEn:"Baku",region:"europe",continent:"欧洲",population:10139177,area:86600,currency:"马纳特",currencyCode:"AZN",language:"阿塞拜疆语",flag:"https://flagcdn.com/w320/az.png",description:"阿塞拜疆共和国,简称阿塞拜疆,是位于西亚的国家,首都巴库。"},{code:"BY",name:"白俄罗斯",nameEn:"Belarus",capital:"明斯克",capitalEn:"Minsk",region:"europe",continent:"欧洲",population:9449323,area:207600,currency:"卢布",currencyCode:"BYN",language:"白俄罗斯语",flag:"https://flagcdn.com/w320/by.png",description:"白俄罗斯共和国,简称白俄罗斯,是位于欧洲东部的内陆国家,首都明斯克。"},{code:"BE",name:"比利时",nameEn:"Belgium",capital:"布鲁塞尔",capitalEn:"Brussels",region:"europe",continent:"欧洲",population:11589623,area:30528,currency:"欧元",currencyCode:"EUR",language:"荷兰语",flag:"https://flagcdn.com/w320/be.png",description:"比利时王国,简称比利时,是位于欧洲西部的国家,首都布鲁塞尔。"},{code:"BA",name:"波黑",nameEn:"Bosnia and Herzegovina",capital:"萨拉热窝",capitalEn:"Sarajevo",region:"europe",continent:"欧洲",population:3280819,area:51197,currency:"马克",currencyCode:"BAM",language:"波斯尼亚语",flag:"https://flagcdn.com/w320/ba.png",description:"波斯尼亚和黑塞哥维那,简称波黑,是位于欧洲东南部的国家,首都萨拉热窝。"},{code:"BG",name:"保加利亚",nameEn:"Bulgaria",capital:"索菲亚",capitalEn:"Sofia",region:"europe",continent:"欧洲",population:6948445,area:110879,currency:"列弗",currencyCode:"BGN",language:"保加利亚语",flag:"https://flagcdn.com/w320/bg.png",description:"保加利亚共和国,简称保加利亚,是位于欧洲东南部的国家,首都索菲亚。"},{code:"HR",name:"克罗地亚",nameEn:"Croatia",capital:"萨格勒布",capitalEn:"Zagreb",region:"europe",continent:"欧洲",population:4105267,area:56594,currency:"欧元",currencyCode:"EUR",language:"克罗地亚语",flag:"https://flagcdn.com/w320/hr.png",description:"克罗地亚共和国,简称克罗地亚,是位于欧洲东南部的国家,首都萨格勒布。"},{code:"CY",name:"塞浦路斯",nameEn:"Cyprus",capital:"尼科西亚",capitalEn:"Nicosia",region:"europe",continent:"欧洲",population:1207359,area:9251,currency:"欧元",currencyCode:"EUR",language:"希腊语",flag:"https://flagcdn.com/w320/cy.png",description:"塞浦路斯共和国,简称塞浦路斯,是位于地中海的岛国,首都尼科西亚。"},{code:"CZ",name:"捷克",nameEn:"Czech Republic",capital:"布拉格",capitalEn:"Prague",region:"europe",continent:"欧洲",population:10708981,area:78867,currency:"克朗",currencyCode:"CZK",language:"捷克语",flag:"https://flagcdn.com/w320/cz.png",description:"捷克共和国,简称捷克,是位于欧洲中部的内陆国家,首都布拉格。"},{code:"DK",name:"丹麦",nameEn:"Denmark",capital:"哥本哈根",capitalEn:"Copenhagen",region:"europe",continent:"欧洲",population:5792202,area:43094,currency:"克朗",currencyCode:"DKK",language:"丹麦语",flag:"https://flagcdn.com/w320/dk.png",description:"丹麦王国,简称丹麦,是位于欧洲北部的国家,首都哥本哈根。"},{code:"EE",name:"爱沙尼亚",nameEn:"Estonia",capital:"塔林",capitalEn:"Tallinn",region:"europe",continent:"欧洲",population:1326535,area:45228,currency:"欧元",currencyCode:"EUR",language:"爱沙尼亚语",flag:"https://flagcdn.com/w320/ee.png",description:"爱沙尼亚共和国,简称爱沙尼亚,是位于欧洲北部的国家,首都塔林。"},{code:"FI",name:"芬兰",nameEn:"Finland",capital:"赫尔辛基",capitalEn:"Helsinki",region:"europe",continent:"欧洲",population:5540720,area:338424,currency:"欧元",currencyCode:"EUR",language:"芬兰语",flag:"https://flagcdn.com/w320/fi.png",description:"芬兰共和国,简称芬兰,是位于欧洲北部的国家,首都赫尔辛基。"},{code:"GE",name:"格鲁吉亚",nameEn:"Georgia",capital:"第比利斯",capitalEn:"Tbilisi",region:"europe",continent:"欧洲",population:3989167,area:69700,currency:"拉里",currencyCode:"GEL",language:"格鲁吉亚语",flag:"https://flagcdn.com/w320/ge.png",description:"格鲁吉亚,是位于西亚的国家,首都第比利斯。"},{code:"GR",name:"希腊",nameEn:"Greece",capital:"雅典",capitalEn:"Athens",region:"europe",continent:"欧洲",population:10423054,area:131957,currency:"欧元",currencyCode:"EUR",language:"希腊语",flag:"https://flagcdn.com/w320/gr.png",description:"希腊共和国,简称希腊,是位于欧洲东南部的国家,首都雅典。"},{code:"HU",name:"匈牙利",nameEn:"Hungary",capital:"布达佩斯",capitalEn:"Budapest",region:"europe",continent:"欧洲",population:9660351,area:93028,currency:"福林",currencyCode:"HUF",language:"匈牙利语",flag:"https://flagcdn.com/w320/hu.png",description:"匈牙利,是位于欧洲中部的内陆国家,首都布达佩斯。"},{code:"IS",name:"冰岛",nameEn:"Iceland",capital:"雷克雅未克",capitalEn:"Reykjavik",region:"europe",continent:"欧洲",population:341243,area:103e3,currency:"克朗",currencyCode:"ISK",language:"冰岛语",flag:"https://flagcdn.com/w320/is.png",description:"冰岛共和国,简称冰岛,是位于北大西洋的岛国,首都雷克雅未克。"},{code:"IE",name:"爱尔兰",nameEn:"Ireland",capital:"都柏林",capitalEn:"Dublin",region:"europe",continent:"欧洲",population:4937786,area:70273,currency:"欧元",currencyCode:"EUR",language:"英语",flag:"https://flagcdn.com/w320/ie.png",description:"爱尔兰共和国,简称爱尔兰,是位于欧洲西部的岛国,首都都柏林。"},{code:"LV",name:"拉脱维亚",nameEn:"Latvia",capital:"里加",capitalEn:"Riga",region:"europe",continent:"欧洲",population:1886198,area:64589,currency:"欧元",currencyCode:"EUR",language:"拉脱维亚语",flag:"https://flagcdn.com/w320/lv.png",description:"拉脱维亚共和国,简称拉脱维亚,是位于欧洲北部的国家,首都里加。"},{code:"LI",name:"列支敦士登",nameEn:"Liechtenstein",capital:"瓦杜兹",capitalEn:"Vaduz",region:"europe",continent:"欧洲",population:38128,area:160,currency:"瑞士法郎",currencyCode:"CHF",language:"德语",flag:"https://flagcdn.com/w320/li.png",description:"列支敦士登公国,简称列支敦士登,是位于欧洲中部的内陆国家,首都瓦杜兹。"},{code:"LT",name:"立陶宛",nameEn:"Lithuania",capital:"维尔纽斯",capitalEn:"Vilnius",region:"europe",continent:"欧洲",population:2722289,area:65300,currency:"欧元",currencyCode:"EUR",language:"立陶宛语",flag:"https://flagcdn.com/w320/lt.png",description:"立陶宛共和国,简称立陶宛,是位于欧洲北部的国家,首都维尔纽斯。"},{code:"LU",name:"卢森堡",nameEn:"Luxembourg",capital:"卢森堡市",capitalEn:"Luxembourg City",region:"europe",continent:"欧洲",population:625978,area:2586,currency:"欧元",currencyCode:"EUR",language:"卢森堡语",flag:"https://flagcdn.com/w320/lu.png",description:"卢森堡大公国,简称卢森堡,是位于欧洲西部的内陆国家,首都卢森堡市。"},{code:"MT",name:"马耳他",nameEn:"Malta",capital:"瓦莱塔",capitalEn:"Valletta",region:"europe",continent:"欧洲",population:441543,area:316,currency:"欧元",currencyCode:"EUR",language:"马耳他语",flag:"https://flagcdn.com/w320/mt.png",description:"马耳他共和国,简称马耳他,是位于地中海的岛国,首都瓦莱塔。"},{code:"MD",name:"摩尔多瓦",nameEn:"Moldova",capital:"基希讷乌",capitalEn:"Chisinau",region:"europe",continent:"欧洲",population:4033963,area:33851,currency:"列伊",currencyCode:"MDL",language:"罗马尼亚语",flag:"https://flagcdn.com/w320/md.png",description:"摩尔多瓦共和国,简称摩尔多瓦,是位于欧洲东南部的内陆国家,首都基希讷乌。"},{code:"MC",name:"摩纳哥",nameEn:"Monaco",capital:"摩纳哥",capitalEn:"Monaco",region:"europe",continent:"欧洲",population:39242,area:2,currency:"欧元",currencyCode:"EUR",language:"法语",flag:"https://flagcdn.com/w320/mc.png",description:"摩纳哥公国,简称摩纳哥,是位于欧洲西南部的城市国家,首都摩纳哥。"},{code:"ME",name:"黑山",nameEn:"Montenegro",capital:"波德戈里察",capitalEn:"Podgorica",region:"europe",continent:"欧洲",population:628066,area:13812,currency:"欧元",currencyCode:"EUR",language:"黑山语",flag:"https://flagcdn.com/w320/me.png",description:"黑山,是位于欧洲东南部的国家,首都波德戈里察。"},{code:"NL",name:"荷兰",nameEn:"Netherlands",capital:"阿姆斯特丹",capitalEn:"Amsterdam",region:"europe",continent:"欧洲",population:17134872,area:41543,currency:"欧元",currencyCode:"EUR",language:"荷兰语",flag:"https://flagcdn.com/w320/nl.png",description:"荷兰王国,简称荷兰,是位于欧洲西北部的国家,首都阿姆斯特丹。"},{code:"MK",name:"北马其顿",nameEn:"North Macedonia",capital:"斯科普里",capitalEn:"Skopje",region:"europe",continent:"欧洲",population:2083374,area:25713,currency:"第纳尔",currencyCode:"MKD",language:"马其顿语",flag:"https://flagcdn.com/w320/mk.png",description:"北马其顿共和国,简称北马其顿,是位于欧洲东南部的内陆国家,首都斯科普里。"},{code:"NO",name:"挪威",nameEn:"Norway",capital:"奥斯陆",capitalEn:"Oslo",region:"europe",continent:"欧洲",population:5421241,area:323802,currency:"克朗",currencyCode:"NOK",language:"挪威语",flag:"https://flagcdn.com/w320/no.png",description:"挪威王国,简称挪威,是位于欧洲北部的国家,首都奥斯陆。"},{code:"PL",name:"波兰",nameEn:"Poland",capital:"华沙",capitalEn:"Warsaw",region:"europe",continent:"欧洲",population:37846611,area:312696,currency:"兹罗提",currencyCode:"PLN",language:"波兰语",flag:"https://flagcdn.com/w320/pl.png",description:"波兰共和国,简称波兰,是位于欧洲中部的国家,首都华沙。"},{code:"PT",name:"葡萄牙",nameEn:"Portugal",capital:"里斯本",capitalEn:"Lisbon",region:"europe",continent:"欧洲",population:10196709,area:92090,currency:"欧元",currencyCode:"EUR",language:"葡萄牙语",flag:"https://flagcdn.com/w320/pt.png",description:"葡萄牙共和国,简称葡萄牙,是位于欧洲西南部的国家,首都里斯本。"},{code:"RO",name:"罗马尼亚",nameEn:"Romania",capital:"布加勒斯特",capitalEn:"Bucharest",region:"europe",continent:"欧洲",population:19237691,area:238391,currency:"列伊",currencyCode:"RON",language:"罗马尼亚语",flag:"https://flagcdn.com/w320/ro.png",description:"罗马尼亚,是位于欧洲东南部的国家,首都布加勒斯特。"},{code:"SM",name:"圣马力诺",nameEn:"San Marino",capital:"圣马力诺",capitalEn:"San Marino",region:"europe",continent:"欧洲",population:33931,area:61,currency:"欧元",currencyCode:"EUR",language:"意大利语",flag:"https://flagcdn.com/w320/sm.png",description:"圣马力诺共和国,简称圣马力诺,是位于欧洲南部的内陆国家,首都圣马力诺。"},{code:"RS",name:"塞尔维亚",nameEn:"Serbia",capital:"贝尔格莱德",capitalEn:"Belgrade",region:"europe",continent:"欧洲",population:8737371,area:77474,currency:"第纳尔",currencyCode:"RSD",language:"塞尔维亚语",flag:"https://flagcdn.com/w320/rs.png",description:"塞尔维亚共和国,简称塞尔维亚,是位于欧洲东南部的内陆国家,首都贝尔格莱德。"},{code:"SK",name:"斯洛伐克",nameEn:"Slovakia",capital:"布拉迪斯拉发",capitalEn:"Bratislava",region:"europe",continent:"欧洲",population:5459642,area:49035,currency:"欧元",currencyCode:"EUR",language:"斯洛伐克语",flag:"https://flagcdn.com/w320/sk.png",description:"斯洛伐克共和国,简称斯洛伐克,是位于欧洲中部的内陆国家,首都布拉迪斯拉发。"},{code:"SI",name:"斯洛文尼亚",nameEn:"Slovenia",capital:"卢布尔雅那",capitalEn:"Ljubljana",region:"europe",continent:"欧洲",population:2078938,area:20273,currency:"欧元",currencyCode:"EUR",language:"斯洛文尼亚语",flag:"https://flagcdn.com/w320/si.png",description:"斯洛文尼亚共和国,简称斯洛文尼亚,是位于欧洲中南部的国家,首都卢布尔雅那。"},{code:"SE",name:"瑞典",nameEn:"Sweden",capital:"斯德哥尔摩",capitalEn:"Stockholm",region:"europe",continent:"欧洲",population:10099265,area:450295,currency:"克朗",currencyCode:"SEK",language:"瑞典语",flag:"https://flagcdn.com/w320/se.png",description:"瑞典王国,简称瑞典,是位于欧洲北部的国家,首都斯德哥尔摩。"},{code:"CH",name:"瑞士",nameEn:"Switzerland",capital:"伯尔尼",capitalEn:"Bern",region:"europe",continent:"欧洲",population:8654622,area:41277,currency:"瑞士法郎",currencyCode:"CHF",language:"德语",flag:"https://flagcdn.com/w320/ch.png",description:"瑞士联邦,简称瑞士,是位于欧洲中部的内陆国家,首都伯尔尼。"},{code:"UA",name:"乌克兰",nameEn:"Ukraine",capital:"基辅",capitalEn:"Kiev",region:"europe",continent:"欧洲",population:43733762,area:603550,currency:"格里夫纳",currencyCode:"UAH",language:"乌克兰语",flag:"https://flagcdn.com/w320/ua.png",description:"乌克兰,是位于欧洲东部的国家,首都基辅。"},{code:"VA",name:"梵蒂冈",nameEn:"Vatican City",capital:"梵蒂冈城",capitalEn:"Vatican City",region:"europe",continent:"欧洲",population:801,area:.17,currency:"欧元",currencyCode:"EUR",language:"意大利语",flag:"https://flagcdn.com/w320/va.png",description:"梵蒂冈城国,简称梵蒂冈,是位于欧洲的城市国家,首都梵蒂冈城。"},{code:"XK",name:"科索沃",nameEn:"Kosovo",capital:"普里什蒂纳",capitalEn:"Pristina",region:"europe",continent:"欧洲",population:1873160,area:10887,currency:"欧元",currencyCode:"EUR",language:"阿尔巴尼亚语",flag:"https://flagcdn.com/w320/xk.png",description:"科索沃共和国,简称科索沃,是位于欧洲东南部的国家,首都普里什蒂纳。"},{code:"DZ",name:"阿尔及利亚",nameEn:"Algeria",capital:"阿尔及尔",capitalEn:"Algiers",region:"africa",continent:"非洲",population:43851044,area:2381741,currency:"第纳尔",currencyCode:"DZD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/dz.png",description:"阿尔及利亚民主人民共和国,简称阿尔及利亚,是位于非洲北部的国家,首都阿尔及尔。"},{code:"AO",name:"安哥拉",nameEn:"Angola",capital:"罗安达",capitalEn:"Luanda",region:"africa",continent:"非洲",population:32866272,area:1246700,currency:"宽扎",currencyCode:"AOA",language:"葡萄牙语",flag:"https://flagcdn.com/w320/ao.png",description:"安哥拉共和国,简称安哥拉,是位于非洲西南部的国家,首都罗安达。"},{code:"BJ",name:"贝宁",nameEn:"Benin",capital:"波多诺伏",capitalEn:"Porto-Novo",region:"africa",continent:"非洲",population:12123200,area:112622,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/bj.png",description:"贝宁共和国,简称贝宁,是位于非洲西部的国家,首都波多诺伏。"},{code:"BW",name:"博茨瓦纳",nameEn:"Botswana",capital:"哈博罗内",capitalEn:"Gaborone",region:"africa",continent:"非洲",population:2351627,area:581730,currency:"普拉",currencyCode:"BWP",language:"英语",flag:"https://flagcdn.com/w320/bw.png",description:"博茨瓦纳共和国,简称博茨瓦纳,是位于非洲南部的内陆国家,首都哈博罗内。"},{code:"BF",name:"布基纳法索",nameEn:"Burkina Faso",capital:"瓦加杜古",capitalEn:"Ouagadougou",region:"africa",continent:"非洲",population:20903273,area:274200,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/bf.png",description:"布基纳法索,是位于非洲西部的内陆国家,首都瓦加杜古。"},{code:"BI",name:"布隆迪",nameEn:"Burundi",capital:"基特加",capitalEn:"Gitega",region:"africa",continent:"非洲",population:11890784,area:27830,currency:"布隆迪法郎",currencyCode:"BIF",language:"基隆迪语",flag:"https://flagcdn.com/w320/bi.png",description:"布隆迪共和国,简称布隆迪,是位于非洲中东部的内陆国家,首都基特加。"},{code:"CV",name:"佛得角",nameEn:"Cape Verde",capital:"普拉亚",capitalEn:"Praia",region:"africa",continent:"非洲",population:555987,area:4033,currency:"埃斯库多",currencyCode:"CVE",language:"葡萄牙语",flag:"https://flagcdn.com/w320/cv.png",description:"佛得角共和国,简称佛得角,是位于大西洋的岛国,首都普拉亚。"},{code:"CM",name:"喀麦隆",nameEn:"Cameroon",capital:"雅温得",capitalEn:"Yaounde",region:"africa",continent:"非洲",population:26545863,area:475442,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/cm.png",description:"喀麦隆共和国,简称喀麦隆,是位于非洲中西部的国家,首都雅温得。"},{code:"CF",name:"中非",nameEn:"Central African Republic",capital:"班吉",capitalEn:"Bangui",region:"africa",continent:"非洲",population:4829767,area:622984,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/cf.png",description:"中非共和国,简称中非,是位于非洲中部的内陆国家,首都班吉。"},{code:"TD",name:"乍得",nameEn:"Chad",capital:"恩贾梅纳",capitalEn:"N'Djamena",region:"africa",continent:"非洲",population:16425864,area:1284e3,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/td.png",description:"乍得共和国,简称乍得,是位于非洲中部的内陆国家,首都恩贾梅纳。"},{code:"KM",name:"科摩罗",nameEn:"Comoros",capital:"莫罗尼",capitalEn:"Moroni",region:"africa",continent:"非洲",population:869601,area:2235,currency:"科摩罗法郎",currencyCode:"KMF",language:"阿拉伯语",flag:"https://flagcdn.com/w320/km.png",description:"科摩罗联盟,简称科摩罗,是位于印度洋的岛国,首都莫罗尼。"},{code:"CG",name:"刚果(布)",nameEn:"Republic of the Congo",capital:"布拉柴维尔",capitalEn:"Brazzaville",region:"africa",continent:"非洲",population:5518087,area:342e3,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/cg.png",description:"刚果共和国,简称刚果(布),是位于非洲中西部的国家,首都布拉柴维尔。"},{code:"CD",name:"刚果(金)",nameEn:"Democratic Republic of the Congo",capital:"金沙萨",capitalEn:"Kinshasa",region:"africa",continent:"非洲",population:89561403,area:2344858,currency:"刚果法郎",currencyCode:"CDF",language:"法语",flag:"https://flagcdn.com/w320/cd.png",description:"刚果民主共和国,简称刚果(金),是位于非洲中部的国家,首都金沙萨。"},{code:"CI",name:"科特迪瓦",nameEn:"Ivory Coast",capital:"亚穆苏克罗",capitalEn:"Yamoussoukro",region:"africa",continent:"非洲",population:26378274,area:322463,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/ci.png",description:"科特迪瓦共和国,简称科特迪瓦,是位于非洲西部的国家,首都亚穆苏克罗。"},{code:"DJ",name:"吉布提",nameEn:"Djibouti",capital:"吉布提市",capitalEn:"Djibouti City",region:"africa",continent:"非洲",population:988e3,area:23200,currency:"吉布提法郎",currencyCode:"DJF",language:"法语",flag:"https://flagcdn.com/w320/dj.png",description:"吉布提共和国,简称吉布提,是位于非洲东北部的国家,首都吉布提市。"},{code:"EG",name:"埃及",nameEn:"Egypt",capital:"开罗",capitalEn:"Cairo",region:"africa",continent:"非洲",population:102334404,area:1001450,currency:"埃及镑",currencyCode:"EGP",language:"阿拉伯语",flag:"https://flagcdn.com/w320/eg.png",description:"阿拉伯埃及共和国,简称埃及,是位于非洲东北部的共和制国家,首都开罗。"},{code:"GQ",name:"赤道几内亚",nameEn:"Equatorial Guinea",capital:"马拉博",capitalEn:"Malabo",region:"africa",continent:"非洲",population:1402985,area:28051,currency:"中非法郎",currencyCode:"XAF",language:"西班牙语",flag:"https://flagcdn.com/w320/gq.png",description:"赤道几内亚共和国,简称赤道几内亚,是位于非洲中西部的国家,首都马拉博。"},{code:"ER",name:"厄立特里亚",nameEn:"Eritrea",capital:"阿斯马拉",capitalEn:"Asmara",region:"africa",continent:"非洲",population:3546421,area:117600,currency:"纳克法",currencyCode:"ERN",language:"提格雷尼亚语",flag:"https://flagcdn.com/w320/er.png",description:"厄立特里亚国,简称厄立特里亚,是位于非洲东北部的国家,首都阿斯马拉。"},{code:"SZ",name:"斯威士兰",nameEn:"Eswatini",capital:"姆巴巴纳",capitalEn:"Mbabane",region:"africa",continent:"非洲",population:1160164,area:17364,currency:"里兰吉尼",currencyCode:"SZL",language:"英语",flag:"https://flagcdn.com/w320/sz.png",description:"斯威士兰王国,简称斯威士兰,是位于非洲南部的内陆国家,首都姆巴巴纳。"},{code:"ET",name:"埃塞俄比亚",nameEn:"Ethiopia",capital:"亚的斯亚贝巴",capitalEn:"Addis Ababa",region:"africa",continent:"非洲",population:114963588,area:1104300,currency:"比尔",currencyCode:"ETB",language:"阿姆哈拉语",flag:"https://flagcdn.com/w320/et.png",description:"埃塞俄比亚联邦民主共和国,简称埃塞俄比亚,是位于非洲东部的内陆国家,首都亚的斯亚贝巴。"},{code:"GA",name:"加蓬",nameEn:"Gabon",capital:"利伯维尔",capitalEn:"Libreville",region:"africa",continent:"非洲",population:2225734,area:267668,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/ga.png",description:"加蓬共和国,简称加蓬,是位于非洲中西部的国家,首都利伯维尔。"},{code:"GM",name:"冈比亚",nameEn:"Gambia",capital:"班珠尔",capitalEn:"Banjul",region:"africa",continent:"非洲",population:2416668,area:11295,currency:"达拉西",currencyCode:"GMD",language:"英语",flag:"https://flagcdn.com/w320/gm.png",description:"冈比亚共和国,简称冈比亚,是位于非洲西部的国家,首都班珠尔。"},{code:"GH",name:"加纳",nameEn:"Ghana",capital:"阿克拉",capitalEn:"Accra",region:"africa",continent:"非洲",population:31072940,area:238533,currency:"塞地",currencyCode:"GHS",language:"英语",flag:"https://flagcdn.com/w320/gh.png",description:"加纳共和国,简称加纳,是位于非洲西部的国家,首都阿克拉。"},{code:"GN",name:"几内亚",nameEn:"Guinea",capital:"科纳克里",capitalEn:"Conakry",region:"africa",continent:"非洲",population:13132795,area:245857,currency:"几内亚法郎",currencyCode:"GNF",language:"法语",flag:"https://flagcdn.com/w320/gn.png",description:"几内亚共和国,简称几内亚,是位于非洲西部的国家,首都科纳克里。"},{code:"GW",name:"几内亚比绍",nameEn:"Guinea-Bissau",capital:"比绍",capitalEn:"Bissau",region:"africa",continent:"非洲",population:1968001,area:36125,currency:"西非法郎",currencyCode:"XOF",language:"葡萄牙语",flag:"https://flagcdn.com/w320/gw.png",description:"几内亚比绍共和国,简称几内亚比绍,是位于非洲西部的国家,首都比绍。"},{code:"KE",name:"肯尼亚",nameEn:"Kenya",capital:"内罗毕",capitalEn:"Nairobi",region:"africa",continent:"非洲",population:53771296,area:580367,currency:"肯尼亚先令",currencyCode:"KES",language:"英语",flag:"https://flagcdn.com/w320/ke.png",description:"肯尼亚共和国,简称肯尼亚,是位于非洲东部的国家,首都内罗毕。"},{code:"LS",name:"莱索托",nameEn:"Lesotho",capital:"马塞卢",capitalEn:"Maseru",region:"africa",continent:"非洲",population:2142249,area:30355,currency:"洛蒂",currencyCode:"LSL",language:"英语",flag:"https://flagcdn.com/w320/ls.png",description:"莱索托王国,简称莱索托,是位于非洲南部的内陆国家,首都马塞卢。"},{code:"LR",name:"利比里亚",nameEn:"Liberia",capital:"蒙罗维亚",capitalEn:"Monrovia",region:"africa",continent:"非洲",population:5057681,area:111369,currency:"利比里亚元",currencyCode:"LRD",language:"英语",flag:"https://flagcdn.com/w320/lr.png",description:"利比里亚共和国,简称利比里亚,是位于非洲西部的国家,首都蒙罗维亚。"},{code:"LY",name:"利比亚",nameEn:"Libya",capital:"的黎波里",capitalEn:"Tripoli",region:"africa",continent:"非洲",population:6871292,area:1759540,currency:"第纳尔",currencyCode:"LYD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ly.png",description:"利比亚国,简称利比亚,是位于非洲北部的国家,首都的黎波里。"},{code:"MG",name:"马达加斯加",nameEn:"Madagascar",capital:"塔那那利佛",capitalEn:"Antananarivo",region:"africa",continent:"非洲",population:27691018,area:587041,currency:"阿里亚里",currencyCode:"MGA",language:"马达加斯加语",flag:"https://flagcdn.com/w320/mg.png",description:"马达加斯加共和国,简称马达加斯加,是位于印度洋的岛国,首都塔那那利佛。"},{code:"MW",name:"马拉维",nameEn:"Malawi",capital:"利隆圭",capitalEn:"Lilongwe",region:"africa",continent:"非洲",population:19129952,area:118484,currency:"克瓦查",currencyCode:"MWK",language:"英语",flag:"https://flagcdn.com/w320/mw.png",description:"马拉维共和国,简称马拉维,是位于非洲东南部的内陆国家,首都利隆圭。"},{code:"ML",name:"马里",nameEn:"Mali",capital:"巴马科",capitalEn:"Bamako",region:"africa",continent:"非洲",population:20250833,area:1240192,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/ml.png",description:"马里共和国,简称马里,是位于非洲西部的内陆国家,首都巴马科。"},{code:"MR",name:"毛里塔尼亚",nameEn:"Mauritania",capital:"努瓦克肖特",capitalEn:"Nouakchott",region:"africa",continent:"非洲",population:4649658,area:1030700,currency:"乌吉亚",currencyCode:"MRU",language:"阿拉伯语",flag:"https://flagcdn.com/w320/mr.png",description:"毛里塔尼亚伊斯兰共和国,简称毛里塔尼亚,是位于非洲西北部的国家,首都努瓦克肖特。"},{code:"MU",name:"毛里求斯",nameEn:"Mauritius",capital:"路易港",capitalEn:"Port Louis",region:"africa",continent:"非洲",population:1271768,area:2040,currency:"毛里求斯卢比",currencyCode:"MUR",language:"英语",flag:"https://flagcdn.com/w320/mu.png",description:"毛里求斯共和国,简称毛里求斯,是位于印度洋的岛国,首都路易港。"},{code:"MA",name:"摩洛哥",nameEn:"Morocco",capital:"拉巴特",capitalEn:"Rabat",region:"africa",continent:"非洲",population:36910560,area:446550,currency:"迪拉姆",currencyCode:"MAD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ma.png",description:"摩洛哥王国,简称摩洛哥,是位于非洲西北部的国家,首都拉巴特。"},{code:"MZ",name:"莫桑比克",nameEn:"Mozambique",capital:"马普托",capitalEn:"Maputo",region:"africa",continent:"非洲",population:31255435,area:801590,currency:"梅蒂卡尔",currencyCode:"MZN",language:"葡萄牙语",flag:"https://flagcdn.com/w320/mz.png",description:"莫桑比克共和国,简称莫桑比克,是位于非洲东南部的国家,首都马普托。"},{code:"NA",name:"纳米比亚",nameEn:"Namibia",capital:"温得和克",capitalEn:"Windhoek",region:"africa",continent:"非洲",population:2540905,area:824292,currency:"纳米比亚元",currencyCode:"NAD",language:"英语",flag:"https://flagcdn.com/w320/na.png",description:"纳米比亚共和国,简称纳米比亚,是位于非洲西南部的国家,首都温得和克。"},{code:"NE",name:"尼日尔",nameEn:"Niger",capital:"尼亚美",capitalEn:"Niamey",region:"africa",continent:"非洲",population:24206644,area:1267e3,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/ne.png",description:"尼日尔共和国,简称尼日尔,是位于非洲西部的内陆国家,首都尼亚美。"},{code:"NG",name:"尼日利亚",nameEn:"Nigeria",capital:"阿布贾",capitalEn:"Abuja",region:"africa",continent:"非洲",population:206139589,area:923768,currency:"奈拉",currencyCode:"NGN",language:"英语",flag:"https://flagcdn.com/w320/ng.png",description:"尼日利亚联邦共和国,简称尼日利亚,是位于非洲西部的国家,首都阿布贾。"},{code:"RW",name:"卢旺达",nameEn:"Rwanda",capital:"基加利",capitalEn:"Kigali",region:"africa",continent:"非洲",population:12952218,area:26338,currency:"卢旺达法郎",currencyCode:"RWF",language:"卢旺达语",flag:"https://flagcdn.com/w320/rw.png",description:"卢旺达共和国,简称卢旺达,是位于非洲中东部的内陆国家,首都基加利。"},{code:"ST",name:"圣多美和普林西比",nameEn:"Sao Tome and Principe",capital:"圣多美",capitalEn:"Sao Tome",region:"africa",continent:"非洲",population:219159,area:964,currency:"多布拉",currencyCode:"STN",language:"葡萄牙语",flag:"https://flagcdn.com/w320/st.png",description:"圣多美和普林西比民主共和国,简称圣多美和普林西比,是位于几内亚湾的岛国,首都圣多美。"},{code:"SN",name:"塞内加尔",nameEn:"Senegal",capital:"达喀尔",capitalEn:"Dakar",region:"africa",continent:"非洲",population:16743927,area:196722,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/sn.png",description:"塞内加尔共和国,简称塞内加尔,是位于非洲西部的国家,首都达喀尔。"},{code:"SC",name:"塞舌尔",nameEn:"Seychelles",capital:"维多利亚",capitalEn:"Victoria",region:"africa",continent:"非洲",population:98347,area:455,currency:"塞舌尔卢比",currencyCode:"SCR",language:"英语",flag:"https://flagcdn.com/w320/sc.png",description:"塞舌尔共和国,简称塞舌尔,是位于印度洋的岛国,首都维多利亚。"},{code:"SL",name:"塞拉利昂",nameEn:"Sierra Leone",capital:"弗里敦",capitalEn:"Freetown",region:"africa",continent:"非洲",population:7976983,area:71740,currency:"利昂",currencyCode:"SLL",language:"英语",flag:"https://flagcdn.com/w320/sl.png",description:"塞拉利昂共和国,简称塞拉利昂,是位于非洲西部的国家,首都弗里敦。"},{code:"SO",name:"索马里",nameEn:"Somalia",capital:"摩加迪沙",capitalEn:"Mogadishu",region:"africa",continent:"非洲",population:15893222,area:637657,currency:"索马里先令",currencyCode:"SOS",language:"索马里语",flag:"https://flagcdn.com/w320/so.png",description:"索马里联邦共和国,简称索马里,是位于非洲东部的国家,首都摩加迪沙。"},{code:"ZA",name:"南非",nameEn:"South Africa",capital:"开普敦",capitalEn:"Cape Town",region:"africa",continent:"非洲",population:59308690,area:1221037,currency:"兰特",currencyCode:"ZAR",language:"英语",flag:"https://flagcdn.com/w320/za.png",description:"南非共和国,简称南非,是位于非洲南部的共和制国家,首都开普敦。"},{code:"SS",name:"南苏丹",nameEn:"South Sudan",capital:"朱巴",capitalEn:"Juba",region:"africa",continent:"非洲",population:11193725,area:644329,currency:"南苏丹镑",currencyCode:"SSP",language:"英语",flag:"https://flagcdn.com/w320/ss.png",description:"南苏丹共和国,简称南苏丹,是位于非洲东北部的内陆国家,首都朱巴。"},{code:"SD",name:"苏丹",nameEn:"Sudan",capital:"喀土穆",capitalEn:"Khartoum",region:"africa",continent:"非洲",population:43849260,area:1861484,currency:"苏丹镑",currencyCode:"SDG",language:"阿拉伯语",flag:"https://flagcdn.com/w320/sd.png",description:"苏丹共和国,简称苏丹,是位于非洲东北部的国家,首都喀土穆。"},{code:"TZ",name:"坦桑尼亚",nameEn:"Tanzania",capital:"多多马",capitalEn:"Dodoma",region:"africa",continent:"非洲",population:59734218,area:947303,currency:"坦桑尼亚先令",currencyCode:"TZS",language:"斯瓦希里语",flag:"https://flagcdn.com/w320/tz.png",description:"坦桑尼亚联合共和国,简称坦桑尼亚,是位于非洲东部的国家,首都多多马。"},{code:"TG",name:"多哥",nameEn:"Togo",capital:"洛美",capitalEn:"Lome",region:"africa",continent:"非洲",population:8278724,area:56785,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/tg.png",description:"多哥共和国,简称多哥,是位于非洲西部的国家,首都洛美。"},{code:"TN",name:"突尼斯",nameEn:"Tunisia",capital:"突尼斯市",capitalEn:"Tunis",region:"africa",continent:"非洲",population:11818619,area:163610,currency:"第纳尔",currencyCode:"TND",language:"阿拉伯语",flag:"https://flagcdn.com/w320/tn.png",description:"突尼斯共和国,简称突尼斯,是位于非洲北部的国家,首都突尼斯市。"},{code:"UG",name:"乌干达",nameEn:"Uganda",capital:"坎帕拉",capitalEn:"Kampala",region:"africa",continent:"非洲",population:45741007,area:241038,currency:"乌干达先令",currencyCode:"UGX",language:"英语",flag:"https://flagcdn.com/w320/ug.png",description:"乌干达共和国,简称乌干达,是位于非洲东部的内陆国家,首都坎帕拉。"},{code:"ZM",name:"赞比亚",nameEn:"Zambia",capital:"卢萨卡",capitalEn:"Lusaka",region:"africa",continent:"非洲",population:18383955,area:752618,currency:"克瓦查",currencyCode:"ZMW",language:"英语",flag:"https://flagcdn.com/w320/zm.png",description:"赞比亚共和国,简称赞比亚,是位于非洲南部的内陆国家,首都卢萨卡。"},{code:"ZW",name:"津巴布韦",nameEn:"Zimbabwe",capital:"哈拉雷",capitalEn:"Harare",region:"africa",continent:"非洲",population:14862924,area:390757,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/zw.png",description:"津巴布韦共和国,简称津巴布韦,是位于非洲南部的内陆国家,首都哈拉雷。"},{code:"US",name:"美国",nameEn:"United States",capital:"华盛顿",capitalEn:"Washington D.C.",region:"north-america",continent:"北美洲",population:331002651,area:9833517,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/us.png",description:"美利坚合众国,简称美国,是位于北美洲的联邦共和制国家,首都华盛顿哥伦比亚特区。"},{code:"CA",name:"加拿大",nameEn:"Canada",capital:"渥太华",capitalEn:"Ottawa",region:"north-america",continent:"北美洲",population:37742154,area:9984670,currency:"加元",currencyCode:"CAD",language:"英语",flag:"https://flagcdn.com/w320/ca.png",description:"加拿大,是位于北美洲北部的联邦制国家,首都渥太华。"},{code:"MX",name:"墨西哥",nameEn:"Mexico",capital:"墨西哥城",capitalEn:"Mexico City",region:"north-america",continent:"北美洲",population:128932753,area:1964375,currency:"比索",currencyCode:"MXN",language:"西班牙语",flag:"https://flagcdn.com/w320/mx.png",description:"墨西哥合众国,简称墨西哥,是位于北美洲南部的联邦制国家,首都墨西哥城。"},{code:"AG",name:"安提瓜和巴布达",nameEn:"Antigua and Barbuda",capital:"圣约翰",capitalEn:"Saint John's",region:"north-america",continent:"北美洲",population:97929,area:442,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/ag.png",description:"安提瓜和巴布达,是位于加勒比海的岛国,首都圣约翰。"},{code:"BS",name:"巴哈马",nameEn:"Bahamas",capital:"拿骚",capitalEn:"Nassau",region:"north-america",continent:"北美洲",population:393244,area:13943,currency:"巴哈马元",currencyCode:"BSD",language:"英语",flag:"https://flagcdn.com/w320/bs.png",description:"巴哈马联邦,简称巴哈马,是位于大西洋的岛国,首都拿骚。"},{code:"BB",name:"巴巴多斯",nameEn:"Barbados",capital:"布里奇敦",capitalEn:"Bridgetown",region:"north-america",continent:"北美洲",population:287375,area:430,currency:"巴巴多斯元",currencyCode:"BBD",language:"英语",flag:"https://flagcdn.com/w320/bb.png",description:"巴巴多斯,是位于加勒比海的岛国,首都布里奇敦。"},{code:"BZ",name:"伯利兹",nameEn:"Belize",capital:"贝尔莫潘",capitalEn:"Belmopan",region:"north-america",continent:"北美洲",population:397628,area:22966,currency:"伯利兹元",currencyCode:"BZD",language:"英语",flag:"https://flagcdn.com/w320/bz.png",description:"伯利兹,是位于中美洲的国家,首都贝尔莫潘。"},{code:"CR",name:"哥斯达黎加",nameEn:"Costa Rica",capital:"圣何塞",capitalEn:"San Jose",region:"north-america",continent:"北美洲",population:5094118,area:51100,currency:"科朗",currencyCode:"CRC",language:"西班牙语",flag:"https://flagcdn.com/w320/cr.png",description:"哥斯达黎加共和国,简称哥斯达黎加,是位于中美洲的国家,首都圣何塞。"},{code:"CU",name:"古巴",nameEn:"Cuba",capital:"哈瓦那",capitalEn:"Havana",region:"north-america",continent:"北美洲",population:11326616,area:109884,currency:"比索",currencyCode:"CUP",language:"西班牙语",flag:"https://flagcdn.com/w320/cu.png",description:"古巴共和国,简称古巴,是位于加勒比海的岛国,首都哈瓦那。"},{code:"DM",name:"多米尼克",nameEn:"Dominica",capital:"罗索",capitalEn:"Roseau",region:"north-america",continent:"北美洲",population:71986,area:751,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/dm.png",description:"多米尼克联邦,简称多米尼克,是位于加勒比海的岛国,首都罗索。"},{code:"DO",name:"多米尼加",nameEn:"Dominican Republic",capital:"圣多明各",capitalEn:"Santo Domingo",region:"north-america",continent:"北美洲",population:10847910,area:48671,currency:"比索",currencyCode:"DOP",language:"西班牙语",flag:"https://flagcdn.com/w320/do.png",description:"多米尼加共和国,简称多米尼加,是位于加勒比海的国家,首都圣多明各。"},{code:"SV",name:"萨尔瓦多",nameEn:"El Salvador",capital:"圣萨尔瓦多",capitalEn:"San Salvador",region:"north-america",continent:"北美洲",population:6486205,area:21041,currency:"美元",currencyCode:"USD",language:"西班牙语",flag:"https://flagcdn.com/w320/sv.png",description:"萨尔瓦多共和国,简称萨尔瓦多,是位于中美洲的国家,首都圣萨尔瓦多。"},{code:"GD",name:"格林纳达",nameEn:"Grenada",capital:"圣乔治",capitalEn:"Saint George's",region:"north-america",continent:"北美洲",population:112523,area:344,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/gd.png",description:"格林纳达,是位于加勒比海的岛国,首都圣乔治。"},{code:"GT",name:"危地马拉",nameEn:"Guatemala",capital:"危地马拉城",capitalEn:"Guatemala City",region:"north-america",continent:"北美洲",population:17915568,area:108889,currency:"格查尔",currencyCode:"GTQ",language:"西班牙语",flag:"https://flagcdn.com/w320/gt.png",description:"危地马拉共和国,简称危地马拉,是位于中美洲的国家,首都危地马拉城。"},{code:"HT",name:"海地",nameEn:"Haiti",capital:"太子港",capitalEn:"Port-au-Prince",region:"north-america",continent:"北美洲",population:11402528,area:27750,currency:"古德",currencyCode:"HTG",language:"法语",flag:"https://flagcdn.com/w320/ht.png",description:"海地共和国,简称海地,是位于加勒比海的国家,首都太子港。"},{code:"HN",name:"洪都拉斯",nameEn:"Honduras",capital:"特古西加尔巴",capitalEn:"Tegucigalpa",region:"north-america",continent:"北美洲",population:9904607,area:112492,currency:"伦皮拉",currencyCode:"HNL",language:"西班牙语",flag:"https://flagcdn.com/w320/hn.png",description:"洪都拉斯共和国,简称洪都拉斯,是位于中美洲的国家,首都特古西加尔巴。"},{code:"JM",name:"牙买加",nameEn:"Jamaica",capital:"金斯敦",capitalEn:"Kingston",region:"north-america",continent:"北美洲",population:2961167,area:10991,currency:"牙买加元",currencyCode:"JMD",language:"英语",flag:"https://flagcdn.com/w320/jm.png",description:"牙买加,是位于加勒比海的岛国,首都金斯敦。"},{code:"NI",name:"尼加拉瓜",nameEn:"Nicaragua",capital:"马那瓜",capitalEn:"Managua",region:"north-america",continent:"北美洲",population:6624554,area:130373,currency:"科多巴",currencyCode:"NIO",language:"西班牙语",flag:"https://flagcdn.com/w320/ni.png",description:"尼加拉瓜共和国,简称尼加拉瓜,是位于中美洲的国家,首都马那瓜。"},{code:"PA",name:"巴拿马",nameEn:"Panama",capital:"巴拿马城",capitalEn:"Panama City",region:"north-america",continent:"北美洲",population:4314767,area:75417,currency:"巴波亚",currencyCode:"PAB",language:"西班牙语",flag:"https://flagcdn.com/w320/pa.png",description:"巴拿马共和国,简称巴拿马,是位于中美洲的国家,首都巴拿马城。"},{code:"KN",name:"圣基茨和尼维斯",nameEn:"Saint Kitts and Nevis",capital:"巴斯特尔",capitalEn:"Basseterre",region:"north-america",continent:"北美洲",population:53199,area:261,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/kn.png",description:"圣基茨和尼维斯联邦,简称圣基茨和尼维斯,是位于加勒比海的岛国,首都巴斯特尔。"},{code:"LC",name:"圣卢西亚",nameEn:"Saint Lucia",capital:"卡斯特里",capitalEn:"Castries",region:"north-america",continent:"北美洲",population:183627,area:616,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/lc.png",description:"圣卢西亚,是位于加勒比海的岛国,首都卡斯特里。"},{code:"VC",name:"圣文森特和格林纳丁斯",nameEn:"Saint Vincent and the Grenadines",capital:"金斯敦",capitalEn:"Kingstown",region:"north-america",continent:"北美洲",population:110940,area:389,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/vc.png",description:"圣文森特和格林纳丁斯,是位于加勒比海的岛国,首都金斯敦。"},{code:"TT",name:"特立尼达和多巴哥",nameEn:"Trinidad and Tobago",capital:"西班牙港",capitalEn:"Port of Spain",region:"north-america",continent:"北美洲",population:1399488,area:5128,currency:"特立尼达和多巴哥元",currencyCode:"TTD",language:"英语",flag:"https://flagcdn.com/w320/tt.png",description:"特立尼达和多巴哥共和国,简称特立尼达和多巴哥,是位于加勒比海的岛国,首都西班牙港。"},{code:"BR",name:"巴西",nameEn:"Brazil",capital:"巴西利亚",capitalEn:"Brasília",region:"south-america",continent:"南美洲",population:212559417,area:8514877,currency:"雷亚尔",currencyCode:"BRL",language:"葡萄牙语",flag:"https://flagcdn.com/w320/br.png",description:"巴西联邦共和国,简称巴西,是位于南美洲的联邦制国家,首都巴西利亚。"},{code:"AR",name:"阿根廷",nameEn:"Argentina",capital:"布宜诺斯艾利斯",capitalEn:"Buenos Aires",region:"south-america",continent:"南美洲",population:45195774,area:2780400,currency:"比索",currencyCode:"ARS",language:"西班牙语",flag:"https://flagcdn.com/w320/ar.png",description:"阿根廷共和国,简称阿根廷,是位于南美洲南部的联邦制国家,首都布宜诺斯艾利斯。"},{code:"BO",name:"玻利维亚",nameEn:"Bolivia",capital:"苏克雷",capitalEn:"Sucre",region:"south-america",continent:"南美洲",population:11673021,area:1098581,currency:"玻利维亚诺",currencyCode:"BOB",language:"西班牙语",flag:"https://flagcdn.com/w320/bo.png",description:"玻利维亚多民族国,简称玻利维亚,是位于南美洲中部的内陆国家,首都苏克雷。"},{code:"CL",name:"智利",nameEn:"Chile",capital:"圣地亚哥",capitalEn:"Santiago",region:"south-america",continent:"南美洲",population:19116201,area:756096,currency:"比索",currencyCode:"CLP",language:"西班牙语",flag:"https://flagcdn.com/w320/cl.png",description:"智利共和国,简称智利,是位于南美洲西部的国家,首都圣地亚哥。"},{code:"CO",name:"哥伦比亚",nameEn:"Colombia",capital:"波哥大",capitalEn:"Bogota",region:"south-america",continent:"南美洲",population:50882891,area:1141748,currency:"比索",currencyCode:"COP",language:"西班牙语",flag:"https://flagcdn.com/w320/co.png",description:"哥伦比亚共和国,简称哥伦比亚,是位于南美洲西北部的国家,首都波哥大。"},{code:"EC",name:"厄瓜多尔",nameEn:"Ecuador",capital:"基多",capitalEn:"Quito",region:"south-america",continent:"南美洲",population:17643054,area:283561,currency:"美元",currencyCode:"USD",language:"西班牙语",flag:"https://flagcdn.com/w320/ec.png",description:"厄瓜多尔共和国,简称厄瓜多尔,是位于南美洲西北部的国家,首都基多。"},{code:"GY",name:"圭亚那",nameEn:"Guyana",capital:"乔治敦",capitalEn:"Georgetown",region:"south-america",continent:"南美洲",population:786552,area:214969,currency:"圭亚那元",currencyCode:"GYD",language:"英语",flag:"https://flagcdn.com/w320/gy.png",description:"圭亚那合作共和国,简称圭亚那,是位于南美洲北部的国家,首都乔治敦。"},{code:"PY",name:"巴拉圭",nameEn:"Paraguay",capital:"亚松森",capitalEn:"Asuncion",region:"south-america",continent:"南美洲",population:7132538,area:406752,currency:"瓜拉尼",currencyCode:"PYG",language:"西班牙语",flag:"https://flagcdn.com/w320/py.png",description:"巴拉圭共和国,简称巴拉圭,是位于南美洲中部的内陆国家,首都亚松森。"},{code:"PE",name:"秘鲁",nameEn:"Peru",capital:"利马",capitalEn:"Lima",region:"south-america",continent:"南美洲",population:32971854,area:1285216,currency:"索尔",currencyCode:"PEN",language:"西班牙语",flag:"https://flagcdn.com/w320/pe.png",description:"秘鲁共和国,简称秘鲁,是位于南美洲西部的国家,首都利马。"},{code:"SR",name:"苏里南",nameEn:"Suriname",capital:"帕拉马里博",capitalEn:"Paramaribo",region:"south-america",continent:"南美洲",population:586632,area:163820,currency:"苏里南元",currencyCode:"SRD",language:"荷兰语",flag:"https://flagcdn.com/w320/sr.png",description:"苏里南共和国,简称苏里南,是位于南美洲北部的国家,首都帕拉马里博。"},{code:"UY",name:"乌拉圭",nameEn:"Uruguay",capital:"蒙得维的亚",capitalEn:"Montevideo",region:"south-america",continent:"南美洲",population:3473730,area:176215,currency:"比索",currencyCode:"UYU",language:"西班牙语",flag:"https://flagcdn.com/w320/uy.png",description:"乌拉圭东岸共和国,简称乌拉圭,是位于南美洲东南部的国家,首都蒙得维的亚。"},{code:"VE",name:"委内瑞拉",nameEn:"Venezuela",capital:"加拉加斯",capitalEn:"Caracas",region:"south-america",continent:"南美洲",population:28435940,area:912050,currency:"玻利瓦尔",currencyCode:"VES",language:"西班牙语",flag:"https://flagcdn.com/w320/ve.png",description:"委内瑞拉玻利瓦尔共和国,简称委内瑞拉,是位于南美洲北部的国家,首都加拉加斯。"},{code:"AU",name:"澳大利亚",nameEn:"Australia",capital:"堪培拉",capitalEn:"Canberra",region:"oceania",continent:"大洋洲",population:25499884,area:7692024,currency:"澳元",currencyCode:"AUD",language:"英语",flag:"https://flagcdn.com/w320/au.png",description:"澳大利亚联邦,简称澳大利亚,是位于大洋洲的联邦制国家,首都堪培拉。"},{code:"NZ",name:"新西兰",nameEn:"New Zealand",capital:"惠灵顿",capitalEn:"Wellington",region:"oceania",continent:"大洋洲",population:4822233,area:268838,currency:"新西兰元",currencyCode:"NZD",language:"英语",flag:"https://flagcdn.com/w320/nz.png",description:"新西兰,是位于大洋洲的岛国,首都惠灵顿。"},{code:"FJ",name:"斐济",nameEn:"Fiji",capital:"苏瓦",capitalEn:"Suva",region:"oceania",continent:"大洋洲",population:896445,area:18274,currency:"斐济元",currencyCode:"FJD",language:"英语",flag:"https://flagcdn.com/w320/fj.png",description:"斐济共和国,简称斐济,是位于南太平洋的岛国,首都苏瓦。"},{code:"KI",name:"基里巴斯",nameEn:"Kiribati",capital:"塔拉瓦",capitalEn:"Tarawa",region:"oceania",continent:"大洋洲",population:119449,area:811,currency:"澳元",currencyCode:"AUD",language:"英语",flag:"https://flagcdn.com/w320/ki.png",description:"基里巴斯共和国,简称基里巴斯,是位于太平洋的岛国,首都塔拉瓦。"},{code:"MH",name:"马绍尔群岛",nameEn:"Marshall Islands",capital:"马朱罗",capitalEn:"Majuro",region:"oceania",continent:"大洋洲",population:59190,area:181,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/mh.png",description:"马绍尔群岛共和国,简称马绍尔群岛,是位于太平洋的岛国,首都马朱罗。"},{code:"FM",name:"密克罗尼西亚",nameEn:"Micronesia",capital:"帕利基尔",capitalEn:"Palikir",region:"oceania",continent:"大洋洲",population:115023,area:702,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/fm.png",description:"密克罗尼西亚联邦,简称密克罗尼西亚,是位于太平洋的岛国,首都帕利基尔。"},{code:"NR",name:"瑙鲁",nameEn:"Nauru",capital:"亚伦",capitalEn:"Yaren",region:"oceania",continent:"大洋洲",population:10824,area:21,currency:"澳元",currencyCode:"AUD",language:"英语",flag:"https://flagcdn.com/w320/nr.png",description:"瑙鲁共和国,简称瑙鲁,是位于太平洋的岛国,首都亚伦。"},{code:"PW",name:"帕劳",nameEn:"Palau",capital:"恩吉鲁穆德",capitalEn:"Ngerulmud",region:"oceania",continent:"大洋洲",population:18094,area:459,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/pw.png",description:"帕劳共和国,简称帕劳,是位于太平洋的岛国,首都恩吉鲁穆德。"},{code:"PG",name:"巴布亚新几内亚",nameEn:"Papua New Guinea",capital:"莫尔兹比港",capitalEn:"Port Moresby",region:"oceania",continent:"大洋洲",population:8947024,area:462840,currency:"基那",currencyCode:"PGK",language:"英语",flag:"https://flagcdn.com/w320/pg.png",description:"巴布亚新几内亚独立国,简称巴布亚新几内亚,是位于太平洋的岛国,首都莫尔兹比港。"},{code:"WS",name:"萨摩亚",nameEn:"Samoa",capital:"阿皮亚",capitalEn:"Apia",region:"oceania",continent:"大洋洲",population:198414,area:2831,currency:"塔拉",currencyCode:"WST",language:"英语",flag:"https://flagcdn.com/w320/ws.png",description:"萨摩亚独立国,简称萨摩亚,是位于太平洋的岛国,首都阿皮亚。"},{code:"SB",name:"所罗门群岛",nameEn:"Solomon Islands",capital:"霍尼亚拉",capitalEn:"Honiara",region:"oceania",continent:"大洋洲",population:686884,area:28896,currency:"所罗门群岛元",currencyCode:"SBD",language:"英语",flag:"https://flagcdn.com/w320/sb.png",description:"所罗门群岛,是位于太平洋的岛国,首都霍尼亚拉。"},{code:"TO",name:"汤加",nameEn:"Tonga",capital:"努库阿洛法",capitalEn:"Nuku'alofa",region:"oceania",continent:"大洋洲",population:105695,area:747,currency:"潘加",currencyCode:"TOP",language:"英语",flag:"https://flagcdn.com/w320/to.png",description:"汤加王国,简称汤加,是位于太平洋的岛国,首都努库阿洛法。"},{code:"TV",name:"图瓦卢",nameEn:"Tuvalu",capital:"富纳富提",capitalEn:"Funafuti",region:"oceania",continent:"大洋洲",population:11792,area:26,currency:"澳元",currencyCode:"AUD",language:"英语",flag:"https://flagcdn.com/w320/tv.png",description:"图瓦卢,是位于太平洋的岛国,首都富纳富提。"},{code:"VU",name:"瓦努阿图",nameEn:"Vanuatu",capital:"维拉港",capitalEn:"Port Vila",region:"oceania",continent:"大洋洲",population:307145,area:12189,currency:"瓦图",currencyCode:"VUV",language:"英语",flag:"https://flagcdn.com/w320/vu.png",description:"瓦努阿图共和国,简称瓦努阿图,是位于太平洋的岛国,首都维拉港。"}]),y=["US","CA","GB","FR","DE","IT","ES","NL","BE","CH","AT","SE","NO","DK","FI","IS","IE","LU","PT","GR","CY","MT","JP","KR","AU","NZ","SG","IL","CZ","SK","SI","EE","LV","LT","PL","HU"],v=is(()=>{let e=g.value;if("all"!==i.value&&(e=e.filter(e=>e.region===i.value)),s.value.trim()){const t=s.value.toLowerCase().trim();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.nameEn.toLowerCase().includes(t)||e.capital.toLowerCase().includes(t)||e.capitalEn.toLowerCase().includes(t))}return"all"!==o.value&&(e=e.filter(e=>{const t=e.population;switch(o.value){case"large":return t>1e8;case"medium":return t>=1e7&&t<=1e8;case"small":return t<1e7;default:return!0}})),"all"!==l.value&&(e=e.filter(e=>{const t=e.area;switch(l.value){case"huge":return t>5e6;case"large":return t>=1e6&&t<=5e6;case"medium":return t>=1e5&&t<1e6;case"small":return t<1e5;default:return!0}})),"all"!==c.value&&(e=e.filter(e=>{const t=y.includes(e.code);return"developed"===c.value?t:!t})),"name"!==u.value?e.sort((e,t)=>{let a,n;switch(u.value){case"population":a=e.population,n=t.population;break;case"area":a=e.area,n=t.area;break;default:a=e.name,n=t.name}if("number"==typeof a&&"number"==typeof n)return"desc"===d.value?n-a:a-n;{const e=String(a),t=String(n);return"desc"===d.value?t.localeCompare(e):e.localeCompare(t)}}):e.sort((e,t)=>"desc"===d.value?t.name.localeCompare(e.name):e.name.localeCompare(t.name)),e}),b=is(()=>Math.ceil(v.value.length/20)),w=is(()=>{const e=20*(h.value-1),t=e+20;return v.value.slice(e,t)}),x=e=>{const t=m.value.find(t=>t.key===e);return t?t.name:e},k=e=>"all"===e?g.value.length:g.value.filter(t=>t.region===e).length,_=e=>e>=1e8?`${(e/1e8).toFixed(1)}亿`:e>=1e4?`${(e/1e4).toFixed(1)}万`:e.toLocaleString(),E=e=>`${e.toLocaleString()} km²`,C=e=>{e.target.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCA0MCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjMwIiBmaWxsPSIjRjNGNEY2Ii8+CjxwYXRoIGQ9Ik0xNiAxMkwyNCAxOE0yNCAxMkwxNiAxOCIgc3Ryb2tlPSIjOUI5QkEwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"},F=()=>{d.value="asc"===d.value?"desc":"asc"};return nn(async()=>{try{n("195个国家首都数据加载完成")}catch(e){r("数据加载失败,请刷新重试")}}),pa([s,i,o,l,c,u,d],(e,t)=>{if(h.value=1,!t)return;const a=[];if("all"!==i.value){const e=m.value.find(e=>e.key===i.value)?.name;a.push(e)}if("all"!==o.value){const e="large"===o.value?"大国(>1亿人口)":"medium"===o.value?"中等国家(1000万-1亿人口)":"小国(<1000万人口)";a.push(e)}if("all"!==l.value){const e="huge"===l.value?"超大国家(>500万km²)":"large"===l.value?"大国(100万-500万km²)":"medium"===l.value?"中等国家(10万-100万km²)":"小国(<10万km²)";a.push(e)}if("all"!==c.value){const e="developed"===c.value?"发达国家":"发展中国家";a.push(e)}const r="name"===u.value?"名称":"population"===u.value?"人口":"面积",s="asc"===d.value?"升序":"降序";a.length>0?n(`筛选条件: ${a.join(" + ")},按${r}${s}排序`):n(`显示全部国家,按${r}${s}排序`)}),(e,t)=>(Cr(),Tr("div",Hae,[Or(hl,{title:Pt(a),onBack:t[0]||(t[0]=t=>e.$emit("back"))},null,8,["title"]),Mr("div",Yae,[Mr("div",$ae,[Or(FX,{"search-query":s.value,"onUpdate:searchQuery":t[1]||(t[1]=e=>s.value=e),"active-filter":i.value,"onUpdate:activeFilter":t[2]||(t[2]=e=>i.value=e),placeholder:"搜索国家或首都...",filters:m.value},null,8,["search-query","active-filter","filters"]),Mr("div",Gae,[Mr("div",Wae,[Mr("div",Vae,[Mr("h3",null,se("all"===i.value?s.value?"搜索结果":"世界各国":x(i.value)),1),Mr("div",Kae,[Mr("span",Jae,"共 "+se(v.value.length)+" 个国家",1)])]),Mr("div",qae,[Mr("div",Zae,[t[11]||(t[11]=Mr("label",{class:"filter-label"},"人口",-1)),ca(Mr("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>o.value=e),class:"filter-select"},[...t[10]||(t[10]=[Mr("option",{value:"all"},"全部",-1),Mr("option",{value:"large"},"大国 (>1亿)",-1),Mr("option",{value:"medium"},"中等 (1000万-1亿)",-1),Mr("option",{value:"small"},"小国 (<1000万)",-1)])],512),[[_i,o.value]])]),Mr("div",Xae,[t[13]||(t[13]=Mr("label",{class:"filter-label"},"面积",-1)),ca(Mr("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>l.value=e),class:"filter-select"},[...t[12]||(t[12]=[Lr('',5)])],512),[[_i,l.value]])]),Mr("div",Qae,[t[15]||(t[15]=Mr("label",{class:"filter-label"},"发展水平",-1)),ca(Mr("select",{"onUpdate:modelValue":t[5]||(t[5]=e=>c.value=e),class:"filter-select"},[...t[14]||(t[14]=[Mr("option",{value:"all"},"全部",-1),Mr("option",{value:"developed"},"发达国家",-1),Mr("option",{value:"developing"},"发展中国家",-1)])],512),[[_i,c.value]])]),Mr("div",ene,[t[17]||(t[17]=Mr("label",{class:"filter-label"},"排序方式",-1)),ca(Mr("select",{"onUpdate:modelValue":t[6]||(t[6]=e=>u.value=e),class:"filter-select"},[...t[16]||(t[16]=[Mr("option",{value:"name"},"按名称",-1),Mr("option",{value:"population"},"按人口",-1),Mr("option",{value:"area"},"按面积",-1)])],512),[[_i,u.value]])]),Mr("div",tne,[Mr("button",{onClick:F,class:"sort-btn"},se("asc"===d.value?"↑":"↓"),1)])])]),Mr("div",ane,[(Cr(!0),Tr(br,null,yn(w.value,(e,a)=>(Cr(),Tr("div",{key:e.code,class:"country-card",onClick:t=>(e=>{f.value=e,p.value=!0})(e)},[Mr("div",rne,[Mr("div",sne,se(20*(h.value-1)+a+1),1),Mr("div",ine,se(x(e.region)),1)]),Mr("div",one,[Mr("div",lne,[Mr("div",cne,[Mr("img",{src:e.flag,alt:`${e.name}国旗`,class:"flag-image",onError:C},null,40,une)]),Mr("div",dne,[Mr("div",hne,[Mr("h3",pne,se(e.name),1),Mr("p",fne,se(e.nameEn),1)]),Mr("div",mne,[Mr("div",gne,[t[18]||(t[18]=Mr("span",{class:"capital-icon"},"🏛️",-1)),Mr("div",yne,[Mr("div",vne,se(e.capital),1),Mr("div",bne,se(e.capitalEn),1)])])])])]),Mr("div",wne,[Mr("div",xne,[t[19]||(t[19]=Mr("span",{class:"stat-icon"},"🌍",-1)),Mr("span",kne,se(e.continent),1)]),Mr("div",_ne,[t[20]||(t[20]=Mr("span",{class:"stat-icon"},"👥",-1)),Mr("span",Ene,se(_(e.population)),1)]),Mr("div",Cne,[t[21]||(t[21]=Mr("span",{class:"stat-icon"},"📐",-1)),Mr("span",Fne,se(E(e.area)),1)])])])],8,nne))),128))]),b.value>1?(Cr(),Tr("div",Dne,[Mr("button",{class:"page-btn",disabled:1===h.value,onClick:t[7]||(t[7]=e=>h.value--)}," ‹ ",8,Ane),Mr("span",Tne,se(h.value)+" / "+se(b.value),1),Mr("button",{class:"page-btn",disabled:h.value===b.value,onClick:t[8]||(t[8]=e=>h.value++)}," › ",8,Sne)])):(Cr(),Tr("div",Ine))])])]),Or(jX,{visible:p.value,"onUpdate:visible":t[9]||(t[9]=e=>p.value=e),title:f.value?.name||"","max-width":"600px","max-height":"80vh"},{default:la(()=>[f.value?(Cr(),Tr("div",Pne,[Mr("div",Nne,[Mr("div",Bne,[Mr("img",{src:f.value.flag,alt:`${f.value.name}国旗`,class:"flag-image-large",onError:C},null,40,Mne)]),Mr("div",One,[Mr("h3",null,se(f.value.name),1),Mr("p",null,se(f.value.nameEn),1)])]),Mr("div",Une,[Mr("div",jne,[t[22]||(t[22]=Mr("div",{class:"info-label"},"首都",-1)),Mr("div",Lne,[jr(se(f.value.capital)+" ",1),Mr("div",Rne,se(f.value.capitalEn),1)])]),Mr("div",zne,[t[23]||(t[23]=Mr("div",{class:"info-label"},"地区",-1)),Mr("div",Hne,se(x(f.value.region)),1)]),Mr("div",Yne,[t[24]||(t[24]=Mr("div",{class:"info-label"},"大洲",-1)),Mr("div",$ne,se(f.value.continent),1)]),Mr("div",Gne,[t[25]||(t[25]=Mr("div",{class:"info-label"},"人口",-1)),Mr("div",Wne,se(_(f.value.population)),1)]),Mr("div",Vne,[t[26]||(t[26]=Mr("div",{class:"info-label"},"面积",-1)),Mr("div",Kne,se(E(f.value.area)),1)]),Mr("div",Jne,[t[27]||(t[27]=Mr("div",{class:"info-label"},"货币",-1)),Mr("div",qne,[jr(se(f.value.currency)+" ",1),Mr("div",Zne,se(f.value.currencyCode),1)])]),Mr("div",Xne,[t[28]||(t[28]=Mr("div",{class:"info-label"},"语言",-1)),Mr("div",Qne,se(f.value.language),1)]),Mr("div",ere,[t[29]||(t[29]=Mr("div",{class:"info-label"},"国家代码",-1)),Mr("div",tre,se(f.value.code),1)])]),f.value.description?(Cr(),Tr("div",are,[t[30]||(t[30]=Mr("div",{class:"history-label"},"国家简介",-1)),Mr("div",nre,se(f.value.description),1)])):(Cr(),Tr("div",rre,[...t[31]||(t[31]=[Mr("p",null,"暂无详细信息",-1)])]))])):Rr("",!0)]),_:1},8,["visible","title"]),Or(PX,{container:".content-wrapper"}),Or(nl)]))}}),[["__scopeId","data-v-691908b6"]]),ire={class:"emoji-reference"},ore={class:"converter-content"},lre={class:"content-wrapper"},cre={class:"emoji-grid-container"},ure={key:0,class:"emoji-grid"},dre=["onClick","title"],hre={class:"emoji-symbol"},pre={class:"emoji-name"},fre={key:1,class:"no-results"},mre=Wi(Ya({__name:"EmojiReference",emits:["back"],setup(e){il("emoji-reference");const t=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"emoji-reference"===e.id);if(t)return t.title}return"Emoji符号大全"}),{searchQuery:a,activeCategory:n,filteredEmojis:r,emojiCategories:s}=v7(),i=is(()=>s.map(e=>({key:e.key,name:e.name}))),{copySuccess:o,copyError:l}=Vo();return(e,s)=>(Cr(),Tr("div",ire,[Or(hl,{title:t.value,onBack:s[0]||(s[0]=t=>e.$emit("back"))},null,8,["title"]),Mr("div",ore,[Mr("div",lre,[Or(FX,{searchQuery:Pt(a),"onUpdate:searchQuery":s[1]||(s[1]=e=>Tt(a)?a.value=e:null),placeholder:"搜索表情符号...",filters:i.value,activeFilter:Pt(n),"onUpdate:activeFilter":s[2]||(s[2]=e=>Tt(n)?n.value=e:null)},null,8,["searchQuery","filters","activeFilter"]),Mr("div",cre,[Pt(r).length>0?(Cr(),Tr("div",ure,[(Cr(!0),Tr(br,null,yn(Pt(r),e=>(Cr(),Tr("div",{key:e.code,class:"emoji-item",onClick:t=>(async e=>{try{await navigator.clipboard.writeText(e.symbol),o(`${e.symbol} ${e.name}`)}catch(t){console.error("复制失败:",t),l("复制失败,请手动选择")}})(e),title:e.name},[Mr("span",hre,se(e.symbol),1),Mr("span",pre,se(e.name),1)],8,dre))),128))])):(Cr(),Tr("div",fre,[...s[3]||(s[3]=[Mr("div",{class:"no-results-icon"},"😅",-1),Mr("p",null,"没有找到匹配的表情符号",-1)])]))])])]),Or(PX,{container:".converter-content"})]))}}),[["__scopeId","data-v-9fdcb846"]]),gre={class:"ip-lookup"},yre={class:"converter-content"},vre={class:"content-wrapper"},bre={class:"current-ip-section"},wre={class:"section-header"},xre={class:"api-source-selector"},kre={class:"select-wrapper"},_re=["value"],Ere={key:0,class:"api-results"},Cre={class:"source-header"},Fre={key:0,class:"primary-badge"},Dre={key:1,class:"error-badge"},Are={key:0,class:"skeleton-content"},Tre={key:1,class:"ip-main"},Sre={class:"ip-address-container"},Ire={class:"ip-address"},Pre=["onClick"],Nre={key:2,class:"error-info"},Bre={class:"error-message"},Mre={key:0,href:"https://ip.me",target:"_blank",class:"visit-link"},Ore={key:3,class:"ip-details"},Ure={class:"detail-item"},jre={class:"value"},Lre={key:0,class:"detail-item"},Rre={class:"value"},zre={class:"detail-item"},Hre={class:"value"},Yre={class:"detail-item"},$re={class:"value"},Gre={key:1,class:"detail-item"},Wre={class:"value"},Vre={class:"detail-item"},Kre={class:"value"},Jre={key:2,class:"detail-item"},qre={class:"value"},Zre={class:"detail-item"},Xre={class:"value"},Qre={class:"detail-item"},ese={class:"value"},tse={class:"detail-item"},ase={class:"value"},nse={key:1,class:"loading"},rse={key:2,class:"error"},sse={class:"query-section"},ise={class:"query-form"},ose={class:"input-group"},lse=["disabled"],cse=["disabled"],use={key:0},dse={key:1,class:"spinner small"},hse={class:"ip-examples"},pse={key:0,class:"query-result"},fse={class:"api-results"},mse={class:"source-header"},gse={class:"source-name"},yse={key:0,class:"error-badge"},vse={key:0,class:"ip-main"},bse={class:"ip-address-container"},wse={class:"ip-address"},xse=["onClick"],kse={key:1,class:"error-info"},_se={class:"error-message"},Ese={key:2,class:"ip-details"},Cse={class:"detail-item"},Fse={class:"value"},Dse={key:0,class:"detail-item"},Ase={class:"value"},Tse={class:"detail-item"},Sse={class:"value"},Ise={class:"detail-item"},Pse={class:"value"},Nse={key:1,class:"detail-item"},Bse={class:"value"},Mse={class:"detail-item"},Ose={class:"value"},Use={key:2,class:"detail-item"},jse={class:"value"},Lse={class:"detail-item"},Rse={class:"value"},zse={class:"detail-item"},Hse={class:"value"},Yse={class:"detail-item"},$se={class:"value"},Gse={key:1,class:"error"},Wse={key:0,class:"history-section"},Vse={class:"history-list"},Kse=["onClick"],Jse={class:"history-ip"},qse={class:"history-location"},Zse={class:"history-time"},Xse=["onClick"],Qse=Wi(Ya({__name:"IpLookup",emits:["back"],setup(e){const t=async(e,t={})=>{const a={url:e,method:t.method||"GET",headers:t.headers||{}};"POST"===t.method&&t.body&&(a.body=t.body);return await fetch("https://difficult-ape-32.panxu71.deno.net",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})};il("ip-lookup");const a=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"ip-lookup"===e.id);if(t)return t.title}return"IP地址查询"}),{success:n,error:r,copySuccess:s,copyError:i}=Vo(),o=St([]),l=St(!1),c=St(""),u={fetchCodingToolsData:async()=>{try{const e=!1;let a;if(a=await t("https://coding.tools/cn/my-ip-address",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest",Referer:"https://coding.tools/cn/my-ip-address",Origin:"https://coding.tools","Cache-Control":"no-cache"},body:"queryIp="}),!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();let r;if(e);else if(r=n.data||n.body||n,"string"==typeof r)try{r=JSON.parse(r)}catch(XN){}if(r.ip){const e={China:"中国","United States":"美国",Japan:"日本","South Korea":"韩国","United Kingdom":"英国",Germany:"德国",France:"法国",Canada:"加拿大",Australia:"澳大利亚",Singapore:"新加坡"}[r.country_name]||r.country_name||"";return{ip:r.ip||"未知",country:e,region:r.region_name||"",city:r.city_name||"",location:`${r.city_name||""} ${r.region_name||""} ${e}`.trim()||"未知位置",isp:"",timezone:r.time_zone||"",lat:r.latitude?parseFloat(r.latitude):void 0,lon:r.longitude?parseFloat(r.longitude):void 0,source:"Coding.tools"}}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"Coding.tools",error:e instanceof Error?e.message:"网络错误"}}},fetchWhatIsMyIpData:async()=>{try{let e="";if(!1);else{const a=await t("https://whatismyipaddress.com/",{method:"GET",headers:{Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();e=n.data||n.body||n||"","string"!=typeof e&&(e=JSON.stringify(e))}const a=e.match(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/);if(a)return{ip:a[0],country:"",region:"",city:"",location:"来自WhatIsMyIP",source:"WhatIsMyIP"};throw new Error("无法从响应中提取IP地址")}catch(e){return{ip:"获取失败",location:"请求失败",source:"WhatIsMyIP",error:e instanceof Error?e.message:"网络错误"}}},fetchHttpbinData:async()=>{try{let e;if(!1);else{const a=await t("https://httpbin.org/ip");if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();if(e=n.data||n.body||n,"string"==typeof e)try{e=JSON.parse(e)}catch(XN){}}return{ip:e.origin||"未知",country:"",region:"",city:"",location:"仅提供IP地址",source:"HTTPBin"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"HTTPBin",error:e instanceof Error?e.message:"网络错误"}}},fetchICanHazIpData:async()=>{try{let e="";if(!1);else{const a=await t("https://icanhazip.com",{method:"GET",headers:{Accept:"text/plain","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();e=n.data||n.body||n||"","string"!=typeof e&&(e=String(e))}const a=e.trim();if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(a))throw new Error("无效的IP地址格式");return{ip:a,country:"",region:"",city:"",location:"仅提供IP地址",source:"ICanHazIP"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"ICanHazIP",error:e instanceof Error?e.message:"网络错误"}}},fetchCheckIpData:async()=>{try{let e="";if(!1);else{const a=await t("https://checkip.amazonaws.com",{method:"GET",headers:{Accept:"text/plain","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();e=n.data||n.body||n||"","string"!=typeof e&&(e=String(e))}const a=e.trim();if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(a))throw new Error("无效的IP地址格式");return{ip:a,country:"",region:"",city:"",location:"仅提供IP地址",source:"AWS CheckIP"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"AWS CheckIP",error:e instanceof Error?e.message:"网络错误"}}},fetchIpuuData:async()=>{try{const e=!1,a=`https://www.ipuu.net/ipuu/user/getIP?r=${Math.floor(1e8*Math.random())}`;let n;if(e);else{const e=await t(a,{method:"GET",headers:{Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!e.ok)throw new Error(`HTTP ${e.status}`);const r=await e.json();if(n=r.data||r.body||r,"string"==typeof n)try{n=JSON.parse(n)}catch(XN){}}if(200===n.code&&n.data){if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(n.data))throw new Error("无效的IP地址格式");return{ip:n.data,country:"",region:"",city:"",location:"仅提供IP地址",source:"IPUU.net"}}throw new Error(`API返回错误: ${n.msg||"未知错误"}`)}catch(e){return{ip:"获取失败",location:"请求失败",source:"IPUU.net",error:e instanceof Error?e.message:"网络错误"}}},fetchIpSbData:async()=>{try{const e=!1,a=`https://api-ipv4.ip.sb/geoip?z=${Math.floor(1e8*Math.random())}`;let n;if(e);else{const e=await t(a,{method:"GET",headers:{Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!e.ok)throw new Error(`HTTP ${e.status}`);const r=await e.json();if(n=r.data||r.body||r,"string"==typeof n)try{n=JSON.parse(n)}catch(XN){}}if(n.ip)return{ip:n.ip,country:n.country||"",region:n.region||"",city:n.city||"",location:`${n.city||""} ${n.region||""} ${n.country||""}`.trim()||"未知位置",isp:n.isp||n.organization||"",timezone:n.timezone||"",lat:n.latitude?parseFloat(n.latitude):void 0,lon:n.longitude?parseFloat(n.longitude):void 0,asn:n.asn?`AS${n.asn}`:"",source:"IP.SB"};throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"IP.SB",error:e instanceof Error?e.message:"网络错误"}}},fetchLoliCpData:async()=>{try{let e="";if(!1);else{const a=await t("https://ip.lolicp.com/",{method:"GET",headers:{Accept:"text/plain, */*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();e=n.data||n.body||n||"","string"!=typeof e&&(e=String(e))}const a=e.trim();if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(a))throw new Error("无效的IP地址格式");return{ip:a,country:"",region:"",city:"",location:"仅提供IP地址",source:"LoliCP"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"LoliCP",error:e instanceof Error?e.message:"网络错误"}}},fetchIqiyiData:async()=>{try{const e=!1,a=`https://data.video.iqiyi.com/v.f4v?z=${Math.floor(1e8*Math.random())}`;let n;if(e);else{const e=await t(a,{method:"GET",headers:{Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!e.ok)throw new Error(`HTTP ${e.status}`);const r=await e.json();if(n=r.data||r.body||r,"string"==typeof n)try{n=JSON.parse(n)}catch(XN){}}if(n.t){const e=n.t.split("-");if(e.length>=2){const t=e[1],a=e[0];if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(t))throw new Error("无效的IP地址格式");let n="",r="",s="";if(a.includes("|")){const e=a.split("|");if(n=e[0]||"",e[1]){const t=e[1].split("_");r=t[0]||"",s=t[1]||""}}return{ip:t,country:"中国",region:r,city:s,location:`${s} ${r} 中国`.trim()||"未知位置",isp:n,source:"爱奇艺"}}throw new Error("无法解析t字段格式")}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"爱奇艺",error:e instanceof Error?e.message:"网络错误"}}},fetchIpipJsonData:async()=>{try{const e="https://myip.ipip.net/json",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();if("ok"===a.ret&&a.data){const e=a.data,t=e.location||[];return{ip:e.ip||"未知",country:t[0]||"",region:t[1]||"",city:t[2]||"",location:t.filter(e=>e).join(" ")||"未知位置",isp:t[4]||"",source:"IPIP.net"}}throw new Error("API返回格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"IPIP.net",error:e instanceof Error?e.message:"网络错误"}}},fetchItDogData:async()=>{try{const e=Date.now(),t=`https://ipv4_cu.itdog.cn/?_t=${e}`,a=await fetch(t);if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();if("success"===n.type&&n.ip){const e=n.address?n.address.split("/"):[];return{ip:n.ip||"未知",country:e[0]||"",region:e[1]||"",city:e[2]||"",location:n.address||"未知位置",isp:e[3]||"",source:"ITDog"}}throw new Error("API返回格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"ITDog",error:e instanceof Error?e.message:"网络错误"}}},fetchUpYunData:async()=>{try{const e=Math.floor(1e8*Math.random()),t=`https://pubstatic.b0.upaiyun.com/?_upnode&r=${e}`,a=await fetch(t);if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();if(n.remote_addr&&n.remote_addr_location){const e=n.remote_addr,t=n.remote_addr_location;return{ip:e,country:t.country||"",region:t.province||"",city:t.city||"",location:`${t.city||""} ${t.province||""} ${t.country||""}`.trim()||"未知位置",isp:t.isp||"",source:"又拍云"}}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"又拍云",error:e instanceof Error?e.message:"网络错误"}}},fetchAapqData:async()=>{try{const e="https://fcd09628a76x.aapq.net/ip",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();if(a.ip){const e={CN:"中国",US:"美国",JP:"日本",KR:"韩国",GB:"英国",DE:"德国",FR:"法国",CA:"加拿大",AU:"澳大利亚",SG:"新加坡",HK:"香港",TW:"台湾"}[a.country]||a.country||"";return{ip:a.ip||"未知",country:e,region:"",city:a.city||"",location:`${a.city||""} ${e}`.trim()||"未知位置",source:"AAPQ"}}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"AAPQ",error:e instanceof Error?e.message:"网络错误"}}},fetchMaxMindData:async()=>{try{const e="https://geoip.maxmind.com/geoip/v2.1/city/me",t=await fetch(e,{headers:{Accept:"*/*","Cache-Control":"no-cache",Pragma:"no-cache",Referer:"https://www.maxmind.com/"}});if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();if(a.traits&&a.traits.ip_address){const e=e=>e?.["zh-CN"]||e?.en||"",t=e(a.country?.names),n=e(a.subdivisions?.[0]?.names),r=e(a.city?.names);return{ip:a.traits.ip_address||"未知",country:t,region:n,city:r,location:`${r} ${n} ${t}`.trim()||"未知位置",isp:a.traits.isp||"",timezone:a.location?.time_zone||"",lat:a.location?.latitude?parseFloat(a.location.latitude):void 0,lon:a.location?.longitude?parseFloat(a.location.longitude):void 0,asn:a.traits.autonomous_system_number?`AS${a.traits.autonomous_system_number}`:"",source:"MaxMind"}}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"MaxMind",error:e instanceof Error?e.message:"网络错误"}}},fetchIpapiData:async()=>{try{const e=await fetch("https://ipapi.co/json/");if(!e.ok)throw new Error(`HTTP ${e.status}`);const t=await e.json();return{ip:t.ip||"未知",country:t.country_name||"",region:t.region||"",city:t.city||"",location:`${t.city||""} ${t.region||""} ${t.country_name||""}`.trim()||"未知位置",isp:t.org||"",timezone:t.timezone||"",lat:t.latitude,lon:t.longitude,source:"IPapi.co"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"IPapi.co",error:e instanceof Error?e.message:"网络错误"}}},fetchIfconfigData:async()=>{try{const e="https://ifconfig.me/all.json",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();return{ip:a.ip_addr||"未知",country:a.country||"",region:"",city:"",location:a.country||"未知位置",source:"ifconfig.me"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"ifconfig.me",error:e instanceof Error?e.message:"网络错误"}}},fetchUstcData:async()=>{try{const e=`https://test.ustc.edu.cn/backend/getIP.php?&r=${Math.random()}`,t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();if(a.processedString)return{ip:a.processedString,country:"",region:"",city:"",location:"仅提供IP地址",isp:a.rawIspInfo||"",source:"USTC"};throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"USTC",error:e instanceof Error?e.message:"网络错误"}}},fetchIpApiData:async()=>{try{const e="http://demo.ip-api.com/json/?fields=66842623&lang=en",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();return{ip:a.query||"未知",country:a.country||"",region:a.regionName||"",city:a.city||"",location:`${a.city||""} ${a.regionName||""} ${a.country||""}`.trim()||"未知位置",isp:a.isp||"",timezone:a.timezone||"",lat:a.lat,lon:a.lon,source:"IP-API"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"IP-API",error:e instanceof Error?e.message:"网络错误"}}},fetchCipCcData:async()=>{try{const e="https://cip.cc/",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.text();let n="",r="",s="",i="",o="";const l=a.match(/
    ([\s\S]*?)<\/pre>/);if(l&&l[1]){const e=l[1].split("\n");for(const t of e){const e=t.trim();if(e.includes("IP")&&e.includes(":"))n=e.split(":")[1]?.trim()||"";else if(e.includes("地址")&&e.includes(":")){const t=e.split(":")[1]?.trim().split(" ")||[];r=t[0]||"",s=t[1]||"",i=t[2]||""}else e.includes("运营商")&&e.includes(":")&&(o=e.split(":")[1]?.trim()||"")}}if(!n){const e=a.split("\n");for(const t of e){const e=t.trim();if(e.includes("IP")&&e.includes(":"))n=e.split(":")[1]?.trim()||"";else if(e.includes("地址")&&e.includes(":")){const t=e.split(":")[1]?.trim().split(" ")||[];r=t[0]||"",s=t[1]||"",i=t[2]||""}else e.includes("运营商")&&e.includes(":")&&(o=e.split(":")[1]?.trim()||"")}}return{ip:n||"未知",country:r,region:s,city:i,location:`${i} ${s} ${r}`.trim()||"未知位置",isp:o,source:"CIP.cc"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"CIP.cc",error:e instanceof Error?e.message:"网络错误"}}},fetchIpinfoData:async()=>{try{const e="https://ipinfo.io/lookup-data",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();return{ip:a.userIp||a.ip||"未知",country:"",region:"",city:"",location:"仅提供IP地址",isp:"",timezone:"",asn:a.asn||"",source:"IPinfo.io"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"IPinfo.io",error:e instanceof Error?e.message:"网络错误"}}},fetchGeoJsData:async()=>{try{const e=await fetch("https://get.geojs.io/v1/ip/geo.json");if(!e.ok)throw new Error(`HTTP ${e.status}`);const t=await e.json();return{ip:t.ip||"未知",country:t.country||"",region:t.region||"",city:t.city||"",location:`${t.city||""} ${t.region||""} ${t.country||""}`.trim()||"未知位置",isp:t.organization_name||t.organization||"",timezone:t.timezone||"",lat:t.latitude?parseFloat(t.latitude):void 0,lon:t.longitude?parseFloat(t.longitude):void 0,countryCode:t.country_code||"",postalCode:"",organization:t.organization_name||"",asn:t.asn?`AS${t.asn}`:"",source:"GeoJS"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"GeoJS",error:e instanceof Error?e.message:"网络错误"}}}},d=[{id:"coding-tools",name:"Coding.tools",description:"稳定可靠",fetcher:u.fetchCodingToolsData},{id:"whatismyip",name:"WhatIsMyIP",description:"国外源",fetcher:u.fetchWhatIsMyIpData},{id:"httpbin",name:"HTTPBin",description:"JSON格式",fetcher:u.fetchHttpbinData},{id:"icanhazip",name:"ICanHazIP",description:"纯文本IP",fetcher:u.fetchICanHazIpData},{id:"checkip",name:"AWS CheckIP",description:"AWS服务",fetcher:u.fetchCheckIpData},{id:"ipuu",name:"IPUU.net",description:"简洁快速",fetcher:u.fetchIpuuData},{id:"ipsb",name:"IP.SB",description:"详细信息",fetcher:u.fetchIpSbData},{id:"lolicp",name:"LoliCP",description:"纯文本IP",fetcher:u.fetchLoliCpData},{id:"iqiyi",name:"爱奇艺",description:"视频CDN",fetcher:u.fetchIqiyiData},{id:"ipip-net",name:"IPIP.net",description:"国内源",fetcher:u.fetchIpipJsonData},{id:"itdog",name:"ITDog",description:"国内源",fetcher:u.fetchItDogData},{id:"upyun",name:"又拍云",description:"国内CDN",fetcher:u.fetchUpYunData},{id:"aapq",name:"AAPQ",description:"高精度",fetcher:u.fetchAapqData},{id:"maxmind",name:"MaxMind",description:"地理位置专家",fetcher:u.fetchMaxMindData},{id:"ipapi-co",name:"IPapi.co",description:"免费API",fetcher:u.fetchIpapiData},{id:"ifconfig",name:"ifconfig.me",description:"Linux风格",fetcher:u.fetchIfconfigData},{id:"ustc",name:"USTC",description:"中科大源",fetcher:u.fetchUstcData},{id:"ip-api",name:"IP-API",description:"批量查询",fetcher:u.fetchIpApiData},{id:"cip-cc",name:"CIP.cc",description:"纯文本",fetcher:u.fetchCipCcData},{id:"ipinfo",name:"IPinfo.io",description:"仅IP和ASN",fetcher:u.fetchIpinfoData},{id:"geojs",name:"GeoJS",description:"详细地理信息",fetcher:u.fetchGeoJsData}],h=d.map(e=>({id:e.id,name:e.name,description:e.description})),p=e=>{const t=d.find(t=>t.id===e);return t?.fetcher||u.fetchCodingToolsData},f=St("coding-tools"),m=St(""),g=St([]),y=St(!1),v=St(""),b=St([]),w=async()=>{l.value=!0,c.value="";const e=[{ip:"",location:"",source:"IP.me",loading:!0},{ip:"",location:"",source:h.find(e=>e.id===f.value)?.name||"Unknown",loading:!0}];o.value=e;try{const e=[(async()=>{try{await new Promise(e=>setTimeout(e,500+1e3*Math.random()));const e=await(async()=>{try{let e="";{console.log("🌐 Web 生产环境,使用 Deno 代理");const t="https://difficult-ape-32.panxu71.deno.net",a={url:"https://ip.me",method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}},n=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();console.log("IP.me 代理返回数据:",r),e=r.data||r.content||r.body||"","string"!=typeof e&&(e=JSON.stringify(e))}if(!e)throw new Error("返回内容为空");const t=e.match(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/);if(!t)throw new Error("无法从HTML中提取IP地址");const a=t=>{const a=new RegExp(`${t}:\\s*]*>\\s*([^<]+)`,"i"),n=e.match(a);return n?.[1]?.trim()||""},n=a("City"),r=a("Country"),s=a("Country Code"),i=a("Latitude"),o=a("Longitude"),l=a("Postal Code"),c=a("Organization"),u=a("ASN"),d=a("ISP Name");return{ip:t[0],country:r||"",region:"",city:n||"",location:`${n} ${r}`.trim()||"仅提供IP地址",isp:d||c||"",timezone:"",lat:i?parseFloat(i):void 0,lon:o?parseFloat(o):void 0,asn:u?`AS${u}`:"",countryCode:s||"",postalCode:l||"",organization:c||"",source:"IP.me"}}catch(e){return console.error("IP.me 请求错误:",e),{ip:"获取失败",location:"请求失败",source:"IP.me",error:e instanceof Error?e.message:"网络错误"}}})();o.value[0]=e}catch(e){o.value[0]={ip:"",location:"请求失败",source:"IP.me",error:e instanceof Error?e.message:"网络错误"}}})(),(async()=>{try{await new Promise(e=>setTimeout(e,500+1e3*Math.random()));const e=p(f.value),t=await e();o.value[1]=t}catch(e){o.value[1]={ip:"",location:"请求失败",source:h.find(e=>e.id===f.value)?.name||"Unknown",error:e instanceof Error?e.message:"网络错误"}}})()];await Promise.all(e)}catch(t){c.value="获取IP信息失败,请检查网络连接"}finally{l.value=!1}},x=async()=>{if(0!==o.value.length){o.value.length>=2&&(o.value[1]={ip:"",location:"",source:h.find(e=>e.id===f.value)?.name||"Unknown",loading:!0});try{await new Promise(e=>setTimeout(e,500+1e3*Math.random()));const e=p(f.value),t=await e();o.value.length>=2&&(o.value[1]=t)}catch(e){o.value.length>=2&&(o.value[1]={ip:"",location:"请求失败",source:h.find(e=>e.id===f.value)?.name||"Unknown",error:e instanceof Error?e.message:"网络错误"})}}else await w()},k=async()=>{if(!m.value.trim())return;if(!/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(m.value.trim()))return v.value="请输入有效的IP地址格式",void r("请输入有效的IP地址格式");y.value=!0,v.value="",g.value=[];try{const e=m.value.trim(),t=[{name:"IPapi.co",url:`https://ipapi.co/${e}/json/`,parser:t=>({ip:t.ip||e,country:t.country_name||"",region:t.region||"",city:t.city||"",location:`${t.city||""} ${t.region||""} ${t.country_name||""}`.trim()||"未知位置",isp:t.org||"",timezone:t.timezone||"",lat:t.latitude,lon:t.longitude,source:"IPapi.co"})}].map(async t=>{try{const a={},n=await fetch(t.url,a);if(n.ok){const e=await n.json();return t.parser(e)}return{ip:e,location:"请求失败",source:t.name,error:`HTTP ${n.status}`}}catch(a){return{ip:e,location:"请求失败",source:t.name,error:a instanceof Error?a.message:"网络错误"}}}),a=await Promise.all(t);g.value=a.filter(e=>e.ip&&!e.error);const s=g.value[0];if(s){const e={...s,timestamp:Date.now()},t=b.value.findIndex(e=>e.ip===s.ip);t>=0&&b.value.splice(t,1),b.value.unshift(e),b.value.length>10&&(b.value=b.value.slice(0,10)),localStorage.setItem("ip-query-history",JSON.stringify(b.value)),n(`查询成功:${s.location}`)}0===g.value.length&&(v.value="所有查询服务都失败了,请稍后重试",r("查询失败,请稍后重试"))}catch(e){v.value="查询失败,请稍后重试",r("查询失败,请稍后重试")}finally{y.value=!1}},_=e=>{m.value=e},E=e=>{if(!e)return"未知时间";return new Date(e).toLocaleString("zh-CN",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})},C=()=>{b.value=[],localStorage.removeItem("ip-query-history"),n("历史记录已清空")},F=async e=>{try{await navigator.clipboard.writeText(e),s(e)}catch(t){i("复制失败,请手动复制")}};return nn(()=>{w(),(()=>{try{const e=localStorage.getItem("ip-query-history");e&&(b.value=JSON.parse(e))}catch(e){console.error("加载历史记录失败:",e)}})()}),(e,t)=>(Cr(),Tr("div",gre,[Or(hl,{title:a.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},null,8,["title"]),Mr("div",yre,[Mr("div",vre,[Mr("div",bre,[Mr("div",wre,[t[8]||(t[8]=Mr("h2",null,"当前IP信息",-1)),Mr("div",xre,[t[7]||(t[7]=Mr("label",{for:"api-source"},"第二数据源:",-1)),Mr("div",kre,[ca(Mr("select",{id:"api-source","onUpdate:modelValue":t[1]||(t[1]=e=>f.value=e),onChange:x,class:"source-select"},[(Cr(!0),Tr(br,null,yn(Pt(h),e=>(Cr(),Tr("option",{key:e.id,value:e.id},se(e.name)+" - "+se(e.description),9,_re))),128))],544),[[_i,f.value]]),t[6]||(t[6]=Mr("svg",{class:"select-arrow",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"6,9 12,15 18,9"})],-1))])])]),o.value.length>0?(Cr(),Tr("div",Ere,[(Cr(!0),Tr(br,null,yn(o.value,(e,a)=>(Cr(),Tr("div",{key:a,class:Q(["ip-card",{"primary-source":e.source&&"IP.me"===e.source,"loading-card":e.loading}])},[Mr("div",Cre,[Mr("span",{class:Q(["source-name",{"skeleton-text":e.loading}])},se(e.loading?"":e.source||"未知来源"),3),e.source&&"IP.me"===e.source&&!e.loading?(Cr(),Tr("span",Fre,"推荐")):Rr("",!0),e.error&&!e.loading?(Cr(),Tr("span",Dre,"失败")):Rr("",!0)]),e.loading?(Cr(),Tr("div",Are,[...t[9]||(t[9]=[Lr('
    ',3)])])):e.error?(Cr(),Tr("div",Nre,[Mr("div",Bre,se(e.error),1),e.source?.includes("IP.me")?(Cr(),Tr("a",Mre," 直接访问 IP.me ")):Rr("",!0)])):(Cr(),Tr("div",Tre,[Mr("div",Sre,[Mr("div",Ire,se(e.ip),1),Mr("button",{onClick:t=>F(e.ip),class:"copy-btn",title:"复制IP地址"},[...t[10]||(t[10]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,Pre)])])),e.error||e.loading?Rr("",!0):(Cr(),Tr("div",Ore,[Mr("div",Ure,[t[11]||(t[11]=Mr("span",{class:"label"},"国家/地区:",-1)),Mr("span",jre,se(e.country||"-"),1)]),e.countryCode?(Cr(),Tr("div",Lre,[t[12]||(t[12]=Mr("span",{class:"label"},"国家代码:",-1)),Mr("span",Rre,se(e.countryCode),1)])):Rr("",!0),Mr("div",zre,[t[13]||(t[13]=Mr("span",{class:"label"},"省份/州:",-1)),Mr("span",Hre,se(e.region||"-"),1)]),Mr("div",Yre,[t[14]||(t[14]=Mr("span",{class:"label"},"城市:",-1)),Mr("span",$re,se(e.city||"-"),1)]),e.postalCode?(Cr(),Tr("div",Gre,[t[15]||(t[15]=Mr("span",{class:"label"},"邮政编码:",-1)),Mr("span",Wre,se(e.postalCode),1)])):Rr("",!0),Mr("div",Vre,[t[16]||(t[16]=Mr("span",{class:"label"},"ISP:",-1)),Mr("span",Kre,se(e.isp||"-"),1)]),e.organization&&e.organization!==e.isp?(Cr(),Tr("div",Jre,[t[17]||(t[17]=Mr("span",{class:"label"},"组织:",-1)),Mr("span",qre,se(e.organization),1)])):Rr("",!0),Mr("div",Zre,[t[18]||(t[18]=Mr("span",{class:"label"},"时区:",-1)),Mr("span",Xre,se(e.timezone||"-"),1)]),Mr("div",Qre,[t[19]||(t[19]=Mr("span",{class:"label"},"经纬度:",-1)),Mr("span",ese,se(e.lat&&e.lon?`${e.lat}, ${e.lon}`:"-"),1)]),Mr("div",tse,[t[20]||(t[20]=Mr("span",{class:"label"},"ASN:",-1)),Mr("span",ase,se(e.asn||"-"),1)])]))],2))),128))])):l.value?(Cr(),Tr("div",nse,[...t[21]||(t[21]=[Mr("div",{class:"spinner"},null,-1),Mr("span",null,"正在获取当前IP信息...",-1)])])):c.value?(Cr(),Tr("div",rse,[Mr("span",null,se(c.value),1),Mr("button",{onClick:w,class:"retry-btn"},"重试")])):Rr("",!0)]),Mr("div",sse,[t[34]||(t[34]=Mr("h2",null,"IP地址查询",-1)),Mr("div",ise,[Mr("div",ose,[ca(Mr("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>m.value=e),type:"text",placeholder:"请输入要查询的IP地址,如:8.8.8.8",onKeyup:Ni(k,["enter"]),disabled:y.value},null,40,lse),[[bi,m.value]]),Mr("button",{onClick:k,disabled:!m.value.trim()||y.value,class:"query-btn"},[y.value?(Cr(),Tr("div",dse)):(Cr(),Tr("span",use,"查询"))],8,cse)]),Mr("div",hse,[t[22]||(t[22]=Mr("span",null,"示例IP:",-1)),Mr("button",{onClick:t[3]||(t[3]=e=>_("8.8.8.8")),class:"example-btn"},"8.8.8.8"),Mr("button",{onClick:t[4]||(t[4]=e=>_("1.1.1.1")),class:"example-btn"},"1.1.1.1"),Mr("button",{onClick:t[5]||(t[5]=e=>_("114.114.114.114")),class:"example-btn"},"114.114.114.114")])]),g.value.length>0?(Cr(),Tr("div",pse,[Mr("div",fse,[(Cr(!0),Tr(br,null,yn(g.value,(e,a)=>(Cr(),Tr("div",{key:a,class:"ip-card"},[Mr("div",mse,[Mr("span",gse,se(e.source),1),e.error?(Cr(),Tr("span",yse,"失败")):Rr("",!0)]),e.error?Rr("",!0):(Cr(),Tr("div",vse,[Mr("div",bse,[Mr("div",wse,se(e.ip),1),Mr("button",{onClick:t=>F(e.ip),class:"copy-btn",title:"复制IP地址"},[...t[23]||(t[23]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,xse)])])),e.error?(Cr(),Tr("div",kse,[Mr("div",_se,se(e.error),1)])):Rr("",!0),e.error?Rr("",!0):(Cr(),Tr("div",Ese,[Mr("div",Cse,[t[24]||(t[24]=Mr("span",{class:"label"},"国家/地区:",-1)),Mr("span",Fse,se(e.country||"-"),1)]),e.countryCode?(Cr(),Tr("div",Dse,[t[25]||(t[25]=Mr("span",{class:"label"},"国家代码:",-1)),Mr("span",Ase,se(e.countryCode),1)])):Rr("",!0),Mr("div",Tse,[t[26]||(t[26]=Mr("span",{class:"label"},"省份/州:",-1)),Mr("span",Sse,se(e.region||"-"),1)]),Mr("div",Ise,[t[27]||(t[27]=Mr("span",{class:"label"},"城市:",-1)),Mr("span",Pse,se(e.city||"-"),1)]),e.postalCode?(Cr(),Tr("div",Nse,[t[28]||(t[28]=Mr("span",{class:"label"},"邮政编码:",-1)),Mr("span",Bse,se(e.postalCode),1)])):Rr("",!0),Mr("div",Mse,[t[29]||(t[29]=Mr("span",{class:"label"},"ISP:",-1)),Mr("span",Ose,se(e.isp||"-"),1)]),e.organization&&e.organization!==e.isp?(Cr(),Tr("div",Use,[t[30]||(t[30]=Mr("span",{class:"label"},"组织:",-1)),Mr("span",jse,se(e.organization),1)])):Rr("",!0),Mr("div",Lse,[t[31]||(t[31]=Mr("span",{class:"label"},"时区:",-1)),Mr("span",Rse,se(e.timezone||"-"),1)]),Mr("div",zse,[t[32]||(t[32]=Mr("span",{class:"label"},"经纬度:",-1)),Mr("span",Hse,se(e.lat&&e.lon?`${e.lat}, ${e.lon}`:"-"),1)]),Mr("div",Yse,[t[33]||(t[33]=Mr("span",{class:"label"},"ASN:",-1)),Mr("span",$se,se(e.asn||"-"),1)])]))]))),128))])])):Rr("",!0),v.value?(Cr(),Tr("div",Gse,[Mr("span",null,se(v.value),1)])):Rr("",!0)]),b.value.length>0?(Cr(),Tr("div",Wse,[t[36]||(t[36]=Mr("h2",null,"查询历史",-1)),Mr("div",Vse,[(Cr(!0),Tr(br,null,yn(b.value,(e,a)=>(Cr(),Tr("div",{key:a,class:"history-item"},[Mr("div",{class:"history-content",onClick:t=>{return a=e.ip,void(m.value=a);var a}},[Mr("div",Jse,se(e.ip),1),Mr("div",qse,se(e.location),1),Mr("div",Zse,se(E(e.timestamp)),1)],8,Kse),Mr("button",{onClick:Ii(t=>F(e.ip),["stop"]),class:"copy-btn",title:"复制IP地址"},[...t[35]||(t[35]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,Xse)]))),128))]),Mr("button",{onClick:C,class:"clear-history-btn"},"清空历史")])):Rr("",!0)])]),Or(PX,{container:".converter-content"})]))}}),[["__scopeId","data-v-f18bcfbc"]]),eie={class:"app-container"},tie={class:"main-content"},aie={class:"content-area"},nie={class:"settings-content"};((...e)=>{const t=(Mi||(Mi=dr(Bi))).createApp(...e),{mount:a}=t;return t.mount=e=>{const n=function(e){if(C(e)){return document.querySelector(e)}return e}(e);if(!n)return;const r=t._component;E(r)||r.render||r.template||(r.template=n.innerHTML),1===n.nodeType&&(n.textContent="");const s=a(n,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),s},t})(Wi(Ya({__name:"App",setup(e){const t=St("json"),a=St(null),n=St(null),r=St(!1),s=St(null),i=St(!1),{toggleTheme:o,currentTheme:l}=Bo(),c=rl,u=is(()=>Qi.cards[t.value]||[]),d=is(()=>{const e=c.find(e=>e.id===t.value);return e?.name||"JSON工具"}),h=(e,a)=>{const n={"json-format":"json","json-to-excel":"json","json-postman-converter":"json","json-to-php":"json","timestamp-convert":"time","date-calculator":"time","timezone-convert":"time","countdown-timer":"time","base64-encode":"crypto","url-encode":"crypto","md5-hash":"crypto","rsa-key-generator":"crypto","text-encoder":"crypto","jwt-generator":"crypto","chinese-converter":"convert","text-replacer":"convert","php-serializer":"convert","code-formatter":"convert","number-base":"convert","unit-convert":"convert","unit-convert-new":"convert","api-tester":"create","password-generator":"create","qr-generator":"create","crontab-generator":"create","uuid-generator":"create","lorem-generator":"create","gradient-generator":"create","string-counter":"query","ascii-lookup":"query","ip-lookup":"query","domain-whois":"query","http-status":"query","regex-tester":"query","color-reference":"query","surname-lookup":"query","mime-type-reference":"query","dynasty-query":"query","countries-capitals":"query","emoji-reference":"query","programming-languages":"navigation","bookmark-manager":"navigation","quick-links":"navigation","search-engines":"navigation","tab-manager":"navigation","url-shortener":"navigation","website-analyzer":"navigation"}[e];n&&n!==t.value&&(t.value=n),x(a)},p=e=>{t.value=e,s.value=null,Z(e)},f=e=>{s.value=e;const a=m(e);a&&Z(t.value,a)},m=e=>({"json-formatter":"json-format","json-to-excel":"json-to-excel","json-postman-converter":"json-postman-converter","json-to-php":"json-to-php","json-to-php-new":"json-to-php","timestamp-converter":"timestamp-convert","date-calculator":"date-calculator","timezone-converter":"timezone-convert","countdown-timer":"countdown-timer",stopwatch:"stopwatch",clock:"clock","base64-converter":"base64-encode","base64-converter-new":"base64-encode-new","url-converter":"url-encode","hash-generator":"md5-hash","rsa-key-generator":"rsa-key-generator","text-encoder":"text-encoder","jwt-generator":"jwt-generator","chinese-converter":"chinese-converter","text-replacer":"text-replacer","php-serializer":"php-serializer","code-formatter":"code-formatter","base-converter":"number-base","number-converter":"number-format","number-converter-new":"number-format-new","unit-converter":"unit-convert","image-base64-converter":"image-base64","api-tester":"api-tester","uuid-generator":"uuid-generator","password-generator":"password-generator","qr-generator":"qr-generator","qr-generator-new":"qr-generator-new","crontab-generator":"crontab-generator","markdown-editor":"markdown-editor",teleprompter:"teleprompter","screen-test":"screen-test","text-compare":"text-compare","string-counter":"string-counter","ascii-lookup":"ascii-lookup","regex-tester":"regex-tester","regex-tester-new":"regex-tester-new","color-reference":"color-reference","surname-lookup":"surname-lookup","mime-type-reference":"mime-type-reference","dynasty-query":"dynasty-query","programming-languages":"programming-languages","countries-capitals":"countries-capitals","emoji-reference":"emoji-reference","ip-lookup":"ip-lookup"}[e]||null),g=()=>{s.value=null,Z(t.value)},y=()=>{s.value=null,t.value="json";const e=new URL(window.location.href);e.search="",window.history.replaceState({},"",e.toString())},v=()=>{i.value=!0},b=()=>{i.value=!1},w=()=>{window.open("https://github.com/panxu71/toolbox/issues","_blank")},x=async e=>{console.log("执行功能:",e),r.value=!0;try{switch(e){case"formatJson":return void f("json-formatter");case"jsonToExcel":return void f("json-to-excel");case"jsonPostmanConverter":return void f("json-postman-converter");case"jsonToPhp":return void f("json-to-php");case"validateJson":await k();break;case"minifyJson":await _();break;case"jsonToCsv":await E();break;case"convertTimestamp":return void f("timestamp-converter");case"calculateDate":return void f("date-calculator");case"convertTimezone":return void f("timezone-converter");case"countdownTimer":return void f("countdown-timer");case"stopwatch":return void f("stopwatch");case"clock":return void f("clock");case"base64Encode":return void f("base64-converter");case"base64EncodeNew":return void f("base64-converter-new");case"urlEncode":return void f("url-converter");case"md5Hash":return void f("hash-generator");case"generatePassword":return void f("password-generator");case"generateRsaKeys":return void f("rsa-key-generator");case"generateJWT":return void f("jwt-generator");case"convertChinese":return void f("chinese-converter");case"replaceText":return void f("text-replacer");case"phpSerialize":return void f("php-serializer");case"formatCode":return void f("code-formatter");case"convertColor":return void f("color-reference");case"convertUnit":await C();break;case"convertUnitNew":await convertUnitNew();break;case"convertNumber":await F();break;case"convertBase":return void f("base-converter");case"convertImageBase64":return void f("image-base64-converter");case"encodeText":return void f("text-encoder");case"testApi":return void f("api-tester");case"generateQR":return void f("qr-generator");case"generateCrontab":return void f("crontab-generator");case"markdownEditor":return void f("markdown-editor");case"teleprompter":return void f("teleprompter");case"screenTest":return void f("screen-test");case"generateUuid":return void f("uuid-generator");case"generateLorem":await D();break;case"generateGradient":await A();break;case"countString":return void f("string-counter");case"lookupAscii":return void f("ascii-lookup");case"lookupSurname":return void f("surname-lookup");case"lookupIP":return void f("ip-lookup");case"whoisDomain":await T();break;case"httpStatus":await S();break;case"compareText":return void f("text-compare");case"countStringNew":return void f("string-counter-new");case"mimeTypeReference":return void f("mime-type-reference");case"dynastyQuery":return void f("dynasty-query");case"countriesCapitals":return void f("countries-capitals");case"emojiReference":return void f("emoji-reference");case"testRegex":return void f("regex-tester");case"testRegexNew":return void f("regex-tester-new");case"programmingLanguages":return void f("programming-languages");case"manageBookmarks":await I();break;case"quickLinks":await P();break;case"searchEngines":await N();break;case"manageTabs":await B();break;case"shortenUrl":await M();break;case"analyzeWebsite":await O();break;case"toggleTheme":o(),K(`已切换到${"dark"===l.value?"夜间":"白天"}模式`);break;case"changeLanguage":await U();break;case"exportSettings":await j();break;case"showAbout":await L();break;case"getPageInfo":await z();break;case"highlightText":await H();break;case"takeScreenshot":await Y();break;case"extractLinks":await $();break;case"extractImages":await G();break;case"countWords":await W();break;case"extractText":await V();break;default:console.log("功能开发中:",e),K(`功能 "${e}" 正在开发中...`)}}catch(t){console.error("执行功能失败:",t),K("执行失败,请重试")}finally{r.value=!1}},k=async()=>{const e=prompt("请输入JSON字符串:");if(e)try{JSON.parse(e),K("JSON格式正确 ✅")}catch(t){K("JSON格式错误 ❌")}},_=async()=>{const e=prompt("请输入JSON字符串:");if(e)try{const t=JSON.parse(e),a=JSON.stringify(t);console.log("压缩后的JSON:",a),K("JSON压缩完成,请查看控制台")}catch(t){K("JSON格式错误")}},E=async()=>{K("JSON转CSV功能开发中...")},C=async()=>{f("unit-converter")},F=async()=>{f("number-converter")},D=async()=>{console.log("Lorem文本:","Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."),K("Lorem文本已生成,请查看控制台")},A=async()=>{K("渐变生成器功能开发中...")},T=async()=>{K("域名查询功能开发中...")},S=async()=>{console.log("常见HTTP状态码:",{200:"OK - 请求成功",404:"Not Found - 页面未找到",500:"Internal Server Error - 服务器内部错误"}),K("HTTP状态码信息已显示在控制台")},I=async()=>{K("书签管理功能开发中...")},P=async()=>{K("快速链接功能开发中...")},N=async()=>{K("搜索引擎功能开发中...")},B=async()=>{K("标签页管理功能开发中...")},M=async()=>{K("短链接生成功能开发中...")},O=async()=>{K("网站分析工具功能开发中...")},U=async()=>{K("语言设置功能开发中...")},j=async()=>{const e={theme:l.value,version:"1.0.0",exportTime:(new Date).toISOString()};console.log("导出的设置:",e),K("设置已导出到控制台")},L=async()=>{console.log("关于信息:",{name:"Toolbox",version:"1.0.0",description:"现代化工具箱",author:"Toolbox Team"}),K("关于信息已显示在控制台")},R=async()=>{try{if("undefined"!=typeof chrome&&chrome.tabs){const[e]=await chrome.tabs.query({active:!0,currentWindow:!0});return a.value=e,e}return a.value={title:"示例页面",url:"https://example.com",id:1},a.value}catch(e){return console.error("获取标签页失败:",e),null}},z=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"GET_PAGE_INFO"});n.value=t,K("页面信息已获取")}catch(t){console.error("获取页面信息失败:",t)}else n.value={title:"示例页面",url:"https://example.com",domain:"example.com"},K("页面信息已获取(开发模式)")},H=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{await chrome.tabs.sendMessage(e.id,{type:"HIGHLIGHT_TEXT"}),K("文本已高亮")}catch(t){console.error("高亮文本失败:",t)}else K("文本已高亮(开发模式)")},Y=async()=>{try{if("undefined"!=typeof chrome&&chrome.tabs){const e=await chrome.tabs.captureVisibleTab(),t=document.createElement("a");t.download=`screenshot-${Date.now()}.png`,t.href=e,t.click(),K("截图已保存")}else K("截图功能(开发模式)")}catch(e){console.error("截图失败:",e)}},$=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"EXTRACT_LINKS"});console.log("页面链接:",t),K(`找到 ${t.links?.length||0} 个链接`)}catch(t){console.error("提取链接失败:",t)}else K("找到 15 个链接(开发模式)")},G=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"EXTRACT_IMAGES"});console.log("页面图片:",t),K(`找到 ${t.images?.length||0} 张图片`)}catch(t){console.error("提取图片失败:",t)}else K("找到 8 张图片(开发模式)")},W=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"COUNT_WORDS"});console.log("字数统计:",t),K(`页面共有 ${t.wordCount||0} 个字`)}catch(t){console.error("统计字数失败:",t)}else K("页面共有 1,234 个字(开发模式)")},V=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"EXTRACT_TEXT"});console.log("页面文本:",t),K("文本已提取到控制台")}catch(t){console.error("提取文本失败:",t)}else K("文本已提取到控制台(开发模式)")},K=e=>{console.log("提示:",e)};nn(()=>{R(),J()});const J=()=>{const e=new URLSearchParams(window.location.search),a=e.get("tool"),n=e.get("category");if(a){const e=q(a);e&&(n&&(t.value=n),x(e))}else n&&c.find(e=>e.id===n)&&(t.value=n)},q=e=>({"json-format":"formatJson","json-to-excel":"jsonToExcel","json-postman-converter":"jsonPostmanConverter","json-to-php":"jsonToPhp","timestamp-convert":"convertTimestamp","date-calculator":"calculateDate","timezone-convert":"convertTimezone","countdown-timer":"countdownTimer",stopwatch:"stopwatch",clock:"clock","base64-encode":"base64Encode","url-encode":"urlEncode","md5-hash":"md5Hash","rsa-key-generator":"generateRsaKeys","text-encoder":"encodeText","jwt-generator":"generateJWT","chinese-converter":"convertChinese","text-replacer":"replaceText","php-serializer":"phpSerialize","code-formatter":"formatCode","number-base":"convertBase","number-format":"convertNumber","unit-convert":"convertUnit","image-base64":"convertImageBase64","api-tester":"testApi","uuid-generator":"generateUuid","password-generator":"generatePassword","qr-generator":"generateQR","crontab-generator":"generateCrontab","markdown-editor":"markdownEditor",teleprompter:"teleprompter","screen-test":"screenTest","text-compare":"compareText","string-counter":"countString","string-counter-new":"countStringNew","ascii-lookup":"lookupAscii","regex-tester":"testRegex","regex-tester-new":"testRegexNew","color-reference":"convertColor","surname-lookup":"lookupSurname","mime-type-reference":"mimeTypeReference","dynasty-query":"dynastyQuery","countries-capitals":"countriesCapitals","emoji-reference":"emojiReference","ip-lookup":"lookupIP","programming-languages":"programmingLanguages","bookmark-manager":"manageBookmarks","quick-links":"quickLinks","search-engines":"searchEngines","tab-manager":"manageTabs","url-shortener":"shortenUrl","website-analyzer":"analyzeWebsite"}[e]||null),Z=(e,t)=>{const a=new URL(window.location.href);e?a.searchParams.set("category",e):a.searchParams.delete("category"),t?a.searchParams.set("tool",t):a.searchParams.delete("tool"),a.searchParams.toString()||(a.search=""),window.history.replaceState({},"",a.toString())};return(e,o)=>(Cr(),Tr("div",eie,[Or($o,{currentTab:a.value,pageInfo:n.value,onGoHome:y},null,8,["currentTab","pageInfo"]),Mr("div",tie,[s.value?(Cr(),Tr(br,{key:1},["json-formatter"===s.value?(Cr(),Sr(Nc,{key:0,onBack:g})):Rr("",!0),"json-to-excel"===s.value?(Cr(),Sr(Vk,{key:1,onBack:g})):Rr("",!0),"json-postman-converter"===s.value?(Cr(),Sr(E_,{key:2,onBack:g})):Rr("",!0),"json-to-php"===s.value?(Cr(),Sr(Q_,{key:3,onBack:g})):Rr("",!0),"timestamp-converter"===s.value?(Cr(),Sr(UE,{key:4,onBack:g})):Rr("",!0),"date-calculator"===s.value?(Cr(),Sr(HC,{key:5,onBack:g})):Rr("",!0),"countdown-timer"===s.value?(Cr(),Sr(QF,{key:6,onBack:g})):Rr("",!0),"stopwatch"===s.value?(Cr(),Sr(AD,{key:7,onBack:g})):Rr("",!0),"clock"===s.value?(Cr(),Sr(aA,{key:8,onBack:g})):Rr("",!0),"timezone-converter"===s.value?(Cr(),Sr(oT,{key:9,onBack:g})):Rr("",!0),"api-tester"===s.value?(Cr(),Sr(e5,{key:10,onBack:g})):Rr("",!0),"base64-converter"===s.value?(Cr(),Sr(OT,{key:11,onBack:g})):Rr("",!0),"url-converter"===s.value?(Cr(),Sr(DS,{key:12,onBack:g})):Rr("",!0),"hash-generator"===s.value?(Cr(),Sr(zI,{key:13,onBack:g})):Rr("",!0),"password-generator"===s.value?(Cr(),Sr(OP,{key:14,onBack:g})):Rr("",!0),"rsa-key-generator"===s.value?(Cr(),Sr(ZN,{key:15,onBack:g})):Rr("",!0),"code-formatter"===s.value?(Cr(),Sr(WR,{key:16,onBack:g})):Rr("",!0),"qr-generator"===s.value?(Cr(),Sr(qY,{key:17,onBack:g})):Rr("",!0),"crontab-generator"===s.value?(Cr(),Sr(J$,{key:18,onBack:g})):Rr("",!0),"markdown-editor"===s.value?(Cr(),Sr(fee,{key:19,onBack:g})):Rr("",!0),"teleprompter"===s.value?(Cr(),Sr(jee,{key:20,onBack:g})):Rr("",!0),"screen-test"===s.value?(Cr(),Sr(kae,{key:21,onBack:g})):Rr("",!0),"base-converter"===s.value?(Cr(),Sr(UG,{key:22,onBack:g})):Rr("",!0),"text-encoder"===s.value?(Cr(),Sr(pW,{key:23,onBack:g})):Rr("",!0),"string-counter"===s.value?(Cr(),Sr(fK,{key:24,onBack:g})):Rr("",!0),"surname-lookup"===s.value?(Cr(),Sr(v2,{key:25,onBack:g})):Rr("",!0),"settings"===s.value?(Cr(),Sr(zae,{key:26,onBack:g})):Rr("",!0),"php-serializer"===s.value?(Cr(),Sr(HK,{key:27,onBack:g})):Rr("",!0),"text-replacer"===s.value?(Cr(),Sr(AJ,{key:28,onBack:g})):Rr("",!0),"chinese-converter"===s.value?(Cr(),Sr(cq,{key:29,onBack:g})):Rr("",!0),"ascii-lookup"===s.value?(Cr(),Sr(tZ,{key:30,onBack:g})):Rr("",!0),"unit-converter"===s.value?(Cr(),Sr(RZ,{key:31,onBack:g})):Rr("",!0),"number-converter"===s.value?(Cr(),Sr(vX,{key:32,onBack:g})):Rr("",!0),"color-reference"===s.value?(Cr(),Sr(dQ,{key:33,onBack:g})):Rr("",!0),"jwt-generator"===s.value?(Cr(),Sr(C0,{key:34,onBack:g})):Rr("",!0),"regex-tester"===s.value?(Cr(),Sr(W2,{key:35,onBack:g})):Rr("",!0),"text-compare"===s.value?(Cr(),Sr(e4,{key:36,onBack:g})):Rr("",!0),"mime-type-reference"===s.value?(Cr(),Sr(x4,{key:37,onBack:g})):Rr("",!0),"dynasty-query"===s.value?(Cr(),Sr(S6,{key:38,onBack:g})):Rr("",!0),"uuid-generator"===s.value?(Cr(),Sr(F8,{key:39,onBack:g})):Rr("",!0),"programming-languages"===s.value?(Cr(),Sr(m7,{key:40,onBack:g})):Rr("",!0),"image-base64-converter"===s.value?(Cr(),Sr(y1,{key:41,onBack:g})):Rr("",!0),"countries-capitals"===s.value?(Cr(),Sr(sre,{key:42,onBack:g})):Rr("",!0),"emoji-reference"===s.value?(Cr(),Sr(mre,{key:43,onBack:g})):Rr("",!0),"ip-lookup"===s.value?(Cr(),Sr(Qse,{key:44,onBack:g})):Rr("",!0)],64)):(Cr(),Tr(br,{key:0},[Or(Vi,{navigationItems:Pt(c),activeNav:t.value,onNavigate:p,onOpenSettings:v,onOpenFeedback:w},null,8,["navigationItems","activeNav"]),Mr("div",aie,[Or(vo,{title:d.value,subtitle:`共 ${u.value.length} 个功能`,cards:u.value,isLoading:r.value,onExecute:x,onSelectTool:h},null,8,["title","subtitle","cards","isLoading"])])],64))]),i.value?(Cr(),Tr("div",{key:0,class:"settings-overlay",onClick:b},[Mr("div",{class:"settings-modal",onClick:o[0]||(o[0]=Ii(()=>{},["stop"]))},[Mr("div",{class:"settings-header"},[o[2]||(o[2]=Mr("h2",null,"设置",-1)),Mr("button",{class:"close-btn",onClick:b},[...o[1]||(o[1]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),Mr("div",nie,[Or(zae)])])])):Rr("",!0),Or(nl)]))}}),[["__scopeId","data-v-3e57a101"]])).mount("#app"); diff --git a/docs/assets/main-mu1E_NRy.js b/docs/assets/main-mu1E_NRy.js new file mode 100644 index 0000000..b33bab0 --- /dev/null +++ b/docs/assets/main-mu1E_NRy.js @@ -0,0 +1 @@ +var e,t,a,n,r,s=Object.defineProperty,i=e=>{throw TypeError(e)},o=(e,t,a)=>((e,t,a)=>t in e?s(e,t,{enumerable:!0,configurable:!0,writable:!0,value:a}):e[t]=a)(e,"symbol"!=typeof t?t+"":t,a),l=(e,t,a)=>(((e,t,a)=>{t.has(e)||i("Cannot "+a)})(e,t,"access private method"),a);function c(e){const t=Object.create(null);for(const a of e.split(","))t[a]=1;return e=>e in t}!function(){const e=document.createElement("link").relList;if(!(e&&e.supports&&e.supports("modulepreload"))){for(const e of document.querySelectorAll('link[rel="modulepreload"]'))t(e);new MutationObserver(e=>{for(const a of e)if("childList"===a.type)for(const e of a.addedNodes)"LINK"===e.tagName&&"modulepreload"===e.rel&&t(e)}).observe(document,{childList:!0,subtree:!0})}function t(e){if(e.ep)return;e.ep=!0;const t=function(e){const t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),"use-credentials"===e.crossOrigin?t.credentials="include":"anonymous"===e.crossOrigin?t.credentials="omit":t.credentials="same-origin",t}(e);fetch(e.href,t)}}();const u={},d=[],h=()=>{},p=()=>!1,f=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&(e.charCodeAt(2)>122||e.charCodeAt(2)<97),m=e=>e.startsWith("onUpdate:"),g=Object.assign,y=(e,t)=>{const a=e.indexOf(t);a>-1&&e.splice(a,1)},v=Object.prototype.hasOwnProperty,b=(e,t)=>v.call(e,t),w=Array.isArray,x=e=>"[object Map]"===S(e),k=e=>"[object Set]"===S(e),_=e=>"[object Date]"===S(e),E=e=>"function"==typeof e,C=e=>"string"==typeof e,F=e=>"symbol"==typeof e,D=e=>null!==e&&"object"==typeof e,A=e=>(D(e)||E(e))&&E(e.then)&&E(e.catch),T=Object.prototype.toString,S=e=>T.call(e),I=e=>"[object Object]"===S(e),N=e=>C(e)&&"NaN"!==e&&"-"!==e[0]&&""+parseInt(e,10)===e,P=c(",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted"),B=e=>{const t=Object.create(null);return a=>t[a]||(t[a]=e(a))},M=/-\w/g,O=B(e=>e.replace(M,e=>e.slice(1).toUpperCase())),U=/\B([A-Z])/g,j=B(e=>e.replace(U,"-$1").toLowerCase()),L=B(e=>e.charAt(0).toUpperCase()+e.slice(1)),R=B(e=>e?`on${L(e)}`:""),z=(e,t)=>!Object.is(e,t),H=(e,...t)=>{for(let a=0;a{Object.defineProperty(e,t,{configurable:!0,enumerable:!1,writable:n,value:a})},G=e=>{const t=parseFloat(e);return isNaN(t)?e:t};let W;const V=()=>W||(W="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{});function K(e){if(w(e)){const t={};for(let a=0;a{if(e){const a=e.split(q);a.length>1&&(t[a[0].trim()]=a[1].trim())}}),t}function Q(e){let t="";if(C(e))t=e;else if(w(e))for(let a=0;aae(e,t))}const re=e=>!(!e||!0!==e.__v_isRef),se=e=>C(e)?e:null==e?"":w(e)||D(e)&&(e.toString===T||!E(e.toString))?re(e)?se(e.value):JSON.stringify(e,ie,2):String(e),ie=(e,t)=>re(t)?ie(e,t.value):x(t)?{[`Map(${t.size})`]:[...t.entries()].reduce((e,[t,a],n)=>(e[oe(t,n)+" =>"]=a,e),{})}:k(t)?{[`Set(${t.size})`]:[...t.values()].map(e=>oe(e))}:F(t)?oe(t):!D(t)||w(t)||I(t)?t:String(t),oe=(e,t="")=>{var a;return F(e)?`Symbol(${null!=(a=e.description)?a:t})`:e};function le(e){return null==e?"initial":"string"==typeof e?""===e?" ":e:String(e)}let ce,ue;class de{constructor(e=!1){this.detached=e,this._active=!0,this._on=0,this.effects=[],this.cleanups=[],this._isPaused=!1,this.parent=ce,!e&&ce&&(this.index=(ce.scopes||(ce.scopes=[])).push(this)-1)}get active(){return this._active}pause(){if(this._active){let e,t;if(this._isPaused=!0,this.scopes)for(e=0,t=this.scopes.length;e0&&0===--this._on&&(ce=this.prevScope,this.prevScope=void 0)}stop(e){if(this._active){let t,a;for(this._active=!1,t=0,a=this.effects.length;t0)return;if(me){let e=me;for(me=void 0;e;){const t=e.next;e.next=void 0,e.flags&=-9,e=t}}let e;for(;fe;){let a=fe;for(fe=void 0;a;){const n=a.next;if(a.next=void 0,a.flags&=-9,1&a.flags)try{a.trigger()}catch(t){e||(e=t)}a=n}}if(e)throw e}function we(e){for(let t=e.deps;t;t=t.nextDep)t.version=-1,t.prevActiveLink=t.dep.activeLink,t.dep.activeLink=t}function xe(e){let t,a=e.depsTail,n=a;for(;n;){const e=n.prevDep;-1===n.version?(n===a&&(a=e),Ee(n),Ce(n)):t=n,n.dep.activeLink=n.prevActiveLink,n.prevActiveLink=void 0,n=e}e.deps=t,e.depsTail=a}function ke(e){for(let t=e.deps;t;t=t.nextDep)if(t.dep.version!==t.version||t.dep.computed&&(_e(t.dep.computed)||t.dep.version!==t.version))return!0;return!!e._dirty}function _e(e){if(4&e.flags&&!(16&e.flags))return;if(e.flags&=-17,e.globalVersion===Ie)return;if(e.globalVersion=Ie,!e.isSSR&&128&e.flags&&(!e.deps&&!e._dirty||!ke(e)))return;e.flags|=2;const t=e.dep,a=ue,n=Fe;ue=e,Fe=!0;try{we(e);const a=e.fn(e._value);(0===t.version||z(a,e._value))&&(e.flags|=128,e._value=a,t.version++)}catch(r){throw t.version++,r}finally{ue=a,Fe=n,xe(e),e.flags&=-3}}function Ee(e,t=!1){const{dep:a,prevSub:n,nextSub:r}=e;if(n&&(n.nextSub=r,e.prevSub=void 0),r&&(r.prevSub=n,e.nextSub=void 0),a.subs===e&&(a.subs=n,!n&&a.computed)){a.computed.flags&=-5;for(let e=a.computed.deps;e;e=e.nextDep)Ee(e,!0)}t||--a.sc||!a.map||a.map.delete(a.key)}function Ce(e){const{prevDep:t,nextDep:a}=e;t&&(t.nextDep=a,e.prevDep=void 0),a&&(a.prevDep=t,e.nextDep=void 0)}let Fe=!0;const De=[];function Ae(){De.push(Fe),Fe=!1}function Te(){const e=De.pop();Fe=void 0===e||e}function Se(e){const{cleanup:t}=e;if(e.cleanup=void 0,t){const e=ue;ue=void 0;try{t()}finally{ue=e}}}let Ie=0;class Ne{constructor(e,t){this.sub=e,this.dep=t,this.version=t.version,this.nextDep=this.prevDep=this.nextSub=this.prevSub=this.prevActiveLink=void 0}}class Pe{constructor(e){this.computed=e,this.version=0,this.activeLink=void 0,this.subs=void 0,this.map=void 0,this.key=void 0,this.sc=0,this.__v_skip=!0}track(e){if(!ue||!Fe||ue===this.computed)return;let t=this.activeLink;if(void 0===t||t.sub!==ue)t=this.activeLink=new Ne(ue,this),ue.deps?(t.prevDep=ue.depsTail,ue.depsTail.nextDep=t,ue.depsTail=t):ue.deps=ue.depsTail=t,Be(t);else if(-1===t.version&&(t.version=this.version,t.nextDep)){const e=t.nextDep;e.prevDep=t.prevDep,t.prevDep&&(t.prevDep.nextDep=e),t.prevDep=ue.depsTail,t.nextDep=void 0,ue.depsTail.nextDep=t,ue.depsTail=t,ue.deps===t&&(ue.deps=e)}return t}trigger(e){this.version++,Ie++,this.notify(e)}notify(e){ve();try{0;for(let e=this.subs;e;e=e.prevSub)e.sub.notify()&&e.sub.dep.notify()}finally{be()}}}function Be(e){if(e.dep.sc++,4&e.sub.flags){const t=e.dep.computed;if(t&&!e.dep.subs){t.flags|=20;for(let e=t.deps;e;e=e.nextDep)Be(e)}const a=e.dep.subs;a!==e&&(e.prevSub=a,a&&(a.nextSub=e)),e.dep.subs=e}}const Me=new WeakMap,Oe=Symbol(""),Ue=Symbol(""),je=Symbol("");function Le(e,t,a){if(Fe&&ue){let t=Me.get(e);t||Me.set(e,t=new Map);let n=t.get(a);n||(t.set(a,n=new Pe),n.map=t,n.key=a),n.track()}}function Re(e,t,a,n,r,s){const i=Me.get(e);if(!i)return void Ie++;const o=e=>{e&&e.trigger()};if(ve(),"clear"===t)i.forEach(o);else{const r=w(e),s=r&&N(a);if(r&&"length"===a){const e=Number(n);i.forEach((t,a)=>{("length"===a||a===je||!F(a)&&a>=e)&&o(t)})}else switch((void 0!==a||i.has(void 0))&&o(i.get(a)),s&&o(i.get(je)),t){case"add":r?s&&o(i.get("length")):(o(i.get(Oe)),x(e)&&o(i.get(Ue)));break;case"delete":r||(o(i.get(Oe)),x(e)&&o(i.get(Ue)));break;case"set":x(e)&&o(i.get(Oe))}}be()}function ze(e){const t=Ft(e);return t===e?t:(Le(t,0,je),Et(e)?t:t.map(Dt))}function He(e){return Le(e=Ft(e),0,je),e}function $e(e,t){return _t(e)?kt(e)?At(Dt(t)):At(t):Dt(t)}const Ye={__proto__:null,[Symbol.iterator](){return Ge(this,Symbol.iterator,e=>$e(this,e))},concat(...e){return ze(this).concat(...e.map(e=>w(e)?ze(e):e))},entries(){return Ge(this,"entries",e=>(e[1]=$e(this,e[1]),e))},every(e,t){return Ve(this,"every",e,t,void 0,arguments)},filter(e,t){return Ve(this,"filter",e,t,e=>e.map(e=>$e(this,e)),arguments)},find(e,t){return Ve(this,"find",e,t,e=>$e(this,e),arguments)},findIndex(e,t){return Ve(this,"findIndex",e,t,void 0,arguments)},findLast(e,t){return Ve(this,"findLast",e,t,e=>$e(this,e),arguments)},findLastIndex(e,t){return Ve(this,"findLastIndex",e,t,void 0,arguments)},forEach(e,t){return Ve(this,"forEach",e,t,void 0,arguments)},includes(...e){return Je(this,"includes",e)},indexOf(...e){return Je(this,"indexOf",e)},join(e){return ze(this).join(e)},lastIndexOf(...e){return Je(this,"lastIndexOf",e)},map(e,t){return Ve(this,"map",e,t,void 0,arguments)},pop(){return qe(this,"pop")},push(...e){return qe(this,"push",e)},reduce(e,...t){return Ke(this,"reduce",e,t)},reduceRight(e,...t){return Ke(this,"reduceRight",e,t)},shift(){return qe(this,"shift")},some(e,t){return Ve(this,"some",e,t,void 0,arguments)},splice(...e){return qe(this,"splice",e)},toReversed(){return ze(this).toReversed()},toSorted(e){return ze(this).toSorted(e)},toSpliced(...e){return ze(this).toSpliced(...e)},unshift(...e){return qe(this,"unshift",e)},values(){return Ge(this,"values",e=>$e(this,e))}};function Ge(e,t,a){const n=He(e),r=n[t]();return n===e||Et(e)||(r._next=r.next,r.next=()=>{const e=r._next();return e.done||(e.value=a(e.value)),e}),r}const We=Array.prototype;function Ve(e,t,a,n,r,s){const i=He(e),o=i!==e&&!Et(e),l=i[t];if(l!==We[t]){const t=l.apply(e,s);return o?Dt(t):t}let c=a;i!==e&&(o?c=function(t,n){return a.call(this,$e(e,t),n,e)}:a.length>2&&(c=function(t,n){return a.call(this,t,n,e)}));const u=l.call(i,c,n);return o&&r?r(u):u}function Ke(e,t,a,n){const r=He(e);let s=a;return r!==e&&(Et(e)?a.length>3&&(s=function(t,n,r){return a.call(this,t,n,r,e)}):s=function(t,n,r){return a.call(this,t,$e(e,n),r,e)}),r[t](s,...n)}function Je(e,t,a){const n=Ft(e);Le(n,0,je);const r=n[t](...a);return-1!==r&&!1!==r||!Ct(a[0])?r:(a[0]=Ft(a[0]),n[t](...a))}function qe(e,t,a=[]){Ae(),ve();const n=Ft(e)[t].apply(e,a);return be(),Te(),n}const Ze=c("__proto__,__v_isRef,__isVue"),Xe=new Set(Object.getOwnPropertyNames(Symbol).filter(e=>"arguments"!==e&&"caller"!==e).map(e=>Symbol[e]).filter(F));function Qe(e){F(e)||(e=String(e));const t=Ft(this);return Le(t,0,e),t.hasOwnProperty(e)}class et{constructor(e=!1,t=!1){this._isReadonly=e,this._isShallow=t}get(e,t,a){if("__v_skip"===t)return e.__v_skip;const n=this._isReadonly,r=this._isShallow;if("__v_isReactive"===t)return!n;if("__v_isReadonly"===t)return n;if("__v_isShallow"===t)return r;if("__v_raw"===t)return a===(n?r?yt:gt:r?mt:ft).get(e)||Object.getPrototypeOf(e)===Object.getPrototypeOf(a)?e:void 0;const s=w(e);if(!n){let e;if(s&&(e=Ye[t]))return e;if("hasOwnProperty"===t)return Qe}const i=Reflect.get(e,t,Tt(e)?e:a);if(F(t)?Xe.has(t):Ze(t))return i;if(n||Le(e,0,t),r)return i;if(Tt(i)){const e=s&&N(t)?i:i.value;return n&&D(e)?wt(e):e}return D(i)?n?wt(i):bt(i):i}}class tt extends et{constructor(e=!1){super(!1,e)}set(e,t,a,n){let r=e[t];const s=w(e)&&N(t);if(!this._isShallow){const e=_t(r);if(Et(a)||_t(a)||(r=Ft(r),a=Ft(a)),!s&&Tt(r)&&!Tt(a))return e||(r.value=a),!0}const i=s?Number(t)e,ot=e=>Reflect.getPrototypeOf(e);function lt(e){return function(...t){return"delete"!==e&&("clear"===e?void 0:this)}}function ct(e,t){const a={get(a){const n=this.__v_raw,r=Ft(n),s=Ft(a);e||(z(a,s)&&Le(r,0,a),Le(r,0,s));const{has:i}=ot(r),o=t?it:e?At:Dt;return i.call(r,a)?o(n.get(a)):i.call(r,s)?o(n.get(s)):void(n!==r&&n.get(a))},get size(){const t=this.__v_raw;return!e&&Le(Ft(t),0,Oe),t.size},has(t){const a=this.__v_raw,n=Ft(a),r=Ft(t);return e||(z(t,r)&&Le(n,0,t),Le(n,0,r)),t===r?a.has(t):a.has(t)||a.has(r)},forEach(a,n){const r=this,s=r.__v_raw,i=Ft(s),o=t?it:e?At:Dt;return!e&&Le(i,0,Oe),s.forEach((e,t)=>a.call(n,o(e),o(t),r))}};g(a,e?{add:lt("add"),set:lt("set"),delete:lt("delete"),clear:lt("clear")}:{add(e){t||Et(e)||_t(e)||(e=Ft(e));const a=Ft(this);return ot(a).has.call(a,e)||(a.add(e),Re(a,"add",e,e)),this},set(e,a){t||Et(a)||_t(a)||(a=Ft(a));const n=Ft(this),{has:r,get:s}=ot(n);let i=r.call(n,e);i||(e=Ft(e),i=r.call(n,e));const o=s.call(n,e);return n.set(e,a),i?z(a,o)&&Re(n,"set",e,a):Re(n,"add",e,a),this},delete(e){const t=Ft(this),{has:a,get:n}=ot(t);let r=a.call(t,e);r||(e=Ft(e),r=a.call(t,e)),n&&n.call(t,e);const s=t.delete(e);return r&&Re(t,"delete",e,void 0),s},clear(){const e=Ft(this),t=0!==e.size,a=e.clear();return t&&Re(e,"clear",void 0,void 0),a}});return["keys","values","entries",Symbol.iterator].forEach(n=>{a[n]=function(e,t,a){return function(...n){const r=this.__v_raw,s=Ft(r),i=x(s),o="entries"===e||e===Symbol.iterator&&i,l="keys"===e&&i,c=r[e](...n),u=a?it:t?At:Dt;return!t&&Le(s,0,l?Ue:Oe),{next(){const{value:e,done:t}=c.next();return t?{value:e,done:t}:{value:o?[u(e[0]),u(e[1])]:u(e),done:t}},[Symbol.iterator](){return this}}}}(n,e,t)}),a}function ut(e,t){const a=ct(e,t);return(t,n,r)=>"__v_isReactive"===n?!e:"__v_isReadonly"===n?e:"__v_raw"===n?t:Reflect.get(b(a,n)&&n in t?a:t,n,r)}const dt={get:ut(!1,!1)},ht={get:ut(!1,!0)},pt={get:ut(!0,!1)},ft=new WeakMap,mt=new WeakMap,gt=new WeakMap,yt=new WeakMap;function vt(e){return e.__v_skip||!Object.isExtensible(e)?0:function(e){switch(e){case"Object":case"Array":return 1;case"Map":case"Set":case"WeakMap":case"WeakSet":return 2;default:return 0}}((e=>S(e).slice(8,-1))(e))}function bt(e){return _t(e)?e:xt(e,!1,nt,dt,ft)}function wt(e){return xt(e,!0,rt,pt,gt)}function xt(e,t,a,n,r){if(!D(e))return e;if(e.__v_raw&&(!t||!e.__v_isReactive))return e;const s=vt(e);if(0===s)return e;const i=r.get(e);if(i)return i;const o=new Proxy(e,2===s?n:a);return r.set(e,o),o}function kt(e){return _t(e)?kt(e.__v_raw):!(!e||!e.__v_isReactive)}function _t(e){return!(!e||!e.__v_isReadonly)}function Et(e){return!(!e||!e.__v_isShallow)}function Ct(e){return!!e&&!!e.__v_raw}function Ft(e){const t=e&&e.__v_raw;return t?Ft(t):e}const Dt=e=>D(e)?bt(e):e,At=e=>D(e)?wt(e):e;function Tt(e){return!!e&&!0===e.__v_isRef}function St(e){return function(e,t){if(Tt(e))return e;return new It(e,t)}(e,!1)}class It{constructor(e,t){this.dep=new Pe,this.__v_isRef=!0,this.__v_isShallow=!1,this._rawValue=t?e:Ft(e),this._value=t?e:Dt(e),this.__v_isShallow=t}get value(){return this.dep.track(),this._value}set value(e){const t=this._rawValue,a=this.__v_isShallow||Et(e)||_t(e);e=a?e:Ft(e),z(e,t)&&(this._rawValue=e,this._value=a?e:Dt(e),this.dep.trigger())}}function Nt(e){return Tt(e)?e.value:e}const Pt={get:(e,t,a)=>"__v_raw"===t?e:Nt(Reflect.get(e,t,a)),set:(e,t,a,n)=>{const r=e[t];return Tt(r)&&!Tt(a)?(r.value=a,!0):Reflect.set(e,t,a,n)}};function Bt(e){return kt(e)?e:new Proxy(e,Pt)}class Mt{constructor(e,t,a){this.fn=e,this.setter=t,this._value=void 0,this.dep=new Pe(this),this.__v_isRef=!0,this.deps=void 0,this.depsTail=void 0,this.flags=16,this.globalVersion=Ie-1,this.next=void 0,this.effect=this,this.__v_isReadonly=!t,this.isSSR=a}notify(){if(this.flags|=16,!(8&this.flags)&&ue!==this)return ye(this,!0),!0}get value(){const e=this.dep.track();return _e(this),e&&(e.version=this.dep.version),this._value}set value(e){this.setter&&this.setter(e)}}const Ot={},Ut=new WeakMap;let jt;function Lt(e,t,a=u){const{immediate:n,deep:r,once:s,scheduler:i,augmentJob:o,call:l}=a,c=e=>r?e:Et(e)||!1===r||0===r?Rt(e,1):Rt(e);let d,p,f,m,g=!1,v=!1;if(Tt(e)?(p=()=>e.value,g=Et(e)):kt(e)?(p=()=>c(e),g=!0):w(e)?(v=!0,g=e.some(e=>kt(e)||Et(e)),p=()=>e.map(e=>Tt(e)?e.value:kt(e)?c(e):E(e)?l?l(e,2):e():void 0)):p=E(e)?t?l?()=>l(e,2):e:()=>{if(f){Ae();try{f()}finally{Te()}}const t=jt;jt=d;try{return l?l(e,3,[m]):e(m)}finally{jt=t}}:h,t&&r){const e=p,t=!0===r?1/0:r;p=()=>Rt(e(),t)}const b=ce,x=()=>{d.stop(),b&&b.active&&y(b.effects,d)};if(s&&t){const e=t;t=(...t)=>{e(...t),x()}}let k=v?new Array(e.length).fill(Ot):Ot;const _=e=>{if(1&d.flags&&(d.dirty||e))if(t){const e=d.run();if(r||g||(v?e.some((e,t)=>z(e,k[t])):z(e,k))){f&&f();const a=jt;jt=d;try{const a=[e,k===Ot?void 0:v&&k[0]===Ot?[]:k,m];k=e,l?l(t,3,a):t(...a)}finally{jt=a}}}else d.run()};return o&&o(_),d=new pe(p),d.scheduler=i?()=>i(_,!1):_,m=e=>function(e,t=!1,a=jt){if(a){let t=Ut.get(a);t||Ut.set(a,t=[]),t.push(e)}}(e,!1,d),f=d.onStop=()=>{const e=Ut.get(d);if(e){if(l)l(e,4);else for(const t of e)t();Ut.delete(d)}},t?n?_(!0):k=d.run():i?i(_.bind(null,!0),!0):d.run(),x.pause=d.pause.bind(d),x.resume=d.resume.bind(d),x.stop=x,x}function Rt(e,t=1/0,a){if(t<=0||!D(e)||e.__v_skip)return e;if(((a=a||new Map).get(e)||0)>=t)return e;if(a.set(e,t),t--,Tt(e))Rt(e.value,t,a);else if(w(e))for(let n=0;n{Rt(e,t,a)});else if(I(e)){for(const n in e)Rt(e[n],t,a);for(const n of Object.getOwnPropertySymbols(e))Object.prototype.propertyIsEnumerable.call(e,n)&&Rt(e[n],t,a)}return e}function zt(e,t,a,n){try{return n?e(...n):e()}catch(r){$t(r,t,a)}}function Ht(e,t,a,n){if(E(e)){const r=zt(e,t,a,n);return r&&A(r)&&r.catch(e=>{$t(e,t,a)}),r}if(w(e)){const r=[];for(let s=0;s=na(a)?Yt.push(e):Yt.splice(function(e){let t=Gt+1,a=Yt.length;for(;t>>1,r=Yt[n],s=na(r);sna(e)-na(t));if(Wt.length=0,Vt)return void Vt.push(...e);for(Vt=e,Kt=0;Ktnull==e.id?2&e.flags?-1:1/0:e.id;function ra(e){try{for(Gt=0;Gt{n._d&&Dr(-1);const r=oa(t);let s;try{s=e(...a)}finally{oa(r),n._d&&Dr(1)}return s};return n._n=!0,n._c=!0,n._d=!0,n}function ca(e,t){if(null===sa)return e;const a=rs(sa),n=e.dirs||(e.dirs=[]);for(let r=0;r1)return a&&E(t)?t.call(n&&n.proxy):t}}const ha=Symbol.for("v-scx");function pa(e,t,a){return fa(e,t,a)}function fa(e,t,a=u){const{immediate:n,deep:r,flush:s,once:i}=a,o=g({},a),l=t&&n||!t&&"post"!==s;let c;if(es)if("sync"===s){const e=da(ha);c=e.__watcherHandles||(e.__watcherHandles=[])}else if(!l){const e=()=>{};return e.stop=h,e.resume=h,e.pause=h,e}const d=Vr;o.call=(e,t,a)=>Ht(e,d,t,a);let p=!1;"post"===s?o.scheduler=e=>{ur(e,d&&d.suspense)}:"sync"!==s&&(p=!0,o.scheduler=(e,t)=>{t?e():Xt(e)}),o.augmentJob=e=>{t&&(e.flags|=4),p&&(e.flags|=2,d&&(e.id=d.uid,e.i=d))};const f=Lt(e,t,o);return es&&(c?c.push(f):l&&f()),f}function ma(e,t,a){const n=this.proxy,r=C(e)?e.includes(".")?ga(n,e):()=>n[e]:e.bind(n,n);let s;E(t)?s=t:(s=t.handler,a=t);const i=Zr(this),o=fa(r,s.bind(n),a);return i(),o}function ga(e,t){const a=t.split(".");return()=>{let t=e;for(let e=0;ee.__isTeleport,ba=e=>e&&(e.disabled||""===e.disabled),wa=e=>e&&(e.defer||""===e.defer),xa=e=>"undefined"!=typeof SVGElement&&e instanceof SVGElement,ka=e=>"function"==typeof MathMLElement&&e instanceof MathMLElement,_a=(e,t)=>{const a=e&&e.to;if(C(a)){if(t){return t(a)}return null}return a},Ea={name:"Teleport",__isTeleport:!0,process(e,t,a,n,r,s,i,o,l,c){const{mc:u,pc:d,pbc:h,o:{insert:p,querySelector:f,createText:m,createComment:g}}=c,y=ba(t.props);let{shapeFlag:v,children:b,dynamicChildren:w}=t;if(null==e){const e=t.el=m(""),c=t.anchor=m("");p(e,a,n),p(c,a,n);const d=(e,t)=>{16&v&&u(b,e,t,r,s,i,o,l)},h=()=>{const e=t.target=_a(t.props,f),a=Aa(e,t,m,p);e&&("svg"!==i&&xa(e)?i="svg":"mathml"!==i&&ka(e)&&(i="mathml"),r&&r.isCE&&(r.ce._teleportTargets||(r.ce._teleportTargets=new Set)).add(e),y||(d(e,a),Da(t,!1)))};y&&(d(a,c),Da(t,!0)),wa(t.props)?(t.el.__isMounted=!1,ur(()=>{h(),delete t.el.__isMounted},s)):h()}else{if(wa(t.props)&&!1===e.el.__isMounted)return void ur(()=>{Ea.process(e,t,a,n,r,s,i,o,l,c)},s);t.el=e.el,t.targetStart=e.targetStart;const u=t.anchor=e.anchor,p=t.target=e.target,m=t.targetAnchor=e.targetAnchor,g=ba(e.props),v=g?a:p,b=g?u:m;if("svg"===i||xa(p)?i="svg":("mathml"===i||ka(p))&&(i="mathml"),w?(h(e.dynamicChildren,w,v,r,s,i,o),fr(e,t,!0)):l||d(e,t,v,b,r,s,i,o,!1),y)g?t.props&&e.props&&t.props.to!==e.props.to&&(t.props.to=e.props.to):Ca(t,a,u,c,1);else if((t.props&&t.props.to)!==(e.props&&e.props.to)){const e=t.target=_a(t.props,f);e&&Ca(t,e,null,c,0)}else g&&Ca(t,p,m,c,1);Da(t,y)}},remove(e,t,a,{um:n,o:{remove:r}},s){const{shapeFlag:i,children:o,anchor:l,targetStart:c,targetAnchor:u,target:d,props:h}=e;if(d&&(r(c),r(u)),s&&r(l),16&i){const e=s||!ba(h);for(let r=0;r{e.isMounted=!0}),on(()=>{e.isUnmounting=!0}),e}const Na=[Function,Array],Pa={mode:String,appear:Boolean,persisted:Boolean,onBeforeEnter:Na,onEnter:Na,onAfterEnter:Na,onEnterCancelled:Na,onBeforeLeave:Na,onLeave:Na,onAfterLeave:Na,onLeaveCancelled:Na,onBeforeAppear:Na,onAppear:Na,onAfterAppear:Na,onAppearCancelled:Na},Ba=e=>{const t=e.subTree;return t.component?Ba(t.component):t};function Ma(e){let t=e[0];if(e.length>1)for(const a of e)if(a.type!==xr){t=a;break}return t}const Oa={name:"BaseTransition",props:Pa,setup(e,{slots:t}){const a=Kr(),n=Ia();return()=>{const r=t.default&&Ha(t.default(),!0);if(!r||!r.length)return;const s=Ma(r),i=Ft(e),{mode:o}=i;if(n.isLeaving)return La(s);const l=Ra(s);if(!l)return La(s);let c=ja(l,i,n,a,e=>c=e);l.type!==xr&&za(l,c);let u=a.subTree&&Ra(a.subTree);if(u&&u.type!==xr&&!Nr(u,l)&&Ba(a).type!==xr){let e=ja(u,i,n,a);if(za(u,e),"out-in"===o&&l.type!==xr)return n.isLeaving=!0,e.afterLeave=()=>{n.isLeaving=!1,8&a.job.flags||a.update(),delete e.afterLeave,u=void 0},La(s);"in-out"===o&&l.type!==xr?e.delayLeave=(e,t,a)=>{Ua(n,u)[String(u.key)]=u,e[Ta]=()=>{t(),e[Ta]=void 0,delete c.delayedLeave,u=void 0},c.delayedLeave=()=>{a(),delete c.delayedLeave,u=void 0}}:u=void 0}else u&&(u=void 0);return s}}};function Ua(e,t){const{leavingVNodes:a}=e;let n=a.get(t.type);return n||(n=Object.create(null),a.set(t.type,n)),n}function ja(e,t,a,n,r){const{appear:s,mode:i,persisted:o=!1,onBeforeEnter:l,onEnter:c,onAfterEnter:u,onEnterCancelled:d,onBeforeLeave:h,onLeave:p,onAfterLeave:f,onLeaveCancelled:m,onBeforeAppear:g,onAppear:y,onAfterAppear:v,onAppearCancelled:b}=t,x=String(e.key),k=Ua(a,e),_=(e,t)=>{e&&Ht(e,n,9,t)},E=(e,t)=>{const a=t[1];_(e,t),w(e)?e.every(e=>e.length<=1)&&a():e.length<=1&&a()},C={mode:i,persisted:o,beforeEnter(t){let n=l;if(!a.isMounted){if(!s)return;n=g||l}t[Ta]&&t[Ta](!0);const r=k[x];r&&Nr(e,r)&&r.el[Ta]&&r.el[Ta](),_(n,[t])},enter(e){let t=c,n=u,r=d;if(!a.isMounted){if(!s)return;t=y||c,n=v||u,r=b||d}let i=!1;const o=e[Sa]=t=>{i||(i=!0,_(t?r:n,[e]),C.delayedLeave&&C.delayedLeave(),e[Sa]=void 0)};t?E(t,[e,o]):o()},leave(t,n){const r=String(e.key);if(t[Sa]&&t[Sa](!0),a.isUnmounting)return n();_(h,[t]);let s=!1;const i=t[Ta]=a=>{s||(s=!0,n(),_(a?m:f,[t]),t[Ta]=void 0,k[r]===e&&delete k[r])};k[r]=e,p?E(p,[t,i]):i()},clone(e){const s=ja(e,t,a,n,r);return r&&r(s),s}};return C}function La(e){if(Ja(e))return(e=Ur(e)).children=null,e}function Ra(e){if(!Ja(e))return va(e.type)&&e.children?Ma(e.children):e;if(e.component)return e.component.subTree;const{shapeFlag:t,children:a}=e;if(a){if(16&t)return a[0];if(32&t&&E(a.default))return a.default()}}function za(e,t){6&e.shapeFlag&&e.component?(e.transition=t,za(e.component.subTree,t)):128&e.shapeFlag?(e.ssContent.transition=t.clone(e.ssContent),e.ssFallback.transition=t.clone(e.ssFallback)):e.transition=t}function Ha(e,t=!1,a){let n=[],r=0;for(let s=0;s1)for(let s=0;sg({name:e.name},t,{setup:e}))():e}function Ya(e){e.ids=[e.ids[0]+e.ids[2]+++"-",0,0]}const Ga=new WeakMap;function Wa(e,t,a,n,r=!1){if(w(e))return void e.forEach((e,s)=>Wa(e,t&&(w(t)?t[s]:t),a,n,r));if(Ka(n)&&!r)return void(512&n.shapeFlag&&n.type.__asyncResolved&&n.component.subTree.component&&Wa(e,t,a,n.component.subTree));const s=4&n.shapeFlag?rs(n.component):n.el,i=r?null:s,{i:o,r:l}=e,c=t&&t.r,d=o.refs===u?o.refs={}:o.refs,h=o.setupState,f=Ft(h),m=h===u?p:e=>b(f,e);if(null!=c&&c!==l)if(Va(t),C(c))d[c]=null,m(c)&&(h[c]=null);else if(Tt(c)){c.value=null;const e=t;e.k&&(d[e.k]=null)}if(E(l))zt(l,o,12,[i,d]);else{const t=C(l),n=Tt(l);if(t||n){const o=()=>{if(e.f){const a=t?m(l)?h[l]:d[l]:l.value;if(r)w(a)&&y(a,s);else if(w(a))a.includes(s)||a.push(s);else if(t)d[l]=[s],m(l)&&(h[l]=d[l]);else{const t=[s];l.value=t,e.k&&(d[e.k]=t)}}else t?(d[l]=i,m(l)&&(h[l]=i)):n&&(l.value=i,e.k&&(d[e.k]=i))};if(i){const t=()=>{o(),Ga.delete(e)};t.id=-1,Ga.set(e,t),ur(t,a)}else Va(e),o()}}}function Va(e){const t=Ga.get(e);t&&(t.flags|=8,Ga.delete(e))}V().requestIdleCallback,V().cancelIdleCallback;const Ka=e=>!!e.type.__asyncLoader,Ja=e=>e.type.__isKeepAlive;function qa(e,t){Xa(e,"a",t)}function Za(e,t){Xa(e,"da",t)}function Xa(e,t,a=Vr){const n=e.__wdc||(e.__wdc=()=>{let t=a;for(;t;){if(t.isDeactivated)return;t=t.parent}return e()});if(en(t,n,a),a){let e=a.parent;for(;e&&e.parent;)Ja(e.parent.vnode)&&Qa(n,t,a,e),e=e.parent}}function Qa(e,t,a,n){const r=en(t,e,n,!0);ln(()=>{y(n[t],r)},a)}function en(e,t,a=Vr,n=!1){if(a){const r=a[e]||(a[e]=[]),s=t.__weh||(t.__weh=(...n)=>{Ae();const r=Zr(a),s=Ht(t,a,e,n);return r(),Te(),s});return n?r.unshift(s):r.push(s),s}}const tn=e=>(t,a=Vr)=>{es&&"sp"!==e||en(e,(...e)=>t(...e),a)},an=tn("bm"),nn=tn("m"),rn=tn("bu"),sn=tn("u"),on=tn("bum"),ln=tn("um"),cn=tn("sp"),un=tn("rtg"),dn=tn("rtc");function hn(e,t=Vr){en("ec",e,t)}const pn="components";const fn=Symbol.for("v-ndc");function mn(e,t,a=!0,n=!1){const r=sa||Vr;if(r){const a=r.type;{const e=ss(a,!1);if(e&&(e===t||e===O(t)||e===L(O(t))))return a}const s=gn(r[e]||a[e],t)||gn(r.appContext[e],t);return!s&&n?a:s}}function gn(e,t){return e&&(e[t]||e[O(t)]||e[L(O(t))])}function yn(e,t,a,n){let r;const s=a,i=w(e);if(i||C(e)){let a=!1,n=!1;i&&kt(e)&&(a=!Et(e),n=_t(e),e=He(e)),r=new Array(e.length);for(let i=0,o=e.length;it(e,a,void 0,s));else{const a=Object.keys(e);r=new Array(a.length);for(let n=0,i=a.length;n0;return"default"!==t&&(a.name=t),Cr(),Sr(br,null,[Or("slot",a,n&&n())],e?-2:64)}let s=e[t];s&&s._c&&(s._d=!1),Cr();const i=s&&bn(s(a)),o=a.key||i&&i.key,l=Sr(br,{key:(o&&!F(o)?o:`_${t}`)+(!i&&n?"_fb":"")},i||(n?n():[]),i&&1===e._?64:-2);return s&&s._c&&(s._d=!0),l}function bn(e){return e.some(e=>!Ir(e)||e.type!==xr&&!(e.type===br&&!bn(e.children)))?e:null}const wn=e=>e?Qr(e)?rs(e):wn(e.parent):null,xn=g(Object.create(null),{$:e=>e,$el:e=>e.vnode.el,$data:e=>e.data,$props:e=>e.props,$attrs:e=>e.attrs,$slots:e=>e.slots,$refs:e=>e.refs,$parent:e=>wn(e.parent),$root:e=>wn(e.root),$host:e=>e.ce,$emit:e=>e.emit,$options:e=>Tn(e),$forceUpdate:e=>e.f||(e.f=()=>{Xt(e.update)}),$nextTick:e=>e.n||(e.n=Zt.bind(e.proxy)),$watch:e=>ma.bind(e)}),kn=(e,t)=>e!==u&&!e.__isScriptSetup&&b(e,t),_n={get({_:e},t){if("__v_skip"===t)return!0;const{ctx:a,setupState:n,data:r,props:s,accessCache:i,type:o,appContext:l}=e;if("$"!==t[0]){const e=i[t];if(void 0!==e)switch(e){case 1:return n[t];case 2:return r[t];case 4:return a[t];case 3:return s[t]}else{if(kn(n,t))return i[t]=1,n[t];if(r!==u&&b(r,t))return i[t]=2,r[t];if(b(s,t))return i[t]=3,s[t];if(a!==u&&b(a,t))return i[t]=4,a[t];Cn&&(i[t]=0)}}const c=xn[t];let d,h;return c?("$attrs"===t&&Le(e.attrs,0,""),c(e)):(d=o.__cssModules)&&(d=d[t])?d:a!==u&&b(a,t)?(i[t]=4,a[t]):(h=l.config.globalProperties,b(h,t)?h[t]:void 0)},set({_:e},t,a){const{data:n,setupState:r,ctx:s}=e;return kn(r,t)?(r[t]=a,!0):n!==u&&b(n,t)?(n[t]=a,!0):!b(e.props,t)&&(("$"!==t[0]||!(t.slice(1)in e))&&(s[t]=a,!0))},has({_:{data:e,setupState:t,accessCache:a,ctx:n,appContext:r,props:s,type:i}},o){let l;return!!(a[o]||e!==u&&"$"!==o[0]&&b(e,o)||kn(t,o)||b(s,o)||b(n,o)||b(xn,o)||b(r.config.globalProperties,o)||(l=i.__cssModules)&&l[o])},defineProperty(e,t,a){return null!=a.get?e._.accessCache[t]=0:b(a,"value")&&this.set(e,t,a.value,null),Reflect.defineProperty(e,t,a)}};function En(e){return w(e)?e.reduce((e,t)=>(e[t]=null,e),{}):e}let Cn=!0;function Fn(e){const t=Tn(e),a=e.proxy,n=e.ctx;Cn=!1,t.beforeCreate&&Dn(t.beforeCreate,e,"bc");const{data:r,computed:s,methods:i,watch:o,provide:l,inject:c,created:u,beforeMount:d,mounted:p,beforeUpdate:f,updated:m,activated:g,deactivated:y,beforeDestroy:v,beforeUnmount:b,destroyed:x,unmounted:k,render:_,renderTracked:C,renderTriggered:F,errorCaptured:A,serverPrefetch:T,expose:S,inheritAttrs:I,components:N,directives:P,filters:B}=t;if(c&&function(e,t){w(e)&&(e=Pn(e));for(const a in e){const n=e[a];let r;r=D(n)?"default"in n?da(n.from||a,n.default,!0):da(n.from||a):da(n),Tt(r)?Object.defineProperty(t,a,{enumerable:!0,configurable:!0,get:()=>r.value,set:e=>r.value=e}):t[a]=r}}(c,n,null),i)for(const h in i){const e=i[h];E(e)&&(n[h]=e.bind(a))}if(r){const t=r.call(a,a);D(t)&&(e.data=bt(t))}if(Cn=!0,s)for(const w in s){const e=s[w],t=E(e)?e.bind(a,a):E(e.get)?e.get.bind(a,a):h,r=!E(e)&&E(e.set)?e.set.bind(a):h,i=is({get:t,set:r});Object.defineProperty(n,w,{enumerable:!0,configurable:!0,get:()=>i.value,set:e=>i.value=e})}if(o)for(const h in o)An(o[h],n,a,h);if(l){const e=E(l)?l.call(a):l;Reflect.ownKeys(e).forEach(t=>{!function(e,t){if(Vr){let a=Vr.provides;const n=Vr.parent&&Vr.parent.provides;n===a&&(a=Vr.provides=Object.create(n)),a[e]=t}}(t,e[t])})}function M(e,t){w(t)?t.forEach(t=>e(t.bind(a))):t&&e(t.bind(a))}if(u&&Dn(u,e,"c"),M(an,d),M(nn,p),M(rn,f),M(sn,m),M(qa,g),M(Za,y),M(hn,A),M(dn,C),M(un,F),M(on,b),M(ln,k),M(cn,T),w(S))if(S.length){const t=e.exposed||(e.exposed={});S.forEach(e=>{Object.defineProperty(t,e,{get:()=>a[e],set:t=>a[e]=t,enumerable:!0})})}else e.exposed||(e.exposed={});_&&e.render===h&&(e.render=_),null!=I&&(e.inheritAttrs=I),N&&(e.components=N),P&&(e.directives=P),T&&Ya(e)}function Dn(e,t,a){Ht(w(e)?e.map(e=>e.bind(t.proxy)):e.bind(t.proxy),t,a)}function An(e,t,a,n){let r=n.includes(".")?ga(a,n):()=>a[n];if(C(e)){const a=t[e];E(a)&&pa(r,a)}else if(E(e))pa(r,e.bind(a));else if(D(e))if(w(e))e.forEach(e=>An(e,t,a,n));else{const n=E(e.handler)?e.handler.bind(a):t[e.handler];E(n)&&pa(r,n,e)}}function Tn(e){const t=e.type,{mixins:a,extends:n}=t,{mixins:r,optionsCache:s,config:{optionMergeStrategies:i}}=e.appContext,o=s.get(t);let l;return o?l=o:r.length||a||n?(l={},r.length&&r.forEach(e=>Sn(l,e,i,!0)),Sn(l,t,i)):l=t,D(t)&&s.set(t,l),l}function Sn(e,t,a,n=!1){const{mixins:r,extends:s}=t;s&&Sn(e,s,a,!0),r&&r.forEach(t=>Sn(e,t,a,!0));for(const i in t)if(n&&"expose"===i);else{const n=In[i]||a&&a[i];e[i]=n?n(e[i],t[i]):t[i]}return e}const In={data:Nn,props:On,emits:On,methods:Mn,computed:Mn,beforeCreate:Bn,created:Bn,beforeMount:Bn,mounted:Bn,beforeUpdate:Bn,updated:Bn,beforeDestroy:Bn,beforeUnmount:Bn,destroyed:Bn,unmounted:Bn,activated:Bn,deactivated:Bn,errorCaptured:Bn,serverPrefetch:Bn,components:Mn,directives:Mn,watch:function(e,t){if(!e)return t;if(!t)return e;const a=g(Object.create(null),e);for(const n in t)a[n]=Bn(e[n],t[n]);return a},provide:Nn,inject:function(e,t){return Mn(Pn(e),Pn(t))}};function Nn(e,t){return t?e?function(){return g(E(e)?e.call(this,this):e,E(t)?t.call(this,this):t)}:t:e}function Pn(e){if(w(e)){const t={};for(let a=0;a(r.has(e)||(e&&E(e.install)?(r.add(e),e.install(o,...t)):E(e)&&(r.add(e),e(o,...t))),o),mixin:e=>(n.mixins.includes(e)||n.mixins.push(e),o),component:(e,t)=>t?(n.components[e]=t,o):n.components[e],directive:(e,t)=>t?(n.directives[e]=t,o):n.directives[e],mount(r,s,l){if(!i){const s=o._ceVNode||Or(t,a);return s.appContext=n,!0===l?l="svg":!1===l&&(l=void 0),e(s,r,l),i=!0,o._container=r,r.__vue_app__=o,rs(s.component)}},onUnmount(e){s.push(e)},unmount(){i&&(Ht(s,o._instance,16),e(null,o._container),delete o._container.__vue_app__)},provide:(e,t)=>(n.provides[e]=t,o),runWithContext(e){const t=Rn;Rn=o;try{return e()}finally{Rn=t}}};return o}}let Rn=null;function zn(e,t,...a){if(e.isUnmounted)return;const n=e.vnode.props||u;let r=a;const s=t.startsWith("update:"),i=s&&((e,t)=>"modelValue"===t||"model-value"===t?e.modelModifiers:e[`${t}Modifiers`]||e[`${O(t)}Modifiers`]||e[`${j(t)}Modifiers`])(n,t.slice(7));let o;i&&(i.trim&&(r=a.map(e=>C(e)?e.trim():e)),i.number&&(r=a.map(G)));let l=n[o=R(t)]||n[o=R(O(t))];!l&&s&&(l=n[o=R(j(t))]),l&&Ht(l,e,6,r);const c=n[o+"Once"];if(c){if(e.emitted){if(e.emitted[o])return}else e.emitted={};e.emitted[o]=!0,Ht(c,e,6,r)}}const Hn=new WeakMap;function $n(e,t,a=!1){const n=a?Hn:t.emitsCache,r=n.get(e);if(void 0!==r)return r;const s=e.emits;let i={},o=!1;if(!E(e)){const n=e=>{const a=$n(e,t,!0);a&&(o=!0,g(i,a))};!a&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}return s||o?(w(s)?s.forEach(e=>i[e]=null):g(i,s),D(e)&&n.set(e,i),i):(D(e)&&n.set(e,null),null)}function Yn(e,t){return!(!e||!f(t))&&(t=t.slice(2).replace(/Once$/,""),b(e,t[0].toLowerCase()+t.slice(1))||b(e,j(t))||b(e,t))}function Gn(e){const{type:t,vnode:a,proxy:n,withProxy:r,propsOptions:[s],slots:i,attrs:o,emit:l,render:c,renderCache:u,props:d,data:h,setupState:p,ctx:f,inheritAttrs:g}=e,y=oa(e);let v,b;try{if(4&a.shapeFlag){const e=r||n,t=e;v=zr(c.call(t,e,u,d,p,h,f)),b=o}else{const e=t;0,v=zr(e.length>1?e(d,{attrs:o,slots:i,emit:l}):e(d,null)),b=t.props?o:Wn(o)}}catch(x){_r.length=0,$t(x,e,1),v=Or(xr)}let w=v;if(b&&!1!==g){const e=Object.keys(b),{shapeFlag:t}=w;e.length&&7&t&&(s&&e.some(m)&&(b=Vn(b,s)),w=Ur(w,b,!1,!0))}return a.dirs&&(w=Ur(w,null,!1,!0),w.dirs=w.dirs?w.dirs.concat(a.dirs):a.dirs),a.transition&&za(w,a.transition),v=w,oa(y),v}const Wn=e=>{let t;for(const a in e)("class"===a||"style"===a||f(a))&&((t||(t={}))[a]=e[a]);return t},Vn=(e,t)=>{const a={};for(const n in e)m(n)&&n.slice(9)in t||(a[n]=e[n]);return a};function Kn(e,t,a){const n=Object.keys(t);if(n.length!==Object.keys(e).length)return!0;for(let r=0;rObject.create(Jn),Zn=e=>Object.getPrototypeOf(e)===Jn;function Xn(e,t,a,n=!1){const r={},s=qn();e.propsDefaults=Object.create(null),Qn(e,t,r,s);for(const i in e.propsOptions[0])i in r||(r[i]=void 0);a?e.props=n?r:xt(r,!1,st,ht,mt):e.type.props?e.props=r:e.props=s,e.attrs=s}function Qn(e,t,a,n){const[r,s]=e.propsOptions;let i,o=!1;if(t)for(let l in t){if(P(l))continue;const c=t[l];let u;r&&b(r,u=O(l))?s&&s.includes(u)?(i||(i={}))[u]=c:a[u]=c:Yn(e.emitsOptions,l)||l in n&&c===n[l]||(n[l]=c,o=!0)}if(s){const t=Ft(a),n=i||u;for(let i=0;i{l=!0;const[a,n]=ar(e,t,!0);g(i,a),n&&o.push(...n)};!a&&t.mixins.length&&t.mixins.forEach(n),e.extends&&n(e.extends),e.mixins&&e.mixins.forEach(n)}if(!s&&!l)return D(e)&&n.set(e,d),d;if(w(s))for(let d=0;d"_"===e||"_ctx"===e||"$stable"===e,sr=e=>w(e)?e.map(zr):[zr(e)],ir=(e,t,a)=>{if(t._n)return t;const n=la((...e)=>sr(t(...e)),a);return n._c=!1,n},or=(e,t,a)=>{const n=e._ctx;for(const r in e){if(rr(r))continue;const a=e[r];if(E(a))t[r]=ir(0,a,n);else if(null!=a){const e=sr(a);t[r]=()=>e}}},lr=(e,t)=>{const a=sr(t);e.slots.default=()=>a},cr=(e,t,a)=>{for(const n in t)!a&&rr(n)||(e[n]=t[n])},ur=function(e,t){t&&t.pendingBranch?w(e)?t.effects.push(...e):t.effects.push(e):ea(e)};function dr(e){return function(e){V().__VUE__=!0;const{insert:t,remove:a,patchProp:n,createElement:r,createText:s,createComment:i,setText:o,setElementText:l,parentNode:c,nextSibling:p,setScopeId:f=h,insertStaticContent:m}=e,g=(e,t,a,n=null,r=null,s=null,i=void 0,o=null,l=!!t.dynamicChildren)=>{if(e===t)return;e&&!Nr(e,t)&&(n=X(e),W(e,r,s,!0),e=null),-2===t.patchFlag&&(l=!1,t.dynamicChildren=null);const{type:c,ref:u,shapeFlag:d}=t;switch(c){case wr:y(e,t,a,n);break;case xr:v(e,t,a,n);break;case kr:null==e&&w(t,a,n,i);break;case br:I(e,t,a,n,r,s,i,o,l);break;default:1&d?_(e,t,a,n,r,s,i,o,l):6&d?N(e,t,a,n,r,s,i,o,l):(64&d||128&d)&&c.process(e,t,a,n,r,s,i,o,l,te)}null!=u&&r?Wa(u,e&&e.ref,s,t||e,!t):null==u&&e&&null!=e.ref&&Wa(e.ref,null,s,e,!0)},y=(e,a,n,r)=>{if(null==e)t(a.el=s(a.children),n,r);else{const t=a.el=e.el;a.children!==e.children&&o(t,a.children)}},v=(e,a,n,r)=>{null==e?t(a.el=i(a.children||""),n,r):a.el=e.el},w=(e,t,a,n)=>{[e.el,e.anchor]=m(e.children,t,a,n,e.el,e.anchor)},x=({el:e,anchor:a},n,r)=>{let s;for(;e&&e!==a;)s=p(e),t(e,n,r),e=s;t(a,n,r)},k=({el:e,anchor:t})=>{let n;for(;e&&e!==t;)n=p(e),a(e),e=n;a(t)},_=(e,t,a,n,r,s,i,o,l)=>{if("svg"===t.type?i="svg":"math"===t.type&&(i="mathml"),null==e)E(t,a,n,r,s,i,o,l);else{const a=e.el&&e.el._isVueCE?e.el:null;try{a&&a._beginPatch(),D(e,t,r,s,i,o,l)}finally{a&&a._endPatch()}}},E=(e,a,s,i,o,c,u,d)=>{let h,p;const{props:f,shapeFlag:m,transition:g,dirs:y}=e;if(h=e.el=r(e.type,c,f&&f.is,f),8&m?l(h,e.children):16&m&&F(e.children,h,null,i,o,hr(e,c),u,d),y&&ua(e,null,i,"created"),C(h,e,e.scopeId,u,i),f){for(const e in f)"value"===e||P(e)||n(h,e,null,f[e],c,i);"value"in f&&n(h,"value",null,f.value,c),(p=f.onVnodeBeforeMount)&&Yr(p,i,e)}y&&ua(e,null,i,"beforeMount");const v=function(e,t){return(!e||e&&!e.pendingBranch)&&t&&!t.persisted}(o,g);v&&g.beforeEnter(h),t(h,a,s),((p=f&&f.onVnodeMounted)||v||y)&&ur(()=>{p&&Yr(p,i,e),v&&g.enter(h),y&&ua(e,null,i,"mounted")},o)},C=(e,t,a,n,r)=>{if(a&&f(e,a),n)for(let s=0;s{for(let c=l;c{const c=t.el=e.el;let{patchFlag:d,dynamicChildren:h,dirs:p}=t;d|=16&e.patchFlag;const f=e.props||u,m=t.props||u;let g;if(a&&pr(a,!1),(g=m.onVnodeBeforeUpdate)&&Yr(g,a,t,e),p&&ua(t,e,a,"beforeUpdate"),a&&pr(a,!0),(f.innerHTML&&null==m.innerHTML||f.textContent&&null==m.textContent)&&l(c,""),h?T(e.dynamicChildren,h,c,a,r,hr(t,s),i):o||R(e,t,c,null,a,r,hr(t,s),i,!1),d>0){if(16&d)S(c,f,m,a,s);else if(2&d&&f.class!==m.class&&n(c,"class",null,m.class,s),4&d&&n(c,"style",f.style,m.style,s),8&d){const e=t.dynamicProps;for(let t=0;t{g&&Yr(g,a,t,e),p&&ua(t,e,a,"updated")},r)},T=(e,t,a,n,r,s,i)=>{for(let o=0;o{if(t!==a){if(t!==u)for(const i in t)P(i)||i in a||n(e,i,t[i],null,s,r);for(const i in a){if(P(i))continue;const o=a[i],l=t[i];o!==l&&"value"!==i&&n(e,i,l,o,s,r)}"value"in a&&n(e,"value",t.value,a.value,s)}},I=(e,a,n,r,i,o,l,c,u)=>{const d=a.el=e?e.el:s(""),h=a.anchor=e?e.anchor:s("");let{patchFlag:p,dynamicChildren:f,slotScopeIds:m}=a;m&&(c=c?c.concat(m):m),null==e?(t(d,n,r),t(h,n,r),F(a.children||[],n,h,i,o,l,c,u)):p>0&&64&p&&f&&e.dynamicChildren&&e.dynamicChildren.length===f.length?(T(e.dynamicChildren,f,n,i,o,l,c),(null!=a.key||i&&a===i.subTree)&&fr(e,a,!0)):R(e,a,n,h,i,o,l,c,u)},N=(e,t,a,n,r,s,i,o,l)=>{t.slotScopeIds=o,null==e?512&t.shapeFlag?r.ctx.activate(t,a,n,i,l):B(t,a,n,r,s,i,l):M(e,t,l)},B=(e,t,a,n,r,s,i)=>{const o=e.component=function(e,t,a){const n=e.type,r=(t?t.appContext:e.appContext)||Gr,s={uid:Wr++,vnode:e,type:n,parent:t,appContext:r,root:null,next:null,subTree:null,effect:null,update:null,job:null,scope:new de(!0),render:null,proxy:null,exposed:null,exposeProxy:null,withProxy:null,provides:t?t.provides:Object.create(r.provides),ids:t?t.ids:["",0,0],accessCache:null,renderCache:[],components:null,directives:null,propsOptions:ar(n,r),emitsOptions:$n(n,r),emit:null,emitted:null,propsDefaults:u,inheritAttrs:n.inheritAttrs,ctx:u,data:u,props:u,attrs:u,slots:u,refs:u,setupState:u,setupContext:null,suspense:a,suspenseId:a?a.pendingId:0,asyncDep:null,asyncResolved:!1,isMounted:!1,isUnmounted:!1,isDeactivated:!1,bc:null,c:null,bm:null,m:null,bu:null,u:null,um:null,bum:null,da:null,a:null,rtg:null,rtc:null,ec:null,sp:null};s.ctx={_:s},s.root=t?t.root:s,s.emit=zn.bind(null,s),e.ce&&e.ce(s);return s}(e,n,r);if(Ja(e)&&(o.ctx.renderer=te),function(e,t=!1,a=!1){t&&qr(t);const{props:n,children:r}=e.vnode,s=Qr(e);Xn(e,n,s,t),((e,t,a)=>{const n=e.slots=qn();if(32&e.vnode.shapeFlag){const e=t._;e?(cr(n,t,a),a&&Y(n,"_",e,!0)):or(t,n)}else t&&lr(e,t)})(e,r,a||t);const i=s?function(e,t){const a=e.type;e.accessCache=Object.create(null),e.proxy=new Proxy(e.ctx,_n);const{setup:n}=a;if(n){Ae();const a=e.setupContext=n.length>1?function(e){const t=t=>{e.exposed=t||{}};return{attrs:new Proxy(e.attrs,ns),slots:e.slots,emit:e.emit,expose:t}}(e):null,r=Zr(e),s=zt(n,e,0,[e.props,a]),i=A(s);if(Te(),r(),!i&&!e.sp||Ka(e)||Ya(e),i){if(s.then(Xr,Xr),t)return s.then(t=>{ts(e,t)}).catch(t=>{$t(t,e,0)});e.asyncDep=s}else ts(e,s)}else as(e)}(e,t):void 0;t&&qr(!1)}(o,!1,i),o.asyncDep){if(r&&r.registerDep(o,U,i),!e.el){const n=o.subTree=Or(xr);v(null,n,t,a),e.placeholder=n.el}}else U(o,e,t,a,r,s,i)},M=(e,t,a)=>{const n=t.component=e.component;if(function(e,t,a){const{props:n,children:r,component:s}=e,{props:i,children:o,patchFlag:l}=t,c=s.emitsOptions;if(t.dirs||t.transition)return!0;if(!(a&&l>=0))return!(!r&&!o||o&&o.$stable)||n!==i&&(n?!i||Kn(n,i,c):!!i);if(1024&l)return!0;if(16&l)return n?Kn(n,i,c):!!i;if(8&l){const e=t.dynamicProps;for(let t=0;t{const o=()=>{if(e.isMounted){let{next:t,bu:a,u:n,parent:l,vnode:u}=e;{const a=mr(e);if(a)return t&&(t.el=u.el,L(e,t,i)),void a.asyncDep.then(()=>{e.isUnmounted||o()})}let d,h=t;pr(e,!1),t?(t.el=u.el,L(e,t,i)):t=u,a&&H(a),(d=t.props&&t.props.onVnodeBeforeUpdate)&&Yr(d,l,t,u),pr(e,!0);const p=Gn(e),f=e.subTree;e.subTree=p,g(f,p,c(f.el),X(f),e,r,s),t.el=p.el,null===h&&function({vnode:e,parent:t},a){for(;t;){const n=t.subTree;if(n.suspense&&n.suspense.activeBranch===e&&(n.el=e.el),n!==e)break;(e=t.vnode).el=a,t=t.parent}}(e,p.el),n&&ur(n,r),(d=t.props&&t.props.onVnodeUpdated)&&ur(()=>Yr(d,l,t,u),r)}else{let i;const{el:o,props:l}=t,{bm:c,m:u,parent:d,root:h,type:p}=e,f=Ka(t);pr(e,!1),c&&H(c),!f&&(i=l&&l.onVnodeBeforeMount)&&Yr(i,d,t),pr(e,!0);{h.ce&&!1!==h.ce._def.shadowRoot&&h.ce._injectChildStyle(p);const i=e.subTree=Gn(e);g(null,i,a,n,e,r,s),t.el=i.el}if(u&&ur(u,r),!f&&(i=l&&l.onVnodeMounted)){const e=t;ur(()=>Yr(i,d,e),r)}(256&t.shapeFlag||d&&Ka(d.vnode)&&256&d.vnode.shapeFlag)&&e.a&&ur(e.a,r),e.isMounted=!0,t=a=n=null}};e.scope.on();const l=e.effect=new pe(o);e.scope.off();const u=e.update=l.run.bind(l),d=e.job=l.runIfDirty.bind(l);d.i=e,d.id=e.uid,l.scheduler=()=>Xt(d),pr(e,!0),u()},L=(e,t,a)=>{t.component=e;const n=e.vnode.props;e.vnode=t,e.next=null,function(e,t,a,n){const{props:r,attrs:s,vnode:{patchFlag:i}}=e,o=Ft(r),[l]=e.propsOptions;let c=!1;if(!(n||i>0)||16&i){let n;Qn(e,t,r,s)&&(c=!0);for(const s in o)t&&(b(t,s)||(n=j(s))!==s&&b(t,n))||(l?!a||void 0===a[s]&&void 0===a[n]||(r[s]=er(l,o,s,void 0,e,!0)):delete r[s]);if(s!==o)for(const e in s)t&&b(t,e)||(delete s[e],c=!0)}else if(8&i){const a=e.vnode.dynamicProps;for(let n=0;n{const{vnode:n,slots:r}=e;let s=!0,i=u;if(32&n.shapeFlag){const e=t._;e?a&&1===e?s=!1:cr(r,t,a):(s=!t.$stable,or(t,r)),i=t}else t&&(lr(e,t),i={default:1});if(s)for(const o in r)rr(o)||null!=i[o]||delete r[o]})(e,t.children,a),Ae(),ta(e),Te()},R=(e,t,a,n,r,s,i,o,c=!1)=>{const u=e&&e.children,d=e?e.shapeFlag:0,h=t.children,{patchFlag:p,shapeFlag:f}=t;if(p>0){if(128&p)return void $(u,h,a,n,r,s,i,o,c);if(256&p)return void z(u,h,a,n,r,s,i,o,c)}8&f?(16&d&&Z(u,r,s),h!==u&&l(a,h)):16&d?16&f?$(u,h,a,n,r,s,i,o,c):Z(u,r,s,!0):(8&d&&l(a,""),16&f&&F(h,a,n,r,s,i,o,c))},z=(e,t,a,n,r,s,i,o,l)=>{t=t||d;const c=(e=e||d).length,u=t.length,h=Math.min(c,u);let p;for(p=0;pu?Z(e,r,s,!0,!1,h):F(t,a,n,r,s,i,o,l,h)},$=(e,t,a,n,r,s,i,o,l)=>{let c=0;const u=t.length;let h=e.length-1,p=u-1;for(;c<=h&&c<=p;){const n=e[c],u=t[c]=l?Hr(t[c]):zr(t[c]);if(!Nr(n,u))break;g(n,u,a,null,r,s,i,o,l),c++}for(;c<=h&&c<=p;){const n=e[h],c=t[p]=l?Hr(t[p]):zr(t[p]);if(!Nr(n,c))break;g(n,c,a,null,r,s,i,o,l),h--,p--}if(c>h){if(c<=p){const e=p+1,d=ep)for(;c<=h;)W(e[c],r,s,!0),c++;else{const f=c,m=c,y=new Map;for(c=m;c<=p;c++){const e=t[c]=l?Hr(t[c]):zr(t[c]);null!=e.key&&y.set(e.key,c)}let v,b=0;const w=p-m+1;let x=!1,k=0;const _=new Array(w);for(c=0;c=w){W(n,r,s,!0);continue}let u;if(null!=n.key)u=y.get(n.key);else for(v=m;v<=p;v++)if(0===_[v-m]&&Nr(n,t[v])){u=v;break}void 0===u?W(n,r,s,!0):(_[u-m]=c+1,u>=k?k=u:x=!0,g(n,t[u],a,null,r,s,i,o,l),b++)}const E=x?function(e){const t=e.slice(),a=[0];let n,r,s,i,o;const l=e.length;for(n=0;n>1,e[a[o]]0&&(t[n]=a[s-1]),a[s]=n)}}s=a.length,i=a[s-1];for(;s-- >0;)a[s]=i,i=t[i];return a}(_):d;for(v=E.length-1,c=w-1;c>=0;c--){const e=m+c,d=t[e],h=t[e+1],p=e+1{const{el:o,type:l,transition:c,children:u,shapeFlag:d}=e;if(6&d)return void G(e.component.subTree,n,r,s);if(128&d)return void e.suspense.move(n,r,s);if(64&d)return void l.move(e,n,r,te);if(l===br){t(o,n,r);for(let e=0;ec.enter(o),i);else{const{leave:s,delayLeave:i,afterLeave:l}=c,u=()=>{e.ctx.isUnmounted?a(o):t(o,n,r)},d=()=>{o._isLeaving&&o[Ta](!0),s(o,()=>{u(),l&&l()})};i?i(o,u,d):d()}else t(o,n,r)},W=(e,t,a,n=!1,r=!1)=>{const{type:s,props:i,ref:o,children:l,dynamicChildren:c,shapeFlag:u,patchFlag:d,dirs:h,cacheIndex:p}=e;if(-2===d&&(r=!1),null!=o&&(Ae(),Wa(o,null,a,e,!0),Te()),null!=p&&(t.renderCache[p]=void 0),256&u)return void t.ctx.deactivate(e);const f=1&u&&h,m=!Ka(e);let g;if(m&&(g=i&&i.onVnodeBeforeUnmount)&&Yr(g,t,e),6&u)q(e.component,a,n);else{if(128&u)return void e.suspense.unmount(a,n);f&&ua(e,null,t,"beforeUnmount"),64&u?e.type.remove(e,t,a,te,n):c&&!c.hasOnce&&(s!==br||d>0&&64&d)?Z(c,t,a,!1,!0):(s===br&&384&d||!r&&16&u)&&Z(l,t,a),n&&K(e)}(m&&(g=i&&i.onVnodeUnmounted)||f)&&ur(()=>{g&&Yr(g,t,e),f&&ua(e,null,t,"unmounted")},a)},K=e=>{const{type:t,el:n,anchor:r,transition:s}=e;if(t===br)return void J(n,r);if(t===kr)return void k(e);const i=()=>{a(n),s&&!s.persisted&&s.afterLeave&&s.afterLeave()};if(1&e.shapeFlag&&s&&!s.persisted){const{leave:t,delayLeave:a}=s,r=()=>t(n,i);a?a(e.el,i,r):r()}else i()},J=(e,t)=>{let n;for(;e!==t;)n=p(e),a(e),e=n;a(t)},q=(e,t,a)=>{const{bum:n,scope:r,job:s,subTree:i,um:o,m:l,a:c}=e;gr(l),gr(c),n&&H(n),r.stop(),s&&(s.flags|=8,W(i,e,t,a)),o&&ur(o,t),ur(()=>{e.isUnmounted=!0},t)},Z=(e,t,a,n=!1,r=!1,s=0)=>{for(let i=s;i{if(6&e.shapeFlag)return X(e.component.subTree);if(128&e.shapeFlag)return e.suspense.next();const t=p(e.anchor||e.el),a=t&&t[ya];return a?p(a):t};let Q=!1;const ee=(e,t,a)=>{let n;null==e?t._vnode&&(W(t._vnode,null,null,!0),n=t._vnode.component):g(t._vnode||null,e,t,null,null,null,a),t._vnode=e,Q||(Q=!0,ta(n),aa(),Q=!1)},te={p:g,um:W,m:G,r:K,mt:B,mc:F,pc:R,pbc:T,n:X,o:e};let ae;return{render:ee,hydrate:ae,createApp:Ln(ee)}}(e)}function hr({type:e,props:t},a){return"svg"===a&&"foreignObject"===e||"mathml"===a&&"annotation-xml"===e&&t&&t.encoding&&t.encoding.includes("html")?void 0:a}function pr({effect:e,job:t},a){a?(e.flags|=32,t.flags|=4):(e.flags&=-33,t.flags&=-5)}function fr(e,t,a=!1){const n=e.children,r=t.children;if(w(n)&&w(r))for(let s=0;se.__isSuspense;const br=Symbol.for("v-fgt"),wr=Symbol.for("v-txt"),xr=Symbol.for("v-cmt"),kr=Symbol.for("v-stc"),_r=[];let Er=null;function Cr(e=!1){_r.push(Er=e?null:[])}let Fr=1;function Dr(e,t=!1){Fr+=e,e<0&&Er&&t&&(Er.hasOnce=!0)}function Ar(e){return e.dynamicChildren=Fr>0?Er||d:null,_r.pop(),Er=_r[_r.length-1]||null,Fr>0&&Er&&Er.push(e),e}function Tr(e,t,a,n,r,s){return Ar(Mr(e,t,a,n,r,s,!0))}function Sr(e,t,a,n,r){return Ar(Or(e,t,a,n,r,!0))}function Ir(e){return!!e&&!0===e.__v_isVNode}function Nr(e,t){return e.type===t.type&&e.key===t.key}const Pr=({key:e})=>null!=e?e:null,Br=({ref:e,ref_key:t,ref_for:a})=>("number"==typeof e&&(e=""+e),null!=e?C(e)||Tt(e)||E(e)?{i:sa,r:e,k:t,f:!!a}:e:null);function Mr(e,t=null,a=null,n=0,r=null,s=(e===br?0:1),i=!1,o=!1){const l={__v_isVNode:!0,__v_skip:!0,type:e,props:t,key:t&&Pr(t),ref:t&&Br(t),scopeId:ia,slotScopeIds:null,children:a,component:null,suspense:null,ssContent:null,ssFallback:null,dirs:null,transition:null,el:null,anchor:null,target:null,targetStart:null,targetAnchor:null,staticCount:0,shapeFlag:s,patchFlag:n,dynamicProps:r,dynamicChildren:null,appContext:null,ctx:sa};return o?($r(l,a),128&s&&e.normalize(l)):a&&(l.shapeFlag|=C(a)?8:16),Fr>0&&!i&&Er&&(l.patchFlag>0||6&s)&&32!==l.patchFlag&&Er.push(l),l}const Or=function(e,t=null,a=null,n=0,r=null,s=!1){e&&e!==fn||(e=xr);if(Ir(e)){const n=Ur(e,t,!0);return a&&$r(n,a),Fr>0&&!s&&Er&&(6&n.shapeFlag?Er[Er.indexOf(e)]=n:Er.push(n)),n.patchFlag=-2,n}i=e,E(i)&&"__vccOpts"in i&&(e=e.__vccOpts);var i;if(t){t=function(e){return e?Ct(e)||Zn(e)?g({},e):e:null}(t);let{class:e,style:a}=t;e&&!C(e)&&(t.class=Q(e)),D(a)&&(Ct(a)&&!w(a)&&(a=g({},a)),t.style=K(a))}const o=C(e)?1:vr(e)?128:va(e)?64:D(e)?4:E(e)?2:0;return Mr(e,t,a,n,r,o,s,!0)};function Ur(e,t,a=!1,n=!1){const{props:r,ref:s,patchFlag:i,children:o,transition:l}=e,c=t?function(...e){const t={};for(let a=0;aVr||sa;let Jr,qr;{const e=V(),t=(t,a)=>{let n;return(n=e[t])||(n=e[t]=[]),n.push(a),e=>{n.length>1?n.forEach(t=>t(e)):n[0](e)}};Jr=t("__VUE_INSTANCE_SETTERS__",e=>Vr=e),qr=t("__VUE_SSR_SETTERS__",e=>es=e)}const Zr=e=>{const t=Vr;return Jr(e),e.scope.on(),()=>{e.scope.off(),Jr(t)}},Xr=()=>{Vr&&Vr.scope.off(),Jr(null)};function Qr(e){return 4&e.vnode.shapeFlag}let es=!1;function ts(e,t,a){E(t)?e.type.__ssrInlineRender?e.ssrRender=t:e.render=t:D(t)&&(e.setupState=Bt(t)),as(e)}function as(e,t,a){const n=e.type;e.render||(e.render=n.render||h);{const t=Zr(e);Ae();try{Fn(e)}finally{Te(),t()}}}const ns={get:(e,t)=>(Le(e,0,""),e[t])};function rs(e){return e.exposed?e.exposeProxy||(e.exposeProxy=new Proxy(Bt((t=e.exposed,!b(t,"__v_skip")&&Object.isExtensible(t)&&Y(t,"__v_skip",!0),t)),{get:(t,a)=>a in t?t[a]:a in xn?xn[a](e):void 0,has:(e,t)=>t in e||t in xn})):e.proxy;var t}function ss(e,t=!0){return E(e)?e.displayName||e.name:e.name||t&&e.__name}const is=(e,t)=>{const a=function(e,t,a=!1){let n,r;return E(e)?n=e:(n=e.get,r=e.set),new Mt(n,r,a)}(e,0,es);return a};const os="3.5.26";let ls;const cs="undefined"!=typeof window&&window.trustedTypes;if(cs)try{ls=cs.createPolicy("vue",{createHTML:e=>e})}catch(mB){}const us=ls?e=>ls.createHTML(e):e=>e,ds="undefined"!=typeof document?document:null,hs=ds&&ds.createElement("template"),ps={insert:(e,t,a)=>{t.insertBefore(e,a||null)},remove:e=>{const t=e.parentNode;t&&t.removeChild(e)},createElement:(e,t,a,n)=>{const r="svg"===t?ds.createElementNS("http://www.w3.org/2000/svg",e):"mathml"===t?ds.createElementNS("http://www.w3.org/1998/Math/MathML",e):a?ds.createElement(e,{is:a}):ds.createElement(e);return"select"===e&&n&&null!=n.multiple&&r.setAttribute("multiple",n.multiple),r},createText:e=>ds.createTextNode(e),createComment:e=>ds.createComment(e),setText:(e,t)=>{e.nodeValue=t},setElementText:(e,t)=>{e.textContent=t},parentNode:e=>e.parentNode,nextSibling:e=>e.nextSibling,querySelector:e=>ds.querySelector(e),setScopeId(e,t){e.setAttribute(t,"")},insertStaticContent(e,t,a,n,r,s){const i=a?a.previousSibling:t.lastChild;if(r&&(r===s||r.nextSibling))for(;t.insertBefore(r.cloneNode(!0),a),r!==s&&(r=r.nextSibling););else{hs.innerHTML=us("svg"===n?`${e}`:"mathml"===n?`${e}`:e);const r=hs.content;if("svg"===n||"mathml"===n){const e=r.firstChild;for(;e.firstChild;)r.appendChild(e.firstChild);r.removeChild(e)}t.insertBefore(r,a)}return[i?i.nextSibling:t.firstChild,a?a.previousSibling:t.lastChild]}},fs="transition",ms="animation",gs=Symbol("_vtc"),ys={name:String,type:String,css:{type:Boolean,default:!0},duration:[String,Number,Object],enterFromClass:String,enterActiveClass:String,enterToClass:String,appearFromClass:String,appearActiveClass:String,appearToClass:String,leaveFromClass:String,leaveActiveClass:String,leaveToClass:String},vs=g({},Pa,ys),bs=e=>(e.displayName="Transition",e.props=vs,e),ws=bs((e,{slots:t})=>function(e,t,a){try{Dr(-1);const n=arguments.length;return 2===n?D(t)&&!w(t)?Ir(t)?Or(e,null,[t]):Or(e,t):Or(e,null,t):(n>3?a=Array.prototype.slice.call(arguments,2):3===n&&Ir(a)&&(a=[a]),Or(e,t,a))}finally{Dr(1)}}(Oa,_s(e),t)),xs=(e,t=[])=>{w(e)?e.forEach(e=>e(...t)):e&&e(...t)},ks=e=>!!e&&(w(e)?e.some(e=>e.length>1):e.length>1);function _s(e){const t={};for(const g in e)g in ys||(t[g]=e[g]);if(!1===e.css)return t;const{name:a="v",type:n,duration:r,enterFromClass:s=`${a}-enter-from`,enterActiveClass:i=`${a}-enter-active`,enterToClass:o=`${a}-enter-to`,appearFromClass:l=s,appearActiveClass:c=i,appearToClass:u=o,leaveFromClass:d=`${a}-leave-from`,leaveActiveClass:h=`${a}-leave-active`,leaveToClass:p=`${a}-leave-to`}=e,f=function(e){if(null==e)return null;if(D(e))return[Es(e.enter),Es(e.leave)];{const t=Es(e);return[t,t]}}(r),m=f&&f[0],y=f&&f[1],{onBeforeEnter:v,onEnter:b,onEnterCancelled:w,onLeave:x,onLeaveCancelled:k,onBeforeAppear:_=v,onAppear:E=b,onAppearCancelled:C=w}=t,F=(e,t,a,n)=>{e._enterCancelled=n,Fs(e,t?u:o),Fs(e,t?c:i),a&&a()},A=(e,t)=>{e._isLeaving=!1,Fs(e,d),Fs(e,p),Fs(e,h),t&&t()},T=e=>(t,a)=>{const r=e?E:b,i=()=>F(t,e,a);xs(r,[t,i]),Ds(()=>{Fs(t,e?l:s),Cs(t,e?u:o),ks(r)||Ts(t,n,m,i)})};return g(t,{onBeforeEnter(e){xs(v,[e]),Cs(e,s),Cs(e,i)},onBeforeAppear(e){xs(_,[e]),Cs(e,l),Cs(e,c)},onEnter:T(!1),onAppear:T(!0),onLeave(e,t){e._isLeaving=!0;const a=()=>A(e,t);Cs(e,d),e._enterCancelled?(Cs(e,h),Ps(e)):(Ps(e),Cs(e,h)),Ds(()=>{e._isLeaving&&(Fs(e,d),Cs(e,p),ks(x)||Ts(e,n,y,a))}),xs(x,[e,a])},onEnterCancelled(e){F(e,!1,void 0,!0),xs(w,[e])},onAppearCancelled(e){F(e,!0,void 0,!0),xs(C,[e])},onLeaveCancelled(e){A(e),xs(k,[e])}})}function Es(e){const t=(e=>{const t=C(e)?Number(e):NaN;return isNaN(t)?e:t})(e);return t}function Cs(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.add(t)),(e[gs]||(e[gs]=new Set)).add(t)}function Fs(e,t){t.split(/\s+/).forEach(t=>t&&e.classList.remove(t));const a=e[gs];a&&(a.delete(t),a.size||(e[gs]=void 0))}function Ds(e){requestAnimationFrame(()=>{requestAnimationFrame(e)})}let As=0;function Ts(e,t,a,n){const r=e._endId=++As,s=()=>{r===e._endId&&n()};if(null!=a)return setTimeout(s,a);const{type:i,timeout:o,propCount:l}=Ss(e,t);if(!i)return n();const c=i+"end";let u=0;const d=()=>{e.removeEventListener(c,h),s()},h=t=>{t.target===e&&++u>=l&&d()};setTimeout(()=>{u(a[e]||"").split(", "),r=n(`${fs}Delay`),s=n(`${fs}Duration`),i=Is(r,s),o=n(`${ms}Delay`),l=n(`${ms}Duration`),c=Is(o,l);let u=null,d=0,h=0;t===fs?i>0&&(u=fs,d=i,h=s.length):t===ms?c>0&&(u=ms,d=c,h=l.length):(d=Math.max(i,c),u=d>0?i>c?fs:ms:null,h=u?u===fs?s.length:l.length:0);return{type:u,timeout:d,propCount:h,hasTransform:u===fs&&/\b(?:transform|all)(?:,|$)/.test(n(`${fs}Property`).toString())}}function Is(e,t){for(;e.lengthNs(t)+Ns(e[a])))}function Ns(e){return"auto"===e?0:1e3*Number(e.slice(0,-1).replace(",","."))}function Ps(e){return(e?e.ownerDocument:document).body.offsetHeight}const Bs=Symbol("_vod"),Ms=Symbol("_vsh"),Os={name:"show",beforeMount(e,{value:t},{transition:a}){e[Bs]="none"===e.style.display?"":e.style.display,a&&t?a.beforeEnter(e):Us(e,t)},mounted(e,{value:t},{transition:a}){a&&t&&a.enter(e)},updated(e,{value:t,oldValue:a},{transition:n}){!t!=!a&&(n?t?(n.beforeEnter(e),Us(e,!0),n.enter(e)):n.leave(e,()=>{Us(e,!1)}):Us(e,t))},beforeUnmount(e,{value:t}){Us(e,t)}};function Us(e,t){e.style.display=t?e[Bs]:"none",e[Ms]=!t}const js=Symbol("");function Ls(e){const t=Kr();if(!t)return;const a=t.ut=(a=e(t.proxy))=>{Array.from(document.querySelectorAll(`[data-v-owner="${t.uid}"]`)).forEach(e=>zs(e,a))},n=()=>{const n=e(t.proxy);t.ce?zs(t.ce,n):Rs(t.subTree,n),a(n)};rn(()=>{ea(n)}),nn(()=>{pa(n,h,{flush:"post"});const e=new MutationObserver(n);e.observe(t.subTree.el.parentNode,{childList:!0}),ln(()=>e.disconnect())})}function Rs(e,t){if(128&e.shapeFlag){const a=e.suspense;e=a.activeBranch,a.pendingBranch&&!a.isHydrating&&a.effects.push(()=>{Rs(a.activeBranch,t)})}for(;e.component;)e=e.component.subTree;if(1&e.shapeFlag&&e.el)zs(e.el,t);else if(e.type===br)e.children.forEach(e=>Rs(e,t));else if(e.type===kr){let{el:a,anchor:n}=e;for(;a&&(zs(a,t),a!==n);)a=a.nextSibling}}function zs(e,t){if(1===e.nodeType){const a=e.style;let n="";for(const e in t){const r=le(t[e]);a.setProperty(`--${e}`,r),n+=`--${e}: ${r};`}a[js]=n}}const Hs=/(?:^|;)\s*display\s*:/;const $s=/\s*!important$/;function Ys(e,t,a){if(w(a))a.forEach(a=>Ys(e,t,a));else if(null==a&&(a=""),t.startsWith("--"))e.setProperty(t,a);else{const n=function(e,t){const a=Ws[t];if(a)return a;let n=O(t);if("filter"!==n&&n in e)return Ws[t]=n;n=L(n);for(let r=0;r{if(e._vts){if(e._vts<=a.attached)return}else e._vts=Date.now();Ht(function(e,t){if(w(t)){const a=e.stopImmediatePropagation;return e.stopImmediatePropagation=()=>{a.call(e),e._stopped=!0},t.map(e=>t=>!t._stopped&&e&&e(t))}return t}(e,a.value),t,5,[e])};return a.value=e,a.attached=ai(),a}(n,r);qs(e,a,i,o)}else i&&(!function(e,t,a,n){e.removeEventListener(t,a,n)}(e,a,i,o),s[t]=void 0)}}const Qs=/(?:Once|Passive|Capture)$/;let ei=0;const ti=Promise.resolve(),ai=()=>ei||(ti.then(()=>ei=0),ei=Date.now());const ni=e=>111===e.charCodeAt(0)&&110===e.charCodeAt(1)&&e.charCodeAt(2)>96&&e.charCodeAt(2)<123;const ri=new WeakMap,si=new WeakMap,ii=Symbol("_moveCb"),oi=Symbol("_enterCb"),li=e=>(delete e.props.mode,e),ci=li({name:"TransitionGroup",props:g({},vs,{tag:String,moveClass:String}),setup(e,{slots:t}){const a=Kr(),n=Ia();let r,s;return sn(()=>{if(!r.length)return;const t=e.moveClass||`${e.name||"v"}-move`;if(!function(e,t,a){const n=e.cloneNode(),r=e[gs];r&&r.forEach(e=>{e.split(/\s+/).forEach(e=>e&&n.classList.remove(e))});a.split(/\s+/).forEach(e=>e&&n.classList.add(e)),n.style.display="none";const s=1===t.nodeType?t:t.parentNode;s.appendChild(n);const{hasTransform:i}=Ss(n);return s.removeChild(n),i}(r[0].el,a.vnode.el,t))return void(r=[]);r.forEach(di),r.forEach(hi);const n=r.filter(pi);Ps(a.vnode.el),n.forEach(e=>{const a=e.el,n=a.style;Cs(a,t),n.transform=n.webkitTransform=n.transitionDuration="";const r=a[ii]=e=>{e&&e.target!==a||e&&!e.propertyName.endsWith("transform")||(a.removeEventListener("transitionend",r),a[ii]=null,Fs(a,t))};a.addEventListener("transitionend",r)}),r=[]}),()=>{const i=Ft(e),o=_s(i);let l=i.tag||br;if(r=[],s)for(let e=0;e{const t=e.props["onUpdate:modelValue"]||!1;return w(t)?e=>H(t,e):t};function mi(e){e.target.composing=!0}function gi(e){const t=e.target;t.composing&&(t.composing=!1,t.dispatchEvent(new Event("input")))}const yi=Symbol("_assign");function vi(e,t,a){return t&&(e=e.trim()),a&&(e=G(e)),e}const bi={created(e,{modifiers:{lazy:t,trim:a,number:n}},r){e[yi]=fi(r);const s=n||r.props&&"number"===r.props.type;qs(e,t?"change":"input",t=>{t.target.composing||e[yi](vi(e.value,a,s))}),(a||s)&&qs(e,"change",()=>{e.value=vi(e.value,a,s)}),t||(qs(e,"compositionstart",mi),qs(e,"compositionend",gi),qs(e,"change",gi))},mounted(e,{value:t}){e.value=null==t?"":t},beforeUpdate(e,{value:t,oldValue:a,modifiers:{lazy:n,trim:r,number:s}},i){if(e[yi]=fi(i),e.composing)return;const o=null==t?"":t;if((!s&&"number"!==e.type||/^0\d/.test(e.value)?e.value:G(e.value))!==o){if(document.activeElement===e&&"range"!==e.type){if(n&&t===a)return;if(r&&e.value.trim()===o)return}e.value=o}}},wi={deep:!0,created(e,t,a){e[yi]=fi(a),qs(e,"change",()=>{const t=e._modelValue,a=Ci(e),n=e.checked,r=e[yi];if(w(t)){const e=ne(t,a),s=-1!==e;if(n&&!s)r(t.concat(a));else if(!n&&s){const a=[...t];a.splice(e,1),r(a)}}else if(k(t)){const e=new Set(t);n?e.add(a):e.delete(a),r(e)}else r(Fi(e,n))})},mounted:xi,beforeUpdate(e,t,a){e[yi]=fi(a),xi(e,t,a)}};function xi(e,{value:t,oldValue:a},n){let r;if(e._modelValue=t,w(t))r=ne(t,n.props.value)>-1;else if(k(t))r=t.has(n.props.value);else{if(t===a)return;r=ae(t,Fi(e,!0))}e.checked!==r&&(e.checked=r)}const ki={created(e,{value:t},a){e.checked=ae(t,a.props.value),e[yi]=fi(a),qs(e,"change",()=>{e[yi](Ci(e))})},beforeUpdate(e,{value:t,oldValue:a},n){e[yi]=fi(n),t!==a&&(e.checked=ae(t,n.props.value))}},_i={deep:!0,created(e,{value:t,modifiers:{number:a}},n){const r=k(t);qs(e,"change",()=>{const t=Array.prototype.filter.call(e.options,e=>e.selected).map(e=>a?G(Ci(e)):Ci(e));e[yi](e.multiple?r?new Set(t):t:t[0]),e._assigning=!0,Zt(()=>{e._assigning=!1})}),e[yi]=fi(n)},mounted(e,{value:t}){Ei(e,t)},beforeUpdate(e,t,a){e[yi]=fi(a)},updated(e,{value:t}){e._assigning||Ei(e,t)}};function Ei(e,t){const a=e.multiple,n=w(t);if(!a||n||k(t)){for(let r=0,s=e.options.length;rString(e)===String(i)):ne(t,i)>-1}else s.selected=t.has(i);else if(ae(Ci(s),t))return void(e.selectedIndex!==r&&(e.selectedIndex=r))}a||-1===e.selectedIndex||(e.selectedIndex=-1)}}function Ci(e){return"_value"in e?e._value:e.value}function Fi(e,t){const a=t?"_trueValue":"_falseValue";return a in e?e[a]:t}const Di={created(e,t,a){Ai(e,t,a,null,"created")},mounted(e,t,a){Ai(e,t,a,null,"mounted")},beforeUpdate(e,t,a,n){Ai(e,t,a,n,"beforeUpdate")},updated(e,t,a,n){Ai(e,t,a,n,"updated")}};function Ai(e,t,a,n,r){const s=function(e,t){switch(e){case"SELECT":return _i;case"TEXTAREA":return bi;default:switch(t){case"checkbox":return wi;case"radio":return ki;default:return bi}}}(e.tagName,a.props&&a.props.type)[r];s&&s(e,t,a,n)}const Ti=["ctrl","shift","alt","meta"],Si={stop:e=>e.stopPropagation(),prevent:e=>e.preventDefault(),self:e=>e.target!==e.currentTarget,ctrl:e=>!e.ctrlKey,shift:e=>!e.shiftKey,alt:e=>!e.altKey,meta:e=>!e.metaKey,left:e=>"button"in e&&0!==e.button,middle:e=>"button"in e&&1!==e.button,right:e=>"button"in e&&2!==e.button,exact:(e,t)=>Ti.some(a=>e[`${a}Key`]&&!t.includes(a))},Ii=(e,t)=>{const a=e._withMods||(e._withMods={}),n=t.join(".");return a[n]||(a[n]=(a,...n)=>{for(let e=0;e{const a=e._withKeys||(e._withKeys={}),n=t.join(".");return a[n]||(a[n]=a=>{if(!("key"in a))return;const n=j(a.key);return t.some(e=>e===n||Ni[e]===n)?e(a):void 0})},Bi=g({patchProp:(e,t,a,n,r,s)=>{const i="svg"===r;"class"===t?function(e,t,a){const n=e[gs];n&&(t=(t?[t,...n]:[...n]).join(" ")),null==t?e.removeAttribute("class"):a?e.setAttribute("class",t):e.className=t}(e,n,i):"style"===t?function(e,t,a){const n=e.style,r=C(a);let s=!1;if(a&&!r){if(t)if(C(t))for(const e of t.split(";")){const t=e.slice(0,e.indexOf(":")).trim();null==a[t]&&Ys(n,t,"")}else for(const e in t)null==a[e]&&Ys(n,e,"");for(const e in a)"display"===e&&(s=!0),Ys(n,e,a[e])}else if(r){if(t!==a){const e=n[js];e&&(a+=";"+e),n.cssText=a,s=Hs.test(a)}}else t&&e.removeAttribute("style");Bs in e&&(e[Bs]=s?n.display:"",e[Ms]&&(n.display="none"))}(e,a,n):f(t)?m(t)||Xs(e,t,0,n,s):("."===t[0]?(t=t.slice(1),1):"^"===t[0]?(t=t.slice(1),0):function(e,t,a,n){if(n)return"innerHTML"===t||"textContent"===t||!!(t in e&&ni(t)&&E(a));if("spellcheck"===t||"draggable"===t||"translate"===t||"autocorrect"===t)return!1;if("sandbox"===t&&"IFRAME"===e.tagName)return!1;if("form"===t)return!1;if("list"===t&&"INPUT"===e.tagName)return!1;if("type"===t&&"TEXTAREA"===e.tagName)return!1;if("width"===t||"height"===t){const t=e.tagName;if("IMG"===t||"VIDEO"===t||"CANVAS"===t||"SOURCE"===t)return!1}if(ni(t)&&C(a))return!1;return t in e}(e,t,n,i))?(Js(e,t,n),e.tagName.includes("-")||"value"!==t&&"checked"!==t&&"selected"!==t||Ks(e,t,n,i,0,"value"!==t)):!e._isVueCE||!/[A-Z]/.test(t)&&C(n)?("true-value"===t?e._trueValue=n:"false-value"===t&&(e._falseValue=n),Ks(e,t,n,i)):Js(e,O(t),n,0,t)}},ps);let Mi;const Oi={class:"navigation"},Ui={class:"nav-content"},ji={class:"nav-list"},Li=["onClick"],Ri={class:"nav-item-content"},zi={class:"nav-icon"},Hi={class:"nav-name"},$i={key:0,class:"active-indicator"},Yi={class:"nav-footer"},Gi={class:"footer-buttons"},Wi=(e,t)=>{const a=e.__vccOpts||e;for(const[n,r]of t)a[n]=r;return a},Vi=Wi($a({__name:"Navigation",props:{navigationItems:{},activeNav:{}},emits:["navigate","openSettings","openFeedback"],setup:e=>(t,a)=>(Cr(),Tr("nav",Oi,[Mr("div",Ui,[Mr("ul",ji,[(Cr(!0),Tr(br,null,yn(e.navigationItems,a=>(Cr(),Tr("li",{key:a.id,class:Q(["nav-item",{active:a.id===e.activeNav}]),onClick:e=>t.$emit("navigate",a.id)},[Mr("div",Ri,[Mr("span",zi,se(a.icon),1),Mr("span",Hi,se(a.name),1),a.id===e.activeNav?(Cr(),Tr("div",$i)):Rr("",!0)])],10,Li))),128))])]),Mr("div",Yi,[Mr("div",Gi,[Mr("button",{class:"footer-btn",onClick:a[0]||(a[0]=e=>t.$emit("openFeedback")),title:"反馈"},[...a[2]||(a[2]=[Mr("span",{class:"footer-icon"},"💬",-1),Mr("span",{class:"footer-text"},"反馈",-1)])]),Mr("button",{class:"footer-btn",onClick:a[1]||(a[1]=e=>t.$emit("openSettings")),title:"设置"},[...a[3]||(a[3]=[Mr("span",{class:"footer-icon"},"⚙️",-1),Mr("span",{class:"footer-text"},"设置",-1)])])])])]))}),[["__scopeId","data-v-c1f3591a"]]),Ki={class:"card-content"},Ji={class:"content-area"},qi={class:"card-title"},Zi={class:"card-description"},Xi=Wi($a({__name:"FunctionCard",props:{card:{}},emits:["execute"],setup:e=>(t,a)=>(Cr(),Tr("div",{class:"function-card",onClick:a[0]||(a[0]=a=>t.$emit("execute",e.card.action))},[e.card.badge?(Cr(),Tr("div",{key:0,class:"status-badge",style:K({backgroundColor:e.card.badge.color})},se(e.card.badge.text),5)):Rr("",!0),Mr("div",Ki,[Mr("div",{class:"icon-circle",style:K({backgroundColor:e.card.color+"20"})},[Mr("div",{class:"card-icon",style:K({color:e.card.color})},se(e.card.icon),5)],4),Mr("div",Ji,[Mr("h3",qi,se(e.card.title),1),Mr("p",Zi,se(e.card.description),1)])])]))}),[["__scopeId","data-v-0829ad7f"]]),Qi={cards:{json:[{id:"json-format",title:"JSON格式化",description:"美化和格式化JSON数据",icon:"📋",action:"formatJson",color:"#10b981",badge:{text:"热门",color:"#ef4444"}},{id:"json-to-excel",title:"JSON与Excel互转",description:"Excel与JSON数据格式互相转换",icon:"📊",action:"jsonToExcel",color:"#059669",badge:{text:"实用",color:"#06b6d4"}},{id:"json-postman-converter",title:"JSON与Postman互转",description:"Postman参数与JSON数据格式互相转换",icon:"🔄",action:"jsonPostmanConverter",color:"#f97316"},{id:"json-to-php",title:"JSON与PHP数据互转",description:"PHP数组与JSON数据格式互相转换",icon:"🐘",action:"jsonToPhp",color:"#8b5cf6"}],time:[{id:"timestamp-convert",title:"时间戳转换",description:"时间戳与日期格式互转",icon:"🕐",action:"convertTimestamp",color:"#06b6d4",badge:{text:"常用",color:"#f59e0b"}},{id:"date-calculator",title:"日期计算器",description:"计算日期间隔和加减",icon:"📅",action:"calculateDate",color:"#84cc16"},{id:"timezone-convert",title:"时区转换",description:"不同时区时间转换",icon:"🌍",action:"convertTimezone",color:"#f97316"},{id:"countdown-timer",title:"倒计时器",description:"创建倒计时和定时器",icon:"⏱️",action:"countdownTimer",color:"#ef4444"},{id:"stopwatch",title:"在线秒表",description:"精确计时和计次功能的在线秒表",icon:"⏰",action:"stopwatch",color:"#8b5cf6",badge:{text:"新功能",color:"#10b981"}},{id:"clock",title:"在线时钟",description:"显示实时时间、日期、阴历和阳历",icon:"🕐",action:"clock",color:"#f59e0b",badge:{text:"新功能",color:"#10b981"}}],crypto:[{id:"base64-encode",title:"Base64编码",description:"Base64编码和解码,支持URL安全格式",icon:"🔤",action:"base64Encode",color:"#6366f1",badge:{text:"热门",color:"#ef4444"}},{id:"url-encode",title:"URL编码",description:"URL编码和解码",icon:"🔗",action:"urlEncode",color:"#8b5cf6"},{id:"md5-hash",title:"MD5哈希",description:"生成MD5哈希值",icon:"🔒",action:"md5Hash",color:"#10b981"},{id:"rsa-key-generator",title:"RSA密钥生成",description:"生成RSA公私钥对",icon:"🔐",action:"generateRsaKeys",color:"#dc2626"},{id:"text-encoder",title:"文本编码转换",description:"Base64、URL、HTML、Unicode、ASCII编码转换",icon:"📝",action:"encodeText",color:"#06b6d4"},{id:"jwt-generator",title:"JWT 生成器",description:"生成和解析 JWT Token",icon:"🔑",action:"generateJWT",color:"#f59e0b",badge:{text:"新功能",color:"#10b981"}}],convert:[{id:"chinese-converter",title:"简繁体转换",description:"简体中文与繁体中文互相转换",icon:"🈳",action:"convertChinese",color:"#ef4444"},{id:"text-replacer",title:"全局文本替换",description:"支持正则表达式的文本查找替换工具",icon:"🔍",action:"replaceText",color:"#f59e0b"},{id:"php-serializer",title:"PHP序列化转换",description:"PHP序列化与数组、JSON、XML互转",icon:"🐘",action:"phpSerialize",color:"#8b5cf6"},{id:"unit-convert",title:"单位转换",description:"长度、重量、温度单位转换",icon:"📏",action:"convertUnit",color:"#06b6d4",badge:{text:"实用",color:"#06b6d4"}},{id:"number-base",title:"进制转换",description:"二进制、八进制、十六进制转换",icon:"🔢",action:"convertBase",color:"#84cc16"},{id:"number-format",title:"数字格式转换",description:"阿拉伯数字转罗马数字、中文数字等格式",icon:"🏛️",action:"convertNumber",color:"#8b5cf6",badge:{text:"新功能",color:"#10b981"}},{id:"code-formatter",title:"JS/HTML格式化",description:"JavaScript、HTML、CSS代码格式化和压缩",icon:"💻",action:"formatCode",color:"#6366f1"},{id:"image-base64",title:"图片 ⇄ Base64 互转",description:"图片与Base64编码格式互相转换",icon:"🖼️",action:"convertImageBase64",color:"#f97316",badge:{text:"新功能",color:"#10b981"}}],create:[{id:"api-tester",title:"API接口测试",description:"在线POST/GET接口测试工具",icon:"🌐",action:"testApi",color:"#10b981",badge:{text:"新功能",color:"#10b981"}},{id:"uuid-generator",title:"UUID生成器",description:"生成各种版本的UUID(通用唯一标识符)",icon:"🆔",action:"generateUuid",color:"#06b6d4",badge:{text:"新功能",color:"#10b981"}},{id:"password-generator",title:"密码生成器",description:"生成安全随机密码",icon:"🛡️",action:"generatePassword",color:"#f59e0b",badge:{text:"常用",color:"#f59e0b"}},{id:"qr-generator",title:"二维码生成",description:"生成自定义二维码",icon:"📱",action:"generateQR",color:"#6366f1"},{id:"crontab-generator",title:"Crontab表达式生成器",description:"生成和解析Cron定时任务表达式",icon:"⏰",action:"generateCrontab",color:"#f59e0b"},{id:"markdown-editor",title:"Markdown编辑器",description:"在线Markdown编辑器,支持图片拖拽转Base64",icon:"📝",action:"markdownEditor",color:"#6366f1",badge:{text:"新功能",color:"#10b981"}},{id:"teleprompter",title:"在线提词器",description:"专业提词器工具,支持全屏显示和镜像模式",icon:"📺",action:"teleprompter",color:"#ec4899",badge:{text:"新功能",color:"#10b981"}}],query:[{id:"screen-test",title:"屏幕测试",description:"检测屏幕显示质量、坏点、色彩准确性等",icon:"🖥️",action:"screenTest",color:"#10b981",badge:{text:"新功能",color:"#10b981"}},{id:"text-compare",title:"文本比对",description:"比较两个文本的差异,支持文件上传",icon:"📄",action:"compareText",color:"#06b6d4",badge:{text:"新功能",color:"#10b981"}},{id:"string-counter",title:"字符串长度统计",description:"统计文本字符数、字节数、单词数等信息",icon:"📏",action:"countString",color:"#06b6d4"},{id:"ascii-lookup",title:"ASCII编码查询",description:"查询字符的ASCII编码值和ASCII表",icon:"🔤",action:"lookupAscii",color:"#8b5cf6"},{id:"regex-tester",title:"正则表达式测试",description:"测试正则表达式匹配结果和语法验证",icon:"🔍",action:"testRegex",color:"#10b981",badge:{text:"新功能",color:"#10b981"}},{id:"color-reference",title:"颜色对照表",description:"常用颜色的HEX、RGB、HSL格式对照",icon:"🎨",action:"convertColor",color:"#ec4899",badge:{text:"新功能",color:"#10b981"}},{id:"surname-lookup",title:"百家姓查询",description:"查询中国传统百家姓的排名、起源和分布",icon:"👨‍👩‍👧‍👦",action:"lookupSurname",color:"#f59e0b",badge:{text:"新功能",color:"#10b981"}},{id:"mime-type-reference",title:"MIME-Type速查表",description:"常用文件类型的MIME-Type快速查询",icon:"📋",action:"mimeTypeReference",color:"#8b5cf6",badge:{text:"新功能",color:"#10b981"}},{id:"dynasty-query",title:"历史朝代查询",description:"中国历史朝代信息查询和时间轴浏览",icon:"🏛️",action:"dynastyQuery",color:"#dc2626",badge:{text:"新功能",color:"#10b981"}},{id:"countries-capitals",title:"世界国家和首都",description:"按洲浏览世界各国及其首都信息",icon:"🌍",action:"countriesCapitals",color:"#06b6d4",badge:{text:"新功能",color:"#10b981"}},{id:"emoji-reference",title:"Emoji符号大全",description:"按分类浏览和复制各种Emoji表情符号",icon:"😀",action:"emojiReference",color:"#f59e0b",badge:{text:"新功能",color:"#10b981"}},{id:"ip-lookup",title:"IP地址查询",description:"查询IP地址的地理位置、ISP等详细信息",icon:"🌐",action:"lookupIP",color:"#06b6d4",badge:{text:"新功能",color:"#10b981"}}],navigation:[{id:"programming-languages",title:"编程语言大全",description:"查看各种编程语言的特点、用途和学习资源",icon:"💻",action:"programmingLanguages",color:"#6366f1",badge:{text:"新功能",color:"#10b981"}}],settings:[]}},eo={class:"card-grid"},to={class:"grid-header"},ao={class:"header-content"},no={class:"grid-title"},ro={class:"grid-subtitle"},so={class:"search-container"},io={class:"search-box"},oo={key:0,class:"search-results"},lo=["onMousedown","onMouseenter"],co={class:"result-icon"},uo={class:"result-content"},ho={class:"result-title"},po={class:"result-description"},fo={class:"result-category"},mo={key:0,class:"search-more"},go={class:"cards-grid"},yo={key:0,class:"loading-overlay"},vo=Wi($a({__name:"CardGrid",props:{title:{},subtitle:{},cards:{},isLoading:{type:Boolean}},emits:["execute","selectTool"],setup(e,{emit:t}){const a=t,n=St(""),r=St(!1),s=St(-1),i=is(()=>Object.entries(Qi.cards).flatMap(([e,t])=>t.map(t=>({...t,category:e})))),o=is(()=>{if(!n.value.trim())return[];const e=n.value.toLowerCase().trim();return i.value.filter(t=>t.title.toLowerCase().includes(e)||t.description.toLowerCase().includes(e)||t.id.toLowerCase().includes(e)).sort((t,a)=>{const n=t.title.toLowerCase().includes(e),r=a.title.toLowerCase().includes(e);return n&&!r?-1:!n&&r?1:0})}),l=()=>{s.value=-1,r.value=!0},c=e=>{if(0===o.value.length)return;const t=Math.min(o.value.length-1,7);s.value=Math.max(0,Math.min(t,s.value+e))},u=()=>{o.value.length>0&&d(o.value[0])},d=e=>{a("selectTool",e.id,e.action),h()},h=()=>{n.value="",r.value=!1,s.value=-1},p=()=>{setTimeout(()=>{r.value=!1},150)};return(t,a)=>(Cr(),Tr("div",eo,[Mr("div",to,[Mr("div",ao,[Mr("h2",no,se(e.title),1),Mr("p",ro,se(e.subtitle),1)]),Mr("div",so,[Mr("div",io,[a[6]||(a[6]=Mr("svg",{class:"search-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"11",cy:"11",r:"8"}),Mr("path",{d:"m21 21-4.35-4.35"})],-1)),ca(Mr("input",{type:"text",class:"search-input",placeholder:"搜索工具...","onUpdate:modelValue":a[0]||(a[0]=e=>n.value=e),onInput:l,onFocus:a[1]||(a[1]=e=>r.value=!0),onBlur:p,onKeydown:[Pi(u,["enter"]),a[2]||(a[2]=Pi(Ii(e=>c(1),["prevent"]),["down"])),a[3]||(a[3]=Pi(Ii(e=>c(-1),["prevent"]),["up"])),Pi(h,["escape"])]},null,544),[[bi,n.value]]),n.value?(Cr(),Tr("button",{key:0,class:"clear-search",onClick:h},[...a[5]||(a[5]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])):Rr("",!0)]),r.value&&o.value.length>0?(Cr(),Tr("div",oo,[(Cr(!0),Tr(br,null,yn(o.value.slice(0,8),(e,t)=>{return Cr(),Tr("div",{key:e.id,class:Q(["search-result-item",{active:s.value===t}]),onMousedown:Ii(t=>d(e),["prevent"]),onMouseenter:e=>s.value=t},[Mr("div",co,se(e.icon),1),Mr("div",uo,[Mr("div",ho,se(e.title),1),Mr("div",po,se(e.description),1)]),Mr("div",fo,se((a=e.category,{json:"JSON工具",time:"时间工具",crypto:"加密工具",convert:"转换工具",create:"创建工具",query:"查询工具",navigation:"导航工具",settings:"设置"}[a]||a)),1)],42,lo);var a}),128)),o.value.length>8?(Cr(),Tr("div",mo," 还有 "+se(o.value.length-8)+" 个结果... ",1)):Rr("",!0)])):Rr("",!0)]),a[7]||(a[7]=Mr("div",{class:"header-spacer"},null,-1))]),Mr("div",{class:Q(["cards-container",{loading:e.isLoading}])},[Mr("div",go,[(Cr(!0),Tr(br,null,yn(e.cards,e=>(Cr(),Sr(Xi,{key:e.id,card:e,onExecute:a[4]||(a[4]=e=>t.$emit("execute",e))},null,8,["card"]))),128))]),e.isLoading?(Cr(),Tr("div",yo,[...a[8]||(a[8]=[Mr("div",{class:"loading-spinner"},null,-1),Mr("p",{class:"loading-text"},"执行中...",-1)])])):Rr("",!0)],2)]))}}),[["__scopeId","data-v-d17ea0f2"]]),bo="toolbox-theme",wo="toolbox-auto-theme",xo=()=>{const e=(new Date).getHours();return e>=21||e<7?"dark":"light"},ko=St(localStorage.getItem(bo)||"auto"),_o=St("false"!==localStorage.getItem(wo)),Eo=St("dark");let Co=null;const Fo=e=>{Eo.value=e,document.documentElement.setAttribute("data-theme",e),document.documentElement.className=e},Do=()=>{if("auto"===ko.value&&_o.value){const e=xo();Fo(e)}else"auto"!==ko.value&&Fo(ko.value)},Ao=()=>{if("auto"===ko.value){const e=Eo.value;ko.value="dark"===e?"light":"dark",_o.value=!1}else ko.value="light"===ko.value?"dark":"light"},To=e=>{ko.value=e,_o.value="auto"===e},So=()=>{ko.value="auto",_o.value=!0},Io=()=>{_o.value=!1,ko.value=Eo.value},No=()=>{Co||(Co=window.setInterval(()=>{"auto"===ko.value&&_o.value&&Do()},6e4))},Po=()=>{Co&&(clearInterval(Co),Co=null)};pa(ko,e=>{localStorage.setItem(bo,e),Do()},{immediate:!0}),pa(_o,e=>{localStorage.setItem(wo,e.toString()),e&&"auto"===ko.value?(No(),Do()):Po()},{immediate:!0});const Bo=()=>(nn(()=>{"auto"===ko.value&&_o.value&&No()}),ln(()=>{Po()}),{currentTheme:ko,actualTheme:Eo,autoThemeEnabled:_o,toggleTheme:Ao,setTheme:To,enableAutoTheme:So,disableAutoTheme:Io,isDark:()=>"dark"===Eo.value,isLight:()=>"light"===Eo.value,isAuto:()=>"auto"===ko.value,getTimeBasedTheme:xo}),Mo={class:"theme-toggle-wrapper"},Oo=["title"],Uo={key:0,class:"icon moon-icon",width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},jo={key:1,class:"icon sun-icon",width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Lo=$a({__name:"ThemeToggle",setup(e){const{toggleTheme:t,setTheme:a,isDark:n,isLight:r,isAuto:s}=Bo(),i=St(!1),o=e=>{e.preventDefault(),i.value=!i.value},l=e=>{i.value&&(i.value=!1)};return nn(()=>{document.addEventListener("click",l)}),ln(()=>{document.removeEventListener("click",l)}),(e,l)=>(Cr(),Tr("div",Mo,[Mr("button",{class:"theme-toggle",onClick:l[0]||(l[0]=(...e)=>Nt(t)&&Nt(t)(...e)),onContextmenu:o,title:s()?`智能切换模式 (当前: ${n()?"夜间":"白天"}) - 右键查看选项`:n()?"夜间模式 - 右键查看选项":"白天模式 - 右键查看选项"},[Nt(n)()?(Cr(),Tr("svg",Uo,[...l[5]||(l[5]=[Mr("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)])])):(Cr(),Tr("svg",jo,[...l[6]||(l[6]=[Lr('',9)])]))],40,Oo),i.value?(Cr(),Tr("div",{key:0,class:"theme-menu",onClick:l[4]||(l[4]=Ii(()=>{},["stop"]))},[Mr("div",{class:Q(["menu-item",{active:Nt(s)()}]),onClick:l[1]||(l[1]=e=>Nt(a)("auto"))},[...l[7]||(l[7]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"4"}),Mr("path",{d:"m12 2 3 10h-6l3-10z"})],-1),Mr("span",null,"智能切换",-1),Mr("small",null,"21:00-07:00",-1)])],2),Mr("div",{class:Q(["menu-item",{active:!Nt(s)()&&Nt(r)()}]),onClick:l[2]||(l[2]=e=>Nt(a)("light"))},[...l[8]||(l[8]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"5"}),Mr("line",{x1:"12",y1:"1",x2:"12",y2:"3"}),Mr("line",{x1:"12",y1:"21",x2:"12",y2:"23"})],-1),Mr("span",null,"白天模式",-1)])],2),Mr("div",{class:Q(["menu-item",{active:!Nt(s)()&&Nt(n)()}]),onClick:l[3]||(l[3]=e=>Nt(a)("dark"))},[...l[9]||(l[9]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},[Mr("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"})],-1),Mr("span",null,"夜间模式",-1)])],2)])):Rr("",!0)]))}}),Ro=Wi(Lo,[["__scopeId","data-v-e95a7d3b"]]),zo={class:"header"},Ho={class:"header-left"},$o={class:"header-right"},Yo=Wi($a({__name:"Header",props:{currentTab:{},pageInfo:{}},emits:["goHome"],setup:e=>(e,t)=>(Cr(),Tr("header",zo,[Mr("div",Ho,[Mr("div",{class:"logo",onClick:t[0]||(t[0]=t=>e.$emit("goHome")),role:"button",tabindex:"0"},[...t[1]||(t[1]=[Mr("div",{class:"logo-icon"},[Mr("img",{src:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAF5klEQVR4AexaXYwTVRQ+Z3YVXJh2A0QiD8YYo1mgU5B90MQHMIIxGkkMkCj6JPi32+ISifoiiyH+xOi6bVezCIkPhBh4kUTjAyqQmPggBLZlISHG+IKGGJG2C6LiHL877WxvpzPttFuEJTTn3HvOufee+507929m14gMW4NmOnYwkrZkOrGDGdgNMmgNEy+nafZjhRnYDeBeBJ6utEgFMF3BO7hrAigksnwts4NaS2oC0MqmhXgjgKv9mG48gevnCQwu7zSHY6vNtLUDJ/r34JPgM+CJSMb6LZqxPommrDWzP7ZubWfQU55C3SPxFZFUfHdkzrmzbPDnTLQRAO8D94AXgGeR0DwR2iBM+4zLdMZMx/fC3hZqOYAFo8u6zLT1lm3Lt8SynpjmhETUySRrIynr5ZD161ZrKQAzE1s98fc/hzHar9f1Xq9QqJva8Gs6AHMk/gATf4a+e8FVJMT7iGSzMN/jnuaosAfspXHDNj71GlvRjWYaRYdid7ItuzCnZ1a34wPM9qpiYmxdIZEbKvaPnVbl0bS1E/lTYJ3GbelYd37g+M+6sVU5fACpu2ZIJ4+io7vBFbJpWyExtirff+JAxUiE3WdEiJ7VbZAd8BPJYycht4VCBxChrhfR40PgCinwm7KDFUNJiqTjH0B6CaxTIPjuoSV3RNLWVmwK3oD19r5y6ACEZbXuQYh3FHzAm6nYO1gHA3pdyIHgZ6eWLrQ77S9QZ5CJdppNbrGhAugeWbKE1RsQenHJsO0druzmkVRsGzO/6urlvC54g/9VZ8LkSxW22Ce6hnpuK7dtmIUKQMR+WvekRj+/KXdUt5kZawMxv6HbIDcFHvUVdXR0dD6shDAcMgB6kEh3J1/qmpKZ6AWVa9wKeKc5nuIqRwiRhAoAfm4HT1LXJfpmUnEFoWWuiLxl8GirqH1PYP571ix4nAt2SEgOnd2SveAoesKkT6lFam6rBapXUbqywzY55yEr2qMSjWdocl2x4RO40GVXjX6gN5t2e8qqgggCj6m3q5DIrve0zXv0QLVhAB02qScQ6MAtKCSzH2Jx4yrhWpx8MoiAkf8on8hucGpWJ+0LIJ84cUT3jQU2X9d1uYirRFAQqOeZNjxUSGT7YCczE68+3YnaF4DqAOzcbZDjjKKeaHpxryP7JMWAIPSqIvIurh+bXRuL/agrq1yIcioPww2nkHIixGMqd1nYeMaV/fKAIEpVRd4sJnOvlZRSKmTcX5LKqV27TZdLarJQAXhbYQQtr82rqyBwax0QoaxThl1KmDYWkrmtjl5OopnFKxkvOGWV0OZc8Y+5NefMZLlHaBiAuptUdQAHTPwrsoZUwMIuJrPxgvra15/tLfZn1fW6qp1Ix5YqA/FXNHjocrUtWKsbgB94uFKH1HbkUyb1aR9DvlJ3ZHTQLl1vJAcGUAf8unbc5x3wBm3VAQrR2+f7xg7qtkaybwBXEnx0OLYM/kfJAx5Aj5g339T0k60JAM73euc8nKtp4zvy6oSNpK09zl9MMtZw1GeLnY/riJm2HjfT8VEx+Aj8PwefFWK6JCzbf3n+6MWKMZxUEwCcr/U0rQu+fMI+iYW9nISSQsYPkYx1UgXk8p8zaYKJ9sN3NfBSR6eFeWWxP7e/pDaX1gTgaR4GvOeEhQehHsYLkMuwBNHXfFkeKfaNfRdUoZG9XgCtgW/UI8rVjRZPa6AgFx/LD+R+gqllMoh92zYNXpxvQqSuxad8PP4O2zFmet8wjKXFRG6FOiMo+eNfsE+JDIyE10FL4Iu4AxVwLQYvBOMzkfTahr3wlks0G/o88L35/uwr5/uOH/d2OBW9JgAbH5389nm125QXbNWcVyNfBHgviDzemSf6TpzyffnxVp6CXppCUvHQDvAVb1deMpwu/NeBU9TsyDuN/sekFEBAh9c6eAW7JoCI9j8TmPPjqFQ156Fj48L3fa2e3uZKy6p/nWsC0Aung2w4h4ofUm1h+xVfCzaF3WCbDwOMmirINNIXti5rVa6yOK6w/wcAAP//GUFzEgAAAAZJREFUAwBN9jbX//4y7gAAAABJRU5ErkJggg==",alt:"Toolbox"})],-1),Mr("h1",{class:"logo-text"},"Toolbox",-1)])]),t[2]||(t[2]=Mr("div",{class:"breadcrumb"},[Mr("span",{class:"breadcrumb-text"},"现代化工具箱")],-1))]),t[4]||(t[4]=Mr("div",{class:"header-center"},null,-1)),Mr("div",$o,[Or(Ro),t[3]||(t[3]=Lr('StarGitHub stars',1))])]))}),[["__scopeId","data-v-cc11a75f"]]),Go=St([]);let Wo=0;function Vo(){const e=e=>{const t="notification-"+ ++Wo,a={id:t,duration:3e3,...e};return Go.value.push(a),!a.persistent&&a.duration&&a.duration>0&&setTimeout(()=>{n(t)},a.duration),t},t=(t,a)=>e({type:"success",message:t,...a}),a=(t,a)=>e({type:"error",message:t,duration:5e3,...a}),n=e=>{const t=Go.value.findIndex(t=>t.id===e);t>-1&&Go.value.splice(t,1)};return{notifications:Go,notify:e,success:t,error:a,warning:(t,a)=>e({type:"warning",message:t,duration:4e3,...a}),info:(t,a)=>e({type:"info",message:t,...a}),remove:n,clear:()=>{Go.value=[]},copySuccess:e=>t(e?`已复制: ${e.slice(0,20)}${e.length>20?"...":""}`:"已复制到剪贴板"),copyError:e=>a(e||"复制失败,请手动复制")}}const Ko={class:"notification-container"},Jo={class:"notification-icon"},qo={width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Zo={class:"notification-content"},Xo={key:0,class:"notification-title"},Qo={class:"notification-message"},el={key:1,class:"notification-actions"},tl=["onClick"],al=["onClick"],nl=Wi($a({__name:"NotificationContainer",setup(e){const{notifications:t,remove:a}=Vo(),n=e=>{const t={success:()=>'',error:()=>'',warning:()=>'',info:()=>''};return t[e]||t.info};return(e,r)=>(Cr(),Sr(Fa,{to:"body"},[Mr("div",Ko,[Or(ui,{name:"notification",tag:"div"},{default:la(()=>[(Cr(!0),Tr(br,null,yn(Nt(t),e=>{return Cr(),Tr("div",{key:e.id,class:Q(["notification",`notification-${e.type}`])},[Mr("div",Jo,[(Cr(),Tr("svg",qo,[(Cr(),Sr((t=n(e.type),C(t)?mn(pn,t,!1)||t:t||fn)))]))]),Mr("div",Zo,[e.title?(Cr(),Tr("div",Xo,se(e.title),1)):Rr("",!0),Mr("div",Qo,se(e.message),1),e.actions?(Cr(),Tr("div",el,[(Cr(!0),Tr(br,null,yn(e.actions,e=>(Cr(),Tr("button",{key:e.label,class:Q(["notification-action",`action-${e.style||"secondary"}`]),onClick:e.action},se(e.label),11,tl))),128))])):Rr("",!0)]),Mr("button",{class:"notification-close",onClick:t=>Nt(a)(e.id),title:"关闭"},[...r[0]||(r[0]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,al)],2);var t}),128))]),_:1})])]))}}),[["__scopeId","data-v-c2f08414"]]),rl=[{id:"json",name:"JSON工具",icon:"🔧",active:!0},{id:"time",name:"时间类工具",icon:"⏰",active:!1},{id:"crypto",name:"加/解密类工具",icon:"🔐",active:!1},{id:"convert",name:"转换类工具",icon:"🔄",active:!1},{id:"create",name:"创建类工具",icon:"✨",active:!1},{id:"query",name:"查询类工具",icon:"🔍",active:!1},{id:"navigation",name:"导航类工具",icon:"🧭",active:!1}],sl=document.title;function il(e){nn(()=>{const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}(e);document.title=`${t} - Toolbox 工具箱`}),ln(()=>{document.title=sl})}const ol=()=>{const e=(e,t,a,n)=>{try{const r=new Blob([e],{type:n||{json:"application/json",txt:"text/plain",csv:"text/csv",xml:"application/xml",html:"text/html",css:"text/css",js:"application/javascript",ts:"application/typescript",md:"text/markdown",yaml:"application/x-yaml",yml:"application/x-yaml"}[a]||"text/plain"}),s=URL.createObjectURL(r),i=document.createElement("a");i.href=s;const o=(new Date).toISOString().slice(0,19).replace(/:/g,"-");return i.download=`${t}-${o}.${a}`,document.body.appendChild(i),i.click(),document.body.removeChild(i),URL.revokeObjectURL(s),!0}catch(r){return console.error("下载失败:",r),!1}};return{downloadText:e,downloadJson:(t,a="data",n=!0)=>{try{let r;if("string"==typeof t){const e=JSON.parse(t);r=n?JSON.stringify(e,null,2):JSON.stringify(e)}else r=n?JSON.stringify(t,null,2):JSON.stringify(t);return e(r,a,"json")}catch(r){return console.error("JSON 下载失败:",r),!1}},downloadCsv:(t,a="data")=>{try{let n;return n="string"==typeof t?t:t.map(e=>e.map(e=>"string"==typeof e&&(e.includes(",")||e.includes('"')||e.includes("\n"))?`"${e.replace(/"/g,'""')}"`:e).join(",")).join("\n"),e(n,a,"csv")}catch(n){return console.error("CSV 下载失败:",n),!1}},downloadTxt:(t,a="text")=>e(t,a,"txt"),downloadXml:(t,a="data")=>e(t,a,"xml"),downloadMarkdown:(t,a="document")=>e(t,a,"md")}},ll=()=>{const e=St(!1),t=St(null),a=async a=>{if(!a)return t.value="没有内容可复制",!1;e.value=!0,t.value=null;try{return await navigator.clipboard.writeText(a),e.value=!1,!0}catch(n){console.error("复制失败:",n),t.value="复制失败";try{const n=document.createElement("textarea");n.value=a,n.style.position="fixed",n.style.left="-999999px",n.style.top="-999999px",document.body.appendChild(n),n.focus(),n.select();const r=document.execCommand("copy");return document.body.removeChild(n),e.value=!1,r||(t.value="复制失败"),r}catch(r){return console.error("降级复制方案也失败:",r),t.value="复制失败",e.value=!1,!1}}},n=async(e,t,n)=>await a(e);return{copy:a,isLoading:e,error:t,copyToClipboard:n,copyJson:async(e,t=!0)=>{try{let a;if("string"==typeof e){const n=JSON.parse(e);a=t?JSON.stringify(n,null,2):JSON.stringify(n)}else a=t?JSON.stringify(e,null,2):JSON.stringify(e);return await n(a)}catch(a){return console.error("JSON 复制失败:",a),!1}},copyArray:async(e,t="\n")=>{const a=e.join(t);return await n(a)},copyObject:async(e,t="json")=>{try{let a;switch(t){case"json":default:a=JSON.stringify(e,null,2);break;case"keyvalue":a=Object.entries(e).map(([e,t])=>`${e}=${t}`).join("\n");break;case"url":a=Object.entries(e).map(([e,t])=>`${encodeURIComponent(e)}=${encodeURIComponent(t)}`).join("&")}return await n(a)}catch(a){return console.error("对象复制失败:",a),!1}},isClipboardSupported:()=>!(!navigator.clipboard||!navigator.clipboard.writeText)}},cl={class:"formatter-header"},ul={class:"formatter-title"},dl={class:"formatter-actions"},hl=Wi($a({__name:"PageHeader",props:{title:{}},emits:["back"],setup:e=>(t,a)=>(Cr(),Tr("div",cl,[Mr("button",{class:"back-btn",onClick:a[0]||(a[0]=e=>t.$emit("back"))},[...a[1]||(a[1]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1),jr(" 返回 ",-1)])]),Mr("h2",ul,se(e.title),1),Mr("div",dl,[vn(t.$slots,"actions",{},void 0)])]))}),[["__scopeId","data-v-ef05a5f1"]]),pl=["disabled","title"],fl={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},ml={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},gl={key:2,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},yl={key:3,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},vl={key:4,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},bl={key:5,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},wl={key:6,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},xl={key:7,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},kl={key:8,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},_l={key:9,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},El={key:10,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Cl={key:11,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Fl={key:12,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Dl={key:13,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Al={key:14,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Tl={key:15,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Sl={key:16,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Il={key:17,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Nl={key:18,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Pl={key:19,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Bl={key:20,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ml={key:21,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ol={key:22,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ul={key:23,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},jl=Wi($a({__name:"HeaderActionButton",props:{icon:{},tooltip:{},disabled:{type:Boolean}},emits:["click"],setup:e=>(t,a)=>(Cr(),Tr("button",{class:"action-btn",disabled:e.disabled,title:e.tooltip,onClick:a[0]||(a[0]=e=>t.$emit("click"))},["clear"===e.icon?(Cr(),Tr("svg",fl,[...a[1]||(a[1]=[Mr("path",{d:"M3 6h18"},null,-1),Mr("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"},null,-1),Mr("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"},null,-1)])])):"copy"===e.icon?(Cr(),Tr("svg",ml,[...a[2]||(a[2]=[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"},null,-1),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"},null,-1)])])):"download"===e.icon?(Cr(),Tr("svg",gl,[...a[3]||(a[3]=[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"},null,-1),Mr("polyline",{points:"7,10 12,15 17,10"},null,-1),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"},null,-1)])])):"toggle"===e.icon?(Cr(),Tr("svg",yl,[...a[4]||(a[4]=[Mr("path",{d:"M16 3h5v5"},null,-1),Mr("path",{d:"M8 3H3v5"},null,-1),Mr("path",{d:"M12 22v-8.3a4 4 0 0 0-1.172-2.872L3 3"},null,-1),Mr("path",{d:"M9 21h6"},null,-1)])])):"refresh"===e.icon?(Cr(),Tr("svg",vl,[...a[5]||(a[5]=[Mr("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"},null,-1),Mr("path",{d:"M21 3v5h-5"},null,-1),Mr("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"},null,-1),Mr("path",{d:"M3 21v-5h5"},null,-1)])])):"settings"===e.icon?(Cr(),Tr("svg",bl,[...a[6]||(a[6]=[Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1),Mr("path",{d:"M12 1v6m0 6v6m11-7h-6m-6 0H1m15.5-6.5L19 7l-1.5 1.5M5 17l1.5-1.5L5 14"},null,-1)])])):"clock"===e.icon?(Cr(),Tr("svg",wl,[...a[7]||(a[7]=[Mr("circle",{cx:"12",cy:"12",r:"10"},null,-1),Mr("polyline",{points:"12,6 12,12 16,14"},null,-1)])])):"moon"===e.icon?(Cr(),Tr("svg",xl,[...a[8]||(a[8]=[Mr("path",{d:"M21 12.79A9 9 0 1 1 11.21 3 7 7 0 0 0 21 12.79z"},null,-1)])])):"fullscreen"===e.icon?(Cr(),Tr("svg",kl,[...a[9]||(a[9]=[Mr("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},null,-1)])])):"eye"===e.icon?(Cr(),Tr("svg",_l,[...a[10]||(a[10]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])])):"swap"===e.icon?(Cr(),Tr("svg",El,[...a[11]||(a[11]=[Mr("path",{d:"M8 3L4 7l4 4"},null,-1),Mr("path",{d:"M4 7h16"},null,-1),Mr("path",{d:"m16 21 4-4-4-4"},null,-1),Mr("path",{d:"M20 17H4"},null,-1)])])):"format"===e.icon?(Cr(),Tr("svg",Cl,[...a[12]||(a[12]=[Lr('',5)])])):"compress"===e.icon?(Cr(),Tr("svg",Fl,[...a[13]||(a[13]=[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},null,-1)])])):"encrypt"===e.icon?(Cr(),Tr("svg",Dl,[...a[14]||(a[14]=[Mr("rect",{width:"18",height:"11",x:"3",y:"11",rx:"2",ry:"2"},null,-1),Mr("circle",{cx:"12",cy:"16",r:"1"},null,-1),Mr("path",{d:"M7 11V7a5 5 0 0 1 10 0v4"},null,-1)])])):"validate"===e.icon?(Cr(),Tr("svg",Al,[...a[15]||(a[15]=[Mr("polyline",{points:"20,6 9,17 4,12"},null,-1)])])):"play"===e.icon?(Cr(),Tr("svg",Tl,[...a[16]||(a[16]=[Mr("polygon",{points:"5,3 19,12 5,21"},null,-1)])])):"pause"===e.icon?(Cr(),Tr("svg",Sl,[...a[17]||(a[17]=[Mr("rect",{x:"6",y:"4",width:"4",height:"16"},null,-1),Mr("rect",{x:"14",y:"4",width:"4",height:"16"},null,-1)])])):"reset"===e.icon?(Cr(),Tr("svg",Il,[...a[18]||(a[18]=[Mr("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"},null,-1),Mr("path",{d:"M21 3v5h-5"},null,-1),Mr("path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16"},null,-1),Mr("path",{d:"M3 21v-5h5"},null,-1)])])):"mirror"===e.icon?(Cr(),Tr("svg",Nl,[...a[19]||(a[19]=[Lr('',7)])])):"flip"===e.icon?(Cr(),Tr("svg",Pl,[...a[20]||(a[20]=[Lr('',7)])])):"paste"===e.icon?(Cr(),Tr("svg",Bl,[...a[21]||(a[21]=[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"},null,-1),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"},null,-1)])])):"back"===e.icon?(Cr(),Tr("svg",Ml,[...a[22]||(a[22]=[Mr("path",{d:"m15 18-6-6 6-6"},null,-1)])])):"upload"===e.icon?(Cr(),Tr("svg",Ol,[...a[23]||(a[23]=[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"},null,-1),Mr("polyline",{points:"17,8 12,3 7,8"},null,-1),Mr("line",{x1:"12",y1:"3",x2:"12",y2:"15"},null,-1)])])):(Cr(),Tr("svg",Ul,[...a[24]||(a[24]=[Mr("circle",{cx:"12",cy:"12",r:"10"},null,-1),Mr("path",{d:"M9,9h6v6H9z"},null,-1)])]))],8,pl))}),[["__scopeId","data-v-1ae41ac3"]]),Ll={class:"json-node"},Rl={key:0,class:"json-branch"},zl={key:0,class:"json-key"},Hl={class:"json-bracket"},$l={key:1,class:"json-collapsed-info"},Yl={key:2,class:"json-bracket"},Gl={key:3,class:"json-actions"},Wl={class:"json-line"},Vl={class:"json-bracket"},Kl={key:0,class:"json-comma"},Jl={key:1,class:"json-leaf"},ql={key:0,class:"json-key"},Zl={key:1,class:"json-actions"},Xl=Wi($a({__name:"JsonTreeNode",props:{data:{},nodeKey:{default:null},level:{}},emits:["toggle","copy","delete"],setup(e,{emit:t}){const a=e,n=t,r=St(!0),s=St(!1),i=is(()=>null!==a.data&&"object"==typeof a.data&&!Array.isArray(a.data)),o=is(()=>Array.isArray(a.data)),l=is(()=>a.data),c=is(()=>o.value?a.data.length:0),u=is(()=>i.value?Object.keys(a.data):[]),d=is(()=>null===a.data?"null":"string"==typeof a.data?"string":"number"==typeof a.data?"number":"boolean"==typeof a.data?"boolean":"unknown"),h=is(()=>null===a.data?"null":"string"==typeof a.data?`"${a.data}"`:"boolean"==typeof a.data?a.data.toString():a.data),p=()=>{r.value=!r.value,n("toggle")},f=async()=>{const e=g(),t=(i.value||o.value,a.data);n("copy",{key:a.nodeKey,value:t,path:e})},m=()=>{const e=g();n("delete",{key:a.nodeKey,path:e})},g=()=>null===a.nodeKey?"root":a.nodeKey.toString();return(t,a)=>{const g=mn(pn,y="JsonTreeNode",!0,!0)||y;var y;return Cr(),Tr("div",Ll,[i.value||o.value?(Cr(),Tr("div",Rl,[Mr("div",{class:"json-line",onMouseenter:a[0]||(a[0]=e=>s.value=!0),onMouseleave:a[1]||(a[1]=e=>s.value=!1)},[Mr("span",{class:"json-indent",style:K({width:20*e.level+"px"})},null,4),Mr("span",{class:Q(["json-toggle",{collapsed:!r.value}]),onClick:p},se(r.value?"▼":"▶"),3),null!==e.nodeKey?(Cr(),Tr("span",zl,'"'+se(e.nodeKey)+'":',1)):Rr("",!0),Mr("span",Hl,se(o.value?"[":"{"),1),r.value?Rr("",!0):(Cr(),Tr("span",$l,se(o.value?`${c.value} items`:`${u.value.length} keys`),1)),r.value?Rr("",!0):(Cr(),Tr("span",Yl,se(o.value?"]":"}"),1)),s.value?(Cr(),Tr("div",Gl,[Mr("button",{class:"action-btn copy-btn",onClick:Ii(f,["stop"]),title:"复制节点"},[...a[7]||(a[7]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn delete-btn",onClick:Ii(m,["stop"]),title:"删除节点"},[...a[8]||(a[8]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M3 6h18"}),Mr("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),Mr("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})],-1)])])])):Rr("",!0)],32),r.value?(Cr(),Tr(br,{key:0},[(Cr(!0),Tr(br,null,yn(l.value,(t,r)=>(Cr(),Sr(g,{key:r,data:t,"node-key":r,level:e.level+1,onToggle:a[2]||(a[2]=e=>n("toggle")),onCopy:a[3]||(a[3]=e=>n("copy",e)),onDelete:a[4]||(a[4]=e=>n("delete",e))},null,8,["data","node-key","level"]))),128)),Mr("div",Wl,[Mr("span",{class:"json-indent",style:K({width:20*e.level+"px"})},null,4),Mr("span",Vl,se(o.value?"]":"}"),1),0===e.level?(Cr(),Tr("span",Kl,",")):Rr("",!0)])],64)):Rr("",!0)])):(Cr(),Tr("div",Jl,[Mr("div",{class:"json-line",onMouseenter:a[5]||(a[5]=e=>s.value=!0),onMouseleave:a[6]||(a[6]=e=>s.value=!1)},[Mr("span",{class:"json-indent",style:K({width:20*e.level+"px"})},null,4),null!==e.nodeKey?(Cr(),Tr("span",ql,'"'+se(e.nodeKey)+'":',1)):Rr("",!0),Mr("span",{class:Q(["json-value",d.value])},se(h.value),3),a[11]||(a[11]=Mr("span",{class:"json-comma"},",",-1)),s.value?(Cr(),Tr("div",Zl,[Mr("button",{class:"action-btn copy-btn",onClick:Ii(f,["stop"]),title:"复制值"},[...a[9]||(a[9]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn delete-btn",onClick:Ii(m,["stop"]),title:"删除属性"},[...a[10]||(a[10]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M3 6h18"}),Mr("path",{d:"M19 6v14c0 1-1 2-2 2H7c-1 0-2-1-2-2V6"}),Mr("path",{d:"M8 6V4c0-1 1-2 2-2h4c1 0 2 1 2 2v2"})],-1)])])])):Rr("",!0)],32)]))])}}}),[["__scopeId","data-v-00fc00b1"]]);function Ql(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var ec,tc;function ac(){if(tc)return ec;function e(t){return t instanceof Map?t.clear=t.delete=t.set=function(){throw new Error("map is read-only")}:t instanceof Set&&(t.add=t.clear=t.delete=function(){throw new Error("set is read-only")}),Object.freeze(t),Object.getOwnPropertyNames(t).forEach(a=>{const n=t[a],r=typeof n;"object"!==r&&"function"!==r||Object.isFrozen(n)||e(n)}),t}tc=1;class t{constructor(e){void 0===e.data&&(e.data={}),this.data=e.data,this.isMatchIgnored=!1}ignoreMatch(){this.isMatchIgnored=!0}}function a(e){return e.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function n(e,...t){const a=Object.create(null);for(const n in e)a[n]=e[n];return t.forEach(function(e){for(const t in e)a[t]=e[t]}),a}const r=e=>!!e.scope;class s{constructor(e,t){this.buffer="",this.classPrefix=t.classPrefix,e.walk(this)}addText(e){this.buffer+=a(e)}openNode(e){if(!r(e))return;const t=((e,{prefix:t})=>{if(e.startsWith("language:"))return e.replace("language:","language-");if(e.includes(".")){const a=e.split(".");return[`${t}${a.shift()}`,...a.map((e,t)=>`${e}${"_".repeat(t+1)}`)].join(" ")}return`${t}${e}`})(e.scope,{prefix:this.classPrefix});this.span(t)}closeNode(e){r(e)&&(this.buffer+="")}value(){return this.buffer}span(e){this.buffer+=``}}const i=(e={})=>{const t={children:[]};return Object.assign(t,e),t};class o{constructor(){this.rootNode=i(),this.stack=[this.rootNode]}get top(){return this.stack[this.stack.length-1]}get root(){return this.rootNode}add(e){this.top.children.push(e)}openNode(e){const t=i({scope:e});this.add(t),this.stack.push(t)}closeNode(){if(this.stack.length>1)return this.stack.pop()}closeAllNodes(){for(;this.closeNode(););}toJSON(){return JSON.stringify(this.rootNode,null,4)}walk(e){return this.constructor._walk(e,this.rootNode)}static _walk(e,t){return"string"==typeof t?e.addText(t):t.children&&(e.openNode(t),t.children.forEach(t=>this._walk(e,t)),e.closeNode(t)),e}static _collapse(e){"string"!=typeof e&&e.children&&(e.children.every(e=>"string"==typeof e)?e.children=[e.children.join("")]:e.children.forEach(e=>{o._collapse(e)}))}}class l extends o{constructor(e){super(),this.options=e}addText(e){""!==e&&this.add(e)}startScope(e){this.openNode(e)}endScope(){this.closeNode()}__addSublanguage(e,t){const a=e.root;t&&(a.scope=`language:${t}`),this.add(a)}toHTML(){return new s(this,this.options).value()}finalize(){return this.closeAllNodes(),!0}}function c(e){return e?"string"==typeof e?e:e.source:null}function u(e){return p("(?=",e,")")}function d(e){return p("(?:",e,")*")}function h(e){return p("(?:",e,")?")}function p(...e){return e.map(e=>c(e)).join("")}function f(...e){const t=function(e){const t=e[e.length-1];return"object"==typeof t&&t.constructor===Object?(e.splice(e.length-1,1),t):{}}(e);return"("+(t.capture?"":"?:")+e.map(e=>c(e)).join("|")+")"}function m(e){return new RegExp(e.toString()+"|").exec("").length-1}const g=/\[(?:[^\\\]]|\\.)*\]|\(\??|\\([1-9][0-9]*)|\\./;function y(e,{joinWith:t}){let a=0;return e.map(e=>{a+=1;const t=a;let n=c(e),r="";for(;n.length>0;){const e=g.exec(n);if(!e){r+=n;break}r+=n.substring(0,e.index),n=n.substring(e.index+e[0].length),"\\"===e[0][0]&&e[1]?r+="\\"+String(Number(e[1])+t):(r+=e[0],"("===e[0]&&a++)}return r}).map(e=>`(${e})`).join(t)}const v="[a-zA-Z]\\w*",b="[a-zA-Z_]\\w*",w="\\b\\d+(\\.\\d+)?",x="(-?)(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)",k="\\b(0b[01]+)",_={begin:"\\\\[\\s\\S]",relevance:0},E={scope:"string",begin:"'",end:"'",illegal:"\\n",contains:[_]},C={scope:"string",begin:'"',end:'"',illegal:"\\n",contains:[_]},F=function(e,t,a={}){const r=n({scope:"comment",begin:e,end:t,contains:[]},a);r.contains.push({scope:"doctag",begin:"[ ]*(?=(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):)",end:/(TODO|FIXME|NOTE|BUG|OPTIMIZE|HACK|XXX):/,excludeBegin:!0,relevance:0});const s=f("I","a","is","so","us","to","at","if","in","it","on",/[A-Za-z]+['](d|ve|re|ll|t|s|n)/,/[A-Za-z]+[-][a-z]+/,/[A-Za-z][a-z]{2,}/);return r.contains.push({begin:p(/[ ]+/,"(",s,/[.]?[:]?([.][ ]|[ ])/,"){3}")}),r},D=F("//","$"),A=F("/\\*","\\*/"),T=F("#","$"),S={scope:"number",begin:w,relevance:0},I={scope:"number",begin:x,relevance:0},N={scope:"number",begin:k,relevance:0},P={scope:"regexp",begin:/\/(?=[^/\n]*\/)/,end:/\/[gimuy]*/,contains:[_,{begin:/\[/,end:/\]/,relevance:0,contains:[_]}]},B={scope:"title",begin:v,relevance:0},M={scope:"title",begin:b,relevance:0},O={begin:"\\.\\s*"+b,relevance:0};var U=Object.freeze({__proto__:null,APOS_STRING_MODE:E,BACKSLASH_ESCAPE:_,BINARY_NUMBER_MODE:N,BINARY_NUMBER_RE:k,COMMENT:F,C_BLOCK_COMMENT_MODE:A,C_LINE_COMMENT_MODE:D,C_NUMBER_MODE:I,C_NUMBER_RE:x,END_SAME_AS_BEGIN:function(e){return Object.assign(e,{"on:begin":(e,t)=>{t.data._beginMatch=e[1]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}})},HASH_COMMENT_MODE:T,IDENT_RE:v,MATCH_NOTHING_RE:/\b\B/,METHOD_GUARD:O,NUMBER_MODE:S,NUMBER_RE:w,PHRASAL_WORDS_MODE:{begin:/\b(a|an|the|are|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such|will|you|your|they|like|more)\b/},QUOTE_STRING_MODE:C,REGEXP_MODE:P,RE_STARTERS_RE:"!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~",SHEBANG:(e={})=>{const t=/^#![ ]*\//;return e.binary&&(e.begin=p(t,/.*\b/,e.binary,/\b.*/)),n({scope:"meta",begin:t,end:/$/,relevance:0,"on:begin":(e,t)=>{0!==e.index&&t.ignoreMatch()}},e)},TITLE_MODE:B,UNDERSCORE_IDENT_RE:b,UNDERSCORE_TITLE_MODE:M});function j(e,t){"."===e.input[e.index-1]&&t.ignoreMatch()}function L(e,t){void 0!==e.className&&(e.scope=e.className,delete e.className)}function R(e,t){t&&e.beginKeywords&&(e.begin="\\b("+e.beginKeywords.split(" ").join("|")+")(?!\\.)(?=\\b|\\s)",e.__beforeBegin=j,e.keywords=e.keywords||e.beginKeywords,delete e.beginKeywords,void 0===e.relevance&&(e.relevance=0))}function z(e,t){Array.isArray(e.illegal)&&(e.illegal=f(...e.illegal))}function H(e,t){if(e.match){if(e.begin||e.end)throw new Error("begin & end are not supported with match");e.begin=e.match,delete e.match}}function $(e,t){void 0===e.relevance&&(e.relevance=1)}const Y=(e,t)=>{if(!e.beforeMatch)return;if(e.starts)throw new Error("beforeMatch cannot be used with starts");const a=Object.assign({},e);Object.keys(e).forEach(t=>{delete e[t]}),e.keywords=a.keywords,e.begin=p(a.beforeMatch,u(a.begin)),e.starts={relevance:0,contains:[Object.assign(a,{endsParent:!0})]},e.relevance=0,delete a.beforeMatch},G=["of","and","for","in","not","or","if","then","parent","list","value"];function W(e,t,a="keyword"){const n=Object.create(null);return"string"==typeof e?r(a,e.split(" ")):Array.isArray(e)?r(a,e):Object.keys(e).forEach(function(a){Object.assign(n,W(e[a],t,a))}),n;function r(e,a){t&&(a=a.map(e=>e.toLowerCase())),a.forEach(function(t){const a=t.split("|");n[a[0]]=[e,V(a[0],a[1])]})}}function V(e,t){return t?Number(t):function(e){return G.includes(e.toLowerCase())}(e)?0:1}const K={},J=e=>{console.error(e)},q=(e,...t)=>{console.log(`WARN: ${e}`,...t)},Z=(e,t)=>{K[`${e}/${t}`]||(console.log(`Deprecated as of ${e}. ${t}`),K[`${e}/${t}`]=!0)},X=new Error;function Q(e,t,{key:a}){let n=0;const r=e[a],s={},i={};for(let o=1;o<=t.length;o++)i[o+n]=r[o],s[o+n]=!0,n+=m(t[o-1]);e[a]=i,e[a]._emit=s,e[a]._multi=!0}function ee(e){!function(e){e.scope&&"object"==typeof e.scope&&null!==e.scope&&(e.beginScope=e.scope,delete e.scope)}(e),"string"==typeof e.beginScope&&(e.beginScope={_wrap:e.beginScope}),"string"==typeof e.endScope&&(e.endScope={_wrap:e.endScope}),function(e){if(Array.isArray(e.begin)){if(e.skip||e.excludeBegin||e.returnBegin)throw J("skip, excludeBegin, returnBegin not compatible with beginScope: {}"),X;if("object"!=typeof e.beginScope||null===e.beginScope)throw J("beginScope must be object"),X;Q(e,e.begin,{key:"beginScope"}),e.begin=y(e.begin,{joinWith:""})}}(e),function(e){if(Array.isArray(e.end)){if(e.skip||e.excludeEnd||e.returnEnd)throw J("skip, excludeEnd, returnEnd not compatible with endScope: {}"),X;if("object"!=typeof e.endScope||null===e.endScope)throw J("endScope must be object"),X;Q(e,e.end,{key:"endScope"}),e.end=y(e.end,{joinWith:""})}}(e)}function te(e){function t(t,a){return new RegExp(c(t),"m"+(e.case_insensitive?"i":"")+(e.unicodeRegex?"u":"")+(a?"g":""))}class a{constructor(){this.matchIndexes={},this.regexes=[],this.matchAt=1,this.position=0}addRule(e,t){t.position=this.position++,this.matchIndexes[this.matchAt]=t,this.regexes.push([t,e]),this.matchAt+=m(e)+1}compile(){0===this.regexes.length&&(this.exec=()=>null);const e=this.regexes.map(e=>e[1]);this.matcherRe=t(y(e,{joinWith:"|"}),!0),this.lastIndex=0}exec(e){this.matcherRe.lastIndex=this.lastIndex;const t=this.matcherRe.exec(e);if(!t)return null;const a=t.findIndex((e,t)=>t>0&&void 0!==e),n=this.matchIndexes[a];return t.splice(0,a),Object.assign(t,n)}}class r{constructor(){this.rules=[],this.multiRegexes=[],this.count=0,this.lastIndex=0,this.regexIndex=0}getMatcher(e){if(this.multiRegexes[e])return this.multiRegexes[e];const t=new a;return this.rules.slice(e).forEach(([e,a])=>t.addRule(e,a)),t.compile(),this.multiRegexes[e]=t,t}resumingScanAtSamePosition(){return 0!==this.regexIndex}considerAll(){this.regexIndex=0}addRule(e,t){this.rules.push([e,t]),"begin"===t.type&&this.count++}exec(e){const t=this.getMatcher(this.regexIndex);t.lastIndex=this.lastIndex;let a=t.exec(e);if(this.resumingScanAtSamePosition())if(a&&a.index===this.lastIndex);else{const t=this.getMatcher(0);t.lastIndex=this.lastIndex+1,a=t.exec(e)}return a&&(this.regexIndex+=a.position+1,this.regexIndex===this.count&&this.considerAll()),a}}if(e.compilerExtensions||(e.compilerExtensions=[]),e.contains&&e.contains.includes("self"))throw new Error("ERR: contains `self` is not supported at the top-level of a language. See documentation.");return e.classNameAliases=n(e.classNameAliases||{}),function a(s,i){const o=s;if(s.isCompiled)return o;[L,H,ee,Y].forEach(e=>e(s,i)),e.compilerExtensions.forEach(e=>e(s,i)),s.__beforeBegin=null,[R,z,$].forEach(e=>e(s,i)),s.isCompiled=!0;let l=null;return"object"==typeof s.keywords&&s.keywords.$pattern&&(s.keywords=Object.assign({},s.keywords),l=s.keywords.$pattern,delete s.keywords.$pattern),l=l||/\w+/,s.keywords&&(s.keywords=W(s.keywords,e.case_insensitive)),o.keywordPatternRe=t(l,!0),i&&(s.begin||(s.begin=/\B|\b/),o.beginRe=t(o.begin),s.end||s.endsWithParent||(s.end=/\B|\b/),s.end&&(o.endRe=t(o.end)),o.terminatorEnd=c(o.end)||"",s.endsWithParent&&i.terminatorEnd&&(o.terminatorEnd+=(s.end?"|":"")+i.terminatorEnd)),s.illegal&&(o.illegalRe=t(s.illegal)),s.contains||(s.contains=[]),s.contains=[].concat(...s.contains.map(function(e){return function(e){e.variants&&!e.cachedVariants&&(e.cachedVariants=e.variants.map(function(t){return n(e,{variants:null},t)}));if(e.cachedVariants)return e.cachedVariants;if(ae(e))return n(e,{starts:e.starts?n(e.starts):null});if(Object.isFrozen(e))return n(e);return e}("self"===e?s:e)})),s.contains.forEach(function(e){a(e,o)}),s.starts&&a(s.starts,i),o.matcher=function(e){const t=new r;return e.contains.forEach(e=>t.addRule(e.begin,{rule:e,type:"begin"})),e.terminatorEnd&&t.addRule(e.terminatorEnd,{type:"end"}),e.illegal&&t.addRule(e.illegal,{type:"illegal"}),t}(o),o}(e)}function ae(e){return!!e&&(e.endsWithParent||ae(e.starts))}class ne extends Error{constructor(e,t){super(e),this.name="HTMLInjectionError",this.html=t}}const re=a,se=n,ie=Symbol("nomatch"),oe=function(a){const n=Object.create(null),r=Object.create(null),s=[];let i=!0;const o="Could not find the language '{}', did you forget to load/include a language module?",c={disableAutodetect:!0,name:"Plain text",contains:[]};let m={ignoreUnescapedHTML:!1,throwUnescapedHTML:!1,noHighlightRe:/^(no-?highlight)$/i,languageDetectRe:/\blang(?:uage)?-([\w-]+)\b/i,classPrefix:"hljs-",cssSelector:"pre code",languages:null,__emitter:l};function g(e){return m.noHighlightRe.test(e)}function y(e,t,a){let n="",r="";"object"==typeof t?(n=e,a=t.ignoreIllegals,r=t.language):(Z("10.7.0","highlight(lang, code, ...args) has been deprecated."),Z("10.7.0","Please use highlight(code, options) instead.\nhttps://github.com/highlightjs/highlight.js/issues/2277"),r=e,n=t),void 0===a&&(a=!0);const s={code:n,language:r};F("before:highlight",s);const i=s.result?s.result:v(s.language,s.code,a);return i.code=s.code,F("after:highlight",i),i}function v(e,a,r,s){const l=Object.create(null);function c(e,t){return e.keywords[t]}function u(){if(!D.keywords)return void T.addText(S);let e=0;D.keywordPatternRe.lastIndex=0;let t=D.keywordPatternRe.exec(S),a="";for(;t;){a+=S.substring(e,t.index);const n=E.case_insensitive?t[0].toLowerCase():t[0],r=c(D,n);if(r){const[e,s]=r;if(T.addText(a),a="",l[n]=(l[n]||0)+1,l[n]<=7&&(I+=s),e.startsWith("_"))a+=t[0];else{const a=E.classNameAliases[e]||e;h(t[0],a)}}else a+=t[0];e=D.keywordPatternRe.lastIndex,t=D.keywordPatternRe.exec(S)}a+=S.substring(e),T.addText(a)}function d(){null!=D.subLanguage?function(){if(""===S)return;let e=null;if("string"==typeof D.subLanguage){if(!n[D.subLanguage])return void T.addText(S);e=v(D.subLanguage,S,!0,A[D.subLanguage]),A[D.subLanguage]=e._top}else e=b(S,D.subLanguage.length?D.subLanguage:null);D.relevance>0&&(I+=e.relevance),T.__addSublanguage(e._emitter,e.language)}():u(),S=""}function h(e,t){""!==e&&(T.startScope(t),T.addText(e),T.endScope())}function p(e,t){let a=1;const n=t.length-1;for(;a<=n;){if(!e._emit[a]){a++;continue}const n=E.classNameAliases[e[a]]||e[a],r=t[a];n?h(r,n):(S=r,u(),S=""),a++}}function f(e,t){return e.scope&&"string"==typeof e.scope&&T.openNode(E.classNameAliases[e.scope]||e.scope),e.beginScope&&(e.beginScope._wrap?(h(S,E.classNameAliases[e.beginScope._wrap]||e.beginScope._wrap),S=""):e.beginScope._multi&&(p(e.beginScope,t),S="")),D=Object.create(e,{parent:{value:D}}),D}function g(e,a,n){let r=function(e,t){const a=e&&e.exec(t);return a&&0===a.index}(e.endRe,n);if(r){if(e["on:end"]){const n=new t(e);e["on:end"](a,n),n.isMatchIgnored&&(r=!1)}if(r){for(;e.endsParent&&e.parent;)e=e.parent;return e}}if(e.endsWithParent)return g(e.parent,a,n)}function y(e){return 0===D.matcher.regexIndex?(S+=e[0],1):(B=!0,0)}function w(e){const t=e[0],n=a.substring(e.index),r=g(D,e,n);if(!r)return ie;const s=D;D.endScope&&D.endScope._wrap?(d(),h(t,D.endScope._wrap)):D.endScope&&D.endScope._multi?(d(),p(D.endScope,e)):s.skip?S+=t:(s.returnEnd||s.excludeEnd||(S+=t),d(),s.excludeEnd&&(S=t));do{D.scope&&T.closeNode(),D.skip||D.subLanguage||(I+=D.relevance),D=D.parent}while(D!==r.parent);return r.starts&&f(r.starts,e),s.returnEnd?0:t.length}let x={};function k(n,s){const o=s&&s[0];if(S+=n,null==o)return d(),0;if("begin"===x.type&&"end"===s.type&&x.index===s.index&&""===o){if(S+=a.slice(s.index,s.index+1),!i){const t=new Error(`0 width match regex (${e})`);throw t.languageName=e,t.badRule=x.rule,t}return 1}if(x=s,"begin"===s.type)return function(e){const a=e[0],n=e.rule,r=new t(n),s=[n.__beforeBegin,n["on:begin"]];for(const t of s)if(t&&(t(e,r),r.isMatchIgnored))return y(a);return n.skip?S+=a:(n.excludeBegin&&(S+=a),d(),n.returnBegin||n.excludeBegin||(S=a)),f(n,e),n.returnBegin?0:a.length}(s);if("illegal"===s.type&&!r){const e=new Error('Illegal lexeme "'+o+'" for mode "'+(D.scope||"")+'"');throw e.mode=D,e}if("end"===s.type){const e=w(s);if(e!==ie)return e}if("illegal"===s.type&&""===o)return S+="\n",1;if(P>1e5&&P>3*s.index){throw new Error("potential infinite loop, way more iterations than matches")}return S+=o,o.length}const E=_(e);if(!E)throw J(o.replace("{}",e)),new Error('Unknown language: "'+e+'"');const C=te(E);let F="",D=s||C;const A={},T=new m.__emitter(m);!function(){const e=[];for(let t=D;t!==E;t=t.parent)t.scope&&e.unshift(t.scope);e.forEach(e=>T.openNode(e))}();let S="",I=0,N=0,P=0,B=!1;try{if(E.__emitTokens)E.__emitTokens(a,T);else{for(D.matcher.considerAll();;){P++,B?B=!1:D.matcher.considerAll(),D.matcher.lastIndex=N;const e=D.matcher.exec(a);if(!e)break;const t=k(a.substring(N,e.index),e);N=e.index+t}k(a.substring(N))}return T.finalize(),F=T.toHTML(),{language:e,value:F,relevance:I,illegal:!1,_emitter:T,_top:D}}catch(M){if(M.message&&M.message.includes("Illegal"))return{language:e,value:re(a),illegal:!0,relevance:0,_illegalBy:{message:M.message,index:N,context:a.slice(N-100,N+100),mode:M.mode,resultSoFar:F},_emitter:T};if(i)return{language:e,value:re(a),illegal:!1,relevance:0,errorRaised:M,_emitter:T,_top:D};throw M}}function b(e,t){t=t||m.languages||Object.keys(n);const a=function(e){const t={value:re(e),illegal:!1,relevance:0,_top:c,_emitter:new m.__emitter(m)};return t._emitter.addText(e),t}(e),r=t.filter(_).filter(C).map(t=>v(t,e,!1));r.unshift(a);const s=r.sort((e,t)=>{if(e.relevance!==t.relevance)return t.relevance-e.relevance;if(e.language&&t.language){if(_(e.language).supersetOf===t.language)return 1;if(_(t.language).supersetOf===e.language)return-1}return 0}),[i,o]=s,l=i;return l.secondBest=o,l}function w(e){let t=null;const a=function(e){let t=e.className+" ";t+=e.parentNode?e.parentNode.className:"";const a=m.languageDetectRe.exec(t);if(a){const t=_(a[1]);return t||(q(o.replace("{}",a[1])),q("Falling back to no-highlight mode for this block.",e)),t?a[1]:"no-highlight"}return t.split(/\s+/).find(e=>g(e)||_(e))}(e);if(g(a))return;if(F("before:highlightElement",{el:e,language:a}),e.dataset.highlighted)return void console.log("Element previously highlighted. To highlight again, first unset `dataset.highlighted`.",e);if(e.children.length>0&&(m.ignoreUnescapedHTML||(console.warn("One of your code blocks includes unescaped HTML. This is a potentially serious security risk."),console.warn("https://github.com/highlightjs/highlight.js/wiki/security"),console.warn("The element with unescaped HTML:"),console.warn(e)),m.throwUnescapedHTML)){throw new ne("One of your code blocks includes unescaped HTML.",e.innerHTML)}t=e;const n=t.textContent,s=a?y(n,{language:a,ignoreIllegals:!0}):b(n);e.innerHTML=s.value,e.dataset.highlighted="yes",function(e,t,a){const n=t&&r[t]||a;e.classList.add("hljs"),e.classList.add(`language-${n}`)}(e,a,s.language),e.result={language:s.language,re:s.relevance,relevance:s.relevance},s.secondBest&&(e.secondBest={language:s.secondBest.language,relevance:s.secondBest.relevance}),F("after:highlightElement",{el:e,result:s,text:n})}let x=!1;function k(){if("loading"===document.readyState)return x||window.addEventListener("DOMContentLoaded",function(){k()},!1),void(x=!0);document.querySelectorAll(m.cssSelector).forEach(w)}function _(e){return e=(e||"").toLowerCase(),n[e]||n[r[e]]}function E(e,{languageName:t}){"string"==typeof e&&(e=[e]),e.forEach(e=>{r[e.toLowerCase()]=t})}function C(e){const t=_(e);return t&&!t.disableAutodetect}function F(e,t){const a=e;s.forEach(function(e){e[a]&&e[a](t)})}Object.assign(a,{highlight:y,highlightAuto:b,highlightAll:k,highlightElement:w,highlightBlock:function(e){return Z("10.7.0","highlightBlock will be removed entirely in v12.0"),Z("10.7.0","Please use highlightElement now."),w(e)},configure:function(e){m=se(m,e)},initHighlighting:()=>{k(),Z("10.6.0","initHighlighting() deprecated. Use highlightAll() now.")},initHighlightingOnLoad:function(){k(),Z("10.6.0","initHighlightingOnLoad() deprecated. Use highlightAll() now.")},registerLanguage:function(e,t){let r=null;try{r=t(a)}catch(s){if(J("Language definition for '{}' could not be registered.".replace("{}",e)),!i)throw s;J(s),r=c}r.name||(r.name=e),n[e]=r,r.rawDefinition=t.bind(null,a),r.aliases&&E(r.aliases,{languageName:e})},unregisterLanguage:function(e){delete n[e];for(const t of Object.keys(r))r[t]===e&&delete r[t]},listLanguages:function(){return Object.keys(n)},getLanguage:_,registerAliases:E,autoDetection:C,inherit:se,addPlugin:function(e){!function(e){e["before:highlightBlock"]&&!e["before:highlightElement"]&&(e["before:highlightElement"]=t=>{e["before:highlightBlock"](Object.assign({block:t.el},t))}),e["after:highlightBlock"]&&!e["after:highlightElement"]&&(e["after:highlightElement"]=t=>{e["after:highlightBlock"](Object.assign({block:t.el},t))})}(e),s.push(e)},removePlugin:function(e){const t=s.indexOf(e);-1!==t&&s.splice(t,1)}}),a.debugMode=function(){i=!1},a.safeMode=function(){i=!0},a.versionString="11.11.1",a.regex={concat:p,lookahead:u,either:f,optional:h,anyNumberOfTimes:d};for(const t in U)"object"==typeof U[t]&&e(U[t]);return Object.assign(a,U),a},le=oe({});return le.newInstance=()=>oe({}),ec=le,le.HighlightJS=le,le.default=le,ec}const nc=Ql(ac()),rc="[A-Za-z$_][0-9A-Za-z$_]*",sc=["as","in","of","if","for","while","finally","var","new","function","do","return","void","else","break","catch","instanceof","with","throw","case","default","try","switch","continue","typeof","delete","let","yield","const","class","debugger","async","await","static","import","from","export","extends","using"],ic=["true","false","null","undefined","NaN","Infinity"],oc=["Object","Function","Boolean","Symbol","Math","Date","Number","BigInt","String","RegExp","Array","Float32Array","Float64Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Int32Array","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array","Set","Map","WeakSet","WeakMap","ArrayBuffer","SharedArrayBuffer","Atomics","DataView","JSON","Promise","Generator","GeneratorFunction","AsyncFunction","Reflect","Proxy","Intl","WebAssembly"],lc=["Error","EvalError","InternalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError"],cc=["setInterval","setTimeout","clearInterval","clearTimeout","require","exports","eval","isFinite","isNaN","parseFloat","parseInt","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","unescape"],uc=["arguments","this","super","console","window","document","localStorage","sessionStorage","module","global"],dc=[].concat(cc,oc,lc);function hc(e){const t=e.regex,a=rc,n="<>",r="",s={begin:/<[A-Za-z0-9\\._:-]+/,end:/\/[A-Za-z0-9\\._:-]+>|\/>/,isTrulyOpeningTag:(e,t)=>{const a=e[0].length+e.index,n=e.input[a];if("<"===n||","===n)return void t.ignoreMatch();let r;">"===n&&(((e,{after:t})=>{const a="`${e}\\s*\\(`),t.concat("(?!",C.join("|"),")")),a,t.lookahead(/\s*\(/)),className:"title.function",relevance:0};var C;const F={begin:t.concat(/\./,t.lookahead(t.concat(a,/(?![0-9A-Za-z$_(])/))),end:a,excludeBegin:!0,keywords:"prototype",className:"property",relevance:0},D={match:[/get|set/,/\s+/,a,/(?=\()/],className:{1:"keyword",3:"title.function"},contains:[{begin:/\(\)/},w]},A="(\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)|"+e.UNDERSCORE_IDENT_RE+")\\s*=>",T={match:[/const|var|let/,/\s+/,a,/\s*/,/=\s*/,/(async\s*)?/,t.lookahead(A)],keywords:"async",className:{1:"keyword",3:"title.function"},contains:[w]};return{name:"JavaScript",aliases:["js","jsx","mjs","cjs"],keywords:i,exports:{PARAMS_CONTAINS:b,CLASS_REFERENCE:k},illegal:/#(?![$_A-z])/,contains:[e.SHEBANG({label:"shebang",binary:"node",relevance:5}),{label:"use_strict",className:"meta",relevance:10,begin:/^\s*['"]use (strict|asm)['"]/},e.APOS_STRING_MODE,e.QUOTE_STRING_MODE,h,p,f,m,g,{match:/\$\d+/},u,k,{scope:"attr",match:a+t.lookahead(":"),relevance:0},T,{begin:"("+e.RE_STARTERS_RE+"|\\b(case|return|throw)\\b)\\s*",keywords:"return throw case",relevance:0,contains:[g,e.REGEXP_MODE,{className:"function",begin:A,returnBegin:!0,end:"\\s*=>",contains:[{className:"params",variants:[{begin:e.UNDERSCORE_IDENT_RE,relevance:0},{className:null,begin:/\(\s*\)/,skip:!0},{begin:/(\s*)\(/,end:/\)/,excludeBegin:!0,excludeEnd:!0,keywords:i,contains:b}]}]},{begin:/,/,relevance:0},{match:/\s+/,relevance:0},{variants:[{begin:n,end:r},{match:/<[A-Za-z0-9\\._:-]+\s*\/>/},{begin:s.begin,"on:begin":s.isTrulyOpeningTag,end:s.end}],subLanguage:"xml",contains:[{begin:s.begin,end:s.end,skip:!0,contains:["self"]}]}]},_,{beginKeywords:"while if switch catch for"},{begin:"\\b(?!function)"+e.UNDERSCORE_IDENT_RE+"\\([^()]*(\\([^()]*(\\([^()]*\\)[^()]*)*\\)[^()]*)*\\)\\s*\\{",returnBegin:!0,label:"func.def",contains:[w,e.inherit(e.TITLE_MODE,{begin:a,className:"title.function"})]},{match:/\.\.\./,relevance:0},F,{match:"\\$"+a,relevance:0},{match:[/\bconstructor(?=\s*\()/],className:{1:"title.function"},contains:[w]},E,{relevance:0,match:/\b[A-Z][A-Z_0-9]+\b/,className:"variable.constant"},x,D,{match:/\$[(.]/}]}}function pc(e){const t=e.regex,a=t.concat(/[\p{L}_]/u,t.optional(/[\p{L}0-9_.-]*:/u),/[\p{L}0-9_.-]*/u),n={className:"symbol",begin:/&[a-z]+;|&#[0-9]+;|&#x[a-f0-9]+;/},r={begin:/\s/,contains:[{className:"keyword",begin:/#?[a-z_][a-z1-9_-]+/,illegal:/\n/}]},s=e.inherit(r,{begin:/\(/,end:/\)/}),i=e.inherit(e.APOS_STRING_MODE,{className:"string"}),o=e.inherit(e.QUOTE_STRING_MODE,{className:"string"}),l={endsWithParent:!0,illegal:/`]+/}]}]}]};return{name:"HTML, XML",aliases:["html","xhtml","rss","atom","xjb","xsd","xsl","plist","wsf","svg"],case_insensitive:!0,unicodeRegex:!0,contains:[{className:"meta",begin://,relevance:10,contains:[r,o,i,s,{begin:/\[/,end:/\]/,contains:[{className:"meta",begin://,contains:[r,s,o,i]}]}]},e.COMMENT(//,{relevance:10}),{begin://,relevance:10},n,{className:"meta",end:/\?>/,variants:[{begin:/<\?xml/,relevance:10,contains:[o]},{begin:/<\?[a-z][a-z0-9]+/}]},{className:"tag",begin:/)/,end:/>/,keywords:{name:"style"},contains:[l],starts:{end:/<\/style>/,returnEnd:!0,subLanguage:["css","xml"]}},{className:"tag",begin:/)/,end:/>/,keywords:{name:"script"},contains:[l],starts:{end:/<\/script>/,returnEnd:!0,subLanguage:["javascript","handlebars","xml"]}},{className:"tag",begin:/<>|<\/>/},{className:"tag",begin:t.concat(//,/>/,/\s/)))),end:/\/?>/,contains:[{className:"name",begin:a,relevance:0,starts:l}]},{className:"tag",begin:t.concat(/<\//,t.lookahead(t.concat(a,/>/))),contains:[{className:"name",begin:a,relevance:0},{begin:/>/,relevance:0,endsParent:!0}]}]}}const fc=["a","abbr","address","article","aside","audio","b","blockquote","body","button","canvas","caption","cite","code","dd","del","details","dfn","div","dl","dt","em","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hgroup","html","i","iframe","img","input","ins","kbd","label","legend","li","main","mark","menu","nav","object","ol","optgroup","option","p","picture","q","quote","samp","section","select","source","span","strong","summary","sup","table","tbody","td","textarea","tfoot","th","thead","time","tr","ul","var","video","defs","g","marker","mask","pattern","svg","switch","symbol","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feFlood","feGaussianBlur","feImage","feMerge","feMorphology","feOffset","feSpecularLighting","feTile","feTurbulence","linearGradient","radialGradient","stop","circle","ellipse","image","line","path","polygon","polyline","rect","text","use","textPath","tspan","foreignObject","clipPath"],mc=["any-hover","any-pointer","aspect-ratio","color","color-gamut","color-index","device-aspect-ratio","device-height","device-width","display-mode","forced-colors","grid","height","hover","inverted-colors","monochrome","orientation","overflow-block","overflow-inline","pointer","prefers-color-scheme","prefers-contrast","prefers-reduced-motion","prefers-reduced-transparency","resolution","scan","scripting","update","width","min-width","max-width","min-height","max-height"].sort().reverse(),gc=["active","any-link","blank","checked","current","default","defined","dir","disabled","drop","empty","enabled","first","first-child","first-of-type","fullscreen","future","focus","focus-visible","focus-within","has","host","host-context","hover","indeterminate","in-range","invalid","is","lang","last-child","last-of-type","left","link","local-link","not","nth-child","nth-col","nth-last-child","nth-last-col","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","past","placeholder-shown","read-only","read-write","required","right","root","scope","target","target-within","user-invalid","valid","visited","where"].sort().reverse(),yc=["after","backdrop","before","cue","cue-region","first-letter","first-line","grammar-error","marker","part","placeholder","selection","slotted","spelling-error"].sort().reverse(),vc=["accent-color","align-content","align-items","align-self","alignment-baseline","all","anchor-name","animation","animation-composition","animation-delay","animation-direction","animation-duration","animation-fill-mode","animation-iteration-count","animation-name","animation-play-state","animation-range","animation-range-end","animation-range-start","animation-timeline","animation-timing-function","appearance","aspect-ratio","backdrop-filter","backface-visibility","background","background-attachment","background-blend-mode","background-clip","background-color","background-image","background-origin","background-position","background-position-x","background-position-y","background-repeat","background-size","baseline-shift","block-size","border","border-block","border-block-color","border-block-end","border-block-end-color","border-block-end-style","border-block-end-width","border-block-start","border-block-start-color","border-block-start-style","border-block-start-width","border-block-style","border-block-width","border-bottom","border-bottom-color","border-bottom-left-radius","border-bottom-right-radius","border-bottom-style","border-bottom-width","border-collapse","border-color","border-end-end-radius","border-end-start-radius","border-image","border-image-outset","border-image-repeat","border-image-slice","border-image-source","border-image-width","border-inline","border-inline-color","border-inline-end","border-inline-end-color","border-inline-end-style","border-inline-end-width","border-inline-start","border-inline-start-color","border-inline-start-style","border-inline-start-width","border-inline-style","border-inline-width","border-left","border-left-color","border-left-style","border-left-width","border-radius","border-right","border-right-color","border-right-style","border-right-width","border-spacing","border-start-end-radius","border-start-start-radius","border-style","border-top","border-top-color","border-top-left-radius","border-top-right-radius","border-top-style","border-top-width","border-width","bottom","box-align","box-decoration-break","box-direction","box-flex","box-flex-group","box-lines","box-ordinal-group","box-orient","box-pack","box-shadow","box-sizing","break-after","break-before","break-inside","caption-side","caret-color","clear","clip","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","color-scheme","column-count","column-fill","column-gap","column-rule","column-rule-color","column-rule-style","column-rule-width","column-span","column-width","columns","contain","contain-intrinsic-block-size","contain-intrinsic-height","contain-intrinsic-inline-size","contain-intrinsic-size","contain-intrinsic-width","container","container-name","container-type","content","content-visibility","counter-increment","counter-reset","counter-set","cue","cue-after","cue-before","cursor","cx","cy","direction","display","dominant-baseline","empty-cells","enable-background","field-sizing","fill","fill-opacity","fill-rule","filter","flex","flex-basis","flex-direction","flex-flow","flex-grow","flex-shrink","flex-wrap","float","flood-color","flood-opacity","flow","font","font-display","font-family","font-feature-settings","font-kerning","font-language-override","font-optical-sizing","font-palette","font-size","font-size-adjust","font-smooth","font-smoothing","font-stretch","font-style","font-synthesis","font-synthesis-position","font-synthesis-small-caps","font-synthesis-style","font-synthesis-weight","font-variant","font-variant-alternates","font-variant-caps","font-variant-east-asian","font-variant-emoji","font-variant-ligatures","font-variant-numeric","font-variant-position","font-variation-settings","font-weight","forced-color-adjust","gap","glyph-orientation-horizontal","glyph-orientation-vertical","grid","grid-area","grid-auto-columns","grid-auto-flow","grid-auto-rows","grid-column","grid-column-end","grid-column-start","grid-gap","grid-row","grid-row-end","grid-row-start","grid-template","grid-template-areas","grid-template-columns","grid-template-rows","hanging-punctuation","height","hyphenate-character","hyphenate-limit-chars","hyphens","icon","image-orientation","image-rendering","image-resolution","ime-mode","initial-letter","initial-letter-align","inline-size","inset","inset-area","inset-block","inset-block-end","inset-block-start","inset-inline","inset-inline-end","inset-inline-start","isolation","justify-content","justify-items","justify-self","kerning","left","letter-spacing","lighting-color","line-break","line-height","line-height-step","list-style","list-style-image","list-style-position","list-style-type","margin","margin-block","margin-block-end","margin-block-start","margin-bottom","margin-inline","margin-inline-end","margin-inline-start","margin-left","margin-right","margin-top","margin-trim","marker","marker-end","marker-mid","marker-start","marks","mask","mask-border","mask-border-mode","mask-border-outset","mask-border-repeat","mask-border-slice","mask-border-source","mask-border-width","mask-clip","mask-composite","mask-image","mask-mode","mask-origin","mask-position","mask-repeat","mask-size","mask-type","masonry-auto-flow","math-depth","math-shift","math-style","max-block-size","max-height","max-inline-size","max-width","min-block-size","min-height","min-inline-size","min-width","mix-blend-mode","nav-down","nav-index","nav-left","nav-right","nav-up","none","normal","object-fit","object-position","offset","offset-anchor","offset-distance","offset-path","offset-position","offset-rotate","opacity","order","orphans","outline","outline-color","outline-offset","outline-style","outline-width","overflow","overflow-anchor","overflow-block","overflow-clip-margin","overflow-inline","overflow-wrap","overflow-x","overflow-y","overlay","overscroll-behavior","overscroll-behavior-block","overscroll-behavior-inline","overscroll-behavior-x","overscroll-behavior-y","padding","padding-block","padding-block-end","padding-block-start","padding-bottom","padding-inline","padding-inline-end","padding-inline-start","padding-left","padding-right","padding-top","page","page-break-after","page-break-before","page-break-inside","paint-order","pause","pause-after","pause-before","perspective","perspective-origin","place-content","place-items","place-self","pointer-events","position","position-anchor","position-visibility","print-color-adjust","quotes","r","resize","rest","rest-after","rest-before","right","rotate","row-gap","ruby-align","ruby-position","scale","scroll-behavior","scroll-margin","scroll-margin-block","scroll-margin-block-end","scroll-margin-block-start","scroll-margin-bottom","scroll-margin-inline","scroll-margin-inline-end","scroll-margin-inline-start","scroll-margin-left","scroll-margin-right","scroll-margin-top","scroll-padding","scroll-padding-block","scroll-padding-block-end","scroll-padding-block-start","scroll-padding-bottom","scroll-padding-inline","scroll-padding-inline-end","scroll-padding-inline-start","scroll-padding-left","scroll-padding-right","scroll-padding-top","scroll-snap-align","scroll-snap-stop","scroll-snap-type","scroll-timeline","scroll-timeline-axis","scroll-timeline-name","scrollbar-color","scrollbar-gutter","scrollbar-width","shape-image-threshold","shape-margin","shape-outside","shape-rendering","speak","speak-as","src","stop-color","stop-opacity","stroke","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke-width","tab-size","table-layout","text-align","text-align-all","text-align-last","text-anchor","text-combine-upright","text-decoration","text-decoration-color","text-decoration-line","text-decoration-skip","text-decoration-skip-ink","text-decoration-style","text-decoration-thickness","text-emphasis","text-emphasis-color","text-emphasis-position","text-emphasis-style","text-indent","text-justify","text-orientation","text-overflow","text-rendering","text-shadow","text-size-adjust","text-transform","text-underline-offset","text-underline-position","text-wrap","text-wrap-mode","text-wrap-style","timeline-scope","top","touch-action","transform","transform-box","transform-origin","transform-style","transition","transition-behavior","transition-delay","transition-duration","transition-property","transition-timing-function","translate","unicode-bidi","user-modify","user-select","vector-effect","vertical-align","view-timeline","view-timeline-axis","view-timeline-inset","view-timeline-name","view-transition-name","visibility","voice-balance","voice-duration","voice-family","voice-pitch","voice-range","voice-rate","voice-stress","voice-volume","white-space","white-space-collapse","widows","width","will-change","word-break","word-spacing","word-wrap","writing-mode","x","y","z-index","zoom"].sort().reverse();function bc(e){const t=e.regex,a=(e=>({IMPORTANT:{scope:"meta",begin:"!important"},BLOCK_COMMENT:e.C_BLOCK_COMMENT_MODE,HEXCOLOR:{scope:"number",begin:/#(([0-9a-fA-F]{3,4})|(([0-9a-fA-F]{2}){3,4}))\b/},FUNCTION_DISPATCH:{className:"built_in",begin:/[\w-]+(?=\()/},ATTRIBUTE_SELECTOR_MODE:{scope:"selector-attr",begin:/\[/,end:/\]/,illegal:"$",contains:[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE]},CSS_NUMBER_MODE:{scope:"number",begin:e.NUMBER_RE+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",relevance:0},CSS_VARIABLE:{className:"attr",begin:/--[A-Za-z_][A-Za-z0-9_-]*/}}))(e),n=[e.APOS_STRING_MODE,e.QUOTE_STRING_MODE];return{name:"CSS",case_insensitive:!0,illegal:/[=|'\$]/,keywords:{keyframePosition:"from to"},classNameAliases:{keyframePosition:"selector-tag"},contains:[a.BLOCK_COMMENT,{begin:/-(webkit|moz|ms|o)-(?=[a-z])/},a.CSS_NUMBER_MODE,{className:"selector-id",begin:/#[A-Za-z0-9_-]+/,relevance:0},{className:"selector-class",begin:"\\.[a-zA-Z-][a-zA-Z0-9_-]*",relevance:0},a.ATTRIBUTE_SELECTOR_MODE,{className:"selector-pseudo",variants:[{begin:":("+gc.join("|")+")"},{begin:":(:)?("+yc.join("|")+")"}]},a.CSS_VARIABLE,{className:"attribute",begin:"\\b("+vc.join("|")+")\\b"},{begin:/:/,end:/[;}{]/,contains:[a.BLOCK_COMMENT,a.HEXCOLOR,a.IMPORTANT,a.CSS_NUMBER_MODE,...n,{begin:/(url|data-uri)\(/,end:/\)/,relevance:0,keywords:{built_in:"url data-uri"},contains:[...n,{className:"string",begin:/[^)]/,endsWithParent:!0,excludeEnd:!0}]},a.FUNCTION_DISPATCH]},{begin:t.lookahead(/@/),end:"[{;]",relevance:0,illegal:/:/,contains:[{className:"keyword",begin:/@-?\w[\w]*(-\w+)*/},{begin:/\s/,endsWithParent:!0,excludeEnd:!0,relevance:0,keywords:{$pattern:/[a-z-]+/,keyword:"and or not only",attribute:mc.join(" ")},contains:[{begin:/[a-z-]+(?=:)/,className:"attribute"},...n,a.CSS_NUMBER_MODE]}]},{className:"selector-tag",begin:"\\b("+fc.join("|")+")\\b"}]}}function wc(e){const t=["true","false","null"],a={scope:"literal",beginKeywords:t.join(" ")};return{name:"JSON",aliases:["jsonc"],keywords:{literal:t},contains:[{className:"attr",begin:/"(\\.|[^\\"\r\n])*"(?=\s*:)/,relevance:1.01},{match:/[{}[\],:]/,className:"punctuation",relevance:0},e.QUOTE_STRING_MODE,a,e.C_NUMBER_MODE,e.C_LINE_COMMENT_MODE,e.C_BLOCK_COMMENT_MODE],illegal:"\\S"}}const xc=["innerHTML"],kc={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},_c={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Ec=Wi($a({__name:"CodeViewer",props:{code:{default:""},language:{default:"javascript"},showLineNumbers:{type:Boolean,default:!0},readonly:{type:Boolean,default:!0},isFullscreen:{type:Boolean,default:!1},showFullscreenButton:{type:Boolean,default:!1}},emits:["toggleFullscreen"],setup(e,{emit:t}){nc.registerLanguage("javascript",hc),nc.registerLanguage("html",pc),nc.registerLanguage("css",bc),nc.registerLanguage("json",wc);const a=e,n=t,r=St(),s=St(),i=St(),o=St(!1),l=is(()=>a.code?a.code.split("\n"):[]),c=is(()=>{if(!a.code)return"";try{const e="html"===a.language?"html":a.language;return nc.highlight(a.code,{language:e}).value}catch(e){return console.warn("代码高亮失败:",e),a.code}}),u=()=>{a.showLineNumbers&&s.value&&i.value&&(s.value.scrollTop=i.value.scrollTop),a.isFullscreen&&i.value&&(o.value=i.value.scrollTop>200)},d=()=>{i.value&&i.value.scrollTo({top:0,behavior:"smooth"})};return pa(()=>a.code,()=>{Zt(()=>{i.value&&(i.value.scrollTop=0),a.showLineNumbers&&s.value&&(s.value.scrollTop=0)})}),nn(()=>{Zt(()=>{u()})}),(t,a)=>(Cr(),Tr("div",{class:Q(["code-viewer",{"fullscreen-mode":e.isFullscreen,"show-line-numbers":e.showLineNumbers}])},[Mr("div",{class:"code-container",ref_key:"codeContainer",ref:r},[e.showLineNumbers?(Cr(),Tr("div",{key:0,class:"line-numbers",ref_key:"lineNumbers",ref:s},[(Cr(!0),Tr(br,null,yn(l.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"line-number"},se(t+1),1))),128))],512)):Rr("",!0),Mr("div",{class:"code-content",ref_key:"codeContent",ref:i,innerHTML:c.value,onScroll:u},null,40,xc)],512),e.showFullscreenButton?(Cr(),Tr("div",{key:0,class:"floating-fullscreen-btn",onClick:a[0]||(a[0]=e=>n("toggleFullscreen"))},[e.isFullscreen?(Cr(),Tr("svg",_c,[...a[2]||(a[2]=[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},null,-1)])])):(Cr(),Tr("svg",kc,[...a[1]||(a[1]=[Mr("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},null,-1)])]))])):Rr("",!0),e.isFullscreen&&e.code&&o.value?(Cr(),Tr("div",{key:1,class:"scroll-to-top-btn",onClick:d},[...a[3]||(a[3]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m18 15-6-6-6 6"})],-1)])])):Rr("",!0)],2))}}),[["__scopeId","data-v-9e754843"]]),Cc={class:"json-formatter"},Fc={class:"formatter-content"},Dc={class:"input-section"},Ac={class:"section-header"},Tc={class:"input-status"},Sc={key:0,class:"auto-format-indicator"},Ic={class:"section-actions"},Nc={class:"button-group"},Pc={key:0,class:"error-message"},Bc={class:"output-section"},Mc={class:"section-header"},Oc={class:"result-controls"},Uc={class:"view-mode-toggle"},jc={key:0,class:"result-info"},Lc={class:"stat-item"},Rc={class:"stat-item"},zc={class:"stat-item"},Hc={key:0,class:"stat-item"},$c={class:"json-output-container"},Yc={key:0,class:"json-output-wrapper"},Gc={key:0,class:"json-tree-view"},Wc={class:"line-numbers"},Vc={class:"json-tree-container"},Kc={key:1,class:"json-text-view"},Jc={key:1,class:"output-placeholder"},qc=Wi($a({__name:"JsonFormatter",emits:["back"],setup(e){nc.registerLanguage("json",wc),il("json-format");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("json-format"),{downloadJson:a}=ol(),{copyToClipboard:n}=ll(),{success:r,error:s}=Vo(),i=St(""),o=St(""),l=St(""),c=St(!1),u=St(!1),d=St("text"),h=is(()=>{if(!o.value||"string"!=typeof o.value)return null;const e=o.value.split("\n").length,t=o.value.length;let a=0,n=0,r="simple",s="简单";try{const e=JSON.parse(i.value);a=g(e),n=y(e),a>50||n>5?(r="complex",s="复杂"):(a>20||n>3)&&(r="medium",s="中等")}catch(mB){a=0,n=0}return{lines:e,size:t,keys:a,depth:n,complexity:r,complexityText:s}}),p=is(()=>o.value&&"string"==typeof o.value?o.value.split("\n"):[]),f=is(()=>{if(!i.value.trim())return null;try{return JSON.parse(i.value)}catch{return null}}),m=is(()=>(d.value,p.value)),g=e=>{if("object"!=typeof e||null===e)return 0;let t=0;return Array.isArray(e)?e.forEach(e=>{t+=g(e)}):(t+=Object.keys(e).length,Object.values(e).forEach(e=>{t+=g(e)})),t},y=(e,t=1)=>{if("object"!=typeof e||null===e)return t;let a=t;return Array.isArray(e)?e.forEach(e=>{const n=y(e,t+1);a=Math.max(a,n)}):Object.values(e).forEach(e=>{const n=y(e,t+1);a=Math.max(a,n)}),a},v=()=>{l.value=""},b=async()=>{if(await new Promise(e=>setTimeout(e,10)),i.value.trim()){c.value=!0;try{T()}finally{c.value=!1}}},w=()=>{},x=async e=>{try{let t;if(null!==e.key)if("object"==typeof e.value){const a={[e.key]:e.value};t=JSON.stringify(a,null,2)}else{const a={[e.key]:e.value};t=JSON.stringify(a,null,2)}else t="object"==typeof e.value?JSON.stringify(e.value,null,2):String(e.value);if(await n(t)){const t=null!==e.key?"键值对":"object"==typeof e.value?"节点":"值";r(`已复制${t}到剪贴板`)}else s("复制失败")}catch(t){s("复制失败")}},k=e=>{try{if(!f.value)return;const t=JSON.parse(JSON.stringify(f.value));if(null===e.key)return void _();if(Array.isArray(t)){const a=parseInt(e.key.toString());!isNaN(a)&&a>=0&&a{}),r("节点已删除")}catch(t){console.error("删除节点失败:",t),s("删除失败")}},_=()=>{i.value="",o.value="",l.value="",r("已清空所有内容")},E=async()=>{try{const e=document.querySelector(".output-section");if(!e)return;document.fullscreenElement?(await document.exitFullscreen(),u.value=!1):(await e.requestFullscreen(),u.value=!0)}catch(e){console.error("全屏操作失败:",e),s("全屏功能不支持或被阻止")}},C=()=>{u.value=!!document.fullscreenElement},F=async()=>{if(!o.value)return;await n(o.value)?r("已复制到剪贴板"):s("复制失败")},D=()=>{if(!o.value)return;a(o.value,"json")?r("JSON文件已下载"):s("下载失败")},A=e=>{try{return JSON.parse(e),e}catch{let t=e.trim();t=t.replace(/([{,]\s*)([a-zA-Z_$][a-zA-Z0-9_$]*)\s*:/g,'$1"$2":'),t=t.replace(/'/g,'"');try{return JSON.parse(t),t}catch{return e}}},T=()=>{if(i.value.trim())try{const e=A(i.value);e!==i.value&&(i.value=e,r("已自动修复JSON格式问题"));const t=JSON.parse(e);o.value=JSON.stringify(t,null,2),l.value="",r("格式化成功"),M()}catch(e){l.value=`JSON格式错误: ${e.message}`,s("格式化失败")}else s("请输入JSON内容")},S=()=>{if(i.value.trim())try{const e=A(i.value);e!==i.value?(i.value=e,r("已自动修复JSON格式问题,格式正确")):r("JSON格式正确"),l.value=""}catch(e){l.value=`JSON格式错误: ${e.message}`,s("JSON格式错误")}else s("请输入JSON内容")},I=()=>{if(i.value.trim())try{const e=A(i.value);e!==i.value&&(i.value=e,r("已自动修复JSON格式问题"));const t=JSON.parse(e);o.value=JSON.stringify(t),l.value="",r("压缩成功"),M()}catch(e){l.value=`JSON格式错误: ${e.message}`,s("压缩失败")}else s("请输入JSON内容")},N=()=>{i.value.trim()?(o.value=JSON.stringify(i.value),r("转义成功")):s("请输入JSON内容")},P=()=>{if(i.value.trim())try{const e=JSON.parse(i.value);if("string"==typeof e)try{const t=JSON.parse(e);o.value=JSON.stringify(t,null,2),r("去转义并格式化成功")}catch{o.value=e,r("去转义成功")}else o.value=JSON.stringify(e,null,2),r("去转义成功");l.value=""}catch(e){try{JSON.parse(i.value),s("输入内容已经是有效的JSON,无需去转义")}catch{l.value=`去转义失败: ${e.message}`,s("去转义失败,请检查输入格式")}}else s("请输入JSON内容")},B=e=>{const t={1:{message:"success感谢又拍云(upyun.com)提供CDN赞助",status:200,date:"20260203",time:"2026-02-03 21:17:55",cityInfo:{city:"天津市",citykey:"101030100",parent:"天津",updateTime:"19:06"},data:{shidu:"46%",pm25:122,pm10:175,quality:"中度",wendu:"3.3",ganmao:"儿童、老年人及心脏、呼吸系统疾病患者人群应减少长时间或高强度户外锻炼,一般人群适量减少户外运动",forecast:[{date:"03",high:"高温 10℃",low:"低温 -3℃",ymd:"2026-02-03",week:"星期二",sunrise:"07:16",sunset:"17:33",aqi:187,fx:"西南风",fl:"2级",type:"霾",notice:"雾霾来袭,戴好口罩再出门"},{date:"04",high:"高温 10℃",low:"低温 -1℃",ymd:"2026-02-04",week:"星期三",sunrise:"07:15",sunset:"17:35",aqi:191,fx:"西北风",fl:"1级",type:"霾",notice:"雾霾来袭,戴好口罩再出门"},{date:"05",high:"高温 4℃",low:"低温 -2℃",ymd:"2026-02-05",week:"星期四",sunrise:"07:14",sunset:"17:36",aqi:93,fx:"东南风",fl:"2级",type:"多云",notice:"阴晴之间,谨防紫外线侵扰"},{date:"06",high:"高温 0℃",low:"低温 -5℃",ymd:"2026-02-06",week:"星期五",sunrise:"07:13",sunset:"17:37",aqi:37,fx:"北风",fl:"2级",type:"阴",notice:"不要被阴云遮挡住好心情"},{date:"07",high:"高温 2℃",low:"低温 -8℃",ymd:"2026-02-07",week:"星期六",sunrise:"07:12",sunset:"17:38",aqi:38,fx:"西南风",fl:"2级",type:"多云",notice:"阴晴之间,谨防紫外线侵扰"},{date:"08",high:"高温 4℃",low:"低温 -6℃",ymd:"2026-02-08",week:"星期日",sunrise:"07:10",sunset:"17:39",aqi:40,fx:"东南风",fl:"2级",type:"晴",notice:"愿你拥有比阳光明媚的心情"},{date:"09",high:"高温 4℃",low:"低温 -5℃",ymd:"2026-02-09",week:"星期一",sunrise:"07:09",sunset:"17:40",aqi:106,fx:"东南风",fl:"2级",type:"霾",notice:"雾霾来袭,戴好口罩再出门"},{date:"10",high:"高温 7℃",low:"低温 -2℃",ymd:"2026-02-10",week:"星期二",sunrise:"07:08",sunset:"17:42",aqi:133,fx:"南风",fl:"2级",type:"霾",notice:"雾霾来袭,戴好口罩再出门"},{date:"11",high:"高温 9℃",low:"低温 -2℃",ymd:"2026-02-11",week:"星期三",sunrise:"07:07",sunset:"17:43",aqi:55,fx:"西北风",fl:"2级",type:"晴",notice:"愿你拥有比阳光明媚的心情"},{date:"12",high:"高温 9℃",low:"低温 -1℃",ymd:"2026-02-12",week:"星期四",sunrise:"07:06",sunset:"17:44",aqi:92,fx:"东南风",fl:"2级",type:"晴",notice:"愿你拥有比阳光明媚的心情"},{date:"13",high:"高温 8℃",low:"低温 0℃",ymd:"2026-02-13",week:"星期五",sunrise:"07:05",sunset:"17:45",aqi:96,fx:"东北风",fl:"3级",type:"晴",notice:"愿你拥有比阳光明媚的心情"},{date:"14",high:"高温 9℃",low:"低温 -1℃",ymd:"2026-02-14",week:"星期六",sunrise:"07:04",sunset:"17:46",aqi:71,fx:"北风",fl:"3级",type:"晴",notice:"愿你拥有比阳光明媚的心情"},{date:"15",high:"高温 6℃",low:"低温 -1℃",ymd:"2026-02-15",week:"星期日",sunrise:"07:02",sunset:"17:47",aqi:39,fx:"西北风",fl:"3级",type:"晴",notice:"愿你拥有比阳光明媚的心情"},{date:"16",high:"高温 9℃",low:"低温 0℃",ymd:"2026-02-16",week:"星期一",sunrise:"07:01",sunset:"17:48",aqi:71,fx:"南风",fl:"2级",type:"多云",notice:"阴晴之间,谨防紫外线侵扰"},{date:"17",high:"高温 8℃",low:"低温 4℃",ymd:"2026-02-17",week:"星期二",sunrise:"07:00",sunset:"17:49",aqi:33,fx:"东南风",fl:"2级",type:"阴",notice:"不要被阴云遮挡住好心情"}],yesterday:{date:"02",high:"高温 5℃",low:"低温 -4℃",ymd:"2026-02-02",week:"星期一",sunrise:"07:16",sunset:"17:32",aqi:60,fx:"西北风",fl:"2级",type:"晴",notice:"愿你拥有比阳光明媚的心情"}}},2:{name:"商品列表",data:{products:[{id:"P001",name:"MacBook Pro",category:"电脑",price:12999,inStock:!0,specifications:{processor:"M3 Pro",memory:"16GB",storage:"512GB SSD"}},{id:"P002",name:"iPhone 15 Pro",category:"手机",price:7999,inStock:!1,specifications:{processor:"A17 Pro",memory:"128GB"}}]}}}[e];t&&(i.value=JSON.stringify(t.data),o.value=JSON.stringify(t.data,null,2),l.value="",r(`已加载${t.name}示例数据`),M())},M=()=>{Zt(()=>{const e=document.querySelector(".json-text-view");if(e){const t=e.querySelector(".line-numbers"),a=e.querySelector(".json-output");if(t&&a){const e=a._scrollHandler;e&&a.removeEventListener("scroll",e);const n=()=>{t&&a&&(t.scrollTop=a.scrollTop)};a._scrollHandler=n,a.addEventListener("scroll",n)}}const t=document.querySelector(".json-tree-view");if(t){const e=t.querySelector(".line-numbers"),a=t.querySelector(".json-tree-container");if(e&&a){const t=a._scrollHandler;t&&a.removeEventListener("scroll",t);const n=()=>{e&&a&&(e.scrollTop=a.scrollTop)};a._scrollHandler=n,a.addEventListener("scroll",n)}}})};return nn(()=>{M(),document.addEventListener("fullscreenchange",C)}),ln(()=>{document.removeEventListener("fullscreenchange",C)}),pa(d,()=>{M()}),(e,a)=>(Cr(),Tr("div",Cc,[Or(hl,{title:Nt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空",onClick:_}),Or(jl,{icon:"copy",tooltip:"复制JSON",disabled:!o.value,onClick:F},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载JSON文件",disabled:!o.value,onClick:D},null,8,["disabled"])]),_:1},8,["title"]),Mr("div",Fc,[Mr("div",Dc,[Mr("div",Ac,[a[7]||(a[7]=Mr("h3",null,"JSON输入",-1)),Mr("div",Tc,[c.value?(Cr(),Tr("span",Sc,[...a[6]||(a[6]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 12a9 9 0 11-6.219-8.56"})],-1),jr(" 自动格式化中... ",-1)])])):Rr("",!0)]),Mr("div",Ic,[Mr("div",Nc,[Mr("button",{class:"group-btn example-btn",onClick:a[1]||(a[1]=e=>B(1))},"示例1"),Mr("button",{class:"group-btn example-btn",onClick:a[2]||(a[2]=e=>B(2))},"示例2"),Mr("button",{class:"group-btn format-btn",onClick:T},"格式化"),Mr("button",{class:"group-btn validate-btn",onClick:S},"验证"),Mr("button",{class:"group-btn minify-btn",onClick:I},"压缩"),Mr("button",{class:"group-btn escape-btn",onClick:N},"转义"),Mr("button",{class:"group-btn unescape-btn",onClick:P},"去转义")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[3]||(a[3]=e=>i.value=e),class:"json-input",placeholder:"请输入或粘贴JSON字符串...\n\n支持功能:\n• 粘贴时自动格式化\n• 实时语法验证\n• 多种格式转换\n• 语法高亮显示",onInput:v,onPaste:b},null,544),[[bi,i.value]]),l.value?(Cr(),Tr("div",Pc,se(l.value),1)):Rr("",!0)]),Mr("div",Bc,[Mr("div",Mc,[a[8]||(a[8]=Mr("h3",null,"格式化结果",-1)),Mr("div",Oc,[Mr("div",Uc,[Mr("button",{class:Q(["mode-btn",{active:"tree"===d.value}]),onClick:a[4]||(a[4]=e=>d.value="tree")}," 树视图 ",2),Mr("button",{class:Q(["mode-btn",{active:"text"===d.value}]),onClick:a[5]||(a[5]=e=>d.value="text")}," 文本 ",2)]),h.value?(Cr(),Tr("div",jc,[Mr("span",Lc,se(h.value.lines)+" 行",1),Mr("span",Rc,se(h.value.size)+" 字符",1),Mr("span",zc,se(h.value.keys)+" 个键",1),h.value.depth>1?(Cr(),Tr("span",Hc,"深度 "+se(h.value.depth),1)):Rr("",!0),Mr("span",{class:Q(["stat-item",h.value.complexity])},se(h.value.complexityText),3)])):Rr("",!0)])]),Mr("div",$c,[o.value||f.value?(Cr(),Tr("div",Yc,["tree"===d.value&&f.value?(Cr(),Tr("div",Gc,[Mr("div",Wc,[(Cr(!0),Tr(br,null,yn(m.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"line-number"},se(t+1),1))),128))]),Mr("div",Vc,[Or(Xl,{data:f.value,level:0,onToggle:w,onCopy:x,onDelete:k},null,8,["data"])])])):"text"===d.value&&o.value?(Cr(),Tr("div",Kc,[Or(Ec,{code:o.value,language:"json","show-line-numbers":!0,"show-fullscreen-button":!0,"is-fullscreen":u.value,onToggleFullscreen:E},null,8,["code","is-fullscreen"])])):Rr("",!0)])):(Cr(),Tr("div",Jc,[...a[9]||(a[9]=[Mr("p",null,"格式化后的JSON将显示在这里",-1)])]))])])])]))}}),[["__scopeId","data-v-207907ad"]]);var Zc={version:"0.18.5"},Xc=1252,Qc=[874,932,936,949,950,1250,1251,1252,1253,1254,1255,1256,1257,1258,1e4],eu={0:1252,1:65001,2:65001,77:1e4,128:932,129:949,130:1361,134:936,136:950,161:1253,162:1254,163:1258,177:1255,178:1256,186:1257,204:1251,222:874,238:1250,255:1252,69:6969},tu=function(e){-1!=Qc.indexOf(e)&&(Xc=eu[0]=e)};var au=function(e){tu(e)};function nu(){au(1200),tu(1252)}function ru(e){for(var t=[],a=0,n=e.length;a>1;++a)t[a]=String.fromCharCode(e.charCodeAt(2*a+1)+(e.charCodeAt(2*a)<<8));return t.join("")}var iu,ou=function(e){var t=e.charCodeAt(0),a=e.charCodeAt(1);return 255==t&&254==a?function(e){for(var t=[],a=0;a>1;++a)t[a]=String.fromCharCode(e.charCodeAt(2*a)+(e.charCodeAt(2*a+1)<<8));return t.join("")}(e.slice(2)):254==t&&255==a?su(e.slice(2)):65279==t?e.slice(1):e},lu=function(e){return String.fromCharCode(e)},cu=function(e){return String.fromCharCode(e)},uu="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";function du(e){for(var t="",a=0,n=0,r=0,s=0,i=0,o=0,l=0,c=0;c>2,i=(3&a)<<4|(n=e.charCodeAt(c++))>>4,o=(15&n)<<2|(r=e.charCodeAt(c++))>>6,l=63&r,isNaN(n)?o=l=64:isNaN(r)&&(l=64),t+=uu.charAt(s)+uu.charAt(i)+uu.charAt(o)+uu.charAt(l);return t}function hu(e){var t="",a=0,n=0,r=0,s=0,i=0,o=0;e=e.replace(/[^\w\+\/\=]/g,"");for(var l=0;l>4,t+=String.fromCharCode(a),n=(15&s)<<4|(i=uu.indexOf(e.charAt(l++)))>>2,64!==i&&(t+=String.fromCharCode(n)),r=(3&i)<<6|(o=uu.indexOf(e.charAt(l++))),64!==o&&(t+=String.fromCharCode(r));return t}var pu=function(){return"undefined"!=typeof Buffer&&"undefined"!=typeof process&&void 0!==process.versions&&!!process.versions.node}(),fu=function(){if("undefined"!=typeof Buffer){var e=!Buffer.from;if(!e)try{Buffer.from("foo","utf8")}catch(mB){e=!0}return e?function(e,t){return t?new Buffer(e,t):new Buffer(e)}:Buffer.from.bind(Buffer)}return function(){}}();function mu(e){return pu?Buffer.alloc?Buffer.alloc(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}function gu(e){return pu?Buffer.allocUnsafe?Buffer.allocUnsafe(e):new Buffer(e):"undefined"!=typeof Uint8Array?new Uint8Array(e):new Array(e)}var yu=function(e){return pu?fu(e,"binary"):e.split("").map(function(e){return 255&e.charCodeAt(0)})};function vu(e){if("undefined"==typeof ArrayBuffer)return yu(e);for(var t=new ArrayBuffer(e.length),a=new Uint8Array(t),n=0;n!=e.length;++n)a[n]=255&e.charCodeAt(n);return t}function bu(e){if(Array.isArray(e))return e.map(function(e){return String.fromCharCode(e)}).join("");for(var t=[],a=0;a=0;)t+=e.charAt(a--);return t}function Cu(e,t){var a=""+e;return a.length>=t?a:jd("0",t-a.length)+a}function Fu(e,t){var a=""+e;return a.length>=t?a:jd(" ",t-a.length)+a}function Du(e,t){var a=""+e;return a.length>=t?a:a+jd(" ",t-a.length)}var Au=Math.pow(2,32);function Tu(e,t){return e>Au||e<-Au?function(e,t){var a=""+Math.round(e);return a.length>=t?a:jd("0",t-a.length)+a}(e,t):function(e,t){var a=""+e;return a.length>=t?a:jd("0",t-a.length)+a}(Math.round(e),t)}function Su(e,t){return t=t||0,e.length>=7+t&&103==(32|e.charCodeAt(t))&&101==(32|e.charCodeAt(t+1))&&110==(32|e.charCodeAt(t+2))&&101==(32|e.charCodeAt(t+3))&&114==(32|e.charCodeAt(t+4))&&97==(32|e.charCodeAt(t+5))&&108==(32|e.charCodeAt(t+6))}var Iu=[["Sun","Sunday"],["Mon","Monday"],["Tue","Tuesday"],["Wed","Wednesday"],["Thu","Thursday"],["Fri","Friday"],["Sat","Saturday"]],Nu=[["J","Jan","January"],["F","Feb","February"],["M","Mar","March"],["A","Apr","April"],["M","May","May"],["J","Jun","June"],["J","Jul","July"],["A","Aug","August"],["S","Sep","September"],["O","Oct","October"],["N","Nov","November"],["D","Dec","December"]];var Pu={0:"General",1:"0",2:"0.00",3:"#,##0",4:"#,##0.00",9:"0%",10:"0.00%",11:"0.00E+00",12:"# ?/?",13:"# ??/??",14:"m/d/yy",15:"d-mmm-yy",16:"d-mmm",17:"mmm-yy",18:"h:mm AM/PM",19:"h:mm:ss AM/PM",20:"h:mm",21:"h:mm:ss",22:"m/d/yy h:mm",37:"#,##0 ;(#,##0)",38:"#,##0 ;[Red](#,##0)",39:"#,##0.00;(#,##0.00)",40:"#,##0.00;[Red](#,##0.00)",45:"mm:ss",46:"[h]:mm:ss",47:"mmss.0",48:"##0.0E+0",49:"@",56:'"上午/下午 "hh"時"mm"分"ss"秒 "'},Bu={5:37,6:38,7:39,8:40,23:0,24:0,25:0,26:0,27:14,28:14,29:14,30:14,31:14,50:14,51:14,52:14,53:14,54:14,55:14,56:14,57:14,58:14,59:1,60:2,61:3,62:4,67:9,68:10,69:12,70:13,71:14,72:14,73:15,74:16,75:17,76:20,77:21,78:22,79:45,80:46,81:47,82:0},Mu={5:'"$"#,##0_);\\("$"#,##0\\)',63:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',41:'_(* #,##0_);_(* \\(#,##0\\);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* \\(#,##0\\);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* \\(#,##0.00\\);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* \\(#,##0.00\\);_("$"* "-"??_);_(@_)'};function Ou(e,t,a){for(var n=e<0?-1:1,r=e*n,s=0,i=1,o=0,l=1,c=0,u=0,d=Math.floor(r);ct&&(c>t?(u=l,o=s):(u=c,o=i)),!a)return[0,n*o,u];var h=Math.floor(n*o/u);return[h,n*o-h*u,u]}function Uu(e,t,a){if(e>2958465||e<0)return null;var n=0|e,r=Math.floor(86400*(e-n)),s=0,i=[],o={D:n,T:r,u:86400*(e-n)-r,y:0,m:0,d:0,H:0,M:0,S:0,q:0};if(Math.abs(o.u)<1e-6&&(o.u=0),t&&t.date1904&&(n+=1462),o.u>.9999&&(o.u=0,86400==++r&&(o.T=r=0,++n,++o.D)),60===n)i=a?[1317,10,29]:[1900,2,29],s=3;else if(0===n)i=a?[1317,8,29]:[1900,1,0],s=6;else{n>60&&--n;var l=new Date(1900,0,1);l.setDate(l.getDate()+n-1),i=[l.getFullYear(),l.getMonth()+1,l.getDate()],s=l.getDay(),n<60&&(s=(s+6)%7),a&&(s=function(e,t){t[0]-=581;var a=e.getDay();e<60&&(a=(a+6)%7);return a}(l,i))}return o.y=i[0],o.m=i[1],o.d=i[2],o.S=r%60,r=Math.floor(r/60),o.M=r%60,r=Math.floor(r/60),o.H=r,o.q=s,o}var ju=new Date(1899,11,31,0,0,0),Lu=ju.getTime(),Ru=new Date(1900,2,1,0,0,0);function zu(e,t){var a=e.getTime();return t?a-=1262304e5:e>=Ru&&(a+=864e5),(a-(Lu+6e4*(e.getTimezoneOffset()-ju.getTimezoneOffset())))/864e5}function Hu(e){return-1==e.indexOf(".")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)$/,"$1")}function $u(e){var t,a=Math.floor(Math.log(Math.abs(e))*Math.LOG10E);return t=a>=-4&&a<=-1?e.toPrecision(10+a):Math.abs(a)<=9?function(e){var t=e<0?12:11,a=Hu(e.toFixed(12));return a.length<=t||(a=e.toPrecision(10)).length<=t?a:e.toExponential(5)}(e):10===a?e.toFixed(10).substr(0,12):function(e){var t=Hu(e.toFixed(11));return t.length>(e<0?12:11)||"0"===t||"-0"===t?e.toPrecision(6):t}(e),Hu(function(e){return-1==e.indexOf("E")?e:e.replace(/(?:\.0*|(\.\d*[1-9])0+)[Ee]/,"$1E").replace(/(E[+-])(\d)$/,"$10$2")}(t.toUpperCase()))}function Yu(e,t){switch(typeof e){case"string":return e;case"boolean":return e?"TRUE":"FALSE";case"number":return(0|e)===e?e.toString(10):$u(e);case"undefined":return"";case"object":if(null==e)return"";if(e instanceof Date)return dd(14,zu(e,t&&t.date1904),t)}throw new Error("unsupported value in General format: "+e)}function Gu(e,t,a,n){var r,s="",i=0,o=0,l=a.y,c=0;switch(e){case 98:l=a.y+543;case 121:switch(t.length){case 1:case 2:r=l%100,c=2;break;default:r=l%1e4,c=4}break;case 109:switch(t.length){case 1:case 2:r=a.m,c=t.length;break;case 3:return Nu[a.m-1][1];case 5:return Nu[a.m-1][0];default:return Nu[a.m-1][2]}break;case 100:switch(t.length){case 1:case 2:r=a.d,c=t.length;break;case 3:return Iu[a.q][0];default:return Iu[a.q][1]}break;case 104:switch(t.length){case 1:case 2:r=1+(a.H+11)%12,c=t.length;break;default:throw"bad hour format: "+t}break;case 72:switch(t.length){case 1:case 2:r=a.H,c=t.length;break;default:throw"bad hour format: "+t}break;case 77:switch(t.length){case 1:case 2:r=a.M,c=t.length;break;default:throw"bad minute format: "+t}break;case 115:if("s"!=t&&"ss"!=t&&".0"!=t&&".00"!=t&&".000"!=t)throw"bad second format: "+t;return 0!==a.u||"s"!=t&&"ss"!=t?(o=n>=2?3===n?1e3:100:1===n?10:1,(i=Math.round(o*(a.S+a.u)))>=60*o&&(i=0),"s"===t?0===i?"0":""+i/o:(s=Cu(i,2+n),"ss"===t?s.substr(0,2):"."+s.substr(2,t.length-1))):Cu(a.S,t.length);case 90:switch(t){case"[h]":case"[hh]":r=24*a.D+a.H;break;case"[m]":case"[mm]":r=60*(24*a.D+a.H)+a.M;break;case"[s]":case"[ss]":r=60*(60*(24*a.D+a.H)+a.M)+Math.round(a.S+a.u);break;default:throw"bad abstime format: "+t}c=3===t.length?1:2;break;case 101:r=l,c=1}return c>0?Cu(r,c):""}function Wu(e){if(e.length<=3)return e;for(var t=e.length%3,a=e.substr(0,t);t!=e.length;t+=3)a+=(a.length>0?",":"")+e.substr(t,3);return a}var Vu=/%/g;function Ku(e,t){var a,n=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+Ku(e,-t);var r=e.indexOf(".");-1===r&&(r=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%r;if(s<0&&(s+=r),-1===(a=(t/Math.pow(10,s)).toPrecision(n+1+(r+s)%r)).indexOf("e")){var i=Math.floor(Math.log(t)*Math.LOG10E);for(-1===a.indexOf(".")?a=a.charAt(0)+"."+a.substr(1)+"E+"+(i-a.length+s):a+="E+"+(i-s);"0."===a.substr(0,2);)a=(a=a.charAt(0)+a.substr(2,r)+"."+a.substr(2+r)).replace(/^0+([1-9])/,"$1").replace(/^0+\./,"0.");a=a.replace(/\+-/,"-")}a=a.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,a,n){return t+a+n.substr(0,(r+s)%r)+"."+n.substr(s)+"E"})}else a=t.toExponential(n);return e.match(/E\+00$/)&&a.match(/e[+-]\d$/)&&(a=a.substr(0,a.length-1)+"0"+a.charAt(a.length-1)),e.match(/E\-/)&&a.match(/e\+/)&&(a=a.replace(/e\+/,"e")),a.replace("e","E")}var Ju=/# (\?+)( ?)\/( ?)(\d+)/;var qu=/^#*0*\.([0#]+)/,Zu=/\).*[0#]/,Xu=/\(###\) ###\\?-####/;function Qu(e){for(var t,a="",n=0;n!=e.length;++n)switch(t=e.charCodeAt(n)){case 35:break;case 63:a+=" ";break;case 48:a+="0";break;default:a+=String.fromCharCode(t)}return a}function ed(e,t){var a=Math.pow(10,t);return""+Math.round(e*a)/a}function td(e,t){var a=e-Math.floor(e),n=Math.pow(10,t);return t<(""+Math.round(a*n)).length?0:Math.round(a*n)}function ad(e,t,a){if(40===e.charCodeAt(0)&&!t.match(Zu)){var n=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return a>=0?ad("n",n,a):"("+ad("n",n,-a)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,a){for(var n=t.length-1;44===t.charCodeAt(n-1);)--n;return sd(e,t.substr(0,n),a/Math.pow(10,3*(t.length-n)))}(e,t,a);if(-1!==t.indexOf("%"))return function(e,t,a){var n=t.replace(Vu,""),r=t.length-n.length;return sd(e,n,a*Math.pow(10,2*r))+jd("%",r)}(e,t,a);if(-1!==t.indexOf("E"))return Ku(t,a);if(36===t.charCodeAt(0))return"$"+ad(e,t.substr(" "==t.charAt(1)?2:1),a);var r,s,i,o,l=Math.abs(a),c=a<0?"-":"";if(t.match(/^00+$/))return c+Tu(l,t.length);if(t.match(/^[#?]+$/))return"0"===(r=Tu(a,0))&&(r=""),r.length>t.length?r:Qu(t.substr(0,t.length-r.length))+r;if(s=t.match(Ju))return function(e,t,a){var n=parseInt(e[4],10),r=Math.round(t*n),s=Math.floor(r/n),i=r-s*n,o=n;return a+(0===s?"":""+s)+" "+(0===i?jd(" ",e[1].length+1+e[4].length):Fu(i,e[1].length)+e[2]+"/"+e[3]+Cu(o,e[4].length))}(s,l,c);if(t.match(/^#+0+$/))return c+Tu(l,t.length-t.indexOf("0"));if(s=t.match(qu))return r=ed(a,s[1].length).replace(/^([^\.]+)$/,"$1."+Qu(s[1])).replace(/\.$/,"."+Qu(s[1])).replace(/\.(\d*)$/,function(e,t){return"."+t+jd("0",Qu(s[1]).length-t.length)}),-1!==t.indexOf("0.")?r:r.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return c+ed(l,s[2].length).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return c+Wu(Tu(l,0));if(s=t.match(/^#,##0\.([#0]*0)$/))return a<0?"-"+ad(e,t,-a):Wu(""+(Math.floor(a)+function(e,t){return t<(""+Math.round((e-Math.floor(e))*Math.pow(10,t))).length?1:0}(a,s[1].length)))+"."+Cu(td(a,s[1].length),s[1].length);if(s=t.match(/^#,#*,#0/))return ad(e,t.replace(/^#,#*,/,""),a);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return r=Eu(ad(e,t.replace(/[\\-]/g,""),a)),i=0,Eu(Eu(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-2147483648?""+(e>=0?0|e:e-1|0):""+Math.floor(e)}(a)).replace(/^\d,\d{3}$/,"0$&").replace(/^\d*$/,function(e){return"00,"+(e.length<3?Cu(0,3-e.length):"")+e})+"."+Cu(i,s[1].length);switch(t){case"###,##0.00":return ad(e,"#,##0.00",a);case"###,###":case"##,###":case"#,###":var p=Wu(Tu(l,0));return"0"!==p?c+p:"";case"###,###.00":return ad(e,"###,##0.00",a).replace(/^0\./,".");case"#,###.00":return ad(e,"#,##0.00",a).replace(/^0\./,".")}throw new Error("unsupported format |"+t+"|")}function nd(e,t){var a,n=e.indexOf("E")-e.indexOf(".")-1;if(e.match(/^#+0.0E\+0$/)){if(0==t)return"0.0E+0";if(t<0)return"-"+nd(e,-t);var r=e.indexOf(".");-1===r&&(r=e.indexOf("E"));var s=Math.floor(Math.log(t)*Math.LOG10E)%r;if(s<0&&(s+=r),!(a=(t/Math.pow(10,s)).toPrecision(n+1+(r+s)%r)).match(/[Ee]/)){var i=Math.floor(Math.log(t)*Math.LOG10E);-1===a.indexOf(".")?a=a.charAt(0)+"."+a.substr(1)+"E+"+(i-a.length+s):a+="E+"+(i-s),a=a.replace(/\+-/,"-")}a=a.replace(/^([+-]?)(\d*)\.(\d*)[Ee]/,function(e,t,a,n){return t+a+n.substr(0,(r+s)%r)+"."+n.substr(s)+"E"})}else a=t.toExponential(n);return e.match(/E\+00$/)&&a.match(/e[+-]\d$/)&&(a=a.substr(0,a.length-1)+"0"+a.charAt(a.length-1)),e.match(/E\-/)&&a.match(/e\+/)&&(a=a.replace(/e\+/,"e")),a.replace("e","E")}function rd(e,t,a){if(40===e.charCodeAt(0)&&!t.match(Zu)){var n=t.replace(/\( */,"").replace(/ \)/,"").replace(/\)/,"");return a>=0?rd("n",n,a):"("+rd("n",n,-a)+")"}if(44===t.charCodeAt(t.length-1))return function(e,t,a){for(var n=t.length-1;44===t.charCodeAt(n-1);)--n;return sd(e,t.substr(0,n),a/Math.pow(10,3*(t.length-n)))}(e,t,a);if(-1!==t.indexOf("%"))return function(e,t,a){var n=t.replace(Vu,""),r=t.length-n.length;return sd(e,n,a*Math.pow(10,2*r))+jd("%",r)}(e,t,a);if(-1!==t.indexOf("E"))return nd(t,a);if(36===t.charCodeAt(0))return"$"+rd(e,t.substr(" "==t.charAt(1)?2:1),a);var r,s,i,o,l=Math.abs(a),c=a<0?"-":"";if(t.match(/^00+$/))return c+Cu(l,t.length);if(t.match(/^[#?]+$/))return r=""+a,0===a&&(r=""),r.length>t.length?r:Qu(t.substr(0,t.length-r.length))+r;if(s=t.match(Ju))return function(e,t,a){return a+(0===t?"":""+t)+jd(" ",e[1].length+2+e[4].length)}(s,l,c);if(t.match(/^#+0+$/))return c+Cu(l,t.length-t.indexOf("0"));if(s=t.match(qu))return r=(r=(""+a).replace(/^([^\.]+)$/,"$1."+Qu(s[1])).replace(/\.$/,"."+Qu(s[1]))).replace(/\.(\d*)$/,function(e,t){return"."+t+jd("0",Qu(s[1]).length-t.length)}),-1!==t.indexOf("0.")?r:r.replace(/^0\./,".");if(t=t.replace(/^#+([0.])/,"$1"),s=t.match(/^(0*)\.(#*)$/))return c+(""+l).replace(/\.(\d*[1-9])0*$/,".$1").replace(/^(-?\d*)$/,"$1.").replace(/^0\./,s[1].length?"0.":".");if(s=t.match(/^#{1,3},##0(\.?)$/))return c+Wu(""+l);if(s=t.match(/^#,##0\.([#0]*0)$/))return a<0?"-"+rd(e,t,-a):Wu(""+a)+"."+jd("0",s[1].length);if(s=t.match(/^#,#*,#0/))return rd(e,t.replace(/^#,#*,/,""),a);if(s=t.match(/^([0#]+)(\\?-([0#]+))+$/))return r=Eu(rd(e,t.replace(/[\\-]/g,""),a)),i=0,Eu(Eu(t.replace(/\\/g,"")).replace(/[0#]/g,function(e){return i-1||"\\"==a&&"-"==e.charAt(t+1)&&"0#".indexOf(e.charAt(t+2))>-1););break;case"?":for(;e.charAt(++t)===a;);break;case"*":++t," "!=e.charAt(t)&&"*"!=e.charAt(t)||++t;break;case"(":case")":++t;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(;t-1;);break;default:++t}return!1}var ld=/\[(=|>[=]?|<[>=]?)(-?\d+(?:\.\d*)?)\]/;function cd(e,t){if(null==t)return!1;var a=parseFloat(t[2]);switch(t[1]){case"=":if(e==a)return!0;break;case">":if(e>a)return!0;break;case"<":if(e":if(e!=a)return!0;break;case">=":if(e>=a)return!0;break;case"<=":if(e<=a)return!0}return!1}function ud(e,t){var a=function(e){for(var t=[],a=!1,n=0,r=0;n-1&&--n,a.length>4)throw new Error("cannot find right format for |"+a.join("|")+"|");if("number"!=typeof t)return[4,4===a.length||r>-1?a[a.length-1]:"@"];switch(a.length){case 1:a=r>-1?["General","General","General",a[0]]:[a[0],a[0],a[0],"@"];break;case 2:a=r>-1?[a[0],a[0],a[0],a[1]]:[a[0],a[1],a[0],"@"];break;case 3:a=r>-1?[a[0],a[1],a[0],a[2]]:[a[0],a[1],a[2],"@"]}var s=t>0?a[0]:t<0?a[1]:a[2];if(-1===a[0].indexOf("[")&&-1===a[1].indexOf("["))return[n,s];if(null!=a[0].match(/\[[=<>]/)||null!=a[1].match(/\[[=<>]/)){var i=a[0].match(ld),o=a[1].match(ld);return cd(t,i)?[n,a[0]]:cd(t,o)?[n,a[1]]:[n,a[null!=i&&null!=o?2:1]]}return[n,s]}function dd(e,t,a){null==a&&(a={});var n="";switch(typeof e){case"string":n="m/d/yy"==e&&a.dateNF?a.dateNF:e;break;case"number":null==(n=14==e&&a.dateNF?a.dateNF:(null!=a.table?a.table:Pu)[e])&&(n=a.table&&a.table[Bu[e]]||Pu[Bu[e]]),null==n&&(n=Mu[e]||"General")}if(Su(n,0))return Yu(t,a);t instanceof Date&&(t=zu(t,a.date1904));var r=ud(n,t);if(Su(r[1]))return Yu(t,a);if(!0===t)t="TRUE";else if(!1===t)t="FALSE";else if(""===t||null==t)return"";return function(e,t,a,n){for(var r,s,i,o=[],l="",c=0,u="",d="t",h="H";c=12?"P":"A"),m.t="T",h="h",c+=3):"AM/PM"===e.substr(c,5).toUpperCase()?(null!=r&&(m.v=r.H>=12?"PM":"AM"),m.t="T",c+=5,h="h"):"上午/下午"===e.substr(c,5).toUpperCase()?(null!=r&&(m.v=r.H>=12?"下午":"上午"),m.t="T",c+=5,h="h"):(m.t="t",++c),null==r&&"T"===m.t)return"";o[o.length]=m,d=u;break;case"[":for(l=u;"]"!==e.charAt(c++)&&c-1&&(l=(l.match(/\$([^-\[\]]*)/)||[])[1]||"$",od(e)||(o[o.length]={t:"t",v:l}));break;case".":if(null!=r){for(l=u;++c-1;)l+=u;o[o.length]={t:"n",v:l};break;case"?":for(l=u;e.charAt(++c)===u;)l+=u;o[o.length]={t:u,v:l},d=u;break;case"*":++c," "!=e.charAt(c)&&"*"!=e.charAt(c)||++c;break;case"(":case")":o[o.length]={t:1===n?"t":u,v:u},++c;break;case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":for(l=u;c-1;)l+=e.charAt(c);o[o.length]={t:"D",v:l};break;case" ":o[o.length]={t:u,v:u},++c;break;case"$":o[o.length]={t:"t",v:"$"},++c;break;default:if(-1===",$-+/():!^&'~{}<>=€acfijklopqrtuvwxzP".indexOf(u))throw new Error("unrecognized character "+u+" in "+e);o[o.length]={t:"t",v:u},++c}var g,y=0,v=0;for(c=o.length-1,d="t";c>=0;--c)switch(o[c].t){case"h":case"H":o[c].t=h,d="h",y<1&&(y=1);break;case"s":(g=o[c].v.match(/\.0+$/))&&(v=Math.max(v,g[0].length-1)),y<3&&(y=3);case"d":case"y":case"M":case"e":d=o[c].t;break;case"m":"s"===d&&(o[c].t="M",y<2&&(y=2));break;case"X":break;case"Z":y<1&&o[c].v.match(/[Hh]/)&&(y=1),y<2&&o[c].v.match(/[Mm]/)&&(y=2),y<3&&o[c].v.match(/[Ss]/)&&(y=3)}switch(y){case 0:break;case 1:r.u>=.5&&(r.u=0,++r.S),r.S>=60&&(r.S=0,++r.M),r.M>=60&&(r.M=0,++r.H);break;case 2:r.u>=.5&&(r.u=0,++r.S),r.S>=60&&(r.S=0,++r.M)}var b,w="";for(c=0;c0){40==w.charCodeAt(0)?(x=t<0&&45===w.charCodeAt(0)?-t:t,k=sd("n",w,x)):(k=sd("n",w,x=t<0&&n>1?-t:t),x<0&&o[0]&&"t"==o[0].t&&(k=k.substr(1),o[0].v="-"+o[0].v)),b=k.length-1;var E=o.length;for(c=0;c-1){E=c;break}var C=o.length;if(E===o.length&&-1===k.indexOf("E")){for(c=o.length-1;c>=0;--c)null!=o[c]&&-1!=="n?".indexOf(o[c].t)&&(b>=o[c].v.length-1?(b-=o[c].v.length,o[c].v=k.substr(b+1,o[c].v.length)):b<0?o[c].v="":(o[c].v=k.substr(0,b+1),b=-1),o[c].t="t",C=c);b>=0&&C=0;--c)if(null!=o[c]&&-1!=="n?".indexOf(o[c].t)){for(s=o[c].v.indexOf(".")>-1&&c===E?o[c].v.indexOf(".")-1:o[c].v.length-1,_=o[c].v.substr(s+1);s>=0;--s)b>=0&&("0"===o[c].v.charAt(s)||"#"===o[c].v.charAt(s))&&(_=k.charAt(b--)+_);o[c].v=_,o[c].t="t",C=c}for(b>=0&&C-1&&c===E?o[c].v.indexOf(".")+1:0,_=o[c].v.substr(0,s);s-1&&(x=n>1&&t<0&&c>0&&"-"===o[c-1].v?-t:t,o[c].v=sd(o[c].t,o[c].v,x),o[c].t="t");var F="";for(c=0;c!==o.length;++c)null!=o[c]&&(F+=o[c].v);return F}(r[1],t,a,r[0])}function hd(e,t){if("number"!=typeof t){t=+t||-1;for(var a=0;a<392;++a)if(null!=Pu[a]){if(Pu[a]==e){t=a;break}}else t<0&&(t=a);t<0&&(t=391)}return Pu[t]=e,t}function pd(e){for(var t=0;392!=t;++t)void 0!==e[t]&&hd(e[t],t)}function fd(){var e;e||(e={}),e[0]="General",e[1]="0",e[2]="0.00",e[3]="#,##0",e[4]="#,##0.00",e[9]="0%",e[10]="0.00%",e[11]="0.00E+00",e[12]="# ?/?",e[13]="# ??/??",e[14]="m/d/yy",e[15]="d-mmm-yy",e[16]="d-mmm",e[17]="mmm-yy",e[18]="h:mm AM/PM",e[19]="h:mm:ss AM/PM",e[20]="h:mm",e[21]="h:mm:ss",e[22]="m/d/yy h:mm",e[37]="#,##0 ;(#,##0)",e[38]="#,##0 ;[Red](#,##0)",e[39]="#,##0.00;(#,##0.00)",e[40]="#,##0.00;[Red](#,##0.00)",e[45]="mm:ss",e[46]="[h]:mm:ss",e[47]="mmss.0",e[48]="##0.0E+0",e[49]="@",e[56]='"上午/下午 "hh"時"mm"分"ss"秒 "',Pu=e}var md={5:'"$"#,##0_);\\("$"#,##0\\)',6:'"$"#,##0_);[Red]\\("$"#,##0\\)',7:'"$"#,##0.00_);\\("$"#,##0.00\\)',8:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',23:"General",24:"General",25:"General",26:"General",27:"m/d/yy",28:"m/d/yy",29:"m/d/yy",30:"m/d/yy",31:"m/d/yy",32:"h:mm:ss",33:"h:mm:ss",34:"h:mm:ss",35:"h:mm:ss",36:"m/d/yy",41:'_(* #,##0_);_(* (#,##0);_(* "-"_);_(@_)',42:'_("$"* #,##0_);_("$"* (#,##0);_("$"* "-"_);_(@_)',43:'_(* #,##0.00_);_(* (#,##0.00);_(* "-"??_);_(@_)',44:'_("$"* #,##0.00_);_("$"* (#,##0.00);_("$"* "-"??_);_(@_)',50:"m/d/yy",51:"m/d/yy",52:"m/d/yy",53:"m/d/yy",54:"m/d/yy",55:"m/d/yy",56:"m/d/yy",57:"m/d/yy",58:"m/d/yy",59:"0",60:"0.00",61:"#,##0",62:"#,##0.00",63:'"$"#,##0_);\\("$"#,##0\\)',64:'"$"#,##0_);[Red]\\("$"#,##0\\)',65:'"$"#,##0.00_);\\("$"#,##0.00\\)',66:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',67:"0%",68:"0.00%",69:"# ?/?",70:"# ??/??",71:"m/d/yy",72:"m/d/yy",73:"d-mmm-yy",74:"d-mmm",75:"mmm-yy",76:"h:mm",77:"h:mm:ss",78:"m/d/yy h:mm",79:"mm:ss",80:"[h]:mm:ss",81:"mmss.0"},gd=/[dD]+|[mM]+|[yYeE]+|[Hh]+|[Ss]+/g;var yd=function(){var e={};e.version="1.2.0";var t=function(){for(var e=0,t=new Array(256),a=0;256!=a;++a)e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=1&(e=a)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1)?-306674912^e>>>1:e>>>1,t[a]=e;return"undefined"!=typeof Int32Array?new Int32Array(t):t}();var a=function(e){var t=0,a=0,n=0,r="undefined"!=typeof Int32Array?new Int32Array(4096):new Array(4096);for(n=0;256!=n;++n)r[n]=e[n];for(n=0;256!=n;++n)for(a=e[n],t=256+n;t<4096;t+=256)a=r[t]=a>>>8^e[255&a];var s=[];for(n=1;16!=n;++n)s[n-1]="undefined"!=typeof Int32Array?r.subarray(256*n,256*n+256):r.slice(256*n,256*n+256);return s}(t),n=a[0],r=a[1],s=a[2],i=a[3],o=a[4],l=a[5],c=a[6],u=a[7],d=a[8],h=a[9],p=a[10],f=a[11],m=a[12],g=a[13],y=a[14];return e.table=t,e.bstr=function(e,a){for(var n=-1^a,r=0,s=e.length;r>>8^t[255&(n^e.charCodeAt(r++))];return~n},e.buf=function(e,a){for(var v=-1^a,b=e.length-15,w=0;w>8&255]^m[e[w++]^v>>16&255]^f[e[w++]^v>>>24]^p[e[w++]]^h[e[w++]]^d[e[w++]]^u[e[w++]]^c[e[w++]]^l[e[w++]]^o[e[w++]]^i[e[w++]]^s[e[w++]]^r[e[w++]]^n[e[w++]]^t[e[w++]];for(b+=15;w>>8^t[255&(v^e[w++])];return~v},e.str=function(e,a){for(var n=-1^a,r=0,s=e.length,i=0,o=0;r>>8^t[255&(n^i)]:i<2048?n=(n=n>>>8^t[255&(n^(192|i>>6&31))])>>>8^t[255&(n^(128|63&i))]:i>=55296&&i<57344?(i=64+(1023&i),o=1023&e.charCodeAt(r++),n=(n=(n=(n=n>>>8^t[255&(n^(240|i>>8&7))])>>>8^t[255&(n^(128|i>>2&63))])>>>8^t[255&(n^(128|o>>6&15|(3&i)<<4))])>>>8^t[255&(n^(128|63&o))]):n=(n=(n=n>>>8^t[255&(n^(224|i>>12&15))])>>>8^t[255&(n^(128|i>>6&63))])>>>8^t[255&(n^(128|63&i))];return~n},e}(),vd=function(){var e,t={};function a(e){if("/"==e.charAt(e.length-1))return-1===e.slice(0,-1).indexOf("/")?e:a(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(0,t+1)}function n(e){if("/"==e.charAt(e.length-1))return n(e.slice(0,-1));var t=e.lastIndexOf("/");return-1===t?e:e.slice(t+1)}function r(e,t){"string"==typeof t&&(t=new Date(t));var a=t.getHours();a=(a=a<<6|t.getMinutes())<<5|t.getSeconds()>>>1,e.write_shift(2,a);var n=t.getFullYear()-1980;n=(n=n<<4|t.getMonth()+1)<<5|t.getDate(),e.write_shift(2,n)}function s(e){jp(e,0);for(var t={},a=0;e.l<=e.length-4;){var n=e.read_shift(2),r=e.read_shift(2),s=e.l+r,i={};if(21589===n)1&(a=e.read_shift(1))&&(i.mtime=e.read_shift(4)),r>5&&(2&a&&(i.atime=e.read_shift(4)),4&a&&(i.ctime=e.read_shift(4))),i.mtime&&(i.mt=new Date(1e3*i.mtime));e.l=s,t[n]=i}return t}function i(){return e||(e={})}function o(e,t){if(80==e[0]&&75==e[1])return ne(e,t);if(109==(32|e[0])&&105==(32|e[1]))return function(e,t){if("mime-version:"!=k(e.slice(0,13)).toLowerCase())throw new Error("Unsupported MAD header");var a=t&&t.root||"",n=(pu&&Buffer.isBuffer(e)?e.toString("binary"):k(e)).split("\r\n"),r=0,s="";for(r=0;r0&&(a=(a=a.slice(0,a.length-1)).slice(0,a.lastIndexOf("/")+1),s.slice(0,a.length)!=a););var i=(n[1]||"").match(/boundary="(.*?)"/);if(!i)throw new Error("MAD cannot find boundary");var o="--"+(i[1]||""),l=[],c=[],u={FileIndex:l,FullPaths:c};h(u);var d,p=0;for(r=0;r=r&&(h-=r),!i[h]){l=[];var f=[];for(d=h;d>=0;){f[d]=!0,i[d]=!0,o[o.length]=d,l.push(e[d]);var m=a[Math.floor(4*d/n)];if(n<4+(p=4*d&c))throw new Error("FAT boundary crossed: "+d+" 4 "+n);if(!e[m])break;if(f[d=Sp(e[m],p)])break}s[h]={nodes:o,data:ip([l])}}return s}(E,s,f,p);C[s].name="!Directory",n>0&&i!==y&&(C[i].name="!MiniFAT"),C[f[0]].name="!FAT",C.fat_addrs=f,C.ssz=p;var F=[],D=[],A=[];!function(e,t,a,n,r,s,i,o){for(var c,h=0,p=n.length?2:0,f=t[e].data,m=0,g=0;m0&&h!==y&&(t[h].name="!StreamData")):b.size>=4096?(b.storage="fat",void 0===t[b.start]&&(t[b.start]=u(a,b.start,t.fat_addrs,t.ssz)),t[b.start].name=b.name,b.content=t[b.start].data.slice(0,b.size)):(b.storage="minifat",b.size<0?b.size=0:h!==y&&b.start!==y&&t[h]&&(b.content=l(b,t[h].data,(t[o]||{}).data))),b.content&&jp(b.content,0),s[c]=b,i.push(b)}}(s,C,E,F,n,{},D,i),function(e,t,a){for(var n=0,r=0,s=0,i=0,o=0,l=a.length,c=[],u=[];n0&&i>=0;)s.push(t.slice(i*g,i*g+g)),r-=g,i=Sp(a,4*i);return 0===s.length?Rp(0):xu(s).slice(0,e.size)}function c(e,t,a,n,r){var s=y;if(e===y){if(0!==t)throw new Error("DIFAT chain shorter than expected")}else if(-1!==e){var i=a[e],o=(n>>>2)-1;if(!i)return;for(var l=0;l=0;){r[l]=!0,s[s.length]=l,i.push(e[l]);var u=a[Math.floor(4*l/n)];if(n<4+(c=4*l&o))throw new Error("FAT boundary crossed: "+l+" 4 "+n);if(!e[u])break;l=Sp(e[u],c)}return{nodes:s,data:ip([i])}}function d(e,t){return new Date(1e3*(Tp(e,t+4)/1e7*Math.pow(2,32)+Tp(e,t)/1e7-11644473600))}function h(e,t){var a=t||{},n=a.root||"Root Entry";if(e.FullPaths||(e.FullPaths=[]),e.FileIndex||(e.FileIndex=[]),e.FullPaths.length!==e.FileIndex.length)throw new Error("inconsistent CFB structure");0===e.FullPaths.length&&(e.FullPaths[0]=n+"/",e.FileIndex[0]={name:n,type:5}),a.CLSID&&(e.FileIndex[0].clsid=a.CLSID),function(e){var t="Sh33tJ5";if(vd.find(e,"/"+t))return;var a=Rp(4);a[0]=55,a[1]=a[3]=50,a[2]=54,e.FileIndex.push({name:t,type:2,content:a,size:4,L:69,R:69,C:69}),e.FullPaths.push(e.FullPaths[0]+t),p(e)}(e)}function p(e,t){h(e);for(var r=!1,s=!1,i=e.FullPaths.length-1;i>=0;--i){var o=e.FileIndex[i];switch(o.type){case 0:s?r=!0:(e.FileIndex.pop(),e.FullPaths.pop());break;case 1:case 2:case 5:s=!0,isNaN(o.R*o.L*o.C)&&(r=!0),o.R>-1&&o.L>-1&&o.R==o.L&&(r=!0);break;default:r=!0}}if(r||t){var l=new Date(1987,1,19),c=0,u=Object.create?Object.create(null):{},d=[];for(i=0;i1?1:-1,f.size=0,f.type=5;else if("/"==m.slice(-1)){for(c=i+1;c=d.length?-1:c,c=i+1;c=d.length?-1:c,f.type=1}else a(e.FullPaths[i+1]||"")==a(m)&&(f.R=i+1),f.type=2}}}function f(e,t){var a=t||{};if("mad"==a.fileType)return function(e,t){for(var a=t||{},n=a.boundary||"SheetJS",r=["MIME-Version: 1.0",'Content-Type: multipart/related; boundary="'+(n="------="+n).slice(2)+'"',"","",""],s=e.FullPaths[0],i=s,o=e.FileIndex[0],l=1;l=32&&p<128&&++d;var m=d>=4*h/5;r.push(n),r.push("Content-Location: "+(a.root||"file:///C:/SheetJS/")+i),r.push("Content-Transfer-Encoding: "+(m?"quoted-printable":"base64")),r.push("Content-Type: "+ie(o,i)),r.push(""),r.push(m?le(u):oe(u))}return r.push(n+"--\r\n"),r.join("\r\n")}(e,a);if(p(e),"zip"===a.fileType)return function(e,t){var a=t||{},n=[],s=[],i=Rp(1),o=a.compression?8:0,l=0,c=0,u=0,d=0,h=0,p=e.FullPaths[0],f=p,m=e.FileIndex[0],g=[],y=0;for(c=1;c0&&(s<4096?t+=s+63>>6:a+=s+511>>9)}}for(var i=e.FullPaths.length+3>>2,o=t+127>>7,l=(t+7>>3)+a+i+o,c=l+127>>7,u=c<=109?0:Math.ceil((c-109)/127);l+c+u+127>>7>c;)u=++c<=109?0:Math.ceil((c-109)/127);var d=[1,u,c,o,i,a,t,0];return e.FileIndex[0].size=t<<6,d[7]=(e.FileIndex[0].start=d[0]+d[1]+d[2]+d[3]+d[4]+d[5])+(d[6]+7>>3),d}(e),s=Rp(n[7]<<9),i=0,o=0;for(i=0;i<8;++i)s.write_shift(1,b[i]);for(i=0;i<8;++i)s.write_shift(2,0);for(s.write_shift(2,62),s.write_shift(2,3),s.write_shift(2,65534),s.write_shift(2,9),s.write_shift(2,6),i=0;i<3;++i)s.write_shift(2,0);for(s.write_shift(4,0),s.write_shift(4,n[2]),s.write_shift(4,n[0]+n[1]+n[2]+n[3]-1),s.write_shift(4,0),s.write_shift(4,4096),s.write_shift(4,n[3]?n[0]+n[1]+n[2]-1:y),s.write_shift(4,n[3]),s.write_shift(-4,n[1]?n[0]-1:y),s.write_shift(4,n[1]),i=0;i<109;++i)s.write_shift(-4,i>9)));for(l(n[6]+7>>3);511&s.l;)s.write_shift(-4,x.ENDOFCHAIN);for(o=i=0,c=0;c=4096||(d.start=o,l(u+63>>6)));for(;511&s.l;)s.write_shift(-4,x.ENDOFCHAIN);for(i=0;i=4096)if(s.l=d.start+1<<9,pu&&Buffer.isBuffer(d.content))d.content.copy(s,s.l,0,d.size),s.l+=d.size+511&-512;else{for(c=0;c0&&d.size<4096)if(pu&&Buffer.isBuffer(d.content))d.content.copy(s,s.l,0,d.size),s.l+=d.size+63&-64;else{for(c=0;c>16|t>>8|t)}for(var A="undefined"!=typeof Uint8Array,T=A?new Uint8Array(256):[],S=0;S<256;++S)T[S]=D(S);function I(e,t){var a=T[255&e];return t<=8?a>>>8-t:(a=a<<8|T[e>>8&255],t<=16?a>>>16-t:(a=a<<8|T[e>>16&255])>>>24-t)}function N(e,t){var a=7&t,n=t>>>3;return(e[n]|(a<=6?0:e[n+1]<<8))>>>a&3}function P(e,t){var a=7&t,n=t>>>3;return(e[n]|(a<=5?0:e[n+1]<<8))>>>a&7}function B(e,t){var a=7&t,n=t>>>3;return(e[n]|(a<=3?0:e[n+1]<<8))>>>a&31}function M(e,t){var a=7&t,n=t>>>3;return(e[n]|(a<=1?0:e[n+1]<<8))>>>a&127}function O(e,t,a){var n=7&t,r=t>>>3,s=(1<>>n;return a<8-n?i&s:(i|=e[r+1]<<8-n,a<16-n?i&s:(i|=e[r+2]<<16-n,a<24-n?i&s:(i|=e[r+3]<<24-n)&s))}function U(e,t,a){var n=7&t,r=t>>>3;return n<=5?e[r]|=(7&a)<>8-n),t+3}function j(e,t,a){return a=(1&a)<<(7&t),e[t>>>3]|=a,t+1}function L(e,t,a){var n=t>>>3;return a<<=7&t,e[n]|=255&a,a>>>=8,e[n+1]=a,t+8}function R(e,t,a){var n=t>>>3;return a<<=7&t,e[n]|=255&a,a>>>=8,e[n+1]=255&a,e[n+2]=a>>>8,t+16}function z(e,t){var a=e.length,n=2*a>t?2*a:t+5,r=0;if(a>=t)return e;if(pu){var s=gu(n);if(e.copy)e.copy(s);else for(;r>n-d,i=(1<=0;--i)t[o|i<0;)t[t.l++]=e[a++]}return t.l}(t,a):function(t,a){for(var r=0,s=0,i=A?new Uint16Array(32768):[];s0;)a[a.l++]=t[s++];r=8*a.l}else{r=U(a,r,+!(s+o!=t.length)+2);for(var l=0;o-- >0;){var c=t[s],u=-1,d=0;if((u=i[l=32767&(l<<5^c)])&&((u|=-32768&s)>s&&(u-=32768),u2){(c=n[d])<=22?r=L(a,r,T[c+1]>>1)-1:(L(a,r,3),L(a,r+=5,T[c-23]>>5),r+=3);var h=c<8?0:c-4>>2;h>0&&(R(a,r,d-C[c]),r+=h),c=e[s-u],r=L(a,r,T[c]>>3),r-=3;var p=c<4?0:c-2>>1;p>0&&(R(a,r,s-u-F[c]),r+=p);for(var f=0;f>>3;return(e[n]|(a<=4?0:e[n+1]<<8))>>>a&15}(e,t+=5)+4;t+=4;for(var s=0,i=A?new Uint8Array(19):H(19),o=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],l=1,c=A?new Uint8Array(8):H(8),u=A?new Uint8Array(8):H(8),d=i.length,h=0;h>8-f;for(var m=(1<<7-f)-1;m>=0;--m)Z[p|m<>>=3){case 16:for(s=3+N(e,t),t+=2,p=g[g.length-1];s-- >0;)g.push(p);break;case 17:for(s=3+P(e,t),t+=3;s-- >0;)g.push(0);break;case 18:for(s=11+M(e,t),t+=7;s-- >0;)g.push(0);break;default:g.push(p),l>>0,o=0,l=0;!(1&n);)if(n=P(e,a),a+=3,n>>>1!=0)for(n>>1==1?(o=9,l=5):(a=ee(e,a),o=X,l=Q);;){!t&&i>>1==1?Y[c]:J[c];if(a+=15&u,(u>>>=4)>>>8&255){if(256==u)break;var d=(u-=257)<8?0:u-4>>2;d>5&&(d=0);var h=s+C[u];d>0&&(h+=O(e,a,d),a+=d),c=O(e,a,l),a+=15&(u=n>>>1==1?G[c]:q[c]);var p=(u>>>=4)<4?0:u-2>>1,f=F[u];for(p>0&&(f+=O(e,a,p),a+=p),!t&&i>>3]|e[(a>>>3)+1]<<8;if(a+=32,m>0)for(!t&&i0;)r[s++]=e[a>>>3],a+=8}return t?[r,a+7>>>3]:[r.slice(0,s),a+7>>>3]}(e.slice(e.l||0),t);return e.l+=a[1],a[0]}function ae(e,t){if(!e)throw new Error(t);"undefined"!=typeof console&&console.error(t)}function ne(e,t){var a=e;jp(a,0);var n={FileIndex:[],FullPaths:[]};h(n,{root:t.root});for(var r=a.length-4;(80!=a[r]||75!=a[r+1]||5!=a[r+2]||6!=a[r+3])&&r>=0;)--r;a.l=r+4,a.l+=4;var i=a.read_shift(2);a.l+=6;var o=a.read_shift(4);for(a.l=o,r=0;r>>=5);a>>>=4,n.setMilliseconds(0),n.setFullYear(a+1980),n.setMonth(s-1),n.setDate(r);var i=31&t,o=63&(t>>>=5);return t>>>=6,n.setHours(t),n.setMinutes(o),n.setSeconds(i<<1),n}(e);if(8257&i)throw new Error("Unsupported ZIP encryption");e.read_shift(4);for(var c=e.read_shift(4),u=e.read_shift(4),d=e.read_shift(2),h=e.read_shift(2),p="",f=0;f3&&(n=!0),r[s].slice(r[s].length-1)){case"Y":throw new Error("Unsupported ISO Duration Field: "+r[s].slice(r[s].length-1));case"D":a*=24;case"H":a*=60;case"M":if(!n)throw new Error("Unsupported ISO Duration Field: M");a*=60}t+=a*parseInt(r[s],10)}return t}var Nd=new Date("2017-02-19T19:06:09.000Z"),Pd=isNaN(Nd.getFullYear())?new Date("2/19/17"):Nd,Bd=2017==Pd.getFullYear();function Md(e,t){var a=new Date(e);if(Bd)return t>0?a.setTime(a.getTime()+60*a.getTimezoneOffset()*1e3):t<0&&a.setTime(a.getTime()-60*a.getTimezoneOffset()*1e3),a;if(e instanceof Date)return e;if(1917==Pd.getFullYear()&&!isNaN(a.getFullYear())){var n=a.getFullYear();return e.indexOf(""+n)>-1||a.setFullYear(a.getFullYear()+100),a}var r=e.match(/\d+/g)||["2017","2","19","0","0","0"],s=new Date(+r[0],+r[1]-1,+r[2],+r[3]||0,+r[4]||0,+r[5]||0);return e.indexOf("Z")>-1&&(s=new Date(s.getTime()-60*s.getTimezoneOffset()*1e3)),s}function Od(e,t){if(pu&&Buffer.isBuffer(e)){if(t){if(255==e[0]&&254==e[1])return Eh(e.slice(2).toString("utf16le"));if(254==e[1]&&255==e[2])return Eh(su(e.slice(2).toString("binary")))}return e.toString("binary")}if("undefined"!=typeof TextDecoder)try{if(t){if(255==e[0]&&254==e[1])return Eh(new TextDecoder("utf-16le").decode(e.slice(2)));if(254==e[0]&&255==e[1])return Eh(new TextDecoder("utf-16be").decode(e.slice(2)))}var a={"€":"€","‚":"‚","ƒ":"ƒ","„":"„","…":"…","†":"†","‡":"‡","ˆ":"ˆ","‰":"‰","Š":"Š","‹":"‹","Œ":"Œ","Ž":"Ž","‘":"‘","’":"’","“":"“","”":"”","•":"•","–":"–","—":"—","˜":"˜","™":"™","š":"š","›":"›","œ":"œ","ž":"ž","Ÿ":"Ÿ"};return Array.isArray(e)&&(e=new Uint8Array(e)),new TextDecoder("latin1").decode(e).replace(/[€‚ƒ„…†‡ˆ‰Š‹ŒŽ‘’“”•–—˜™š›œžŸ]/g,function(e){return a[e]||e})}catch(mB){}for(var n=[],r=0;r!=e.length;++r)n.push(String.fromCharCode(e[r]));return n.join("")}function Ud(e){if("undefined"!=typeof JSON&&!Array.isArray(e))return JSON.parse(JSON.stringify(e));if("object"!=typeof e||null==e)return e;if(e instanceof Date)return new Date(e.getTime());var t={};for(var a in e)Object.prototype.hasOwnProperty.call(e,a)&&(t[a]=Ud(e[a]));return t}function jd(e,t){for(var a="";a.length3&&-1==Rd.indexOf(i))return a}else if(i.match(/[a-z]/))return a;return n<0||n>8099?a:(r>0||s>1)&&101!=n?t:e.match(/[^-0-9:,\/\\]/)?a:t}var Hd=function(){var e=5=="abacaba".split(/(:?b)/i).length;return function(t,a,n){if(e||"string"==typeof a)return t.split(a);for(var r=t.split(a),s=[r[0]],i=1;i>6&31,r[a++]=128|63&i;else if(i>=55296&&i<57344){i=64+(1023&i);var o=1023&e.charCodeAt(++s);r[a++]=240|i>>8&7,r[a++]=128|i>>2&63,r[a++]=128|o>>6&15|(3&i)<<4,r[a++]=128|63&o}else r[a++]=224|i>>12&15,r[a++]=128|i>>6&63,r[a++]=128|63&i;a>n&&(t.push(r.slice(0,a)),a=0,r=mu(65535),n=65530)}return t.push(r.slice(0,a)),xu(t)}(a),vd.utils.cfb_add(e,t,n);vd.utils.cfb_add(e,t,a)}else e.file(t,a)}function Zd(){return vd.utils.cfb_new()}function Xd(e,t){switch(t.type){case"base64":return vd.read(e,{type:"base64"});case"binary":return vd.read(e,{type:"binary"});case"buffer":case"array":return vd.read(e,{type:"buffer"})}throw new Error("Unrecognized type "+t.type)}function Qd(e,t){if("/"==e.charAt(0))return e.slice(1);var a=t.split("/");"/"!=t.slice(-1)&&a.pop();for(var n=e.split("/");0!==n.length;){var r=n.shift();".."===r?a.pop():"."!==r&&a.push(r)}return a.join("/")}var eh='\r\n',th=/([^"\s?>\/]+)\s*=\s*((?:")([^"]*)(?:")|(?:')([^']*)(?:')|([^'">\s]+))/g,ah=/<[\/\?]?[a-zA-Z0-9:_-]+(?:\s+[^"\s?>\/]+\s*=\s*(?:"[^"]*"|'[^']*'|[^'">\s=]+))*\s*[\/\?]?>/gm,nh=eh.match(ah)?ah:/<[^>]*>/g,rh=/<\w*:/,sh=/<(\/?)\w+:/;function ih(e,t,a){for(var n={},r=0,s=0;r!==e.length&&(32!==(s=e.charCodeAt(r))&&10!==s&&13!==s);++r);if(t||(n[0]=e.slice(0,r)),r===e.length)return n;var i=e.match(th),o=0,l="",c=0,u="",d="",h=1;if(i)for(c=0;c!=i.length;++c){for(d=i[c],s=0;s!=d.length&&61!==d.charCodeAt(s);++s);for(u=d.slice(0,s).trim();32==d.charCodeAt(s+1);)++s;for(h=34==(r=d.charCodeAt(s+1))||39==r?1:0,l=d.slice(s+1+h,d.length-h),o=0;o!=u.length&&58!==u.charCodeAt(o);++o);if(o===u.length)u.indexOf("_")>0&&(u=u.slice(0,u.indexOf("_"))),n[u]=l,n[u.toLowerCase()]=l;else{var p=(5===o&&"xmlns"===u.slice(0,5)?"xmlns":"")+u.slice(o+1);if(n[p]&&"ext"==u.slice(o-3,o))continue;n[p]=l,n[p.toLowerCase()]=l}}return n}function oh(e){return e.replace(sh,"<$1")}var lh={""":'"',"'":"'",">":">","<":"<","&":"&"},ch=_d(lh),uh=function(){var e=/&(?:quot|apos|gt|lt|amp|#x?([\da-fA-F]+));/gi,t=/_x([\da-fA-F]{4})_/gi;return function a(n){var r=n+"",s=r.indexOf("-1?16:10))||e}).replace(t,function(e,t){return String.fromCharCode(parseInt(t,16))});var i=r.indexOf("]]>");return a(r.slice(0,s))+r.slice(s+9,i)+a(r.slice(i+3))}}(),dh=/[&<>'"]/g,hh=/[\u0000-\u0008\u000b-\u001f]/g;function ph(e){return(e+"").replace(dh,function(e){return ch[e]}).replace(hh,function(e){return"_x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+"_"})}function fh(e){return ph(e).replace(/ /g,"_x0020_")}var mh=/[\u0000-\u001f]/g;function gh(e){return(e+"").replace(dh,function(e){return ch[e]}).replace(/\n/g,"
    ").replace(mh,function(e){return"&#x"+("000"+e.charCodeAt(0).toString(16)).slice(-4)+";"})}var yh=function(){var e=/&#(\d+);/g;function t(e,t){return String.fromCharCode(parseInt(t,10))}return function(a){return a.replace(e,t)}}();function vh(e){switch(e){case 1:case!0:case"1":case"true":case"TRUE":return!0;default:return!1}}function bh(e){for(var t="",a=0,n=0,r=0,s=0,i=0,o=0;a191&&n<224?(i=(31&n)<<6,i|=63&r,t+=String.fromCharCode(i)):(s=e.charCodeAt(a++),n<240?t+=String.fromCharCode((15&n)<<12|(63&r)<<6|63&s):(o=((7&n)<<18|(63&r)<<12|(63&s)<<6|63&(i=e.charCodeAt(a++)))-65536,t+=String.fromCharCode(55296+(o>>>10&1023)),t+=String.fromCharCode(56320+(1023&o)))));return t}function wh(e){var t,a,n,r=mu(2*e.length),s=1,i=0,o=0;for(a=0;a>>10&1023),t=56320+(1023&t)),0!==o&&(r[i++]=255&o,r[i++]=o>>>8,o=0),r[i++]=t%256,r[i++]=t>>>8;return r.slice(0,i).toString("ucs2")}function xh(e){return fu(e,"binary").toString("utf8")}var kh="foo bar baz☃🍣",_h=pu&&(xh(kh)==bh(kh)&&xh||wh(kh)==bh(kh)&&wh)||bh,Eh=pu?function(e){return fu(e,"utf8").toString("binary")}:function(e){for(var t=[],a=0,n=0,r=0;a>6))),t.push(String.fromCharCode(128+(63&n)));break;case n>=55296&&n<57344:n-=55296,r=e.charCodeAt(a++)-56320+(n<<10),t.push(String.fromCharCode(240+(r>>18&7))),t.push(String.fromCharCode(144+(r>>12&63))),t.push(String.fromCharCode(128+(r>>6&63))),t.push(String.fromCharCode(128+(63&r)));break;default:t.push(String.fromCharCode(224+(n>>12))),t.push(String.fromCharCode(128+(n>>6&63))),t.push(String.fromCharCode(128+(63&n)))}return t.join("")},Ch=function(){var e={};return function(t,a){var n=t+"|"+(a||"");return e[n]?e[n]:e[n]=new RegExp("<(?:\\w+:)?"+t+'(?: xml:space="preserve")?(?:[^>]*)>([\\s\\S]*?)",a||"")}}(),Fh=function(){var e=[["nbsp"," "],["middot","·"],["quot",'"'],["apos","'"],["gt",">"],["lt","<"],["amp","&"]].map(function(e){return[new RegExp("&"+e[0]+";","ig"),e[1]]});return function(t){for(var a=t.replace(/^[\t\n\r ]+/,"").replace(/[\t\n\r ]+$/,"").replace(/>\s+/g,">").replace(/\s+/g,"\n").replace(/<[^>]*>/g,""),n=0;n([\\s\\S]*?)","g")}}(),Ah=/<\/?(?:vt:)?variant>/g,Th=/<(?:vt:)([^>]*)>([\s\S]*)"+t+""}function Ph(e){return xd(e).map(function(t){return" "+t+'="'+e[t]+'"'}).join("")}function Bh(e,t,a){return"<"+e+(null!=a?Ph(a):"")+(null!=t?(t.match(Ih)?' xml:space="preserve"':"")+">"+t+""}function Mh(e,t){try{return e.toISOString().replace(/\.\d*/,"")}catch(mB){if(t)throw mB}return""}function Oh(e){if(pu&&Buffer.isBuffer(e))return e.toString("utf8");if("string"==typeof e)return e;if("undefined"!=typeof Uint8Array&&e instanceof Uint8Array)return _h(bu(wu(e)));throw new Error("Bad input format: expected Buffer or string")}var Uh=/<(\/?)([^\s?>:\/]+)(?:[\s?:\/][^>]*)?>/gm,jh="http://schemas.openxmlformats.org/package/2006/metadata/core-properties",Lh="http://schemas.openxmlformats.org/officeDocument/2006/custom-properties",Rh="http://schemas.openxmlformats.org/officeDocument/2006/extended-properties",zh="http://schemas.openxmlformats.org/package/2006/content-types",Hh="http://schemas.openxmlformats.org/package/2006/relationships",$h="http://schemas.microsoft.com/office/spreadsheetml/2018/threadedcomments",Yh="http://purl.org/dc/elements/1.1/",Gh="http://purl.org/dc/terms/",Wh="http://purl.org/dc/dcmitype/",Vh="http://schemas.openxmlformats.org/officeDocument/2006/relationships",Kh="http://schemas.openxmlformats.org/officeDocument/2006/docPropsVTypes",Jh="http://www.w3.org/2001/XMLSchema-instance",qh="http://www.w3.org/2001/XMLSchema",Zh=["http://schemas.openxmlformats.org/spreadsheetml/2006/main","http://purl.oclc.org/ooxml/spreadsheetml/main","http://schemas.microsoft.com/office/excel/2006/main","http://schemas.microsoft.com/office/excel/2006/2"],Xh="urn:schemas-microsoft-com:office:office",Qh="urn:schemas-microsoft-com:office:excel",ep="urn:schemas-microsoft-com:office:spreadsheet",tp="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882",ap="http://macVmlSchemaUri",np="urn:schemas-microsoft-com:vml",rp="http://www.w3.org/TR/REC-html40";var sp=function(e){for(var t=[],a=0;a0&&Buffer.isBuffer(e[0][0])?Buffer.concat(e[0].map(function(e){return Buffer.isBuffer(e)?e:fu(e)})):sp(e)}:sp,op=function(e,t,a){for(var n=[],r=t;r0?hp(e,t+4,t+4+a-1):""},fp=pp,mp=function(e,t){var a=Tp(e,t);return a>0?hp(e,t+4,t+4+a-1):""},gp=mp,yp=function(e,t){var a=2*Tp(e,t);return a>0?hp(e,t+4,t+4+a-1):""},vp=yp,bp=function(e,t){var a=Tp(e,t);return a>0?lp(e,t+4,t+4+a):""},wp=bp,xp=function(e,t){var a=Tp(e,t);return a>0?hp(e,t+4,t+4+a):""},kp=xp,_p=function(e,t){return function(e,t){for(var a=1-2*(e[t+7]>>>7),n=((127&e[t+7])<<4)+(e[t+6]>>>4&15),r=15&e[t+6],s=5;s>=0;--s)r=256*r+e[t+s];return 2047==n?0==r?a*(1/0):NaN:(0==n?n=-1022:(n-=1023,r+=Math.pow(2,52)),a*Math.pow(2,n-52)*r)}(e,t)},Ep=_p,Cp=function(e){return Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array};pu&&(fp=function(e,t){if(!Buffer.isBuffer(e))return pp(e,t);var a=e.readUInt32LE(t);return a>0?e.toString("utf8",t+4,t+4+a-1):""},gp=function(e,t){if(!Buffer.isBuffer(e))return mp(e,t);var a=e.readUInt32LE(t);return a>0?e.toString("utf8",t+4,t+4+a-1):""},vp=function(e,t){if(!Buffer.isBuffer(e))return yp(e,t);var a=2*e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+a-1)},wp=function(e,t){if(!Buffer.isBuffer(e))return bp(e,t);var a=e.readUInt32LE(t);return e.toString("utf16le",t+4,t+4+a)},kp=function(e,t){if(!Buffer.isBuffer(e))return xp(e,t);var a=e.readUInt32LE(t);return e.toString("utf8",t+4,t+4+a)},Ep=function(e,t){return Buffer.isBuffer(e)?e.readDoubleLE(t):_p(e,t)},Cp=function(e){return Buffer.isBuffer(e)||Array.isArray(e)||"undefined"!=typeof Uint8Array&&e instanceof Uint8Array});var Fp=function(e,t){return e[t]},Dp=function(e,t){return 256*e[t+1]+e[t]},Ap=function(e,t){var a=256*e[t+1]+e[t];return a<32768?a:-1*(65535-a+1)},Tp=function(e,t){return e[t+3]*(1<<24)+(e[t+2]<<16)+(e[t+1]<<8)+e[t]},Sp=function(e,t){return e[t+3]<<24|e[t+2]<<16|e[t+1]<<8|e[t]},Ip=function(e,t){return e[t]<<24|e[t+1]<<16|e[t+2]<<8|e[t+3]};function Np(e,t){var a,n,r,s,i,o,l="",c=[];switch(t){case"dbcs":if(o=this.l,pu&&Buffer.isBuffer(this))l=this.slice(this.l,this.l+2*e).toString("utf16le");else for(i=0;i0?Sp:Ip)(this,this.l),this.l+=4,a);case 8:case-8:if("f"===t)return n=8==e?Ep(this,this.l):Ep([this[this.l+7],this[this.l+6],this[this.l+5],this[this.l+4],this[this.l+3],this[this.l+2],this[this.l+1],this[this.l+0]],0),this.l+=8,n;e=8;case 16:l=up(this,this.l,e)}}return this.l+=e,l}var Pp=function(e,t,a){e[a]=255&t,e[a+1]=t>>>8&255,e[a+2]=t>>>16&255,e[a+3]=t>>>24&255},Bp=function(e,t,a){e[a]=255&t,e[a+1]=t>>8&255,e[a+2]=t>>16&255,e[a+3]=t>>24&255},Mp=function(e,t,a){e[a]=255&t,e[a+1]=t>>>8&255};function Op(e,t,a){var n=0,r=0;if("dbcs"===a){for(r=0;r!=t.length;++r)Mp(this,t.charCodeAt(r),this.l+2*r);n=2*t.length}else if("sbcs"===a){for(t=t.replace(/[^\x00-\x7F]/g,"_"),r=0;r!=t.length;++r)this[this.l+r]=255&t.charCodeAt(r);n=t.length}else{if("hex"===a){for(;r>8}for(;this.l>>=8,this[this.l+1]=255&t;break;case 3:n=3,this[this.l]=255&t,t>>>=8,this[this.l+1]=255&t,t>>>=8,this[this.l+2]=255&t;break;case 4:n=4,Pp(this,t,this.l);break;case 8:if(n=8,"f"===a){!function(e,t,a){var n=(t<0||1/t==-1/0?1:0)<<7,r=0,s=0,i=n?-t:t;isFinite(i)?0==i?r=s=0:(r=Math.floor(Math.log(i)/Math.LN2),s=i*Math.pow(2,52-r),r<=-1023&&(!isFinite(s)||s>4|n}(this,t,this.l);break}case 16:break;case-4:n=4,Bp(this,t,this.l)}}return this.l+=n,this}function Up(e,t){var a=up(this,this.l,e.length>>1);if(a!==e)throw new Error(t+"Expected "+e+" saw "+a);this.l+=e.length>>1}function jp(e,t){e.l=t,e.read_shift=Np,e.chk=Up,e.write_shift=Op}function Lp(e,t){e.l+=t}function Rp(e){var t=mu(e);return jp(t,0),t}function zp(e,t,a){if(e){var n,r,s;jp(e,e.l||0);for(var i=e.length,o=0,l=0;e.ln.l&&((n=n.slice(0,n.l)).l=n.length),n.length>0&&e.push(n),n=null)},s=function(e){return n&&e=128?1:0)+1,n>=128&&++r,n>=16384&&++r,n>=2097152&&++r;var i=e.next(r);s<=127?i.write_shift(1,s):(i.write_shift(1,128+(127&s)),i.write_shift(1,s>>7));for(var o=0;4!=o;++o){if(!(n>=128)){i.write_shift(1,n);break}i.write_shift(1,128+(127&n)),n>>=7}n>0&&Cp(a)&&e.push(a)}}function Yp(e,t,a){var n=Ud(e);if(t.s?(n.cRel&&(n.c+=t.s.c),n.rRel&&(n.r+=t.s.r)):(n.cRel&&(n.c+=t.c),n.rRel&&(n.r+=t.r)),!a||a.biff<12){for(;n.c>=256;)n.c-=256;for(;n.r>=65536;)n.r-=65536}return n}function Gp(e,t,a){var n=Ud(e);return n.s=Yp(n.s,t.s,a),n.e=Yp(n.e,t.s,a),n}function Wp(e,t){if(e.cRel&&e.c<0)for(e=Ud(e);e.c<0;)e.c+=t>8?16384:256;if(e.rRel&&e.r<0)for(e=Ud(e);e.r<0;)e.r+=t>8?1048576:t>5?65536:16384;var a=Qp(e);return e.cRel||null==e.cRel||(a=a.replace(/^([A-Z])/,"$$$1")),e.rRel||null==e.rRel||(a=function(e){return e.replace(/([A-Z]|^)(\d+)$/,"$1$$$2")}(a)),a}function Vp(e,t){return 0!=e.s.r||e.s.rRel||e.e.r!=(t.biff>=12?1048575:t.biff>=8?65536:16384)||e.e.rRel?0!=e.s.c||e.s.cRel||e.e.c!=(t.biff>=12?16383:255)||e.e.cRel?Wp(e.s,t.biff)+":"+Wp(e.e,t.biff):(e.s.rRel?"":"$")+Jp(e.s.r)+":"+(e.e.rRel?"":"$")+Jp(e.e.r):(e.s.cRel?"":"$")+Zp(e.s.c)+":"+(e.e.cRel?"":"$")+Zp(e.e.c)}function Kp(e){return parseInt(e.replace(/\$(\d+)$/,"$1"),10)-1}function Jp(e){return""+(e+1)}function qp(e){for(var t=e.replace(/^\$([A-Z])/,"$1"),a=0,n=0;n!==t.length;++n)a=26*a+t.charCodeAt(n)-64;return a-1}function Zp(e){if(e<0)throw new Error("invalid column "+e);var t="";for(++e;e;e=Math.floor((e-1)/26))t=String.fromCharCode((e-1)%26+65)+t;return t}function Xp(e){for(var t=0,a=0,n=0;n=48&&r<=57?t=10*t+(r-48):r>=65&&r<=90&&(a=26*a+(r-64))}return{c:a-1,r:t-1}}function Qp(e){for(var t=e.c+1,a="";t;t=(t-1)/26|0)a=String.fromCharCode((t-1)%26+65)+a;return a+(e.r+1)}function ef(e){var t=e.indexOf(":");return-1==t?{s:Xp(e),e:Xp(e)}:{s:Xp(e.slice(0,t)),e:Xp(e.slice(t+1))}}function tf(e,t){return void 0===t||"number"==typeof t?tf(e.s,e.e):("string"!=typeof e&&(e=Qp(e)),"string"!=typeof t&&(t=Qp(t)),e==t?e:e+":"+t)}function af(e){var t={s:{c:0,r:0},e:{c:0,r:0}},a=0,n=0,r=0,s=e.length;for(a=0;n26);++n)a=26*a+r;for(t.s.c=--a,a=0;n9);++n)a=10*a+r;if(t.s.r=--a,n===s||10!=r)return t.e.c=t.s.c,t.e.r=t.s.r,t;for(++n,a=0;n!=s&&!((r=e.charCodeAt(n)-64)<1||r>26);++n)a=26*a+r;for(t.e.c=--a,a=0;n!=s&&!((r=e.charCodeAt(n)-48)<0||r>9);++n)a=10*a+r;return t.e.r=--a,t}function nf(e,t){var a="d"==e.t&&t instanceof Date;if(null!=e.z)try{return e.w=dd(e.z,a?Fd(t):t)}catch(mB){}try{return e.w=dd((e.XF||{}).numFmtId||(a?14:0),a?Fd(t):t)}catch(mB){return""+t}}function rf(e,t,a){return null==e||null==e.t||"z"==e.t?"":void 0!==e.w?e.w:("d"==e.t&&!e.z&&a&&a.dateNF&&(e.z=a.dateNF),"e"==e.t?Yf[e.v]||e.v:nf(e,null==t?e.v:t))}function sf(e,t){var a=t&&t.sheet?t.sheet:"Sheet1",n={};return n[a]=e,{SheetNames:[a],Sheets:n}}function of(e,t,a){var n=a||{},r=e?Array.isArray(e):n.dense,s=e||(r?[]:{}),i=0,o=0;if(s&&null!=n.origin){if("number"==typeof n.origin)i=n.origin;else{var l="string"==typeof n.origin?Xp(n.origin):n.origin;i=l.r,o=l.c}s["!ref"]||(s["!ref"]="A1:A1")}var c={s:{c:1e7,r:1e7},e:{c:0,r:0}};if(s["!ref"]){var u=af(s["!ref"]);c.s.c=u.s.c,c.s.r=u.s.r,c.e.c=Math.max(c.e.c,u.e.c),c.e.r=Math.max(c.e.r,u.e.r),-1==i&&(c.e.r=i=u.e.r+1)}for(var d=0;d!=t.length;++d)if(t[d]){if(!Array.isArray(t[d]))throw new Error("aoa_to_sheet expects an array of arrays");for(var h=0;h!=t[d].length;++h)if(void 0!==t[d][h]){var p={v:t[d][h]},f=i+d,m=o+h;if(c.s.r>f&&(c.s.r=f),c.s.c>m&&(c.s.c=m),c.e.r0&&t.write_shift(0,e,"dbcs"),a?t.slice(0,t.l):t}function hf(e){return{ich:e.read_shift(2),ifnt:e.read_shift(2)}}function pf(e,t){var a=e.l,n=e.read_shift(1),r=uf(e),s=[],i={t:r,h:r};if(1&n){for(var o=e.read_shift(4),l=0;l!=o;++l)s.push(hf(e));i.r=s}else i.r=[{ich:0,ifnt:0}];return e.l=a+t,i}var ff=pf;function mf(e,t){var a=!1;return null==t&&(a=!0,t=Rp(23+4*e.t.length)),t.write_shift(1,1),df(e.t,t),t.write_shift(4,1),function(e,t){t||(t=Rp(4)),t.write_shift(2,0),t.write_shift(2,0)}(0,t),a?t.slice(0,t.l):t}function gf(e){var t=e.read_shift(4),a=e.read_shift(2);return a+=e.read_shift(1)<<16,e.l++,{c:t,iStyleRef:a}}function yf(e,t){return null==t&&(t=Rp(8)),t.write_shift(-4,e.c),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}function vf(e){var t=e.read_shift(2);return t+=e.read_shift(1)<<16,e.l++,{c:-1,iStyleRef:t}}function bf(e,t){return null==t&&(t=Rp(4)),t.write_shift(3,e.iStyleRef||e.s),t.write_shift(1,0),t}var wf=uf,xf=df;function kf(e){var t=e.read_shift(4);return 0===t||4294967295===t?"":e.read_shift(t,"dbcs")}function _f(e,t){var a=!1;return null==t&&(a=!0,t=Rp(127)),t.write_shift(4,e.length>0?e.length:4294967295),e.length>0&&t.write_shift(0,e,"dbcs"),a?t.slice(0,t.l):t}var Ef=uf,Cf=kf,Ff=_f;function Df(e){var t=e.slice(e.l,e.l+4),a=1&t[0],n=2&t[0];e.l+=4;var r=0===n?Ep([0,0,0,0,252&t[0],t[1],t[2],t[3]],0):Sp(t,0)>>2;return a?r/100:r}function Af(e,t){null==t&&(t=Rp(4));var a=0,n=0,r=100*e;if(e==(0|e)&&e>=-536870912&&e<1<<29?n=1:r==(0|r)&&r>=-536870912&&r<1<<29&&(n=1,a=1),!n)throw new Error("unsupported RkNumber "+e);t.write_shift(-4,((a?r:e)<<2)+(a+2))}function Tf(e){var t={s:{},e:{}};return t.s.r=e.read_shift(4),t.e.r=e.read_shift(4),t.s.c=e.read_shift(4),t.e.c=e.read_shift(4),t}var Sf=Tf,If=function(e,t){return t||(t=Rp(16)),t.write_shift(4,e.s.r),t.write_shift(4,e.e.r),t.write_shift(4,e.s.c),t.write_shift(4,e.e.c),t};function Nf(e){if(e.length-e.l<8)throw"XLS Xnum Buffer underflow";return e.read_shift(8,"f")}function Pf(e,t){return(t||Rp(8)).write_shift(8,e,"f")}function Bf(e,t){if(t||(t=Rp(8)),!e||e.auto)return t.write_shift(4,0),t.write_shift(4,0),t;null!=e.index?(t.write_shift(1,2),t.write_shift(1,e.index)):null!=e.theme?(t.write_shift(1,6),t.write_shift(1,e.theme)):(t.write_shift(1,5),t.write_shift(1,0));var a=e.tint||0;if(a>0?a*=32767:a<0&&(a*=32768),t.write_shift(2,a),e.rgb&&null==e.theme){var n=e.rgb||"FFFFFF";"number"==typeof n&&(n=("000000"+n.toString(16)).slice(-6)),t.write_shift(1,parseInt(n.slice(0,2),16)),t.write_shift(1,parseInt(n.slice(2,4),16)),t.write_shift(1,parseInt(n.slice(4,6),16)),t.write_shift(1,255)}else t.write_shift(2,0),t.write_shift(1,0),t.write_shift(1,0);return t}function Mf(e,t){var a=e.read_shift(4);switch(a){case 0:return"";case 4294967295:case 4294967294:return{2:"BITMAP",3:"METAFILEPICT",8:"DIB",14:"ENHMETAFILE"}[e.read_shift(4)]||""}if(a>400)throw new Error("Unsupported Clipboard: "+a.toString(16));return e.l-=4,e.read_shift(0,1==t?"lpstr":"lpwstr")}var Of=80,Uf=[Of,81],jf={1:{n:"CodePage",t:2},2:{n:"Category",t:Of},3:{n:"PresentationFormat",t:Of},4:{n:"ByteCount",t:3},5:{n:"LineCount",t:3},6:{n:"ParagraphCount",t:3},7:{n:"SlideCount",t:3},8:{n:"NoteCount",t:3},9:{n:"HiddenCount",t:3},10:{n:"MultimediaClipCount",t:3},11:{n:"ScaleCrop",t:11},12:{n:"HeadingPairs",t:4108},13:{n:"TitlesOfParts",t:4126},14:{n:"Manager",t:Of},15:{n:"Company",t:Of},16:{n:"LinksUpToDate",t:11},17:{n:"CharacterCount",t:3},19:{n:"SharedDoc",t:11},22:{n:"HyperlinksChanged",t:11},23:{n:"AppVersion",t:3,p:"version"},24:{n:"DigSig",t:65},26:{n:"ContentType",t:Of},27:{n:"ContentStatus",t:Of},28:{n:"Language",t:Of},29:{n:"Version",t:Of},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},Lf={1:{n:"CodePage",t:2},2:{n:"Title",t:Of},3:{n:"Subject",t:Of},4:{n:"Author",t:Of},5:{n:"Keywords",t:Of},6:{n:"Comments",t:Of},7:{n:"Template",t:Of},8:{n:"LastAuthor",t:Of},9:{n:"RevNumber",t:Of},10:{n:"EditTime",t:64},11:{n:"LastPrinted",t:64},12:{n:"CreatedDate",t:64},13:{n:"ModifiedDate",t:64},14:{n:"PageCount",t:3},15:{n:"WordCount",t:3},16:{n:"CharCount",t:3},17:{n:"Thumbnail",t:71},18:{n:"Application",t:Of},19:{n:"DocSecurity",t:3},255:{},2147483648:{n:"Locale",t:19},2147483651:{n:"Behavior",t:19},1919054434:{}},Rf={1:"US",2:"CA",3:"",7:"RU",20:"EG",30:"GR",31:"NL",32:"BE",33:"FR",34:"ES",36:"HU",39:"IT",41:"CH",43:"AT",44:"GB",45:"DK",46:"SE",47:"NO",48:"PL",49:"DE",52:"MX",55:"BR",61:"AU",64:"NZ",66:"TH",81:"JP",82:"KR",84:"VN",86:"CN",90:"TR",105:"JS",213:"DZ",216:"MA",218:"LY",351:"PT",354:"IS",358:"FI",420:"CZ",886:"TW",961:"LB",962:"JO",963:"SY",964:"IQ",965:"KW",966:"SA",971:"AE",972:"IL",974:"QA",981:"IR",65535:"US"},zf=[null,"solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"];function Hf(e){return e.map(function(e){return[e>>16&255,e>>8&255,255&e]})}var $f=Ud(Hf([0,16777215,16711680,65280,255,16776960,16711935,65535,0,16777215,16711680,65280,255,16776960,16711935,65535,8388608,32768,128,8421376,8388736,32896,12632256,8421504,10066431,10040166,16777164,13434879,6684774,16744576,26316,13421823,128,16711935,16776960,65535,8388736,8388608,32896,255,52479,13434879,13434828,16777113,10079487,16751052,13408767,16764057,3368703,3394764,10079232,16763904,16750848,16737792,6710937,9868950,13158,3381606,13056,3355392,10040064,10040166,3355545,3355443,16777215,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0])),Yf={0:"#NULL!",7:"#DIV/0!",15:"#VALUE!",23:"#REF!",29:"#NAME?",36:"#NUM!",42:"#N/A",43:"#GETTING_DATA",255:"#WTF?"},Gf={"#NULL!":0,"#DIV/0!":7,"#VALUE!":15,"#REF!":23,"#NAME?":29,"#NUM!":36,"#N/A":42,"#GETTING_DATA":43,"#WTF?":255},Wf={"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml":"workbooks","application/vnd.ms-excel.sheet.macroEnabled.main+xml":"workbooks","application/vnd.ms-excel.sheet.binary.macroEnabled.main":"workbooks","application/vnd.ms-excel.addin.macroEnabled.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml":"workbooks","application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml":"sheets","application/vnd.ms-excel.worksheet":"sheets","application/vnd.ms-excel.binIndexWs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml":"charts","application/vnd.ms-excel.chartsheet":"charts","application/vnd.ms-excel.macrosheet+xml":"macros","application/vnd.ms-excel.macrosheet":"macros","application/vnd.ms-excel.intlmacrosheet":"TODO","application/vnd.ms-excel.binIndexMs":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml":"dialogs","application/vnd.ms-excel.dialogsheet":"dialogs","application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml":"strs","application/vnd.ms-excel.sharedStrings":"strs","application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml":"styles","application/vnd.ms-excel.styles":"styles","application/vnd.openxmlformats-package.core-properties+xml":"coreprops","application/vnd.openxmlformats-officedocument.custom-properties+xml":"custprops","application/vnd.openxmlformats-officedocument.extended-properties+xml":"extprops","application/vnd.openxmlformats-officedocument.customXmlProperties+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.customProperty":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml":"comments","application/vnd.ms-excel.comments":"comments","application/vnd.ms-excel.threadedcomments+xml":"threadedcomments","application/vnd.ms-excel.person+xml":"people","application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml":"metadata","application/vnd.ms-excel.sheetMetadata":"metadata","application/vnd.ms-excel.pivotTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotTable+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.chart+xml":"TODO","application/vnd.ms-office.chartcolorstyle+xml":"TODO","application/vnd.ms-office.chartstyle+xml":"TODO","application/vnd.ms-office.chartex+xml":"TODO","application/vnd.ms-excel.calcChain":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.calcChain+xml":"calcchains","application/vnd.openxmlformats-officedocument.spreadsheetml.printerSettings":"TODO","application/vnd.ms-office.activeX":"TODO","application/vnd.ms-office.activeX+xml":"TODO","application/vnd.ms-excel.attachedToolbars":"TODO","application/vnd.ms-excel.connections":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.connections+xml":"TODO","application/vnd.ms-excel.externalLink":"links","application/vnd.openxmlformats-officedocument.spreadsheetml.externalLink+xml":"links","application/vnd.ms-excel.pivotCacheDefinition":"TODO","application/vnd.ms-excel.pivotCacheRecords":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheDefinition+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.pivotCacheRecords+xml":"TODO","application/vnd.ms-excel.queryTable":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.queryTable+xml":"TODO","application/vnd.ms-excel.userNames":"TODO","application/vnd.ms-excel.revisionHeaders":"TODO","application/vnd.ms-excel.revisionLog":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionHeaders+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.revisionLog+xml":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.userNames+xml":"TODO","application/vnd.ms-excel.tableSingleCells":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.tableSingleCells+xml":"TODO","application/vnd.ms-excel.slicer":"TODO","application/vnd.ms-excel.slicerCache":"TODO","application/vnd.ms-excel.slicer+xml":"TODO","application/vnd.ms-excel.slicerCache+xml":"TODO","application/vnd.ms-excel.wsSortMap":"TODO","application/vnd.ms-excel.table":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.table+xml":"TODO","application/vnd.openxmlformats-officedocument.theme+xml":"themes","application/vnd.openxmlformats-officedocument.themeOverride+xml":"TODO","application/vnd.ms-excel.Timeline+xml":"TODO","application/vnd.ms-excel.TimelineCache+xml":"TODO","application/vnd.ms-office.vbaProject":"vba","application/vnd.ms-office.vbaProjectSignature":"TODO","application/vnd.ms-office.volatileDependencies":"TODO","application/vnd.openxmlformats-officedocument.spreadsheetml.volatileDependencies+xml":"TODO","application/vnd.ms-excel.controlproperties+xml":"TODO","application/vnd.openxmlformats-officedocument.model+data":"TODO","application/vnd.ms-excel.Survey+xml":"TODO","application/vnd.openxmlformats-officedocument.drawing+xml":"drawings","application/vnd.openxmlformats-officedocument.drawingml.chartshapes+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramColors+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramData+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramLayout+xml":"TODO","application/vnd.openxmlformats-officedocument.drawingml.diagramStyle+xml":"TODO","application/vnd.openxmlformats-officedocument.vmlDrawing":"TODO","application/vnd.openxmlformats-package.relationships+xml":"rels","application/vnd.openxmlformats-officedocument.oleObject":"TODO","image/png":"TODO",sheet:"js"},Vf={workbooks:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet.main+xml",xlsm:"application/vnd.ms-excel.sheet.macroEnabled.main+xml",xlsb:"application/vnd.ms-excel.sheet.binary.macroEnabled.main",xlam:"application/vnd.ms-excel.addin.macroEnabled.main+xml",xltx:"application/vnd.openxmlformats-officedocument.spreadsheetml.template.main+xml"},strs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sharedStrings+xml",xlsb:"application/vnd.ms-excel.sharedStrings"},comments:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.comments+xml",xlsb:"application/vnd.ms-excel.comments"},sheets:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.worksheet+xml",xlsb:"application/vnd.ms-excel.worksheet"},charts:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.chartsheet+xml",xlsb:"application/vnd.ms-excel.chartsheet"},dialogs:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.dialogsheet+xml",xlsb:"application/vnd.ms-excel.dialogsheet"},macros:{xlsx:"application/vnd.ms-excel.macrosheet+xml",xlsb:"application/vnd.ms-excel.macrosheet"},metadata:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheetMetadata+xml",xlsb:"application/vnd.ms-excel.sheetMetadata"},styles:{xlsx:"application/vnd.openxmlformats-officedocument.spreadsheetml.styles+xml",xlsb:"application/vnd.ms-excel.styles"}};function Kf(e,t){var a,n=function(e){for(var t=[],a=xd(e),n=0;n!==a.length;++n)null==t[e[a[n]]]&&(t[e[a[n]]]=[]),t[e[a[n]]].push(a[n]);return t}(Wf),r=[];r[r.length]=eh,r[r.length]=Bh("Types",null,{xmlns:zh,"xmlns:xsd":qh,"xmlns:xsi":Jh}),r=r.concat([["xml","application/xml"],["bin","application/vnd.ms-excel.sheet.binary.macroEnabled.main"],["vml","application/vnd.openxmlformats-officedocument.vmlDrawing"],["data","application/vnd.openxmlformats-officedocument.model+data"],["bmp","image/bmp"],["png","image/png"],["gif","image/gif"],["emf","image/x-emf"],["wmf","image/x-wmf"],["jpg","image/jpeg"],["jpeg","image/jpeg"],["tif","image/tiff"],["tiff","image/tiff"],["pdf","application/pdf"],["rels","application/vnd.openxmlformats-package.relationships+xml"]].map(function(e){return Bh("Default",null,{Extension:e[0],ContentType:e[1]})}));var s=function(n){e[n]&&e[n].length>0&&(a=e[n][0],r[r.length]=Bh("Override",null,{PartName:("/"==a[0]?"":"/")+a,ContentType:Vf[n][t.bookType]||Vf[n].xlsx}))},i=function(a){(e[a]||[]).forEach(function(e){r[r.length]=Bh("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:Vf[a][t.bookType]||Vf[a].xlsx})})},o=function(t){(e[t]||[]).forEach(function(e){r[r.length]=Bh("Override",null,{PartName:("/"==e[0]?"":"/")+e,ContentType:n[t][0]})})};return s("workbooks"),i("sheets"),i("charts"),o("themes"),["strs","styles"].forEach(s),["coreprops","extprops","custprops"].forEach(o),o("vba"),o("comments"),o("threadedcomments"),o("drawings"),i("metadata"),o("people"),r.length>2&&(r[r.length]="",r[1]=r[1].replace("/>",">")),r.join("")}var Jf={WB:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/officeDocument",SHEET:"http://sheetjs.openxmlformats.org/officeDocument/2006/relationships/officeDocument",HLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/hyperlink",VML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/vmlDrawing",XPATH:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLinkPath",XMISS:"http://schemas.microsoft.com/office/2006/relationships/xlExternalLinkPath/xlPathMissing",XLINK:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/externalLink",CXML:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXml",CXMLP:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/customXmlProps",CMNT:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/comments",CORE_PROPS:"http://schemas.openxmlformats.org/package/2006/relationships/metadata/core-properties",EXT_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/extended-properties",CUST_PROPS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/custom-properties",SST:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sharedStrings",STY:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/styles",THEME:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/theme",CHART:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chart",CHARTEX:"http://schemas.microsoft.com/office/2014/relationships/chartEx",CS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/chartsheet",WS:["http://schemas.openxmlformats.org/officeDocument/2006/relationships/worksheet","http://purl.oclc.org/ooxml/officeDocument/relationships/worksheet"],DS:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/dialogsheet",MS:"http://schemas.microsoft.com/office/2006/relationships/xlMacrosheet",IMG:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/image",DRAW:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/drawing",XLMETA:"http://schemas.openxmlformats.org/officeDocument/2006/relationships/sheetMetadata",TCMNT:"http://schemas.microsoft.com/office/2017/10/relationships/threadedComment",PEOPLE:"http://schemas.microsoft.com/office/2017/10/relationships/person",VBA:"http://schemas.microsoft.com/office/2006/relationships/vbaProject"};function qf(e){var t=e.lastIndexOf("/");return e.slice(0,t+1)+"_rels/"+e.slice(t+1)+".rels"}function Zf(e,t){var a={"!id":{}};if(!e)return a;"/"!==t.charAt(0)&&(t="/"+t);var n={};return(e.match(nh)||[]).forEach(function(e){var r=ih(e);if("2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function Qf(e,t,a,n,r,s){if(r||(r={}),e["!id"]||(e["!id"]={}),e["!idx"]||(e["!idx"]=1),t<0)for(t=e["!idx"];e["!id"]["rId"+t];++t);if(e["!idx"]=t+1,r.Id="rId"+t,r.Type=n,r.Target=a,[Jf.HLINK,Jf.XPATH,Jf.XMISS].indexOf(r.Type)>-1&&(r.TargetMode="External"),e["!id"][r.Id])throw new Error("Cannot rewrite rId "+t);return e["!id"][r.Id]=r,e[("/"+r.Target).replace("//","/")]=r,t}function em(e,t,a){return[' \n',' \n'," \n"].join("")}function tm(e,t){return[' \n',' \n'," \n"].join("")}function am(){return'SheetJS '+Zc.version+""}var nm=[["cp:category","Category"],["cp:contentStatus","ContentStatus"],["cp:keywords","Keywords"],["cp:lastModifiedBy","LastAuthor"],["cp:lastPrinted","LastPrinted"],["cp:revision","RevNumber"],["cp:version","Version"],["dc:creator","Author"],["dc:description","Comments"],["dc:identifier","Identifier"],["dc:language","Language"],["dc:subject","Subject"],["dc:title","Title"],["dcterms:created","CreatedDate","date"],["dcterms:modified","ModifiedDate","date"]],rm=function(){for(var e=new Array(nm.length),t=0;t]*>([\\s\\S]*?)")}return e}();function sm(e){var t={};e=_h(e);for(var a=0;a0&&(t[n[1]]=uh(r[1])),"date"===n[2]&&t[n[1]]&&(t[n[1]]=Md(t[n[1]]))}return t}function im(e,t,a,n,r){null==r[e]&&null!=t&&""!==t&&(r[e]=t,t=ph(t),n[n.length]=a?Bh(e,t,a):Nh(e,t))}function om(e,t){var a=t||{},n=[eh,Bh("cp:coreProperties",null,{"xmlns:cp":jh,"xmlns:dc":Yh,"xmlns:dcterms":Gh,"xmlns:dcmitype":Wh,"xmlns:xsi":Jh})],r={};if(!e&&!a.Props)return n.join("");e&&(null!=e.CreatedDate&&im("dcterms:created","string"==typeof e.CreatedDate?e.CreatedDate:Mh(e.CreatedDate,a.WTF),{"xsi:type":"dcterms:W3CDTF"},n,r),null!=e.ModifiedDate&&im("dcterms:modified","string"==typeof e.ModifiedDate?e.ModifiedDate:Mh(e.ModifiedDate,a.WTF),{"xsi:type":"dcterms:W3CDTF"},n,r));for(var s=0;s!=nm.length;++s){var i=nm[s],o=a.Props&&null!=a.Props[i[1]]?a.Props[i[1]]:e?e[i[1]]:null;!0===o?o="1":!1===o?o="0":"number"==typeof o&&(o=String(o)),null!=o&&im(i[0],o,null,n,r)}return n.length>2&&(n[n.length]="",n[1]=n[1].replace("/>",">")),n.join("")}var lm=[["Application","Application","string"],["AppVersion","AppVersion","string"],["Company","Company","string"],["DocSecurity","DocSecurity","string"],["Manager","Manager","string"],["HyperlinksChanged","HyperlinksChanged","bool"],["SharedDoc","SharedDoc","bool"],["LinksUpToDate","LinksUpToDate","bool"],["ScaleCrop","ScaleCrop","bool"],["HeadingPairs","HeadingPairs","raw"],["TitlesOfParts","TitlesOfParts","raw"]],cm=["Worksheets","SheetNames","NamedRanges","DefinedNames","Chartsheets","ChartNames"];function um(e,t,a,n){var r=[];if("string"==typeof e)r=Sh(e,n);else for(var s=0;s0)for(var c=0;c!==r.length;c+=2){switch(l=+r[c+1].v,r[c].v){case"Worksheets":case"工作表":case"Листы":case"أوراق العمل":case"ワークシート":case"גליונות עבודה":case"Arbeitsblätter":case"Çalışma Sayfaları":case"Feuilles de calcul":case"Fogli di lavoro":case"Folhas de cálculo":case"Planilhas":case"Regneark":case"Hojas de cálculo":case"Werkbladen":a.Worksheets=l,a.SheetNames=i.slice(o,o+l);break;case"Named Ranges":case"Rangos con nombre":case"名前付き一覧":case"Benannte Bereiche":case"Navngivne områder":a.NamedRanges=l,a.DefinedNames=i.slice(o,o+l);break;case"Charts":case"Diagramme":a.Chartsheets=l,a.ChartNames=i.slice(o,o+l)}o+=l}}function dm(e){var t=[],a=Bh;return e||(e={}),e.Application="SheetJS",t[t.length]=eh,t[t.length]=Bh("Properties",null,{xmlns:Rh,"xmlns:vt":Kh}),lm.forEach(function(n){if(void 0!==e[n[1]]){var r;switch(n[2]){case"string":r=ph(String(e[n[1]]));break;case"bool":r=e[n[1]]?"true":"false"}void 0!==r&&(t[t.length]=a(n[0],r))}}),t[t.length]=a("HeadingPairs",a("vt:vector",a("vt:variant","Worksheets")+a("vt:variant",a("vt:i4",String(e.Worksheets))),{size:2,baseType:"variant"})),t[t.length]=a("TitlesOfParts",a("vt:vector",e.SheetNames.map(function(e){return""+ph(e)+""}).join(""),{size:e.Worksheets,baseType:"lpstr"})),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var hm=/<[^>]+>[^<]*/g;function pm(e){var t=[eh,Bh("Properties",null,{xmlns:Lh,"xmlns:vt":Kh})];if(!e)return t.join("");var a=1;return xd(e).forEach(function(n){++a,t[t.length]=Bh("property",function(e){switch(typeof e){case"string":var t=Bh("vt:lpwstr",ph(e));return t.replace(/"/g,"_x0022_");case"number":return Bh((0|e)==e?"vt:i4":"vt:r8",ph(String(e)));case"boolean":return Bh("vt:bool",e?"true":"false")}if(e instanceof Date)return Bh("vt:filetime",Mh(e));throw new Error("Unable to serialize "+e)}(e[n]),{fmtid:"{D5CDD505-2E9C-101B-9397-08002B2CF9AE}",pid:a,name:ph(n)})}),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}var fm,mm={Title:"Title",Subject:"Subject",Author:"Author",Keywords:"Keywords",Comments:"Description",LastAuthor:"LastAuthor",RevNumber:"Revision",Application:"AppName",LastPrinted:"LastPrinted",CreatedDate:"Created",ModifiedDate:"LastSaved",Category:"Category",Manager:"Manager",Company:"Company",AppVersion:"Version",ContentStatus:"ContentStatus",Identifier:"Identifier",Language:"Language"};function gm(e,t,a){fm||(fm=_d(mm)),e[t=fm[t]||t]=a}function ym(e){var t=e.read_shift(4),a=e.read_shift(4);return new Date(1e3*(a/1e7*Math.pow(2,32)+t/1e7-11644473600)).toISOString().replace(/\.000/,"")}function vm(e,t,a){var n=e.l,r=e.read_shift(0,"lpstr-cp");if(a)for(;e.l-n&3;)++e.l;return r}function bm(e,t,a){return e.read_shift(0,"lpwstr")}function wm(e,t,a){return 31===t?bm(e):vm(e,0,a)}function xm(e,t,a){return wm(e,t,!1===a?0:4)}function km(e){var t=e.l,a=Cm(e,81);return 0==e[e.l]&&0==e[e.l+1]&&e.l-t&2&&(e.l+=2),[a,Cm(e,3)]}function _m(e,t){for(var a=e.read_shift(4),n={},r=0;r!=a;++r){var s=e.read_shift(4),i=e.read_shift(4);n[s]=e.read_shift(i,1200===t?"utf16le":"utf8").replace(ku,"").replace(_u,"!"),1200===t&&i%2&&(e.l+=2)}return 3&e.l&&(e.l=e.l>>3<<2),n}function Em(e){var t=e.read_shift(4),a=e.slice(e.l,e.l+t);return e.l+=t,(3&t)>0&&(e.l+=4-(3&t)&3),a}function Cm(e,t,a){var n,r=e.read_shift(2),s=a||{};if(e.l+=2,12!==t&&r!==t&&-1===Uf.indexOf(t)&&(4126!=(65534&t)||4126!=(65534&r)))throw new Error("Expected type "+t+" saw "+r);switch(12===t?r:t){case 2:return n=e.read_shift(2,"i"),s.raw||(e.l+=2),n;case 3:return n=e.read_shift(4,"i");case 11:return 0!==e.read_shift(4);case 19:return n=e.read_shift(4);case 30:return vm(e,0,4).replace(ku,"");case 31:return bm(e);case 64:return ym(e);case 65:return Em(e);case 71:return function(e){var t={};return t.Size=e.read_shift(4),e.l+=t.Size+3-(t.Size-1)%4,t}(e);case 80:return xm(e,r,!s.raw).replace(ku,"");case 81:return function(e,t){if(!t)throw new Error("VtUnalignedString must have positive length");return wm(e,t,0)}(e,r).replace(ku,"");case 4108:return function(e){for(var t=e.read_shift(4),a=[],n=0;n0&&(a%=Math.pow(2,32),n+=r);var s=Rp(8);return s.write_shift(4,a),s.write_shift(4,n),s}(t);break;case 31:case 80:for((n=Rp(4+2*(t.length+1)+(t.length%2?0:2))).write_shift(4,t.length+1),n.write_shift(0,t,"dbcs");n.l!=n.length;)n.write_shift(1,0);break;default:throw new Error("TypedPropertyValue unrecognized type "+e+" "+t)}return xu([a,n])}function Dm(e,t){var a=e.l,n=e.read_shift(4),r=e.read_shift(4),s=[],i=0,o=0,l=-1,c={};for(i=0;i!=r;++i){var u=e.read_shift(4),d=e.read_shift(4);s[i]=[u,d+a]}s.sort(function(e,t){return e[1]-t[1]});var h={};for(i=0;i!=r;++i){if(e.l!==s[i][1]){var p=!0;if(i>0&&t)switch(t[s[i-1][0]].t){case 2:e.l+2===s[i][1]&&(e.l+=2,p=!1);break;case 80:case 4108:e.l<=s[i][1]&&(e.l=s[i][1],p=!1)}if((!t||0==i)&&e.l<=s[i][1]&&(p=!1,e.l=s[i][1]),p)throw new Error("Read Error: Expected address "+s[i][1]+" at "+e.l+" :"+i)}if(t){var f=t[s[i][0]];if(h[f.n]=Cm(e,f.t,{raw:!0}),"version"===f.p&&(h[f.n]=String(h[f.n]>>16)+"."+("0000"+String(65535&h[f.n])).slice(-4)),"CodePage"==f.n)switch(h[f.n]){case 0:h[f.n]=1252;case 874:case 932:case 936:case 949:case 950:case 1250:case 1251:case 1253:case 1254:case 1255:case 1256:case 1257:case 1258:case 1e4:case 1200:case 1201:case 1252:case 65e3:case-536:case 65001:case-535:au(o=h[f.n]>>>0&65535);break;default:throw new Error("Unsupported CodePage: "+h[f.n])}}else if(1===s[i][0]){if(o=h.CodePage=Cm(e,2),au(o),-1!==l){var m=e.l;e.l=s[l][1],c=_m(e,o),e.l=m}}else if(0===s[i][0]){if(0===o){l=i,e.l=s[i+1][1];continue}c=_m(e,o)}else{var g,y=c[s[i][0]];switch(e[e.l]){case 65:e.l+=4,g=Em(e);break;case 30:case 31:e.l+=4,g=xm(e,e[e.l-4]).replace(/\u0000+$/,"");break;case 3:e.l+=4,g=e.read_shift(4,"i");break;case 19:e.l+=4,g=e.read_shift(4);break;case 5:e.l+=4,g=e.read_shift(8,"f");break;case 11:e.l+=4,g=Bm(e,4);break;case 64:e.l+=4,g=Md(ym(e));break;default:throw new Error("unparsed value: "+e[e.l])}h[y]=g}}return e.l=a+n,h}var Am=["CodePage","Thumbnail","_PID_LINKBASE","_PID_HLINKS","SystemIdentifier","FMTID"];function Tm(e){switch(typeof e){case"boolean":return 11;case"number":return(0|e)==e?3:5;case"string":return 31;case"object":if(e instanceof Date)return 64}return-1}function Sm(e,t,a){var n=Rp(8),r=[],s=[],i=8,o=0,l=Rp(8),c=Rp(8);if(l.write_shift(4,2),l.write_shift(4,1200),c.write_shift(4,1),s.push(l),r.push(c),i+=8+l.length,!t){(c=Rp(8)).write_shift(4,0),r.unshift(c);var u=[Rp(4)];for(u[0].write_shift(4,e.length),o=0;o-1||cm.indexOf(e[o][0])>-1)&&null!=e[o][1]){var h=e[o][1],p=0;if(t){var f=a[p=+t[e[o][0]]];if("version"==f.p&&"string"==typeof h){var m=h.split(".");h=(+m[0]<<16)+(+m[1]||0)}l=Fm(f.t,h)}else{var g=Tm(h);-1==g&&(g=31,h=String(h)),l=Fm(g,h)}s.push(l),(c=Rp(8)).write_shift(4,t?p:2+o),r.push(c),i+=8+l.length}var y=8*(s.length+1);for(o=0;o=12?2:1),r="sbcs-cont";(a&&a.biff,a&&8!=a.biff)?12==a.biff&&(r="wstr"):e.read_shift(1)&&(r="dbcs-cont");return a.biff>=2&&a.biff<=5&&(r="cpstr"),n?e.read_shift(n,r):""}function zm(e){var t,a=e.read_shift(2),n=e.read_shift(1),r=4&n,s=8&n,i=1+(1&n),o=0,l={};s&&(o=e.read_shift(2)),r&&(t=e.read_shift(4));var c=2==i?"dbcs-cont":"sbcs-cont",u=0===a?"":e.read_shift(a,c);return s&&(e.l+=4*o),r&&(e.l+=t),l.t=u,s||(l.raw=""+l.t+"",l.r=l.t),l}function Hm(e){var t=e.t||"",a=Rp(3);a.write_shift(2,t.length),a.write_shift(1,1);var n=Rp(2*t.length);return n.write_shift(2*t.length,t,"utf16le"),xu([a,n])}function $m(e,t,a){if(a){if(a.biff>=2&&a.biff<=5)return e.read_shift(t,"cpstr");if(a.biff>=12)return e.read_shift(t,"dbcs-cont")}return 0===e.read_shift(1)?e.read_shift(t,"sbcs-cont"):e.read_shift(t,"dbcs-cont")}function Ym(e,t,a){var n=e.read_shift(a&&2==a.biff?1:2);return 0===n?(e.l++,""):$m(e,n,a)}function Gm(e,t,a){if(a.biff>5)return Ym(e,0,a);var n=e.read_shift(1);return 0===n?(e.l++,""):e.read_shift(n,a.biff<=4||!e.lens?"cpstr":"sbcs-cont")}function Wm(e,t,a){return a||(a=Rp(3+2*e.length)),a.write_shift(2,e.length),a.write_shift(1,1),a.write_shift(31,e,"utf16le"),a}function Vm(e,t){var a=e.read_shift(16);switch(a){case"e0c9ea79f9bace118c8200aa004ba90b":return function(e){var t=e.read_shift(4),a=e.l,n=!1;t>24&&(e.l+=t-24,"795881f43b1d7f48af2c825dc4852763"===e.read_shift(16)&&(n=!0),e.l=a);var r=e.read_shift((n?t-24:t)>>1,"utf16le").replace(ku,"");return n&&(e.l+=24),r}(e);case"0303000000000000c000000000000046":return function(e){for(var t=e.read_shift(2),a="";t-- >0;)a+="../";var n=e.read_shift(0,"lpstr-ansi");if(e.l+=2,57005!=e.read_shift(2))throw new Error("Bad FileMoniker");if(0===e.read_shift(4))return a+n.replace(/\\/g,"/");var r=e.read_shift(4);if(3!=e.read_shift(2))throw new Error("Bad FileMoniker");return a+e.read_shift(r>>1,"utf16le").replace(ku,"")}(e);default:throw new Error("Unsupported Moniker "+a)}}function Km(e){var t=e.read_shift(4);return t>0?e.read_shift(t,"utf16le").replace(ku,""):""}function Jm(e,t){t||(t=Rp(6+2*e.length)),t.write_shift(4,1+e.length);for(var a=0;a-1?31:23;switch(n.charAt(0)){case"#":s=28;break;case".":s&=-3}t.write_shift(4,2),t.write_shift(4,s);var i=[8,6815827,6619237,4849780,83];for(a=0;a-1?n.slice(0,r):n;for(t.write_shift(4,2*(o.length+1)),a=0;a-1?n.slice(r+1):"",t)}else{for(i="03 03 00 00 00 00 00 00 c0 00 00 00 00 00 00 46".split(" "),a=0;a8?4:2;return[e.read_shift(n),e.read_shift(n,"i"),e.read_shift(n,"i")]}function ag(e){return[e.read_shift(2),Df(e)]}function ng(e){var t=e.read_shift(2),a=e.read_shift(2);return{s:{c:e.read_shift(2),r:t},e:{c:e.read_shift(2),r:a}}}function rg(e,t){return t||(t=Rp(8)),t.write_shift(2,e.s.r),t.write_shift(2,e.e.r),t.write_shift(2,e.s.c),t.write_shift(2,e.e.c),t}function sg(e){var t=e.read_shift(2),a=e.read_shift(2);return{s:{c:e.read_shift(1),r:t},e:{c:e.read_shift(1),r:a}}}var ig=sg;function og(e){e.l+=4;var t=e.read_shift(2),a=e.read_shift(2),n=e.read_shift(2);return e.l+=12,[a,t,n]}function lg(e){e.l+=2,e.l+=e.read_shift(2)}var cg={0:lg,4:lg,5:lg,6:lg,7:function(e){return e.l+=4,e.cf=e.read_shift(2),{}},8:lg,9:lg,10:lg,11:lg,12:lg,13:function(e){var t={};return e.l+=4,e.l+=16,t.fSharedNote=e.read_shift(2),e.l+=4,t},14:lg,15:lg,16:lg,17:lg,18:lg,19:lg,20:lg,21:og};function ug(e,t){var a={BIFFVer:0,dt:0};switch(a.BIFFVer=e.read_shift(2),(t-=2)>=2&&(a.dt=e.read_shift(2),e.l-=2),a.BIFFVer){case 1536:case 1280:case 1024:case 768:case 512:case 2:case 7:break;default:if(t>6)throw new Error("Unexpected BIFF Ver "+a.BIFFVer)}return e.read_shift(t),a}function dg(e,t,a){var n=1536,r=16;switch(a.bookType){case"biff8":case"xla":break;case"biff5":n=1280,r=8;break;case"biff4":n=4,r=6;break;case"biff3":n=3,r=6;break;case"biff2":n=2,r=4;break;default:throw new Error("unsupported BIFF version")}var s=Rp(r);return s.write_shift(2,n),s.write_shift(2,t),r>4&&s.write_shift(2,29282),r>6&&s.write_shift(2,1997),r>8&&(s.write_shift(2,49161),s.write_shift(2,1),s.write_shift(2,1798),s.write_shift(2,0)),s}function hg(e,t){var a=!t||t.biff>=8?2:1,n=Rp(8+a*e.name.length);n.write_shift(4,e.pos),n.write_shift(1,e.hs||0),n.write_shift(1,e.dt),n.write_shift(1,e.name.length),t.biff>=8&&n.write_shift(1,1),n.write_shift(a*e.name.length,e.name,t.biff<8?"sbcs":"utf16le");var r=n.slice(0,n.l);return r.l=n.l,r}function pg(e,t,a){var n=0;a&&2==a.biff||(n=e.read_shift(2));var r=e.read_shift(2);return a&&2==a.biff&&(n=1-(r>>15),r&=32767),[{Unsynced:1&n,DyZero:(2&n)>>1,ExAsc:(4&n)>>2,ExDsc:(8&n)>>3},r]}function fg(e,t,a,n){var r=a&&5==a.biff;n||(n=Rp(r?3+t.length:5+2*t.length)),n.write_shift(2,e),n.write_shift(r?1:2,t.length),r||n.write_shift(1,1),n.write_shift((r?1:2)*t.length,t,r?"sbcs":"utf16le");var s=n.length>n.l?n.slice(0,n.l):n;return null==s.l&&(s.l=s.length),s}var mg=Gm;function gg(e,t,a){var n=e.l+t,r=8!=a.biff&&a.biff?2:4,s=e.read_shift(r),i=e.read_shift(r),o=e.read_shift(2),l=e.read_shift(2);return e.l=n,{s:{r:s,c:o},e:{r:i,c:l}}}function yg(e,t,a,n){var r=a&&5==a.biff;n||(n=Rp(r?16:20)),n.write_shift(2,0),e.style?(n.write_shift(2,e.numFmtId||0),n.write_shift(2,65524)):(n.write_shift(2,e.numFmtId||0),n.write_shift(2,t<<4));var s=0;return e.numFmtId>0&&r&&(s|=1024),n.write_shift(4,s),n.write_shift(4,0),r||n.write_shift(4,0),n.write_shift(2,0),n}function vg(e,t,a){var n=Qm(e);2!=a.biff&&9!=t||++e.l;var r=function(e){var t=e.read_shift(1);return 1===e.read_shift(1)?t:1===t}(e);return n.val=r,n.t=!0===r||!1===r?"b":"e",n}var bg=function(e,t,a){return 0===t?"":Gm(e,0,a)};function wg(e,t,a){var n,r=e.read_shift(2),s={fBuiltIn:1&r,fWantAdvise:r>>>1&1,fWantPict:r>>>2&1,fOle:r>>>3&1,fOleLink:r>>>4&1,cf:r>>>5&1023,fIcon:r>>>15&1};return 14849===a.sbcch&&(n=function(e,t,a){e.l+=4,t-=4;var n=e.l+t,r=Rm(e,0,a),s=e.read_shift(2);if(s!==(n-=e.l))throw new Error("Malformed AddinUdf: padding = "+n+" != "+s);return e.l+=s,r}(e,t-2,a)),s.body=n||e.read_shift(t-2),"string"==typeof n&&(s.Name=n),s}var xg=["_xlnm.Consolidate_Area","_xlnm.Auto_Open","_xlnm.Auto_Close","_xlnm.Extract","_xlnm.Database","_xlnm.Criteria","_xlnm.Print_Area","_xlnm.Print_Titles","_xlnm.Recorder","_xlnm.Data_Form","_xlnm.Auto_Activate","_xlnm.Auto_Deactivate","_xlnm.Sheet_Title","_xlnm._FilterDatabase"];function kg(e,t,a){var n=e.l+t,r=e.read_shift(2),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(a&&2==a.biff?1:2),l=0;(!a||a.biff>=5)&&(5!=a.biff&&(e.l+=2),l=e.read_shift(2),5==a.biff&&(e.l+=2),e.l+=4);var c=$m(e,i,a);32&r&&(c=xg[c.charCodeAt(0)]);var u=n-e.l;a&&2==a.biff&&--u;var d=n!=e.l&&0!==o&&u>0?function(e,t,a,n){var r,s=e.l+t,i=Uv(e,n,a);s!==e.l&&(r=Ov(e,s-e.l,i,a));return[i,r]}(e,u,a,o):[];return{chKey:s,Name:c,itab:l,rgce:d}}function _g(e,t,a){if(a.biff<8)return function(e,t,a){3==e[e.l+1]&&e[e.l]++;var n=Rm(e,0,a);return 3==n.charCodeAt(0)?n.slice(1):n}(e,0,a);for(var n=[],r=e.l+t,s=e.read_shift(a.biff>8?4:2);0!==s--;)n.push(tg(e,a.biff,a));if(e.l!=r)throw new Error("Bad ExternSheet: "+e.l+" != "+r);return n}function Eg(e,t,a){var n=ig(e);switch(a.biff){case 2:e.l++,t-=7;break;case 3:case 4:e.l+=2,t-=8;break;default:e.l+=6,t-=12}return[n,$v(e,t,a)]}var Cg={8:function(e,t){var a=e.l+t;e.l+=10;var n=e.read_shift(2);e.l+=4,e.l+=2,e.l+=2,e.l+=2,e.l+=4;var r=e.read_shift(1);return e.l+=r,e.l=a,{fmt:n}}};function Fg(e){var t=Rp(24),a=Xp(e[0]);t.write_shift(2,a.r),t.write_shift(2,a.r),t.write_shift(2,a.c),t.write_shift(2,a.c);for(var n="d0 c9 ea 79 f9 ba ce 11 8c 82 00 aa 00 4b a9 0b".split(" "),r=0;r<16;++r)t.write_shift(1,parseInt(n[r],16));return xu([t,qm(e[1])])}function Dg(e){var t=e[1].Tooltip,a=Rp(10+2*(t.length+1));a.write_shift(2,2048);var n=Xp(e[0]);a.write_shift(2,n.r),a.write_shift(2,n.r),a.write_shift(2,n.c),a.write_shift(2,n.c);for(var r=0;r=12?4:2,r=e.read_shift(n),s=e.read_shift(n),i=e.read_shift(n),o=e.read_shift(n),l=e.read_shift(2);2==n&&(e.l+=2);var c={s:r,e:s,w:i,ixfe:o,flags:l};return(a.biff>=5||!a.biff)&&(c.level=l>>8&7),c}var Tg=Qm,Sg=jm,Ig=Ym;var Ng=[2,3,48,49,131,139,140,245],Pg=function(){var e={1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127,8:865,9:437,10:850,11:437,13:437,14:850,15:437,16:850,17:437,18:850,19:932,20:850,21:437,22:850,23:865,24:437,25:437,26:850,27:437,28:863,29:850,31:852,34:852,35:852,36:860,37:850,38:866,55:850,64:852,77:936,78:949,79:950,80:874,87:1252,88:1252,89:1252,108:863,134:737,135:852,136:857,204:1257,255:16969},t=_d({1:437,2:850,3:1252,4:1e4,100:852,101:866,102:865,103:861,104:895,105:620,106:737,107:857,120:950,121:949,122:936,123:932,124:874,125:1255,126:1256,150:10007,151:10029,152:10006,200:1250,201:1251,202:1254,203:1253,0:20127});function a(t,a){var n=a||{};n.dateNF||(n.dateNF="yyyymmdd");var r=lf(function(t,a){var n=[],r=mu(1);switch(a.type){case"base64":r=yu(hu(t));break;case"binary":r=yu(t);break;case"buffer":case"array":r=t}jp(r,0);var s=r.read_shift(1),i=!!(136&s),o=!1,l=!1;switch(s){case 2:case 3:case 131:case 139:case 245:break;case 48:case 49:o=!0,i=!0;break;case 140:l=!0;break;default:throw new Error("DBF Unsupported Version: "+s.toString(16))}var c=0,u=521;2==s&&(c=r.read_shift(2)),r.l+=3,2!=s&&(c=r.read_shift(4)),c>1048576&&(c=1e6),2!=s&&(u=r.read_shift(2));var d=r.read_shift(2),h=a.codepage||1252;2!=s&&(r.l+=16,r.read_shift(1),0!==r[r.l]&&(h=e[r[r.l]]),r.l+=1,r.l+=2),l&&(r.l+=36);for(var p=[],f={},m=Math.min(r.length,2==s?521:u-10-(o?264:0)),g=l?32:11;r.l0;)if(42!==r[r.l])for(++r.l,n[++y]=[],v=0,v=0;v!=p.length;++v){var b=r.slice(r.l,r.l+p[v].len);r.l+=p[v].len,jp(b,0);var w=iu.utils.decode(h,b);switch(p[v].type){case"C":w.trim().length&&(n[y][v]=w.replace(/\s+$/,""));break;case"D":8===w.length?n[y][v]=new Date(+w.slice(0,4),+w.slice(4,6)-1,+w.slice(6,8)):n[y][v]=w;break;case"F":n[y][v]=parseFloat(w.trim());break;case"+":case"I":n[y][v]=l?2147483648^b.read_shift(-4,"i"):b.read_shift(4,"i");break;case"L":switch(w.trim().toUpperCase()){case"Y":case"T":n[y][v]=!0;break;case"N":case"F":n[y][v]=!1;break;case"":case"?":break;default:throw new Error("DBF Unrecognized L:|"+w+"|")}break;case"M":if(!i)throw new Error("DBF Unexpected MEMO for type "+s.toString(16));n[y][v]="##MEMO##"+(l?parseInt(w.trim(),10):b.read_shift(4));break;case"N":(w=w.replace(/\u0000/g,"").trim())&&"."!=w&&(n[y][v]=+w||0);break;case"@":n[y][v]=new Date(b.read_shift(-8,"f")-621356832e5);break;case"T":n[y][v]=new Date(864e5*(b.read_shift(4)-2440588)+b.read_shift(4));break;case"Y":n[y][v]=b.read_shift(4,"i")/1e4+b.read_shift(4,"i")/1e4*Math.pow(2,32);break;case"O":n[y][v]=-b.read_shift(-8,"f");break;case"B":if(o&&8==p[v].len){n[y][v]=b.read_shift(8,"f");break}case"G":case"P":b.l+=p[v].len;break;case"0":if("_NullFlags"===p[v].name)break;default:throw new Error("DBF Unsupported data type "+p[v].type)}}else r.l+=d;if(2!=s&&r.l=0&&au(+r.codepage),"string"==r.type)throw new Error("Cannot write DBF to JS string");var s=Hp(),i=pk(e,{header:1,raw:!0,cellDates:!0}),o=i[0],l=i.slice(1),c=e["!cols"]||[],u=0,d=0,h=0,p=1;for(u=0;u250&&(w=250),"C"==(b=((c[u]||{}).DBF||{}).type)&&c[u].DBF.len>w&&(w=c[u].DBF.len),"B"==v&&"N"==b&&(v="N",y[u]=c[u].DBF.dec,w=c[u].DBF.len),g[u]="C"==v||"N"==b?w:n[v]||0,p+=g[u],m[u]=v}else m[u]="?"}var k=s.next(32);for(k.write_shift(4,318902576),k.write_shift(4,l.length),k.write_shift(2,296+32*h),k.write_shift(2,p),u=0;u<4;++u)k.write_shift(4,0);for(k.write_shift(4,(+t[Xc]||3)<<8),u=0,d=0;u":190,"?":191,"{":223},t=new RegExp("N("+xd(e).join("|").replace(/\|\|\|/,"|\\||").replace(/([?()+])/g,"\\$1")+"|\\|)","gm"),a=function(t,a){var n=e[a];return"number"==typeof n?cu(n):n},n=function(e,t,a){var n=t.charCodeAt(0)-32<<4|a.charCodeAt(0)-48;return 59==n?e:cu(n)};function r(e,r){var s,i=e.split(/[\n\r]+/),o=-1,l=-1,c=0,u=0,d=[],h=[],p=null,f={},m=[],g=[],y=[],v=0;for(+r.codepage>=0&&au(+r.codepage);c!==i.length;++c){v=0;var b,w=i[c].trim().replace(/\x1B([\x20-\x2F])([\x30-\x3F])/g,n).replace(t,a),x=w.replace(/;;/g,"\0").split(";").map(function(e){return e.replace(/\u0000/g,";")}),k=x[0];if(w.length>0)switch(k){case"ID":case"E":case"B":case"O":case"W":break;case"P":"P"==x[1].charAt(0)&&h.push(w.slice(3).replace(/;;/g,";"));break;case"C":var _=!1,E=!1,C=!1,F=!1,D=-1,A=-1;for(u=1;u-1&&d[D][A];if(!S||!S[1])throw new Error("SYLK shared formula cannot find base");d[o][l][1]=fv(S[1],{r:o-D,c:l-A})}break;case"F":var I=0;for(u=1;u0?(m[o].hpt=v,m[o].hpx=_y(v)):0===v&&(m[o].hidden=!0);break;default:if(r&&r.WTF)throw new Error("SYLK bad record "+w)}I<1&&(p=null);break;default:if(r&&r.WTF)throw new Error("SYLK bad record "+w)}}return m.length>0&&(f["!rows"]=m),g.length>0&&(f["!cols"]=g),r&&r.sheetRows&&(d=d.slice(0,r.sheetRows)),[d,f]}function s(e,t){var a=function(e,t){switch(t.type){case"base64":return r(hu(e),t);case"binary":return r(e,t);case"buffer":return r(pu&&Buffer.isBuffer(e)?e.toString("binary"):bu(e),t);case"array":return r(Od(e),t)}throw new Error("Unrecognized type "+t.type)}(e,t),n=a[0],s=a[1],i=lf(n,t);return xd(s).forEach(function(e){i[e]=s[e]}),i}function i(e,t,a,n){var r="C;Y"+(a+1)+";X"+(n+1)+";K";switch(e.t){case"n":r+=e.v||0,e.f&&!e.F&&(r+=";E"+pv(e.f,{r:a,c:n}));break;case"b":r+=e.v?"TRUE":"FALSE";break;case"e":r+=e.w||e.v;break;case"d":r+='"'+(e.w||e.v)+'"';break;case"s":r+='"'+e.v.replace(/"/g,"").replace(/;/g,";;")+'"'}return r}return e["|"]=254,{to_workbook:function(e,t){return sf(s(e,t),t)},to_sheet:s,from_sheet:function(e,t){var a,n,r=["ID;PWXL;N;E"],s=[],o=af(e["!ref"]),l=Array.isArray(e),c="\r\n";r.push("P;PGeneral"),r.push("F;P0;DG0G8;M255"),e["!cols"]&&(n=r,e["!cols"].forEach(function(e,t){var a="F;W"+(t+1)+" "+(t+1)+" ";e.hidden?a+="0":("number"!=typeof e.width||e.wpx||(e.wpx=my(e.width)),"number"!=typeof e.wpx||e.wch||(e.wch=gy(e.wpx)),"number"==typeof e.wch&&(a+=Math.round(e.wch)))," "!=a.charAt(a.length-1)&&n.push(a)})),e["!rows"]&&function(e,t){t.forEach(function(t,a){var n="F;";t.hidden?n+="M0;":t.hpt?n+="M"+20*t.hpt+";":t.hpx&&(n+="M"+20*ky(t.hpx)+";"),n.length>2&&e.push(n+"R"+(a+1))})}(r,e["!rows"]),r.push("B;Y"+(o.e.r-o.s.r+1)+";X"+(o.e.c-o.s.c+1)+";D"+[o.s.c,o.s.r,o.e.c,o.e.r].join(" "));for(var u=o.s.r;u<=o.e.r;++u)for(var d=o.s.c;d<=o.e.c;++d){var h=Qp({r:u,c:d});(a=l?(e[u]||[])[d]:e[h])&&(null!=a.v||a.f&&!a.F)&&s.push(i(a,0,u,d))}return r.join(c)+c+s.join(c)+c+"E"+c}}}(),Mg=function(){function e(e,t){for(var a=e.split("\n"),n=-1,r=-1,s=0,i=[];s!==a.length;++s)if("BOT"!==a[s].trim()){if(!(n<0)){for(var o=a[s].trim().split(","),l=o[0],c=o[1],u=a[++s]||"";1&(u.match(/["]/g)||[]).length&&s=0?o=c:r=c}}),l>=0&&-1==o&&r>=0&&(o=r,r=-1);var c=(""+(n>=0?n:(new Date).getFullYear())).slice(-4)+"-"+("00"+(r>=1?r:1)).slice(-2)+"-"+("00"+(s>=1?s:1)).slice(-2);7==c.length&&(c="0"+c),8==c.length&&(c="20"+c);var u=("00"+(i>=0?i:0)).slice(-2)+":"+("00"+(o>=0?o:0)).slice(-2)+":"+("00"+(l>=0?l:0)).slice(-2);return-1==i&&-1==o&&-1==l?c:-1==n&&-1==r&&-1==s?u:c+"T"+u}(0,a.dateNF,t.match(v)||[]),r=1),a.cellDates?(n.t="d",n.v=Md(t,r)):(n.t="n",n.v=Fd(Md(t,r))),!1!==a.cellText&&(n.w=dd(n.z,n.v instanceof Date?Fd(n.v):n.v)),a.cellNF||delete n.z}else n.t="s",n.v=t;else n.t="n",!1!==a.cellText&&(n.w=t),n.v=c;if("z"==n.t||(a.dense?(s[o]||(s[o]=[]),s[o][l]=n):s[Qp({c:l,r:o})]=n),u=d+1,m=e.charCodeAt(u),i.e.c0&&b(),s["!ref"]=tf(i),s}function s(t,a){return a&&a.PRN?a.FS||"sep="==t.slice(0,4)||t.indexOf("\t")>=0||t.indexOf(",")>=0||t.indexOf(";")>=0?r(t,a):lf(function(t,a){var n=a||{},r=[];if(!t||0===t.length)return r;for(var s=t.split(/[\r\n]/),i=s.length-1;i>=0&&0===s[i].length;)--i;for(var o=10,l=0,c=0;c<=i;++c)-1==(l=s[c].indexOf(" "))?l=s[c].length:l++,o=Math.max(o,l);for(c=0;c<=i;++c){r[c]=[];var u=0;for(e(s[c].slice(0,o).trim(),r,c,u,n),u=1;u<=(s[c].length-o)/10+1;++u)e(s[c].slice(o+10*(u-1),o+10*u).trim(),r,c,u,n)}return n.sheetRows&&(r=r.slice(0,n.sheetRows)),r}(t,a),a):r(t,a)}function i(e,t){var a="",n="string"==t.type?[0,0,0,0]:nk(e,t);switch(t.type){case"base64":a=hu(e);break;case"binary":case"string":a=e;break;case"buffer":65001==t.codepage?a=e.toString("utf8"):(t.codepage,a=pu&&Buffer.isBuffer(e)?e.toString("binary"):bu(e));break;case"array":a=Od(e);break;default:throw new Error("Unrecognized type "+t.type)}return 239==n[0]&&187==n[1]&&191==n[2]?a=_h(a.slice(3)):"string"!=t.type&&"buffer"!=t.type&&65001==t.codepage?a=_h(a):t.type,"socialcalc:version:"==a.slice(0,19)?Og.to_sheet("string"==t.type?a:_h(a),t):s(a,t)}return{to_workbook:function(e,t){return sf(i(e,t),t)},to_sheet:i,from_sheet:function(e){for(var t,a=[],n=af(e["!ref"]),r=Array.isArray(e),s=n.s.r;s<=n.e.r;++s){for(var i=[],o=n.s.c;o<=n.e.c;++o){var l=Qp({r:s,c:o});if((t=r?(e[s]||[])[o]:e[l])&&null!=t.v){for(var c=(t.w||(rf(t),t.w)||"").slice(0,10);c.length<10;)c+=" ";i.push(c+(0===o?" ":""))}else i.push(" ")}a.push(i.join(""))}return a.join("\n")}}}();var jg=function(){function e(e,t,a){if(e){jp(e,e.l||0);for(var n=a.Enum||y;e.l=16&&5==t[14]&&108===t[15])throw new Error("Unsupported Works 3 for Mac file");if(2==t[2])n.Enum=y,e(t,function(e,t,a){switch(a){case 0:n.vers=e,e>=4096&&(n.qpro=!0);break;case 6:d=e;break;case 204:e&&(i=e);break;case 222:i=e;break;case 15:case 51:n.qpro||(e[1].v=e[1].v.slice(1));case 13:case 14:case 16:14==a&&!(112&~e[2])&&(15&e[2])>1&&(15&e[2])<15&&(e[1].z=n.dateNF||Pu[14],n.cellDates&&(e[1].t="d",e[1].v=Sd(e[1].v))),n.qpro&&e[3]>o&&(r["!ref"]=tf(d),l[s]=r,c.push(s),r=n.dense?[]:{},d={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s=i||"Sheet"+(o+1),i="");var u=n.dense?(r[e[0].r]||[])[e[0].c]:r[Qp(e[0])];if(u){u.t=e[1].t,u.v=e[1].v,null!=e[1].z&&(u.z=e[1].z),null!=e[1].f&&(u.f=e[1].f);break}n.dense?(r[e[0].r]||(r[e[0].r]=[]),r[e[0].r][e[0].c]=e[1]):r[Qp(e[0])]=e[1]}},n);else{if(26!=t[2]&&14!=t[2])throw new Error("Unrecognized LOTUS BOF "+t[2]);n.Enum=v,14==t[2]&&(n.qpro=!0,t.l=0),e(t,function(e,t,a){switch(a){case 204:s=e;break;case 22:e[1].v=e[1].v.slice(1);case 23:case 24:case 25:case 37:case 39:case 40:if(e[3]>o&&(r["!ref"]=tf(d),l[s]=r,c.push(s),r=n.dense?[]:{},d={s:{r:0,c:0},e:{r:0,c:0}},o=e[3],s="Sheet"+(o+1)),h>0&&e[0].r>=h)break;n.dense?(r[e[0].r]||(r[e[0].r]=[]),r[e[0].r][e[0].c]=e[1]):r[Qp(e[0])]=e[1],d.e.c=128?95:s)}return n.write_shift(1,0),n}function s(e,t,a){var n=Rp(7);return n.write_shift(1,255),n.write_shift(2,t),n.write_shift(2,e),n.write_shift(2,a,"i"),n}function i(e,t,a){var n=Rp(13);return n.write_shift(1,255),n.write_shift(2,t),n.write_shift(2,e),n.write_shift(8,a,"f"),n}function o(e,t,a){var n=32768&t;return t=(n?e:0)+((t&=-32769)>=8192?t-16384:t),(n?"":"$")+(a?Zp(t):Jp(t))}var l={51:["FALSE",0],52:["TRUE",0],70:["LEN",1],80:["SUM",69],81:["AVERAGEA",69],82:["COUNTA",69],83:["MINA",69],84:["MAXA",69],111:["T",1]},c=["","","","","","","","","","+","-","*","/","^","=","<>","<=",">=","<",">","","","","","&","","","","","","",""];function u(e){var t=[{c:0,r:0},{t:"n",v:0},0];return t[0].r=e.read_shift(2),t[3]=e[e.l++],t[0].c=e[e.l++],t}function d(e,t,a,n){var r=Rp(6+n.length);r.write_shift(2,e),r.write_shift(1,a),r.write_shift(1,t),r.write_shift(1,39);for(var s=0;s=128?95:i)}return r.write_shift(1,0),r}function h(e,t){var a=u(e),n=e.read_shift(4),r=e.read_shift(4),s=e.read_shift(2);if(65535==s)return 0===n&&3221225472===r?(a[1].t="e",a[1].v=15):0===n&&3489660928===r?(a[1].t="e",a[1].v=42):a[1].v=0,a;var i=32768&s;return s=(32767&s)-16446,a[1].v=(1-2*i)*(r*Math.pow(2,s+32)+n*Math.pow(2,s)),a}function p(e,t,a,n){var r=Rp(14);if(r.write_shift(2,e),r.write_shift(1,a),r.write_shift(1,t),0==n)return r.write_shift(4,0),r.write_shift(4,0),r.write_shift(2,65535),r;var s,i=0,o=0,l=0;return n<0&&(i=1,n=-n),o=0|Math.log2(n),2147483648&(l=(n/=Math.pow(2,o-31))>>>0)||(++o,l=(n/=2)>>>0),n-=l,l|=2147483648,l>>>=0,s=(n*=Math.pow(2,32))>>>0,r.write_shift(4,s),r.write_shift(4,l),o+=16383+(i?32768:0),r.write_shift(2,o),r}function f(e,t){var a=u(e),n=e.read_shift(8,"f");return a[1].v=n,a}function m(e,t){return 0==e[e.l+t-1]?e.read_shift(t,"cstr"):""}function g(e,t){var a=Rp(5+e.length);a.write_shift(2,14e3),a.write_shift(2,t);for(var n=0;n127?95:r}return a[a.l++]=0,a}var y={0:{n:"BOF",f:Om},1:{n:"EOF"},2:{n:"CALCMODE"},3:{n:"CALCORDER"},4:{n:"SPLIT"},5:{n:"SYNC"},6:{n:"RANGE",f:function(e,t,a){var n={s:{c:0,r:0},e:{c:0,r:0}};return 8==t&&a.qpro?(n.s.c=e.read_shift(1),e.l++,n.s.r=e.read_shift(2),n.e.c=e.read_shift(1),e.l++,n.e.r=e.read_shift(2),n):(n.s.c=e.read_shift(2),n.s.r=e.read_shift(2),12==t&&a.qpro&&(e.l+=2),n.e.c=e.read_shift(2),n.e.r=e.read_shift(2),12==t&&a.qpro&&(e.l+=2),65535==n.s.c&&(n.s.c=n.e.c=n.s.r=n.e.r=0),n)}},7:{n:"WINDOW1"},8:{n:"COLW1"},9:{n:"WINTWO"},10:{n:"COLW2"},11:{n:"NAME"},12:{n:"BLANK"},13:{n:"INTEGER",f:function(e,t,n){var r=a(e,0,n);return r[1].v=e.read_shift(2,"i"),r}},14:{n:"NUMBER",f:function(e,t,n){var r=a(e,0,n);return r[1].v=e.read_shift(8,"f"),r}},15:{n:"LABEL",f:n},16:{n:"FORMULA",f:function(e,t,n){var r=e.l+t,s=a(e,0,n);if(s[1].v=e.read_shift(8,"f"),n.qpro)e.l=r;else{var i=e.read_shift(2);!function(e,t){jp(e,0);var a=[],n=0,r="",s="",i="",u="";for(;e.la.length)return void console.error("WK1 bad formula parse 0x"+d.toString(16)+":|"+a.join("|")+"|");var m=a.slice(-n);a.length-=n,a.push(l[d][0]+"("+m.join(",")+")")}}}1==a.length?t[1].f=""+a[0]:console.error("WK1 bad formula parse |"+a.join("|")+"|")}(e.slice(e.l,e.l+i),s),e.l+=i}return s}},24:{n:"TABLE"},25:{n:"ORANGE"},26:{n:"PRANGE"},27:{n:"SRANGE"},28:{n:"FRANGE"},29:{n:"KRANGE1"},32:{n:"HRANGE"},35:{n:"KRANGE2"},36:{n:"PROTEC"},37:{n:"FOOTER"},38:{n:"HEADER"},39:{n:"SETUP"},40:{n:"MARGINS"},41:{n:"LABELFMT"},42:{n:"TITLES"},43:{n:"SHEETJS"},45:{n:"GRAPH"},46:{n:"NGRAPH"},47:{n:"CALCCOUNT"},48:{n:"UNFORMATTED"},49:{n:"CURSORW12"},50:{n:"WINDOW"},51:{n:"STRING",f:n},55:{n:"PASSWORD"},56:{n:"LOCKED"},60:{n:"QUERY"},61:{n:"QUERYNAME"},62:{n:"PRINT"},63:{n:"PRINTNAME"},64:{n:"GRAPH2"},65:{n:"GRAPHNAME"},66:{n:"ZOOM"},67:{n:"SYMSPLIT"},68:{n:"NSROWS"},69:{n:"NSCOLS"},70:{n:"RULER"},71:{n:"NNAME"},72:{n:"ACOMM"},73:{n:"AMACRO"},74:{n:"PARSE"},102:{n:"PRANGES??"},103:{n:"RRANGES??"},104:{n:"FNAME??"},105:{n:"MRANGES??"},204:{n:"SHEETNAMECS",f:m},222:{n:"SHEETNAMELP",f:function(e,t){var a=e[e.l++];a>t-1&&(a=t-1);for(var n="";n.length>1;if(1&a[1].v)switch(7&n){case 0:n=5e3*(n>>3);break;case 1:n=500*(n>>3);break;case 2:n=(n>>3)/20;break;case 3:n=(n>>3)/200;break;case 4:n=(n>>3)/2e3;break;case 5:n=(n>>3)/2e4;break;case 6:n=(n>>3)/16;break;case 7:n=(n>>3)/64}return a[1].v=n,a}},25:{n:"FORMULA19",f:function(e,t){var a=h(e);return e.l+=t-14,a}},26:{n:"FORMULA1A"},27:{n:"XFORMAT",f:function(e,t){for(var a={},n=e.l+t;e.l>6,a}},38:{n:"??"},39:{n:"NUMBER27",f:f},40:{n:"FORMULA28",f:function(e,t){var a=f(e);return e.l+=t-10,a}},142:{n:"??"},147:{n:"??"},150:{n:"??"},151:{n:"??"},152:{n:"??"},153:{n:"??"},154:{n:"??"},155:{n:"??"},156:{n:"??"},163:{n:"??"},174:{n:"??"},175:{n:"??"},176:{n:"??"},177:{n:"??"},184:{n:"??"},185:{n:"??"},186:{n:"??"},187:{n:"??"},188:{n:"??"},195:{n:"??"},201:{n:"??"},204:{n:"SHEETNAMECS",f:m},205:{n:"??"},206:{n:"??"},207:{n:"??"},208:{n:"??"},256:{n:"??"},259:{n:"??"},260:{n:"??"},261:{n:"??"},262:{n:"??"},263:{n:"??"},265:{n:"??"},266:{n:"??"},267:{n:"??"},268:{n:"??"},270:{n:"??"},271:{n:"??"},384:{n:"??"},389:{n:"??"},390:{n:"??"},393:{n:"??"},396:{n:"??"},512:{n:"??"},514:{n:"??"},513:{n:"??"},516:{n:"??"},517:{n:"??"},640:{n:"??"},641:{n:"??"},642:{n:"??"},643:{n:"??"},644:{n:"??"},645:{n:"??"},646:{n:"??"},647:{n:"??"},648:{n:"??"},658:{n:"??"},659:{n:"??"},660:{n:"??"},661:{n:"??"},662:{n:"??"},665:{n:"??"},666:{n:"??"},768:{n:"??"},772:{n:"??"},1537:{n:"SHEETINFOQP",f:function(e,t,a){if(a.qpro&&!(t<21)){var n=e.read_shift(1);return e.l+=17,e.l+=1,e.l+=2,[n,e.read_shift(t-21,"cstr")]}}},1600:{n:"??"},1602:{n:"??"},1793:{n:"??"},1794:{n:"??"},1795:{n:"??"},1796:{n:"??"},1920:{n:"??"},2048:{n:"??"},2049:{n:"??"},2052:{n:"??"},2688:{n:"??"},10998:{n:"??"},12849:{n:"??"},28233:{n:"??"},28484:{n:"??"},65535:{n:""}};return{sheet_to_wk1:function(e,t){var a=t||{};if(+a.codepage>=0&&au(+a.codepage),"string"==a.type)throw new Error("Cannot write WK1 to JS string");var n,o,l=Hp(),c=af(e["!ref"]),u=Array.isArray(e),d=[];Xw(l,0,(n=1030,(o=Rp(2)).write_shift(2,n),o)),Xw(l,6,function(e){var t=Rp(8);return t.write_shift(2,e.s.c),t.write_shift(2,e.s.r),t.write_shift(2,e.e.c),t.write_shift(2,e.e.r),t}(c));for(var h=Math.min(c.e.r,8191),p=c.s.r;p<=h;++p)for(var f=Jp(p),m=c.s.c;m<=c.e.c;++m){p===c.s.r&&(d[m]=Zp(m));var g=d[m]+f,y=u?(e[p]||[])[m]:e[g];if(y&&"z"!=y.t)if("n"==y.t)(0|y.v)==y.v&&y.v>=-32768&&y.v<=32767?Xw(l,13,s(p,m,y.v)):Xw(l,14,i(p,m,y.v));else Xw(l,15,r(p,m,rf(y).slice(0,239)))}return Xw(l,1),l.end()},book_to_wk3:function(e,t){var a=t||{};if(+a.codepage>=0&&au(+a.codepage),"string"==a.type)throw new Error("Cannot write WK3 to JS string");var n=Hp();Xw(n,0,function(e){var t=Rp(26);t.write_shift(2,4096),t.write_shift(2,4),t.write_shift(4,0);for(var a=0,n=0,r=0,s=0;s8191&&(a=8191);return t.write_shift(2,a),t.write_shift(1,r),t.write_shift(1,n),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(1,1),t.write_shift(1,2),t.write_shift(4,0),t.write_shift(4,0),t}(e));for(var r=0,s=0;r":case"":t.shadow=1;break;case"":break;case"":case"":t.outline=1;break;case"":break;case"":case"":t.strike=1;break;case"":break;case"":case"":t.u=1;break;case"":break;case"":case"":t.b=1;break;case"":break;case"":case"":t.i=1;break;case"":break;case"":case"":case"":break;case"":case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"":break;case"":r=!1;break;default:if(47!==s[0].charCodeAt(1)&&!r)throw new Error("Unrecognized rich format "+s[0])}}return t}(s[1])),r}var n=/<(?:\w+:)?r>/g,r=/<\/(?:\w+:)?r>/;return function(e){return e.replace(n,"").split(r).map(a).filter(function(e){return e.v})}}(),Rg=function(){var e=/(\r\n|\n)/g;function t(t){var a=[[],t.v,[]];return t.v?(t.s&&function(e,t,a){var n=[];e.u&&n.push("text-decoration: underline;"),e.uval&&n.push("text-underline-style:"+e.uval+";"),e.sz&&n.push("font-size:"+e.sz+"pt;"),e.outline&&n.push("text-effect: outline;"),e.shadow&&n.push("text-shadow: auto;"),t.push(''),e.b&&(t.push(""),a.push("")),e.i&&(t.push(""),a.push("")),e.strike&&(t.push(""),a.push(""));var r=e.valign||"";"superscript"==r||"super"==r?r="sup":"subscript"==r&&(r="sub"),""!=r&&(t.push("<"+r+">"),a.push("")),a.push("")}(t.s,a[0],a[2]),a[0].join("")+a[1].replace(e,"
    ")+a[2].join("")):""}return function(e){return e.map(t).join("")}}(),zg=/<(?:\w+:)?t[^>]*>([^<]*)<\/(?:\w+:)?t>/g,Hg=/<(?:\w+:)?r>/,$g=/<(?:\w+:)?rPh.*?>([\s\S]*?)<\/(?:\w+:)?rPh>/g;function Yg(e,t){var a=!t||t.cellHTML,n={};return e?(e.match(/^\s*<(?:\w+:)?t[^>]*>/)?(n.t=uh(_h(e.slice(e.indexOf(">")+1).split(/<\/(?:\w+:)?t>/)[0]||"")),n.r=_h(e),a&&(n.h=gh(n.t))):e.match(Hg)&&(n.r=_h(e),n.t=uh(_h((e.replace($g,"").match(zg)||[]).join("").replace(nh,""))),a&&(n.h=Rg(Lg(n.r)))),n):{t:""}}var Gg=/<(?:\w+:)?sst([^>]*)>([\s\S]*)<\/(?:\w+:)?sst>/,Wg=/<(?:\w+:)?(?:si|sstItem)>/g,Vg=/<\/(?:\w+:)?(?:si|sstItem)>/;var Kg=/^\s|\s$|[\t\n\r]/;function Jg(e,t){if(!t.bookSST)return"";var a=[eh];a[a.length]=Bh("sst",null,{xmlns:Zh[0],count:e.Count,uniqueCount:e.Unique});for(var n=0;n!=e.length;++n)if(null!=e[n]){var r=e[n],s="";r.r?s+=r.r:(s+=""),s+="",a[a.length]=s}return a.length>2&&(a[a.length]="",a[1]=a[1].replace("/>",">")),a.join("")}var qg=function(e,t){var a=!1;return null==t&&(a=!0,t=Rp(15+4*e.t.length)),t.write_shift(1,0),df(e.t,t),a?t.slice(0,t.l):t};function Zg(e){var t=Hp();$p(t,159,function(e,t){return t||(t=Rp(8)),t.write_shift(4,e.Count),t.write_shift(4,e.Unique),t}(e));for(var a=0;a=4&&(e.l+=t-4),a}function ey(e){for(var t=e.read_shift(4),a=e.l+t-4,n={},r=e.read_shift(4),s=[];r-- >0;)s.push({t:e.read_shift(4),v:e.read_shift(0,"lpp4")});if(n.name=e.read_shift(0,"lpp4"),n.comps=s,e.l!=a)throw new Error("Bad DataSpaceMapEntry: "+e.l+" != "+a);return n}function ty(e){var t=function(e){var t={};return e.read_shift(4),e.l+=4,t.id=e.read_shift(0,"lpp4"),t.name=e.read_shift(0,"lpp4"),t.R=Qg(e,4),t.U=Qg(e,4),t.W=Qg(e,4),t}(e);if(t.ename=e.read_shift(0,"8lpp4"),t.blksz=e.read_shift(4),t.cmode=e.read_shift(4),4!=e.read_shift(4))throw new Error("Bad !Primary record");return t}function ay(e,t){var a=e.l+t,n={};n.Flags=63&e.read_shift(4),e.l+=4,n.AlgID=e.read_shift(4);var r=!1;switch(n.AlgID){case 26126:case 26127:case 26128:r=36==n.Flags;break;case 26625:r=4==n.Flags;break;case 0:r=16==n.Flags||4==n.Flags||36==n.Flags;break;default:throw"Unrecognized encryption algorithm: "+n.AlgID}if(!r)throw new Error("Encryption Flags/AlgID mismatch");return n.AlgIDHash=e.read_shift(4),n.KeySize=e.read_shift(4),n.ProviderType=e.read_shift(4),e.l+=8,n.CSPName=e.read_shift(a-e.l>>1,"utf16le"),e.l=a,n}function ny(e,t){var a={},n=e.l+t;return e.l+=4,a.Salt=e.slice(e.l,e.l+16),e.l+=16,a.Verifier=e.slice(e.l,e.l+16),e.l+=16,e.read_shift(4),a.VerifierHash=e.slice(e.l,n),e.l=n,a}function ry(e){if(36!=(63&e.read_shift(4)))throw new Error("EncryptionInfo mismatch");var t=e.read_shift(4);return{t:"Std",h:ay(e,t),v:ny(e,e.length-e.l)}}function sy(){throw new Error("File is password-protected: ECMA-376 Extensible")}function iy(e){var t=["saltSize","blockSize","keyBits","hashSize","cipherAlgorithm","cipherChaining","hashAlgorithm","saltValue"];e.l+=4;var a=e.read_shift(e.length-e.l,"utf8"),n={};return a.replace(nh,function(e){var a=ih(e);switch(oh(a[0])){case"":case"":case"":break;case"":case"=0;--a)n=((16384&n?1:0)|n<<1&32767)^t[a];return 52811^n}var ly=function(){var e=[187,255,255,186,255,255,185,128,0,190,15,0,191,15,0],t=[57840,7439,52380,33984,4364,3600,61902,12606,6258,57657,54287,34041,10252,43370,20163],a=[44796,19929,39858,10053,20106,40212,10761,31585,63170,64933,60267,50935,40399,11199,17763,35526,1453,2906,5812,11624,23248,885,1770,3540,7080,14160,28320,56640,55369,41139,20807,41614,21821,43642,17621,28485,56970,44341,19019,38038,14605,29210,60195,50791,40175,10751,21502,43004,24537,18387,36774,3949,7898,15796,31592,63184,47201,24803,49606,37805,14203,28406,56812,17824,35648,1697,3394,6788,13576,27152,43601,17539,35078,557,1114,2228,4456,30388,60776,51953,34243,7079,14158,28316,14128,28256,56512,43425,17251,34502,7597,13105,26210,52420,35241,883,1766,3532,4129,8258,16516,33032,4657,9314,18628],n=function(e,t){return 255&((a=e^t)/2|128*a);var a};return function(r){for(var s,i,o,l=Xg(r),c=function(e){for(var n=t[e.length-1],r=104,s=e.length-1;s>=0;--s)for(var i=e[s],o=0;7!=o;++o)64&i&&(n^=a[r]),i*=2,--r;return n}(l),u=l.length,d=mu(16),h=0;16!=h;++h)d[h]=0;for(1&~u||(s=c>>8,d[u]=n(e[0],s),--u,s=255&c,i=l[l.length-1],d[u]=n(i,s));u>0;)s=c>>8,d[--u]=n(l[u],s),s=255&c,d[--u]=n(l[u],s);for(u=15,o=15-l.length;o>0;)s=c>>8,d[u]=n(e[o],s),--o,s=255&c,d[--u]=n(l[u],s),--u,--o;return d}}(),cy=function(e){var t=0,a=ly(e);return function(e){var n=function(e,t,a,n,r){var s,i;for(r||(r=t),n||(n=ly(e)),s=0;s!=t.length;++s)i=t[s],i=255&((i^=n[a])>>5|i<<3),r[s]=i,++a;return[r,a,n]}("",e,t,a);return t=n[1],n[0]}};function uy(e,t,a){var n=a||{};return n.Info=e.read_shift(2),e.l-=2,1===n.Info?n.Data=function(e){var t={},a=t.EncryptionVersionInfo=Qg(e,4);if(1!=a.Major||1!=a.Minor)throw"unrecognized version code "+a.Major+" : "+a.Minor;return t.Salt=e.read_shift(16),t.EncryptedVerifier=e.read_shift(16),t.EncryptedVerifierHash=e.read_shift(16),t}(e):n.Data=function(e,t){var a={},n=a.EncryptionVersionInfo=Qg(e,4);if(t-=4,2!=n.Minor)throw new Error("unrecognized minor version code: "+n.Minor);if(n.Major>4||n.Major<2)throw new Error("unrecognized major version code: "+n.Major);a.Flags=e.read_shift(4),t-=4;var r=e.read_shift(4);return t-=4,a.EncryptionHeader=ay(e,r),t-=r,a.EncryptionVerifier=ny(e,t),a}(e,t),n}var dy=function(){function e(e,a){switch(a.type){case"base64":return t(hu(e),a);case"binary":return t(e,a);case"buffer":return t(pu&&Buffer.isBuffer(e)?e.toString("binary"):bu(e),a);case"array":return t(Od(e),a)}throw new Error("Unrecognized type "+a.type)}function t(e,t){var a=(t||{}).dense?[]:{},n=e.match(/\\trowd.*?\\row\b/g);if(!n.length)throw new Error("RTF missing table");var r={s:{c:0,r:0},e:{c:0,r:n.length-1}};return n.forEach(function(e,t){Array.isArray(a)&&(a[t]=[]);for(var n,s=/\\\w+\b/g,i=0,o=-1;n=s.exec(e);){if("\\cell"===n[0]){var l=e.slice(i,s.lastIndex-n[0].length);if(" "==l[0]&&(l=l.slice(1)),++o,l.length){var c={v:l,t:"s"};Array.isArray(a)?a[t][o]=c:a[Qp({r:t,c:o})]=c}}i=s.lastIndex}o>r.e.c&&(r.e.c=o)}),a["!ref"]=tf(r),a}return{to_workbook:function(t,a){return sf(e(t,a),a)},to_sheet:e,from_sheet:function(e){for(var t,a=["{\\rtf1\\ansi"],n=af(e["!ref"]),r=Array.isArray(e),s=n.s.r;s<=n.e.r;++s){a.push("\\trowd\\trautofit1");for(var i=n.s.c;i<=n.e.c;++i)a.push("\\cellx"+(i+1));for(a.push("\\pard\\intbl"),i=n.s.c;i<=n.e.c;++i){var o=Qp({r:s,c:i});(t=r?(e[s]||[])[i]:e[o])&&(null!=t.v||t.f&&!t.F)&&(a.push(" "+(t.w||(rf(t),t.w))),a.push("\\cell"))}a.push("\\pard\\intbl\\row")}return a.join("")+"}"}}}();function hy(e){for(var t=0,a=1;3!=t;++t)a=256*a+(e[t]>255?255:e[t]<0?0:e[t]);return a.toString(16).toUpperCase().slice(1)}function py(e,t){if(0===t)return e;var a,n,r=function(e){var t=e[0]/255,a=e[1]/255,n=e[2]/255,r=Math.max(t,a,n),s=Math.min(t,a,n),i=r-s;if(0===i)return[0,0,t];var o,l=0,c=r+s;switch(o=i/(c>1?2-c:c),r){case t:l=((a-n)/i+6)%6;break;case a:l=(n-t)/i+2;break;case n:l=(t-a)/i+4}return[l/6,o,c/2]}((n=(a=e).slice("#"===a[0]?1:0).slice(0,6),[parseInt(n.slice(0,2),16),parseInt(n.slice(2,4),16),parseInt(n.slice(4,6),16)]));return r[2]=t<0?r[2]*(1+t):1-(1-r[2])*(1-t),hy(function(e){var t,a=e[0],n=e[1],r=e[2],s=2*n*(r<.5?r:1-r),i=r-s/2,o=[i,i,i],l=6*a;if(0!==n)switch(0|l){case 0:case 6:t=s*l,o[0]+=s,o[1]+=t;break;case 1:t=s*(2-l),o[0]+=t,o[1]+=s;break;case 2:t=s*(l-2),o[1]+=s,o[2]+=t;break;case 3:t=s*(4-l),o[1]+=t,o[2]+=s;break;case 4:t=s*(l-4),o[2]+=s,o[0]+=t;break;case 5:t=s*(6-l),o[2]+=t,o[0]+=s}for(var c=0;3!=c;++c)o[c]=Math.round(255*o[c]);return o}(r))}var fy=6;function my(e){return Math.floor((e+Math.round(128/fy)/256)*fy)}function gy(e){return Math.floor((e-5)/fy*100+.5)/100}function yy(e){return Math.round((e*fy+5)/fy*256)/256}function vy(e){return yy(gy(my(e)))}function by(e){var t=Math.abs(e-vy(e)),a=fy;if(t>.005)for(fy=1;fy<15;++fy)Math.abs(e-vy(e))<=t&&(t=Math.abs(e-vy(e)),a=fy);fy=a}function wy(e){e.width?(e.wpx=my(e.width),e.wch=gy(e.wpx),e.MDW=fy):e.wpx?(e.wch=gy(e.wpx),e.width=yy(e.wch),e.MDW=fy):"number"==typeof e.wch&&(e.width=yy(e.wch),e.wpx=my(e.width),e.MDW=fy),e.customWidth&&delete e.customWidth}var xy=96;function ky(e){return 96*e/xy}function _y(e){return e*xy/96}var Ey={None:"none",Solid:"solid",Gray50:"mediumGray",Gray75:"darkGray",Gray25:"lightGray",HorzStripe:"darkHorizontal",VertStripe:"darkVertical",ReverseDiagStripe:"darkDown",DiagStripe:"darkUp",DiagCross:"darkGrid",ThickDiagCross:"darkTrellis",ThinHorzStripe:"lightHorizontal",ThinVertStripe:"lightVertical",ThinReverseDiagStripe:"lightDown",ThinHorzCross:"lightGrid"};var Cy=["numFmtId","fillId","fontId","borderId","xfId"],Fy=["applyAlignment","applyBorder","applyFill","applyFont","applyNumberFormat","applyProtection","pivotButton","quotePrefix"];var Dy=function(){var e=/<(?:\w+:)?numFmts([^>]*)>[\S\s]*?<\/(?:\w+:)?numFmts>/,t=/<(?:\w+:)?cellXfs([^>]*)>[\S\s]*?<\/(?:\w+:)?cellXfs>/,a=/<(?:\w+:)?fills([^>]*)>[\S\s]*?<\/(?:\w+:)?fills>/,n=/<(?:\w+:)?fonts([^>]*)>[\S\s]*?<\/(?:\w+:)?fonts>/,r=/<(?:\w+:)?borders([^>]*)>[\S\s]*?<\/(?:\w+:)?borders>/;return function(s,i,o){var l,c={};return s?((l=(s=s.replace(//gm,"").replace(//gm,"")).match(e))&&function(e,t,a){t.NumberFmt=[];for(var n=xd(Pu),r=0;r":case"":case"":case"":break;case"0){if(l>392){for(l=392;l>60&&null!=t.NumberFmt[l];--l);t.NumberFmt[l]=o}hd(o,l)}break;default:if(a.WTF)throw new Error("unrecognized "+i[0]+" in numFmts")}}}(l,c,o),(l=s.match(n))&&function(e,t,a,n){t.Fonts=[];var r={},s=!1;(e[0].match(nh)||[]).forEach(function(e){var i=ih(e);switch(oh(i[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"
    ":case"":t.Fonts.push(r),r={};break;case"":r.bold=1;break;case"":r.italic=1;break;case"":r.underline=1;break;case"":r.strike=1;break;case"":r.outline=1;break;case"":r.shadow=1;break;case"":r.condense=1;break;case"":r.extend=1;break;case"":case"":s=!1;break;default:if(n&&n.WTF&&!s)throw new Error("unrecognized "+i[0]+" in fonts")}})}(l,c,i,o),(l=s.match(a))&&function(e,t,a,n){t.Fills=[];var r={},s=!1;(e[0].match(nh)||[]).forEach(function(e){var a=ih(e);switch(oh(a[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":r={},t.Fills.push(r);break;case"":t.Fills.push(r),r={};break;case"":a.patternType&&(r.patternType=a.patternType);break;case"":s=!1;break;default:if(n&&n.WTF&&!s)throw new Error("unrecognized "+a[0]+" in fills")}})}(l,c,0,o),(l=s.match(r))&&function(e,t,a,n){t.Borders=[];var r={},s=!1;(e[0].match(nh)||[]).forEach(function(e){var a=ih(e);switch(oh(a[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":r={},a.diagonalUp&&(r.diagonalUp=vh(a.diagonalUp)),a.diagonalDown&&(r.diagonalDown=vh(a.diagonalDown)),t.Borders.push(r);break;case"":s=!1;break;default:if(n&&n.WTF&&!s)throw new Error("unrecognized "+a[0]+" in borders")}})}(l,c,0,o),(l=s.match(t))&&function(e,t,a){var n;t.CellXf=[];var r=!1;(e[0].match(nh)||[]).forEach(function(e){var s=ih(e),i=0;switch(oh(s[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":for(delete(n=s)[0],i=0;i392)for(i=392;i>60;--i)if(t.NumberFmt[n.numFmtId]==t.NumberFmt[i]){n.numFmtId=i;break}t.CellXf.push(n);break;case"":var o={};s.vertical&&(o.vertical=s.vertical),s.horizontal&&(o.horizontal=s.horizontal),null!=s.textRotation&&(o.textRotation=s.textRotation),s.indent&&(o.indent=s.indent),s.wrapText&&(o.wrapText=vh(s.wrapText)),n.alignment=o;break;case"":case"":r=!1;break;default:if(a&&a.WTF&&!r)throw new Error("unrecognized "+s[0]+" in cellXfs")}})}(l,c,o),c):c}}();function Ay(e,t){var a,n=[eh,Bh("styleSheet",null,{xmlns:Zh[0],"xmlns:vt":Kh})];return e.SSF&&null!=(a=function(e){var t=[""];return[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)null!=e[n]&&(t[t.length]=Bh("numFmt",null,{numFmtId:n,formatCode:ph(e[n])}))}),1===t.length?"":(t[t.length]="",t[0]=Bh("numFmts",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(e.SSF))&&(n[n.length]=a),n[n.length]='',n[n.length]='',n[n.length]='',n[n.length]='',(a=function(e){var t=[];return t[t.length]=Bh("cellXfs",null),e.forEach(function(e){t[t.length]=Bh("xf",null,e)}),t[t.length]="",2===t.length?"":(t[0]=Bh("cellXfs",null,{count:t.length-2}).replace("/>",">"),t.join(""))}(t.cellXfs))&&(n[n.length]=a),n[n.length]='',n[n.length]='',n[n.length]='',n.length>2&&(n[n.length]="",n[1]=n[1].replace("/>",">")),n.join("")}function Ty(e,t,a){a||(a=Rp(6+4*t.length)),a.write_shift(2,e),df(t,a);var n=a.length>a.l?a.slice(0,a.l):a;return null==a.l&&(a.l=a.length),n}function Sy(e,t){t||(t=Rp(153)),t.write_shift(2,20*e.sz),function(e,t){t||(t=Rp(2));var a=(e.italic?2:0)|(e.strike?8:0)|(e.outline?16:0)|(e.shadow?32:0)|(e.condense?64:0)|(e.extend?128:0);t.write_shift(1,a),t.write_shift(1,0)}(e,t),t.write_shift(2,e.bold?700:400);var a=0;"superscript"==e.vertAlign?a=1:"subscript"==e.vertAlign&&(a=2),t.write_shift(2,a),t.write_shift(1,e.underline||0),t.write_shift(1,e.family||0),t.write_shift(1,e.charset||0),t.write_shift(1,0),Bf(e.color,t);return t.write_shift(1,2),df(e.name,t),t.length>t.l?t.slice(0,t.l):t}var Iy,Ny=["none","solid","mediumGray","darkGray","lightGray","darkHorizontal","darkVertical","darkDown","darkUp","darkGrid","darkTrellis","lightHorizontal","lightVertical","lightDown","lightUp","lightGrid","lightTrellis","gray125","gray0625"],Py=Lp;function By(e,t){t||(t=Rp(84)),Iy||(Iy=_d(Ny));var a=Iy[e.patternType];null==a&&(a=40),t.write_shift(4,a);var n=0;if(40!=a)for(Bf({auto:1},t),Bf({auto:1},t);n<12;++n)t.write_shift(4,0);else{for(;n<4;++n)t.write_shift(4,0);for(;n<12;++n)t.write_shift(4,0)}return t.length>t.l?t.slice(0,t.l):t}function My(e,t,a){a||(a=Rp(16)),a.write_shift(2,t||0),a.write_shift(2,e.numFmtId||0),a.write_shift(2,0),a.write_shift(2,0),a.write_shift(2,0),a.write_shift(1,0),a.write_shift(1,0);return a.write_shift(1,0),a.write_shift(1,0),a.write_shift(1,0),a.write_shift(1,0),a}function Oy(e,t){return t||(t=Rp(10)),t.write_shift(1,0),t.write_shift(1,0),t.write_shift(4,0),t.write_shift(4,0),t}var Uy=Lp;function jy(e){var t;$p(e,613,cf(1)),$p(e,46,(t||(t=Rp(51)),t.write_shift(1,0),Oy(0,t),Oy(0,t),Oy(0,t),Oy(0,t),Oy(0,t),t.length>t.l?t.slice(0,t.l):t)),$p(e,614)}function Ly(e){var t,a;$p(e,619,cf(1)),$p(e,48,(t={xfId:0,name:"Normal"},a||(a=Rp(52)),a.write_shift(4,t.xfId),a.write_shift(2,1),a.write_shift(1,0),a.write_shift(1,0),_f(t.name||"",a),a.length>a.l?a.slice(0,a.l):a)),$p(e,620)}function Ry(e){$p(e,508,function(e,t,a){var n=Rp(2052);return n.write_shift(4,e),_f(t,n),_f(a,n),n.length>n.l?n.slice(0,n.l):n}(0,"TableStyleMedium9","PivotStyleMedium4")),$p(e,509)}function zy(e,t){var a=Hp();return $p(a,278),function(e,t){if(t){var a=0;[[5,8],[23,26],[41,44],[50,392]].forEach(function(e){for(var n=e[0];n<=e[1];++n)null!=t[n]&&++a}),0!=a&&($p(e,615,cf(a)),[[5,8],[23,26],[41,44],[50,392]].forEach(function(a){for(var n=a[0];n<=a[1];++n)null!=t[n]&&$p(e,44,Ty(n,t[n]))}),$p(e,616))}}(a,e.SSF),function(e){$p(e,611,cf(1)),$p(e,43,Sy({sz:12,color:{theme:1},name:"Calibri",family:2})),$p(e,612)}(a),function(e){$p(e,603,cf(2)),$p(e,45,By({patternType:"none"})),$p(e,45,By({patternType:"gray125"})),$p(e,604)}(a),jy(a),function(e){$p(e,626,cf(1)),$p(e,47,My({numFmtId:0},65535)),$p(e,627)}(a),function(e,t){$p(e,617,cf(t.length)),t.forEach(function(t){$p(e,47,My(t,0))}),$p(e,618)}(a,t.cellXfs),Ly(a),function(e){$p(e,505,cf(0)),$p(e,506)}(a),Ry(a),$p(a,279),a.end()}var Hy=["","","","","","","","","","","",""];function $y(e,t,a){t.themeElements.clrScheme=[];var n={};(e[0].match(nh)||[]).forEach(function(e){var r=ih(e);switch(r[0]){case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":"/"===r[0].charAt(1)?(t.themeElements.clrScheme[Hy.indexOf(r[0])]=n,n={}):n.name=r[0].slice(3,r[0].length-1);break;default:if(a&&a.WTF)throw new Error("Unrecognized "+r[0]+" in clrScheme")}})}function Yy(){}function Gy(){}var Wy=/]*)>[\s\S]*<\/a:clrScheme>/,Vy=/]*)>[\s\S]*<\/a:fontScheme>/,Ky=/]*)>[\s\S]*<\/a:fmtScheme>/;var Jy=/]*)>[\s\S]*<\/a:themeElements>/;function qy(e,t){var a;e&&0!==e.length||(e=Zy());var n={};if(!(a=e.match(Jy)))throw new Error("themeElements not found in theme");return function(e,t,a){var n;t.themeElements={},[["clrScheme",Wy,$y],["fontScheme",Vy,Yy],["fmtScheme",Ky,Gy]].forEach(function(r){if(!(n=e.match(r[1])))throw new Error(r[0]+" not found in themeElements");r[2](n,t,a)})}(a[0],n,t),n.raw=e,n}function Zy(e,t){if(t&&t.themeXLSX)return t.themeXLSX;if(e&&"string"==typeof e.raw)return e.raw;var a=[eh];return a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]='',a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]='',a[a.length]="",a[a.length]="",a[a.length]="",a[a.length]="",a.join("")}function Xy(e){var t={};switch(t.xclrType=e.read_shift(2),t.nTintShade=e.read_shift(2),t.xclrType){case 0:case 4:e.l+=4;break;case 1:t.xclrValue=function(e,t){return Lp(e,t)}(e,4);break;case 2:t.xclrValue=Zm(e);break;case 3:t.xclrValue=function(e){return e.read_shift(4)}(e)}return e.l+=8,t}function Qy(e){var t=e.read_shift(2),a=e.read_shift(2)-4,n=[t];switch(t){case 4:case 5:case 7:case 8:case 9:case 10:case 11:case 13:n[1]=Xy(e);break;case 6:n[1]=function(e,t){return Lp(e,t)}(e,a);break;case 14:case 15:n[1]=e.read_shift(1===a?1:2);break;default:throw new Error("Unrecognized ExtProp type: "+t+" "+a)}return n}function ev(e,t){t.forEach(function(e){e[0]})}function tv(){var e,t,a=Hp();return $p(a,332),$p(a,334,cf(1)),$p(a,335,((t=Rp(12+2*(e={name:"XLDAPR",version:12e4,flags:3496657072}).name.length)).write_shift(4,e.flags),t.write_shift(4,e.version),df(e.name,t),t.slice(0,t.l))),$p(a,336),$p(a,339,function(e,t){var a=Rp(8+2*t.length);return a.write_shift(4,e),df(t,a),a.slice(0,a.l)}(1,"XLDAPR")),$p(a,52),$p(a,35,cf(514)),$p(a,4096,cf(0)),$p(a,4097,Um(1)),$p(a,36),$p(a,53),$p(a,340),$p(a,337,function(e){var t=Rp(8);return t.write_shift(4,e),t.write_shift(4,1),t}(1)),$p(a,51,function(e){var t=Rp(4+8*e.length);t.write_shift(4,e.length);for(var a=0;a\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n'),e.join("")}var nv=1024;function rv(e,t){for(var a=[21600,21600],n=["m0,0l0",a[1],a[0],a[1],a[0],"0xe"].join(","),r=[Bh("xml",null,{"xmlns:v":np,"xmlns:o":Xh,"xmlns:x":Qh,"xmlns:mv":ap}).replace(/\/>/,">"),Bh("o:shapelayout",Bh("o:idmap",null,{"v:ext":"edit",data:e}),{"v:ext":"edit"}),Bh("v:shapetype",[Bh("v:stroke",null,{joinstyle:"miter"}),Bh("v:path",null,{gradientshapeok:"t","o:connecttype":"rect"})].join(""),{id:"_x0000_t202","o:spt":202,coordsize:a.join(","),path:n})];nv<1e3*e;)nv+=1e3;return t.forEach(function(e){var t=Xp(e[0]),a={color2:"#BEFF82",type:"gradient"};"gradient"==a.type&&(a.angle="-180");var n="gradient"==a.type?Bh("o:fill",null,{type:"gradientUnscaled","v:ext":"view"}):null,s=Bh("v:fill",n,a);++nv,r=r.concat(["",s,Bh("v:shadow",null,{on:"t",obscured:"t"}),Bh("v:path",null,{"o:connecttype":"none"}),'
    ','',"","",Nh("x:Anchor",[t.c+1,0,t.r+1,0,t.c+3,20,t.r+5,20].join(",")),Nh("x:AutoFill","False"),Nh("x:Row",String(t.r)),Nh("x:Column",String(t.c)),e[1].hidden?"":"","",""])}),r.push(""),r.join("")}function sv(e,t,a,n){var r,s=Array.isArray(e);t.forEach(function(t){var i=Xp(t.ref);if(s?(e[i.r]||(e[i.r]=[]),r=e[i.r][i.c]):r=e[t.ref],!r){r={t:"z"},s?e[i.r][i.c]=r:e[t.ref]=r;var o=af(e["!ref"]||"BDWGO1000001:A1");o.s.r>i.r&&(o.s.r=i.r),o.e.ri.c&&(o.s.c=i.c),o.e.c=0;--u){if(!a&&r.c[u].T)return;a&&!r.c[u].T&&r.c.splice(u,1)}if(a&&n)for(u=0;u"),e.forEach(function(e){e[1].forEach(function(e){var n=ph(e.a);-1==a.indexOf(n)&&(a.push(n),t.push(""+n+"")),e.T&&e.ID&&-1==a.indexOf("tc="+e.ID)&&(a.push("tc="+e.ID),t.push("tc="+e.ID+""))})}),0==a.length&&(a.push("SheetJ5"),t.push("SheetJ5")),t.push(""),t.push(""),e.forEach(function(e){var n=0,r=[];if(e[1][0]&&e[1][0].T&&e[1][0].ID?n=a.indexOf("tc="+e[1][0].ID):e[1].forEach(function(e){e.a&&(n=a.indexOf(ph(e.a))),r.push(e.t||"")}),t.push(''),r.length<=1)t.push(Nh("t",ph(r[0]||"")));else{for(var s="Comment:\n "+r[0]+"\n",i=1;i")}),t.push(""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function ov(e,t,a){var n=[eh,Bh("ThreadedComments",null,{xmlns:$h}).replace(/[\/]>/,">")];return e.forEach(function(e){var r="";(e[1]||[]).forEach(function(s,i){if(s.T){s.a&&-1==t.indexOf(s.a)&&t.push(s.a);var o={ref:e[0],id:"{54EE7951-7262-4200-6969-"+("000000000000"+a.tcid++).slice(-12)+"}"};0==i?r=o.id:o.parentId=r,s.ID=o.id,s.a&&(o.personId="{54EE7950-7262-4200-6969-"+("000000000000"+t.indexOf(s.a)).slice(-12)+"}"),n.push(Bh("threadedComment",Nh("text",s.t||""),o))}else delete s.ID})}),n.push(""),n.join("")}var lv=uf;function cv(e){var t=Hp(),a=[];return $p(t,628),$p(t,630),e.forEach(function(e){e[1].forEach(function(e){a.indexOf(e.a)>-1||(a.push(e.a.slice(0,54)),$p(t,632,function(e){return df(e.slice(0,54))}(e.a)))})}),$p(t,631),$p(t,633),e.forEach(function(e){e[1].forEach(function(n){n.iauthor=a.indexOf(n.a);var r={s:Xp(e[0]),e:Xp(e[0])};$p(t,635,function(e,t){return null==t&&(t=Rp(36)),t.write_shift(4,e[1].iauthor),If(e[0],t),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t.write_shift(4,0),t}([r,n])),n.t&&n.t.length>0&&$p(t,637,mf(n)),$p(t,636),delete n.iauthor})}),$p(t,634),$p(t,629),t.end()}var uv=["xlsb","xlsm","xlam","biff8","xla"];var dv=function(){var e=/(^|[^A-Za-z_])R(\[?-?\d+\]|[1-9]\d*|)C(\[?-?\d+\]|[1-9]\d*|)(?![A-Za-z0-9_])/g,t={r:0,c:0};function a(e,a,n,r){var s=!1,i=!1;0==n.length?i=!0:"["==n.charAt(0)&&(i=!0,n=n.slice(1,-1)),0==r.length?s=!0:"["==r.charAt(0)&&(s=!0,r=r.slice(1,-1));var o=n.length>0?0|parseInt(n,10):0,l=r.length>0?0|parseInt(r,10):0;return s?l+=t.c:--l,i?o+=t.r:--o,a+(s?"":"$")+Zp(l)+(i?"":"$")+Jp(o)}return function(n,r){return t=r,n.replace(e,a)}}(),hv=/(^|[^._A-Z0-9])([$]?)([A-Z]{1,2}|[A-W][A-Z]{2}|X[A-E][A-Z]|XF[A-D])([$]?)(10[0-3]\d{4}|104[0-7]\d{3}|1048[0-4]\d{2}|10485[0-6]\d|104857[0-6]|[1-9]\d{0,5})(?![_.\(A-Za-z0-9])/g,pv=function(){return function(e,t){return e.replace(hv,function(e,a,n,r,s,i){var o=qp(r)-(n?0:t.c),l=Kp(i)-(s?0:t.r);return a+"R"+(0==l?"":s?l+1:"["+l+"]")+"C"+(0==o?"":n?o+1:"["+o+"]")})}}();function fv(e,t){return e.replace(hv,function(e,a,n,r,s,i){return a+("$"==n?n+r:Zp(qp(r)+t.c))+("$"==s?s+i:Jp(Kp(i)+t.r))})}function mv(e,t,a){var n=ef(t).s,r=Xp(a);return fv(e,{r:r.r-n.r,c:r.c-n.c})}function gv(e){return e.replace(/_xlfn\./g,"")}function yv(e){e.l+=1}function vv(e,t){var a=e.read_shift(2);return[16383&a,a>>14&1,a>>15&1]}function bv(e,t,a){var n=2;if(a){if(a.biff>=2&&a.biff<=5)return wv(e);12==a.biff&&(n=4)}var r=e.read_shift(n),s=e.read_shift(n),i=vv(e),o=vv(e);return{s:{r:r,c:i[0],cRel:i[1],rRel:i[2]},e:{r:s,c:o[0],cRel:o[1],rRel:o[2]}}}function wv(e){var t=vv(e),a=vv(e),n=e.read_shift(1),r=e.read_shift(1);return{s:{r:t[0],c:n,cRel:t[1],rRel:t[2]},e:{r:a[0],c:r,cRel:a[1],rRel:a[2]}}}function xv(e,t,a){if(a&&a.biff>=2&&a.biff<=5)return function(e){var t=vv(e),a=e.read_shift(1);return{r:t[0],c:a,cRel:t[1],rRel:t[2]}}(e);var n=e.read_shift(a&&12==a.biff?4:2),r=vv(e);return{r:n,c:r[0],cRel:r[1],rRel:r[2]}}function kv(e){var t=e.read_shift(2),a=e.read_shift(2);return{r:t,c:255&a,fQuoted:!!(16384&a),cRel:a>>15,rRel:a>>15}}function _v(e){var t=1&e[e.l+1];return e.l+=4,[t,1]}function Ev(e){return[e.read_shift(1),e.read_shift(1)]}function Cv(e,t){var a=[e.read_shift(1)];if(12==t)switch(a[0]){case 2:a[0]=4;break;case 4:a[0]=16;break;case 0:a[0]=1;break;case 1:a[0]=2}switch(a[0]){case 4:a[1]=Bm(e,1)?"TRUE":"FALSE",12!=t&&(e.l+=7);break;case 37:case 16:a[1]=Yf[e[e.l]],e.l+=12==t?4:8;break;case 0:e.l+=8;break;case 1:a[1]=Nf(e);break;case 2:a[1]=Gm(e,0,{biff:t>0&&t<8?2:t});break;default:throw new Error("Bad SerAr: "+a[0])}return a}function Fv(e,t,a){for(var n=e.read_shift(12==a.biff?4:2),r=[],s=0;s!=n;++s)r.push((12==a.biff?Sf:ng)(e));return r}function Dv(e,t,a){var n=0,r=0;12==a.biff?(n=e.read_shift(4),r=e.read_shift(4)):(r=1+e.read_shift(1),n=1+e.read_shift(2)),a.biff>=2&&a.biff<8&&(--n,0==--r&&(r=256));for(var s=0,i=[];s!=n&&(i[s]=[]);++s)for(var o=0;o!=r;++o)i[s][o]=Cv(e,a.biff);return i}function Av(e,t,a){return e.l+=2,[kv(e)]}function Tv(e){return e.l+=6,[]}function Sv(e){return e.l+=2,[Om(e),1&e.read_shift(2)]}var Iv=["Data","All","Headers","??","?Data2","??","?DataHeaders","??","Totals","??","??","??","?DataTotals","??","??","??","?Current"];var Nv={1:{n:"PtgExp",f:function(e,t,a){return e.l++,a&&12==a.biff?[e.read_shift(4,"i"),0]:[e.read_shift(2),e.read_shift(a&&2==a.biff?1:2)]}},2:{n:"PtgTbl",f:Lp},3:{n:"PtgAdd",f:yv},4:{n:"PtgSub",f:yv},5:{n:"PtgMul",f:yv},6:{n:"PtgDiv",f:yv},7:{n:"PtgPower",f:yv},8:{n:"PtgConcat",f:yv},9:{n:"PtgLt",f:yv},10:{n:"PtgLe",f:yv},11:{n:"PtgEq",f:yv},12:{n:"PtgGe",f:yv},13:{n:"PtgGt",f:yv},14:{n:"PtgNe",f:yv},15:{n:"PtgIsect",f:yv},16:{n:"PtgUnion",f:yv},17:{n:"PtgRange",f:yv},18:{n:"PtgUplus",f:yv},19:{n:"PtgUminus",f:yv},20:{n:"PtgPercent",f:yv},21:{n:"PtgParen",f:yv},22:{n:"PtgMissArg",f:yv},23:{n:"PtgStr",f:function(e,t,a){return e.l++,Rm(e,0,a)}},26:{n:"PtgSheet",f:function(e,t,a){return e.l+=5,e.l+=2,e.l+=2==a.biff?1:4,["PTGSHEET"]}},27:{n:"PtgEndSheet",f:function(e,t,a){return e.l+=2==a.biff?4:5,["PTGENDSHEET"]}},28:{n:"PtgErr",f:function(e){return e.l++,Yf[e.read_shift(1)]}},29:{n:"PtgBool",f:function(e){return e.l++,0!==e.read_shift(1)}},30:{n:"PtgInt",f:function(e){return e.l++,e.read_shift(2)}},31:{n:"PtgNum",f:function(e){return e.l++,Nf(e)}},32:{n:"PtgArray",f:function(e,t,a){var n=(96&e[e.l++])>>5;return e.l+=2==a.biff?6:12==a.biff?14:7,[n]}},33:{n:"PtgFunc",f:function(e,t,a){var n=(96&e[e.l])>>5;e.l+=1;var r=e.read_shift(a&&a.biff<=3?1:2);return[eb[r],Qv[r],n]}},34:{n:"PtgFuncVar",f:function(e,t,a){var n=e[e.l++],r=e.read_shift(1),s=a&&a.biff<=3?[88==n?-1:0,e.read_shift(1)]:function(e){return[e[e.l+1]>>7,32767&e.read_shift(2)]}(e);return[r,(0===s[0]?Qv:Xv)[s[1]]]}},35:{n:"PtgName",f:function(e,t,a){var n=e.read_shift(1)>>>5&3,r=!a||a.biff>=8?4:2,s=e.read_shift(r);switch(a.biff){case 2:e.l+=5;break;case 3:case 4:e.l+=8;break;case 5:e.l+=12}return[n,0,s]}},36:{n:"PtgRef",f:function(e,t,a){var n=(96&e[e.l])>>5;return e.l+=1,[n,xv(e,0,a)]}},37:{n:"PtgArea",f:function(e,t,a){return[(96&e[e.l++])>>5,bv(e,a.biff>=2&&a.biff,a)]}},38:{n:"PtgMemArea",f:function(e,t,a){var n=e.read_shift(1)>>>5&3;return e.l+=a&&2==a.biff?3:4,[n,e.read_shift(a&&2==a.biff?1:2)]}},39:{n:"PtgMemErr",f:Lp},40:{n:"PtgMemNoMem",f:Lp},41:{n:"PtgMemFunc",f:function(e,t,a){return[e.read_shift(1)>>>5&3,e.read_shift(a&&2==a.biff?1:2)]}},42:{n:"PtgRefErr",f:function(e,t,a){var n=e.read_shift(1)>>>5&3;return e.l+=4,a.biff<8&&e.l--,12==a.biff&&(e.l+=2),[n]}},43:{n:"PtgAreaErr",f:function(e,t,a){var n=(96&e[e.l++])>>5;return e.l+=a&&a.biff>8?12:a.biff<8?6:8,[n]}},44:{n:"PtgRefN",f:function(e,t,a){var n=(96&e[e.l])>>5;e.l+=1;var r=function(e,t,a){var n=a&&a.biff?a.biff:8;if(n>=2&&n<=5)return function(e){var t=e.read_shift(2),a=e.read_shift(1),n=(32768&t)>>15,r=(16384&t)>>14;return t&=16383,1==n&&t>=8192&&(t-=16384),1==r&&a>=128&&(a-=256),{r:t,c:a,cRel:r,rRel:n}}(e);var r=e.read_shift(n>=12?4:2),s=e.read_shift(2),i=(16384&s)>>14,o=(32768&s)>>15;if(s&=16383,1==o)for(;r>524287;)r-=1048576;if(1==i)for(;s>8191;)s-=16384;return{r:r,c:s,cRel:i,rRel:o}}(e,0,a);return[n,r]}},45:{n:"PtgAreaN",f:function(e,t,a){var n=(96&e[e.l++])>>5,r=function(e,t,a){if(a.biff<8)return wv(e);var n=e.read_shift(12==a.biff?4:2),r=e.read_shift(12==a.biff?4:2),s=vv(e),i=vv(e);return{s:{r:n,c:s[0],cRel:s[1],rRel:s[2]},e:{r:r,c:i[0],cRel:i[1],rRel:i[2]}}}(e,0,a);return[n,r]}},46:{n:"PtgMemAreaN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},47:{n:"PtgMemNoMemN",f:function(e){return[e.read_shift(1)>>>5&3,e.read_shift(2)]}},57:{n:"PtgNameX",f:function(e,t,a){return 5==a.biff?function(e){var t=e.read_shift(1)>>>5&3,a=e.read_shift(2,"i");e.l+=8;var n=e.read_shift(2);return e.l+=12,[t,a,n]}(e):[e.read_shift(1)>>>5&3,e.read_shift(2),e.read_shift(4)]}},58:{n:"PtgRef3d",f:function(e,t,a){var n=(96&e[e.l])>>5;e.l+=1;var r=e.read_shift(2);return a&&5==a.biff&&(e.l+=12),[n,r,xv(e,0,a)]}},59:{n:"PtgArea3d",f:function(e,t,a){var n=(96&e[e.l++])>>5,r=e.read_shift(2,"i");if(a)switch(a.biff){case 5:e.l+=12;break;case 12:0}return[n,r,bv(e,0,a)]}},60:{n:"PtgRefErr3d",f:function(e,t,a){var n=(96&e[e.l++])>>5,r=e.read_shift(2),s=4;if(a)switch(a.biff){case 5:s=15;break;case 12:s=6}return e.l+=s,[n,r]}},61:{n:"PtgAreaErr3d",f:function(e,t,a){var n=(96&e[e.l++])>>5,r=e.read_shift(2),s=8;if(a)switch(a.biff){case 5:e.l+=12,s=6;break;case 12:s=12}return e.l+=s,[n,r]}},255:{}},Pv={64:32,96:32,65:33,97:33,66:34,98:34,67:35,99:35,68:36,100:36,69:37,101:37,70:38,102:38,71:39,103:39,72:40,104:40,73:41,105:41,74:42,106:42,75:43,107:43,76:44,108:44,77:45,109:45,78:46,110:46,79:47,111:47,88:34,120:34,89:57,121:57,90:58,122:58,91:59,123:59,92:60,124:60,93:61,125:61},Bv={1:{n:"PtgElfLel",f:Sv},2:{n:"PtgElfRw",f:Av},3:{n:"PtgElfCol",f:Av},6:{n:"PtgElfRwV",f:Av},7:{n:"PtgElfColV",f:Av},10:{n:"PtgElfRadical",f:Av},11:{n:"PtgElfRadicalS",f:Tv},13:{n:"PtgElfColS",f:Tv},15:{n:"PtgElfColSV",f:Tv},16:{n:"PtgElfRadicalLel",f:Sv},25:{n:"PtgList",f:function(e){e.l+=2;var t=e.read_shift(2),a=e.read_shift(2),n=e.read_shift(4),r=e.read_shift(2),s=e.read_shift(2);return{ixti:t,coltype:3&a,rt:Iv[a>>2&31],idx:n,c:r,C:s}}},29:{n:"PtgSxName",f:function(e){return e.l+=2,[e.read_shift(4)]}},255:{}},Mv={0:{n:"PtgAttrNoop",f:function(e){return e.l+=4,[0,0]}},1:{n:"PtgAttrSemi",f:function(e,t,a){var n=255&e[e.l+1]?1:0;return e.l+=a&&2==a.biff?3:4,[n]}},2:{n:"PtgAttrIf",f:function(e,t,a){var n=255&e[e.l+1]?1:0;return e.l+=2,[n,e.read_shift(a&&2==a.biff?1:2)]}},4:{n:"PtgAttrChoose",f:function(e,t,a){e.l+=2;for(var n=e.read_shift(a&&2==a.biff?1:2),r=[],s=0;s<=n;++s)r.push(e.read_shift(a&&2==a.biff?1:2));return r}},8:{n:"PtgAttrGoto",f:function(e,t,a){var n=255&e[e.l+1]?1:0;return e.l+=2,[n,e.read_shift(a&&2==a.biff?1:2)]}},16:{n:"PtgAttrSum",f:function(e,t,a){e.l+=a&&2==a.biff?3:4}},32:{n:"PtgAttrBaxcel",f:_v},33:{n:"PtgAttrBaxcel",f:_v},64:{n:"PtgAttrSpace",f:function(e){return e.read_shift(2),Ev(e)}},65:{n:"PtgAttrSpaceSemi",f:function(e){return e.read_shift(2),Ev(e)}},128:{n:"PtgAttrIfError",f:function(e){var t=255&e[e.l+1]?1:0;return e.l+=2,[t,e.read_shift(2)]}},255:{}};function Ov(e,t,a,n){if(n.biff<8)return Lp(e,t);for(var r=e.l+t,s=[],i=0;i!==a.length;++i)switch(a[i][0]){case"PtgArray":a[i][1]=Dv(e,0,n),s.push(a[i][1]);break;case"PtgMemArea":a[i][2]=Fv(e,a[i][1],n),s.push(a[i][2]);break;case"PtgExp":n&&12==n.biff&&(a[i][1][1]=e.read_shift(4),s.push(a[i][1]));break;case"PtgList":case"PtgElfRadicalS":case"PtgElfColS":case"PtgElfColSV":throw"Unsupported "+a[i][0]}return 0!==(t=r-e.l)&&s.push(Lp(e,t)),s}function Uv(e,t,a){for(var n,r,s=e.l+t,i=[];s!=e.l;)t=s-e.l,r=e[e.l],n=Nv[r]||Nv[Pv[r]],24!==r&&25!==r||(n=(24===r?Bv:Mv)[e[e.l+1]]),n&&n.f?i.push([n.n,n.f(e,t,a)]):Lp(e,t);return i}function jv(e){for(var t=[],a=0;a=",PtgGt:">",PtgLe:"<=",PtgLt:"<",PtgMul:"*",PtgNe:"<>",PtgPower:"^",PtgSub:"-"};function Rv(e,t,a){if(!e)return"SH33TJSERR0";if(a.biff>8&&(!e.XTI||!e.XTI[t]))return e.SheetNames[t];if(!e.XTI)return"SH33TJSERR6";var n=e.XTI[t];if(a.biff<8)return t>1e4&&(t-=65536),t<0&&(t=-t),0==t?"":e.XTI[t-1];if(!n)return"SH33TJSERR1";var r="";if(a.biff>8)switch(e[n[0]][0]){case 357:return r=-1==n[1]?"#REF":e.SheetNames[n[1]],n[1]==n[2]?r:r+":"+e.SheetNames[n[2]];case 358:return null!=a.SID?e.SheetNames[a.SID]:"SH33TJSSAME"+e[n[0]][0];default:return"SH33TJSSRC"+e[n[0]][0]}switch(e[n[0]][0][0]){case 1025:return r=-1==n[1]?"#REF":e.SheetNames[n[1]]||"SH33TJSERR3",n[1]==n[2]?r:r+":"+e.SheetNames[n[2]];case 14849:return e[n[0]].slice(1).map(function(e){return e.Name}).join(";;");default:return e[n[0]][0][3]?(r=-1==n[1]?"#REF":e[n[0]][0][3][n[1]]||"SH33TJSERR4",n[1]==n[2]?r:r+":"+e[n[0]][0][3][n[2]]):"SH33TJSERR2"}}function zv(e,t,a){var n=Rv(e,t,a);return"#REF"==n?n:function(e,t){if(!(e||t&&t.biff<=5&&t.biff>=2))throw new Error("empty sheet name");return/[^\w\u4E00-\u9FFF\u3040-\u30FF]/.test(e)?"'"+e+"'":e}(n,a)}function Hv(e,t,a,n,r){var s,i,o,l,c=r&&r.biff||8,u={s:{c:0,r:0}},d=[],h=0,p=0,f="";if(!e[0]||!e[0][0])return"";for(var m=-1,g="",y=0,v=e[0].length;y=0){switch(e[0][m][1][0]){case 0:g=jd(" ",e[0][m][1][1]);break;case 1:g=jd("\r",e[0][m][1][1]);break;default:if(g="",r.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}i+=g,m=-1}d.push(i+Lv[b[0]]+s);break;case"PtgIsect":s=d.pop(),i=d.pop(),d.push(i+" "+s);break;case"PtgUnion":s=d.pop(),i=d.pop(),d.push(i+","+s);break;case"PtgRange":s=d.pop(),i=d.pop(),d.push(i+":"+s);break;case"PtgAttrChoose":case"PtgAttrGoto":case"PtgAttrIf":case"PtgAttrIfError":case"PtgAttrBaxcel":case"PtgAttrSemi":case"PtgMemArea":case"PtgTbl":case"PtgMemErr":case"PtgMemAreaN":case"PtgMemNoMemN":case"PtgAttrNoop":case"PtgSheet":case"PtgEndSheet":case"PtgMemFunc":case"PtgMemNoMem":break;case"PtgRef":o=Yp(b[1][1],u,r),d.push(Wp(o,c));break;case"PtgRefN":o=a?Yp(b[1][1],a,r):b[1][1],d.push(Wp(o,c));break;case"PtgRef3d":h=b[1][1],o=Yp(b[1][2],u,r),f=zv(n,h,r),d.push(f+"!"+Wp(o,c));break;case"PtgFunc":case"PtgFuncVar":var w=b[1][0],x=b[1][1];w||(w=0);var k=0==(w&=127)?[]:d.slice(-w);d.length-=w,"User"===x&&(x=k.shift()),d.push(x+"("+k.join(",")+")");break;case"PtgBool":d.push(b[1]?"TRUE":"FALSE");break;case"PtgInt":case"PtgErr":d.push(b[1]);break;case"PtgNum":d.push(String(b[1]));break;case"PtgStr":d.push('"'+b[1].replace(/"/g,'""')+'"');break;case"PtgAreaN":l=Gp(b[1][1],a?{s:a}:u,r),d.push(Vp(l,r));break;case"PtgArea":l=Gp(b[1][1],u,r),d.push(Vp(l,r));break;case"PtgArea3d":h=b[1][1],l=b[1][2],f=zv(n,h,r),d.push(f+"!"+Vp(l,r));break;case"PtgAttrSum":d.push("SUM("+d.pop()+")");break;case"PtgName":p=b[1][2];var _=(n.names||[])[p-1]||(n[0]||[])[p],E=_?_.Name:"SH33TJSNAME"+String(p);E&&"_xlfn."==E.slice(0,6)&&!r.xlfn&&(E=E.slice(6)),d.push(E);break;case"PtgNameX":var C,F=b[1][1];if(p=b[1][2],!(r.biff<=5)){var D="";if(14849==((n[F]||[])[0]||[])[0]||(1025==((n[F]||[])[0]||[])[0]?n[F][p]&&n[F][p].itab>0&&(D=n.SheetNames[n[F][p].itab-1]+"!"):D=n.SheetNames[p-1]+"!"),n[F]&&n[F][p])D+=n[F][p].Name;else if(n[0]&&n[0][p])D+=n[0][p].Name;else{var A=(Rv(n,F,r)||"").split(";;");A[p-1]?D=A[p-1]:D+="SH33TJSERRX"}d.push(D);break}F<0&&(F=-F),n[F]&&(C=n[F][p]),C||(C={Name:"SH33TJSERRY"}),d.push(C.Name);break;case"PtgParen":var T="(",S=")";if(m>=0){switch(g="",e[0][m][1][0]){case 2:T=jd(" ",e[0][m][1][1])+T;break;case 3:T=jd("\r",e[0][m][1][1])+T;break;case 4:S=jd(" ",e[0][m][1][1])+S;break;case 5:S=jd("\r",e[0][m][1][1])+S;break;default:if(r.WTF)throw new Error("Unexpected PtgAttrSpaceType "+e[0][m][1][0])}m=-1}d.push(T+d.pop()+S);break;case"PtgRefErr":case"PtgRefErr3d":case"PtgAreaErr":case"PtgAreaErr3d":d.push("#REF!");break;case"PtgExp":o={c:b[1][1],r:b[1][0]};var I={c:a.c,r:a.r};if(n.sharedf[Qp(o)]){var N=n.sharedf[Qp(o)];d.push(Hv(N,u,I,n,r))}else{var P=!1;for(s=0;s!=n.arrayf.length;++s)if(i=n.arrayf[s],!(o.ci[0].e.c||o.ri[0].e.r)){d.push(Hv(i[1],u,I,n,r)),P=!0;break}P||d.push(b[1])}break;case"PtgArray":d.push("{"+jv(b[1])+"}");break;case"PtgAttrSpace":case"PtgAttrSpaceSemi":m=y;break;case"PtgMissArg":d.push("");break;case"PtgList":d.push("Table"+b[1].idx+"[#"+b[1].rt+"]");break;case"PtgElfCol":case"PtgElfColS":case"PtgElfColSV":case"PtgElfColV":case"PtgElfLel":case"PtgElfRadical":case"PtgElfRadicalLel":case"PtgElfRadicalS":case"PtgElfRw":case"PtgElfRwV":throw new Error("Unsupported ELFs");default:throw new Error("Unrecognized Formula Token: "+String(b))}if(3!=r.biff&&m>=0&&-1==["PtgAttrSpace","PtgAttrSpaceSemi","PtgAttrGoto"].indexOf(e[0][y][0])){var B=!0;switch((b=e[0][m])[1][0]){case 4:B=!1;case 0:g=jd(" ",b[1][1]);break;case 5:B=!1;case 1:g=jd("\r",b[1][1]);break;default:if(g="",r.WTF)throw new Error("Unexpected PtgAttrSpaceType "+b[1][0])}d.push((B?g:"")+d.pop()+(B?"":g)),m=-1}}if(d.length>1&&r.WTF)throw new Error("bad formula stack");return d[0]}function $v(e,t,a){var n,r=e.l+t,s=2==a.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Lp(e,t-2)];var o=Uv(e,i,a);return t!==i+s&&(n=Ov(e,t-i-s,o,a)),e.l=r,[o,n]}function Yv(e,t,a){var n,r=e.l+t,s=e.read_shift(2),i=Uv(e,s,a);return 65535==s?[[],Lp(e,t-2)]:(t!==s+2&&(n=Ov(e,r-s-2,i,a)),[i,n])}function Gv(e,t,a){var n=e.l+t,r=Qm(e);2==a.biff&&++e.l;var s=function(e){var t;if(65535!==Dp(e,e.l+6))return[Nf(e),"n"];switch(e[e.l]){case 0:return e.l+=8,["String","s"];case 1:return t=1===e[e.l+2],e.l+=8,[t,"b"];case 2:return t=e[e.l+2],e.l+=8,[t,"e"];case 3:return e.l+=8,["","s"]}return[]}(e),i=e.read_shift(1);2!=a.biff&&(e.read_shift(1),a.biff>=5&&e.read_shift(4));var o=function(e,t,a){var n,r=e.l+t,s=2==a.biff?1:2,i=e.read_shift(s);if(65535==i)return[[],Lp(e,t-2)];var o=Uv(e,i,a);return t!==i+s&&(n=Ov(e,t-i-s,o,a)),e.l=r,[o,n]}(e,n-e.l,a);return{cell:r,val:s[0],formula:o,shared:i>>3&1,tt:s[1]}}function Wv(e,t,a,n,r){var s=eg(t,a,r),i=function(e){if(null==e){var t=Rp(8);return t.write_shift(1,3),t.write_shift(1,0),t.write_shift(2,0),t.write_shift(2,0),t.write_shift(2,65535),t}return Pf("number"==typeof e?e:0)}(e.v),o=Rp(6);o.write_shift(2,33),o.write_shift(4,0);for(var l=Rp(e.bf.length),c=0;c0?Ov(e,s,r,a):null]}var Kv=Vv,Jv=Vv,qv=Vv,Zv=Vv,Xv={0:"BEEP",1:"OPEN",2:"OPEN.LINKS",3:"CLOSE.ALL",4:"SAVE",5:"SAVE.AS",6:"FILE.DELETE",7:"PAGE.SETUP",8:"PRINT",9:"PRINTER.SETUP",10:"QUIT",11:"NEW.WINDOW",12:"ARRANGE.ALL",13:"WINDOW.SIZE",14:"WINDOW.MOVE",15:"FULL",16:"CLOSE",17:"RUN",22:"SET.PRINT.AREA",23:"SET.PRINT.TITLES",24:"SET.PAGE.BREAK",25:"REMOVE.PAGE.BREAK",26:"FONT",27:"DISPLAY",28:"PROTECT.DOCUMENT",29:"PRECISION",30:"A1.R1C1",31:"CALCULATE.NOW",32:"CALCULATION",34:"DATA.FIND",35:"EXTRACT",36:"DATA.DELETE",37:"SET.DATABASE",38:"SET.CRITERIA",39:"SORT",40:"DATA.SERIES",41:"TABLE",42:"FORMAT.NUMBER",43:"ALIGNMENT",44:"STYLE",45:"BORDER",46:"CELL.PROTECTION",47:"COLUMN.WIDTH",48:"UNDO",49:"CUT",50:"COPY",51:"PASTE",52:"CLEAR",53:"PASTE.SPECIAL",54:"EDIT.DELETE",55:"INSERT",56:"FILL.RIGHT",57:"FILL.DOWN",61:"DEFINE.NAME",62:"CREATE.NAMES",63:"FORMULA.GOTO",64:"FORMULA.FIND",65:"SELECT.LAST.CELL",66:"SHOW.ACTIVE.CELL",67:"GALLERY.AREA",68:"GALLERY.BAR",69:"GALLERY.COLUMN",70:"GALLERY.LINE",71:"GALLERY.PIE",72:"GALLERY.SCATTER",73:"COMBINATION",74:"PREFERRED",75:"ADD.OVERLAY",76:"GRIDLINES",77:"SET.PREFERRED",78:"AXES",79:"LEGEND",80:"ATTACH.TEXT",81:"ADD.ARROW",82:"SELECT.CHART",83:"SELECT.PLOT.AREA",84:"PATTERNS",85:"MAIN.CHART",86:"OVERLAY",87:"SCALE",88:"FORMAT.LEGEND",89:"FORMAT.TEXT",90:"EDIT.REPEAT",91:"PARSE",92:"JUSTIFY",93:"HIDE",94:"UNHIDE",95:"WORKSPACE",96:"FORMULA",97:"FORMULA.FILL",98:"FORMULA.ARRAY",99:"DATA.FIND.NEXT",100:"DATA.FIND.PREV",101:"FORMULA.FIND.NEXT",102:"FORMULA.FIND.PREV",103:"ACTIVATE",104:"ACTIVATE.NEXT",105:"ACTIVATE.PREV",106:"UNLOCKED.NEXT",107:"UNLOCKED.PREV",108:"COPY.PICTURE",109:"SELECT",110:"DELETE.NAME",111:"DELETE.FORMAT",112:"VLINE",113:"HLINE",114:"VPAGE",115:"HPAGE",116:"VSCROLL",117:"HSCROLL",118:"ALERT",119:"NEW",120:"CANCEL.COPY",121:"SHOW.CLIPBOARD",122:"MESSAGE",124:"PASTE.LINK",125:"APP.ACTIVATE",126:"DELETE.ARROW",127:"ROW.HEIGHT",128:"FORMAT.MOVE",129:"FORMAT.SIZE",130:"FORMULA.REPLACE",131:"SEND.KEYS",132:"SELECT.SPECIAL",133:"APPLY.NAMES",134:"REPLACE.FONT",135:"FREEZE.PANES",136:"SHOW.INFO",137:"SPLIT",138:"ON.WINDOW",139:"ON.DATA",140:"DISABLE.INPUT",142:"OUTLINE",143:"LIST.NAMES",144:"FILE.CLOSE",145:"SAVE.WORKBOOK",146:"DATA.FORM",147:"COPY.CHART",148:"ON.TIME",149:"WAIT",150:"FORMAT.FONT",151:"FILL.UP",152:"FILL.LEFT",153:"DELETE.OVERLAY",155:"SHORT.MENUS",159:"SET.UPDATE.STATUS",161:"COLOR.PALETTE",162:"DELETE.STYLE",163:"WINDOW.RESTORE",164:"WINDOW.MAXIMIZE",166:"CHANGE.LINK",167:"CALCULATE.DOCUMENT",168:"ON.KEY",169:"APP.RESTORE",170:"APP.MOVE",171:"APP.SIZE",172:"APP.MINIMIZE",173:"APP.MAXIMIZE",174:"BRING.TO.FRONT",175:"SEND.TO.BACK",185:"MAIN.CHART.TYPE",186:"OVERLAY.CHART.TYPE",187:"SELECT.END",188:"OPEN.MAIL",189:"SEND.MAIL",190:"STANDARD.FONT",191:"CONSOLIDATE",192:"SORT.SPECIAL",193:"GALLERY.3D.AREA",194:"GALLERY.3D.COLUMN",195:"GALLERY.3D.LINE",196:"GALLERY.3D.PIE",197:"VIEW.3D",198:"GOAL.SEEK",199:"WORKGROUP",200:"FILL.GROUP",201:"UPDATE.LINK",202:"PROMOTE",203:"DEMOTE",204:"SHOW.DETAIL",206:"UNGROUP",207:"OBJECT.PROPERTIES",208:"SAVE.NEW.OBJECT",209:"SHARE",210:"SHARE.NAME",211:"DUPLICATE",212:"APPLY.STYLE",213:"ASSIGN.TO.OBJECT",214:"OBJECT.PROTECTION",215:"HIDE.OBJECT",216:"SET.EXTRACT",217:"CREATE.PUBLISHER",218:"SUBSCRIBE.TO",219:"ATTRIBUTES",220:"SHOW.TOOLBAR",222:"PRINT.PREVIEW",223:"EDIT.COLOR",224:"SHOW.LEVELS",225:"FORMAT.MAIN",226:"FORMAT.OVERLAY",227:"ON.RECALC",228:"EDIT.SERIES",229:"DEFINE.STYLE",240:"LINE.PRINT",243:"ENTER.DATA",249:"GALLERY.RADAR",250:"MERGE.STYLES",251:"EDITION.OPTIONS",252:"PASTE.PICTURE",253:"PASTE.PICTURE.LINK",254:"SPELLING",256:"ZOOM",259:"INSERT.OBJECT",260:"WINDOW.MINIMIZE",265:"SOUND.NOTE",266:"SOUND.PLAY",267:"FORMAT.SHAPE",268:"EXTEND.POLYGON",269:"FORMAT.AUTO",272:"GALLERY.3D.BAR",273:"GALLERY.3D.SURFACE",274:"FILL.AUTO",276:"CUSTOMIZE.TOOLBAR",277:"ADD.TOOL",278:"EDIT.OBJECT",279:"ON.DOUBLECLICK",280:"ON.ENTRY",281:"WORKBOOK.ADD",282:"WORKBOOK.MOVE",283:"WORKBOOK.COPY",284:"WORKBOOK.OPTIONS",285:"SAVE.WORKSPACE",288:"CHART.WIZARD",289:"DELETE.TOOL",290:"MOVE.TOOL",291:"WORKBOOK.SELECT",292:"WORKBOOK.ACTIVATE",293:"ASSIGN.TO.TOOL",295:"COPY.TOOL",296:"RESET.TOOL",297:"CONSTRAIN.NUMERIC",298:"PASTE.TOOL",302:"WORKBOOK.NEW",305:"SCENARIO.CELLS",306:"SCENARIO.DELETE",307:"SCENARIO.ADD",308:"SCENARIO.EDIT",309:"SCENARIO.SHOW",310:"SCENARIO.SHOW.NEXT",311:"SCENARIO.SUMMARY",312:"PIVOT.TABLE.WIZARD",313:"PIVOT.FIELD.PROPERTIES",314:"PIVOT.FIELD",315:"PIVOT.ITEM",316:"PIVOT.ADD.FIELDS",318:"OPTIONS.CALCULATION",319:"OPTIONS.EDIT",320:"OPTIONS.VIEW",321:"ADDIN.MANAGER",322:"MENU.EDITOR",323:"ATTACH.TOOLBARS",324:"VBAActivate",325:"OPTIONS.CHART",328:"VBA.INSERT.FILE",330:"VBA.PROCEDURE.DEFINITION",336:"ROUTING.SLIP",338:"ROUTE.DOCUMENT",339:"MAIL.LOGON",342:"INSERT.PICTURE",343:"EDIT.TOOL",344:"GALLERY.DOUGHNUT",350:"CHART.TREND",352:"PIVOT.ITEM.PROPERTIES",354:"WORKBOOK.INSERT",355:"OPTIONS.TRANSITION",356:"OPTIONS.GENERAL",370:"FILTER.ADVANCED",373:"MAIL.ADD.MAILER",374:"MAIL.DELETE.MAILER",375:"MAIL.REPLY",376:"MAIL.REPLY.ALL",377:"MAIL.FORWARD",378:"MAIL.NEXT.LETTER",379:"DATA.LABEL",380:"INSERT.TITLE",381:"FONT.PROPERTIES",382:"MACRO.OPTIONS",383:"WORKBOOK.HIDE",384:"WORKBOOK.UNHIDE",385:"WORKBOOK.DELETE",386:"WORKBOOK.NAME",388:"GALLERY.CUSTOM",390:"ADD.CHART.AUTOFORMAT",391:"DELETE.CHART.AUTOFORMAT",392:"CHART.ADD.DATA",393:"AUTO.OUTLINE",394:"TAB.ORDER",395:"SHOW.DIALOG",396:"SELECT.ALL",397:"UNGROUP.SHEETS",398:"SUBTOTAL.CREATE",399:"SUBTOTAL.REMOVE",400:"RENAME.OBJECT",412:"WORKBOOK.SCROLL",413:"WORKBOOK.NEXT",414:"WORKBOOK.PREV",415:"WORKBOOK.TAB.SPLIT",416:"FULL.SCREEN",417:"WORKBOOK.PROTECT",420:"SCROLLBAR.PROPERTIES",421:"PIVOT.SHOW.PAGES",422:"TEXT.TO.COLUMNS",423:"FORMAT.CHARTTYPE",424:"LINK.FORMAT",425:"TRACER.DISPLAY",430:"TRACER.NAVIGATE",431:"TRACER.CLEAR",432:"TRACER.ERROR",433:"PIVOT.FIELD.GROUP",434:"PIVOT.FIELD.UNGROUP",435:"CHECKBOX.PROPERTIES",436:"LABEL.PROPERTIES",437:"LISTBOX.PROPERTIES",438:"EDITBOX.PROPERTIES",439:"PIVOT.REFRESH",440:"LINK.COMBO",441:"OPEN.TEXT",442:"HIDE.DIALOG",443:"SET.DIALOG.FOCUS",444:"ENABLE.OBJECT",445:"PUSHBUTTON.PROPERTIES",446:"SET.DIALOG.DEFAULT",447:"FILTER",448:"FILTER.SHOW.ALL",449:"CLEAR.OUTLINE",450:"FUNCTION.WIZARD",451:"ADD.LIST.ITEM",452:"SET.LIST.ITEM",453:"REMOVE.LIST.ITEM",454:"SELECT.LIST.ITEM",455:"SET.CONTROL.VALUE",456:"SAVE.COPY.AS",458:"OPTIONS.LISTS.ADD",459:"OPTIONS.LISTS.DELETE",460:"SERIES.AXES",461:"SERIES.X",462:"SERIES.Y",463:"ERRORBAR.X",464:"ERRORBAR.Y",465:"FORMAT.CHART",466:"SERIES.ORDER",467:"MAIL.LOGOFF",468:"CLEAR.ROUTING.SLIP",469:"APP.ACTIVATE.MICROSOFT",470:"MAIL.EDIT.MAILER",471:"ON.SHEET",472:"STANDARD.WIDTH",473:"SCENARIO.MERGE",474:"SUMMARY.INFO",475:"FIND.FILE",476:"ACTIVE.CELL.FONT",477:"ENABLE.TIPWIZARD",478:"VBA.MAKE.ADDIN",480:"INSERTDATATABLE",481:"WORKGROUP.OPTIONS",482:"MAIL.SEND.MAILER",485:"AUTOCORRECT",489:"POST.DOCUMENT",491:"PICKLIST",493:"VIEW.SHOW",494:"VIEW.DEFINE",495:"VIEW.DELETE",509:"SHEET.BACKGROUND",510:"INSERT.MAP.OBJECT",511:"OPTIONS.MENONO",517:"MSOCHECKS",518:"NORMAL",519:"LAYOUT",520:"RM.PRINT.AREA",521:"CLEAR.PRINT.AREA",522:"ADD.PRINT.AREA",523:"MOVE.BRK",545:"HIDECURR.NOTE",546:"HIDEALL.NOTES",547:"DELETE.NOTE",548:"TRAVERSE.NOTES",549:"ACTIVATE.NOTES",620:"PROTECT.REVISIONS",621:"UNPROTECT.REVISIONS",647:"OPTIONS.ME",653:"WEB.PUBLISH",667:"NEWWEBQUERY",673:"PIVOT.TABLE.CHART",753:"OPTIONS.SAVE",755:"OPTIONS.SPELL",808:"HIDEALL.INKANNOTS"},Qv={0:"COUNT",1:"IF",2:"ISNA",3:"ISERROR",4:"SUM",5:"AVERAGE",6:"MIN",7:"MAX",8:"ROW",9:"COLUMN",10:"NA",11:"NPV",12:"STDEV",13:"DOLLAR",14:"FIXED",15:"SIN",16:"COS",17:"TAN",18:"ATAN",19:"PI",20:"SQRT",21:"EXP",22:"LN",23:"LOG10",24:"ABS",25:"INT",26:"SIGN",27:"ROUND",28:"LOOKUP",29:"INDEX",30:"REPT",31:"MID",32:"LEN",33:"VALUE",34:"TRUE",35:"FALSE",36:"AND",37:"OR",38:"NOT",39:"MOD",40:"DCOUNT",41:"DSUM",42:"DAVERAGE",43:"DMIN",44:"DMAX",45:"DSTDEV",46:"VAR",47:"DVAR",48:"TEXT",49:"LINEST",50:"TREND",51:"LOGEST",52:"GROWTH",53:"GOTO",54:"HALT",55:"RETURN",56:"PV",57:"FV",58:"NPER",59:"PMT",60:"RATE",61:"MIRR",62:"IRR",63:"RAND",64:"MATCH",65:"DATE",66:"TIME",67:"DAY",68:"MONTH",69:"YEAR",70:"WEEKDAY",71:"HOUR",72:"MINUTE",73:"SECOND",74:"NOW",75:"AREAS",76:"ROWS",77:"COLUMNS",78:"OFFSET",79:"ABSREF",80:"RELREF",81:"ARGUMENT",82:"SEARCH",83:"TRANSPOSE",84:"ERROR",85:"STEP",86:"TYPE",87:"ECHO",88:"SET.NAME",89:"CALLER",90:"DEREF",91:"WINDOWS",92:"SERIES",93:"DOCUMENTS",94:"ACTIVE.CELL",95:"SELECTION",96:"RESULT",97:"ATAN2",98:"ASIN",99:"ACOS",100:"CHOOSE",101:"HLOOKUP",102:"VLOOKUP",103:"LINKS",104:"INPUT",105:"ISREF",106:"GET.FORMULA",107:"GET.NAME",108:"SET.VALUE",109:"LOG",110:"EXEC",111:"CHAR",112:"LOWER",113:"UPPER",114:"PROPER",115:"LEFT",116:"RIGHT",117:"EXACT",118:"TRIM",119:"REPLACE",120:"SUBSTITUTE",121:"CODE",122:"NAMES",123:"DIRECTORY",124:"FIND",125:"CELL",126:"ISERR",127:"ISTEXT",128:"ISNUMBER",129:"ISBLANK",130:"T",131:"N",132:"FOPEN",133:"FCLOSE",134:"FSIZE",135:"FREADLN",136:"FREAD",137:"FWRITELN",138:"FWRITE",139:"FPOS",140:"DATEVALUE",141:"TIMEVALUE",142:"SLN",143:"SYD",144:"DDB",145:"GET.DEF",146:"REFTEXT",147:"TEXTREF",148:"INDIRECT",149:"REGISTER",150:"CALL",151:"ADD.BAR",152:"ADD.MENU",153:"ADD.COMMAND",154:"ENABLE.COMMAND",155:"CHECK.COMMAND",156:"RENAME.COMMAND",157:"SHOW.BAR",158:"DELETE.MENU",159:"DELETE.COMMAND",160:"GET.CHART.ITEM",161:"DIALOG.BOX",162:"CLEAN",163:"MDETERM",164:"MINVERSE",165:"MMULT",166:"FILES",167:"IPMT",168:"PPMT",169:"COUNTA",170:"CANCEL.KEY",171:"FOR",172:"WHILE",173:"BREAK",174:"NEXT",175:"INITIATE",176:"REQUEST",177:"POKE",178:"EXECUTE",179:"TERMINATE",180:"RESTART",181:"HELP",182:"GET.BAR",183:"PRODUCT",184:"FACT",185:"GET.CELL",186:"GET.WORKSPACE",187:"GET.WINDOW",188:"GET.DOCUMENT",189:"DPRODUCT",190:"ISNONTEXT",191:"GET.NOTE",192:"NOTE",193:"STDEVP",194:"VARP",195:"DSTDEVP",196:"DVARP",197:"TRUNC",198:"ISLOGICAL",199:"DCOUNTA",200:"DELETE.BAR",201:"UNREGISTER",204:"USDOLLAR",205:"FINDB",206:"SEARCHB",207:"REPLACEB",208:"LEFTB",209:"RIGHTB",210:"MIDB",211:"LENB",212:"ROUNDUP",213:"ROUNDDOWN",214:"ASC",215:"DBCS",216:"RANK",219:"ADDRESS",220:"DAYS360",221:"TODAY",222:"VDB",223:"ELSE",224:"ELSE.IF",225:"END.IF",226:"FOR.CELL",227:"MEDIAN",228:"SUMPRODUCT",229:"SINH",230:"COSH",231:"TANH",232:"ASINH",233:"ACOSH",234:"ATANH",235:"DGET",236:"CREATE.OBJECT",237:"VOLATILE",238:"LAST.ERROR",239:"CUSTOM.UNDO",240:"CUSTOM.REPEAT",241:"FORMULA.CONVERT",242:"GET.LINK.INFO",243:"TEXT.BOX",244:"INFO",245:"GROUP",246:"GET.OBJECT",247:"DB",248:"PAUSE",251:"RESUME",252:"FREQUENCY",253:"ADD.TOOLBAR",254:"DELETE.TOOLBAR",255:"User",256:"RESET.TOOLBAR",257:"EVALUATE",258:"GET.TOOLBAR",259:"GET.TOOL",260:"SPELLING.CHECK",261:"ERROR.TYPE",262:"APP.TITLE",263:"WINDOW.TITLE",264:"SAVE.TOOLBAR",265:"ENABLE.TOOL",266:"PRESS.TOOL",267:"REGISTER.ID",268:"GET.WORKBOOK",269:"AVEDEV",270:"BETADIST",271:"GAMMALN",272:"BETAINV",273:"BINOMDIST",274:"CHIDIST",275:"CHIINV",276:"COMBIN",277:"CONFIDENCE",278:"CRITBINOM",279:"EVEN",280:"EXPONDIST",281:"FDIST",282:"FINV",283:"FISHER",284:"FISHERINV",285:"FLOOR",286:"GAMMADIST",287:"GAMMAINV",288:"CEILING",289:"HYPGEOMDIST",290:"LOGNORMDIST",291:"LOGINV",292:"NEGBINOMDIST",293:"NORMDIST",294:"NORMSDIST",295:"NORMINV",296:"NORMSINV",297:"STANDARDIZE",298:"ODD",299:"PERMUT",300:"POISSON",301:"TDIST",302:"WEIBULL",303:"SUMXMY2",304:"SUMX2MY2",305:"SUMX2PY2",306:"CHITEST",307:"CORREL",308:"COVAR",309:"FORECAST",310:"FTEST",311:"INTERCEPT",312:"PEARSON",313:"RSQ",314:"STEYX",315:"SLOPE",316:"TTEST",317:"PROB",318:"DEVSQ",319:"GEOMEAN",320:"HARMEAN",321:"SUMSQ",322:"KURT",323:"SKEW",324:"ZTEST",325:"LARGE",326:"SMALL",327:"QUARTILE",328:"PERCENTILE",329:"PERCENTRANK",330:"MODE",331:"TRIMMEAN",332:"TINV",334:"MOVIE.COMMAND",335:"GET.MOVIE",336:"CONCATENATE",337:"POWER",338:"PIVOT.ADD.DATA",339:"GET.PIVOT.TABLE",340:"GET.PIVOT.FIELD",341:"GET.PIVOT.ITEM",342:"RADIANS",343:"DEGREES",344:"SUBTOTAL",345:"SUMIF",346:"COUNTIF",347:"COUNTBLANK",348:"SCENARIO.GET",349:"OPTIONS.LISTS.GET",350:"ISPMT",351:"DATEDIF",352:"DATESTRING",353:"NUMBERSTRING",354:"ROMAN",355:"OPEN.DIALOG",356:"SAVE.DIALOG",357:"VIEW.GET",358:"GETPIVOTDATA",359:"HYPERLINK",360:"PHONETIC",361:"AVERAGEA",362:"MAXA",363:"MINA",364:"STDEVPA",365:"VARPA",366:"STDEVA",367:"VARA",368:"BAHTTEXT",369:"THAIDAYOFWEEK",370:"THAIDIGIT",371:"THAIMONTHOFYEAR",372:"THAINUMSOUND",373:"THAINUMSTRING",374:"THAISTRINGLENGTH",375:"ISTHAIDIGIT",376:"ROUNDBAHTDOWN",377:"ROUNDBAHTUP",378:"THAIYEAR",379:"RTD",380:"CUBEVALUE",381:"CUBEMEMBER",382:"CUBEMEMBERPROPERTY",383:"CUBERANKEDMEMBER",384:"HEX2BIN",385:"HEX2DEC",386:"HEX2OCT",387:"DEC2BIN",388:"DEC2HEX",389:"DEC2OCT",390:"OCT2BIN",391:"OCT2HEX",392:"OCT2DEC",393:"BIN2DEC",394:"BIN2OCT",395:"BIN2HEX",396:"IMSUB",397:"IMDIV",398:"IMPOWER",399:"IMABS",400:"IMSQRT",401:"IMLN",402:"IMLOG2",403:"IMLOG10",404:"IMSIN",405:"IMCOS",406:"IMEXP",407:"IMARGUMENT",408:"IMCONJUGATE",409:"IMAGINARY",410:"IMREAL",411:"COMPLEX",412:"IMSUM",413:"IMPRODUCT",414:"SERIESSUM",415:"FACTDOUBLE",416:"SQRTPI",417:"QUOTIENT",418:"DELTA",419:"GESTEP",420:"ISEVEN",421:"ISODD",422:"MROUND",423:"ERF",424:"ERFC",425:"BESSELJ",426:"BESSELK",427:"BESSELY",428:"BESSELI",429:"XIRR",430:"XNPV",431:"PRICEMAT",432:"YIELDMAT",433:"INTRATE",434:"RECEIVED",435:"DISC",436:"PRICEDISC",437:"YIELDDISC",438:"TBILLEQ",439:"TBILLPRICE",440:"TBILLYIELD",441:"PRICE",442:"YIELD",443:"DOLLARDE",444:"DOLLARFR",445:"NOMINAL",446:"EFFECT",447:"CUMPRINC",448:"CUMIPMT",449:"EDATE",450:"EOMONTH",451:"YEARFRAC",452:"COUPDAYBS",453:"COUPDAYS",454:"COUPDAYSNC",455:"COUPNCD",456:"COUPNUM",457:"COUPPCD",458:"DURATION",459:"MDURATION",460:"ODDLPRICE",461:"ODDLYIELD",462:"ODDFPRICE",463:"ODDFYIELD",464:"RANDBETWEEN",465:"WEEKNUM",466:"AMORDEGRC",467:"AMORLINC",468:"CONVERT",724:"SHEETJS",469:"ACCRINT",470:"ACCRINTM",471:"WORKDAY",472:"NETWORKDAYS",473:"GCD",474:"MULTINOMIAL",475:"LCM",476:"FVSCHEDULE",477:"CUBEKPIMEMBER",478:"CUBESET",479:"CUBESETCOUNT",480:"IFERROR",481:"COUNTIFS",482:"SUMIFS",483:"AVERAGEIF",484:"AVERAGEIFS"},eb={2:1,3:1,10:0,15:1,16:1,17:1,18:1,19:0,20:1,21:1,22:1,23:1,24:1,25:1,26:1,27:2,30:2,31:3,32:1,33:1,34:0,35:0,38:1,39:2,40:3,41:3,42:3,43:3,44:3,45:3,47:3,48:2,53:1,61:3,63:0,65:3,66:3,67:1,68:1,69:1,70:1,71:1,72:1,73:1,74:0,75:1,76:1,77:1,79:2,80:2,83:1,85:0,86:1,89:0,90:1,94:0,95:0,97:2,98:1,99:1,101:3,102:3,105:1,106:1,108:2,111:1,112:1,113:1,114:1,117:2,118:1,119:4,121:1,126:1,127:1,128:1,129:1,130:1,131:1,133:1,134:1,135:1,136:2,137:2,138:2,140:1,141:1,142:3,143:4,144:4,161:1,162:1,163:1,164:1,165:2,172:1,175:2,176:2,177:3,178:2,179:1,184:1,186:1,189:3,190:1,195:3,196:3,197:1,198:1,199:3,201:1,207:4,210:3,211:1,212:2,213:2,214:1,215:1,225:0,229:1,230:1,231:1,232:1,233:1,234:1,235:3,244:1,247:4,252:2,257:1,261:1,271:1,273:4,274:2,275:2,276:2,277:3,278:3,279:1,280:3,281:3,282:3,283:1,284:1,285:2,286:4,287:3,288:2,289:4,290:3,291:3,292:3,293:4,294:1,295:3,296:1,297:3,298:1,299:2,300:3,301:3,302:4,303:2,304:2,305:2,306:2,307:2,308:2,309:3,310:2,311:2,312:2,313:2,314:2,315:2,316:4,325:2,326:2,327:2,328:2,331:2,332:2,337:2,342:1,343:1,346:2,347:1,350:4,351:3,352:1,353:2,360:1,368:1,369:1,370:1,371:1,372:1,373:1,374:1,375:1,376:1,377:1,378:1,382:3,385:1,392:1,393:1,396:2,397:2,398:2,399:1,400:1,401:1,402:1,403:1,404:1,405:1,406:1,407:1,408:1,409:1,410:1,414:4,415:1,416:1,417:2,420:1,421:1,422:2,424:1,425:2,426:2,427:2,428:2,430:3,438:3,439:3,440:3,443:2,444:2,445:2,446:2,447:6,448:6,449:2,450:2,464:2,468:3,476:2,479:1,480:2,65535:0};function tb(e){return"of:"==e.slice(0,3)&&(e=e.slice(3)),61==e.charCodeAt(0)&&61==(e=e.slice(1)).charCodeAt(0)&&(e=e.slice(1)),(e=(e=(e=e.replace(/COM\.MICROSOFT\./g,"")).replace(/\[((?:\.[A-Z]+[0-9]+)(?::\.[A-Z]+[0-9]+)?)\]/g,function(e,t){return t.replace(/\./g,"")})).replace(/\[.(#[A-Z]*[?!])\]/g,"$1")).replace(/[;~]/g,",").replace(/\|/g,";")}function ab(e){return("of:="+e.replace(hv,"$1[.$2$3$4$5]").replace(/\]:\[/g,":")).replace(/;/g,"|").replace(/,/g,";")}function nb(e){var t=e.split(":");return[t[0].split(".")[0],t[0].split(".")[1]+(t.length>1?":"+(t[1].split(".")[1]||t[1].split(".")[0]):"")]}function rb(e){return e.replace(/\./,"!")}var sb={},ib={},ob="undefined"!=typeof Map;function lb(e,t,a){var n=0,r=e.length;if(a){if(ob?a.has(t):Object.prototype.hasOwnProperty.call(a,t))for(var s=ob?a.get(t):a[t];n-1?(a.width=yy(n),a.customWidth=1):null!=t.width&&(a.width=t.width),t.hidden&&(a.hidden=!0),null!=t.level&&(a.outlineLevel=a.level=t.level),a}function ub(e,t){if(e){var a=[.7,.7,.75,.75,.3,.3];"xlml"==t&&(a=[1,1,1,1,.5,.5]),null==e.left&&(e.left=a[0]),null==e.right&&(e.right=a[1]),null==e.top&&(e.top=a[2]),null==e.bottom&&(e.bottom=a[3]),null==e.header&&(e.header=a[4]),null==e.footer&&(e.footer=a[5])}}function db(e,t,a){var n=a.revssf[null!=t.z?t.z:"General"],r=60,s=e.length;if(null==n&&a.ssf)for(;r<392;++r)if(null==a.ssf[r]){hd(t.z,r),a.ssf[r]=t.z,a.revssf[t.z]=n=r;break}for(r=0;r!=s;++r)if(e[r].numFmtId===n)return r;return e[s]={numFmtId:n,fontId:0,fillId:0,borderId:0,xfId:0,applyNumberFormat:1},s}function hb(e,t,a,n,r,s){try{n.cellNF&&(e.z=Pu[t])}catch(mB){if(n.WTF)throw mB}if("z"!==e.t||n.cellStyles){if("d"===e.t&&"string"==typeof e.v&&(e.v=Md(e.v)),(!n||!1!==n.cellText)&&"z"!==e.t)try{if(null==Pu[t]&&hd(md[t]||"General",t),"e"===e.t)e.w=e.w||Yf[e.v];else if(0===t)if("n"===e.t)(0|e.v)===e.v?e.w=e.v.toString(10):e.w=$u(e.v);else if("d"===e.t){var i=Fd(e.v);e.w=(0|i)===i?i.toString(10):$u(i)}else{if(void 0===e.v)return"";e.w=Yu(e.v,ib)}else"d"===e.t?e.w=dd(t,Fd(e.v),ib):e.w=dd(t,e.v,ib)}catch(mB){if(n.WTF)throw mB}if(n.cellStyles&&null!=a)try{e.s=s.Fills[a],e.s.fgColor&&e.s.fgColor.theme&&!e.s.fgColor.rgb&&(e.s.fgColor.rgb=py(r.themeElements.clrScheme[e.s.fgColor.theme].rgb,e.s.fgColor.tint||0),n.WTF&&(e.s.fgColor.raw_rgb=r.themeElements.clrScheme[e.s.fgColor.theme].rgb)),e.s.bgColor&&e.s.bgColor.theme&&(e.s.bgColor.rgb=py(r.themeElements.clrScheme[e.s.bgColor.theme].rgb,e.s.bgColor.tint||0),n.WTF&&(e.s.bgColor.raw_rgb=r.themeElements.clrScheme[e.s.bgColor.theme].rgb))}catch(mB){if(n.WTF&&s.Fills)throw mB}}}function pb(e,t,a){if(e&&e["!ref"]){var n=af(e["!ref"]);if(n.e.c/g,mb=/<(?:\w+:)?sheetData[^>]*>([\s\S]*)<\/(?:\w+:)?sheetData>/,gb=/<(?:\w:)?hyperlink [^>]*>/gm,yb=/"(\w*:\w*)"/,vb=/<(?:\w:)?col\b[^>]*[\/]?>/g,bb=/<(?:\w:)?autoFilter[^>]*([\/]|>([\s\S]*)<\/(?:\w:)?autoFilter)>/g,wb=/<(?:\w:)?pageMargins[^>]*\/>/g,xb=/<(?:\w:)?sheetPr\b(?:[^>a-z][^>]*)?\/>/,kb=/<(?:\w:)?sheetPr[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetPr)>/,_b=/<(?:\w:)?sheetViews[^>]*(?:[\/]|>([\s\S]*)<\/(?:\w:)?sheetViews)>/;function Eb(e,t,a,n,r,s,i){if(!e)return e;n||(n={"!id":{}});var o=t.dense?[]:{},l={s:{r:2e6,c:2e6},e:{r:0,c:0}},c="",u="",d=e.match(mb);d?(c=e.slice(0,d.index),u=e.slice(d.index+d[0].length)):c=u=e;var h=c.match(xb);h?Cb(h[0],o,r,a):(h=c.match(kb))&&function(e,t,a,n,r){Cb(e.slice(0,e.indexOf(">")),a,n,r)}(h[0],h[1],o,r,a);var p=(c.match(/<(?:\w*:)?dimension/)||{index:-1}).index;if(p>0){var f=c.slice(p,p+50).match(yb);f&&function(e,t){var a=af(t);a.s.r<=a.e.r&&a.s.c<=a.e.c&&a.s.r>=0&&a.s.c>=0&&(e["!ref"]=tf(a))}(o,f[1])}var m=c.match(_b);m&&m[1]&&function(e,t){t.Views||(t.Views=[{}]);(e.match(Ab)||[]).forEach(function(e,a){var n=ih(e);t.Views[a]||(t.Views[a]={}),+n.zoomScale&&(t.Views[a].zoom=+n.zoomScale),vh(n.rightToLeft)&&(t.Views[a].RTL=!0)})}(m[1],r);var g=[];if(t.cellStyles){var y=c.match(vb);y&&function(e,t){for(var a=!1,n=0;n!=t.length;++n){var r=ih(t[n],!0);r.hidden&&(r.hidden=vh(r.hidden));var s=parseInt(r.min,10)-1,i=parseInt(r.max,10)-1;for(r.outlineLevel&&(r.level=+r.outlineLevel||0),delete r.min,delete r.max,r.width=+r.width,!a&&r.width&&(a=!0,by(r.width)),wy(r);s<=i;)e[s++]=Ud(r)}}(g,y)}d&&Sb(d[1],o,t,l,s,i);var v=u.match(bb);v&&(o["!autofilter"]=function(e){var t={ref:(e.match(/ref="([^"]*)"/)||[])[1]};return t}(v[0]));var b=[],w=u.match(fb);if(w)for(p=0;p!=w.length;++p)b[p]=af(w[p].slice(w[p].indexOf('"')+1));var x=u.match(gb);x&&function(e,t,a){for(var n=Array.isArray(e),r=0;r!=t.length;++r){var s=ih(_h(t[r]),!0);if(!s.ref)return;var i=((a||{})["!id"]||[])[s.id];i?(s.Target=i.Target,s.location&&(s.Target+="#"+uh(s.location))):(s.Target="#"+uh(s.location),i={Target:s.Target,TargetMode:"Internal"}),s.Rel=i,s.tooltip&&(s.Tooltip=s.tooltip,delete s.tooltip);for(var o=af(s.ref),l=o.s.r;l<=o.e.r;++l)for(var c=o.s.c;c<=o.e.c;++c){var u=Qp({c:c,r:l});n?(e[l]||(e[l]=[]),e[l][c]||(e[l][c]={t:"z",v:void 0}),e[l][c].l=s):(e[u]||(e[u]={t:"z",v:void 0}),e[u].l=s)}}}(o,x,n);var k,_,E=u.match(wb);if(E&&(o["!margins"]=(k=ih(E[0]),_={},["left","right","top","bottom","header","footer"].forEach(function(e){k[e]&&(_[e]=parseFloat(k[e]))}),_)),!o["!ref"]&&l.e.c>=l.s.c&&l.e.r>=l.s.r&&(o["!ref"]=tf(l)),t.sheetRows>0&&o["!ref"]){var C=af(o["!ref"]);t.sheetRows<=+C.e.r&&(C.e.r=t.sheetRows-1,C.e.r>l.e.r&&(C.e.r=l.e.r),C.e.rl.e.c&&(C.e.c=l.e.c),C.e.c0&&(o["!cols"]=g),b.length>0&&(o["!merges"]=b),o}function Cb(e,t,a,n){var r=ih(e);a.Sheets[n]||(a.Sheets[n]={}),r.codeName&&(a.Sheets[n].CodeName=uh(_h(r.codeName)))}var Fb=["objects","scenarios","selectLockedCells","selectUnlockedCells"],Db=["formatColumns","formatRows","formatCells","insertColumns","insertRows","insertHyperlinks","deleteColumns","deleteRows","sort","autoFilter","pivotTables"];var Ab=/<(?:\w:)?sheetView(?:[^>a-z][^>]*)?\/?>/;function Tb(e,t,a,n){if(e.c&&a["!comments"].push([t,e.c]),void 0===e.v&&"string"!=typeof e.f||"z"===e.t&&!e.f)return"";var r="",s=e.t,i=e.v;if("z"!==e.t)switch(e.t){case"b":r=e.v?"1":"0";break;case"n":r=""+e.v;break;case"e":r=Yf[e.v];break;case"d":n&&n.cellDates?r=Md(e.v,-1).toISOString():((e=Ud(e)).t="n",r=""+(e.v=Fd(Md(e.v)))),void 0===e.z&&(e.z=Pu[14]);break;default:r=e.v}var o=Nh("v",ph(r)),l={r:t},c=db(n.cellXfs,e,n);switch(0!==c&&(l.s=c),e.t){case"n":case"z":break;case"d":l.t="d";break;case"b":l.t="b";break;case"e":l.t="e";break;default:if(null==e.v){delete e.t;break}if(e.v.length>32767)throw new Error("Text length must not exceed 32767 characters");if(n&&n.bookSST){o=Nh("v",""+lb(n.Strings,e.v,n.revStrings)),l.t="s";break}l.t="str"}if(e.t!=s&&(e.t=s,e.v=i),"string"==typeof e.f&&e.f){var u=e.F&&e.F.slice(0,t.length)==t?{t:"array",ref:e.F}:null;o=Bh("f",ph(e.f),u)+(null!=e.v?o:"")}return e.l&&a["!links"].push([t,e.l]),e.D&&(l.cm=1),Bh("c",o,l)}var Sb=function(){var e=/<(?:\w+:)?c[ \/>]/,t=/<\/(?:\w+:)?row>/,a=/r=["']([^"']*)["']/,n=/<(?:\w+:)?is>([\S\s]*?)<\/(?:\w+:)?is>/,r=/ref=["']([^"']*)["']/,s=Ch("v"),i=Ch("f");return function(o,l,c,u,d,h){for(var p,f,m,g,y,v=0,b="",w=[],x=[],k=0,_=0,E=0,C="",F=0,D=0,A=0,T=0,S=Array.isArray(h.CellXf),I=[],N=[],P=Array.isArray(l),B=[],M={},O=!1,U=!!c.sheetStubs,j=o.split(t),L=0,R=j.length;L!=R;++L){var z=(b=j[L].trim()).length;if(0!==z){var H=0;e:for(v=0;v":if("/"!=b[v-1]){++v;break e}if(c&&c.cellStyles){if(F=null!=(f=ih(b.slice(H,v),!0)).r?parseInt(f.r,10):F+1,D=-1,c.sheetRows&&c.sheetRows=v)break;if(F=null!=(f=ih(b.slice(H,v),!0)).r?parseInt(f.r,10):F+1,D=-1,!(c.sheetRows&&c.sheetRowsF-1&&(u.s.r=F-1),u.e.r":"")+b,null!=x&&2===x.length){for(k=0,C=x[1],_=0;_!=C.length&&!((E=C.charCodeAt(_)-64)<1||E>26);++_)k=26*k+E;D=--k}else++D;for(_=0;_!=b.length&&62!==b.charCodeAt(_);++_);if(++_,(f=ih(b.slice(0,_),!0)).r||(f.r=Qp({r:F-1,c:D})),p={t:""},null!=(x=(C=b.slice(_)).match(s))&&""!==x[1]&&(p.v=uh(x[1])),c.cellFormula){if(null!=(x=C.match(i))&&""!==x[1]){if(p.f=uh(_h(x[1])).replace(/\r\n/g,"\n"),c.xlfn||(p.f=gv(p.f)),x[0].indexOf('t="array"')>-1)p.F=(C.match(r)||[])[1],p.F.indexOf(":")>-1&&I.push([af(p.F),p.F]);else if(x[0].indexOf('t="shared"')>-1){g=ih(x[0]);var Y=uh(_h(x[1]));c.xlfn||(Y=gv(Y)),N[parseInt(g.si,10)]=[g,Y,f.r]}}else(x=C.match(/]*\/>/))&&N[(g=ih(x[0])).si]&&(p.f=mv(N[g.si][1],N[g.si][2],f.r));var G=Xp(f.r);for(_=0;_=I[_][0].s.r&&G.r<=I[_][0].e.r&&G.c>=I[_][0].s.c&&G.c<=I[_][0].e.c&&(p.F=I[_][1])}if(null==f.t&&void 0===p.v)if(p.f||p.F)p.v=0,p.t="n";else{if(!U)continue;p.t="z"}else p.t=f.t||"n";switch(u.s.c>D&&(u.s.c=D),u.e.c0&&(l["!rows"]=B)}}();function Ib(e,t,a,n){var r,s=[eh,Bh("worksheet",null,{xmlns:Zh[0],"xmlns:r":Vh})],i=a.SheetNames[e],o="",l=a.Sheets[i];null==l&&(l={});var c=l["!ref"]||"A1",u=af(c);if(u.e.c>16383||u.e.r>1048575){if(t.WTF)throw new Error("Range "+c+" exceeds format limit A1:XFD1048576");u.e.c=Math.min(u.e.c,16383),u.e.r=Math.min(u.e.c,1048575),c=tf(u)}n||(n={}),l["!comments"]=[];var d=[];!function(e,t,a,n,r){var s=!1,i={},o=null;if("xlsx"!==n.bookType&&t.vbaraw){var l=t.SheetNames[a];try{t.Workbook&&(l=t.Workbook.Sheets[a].CodeName||l)}catch(mB){}s=!0,i.codeName=Eh(ph(l))}if(e&&e["!outline"]){var c={summaryBelow:1,summaryRight:1};e["!outline"].above&&(c.summaryBelow=0),e["!outline"].left&&(c.summaryRight=0),o=(o||"")+Bh("outlinePr",null,c)}(s||o)&&(r[r.length]=Bh("sheetPr",o,i))}(l,a,e,t,s),s[s.length]=Bh("dimension",null,{ref:c}),s[s.length]=function(e,t,a,n){var r={workbookViewId:"0"};return(((n||{}).Workbook||{}).Views||[])[0]&&(r.rightToLeft=n.Workbook.Views[0].RTL?"1":"0"),Bh("sheetViews",Bh("sheetView",null,r),{})}(0,0,0,a),t.sheetFormat&&(s[s.length]=Bh("sheetFormatPr",null,{defaultRowHeight:t.sheetFormat.defaultRowHeight||"16",baseColWidth:t.sheetFormat.baseColWidth||"10",outlineLevelRow:t.sheetFormat.outlineLevelRow||"7"})),null!=l["!cols"]&&l["!cols"].length>0&&(s[s.length]=function(e,t){for(var a,n=[""],r=0;r!=t.length;++r)(a=t[r])&&(n[n.length]=Bh("col",null,cb(r,a)));return n[n.length]="",n.join("")}(0,l["!cols"])),s[r=s.length]="",l["!links"]=[],null!=l["!ref"]&&(o=function(e,t){var a,n,r=[],s=[],i=af(e["!ref"]),o="",l="",c=[],u=0,d=0,h=e["!rows"],p=Array.isArray(e),f={r:l},m=-1;for(d=i.s.c;d<=i.e.c;++d)c[d]=Zp(d);for(u=i.s.r;u<=i.e.r;++u){for(s=[],l=Jp(u),d=i.s.c;d<=i.e.c;++d){a=c[d]+l;var g=p?(e[u]||[])[d]:e[a];void 0!==g&&null!=(o=Tb(g,a,e,t))&&s.push(o)}(s.length>0||h&&h[u])&&(f={r:l},h&&h[u]&&((n=h[u]).hidden&&(f.hidden=1),m=-1,n.hpx?m=ky(n.hpx):n.hpt&&(m=n.hpt),m>-1&&(f.ht=m,f.customHeight=1),n.level&&(f.outlineLevel=n.level)),r[r.length]=Bh("row",s.join(""),f))}if(h)for(;u-1&&(f.ht=m,f.customHeight=1),n.level&&(f.outlineLevel=n.level),r[r.length]=Bh("row","",f));return r.join("")}(l,t),o.length>0&&(s[s.length]=o)),s.length>r+1&&(s[s.length]="",s[r]=s[r].replace("/>",">")),l["!protect"]&&(s[s.length]=function(e){var t={sheet:1};return Fb.forEach(function(a){null!=e[a]&&e[a]&&(t[a]="1")}),Db.forEach(function(a){null==e[a]||e[a]||(t[a]="0")}),e.password&&(t.password=oy(e.password).toString(16).toUpperCase()),Bh("sheetProtection",null,t)}(l["!protect"])),null!=l["!autofilter"]&&(s[s.length]=function(e,t,a,n){var r="string"==typeof e.ref?e.ref:tf(e.ref);a.Workbook||(a.Workbook={Sheets:[]}),a.Workbook.Names||(a.Workbook.Names=[]);var s=a.Workbook.Names,i=ef(r);i.s.r==i.e.r&&(i.e.r=ef(t["!ref"]).e.r,r=tf(i));for(var o=0;o0&&(s[s.length]=function(e){if(0===e.length)return"";for(var t='',a=0;a!=e.length;++a)t+='';return t+""}(l["!merges"]));var h,p,f=-1,m=-1;return l["!links"].length>0&&(s[s.length]="",l["!links"].forEach(function(e){e[1].Target&&(h={ref:e[0]},"#"!=e[1].Target.charAt(0)&&(m=Qf(n,-1,ph(e[1].Target).replace(/#.*$/,""),Jf.HLINK),h["r:id"]="rId"+m),(f=e[1].Target.indexOf("#"))>-1&&(h.location=ph(e[1].Target.slice(f+1))),e[1].Tooltip&&(h.tooltip=ph(e[1].Tooltip)),s[s.length]=Bh("hyperlink",null,h))}),s[s.length]=""),delete l["!links"],null!=l["!margins"]&&(s[s.length]=(ub(p=l["!margins"]),Bh("pageMargins",null,p))),t&&!t.ignoreEC&&null!=t.ignoreEC||(s[s.length]=Nh("ignoredErrors",Bh("ignoredError",null,{numberStoredAsText:1,sqref:c}))),d.length>0&&(m=Qf(n,-1,"../drawings/drawing"+(e+1)+".xml",Jf.DRAW),s[s.length]=Bh("drawing",null,{"r:id":"rId"+m}),l["!drawing"]=d),l["!comments"].length>0&&(m=Qf(n,-1,"../drawings/vmlDrawing"+(e+1)+".vml",Jf.VML),s[s.length]=Bh("legacyDrawing",null,{"r:id":"rId"+m}),l["!legacy"]=m),s.length>1&&(s[s.length]="",s[1]=s[1].replace("/>",">")),s.join("")}function Nb(e,t,a,n){var r=function(e,t,a){var n=Rp(145),r=(a["!rows"]||[])[e]||{};n.write_shift(4,e),n.write_shift(4,0);var s=320;r.hpx?s=20*ky(r.hpx):r.hpt&&(s=20*r.hpt),n.write_shift(2,s),n.write_shift(1,0);var i=0;r.level&&(i|=r.level),r.hidden&&(i|=16),(r.hpx||r.hpt)&&(i|=32),n.write_shift(1,i),n.write_shift(1,0);var o=0,l=n.l;n.l+=4;for(var c={r:e,c:0},u=0;u<16;++u)if(!(t.s.c>u+1<<10||t.e.cn.l?n.slice(0,n.l):n}(n,a,t);(r.length>17||(t["!rows"]||[])[n])&&$p(e,0,r)}var Pb=Sf,Bb=If;function Mb(e){return[vf(e),Nf(e),"n"]}var Ob=Sf,Ub=If;var jb=["left","right","top","bottom","header","footer"];function Lb(e,t,a,n,r,s,i){if(void 0===t.v)return!1;var o="";switch(t.t){case"b":o=t.v?"1":"0";break;case"d":(t=Ud(t)).z=t.z||Pu[14],t.v=Fd(Md(t.v)),t.t="n";break;case"n":case"e":o=""+t.v;break;default:o=t.v}var l={r:a,c:n};switch(l.s=db(r.cellXfs,t,r),t.l&&s["!links"].push([Qp(l),t.l]),t.c&&s["!comments"].push([Qp(l),t.c]),t.t){case"s":case"str":return r.bookSST?(o=lb(r.Strings,t.v,r.revStrings),l.t="s",l.v=o,i?$p(e,18,function(e,t,a){return null==a&&(a=Rp(8)),bf(t,a),a.write_shift(4,t.v),a}(0,l)):$p(e,7,function(e,t,a){return null==a&&(a=Rp(12)),yf(t,a),a.write_shift(4,t.v),a}(0,l))):(l.t="str",i?$p(e,17,function(e,t,a){return null==a&&(a=Rp(8+4*e.v.length)),bf(t,a),df(e.v,a),a.length>a.l?a.slice(0,a.l):a}(t,l)):$p(e,6,function(e,t,a){return null==a&&(a=Rp(12+4*e.v.length)),yf(t,a),df(e.v,a),a.length>a.l?a.slice(0,a.l):a}(t,l))),!0;case"n":return t.v==(0|t.v)&&t.v>-1e3&&t.v<1e3?i?$p(e,13,function(e,t,a){return null==a&&(a=Rp(8)),bf(t,a),Af(e.v,a),a}(t,l)):$p(e,2,function(e,t,a){return null==a&&(a=Rp(12)),yf(t,a),Af(e.v,a),a}(t,l)):i?$p(e,16,function(e,t,a){return null==a&&(a=Rp(12)),bf(t,a),Pf(e.v,a),a}(t,l)):$p(e,5,function(e,t,a){return null==a&&(a=Rp(16)),yf(t,a),Pf(e.v,a),a}(t,l)),!0;case"b":return l.t="b",i?$p(e,15,function(e,t,a){return null==a&&(a=Rp(5)),bf(t,a),a.write_shift(1,e.v?1:0),a}(t,l)):$p(e,4,function(e,t,a){return null==a&&(a=Rp(9)),yf(t,a),a.write_shift(1,e.v?1:0),a}(t,l)),!0;case"e":return l.t="e",i?$p(e,14,function(e,t,a){return null==a&&(a=Rp(8)),bf(t,a),a.write_shift(1,e.v),a.write_shift(2,0),a.write_shift(1,0),a}(t,l)):$p(e,3,function(e,t,a){return null==a&&(a=Rp(9)),yf(t,a),a.write_shift(1,e.v),a}(t,l)),!0}return i?$p(e,12,function(e,t,a){return null==a&&(a=Rp(4)),bf(t,a)}(0,l)):$p(e,1,function(e,t,a){return null==a&&(a=Rp(8)),yf(t,a)}(0,l)),!0}function Rb(e,t){var a,n;t&&t["!merges"]&&($p(e,177,(a=t["!merges"].length,null==n&&(n=Rp(4)),n.write_shift(4,a),n)),t["!merges"].forEach(function(t){$p(e,176,Ub(t))}),$p(e,178))}function zb(e,t){t&&t["!cols"]&&($p(e,390),t["!cols"].forEach(function(t,a){t&&$p(e,60,function(e,t,a){null==a&&(a=Rp(18));var n=cb(e,t);a.write_shift(-4,e),a.write_shift(-4,e),a.write_shift(4,256*(n.width||10)),a.write_shift(4,0);var r=0;return t.hidden&&(r|=1),"number"==typeof n.width&&(r|=2),t.level&&(r|=t.level<<8),a.write_shift(2,r),a}(a,t))}),$p(e,391))}function Hb(e,t){var a,n;t&&t["!ref"]&&($p(e,648),$p(e,649,(a=af(t["!ref"]),(n=Rp(24)).write_shift(4,4),n.write_shift(4,1),If(a,n),n)),$p(e,650))}function $b(e,t,a){t["!links"].forEach(function(t){if(t[1].Target){var n=Qf(a,-1,t[1].Target.replace(/#.*$/,""),Jf.HLINK);$p(e,494,function(e,t){var a=Rp(50+4*(e[1].Target.length+(e[1].Tooltip||"").length));If({s:Xp(e[0]),e:Xp(e[0])},a),Ff("rId"+t,a);var n=e[1].Target.indexOf("#");return df((-1==n?"":e[1].Target.slice(n+1))||"",a),df(e[1].Tooltip||"",a),df("",a),a.slice(0,a.l)}(t,n))}}),delete t["!links"]}function Yb(e,t,a){$p(e,133),$p(e,137,function(e,t,a){null==a&&(a=Rp(30));var n=924;return(((t||{}).Views||[])[0]||{}).RTL&&(n|=32),a.write_shift(2,n),a.write_shift(4,0),a.write_shift(4,0),a.write_shift(4,0),a.write_shift(1,0),a.write_shift(1,0),a.write_shift(2,0),a.write_shift(2,100),a.write_shift(2,0),a.write_shift(2,0),a.write_shift(2,0),a.write_shift(4,0),a}(0,a)),$p(e,138),$p(e,134)}function Gb(e,t){var a,n;t["!protect"]&&$p(e,535,(a=t["!protect"],null==n&&(n=Rp(66)),n.write_shift(2,a.password?oy(a.password):0),n.write_shift(4,1),[["objects",!1],["scenarios",!1],["formatCells",!0],["formatColumns",!0],["formatRows",!0],["insertColumns",!0],["insertRows",!0],["insertHyperlinks",!0],["deleteColumns",!0],["deleteRows",!0],["selectLockedCells",!1],["sort",!0],["autoFilter",!0],["pivotTables",!0],["selectUnlockedCells",!1]].forEach(function(e){e[1]?n.write_shift(4,null==a[e[0]]||a[e[0]]?0:1):n.write_shift(4,null!=a[e[0]]&&a[e[0]]?0:1)}),n))}function Wb(e,t,a,n){var r=Hp(),s=a.SheetNames[e],i=a.Sheets[s]||{},o=s;try{a&&a.Workbook&&(o=a.Workbook.Sheets[e].CodeName||o)}catch(mB){}var l,c,u=af(i["!ref"]||"A1");if(u.e.c>16383||u.e.r>1048575){if(t.WTF)throw new Error("Range "+(i["!ref"]||"A1")+" exceeds format limit A1:XFD1048576");u.e.c=Math.min(u.e.c,16383),u.e.r=Math.min(u.e.c,1048575)}return i["!links"]=[],i["!comments"]=[],$p(r,129),(a.vbaraw||i["!outline"])&&$p(r,147,function(e,t,a){null==a&&(a=Rp(84+4*e.length));var n=192;t&&(t.above&&(n&=-65),t.left&&(n&=-129)),a.write_shift(1,n);for(var r=1;r<3;++r)a.write_shift(1,0);return Bf({auto:1},a),a.write_shift(-4,-1),a.write_shift(-4,-1),xf(e,a),a.slice(0,a.l)}(o,i["!outline"])),$p(r,148,Bb(u)),Yb(r,0,a.Workbook),zb(r,i),function(e,t,a,n){var r,s=af(t["!ref"]||"A1"),i="",o=[];$p(e,145);var l=Array.isArray(t),c=s.e.r;t["!rows"]&&(c=Math.max(s.e.r,t["!rows"].length-1));for(var u=s.s.r;u<=c;++u){i=Jp(u),Nb(e,t,s,u);var d=!1;if(u<=s.e.r)for(var h=s.s.c;h<=s.e.c;++h){u===s.s.r&&(o[h]=Zp(h)),r=o[h]+i;var p=l?(t[u]||[])[h]:t[r];d=!!p&&Lb(e,p,u,h,n,t,d)}}$p(e,146)}(r,i,0,t),Gb(r,i),function(e,t,a,n){if(t["!autofilter"]){var r=t["!autofilter"],s="string"==typeof r.ref?r.ref:tf(r.ref);a.Workbook||(a.Workbook={Sheets:[]}),a.Workbook.Names||(a.Workbook.Names=[]);var i=a.Workbook.Names,o=ef(s);o.s.r==o.e.r&&(o.e.r=ef(t["!ref"]).e.r,s=tf(o));for(var l=0;l0){var r=Qf(n,-1,"../drawings/vmlDrawing"+(a+1)+".vml",Jf.VML);$p(e,551,Ff("rId"+r)),t["!legacy"]=r}}(r,i,e,n),$p(r,130),r.end()}function Vb(e,t,a,n,r,s){var i=s||{"!type":"chart"};if(!e)return s;var o=0,l=0,c="A",u={s:{r:2e6,c:2e6},e:{r:0,c:0}};return(e.match(/[\s\S]*?<\/c:numCache>/gm)||[]).forEach(function(e){var t=function(e){var t,a=[],n=e.match(/^/);(e.match(/(.*?)<\/c:pt>/gm)||[]).forEach(function(e){var t=e.match(/(.*)<\/c:v><\/c:pt>/);t&&(a[+t[1]]=n?+t[2]:t[2])});var r=uh((e.match(/([\s\S]*?)<\/c:formatCode>/)||["","General"])[1]);return(e.match(/(.*?)<\/c:f>/gm)||[]).forEach(function(e){t=e.replace(/<.*?>/g,"")}),[a,r,t]}(e);u.s.r=u.s.c=0,u.e.c=o,c=Zp(o),t[0].forEach(function(e,a){i[c+Jp(a)]={t:"n",v:e,z:t[1]},l=a}),u.e.r0&&(i["!ref"]=tf(u)),i}var Kb=[["allowRefreshQuery",!1,"bool"],["autoCompressPictures",!0,"bool"],["backupFile",!1,"bool"],["checkCompatibility",!1,"bool"],["CodeName",""],["date1904",!1,"bool"],["defaultThemeVersion",0,"int"],["filterPrivacy",!1,"bool"],["hidePivotFieldList",!1,"bool"],["promptedSolutions",!1,"bool"],["publishItems",!1,"bool"],["refreshAllConnections",!1,"bool"],["saveExternalLinkValues",!0,"bool"],["showBorderUnselectedTables",!0,"bool"],["showInkAnnotation",!0,"bool"],["showObjects","all"],["showPivotChartFilter",!1,"bool"],["updateLinks","userSet"]],Jb=[["activeTab",0,"int"],["autoFilterDateGrouping",!0,"bool"],["firstSheet",0,"int"],["minimized",!1,"bool"],["showHorizontalScroll",!0,"bool"],["showSheetTabs",!0,"bool"],["showVerticalScroll",!0,"bool"],["tabRatio",600,"int"],["visibility","visible"]],qb=[],Zb=[["calcCompleted","true"],["calcMode","auto"],["calcOnSave","true"],["concurrentCalc","true"],["fullCalcOnLoad","false"],["fullPrecision","true"],["iterate","false"],["iterateCount","100"],["iterateDelta","0.001"],["refMode","A1"]];function Xb(e,t){for(var a=0;a!=e.length;++a)for(var n=e[a],r=0;r!=t.length;++r){var s=t[r];if(null==n[s[0]])n[s[0]]=s[1];else switch(s[2]){case"bool":"string"==typeof n[s[0]]&&(n[s[0]]=vh(n[s[0]]));break;case"int":"string"==typeof n[s[0]]&&(n[s[0]]=parseInt(n[s[0]],10))}}}function Qb(e,t){for(var a=0;a!=t.length;++a){var n=t[a];if(null==e[n[0]])e[n[0]]=n[1];else switch(n[2]){case"bool":"string"==typeof e[n[0]]&&(e[n[0]]=vh(e[n[0]]));break;case"int":"string"==typeof e[n[0]]&&(e[n[0]]=parseInt(e[n[0]],10))}}}function ew(e){Qb(e.WBProps,Kb),Qb(e.CalcPr,Zb),Xb(e.WBView,Jb),Xb(e.Sheets,qb),ib.date1904=vh(e.WBProps.date1904)}var tw="][*?/\\".split("");function aw(e,t){if(e.length>31)throw new Error("Sheet names cannot exceed 31 chars");return tw.forEach(function(t){if(-1!=e.indexOf(t))throw new Error("Sheet name cannot contain : \\ / ? * [ ]")}),!0}function nw(e){if(!e||!e.SheetNames||!e.Sheets)throw new Error("Invalid Workbook");if(!e.SheetNames.length)throw new Error("Workbook is empty");var t,a,n,r=e.Workbook&&e.Workbook.Sheets||[];t=e.SheetNames,a=r,n=!!e.vbaraw,t.forEach(function(e,r){aw(e);for(var s=0;s22)throw new Error("Bad Code Name: Worksheet"+i)}});for(var s=0;s0,n={codeName:"ThisWorkbook"};e.Workbook&&e.Workbook.WBProps&&(Kb.forEach(function(t){null!=e.Workbook.WBProps[t[0]]&&e.Workbook.WBProps[t[0]]!=t[1]&&(n[t[0]]=e.Workbook.WBProps[t[0]])}),e.Workbook.WBProps.CodeName&&(n.codeName=e.Workbook.WBProps.CodeName,delete n.CodeName)),t[t.length]=Bh("workbookPr",null,n);var r=e.Workbook&&e.Workbook.Sheets||[],s=0;if(r&&r[0]&&r[0].Hidden){for(t[t.length]="",s=0;s!=e.SheetNames.length&&r[s]&&r[s].Hidden;++s);s==e.SheetNames.length&&(s=0),t[t.length]='',t[t.length]=""}for(t[t.length]="",s=0;s!=e.SheetNames.length;++s){var i={name:ph(e.SheetNames[s].slice(0,31))};if(i.sheetId=""+(s+1),i["r:id"]="rId"+(s+1),r[s])switch(r[s].Hidden){case 1:i.state="hidden";break;case 2:i.state="veryHidden"}t[t.length]=Bh("sheet",null,i)}return t[t.length]="",a&&(t[t.length]="",e.Workbook&&e.Workbook.Names&&e.Workbook.Names.forEach(function(e){var a={name:e.Name};e.Comment&&(a.comment=e.Comment),null!=e.Sheet&&(a.localSheetId=""+e.Sheet),e.Hidden&&(a.hidden="1"),e.Ref&&(t[t.length]=Bh("definedName",ph(e.Ref),a))}),t[t.length]=""),t.length>2&&(t[t.length]="",t[1]=t[1].replace("/>",">")),t.join("")}function iw(e,t){return t||(t=Rp(127)),t.write_shift(4,e.Hidden),t.write_shift(4,e.iTabID),Ff(e.strRelID,t),df(e.name.slice(0,31),t),t.length>t.l?t.slice(0,t.l):t}function ow(e,t){var a={};return e.read_shift(4),a.ArchID=e.read_shift(4),e.l+=t-8,a}function lw(e,t){if(t.Workbook&&t.Workbook.Sheets){for(var a,n,r=t.Workbook.Sheets,s=0,i=-1,o=-1;si))$p(e,135),$p(e,158,(a=i,n||(n=Rp(29)),n.write_shift(-4,0),n.write_shift(-4,460),n.write_shift(4,28800),n.write_shift(4,17600),n.write_shift(4,500),n.write_shift(4,a),n.write_shift(4,a),n.write_shift(1,120),n.length>n.l?n.slice(0,n.l):n)),$p(e,136)}}function cw(e,t){var a=Hp();return $p(a,131),$p(a,128,function(e,t){t||(t=Rp(127));for(var a=0;4!=a;++a)t.write_shift(4,0);return df("SheetJS",t),df(Zc.version,t),df(Zc.version,t),df("7262",t),t.length>t.l?t.slice(0,t.l):t}()),$p(a,153,function(e,t){t||(t=Rp(72));var a=0;return e&&e.filterPrivacy&&(a|=8),t.write_shift(4,a),t.write_shift(4,0),xf(e&&e.CodeName||"ThisWorkbook",t),t.slice(0,t.l)}(e.Workbook&&e.Workbook.WBProps||null)),lw(a,e),function(e,t){$p(e,143);for(var a=0;a!=t.SheetNames.length;++a)$p(e,156,iw({Hidden:t.Workbook&&t.Workbook.Sheets&&t.Workbook.Sheets[a]&&t.Workbook.Sheets[a].Hidden||0,iTabID:a+1,strRelID:"rId"+(a+1),name:t.SheetNames[a]}));$p(e,144)}(a,e),$p(a,132),a.end()}function uw(e,t,a){return".bin"===t.slice(-4)?function(e,t){var a={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},xmlns:""},n=[],r=!1;t||(t={}),t.biff=12;var s=[],i=[[]];return i.SheetNames=[],i.XTI=[],qw[16]={n:"BrtFRTArchID$",f:ow},zp(e,function(e,o,l){switch(l){case 156:i.SheetNames.push(e.name),a.Sheets.push(e);break;case 153:a.WBProps=e;break;case 39:null!=e.Sheet&&(t.SID=e.Sheet),e.Ref=Hv(e.Ptg,0,null,i,t),delete t.SID,delete e.Ptg,s.push(e);break;case 1036:case 361:case 2071:case 158:case 143:case 664:case 353:case 3072:case 3073:case 534:case 677:case 157:case 610:case 2050:case 155:case 548:case 676:case 128:case 665:case 2128:case 2125:case 549:case 2053:case 596:case 2076:case 2075:case 2082:case 397:case 154:case 1117:case 553:case 2091:case 16:break;case 357:case 358:case 355:case 667:i[0].length?i.push([l,e]):i[0]=[l,e],i[i.length-1].XTI=[];break;case 362:0===i.length&&(i[0]=[],i[0].XTI=[]),i[i.length-1].XTI=i[i.length-1].XTI.concat(e),i.XTI=i.XTI.concat(e);break;case 35:case 37:n.push(l),r=!0;break;case 36:case 38:n.pop(),r=!1;break;default:if(o.T);else if(!r||t.WTF&&37!=n[n.length-1]&&35!=n[n.length-1])throw new Error("Unexpected record 0x"+l.toString(16))}},t),ew(a),a.Names=s,a.supbooks=i,a}(e,a):function(e,t){if(!e)throw new Error("Could not find file");var a={AppVersion:{},WBProps:{},WBView:[],Sheets:[],CalcPr:{},Names:[],xmlns:""},n=!1,r="xmlns",s={},i=0;if(e.replace(nh,function(o,l){var c=ih(o);switch(oh(c[0])){case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":Kb.forEach(function(e){if(null!=c[e[0]])switch(e[2]){case"bool":a.WBProps[e[0]]=vh(c[e[0]]);break;case"int":a.WBProps[e[0]]=parseInt(c[e[0]],10);break;default:a.WBProps[e[0]]=c[e[0]]}}),c.codeName&&(a.WBProps.CodeName=_h(c.codeName));break;case"":delete c[0],a.WBView.push(c);break;case"":case"":n=!0;break;case"":case"":case"":n=!1;break;case"":s.Ref=uh(_h(e.slice(i,l))),a.Names.push(s);break;case"":delete c[0],a.CalcPr=c;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+c[0]+" in workbook")}return o}),-1===Zh.indexOf(a.xmlns))throw new Error("Unknown Namespace: "+a.xmlns);return ew(a),a}(e,a)}function dw(e,t,a,n,r,s,i,o){return".bin"===t.slice(-4)?function(e,t,a,n,r,s,i){if(!e)return e;var o=t||{};n||(n={"!id":{}});var l,c,u,d,h,p,f,m,g,y,v=o.dense?[]:{},b={s:{r:2e6,c:2e6},e:{r:0,c:0}},w=!1,x=!1,k=[];o.biff=12,o["!row"]=0;var _=0,E=!1,C=[],F={},D=o.supbooks||r.supbooks||[[]];if(D.sharedf=F,D.arrayf=C,D.SheetNames=r.SheetNames||r.Sheets.map(function(e){return e.name}),!o.supbooks&&(o.supbooks=D,r.Names))for(var A=0;A=P[0].s.r&&c.r<=P[0].e.r&&p>=P[0].s.c&&p<=P[0].e.c&&(u.F=tf(P[0]),E=!0)}!E&&e.length>3&&(u.f=e[3])}if(b.s.r>c.r&&(b.s.r=c.r),b.s.c>p&&(b.s.c=p),b.e.rc.r&&(b.s.r=c.r),b.s.c>p&&(b.s.c=p),b.e.r=e.s;)S[e.e--]={width:e.w/256,hidden:!!(1&e.flags),level:e.level},N||(N=!0,by(e.w/256)),wy(S[e.e+1]);break;case 161:v["!autofilter"]={ref:tf(e)};break;case 476:v["!margins"]=e;break;case 147:r.Sheets[a]||(r.Sheets[a]={}),e.name&&(r.Sheets[a].CodeName=e.name),(e.above||e.left)&&(v["!outline"]={above:e.above,left:e.left});break;case 137:r.Views||(r.Views=[{}]),r.Views[0]||(r.Views[0]={}),e.RTL&&(r.Views[0].RTL=!0);break;case 485:case 64:case 1053:case 151:case 152:case 175:case 644:case 625:case 562:case 396:case 1112:case 1146:case 471:case 1050:case 649:case 1105:case 589:case 607:case 564:case 1055:case 168:case 174:case 1180:case 499:case 507:case 550:case 171:case 167:case 1177:case 169:case 1181:case 551:case 552:case 661:case 639:case 478:case 537:case 477:case 536:case 1103:case 680:case 1104:case 1024:case 663:case 535:case 678:case 504:case 1043:case 428:case 170:case 3072:case 50:case 2070:case 1045:break;case 35:case 37:w=!0;break;case 36:case 38:w=!1;break;default:if(t.T);else if(!w||o.WTF)throw new Error("Unexpected record 0x"+A.toString(16))}},o),delete o.supbooks,delete o["!row"],!v["!ref"]&&(b.s.r<2e6||l&&(l.e.r>0||l.e.c>0||l.s.r>0||l.s.c>0))&&(v["!ref"]=tf(l||b)),o.sheetRows&&v["!ref"]){var P=af(v["!ref"]);o.sheetRows<=+P.e.r&&(P.e.r=o.sheetRows-1,P.e.r>b.e.r&&(P.e.r=b.e.r),P.e.rb.e.c&&(P.e.c=b.e.c),P.e.c0&&(v["!merges"]=k),S.length>0&&(v["!cols"]=S),I.length>0&&(v["!rows"]=I),v}(e,n,a,r,s,i,o):Eb(e,n,a,r,s,i,o)}function hw(e,t,a,n,r,s,i,o){return".bin"===t.slice(-4)?function(e,t,a,n,r){if(!e)return e;n||(n={"!id":{}});var s={"!type":"chart","!drawel":null,"!rel":""},i=!1;return zp(e,function(e,n,o){switch(o){case 550:s["!rel"]=e;break;case 651:r.Sheets[a]||(r.Sheets[a]={}),e.name&&(r.Sheets[a].CodeName=e.name);break;case 562:case 652:case 669:case 679:case 551:case 552:case 476:case 3072:case 37:case 38:break;case 35:i=!0;break;case 36:i=!1;break;default:if(n.T>0);else if(n.T<0);else if(!i||t.WTF)throw new Error("Unexpected record 0x"+o.toString(16))}},t),n["!id"][s["!rel"]]&&(s["!drawel"]=n["!id"][s["!rel"]]),s}(e,n,a,r,s):function(e,t,a,n,r){if(!e)return e;n||(n={"!id":{}});var s,i={"!type":"chart","!drawel":null,"!rel":""},o=e.match(xb);return o&&Cb(o[0],0,r,a),(s=e.match(/drawing r:id="(.*?)"/))&&(i["!rel"]=s[1]),n["!id"][i["!rel"]]&&(i["!drawel"]=n["!id"][i["!rel"]]),i}(e,0,a,r,s)}function pw(e,t,a,n){return".bin"===t.slice(-4)?function(e,t,a){var n={NumberFmt:[]};for(var r in Pu)n.NumberFmt[r]=Pu[r];n.CellXf=[],n.Fonts=[];var s=[],i=!1;return zp(e,function(e,r,o){switch(o){case 44:n.NumberFmt[e[0]]=e[1],hd(e[1],e[0]);break;case 43:n.Fonts.push(e),null!=e.color.theme&&t&&t.themeElements&&t.themeElements.clrScheme&&(e.color.rgb=py(t.themeElements.clrScheme[e.color.theme].rgb,e.color.tint||0));break;case 1025:case 45:case 46:case 48:case 507:case 572:case 475:case 1171:case 2102:case 1130:case 512:case 2095:case 3072:break;case 47:617==s[s.length-1]&&n.CellXf.push(e);break;case 35:i=!0;break;case 36:i=!1;break;case 37:s.push(o),i=!0;break;case 38:s.pop(),i=!1;break;default:if(r.T>0)s.push(o);else if(r.T<0)s.pop();else if(!i||a.WTF&&37!=s[s.length-1])throw new Error("Unexpected record 0x"+o.toString(16))}}),n}(e,a,n):Dy(e,a,n)}function fw(e,t,a){return".bin"===t.slice(-4)?function(e,t){var a=[],n=!1;return zp(e,function(e,r,s){switch(s){case 159:a.Count=e[0],a.Unique=e[1];break;case 19:a.push(e);break;case 160:return!0;case 35:n=!0;break;case 36:n=!1;break;default:if(r.T,!n||t.WTF)throw new Error("Unexpected record 0x"+s.toString(16))}}),a}(e,a):function(e,t){var a=[],n="";if(!e)return a;var r=e.match(Gg);if(r){n=r[2].replace(Wg,"").split(Vg);for(var s=0;s!=n.length;++s){var i=Yg(n[s].trim(),t);null!=i&&(a[a.length]=i)}r=ih(r[1]),a.Count=r.count,a.Unique=r.uniqueCount}return a}(e,a)}function mw(e,t,a){return".bin"===t.slice(-4)?function(e,t){var a=[],n=[],r={},s=!1;return zp(e,function(e,i,o){switch(o){case 632:n.push(e);break;case 635:r=e;break;case 637:r.t=e.t,r.h=e.h,r.r=e.r;break;case 636:if(r.author=n[r.iauthor],delete r.iauthor,t.sheetRows&&r.rfx&&t.sheetRows<=r.rfx.r)break;r.t||(r.t=""),delete r.rfx,a.push(r);break;case 3072:case 37:case 38:break;case 35:s=!0;break;case 36:s=!1;break;default:if(i.T);else if(!s||t.WTF)throw new Error("Unexpected record 0x"+o.toString(16))}}),a}(e,a):function(e,t){if(e.match(/<(?:\w+:)?comments *\/>/))return[];var a=[],n=[],r=e.match(/<(?:\w+:)?authors>([\s\S]*)<\/(?:\w+:)?authors>/);r&&r[1]&&r[1].split(/<\/\w*:?author>/).forEach(function(e){if(""!==e&&""!==e.trim()){var t=e.match(/<(?:\w+:)?author[^>]*>(.*)/);t&&a.push(t[1])}});var s=e.match(/<(?:\w+:)?commentList>([\s\S]*)<\/(?:\w+:)?commentList>/);return s&&s[1]&&s[1].split(/<\/\w*:?comment>/).forEach(function(e){if(""!==e&&""!==e.trim()){var r=e.match(/<(?:\w+:)?comment[^>]*>/);if(r){var s=ih(r[0]),i={author:s.authorId&&a[s.authorId]||"sheetjsghost",ref:s.ref,guid:s.guid},o=Xp(s.ref);if(!(t.sheetRows&&t.sheetRows<=o.r)){var l=e.match(/<(?:\w+:)?text>([\s\S]*)<\/(?:\w+:)?text>/),c=!!l&&!!l[1]&&Yg(l[1])||{r:"",t:"",h:""};i.r=c.r,""==c.r&&(c.t=c.h=""),i.t=(c.t||"").replace(/\r\n/g,"\n").replace(/\r/g,"\n"),t.cellHTML&&(i.h=c.h),n.push(i)}}}}),n}(e,a)}function gw(e,t,a){return".bin"===t.slice(-4)?function(e){var t=[];return zp(e,function(e,a,n){if(63===n)t.push(e);else if(!a.T)throw new Error("Unexpected record 0x"+n.toString(16))}),t}(e):function(e){var t=[];if(!e)return t;var a=1;return(e.match(nh)||[]).forEach(function(e){var n=ih(e);switch(n[0]){case"":case"":break;case"":case"":case"":case"":case"":case"":case"":case"":case"":case"":break;case"":case"":i=2;break;case"":s=!1;break;case"-1?uh(t||e).replace(/<.*?>/g,""):n.r;break;case"DateTime":"Z"!=e.slice(-1)&&(e+="Z"),n.v=(Md(e)-new Date(Date.UTC(1899,11,30)))/864e5,n.v!=n.v?n.v=uh(e):n.v<60&&(n.v=n.v-1),u&&"General"!=u||(u="yyyy-mm-dd");case"Number":void 0===n.v&&(n.v=+e),n.t||(n.t="n");break;case"Error":n.t="e",n.v=Gf[e],!1!==c.cellText&&(n.w=e);break;default:""==e&&""==t?n.t="z":(n.t="s",n.v=yh(t||e))}if(Dw(n,u,c),!1!==c.cellFormula)if(n.Formula){var m=uh(n.Formula);61==m.charCodeAt(0)&&(m=m.slice(1)),n.f=dv(m,r),delete n.Formula,"RC"==n.ArrayRange?n.F=dv("RC:RC",r):n.ArrayRange&&(n.F=dv(n.ArrayRange,r),l.push([af(n.F),n.F]))}else for(f=0;f=l[f][0].s.r&&r.r<=l[f][0].e.r&&r.c>=l[f][0].s.c&&r.c<=l[f][0].e.c&&(n.F=l[f][1]);c.cellStyles&&(p.forEach(function(e){!h.patternType&&e.patternType&&(h.patternType=e.patternType)}),n.s=h),void 0!==n.StyleID&&(n.ixfe=n.StyleID)}function Sw(e){e.t=e.v||"",e.t=e.t.replace(/\r\n/g,"\n").replace(/\r/g,"\n"),e.v=e.w=e.ixfe=void 0}function Iw(e,t){var a=t||{};fd();var n=ou(Oh(e));"binary"!=a.type&&"array"!=a.type&&"base64"!=a.type||(n=_h(n));var r,s=n.slice(0,1024).toLowerCase(),i=!1;if((1023&(s=s.replace(/".*?"/g,"")).indexOf(">"))>Math.min(1023&s.indexOf(","),1023&s.indexOf(";"))){var o=Ud(a);return o.type="string",Ug.to_workbook(n,o)}if(-1==s.indexOf("=0&&(i=!0)}),i)return function(e,t){var a=e.match(/[\s\S]*?<\/table>/gi);if(!a||0==a.length)throw new Error("Invalid HTML: could not find ");if(1==a.length)return sf(lx(a[0],t),t);var n={SheetNames:[],Sheets:{}};return a.forEach(function(e,a){xk(n,lx(e,t),"Sheet"+(a+1))}),n}(n,a);xw={"General Number":"General","General Date":Pu[22],"Long Date":"dddd, mmmm dd, yyyy","Medium Date":Pu[15],"Short Date":Pu[14],"Long Time":Pu[19],"Medium Time":Pu[18],"Short Time":Pu[20],Currency:'"$"#,##0.00_);[Red]\\("$"#,##0.00\\)',Fixed:Pu[2],Standard:Pu[4],Percent:Pu[10],Scientific:Pu[11],"Yes/No":'"Yes";"Yes";"No";@',"True/False":'"True";"True";"False";@',"On/Off":'"Yes";"Yes";"No";@'};var l,c,u=[],d={},h=[],p=a.dense?[]:{},f="",m={},g={},y=Ew(''),v=0,b=0,w=0,x={s:{r:2e6,c:2e6},e:{r:0,c:0}},k={},_={},E="",C=0,F=[],D={},A={},T=0,S=[],I=[],N={},P=[],B=!1,M=[],O=[],U={},j=0,L=0,R={Sheets:[],WBProps:{date1904:!1}},z={};Uh.lastIndex=0,n=n.replace(//gm,"");for(var H="";r=Uh.exec(n);)switch(r[3]=(H=r[3]).toLowerCase()){case"data":if("data"==H){if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else"/"!==r[0].charAt(r[0].length-2)&&u.push([r[3],!0]);break}if(u[u.length-1][1])break;"/"===r[1]?Tw(n.slice(v,r.index),E,y,"comment"==u[u.length-1][0]?N:m,{c:b,r:w},k,P[b],g,M,a):(E="",y=Ew(r[0]),v=r.index+r[0].length);break;case"cell":if("/"===r[1])if(I.length>0&&(m.c=I),(!a.sheetRows||a.sheetRows>w)&&void 0!==m.v&&(a.dense?(p[w]||(p[w]=[]),p[w][b]=m):p[Zp(b)+Jp(w)]=m),m.HRef&&(m.l={Target:uh(m.HRef)},m.HRefScreenTip&&(m.l.Tooltip=m.HRefScreenTip),delete m.HRef,delete m.HRefScreenTip),(m.MergeAcross||m.MergeDown)&&(j=b+(0|parseInt(m.MergeAcross,10)),L=w+(0|parseInt(m.MergeDown,10)),F.push({s:{c:b,r:w},e:{c:j,r:L}})),a.sheetStubs)if(m.MergeAcross||m.MergeDown){for(var $=b;$<=j;++$)for(var Y=w;Y<=L;++Y)($>b||Y>w)&&(a.dense?(p[Y]||(p[Y]=[]),p[Y][$]={t:"z"}):p[Zp($)+Jp(Y)]={t:"z"});b=j+1}else++b;else m.MergeAcross?b=j+1:++b;else(m=Cw(r[0])).Index&&(b=+m.Index-1),bx.e.c&&(x.e.c=b),"/>"===r[0].slice(-2)&&++b,I=[];break;case"row":"/"===r[1]||"/>"===r[0].slice(-2)?(wx.e.r&&(x.e.r=w),"/>"===r[0].slice(-2)&&(g=Ew(r[0])).Index&&(w=+g.Index-1),b=0,++w):((g=Ew(r[0])).Index&&(w=+g.Index-1),U={},("0"==g.AutoFitHeight||g.Height)&&(U.hpx=parseInt(g.Height,10),U.hpt=ky(U.hpx),O[w]=U),"1"==g.Hidden&&(U.hidden=!0,O[w]=U));break;case"worksheet":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"));h.push(f),x.s.r<=x.e.r&&x.s.c<=x.e.c&&(p["!ref"]=tf(x),a.sheetRows&&a.sheetRows<=x.e.r&&(p["!fullref"]=p["!ref"],x.e.r=a.sheetRows-1,p["!ref"]=tf(x))),F.length&&(p["!merges"]=F),P.length>0&&(p["!cols"]=P),O.length>0&&(p["!rows"]=O),d[f]=p}else x={s:{r:2e6,c:2e6},e:{r:0,c:0}},w=b=0,u.push([r[3],!1]),l=Ew(r[0]),f=uh(l.Name),p=a.dense?[]:{},F=[],M=[],O=[],z={name:f,Hidden:0},R.Sheets.push(z);break;case"table":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else{if("/>"==r[0].slice(-2))break;u.push([r[3],!1]),P=[],B=!1}break;case"style":"/"===r[1]?Aw(k,_,a):_=Ew(r[0]);break;case"numberformat":_.nf=uh(Ew(r[0]).Format||"General"),xw[_.nf]&&(_.nf=xw[_.nf]);for(var G=0;392!=G&&Pu[G]!=_.nf;++G);if(392==G)for(G=57;392!=G;++G)if(null==Pu[G]){hd(_.nf,G);break}break;case"column":if("table"!==u[u.length-1][0])break;if((c=Ew(r[0])).Hidden&&(c.hidden=!0,delete c.Hidden),c.Width&&(c.wpx=parseInt(c.Width,10)),!B&&c.wpx>10){B=!0,fy=6;for(var W=0;W0&&(J.Sheet=R.Sheets.length-1),R.Names.push(J);break;case"namedcell":case"b":case"i":case"u":case"s":case"em":case"h2":case"h3":case"sub":case"sup":case"span":case"alignment":case"borders":case"border":case"protection":case"paragraphs":case"name":case"pixelsperinch":case"null":break;case"font":if("/>"===r[0].slice(-2))break;"/"===r[1]?E+=n.slice(C,r.index):C=r.index+r[0].length;break;case"interior":if(!a.cellStyles)break;_.Interior=Ew(r[0]);break;case"author":case"title":case"description":case"created":case"keywords":case"subject":case"category":case"company":case"lastauthor":case"lastsaved":case"lastprinted":case"version":case"revision":case"totaltime":case"hyperlinkbase":case"manager":case"contentstatus":case"identifier":case"language":case"appname":if("/>"===r[0].slice(-2))break;"/"===r[1]?gm(D,H,n.slice(T,r.index)):T=r.index+r[0].length;break;case"styles":case"workbook":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else u.push([r[3],!1]);break;case"comment":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"));Sw(N),I.push(N)}else u.push([r[3],!1]),N={a:(l=Ew(r[0])).Author};break;case"autofilter":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else if("/"!==r[0].charAt(r[0].length-2)){var q=Ew(r[0]);p["!autofilter"]={ref:dv(q.Range).replace(/\$/g,"")},u.push([r[3],!0])}break;case"datavalidation":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else"/"!==r[0].charAt(r[0].length-2)&&u.push([r[3],!0]);break;case"componentoptions":case"documentproperties":case"customdocumentproperties":case"officedocumentsettings":case"pivottable":case"pivotcache":case"names":case"mapinfo":case"pagebreaks":case"querytable":case"sorting":case"schema":case"conditionalformatting":case"smarttagtype":case"smarttags":case"excelworkbook":case"workbookoptions":case"worksheetoptions":if("/"===r[1]){if((l=u.pop())[0]!==r[3])throw new Error("Bad state: "+l.join("|"))}else"/"!==r[0].charAt(r[0].length-2)&&u.push([r[3],!0]);break;default:if(0==u.length&&"document"==r[3])return vx(n,a);if(0==u.length&&"uof"==r[3])return vx(n,a);var Z=!0;switch(u[u.length-1][0]){case"officedocumentsettings":switch(r[3]){case"allowpng":case"removepersonalinformation":case"downloadcomponents":case"locationofcomponents":case"colors":case"color":case"index":case"rgb":case"targetscreensize":case"readonlyrecommended":break;default:Z=!1}break;case"componentoptions":switch(r[3]){case"toolbar":case"hideofficelogo":case"spreadsheetautofit":case"label":case"caption":case"maxheight":case"maxwidth":case"nextsheetnumber":break;default:Z=!1}break;case"excelworkbook":switch(r[3]){case"date1904":R.WBProps.date1904=!0;break;case"windowheight":case"windowwidth":case"windowtopx":case"windowtopy":case"tabratio":case"protectstructure":case"protectwindow":case"protectwindows":case"activesheet":case"displayinknotes":case"firstvisiblesheet":case"supbook":case"sheetname":case"sheetindex":case"sheetindexfirst":case"sheetindexlast":case"dll":case"acceptlabelsinformulas":case"donotsavelinkvalues":case"iteration":case"maxiterations":case"maxchange":case"path":case"xct":case"count":case"selectedsheets":case"calculation":case"uncalced":case"startupprompt":case"crn":case"externname":case"formula":case"colfirst":case"collast":case"wantadvise":case"boolean":case"error":case"text":case"ole":case"noautorecover":case"publishobjects":case"donotcalculatebeforesave":case"number":case"refmoder1c1":case"embedsavesmarttags":break;default:Z=!1}break;case"workbookoptions":switch(r[3]){case"owcversion":case"height":case"width":break;default:Z=!1}break;case"worksheetoptions":switch(r[3]){case"visible":if("/>"===r[0].slice(-2));else if("/"===r[1])switch(n.slice(T,r.index)){case"SheetHidden":z.Hidden=1;break;case"SheetVeryHidden":z.Hidden=2}else T=r.index+r[0].length;break;case"header":p["!margins"]||ub(p["!margins"]={},"xlml"),isNaN(+ih(r[0]).Margin)||(p["!margins"].header=+ih(r[0]).Margin);break;case"footer":p["!margins"]||ub(p["!margins"]={},"xlml"),isNaN(+ih(r[0]).Margin)||(p["!margins"].footer=+ih(r[0]).Margin);break;case"pagemargins":var X=ih(r[0]);p["!margins"]||ub(p["!margins"]={},"xlml"),isNaN(+X.Top)||(p["!margins"].top=+X.Top),isNaN(+X.Left)||(p["!margins"].left=+X.Left),isNaN(+X.Right)||(p["!margins"].right=+X.Right),isNaN(+X.Bottom)||(p["!margins"].bottom=+X.Bottom);break;case"displayrighttoleft":R.Views||(R.Views=[]),R.Views[0]||(R.Views[0]={}),R.Views[0].RTL=!0;break;case"freezepanes":case"frozennosplit":case"splithorizontal":case"splitvertical":case"donotdisplaygridlines":case"activerow":case"activecol":case"toprowbottompane":case"leftcolumnrightpane":case"unsynced":case"print":case"printerrors":case"panes":case"scale":case"pane":case"number":case"layout":case"pagesetup":case"selected":case"protectobjects":case"enableselection":case"protectscenarios":case"validprinterinfo":case"horizontalresolution":case"verticalresolution":case"numberofcopies":case"activepane":case"toprowvisible":case"leftcolumnvisible":case"fittopage":case"rangeselection":case"papersizeindex":case"pagelayoutzoom":case"pagebreakzoom":case"filteron":case"fitwidth":case"fitheight":case"commentslayout":case"zoom":case"lefttoright":case"gridlines":case"allowsort":case"allowfilter":case"allowinsertrows":case"allowdeleterows":case"allowinsertcols":case"allowdeletecols":case"allowinserthyperlinks":case"allowformatcells":case"allowsizecols":case"allowsizerows":case"tabcolorindex":case"donotdisplayheadings":case"showpagelayoutzoom":case"blackandwhite":case"donotdisplayzeros":case"displaypagebreak":case"rowcolheadings":case"donotdisplayoutline":case"noorientation":case"allowusepivottables":case"zeroheight":case"viewablerange":case"selection":case"protectcontents":break;case"nosummaryrowsbelowdetail":p["!outline"]||(p["!outline"]={}),p["!outline"].above=!0;break;case"nosummarycolumnsrightdetail":p["!outline"]||(p["!outline"]={}),p["!outline"].left=!0;break;default:Z=!1}break;case"pivottable":case"pivotcache":switch(r[3]){case"immediateitemsondrop":case"showpagemultipleitemlabel":case"compactrowindent":case"location":case"pivotfield":case"orientation":case"layoutform":case"layoutsubtotallocation":case"layoutcompactrow":case"position":case"pivotitem":case"datatype":case"datafield":case"sourcename":case"parentfield":case"ptlineitems":case"ptlineitem":case"countofsameitems":case"item":case"itemtype":case"ptsource":case"cacheindex":case"consolidationreference":case"filename":case"reference":case"nocolumngrand":case"norowgrand":case"blanklineafteritems":case"hidden":case"subtotal":case"basefield":case"mapchilditems":case"function":case"refreshonfileopen":case"printsettitles":case"mergelabels":case"defaultversion":case"refreshname":case"refreshdate":case"refreshdatecopy":case"versionlastrefresh":case"versionlastupdate":case"versionupdateablemin":case"versionrefreshablemin":case"calculation":break;default:Z=!1}break;case"pagebreaks":switch(r[3]){case"colbreaks":case"colbreak":case"rowbreaks":case"rowbreak":case"colstart":case"colend":case"rowend":break;default:Z=!1}break;case"autofilter":switch(r[3]){case"autofiltercolumn":case"autofiltercondition":case"autofilterand":case"autofilteror":break;default:Z=!1}break;case"querytable":switch(r[3]){case"id":case"autoformatfont":case"autoformatpattern":case"querysource":case"querytype":case"enableredirections":case"refreshedinxl9":case"urlstring":case"htmltables":case"connection":case"commandtext":case"refreshinfo":case"notitles":case"nextid":case"columninfo":case"overwritecells":case"donotpromptforfile":case"textwizardsettings":case"source":case"number":case"decimal":case"thousandseparator":case"trailingminusnumbers":case"formatsettings":case"fieldtype":case"delimiters":case"tab":case"comma":case"autoformatname":case"versionlastedit":case"versionlastrefresh":break;default:Z=!1}break;case"datavalidation":switch(r[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":case"cellrangelist":break;default:Z=!1}break;case"sorting":case"conditionalformatting":switch(r[3]){case"range":case"type":case"min":case"max":case"sort":case"descending":case"order":case"casesensitive":case"value":case"errorstyle":case"errormessage":case"errortitle":case"cellrangelist":case"inputmessage":case"inputtitle":case"combohide":case"inputhide":case"condition":case"qualifier":case"useblank":case"value1":case"value2":case"format":break;default:Z=!1}break;case"mapinfo":case"schema":case"data":switch(r[3]){case"map":case"entry":case"range":case"xpath":case"field":case"xsdtype":case"filteron":case"aggregate":case"elementtype":case"attributetype":case"schema":case"element":case"complextype":case"datatype":case"all":case"attribute":case"extends":case"row":break;default:Z=!1}break;case"smarttags":break;default:Z=!1}if(Z)break;if(r[3].match(/!\[CDATA/))break;if(!u[u.length-1][1])throw"Unrecognized tag: "+r[3]+"|"+u.join("|");if("customdocumentproperties"===u[u.length-1][0]){if("/>"===r[0].slice(-2))break;"/"===r[1]?Fw(A,H,S,n.slice(T,r.index)):(S=r,T=r.index+r[0].length);break}if(a.WTF)throw"Unrecognized tag: "+r[3]+"|"+u.join("|")}var Q={};return a.bookSheets||a.bookProps||(Q.Sheets=d),Q.SheetNames=h,Q.Workbook=R,Q.SSF=Ud(Pu),Q.Props=D,Q.Custprops=A,Q}function Nw(e,t){switch(qx(t=t||{}),t.type||"base64"){case"base64":return Iw(hu(e),t);case"binary":case"buffer":case"file":return Iw(e,t);case"array":return Iw(bu(e),t)}}function Pw(e,t){var a=[];return e.Props&&a.push(function(e,t){var a=[];return xd(mm).map(function(e){for(var t=0;t'+r.join("")+""}(e.Props,e.Custprops)),a.join("")}function Bw(e){return Bh("NamedRange",null,{"ss:Name":e.Name,"ss:RefersTo":"="+pv(e.Ref,{r:0,c:0})})}function Mw(e,t,a,n,r,s,i){if(!e||null==e.v&&null==e.f)return"";var o={};if(e.f&&(o["ss:Formula"]="="+ph(pv(e.f,i))),e.F&&e.F.slice(0,t.length)==t){var l=Xp(e.F.slice(t.length+1));o["ss:ArrayRange"]="RC:R"+(l.r==i.r?"":"["+(l.r-i.r)+"]")+"C"+(l.c==i.c?"":"["+(l.c-i.c)+"]")}if(e.l&&e.l.Target&&(o["ss:HRef"]=ph(e.l.Target),e.l.Tooltip&&(o["x:HRefScreenTip"]=ph(e.l.Tooltip))),a["!merges"])for(var c=a["!merges"],u=0;u!=c.length;++u)c[u].s.c==i.c&&c[u].s.r==i.r&&(c[u].e.c>c[u].s.c&&(o["ss:MergeAcross"]=c[u].e.c-c[u].s.c),c[u].e.r>c[u].s.r&&(o["ss:MergeDown"]=c[u].e.r-c[u].s.r));var d="",h="";switch(e.t){case"z":if(!n.sheetStubs)return"";break;case"n":d="Number",h=String(e.v);break;case"b":d="Boolean",h=e.v?"1":"0";break;case"e":d="Error",h=Yf[e.v];break;case"d":d="DateTime",h=new Date(e.v).toISOString(),null==e.z&&(e.z=e.z||Pu[14]);break;case"s":d="String",h=((e.v||"")+"").replace(dh,function(e){return ch[e]}).replace(mh,function(e){return"&#x"+e.charCodeAt(0).toString(16).toUpperCase()+";"})}var p=db(n.cellXfs,e,n);o["ss:StyleID"]="s"+(21+p),o["ss:Index"]=i.c+1;var f=null!=e.v?h:"",m="z"==e.t?"":''+f+"";return(e.c||[]).length>0&&(m+=e.c.map(function(e){var t=Bh("ss:Data",(e.t||"").replace(/(\r\n|[\r\n])/g," "),{xmlns:"http://www.w3.org/TR/REC-html40"});return Bh("Comment",t,{"ss:Author":e.a})}).join("")),Bh("Cell",m,o)}function Ow(e,t){var a='"}function Uw(e,t,a){var n=[],r=a.SheetNames[e],s=a.Sheets[r],i=s?function(e,t,a,n){if(!e)return"";if(!((n||{}).Workbook||{}).Names)return"";for(var r=n.Workbook.Names,s=[],i=0;i0&&n.push(""+i+""),i=s?function(e,t){if(!e["!ref"])return"";var a=af(e["!ref"]),n=e["!merges"]||[],r=0,s=[];e["!cols"]&&e["!cols"].forEach(function(e,t){wy(e);var a=!!e.width,n=cb(t,e),r={"ss:Index":t+1};a&&(r["ss:Width"]=my(n.width)),e.hidden&&(r["ss:Hidden"]="1"),s.push(Bh("Column",null,r))});for(var i=Array.isArray(e),o=a.s.r;o<=a.e.r;++o){for(var l=[Ow(o,(e["!rows"]||[])[o])],c=a.s.c;c<=a.e.c;++c){var u=!1;for(r=0;r!=n.length;++r)if(!(n[r].s.c>c||n[r].s.r>o||n[r].e.c"),l.length>2&&s.push(l.join(""))}return s.join("")}(s,t):"",i.length>0&&n.push("
    "+i+"
    "),n.push(function(e,t,a,n){if(!e)return"";var r=[];if(e["!margins"]&&(r.push(""),e["!margins"].header&&r.push(Bh("Header",null,{"x:Margin":e["!margins"].header})),e["!margins"].footer&&r.push(Bh("Footer",null,{"x:Margin":e["!margins"].footer})),r.push(Bh("PageMargins",null,{"x:Bottom":e["!margins"].bottom||"0.75","x:Left":e["!margins"].left||"0.7","x:Right":e["!margins"].right||"0.7","x:Top":e["!margins"].top||"0.75"})),r.push("")),n&&n.Workbook&&n.Workbook.Sheets&&n.Workbook.Sheets[a])if(n.Workbook.Sheets[a].Hidden)r.push(Bh("Visible",1==n.Workbook.Sheets[a].Hidden?"SheetHidden":"SheetVeryHidden",{}));else{for(var s=0;s")}return((((n||{}).Workbook||{}).Views||[])[0]||{}).RTL&&r.push(""),e["!protect"]&&(r.push(Nh("ProtectContents","True")),e["!protect"].objects&&r.push(Nh("ProtectObjects","True")),e["!protect"].scenarios&&r.push(Nh("ProtectScenarios","True")),null==e["!protect"].selectLockedCells||e["!protect"].selectLockedCells?null==e["!protect"].selectUnlockedCells||e["!protect"].selectUnlockedCells||r.push(Nh("EnableSelection","UnlockedCells")):r.push(Nh("EnableSelection","NoSelection")),[["formatCells","AllowFormatCells"],["formatColumns","AllowSizeCols"],["formatRows","AllowSizeRows"],["insertColumns","AllowInsertCols"],["insertRows","AllowInsertRows"],["insertHyperlinks","AllowInsertHyperlinks"],["deleteColumns","AllowDeleteCols"],["deleteRows","AllowDeleteRows"],["sort","AllowSort"],["autoFilter","AllowFilter"],["pivotTables","AllowUsePivotTables"]].forEach(function(t){e["!protect"][t[0]]&&r.push("<"+t[1]+"/>")})),0==r.length?"":Bh("WorksheetOptions",r.join(""),{xmlns:Qh})}(s,0,e,a)),n.join("")}function jw(e,t){t||(t={}),e.SSF||(e.SSF=Ud(Pu)),e.SSF&&(fd(),pd(e.SSF),t.revssf=Ed(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF,t.cellXfs=[],db(t.cellXfs,{},{revssf:{General:0}}));var a=[];a.push(Pw(e,t)),a.push(""),a.push(""),a.push("");for(var n=0;n'];return t.cellXfs.forEach(function(e,t){var n=[];n.push(Bh("NumberFormat",null,{"ss:Format":ph(Pu[e.numFmtId])}));var r={"ss:ID":"s"+(21+t)};a.push(Bh("Style",n.join(""),r))}),Bh("Styles",a.join(""))}(0,t),a[3]=function(e){if(!((e||{}).Workbook||{}).Names)return"";for(var t=e.Workbook.Names,a=[],n=0;n40?t:(a.l-=4,t.Reserved1=a.read_shift(0,"lpstr-ansi"),a.length-a.l<=4||1907505652!==(n=a.read_shift(4))?t:(t.UnicodeClipboardFormat=function(e){return Mf(e,2)}(a),0==(n=a.read_shift(4))||n>40?t:(a.l-=4,void(t.Reserved2=a.read_shift(0,"lpwstr")))))}var Rw=[60,1084,2066,2165,2175];function zw(e,t,a,n,r){var s=n,i=[],o=a.slice(a.l,a.l+s);if(r&&r.enc&&r.enc.insitu&&o.length>0)switch(e){case 9:case 521:case 1033:case 2057:case 47:case 405:case 225:case 406:case 312:case 404:case 10:case 133:break;default:r.enc.insitu(o)}i.push(o),a.l+=s;for(var l=Dp(a,a.l),c=Zw[l],u=0;null!=c&&Rw.indexOf(l)>-1;)s=Dp(a,a.l+2),u=a.l+4,2066==l?u+=4:2165!=l&&2175!=l||(u+=12),o=a.slice(u,a.l+4+s),i.push(o),a.l+=4+s,c=Zw[l=Dp(a,a.l)];var d=xu(i);jp(d,0);var h=0;d.lens=[];for(var p=0;p1||n.sheetRows&&e.r>=n.sheetRows)){if(n.cellStyles&&t.XF&&t.XF.data&&function(e,t,a){var n,r=t.XF.data;r&&r.patternType&&a&&a.cellStyles&&(t.s={},t.s.patternType=r.patternType,(n=hy(F(r.icvFore)))&&(t.s.fgColor={rgb:n}),(n=hy(F(r.icvBack)))&&(t.s.bgColor={rgb:n}))}(0,t,n),delete t.ixfe,delete t.XF,a=e,b=Qp(e),f&&f.s&&f.e||(f={s:{r:0,c:0},e:{r:0,c:0}}),e.rf.e.r&&(f.e.r=e.r+1),e.c+1>f.e.c&&(f.e.c=e.c+1),n.cellFormula&&t.f)for(var r=0;re.c||x[r][0].s.r>e.r||x[r][0].e.c>8)!==$)throw new Error("rt mismatch: "+W+"!="+$);12==G.r&&(e.l+=10,Y-=10)}var V={};if(V=10===$?G.f(e,Y,A):zw($,G,e,Y,A),0==U&&-1===[9,521,1033,2057].indexOf(O))continue;switch($){case 34:u.opts.Date1904=E.WBProps.date1904=V;break;case 134:u.opts.WriteProtect=!0;break;case 47:if(A.enc||(e.l=0),A.enc=V,!t.password)throw new Error("File is password-protected");if(null==V.valid)throw new Error("Encryption scheme unsupported");if(!V.valid)throw new Error("Password is incorrect");break;case 92:A.lastuser=V;break;case 66:var K=Number(V);switch(K){case 21010:K=1200;break;case 32768:K=1e4;break;case 32769:K=1252}au(A.codepage=K),z=!0;break;case 317:A.rrtabid=V;break;case 25:A.winlocked=V;break;case 439:u.opts.RefreshAll=V;break;case 12:u.opts.CalcCount=V;break;case 16:u.opts.CalcDelta=V;break;case 17:u.opts.CalcIter=V;break;case 13:u.opts.CalcMode=V;break;case 14:u.opts.CalcPrecision=V;break;case 95:u.opts.CalcSaveRecalc=V;break;case 15:A.CalcRefMode=V;break;case 2211:u.opts.FullCalc=V;break;case 129:V.fDialog&&(h["!type"]="dialog"),V.fBelow||((h["!outline"]||(h["!outline"]={})).above=!0),V.fRight||((h["!outline"]||(h["!outline"]={})).left=!0);break;case 224:k.push(V);break;case 430:B.push([V]),B[B.length-1].XTI=[];break;case 35:case 547:B[B.length-1].push(V);break;case 24:case 536:M={Name:V.Name,Ref:Hv(V.rgce,0,null,B,A)},V.itab>0&&(M.Sheet=V.itab-1),B.names.push(M),B[0]||(B[0]=[],B[0].XTI=[]),B[B.length-1].push(V),"_xlnm._FilterDatabase"==V.Name&&V.itab>0&&V.rgce&&V.rgce[0]&&V.rgce[0][0]&&"PtgArea3d"==V.rgce[0][0][0]&&(R[V.itab-1]={ref:tf(V.rgce[0][0][1][2])});break;case 22:A.ExternCount=V;break;case 23:0==B.length&&(B[0]=[],B[0].XTI=[]),B[B.length-1].XTI=B[B.length-1].XTI.concat(V),B.XTI=B.XTI.concat(V);break;case 2196:if(A.biff<8)break;null!=M&&(M.Comment=V[1]);break;case 18:h["!protect"]=V;break;case 19:0!==V&&A.WTF&&console.error("Password verifier: "+V);break;case 133:p[V.pos]=V,A.snames.push(V.name);break;case 10:if(--U)break;if(f.e){if(f.e.r>0&&f.e.c>0){if(f.e.r--,f.e.c--,h["!ref"]=tf(f),t.sheetRows&&t.sheetRows<=f.e.r){var J=f.e.r;f.e.r=t.sheetRows-1,h["!fullref"]=h["!ref"],h["!ref"]=tf(f),f.e.r=J}f.e.r++,f.e.c++}T.length>0&&(h["!merges"]=T),S.length>0&&(h["!objects"]=S),I.length>0&&(h["!cols"]=I),N.length>0&&(h["!rows"]=N),E.Sheets.push(C)}""===y?v=h:d[y]=h,h=t.dense?[]:{};break;case 9:case 521:case 1033:case 2057:if(8===A.biff&&(A.biff={9:2,521:3,1033:4}[$]||{512:2,768:3,1024:4,1280:5,1536:8,2:2,7:2}[V.BIFFVer]||8),A.biffguess=0==V.BIFFVer,0==V.BIFFVer&&4096==V.dt&&(A.biff=5,z=!0,au(A.codepage=28591)),8==A.biff&&0==V.BIFFVer&&16==V.dt&&(A.biff=2),U++)break;if(h=t.dense?[]:{},A.biff<8&&!z&&(z=!0,au(A.codepage=t.codepage||1252)),A.biff<5||0==V.BIFFVer&&4096==V.dt){""===y&&(y="Sheet1"),f={s:{r:0,c:0},e:{r:0,c:0}};var q={pos:e.l-Y,name:y};p[q.pos]=q,A.snames.push(y)}else y=(p[H]||{name:""}).name;32==V.dt&&(h["!type"]="chart"),64==V.dt&&(h["!type"]="macro"),T=[],S=[],A.arrayf=x=[],I=[],N=[],P=!1,C={Hidden:(p[H]||{hs:0}).hs,name:y};break;case 515:case 3:case 2:"chart"==h["!type"]&&(t.dense?(h[V.r]||[])[V.c]:h[Qp({c:V.c,r:V.r})])&&++V.c,o={ixfe:V.ixfe,XF:k[V.ixfe]||{},v:V.val,t:"n"},j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 5:case 517:o={ixfe:V.ixfe,XF:k[V.ixfe],v:V.val,t:V.t},j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 638:o={ixfe:V.ixfe,XF:k[V.ixfe],v:V.rknum,t:"n"},j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 189:for(var Z=V.c;Z<=V.C;++Z){var X=V.rkrec[Z-V.c][0];o={ixfe:X,XF:k[X],v:V.rkrec[Z-V.c][1],t:"n"},j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D({c:Z,r:V.r},o,t)}break;case 6:case 518:case 1030:if("String"==V.val){m=V;break}if((o=$w(V.val,V.cell.ixfe,V.tt)).XF=k[o.ixfe],t.cellFormula){var Q=V.formula;if(Q&&Q[0]&&Q[0][0]&&"PtgExp"==Q[0][0][0]){var ee=Q[0][0][1][0],te=Q[0][0][1][1],ae=Qp({r:ee,c:te});w[ae]?o.f=""+Hv(V.formula,0,V.cell,B,A):o.F=((t.dense?(h[ee]||[])[te]:h[ae])||{}).F}else o.f=""+Hv(V.formula,0,V.cell,B,A)}j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D(V.cell,o,t),m=V;break;case 7:case 519:if(!m)throw new Error("String record expects Formula");m.val=V,(o=$w(V,m.cell.ixfe,"s")).XF=k[o.ixfe],t.cellFormula&&(o.f=""+Hv(m.formula,0,m.cell,B,A)),j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D(m.cell,o,t),m=null;break;case 33:case 545:x.push(V);var ne=Qp(V[0].s);if(n=t.dense?(h[V[0].s.r]||[])[V[0].s.c]:h[ne],t.cellFormula&&n){if(!m)break;if(!ne||!n)break;n.f=""+Hv(V[1],0,V[0],B,A),n.F=tf(V[0])}break;case 1212:if(!t.cellFormula)break;if(b){if(!m)break;w[Qp(m.cell)]=V[0],((n=t.dense?(h[m.cell.r]||[])[m.cell.c]:h[Qp(m.cell)])||{}).f=""+Hv(V[0],0,a,B,A)}break;case 253:o=$w(g[V.isst].t,V.ixfe,"s"),g[V.isst].h&&(o.h=g[V.isst].h),o.XF=k[o.ixfe],j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 513:t.sheetStubs&&(o={ixfe:V.ixfe,XF:k[V.ixfe],t:"z"},j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t));break;case 190:if(t.sheetStubs)for(var re=V.c;re<=V.C;++re){var se=V.ixfe[re-V.c];o={ixfe:se,XF:k[se],t:"z"},j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D({c:re,r:V.r},o,t)}break;case 214:case 516:case 4:(o=$w(V.val,V.ixfe,"s")).XF=k[o.ixfe],j>0&&(o.z=L[o.ixfe>>8&63]),Hw(o,t,u.opts.Date1904),D({c:V.c,r:V.r},o,t);break;case 0:case 512:1===U&&(f=V);break;case 252:g=V;break;case 1054:if(4==A.biff){L[j++]=V[1];for(var ie=0;ie=163&&hd(V[1],j+163)}else hd(V[1],V[0]);break;case 30:L[j++]=V;for(var oe=0;oe=163&&hd(V,j+163);break;case 229:T=T.concat(V);break;case 93:S[V.cmo[0]]=A.lastobj=V;break;case 438:A.lastobj.TxO=V;break;case 127:A.lastobj.ImData=V;break;case 440:for(i=V[0].s.r;i<=V[0].e.r;++i)for(s=V[0].s.c;s<=V[0].e.c;++s)(n=t.dense?(h[i]||[])[s]:h[Qp({c:s,r:i})])&&(n.l=V[1]);break;case 2048:for(i=V[0].s.r;i<=V[0].e.r;++i)for(s=V[0].s.c;s<=V[0].e.c;++s)(n=t.dense?(h[i]||[])[s]:h[Qp({c:s,r:i})])&&n.l&&(n.l.Tooltip=V[1]);break;case 28:if(A.biff<=5&&A.biff>=2)break;n=t.dense?(h[V[0].r]||[])[V[0].c]:h[Qp(V[0])];var le=S[V[2]];n||(t.dense?(h[V[0].r]||(h[V[0].r]=[]),n=h[V[0].r][V[0].c]={t:"z"}):n=h[Qp(V[0])]={t:"z"},f.e.r=Math.max(f.e.r,V[0].r),f.s.r=Math.min(f.s.r,V[0].r),f.e.c=Math.max(f.e.c,V[0].c),f.s.c=Math.min(f.s.c,V[0].c)),n.c||(n.c=[]),r={a:V[1],t:le.TxO.t},n.c.push(r);break;case 2173:ev(k[V.ixfe],V.ext);break;case 125:if(!A.cellStyles)break;for(;V.e>=V.s;)I[V.e--]={width:V.w/256,level:V.level||0,hidden:!!(1&V.flags)},P||(P=!0,by(V.w/256)),wy(I[V.e+1]);break;case 520:var ce={};null!=V.level&&(N[V.r]=ce,ce.level=V.level),V.hidden&&(N[V.r]=ce,ce.hidden=!0),V.hpt&&(N[V.r]=ce,ce.hpt=V.hpt,ce.hpx=_y(V.hpt));break;case 38:case 39:case 40:case 41:h["!margins"]||ub(h["!margins"]={}),h["!margins"][{38:"left",39:"right",40:"top",41:"bottom"}[$]]=V;break;case 161:h["!margins"]||ub(h["!margins"]={}),h["!margins"].header=V.header,h["!margins"].footer=V.footer;break;case 574:V.RTL&&(E.Views[0].RTL=!0);break;case 146:_=V;break;case 2198:c=V;break;case 140:l=V;break;case 442:y?C.CodeName=V||C.name:E.WBProps.CodeName=V||"ThisWorkbook"}}else G||console.error("Missing Info for XLS Record 0x"+$.toString(16)),e.l+=Y}return u.SheetNames=xd(p).sort(function(e,t){return Number(e)-Number(t)}).map(function(e){return p[e].name}),t.bookSheets||(u.Sheets=d),!u.SheetNames.length&&v["!ref"]?(u.SheetNames.push("Sheet1"),u.Sheets&&(u.Sheets.Sheet1=v)):u.Preamble=v,u.Sheets&&R.forEach(function(e,t){u.Sheets[u.SheetNames[t]]["!autofilter"]=e}),u.Strings=g,u.SSF=Ud(Pu),A.enc&&(u.Encryption=A.enc),c&&(u.Themes=c),u.Metadata={},void 0!==l&&(u.Metadata.Country=l),B.names.length>0&&(E.Names=B.names),u.Workbook=E,u}var Gw="e0859ff2f94f6810ab9108002b27b3d9",Ww="02d5cdd59c2e1b10939708002b2cf9ae",Vw="05d5cdd59c2e1b10939708002b2cf9ae";function Kw(e,t){var a,n,r,s;if(t||(t={}),qx(t),nu(),t.codepage&&tu(t.codepage),e.FullPaths){if(vd.find(e,"/encryption"))throw new Error("File is password-protected");a=vd.find(e,"!CompObj"),n=vd.find(e,"/Workbook")||vd.find(e,"/Book")}else{switch(t.type){case"base64":e=yu(hu(e));break;case"binary":e=yu(e);break;case"buffer":break;case"array":Array.isArray(e)||(e=Array.prototype.slice.call(e))}jp(e,0),n={content:e}}if(a&&Lw(a),t.bookProps&&!t.bookSheets)r={};else{var i=pu?"buffer":"array";if(n&&n.content)r=Yw(n.content,t);else if((s=vd.find(e,"PerfectOffice_MAIN"))&&s.content)r=jg.to_workbook(s.content,(t.type=i,t));else{if(!(s=vd.find(e,"NativeContent_MAIN"))||!s.content)throw(s=vd.find(e,"MN0"))&&s.content?new Error("Unsupported Works 4 for Mac file"):new Error("Cannot find Workbook stream");r=jg.to_workbook(s.content,(t.type=i,t))}t.bookVBA&&e.FullPaths&&vd.find(e,"/_VBA_PROJECT_CUR/VBA/dir")&&(r.vbaraw=function(e){var t=vd.utils.cfb_new({root:"R"});return e.FullPaths.forEach(function(a,n){if("/"!==a.slice(-1)&&a.match(/_VBA_PROJECT_CUR/)){var r=a.replace(/^[^\/]*/,"R").replace(/\/_VBA_PROJECT_CUR\u0000*/,"");vd.utils.cfb_add(t,r,e.FileIndex[n].content)}}),vd.write(t)}(e))}var o={};return e.FullPaths&&function(e,t,a){var n=vd.find(e,"/!DocumentSummaryInformation");if(n&&n.size>0)try{var r=Im(n,jf,Ww);for(var s in r)t[s]=r[s]}catch(mB){if(a.WTF)throw mB}var i=vd.find(e,"/!SummaryInformation");if(i&&i.size>0)try{var o=Im(i,Lf,Gw);for(var l in o)null==t[l]&&(t[l]=o[l])}catch(mB){if(a.WTF)throw mB}t.HeadingPairs&&t.TitlesOfParts&&(um(t.HeadingPairs,t.TitlesOfParts,t,a),delete t.HeadingPairs,delete t.TitlesOfParts)}(e,o,t),r.Props=r.Custprops=o,t.bookFiles&&(r.cfb=e),r}function Jw(e,t){var a=t||{},n=vd.utils.cfb_new({root:"R"}),r="/Workbook";switch(a.bookType||"xls"){case"xls":a.bookType="biff8";case"xla":a.bookType||(a.bookType="xla");case"biff8":r="/Workbook",a.biff=8;break;case"biff5":r="/Book",a.biff=5;break;default:throw new Error("invalid type "+a.bookType+" for XLS CFB")}return vd.utils.cfb_add(n,r,ox(e,a)),8==a.biff&&(e.Props||e.Custprops)&&function(e,t){var a,n=[],r=[],s=[],i=0,o=kd(jf,"n"),l=kd(Lf,"n");if(e.Props)for(a=xd(e.Props),i=0;i-1||cm.indexOf(s[i][0])>-1||null!=s[i][1]&&c.push(s[i]);r.length&&vd.utils.cfb_add(t,"/SummaryInformation",Nm(r,Gw,l,Lf)),(n.length||c.length)&&vd.utils.cfb_add(t,"/DocumentSummaryInformation",Nm(n,Ww,o,jf,c.length?c:null,Vw))}(e,n),8==a.biff&&e.vbaraw&&function(e,t){t.FullPaths.forEach(function(a,n){if(0!=n){var r=a.replace(/[^\/]*[\/]/,"/_VBA_PROJECT_CUR/");"/"!==r.slice(-1)&&vd.utils.cfb_add(e,r,t.FileIndex[n].content)}})}(n,vd.read(e.vbaraw,{type:"string"==typeof e.vbaraw?"binary":"buffer"})),n}var qw={0:{f:function(e,t){var a={},n=e.l+t;a.r=e.read_shift(4),e.l+=4;var r=e.read_shift(2);e.l+=1;var s=e.read_shift(1);return e.l=n,7&s&&(a.level=7&s),16&s&&(a.hidden=!0),32&s&&(a.hpt=r/20),a}},1:{f:function(e){return[gf(e)]}},2:{f:function(e){return[gf(e),Df(e),"n"]}},3:{f:function(e){return[gf(e),e.read_shift(1),"e"]}},4:{f:function(e){return[gf(e),e.read_shift(1),"b"]}},5:{f:function(e){return[gf(e),Nf(e),"n"]}},6:{f:function(e){return[gf(e),uf(e),"str"]}},7:{f:function(e){return[gf(e),e.read_shift(4),"s"]}},8:{f:function(e,t,a){var n=e.l+t,r=gf(e);r.r=a["!row"];var s=[r,uf(e),"str"];if(a.cellFormula){e.l+=2;var i=Jv(e,n-e.l,a);s[3]=Hv(i,0,r,a.supbooks,a)}else e.l=n;return s}},9:{f:function(e,t,a){var n=e.l+t,r=gf(e);r.r=a["!row"];var s=[r,Nf(e),"n"];if(a.cellFormula){e.l+=2;var i=Jv(e,n-e.l,a);s[3]=Hv(i,0,r,a.supbooks,a)}else e.l=n;return s}},10:{f:function(e,t,a){var n=e.l+t,r=gf(e);r.r=a["!row"];var s=[r,e.read_shift(1),"b"];if(a.cellFormula){e.l+=2;var i=Jv(e,n-e.l,a);s[3]=Hv(i,0,r,a.supbooks,a)}else e.l=n;return s}},11:{f:function(e,t,a){var n=e.l+t,r=gf(e);r.r=a["!row"];var s=[r,e.read_shift(1),"e"];if(a.cellFormula){e.l+=2;var i=Jv(e,n-e.l,a);s[3]=Hv(i,0,r,a.supbooks,a)}else e.l=n;return s}},12:{f:function(e){return[vf(e)]}},13:{f:function(e){return[vf(e),Df(e),"n"]}},14:{f:function(e){return[vf(e),e.read_shift(1),"e"]}},15:{f:function(e){return[vf(e),e.read_shift(1),"b"]}},16:{f:Mb},17:{f:function(e){return[vf(e),uf(e),"str"]}},18:{f:function(e){return[vf(e),e.read_shift(4),"s"]}},19:{f:pf},20:{},21:{},22:{},23:{},24:{},25:{},26:{},27:{},28:{},29:{},30:{},31:{},32:{},33:{},34:{},35:{T:1},36:{T:-1},37:{T:1},38:{T:-1},39:{f:function(e,t,a){var n=e.l+t;e.l+=4,e.l+=1;var r=e.read_shift(4),s=Ef(e),i=qv(e,0,a),o=kf(e);e.l=n;var l={Name:s,Ptg:i};return r<268435455&&(l.Sheet=r),o&&(l.Comment=o),l}},40:{},42:{},43:{f:function(e,t,a){var n={};n.sz=e.read_shift(2)/20;var r=function(e){var t=e.read_shift(1);return e.l++,{fBold:1&t,fItalic:2&t,fUnderline:4&t,fStrikeout:8&t,fOutline:16&t,fShadow:32&t,fCondense:64&t,fExtend:128&t}}(e);switch(r.fItalic&&(n.italic=1),r.fCondense&&(n.condense=1),r.fExtend&&(n.extend=1),r.fShadow&&(n.shadow=1),r.fOutline&&(n.outline=1),r.fStrikeout&&(n.strike=1),700===e.read_shift(2)&&(n.bold=1),e.read_shift(2)){case 1:n.vertAlign="superscript";break;case 2:n.vertAlign="subscript"}var s=e.read_shift(1);0!=s&&(n.underline=s);var i=e.read_shift(1);i>0&&(n.family=i);var o=e.read_shift(1);switch(o>0&&(n.charset=o),e.l++,n.color=function(e){var t={},a=e.read_shift(1)>>>1,n=e.read_shift(1),r=e.read_shift(2,"i"),s=e.read_shift(1),i=e.read_shift(1),o=e.read_shift(1);switch(e.l++,a){case 0:t.auto=1;break;case 1:t.index=n;var l=$f[n];l&&(t.rgb=hy(l));break;case 2:t.rgb=hy([s,i,o]);break;case 3:t.theme=n}return 0!=r&&(t.tint=r>0?r/32767:r/32768),t}(e),e.read_shift(1)){case 1:n.scheme="major";break;case 2:n.scheme="minor"}return n.name=uf(e),n}},44:{f:function(e,t){return[e.read_shift(2),uf(e)]}},45:{f:Py},46:{f:Uy},47:{f:function(e,t){var a=e.l+t,n=e.read_shift(2),r=e.read_shift(2);return e.l=a,{ixfe:n,numFmtId:r}}},48:{},49:{f:function(e){return e.read_shift(4,"i")}},50:{},51:{f:function(e){for(var t=[],a=e.read_shift(4);a-- >0;)t.push([e.read_shift(4),e.read_shift(4)]);return t}},52:{T:1},53:{T:-1},54:{T:1},55:{T:-1},56:{T:1},57:{T:-1},58:{},59:{},60:{f:Ag},62:{f:function(e){return[gf(e),pf(e),"is"]}},63:{f:function(e){var t={};t.i=e.read_shift(4);var a={};a.r=e.read_shift(4),a.c=e.read_shift(4),t.r=Qp(a);var n=e.read_shift(1);return 2&n&&(t.l="1"),8&n&&(t.a="1"),t}},64:{f:function(){}},65:{},66:{},67:{},68:{},69:{},70:{},128:{},129:{T:1},130:{T:-1},131:{T:1,f:Lp,p:0},132:{T:-1},133:{T:1},134:{T:-1},135:{T:1},136:{T:-1},137:{T:1,f:function(e){var t=e.read_shift(2);return e.l+=28,{RTL:32&t}}},138:{T:-1},139:{T:1},140:{T:-1},141:{T:1},142:{T:-1},143:{T:1},144:{T:-1},145:{T:1},146:{T:-1},147:{f:function(e,t){var a={},n=e[e.l];return++e.l,a.above=!(64&n),a.left=!(128&n),e.l+=18,a.name=wf(e),a}},148:{f:Pb,p:16},151:{f:function(){}},152:{},153:{f:function(e,t){var a={},n=e.read_shift(4);a.defaultThemeVersion=e.read_shift(4);var r=t>8?uf(e):"";return r.length>0&&(a.CodeName=r),a.autoCompressPictures=!!(65536&n),a.backupFile=!!(64&n),a.checkCompatibility=!!(4096&n),a.date1904=!!(1&n),a.filterPrivacy=!!(8&n),a.hidePivotFieldList=!!(1024&n),a.promptedSolutions=!!(16&n),a.publishItems=!!(2048&n),a.refreshAllConnections=!!(262144&n),a.saveExternalLinkValues=!!(128&n),a.showBorderUnselectedTables=!!(4&n),a.showInkAnnotation=!!(32&n),a.showObjects=["all","placeholders","none"][n>>13&3],a.showPivotChartFilter=!!(32768&n),a.updateLinks=["userSet","never","always"][n>>8&3],a}},154:{},155:{},156:{f:function(e,t){var a={};return a.Hidden=e.read_shift(4),a.iTabID=e.read_shift(4),a.strRelID=Cf(e),a.name=uf(e),a}},157:{},158:{},159:{T:1,f:function(e){return[e.read_shift(4),e.read_shift(4)]}},160:{T:-1},161:{T:1,f:Sf},162:{T:-1},163:{T:1},164:{T:-1},165:{T:1},166:{T:-1},167:{},168:{},169:{},170:{},171:{},172:{T:1},173:{T:-1},174:{},175:{},176:{f:Ob},177:{T:1},178:{T:-1},179:{T:1},180:{T:-1},181:{T:1},182:{T:-1},183:{T:1},184:{T:-1},185:{T:1},186:{T:-1},187:{T:1},188:{T:-1},189:{T:1},190:{T:-1},191:{T:1},192:{T:-1},193:{T:1},194:{T:-1},195:{T:1},196:{T:-1},197:{T:1},198:{T:-1},199:{T:1},200:{T:-1},201:{T:1},202:{T:-1},203:{T:1},204:{T:-1},205:{T:1},206:{T:-1},207:{T:1},208:{T:-1},209:{T:1},210:{T:-1},211:{T:1},212:{T:-1},213:{T:1},214:{T:-1},215:{T:1},216:{T:-1},217:{T:1},218:{T:-1},219:{T:1},220:{T:-1},221:{T:1},222:{T:-1},223:{T:1},224:{T:-1},225:{T:1},226:{T:-1},227:{T:1},228:{T:-1},229:{T:1},230:{T:-1},231:{T:1},232:{T:-1},233:{T:1},234:{T:-1},235:{T:1},236:{T:-1},237:{T:1},238:{T:-1},239:{T:1},240:{T:-1},241:{T:1},242:{T:-1},243:{T:1},244:{T:-1},245:{T:1},246:{T:-1},247:{T:1},248:{T:-1},249:{T:1},250:{T:-1},251:{T:1},252:{T:-1},253:{T:1},254:{T:-1},255:{T:1},256:{T:-1},257:{T:1},258:{T:-1},259:{T:1},260:{T:-1},261:{T:1},262:{T:-1},263:{T:1},264:{T:-1},265:{T:1},266:{T:-1},267:{T:1},268:{T:-1},269:{T:1},270:{T:-1},271:{T:1},272:{T:-1},273:{T:1},274:{T:-1},275:{T:1},276:{T:-1},277:{},278:{T:1},279:{T:-1},280:{T:1},281:{T:-1},282:{T:1},283:{T:1},284:{T:-1},285:{T:1},286:{T:-1},287:{T:1},288:{T:-1},289:{T:1},290:{T:-1},291:{T:1},292:{T:-1},293:{T:1},294:{T:-1},295:{T:1},296:{T:-1},297:{T:1},298:{T:-1},299:{T:1},300:{T:-1},301:{T:1},302:{T:-1},303:{T:1},304:{T:-1},305:{T:1},306:{T:-1},307:{T:1},308:{T:-1},309:{T:1},310:{T:-1},311:{T:1},312:{T:-1},313:{T:-1},314:{T:1},315:{T:-1},316:{T:1},317:{T:-1},318:{T:1},319:{T:-1},320:{T:1},321:{T:-1},322:{T:1},323:{T:-1},324:{T:1},325:{T:-1},326:{T:1},327:{T:-1},328:{T:1},329:{T:-1},330:{T:1},331:{T:-1},332:{T:1},333:{T:-1},334:{T:1},335:{f:function(e,t){return{flags:e.read_shift(4),version:e.read_shift(4),name:uf(e)}}},336:{T:-1},337:{f:function(e){return e.l+=4,0!=e.read_shift(4)},T:1},338:{T:-1},339:{T:1},340:{T:-1},341:{T:1},342:{T:-1},343:{T:1},344:{T:-1},345:{T:1},346:{T:-1},347:{T:1},348:{T:-1},349:{T:1},350:{T:-1},351:{},352:{},353:{T:1},354:{T:-1},355:{f:Cf},357:{},358:{},359:{},360:{T:1},361:{},362:{f:_g},363:{},364:{},366:{},367:{},368:{},369:{},370:{},371:{},372:{T:1},373:{T:-1},374:{T:1},375:{T:-1},376:{T:1},377:{T:-1},378:{T:1},379:{T:-1},380:{T:1},381:{T:-1},382:{T:1},383:{T:-1},384:{T:1},385:{T:-1},386:{T:1},387:{T:-1},388:{T:1},389:{T:-1},390:{T:1},391:{T:-1},392:{T:1},393:{T:-1},394:{T:1},395:{T:-1},396:{},397:{},398:{},399:{},400:{},401:{T:1},403:{},404:{},405:{},406:{},407:{},408:{},409:{},410:{},411:{},412:{},413:{},414:{},415:{},416:{},417:{},418:{},419:{},420:{},421:{},422:{T:1},423:{T:1},424:{T:-1},425:{T:-1},426:{f:function(e,t,a){var n=e.l+t,r=Tf(e),s=e.read_shift(1),i=[r];if(i[2]=s,a.cellFormula){var o=Kv(e,n-e.l,a);i[1]=o}else e.l=n;return i}},427:{f:function(e,t,a){var n=e.l+t,r=[Sf(e)];if(a.cellFormula){var s=Zv(e,n-e.l,a);r[1]=s,e.l=n}else e.l=n;return r}},428:{},429:{T:1},430:{T:-1},431:{T:1},432:{T:-1},433:{T:1},434:{T:-1},435:{T:1},436:{T:-1},437:{T:1},438:{T:-1},439:{T:1},440:{T:-1},441:{T:1},442:{T:-1},443:{T:1},444:{T:-1},445:{T:1},446:{T:-1},447:{T:1},448:{T:-1},449:{T:1},450:{T:-1},451:{T:1},452:{T:-1},453:{T:1},454:{T:-1},455:{T:1},456:{T:-1},457:{T:1},458:{T:-1},459:{T:1},460:{T:-1},461:{T:1},462:{T:-1},463:{T:1},464:{T:-1},465:{T:1},466:{T:-1},467:{T:1},468:{T:-1},469:{T:1},470:{T:-1},471:{},472:{},473:{T:1},474:{T:-1},475:{},476:{f:function(e){var t={};return jb.forEach(function(a){t[a]=Nf(e)}),t}},477:{},478:{},479:{T:1},480:{T:-1},481:{T:1},482:{T:-1},483:{T:1},484:{T:-1},485:{f:function(){}},486:{T:1},487:{T:-1},488:{T:1},489:{T:-1},490:{T:1},491:{T:-1},492:{T:1},493:{T:-1},494:{f:function(e,t){var a=e.l+t,n=Sf(e),r=kf(e),s=uf(e),i=uf(e),o=uf(e);e.l=a;var l={rfx:n,relId:r,loc:s,display:o};return i&&(l.Tooltip=i),l}},495:{T:1},496:{T:-1},497:{T:1},498:{T:-1},499:{},500:{T:1},501:{T:-1},502:{T:1},503:{T:-1},504:{},505:{T:1},506:{T:-1},507:{},508:{T:1},509:{T:-1},510:{T:1},511:{T:-1},512:{},513:{},514:{T:1},515:{T:-1},516:{T:1},517:{T:-1},518:{T:1},519:{T:-1},520:{T:1},521:{T:-1},522:{},523:{},524:{},525:{},526:{},527:{},528:{T:1},529:{T:-1},530:{T:1},531:{T:-1},532:{T:1},533:{T:-1},534:{},535:{},536:{},537:{},538:{T:1},539:{T:-1},540:{T:1},541:{T:-1},542:{T:1},548:{},549:{},550:{f:Cf},551:{},552:{},553:{},554:{T:1},555:{T:-1},556:{T:1},557:{T:-1},558:{T:1},559:{T:-1},560:{T:1},561:{T:-1},562:{},564:{},565:{T:1},566:{T:-1},569:{T:1},570:{T:-1},572:{},573:{T:1},574:{T:-1},577:{},578:{},579:{},580:{},581:{},582:{},583:{},584:{},585:{},586:{},587:{},588:{T:-1},589:{},590:{T:1},591:{T:-1},592:{T:1},593:{T:-1},594:{T:1},595:{T:-1},596:{},597:{T:1},598:{T:-1},599:{T:1},600:{T:-1},601:{T:1},602:{T:-1},603:{T:1},604:{T:-1},605:{T:1},606:{T:-1},607:{},608:{T:1},609:{T:-1},610:{},611:{T:1},612:{T:-1},613:{T:1},614:{T:-1},615:{T:1},616:{T:-1},617:{T:1},618:{T:-1},619:{T:1},620:{T:-1},625:{},626:{T:1},627:{T:-1},628:{T:1},629:{T:-1},630:{T:1},631:{T:-1},632:{f:lv},633:{T:1},634:{T:-1},635:{T:1,f:function(e){var t={};t.iauthor=e.read_shift(4);var a=Sf(e);return t.rfx=a.s,t.ref=Qp(a.s),e.l+=16,t}},636:{T:-1},637:{f:ff},638:{T:1},639:{},640:{T:-1},641:{T:1},642:{T:-1},643:{T:1},644:{},645:{T:-1},646:{T:1},648:{T:1},649:{},650:{T:-1},651:{f:function(e,t){return e.l+=10,{name:uf(e)}}},652:{},653:{T:1},654:{T:-1},655:{T:1},656:{T:-1},657:{T:1},658:{T:-1},659:{},660:{T:1},661:{},662:{T:-1},663:{},664:{T:1},665:{},666:{T:-1},667:{},668:{},669:{},671:{T:1},672:{T:-1},673:{T:1},674:{T:-1},675:{},676:{},677:{},678:{},679:{},680:{},681:{},1024:{},1025:{},1026:{T:1},1027:{T:-1},1028:{T:1},1029:{T:-1},1030:{},1031:{T:1},1032:{T:-1},1033:{T:1},1034:{T:-1},1035:{},1036:{},1037:{},1038:{T:1},1039:{T:-1},1040:{},1041:{T:1},1042:{T:-1},1043:{},1044:{},1045:{},1046:{T:1},1047:{T:-1},1048:{T:1},1049:{T:-1},1050:{},1051:{T:1},1052:{T:1},1053:{f:function(){}},1054:{T:1},1055:{},1056:{T:1},1057:{T:-1},1058:{T:1},1059:{T:-1},1061:{},1062:{T:1},1063:{T:-1},1064:{T:1},1065:{T:-1},1066:{T:1},1067:{T:-1},1068:{T:1},1069:{T:-1},1070:{T:1},1071:{T:-1},1072:{T:1},1073:{T:-1},1075:{T:1},1076:{T:-1},1077:{T:1},1078:{T:-1},1079:{T:1},1080:{T:-1},1081:{T:1},1082:{T:-1},1083:{T:1},1084:{T:-1},1085:{},1086:{T:1},1087:{T:-1},1088:{T:1},1089:{T:-1},1090:{T:1},1091:{T:-1},1092:{T:1},1093:{T:-1},1094:{T:1},1095:{T:-1},1096:{},1097:{T:1},1098:{},1099:{T:-1},1100:{T:1},1101:{T:-1},1102:{},1103:{},1104:{},1105:{},1111:{},1112:{},1113:{T:1},1114:{T:-1},1115:{T:1},1116:{T:-1},1117:{},1118:{T:1},1119:{T:-1},1120:{T:1},1121:{T:-1},1122:{T:1},1123:{T:-1},1124:{T:1},1125:{T:-1},1126:{},1128:{T:1},1129:{T:-1},1130:{},1131:{T:1},1132:{T:-1},1133:{T:1},1134:{T:-1},1135:{T:1},1136:{T:-1},1137:{T:1},1138:{T:-1},1139:{T:1},1140:{T:-1},1141:{},1142:{T:1},1143:{T:-1},1144:{T:1},1145:{T:-1},1146:{},1147:{T:1},1148:{T:-1},1149:{T:1},1150:{T:-1},1152:{T:1},1153:{T:-1},1154:{T:-1},1155:{T:-1},1156:{T:-1},1157:{T:1},1158:{T:-1},1159:{T:1},1160:{T:-1},1161:{T:1},1162:{T:-1},1163:{T:1},1164:{T:-1},1165:{T:1},1166:{T:-1},1167:{T:1},1168:{T:-1},1169:{T:1},1170:{T:-1},1171:{},1172:{T:1},1173:{T:-1},1177:{},1178:{T:1},1180:{},1181:{},1182:{},2048:{T:1},2049:{T:-1},2050:{},2051:{T:1},2052:{T:-1},2053:{},2054:{},2055:{T:1},2056:{T:-1},2057:{T:1},2058:{T:-1},2060:{},2067:{},2068:{T:1},2069:{T:-1},2070:{},2071:{},2072:{T:1},2073:{T:-1},2075:{},2076:{},2077:{T:1},2078:{T:-1},2079:{},2080:{T:1},2081:{T:-1},2082:{},2083:{T:1},2084:{T:-1},2085:{T:1},2086:{T:-1},2087:{T:1},2088:{T:-1},2089:{T:1},2090:{T:-1},2091:{},2092:{},2093:{T:1},2094:{T:-1},2095:{},2096:{T:1},2097:{T:-1},2098:{T:1},2099:{T:-1},2100:{T:1},2101:{T:-1},2102:{},2103:{T:1},2104:{T:-1},2105:{},2106:{T:1},2107:{T:-1},2108:{},2109:{T:1},2110:{T:-1},2111:{T:1},2112:{T:-1},2113:{T:1},2114:{T:-1},2115:{},2116:{},2117:{},2118:{T:1},2119:{T:-1},2120:{},2121:{T:1},2122:{T:-1},2123:{T:1},2124:{T:-1},2125:{},2126:{T:1},2127:{T:-1},2128:{},2129:{T:1},2130:{T:-1},2131:{T:1},2132:{T:-1},2133:{T:1},2134:{},2135:{},2136:{},2137:{T:1},2138:{T:-1},2139:{T:1},2140:{T:-1},2141:{},3072:{},3073:{},4096:{T:1},4097:{T:-1},5002:{T:1},5003:{T:-1},5081:{T:1},5082:{T:-1},5083:{},5084:{T:1},5085:{T:-1},5086:{T:1},5087:{T:-1},5088:{},5089:{},5090:{},5092:{T:1},5093:{T:-1},5094:{},5095:{T:1},5096:{T:-1},5097:{},5099:{},65535:{n:""}},Zw={6:{f:Gv},10:{f:Pm},12:{f:Om},13:{f:Om},14:{f:Bm},15:{f:Bm},16:{f:Nf},17:{f:Bm},18:{f:Bm},19:{f:Om},20:{f:bg},21:{f:bg},23:{f:_g},24:{f:kg},25:{f:Bm},26:{},27:{},28:{f:function(e,t,a){return function(e,t,a){if(!(a.biff<8)){var n=e.read_shift(2),r=e.read_shift(2),s=e.read_shift(2),i=e.read_shift(2),o=Gm(e,0,a);return a.biff<8&&e.read_shift(1),[{r:n,c:r},o,i,s]}}(e,0,a)}},29:{},34:{f:Bm},35:{f:wg},38:{f:Nf},39:{f:Nf},40:{f:Nf},41:{f:Nf},42:{f:Bm},43:{f:Bm},47:{f:function(e,t,a){var n={Type:a.biff>=8?e.read_shift(2):0};return n.Type?uy(e,t-2,n):function(e,t,a,n){var r={key:Om(e),verificationBytes:Om(e)};a.password&&(r.verifier=oy(a.password)),n.valid=r.verificationBytes===r.verifier,n.valid&&(n.insitu=cy(a.password))}(e,a.biff,a,n),n}},49:{f:function(e,t,a){var n={dyHeight:e.read_shift(2),fl:e.read_shift(2)};switch(a&&a.biff||8){case 2:break;case 3:case 4:e.l+=2;break;default:e.l+=10}return n.name=Rm(e,0,a),n}},51:{f:Om},60:{},61:{f:function(e){return{Pos:[e.read_shift(2),e.read_shift(2)],Dim:[e.read_shift(2),e.read_shift(2)],Flags:e.read_shift(2),CurTab:e.read_shift(2),FirstTab:e.read_shift(2),Selected:e.read_shift(2),TabRatio:e.read_shift(2)}}},64:{f:Bm},65:{f:function(){}},66:{f:Om},77:{},80:{},81:{},82:{},85:{f:Om},89:{},90:{},91:{},92:{f:function(e,t,a){if(a.enc)return e.l+=t,"";var n=e.l,r=Gm(e,0,a);return e.read_shift(t+n-e.l),r}},93:{f:function(e,t,a){if(a&&a.biff<8)return function(e,t,a){e.l+=4;var n=e.read_shift(2),r=e.read_shift(2),s=e.read_shift(2);e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=2,e.l+=6,t-=36;var i=[];return i.push((Cg[n]||Lp)(e,t,a)),{cmo:[r,n,s],ft:i}}(e,t,a);var n=og(e),r=function(e,t){for(var a=e.l+t,n=[];e.l7||t[1]>7)throw new Error("Bad Gutters: "+t.join("|"));return t}},129:{f:function(e,t,a){var n=a&&8==a.biff||2==t?e.read_shift(2):(e.l+=t,0);return{fDialog:16&n,fBelow:64&n,fRight:128&n}}},130:{f:Om},131:{f:Bm},132:{f:Bm},133:{f:function(e,t,a){var n=e.read_shift(4),r=3&e.read_shift(1),s=e.read_shift(1);switch(s){case 0:s="Worksheet";break;case 1:s="Macrosheet";break;case 2:s="Chartsheet";break;case 6:s="VBAModule"}var i=Rm(e,0,a);return 0===i.length&&(i="Sheet1"),{pos:n,hs:r,dt:s,name:i}}},134:{},140:{f:function(e){var t,a=[0,0];return t=e.read_shift(2),a[0]=Rf[t]||t,t=e.read_shift(2),a[1]=Rf[t]||t,a}},141:{f:Om},144:{},146:{f:function(e){for(var t=e.read_shift(2),a=[];t-- >0;)a.push(Xm(e));return a}},151:{},152:{},153:{},154:{},155:{},156:{f:Om},157:{},158:{},160:{f:Sg},161:{f:function(e,t){var a={};return t<32||(e.l+=16,a.header=Nf(e),a.footer=Nf(e),e.l+=2),a}},174:{},175:{},176:{},177:{},178:{},180:{},181:{},182:{},184:{},185:{},189:{f:function(e,t){for(var a=e.l+t-2,n=e.read_shift(2),r=e.read_shift(2),s=[];e.l>2&1,n.data=function(e,t,a,n){var r={},s=e.read_shift(4),i=e.read_shift(4),o=e.read_shift(4),l=e.read_shift(2);return r.patternType=zf[o>>26],n.cellStyles?(r.alc=7&s,r.fWrap=s>>3&1,r.alcV=s>>4&7,r.fJustLast=s>>7&1,r.trot=s>>8&255,r.cIndent=s>>16&15,r.fShrinkToFit=s>>20&1,r.iReadOrder=s>>22&2,r.fAtrNum=s>>26&1,r.fAtrFnt=s>>27&1,r.fAtrAlc=s>>28&1,r.fAtrBdr=s>>29&1,r.fAtrPat=s>>30&1,r.fAtrProt=s>>31&1,r.dgLeft=15&i,r.dgRight=i>>4&15,r.dgTop=i>>8&15,r.dgBottom=i>>12&15,r.icvLeft=i>>16&127,r.icvRight=i>>23&127,r.grbitDiag=i>>30&3,r.icvTop=127&o,r.icvBottom=o>>7&127,r.icvDiag=o>>14&127,r.dgDiag=o>>21&15,r.icvFore=127&l,r.icvBack=l>>7&127,r.fsxButton=l>>14&1,r):r}(e,0,n.fStyle,a),n}},225:{f:function(e,t){return 0===t||e.read_shift(2),1200}},226:{f:Pm},227:{},229:{f:function(e,t){for(var a=[],n=e.read_shift(2);n--;)a.push(ng(e));return a}},233:{},235:{},236:{},237:{},239:{},240:{},241:{},242:{},244:{},245:{},246:{},247:{},248:{},249:{},251:{},252:{f:function(e,t){for(var a=e.l+t,n=e.read_shift(4),r=e.read_shift(4),s=[],i=0;i!=r&&e.l255)throw new Error("Unexpected SupBook type: "+s);for(var i=$m(e,s),o=[];n>e.l;)o.push(Ym(e));return[s,r,i,o]}},431:{f:Bm},432:{},433:{},434:{},437:{},438:{f:function(e,t,a){var n=e.l,r="";try{e.l+=4;var s=(a.lastobj||{cmo:[0,0]}).cmo[1];-1==[0,5,7,11,12,14].indexOf(s)?e.l+=6:function(e){var t=e.read_shift(1);e.l++;var a=e.read_shift(2);return e.l+=2,[t,a]}(e);var i=e.read_shift(2);e.read_shift(2),Om(e);var o=e.read_shift(2);e.l+=o;for(var l=1;l=(c?i:2*i))break}if(r.length!==i&&r.length!==2*i)throw new Error("cchText: "+i+" != "+r.length);return e.l=n+t,{t:r}}catch(mB){return e.l=n+t,{t:r}}}},439:{f:Bm},440:{f:function(e,t){var a=ng(e);e.l+=16;var n=function(e,t){var a=e.l+t,n=e.read_shift(4);if(2!==n)throw new Error("Unrecognized streamVersion: "+n);var r=e.read_shift(2);e.l+=2;var s,i,o,l,c,u,d="";16&r&&(s=Km(e,e.l)),128&r&&(i=Km(e,e.l)),257&~r||(o=Km(e,e.l)),1==(257&r)&&(l=Vm(e,e.l)),8&r&&(d=Km(e,e.l)),32&r&&(c=e.read_shift(16)),64&r&&(u=ym(e)),e.l=a;var h=i||o||l||"";h&&d&&(h+="#"+d),h||(h="#"+d),2&r&&"/"==h.charAt(0)&&"/"!=h.charAt(1)&&(h="file://"+h);var p={Target:h};return c&&(p.guid=c),u&&(p.time=u),s&&(p.Tooltip=s),p}(e,t-24);return[a,n]}},441:{},442:{f:Ym},443:{},444:{f:Om},445:{},446:{},448:{f:Pm},449:{f:function(e){return e.read_shift(2),e.read_shift(4)},r:2},450:{f:Pm},512:{f:gg},513:{f:Tg},515:{f:function(e,t,a){a.biffguess&&2==a.biff&&(a.biff=5);var n=Qm(e),r=Nf(e);return n.val=r,n}},516:{f:function(e,t,a){a.biffguess&&2==a.biff&&(a.biff=5),e.l;var n=Qm(e);2==a.biff&&e.l++;var r=Ym(e,e.l,a);return n.val=r,n}},517:{f:vg},519:{f:Ig},520:{f:function(e){var t={};t.r=e.read_shift(2),t.c=e.read_shift(2),t.cnt=e.read_shift(2)-t.c;var a=e.read_shift(2);e.l+=4;var n=e.read_shift(1);return e.l+=3,7&n&&(t.level=7&n),32&n&&(t.hidden=!0),64&n&&(t.hpt=a/20),t}},523:{},545:{f:Eg},549:{f:pg},566:{},574:{f:function(e,t,a){return a&&a.biff>=2&&a.biff<5?{}:{RTL:64&e.read_shift(2)}}},638:{f:function(e){var t=e.read_shift(2),a=e.read_shift(2),n=ag(e);return{r:t,c:a,ixfe:n[0],rknum:n[1]}}},659:{},1048:{},1054:{f:function(e,t,a){return[e.read_shift(2),Gm(e,0,a)]}},1084:{},1212:{f:function(e,t,a){var n=sg(e);e.l++;var r=e.read_shift(1);return[Yv(e,t-=8,a),r,n]}},2048:{f:function(e,t){e.read_shift(2);var a=ng(e),n=e.read_shift((t-10)/2,"dbcs-cont");return[a,n=n.replace(ku,"")]}},2049:{},2050:{},2051:{},2052:{},2053:{},2054:{},2055:{},2056:{},2057:{f:ug},2058:{},2059:{},2060:{},2061:{},2062:{},2063:{},2064:{},2066:{},2067:{},2128:{},2129:{},2130:{},2131:{},2132:{},2133:{},2134:{},2135:{},2136:{},2137:{},2138:{},2146:{},2147:{r:12},2148:{},2149:{},2150:{},2151:{f:Pm},2152:{},2154:{},2155:{},2156:{},2161:{},2162:{},2164:{},2165:{},2166:{},2167:{},2168:{},2169:{},2170:{},2171:{},2172:{f:function(e){e.l+=2;var t={cxfs:0,crc:0};return t.cxfs=e.read_shift(2),t.crc=e.read_shift(4),t},r:12},2173:{f:function(e,t){e.l,e.l+=2;var a=e.read_shift(2);e.l+=2;for(var n=e.read_shift(2),r=[];n-- >0;)r.push(Qy(e,e.l));return{ixfe:a,ext:r}},r:12},2174:{},2175:{},2180:{},2181:{},2182:{},2183:{},2184:{},2185:{},2186:{},2187:{},2188:{f:Bm,r:12},2189:{},2190:{r:12},2191:{},2192:{},2194:{},2195:{},2196:{f:function(e,t,a){if(!(a.biff<8)){var n=e.read_shift(2),r=e.read_shift(2);return[$m(e,n,a),$m(e,r,a)]}e.l+=t},r:12},2197:{},2198:{f:function(e,t,a){var n=e.l+t;if(124226!==e.read_shift(4))if(a.cellStyles){var r,s=e.slice(e.l);e.l=n;try{r=Xd(s,{type:"array"})}catch(mB){return}var i=Kd(r,"theme/theme/theme1.xml",!0);if(i)return qy(i,a)}else e.l=n},r:12},2199:{},2200:{},2201:{},2202:{f:function(e){return[0!==e.read_shift(4),0!==e.read_shift(4),e.read_shift(4)]},r:12},2203:{f:Pm},2204:{},2205:{},2206:{},2207:{},2211:{f:function(e){var t=function(e){var t=e.read_shift(2),a=e.read_shift(2);return e.l+=8,{type:t,flags:a}}(e);if(2211!=t.type)throw new Error("Invalid Future Record "+t.type);return 0!==e.read_shift(4)}},2212:{},2213:{},2214:{},2215:{},4097:{},4098:{},4099:{},4102:{},4103:{},4105:{},4106:{},4107:{},4108:{},4109:{},4116:{},4117:{},4118:{},4119:{},4120:{},4121:{},4122:{},4123:{},4124:{},4125:{},4126:{},4127:{},4128:{},4129:{},4130:{},4132:{},4133:{},4134:{f:Om},4135:{},4146:{},4147:{},4148:{},4149:{},4154:{},4156:{},4157:{},4158:{},4159:{},4160:{},4161:{},4163:{},4164:{f:function(e,t,a){var n={area:!1};if(5!=a.biff)return e.l+=t,n;var r=e.read_shift(1);return e.l+=3,16&r&&(n.area=!0),n}},4165:{},4166:{},4168:{},4170:{},4171:{},4174:{},4175:{},4176:{},4177:{},4187:{},4188:{f:function(e){for(var t=e.read_shift(2),a=[];t-- >0;)a.push(Xm(e));return a}},4189:{},4191:{},4192:{},4193:{},4194:{},4195:{},4196:{},4197:{},4198:{},4199:{},4200:{},0:{f:gg},1:{},2:{f:function(e){var t=Qm(e);++e.l;var a=e.read_shift(2);return t.t="n",t.val=a,t}},3:{f:function(e){var t=Qm(e);++e.l;var a=Nf(e);return t.t="n",t.val=a,t}},4:{f:function(e,t,a){a.biffguess&&5==a.biff&&(a.biff=2);var n=Qm(e);++e.l;var r=Gm(e,0,a);return n.t="str",n.val=r,n}},5:{f:vg},7:{f:function(e){var t=e.read_shift(1);return 0===t?(e.l++,""):e.read_shift(t,"sbcs-cont")}},8:{},9:{f:ug},11:{},22:{f:Om},30:{f:mg},31:{},32:{},33:{f:Eg},36:{},37:{f:pg},50:{f:function(e,t){e.l+=6,e.l+=2,e.l+=1,e.l+=3,e.l+=1,e.l+=t-13}},62:{},52:{},67:{},68:{f:Om},69:{},86:{},126:{},127:{f:function(e){var t=e.read_shift(2),a=e.read_shift(2),n=e.read_shift(4),r={fmt:t,env:a,len:n,data:e.slice(e.l,e.l+n)};return e.l+=n,r}},135:{},136:{},137:{},145:{},148:{},149:{},150:{},169:{},171:{},188:{},191:{},192:{},194:{},195:{},214:{f:function(e,t,a){var n=e.l+t,r=Qm(e),s=e.read_shift(2),i=$m(e,s,a);return e.l=n,r.t="str",r.val=i,r}},223:{},234:{},354:{},421:{},518:{f:Gv},521:{f:ug},536:{f:kg},547:{f:wg},561:{},579:{},1030:{f:Gv},1033:{f:ug},1091:{},2157:{},2163:{},2177:{},2240:{},2241:{},2242:{},2243:{},2244:{},2245:{},2246:{},2247:{},2248:{},2249:{},2250:{},2251:{},2262:{r:12},29282:{}};function Xw(e,t,a,n){var r=t;if(!isNaN(r)){var s=n||(a||[]).length||0,i=e.next(4);i.write_shift(2,r),i.write_shift(2,s),s>0&&Cp(a)&&e.push(a)}}function Qw(e,t,a){return e||(e=Rp(7)),e.write_shift(2,t),e.write_shift(2,a),e.write_shift(2,0),e.write_shift(1,0),e}function ex(e,t,a,n){if(null!=t.v)switch(t.t){case"d":case"n":var r="d"==t.t?Fd(Md(t.v)):t.v;return void(r==(0|r)&&r>=0&&r<65536?Xw(e,2,(s=a,i=n,o=r,l=Rp(9),Qw(l,s,i),l.write_shift(2,o),l)):Xw(e,3,function(e,t,a){var n=Rp(15);return Qw(n,e,t),n.write_shift(8,a,"f"),n}(a,n,r)));case"b":case"e":return void Xw(e,5,function(e,t,a,n){var r=Rp(9);return Qw(r,e,t),Lm(a,n||"b",r),r}(a,n,t.v,t.t));case"s":case"str":return void Xw(e,4,function(e,t,a){var n=Rp(8+2*a.length);return Qw(n,e,t),n.write_shift(1,a.length),n.write_shift(a.length,a,"sbcs"),n.l255||i.e.r>16383){if(n.WTF)throw new Error("Range "+(t["!ref"]||"A1")+" exceeds format limit A1:IV16384");i.e.c=Math.min(i.e.c,255),i.e.r=Math.min(i.e.c,16383),r=tf(i)}for(var c=i.s.r;c<=i.e.r;++c){o=Jp(c);for(var u=i.s.c;u<=i.e.c;++u){c===i.s.r&&(l[u]=Zp(u)),r=l[u]+o;var d=s?(t[c]||[])[u]:t[r];d&&ex(e,d,c,u)}}}(n,e.Sheets[e.SheetNames[r]],0,a),Xw(n,10),n.end()}function ax(e,t,a){Xw(e,49,function(e,t){var a=e.name||"Arial",n=t&&5==t.biff,r=Rp(n?15+a.length:16+2*a.length);return r.write_shift(2,20*e.sz),r.write_shift(4,0),r.write_shift(2,400),r.write_shift(4,0),r.write_shift(2,0),r.write_shift(1,a.length),n||r.write_shift(1,1),r.write_shift((n?1:2)*a.length,a,n?"sbcs":"utf16le"),r}({sz:12,name:"Arial"},a))}function nx(e,t){if(t){var a=0;t.forEach(function(t,n){++a<=256&&t&&Xw(e,125,function(e,t){var a=Rp(12);a.write_shift(2,t),a.write_shift(2,t),a.write_shift(2,256*e.width),a.write_shift(2,0);var n=0;return e.hidden&&(n|=1),a.write_shift(1,n),n=e.level||0,a.write_shift(1,n),a.write_shift(2,0),a}(cb(n,t),n))})}}function rx(e,t,a,n,r){var s=16+db(r.cellXfs,t,r);if(null!=t.v||t.bf)if(t.bf)Xw(e,6,Wv(t,a,n,0,s));else switch(t.t){case"d":case"n":Xw(e,515,function(e,t,a,n){var r=Rp(14);return eg(e,t,n,r),Pf(a,r),r}(a,n,"d"==t.t?Fd(Md(t.v)):t.v,s));break;case"b":case"e":Xw(e,517,function(e,t,a,n,r,s){var i=Rp(8);return eg(e,t,n,i),Lm(a,s,i),i}(a,n,t.v,s,0,t.t));break;case"s":case"str":if(r.bookSST)Xw(e,253,function(e,t,a,n){var r=Rp(10);return eg(e,t,n,r),r.write_shift(4,a),r}(a,n,lb(r.Strings,t.v,r.revStrings),s));else Xw(e,516,function(e,t,a,n,r){var s=!r||8==r.biff,i=Rp(+s+8+(1+s)*a.length);return eg(e,t,n,i),i.write_shift(2,a.length),s&&i.write_shift(1,1),i.write_shift((1+s)*a.length,a,s?"utf16le":"sbcs"),i}(a,n,(t.v||"").slice(0,255),s,r));break;default:Xw(e,513,eg(a,n,s))}else Xw(e,513,eg(a,n,s))}function sx(e,t,a){var n,r,s=Hp(),i=a.SheetNames[e],o=a.Sheets[i]||{},l=(a||{}).Workbook||{},c=(l.Sheets||[])[e]||{},u=Array.isArray(o),d=8==t.biff,h="",p=[],f=af(o["!ref"]||"A1"),m=d?65536:16384;if(f.e.c>255||f.e.r>=m){if(t.WTF)throw new Error("Range "+(o["!ref"]||"A1")+" exceeds format limit A1:IV16384");f.e.c=Math.min(f.e.c,255),f.e.r=Math.min(f.e.c,m-1)}Xw(s,2057,dg(0,16,t)),Xw(s,13,Um(1)),Xw(s,12,Um(100)),Xw(s,15,Mm(!0)),Xw(s,17,Mm(!1)),Xw(s,16,Pf(.001)),Xw(s,95,Mm(!0)),Xw(s,42,Mm(!1)),Xw(s,43,Mm(!1)),Xw(s,130,Um(1)),Xw(s,128,((r=Rp(8)).write_shift(4,0),r.write_shift(2,0),r.write_shift(2,0),r)),Xw(s,131,Mm(!1)),Xw(s,132,Mm(!1)),d&&nx(s,o["!cols"]),Xw(s,512,function(e,t){var a=8!=t.biff&&t.biff?2:4,n=Rp(2*a+6);return n.write_shift(a,e.s.r),n.write_shift(a,e.e.r+1),n.write_shift(2,e.s.c),n.write_shift(2,e.e.c+1),n.write_shift(2,0),n}(f,t)),d&&(o["!links"]=[]);for(var g=f.s.r;g<=f.e.r;++g){h=Jp(g);for(var y=f.s.c;y<=f.e.c;++y){g===f.s.r&&(p[y]=Zp(y)),n=p[y]+h;var v=u?(o[g]||[])[y]:o[n];v&&(rx(s,v,g,y,t),d&&v.l&&o["!links"].push([n,v.l]))}}var b=c.CodeName||c.name||i;return d&&Xw(s,574,function(e){var t=Rp(18),a=1718;return e&&e.RTL&&(a|=64),t.write_shift(2,a),t.write_shift(4,0),t.write_shift(4,64),t.write_shift(4,0),t.write_shift(4,0),t}((l.Views||[])[0])),d&&(o["!merges"]||[]).length&&Xw(s,229,function(e){var t=Rp(2+8*e.length);t.write_shift(2,e.length);for(var a=0;a255&&"undefined"!=typeof console&&console.error&&console.error("Worksheet '"+e.SheetNames[a]+"' extends beyond column IV (255). Data may be lost.")}var r=t||{};switch(r.biff||2){case 8:case 5:return function(e,t){var a=t||{},n=[];e&&!e.SSF&&(e.SSF=Ud(Pu)),e&&e.SSF&&(fd(),pd(e.SSF),a.revssf=Ed(e.SSF),a.revssf[e.SSF[65535]]=0,a.ssf=e.SSF),a.Strings=[],a.Strings.Count=0,a.Strings.Unique=0,Zx(a),a.cellXfs=[],db(a.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});for(var r=0;r/g,"")).match(/");var s=e.match(/<\/table/i),i=r.index,o=s&&s.index||e.length,l=Hd(e.slice(i,o),/(:?]*>)/i,""),c=-1,u=0,d=0,h=0,p={s:{r:1e7,c:1e7},e:{r:0,c:0}},f=[];for(i=0;i/i);for(o=0;o"))>-1;)b=b.slice(w+1);for(var x=0;x")));h=_.colspan?+_.colspan:1,((d=+_.rowspan)>1||h>1)&&f.push({s:{r:c,c:u},e:{r:c+(d||1)-1,c:u+h-1}});var E=_.t||_["data-t"]||"";if(b.length)if(b=Fh(b),p.s.r>c&&(p.s.r=c),p.e.ru&&(p.s.c=u),p.e.ca||r[c].s.c>i||r[c].e.r1&&(p.rowspan=o),l>1&&(p.colspan=l),n.editable?h=''+h+"":d&&(p["data-t"]=d&&d.t||"z",null!=d.v&&(p["data-v"]=d.v),null!=d.z&&(p["data-z"]=d.z),d.l&&"#"!=(d.l.Target||"#").charAt(0)&&(h=''+h+"")),p.id=(n.id||"sjs")+"-"+u,s.push(Bh("td",h,p))}}return""+s.join("")+""}function ux(e,t){var a=t||{},n=null!=a.header?a.header:'SheetJS Table Export',r=null!=a.footer?a.footer:"",s=[n],i=ef(e["!ref"]);a.dense=Array.isArray(e),s.push(function(e,t,a){return[].join("")+""}(0,0,a));for(var o=i.s.r;o<=i.e.r;++o)s.push(cx(e,i,o,a));return s.push("
    "+r),s.join("")}function dx(e,t,a){var n=a||{},r=0,s=0;if(null!=n.origin)if("number"==typeof n.origin)r=n.origin;else{var i="string"==typeof n.origin?Xp(n.origin):n.origin;r=i.r,s=i.c}var o=t.getElementsByTagName("tr"),l=Math.min(n.sheetRows||1e7,o.length),c={s:{r:0,c:0},e:{r:r,c:s}};if(e["!ref"]){var u=ef(e["!ref"]);c.s.r=Math.min(c.s.r,u.s.r),c.s.c=Math.min(c.s.c,u.s.c),c.e.r=Math.max(c.e.r,u.e.r),c.e.c=Math.max(c.e.c,u.e.c),-1==r&&(c.e.r=r=u.e.r+1)}var d=[],h=0,p=e["!rows"]||(e["!rows"]=[]),f=0,m=0,g=0,y=0,v=0,b=0;for(e["!cols"]||(e["!cols"]=[]);f1||b>1)&&d.push({s:{r:m+r,c:y+s},e:{r:m+r+(v||1)-1,c:y+s+(b||1)-1}});var F={t:"s",v:_},D=k.getAttribute("data-t")||k.getAttribute("t")||"";null!=_&&(0==_.length?F.t=D||"z":n.raw||0==_.trim().length||"s"==D||("TRUE"===_?F={t:"b",v:!0}:"FALSE"===_?F={t:"b",v:!1}:isNaN(Ld(_))?isNaN(zd(_).getDate())||(F={t:"d",v:Md(_)},n.cellDates||(F={t:"n",v:Fd(F.v)}),F.z=n.dateNF||Pu[14]):F={t:"n",v:Ld(_)})),void 0===F.z&&null!=E&&(F.z=E);var A="",T=k.getElementsByTagName("A");if(T&&T.length)for(var S=0;S=l&&(e["!fullref"]=tf((c.e.r=o.length-f+m-1+r,c))),e}function hx(e,t){return dx((t||{}).dense?[]:{},e,t)}function px(e){var t="",a=function(e){return e.ownerDocument.defaultView&&"function"==typeof e.ownerDocument.defaultView.getComputedStyle?e.ownerDocument.defaultView.getComputedStyle:"function"==typeof getComputedStyle?getComputedStyle:null}(e);return a&&(t=a(e).getPropertyValue("display")),t||(t=e.style&&e.style.display),"none"===t}function fx(e){var t=e.replace(/[\t\r\n]/g," ").trim().replace(/ +/g," ").replace(//g," ").replace(//g,function(e,t){return Array(parseInt(t,10)+1).join(" ")}).replace(/]*\/>/g,"\t").replace(//g,"\n");return[uh(t.replace(/<[^>]*>/g,""))]}var mx={day:["d","dd"],month:["m","mm"],year:["y","yy"],hours:["h","hh"],minutes:["m","mm"],seconds:["s","ss"],"am-pm":["A/P","AM/PM"],"day-of-week":["ddd","dddd"],era:["e","ee"],quarter:["\\Qm",'m\\"th quarter"']};function gx(e,t){var a,n,r,s,i,o,l=t||{},c=Oh(e),u=[],d={name:""},h="",p=0,f={},m=[],g=l.dense?[]:{},y={value:""},v="",b=0,w=[],x=-1,k=-1,_={s:{r:1e6,c:1e7},e:{r:0,c:0}},E=0,C={},F=[],D={},A=[],T=1,S=1,I=[],N={Names:[]},P={},B=["",""],M=[],O={},U="",j=0,L=!1,R=!1,z=0;for(Uh.lastIndex=0,c=c.replace(//gm,"").replace(//gm,"");i=Uh.exec(c);)switch(i[3]=i[3].replace(/_.*$/,"")){case"table":case"工作表":"/"===i[1]?(_.e.c>=_.s.c&&_.e.r>=_.s.r?g["!ref"]=tf(_):g["!ref"]="A1:A1",l.sheetRows>0&&l.sheetRows<=_.e.r&&(g["!fullref"]=g["!ref"],_.e.r=l.sheetRows-1,g["!ref"]=tf(_)),F.length&&(g["!merges"]=F),A.length&&(g["!rows"]=A),r.name=r["名称"]||r.name,"undefined"!=typeof JSON&&JSON.stringify(r),m.push(r.name),f[r.name]=g,R=!1):"/"!==i[0].charAt(i[0].length-2)&&(r=ih(i[0],!1),x=k=-1,_.s.r=_.s.c=1e7,_.e.r=_.e.c=0,g=l.dense?[]:{},F=[],A=[],R=!0);break;case"table-row-group":"/"===i[1]?--E:++E;break;case"table-row":case"行":if("/"===i[1]){x+=T,T=1;break}if((s=ih(i[0],!1))["行号"]?x=s["行号"]-1:-1==x&&(x=0),(T=+s["number-rows-repeated"]||1)<10)for(z=0;z0&&(A[x+z]={level:E});k=-1;break;case"covered-table-cell":"/"!==i[1]&&++k,l.sheetStubs&&(l.dense?(g[x]||(g[x]=[]),g[x][k]={t:"z"}):g[Qp({r:x,c:k})]={t:"z"}),v="",w=[];break;case"table-cell":case"数据":if("/"===i[0].charAt(i[0].length-2))++k,y=ih(i[0],!1),S=parseInt(y["number-columns-repeated"]||"1",10),o={t:"z",v:null},y.formula&&0!=l.cellFormula&&(o.f=tb(uh(y.formula))),"string"==(y["数据类型"]||y["value-type"])&&(o.t="s",o.v=uh(y["string-value"]||""),l.dense?(g[x]||(g[x]=[]),g[x][k]=o):g[Qp({r:x,c:k})]=o),k+=S-1;else if("/"!==i[1]){v="",b=0,w=[],S=1;var H=T?x+T-1:x;if(++k>_.e.c&&(_.e.c=k),k<_.s.c&&(_.s.c=k),x<_.s.r&&(_.s.r=x),H>_.e.r&&(_.e.r=H),M=[],O={},o={t:(y=ih(i[0],!1))["数据类型"]||y["value-type"],v:null},l.cellFormula)if(y.formula&&(y.formula=uh(y.formula)),y["number-matrix-columns-spanned"]&&y["number-matrix-rows-spanned"]&&(D={s:{r:x,c:k},e:{r:x+(parseInt(y["number-matrix-rows-spanned"],10)||0)-1,c:k+(parseInt(y["number-matrix-columns-spanned"],10)||0)-1}},o.F=tf(D),I.push([D,o.F])),y.formula)o.f=tb(y.formula);else for(z=0;z=I[z][0].s.r&&x<=I[z][0].e.r&&k>=I[z][0].s.c&&k<=I[z][0].e.c&&(o.F=I[z][1]);switch((y["number-columns-spanned"]||y["number-rows-spanned"])&&(D={s:{r:x,c:k},e:{r:x+(parseInt(y["number-rows-spanned"],10)||0)-1,c:k+(parseInt(y["number-columns-spanned"],10)||0)-1}},F.push(D)),y["number-columns-repeated"]&&(S=parseInt(y["number-columns-repeated"],10)),o.t){case"boolean":o.t="b",o.v=vh(y["boolean-value"]);break;case"float":case"percentage":case"currency":o.t="n",o.v=parseFloat(y.value);break;case"date":o.t="d",o.v=Md(y["date-value"]),l.cellDates||(o.t="n",o.v=Fd(o.v)),o.z="m/d/yy";break;case"time":o.t="n",o.v=Id(y["time-value"])/86400,l.cellDates&&(o.t="d",o.v=Sd(o.v)),o.z="HH:MM:SS";break;case"number":o.t="n",o.v=parseFloat(y["数据数值"]);break;default:if("string"!==o.t&&"text"!==o.t&&o.t)throw new Error("Unsupported value type "+o.t);o.t="s",null!=y["string-value"]&&(v=uh(y["string-value"]),w=[])}}else{if(L=!1,"s"===o.t&&(o.v=v||"",w.length&&(o.R=w),L=0==b),P.Target&&(o.l=P),M.length>0&&(o.c=M,M=[]),v&&!1!==l.cellText&&(o.w=v),L&&(o.t="z",delete o.v),(!L||l.sheetStubs)&&!(l.sheetRows&&l.sheetRows<=x))for(var $=0;$0;)g[x+$][k+S]=Ud(o);else for(g[Qp({r:x+$,c:k})]=o;--S>0;)g[Qp({r:x+$,c:k+S})]=Ud(o);_.e.c<=k&&(_.e.c=k)}k+=(S=parseInt(y["number-columns-repeated"]||"1",10))-1,S=0,o={},v="",w=[]}P={};break;case"document":case"document-content":case"电子表格文档":case"spreadsheet":case"主体":case"scripts":case"styles":case"font-face-decls":case"master-styles":if("/"===i[1]){if((a=u.pop())[0]!==i[3])throw"Bad state: "+a}else"/"!==i[0].charAt(i[0].length-2)&&u.push([i[3],!0]);break;case"annotation":if("/"===i[1]){if((a=u.pop())[0]!==i[3])throw"Bad state: "+a;O.t=v,w.length&&(O.R=w),O.a=U,M.push(O)}else"/"!==i[0].charAt(i[0].length-2)&&u.push([i[3],!1]);U="",j=0,v="",b=0,w=[];break;case"creator":"/"===i[1]?U=c.slice(j,i.index):j=i.index+i[0].length;break;case"meta":case"元数据":case"settings":case"config-item-set":case"config-item-map-indexed":case"config-item-map-entry":case"config-item-map-named":case"shapes":case"frame":case"text-box":case"image":case"data-pilot-tables":case"list-style":case"form":case"dde-links":case"event-listeners":case"chart":if("/"===i[1]){if((a=u.pop())[0]!==i[3])throw"Bad state: "+a}else"/"!==i[0].charAt(i[0].length-2)&&u.push([i[3],!1]);v="",b=0,w=[];break;case"scientific-number":case"currency-symbol":case"currency-style":case"script":case"libraries":case"automatic-styles":case"default-style":case"page-layout":case"style":case"map":case"font-face":case"paragraph-properties":case"table-properties":case"table-column-properties":case"table-row-properties":case"table-cell-properties":case"fraction":case"boolean-style":case"boolean":case"text-style":case"text-content":case"text-properties":case"embedded-text":case"body":case"电子表格":case"forms":case"table-column":case"table-header-rows":case"table-rows":case"table-column-group":case"table-header-columns":case"table-columns":case"null-date":case"graphic-properties":case"calculation-settings":case"named-expressions":case"label-range":case"label-ranges":case"named-expression":case"sort":case"sort-by":case"sort-groups":case"tab":case"line-break":case"span":case"s":case"date":case"object":case"title":case"标题":case"desc":case"binary-data":case"table-source":case"scenario":case"iteration":case"content-validations":case"content-validation":case"help-message":case"error-message":case"database-ranges":case"filter":case"filter-and":case"filter-or":case"filter-condition":case"list-level-style-bullet":case"list-level-style-number":case"list-level-properties":case"sender-firstname":case"sender-lastname":case"sender-initials":case"sender-title":case"sender-position":case"sender-email":case"sender-phone-private":case"sender-fax":case"sender-company":case"sender-phone-work":case"sender-street":case"sender-city":case"sender-postal-code":case"sender-country":case"sender-state-or-province":case"author-name":case"author-initials":case"chapter":case"file-name":case"template-name":case"sheet-name":case"event-listener":case"initial-creator":case"creation-date":case"print-date":case"generator":case"document-statistic":case"user-defined":case"editing-duration":case"editing-cycles":case"config-item":case"page-number":case"page-count":case"time":case"cell-range-source":case"detective":case"operation":case"highlighted-range":case"data-pilot-table":case"source-cell-range":case"source-service":case"data-pilot-field":case"data-pilot-level":case"data-pilot-subtotals":case"data-pilot-subtotal":case"data-pilot-members":case"data-pilot-member":case"data-pilot-display-info":case"data-pilot-sort-info":case"data-pilot-layout-info":case"data-pilot-field-reference":case"data-pilot-groups":case"data-pilot-group":case"data-pilot-group-member":case"rect":case"dde-connection-decls":case"dde-connection-decl":case"dde-link":case"dde-source":case"properties":case"property":case"table-protection":case"data-pilot-grand-total":case"office-document-common-attrs":break;case"number-style":case"percentage-style":case"date-style":case"time-style":if("/"===i[1]){if(C[d.name]=h,(a=u.pop())[0]!==i[3])throw"Bad state: "+a}else"/"!==i[0].charAt(i[0].length-2)&&(h="",d=ih(i[0],!1),u.push([i[3],!0]));break;case"number":case"day":case"month":case"year":case"era":case"day-of-week":case"week-of-year":case"quarter":case"hours":case"minutes":case"seconds":case"am-pm":switch(u[u.length-1][0]){case"time-style":case"date-style":n=ih(i[0],!1),h+=mx[i[3]]["long"===n.style?1:0]}break;case"text":if("/>"===i[0].slice(-2))break;if("/"===i[1])switch(u[u.length-1][0]){case"number-style":case"date-style":case"time-style":h+=c.slice(p,i.index)}else p=i.index+i[0].length;break;case"named-range":B=nb((n=ih(i[0],!1))["cell-range-address"]);var Y={Name:n.name,Ref:B[0]+"!"+B[1]};R&&(Y.Sheet=m.length),N.Names.push(Y);break;case"p":case"文本串":if(["master-styles"].indexOf(u[u.length-1][0])>-1)break;if("/"!==i[1]||y&&y["string-value"])ih(i[0],!1),b=i.index+i[0].length;else{var G=fx(c.slice(b,i.index));v=(v.length>0?v+"\n":"")+G[0]}break;case"database-range":if("/"===i[1])break;try{f[(B=nb(ih(i[0])["target-range-address"]))[0]]["!autofilter"]={ref:B[1]}}catch(mB){}break;case"a":if("/"!==i[1]){if(!(P=ih(i[0],!1)).href)break;P.Target=uh(P.href),delete P.href,"#"==P.Target.charAt(0)&&P.Target.indexOf(".")>-1?(B=nb(P.Target.slice(1)),P.Target="#"+B[0]+"!"+B[1]):P.Target.match(/^\.\.[\\\/]/)&&(P.Target=P.Target.slice(3))}break;default:switch(i[2]){case"dc:":case"calcext:":case"loext:":case"ooo:":case"chartooo:":case"draw:":case"style:":case"chart:":case"form:":case"uof:":case"表:":case"字:":break;default:if(l.WTF)throw new Error(i)}}var W={Sheets:f,SheetNames:m,Workbook:N};return l.bookSheets&&delete W.Sheets,W}function yx(e,t){t=t||{},Gd(e,"META-INF/manifest.xml")&&function(e,t){for(var a,n,r=Oh(e);a=Uh.exec(r);)switch(a[3]){case"manifest":break;case"file-entry":if("/"==(n=ih(a[0],!1)).path&&"application/vnd.oasis.opendocument.spreadsheet"!==n.type)throw new Error("This OpenDocument is not a spreadsheet");break;case"encryption-data":case"algorithm":case"start-key-generation":case"key-derivation":throw new Error("Unsupported ODS Encryption");default:if(t&&t.WTF)throw a}}(Vd(e,"META-INF/manifest.xml"),t);var a=Kd(e,"content.xml");if(!a)throw new Error("Missing content.xml in ODS / UOF file");var n=gx(_h(a),t);return Gd(e,"meta.xml")&&(n.Props=sm(Vd(e,"meta.xml"))),n}function vx(e,t){return gx(e,t)}var bx=function(){var e=["",'',"",'',"",'',"",""].join(""),t=""+e+"";return function(){return eh+t}}(),wx=function(){var e=function(e){return ph(e).replace(/ +/g,function(e){return''}).replace(/\t/g,"").replace(/\n/g,"").replace(/^ /,"").replace(/ $/,"")},t=" \n",a=function(a,n,r){var s=[];s.push(' \n');var i=0,o=0,l=ef(a["!ref"]||"A1"),c=a["!merges"]||[],u=0,d=Array.isArray(a);if(a["!cols"])for(o=0;o<=l.e.c;++o)s.push(" \n");var h="",p=a["!rows"]||[];for(i=0;i\n");for(;i<=l.e.r;++i){for(h=p[i]?' table:style-name="ro'+p[i].ods+'"':"",s.push(" \n"),o=0;oo||c[u].s.r>i||c[u].e.c\n");else{var y=Qp({r:i,c:o}),v=d?(a[i]||[])[o]:a[y];if(v&&v.f&&(m["table:formula"]=ph(ab(v.f)),v.F&&v.F.slice(0,y.length)==y)){var b=ef(v.F);m["table:number-matrix-columns-spanned"]=b.e.c-b.s.c+1,m["table:number-matrix-rows-spanned"]=b.e.r-b.s.r+1}if(v){switch(v.t){case"b":g=v.v?"TRUE":"FALSE",m["office:value-type"]="boolean",m["office:boolean-value"]=v.v?"true":"false";break;case"n":g=v.w||String(v.v||0),m["office:value-type"]="float",m["office:value"]=v.v||0;break;case"s":case"str":g=null==v.v?"":v.v,m["office:value-type"]="string";break;case"d":g=v.w||Md(v.v).toISOString(),m["office:value-type"]="date",m["office:date-value"]=Md(v.v).toISOString(),m["table:style-name"]="ce1";break;default:s.push(t);continue}var w=e(g);if(v.l&&v.l.Target){var x=v.l.Target;"#"==(x="#"==x.charAt(0)?"#"+rb(x.slice(1)):x).charAt(0)||x.match(/^\w+:/)||(x="../"+x),w=Bh("text:a",w,{"xlink:href":x.replace(/&/g,"&")})}s.push(" "+Bh("table:table-cell",Bh("text:p",w,{}),m)+"\n")}else s.push(t)}}s.push(" \n")}return s.push(" \n"),s.join("")};return function(e,t){var n=[eh],r=Ph({"xmlns:office":"urn:oasis:names:tc:opendocument:xmlns:office:1.0","xmlns:table":"urn:oasis:names:tc:opendocument:xmlns:table:1.0","xmlns:style":"urn:oasis:names:tc:opendocument:xmlns:style:1.0","xmlns:text":"urn:oasis:names:tc:opendocument:xmlns:text:1.0","xmlns:draw":"urn:oasis:names:tc:opendocument:xmlns:drawing:1.0","xmlns:fo":"urn:oasis:names:tc:opendocument:xmlns:xsl-fo-compatible:1.0","xmlns:xlink":"http://www.w3.org/1999/xlink","xmlns:dc":"http://purl.org/dc/elements/1.1/","xmlns:meta":"urn:oasis:names:tc:opendocument:xmlns:meta:1.0","xmlns:number":"urn:oasis:names:tc:opendocument:xmlns:datastyle:1.0","xmlns:presentation":"urn:oasis:names:tc:opendocument:xmlns:presentation:1.0","xmlns:svg":"urn:oasis:names:tc:opendocument:xmlns:svg-compatible:1.0","xmlns:chart":"urn:oasis:names:tc:opendocument:xmlns:chart:1.0","xmlns:dr3d":"urn:oasis:names:tc:opendocument:xmlns:dr3d:1.0","xmlns:math":"http://www.w3.org/1998/Math/MathML","xmlns:form":"urn:oasis:names:tc:opendocument:xmlns:form:1.0","xmlns:script":"urn:oasis:names:tc:opendocument:xmlns:script:1.0","xmlns:ooo":"http://openoffice.org/2004/office","xmlns:ooow":"http://openoffice.org/2004/writer","xmlns:oooc":"http://openoffice.org/2004/calc","xmlns:dom":"http://www.w3.org/2001/xml-events","xmlns:xforms":"http://www.w3.org/2002/xforms","xmlns:xsd":"http://www.w3.org/2001/XMLSchema","xmlns:xsi":"http://www.w3.org/2001/XMLSchema-instance","xmlns:sheet":"urn:oasis:names:tc:opendocument:sh33tjs:1.0","xmlns:rpt":"http://openoffice.org/2005/report","xmlns:of":"urn:oasis:names:tc:opendocument:xmlns:of:1.2","xmlns:xhtml":"http://www.w3.org/1999/xhtml","xmlns:grddl":"http://www.w3.org/2003/g/data-view#","xmlns:tableooo":"http://openoffice.org/2009/table","xmlns:drawooo":"http://openoffice.org/2010/draw","xmlns:calcext":"urn:org:documentfoundation:names:experimental:calc:xmlns:calcext:1.0","xmlns:loext":"urn:org:documentfoundation:names:experimental:office:xmlns:loext:1.0","xmlns:field":"urn:openoffice:names:experimental:ooo-ms-interop:xmlns:field:1.0","xmlns:formx":"urn:openoffice:names:experimental:ooxml-odf-interop:xmlns:form:1.0","xmlns:css3t":"http://www.w3.org/TR/css3-text/","office:version":"1.2"}),s=Ph({"xmlns:config":"urn:oasis:names:tc:opendocument:xmlns:config:1.0","office:mimetype":"application/vnd.oasis.opendocument.spreadsheet"});"fods"==t.bookType?(n.push("\n"),n.push(am().replace(/office:document-meta/g,"office:meta"))):n.push("\n"),function(e,t){e.push(" \n"),e.push(' \n'),e.push(' \n'),e.push(" /\n"),e.push(' \n'),e.push(" /\n"),e.push(" \n"),e.push(" \n");var a=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!cols"])for(var n=0;n\n'),e.push(' \n'),e.push(" \n"),++a}});var n=0;t.SheetNames.map(function(e){return t.Sheets[e]}).forEach(function(t){if(t&&t["!rows"])for(var a=0;a\n'),e.push(' \n'),e.push(" \n"),++n}}),e.push(' \n'),e.push(' \n'),e.push(" \n"),e.push(' \n'),e.push(" \n")}(n,e),n.push(" \n"),n.push(" \n");for(var i=0;i!=e.SheetNames.length;++i)n.push(a(e.Sheets[e.SheetNames[i]],e,i));return n.push(" \n"),n.push(" \n"),"fods"==t.bookType?n.push(""):n.push(""),n.join("")}}();function xx(e,t){if("fods"==t.bookType)return wx(e,t);var a=Zd(),n="",r=[],s=[];return qd(a,n="mimetype","application/vnd.oasis.opendocument.spreadsheet"),qd(a,n="content.xml",wx(e,t)),r.push([n,"text/xml"]),s.push([n,"ContentFile"]),qd(a,n="styles.xml",bx(e,t)),r.push([n,"text/xml"]),s.push([n,"StylesFile"]),qd(a,n="meta.xml",eh+am()),r.push([n,"text/xml"]),s.push([n,"MetadataFile"]),qd(a,n="manifest.rdf",function(e){var t=[eh];t.push('\n');for(var a=0;a!=e.length;++a)t.push(em(e[a][0],e[a][1])),t.push(tm("",e[a][0]));return t.push(em("","Document","pkg")),t.push(""),t.join("")}(s)),r.push([n,"application/rdf+xml"]),qd(a,n="META-INF/manifest.xml",function(e){var t=[eh];t.push('\n'),t.push(' \n');for(var a=0;a\n');return t.push(""),t.join("")}(r)),a}function kx(e){return new DataView(e.buffer,e.byteOffset,e.byteLength)}function _x(e){return"undefined"!=typeof TextDecoder?(new TextDecoder).decode(e):_h(bu(e))}function Ex(e){return"undefined"!=typeof TextEncoder?(new TextEncoder).encode(e):yu(Eh(e))}function Cx(e){var t=e.reduce(function(e,t){return e+t.length},0),a=new Uint8Array(t),n=0;return e.forEach(function(e){a.set(e,n),n+=e.length}),a}function Fx(e){return 16843009*((e=(858993459&(e-=e>>1&1431655765))+(e>>2&858993459))+(e>>4)&252645135)>>>24}function Dx(e,t){var a=t?t[0]:0,n=127&e[a];e:if(e[a++]>=128){if(n|=(127&e[a])<<7,e[a++]<128)break e;if(n|=(127&e[a])<<14,e[a++]<128)break e;if(n|=(127&e[a])<<21,e[a++]<128)break e;if(n+=(127&e[a])*Math.pow(2,28),++a,e[a++]<128)break e;if(n+=(127&e[a])*Math.pow(2,35),++a,e[a++]<128)break e;if(n+=(127&e[a])*Math.pow(2,42),++a,e[a++]<128)break e}return t&&(t[0]=a),n}function Ax(e){var t=new Uint8Array(7);t[0]=127&e;var a=1;e:if(e>127){if(t[a-1]|=128,t[a]=e>>7&127,++a,e<=16383)break e;if(t[a-1]|=128,t[a]=e>>14&127,++a,e<=2097151)break e;if(t[a-1]|=128,t[a]=e>>21&127,++a,e<=268435455)break e;if(t[a-1]|=128,t[a]=e/256>>>21&127,++a,e<=34359738367)break e;if(t[a-1]|=128,t[a]=e/65536>>>21&127,++a,e<=4398046511103)break e;t[a-1]|=128,t[a]=e/16777216>>>21&127,++a}return t.slice(0,a)}function Tx(e){var t=0,a=127&e[t];e:if(e[t++]>=128){if(a|=(127&e[t])<<7,e[t++]<128)break e;if(a|=(127&e[t])<<14,e[t++]<128)break e;if(a|=(127&e[t])<<21,e[t++]<128)break e;a|=(127&e[t])<<28}return a}function Sx(e){for(var t=[],a=[0];a[0]=128;);n=e.slice(l,a[0]);break;case 5:o=4,n=e.slice(a[0],a[0]+o),a[0]+=o;break;case 1:o=8,n=e.slice(a[0],a[0]+o),a[0]+=o;break;case 2:o=Dx(e,a),n=e.slice(a[0],a[0]+o),a[0]+=o;break;default:throw new Error("PB Type ".concat(i," for Field ").concat(s," at offset ").concat(r))}var c={data:n,type:i};null==t[s]?t[s]=[c]:t[s].push(c)}return t}function Ix(e){var t=[];return e.forEach(function(e,a){e.forEach(function(e){e.data&&(t.push(Ax(8*a+e.type)),2==e.type&&t.push(Ax(e.data.length)),t.push(e.data))})}),Cx(t)}function Nx(e,t){return(null==e?void 0:e.map(function(e){return t(e.data)}))||[]}function Px(e){for(var t,a=[],n=[0];n[0]>>0>0),a.push(i)}return a}function Bx(e){var t=[];return e.forEach(function(e){var a=[];a[1]=[{data:Ax(e.id),type:0}],a[2]=[],null!=e.merge&&(a[3]=[{data:Ax(+!!e.merge),type:0}]);var n=[];e.messages.forEach(function(e){n.push(e.data),e.meta[3]=[{type:0,data:Ax(e.data.length)}],a[2].push({data:Ix(e.meta),type:2})});var r=Ix(a);t.push(Ax(r.length)),t.push(r),n.forEach(function(e){return t.push(e)})}),Cx(t)}function Mx(e,t){if(0!=e)throw new Error("Unexpected Snappy chunk type ".concat(e));for(var a=[0],n=Dx(t,a),r=[];a[0]>2&7),i=(224&t[a[0]++])<<3,i|=t[a[0]++]):(o=1+(t[a[0]++]>>2),2==s?(i=t[a[0]]|t[a[0]+1]<<8,a[0]+=2):(i=(t[a[0]]|t[a[0]+1]<<8|t[a[0]+2]<<16|t[a[0]+3]<<24)>>>0,a[0]+=4)),r=[Cx(r)],0==i)throw new Error("Invalid offset 0");if(i>r[0].length)throw new Error("Invalid offset beyond length");if(o>=i)for(r.push(r[0].slice(-i)),o-=i;o>=r[r.length-1].length;)r.push(r[r.length-1]),o-=r[r.length-1].length;r.push(r[0].slice(-i,-i+o))}else{var l=t[a[0]++]>>2;if(l<60)++l;else{var c=l-59;l=t[a[0]],c>1&&(l|=t[a[0]+1]<<8),c>2&&(l|=t[a[0]+2]<<16),c>3&&(l|=t[a[0]+3]<<24),l>>>=0,l++,a[0]+=c}r.push(t.slice(a[0],a[0]+l)),a[0]+=l}}var u=Cx(r);if(u.length!=n)throw new Error("Unexpected length: ".concat(u.length," != ").concat(n));return u}function Ox(e){for(var t=[],a=0;a>8&255]))):n<=16777216?(i+=4,t.push(new Uint8Array([248,n-1&255,n-1>>8&255,n-1>>16&255]))):n<=4294967296&&(i+=5,t.push(new Uint8Array([252,n-1&255,n-1>>8&255,n-1>>16&255,n-1>>>24&255]))),t.push(e.slice(a,a+n)),i+=n,r[0]=0,r[1]=255&i,r[2]=i>>8&255,r[3]=i>>16&255,a+=n}return Cx(t)}function jx(e,t,a){var n,r=kx(e),s=r.getUint32(8,!0),i=12,o=-1,l=-1,c=NaN,u=NaN,d=new Date(2001,0,1);switch(1&s&&(c=function(e,t){for(var a=(127&e[t+15])<<7|e[t+14]>>1,n=1&e[t+14],r=t+13;r>=t;--r)n=256*n+e[r];return(128&e[t+15]?-n:n)*Math.pow(10,a-6176)}(e,i),i+=16),2&s&&(u=r.getFloat64(i,!0),i+=8),4&s&&(d.setTime(d.getTime()+1e3*r.getFloat64(i,!0)),i+=8),8&s&&(l=r.getUint32(i,!0),i+=4),16&s&&(o=r.getUint32(i,!0),i+=4),e[1]){case 0:break;case 2:case 10:n={t:"n",v:c};break;case 3:n={t:"s",v:t[l]};break;case 5:n={t:"d",v:d};break;case 6:n={t:"b",v:u>0};break;case 7:n={t:"n",v:u/86400};break;case 8:n={t:"e",v:0};break;case 9:if(!(o>-1))throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)));n={t:"s",v:a[o]};break;default:throw new Error("Unsupported cell type ".concat(e[1]," : ").concat(31&s," : ").concat(e.slice(0,4)))}return n}function Lx(e,t){var a=new Uint8Array(32),n=kx(a),r=12,s=0;switch(a[0]=5,e.t){case"n":a[1]=2,function(e,t,a){var n=Math.floor(0==a?0:Math.LOG10E*Math.log(Math.abs(a)))+6176-20,r=a/Math.pow(10,n-6176);e[t+15]|=n>>7,e[t+14]|=(127&n)<<1;for(var s=0;r>=1;++s,r/=256)e[t+s]=255&r;e[t+15]|=a>=0?0:128}(a,r,e.v),s|=1,r+=16;break;case"b":a[1]=6,n.setFloat64(r,e.v?1:0,!0),s|=2,r+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));a[1]=3,n.setUint32(r,t.indexOf(e.v),!0),s|=8,r+=4;break;default:throw"unsupported cell type "+e.t}return n.setUint32(8,s,!0),a.slice(0,r)}function Rx(e,t){var a=new Uint8Array(32),n=kx(a),r=12,s=0;switch(a[0]=3,e.t){case"n":a[2]=2,n.setFloat64(r,e.v,!0),s|=32,r+=8;break;case"b":a[2]=6,n.setFloat64(r,e.v?1:0,!0),s|=32,r+=8;break;case"s":if(-1==t.indexOf(e.v))throw new Error("Value ".concat(e.v," missing from SST!"));a[2]=3,n.setUint32(r,t.indexOf(e.v),!0),s|=16,r+=4;break;default:throw"unsupported cell type "+e.t}return n.setUint32(4,s,!0),a.slice(0,r)}function zx(e,t,a){switch(e[0]){case 0:case 1:case 2:case 3:return function(e,t,a,n){var r,s=kx(e),i=s.getUint32(4,!0),o=(n>1?12:8)+4*Fx(i&(n>1?3470:398)),l=-1,c=-1,u=NaN,d=new Date(2001,0,1);switch(512&i&&(l=s.getUint32(o,!0),o+=4),o+=4*Fx(i&(n>1?12288:4096)),16&i&&(c=s.getUint32(o,!0),o+=4),32&i&&(u=s.getFloat64(o,!0),o+=8),64&i&&(d.setTime(d.getTime()+1e3*s.getFloat64(o,!0)),o+=8),e[2]){case 0:break;case 2:r={t:"n",v:u};break;case 3:r={t:"s",v:t[c]};break;case 5:r={t:"d",v:d};break;case 6:r={t:"b",v:u>0};break;case 7:r={t:"n",v:u/86400};break;case 8:r={t:"e",v:0};break;case 9:if(l>-1)r={t:"s",v:a[l]};else if(c>-1)r={t:"s",v:t[c]};else{if(isNaN(u))throw new Error("Unsupported cell type ".concat(e.slice(0,4)));r={t:"n",v:u}}break;default:throw new Error("Unsupported cell type ".concat(e.slice(0,4)))}return r}(e,t,a,e[0]);case 5:return jx(e,t,a);default:throw new Error("Unsupported payload version ".concat(e[0]))}}function Hx(e){return Dx(Sx(e)[1][0].data)}function $x(e,t){var a=Sx(t.data),n=Tx(a[1][0].data),r=a[3],s=[];return(r||[]).forEach(function(t){var a=Sx(t.data),r=Tx(a[1][0].data)>>>0;switch(n){case 1:s[r]=_x(a[3][0].data);break;case 8:var i=Sx(e[Hx(a[9][0].data)][0].data),o=e[Hx(i[1][0].data)][0],l=Tx(o.meta[1][0].data);if(2001!=l)throw new Error("2000 unexpected reference to ".concat(l));var c=Sx(o.data);s[r]=c[3].map(function(e){return _x(e.data)}).join("")}}),s}function Yx(e,t){var a,n=Sx(t.data),r=(null==(a=null==n?void 0:n[7])?void 0:a[0])?Tx(n[7][0].data)>>>0>0?1:0:-1,s=Nx(n[5],function(e){return function(e,t){var a,n,r,s,i,o,l,c,u,d,h,p,f,m,g,y,v=Sx(e),b=Tx(v[1][0].data)>>>0,w=Tx(v[2][0].data)>>>0,x=(null==(n=null==(a=v[8])?void 0:a[0])?void 0:n.data)&&Tx(v[8][0].data)>0||!1;if((null==(s=null==(r=v[7])?void 0:r[0])?void 0:s.data)&&0!=t)g=null==(o=null==(i=v[7])?void 0:i[0])?void 0:o.data,y=null==(c=null==(l=v[6])?void 0:l[0])?void 0:c.data;else{if(!(null==(d=null==(u=v[4])?void 0:u[0])?void 0:d.data)||1==t)throw"NUMBERS Tile missing ".concat(t," cell storage");g=null==(p=null==(h=v[4])?void 0:h[0])?void 0:p.data,y=null==(m=null==(f=v[3])?void 0:f[0])?void 0:m.data}for(var k=x?4:1,_=kx(g),E=[],C=0;C=1&&(D[E[E.length-1][0]]=y.subarray(E[E.length-1][1]*k)),{R:b,cells:D}}(e,r)});return{nrows:Tx(n[4][0].data)>>>0,data:s.reduce(function(e,t){return e[t.R]||(e[t.R]=[]),t.cells.forEach(function(a,n){if(e[t.R][n])throw new Error("Duplicate cell r=".concat(t.R," c=").concat(n));e[t.R][n]=a}),e},[])}}function Gx(e,t){var a={"!ref":"A1"},n=e[Hx(Sx(t.data)[2][0].data)],r=Tx(n[0].meta[1][0].data);if(6001!=r)throw new Error("6000 unexpected reference to ".concat(r));return function(e,t,a){var n,r=Sx(t.data),s={s:{r:0,c:0},e:{r:0,c:0}};if(s.e.r=(Tx(r[6][0].data)>>>0)-1,s.e.r<0)throw new Error("Invalid row varint ".concat(r[6][0].data));if(s.e.c=(Tx(r[7][0].data)>>>0)-1,s.e.c<0)throw new Error("Invalid col varint ".concat(r[7][0].data));a["!ref"]=tf(s);var i=Sx(r[4][0].data),o=$x(e,e[Hx(i[4][0].data)][0]),l=(null==(n=i[17])?void 0:n[0])?$x(e,e[Hx(i[17][0].data)][0]):[],c=Sx(i[3][0].data),u=0;c[1].forEach(function(t){var n=Sx(t.data),r=e[Hx(n[2][0].data)][0],s=Tx(r.meta[1][0].data);if(6002!=s)throw new Error("6001 unexpected reference to ".concat(s));var i=Yx(0,r);i.data.forEach(function(e,t){e.forEach(function(e,n){var r=Qp({r:u+t,c:n}),s=zx(e,o,l);s&&(a[r]=s)})}),u+=i.nrows})}(e,n[0],a),a}function Wx(e,t){var a={SheetNames:[],Sheets:{}};if(Nx(Sx(t.data)[1],Hx).forEach(function(t){e[t].forEach(function(t){if(2==Tx(t.meta[1][0].data)){var n=function(e,t){var a,n=Sx(t.data),r={name:(null==(a=n[1])?void 0:a[0])?_x(n[1][0].data):"",sheets:[]};return Nx(n[2],Hx).forEach(function(t){e[t].forEach(function(t){6e3==Tx(t.meta[1][0].data)&&r.sheets.push(Gx(e,t))})}),r}(e,t);n.sheets.forEach(function(e,t){xk(a,e,0==t?n.name:n.name+"_"+t,!0)})}})}),0==a.SheetNames.length)throw new Error("Empty NUMBERS file");return a}function Vx(e){var t,a,n,r,s={},i=[];if(e.FullPaths.forEach(function(e){if(e.match(/\.iwpv2/))throw new Error("Unsupported password protection")}),e.FileIndex.forEach(function(e){if(e.name.match(/\.iwa$/)){var t,a;try{t=Ox(e.content)}catch(mB){return console.log("?? "+e.content.length+" "+(mB.message||mB))}try{a=Px(t)}catch(mB){return console.log("## "+(mB.message||mB))}a.forEach(function(e){s[e.id]=e.messages,i.push(e.id)})}}),!i.length)throw new Error("File has no messages");var o=(null==(r=null==(n=null==(a=null==(t=null==s?void 0:s[1])?void 0:t[0])?void 0:a.meta)?void 0:n[1])?void 0:r[0].data)&&1==Tx(s[1][0].meta[1][0].data)&&s[1][0];if(o||i.forEach(function(e){s[e].forEach(function(e){if(1==Tx(e.meta[1][0].data)>>>0){if(o)throw new Error("Document has multiple roots");o=e}})}),!o)throw new Error("Cannot find Document root");return Wx(s,o)}function Kx(e,t,a){var n,r,s,i;if(!(null==(n=e[6])?void 0:n[0])||!(null==(r=e[7])?void 0:r[0]))throw"Mutation only works on post-BNC storages!";if((null==(i=null==(s=e[8])?void 0:s[0])?void 0:i.data)&&Tx(e[8][0].data)>0||!1)throw"Math only works with normal offsets";for(var o=0,l=kx(e[7][0].data),c=0,u=[],d=kx(e[4][0].data),h=0,p=[],f=0;f]*r:id="([^"]*)"/)||["",""])[1];return t["!id"][a].Target}(Kd(e,f,!0),Zf(Kd(e,m,!0),f)),y=Qd(g,f),v=qf(y);h=Vb(Kd(e,y,!0),0,0,Zf(Kd(e,v,!0),y),0,h);break;case"macro":w=t,s[n],w.slice(-4),h={"!type":"macro"};break;case"dialog":h=function(e,t){return t.slice(-4),{"!type":"dialog"}}(0,t,0,0,s[n]);break;default:throw new Error("Unrecognized sheet type "+o)}i[n]=h;var b=[];s&&s[n]&&xd(s[n]).forEach(function(a){var r="";if(s[n][a].Type==Jf.CMNT){r=Qd(s[n][a].Target,t);var i=mw(Vd(e,r,!0),r,l);if(!i||!i.length)return;sv(h,i,!1)}s[n][a].Type==Jf.TCMNT&&(r=Qd(s[n][a].Target,t),b=b.concat(function(e,t){var a=[],n=!1,r={},s=0;return e.replace(nh,function(i,o){var l=ih(i);switch(oh(l[0])){case"":case"":case"
    ":case"":break;case"":null!=r.t&&a.push(r);break;case"":case"":r.t=e.slice(s,o).replace(/\r\n/g,"\n").replace(/\r/g,"\n");break;case"":case"":case"":n=!1;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+l[0]+" in threaded comments")}return i}),a}(Vd(e,r,!0),l)))}),b&&b.length&&sv(h,b,!0,l.people||[])}catch(mB){if(l.WTF)throw mB}var w}function Qx(e){return"/"==e.charAt(0)?e.slice(1):e}function ek(e,t){if(fd(),qx(t=t||{}),Gd(e,"META-INF/manifest.xml"))return yx(e,t);if(Gd(e,"objectdata.xml"))return yx(e,t);if(Gd(e,"Index/Document.iwa")){if("undefined"==typeof Uint8Array)throw new Error("NUMBERS file parsing requires Uint8Array support");if(void 0!==Vx){if(e.FileIndex)return Vx(e);var a=vd.utils.cfb_new();return Jd(e).forEach(function(t){qd(a,t,function(e,t){return Yd(Wd(e,t))}(e,t))}),Vx(a)}throw new Error("Unsupported NUMBERS file")}if(!Gd(e,"[Content_Types].xml")){if(Gd(e,"index.xml.gz"))throw new Error("Unsupported NUMBERS 08 file");if(Gd(e,"index.xml"))throw new Error("Unsupported NUMBERS 09 file");throw new Error("Unsupported ZIP file")}var n,r,s=Jd(e),i=function(e){var t={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};if(!e||!e.match)return t;var a={};if((e.match(nh)||[]).forEach(function(e){var n=ih(e);switch(n[0].replace(rh,"<")){case"0?t.calcchains[0]:"",t.sst=t.strs.length>0?t.strs[0]:"",t.style=t.styles.length>0?t.styles[0]:"",t.defaults=a,delete t.calcchains,t}(Kd(e,"[Content_Types].xml")),o=!1;if(0===i.workbooks.length&&Vd(e,r="xl/workbook.xml",!0)&&i.workbooks.push(r),0===i.workbooks.length){if(!Vd(e,r="xl/workbook.bin",!0))throw new Error("Could not find workbook");i.workbooks.push(r),o=!0}"bin"==i.workbooks[0].slice(-3)&&(o=!0);var l={},c={};if(!t.bookSheets&&!t.bookProps){if(sb=[],i.sst)try{sb=fw(Vd(e,Qx(i.sst)),i.sst,t)}catch(mB){if(t.WTF)throw mB}t.cellStyles&&i.themes.length&&(l=function(e,t,a){return qy(e,a)}(Kd(e,i.themes[0].replace(/^\//,""),!0)||"",i.themes[0],t)),i.style&&(c=pw(Vd(e,Qx(i.style)),i.style,l,t))}i.links.map(function(a){try{Zf(Kd(e,qf(Qx(a))),a);return yw(Vd(e,Qx(a)),0,a,t)}catch(mB){}});var u=uw(Vd(e,Qx(i.workbooks[0])),i.workbooks[0],t),d={},h="";i.coreprops.length&&((h=Vd(e,Qx(i.coreprops[0]),!0))&&(d=sm(h)),0!==i.extprops.length&&(h=Vd(e,Qx(i.extprops[0]),!0))&&function(e,t,a){var n={};t||(t={}),e=_h(e),lm.forEach(function(a){var r=(e.match(Ch(a[0]))||[])[1];switch(a[2]){case"string":r&&(t[a[1]]=uh(r));break;case"bool":t[a[1]]="true"===r;break;case"raw":var s=e.match(new RegExp("<"+a[0]+"[^>]*>([\\s\\S]*?)"));s&&s.length>0&&(n[a[1]]=s[1])}}),n.HeadingPairs&&n.TitlesOfParts&&um(n.HeadingPairs,n.TitlesOfParts,t,a)}(h,d,t));var p={};t.bookSheets&&!t.bookProps||0!==i.custprops.length&&(h=Kd(e,Qx(i.custprops[0]),!0))&&(p=function(e,t){var a={},n="",r=e.match(hm);if(r)for(var s=0;s!=r.length;++s){var i=r[s],o=ih(i);switch(o[0]){case"":n=null;break;default:if(0===i.indexOf(""),c=l[0].slice(4),u=l[1];switch(c){case"lpstr":case"bstr":case"lpwstr":case"cy":case"error":a[n]=uh(u);break;case"bool":a[n]=vh(u);break;case"i1":case"i2":case"i4":case"i8":case"int":case"uint":a[n]=parseInt(u,10);break;case"r4":case"r8":case"decimal":a[n]=parseFloat(u);break;case"filetime":case"date":a[n]=Md(u);break;default:if("/"==c.slice(-1))break;t.WTF&&"undefined"!=typeof console&&console.warn("Unexpected",i,c,l)}}else if("0&&(n=d.SheetNames),t.bookProps&&(f.Props=d,f.Custprops=p),t.bookSheets&&void 0!==n&&(f.SheetNames=n),t.bookSheets?f.SheetNames:t.bookProps))return f;n={};var m={};t.bookDeps&&i.calcchain&&(m=gw(Vd(e,Qx(i.calcchain)),i.calcchain));var g,y,v=0,b={},w=u.Sheets;d.Worksheets=w.length,d.SheetNames=[];for(var x=0;x!=w.length;++x)d.SheetNames[x]=w[x].name;var k=o?"bin":"xml",_=i.workbooks[0].lastIndexOf("/"),E=(i.workbooks[0].slice(0,_+1)+"_rels/"+i.workbooks[0].slice(_+1)+".rels").replace(/^\//,"");Gd(e,E)||(E="xl/_rels/workbook."+k+".rels");var C=Zf(Kd(e,E,!0),E.replace(/_rels.*/,"s5s"));(i.metadata||[]).length>=1&&(t.xlmeta=vw(Vd(e,Qx(i.metadata[0])),i.metadata[0],t)),(i.people||[]).length>=1&&(t.people=function(e,t){var a=[],n=!1;return e.replace(nh,function(e){var r=ih(e);switch(oh(r[0])){case"":case"":case"":case"":case"":break;case"":n=!1;break;default:if(!n&&t.WTF)throw new Error("unrecognized "+r[0]+" in threaded comments")}return e}),a}(Vd(e,Qx(i.people[0])),t)),C&&(C=function(e,t){if(!e)return 0;try{e=t.map(function(t){return t.id||(t.id=t.strRelID),[t.name,e["!id"][t.id].Target,(a=e["!id"][t.id].Type,Jf.WS.indexOf(a)>-1?"sheet":a==Jf.CS?"chart":a==Jf.DS?"dialog":a==Jf.MS?"macro":a&&a.length?a:"sheet")];var a})}catch(mB){return null}return e&&0!==e.length?e:null}(C,u.Sheets));var F=Vd(e,"xl/worksheets/sheet.xml",!0)?1:0;e:for(v=0;v!=d.Worksheets;++v){var D="sheet";if(C&&C[v]?(g="xl/"+C[v][1].replace(/[\/]?xl\//,""),Gd(e,g)||(g=C[v][1]),Gd(e,g)||(g=E.replace(/_rels\/.*$/,"")+C[v][1]),D=C[v][2]):g=(g="xl/worksheets/sheet"+(v+1-F)+"."+k).replace(/sheet0\./,"sheet."),y=g.replace(/^(.*)(\/)([^\/]*)$/,"$1/_rels/$3.rels"),t&&null!=t.sheets)switch(typeof t.sheets){case"number":if(v!=t.sheets)continue e;break;case"string":if(d.SheetNames[v].toLowerCase()!=t.sheets.toLowerCase())continue e;break;default:if(Array.isArray&&Array.isArray(t.sheets)){for(var A=!1,T=0;T!=t.sheets.length;++T)"number"==typeof t.sheets[T]&&t.sheets[T]==v&&(A=1),"string"==typeof t.sheets[T]&&t.sheets[T].toLowerCase()==d.SheetNames[v].toLowerCase()&&(A=1);if(!A)continue e}}Xx(e,g,y,d.SheetNames[v],v,b,n,D,t,u,l,c)}return f={Directory:i,Workbook:u,Props:d,Custprops:p,Deps:m,Sheets:n,SheetNames:d.SheetNames,Strings:sb,Styles:c,Themes:l,SSF:Ud(Pu)},t&&t.bookFiles&&(e.files?(f.keys=s,f.files=e.files):(f.keys=[],f.files={},e.FullPaths.forEach(function(t,a){t=t.replace(/^Root Entry[\/]/,""),f.keys.push(t),f.files[t]=e.FileIndex[a]}))),t&&t.bookVBA&&(i.vba.length>0?f.vbaraw=Vd(e,Qx(i.vba[0]),!0):i.defaults&&"application/vnd.ms-office.vbaProject"===i.defaults.bin&&(f.vbaraw=Vd(e,"xl/vbaProject.bin",!0))),f}function tk(e,t){var a,n,r=t||{},s="Workbook",i=vd.find(e,s);try{if(s="/!DataSpaces/Version",!(i=vd.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(a=i.content,(n={}).id=a.read_shift(0,"lpp4"),n.R=Qg(a,4),n.U=Qg(a,4),n.W=Qg(a,4),s="/!DataSpaces/DataSpaceMap",!(i=vd.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var o=function(e){var t=[];e.l+=4;for(var a=e.read_shift(4);a-- >0;)t.push(ey(e));return t}(i.content);if(1!==o.length||1!==o[0].comps.length||0!==o[0].comps[0].t||"StrongEncryptionDataSpace"!==o[0].name||"EncryptedPackage"!==o[0].comps[0].v)throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/DataSpaceInfo/StrongEncryptionDataSpace",!(i=vd.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var l=function(e){var t=[];e.l+=4;for(var a=e.read_shift(4);a-- >0;)t.push(e.read_shift(0,"lpp4"));return t}(i.content);if(1!=l.length||"StrongEncryptionTransform"!=l[0])throw new Error("ECMA-376 Encrypted file bad "+s);if(s="/!DataSpaces/TransformInfo/StrongEncryptionTransform/!Primary",!(i=vd.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);ty(i.content)}catch(mB){}if(s="/EncryptionInfo",!(i=vd.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);var c=function(e){var t=Qg(e);switch(t.Minor){case 2:return[t.Minor,ry(e)];case 3:return[t.Minor,sy()];case 4:return[t.Minor,iy(e)]}throw new Error("ECMA-376 Encrypted file unrecognized Version: "+t.Minor)}(i.content);if(s="/EncryptedPackage",!(i=vd.find(e,s))||!i.content)throw new Error("ECMA-376 Encrypted file missing "+s);if(4==c[0]&&"undefined"!=typeof decrypt_agile)return decrypt_agile(c[1],i.content,r.password||"",r);if(2==c[0]&&"undefined"!=typeof decrypt_std76)return decrypt_std76(c[1],i.content,r.password||"",r);throw new Error("File is password-protected")}function ak(e,t){return"ods"==t.bookType?xx(e,t):"numbers"==t.bookType?function(e,t){if(!t||!t.numbers)throw new Error("Must pass a `numbers` option -- check the README");var a=e.Sheets[e.SheetNames[0]];e.SheetNames.length>1&&console.error("The Numbers writer currently writes only the first table");var n=ef(a["!ref"]);n.s.r=n.s.c=0;var r=!1;n.e.c>9&&(r=!0,n.e.c=9),n.e.r>49&&(r=!0,n.e.r=49),r&&console.error("The Numbers writer is currently limited to ".concat(tf(n)));var s=pk(a,{range:n,header:1}),i=["~Sh33tJ5~"];s.forEach(function(e){return e.forEach(function(e){"string"==typeof e&&i.push(e)})});var o={},l=[],c=vd.read(t.numbers,{type:"base64"});c.FileIndex.map(function(e,t){return[e,c.FullPaths[t]]}).forEach(function(e){var t=e[0],a=e[1];2==t.type&&t.name.match(/\.iwa/)&&Px(Ox(t.content)).forEach(function(e){l.push(e.id),o[e.id]={deps:[],location:a,type:Tx(e.messages[0].meta[1][0].data)}})}),l.sort(function(e,t){return e-t});var u=l.filter(function(e){return e>1}).map(function(e){return[e,Ax(e)]});c.FileIndex.map(function(e,t){return[e,c.FullPaths[t]]}).forEach(function(e){var t=e[0];e[1],t.name.match(/\.iwa/)&&Px(Ox(t.content)).forEach(function(e){e.messages.forEach(function(t){u.forEach(function(t){e.messages.some(function(e){return 11006!=Tx(e.meta[1][0].data)&&function(e,t){e:for(var a=0;a<=e.length-t.length;++a){for(var n=0;n-1,r={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};Zx(t=t||{});var s=Zd(),i="",o=0;t.cellXfs=[],db(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});if(qd(s,i="docProps/core.xml",om(e.Props,t)),r.coreprops.push(i),Qf(t.rels,2,i,Jf.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var l=[],c=0;c0&&(qd(s,i="docProps/custom.xml",pm(e.Custprops)),r.custprops.push(i),Qf(t.rels,4,i,Jf.CUST_PROPS));for(o=1;o<=e.SheetNames.length;++o){var u={"!id":{}},d=e.Sheets[e.SheetNames[o-1]];(d||{})["!type"];if(qd(s,i="xl/worksheets/sheet"+o+"."+a,bw(o-1,i,t,e,u)),r.sheets.push(i),Qf(t.wbrels,-1,"worksheets/sheet"+o+"."+a,Jf.WS[0]),d){var h=d["!comments"],p=!1,f="";h&&h.length>0&&(qd(s,f="xl/comments"+o+"."+a,ww(h,f)),r.comments.push(f),Qf(u,-1,"../comments"+o+"."+a,Jf.CMNT),p=!0),d["!legacy"]&&p&&qd(s,"xl/drawings/vmlDrawing"+o+".vml",rv(o,d["!comments"])),delete d["!comments"],delete d["!legacy"]}u["!id"].rId1&&qd(s,qf(i),Xf(u))}null!=t.Strings&&t.Strings.length>0&&(qd(s,i="xl/sharedStrings."+a,function(e,t,a){return(".bin"===t.slice(-4)?Zg:Jg)(e,a)}(t.Strings,i,t)),r.strs.push(i),Qf(t.wbrels,-1,"sharedStrings."+a,Jf.SST));qd(s,i="xl/workbook."+a,function(e,t){return(".bin"===t.slice(-4)?cw:sw)(e)}(e,i)),r.workbooks.push(i),Qf(t.rels,1,i,Jf.WB),qd(s,i="xl/theme/theme1.xml",Zy(e.Themes,t)),r.themes.push(i),Qf(t.wbrels,-1,"theme/theme1.xml",Jf.THEME),qd(s,i="xl/styles."+a,function(e,t,a){return(".bin"===t.slice(-4)?zy:Ay)(e,a)}(e,i,t)),r.styles.push(i),Qf(t.wbrels,-1,"styles."+a,Jf.STY),e.vbaraw&&n&&(qd(s,i="xl/vbaProject.bin",e.vbaraw),r.vba.push(i),Qf(t.wbrels,-1,"vbaProject.bin",Jf.VBA));return qd(s,i="xl/metadata."+a,function(e){return(".bin"===e.slice(-4)?tv:av)()}(i)),r.metadata.push(i),Qf(t.wbrels,-1,"metadata."+a,Jf.XLMETA),qd(s,"[Content_Types].xml",Kf(r,t)),qd(s,"_rels/.rels",Xf(t.rels)),qd(s,"xl/_rels/workbook."+a+".rels",Xf(t.wbrels)),delete t.revssf,delete t.ssf,s}(e,t):function(e,t){nv=1024,e&&!e.SSF&&(e.SSF=Ud(Pu));e&&e.SSF&&(fd(),pd(e.SSF),t.revssf=Ed(e.SSF),t.revssf[e.SSF[65535]]=0,t.ssf=e.SSF);t.rels={},t.wbrels={},t.Strings=[],t.Strings.Count=0,t.Strings.Unique=0,ob?t.revStrings=new Map:(t.revStrings={},t.revStrings.foo=[],delete t.revStrings.foo);var a="xml",n=uv.indexOf(t.bookType)>-1,r={workbooks:[],sheets:[],charts:[],dialogs:[],macros:[],rels:[],strs:[],comments:[],threadedcomments:[],links:[],coreprops:[],extprops:[],custprops:[],themes:[],styles:[],calcchains:[],vba:[],drawings:[],metadata:[],people:[],TODO:[],xmlns:""};Zx(t=t||{});var s=Zd(),i="",o=0;t.cellXfs=[],db(t.cellXfs,{},{revssf:{General:0}}),e.Props||(e.Props={});if(qd(s,i="docProps/core.xml",om(e.Props,t)),r.coreprops.push(i),Qf(t.rels,2,i,Jf.CORE_PROPS),i="docProps/app.xml",e.Props&&e.Props.SheetNames);else if(e.Workbook&&e.Workbook.Sheets){for(var l=[],c=0;c0&&(qd(s,i="docProps/custom.xml",pm(e.Custprops)),r.custprops.push(i),Qf(t.rels,4,i,Jf.CUST_PROPS));var u=["SheetJ5"];for(t.tcid=0,o=1;o<=e.SheetNames.length;++o){var d={"!id":{}},h=e.Sheets[e.SheetNames[o-1]];(h||{})["!type"];if(qd(s,i="xl/worksheets/sheet"+o+"."+a,Ib(o-1,t,e,d)),r.sheets.push(i),Qf(t.wbrels,-1,"worksheets/sheet"+o+"."+a,Jf.WS[0]),h){var p=h["!comments"],f=!1,m="";if(p&&p.length>0){var g=!1;p.forEach(function(e){e[1].forEach(function(e){1==e.T&&(g=!0)})}),g&&(qd(s,m="xl/threadedComments/threadedComment"+o+"."+a,ov(p,u,t)),r.threadedcomments.push(m),Qf(d,-1,"../threadedComments/threadedComment"+o+"."+a,Jf.TCMNT)),qd(s,m="xl/comments"+o+"."+a,iv(p)),r.comments.push(m),Qf(d,-1,"../comments"+o+"."+a,Jf.CMNT),f=!0}h["!legacy"]&&f&&qd(s,"xl/drawings/vmlDrawing"+o+".vml",rv(o,h["!comments"])),delete h["!comments"],delete h["!legacy"]}d["!id"].rId1&&qd(s,qf(i),Xf(d))}null!=t.Strings&&t.Strings.length>0&&(qd(s,i="xl/sharedStrings."+a,Jg(t.Strings,t)),r.strs.push(i),Qf(t.wbrels,-1,"sharedStrings."+a,Jf.SST));qd(s,i="xl/workbook."+a,sw(e)),r.workbooks.push(i),Qf(t.rels,1,i,Jf.WB),qd(s,i="xl/theme/theme1.xml",Zy(e.Themes,t)),r.themes.push(i),Qf(t.wbrels,-1,"theme/theme1.xml",Jf.THEME),qd(s,i="xl/styles."+a,Ay(e,t)),r.styles.push(i),Qf(t.wbrels,-1,"styles."+a,Jf.STY),e.vbaraw&&n&&(qd(s,i="xl/vbaProject.bin",e.vbaraw),r.vba.push(i),Qf(t.wbrels,-1,"vbaProject.bin",Jf.VBA));qd(s,i="xl/metadata."+a,av()),r.metadata.push(i),Qf(t.wbrels,-1,"metadata."+a,Jf.XLMETA),u.length>1&&(qd(s,i="xl/persons/person.xml",function(e){var t=[eh,Bh("personList",null,{xmlns:$h,"xmlns:x":Zh[0]}).replace(/[\/]>/,">")];return e.forEach(function(e,a){t.push(Bh("person",null,{displayName:e,id:"{54EE7950-7262-4200-6969-"+("000000000000"+a).slice(-12)+"}",userId:e,providerId:"None"}))}),t.push(""),t.join("")}(u)),r.people.push(i),Qf(t.wbrels,-1,"persons/person.xml",Jf.PEOPLE));return qd(s,"[Content_Types].xml",Kf(r,t)),qd(s,"_rels/.rels",Xf(t.rels)),qd(s,"xl/_rels/workbook."+a+".rels",Xf(t.wbrels)),delete t.revssf,delete t.ssf,s}(e,t)}function nk(e,t){var a="";switch((t||{}).type||"base64"){case"buffer":case"array":return[e[0],e[1],e[2],e[3],e[4],e[5],e[6],e[7]];case"base64":a=hu(e.slice(0,12));break;case"binary":a=e;break;default:throw new Error("Unrecognized type "+(t&&t.type||"undefined"))}return[a.charCodeAt(0),a.charCodeAt(1),a.charCodeAt(2),a.charCodeAt(3),a.charCodeAt(4),a.charCodeAt(5),a.charCodeAt(6),a.charCodeAt(7)]}function rk(e,t){var a=0;e:for(;a=2&&0===n[3])return jg.to_workbook(r,a);if(0===n[2]&&(8===n[3]||9===n[3]))return jg.to_workbook(r,a)}break;case 3:case 131:case 139:case 140:return Pg.to_workbook(r,a);case 123:if(92===n[1]&&114===n[2]&&116===n[3])return dy.to_workbook(r,a);break;case 10:case 13:case 32:return function(e,t){var a="",n=nk(e,t);switch(t.type){case"base64":a=hu(e);break;case"binary":a=e;break;case"buffer":a=e.toString("binary");break;case"array":a=Od(e);break;default:throw new Error("Unrecognized type "+t.type)}return 239==n[0]&&187==n[1]&&191==n[2]&&(a=_h(a)),t.type="binary",rk(a,t)}(r,a);case 137:if(80===n[1]&&78===n[2]&&71===n[3])throw new Error("PNG Image File is not a spreadsheet")}return Ng.indexOf(n[0])>-1&&n[2]<=12&&n[3]<=31?Pg.to_workbook(r,a):sk(e,r,a,s)}function ok(e,t){switch(t.type){case"base64":case"binary":break;case"buffer":case"array":t.type="";break;case"file":return wd(t.file,vd.write(e,{type:pu?"buffer":""}));case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");default:throw new Error("Unrecognized type "+t.type)}return vd.write(e,t)}function lk(e,t){var a=Ud(t||{});return function(e,t){var a={},n=pu?"nodebuffer":"undefined"!=typeof Uint8Array?"array":"string";t.compression&&(a.compression="DEFLATE");if(t.password)a.type=n;else switch(t.type){case"base64":a.type="base64";break;case"binary":a.type="string";break;case"string":throw new Error("'string' output type invalid for '"+t.bookType+"' files");case"buffer":case"file":a.type=n;break;default:throw new Error("Unrecognized type "+t.type)}var r=e.FullPaths?vd.write(e,{fileType:"zip",type:{nodebuffer:"buffer",string:"binary"}[a.type]||a.type,compression:!!t.compression}):e.generate(a);if("undefined"!=typeof Deno&&"string"==typeof r){if("binary"==t.type||"base64"==t.type)return r;r=new Uint8Array(vu(r))}return t.password&&"undefined"!=typeof encrypt_agile?ok(encrypt_agile(r,t.password),t):"file"===t.type?wd(t.file,r):"string"==t.type?_h(r):r}(ak(e,a),a)}function ck(e,t,a){a||(a="");var n=a+e;switch(t.type){case"base64":return du(Eh(n));case"binary":return Eh(n);case"string":return e;case"file":return wd(t.file,n,"utf8");case"buffer":return pu?fu(n,"utf8"):"undefined"!=typeof TextEncoder?(new TextEncoder).encode(n):ck(n,{type:"binary"}).split("").map(function(e){return e.charCodeAt(0)})}throw new Error("Unrecognized type "+t.type)}function uk(e,t){switch(t.type){case"string":case"base64":case"binary":for(var a="",n=0;n0&&(r=0);var d=Jp(l.s.r),h=[],p=[],f=0,m=0,g=Array.isArray(e),y=l.s.r,v=0,b={};g&&!e[y]&&(e[y]=[]);var w=c.skipHidden&&e["!cols"]||[],x=c.skipHidden&&e["!rows"]||[];for(v=l.s.c;v<=l.e.c;++v)if(!(w[v]||{}).hidden)switch(h[v]=Zp(v),a=g?e[y][v]:e[h[v]+d],n){case 1:s[v]=v-l.s.c;break;case 2:s[v]=h[v];break;case 3:s[v]=c.header[v-l.s.c];break;default:if(null==a&&(a={w:"__EMPTY",t:"s"}),o=i=rf(a,null,c),m=b[i]||0){do{o=i+"_"+m++}while(b[o]);b[i]=m,b[o]=1}else b[i]=1;s[v]=o}for(y=l.s.r+r;y<=l.e.r;++y)if(!(x[y]||{}).hidden){var k=hk(e,l,y,h,n,s,g,c);(!1===k.isempty||(1===n?!1!==c.blankrows:c.blankrows))&&(p[f++]=k.row)}return p.length=f,p}var fk=/"/g;function mk(e,t,a,n,r,s,i,o){for(var l=!0,c=[],u="",d=Jp(a),h=t.s.c;h<=t.e.c;++h)if(n[h]){var p=o.dense?(e[a]||[])[h]:e[n[h]+d];if(null==p)u="";else if(null!=p.v){l=!1,u=""+(o.rawNumbers&&"n"==p.t?p.v:rf(p,null,o));for(var f=0,m=0;f!==u.length;++f)if((m=u.charCodeAt(f))===r||m===s||34===m||o.forceQuotes){u='"'+u.replace(fk,'""')+'"';break}"ID"==u&&(u='"ID"')}else null==p.f||p.F?u="":(l=!1,(u="="+p.f).indexOf(",")>=0&&(u='"'+u.replace(fk,'""')+'"'));c.push(u)}return!1===o.blankrows&&l?null:c.join(i)}function gk(e,t){var a=[],n=null==t?{}:t;if(null==e||null==e["!ref"])return"";var r=af(e["!ref"]),s=void 0!==n.FS?n.FS:",",i=s.charCodeAt(0),o=void 0!==n.RS?n.RS:"\n",l=o.charCodeAt(0),c=new RegExp(("|"==s?"\\|":s)+"+$"),u="",d=[];n.dense=Array.isArray(e);for(var h=n.skipHidden&&e["!cols"]||[],p=n.skipHidden&&e["!rows"]||[],f=r.s.c;f<=r.e.c;++f)(h[f]||{}).hidden||(d[f]=Zp(f));for(var m=0,g=r.s.r;g<=r.e.r;++g)(p[g]||{}).hidden||null!=(u=mk(e,r,g,d,i,l,s,n))&&(n.strip&&(u=u.replace(c,"")),(u||!1!==n.blankrows)&&a.push((m++?o:"")+u));return delete n.dense,a.join("")}function yk(e,t){return t||(t={}),t.FS="\t",t.RS="\n",gk(e,t)}function vk(e,t,a){var n,r=a||{},s=+!r.skipHeader,i=e||{},o=0,l=0;if(i&&null!=r.origin)if("number"==typeof r.origin)o=r.origin;else{var c="string"==typeof r.origin?Xp(r.origin):r.origin;o=c.r,l=c.c}var u={s:{c:0,r:0},e:{c:l,r:o+t.length-1+s}};if(i["!ref"]){var d=af(i["!ref"]);u.e.c=Math.max(u.e.c,d.e.c),u.e.r=Math.max(u.e.r,d.e.r),-1==o&&(o=d.e.r+1,u.e.r=o+t.length-1+s)}else-1==o&&(o=0,u.e.r=t.length-1+s);var h=r.header||[],p=0;t.forEach(function(e,t){xd(e).forEach(function(a){-1==(p=h.indexOf(a))&&(h[p=h.length]=a);var c=e[a],u="z",d="",f=Qp({c:l+p,r:o+t+s});n=bk(i,f),!c||"object"!=typeof c||c instanceof Date?("number"==typeof c?u="n":"boolean"==typeof c?u="b":"string"==typeof c?u="s":c instanceof Date?(u="d",r.cellDates||(u="n",c=Fd(c)),d=r.dateNF||Pu[14]):null===c&&r.nullError&&(u="e",c=0),n?(n.t=u,n.v=c,delete n.w,delete n.R,d&&(n.z=d)):i[f]=n={t:u,v:c},d&&(n.z=d)):i[f]=c})}),u.e.c=Math.max(u.e.c,l+h.length-1);var f=Jp(o);if(s)for(p=0;p=65535)throw new Error("Too many worksheets");if(n&&e.SheetNames.indexOf(a)>=0){var s=a.match(/(^.*?)(\d+)$/);r=s&&+s[2]||0;var i=s&&s[1]||a;for(++r;r<=65535&&-1!=e.SheetNames.indexOf(a=i+r);++r);}if(aw(a),e.SheetNames.indexOf(a)>=0)throw new Error("Worksheet with name |"+a+"| already exists!");return e.SheetNames.push(a),e.Sheets[a]=t,a}function kk(e,t,a){return t?(e.l={Target:t},a&&(e.l.Tooltip=a)):delete e.l,e}var _k={encode_col:Zp,encode_row:Jp,encode_cell:Qp,encode_range:tf,decode_col:qp,decode_row:Kp,split_cell:function(e){return e.replace(/(\$?[A-Z]*)(\$?\d*)/,"$1,$2").split(",")},decode_cell:Xp,decode_range:ef,format_cell:rf,sheet_add_aoa:of,sheet_add_json:vk,sheet_add_dom:dx,aoa_to_sheet:lf,json_to_sheet:function(e,t){return vk(null,e,t)},table_to_sheet:hx,table_to_book:function(e,t){return sf(hx(e,t),t)},sheet_to_csv:gk,sheet_to_txt:yk,sheet_to_json:pk,sheet_to_html:ux,sheet_to_formulae:function(e){var t,a="",n="";if(null==e||null==e["!ref"])return[];var r,s=af(e["!ref"]),i="",o=[],l=[],c=Array.isArray(e);for(r=s.s.c;r<=s.e.c;++r)o[r]=Zp(r);for(var u=s.s.r;u<=s.e.r;++u)for(i=Jp(u),r=s.s.c;r<=s.e.c;++r)if(a=o[r]+i,n="",void 0!==(t=c?(e[u]||[])[r]:e[a])){if(null!=t.F){if(a=t.F,!t.f)continue;n=t.f,-1==a.indexOf(":")&&(a=a+":"+a)}if(null!=t.f)n=t.f;else{if("z"==t.t)continue;if("n"==t.t&&null!=t.v)n=""+t.v;else if("b"==t.t)n=t.v?"TRUE":"FALSE";else if(void 0!==t.w)n="'"+t.w;else{if(void 0===t.v)continue;n="s"==t.t?"'"+t.v:""+t.v}}l[l.length]=a+"="+n}return l},sheet_to_row_object_array:pk,sheet_get_cell:bk,book_new:wk,book_append_sheet:xk,book_set_sheet_visibility:function(e,t,a){e.Workbook||(e.Workbook={}),e.Workbook.Sheets||(e.Workbook.Sheets=[]);var n=function(e,t){if("number"==typeof t){if(t>=0&&e.SheetNames.length>t)return t;throw new Error("Cannot find sheet # "+t)}if("string"==typeof t){var a=e.SheetNames.indexOf(t);if(a>-1)return a;throw new Error("Cannot find sheet name |"+t+"|")}throw new Error("Cannot find sheet |"+t+"|")}(e,t);switch(e.Workbook.Sheets[n]||(e.Workbook.Sheets[n]={}),a){case 0:case 1:case 2:break;default:throw new Error("Bad sheet visibility setting "+a)}e.Workbook.Sheets[n].Hidden=a},cell_set_number_format:function(e,t){return e.z=t,e},cell_set_hyperlink:kk,cell_set_internal_link:function(e,t,a){return kk(e,"#"+t,a)},cell_add_comment:function(e,t,a){e.c||(e.c=[]),e.c.push({t:t,a:a||"SheetJS"})},sheet_set_array_formula:function(e,t,a,n){for(var r="string"!=typeof t?t:af(t),s="string"==typeof t?t:tf(t),i=r.s.r;i<=r.e.r;++i)for(var o=r.s.c;o<=r.e.c;++o){var l=bk(e,i,o);l.t="n",l.F=s,delete l.v,i==r.s.r&&o==r.s.c&&(l.f=a,n&&(l.D=!0))}return e},consts:{SHEET_VISIBLE:0,SHEET_HIDDEN:1,SHEET_VERY_HIDDEN:2}};const Ek={class:"excel-json-converter"},Ck={class:"mode-toggle"},Fk={key:0,class:"converter-content"},Dk={class:"input-section"},Ak={class:"section-header"},Tk={class:"section-actions"},Sk={class:"button-group"},Ik={key:0,class:"error-message"},Nk={class:"output-section"},Pk={class:"section-header"},Bk={class:"export-actions"},Mk={class:"preview-container"},Ok={key:0,class:"data-preview"},Uk={class:"preview-info"},jk={class:"info-item"},Lk={class:"info-item"},Rk={class:"info-item"},zk={class:"table-container"},Hk={class:"preview-table"},$k={key:0,class:"more-rows"},Yk={key:1,class:"preview-placeholder"},Gk={key:1,class:"converter-content"},Wk={class:"input-section"},Vk={class:"section-header"},Kk={class:"section-actions"},Jk={key:0,class:"upload-placeholder"},qk={key:1,class:"file-info"},Zk={class:"file-details"},Xk={class:"file-text"},Qk={class:"file-name"},e_={class:"file-size"},t_={key:0,class:"error-message"},a_={class:"output-section"},n_={class:"section-header"},r_={class:"export-actions"},s_={class:"json-output-container"},i_={key:0,class:"json-output"},o_={class:"json-text"},l_={key:1,class:"output-placeholder"},c_=$a({__name:"JsonToExcel",emits:["back"],setup(e){il("json-to-excel");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("json-to-excel"),{downloadJson:a}=ol(),{copyToClipboard:n}=ll(),{success:r,error:s}=Vo(),i=St("json-to-excel"),o=St(""),l=St(""),c=St([]),u=St("xlsx"),d=St(null),h=St(""),p=St(""),f=is(()=>{if(!c.value||0===c.value.length)return[];const e=new Set;return c.value.forEach(t=>{Object.keys(t).forEach(t=>e.add(t))}),Array.from(e)}),m=is(()=>c.value.slice(0,5)),g=e=>{i.value=e,T()},y=()=>{l.value=""},v=async()=>{if(await new Promise(e=>setTimeout(e,10)),o.value.trim())try{JSON.parse(o.value),b()}catch{}},b=()=>{if(o.value.trim())try{const e=JSON.parse(o.value);if(Array.isArray(e))c.value=e;else if("object"==typeof e&&null!==e)if(Object.keys(e).length>0){const t=Object.values(e);t.every(e=>"object"==typeof e&&null!==e)?c.value=t.map((t,a)=>({id:Object.keys(e)[a],...t})):c.value=Object.entries(e).map(([e,t])=>({key:e,value:"object"==typeof t?JSON.stringify(t):t}))}else c.value=[];else c.value=[{value:e}];l.value="",r(`成功解析 ${c.value.length} 行数据`)}catch(e){l.value=`JSON格式错误: ${e.message}`,c.value=[],s("JSON格式错误")}else s("请先输入JSON数据")},w=()=>{if(c.value&&0!==c.value.length)try{const e=_k.book_new(),t=_k.json_to_sheet(c.value);_k.book_append_sheet(e,t,"Sheet1");const a=`json-export-${(new Date).toISOString().slice(0,19).replace(/:/g,"-")}.${u.value}`;!function(e,t){var a={type:"file"};a.file=t,function(e){if(!e.bookType){var t=e.file.slice(e.file.lastIndexOf(".")).toLowerCase();t.match(/^\.[a-z]+$/)&&(e.bookType=t.slice(1)),e.bookType={xls:"biff8",htm:"html",slk:"sylk",socialcalc:"eth",Sh33tJS:"WTF"}[e.bookType]||e.bookType}}(a),dk(e,a)}(e,a),r(`文件已导出: ${a}`)}catch(e){console.error("Export error:",e),s("导出失败")}else s("没有数据可导出")},x=e=>{const t=e.target,a=t.files?.[0];a&&_(a)},k=e=>{e.preventDefault();const t=e.dataTransfer?.files[0];t&&_(t)},_=e=>{const t=e.name.toLowerCase().split(".").pop();if(!["xlsx","xls","csv"].includes(t||""))return void(h.value="不支持的文件格式,请选择 .xlsx, .xls 或 .csv 文件");d.value=e,h.value="";const a=new FileReader;a.onload=e=>{try{const a=e.target?.result;let n;n=ik(a,"csv"===t?{type:"string"}:{type:"array"});const i=n.SheetNames[0];if(!i)throw new Error("工作表为空");const o=n.Sheets[i];if(!o)throw new Error("工作表为空");const l=_k.sheet_to_json(o,{header:1,defval:""});if(l.length>0){const e=l[0],t=l.slice(1).map(t=>{const a={};return e.forEach((e,n)=>{a[e||`Column${n+1}`]=t[n]||""}),a}).filter(e=>Object.values(e).some(e=>""!==e));p.value=JSON.stringify(t,null,2),r(`成功转换 ${t.length} 行数据`)}else p.value="[]",s("文件为空或无有效数据")}catch(a){console.error("File processing error:",a),h.value=`文件处理失败: ${a.message}`,p.value=""}},"csv"===t?a.readAsText(e,"UTF-8"):a.readAsArrayBuffer(e)},E=()=>{const e=document.querySelector('input[type="file"]');e&&e.click()},C=()=>{d.value=null,h.value="",p.value="";const e=document.querySelector('input[type="file"]');e&&(e.value="")},F=async()=>{if(!p.value)return;await n(p.value)?r("JSON已复制到剪贴板"):s("复制失败")},D=()=>{if(!p.value)return;a(p.value,"excel-to-json")?r("JSON文件已下载"):s("下载失败")},A=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(1))+" "+["B","KB","MB","GB"][t]},T=()=>{o.value="",l.value="",c.value=[],d.value=null,h.value="",p.value="",r("已清空")},S=e=>{const t={1:{name:"用户数据",data:[{id:1,"姓名":"张三","邮箱":"zhangsan@example.com","年龄":28,"部门":"技术部","入职日期":"2022-01-15","薪资":15e3},{id:2,"姓名":"李四","邮箱":"lisi@example.com","年龄":32,"部门":"市场部","入职日期":"2021-06-20","薪资":12e3},{id:3,"姓名":"王五","邮箱":"wangwu@example.com","年龄":25,"部门":"设计部","入职日期":"2023-03-10","薪资":1e4}]},2:{name:"销售数据",data:[{"订单号":"ORD001","客户名称":"ABC公司","产品名称":"MacBook Pro","数量":2,"单价":12999,"总金额":25998,"订单日期":"2024-12-01","状态":"已完成"},{"订单号":"ORD002","客户名称":"XYZ企业","产品名称":"iPhone 15","数量":5,"单价":7999,"总金额":39995,"订单日期":"2024-12-02","状态":"处理中"},{"订单号":"ORD003","客户名称":"DEF集团","产品名称":"iPad Air","数量":3,"单价":4599,"总金额":13797,"订单日期":"2024-12-03","状态":"已发货"}]}}[e];t&&(o.value=JSON.stringify(t.data,null,2),b(),r(`已加载${t.name}示例`))};return(e,a)=>(Cr(),Tr("div",Ek,[Or(hl,{title:Nt(t),onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",Ck,[Mr("button",{class:Q(["mode-btn",{active:"json-to-excel"===i.value}]),onClick:a[0]||(a[0]=e=>g("json-to-excel"))}," JSON → Excel ",2),Mr("button",{class:Q(["mode-btn",{active:"excel-to-json"===i.value}]),onClick:a[1]||(a[1]=e=>g("excel-to-json"))}," Excel → JSON ",2)]),Or(jl,{icon:"clear",tooltip:"清空",onClick:T})]),_:1},8,["title"]),"json-to-excel"===i.value?(Cr(),Tr("div",Fk,[Mr("div",Dk,[Mr("div",Ak,[a[9]||(a[9]=Mr("h3",null,"JSON数据输入",-1)),Mr("div",Tk,[Mr("div",Sk,[Mr("button",{class:"group-btn",onClick:a[3]||(a[3]=e=>S(1))},"示例1"),Mr("button",{class:"group-btn",onClick:a[4]||(a[4]=e=>S(2))},"示例2"),Mr("button",{class:"group-btn",onClick:b},"重新解析")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[5]||(a[5]=e=>o.value=e),class:"json-input",placeholder:"请输入JSON数据...",onInput:y,onPaste:v},null,544),[[bi,o.value]]),l.value?(Cr(),Tr("div",Ik,se(l.value),1)):Rr("",!0)]),Mr("div",Nk,[Mr("div",Pk,[a[11]||(a[11]=Mr("h3",null,"导出设置",-1)),Mr("div",Bk,[ca(Mr("select",{"onUpdate:modelValue":a[6]||(a[6]=e=>u.value=e),class:"format-select"},[...a[10]||(a[10]=[Mr("option",{value:"xlsx"},"Excel (.xlsx)",-1),Mr("option",{value:"xls"},"Excel 97-2003 (.xls)",-1),Mr("option",{value:"csv"},"CSV (.csv)",-1)])],512),[[_i,u.value]]),Or(jl,{icon:"download",tooltip:"导出文件",disabled:!c.value||0===c.value.length,onClick:w},null,8,["disabled"])])]),Mr("div",Mk,[c.value&&c.value.length>0?(Cr(),Tr("div",Ok,[Mr("div",Uk,[Mr("span",jk,se(c.value.length)+" 行数据",1),Mr("span",Lk,se(Object.keys(c.value[0]||{}).length)+" 列",1),Mr("span",Rk,"预览 "+se(m.value.length)+" 行",1)]),Mr("div",zk,[Mr("table",Hk,[Mr("thead",null,[Mr("tr",null,[(Cr(!0),Tr(br,null,yn(f.value,e=>(Cr(),Tr("th",{key:e},se(e),1))),128))])]),Mr("tbody",null,[(Cr(!0),Tr(br,null,yn(m.value,(e,t)=>(Cr(),Tr("tr",{key:t},[(Cr(!0),Tr(br,null,yn(f.value,t=>{return Cr(),Tr("td",{key:t},se(null==(a=e[t])?"":"object"==typeof a?JSON.stringify(a):String(a)),1);var a}),128))]))),128))])]),c.value.length>5?(Cr(),Tr("div",$k," 还有 "+se(c.value.length-5)+" 行数据... ",1)):Rr("",!0)])])):(Cr(),Tr("div",Yk,[...a[12]||(a[12]=[Lr('

    解析JSON后将显示数据预览

    ',2)])]))])])])):(Cr(),Tr("div",Gk,[Mr("div",Wk,[Mr("div",Vk,[a[14]||(a[14]=Mr("h3",null,"Excel文件上传",-1)),Mr("div",Kk,[Mr("input",{ref:"fileInput",type:"file",accept:".xlsx,.xls,.csv",onChange:x,style:{display:"none"}},null,544),Mr("button",{class:"upload-btn",onClick:E},[...a[13]||(a[13]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-15"}),Mr("polyline",{points:"17,10 12,5 7,10"}),Mr("line",{x1:"12",y1:"5",x2:"12",y2:"15"})],-1),jr(" 选择文件 ",-1)])])])]),Mr("div",{class:"upload-area",onDrop:k,onDragover:a[7]||(a[7]=Ii(()=>{},["prevent"])),onDragenter:a[8]||(a[8]=Ii(()=>{},["prevent"]))},[d.value?(Cr(),Tr("div",qk,[Mr("div",Zk,[a[16]||(a[16]=Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})],-1)),Mr("div",Xk,[Mr("div",Qk,se(d.value.name),1),Mr("div",e_,se(A(d.value.size)),1)])]),Mr("button",{class:"remove-file-btn",onClick:C,title:"移除文件"},[...a[17]||(a[17]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])):(Cr(),Tr("div",Jk,[...a[15]||(a[15]=[Lr('

    拖拽Excel文件到此处

    或点击"选择文件"按钮

    支持 .xlsx, .xls, .csv 格式

    ',4)])]))],32),h.value?(Cr(),Tr("div",t_,se(h.value),1)):Rr("",!0)]),Mr("div",a_,[Mr("div",n_,[a[18]||(a[18]=Mr("h3",null,"JSON输出",-1)),Mr("div",r_,[Or(jl,{icon:"copy",tooltip:"复制JSON",disabled:!p.value,onClick:F},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载JSON文件",disabled:!p.value,onClick:D},null,8,["disabled"])])]),Mr("div",s_,[p.value?(Cr(),Tr("div",i_,[Mr("pre",o_,se(p.value),1)])):(Cr(),Tr("div",l_,[...a[19]||(a[19]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1),Mr("p",null,"上传Excel文件后将显示JSON数据",-1)])]))])])]))]))}}),u_=Wi(c_,[["__scopeId","data-v-3e659011"]]),d_={class:"postman-json-converter"},h_={class:"mode-toggle"},p_={key:0,class:"converter-content"},f_={class:"input-section"},m_={class:"section-header"},g_={class:"section-actions"},y_={class:"button-group"},v_={key:0,class:"error-message"},b_={class:"output-section"},w_={class:"section-header"},x_={key:0,class:"result-info"},k_={class:"stat-item"},__={class:"stat-item"},E_={class:"output-container"},C_={key:0,class:"code-output"},F_={key:1,class:"output-placeholder"},D_={key:1,class:"converter-content"},A_={class:"input-section"},T_={class:"section-header"},S_={class:"section-actions"},I_={class:"button-group"},N_={key:0,class:"error-message"},P_={class:"output-section"},B_={class:"section-header"},M_={key:0,class:"result-info"},O_={class:"stat-item"},U_={class:"stat-item"},j_={class:"output-container"},L_=["innerHTML"],R_={key:1,class:"output-placeholder"},z_=Wi($a({__name:"JsonPostmanConverter",emits:["back"],setup(e){nc.registerLanguage("json",wc),il("json-postman-converter");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("json-postman-converter"),{downloadText:a,downloadJson:n}=ol(),{copyToClipboard:r}=ll(),{success:s,error:i}=Vo(),o=St("json-to-postman"),l=St(""),c=St(""),u=St(""),d=St(""),h=St(""),p=St(""),f=St(void 0),m=is(()=>{if(!c.value)return null;return{lines:c.value.split("\n").filter(e=>e.trim()).length,params:c.value.split("\n").filter(e=>e.includes("=")).length}}),g=is(()=>{if(!h.value)return null;return{lines:h.value.split("\n").length,size:h.value.length}}),y=is(()=>{if(!h.value)return"";try{return nc.highlight(h.value,{language:"json"}).value}catch{return h.value}}),v=e=>{o.value=e,M()},b=()=>{u.value="",l.value.trim()?(clearTimeout(f.value),f.value=setTimeout(()=>{x(!1)},500)):c.value=""},w=async()=>{if(await new Promise(e=>setTimeout(e,10)),l.value.trim())try{JSON.parse(l.value),x(!1)}catch{}},x=(e=!0)=>{if(u.value="",l.value.trim())try{const t=JSON.parse(l.value);c.value=k(t),e&&s("JSON转Postman参数成功")}catch(t){u.value=`JSON格式错误: ${t.message}`,c.value="",e&&i("JSON格式错误")}else e&&i("请先输入JSON数据")},k=e=>{const t=(e,a="")=>{const n=[];for(const[r,s]of Object.entries(e)){const e=a?`${a}[${r}]`:r;null==s?n.push(`${e}=`):"object"!=typeof s||Array.isArray(s)?Array.isArray(s)?s.forEach((a,r)=>{"object"==typeof a?n.push(...t(a,`${e}[${r}]`)):n.push(`${e}[${r}]=${encodeURIComponent(String(a))}`)}):n.push(`${e}=${encodeURIComponent(String(s))}`):n.push(...t(s,e))}return n};if(Array.isArray(e)){const a=[];return e.forEach((e,n)=>{"object"==typeof e?a.push(...t(e,`[${n}]`)):a.push(`[${n}]=${encodeURIComponent(String(e))}`)}),a.join("\n")}return"object"==typeof e?t(e).join("\n"):`value=${encodeURIComponent(String(e))}`},_=()=>{p.value="",d.value.trim()?(clearTimeout(f.value),f.value=setTimeout(()=>{C(!1)},500)):h.value=""},E=async()=>{await new Promise(e=>setTimeout(e,10)),d.value.trim()&&C(!1)},C=(e=!0)=>{if(p.value="",d.value.trim())try{const t=F(d.value);h.value=JSON.stringify(t,null,2),e&&s("Postman参数转JSON成功")}catch(t){p.value=`转换失败: ${t.message}`,h.value="",e&&i("转换失败")}else e&&i("请先输入Postman参数")},F=e=>{const t=e.trim().split("\n"),a={};return t.forEach(e=>{const t=e.trim();if(!t||!t.includes("="))return;const[n,...r]=t.split("=");if(!n)return;const s=r.join("="),i=decodeURIComponent(s||""),o=n.split(/[\[\]]+/).filter(e=>e&&""!==e);if(0===o.length)return;let l=a;for(let a=0;a{if(d.value.trim())try{F(d.value),p.value="",s("Postman参数格式正确 ✅")}catch(e){p.value=`参数格式错误: ${e.message}`,i("参数格式错误 ❌")}else i("请先输入Postman参数")},A=()=>{if(l.value.trim())try{const e=JSON.parse(l.value);l.value=JSON.stringify(e,null,2),x(!1),s("JSON格式化成功!")}catch(e){i("JSON格式错误,无法格式化")}},T=async()=>{if(!c.value)return void i("没有可复制的内容");await r(c.value)?s("Postman参数已复制到剪贴板"):i("复制失败")},S=async()=>{if(!h.value)return void i("没有可复制的内容");await r(h.value)?s("JSON数据已复制到剪贴板"):i("复制失败")},I=()=>{if(!c.value)return void i("没有可下载的内容");a(c.value,"postman-params","txt")?s("Postman参数文件已下载"):i("下载失败")},N=()=>{if(!h.value)return void i("没有可下载的内容");n(h.value,"converted-data")?s("JSON文件已下载"):i("下载失败")},P=e=>{const t={1:{name:"用户登录数据",data:{username:"admin",password:"123456",remember:!0,user_info:{name:"管理员",email:"admin@example.com",roles:["admin","user"]},settings:{theme:"dark",language:"zh-CN",notifications:{email:!0,sms:!1}}}},2:{name:"商品数据",data:{product_id:12345,name:"MacBook Pro",price:12999.99,in_stock:!0,categories:["电脑","苹果","笔记本"],specifications:{cpu:"M3 Pro",memory:"16GB",storage:"512GB SSD"},reviews:[{user:"张三",rating:5,comment:"很好用"},{user:"李四",rating:4,comment:"性价比不错"}]}}}[e];t&&(l.value=JSON.stringify(t.data,null,2),x(!1),s(`已加载${t.name}示例`))},B=e=>{const t={1:{name:"用户登录参数",data:"username=admin\npassword=123456\nremember=true\nuser_info[name]=管理员\nuser_info[email]=admin@example.com\nuser_info[roles][0]=admin\nuser_info[roles][1]=user\nsettings[theme]=dark\nsettings[language]=zh-CN\nsettings[notifications][email]=true\nsettings[notifications][sms]=false"},2:{name:"商品参数",data:"product_id=12345\nname=MacBook Pro\nprice=12999.99\nin_stock=true\ncategories[0]=电脑\ncategories[1]=苹果\ncategories[2]=笔记本\nspecifications[cpu]=M3 Pro\nspecifications[memory]=16GB\nspecifications[storage]=512GB SSD\nreviews[0][user]=张三\nreviews[0][rating]=5\nreviews[0][comment]=很好用\nreviews[1][user]=李四\nreviews[1][rating]=4\nreviews[1][comment]=性价比不错"}}[e];t&&(d.value=t.data,C(!1),s(`已加载${t.name}示例`))},M=()=>{l.value="",c.value="",d.value="",h.value="",u.value="",p.value="",s("已清空所有内容")};return(e,a)=>(Cr(),Tr("div",d_,[Or(hl,{title:Nt(t),onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",h_,[Mr("button",{class:Q(["mode-btn",{active:"json-to-postman"===o.value}]),onClick:a[0]||(a[0]=e=>v("json-to-postman"))}," JSON → Postman ",2),Mr("button",{class:Q(["mode-btn",{active:"postman-to-json"===o.value}]),onClick:a[1]||(a[1]=e=>v("postman-to-json"))}," Postman → JSON ",2)]),"json-to-postman"===o.value?(Cr(),Tr(br,{key:0},[Or(jl,{icon:"copy",tooltip:"复制参数",disabled:!c.value,onClick:T},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载参数文件",disabled:!c.value,onClick:I},null,8,["disabled"])],64)):(Cr(),Tr(br,{key:1},[Or(jl,{icon:"copy",tooltip:"复制JSON",disabled:!h.value,onClick:S},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载JSON文件",disabled:!h.value,onClick:N},null,8,["disabled"])],64)),Or(jl,{icon:"clear",tooltip:"清空",onClick:M})]),_:1},8,["title"]),"json-to-postman"===o.value?(Cr(),Tr("div",p_,[Mr("div",f_,[Mr("div",m_,[a[9]||(a[9]=Mr("h3",null,"JSON数据输入",-1)),Mr("div",g_,[Mr("div",y_,[Mr("button",{onClick:a[3]||(a[3]=e=>P(1)),class:"group-btn"},"用户数据"),Mr("button",{onClick:a[4]||(a[4]=e=>P(2)),class:"group-btn"},"商品数据"),Mr("button",{onClick:A,class:"group-btn"},"格式化")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[5]||(a[5]=e=>l.value=e),class:"code-textarea",placeholder:"请输入JSON数据...",onInput:b,onPaste:w},null,544),[[bi,l.value]]),u.value?(Cr(),Tr("div",v_,se(u.value),1)):Rr("",!0)]),Mr("div",b_,[Mr("div",w_,[a[10]||(a[10]=Mr("h3",null,"Postman参数输出",-1)),m.value?(Cr(),Tr("div",x_,[Mr("span",k_,se(m.value.lines)+" 行",1),Mr("span",__,se(m.value.params)+" 参数",1)])):Rr("",!0)]),Mr("div",E_,[c.value?(Cr(),Tr("pre",C_,se(c.value),1)):(Cr(),Tr("div",F_,[...a[11]||(a[11]=[Lr('

    Postman参数将显示在这里

    ',2)])]))])])])):(Cr(),Tr("div",D_,[Mr("div",A_,[Mr("div",T_,[a[12]||(a[12]=Mr("h3",null,"Postman参数输入",-1)),Mr("div",S_,[Mr("div",I_,[Mr("button",{onClick:a[6]||(a[6]=e=>B(1)),class:"group-btn"},"用户参数"),Mr("button",{onClick:a[7]||(a[7]=e=>B(2)),class:"group-btn"},"商品参数"),Mr("button",{onClick:D,class:"group-btn"},"验证")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[8]||(a[8]=e=>d.value=e),class:"code-textarea",placeholder:"请输入Postman参数格式...",onInput:_,onPaste:E},null,544),[[bi,d.value]]),p.value?(Cr(),Tr("div",N_,se(p.value),1)):Rr("",!0)]),Mr("div",P_,[Mr("div",B_,[a[13]||(a[13]=Mr("h3",null,"JSON输出",-1)),g.value?(Cr(),Tr("div",M_,[Mr("span",O_,se(g.value.lines)+" 行",1),Mr("span",U_,se(g.value.size)+" 字符",1)])):Rr("",!0)]),Mr("div",j_,[h.value?(Cr(),Tr("pre",{key:0,class:"code-output",innerHTML:y.value},null,8,L_)):(Cr(),Tr("div",R_,[...a[14]||(a[14]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1),Mr("p",null,"JSON数据将显示在这里",-1)])]))])])]))]))}}),[["__scopeId","data-v-299922a2"]]);function H_(e){const t=e.regex,a=/(?![A-Za-z0-9])(?![$])/,n=t.concat(/[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*/,a),r=t.concat(/(\\?[A-Z][a-z0-9_\x7f-\xff]+|\\?[A-Z]+(?=[A-Z][a-z0-9_\x7f-\xff])){1,}/,a),s=t.concat(/[A-Z]+/,a),i={scope:"variable",match:"\\$+"+n},o={scope:"subst",variants:[{begin:/\$\w+/},{begin:/\{\$/,end:/\}/}]},l=e.inherit(e.APOS_STRING_MODE,{illegal:null}),c="[ \t\n]",u={scope:"string",variants:[e.inherit(e.QUOTE_STRING_MODE,{illegal:null,contains:e.QUOTE_STRING_MODE.contains.concat(o)}),l,{begin:/<<<[ \t]*(?:(\w+)|"(\w+)")\n/,end:/[ \t]*(\w+)\b/,contains:e.QUOTE_STRING_MODE.contains.concat(o),"on:begin":(e,t)=>{t.data._beginMatch=e[1]||e[2]},"on:end":(e,t)=>{t.data._beginMatch!==e[1]&&t.ignoreMatch()}},e.END_SAME_AS_BEGIN({begin:/<<<[ \t]*'(\w+)'\n/,end:/[ \t]*(\w+)\b/})]},d={scope:"number",variants:[{begin:"\\b0[bB][01]+(?:_[01]+)*\\b"},{begin:"\\b0[oO][0-7]+(?:_[0-7]+)*\\b"},{begin:"\\b0[xX][\\da-fA-F]+(?:_[\\da-fA-F]+)*\\b"},{begin:"(?:\\b\\d+(?:_\\d+)*(\\.(?:\\d+(?:_\\d+)*))?|\\B\\.\\d+)(?:[eE][+-]?\\d+)?"}],relevance:0},h=["false","null","true"],p=["__CLASS__","__DIR__","__FILE__","__FUNCTION__","__COMPILER_HALT_OFFSET__","__LINE__","__METHOD__","__NAMESPACE__","__TRAIT__","die","echo","exit","include","include_once","print","require","require_once","array","abstract","and","as","binary","bool","boolean","break","callable","case","catch","class","clone","const","continue","declare","default","do","double","else","elseif","empty","enddeclare","endfor","endforeach","endif","endswitch","endwhile","enum","eval","extends","final","finally","float","for","foreach","from","global","goto","if","implements","instanceof","insteadof","int","integer","interface","isset","iterable","list","match|0","mixed","new","never","object","or","private","protected","public","readonly","real","return","string","switch","throw","trait","try","unset","use","var","void","while","xor","yield"],f=["Error|0","AppendIterator","ArgumentCountError","ArithmeticError","ArrayIterator","ArrayObject","AssertionError","BadFunctionCallException","BadMethodCallException","CachingIterator","CallbackFilterIterator","CompileError","Countable","DirectoryIterator","DivisionByZeroError","DomainException","EmptyIterator","ErrorException","Exception","FilesystemIterator","FilterIterator","GlobIterator","InfiniteIterator","InvalidArgumentException","IteratorIterator","LengthException","LimitIterator","LogicException","MultipleIterator","NoRewindIterator","OutOfBoundsException","OutOfRangeException","OuterIterator","OverflowException","ParentIterator","ParseError","RangeException","RecursiveArrayIterator","RecursiveCachingIterator","RecursiveCallbackFilterIterator","RecursiveDirectoryIterator","RecursiveFilterIterator","RecursiveIterator","RecursiveIteratorIterator","RecursiveRegexIterator","RecursiveTreeIterator","RegexIterator","RuntimeException","SeekableIterator","SplDoublyLinkedList","SplFileInfo","SplFileObject","SplFixedArray","SplHeap","SplMaxHeap","SplMinHeap","SplObjectStorage","SplObserver","SplPriorityQueue","SplQueue","SplStack","SplSubject","SplTempFileObject","TypeError","UnderflowException","UnexpectedValueException","UnhandledMatchError","ArrayAccess","BackedEnum","Closure","Fiber","Generator","Iterator","IteratorAggregate","Serializable","Stringable","Throwable","Traversable","UnitEnum","WeakReference","WeakMap","Directory","__PHP_Incomplete_Class","parent","php_user_filter","self","static","stdClass"],m={keyword:p,literal:(e=>{const t=[];return e.forEach(e=>{t.push(e),e.toLowerCase()===e?t.push(e.toUpperCase()):t.push(e.toLowerCase())}),t})(h),built_in:f},g=e=>e.map(e=>e.replace(/\|\d+$/,"")),y={variants:[{match:[/new/,t.concat(c,"+"),t.concat("(?!",g(f).join("\\b|"),"\\b)"),r],scope:{1:"keyword",4:"title.class"}}]},v=t.concat(n,"\\b(?!\\()"),b={variants:[{match:[t.concat(/::/,t.lookahead(/(?!class\b)/)),v],scope:{2:"variable.constant"}},{match:[/::/,/class/],scope:{2:"variable.language"}},{match:[r,t.concat(/::/,t.lookahead(/(?!class\b)/)),v],scope:{1:"title.class",3:"variable.constant"}},{match:[r,t.concat("::",t.lookahead(/(?!class\b)/))],scope:{1:"title.class"}},{match:[r,/::/,/class/],scope:{1:"title.class",3:"variable.language"}}]},w={scope:"attr",match:t.concat(n,t.lookahead(":"),t.lookahead(/(?!::)/))},x={relevance:0,begin:/\(/,end:/\)/,keywords:m,contains:[w,i,b,e.C_BLOCK_COMMENT_MODE,u,d,y]},k={relevance:0,match:[/\b/,t.concat("(?!fn\\b|function\\b|",g(p).join("\\b|"),"|",g(f).join("\\b|"),"\\b)"),n,t.concat(c,"*"),t.lookahead(/(?=\()/)],scope:{3:"title.function.invoke"},contains:[x]};x.contains.push(k);const _=[w,b,e.C_BLOCK_COMMENT_MODE,u,d,y],E={begin:t.concat(/#\[\s*\\?/,t.either(r,s)),beginScope:"meta",end:/]/,endScope:"meta",keywords:{literal:h,keyword:["new","array"]},contains:[{begin:/\[/,end:/]/,keywords:{literal:h,keyword:["new","array"]},contains:["self",..._]},..._,{scope:"meta",variants:[{match:r},{match:s}]}]};return{case_insensitive:!1,keywords:m,contains:[E,e.HASH_COMMENT_MODE,e.COMMENT("//","$"),e.COMMENT("/\\*","\\*/",{contains:[{scope:"doctag",match:"@[A-Za-z]+"}]}),{match:/__halt_compiler\(\);/,keywords:"__halt_compiler",starts:{scope:"comment",end:e.MATCH_NOTHING_RE,contains:[{match:/\?>/,scope:"meta",endsParent:!0}]}},{scope:"meta",variants:[{begin:/<\?php/,relevance:10},{begin:/<\?=/},{begin:/<\?/,relevance:.1},{begin:/\?>/}]},{scope:"variable.language",match:/\$this\b/},i,k,b,{match:[/const/,/\s/,n],scope:{1:"keyword",3:"variable.constant"}},y,{scope:"function",relevance:0,beginKeywords:"fn function",end:/[;{]/,excludeEnd:!0,illegal:"[$%\\[]",contains:[{beginKeywords:"use"},e.UNDERSCORE_TITLE_MODE,{begin:"=>",endsParent:!0},{scope:"params",begin:"\\(",end:"\\)",excludeBegin:!0,excludeEnd:!0,keywords:m,contains:["self",E,i,b,e.C_BLOCK_COMMENT_MODE,u,d]}]},{scope:"class",variants:[{beginKeywords:"enum",illegal:/[($"]/},{beginKeywords:"class interface trait",illegal:/[:($"]/}],relevance:0,end:/\{/,excludeEnd:!0,contains:[{beginKeywords:"extends implements"},e.UNDERSCORE_TITLE_MODE]},{beginKeywords:"namespace",relevance:0,end:";",illegal:/[.']/,contains:[e.inherit(e.UNDERSCORE_TITLE_MODE,{scope:"title.class"})]},{beginKeywords:"use",relevance:0,end:";",contains:[{match:/\b(as|const|function)\b/,scope:"keyword"},e.UNDERSCORE_TITLE_MODE]},u,d]}}const $_={class:"php-json-converter"},Y_={class:"mode-toggle"},G_={key:0,class:"converter-layout"},W_={class:"input-section"},V_={key:0,class:"error-message"},K_={class:"output-section"},J_={class:"section-header"},q_={key:0,class:"result-info"},Z_={class:"stat-item"},X_={class:"stat-item"},Q_={class:"output-container"},eE=["innerHTML"],tE={key:1,class:"output-placeholder"},aE={key:1,class:"converter-layout"},nE={class:"input-section"},rE={class:"section-header"},sE={class:"section-actions"},iE={class:"button-group"},oE={key:0,class:"error-message"},lE={class:"output-section"},cE={class:"section-header"},uE={key:0,class:"result-info"},dE={class:"stat-item"},hE={class:"stat-item"},pE={class:"output-container"},fE=["innerHTML"],mE={key:1,class:"output-placeholder"},gE=Wi($a({__name:"JsonToPhp",emits:["back"],setup(e){nc.registerLanguage("php",H_),nc.registerLanguage("json",wc),il("json-to-php");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("json-to-php"),{downloadText:a,downloadJson:n}=ol(),{copyToClipboard:r}=ll(),{success:s,error:i}=Vo(),o=St("json-to-php"),l=St(""),c=St(""),u=St(""),d=St("short"),h=St(""),p=St(""),f=St(""),m=St(void 0),g=is(()=>{if(!c.value)return null;return{lines:c.value.split("\n").length,size:c.value.length}}),y=is(()=>{if(!p.value)return null;return{lines:p.value.split("\n").length,size:p.value.length}}),v=is(()=>{if(!c.value)return"";try{return nc.highlight(c.value,{language:"php"}).value}catch{return c.value}}),b=is(()=>{if(!p.value)return"";try{return nc.highlight(p.value,{language:"json"}).value}catch{return p.value}}),w=e=>{o.value=e,j()},x=()=>{if(u.value="",l.value.trim())try{const e=JSON.parse(l.value);c.value=E(e,0)}catch(e){u.value=`JSON格式错误: ${e.message}`,c.value="// JSON格式错误,请检查输入"}else c.value=""},k=async()=>{if(await new Promise(e=>setTimeout(e,10)),l.value.trim())try{JSON.parse(l.value),x()}catch{}},_=()=>{if(l.value.trim())try{JSON.parse(l.value),u.value="",s("JSON格式正确 ✅")}catch(e){u.value=`JSON格式错误: ${e.message}`,i("JSON格式错误 ❌")}else i("请先输入JSON数据")},E=(e,t=0)=>{const a=" ".repeat(t),n=" ".repeat(t+1);if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("number"==typeof e)return e.toString();if("string"==typeof e)return`'${e.replace(/'/g,"\\'")}'`;if(Array.isArray(e)){if(0===e.length)return"short"===d.value?"[]":"array()";const r=e.map(e=>`${n}${E(e,t+1)}`).join(",\n");return"short"===d.value?`[\n${r}\n${a}]`:`array(\n${r}\n${a})`}if("object"==typeof e){const r=Object.keys(e);if(0===r.length)return"short"===d.value?"[]":"array()";const s=r.map(a=>{const r=E(e[a],t+1);return`${n}'${a}' => ${r}`}).join(",\n");return"short"===d.value?`[\n${s}\n${a}]`:`array(\n${s}\n${a})`}return"null"},C=()=>{f.value="",h.value.trim()?(clearTimeout(m.value),m.value=setTimeout(()=>{D(!1)},500)):p.value=""},F=async()=>{await new Promise(e=>setTimeout(e,10)),h.value.trim()&&D(!1)},D=(e=!0)=>{if(f.value="",h.value.trim())try{const t=T(h.value);p.value=JSON.stringify(t,null,2),e&&s("转换成功!")}catch(t){f.value=`PHP数组解析错误: ${t.message}`,p.value="",e&&i("PHP数组解析错误")}else e&&i("请先输入PHP数组代码")},A=()=>{if(h.value.trim())try{T(h.value),f.value="",s("PHP数组格式正确 ✅")}catch(e){f.value=`PHP数组格式错误: ${e.message}`,i("PHP数组格式错误 ❌")}else i("请先输入PHP数组代码")},T=e=>{let t=e.trim();if(t=t.replace(/^<\?php\s*/i,""),t=t.replace(/^\$\w+\s*=\s*/,""),t=t.replace(/;?\s*$/,""),!t)throw new Error("输入为空");try{let e=t;return e=e.replace(/array\s*\(/g,"["),e=e.replace(/\)/g,"]"),e=e.replace(/\s*=>\s*/g,":"),e=e.replace(/'/g,'"'),e=e.replace(/\btrue\b/g,"true"),e=e.replace(/\bfalse\b/g,"false"),e=e.replace(/\bnull\b/g,"null"),JSON.parse(e)}catch(a){try{let e=t.replace(/\/\*[\s\S]*?\*\//g,"");e=e.replace(/\/\/.*$/gm,"");const a={},n=e.split("\n");for(const t of n){const e=t.trim();if(e&&e.includes("=>")){const t=e.split("=>",2),n=t[0],r=t[1];if(!n||!r)continue;const s=n.trim().replace(/['"]/g,"").replace(/,$/,"");let i=r.trim().replace(/,$/,"");"true"===i?a[s]=!0:"false"===i?a[s]=!1:"null"===i?a[s]=null:/^\d+$/.test(i)?a[s]=parseInt(i):/^\d+\.\d+$/.test(i)?a[s]=parseFloat(i):a[s]=i.replace(/['"]/g,"")}}return Object.keys(a).length>0?a:{error:"无法解析PHP数组"}}catch(n){throw new Error("无法解析PHP数组格式,请检查语法")}}},S=()=>{l.value=JSON.stringify({name:"张三",age:30,email:"zhangsan@example.com",skills:["PHP","JavaScript","MySQL"],address:{city:"北京",district:"朝阳区",zipcode:"100000"},active:!0,salary:null},null,2),x()},I=()=>{h.value="[\n 'name' => '张三',\n 'age' => 30,\n 'email' => 'zhangsan@example.com',\n 'skills' => ['PHP', 'JavaScript', 'MySQL'],\n 'address' => [\n 'city' => '北京',\n 'district' => '朝阳区',\n 'zipcode' => '100000'\n ],\n 'active' => true,\n 'salary' => null\n]",D(!1)},N=()=>{if(l.value.trim())try{const e=JSON.parse(l.value);l.value=JSON.stringify(e,null,2),x(),s("JSON格式化成功!")}catch(e){i("JSON格式错误,无法格式化")}},P=()=>{d.value="short"===d.value?"long":"short",x()},B=async()=>{if(!c.value)return void i("没有可复制的内容");await r(c.value)?s("PHP代码已复制到剪贴板!"):i("复制失败,请手动复制")},M=async()=>{if(!p.value)return void i("没有可复制的内容");await r(p.value)?s("JSON数据已复制到剪贴板!"):i("复制失败,请手动复制")},O=()=>{if(!c.value)return void i("没有可下载的内容");const e=`{if(!p.value)return void i("没有可下载的内容");n(p.value,"converted_data")?s("JSON文件下载成功!"):i("下载失败")},j=()=>{l.value="",c.value="",h.value="",p.value="",u.value="",f.value="",s("已清空所有内容")};return nn(()=>{S()}),(e,a)=>(Cr(),Tr("div",$_,[Or(hl,{title:Nt(t),onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",Y_,[Mr("button",{class:Q(["mode-btn",{active:"json-to-php"===o.value}]),onClick:a[0]||(a[0]=e=>w("json-to-php"))}," JSON → PHP ",2),Mr("button",{class:Q(["mode-btn",{active:"php-to-json"===o.value}]),onClick:a[1]||(a[1]=e=>w("php-to-json"))}," PHP → JSON ",2)]),"json-to-php"===o.value?(Cr(),Tr(br,{key:0},[Or(jl,{icon:"copy",tooltip:"复制PHP代码",disabled:!c.value,onClick:B},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载PHP文件",disabled:!c.value,onClick:O},null,8,["disabled"]),Or(jl,{icon:"toggle",tooltip:"short"===d.value?"切换到长语法 array()":"切换到短语法 []",onClick:P},null,8,["tooltip"])],64)):(Cr(),Tr(br,{key:1},[Or(jl,{icon:"copy",tooltip:"复制JSON",disabled:!p.value,onClick:M},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载JSON文件",disabled:!p.value,onClick:U},null,8,["disabled"])],64)),Or(jl,{icon:"clear",tooltip:"清空",onClick:j})]),_:1},8,["title"]),"json-to-php"===o.value?(Cr(),Tr("div",G_,[Mr("div",W_,[Mr("div",{class:"section-header"},[a[6]||(a[6]=Mr("h3",null,"JSON输入",-1)),Mr("div",{class:"section-actions"},[Mr("div",{class:"button-group"},[Mr("button",{onClick:S,class:"group-btn"},"示例数据"),Mr("button",{onClick:N,class:"group-btn"},"格式化"),Mr("button",{onClick:_,class:"group-btn"},"验证")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[3]||(a[3]=e=>l.value=e),class:"code-textarea",placeholder:"请输入JSON数据...",onInput:x,onPaste:k},null,544),[[bi,l.value]]),u.value?(Cr(),Tr("div",V_,se(u.value),1)):Rr("",!0)]),Mr("div",K_,[Mr("div",J_,[a[7]||(a[7]=Mr("h3",null,"PHP数组输出",-1)),g.value?(Cr(),Tr("div",q_,[Mr("span",Z_,se(g.value.lines)+" 行",1),Mr("span",X_,se(g.value.size)+" 字符",1)])):Rr("",!0)]),Mr("div",Q_,[c.value?(Cr(),Tr("pre",{key:0,class:"code-output",innerHTML:v.value},null,8,eE)):(Cr(),Tr("div",tE,[...a[8]||(a[8]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})],-1),Mr("p",null,"PHP数组代码将显示在这里",-1)])]))])])])):(Cr(),Tr("div",aE,[Mr("div",nE,[Mr("div",rE,[a[9]||(a[9]=Mr("h3",null,"PHP数组输入",-1)),Mr("div",sE,[Mr("div",iE,[Mr("button",{onClick:I,class:"group-btn"},"示例数据"),Mr("button",{onClick:A,class:"group-btn"},"验证"),Mr("button",{onClick:a[4]||(a[4]=e=>D(!0)),class:"group-btn"},"转换")])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[5]||(a[5]=e=>h.value=e),class:"code-textarea",placeholder:"请输入PHP数组代码...",onInput:C,onPaste:F},null,544),[[bi,h.value]]),f.value?(Cr(),Tr("div",oE,se(f.value),1)):Rr("",!0)]),Mr("div",lE,[Mr("div",cE,[a[10]||(a[10]=Mr("h3",null,"JSON输出",-1)),y.value?(Cr(),Tr("div",uE,[Mr("span",dE,se(y.value.lines)+" 行",1),Mr("span",hE,se(y.value.size)+" 字符",1)])):Rr("",!0)]),Mr("div",pE,[p.value?(Cr(),Tr("pre",{key:0,class:"code-output",innerHTML:b.value},null,8,fE)):(Cr(),Tr("div",mE,[...a[11]||(a[11]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"1"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1),Mr("p",null,"JSON数据将显示在这里",-1)])]))])])]))]))}}),[["__scopeId","data-v-55900acb"]]),yE={class:"timestamp-converter"},vE={class:"converter-content"},bE={class:"current-time-section"},wE={class:"current-time-display"},xE={class:"time-row"},kE={class:"time-value"},_E={class:"timestamp-row"},EE={class:"timestamp-values"},CE={class:"timestamp-item"},FE={class:"timestamp-item"},DE={class:"conversion-section"},AE={class:"conversion-row"},TE={class:"input-group"},SE={class:"unit-select"},IE={class:"result-display"},NE={key:0,class:"result-with-copy"},PE={key:1,value:"请输入时间戳",readonly:"",class:"result-input placeholder"},BE={class:"conversion-section"},ME={class:"conversion-row"},OE={class:"input-group"},UE={class:"datetime-input-wrapper"},jE={class:"unit-select"},LE={class:"result-display"},RE={key:0,class:"result-with-copy"},zE={key:1,value:"请输入日期时间",readonly:"",class:"result-input placeholder"},HE={class:"conversion-section world-time-section"},$E={class:"world-time-container"},YE={class:"world-time-grid"},GE={class:"timezone-header"},WE={class:"city-info"},VE={class:"city-name"},KE={class:"country-name"},JE={class:"timezone-offset"},qE={class:"timezone-time"},ZE={class:"time-display"},XE={class:"date-display"},QE=["onClick"],eC=Wi($a({__name:"TimestampConverter",emits:["back"],setup(e){il("timestamp-convert");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("timestamp-convert"),{copyToClipboard:a}=ll(),{success:n,error:r}=Vo(),s=St(""),i=St("seconds"),o=St(null),l=St(""),c=St("seconds"),u=St(null),d=St(""),h=St(""),p=St("");let f=null;const m=St(!1),g=St(null),y=St([]),v=[{city:"北京",country:"中国",zone:"Asia/Shanghai"},{city:"东京",country:"日本",zone:"Asia/Tokyo"},{city:"首尔",country:"韩国",zone:"Asia/Seoul"},{city:"新加坡",country:"新加坡",zone:"Asia/Singapore"},{city:"悉尼",country:"澳大利亚",zone:"Australia/Sydney"},{city:"伦敦",country:"英国",zone:"Europe/London"},{city:"巴黎",country:"法国",zone:"Europe/Paris"},{city:"柏林",country:"德国",zone:"Europe/Berlin"},{city:"莫斯科",country:"俄罗斯",zone:"Europe/Moscow"},{city:"纽约",country:"美国",zone:"America/New_York"},{city:"洛杉矶",country:"美国",zone:"America/Los_Angeles"},{city:"芝加哥",country:"美国",zone:"America/Chicago"},{city:"多伦多",country:"加拿大",zone:"America/Toronto"},{city:"圣保罗",country:"巴西",zone:"America/Sao_Paulo"},{city:"迪拜",country:"阿联酋",zone:"Asia/Dubai"},{city:"孟买",country:"印度",zone:"Asia/Kolkata"}];nn(()=>{w(),f=setInterval(w,1e3)}),ln(()=>{f&&clearInterval(f)});const b=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`,w=()=>{const e=new Date;d.value=b(e),h.value=Math.floor(e.getTime()/1e3).toString(),p.value=e.getTime().toString(),x()},x=()=>{const e=new Date;y.value=v.map(t=>{try{const a=new Intl.DateTimeFormat("zh-CN",{timeZone:t.zone,hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}),n=new Intl.DateTimeFormat("zh-CN",{timeZone:t.zone,year:"numeric",month:"2-digit",day:"2-digit"}),r=new Intl.DateTimeFormat("en",{timeZone:t.zone,timeZoneName:"longOffset"}),s=r.formatToParts(e).find(e=>"timeZoneName"===e.type),i=s?s.value:"UTC";return{city:t.city,country:t.country,zone:t.zone,offset:i,time:a.format(e),date:n.format(e).replace(/\//g,"-")}}catch(a){return{city:t.city,country:t.country,zone:t.zone,offset:"UTC",time:e.toISOString().slice(11,19),date:e.toISOString().slice(0,10)}}})},k=()=>{w(),n("时间已刷新")},_=()=>{if(s.value.trim())try{let e=parseInt(s.value.trim());if(isNaN(e))throw new Error("请输入有效的数字");"seconds"===i.value&&(e*=1e3);const t=new Date(e);if(isNaN(t.getTime()))throw new Error("无效的时间戳");o.value={formatted:b(t)}}catch(e){o.value=null,r(`转换失败: ${e.message}`)}else o.value=null},E=()=>{if(l.value.trim())try{let e;const t=l.value.trim();if(e=t.includes("T")?new Date(t):t.includes("-")&&t.includes(":")?new Date(t.replace(" ","T")):(t.includes("/"),new Date(t)),isNaN(e.getTime()))throw new Error("无效的日期时间格式");const a=e.getTime();u.value={timestamp:"seconds"===c.value?Math.floor(a/1e3).toString():a.toString()}}catch(e){u.value=null,r(`转换失败: ${e.message}`)}else u.value=null},C=()=>{const e=Math.floor(Date.now()/1e3);s.value=e.toString(),_(),n("已获取当前时间戳")},F=()=>{const e=new Date;l.value=b(e),E(),n("已设置当前日期时间")},D=()=>{const e=new Date;e.setHours(0,0,0,0),l.value=b(e),E(),n("已设置今天开始时间")},A=()=>{const e=new Date;e.setHours(23,59,59,999),l.value=b(e),E(),n("已设置今天结束时间")},T=()=>{const e=new Date;e.setDate(e.getDate()-1),e.setHours(0,0,0,0),l.value=b(e),E(),n("已设置昨天开始时间")},S=()=>{const e=new Date;e.setDate(e.getDate()+1),e.setHours(0,0,0,0),l.value=b(e),E(),n("已设置明天开始时间")},I=()=>{if(m.value=!0,l.value)try{const e=new Date(l.value.replace(" ","T"));if(!isNaN(e.getTime())&&g.value){const t=e.getFullYear(),a=String(e.getMonth()+1).padStart(2,"0"),n=String(e.getDate()).padStart(2,"0"),r=String(e.getHours()).padStart(2,"0"),s=String(e.getMinutes()).padStart(2,"0");g.value.value=`${t}-${a}-${n}T${r}:${s}`}}catch(e){}setTimeout(()=>{g.value&&(g.value.focus(),g.value.showPicker?.())},100)},N=()=>{setTimeout(()=>{m.value=!1},200)},P=e=>{const t=e.target;if(t.value){const e=new Date(t.value);l.value=b(e),E(),n("已选择日期时间")}N()},B=async e=>{await a(e)?n("已复制到剪贴板"):r("复制失败")},M=()=>{s.value="",o.value=null,l.value="",u.value=null,n("已清空所有内容")};return(e,a)=>(Cr(),Tr("div",yE,[Or(hl,{title:Nt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"refresh",tooltip:"获取当前时间戳",onClick:C}),Or(jl,{icon:"clear",tooltip:"清空",onClick:M})]),_:1},8,["title"]),Mr("div",vE,[Mr("div",bE,[Mr("div",{class:"section-header"},[a[16]||(a[16]=Mr("h3",null,"当前时间",-1)),Mr("button",{class:"refresh-btn",onClick:k,title:"刷新"},[...a[15]||(a[15]=[Lr('',1)])])]),Mr("div",wE,[Mr("div",xE,[a[18]||(a[18]=Mr("label",null,"现在的当地时间为:",-1)),Mr("div",kE,[ca(Mr("input",{"onUpdate:modelValue":a[1]||(a[1]=e=>d.value=e),readonly:"",class:"time-input-readonly"},null,512),[[bi,d.value]]),Mr("button",{class:"copy-btn",onClick:a[2]||(a[2]=e=>B(d.value)),title:"复制"},[...a[17]||(a[17]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])]),Mr("div",_E,[a[23]||(a[23]=Mr("label",null,"现在的Unix时间戳:",-1)),Mr("div",EE,[Mr("div",CE,[ca(Mr("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>h.value=e),readonly:"",class:"timestamp-input-readonly"},null,512),[[bi,h.value]]),a[20]||(a[20]=Mr("span",{class:"unit"},"秒",-1)),Mr("button",{class:"copy-btn",onClick:a[4]||(a[4]=e=>B(h.value)),title:"复制"},[...a[19]||(a[19]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",FE,[ca(Mr("input",{"onUpdate:modelValue":a[5]||(a[5]=e=>p.value=e),readonly:"",class:"timestamp-input-readonly"},null,512),[[bi,p.value]]),a[22]||(a[22]=Mr("span",{class:"unit"},"毫秒",-1)),Mr("button",{class:"copy-btn",onClick:a[6]||(a[6]=e=>B(p.value)),title:"复制"},[...a[21]||(a[21]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])])])])]),Mr("div",DE,[a[27]||(a[27]=Mr("div",{class:"section-header"},[Mr("h3",null,"Unix时间戳 转 当地时间")],-1)),Mr("div",AE,[Mr("div",TE,[a[24]||(a[24]=Mr("label",null,"时间戳(eg:1388307215)",-1)),ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>s.value=e),type:"text",placeholder:"请输入时间戳",onInput:_,class:"conversion-input"},null,544),[[bi,s.value]])]),Mr("div",SE,[ca(Mr("select",{"onUpdate:modelValue":a[8]||(a[8]=e=>i.value=e),onChange:_,class:"unit-dropdown"},[...a[25]||(a[25]=[Mr("option",{value:"seconds"},"秒(s)",-1),Mr("option",{value:"milliseconds"},"毫秒(ms)",-1)])],544),[[_i,i.value]])]),Mr("button",{class:"convert-btn",onClick:_},"转换"),Mr("div",IE,[o.value?(Cr(),Tr("div",NE,[ca(Mr("input",{"onUpdate:modelValue":a[9]||(a[9]=e=>o.value.formatted=e),readonly:"",class:"result-input"},null,512),[[bi,o.value.formatted]]),Mr("button",{class:"copy-btn",onClick:a[10]||(a[10]=e=>B(o.value.formatted)),title:"复制"},[...a[26]||(a[26]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])):(Cr(),Tr("input",PE))])])]),Mr("div",BE,[a[31]||(a[31]=Mr("div",{class:"section-header"},[Mr("h3",null,"当地时间 转 Unix时间戳")],-1)),Mr("div",ME,[Mr("div",OE,[a[28]||(a[28]=Mr("label",null,"时间(eg:2015-04-01 10:01:01.620)",-1)),Mr("div",UE,[ca(Mr("input",{"onUpdate:modelValue":a[11]||(a[11]=e=>l.value=e),type:"text",placeholder:"请输入日期时间",onInput:E,class:"conversion-input"},null,544),[[bi,l.value]]),Mr("button",{class:"datetime-picker-btn",onClick:I,title:"选择日期时间",type:"button"}," 📅 "),Mr("input",{ref_key:"dateTimePickerRef",ref:g,type:"datetime-local",onChange:P,onBlur:N,class:Q(["datetime-picker",{"picker-visible":m.value}])},null,34)])]),Mr("button",{class:"convert-btn",onClick:E},"转换"),Mr("div",jE,[ca(Mr("select",{"onUpdate:modelValue":a[12]||(a[12]=e=>c.value=e),onChange:E,class:"unit-dropdown"},[...a[29]||(a[29]=[Mr("option",{value:"seconds"},"秒(s)",-1),Mr("option",{value:"milliseconds"},"毫秒(ms)",-1)])],544),[[_i,c.value]])]),Mr("div",LE,[u.value?(Cr(),Tr("div",RE,[ca(Mr("input",{"onUpdate:modelValue":a[13]||(a[13]=e=>u.value.timestamp=e),readonly:"",class:"result-input"},null,512),[[bi,u.value.timestamp]]),Mr("button",{class:"copy-btn",onClick:a[14]||(a[14]=e=>B(u.value.timestamp)),title:"复制"},[...a[30]||(a[30]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])):(Cr(),Tr("input",zE))])])]),Mr("div",{class:"quick-actions"},[Mr("button",{class:"quick-btn",onClick:F},"当前时间"),Mr("button",{class:"quick-btn",onClick:D},"今天开始"),Mr("button",{class:"quick-btn",onClick:A},"今天结束"),Mr("button",{class:"quick-btn",onClick:T},"昨天开始"),Mr("button",{class:"quick-btn",onClick:S},"明天开始")]),Mr("div",HE,[a[33]||(a[33]=Mr("div",{class:"section-header"},[Mr("h3",null,"世界时间"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"显示全球主要城市的当前时间")])],-1)),Mr("div",$E,[Mr("div",YE,[(Cr(!0),Tr(br,null,yn(y.value,e=>(Cr(),Tr("div",{key:e.zone,class:"world-time-item"},[Mr("div",GE,[Mr("div",WE,[Mr("span",VE,se(e.city),1),Mr("span",KE,se(e.country),1)]),Mr("span",JE,se(e.offset),1)]),Mr("div",qE,[Mr("span",ZE,se(e.time),1),Mr("span",XE,se(e.date),1)]),Mr("button",{class:"copy-btn",onClick:t=>B(`${e.city}: ${e.time} ${e.date}`),title:"复制时间"},[...a[32]||(a[32]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,QE)]))),128))])])])])]))}}),[["__scopeId","data-v-f063e3d0"]]),tC={class:"date-calculator"},aC={class:"calculator-content"},nC={class:"calculation-section"},rC={class:"date-interval-container"},sC={class:"input-cards"},iC={class:"input-card"},oC={class:"card-header"},lC={class:"quick-actions"},cC={class:"date-time-inputs"},uC={class:"input-card"},dC={class:"card-header"},hC={class:"quick-actions"},pC={class:"date-time-inputs"},fC={key:0,class:"interval-result"},mC={class:"result-summary"},gC={class:"summary-item primary"},yC={class:"summary-value"},vC={class:"result-grid compact"},bC={class:"result-item"},wC={class:"result-value"},xC={class:"result-item"},kC={class:"result-value"},_C={class:"result-item"},EC={class:"result-value"},CC={class:"result-item"},FC={class:"result-value"},DC={class:"calculation-section"},AC={class:"date-arithmetic-container"},TC={class:"base-date-group"},SC={class:"date-input-wrapper"},IC={class:"arithmetic-controls"},NC={class:"operation-group"},PC={class:"amount-group"},BC={class:"unit-group"},MC={class:"quick-arithmetic-buttons"},OC={key:0,class:"arithmetic-result"},UC={class:"result-item large"},jC={class:"result-value"},LC={class:"result-details"},RC={class:"detail-item"},zC={class:"detail-item"},HC={class:"calculation-section"},$C={class:"special-dates-container"},YC={class:"special-date-group"},GC={class:"date-input-wrapper"},WC={key:0,class:"special-result"},VC={class:"result-grid"},KC={class:"result-item"},JC={class:"result-value"},qC={class:"result-item"},ZC={class:"result-value"},XC={class:"result-item"},QC={class:"result-value"},eF={class:"result-item"},tF={class:"result-value"},aF={key:0,class:"birthday-info"},nF={class:"result-item large"},rF={class:"result-value"},sF=Wi($a({__name:"DateCalculator",emits:["back"],setup(e){il("date-calculator");const t=(e=>{for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e})("date-calculator"),{copyToClipboard:a}=ll(),{success:n,error:r}=Vo(),s=St(""),i=St("00:00:00"),o=St(""),l=St("00:00:00"),c=St(null),u=St(""),d=St("00:00:00"),h=St("add"),p=St(0),f=St("days"),m=St(null),g=St(""),y=St("birthday"),v=St(null);nn(()=>{const e=new Date,t=b(e),a=w(e);s.value=t,o.value=t,u.value=t,i.value=a,l.value=a,d.value=a});const b=e=>e.toISOString().split("T")[0]||"",w=e=>e.toTimeString().split(" ")[0]||"00:00:00",x=e=>`${e.getFullYear()}-${String(e.getMonth()+1).padStart(2,"0")}-${String(e.getDate()).padStart(2,"0")} ${String(e.getHours()).padStart(2,"0")}:${String(e.getMinutes()).padStart(2,"0")}:${String(e.getSeconds()).padStart(2,"0")}`,k=e=>{const t=b(new Date);"start"===e?(s.value=t,i.value="00:00:00"):(o.value=t,l.value="23:59:59"),C()},_=e=>{const t=new Date,a=b(t),n=w(t);"start"===e?(s.value=a,i.value=n):(o.value=a,l.value=n),C()},E=()=>{const e=new Date;u.value=b(e),d.value=w(e),F()},C=()=>{if(s.value&&o.value)try{const e=new Date(`${s.value}T${i.value}`),t=new Date(`${o.value}T${l.value}`);if(isNaN(e.getTime())||isNaN(t.getTime()))throw new Error("无效的日期时间");const a=Math.abs(t.getTime()-e.getTime()),n=Math.floor(a/1e3),r=Math.floor(n/60),u=Math.floor(r/60),d=Math.floor(u/24),h=Math.floor(d/365),p=Math.floor(d%365/30),f=Math.floor(d%365%30),m=u%24,g=r%60,y=n%60;let v="";h>0&&(v+=`${h}年 `),p>0&&(v+=`${p}个月 `),f>0&&(v+=`${f}天 `),m>0&&(v+=`${m}小时 `),g>0&&(v+=`${g}分钟 `),y>0&&(v+=`${y}秒`),v||(v="0秒"),c.value={totalDays:d,totalHours:u,totalMinutes:r,totalSeconds:n,detailed:v.trim()}}catch(e){c.value=null,r(`计算失败: ${e.message}`)}else c.value=null},F=()=>{var e;if(u.value&&void 0!==p.value)try{const t=new Date(`${u.value}T${d.value}`);if(isNaN(t.getTime()))throw new Error("无效的基准日期时间");let a=new Date(t);const n="add"===h.value?p.value:-p.value;switch(f.value){case"years":a.setFullYear(a.getFullYear()+n);break;case"months":a.setMonth(a.getMonth()+n);break;case"days":a.setDate(a.getDate()+n);break;case"hours":a.setHours(a.getHours()+n);break;case"minutes":a.setMinutes(a.getMinutes()+n);break;case"seconds":a.setSeconds(a.getSeconds()+n)}m.value={formatted:x(a),weekday:(e=a,["星期日","星期一","星期二","星期三","星期四","星期五","星期六"][e.getDay()]||"星期日"),timestamp:Math.floor(a.getTime()/1e3).toString()}}catch(t){m.value=null,r(`计算失败: ${t.message}`)}else m.value=null},D=(e,t)=>{p.value=Math.abs(e),f.value=t,h.value=e>=0?"add":"subtract",F()},A=()=>{if(g.value)try{const e=new Date(g.value),t=new Date;if(isNaN(e.getTime()))throw new Error("无效的特殊日期");const a=t.getTime()-e.getTime(),n=Math.floor(a/864e5),r=Math.floor(n/365.25),s=t.getFullYear()+(e.getMonth(){await a(e)?n("已复制到剪贴板"):r("复制失败")},S=()=>{const e=new Date,t=b(e),a=w(e);s.value=t,o.value=t,u.value=t,g.value="",i.value=a,l.value=a,d.value=a,p.value=0,c.value=null,m.value=null,v.value=null,n("已清空所有内容")};return(e,a)=>(Cr(),Tr("div",tC,[Or(hl,{title:Nt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空",onClick:S})]),_:1},8,["title"]),Mr("div",aC,[Mr("div",nC,[a[38]||(a[38]=Mr("div",{class:"section-header"},[Mr("h3",null,"日期间隔计算"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"计算两个日期之间的时间间隔")])],-1)),Mr("div",rC,[Mr("div",sC,[Mr("div",iC,[Mr("div",oC,[a[26]||(a[26]=Mr("label",null,"开始日期",-1)),Mr("div",lC,[Mr("button",{class:"quick-btn",onClick:a[1]||(a[1]=e=>k("start"))},"今天"),Mr("button",{class:"quick-btn",onClick:a[2]||(a[2]=e=>_("start"))},"现在")])]),Mr("div",cC,[ca(Mr("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>s.value=e),type:"date",onChange:C,class:"date-input"},null,544),[[bi,s.value]]),ca(Mr("input",{"onUpdate:modelValue":a[4]||(a[4]=e=>i.value=e),type:"time",step:"1",onChange:C,class:"time-input"},null,544),[[bi,i.value]])])]),a[28]||(a[28]=Mr("div",{class:"separator"},[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M5 12h14"}),Mr("path",{d:"m12 5 7 7-7 7"})])],-1)),Mr("div",uC,[Mr("div",dC,[a[27]||(a[27]=Mr("label",null,"结束日期",-1)),Mr("div",hC,[Mr("button",{class:"quick-btn",onClick:a[5]||(a[5]=e=>k("end"))},"今天"),Mr("button",{class:"quick-btn",onClick:a[6]||(a[6]=e=>_("end"))},"现在")])]),Mr("div",pC,[ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>o.value=e),type:"date",onChange:C,class:"date-input"},null,544),[[bi,o.value]]),ca(Mr("input",{"onUpdate:modelValue":a[8]||(a[8]=e=>l.value=e),type:"time",step:"1",onChange:C,class:"time-input"},null,544),[[bi,l.value]])])])]),c.value?(Cr(),Tr("div",fC,[Mr("div",mC,[Mr("div",gC,[a[29]||(a[29]=Mr("span",{class:"summary-label"},"详细间隔",-1)),Mr("span",yC,se(c.value.detailed),1)])]),Mr("div",vC,[Mr("div",bC,[a[30]||(a[30]=Mr("span",{class:"result-label"},"总天数",-1)),Mr("span",wC,se(c.value.totalDays),1),a[31]||(a[31]=Mr("span",{class:"result-unit"},"天",-1))]),Mr("div",xC,[a[32]||(a[32]=Mr("span",{class:"result-label"},"总小时",-1)),Mr("span",kC,se(c.value.totalHours),1),a[33]||(a[33]=Mr("span",{class:"result-unit"},"小时",-1))]),Mr("div",_C,[a[34]||(a[34]=Mr("span",{class:"result-label"},"总分钟",-1)),Mr("span",EC,se(c.value.totalMinutes),1),a[35]||(a[35]=Mr("span",{class:"result-unit"},"分钟",-1))]),Mr("div",CC,[a[36]||(a[36]=Mr("span",{class:"result-label"},"总秒数",-1)),Mr("span",FC,se(c.value.totalSeconds),1),a[37]||(a[37]=Mr("span",{class:"result-unit"},"秒",-1))])])])):Rr("",!0)])]),Mr("div",DC,[a[48]||(a[48]=Mr("div",{class:"section-header"},[Mr("h3",null,"日期加减计算"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"在指定日期基础上增加或减少时间")])],-1)),Mr("div",AC,[Mr("div",TC,[a[39]||(a[39]=Mr("label",null,"基准日期",-1)),Mr("div",SC,[ca(Mr("input",{"onUpdate:modelValue":a[9]||(a[9]=e=>u.value=e),type:"date",onChange:F,class:"date-input"},null,544),[[bi,u.value]]),ca(Mr("input",{"onUpdate:modelValue":a[10]||(a[10]=e=>d.value=e),type:"time",step:"1",onChange:F,class:"time-input"},null,544),[[bi,d.value]]),Mr("button",{class:"quick-btn",onClick:E},"现在")])]),Mr("div",IC,[Mr("div",NC,[a[41]||(a[41]=Mr("label",null,"操作",-1)),ca(Mr("select",{"onUpdate:modelValue":a[11]||(a[11]=e=>h.value=e),onChange:F,class:"operation-select"},[...a[40]||(a[40]=[Mr("option",{value:"add"},"增加 (+)",-1),Mr("option",{value:"subtract"},"减少 (-)",-1)])],544),[[_i,h.value]])]),Mr("div",PC,[a[42]||(a[42]=Mr("label",null,"数量",-1)),ca(Mr("input",{"onUpdate:modelValue":a[12]||(a[12]=e=>p.value=e),type:"number",min:"0",onInput:F,class:"amount-input",placeholder:"0"},null,544),[[bi,p.value,void 0,{number:!0}]])]),Mr("div",BC,[a[44]||(a[44]=Mr("label",null,"单位",-1)),ca(Mr("select",{"onUpdate:modelValue":a[13]||(a[13]=e=>f.value=e),onChange:F,class:"unit-select"},[...a[43]||(a[43]=[Lr('',6)])],544),[[_i,f.value]])])]),Mr("div",MC,[Mr("button",{class:"quick-btn",onClick:a[14]||(a[14]=e=>D(1,"days"))},"+1天"),Mr("button",{class:"quick-btn",onClick:a[15]||(a[15]=e=>D(-1,"days"))},"-1天"),Mr("button",{class:"quick-btn",onClick:a[16]||(a[16]=e=>D(7,"days"))},"+1周"),Mr("button",{class:"quick-btn",onClick:a[17]||(a[17]=e=>D(-7,"days"))},"-1周"),Mr("button",{class:"quick-btn",onClick:a[18]||(a[18]=e=>D(1,"months"))},"+1月"),Mr("button",{class:"quick-btn",onClick:a[19]||(a[19]=e=>D(-1,"months"))},"-1月"),Mr("button",{class:"quick-btn",onClick:a[20]||(a[20]=e=>D(1,"years"))},"+1年"),Mr("button",{class:"quick-btn",onClick:a[21]||(a[21]=e=>D(-1,"years"))},"-1年")]),m.value?(Cr(),Tr("div",OC,[Mr("div",UC,[a[46]||(a[46]=Mr("span",{class:"result-label"},"计算结果",-1)),Mr("span",jC,se(m.value.formatted),1),Mr("button",{class:"copy-btn",onClick:a[22]||(a[22]=e=>T(m.value.formatted)),title:"复制"},[...a[45]||(a[45]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",LC,[Mr("div",RC,[Mr("span",null,"星期:"+se(m.value.weekday),1)]),Mr("div",zC,[Mr("span",null,"时间戳:"+se(m.value.timestamp),1),Mr("button",{class:"copy-btn",onClick:a[23]||(a[23]=e=>T(m.value.timestamp)),title:"复制"},[...a[47]||(a[47]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])])])):Rr("",!0)])]),Mr("div",HC,[a[56]||(a[56]=Mr("div",{class:"section-header"},[Mr("h3",null,"特殊日期计算"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"计算生日、纪念日等特殊日期")])],-1)),Mr("div",$C,[Mr("div",YC,[a[50]||(a[50]=Mr("label",null,"特殊日期",-1)),Mr("div",GC,[ca(Mr("input",{"onUpdate:modelValue":a[24]||(a[24]=e=>g.value=e),type:"date",onChange:A,class:"date-input"},null,544),[[bi,g.value]]),ca(Mr("select",{"onUpdate:modelValue":a[25]||(a[25]=e=>y.value=e),onChange:A,class:"special-type-select"},[...a[49]||(a[49]=[Mr("option",{value:"birthday"},"生日",-1),Mr("option",{value:"anniversary"},"纪念日",-1),Mr("option",{value:"custom"},"自定义",-1)])],544),[[_i,y.value]])])]),v.value?(Cr(),Tr("div",WC,[Mr("div",VC,[Mr("div",KC,[a[51]||(a[51]=Mr("span",{class:"result-label"},"已过天数",-1)),Mr("span",JC,se(v.value.daysPassed)+" 天",1)]),Mr("div",qC,[a[52]||(a[52]=Mr("span",{class:"result-label"},"已过年数",-1)),Mr("span",ZC,se(v.value.yearsPassed)+" 年",1)]),Mr("div",XC,[a[53]||(a[53]=Mr("span",{class:"result-label"},"下次日期",-1)),Mr("span",QC,se(v.value.nextDate),1)]),Mr("div",eF,[a[54]||(a[54]=Mr("span",{class:"result-label"},"距离天数",-1)),Mr("span",tF,se(v.value.daysUntilNext)+" 天",1)])]),"birthday"===y.value?(Cr(),Tr("div",aF,[Mr("div",nF,[a[55]||(a[55]=Mr("span",{class:"result-label"},"年龄信息",-1)),Mr("span",rF,se(v.value.ageInfo),1)])])):Rr("",!0)])):Rr("",!0)])])])]))}}),[["__scopeId","data-v-1b4d3e91"]]),iF=(e=!1)=>{const t=St(!1);let a=null,n=null,r=null;const s=async()=>{try{"wakeLock"in navigator&&(a=await navigator.wakeLock.request("screen"),console.log("防睡眠锁已激活"),a.addEventListener("release",()=>{console.log("防睡眠锁已释放")}))}catch(e){console.warn("无法获取防睡眠锁:",e)}},i=async()=>{if(a)try{await a.release(),a=null,console.log("防睡眠锁已手动释放")}catch(e){console.warn("释放防睡眠锁失败:",e)}},o=async e=>{try{const a=e||r||document.documentElement;a.requestFullscreen?await a.requestFullscreen():a.webkitRequestFullscreen?await a.webkitRequestFullscreen():a.msRequestFullscreen&&await a.msRequestFullscreen(),t.value=!0,await s()}catch(a){console.warn("进入全屏失败:",a)}},l=async()=>{try{document.exitFullscreen?await document.exitFullscreen():document.webkitExitFullscreen?await document.webkitExitFullscreen():document.msExitFullscreen&&await document.msExitFullscreen(),t.value=!1,await i()}catch(e){console.warn("退出全屏失败:",e)}},c=async e=>{t.value?await l():await o(e)},u=e=>{e.preventDefault(),c(r||void 0)},d=()=>{const e=!!(document.fullscreenElement||document.webkitFullscreenElement||document.msFullscreenElement);t.value=e,e||i()},h=()=>{"visible"===document.visibilityState&&t.value&&!a&&s()};return nn(()=>{document.addEventListener("fullscreenchange",d),document.addEventListener("webkitfullscreenchange",d),document.addEventListener("msfullscreenchange",d),document.addEventListener("visibilitychange",h)}),ln(()=>{document.removeEventListener("fullscreenchange",d),document.removeEventListener("webkitfullscreenchange",d),document.removeEventListener("msfullscreenchange",d),document.removeEventListener("visibilitychange",h),n&&n.removeEventListener("dblclick",u),i()}),{isFullscreen:t,enterFullscreen:o,exitFullscreen:l,toggleFullscreen:c,requestWakeLock:s,releaseWakeLock:i,setDoubleClickElement:t=>{n&&n.removeEventListener("dblclick",u),n=t,n&&e&&n.addEventListener("dblclick",u)},setFullscreenTarget:e=>{r=e}}},oF={class:"countdown-timer"},lF={class:"timer-content"},cF={class:"quick-timer-section"},uF={class:"quick-timer-container"},dF={class:"timer-setup"},hF={class:"time-inputs-row"},pF={class:"time-input-group"},fF={class:"time-input-group"},mF={class:"time-input-group"},gF={class:"quick-presets"},yF={class:"countdown-display"},vF={class:"time-units"},bF={class:"time-unit"},wF={class:"time-value"},xF={class:"time-unit"},kF={class:"time-value"},_F={class:"time-unit"},EF={class:"time-value"},CF={class:"time-unit"},FF={class:"time-value milliseconds"},DF={class:"timer-controls"},AF=["disabled"],TF=["disabled"],SF={width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},IF={key:0,d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},NF={key:1,d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},PF={class:"target-timer-section"},BF={class:"target-timer-container"},MF={class:"target-setup"},OF={class:"datetime-inputs"},UF={class:"input-group"},jF={class:"input-group"},LF={class:"quick-targets"},RF={key:0,class:"target-display-card"},zF={key:0,class:"display-title"},HF={class:"countdown-display large"},$F={class:"time-units"},YF={class:"time-unit"},GF={class:"time-value"},WF={class:"time-unit"},VF={class:"time-value"},KF={class:"time-unit"},JF={class:"time-value"},qF={class:"time-unit"},ZF={class:"time-value"},XF={class:"multiple-timers-section"},QF={class:"multiple-timers-container"},eD={class:"add-timer-card"},tD={class:"add-timer-inputs"},aD={class:"datetime-inputs"},nD={key:0,class:"timers-grid"},rD={class:"timer-card-header"},sD=["onClick"],iD={class:"countdown-display compact"},oD={class:"time-units"},lD={class:"time-unit"},cD={class:"time-value"},uD={class:"time-unit"},dD={class:"time-value"},hD={class:"time-unit"},pD={class:"time-value"},fD={class:"time-unit"},mD={class:"time-value"},gD=Wi($a({__name:"CountdownTimer",emits:["back"],setup(e){il("countdown-timer");const{success:t,error:a}=Vo(),{isFullscreen:n,toggleFullscreen:r}=iF(),s=St(null),i=St(""),o=St(""),l=St(""),c=St(null),u=St(0),d=St(5),h=St(0),p=St({isRunning:!1,isExpired:!1,remainingTime:0,totalTime:0,status:"准备就绪",display:null}),f=St(""),m=St(""),g=St(""),y=St([]);let v=null,b=null,w=null;nn(()=>{const e=new Date((new Date).getTime()+864e5);i.value=e.toISOString().split("T")[0]||"",o.value="12:00:00",m.value=e.toISOString().split("T")[0]||"",g.value="12:00:00",_(),C()}),ln(()=>{v&&clearInterval(v),b&&clearInterval(b),w&&clearInterval(w)});const x=e=>e.toString().padStart(2,"0"),k=e=>{const t=new Date,a=e.getTime()-t.getTime();if(a<=0)return{days:"00",hours:"00",minutes:"00",seconds:"00",status:"时间已到!",isExpired:!0};const n=Math.floor(a/864e5),r=Math.floor(a%864e5/36e5),s=Math.floor(a%36e5/6e4),i=Math.floor(a%6e4/1e3);return{days:x(n),hours:x(r),minutes:x(s),seconds:x(i),status:`还有 ${n} 天 ${r} 小时 ${s} 分钟`,isExpired:!1}},_=()=>{if(!i.value||!o.value)return c.value=null,void(v&&(clearInterval(v),v=null));const e=new Date(`${i.value}T${o.value}`);isNaN(e.getTime())?a("无效的目标日期时间"):(c.value=k(e),v&&clearInterval(v),v=setInterval(()=>{c.value&&(c.value=k(e),c.value.isExpired&&l.value&&t(`${l.value} 时间到了!`))},1e3))},E=(e,t)=>{let a=new Date(new Date);switch(t){case"hours":a.setHours(a.getHours()+e);break;case"days":a.setDate(a.getDate()+e)}i.value=a.toISOString().split("T")[0]||"",o.value=a.toTimeString().split(" ")[0]||"",_()},C=()=>{const e=3600*u.value+60*d.value+h.value,t=Math.floor(e/3600),a=Math.floor(e%3600/60),n=e%60;p.value.display={hours:x(t),minutes:x(a),seconds:x(n),milliseconds:"000"},p.value.totalTime=1e3*e,p.value.remainingTime=1e3*e},F=()=>{const e=1e3*(3600*u.value+60*d.value+h.value);e<=0?a("请设置有效的时间"):(p.value.isRunning=!0,p.value.isExpired=!1,p.value.status="计时中...",p.value.remainingTime=e,b&&clearInterval(b),b=setInterval(()=>{if(p.value.remainingTime-=10,p.value.remainingTime<=0)p.value.isRunning=!1,p.value.isExpired=!0,p.value.status="时间到了!",p.value.remainingTime=0,b&&(clearInterval(b),b=null),t("定时器时间到了!");else{const e=p.value.remainingTime,t=Math.floor(e/36e5),a=Math.floor(e%36e5/6e4),n=Math.floor(e%6e4/1e3),r=10*Math.floor(e%1e3/10);p.value.display={hours:x(t),minutes:x(a),seconds:x(n),milliseconds:r.toString().padStart(3,"0")}}},10))},D=()=>{p.value.isRunning=!1,p.value.status="已暂停",b&&(clearInterval(b),b=null)},A=()=>{p.value.isRunning=!1,p.value.isExpired=!1,p.value.status="准备就绪",b&&(clearInterval(b),b=null),C()},T=(e,t,a)=>{u.value=e,d.value=t,h.value=a,C()},S=()=>{if(!m.value||!g.value)return void a("请设置目标日期和时间");const e=new Date(`${m.value}T${g.value}`);if(isNaN(e.getTime()))return void a("无效的日期时间");const n={id:Date.now(),title:f.value||"未命名倒计时",targetDate:e,countdown:k(e)};y.value.push(n),f.value="",w||(w=setInterval(I,1e3)),t("倒计时已添加")},I=()=>{y.value.forEach(e=>{e.countdown=k(e.targetDate),e.countdown.isExpired&&t(`${e.title} 时间到了!`)})},N=()=>{v&&(clearInterval(v),v=null),b&&(clearInterval(b),b=null),w&&(clearInterval(w),w=null),c.value=null,l.value="",p.value={isRunning:!1,isExpired:!1,remainingTime:0,totalTime:0,status:"准备就绪",display:null},u.value=0,d.value=5,h.value=0,y.value=[],f.value="",C(),t("已清空所有倒计时")};return(e,a)=>(Cr(),Tr("div",oF,[Or(hl,{title:"倒计时器",onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:N})]),_:1}),Mr("div",lF,[Mr("div",cF,[a[35]||(a[35]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"⏱️ 快速定时器"),Mr("span",{class:"section-subtitle"},"设置倒计时时长,到时提醒")])],-1)),Mr("div",uF,[Mr("div",dF,[Mr("div",hF,[Mr("div",pF,[a[23]||(a[23]=Mr("label",null,"小时",-1)),ca(Mr("input",{"onUpdate:modelValue":a[1]||(a[1]=e=>u.value=e),type:"number",min:"0",max:"23",class:"time-number-input"},null,512),[[bi,u.value,void 0,{number:!0}]])]),a[26]||(a[26]=Mr("div",{class:"time-separator"},":",-1)),Mr("div",fF,[a[24]||(a[24]=Mr("label",null,"分钟",-1)),ca(Mr("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>d.value=e),type:"number",min:"0",max:"59",class:"time-number-input"},null,512),[[bi,d.value,void 0,{number:!0}]])]),a[27]||(a[27]=Mr("div",{class:"time-separator"},":",-1)),Mr("div",mF,[a[25]||(a[25]=Mr("label",null,"秒钟",-1)),ca(Mr("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>h.value=e),type:"number",min:"0",max:"59",class:"time-number-input"},null,512),[[bi,h.value,void 0,{number:!0}]])])]),Mr("div",gF,[Mr("button",{class:"preset-btn",onClick:a[4]||(a[4]=e=>T(0,1,0))},"1分钟"),Mr("button",{class:"preset-btn",onClick:a[5]||(a[5]=e=>T(0,3,0))},"3分钟"),Mr("button",{class:"preset-btn",onClick:a[6]||(a[6]=e=>T(0,5,0))},"5分钟"),Mr("button",{class:"preset-btn",onClick:a[7]||(a[7]=e=>T(0,10,0))},"10分钟"),Mr("button",{class:"preset-btn",onClick:a[8]||(a[8]=e=>T(0,15,0))},"15分钟"),Mr("button",{class:"preset-btn",onClick:a[9]||(a[9]=e=>T(0,30,0))},"30分钟"),Mr("button",{class:"preset-btn",onClick:a[10]||(a[10]=e=>T(0,45,0))},"45分钟"),Mr("button",{class:"preset-btn",onClick:a[11]||(a[11]=e=>T(1,0,0))},"1小时")])]),Mr("div",{class:"timer-display-card",ref_key:"timerDisplayRef",ref:s},[Mr("div",yF,[Mr("div",vF,[Mr("div",bF,[Mr("span",wF,se(p.value.display?.hours||"00"),1),a[28]||(a[28]=Mr("span",{class:"time-label"},"时",-1))]),Mr("div",xF,[Mr("span",kF,se(p.value.display?.minutes||"00"),1),a[29]||(a[29]=Mr("span",{class:"time-label"},"分",-1))]),Mr("div",_F,[Mr("span",EF,se(p.value.display?.seconds||"00"),1),a[30]||(a[30]=Mr("span",{class:"time-label"},"秒",-1))]),Mr("div",CF,[Mr("span",FF,se(p.value.display?.milliseconds||"000"),1),a[31]||(a[31]=Mr("span",{class:"time-label"},"毫秒",-1))])]),Mr("div",{class:Q(["timer-status",{expired:p.value.isExpired,running:p.value.isRunning}])},se(p.value.status),3)]),Mr("div",DF,[Mr("button",{class:"control-btn start",onClick:F,disabled:p.value.isRunning},[...a[32]||(a[32]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polygon",{points:"5,3 19,12 5,21"})],-1),jr(" 开始 ",-1)])],8,AF),Mr("button",{class:"control-btn pause",onClick:D,disabled:!p.value.isRunning},[...a[33]||(a[33]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"6",y:"4",width:"4",height:"16"}),Mr("rect",{x:"14",y:"4",width:"4",height:"16"})],-1),jr(" 暂停 ",-1)])],8,TF),Mr("button",{class:"control-btn reset",onClick:A},[...a[34]||(a[34]=[Lr(' 重置 ',2)])]),Mr("button",{class:"control-btn fullscreen",onClick:a[12]||(a[12]=e=>Nt(r)(s.value||void 0))},[(Cr(),Tr("svg",SF,[Nt(n)?(Cr(),Tr("path",NF)):(Cr(),Tr("path",IF))])),jr(" "+se(Nt(n)?"退出":"全屏"),1)])])],512)])]),Mr("div",PF,[a[42]||(a[42]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📅 目标日期倒计时"),Mr("span",{class:"section-subtitle"},"设置目标日期,实时显示倒计时")])],-1)),Mr("div",BF,[Mr("div",MF,[Mr("div",OF,[Mr("div",UF,[a[36]||(a[36]=Mr("label",null,"目标日期",-1)),ca(Mr("input",{"onUpdate:modelValue":a[13]||(a[13]=e=>i.value=e),type:"date",onChange:_,class:"date-input"},null,544),[[bi,i.value]])]),Mr("div",jF,[a[37]||(a[37]=Mr("label",null,"目标时间",-1)),ca(Mr("input",{"onUpdate:modelValue":a[14]||(a[14]=e=>o.value=e),type:"time",step:"1",onChange:_,class:"time-input"},null,544),[[bi,o.value]])])]),ca(Mr("input",{"onUpdate:modelValue":a[15]||(a[15]=e=>l.value=e),type:"text",placeholder:"倒计时标题(可选)",class:"timer-title-input"},null,512),[[bi,l.value]]),Mr("div",LF,[Mr("button",{class:"preset-btn",onClick:a[16]||(a[16]=e=>E(1,"hours"))},"1小时后"),Mr("button",{class:"preset-btn",onClick:a[17]||(a[17]=e=>E(1,"days"))},"1天后"),Mr("button",{class:"preset-btn",onClick:a[18]||(a[18]=e=>E(7,"days"))},"1周后"),Mr("button",{class:"preset-btn",onClick:a[19]||(a[19]=e=>E(30,"days"))},"1月后")])]),c.value?(Cr(),Tr("div",RF,[l.value?(Cr(),Tr("div",zF,se(l.value),1)):Rr("",!0),Mr("div",HF,[Mr("div",$F,[Mr("div",YF,[Mr("span",GF,se(c.value.days),1),a[38]||(a[38]=Mr("span",{class:"time-label"},"天",-1))]),Mr("div",WF,[Mr("span",VF,se(c.value.hours),1),a[39]||(a[39]=Mr("span",{class:"time-label"},"时",-1))]),Mr("div",KF,[Mr("span",JF,se(c.value.minutes),1),a[40]||(a[40]=Mr("span",{class:"time-label"},"分",-1))]),Mr("div",qF,[Mr("span",ZF,se(c.value.seconds),1),a[41]||(a[41]=Mr("span",{class:"time-label"},"秒",-1))])]),Mr("div",{class:Q(["timer-status",{expired:c.value.isExpired}])},se(c.value.status),3)])])):Rr("",!0)])]),Mr("div",XF,[a[49]||(a[49]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📋 多个倒计时"),Mr("span",{class:"section-subtitle"},"同时管理多个倒计时器")])],-1)),Mr("div",QF,[Mr("div",eD,[Mr("div",tD,[ca(Mr("input",{"onUpdate:modelValue":a[20]||(a[20]=e=>f.value=e),type:"text",placeholder:"倒计时标题",class:"timer-title-input"},null,512),[[bi,f.value]]),Mr("div",aD,[ca(Mr("input",{"onUpdate:modelValue":a[21]||(a[21]=e=>m.value=e),type:"date",class:"date-input"},null,512),[[bi,m.value]]),ca(Mr("input",{"onUpdate:modelValue":a[22]||(a[22]=e=>g.value=e),type:"time",step:"1",class:"time-input"},null,512),[[bi,g.value]])])]),Mr("button",{class:"add-timer-btn",onClick:S},[...a[43]||(a[43]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加倒计时 ",-1)])])]),y.value.length>0?(Cr(),Tr("div",nD,[(Cr(!0),Tr(br,null,yn(y.value,e=>(Cr(),Tr("div",{key:e.id,class:"timer-card"},[Mr("div",rD,[Mr("h4",null,se(e.title||"未命名倒计时"),1),Mr("button",{class:"remove-btn",onClick:a=>{return n=e.id,y.value=y.value.filter(e=>e.id!==n),0===y.value.length&&w&&(clearInterval(w),w=null),void t("倒计时已移除");var n}},[...a[44]||(a[44]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,sD)]),Mr("div",iD,[Mr("div",oD,[Mr("div",lD,[Mr("span",cD,se(e.countdown.days),1),a[45]||(a[45]=Mr("span",{class:"time-label"},"天",-1))]),Mr("div",uD,[Mr("span",dD,se(e.countdown.hours),1),a[46]||(a[46]=Mr("span",{class:"time-label"},"时",-1))]),Mr("div",hD,[Mr("span",pD,se(e.countdown.minutes),1),a[47]||(a[47]=Mr("span",{class:"time-label"},"分",-1))]),Mr("div",fD,[Mr("span",mD,se(e.countdown.seconds),1),a[48]||(a[48]=Mr("span",{class:"time-label"},"秒",-1))])]),Mr("div",{class:Q(["timer-status",{expired:e.countdown.isExpired}])},se(e.countdown.status),3)])]))),128))])):Rr("",!0)])])])]))}}),[["__scopeId","data-v-3d360bda"]]),yD={class:"stopwatch"},vD={class:"converter-content"},bD={class:"stopwatch-container"},wD={class:"main-stopwatch-area"},xD={class:"time-display"},kD={class:"time-content"},_D={class:"main-time"},ED={class:"milliseconds"},CD={class:"control-buttons"},FD={key:0,width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},DD={key:1,width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},AD={key:0,class:"laps-section"},TD={class:"laps-container"},SD={class:"laps-list"},ID={class:"lap-number"},ND={class:"lap-time"},PD={class:"lap-total"},BD={class:"lap-timestamp"},MD={key:1,class:"stats-section"},OD={class:"stats-grid"},UD={class:"stat-item"},jD={class:"stat-value"},LD={class:"stat-item"},RD={class:"stat-value"},zD={class:"stat-item"},HD={class:"stat-value"},$D={class:"stat-item"},YD={class:"stat-value"},GD=Wi($a({__name:"Stopwatch",emits:["back"],setup(e){il("stopwatch");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("stopwatch"),a=St(!1),n=St(0),r=St(0),s=St(0),i=St(null),o=St(null),{isFullscreen:l,toggleFullscreen:c,setDoubleClickElement:u,setFullscreenTarget:d}=iF(!0),h=St([]),p=St(0),{success:f,error:m}=Vo(),g=is(()=>[...h.value].reverse()),y=is(()=>0===h.value.length?0:Math.min(...h.value.map(e=>e.lapTime))),v=is(()=>0===h.value.length?0:Math.max(...h.value.map(e=>e.lapTime))),b=is(()=>{if(0===h.value.length)return 0;const e=h.value.reduce((e,t)=>e+t.lapTime,0);return Math.round(e/h.value.length)}),w=e=>{const t=Math.floor(e/1e3),a=Math.floor(t/3600),n=Math.floor(t%3600/60),r=t%60;return`${a.toString().padStart(2,"0")}:${n.toString().padStart(2,"0")}:${r.toString().padStart(2,"0")}`},x=e=>(e%1e3).toString().padStart(3,"0"),k=()=>{a.value=!0,r.value=Date.now()-s.value,i.value=window.setInterval(()=>{n.value=Date.now()-r.value},10),f("秒表已开始")},_=()=>{a.value=!1,s.value=n.value,i.value&&(clearInterval(i.value),i.value=null),f("秒表已暂停")},E=()=>{k(),f("秒表已继续")},C=()=>{a.value=!1,n.value=0,r.value=0,s.value=0,i.value&&(clearInterval(i.value),i.value=null),f("秒表已重置")},F=()=>{if(!a.value)return;const e=h.value.length>0&&h.value[h.value.length-1]?.totalTime||0,t=n.value-e;p.value++;const r=new Date,s={id:p.value,lapTime:t,totalTime:n.value,timestamp:r.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})+"."+r.getMilliseconds().toString().padStart(3,"0")};h.value.push(s),D(),f(`第 ${h.value.length} 次计次已记录`)},D=()=>{if(h.value.length<=1)return;const e=y.value,t=v.value;h.value.forEach(a=>{a.isFastest=a.lapTime===e&&e!==t,a.isSlowest=a.lapTime===t&&e!==t})},A=()=>{h.value=[],p.value=0,f("计次记录已清空")},T=()=>{if(0===h.value.length)return void m("没有计次记录可导出");const e=[["次数","计次时间","总时间","记录时间"],...h.value.map((e,t)=>[(t+1).toString(),`${w(e.lapTime)}.${x(e.lapTime)}`,`${w(e.totalTime)}.${x(e.totalTime)}`,e.timestamp])].map(e=>e.join(",")).join("\n"),t=new Blob(["\ufeff"+e],{type:"text/csv;charset=utf-8;"}),a=document.createElement("a");if(void 0!==a.download){const e=URL.createObjectURL(t);a.setAttribute("href",e),a.setAttribute("download",`秒表记录_${(new Date).toISOString().slice(0,10)}.csv`),a.style.visibility="hidden",document.body.appendChild(a),a.click(),document.body.removeChild(a),f("计次记录已导出")}},S=e=>{"Space"===e.code?(e.preventDefault(),a.value?_():0===n.value?k():E()):"KeyL"===e.code&&a.value?(e.preventDefault(),F()):"KeyR"!==e.code||a.value||(e.preventDefault(),C())};return nn(()=>{document.addEventListener("keydown",S),Zt(()=>{o.value&&(u(o.value),d(o.value))}),f("快捷键:空格键 开始/暂停,L键 计次,R键 重置,双击计时器进入全屏")}),ln(()=>{document.removeEventListener("keydown",S),i.value&&clearInterval(i.value)}),(e,r)=>(Cr(),Tr("div",yD,[Or(hl,{title:Nt(t),onBack:r[0]||(r[0]=t=>e.$emit("back"))},{actions:la(()=>[h.value.length>0?(Cr(),Sr(jl,{key:0,icon:"download",tooltip:"导出记录",onClick:T})):Rr("",!0),h.value.length>0?(Cr(),Sr(jl,{key:1,icon:"clear",tooltip:"清空记录",onClick:A})):Rr("",!0)]),_:1},8,["title"]),Mr("div",vD,[Mr("div",bD,[Mr("div",wD,[Mr("div",{class:"timer-display-card",ref_key:"timerDisplayRef",ref:o},[Mr("div",xD,[Mr("div",kD,[Mr("div",_D,se(w(n.value)),1),Mr("div",ED,"."+se(x(n.value)),1)])]),Mr("div",CD,[a.value||0!==n.value?Rr("",!0):(Cr(),Tr("button",{key:0,class:"control-btn start-btn",onClick:k,onDblclick:r[1]||(r[1]=Ii(()=>{},["stop"]))},[...r[7]||(r[7]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polygon",{points:"5 3 19 12 5 21 5 3"})],-1),jr(" 开始 ",-1)])],32)),a.value?(Cr(),Tr("button",{key:1,class:"control-btn pause-btn",onClick:_,onDblclick:r[2]||(r[2]=Ii(()=>{},["stop"]))},[...r[8]||(r[8]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"6",y:"4",width:"4",height:"16"}),Mr("rect",{x:"14",y:"4",width:"4",height:"16"})],-1),jr(" 暂停 ",-1)])],32)):Rr("",!0),!a.value&&n.value>0?(Cr(),Tr("button",{key:2,class:"control-btn resume-btn",onClick:E,onDblclick:r[3]||(r[3]=Ii(()=>{},["stop"]))},[...r[9]||(r[9]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polygon",{points:"5 3 19 12 5 21 5 3"})],-1),jr(" 继续 ",-1)])],32)):Rr("",!0),a.value?(Cr(),Tr("button",{key:3,class:"control-btn lap-btn",onClick:F,onDblclick:r[4]||(r[4]=Ii(()=>{},["stop"]))},[...r[10]||(r[10]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("polyline",{points:"12,6 12,12 16,14"})],-1),jr(" 计次 ",-1)])],32)):Rr("",!0),n.value>0?(Cr(),Tr("button",{key:4,class:"control-btn reset-btn",onClick:C,onDblclick:r[5]||(r[5]=Ii(()=>{},["stop"]))},[...r[11]||(r[11]=[Lr(' 重置 ',2)])],32)):Rr("",!0),Mr("button",{class:"control-btn fullscreen-btn",onClick:r[6]||(r[6]=()=>Nt(c)(o.value))},[Nt(l)?(Cr(),Tr("svg",DD,[...r[13]||(r[13]=[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"},null,-1)])])):(Cr(),Tr("svg",FD,[...r[12]||(r[12]=[Mr("path",{d:"M8 3H5a2 2 0 0 0-2 2v3m18 0V5a2 2 0 0 0-2-2h-3m0 18h3a2 2 0 0 0 2-2v-3M3 16v3a2 2 0 0 0 2 2h3"},null,-1)])])),jr(" "+se(Nt(l)?"退出":"全屏"),1)])])],512)]),h.value.length>0?(Cr(),Tr("div",AD,[r[15]||(r[15]=Mr("h3",{class:"section-title"},"计次记录",-1)),Mr("div",TD,[r[14]||(r[14]=Lr('
    次数计次时间总时间记录时间
    ',1)),Mr("div",SD,[(Cr(!0),Tr(br,null,yn(g.value,(e,t)=>(Cr(),Tr("div",{key:e.id,class:Q(["lap-item",{fastest:e.isFastest,slowest:e.isSlowest}])},[Mr("span",ID,se(h.value.length-t),1),Mr("span",ND,se(w(e.lapTime))+"."+se(x(e.lapTime)),1),Mr("span",PD,se(w(e.totalTime))+"."+se(x(e.totalTime)),1),Mr("span",BD,se(e.timestamp),1)],2))),128))])])])):Rr("",!0),h.value.length>0?(Cr(),Tr("div",MD,[r[20]||(r[20]=Mr("h3",{class:"section-title"},"统计信息",-1)),Mr("div",OD,[Mr("div",UD,[r[16]||(r[16]=Mr("div",{class:"stat-label"},"总计次数",-1)),Mr("div",jD,se(h.value.length),1)]),Mr("div",LD,[r[17]||(r[17]=Mr("div",{class:"stat-label"},"最快计次",-1)),Mr("div",RD,se(w(y.value))+"."+se(x(y.value)),1)]),Mr("div",zD,[r[18]||(r[18]=Mr("div",{class:"stat-label"},"最慢计次",-1)),Mr("div",HD,se(w(v.value))+"."+se(x(v.value)),1)]),Mr("div",$D,[r[19]||(r[19]=Mr("div",{class:"stat-label"},"平均计次",-1)),Mr("div",YD,se(w(b.value))+"."+se(x(b.value)),1)])])])):Rr("",!0)])])]))}}),[["__scopeId","data-v-ed06e668"]]);var WD,VD,KD,JD={exports:{}},qD=JD.exports;function ZD(){return WD||(WD=1,e=JD,function(t,a){if(e.exports)e.exports=a();else{var n=a();for(var r in n)t[r]=n[r]}}(qD,function(){var e,t,a,n,r,s,i,o,l,c,u,d,h,p,f,m,g,y,v,b,w,x,k,_,E,C,F,D,A,T,S,I,N,P,B,M,O,U,j,L,R,z,H,$,Y,G,W,V,K,J,q,Z,X=function(){var e=function(t,a,n,r,s,i){var o=t,l=a,c=n,u=r,d=s,h=i;if(t*=1,isNaN(t))throw new Error("wrong solar year "+o);if(a*=1,isNaN(a))throw new Error("wrong solar month "+l);if(n*=1,isNaN(n))throw new Error("wrong solar day "+c);if(r*=1,isNaN(r))throw new Error("wrong hour "+u);if(s*=1,isNaN(s))throw new Error("wrong minute "+d);if(i*=1,isNaN(i))throw new Error("wrong second "+h);if(1582===t&&10===a&&n>4&&n<15)throw new Error("wrong solar year "+t+" month "+a+" day "+n);if(a<1||a>12)throw new Error("wrong month "+a);if(n<1||n>31)throw new Error("wrong day "+n);if(r<0||r>23)throw new Error("wrong hour "+r);if(s<0||s>59)throw new Error("wrong minute "+s);if(i<0||i>59)throw new Error("wrong second "+i);return{_p:{year:t,month:a,day:n,hour:r,minute:s,second:i},subtract:function(e){return le.getDaysBetween(e.getYear(),e.getMonth(),e.getDay(),this._p.year,this._p.month,this._p.day)},subtractMinute:function(e){var t=this.subtract(e),a=60*this._p.hour+this._p.minute-(60*e.getHour()+e.getMinute());return a<0&&(a+=1440,t--),a+=1440*t},isAfter:function(e){return this._p.year>e.getYear()||!(this._p.yeare.getMonth()||!(this._p.monthe.getDay()||!(this._p.daye.getHour()||!(this._p.houre.getMinute()||!(this._p.minutee.getSecond()))))},isBefore:function(e){return!(this._p.year>e.getYear())&&(this._p.yeare.getMonth())&&(this._p.monthe.getDay())&&(this._p.daye.getHour())&&(this._p.houre.getMinute())&&(this._p.minutele.getDaysOfMonth(this._p.year,this._p.month)&&(t=le.WEEK_FESTIVAL[this._p.month+"-0-"+n])&&e.push(t),e},getOtherFestivals:function(){var e=[],t=le.OTHER_FESTIVAL[this._p.month+"-"+this._p.day];return t&&(e=e.concat(t)),e},getXingzuo:function(){return this.getXingZuo()},getXingZuo:function(){var e=11,t=100*this._p.month+this._p.day;return t>=321&&t<=419?e=0:t>=420&&t<=520?e=1:t>=521&&t<=621?e=2:t>=622&&t<=722?e=3:t>=723&&t<=822?e=4:t>=823&&t<=922?e=5:t>=923&&t<=1023?e=6:t>=1024&&t<=1122?e=7:t>=1123&&t<=1221?e=8:t>=1222||t<=119?e=9:t<=218&&(e=10),le.XINGZUO[e]},toYmd:function(){for(var e=this._p.month,t=this._p.day,a=this._p.year+"";a.length<4;)a="0"+a;return[a,(e<10?"0":"")+e,(t<10?"0":"")+t].join("-")},toYmdHms:function(){return this.toYmd()+" "+[(this._p.hour<10?"0":"")+this._p.hour,(this._p.minute<10?"0":"")+this._p.minute,(this._p.second<10?"0":"")+this._p.second].join(":")},toString:function(){return this.toYmd()},toFullString:function(){var e=this.toYmdHms();this.isLeapYear()&&(e+=" 闰年"),e+=" 星期"+this.getWeekInChinese();for(var t=this.getFestivals(),a=0,n=t.length;a4&&s<15&&(s+=10):2===r&&s>28&&(le.isLeapYear(n)||(s=28)),e(n,r,s,this._p.hour,this._p.minute,this._p.second)},nextMonth:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong months "+a);var n=te.fromYm(this._p.year,this._p.month).next(t),r=n.getYear(),s=n.getMonth(),i=this._p.day;if(1582===r&&10===s)i>4&&i<15&&(i+=10);else{var o=le.getDaysOfMonth(r,s);i>o&&(i=o)}return e(r,s,i,this._p.hour,this._p.minute,this._p.second)},nextDay:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong days "+a);var n=this._p.year,r=this._p.month,s=this._p.day;if(1582===n&&10===r&&s>4&&(s-=10),t>0){s+=t;for(var i=le.getDaysOfMonth(n,r);s>i;)s-=i,++r>12&&(r=1,n++),i=le.getDaysOfMonth(n,r)}else if(t<0){for(;s+t<=0;)--r<1&&(r=12,n--),s+=le.getDaysOfMonth(n,r);s+=t}return 1582===n&&10===r&&s>4&&(s+=10),e(n,r,s,this._p.hour,this._p.minute,this._p.second)},nextWorkday:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong days "+a);var n=e(this._p.year,this._p.month,this._p.day,this._p.hour,this._p.minute,this._p.second);if(0!==t)for(var r=Math.abs(t),s=t<1?-1:1;r>0;){n=n.next(s);var i=!0,o=ue.getHoliday(n.getYear(),n.getMonth(),n.getDay());if(o)i=o.isWork();else{var l=n.getWeek();0!==l&&6!==l||(i=!1)}i&&(r-=1)}return n},next:function(e,t){return t?this.nextWorkday(e):this.nextDay(e)},nextHour:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong hours "+a);var n=this._p.hour+t,r=n<0?-1:1,s=Math.abs(n),i=Math.floor(s/24)*r;(s=s%24*r)<0&&(s+=24,i--);var o=this.next(i);return e(o.getYear(),o.getMonth(),o.getDay(),s,o.getMinute(),o.getSecond())},getLunar:function(){return Q.fromSolar(this)},getJulianDay:function(){var e=this._p.year,t=this._p.month,a=this._p.day+((this._p.second/60+this._p.minute)/60+this._p.hour)/24,n=0,r=!1;return 372*e+31*t+Math.floor(a)>=588829&&(r=!0),t<=2&&(t+=12,e--),r&&(n=2-(n=Math.floor(e/100))+Math.floor(n/4)),Math.floor(365.25*(e+4716))+Math.floor(30.6001*(t+1))+a+n-1524.5},getSalaryRate:function(){if(1===this._p.month&&1===this._p.day)return 3;if(5===this._p.month&&1===this._p.day)return 3;if(10===this._p.month&&this._p.day>=1&&this._p.day<=3)return 3;var e=this.getLunar();if(1===e.getMonth()&&e.getDay()>=1&&e.getDay()<=3)return 3;if(5===e.getMonth()&&5===e.getDay())return 3;if(8===e.getMonth()&&15===e.getDay())return 3;if("清明"===e.getJieQi())return 3;var t=ue.getHoliday(this._p.year,this._p.month,this._p.day);if(t){if(!t.isWork())return 2}else{var a=this.getWeek();if(6===a||0===a)return 2}return 1}}};return{J2000:2451545,fromYmd:function(t,a,n){return e(t,a,n,0,0,0)},fromYmdHms:function(t,a,n,r,s,i){return e(t,a,n,r,s,i)},fromDate:function(t){return function(t){return e(t.getFullYear(),t.getMonth()+1,t.getDate(),t.getHours(),t.getMinutes(),t.getSeconds())}(t)},fromJulianDay:function(t){return function(t){var a,n=Math.floor(t+.5),r=t+.5-n;n>=2299161&&(n+=1+(a=Math.floor((n-1867216.25)/36524.25))-Math.floor(a/4)),n+=1524;var s=Math.floor((n-122.1)/365.25);n-=Math.floor(365.25*s);var i=Math.floor(n/30.601),o=n-=Math.floor(30.601*i);i>13?(i-=13,s-=4715):(i-=1,s-=4716),r*=24;var l=Math.floor(r);r-=l,r*=60;var c=Math.floor(r);r-=c,r*=60;var u=Math.round(r);return u>59&&(u-=60,c++),c>59&&(c-=60,l++),l>23&&(l-=24,o+=1),e(s,i,o,l,c,u)}(t)},fromBaZi:function(e,t,a,n,r,s){return function(e,t,a,n,r,s){r*=1,isNaN(r)&&(r=2),1!==r&&(r=2),s*=1,isNaN(s)&&(s=1900);var i=[],o=ce.index(t.substring(1),ce.ZHI,-1)-2;if(o<0&&(o+=12),(2*(ce.index(e.substring(0,1),ce.GAN,-1)+1)+o)%10!==ce.index(t.substring(0,1),ce.GAN,-1))return i;var l=ce.getJiaZiIndex(e)-57;l<0&&(l+=60),l++,o*=2;var c=2*ce.index(n.substring(1),ce.ZHI,-1),u=[c];0===c&&2===r&&(u=[0,23]);for(var d=s-1,h=(new Date).getFullYear();l<=h;){if(l>=d){var p=Q.fromYmd(l,1,1),f=p.getJieQiList(),m=p.getJieQiTable()[f[4+o]];if(m.getYear()>=s){var g=ce.getJiaZiIndex(a)-ce.getJiaZiIndex(m.getLunar().getDayInGanZhiExact2());g<0&&(g+=60),g>0&&(m=m.next(g));for(var y=0,v=u.length;y=f&&(i++,o++),h>=m&&(l++,c++)),e.yearGanIndex=r,e.yearZhiIndex=s,e.yearGanIndexByLiChun=(i<0?i+10:i)%10,e.yearZhiIndexByLiChun=(o<0?o+12:o)%12,e.yearGanIndexExact=(l<0?l+10:l)%10,e.yearZhiIndexExact=(c<0?c+12:c)%12}(i,r,e),function(e,t){var a,n,r=null,s=ce.JIE_QI_IN_USE.length,i=-3;for(a=0;a=(null==r?o:r.toYmd())&&o=(null==r?c:r.toYmdHms())&&c="23:00"&&u<="23:59"&&(++l>=10&&(l-=10),++c>=12&&(c-=12)),e.dayGanIndexExact=l,e.dayZhiIndexExact=c}(i,r,t,a),function(e,t,a){var n=ce.getTimeZhiIndex((t<10?"0":"")+t+":"+(a<10?"0":"")+a);e.timeZhiIndex=n,e.timeGanIndex=(e.dayGanIndexExact%5*2+n)%10}(i,t,a),function(e,t){e.weekIndex=t.getWeek()}(i,r),i},t=function(e){for(var t=0,a=0,r=0,s=se.fromYear(e.getYear()),i=s.getMonths(),o=0,l=i.length;o23)throw new Error("wrong hour "+r);if(s<0||s>59)throw new Error("wrong minute "+s);if(i<0||i>59)throw new Error("wrong second "+i);var p=se.fromYear(e),f=p.getMonth(t);if(null==f)throw new Error("wrong lunar year "+e+" month "+t);if(a<1)throw new Error("lunar day must bigger than 0");var m=f.getDayCount();if(a>m)throw new Error("only "+m+" days in lunar year "+e+" month "+t);var g=X.fromJulianDay(f.getFirstJulianDay()+a-1),y=X.fromYmdHms(g.getYear(),g.getMonth(),g.getDay(),r,s,i);return g.getYear()!==e&&(p=se.fromYear(g.getYear())),n(e,t,a,r,s,i,y,p)},n=function(t,a,n,r,s,i,o,l){var c=e(t,r,s,0,o,l);return{_p:{lang:we.getLanguage(),year:t,month:a,day:n,hour:r,minute:s,second:i,timeGanIndex:c.timeGanIndex,timeZhiIndex:c.timeZhiIndex,dayGanIndex:c.dayGanIndex,dayZhiIndex:c.dayZhiIndex,dayGanIndexExact:c.dayGanIndexExact,dayZhiIndexExact:c.dayZhiIndexExact,dayGanIndexExact2:c.dayGanIndexExact2,dayZhiIndexExact2:c.dayZhiIndexExact2,monthGanIndex:c.monthGanIndex,monthZhiIndex:c.monthZhiIndex,monthGanIndexExact:c.monthGanIndexExact,monthZhiIndexExact:c.monthZhiIndexExact,yearGanIndex:c.yearGanIndex,yearZhiIndex:c.yearZhiIndex,yearGanIndexByLiChun:c.yearGanIndexByLiChun,yearZhiIndexByLiChun:c.yearZhiIndexByLiChun,yearGanIndexExact:c.yearGanIndexExact,yearZhiIndexExact:c.yearZhiIndexExact,weekIndex:c.weekIndex,jieQi:c.jieQi,jieQiList:c.jieQiList,solar:o,eightChar:null},getYear:function(){return this._p.year},getMonth:function(){return this._p.month},getDay:function(){return this._p.day},getHour:function(){return this._p.hour},getMinute:function(){return this._p.minute},getSecond:function(){return this._p.second},getTimeGanIndex:function(){return this._p.timeGanIndex},getTimeZhiIndex:function(){return this._p.timeZhiIndex},getDayGanIndex:function(){return this._p.dayGanIndex},getDayGanIndexExact:function(){return this._p.dayGanIndexExact},getDayGanIndexExact2:function(){return this._p.dayGanIndexExact2},getDayZhiIndex:function(){return this._p.dayZhiIndex},getDayZhiIndexExact:function(){return this._p.dayZhiIndexExact},getDayZhiIndexExact2:function(){return this._p.dayZhiIndexExact2},getMonthGanIndex:function(){return this._p.monthGanIndex},getMonthGanIndexExact:function(){return this._p.monthGanIndexExact},getMonthZhiIndex:function(){return this._p.monthZhiIndex},getMonthZhiIndexExact:function(){return this._p.monthZhiIndexExact},getYearGanIndex:function(){return this._p.yearGanIndex},getYearGanIndexByLiChun:function(){return this._p.yearGanIndexByLiChun},getYearGanIndexExact:function(){return this._p.yearGanIndexExact},getYearZhiIndex:function(){return this._p.yearZhiIndex},getYearZhiIndexByLiChun:function(){return this._p.yearZhiIndexByLiChun},getYearZhiIndexExact:function(){return this._p.yearZhiIndexExact},getGan:function(){return this.getYearGan()},getZhi:function(){return this.getYearZhi()},getYearGan:function(){return ce.GAN[this._p.yearGanIndex+1]},getYearGanByLiChun:function(){return ce.GAN[this._p.yearGanIndexByLiChun+1]},getYearGanExact:function(){return ce.GAN[this._p.yearGanIndexExact+1]},getYearZhi:function(){return ce.ZHI[this._p.yearZhiIndex+1]},getYearZhiByLiChun:function(){return ce.ZHI[this._p.yearZhiIndexByLiChun+1]},getYearZhiExact:function(){return ce.ZHI[this._p.yearZhiIndexExact+1]},getYearInGanZhi:function(){return this.getYearGan()+this.getYearZhi()},getYearInGanZhiByLiChun:function(){return this.getYearGanByLiChun()+this.getYearZhiByLiChun()},getYearInGanZhiExact:function(){return this.getYearGanExact()+this.getYearZhiExact()},getMonthGan:function(){return ce.GAN[this._p.monthGanIndex+1]},getMonthGanExact:function(){return ce.GAN[this._p.monthGanIndexExact+1]},getMonthZhi:function(){return ce.ZHI[this._p.monthZhiIndex+1]},getMonthZhiExact:function(){return ce.ZHI[this._p.monthZhiIndexExact+1]},getMonthInGanZhi:function(){return this.getMonthGan()+this.getMonthZhi()},getMonthInGanZhiExact:function(){return this.getMonthGanExact()+this.getMonthZhiExact()},getDayGan:function(){return ce.GAN[this._p.dayGanIndex+1]},getDayGanExact:function(){return ce.GAN[this._p.dayGanIndexExact+1]},getDayGanExact2:function(){return ce.GAN[this._p.dayGanIndexExact2+1]},getDayZhi:function(){return ce.ZHI[this._p.dayZhiIndex+1]},getDayZhiExact:function(){return ce.ZHI[this._p.dayZhiIndexExact+1]},getDayZhiExact2:function(){return ce.ZHI[this._p.dayZhiIndexExact2+1]},getDayInGanZhi:function(){return this.getDayGan()+this.getDayZhi()},getDayInGanZhiExact:function(){return this.getDayGanExact()+this.getDayZhiExact()},getDayInGanZhiExact2:function(){return this.getDayGanExact2()+this.getDayZhiExact2()},getTimeGan:function(){return ce.GAN[this._p.timeGanIndex+1]},getTimeZhi:function(){return ce.ZHI[this._p.timeZhiIndex+1]},getTimeInGanZhi:function(){return this.getTimeGan()+this.getTimeZhi()},getShengxiao:function(){return this.getYearShengXiao()},getYearShengXiao:function(){return ce.SHENGXIAO[this._p.yearZhiIndex+1]},getYearShengXiaoByLiChun:function(){return ce.SHENGXIAO[this._p.yearZhiIndexByLiChun+1]},getYearShengXiaoExact:function(){return ce.SHENGXIAO[this._p.yearZhiIndexExact+1]},getMonthShengXiao:function(){return ce.SHENGXIAO[this._p.monthZhiIndex+1]},getMonthShengXiaoExact:function(){return ce.SHENGXIAO[this._p.monthZhiIndexExact+1]},getDayShengXiao:function(){return ce.SHENGXIAO[this._p.dayZhiIndex+1]},getTimeShengXiao:function(){return ce.SHENGXIAO[this._p.timeZhiIndex+1]},getYearInChinese:function(){for(var e=this._p.year+"",t="",a="0".charCodeAt(0),n=0,r=e.length;n-1?we.getMessage("bg.zhen"):[we.getMessage("jz.bingZi"),we.getMessage("jz.dingChou"),we.getMessage("jz.wuYin"),we.getMessage("jz.jiMao"),we.getMessage("jz.gengChen"),we.getMessage("jz.xinSi")].join(",").indexOf(t)>-1?we.getMessage("bg.li"):[we.getMessage("jz.wuZi"),we.getMessage("jz.jiChou"),we.getMessage("jz.gengYin"),we.getMessage("jz.xinMao"),we.getMessage("jz.renChen"),we.getMessage("jz.guiSi")].join(",").indexOf(t)>-1?we.getMessage("ps.center"):[we.getMessage("jz.gengZi"),we.getMessage("jz.xinChou"),we.getMessage("jz.renYin"),we.getMessage("jz.guiMao"),we.getMessage("jz.jiaChen"),we.getMessage("jz.yiSi")].join(",").indexOf(t)>-1?we.getMessage("bg.dui"):[we.getMessage("jz.renZi"),we.getMessage("jz.guiChou"),we.getMessage("jz.jiaYin"),we.getMessage("jz.yiMao"),we.getMessage("jz.bingChen"),we.getMessage("jz.dingSi")].join(",").indexOf(t)>-1?we.getMessage("bg.kan"):ce.POSITION_TAI_SUI_YEAR[a]},getDayPositionTaiSuiDesc:function(e){return ce.POSITION_DESC[this.getDayPositionTaiSui(e)]},getMonthPositionTaiSui:function(e){var t,a;3===e?(t=this._p.monthZhiIndexExact,a=this._p.monthGanIndexExact):(t=this._p.monthZhiIndex,a=this._p.monthGanIndex);var n=t-ce.BASE_MONTH_ZHI_INDEX;return n<0&&(n+=12),[we.getMessage("bg.gen"),ce.POSITION_GAN[a],we.getMessage("bg.kun"),we.getMessage("bg.xun")][n%4]},getMonthPositionTaiSuiDesc:function(e){return ce.POSITION_DESC[this.getMonthPositionTaiSui(e)]},getYearPositionTaiSui:function(e){var t;switch(e){case 1:t=this._p.yearZhiIndex;break;case 3:t=this._p.yearZhiIndexExact;break;default:t=this._p.yearZhiIndexByLiChun}return ce.POSITION_TAI_SUI_YEAR[t]},getYearPositionTaiSuiDesc:function(e){return ce.POSITION_DESC[this.getYearPositionTaiSui(e)]},_checkLang:function(){var e=we.getLanguage();if(this._p.lang!==e){for(var t=0,a=ce.JIE_QI_IN_USE.length;t=29&&this._p.year!==this.next(1).getYear()&&e.push(we.getMessage("jr.chuXi")),e},getOtherFestivals:function(){var e=[],t=ce.OTHER_FESTIVAL[this._p.month+"-"+this._p.day];t&&(e=e.concat(t));var a=this._p.solar.toYmd();this._p.solar.toYmd()===this._getJieQiSolar(we.getMessage("jq.qingMing")).next(-1).toYmd()&&e.push("寒食节");var n=this._getJieQiSolar(we.getMessage("jq.liChun")),r=4-n.getLunar().getDayGanIndex();return r<0&&(r+=10),a===n.next(r+40).toYmd()&&e.push("春社"),(r=4-(n=this._getJieQiSolar(we.getMessage("jq.liQiu"))).getLunar().getDayGanIndex())<0&&(r+=10),a===n.next(r+40).toYmd()&&e.push("秋社"),e},getBaZi:function(){var e=this.getEightChar(),t=[];return t.push(e.getYear()),t.push(e.getMonth()),t.push(e.getDay()),t.push(e.getTime()),t},getBaZiWuXing:function(){var e=this.getEightChar(),t=[];return t.push(e.getYearWuXing()),t.push(e.getMonthWuXing()),t.push(e.getDayWuXing()),t.push(e.getTimeWuXing()),t},getBaZiNaYin:function(){var e=this.getEightChar(),t=[];return t.push(e.getYearNaYin()),t.push(e.getMonthNaYin()),t.push(e.getDayNaYin()),t.push(e.getTimeNaYin()),t},getBaZiShiShenGan:function(){var e=this.getEightChar(),t=[];return t.push(e.getYearShiShenGan()),t.push(e.getMonthShiShenGan()),t.push(e.getDayShiShenGan()),t.push(e.getTimeShiShenGan()),t},getBaZiShiShenZhi:function(){var e=this.getEightChar(),t=[];return t.push(e.getYearShiShenZhi()[0]),t.push(e.getMonthShiShenZhi()[0]),t.push(e.getDayShiShenZhi()[0]),t.push(e.getTimeShiShenZhi()[0]),t},getBaZiShiShenYearZhi:function(){return this.getEightChar().getYearShiShenZhi()},getBaZiShiShenMonthZhi:function(){return this.getEightChar().getMonthShiShenZhi()},getBaZiShiShenDayZhi:function(){return this.getEightChar().getDayShiShenZhi()},getBaZiShiShenTimeZhi:function(){return this.getEightChar().getTimeShiShenZhi()},getZhiXing:function(){var e=this._p.dayZhiIndex-this._p.monthZhiIndex;return e<0&&(e+=12),ce.ZHI_XING[e+1]},getDayTianShen:function(){var e=this.getMonthZhi(),t=ce.ZHI_TIAN_SHEN_OFFSET[e];return ce.TIAN_SHEN[(this._p.dayZhiIndex+t)%12+1]},getTimeTianShen:function(){var e=this.getDayZhiExact(),t=ce.ZHI_TIAN_SHEN_OFFSET[e];return ce.TIAN_SHEN[(this._p.timeZhiIndex+t)%12+1]},getDayTianShenType:function(){return ce.TIAN_SHEN_TYPE[this.getDayTianShen()]},getTimeTianShenType:function(){return ce.TIAN_SHEN_TYPE[this.getTimeTianShen()]},getDayTianShenLuck:function(){return ce.TIAN_SHEN_TYPE_LUCK[this.getDayTianShenType()]},getTimeTianShenLuck:function(){return ce.TIAN_SHEN_TYPE_LUCK[this.getTimeTianShenType()]},getDayPositionTai:function(){return ce.POSITION_TAI_DAY[ce.getJiaZiIndex(this.getDayInGanZhi())]},getMonthPositionTai:function(){var e=this._p.month;return e<0?"":ce.POSITION_TAI_MONTH[e-1]},getDayYi:function(e){return e*=1,isNaN(e)&&(e=1),ce.getDayYi(2===e?this.getMonthInGanZhiExact():this.getMonthInGanZhi(),this.getDayInGanZhi())},getDayJi:function(e){return e*=1,isNaN(e)&&(e=1),ce.getDayJi(2===e?this.getMonthInGanZhiExact():this.getMonthInGanZhi(),this.getDayInGanZhi())},getDayJiShen:function(){return ce.getDayJiShen(this.getMonthZhiIndex(),this.getDayInGanZhi())},getDayXiongSha:function(){return ce.getDayXiongSha(this.getMonthZhiIndex(),this.getDayInGanZhi())},getTimeYi:function(){return ce.getTimeYi(this.getDayInGanZhiExact(),this.getTimeInGanZhi())},getTimeJi:function(){return ce.getTimeJi(this.getDayInGanZhiExact(),this.getTimeInGanZhi())},getYueXiang:function(){return ce.YUE_XIANG[this._p.day]},_getYearNineStar:function(e){var t=ce.getJiaZiIndex(e)+1,a=t-(ce.getJiaZiIndex(this.getYearInGanZhi())+1);a>1?a-=60:a<-1&&(a+=60);var n=(62+Math.floor((this._p.year+a+2696)/60)%3*3-t)%9;return 0===n&&(n=9),de.fromIndex(n-1)},getYearNineStar:function(e){var t;switch(e){case 1:t=this.getYearInGanZhi();break;case 3:t=this.getYearInGanZhiExact();break;default:t=this.getYearInGanZhiByLiChun()}return this._getYearNineStar(t)},getMonthNineStar:function(e){var t,a;switch(e){case 1:t=this._p.yearZhiIndex,a=this._p.monthZhiIndex;break;case 3:t=this._p.yearZhiIndexExact,a=this._p.monthZhiIndexExact;break;default:t=this._p.yearZhiIndexByLiChun,a=this._p.monthZhiIndex}var n=27-t%3*3;return a29?r.next(60-o):r.next(-o)).toYmd(),d=(t=l>29?s.next(60-l):s.next(-l)).toYmd(),h=(a=c>29?i.next(60-c):i.next(-c)).toYmd(),p=0;return n>=u&&n=h&&n=d?p=this._p.solar.subtract(t)%9:n=this._getJieQiSolar(we.getMessage("jq.dongZhi")).toYmd()&&e=this._getJieQiSolar("DONG_ZHI").toYmd())&&(t=!0);var a=(t?[0,3,6]:[8,5,2])[this.getDayZhiIndex()%3],n=this.getTimeZhiIndex(),r=t?a+n:a+9-n;return de.fromIndex(r%9)},getSolar:function(){return this._p.solar},getJieQiTable:function(){return this._checkLang(),this._p.jieQi},getJieQiList:function(){return this._p.jieQiList},getNextJie:function(e){for(var t=[],a=0,n=ce.JIE_QI_IN_USE.length/2;ac)continue;(null==r||p>r[a?"toYmd":"toYmdHms"]())&&(n=d,r=h)}}}return null==r?null:this._buildJieQi(n,r)},getCurrentJieQi:function(){for(var e in this._p.jieQi){var t=this._getJieQiSolar(e);if(t.getYear()===this._p.solar.getYear()&&t.getMonth()===this._p.solar.getMonth()&&t.getDay()===this._p.solar.getDay())return this._buildJieQi(this._convertJieQi(e),t)}return null},getCurrentJie:function(){for(var e=0,t=ce.JIE_QI_IN_USE.length;e0&&(e+=" ["+r+"]"),e+=" "+this.getGong()+"方"+this.getShou(),e+=" 星宿["+this.getXiu()+this.getZheng()+this.getAnimal()+"]("+this.getXiuLuck()+")",e+=" 彭祖百忌["+this.getPengZuGan()+" "+this.getPengZuZhi()+"]",e+=" 喜神方位["+this.getDayPositionXi()+"]("+this.getDayPositionXiDesc()+")",e+=" 阳贵神方位["+this.getDayPositionYangGui()+"]("+this.getDayPositionYangGuiDesc()+")",e+=" 阴贵神方位["+this.getDayPositionYinGui()+"]("+this.getDayPositionYinGuiDesc()+")",e+=" 福神方位["+this.getDayPositionFu()+"]("+this.getDayPositionFuDesc()+")",e+=" 财神方位["+this.getDayPositionCai()+"]("+this.getDayPositionCaiDesc()+")",e+=" 冲["+this.getDayChongDesc()+"]",e+=" 煞["+this.getDaySha()+"]"},_buildNameAndIndex:function(e,t){return{_p:{name:e,index:t},getName:function(){return this._p.name},setName:function(e){this._p.name=e},getIndex:function(){return this._p.index},setIndex:function(e){this._p.index=e},toString:function(){return this.getName()},toFullString:function(){return this.getName()+"第"+this.getIndex()+"天"}}},getShuJiu:function(){var e=X.fromYmd(this._p.solar.getYear(),this._p.solar.getMonth(),this._p.solar.getDay()),t=this._getJieQiSolar("DONG_ZHI"),a=X.fromYmd(t.getYear(),t.getMonth(),t.getDay());e.isBefore(a)&&(t=this._getJieQiSolar(we.getMessage("jq.dongZhi")),a=X.fromYmd(t.getYear(),t.getMonth(),t.getDay()));var n=X.fromYmd(t.getYear(),t.getMonth(),t.getDay()).next(81);if(e.isBefore(a)||!e.isBefore(n))return null;var r=e.subtract(a);return this._buildNameAndIndex(ce.NUMBER[Math.floor(r/9)+1]+"九",r%9+1)},getFu:function(){var e=X.fromYmd(this._p.solar.getYear(),this._p.solar.getMonth(),this._p.solar.getDay()),t=this._getJieQiSolar(we.getMessage("jq.xiaZhi")),a=this._getJieQiSolar(we.getMessage("jq.liQiu")),n=X.fromYmd(t.getYear(),t.getMonth(),t.getDay()),r=6-t.getLunar().getDayGanIndex();if(r<0&&(r+=10),r+=20,n=n.next(r),e.isBefore(n))return null;var s=e.subtract(n);if(s<10)return this._buildNameAndIndex("初伏",s+1);if(n=n.next(10),(s=e.subtract(n))<10)return this._buildNameAndIndex("中伏",s+1);n=n.next(10);var i=X.fromYmd(a.getYear(),a.getMonth(),a.getDay());if(s=e.subtract(n),i.isAfter(n)){if(s<10)return this._buildNameAndIndex("中伏",s+11);n=n.next(10),s=e.subtract(n)}return s<10?this._buildNameAndIndex("末伏",s+1):null},getLiuYao:function(){return ce.LIU_YAO[(Math.abs(this._p.month)+this._p.day-2)%6]},getWuHou:function(){var e=this.getPrevJieQi(!0),t=ce.find(e.getName(),ce.JIE_QI),a=X.fromYmd(this._p.solar.getYear(),this._p.solar.getMonth(),this._p.solar.getDay()),n=e.getSolar(),r=X.fromYmd(n.getYear(),n.getMonth(),n.getDay()),s=Math.floor(a.subtract(r)/5);return s>2&&(s=2),ce.WU_HOU[(3*t.index+s)%ce.WU_HOU.length]},getHou:function(){var e=this.getPrevJieQi(!0),t=this._p.solar.subtract(e.getSolar()),a=ce.HOU.length-1,n=Math.floor(t/5);return n>a&&(n=a),e.getName()+" "+ce.HOU[n]},getDayLu:function(){var e=ce.LU[this.getDayGan()],t=ce.LU[this.getDayZhi()],a=e+"命互禄";return t&&(a+=" "+t+"命进禄"),a},getTime:function(){return pe.fromYmdHms(this._p.year,this._p.month,this._p.day,this._p.hour,this._p.minute,this._p.second)},getTimes:function(){var e=[];e.push(pe.fromYmdHms(this._p.year,this._p.month,this._p.day,0,0,0));for(var t=0;t<12;t++)e.push(pe.fromYmdHms(this._p.year,this._p.month,this._p.day,2*(t+1)-1,0,0));return e},getFoto:function(){return me.fromLunar(this)},getTao:function(){return be.fromLunar(this)}}};return{fromYmdHms:function(e,t,n,r,s,i){return a(e,t,n,r,s,i)},fromYmd:function(e,t,n){return a(e,t,n,0,0,0)},fromSolar:function(e){return t(e)},fromDate:function(e){return function(e){return t(X.fromDate(e))}(e)}}}(),ee=function(){var e=function(t,a,n,r){var s=t,i=a,o=n;if(t*=1,isNaN(t))throw new Error("wrong solar year "+s);if(a*=1,isNaN(a))throw new Error("wrong solar month "+i);if(n*=1,isNaN(n))throw new Error("wrong solar day "+o);return r*=1,isNaN(r)&&(r=0),{_p:{year:t,month:a,day:n,start:r},getYear:function(){return this._p.year},getMonth:function(){return this._p.month},getDay:function(){return this._p.day},getStart:function(){return this._p.start},getIndex:function(){var e=X.fromYmd(this._p.year,this._p.month,1).getWeek()-this._p.start;return e<0&&(e+=7),Math.ceil((this._p.day+e)/7)},getIndexInYear:function(){var e=X.fromYmd(this._p.year,1,1).getWeek()-this._p.start;return e<0&&(e+=7),Math.ceil((le.getDaysInYear(this._p.year,this._p.month,this._p.day)+e)/7)},next:function(t,a){var n=t;if(t*=1,isNaN(t))throw new Error("wrong weeks "+n);var r=this._p.start;if(0===t)return e(this._p.year,this._p.month,this._p.day,r);var s=X.fromYmd(this._p.year,this._p.month,this._p.day);if(a){for(var i=t,o=e(this._p.year,this._p.month,this._p.day,r),l=this._p.month,c=i>0;0!==i;){s=s.next(c?7:-7);var u=(o=e(s.getYear(),s.getMonth(),s.getDay(),r)).getMonth();if(l!==u){var d=o.getIndex();if(c)if(1===d){var h=o.getFirstDay();u=(o=e(h.getYear(),h.getMonth(),h.getDay(),r)).getMonth()}else s=X.fromYmd(o.getYear(),o.getMonth(),1),o=e(s.getYear(),s.getMonth(),s.getDay(),r);else if(le.getWeeksOfMonth(o.getYear(),o.getMonth(),r)===d){var p=o.getFirstDay().next(6);u=(o=e(p.getYear(),p.getMonth(),p.getDay(),r)).getMonth()}else s=X.fromYmd(o.getYear(),o.getMonth(),le.getDaysOfMonth(o.getYear(),o.getMonth())),o=e(s.getYear(),s.getMonth(),s.getDay(),r);l=u}i-=c?1:-1}return o}return s=s.next(7*t),e(s.getYear(),s.getMonth(),s.getDay(),r)},getFirstDay:function(){var e=X.fromYmd(this._p.year,this._p.month,this._p.day),t=e.getWeek()-this._p.start;return t<0&&(t+=7),e.next(-t)},getFirstDayInMonth:function(){for(var e=0,t=this.getDays(),a=0;a12?(r-=12,s++):r<1&&(r+=12,s--),e(s,r)},getDays:function(){var e=[],t=X.fromYmd(this._p.year,this._p.month,1);e.push(t);for(var a=le.getDaysOfMonth(this._p.year,this._p.month),n=1;nthis._p.year||n.getMonth()>this._p.month)break}return t},toString:function(){return this.getYear()+"-"+this.getMonth()},toFullString:function(){return this.getYear()+"年"+this.getMonth()+"月"}}};return{fromYm:function(t,a){return e(t,a)},fromDate:function(t){return function(t){var a=X.fromDate(t);return e(a.getYear(),a.getMonth())}(t)}}}(),ae=function(){var e=function(t,a){var n=t,r=a;if(t*=1,isNaN(t))throw new Error("wrong solar year "+n);if(a*=1,isNaN(a))throw new Error("wrong solar month "+r);return{_p:{year:t,month:a},getYear:function(){return this._p.year},getMonth:function(){return this._p.month},getIndex:function(){return Math.ceil(this._p.month/3)},next:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong seasons "+a);var n=te.fromYm(this._p.year,this._p.month).next(3*t);return e(n.getYear(),n.getMonth())},getMonths:function(){for(var e=[],t=this.getIndex()-1,a=0;a<3;a++)e.push(te.fromYm(this._p.year,3*t+a+1));return e},toString:function(){return this.getYear()+"."+this.getIndex()},toFullString:function(){return this.getYear()+"年"+this.getIndex()+"季度"}}};return{fromYm:function(t,a){return e(t,a)},fromDate:function(t){return function(t){var a=X.fromDate(t);return e(a.getYear(),a.getMonth())}(t)}}}(),ne=function(){var e=function(t,a){var n=t,r=a;if(t*=1,isNaN(t))throw new Error("wrong solar year "+n);if(a*=1,isNaN(a))throw new Error("wrong solar month "+r);return{_p:{year:t,month:a},getYear:function(){return this._p.year},getMonth:function(){return this._p.month},getIndex:function(){return Math.ceil(this._p.month/6)},next:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wong halfYears "+a);var n=te.fromYm(this._p.year,this._p.month).next(6*t);return e(n.getYear(),n.getMonth())},getMonths:function(){for(var e=[],t=this.getIndex()-1,a=0;a<6;a++)e.push(te.fromYm(this._p.year,6*t+a+1));return e},toString:function(){return this.getYear()+"."+this.getIndex()},toFullString:function(){return this.getYear()+"年"+["上","下"][this.getIndex()-1]+"半年"}}};return{fromYm:function(t,a){return e(t,a)},fromDate:function(t){return function(t){var a=X.fromDate(t);return e(a.getYear(),a.getMonth())}(t)}}}(),re=function(){var e=function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong solar year "+a);return{_p:{year:t},getYear:function(){return this._p.year},next:function(t){var a=t;if(t*=1,isNaN(t))throw new Error("wrong years "+a);return e(this._p.year+t)},getMonths:function(){var e=[],t=te.fromYm(this._p.year,1);e.push(t);for(var a=1;a<12;a++)e.push(t.next(a));return e},toString:function(){return this.getYear()+""},toFullString:function(){return this.getYear()+"年"}}};return{fromYear:function(t){return e(t)},fromDate:function(t){return function(t){return e(X.fromDate(t).getYear())}(t)}}}(),se=function(){var e=["下","上","中"],t=["七","八","九","一","二","三","四","五","六"],a=[75,94,170,265,322,398,469,553,583,610,678,735,754,773,849,887,936,1050,1069,1126,1145,1164,1183,1259,1278,1308,1373,1403,1441,1460,1498,1555,1593,1612,1631,1642,2033,2128,2147,2242,2614,2728,2910,3062,3244,3339,3616,3711,3730,3825,4007,4159,4197,4322,4341,4379,4417,4531,4599,4694,4713,4789,4808,4971,5085,5104,5161,5180,5199,5294,5305,5476,5677,5696,5772,5791,5848,5886,6049,6068,6144,6163,6258,6402,6440,6497,6516,6630,6641,6660,6679,6736,6774,6850,6869,6899,6918,6994,7013,7032,7051,7070,7089,7108,7127,7146,7222,7271,7290,7309,7366,7385,7404,7442,7461,7480,7491,7499,7594,7624,7643,7662,7681,7719,7738,7814,7863,7882,7901,7939,7958,7977,7996,8034,8053,8072,8091,8121,8159,8186,8216,8235,8254,8273,8311,8330,8341,8349,8368,8444,8463,8474,8493,8531,8569,8588,8626,8664,8683,8694,8702,8713,8721,8751,8789,8808,8816,8827,8846,8884,8903,8922,8941,8971,9036,9066,9085,9104,9123,9142,9161,9180,9199,9218,9256,9294,9313,9324,9343,9362,9381,9419,9438,9476,9514,9533,9544,9552,9563,9571,9582,9601,9639,9658,9666,9677,9696,9734,9753,9772,9791,9802,9821,9886,9897,9916,9935,9954,9973,9992],n=[37,56,113,132,151,189,208,227,246,284,303,341,360,379,417,436,458,477,496,515,534,572,591,629,648,667,697,716,792,811,830,868,906,925,944,963,982,1001,1020,1039,1058,1088,1153,1202,1221,1240,1297,1335,1392,1411,1422,1430,1517,1525,1536,1574,3358,3472,3806,3988,4751,4941,5066,5123,5275,5343,5438,5457,5495,5533,5552,5715,5810,5829,5905,5924,6421,6535,6793,6812,6888,6907,7002,7184,7260,7279,7374,7556,7746,7757,7776,7833,7852,7871,7966,8015,8110,8129,8148,8224,8243,8338,8406,8425,8482,8501,8520,8558,8596,8607,8615,8645,8740,8778,8835,8865,8930,8960,8979,8998,9017,9055,9074,9093,9112,9150,9188,9237,9275,9332,9351,9370,9408,9427,9446,9457,9465,9495,9560,9590,9628,9647,9685,9715,9742,9780,9810,9818,9829,9848,9867,9905,9924,9943,9962,1e4],r=null,s=[11,12,1,2,3,4,5,6,7,8,9,10],i=function(e,t){for(var a=0,n=e.length;ad&&(h-=365.2422),e=0;e<26;e++)r.push(oe.calcQi(h+15.2184*e));for(e=0,t=ce.JIE_QI_IN_USE.length;er[0]&&(h-=29.53),e=0;e<16;e++)o.push(oe.calcShuo(h+29.5306*e));for(e=0;e<15;e++)l.push(Math.floor(o[e+1]-o[e])),c.push(e);var p=u-1,f=16;if(i(a,u))f=13;else if(i(n,u))f=14;else if(o[13]<=r[24]){for(e=1;o[e+1]>r[2*e]&&e<13;)e++;f=e}for(t=f;t<15;t++)c[t]-=1;var m=-1,g=-1,y=p;for(e=0;e<15;e++){var v=o[e]+X.J2000,b=c[e],w=s[b%12];1724360<=v&&v<1729794||1807724<=v&&v<1808699?w=s[(b+1)%12]:1729794!==v&&1808699!==v||(w=12),-1===m&&(m=w,g=w),w0){for(;;){for(r=u.length,a=0;an&&(r=n)),s=0;for(var d=a;d0&&(o+=1.43*h-.866+.054*h*h),l/=1e4,c/=1e8,u/=1e8,(t*=6)<0&&(t=s);for(var p=0,f=r.length;p0&&(y+=6),y>=g&&(y=g),a=0,n=0;a=n)return e>n+100?this.dtExt(e,31):this.dtExt(e,31)-(this.dtExt(n,31)-r)*(n+100-e)/100;for(t=0;tthis.SECOND_PER_DAY-1200)&&(t=36525*this.saLonT(e)-this.dtT(t)+this.ONE_THIRD),t},shuoHigh:function(e){var t=36525*this.msaLonT2(e),a=((t=t-this.dtT(t)+this.ONE_THIRD)+.5)%1*this.SECOND_PER_DAY;return(a<1800||a>this.SECOND_PER_DAY-1800)&&(t=36525*this.msaLonT(e)-this.dtT(t)+this.ONE_THIRD),t},qiLow:function(e){var t=628.3319653318,a=(e-4.895062166)/t;return a-=(53*a*a+334116*Math.cos(4.67+628.307585*a)+2061*Math.cos(2.678+628.3076*a)*a)/t/1e7,36525*(a-=((48950621.66+6283319653.318*a+53*a*a+334166*Math.cos(4.669257+628.307585*a)+3489*Math.cos(4.6261+1256.61517*a)+2060.6*Math.cos(2.67823+628.307585*a)*a-994-834*Math.sin(2.1824-33.75705*a))/1e7-e)/628.332+(32*(a+1.8)*(a+1.8)-20)/this.SECOND_PER_DAY/36525)+this.ONE_THIRD},shuoLow:function(e){var t=7771.37714500204,a=(e+1.08472)/t;return 36525*(a-=(-331e-7*a*a+.10976*Math.cos(.785+8328.6914*a)+.02224*Math.cos(.187+7214.0629*a)-.03342*Math.cos(4.669+628.3076*a))/t+(32*(a+1.8)*(a+1.8)-20)/this.SECOND_PER_DAY/36525)+this.ONE_THIRD},calcShuo:function(e){var t,a=this.SHUO_KB.length,n=0,r=14;e+=X.J2000;var s=this.SHUO_KB[0]-r,i=this.SHUO_KB[a-1]-r,o=2436935;if(e=o)n=Math.floor(this.shuoHigh(Math.floor((e+r-2451551)/29.5306)*Math.PI*2)+.5);else if(e>=s&&e=i&&e=i)n=Math.floor(this.qiHigh(Math.floor((e+7-2451259)/365.2422*24)*Math.PI/12)+.5);else if(e>=r&&e=s&&e5?this.qiAccurate(a-t):n-e<-5?this.qiAccurate(a+t):n}}),le=function(){return{WEEK:["{w.sun}","{w.mon}","{w.tues}","{w.wed}","{w.thur}","{w.fri}","{w.sat}"],DAYS_OF_MONTH:[31,28,31,30,31,30,31,31,30,31,30,31],XINGZUO:["{xz.aries}","{xz.taurus}","{xz.gemini}","{xz.cancer}","{xz.leo}","{xz.virgo}","{xz.libra}","{xz.scorpio}","{xz.sagittarius}","{xz.capricornus}","{xz.aquarius}","{xz.pisces}"],FESTIVAL:{"1-1":"{jr.yuanDan}","2-14":"{jr.qingRen}","3-8":"{jr.fuNv}","3-12":"{jr.zhiShu}","3-15":"{jr.xiaoFei}","4-1":"{jr.yuRen}","5-1":"{jr.wuYi}","5-4":"{jr.qingNian}","6-1":"{jr.erTong}","7-1":"{jr.jianDang}","8-1":"{jr.jianJun}","9-10":"{jr.jiaoShi}","10-1":"{jr.guoQing}","10-31":"{jr.wanShengYe}","11-1":"{jr.wanSheng}","12-24":"{jr.pingAn}","12-25":"{jr.shengDan}"},OTHER_FESTIVAL:{"1-8":["周恩来逝世纪念日"],"1-10":["中国人民警察节"],"1-14":["日记情人节"],"1-21":["列宁逝世纪念日"],"1-26":["国际海关日"],"1-27":["国际大屠杀纪念日"],"2-2":["世界湿地日"],"2-4":["世界抗癌日"],"2-7":["京汉铁路罢工纪念日"],"2-10":["国际气象节"],"2-19":["邓小平逝世纪念日"],"2-20":["世界社会公正日"],"2-21":["国际母语日"],"2-24":["第三世界青年日"],"3-1":["国际海豹日"],"3-3":["世界野生动植物日","全国爱耳日"],"3-5":["周恩来诞辰纪念日","中国青年志愿者服务日"],"3-6":["世界青光眼日"],"3-7":["女生节"],"3-12":["孙中山逝世纪念日"],"3-14":["马克思逝世纪念日","白色情人节"],"3-17":["国际航海日"],"3-18":["全国科技人才活动日","全国爱肝日"],"3-20":["国际幸福日"],"3-21":["世界森林日","世界睡眠日","国际消除种族歧视日"],"3-22":["世界水日"],"3-23":["世界气象日"],"3-24":["世界防治结核病日"],"3-29":["中国黄花岗七十二烈士殉难纪念日"],"4-2":["国际儿童图书日","世界自闭症日"],"4-4":["国际地雷行动日"],"4-7":["世界卫生日"],"4-8":["国际珍稀动物保护日"],"4-12":["世界航天日"],"4-14":["黑色情人节"],"4-15":["全民国家安全教育日"],"4-22":["世界地球日","列宁诞辰纪念日"],"4-23":["世界读书日"],"4-24":["中国航天日"],"4-25":["儿童预防接种宣传日"],"4-26":["世界知识产权日","全国疟疾日"],"4-28":["世界安全生产与健康日"],"4-30":["全国交通安全反思日"],"5-2":["世界金枪鱼日"],"5-3":["世界新闻自由日"],"5-5":["马克思诞辰纪念日"],"5-8":["世界红十字日"],"5-11":["世界肥胖日"],"5-12":["全国防灾减灾日","护士节"],"5-14":["玫瑰情人节"],"5-15":["国际家庭日"],"5-19":["中国旅游日"],"5-20":["网络情人节"],"5-22":["国际生物多样性日"],"5-25":["525心理健康节"],"5-27":["上海解放日"],"5-29":["国际维和人员日"],"5-30":["中国五卅运动纪念日"],"5-31":["世界无烟日"],"6-3":["世界自行车日"],"6-5":["世界环境日"],"6-6":["全国爱眼日"],"6-8":["世界海洋日"],"6-11":["中国人口日"],"6-14":["世界献血日","亲亲情人节"],"6-17":["世界防治荒漠化与干旱日"],"6-20":["世界难民日"],"6-21":["国际瑜伽日"],"6-25":["全国土地日"],"6-26":["国际禁毒日","联合国宪章日"],"7-1":["香港回归纪念日"],"7-6":["国际接吻日","朱德逝世纪念日"],"7-7":["七七事变纪念日"],"7-11":["世界人口日","中国航海日"],"7-14":["银色情人节"],"7-18":["曼德拉国际日"],"7-30":["国际友谊日"],"8-3":["男人节"],"8-5":["恩格斯逝世纪念日"],"8-6":["国际电影节"],"8-8":["全民健身日"],"8-9":["国际土著人日"],"8-12":["国际青年节"],"8-14":["绿色情人节"],"8-19":["世界人道主义日","中国医师节"],"8-22":["邓小平诞辰纪念日"],"8-29":["全国测绘法宣传日"],"9-3":["中国抗日战争胜利纪念日"],"9-5":["中华慈善日"],"9-8":["世界扫盲日"],"9-9":["毛泽东逝世纪念日","全国拒绝酒驾日"],"9-14":["世界清洁地球日","相片情人节"],"9-15":["国际民主日"],"9-16":["国际臭氧层保护日"],"9-17":["世界骑行日"],"9-18":["九一八事变纪念日"],"9-20":["全国爱牙日"],"9-21":["国际和平日"],"9-27":["世界旅游日"],"9-30":["中国烈士纪念日"],"10-1":["国际老年人日"],"10-2":["国际非暴力日"],"10-4":["世界动物日"],"10-11":["国际女童日"],"10-10":["辛亥革命纪念日"],"10-13":["国际减轻自然灾害日","中国少年先锋队诞辰日"],"10-14":["葡萄酒情人节"],"10-16":["世界粮食日"],"10-17":["全国扶贫日"],"10-20":["世界统计日"],"10-24":["世界发展信息日","程序员节"],"10-25":["抗美援朝纪念日"],"11-5":["世界海啸日"],"11-8":["记者节"],"11-9":["全国消防日"],"11-11":["光棍节"],"11-12":["孙中山诞辰纪念日"],"11-14":["电影情人节"],"11-16":["国际宽容日"],"11-17":["国际大学生节"],"11-19":["世界厕所日"],"11-28":["恩格斯诞辰纪念日"],"11-29":["国际声援巴勒斯坦人民日"],"12-1":["世界艾滋病日"],"12-2":["全国交通安全日"],"12-3":["世界残疾人日"],"12-4":["全国法制宣传日"],"12-5":["世界弱能人士日","国际志愿人员日"],"12-7":["国际民航日"],"12-9":["世界足球日","国际反腐败日"],"12-10":["世界人权日"],"12-11":["国际山岳日"],"12-12":["西安事变纪念日"],"12-13":["国家公祭日"],"12-14":["拥抱情人节"],"12-18":["国际移徙者日"],"12-26":["毛泽东诞辰纪念日"]},WEEK_FESTIVAL:{"3-0-1":"全国中小学生安全教育日","5-2-0":"母亲节","5-3-0":"全国助残日","6-3-0":"父亲节","9-3-6":"全民国防教育日","10-1-1":"世界住房日","11-4-4":"感恩节"},isLeapYear:function(e){return e<1600?e%4==0:e%4==0&&e%100!=0||e%400==0},getDaysOfMonth:function(e,t){var a=e,n=t;if(e*=1,isNaN(e))throw new Error("wrong solar year "+a);if(t*=1,isNaN(t))throw new Error("wrong solar month "+n);if(1582===e&&10===t)return 21;var r=t-1,s=this.DAYS_OF_MONTH[r];return 1===r&&this.isLeapYear(e)&&s++,s},getDaysOfYear:function(e){var t=e;if(e*=1,isNaN(e))throw new Error("wrong solar year "+t);return 1582===e?355:this.isLeapYear(e)?366:365},getDaysInYear:function(e,t,a){var n=e,r=t,s=a;if(e*=1,isNaN(e))throw new Error("wrong solar year "+n);if(t*=1,isNaN(t))throw new Error("wrong solar month "+r);if(a*=1,isNaN(a))throw new Error("wrong solar day "+s);for(var i=0,o=1;o=15)l-=10;else if(a>4)throw new Error("wrong solar year "+e+" month "+t+" day "+a);return i+=l},getDaysBetween:function(e,t,a,n,r,s){var i,o,l,c=e,u=t,d=a,h=n,p=r,f=s;if(e*=1,isNaN(e))throw new Error("wrong solar year "+c);if(t*=1,isNaN(t))throw new Error("wrong solar month "+u);if(a*=1,isNaN(a))throw new Error("wrong solar day "+d);if(n*=1,isNaN(n))throw new Error("wrong solar year "+h);if(r*=1,isNaN(r))throw new Error("wrong solar month "+p);if(s*=1,isNaN(s))throw new Error("wrong solar day "+f);if(e===n)i=this.getDaysInYear(n,r,s)-this.getDaysInYear(e,t,a);else if(e>n){for(o=this.getDaysOfYear(n)-this.getDaysInYear(n,r,s),l=n+1;l5&&(e=e.substring(0,5));for(var t=1,a=1;a<22;a+=2){if(e>=(a<10?"0":"")+a+":00"&&e<=(a+1<10?"0":"")+(a+1)+":59")return t;t++}return 0},convertTime:function(e){return this.ZHI[this.getTimeZhiIndex(e)+1]},getJiaZiIndex:function(e){return this.index(e,this.JIA_ZI,0)},hex:function(e){var t=e.toString(16);return t.length<2&&(t="0"+t),t.toUpperCase()},getDayYi:function(e,t){for(var a=[],n=this.hex(this.getJiaZiIndex(t)),r=this.hex(this.getJiaZiIndex(e)),s=this.DAY_YI_JI,i=s.indexOf(n+"=");i>-1;){var o=s=s.substring(i+3);o.indexOf("=")>-1&&(o=o.substring(0,o.indexOf("=")-2));var l,c,u=!1,d=o.substring(0,o.indexOf(":"));for(l=0,c=d.length;l-1;){var o=s=s.substring(i+3);o.indexOf("=")>-1&&(o=o.substring(0,o.indexOf("=")-2));var l,c,u=!1,d=o.substring(0,o.indexOf(":"));for(l=0,c=d.length;l=60&&a.push(this.SHEN_SHA[c+1])}return a.length<1&&a.push(this.SHEN_SHA[0]),a},getTimeYi:function(e,t){var a=[],n=this.hex(this.getJiaZiIndex(e)),r=this.hex(this.getJiaZiIndex(t)),s=this.TIME_YI_JI.indexOf(n+r+"=");if(s>-1){var i=this.TIME_YI_JI.substring(s+5);i.indexOf("=")>-1&&(i=i.substring(0,i.indexOf("=")-4));for(var o=i.substring(0,i.indexOf(",")),l=0,c=o.length;l-1){var i=this.TIME_YI_JI.substring(s+5);i.indexOf("=")>-1&&(i=i.substring(0,i.indexOf("=")-4));for(var o=i.substring(i.indexOf(",")+1),l=0,c=o.length;l-1)return{index:a,value:r}}return null}}}(),ue=(t=["元旦节","春节","清明节","劳动节","端午节","中秋节","国庆节","国庆中秋","抗战胜利日"],a=18,n="0".charCodeAt(0),r=t,s="200112290020020101200112300020020101200201010120020101200201020120020101200201030120020101200202091020020212200202101020020212200202121120020212200202131120020212200202141120020212200202151120020212200202161120020212200202171120020212200202181120020212200204273020020501200204283020020501200205013120020501200205023120020501200205033120020501200205043120020501200205053120020501200205063120020501200205073120020501200209286020021001200209296020021001200210016120021001200210026120021001200210036120021001200210046120021001200210056120021001200210066120021001200210076120021001200301010120030101200302011120030201200302021120030201200302031120030201200302041120030201200302051120030201200302061120030201200302071120030201200302081020030201200302091020030201200304263020030501200304273020030501200305013120030501200305023120030501200305033120030501200305043120030501200305053120030501200305063120030501200305073120030501200309276020031001200309286020031001200310016120031001200310026120031001200310036120031001200310046120031001200310056120031001200310066120031001200310076120031001200401010120040101200401171020040122200401181020040122200401221120040122200401231120040122200401241120040122200401251120040122200401261120040122200401271120040122200401281120040122200405013120040501200405023120040501200405033120040501200405043120040501200405053120040501200405063120040501200405073120040501200405083020040501200405093020040501200410016120041001200410026120041001200410036120041001200410046120041001200410056120041001200410066120041001200410076120041001200410096020041001200410106020041001200501010120050101200501020120050101200501030120050101200502051020050209200502061020050209200502091120050209200502101120050209200502111120050209200502121120050209200502131120050209200502141120050209200502151120050209200504303020050501200505013120050501200505023120050501200505033120050501200505043120050501200505053120050501200505063120050501200505073120050501200505083020050501200510016120051001200510026120051001200510036120051001200510046120051001200510056120051001200510066120051001200510076120051001200510086020051001200510096020051001200512310020060101200601010120060101200601020120060101200601030120060101200601281020060129200601291120060129200601301120060129200601311120060129200602011120060129200602021120060129200602031120060129200602041120060129200602051020060129200604293020060501200604303020060501200605013120060501200605023120060501200605033120060501200605043120060501200605053120060501200605063120060501200605073120060501200609306020061001200610016120061001200610026120061001200610036120061001200610046120061001200610056120061001200610066120061001200610076120061001200610086020061001200612300020070101200612310020070101200701010120070101200701020120070101200701030120070101200702171020070218200702181120070218200702191120070218200702201120070218200702211120070218200702221120070218200702231120070218200702241120070218200702251020070218200704283020070501200704293020070501200705013120070501200705023120070501200705033120070501200705043120070501200705053120070501200705063120070501200705073120070501200709296020071001200709306020071001200710016120071001200710026120071001200710036120071001200710046120071001200710056120071001200710066120071001200710076120071001200712290020080101200712300120080101200712310120080101200801010120080101200802021020080206200802031020080206200802061120080206200802071120080206200802081120080206200802091120080206200802101120080206200802111120080206200802121120080206200804042120080404200804052120080404200804062120080404200805013120080501200805023120080501200805033120080501200805043020080501200806074120080608200806084120080608200806094120080608200809135120080914200809145120080914200809155120080914200809276020081001200809286020081001200809296120081001200809306120081001200810016120081001200810026120081001200810036120081001200810046120081001200810056120081001200901010120090101200901020120090101200901030120090101200901040020090101200901241020090125200901251120090125200901261120090125200901271120090125200901281120090125200901291120090125200901301120090125200901311120090125200902011020090125200904042120090404200904052120090404200904062120090404200905013120090501200905023120090501200905033120090501200905284120090528200905294120090528200905304120090528200905314020090528200909276020091001200910016120091001200910026120091001200910036120091001200910046120091001200910055120091003200910065120091003200910075120091003200910085120091003200910105020091003201001010120100101201001020120100101201001030120100101201002131120100213201002141120100213201002151120100213201002161120100213201002171120100213201002181120100213201002191120100213201002201020100213201002211020100213201004032120100405201004042120100405201004052120100405201005013120100501201005023120100501201005033120100501201006124020100616201006134020100616201006144120100616201006154120100616201006164120100616201009195020100922201009225120100922201009235120100922201009245120100922201009255020100922201009266020101001201010016120101001201010026120101001201010036120101001201010046120101001201010056120101001201010066120101001201010076120101001201010096020101001201101010120110101201101020120110101201101030120110101201101301020110203201102021120110203201102031120110203201102041120110203201102051120110203201102061120110203201102071120110203201102081120110203201102121020110203201104022020110405201104032120110405201104042120110405201104052120110405201104303120110501201105013120110501201105023120110501201106044120110606201106054120110606201106064120110606201109105120110912201109115120110912201109125120110912201110016120111001201110026120111001201110036120111001201110046120111001201110056120111001201110066120111001201110076120111001201110086020111001201110096020111001201112310020120101201201010120120101201201020120120101201201030120120101201201211020120123201201221120120123201201231120120123201201241120120123201201251120120123201201261120120123201201271120120123201201281120120123201201291020120123201203312020120404201204012020120404201204022120120404201204032120120404201204042120120404201204283020120501201204293120120501201204303120120501201205013120120501201205023020120501201206224120120623201206234120120623201206244120120623201209295020120930201209305120120930201210016120121001201210026120121001201210036120121001201210046120121001201210056120121001201210066120121001201210076120121001201210086020121001201301010120130101201301020120130101201301030120130101201301050020130101201301060020130101201302091120130210201302101120130210201302111120130210201302121120130210201302131120130210201302141120130210201302151120130210201302161020130210201302171020130210201304042120130404201304052120130404201304062120130404201304273020130501201304283020130501201304293120130501201304303120130501201305013120130501201306084020130612201306094020130612201306104120130612201306114120130612201306124120130612201309195120130919201309205120130919201309215120130919201309225020130919201309296020131001201310016120131001201310026120131001201310036120131001201310046120131001201310056120131001201310066120131001201310076120131001201401010120140101201401261020140131201401311120140131201402011120140131201402021120140131201402031120140131201402041120140131201402051120140131201402061120140131201402081020140131201404052120140405201404062120140405201404072120140405201405013120140501201405023120140501201405033120140501201405043020140501201405314120140602201406014120140602201406024120140602201409065120140908201409075120140908201409085120140908201409286020141001201410016120141001201410026120141001201410036120141001201410046120141004201410056120141001201410066120141001201410076120141001201410116020141001201501010120150101201501020120150101201501030120150101201501040020150101201502151020150219201502181120150219201502191120150219201502201120150219201502211120150219201502221120150219201502231120150219201502241120150219201502281020150219201504042120150405201504052120150405201504062120150405201505013120150501201505023120150501201505033120150501201506204120150620201506214120150620201506224120150620201509038120150903201509048120150903201509058120150903201509068020150903201509265120150927201509275120150927201510016120151001201510026120151001201510036120151001201510046120151004201510056120151001201510066120151001201510076120151001201510106020151001201601010120160101201601020120160101201601030120160101201602061020160208201602071120160208201602081120160208201602091120160208201602101120160208201602111120160208201602121120160208201602131120160208201602141020160208201604022120160404201604032120160404201604042120160404201604303120160501201605013120160501201605023120160501201606094120160609201606104120160609201606114120160609201606124020160609201609155120160915201609165120160915201609175120160915201609185020160915201610016120161001201610026120161001201610036120161001201610046120161001201610056120161001201610066120161001201610076120161001201610086020161001201610096020161001201612310120170101201701010120170101201701020120170101201701221020170128201701271120170128201701281120170128201701291120170128201701301120170128201701311120170128201702011120170128201702021120170128201702041020170128201704012020170404201704022120170404201704032120170404201704042120170404201704293120170501201704303120170501201705013120170501201705274020170530201705284120170530201705294120170530201705304120170530201709306020171001201710016120171001201710026120171001201710036120171001201710045120171004201710056120171001201710066120171001201710076120171001201710086120171001201712300120180101201712310120180101201801010120180101201802111020180216201802151120180216201802161120180216201802171120180216201802181120180216201802191120180216201802201120180216201802211120180216201802241020180216201804052120180405201804062120180405201804072120180405201804082020180405201804283020180501201804293120180501201804303120180501201805013120180501201806164120180618201806174120180618201806184120180618201809225120180924201809235120180924201809245120180924201809296020181001201809306020181001201810016120181001201810026120181001201810036120181001201810046120181001201810056120181001201810066120181001201810076120181001201812290020190101201812300120190101201812310120190101201901010120190101201902021020190205201902031020190205201902041120190205201902051120190205201902061120190205201902071120190205201902081120190205201902091120190205201902101120190205201904052120190405201904062120190405201904072120190405201904283020190501201905013120190501201905023120190501201905033120190501201905043120190501201905053020190501201906074120190607201906084120190607201906094120190607201909135120190913201909145120190913201909155120190913201909296020191001201910016120191001201910026120191001201910036120191001201910046120191001201910056120191001201910066120191001201910076120191001201910126020191001202001010120200101202001191020200125202001241120200125202001251120200125202001261120200125202001271120200125202001281120200125202001291120200125202001301120200125202001311120200125202002011120200125202002021120200125202004042120200404202004052120200404202004062120200404202004263020200501202005013120200501202005023120200501202005033120200501202005043120200501202005053120200501202005093020200501202006254120200625202006264120200625202006274120200625202006284020200625202009277020201001202010017120201001202010026120201001202010036120201001202010046120201001202010056120201001202010066120201001202010076120201001202010086120201001202010106020201001202101010120210101202101020120210101202101030120210101202102071020210212202102111120210212202102121120210212202102131120210212202102141120210212202102151120210212202102161120210212202102171120210212202102201020210212202104032120210404202104042120210404202104052120210404202104253020210501202105013120210501202105023120210501202105033120210501202105043120210501202105053120210501202105083020210501202106124120210614202106134120210614202106144120210614202109185020210921202109195120210921202109205120210921202109215120210921202109266020211001202110016120211001202110026120211001202110036120211001202110046120211001202110056120211001202110066120211001202110076120211001202110096020211001202201010120220101202201020120220101202201030120220101202201291020220201202201301020220201202201311120220201202202011120220201202202021120220201202202031120220201202202041120220201202202051120220201202202061120220201202204022020220405202204032120220405202204042120220405202204052120220405202204243020220501202204303120220501202205013120220501202205023120220501202205033120220501202205043120220501202205073020220501202206034120220603202206044120220603202206054120220603202209105120220910202209115120220910202209125120220910202210016120221001202210026120221001202210036120221001202210046120221001202210056120221001202210066120221001202210076120221001202210086020221001202210096020221001202212310120230101202301010120230101202301020120230101202301211120230122202301221120230122202301231120230122202301241120230122202301251120230122202301261120230122202301271120230122202301281020230122202301291020230122202304052120230405202304233020230501202304293120230501202304303120230501202305013120230501202305023120230501202305033120230501202305063020230501202306224120230622202306234120230622202306244120230622202306254020230622202309295120230929202309306120231001202310016120231001202310026120231001202310036120231001202310046120231001202310056120231001202310066120231001202310076020231001202310086020231001202312300120240101202312310120240101202401010120240101202402041020240210202402101120240210202402111120240210202402121120240210202402131120240210202402141120240210202402151120240210202402161120240210202402171120240210202402181020240210202404042120240404202404052120240404202404062120240404202404072020240404202404283020240501202405013120240501202405023120240501202405033120240501202405043120240501202405053120240501202405113020240501202406084120240610202406094120240610202406104120240610202409145020240917202409155120240917202409165120240917202409175120240917202409296020241001202410016120241001202410026120241001202410036120241001202410046120241001202410056120241001202410066120241001202410076120241001202410126020241001202501010120250101202501261020250129202501281120250129202501291120250129202501301120250129202501311120250129202502011120250129202502021120250129202502031120250129202502041120250129202502081020250129202504042120250404202504052120250404202504062120250404202504273020250501202505013120250501202505023120250501202505033120250501202505043120250501202505053120250501202505314120250531202506014120250531202506024120250531202509287020251001202510017120251001202510027120251001202510037120251001202510047120251001202510057120251001202510067120251001202510077120251001202510087120251001202510117020251001202601010120260101202601020120260101202601030120260101202601040020260101202602141020260217202602151120260217202602161120260217202602171120260217202602181120260217202602191120260217202602201120260217202602211120260217202602221120260217202602231120260217202602281020260217202604042120260405202604052120260405202604062120260405202605013120260501202605023120260501202605033120260501202605043120260501202605053120260501202605093020260501202606194120260619202606204120260619202606214120260619202609206020261001202609255120260925202609265120260925202609275120260925202610016120261001202610026120261001202610036120261001202610046120261001202610056120261001202610066120261001202610076120261001202610106020261001",i=function(e){return(e<10?"0":"")+e},o=function(e){return e.indexOf("-")<0?e.substring(0,4)+"-"+e.substring(4,6)+"-"+e.substring(6):e},l=function(e,t,a,n){return{_p:{day:o(e),name:t,work:a,target:o(n)},getDay:function(){return this._p.day},setDay:function(e){this._p.day=o(e)},getName:function(){return this._p.name},setName:function(e){this._p.name=e},isWork:function(){return this._p.work},setWork:function(e){this._p.work=e},getTarget:function(){return this._p.target},setTarget:function(e){this._p.target=o(e)},toString:function(){return this._p.day+" "+this._p.name+(this._p.work?"调休":"")+" "+this._p.target}}},c=function(e){var t=e.substring(0,8),a=r[e.charCodeAt(8)-n],s=e.charCodeAt(9)===n,i=e.substring(10,18);return l(t,a,s,i)},u=function(e){var t=e.length,a=e.substring(t-18,t-10),s=r[e.charCodeAt(t-10)-n],i=e.charCodeAt(t-9)===n,o=e.substring(t-8);return l(a,s,i,o)},d=function(e){var t=[],n=function(e){var t=s.indexOf(e);if(t<0)return null;var n=s.substring(t),r=n.length%a;for(r>0&&(n=n.substring(r));0!==n.indexOf(e)&&n.length>=a;)n=n.substring(a);return n}(e);if(null==n)return t;for(;0===n.indexOf(e);)t.push(c(n)),n=n.substring(a);return t},h=function(e){var t=[],n=function(e){var t=s.lastIndexOf(e);if(t<0)return null;var n=e.length,r=s.substring(0,t+n),i=r.length,o=i%a;for(o>0&&(r=r.substring(0,i-o)),i=r.length;i-n!==r.lastIndexOf(e)&&i>=a;)i=(r=r.substring(0,i-a)).length;return r}(e);if(null==n)return t;for(var r=n.length,i=e.length;r-i===n.lastIndexOf(e);)t.push(u(n)),r=(n=n.substring(0,r-a)).length;return t.reverse(),t},p=function(e){var t=[];switch(e.length){case 1:t=d(e[0].replace(/-/g,""));break;case 3:t=d(e[0]+i(e[1])+i(e[2]))}return t.length<1?null:t[0]},f=function(e){if(e){for(var t=[];e.length>=a;){var i=e.substring(0,a),o=i.substring(0,8),l="~"===i.substring(8,9),c=p([o]);if(c){for(var u=-1,d=0,h=r.length;d-1){var f=o+String.fromCharCode(u+n)+(c.isWork()?"0":"1")+c.getTarget().replace(/-/g,"");s=s.replace(new RegExp(f,"g"),l?"":i)}}else l||t.push(i);e=e.substring(a)}t.length>0&&(s+=t.join(""))}},m=function(e){switch(e.length){case 1:f(e[0]);break;case 2:(t=e[0])&&(r=t),f(e[1])}var t},{NAMES:t,getHoliday:function(){return p(arguments)},getHolidays:function(){return function(e){var t=[];switch(e.length){case 1:t=d((e[0]+"").replace(/-/g,""));break;case 2:t=d(e[0]+i(e[1]))}return t}(arguments)},getHolidaysByTarget:function(){return function(e){var t=[];switch(e.length){case 1:t=h((e[0]+"").replace(/-/g,""));break;case 3:t=h(e[0]+i(e[1])+i(e[2]))}return t}(arguments)},fix:function(){m(arguments)}}),de=function(){return{NAME_BEI_DOU:["天枢","天璇","天玑","天权","玉衡","开阳","摇光","洞明","隐元"],NAME_XUAN_KONG:["贪狼","巨门","禄存","文曲","廉贞","武曲","破军","左辅","右弼"],NAME_QI_MEN:["天蓬","天芮","天冲","天辅","天禽","天心","天柱","天任","天英"],BA_MEN_QI_MEN:["休","死","伤","杜","","开","惊","生","景"],NAME_TAI_YI:["太乙","摄提","轩辕","招摇","天符","青龙","咸池","太阴","天乙"],TYPE_TAI_YI:["吉神","凶神","安神","安神","凶神","吉神","凶神","吉神","吉神"],SONG_TAI_YI:["门中太乙明,星官号贪狼,赌彩财喜旺,婚姻大吉昌,出入无阻挡,参谒见贤良,此行三五里,黑衣别阴阳。","门前见摄提,百事必忧疑,相生犹自可,相克祸必临,死门并相会,老妇哭悲啼,求谋并吉事,尽皆不相宜,只可藏隐遁,若动伤身疾。","出入会轩辕,凡事必缠牵,相生全不美,相克更忧煎,远行多不利,博彩尽输钱,九天玄女法,句句不虚言。","招摇号木星,当之事莫行,相克行人阻,阴人口舌迎,梦寐多惊惧,屋响斧自鸣,阴阳消息理,万法弗违情。","五鬼为天符,当门阴女谋,相克无好事,行路阻中途,走失难寻觅,道逢有尼姑,此星当门值,万事有灾除。","神光跃青龙,财气喜重重,投入有酒食,赌彩最兴隆,更逢相生旺,休言克破凶,见贵安营寨,万事总吉同。","吾将为咸池,当之尽不宜,出入多不利,相克有灾情,赌彩全输尽,求财空手回,仙人真妙语,愚人莫与知,动用虚惊退,反复逆风吹。","坐临太阴星,百祸不相侵,求谋悉成就,知交有觅寻,回风归来路,恐有殃伏起,密语中记取,慎乎莫轻行。","迎来天乙星,相逢百事兴,运用和合庆,茶酒喜相迎,求谋并嫁娶,好合有天成,祸福如神验,吉凶甚分明。"],LUCK_QI_MEN:["大凶","大凶","小吉","大吉","大吉","大吉","小凶","小吉","小凶"],fromIndex:function(e){return function(e){return{_p:{index:e},getNumber:function(){return ve.NUMBER[this._p.index]},getColor:function(){return ve.COLOR[this._p.index]},getWuXing:function(){return ve.WU_XING[this._p.index]},getPosition:function(){return ve.POSITION[this._p.index]},getPositionDesc:function(){return ce.POSITION_DESC[this.getPosition()]},getNameInXuanKong:function(){return de.NAME_XUAN_KONG[this._p.index]},getNameInBeiDou:function(){return de.NAME_BEI_DOU[this._p.index]},getNameInQiMen:function(){return de.NAME_QI_MEN[this._p.index]},getNameInTaiYi:function(){return de.NAME_TAI_YI[this._p.index]},getLuckInQiMen:function(){return de.LUCK_QI_MEN[this._p.index]},getLuckInXuanKong:function(){return ve.LUCK_XUAN_KONG[this._p.index]},getYinYangInQiMen:function(){return ve.YIN_YANG_QI_MEN[this._p.index]},getTypeInTaiYi:function(){return de.TYPE_TAI_YI[this._p.index]},getBaMenInQiMen:function(){return de.BA_MEN_QI_MEN[this._p.index]},getSongInTaiYi:function(){return de.SONG_TAI_YI[this._p.index]},getIndex:function(){return this._p.index},toString:function(){return this.getNumber()+this.getColor()+this.getWuXing()+this.getNameInBeiDou()},toFullString:function(){var e=this.getNumber();return e+=this.getColor(),e+=this.getWuXing(),e+=" ",e+=this.getPosition(),e+="(",e+=this.getPositionDesc(),e+=") ",e+=this.getNameInBeiDou(),e+=" 玄空[",e+=this.getNameInXuanKong(),e+=" ",e+=this.getLuckInXuanKong(),e+="] 奇门[",e+=this.getNameInQiMen(),e+=" ",e+=this.getLuckInQiMen(),this.getBaMenInQiMen().length>0&&(e+=" ",e+=this.getBaMenInQiMen(),e+="门"),e+=" ",e+=this.getYinYangInQiMen(),e+="] 太乙[",e+=this.getNameInTaiYi(),e+=" ",(e+=this.getTypeInTaiYi())+"]"}}}(e)}}}(),he=function(){return{fromLunar:function(e){return function(e){return{_p:{sect:2,lunar:e},setSect:function(e){e*=1,this._p.sect=1===e?1:2},getSect:function(){return this._p.sect},getDayGanIndex:function(){return 2===this._p.sect?this._p.lunar.getDayGanIndexExact2():this._p.lunar.getDayGanIndexExact()},getDayZhiIndex:function(){return 2===this._p.sect?this._p.lunar.getDayZhiIndexExact2():this._p.lunar.getDayZhiIndexExact()},getYear:function(){return this._p.lunar.getYearInGanZhiExact()},getYearGan:function(){return this._p.lunar.getYearGanExact()},getYearZhi:function(){return this._p.lunar.getYearZhiExact()},getYearHideGan:function(){return ce.ZHI_HIDE_GAN[this.getYearZhi()]},getYearWuXing:function(){return ce.WU_XING_GAN[this.getYearGan()]+ce.WU_XING_ZHI[this.getYearZhi()]},getYearNaYin:function(){return ce.NAYIN[this.getYear()]},getYearShiShenGan:function(){return ce.SHI_SHEN[this.getDayGan()+this.getYearGan()]},getYearShiShenZhi:function(){for(var e=this.getDayGan(),t=ce.ZHI_HIDE_GAN[this.getYearZhi()],a=[],n=0,r=t.length;n=12&&(t-=12),t<0&&(t+=12),ce.CHANG_SHENG[t]},getYearDiShi:function(){return this._getDiShi(this._p.lunar.getYearZhiIndexExact())},getYearXun:function(){return this._p.lunar.getYearXunExact()},getYearXunKong:function(){return this._p.lunar.getYearXunKongExact()},getMonth:function(){return this._p.lunar.getMonthInGanZhiExact()},getMonthGan:function(){return this._p.lunar.getMonthGanExact()},getMonthZhi:function(){return this._p.lunar.getMonthZhiExact()},getMonthHideGan:function(){return ce.ZHI_HIDE_GAN[this.getMonthZhi()]},getMonthWuXing:function(){return ce.WU_XING_GAN[this.getMonthGan()]+ce.WU_XING_ZHI[this.getMonthZhi()]},getMonthNaYin:function(){return ce.NAYIN[this.getMonth()]},getMonthShiShenGan:function(){return ce.SHI_SHEN[this.getDayGan()+this.getMonthGan()]},getMonthShiShenZhi:function(){for(var e=this.getDayGan(),t=ce.ZHI_HIDE_GAN[this.getMonthZhi()],a=[],n=0,r=t.length;n=10&&(e-=10);var t=this._p.lunar.getMonthZhiIndexExact()+3;return t>=12&&(t-=12),ce.GAN[e+1]+ce.ZHI[t+1]},getTaiYuanNaYin:function(){return ce.NAYIN[this.getTaiYuan()]},getTaiXi:function(){var e=this._p.lunar,t=2===this._p.sect?e.getDayGanIndexExact2():e.getDayGanIndexExact(),a=2===this._p.sect?e.getDayZhiIndexExact2():e.getDayZhiIndexExact();return ce.HE_GAN_5[t]+ce.HE_ZHI_6[a]},getTaiXiNaYin:function(){return ce.NAYIN[this.getTaiXi()]},getMingGong:function(){var e=ce.index(this.getMonthZhi(),ce.MONTH_ZHI,0)+ce.index(this.getTimeZhi(),ce.MONTH_ZHI,0);e=(e>=14?26:14)-e;for(var t=2*(this._p.lunar.getYearGanIndexExact()+1)+e;t>10;)t-=10;return ce.GAN[t]+ce.MONTH_ZHI[e]},getMingGongNaYin:function(){return ce.NAYIN[this.getMingGong()]},getShenGong:function(){var e=ce.index(this.getMonthZhi(),ce.MONTH_ZHI,0)+ce.index(this.getTimeZhi(),ce.ZHI,0);e>12&&(e-=12);for(var t=2*(this._p.lunar.getYearGanIndexExact()+1)+e;t>10;)t-=10;return ce.GAN[t]+ce.MONTH_ZHI[e]},getShenGongNaYin:function(){return ce.NAYIN[this.getShenGong()]},getLunar:function(){return this._p.lunar},getYun:function(e,t){t=2==(t*=1)?t:1;var a=this.getLunar(),n=0==a.getYearGanIndexExact()%2,r=1===e,s=n&&r||!n&&!r,i=function(){var e,n,r,i=a.getPrevJie(),o=a.getNextJie(),l=a.getSolar(),c=s?l:i.getSolar(),u=s?o.getSolar():l,d=0;if(2===t){var h=u.subtractMinute(c);h-=4320*(e=Math.floor(h/4320)),h-=360*(n=Math.floor(h/360)),d=2*(h-=12*(r=Math.floor(h/12)))}else{var p=(23===u.getHour()?11:ce.getTimeZhiIndex(u.toYmdHms().substring(11,16)))-(23===c.getHour()?11:ce.getTimeZhiIndex(c.toYmdHms().substring(11,16))),f=u.subtract(c);p<0&&(p+=12,f--);var m=Math.floor(10*p/30);n=4*f+m,r=10*p-30*m,n-=12*(e=Math.floor(n/12))}return{year:e,month:n,day:r,hour:d}}(),o=function(e,t){return{_p:{index:t,liuNian:e},getIndex:function(){return this._p.index},getMonthInChinese:function(){return ce.MONTH[this._p.index+1]},getGanZhi:function(){var e=[2,4,6,8,0][(ce.find(this._p.liuNian.getGanZhi(),ce.GAN).index-1)%5];return ce.GAN[(this._p.index+e)%10+1]+ce.ZHI[(this._p.index+ce.BASE_MONTH_ZHI_INDEX)%12+1]},getXun:function(){return ce.getXun(this.getGanZhi())},getXunKong:function(){return ce.getXunKong(this.getGanZhi())}}},l=function(e,t){return{_p:{year:e.getStartYear()+t,age:e.getStartAge()+t,index:t,daYun:e,lunar:e.getLunar()},getYear:function(){return this._p.year},getAge:function(){return this._p.age},getIndex:function(){return this._p.index},getLunar:function(){return this._p.lunar},getGanZhi:function(){var e=ce.getJiaZiIndex(this._p.lunar.getJieQiTable()[we.getMessage("jq.liChun")].getLunar().getYearInGanZhiExact())+this._p.index;return this._p.daYun.getIndex()>0&&(e+=this._p.daYun.getStartAge()-1),e%=ce.JIA_ZI.length,ce.JIA_ZI[e]},getXun:function(){return ce.getXun(this.getGanZhi())},getXunKong:function(){return ce.getXunKong(this.getGanZhi())},getLiuYue:function(){for(var e=[],t=0;t<12;t++)e.push(o(this,t));return e}}},c=function(e,t,a){return{_p:{year:e.getStartYear()+t,age:e.getStartAge()+t,index:t,daYun:e,forward:a,lunar:e.getLunar()},getYear:function(){return this._p.year},getAge:function(){return this._p.age},getIndex:function(){return this._p.index},getGanZhi:function(){var e=ce.getJiaZiIndex(this._p.lunar.getTimeInGanZhi()),t=this._p.index+1;this._p.daYun.getIndex()>0&&(t+=this._p.daYun.getStartAge()-1),e+=this._p.forward?t:-t;for(var a=ce.JIA_ZI.length;e<0;)e+=a;return e%=a,ce.JIA_ZI[e]},getXun:function(){return ce.getXun(this.getGanZhi())},getXunKong:function(){return ce.getXunKong(this.getGanZhi())}}},u=function(e,t){var a,n,r,s,i=e.getLunar().getSolar().getYear(),o=e.getStartSolar().getYear();return t<1?(a=i,n=1,r=o-1,s=o-i):(r=(a=o+10*(t-1))+9,s=9+(n=a-i+1)),{_p:{startYear:a,endYear:r,startAge:n,endAge:s,index:t,yun:e,lunar:e.getLunar()},getStartYear:function(){return this._p.startYear},getEndYear:function(){return this._p.endYear},getStartAge:function(){return this._p.startAge},getEndAge:function(){return this._p.endAge},getIndex:function(){return this._p.index},getLunar:function(){return this._p.lunar},getGanZhi:function(){if(this._p.index<1)return"";var e=ce.getJiaZiIndex(this._p.lunar.getMonthInGanZhiExact());e+=this._p.yun.isForward()?this._p.index:-this._p.index;var t=ce.JIA_ZI.length;return e>=t&&(e-=t),e<0&&(e+=t),ce.JIA_ZI[e]},getXun:function(){return ce.getXun(this.getGanZhi())},getXunKong:function(){return ce.getXunKong(this.getGanZhi())},getLiuNian:function(e){e||(e=10),this._p.index<1&&(e=this._p.endYear-this._p.startYear+1);for(var t=[],a=0;a=t[we.getMessage("jq.dongZhi")].toYmd()&&e22?"23:00":(e%2==0&&(e-=1),(e<10?"0":"")+e+":00")},getMaxHm:function(){var e=this._p.lunar.getHour();return e<1?"00:59":e>22?"23:59":(e%2!=0&&(e+=1),(e<10?"0":"")+e+":59")},toString:function(){return this.getGanZhi()}}}(e,t,a,n,r,s)}}}(),fe=(g=[11,13,15,17,19,21,24,0,2,4,7,9],v="犯者夺纪",b="犯者减寿",w="犯者损寿",x="犯者削禄夺纪",k="犯者三年内夫妇俱亡",_=(y=function(e,t,a,n){return{_p:{name:e,result:t||"",everyMonth:!!a,remark:n||""},getName:function(){return this._p.name},getResult:function(){return this._p.result},isEveryMonth:function(){return this._p.everyMonth},getRemark:function(){return this._p.remark},toString:function(){return this._p.name},toFullString:function(){var e=[this._p.name];return this._p.result&&e.push(this._p.result),this._p.remark&&e.push(this._p.remark),e.join(" ")}}})("杨公忌"),E=y("四天王巡行","",!0),C=y("斗降",v,!0),F=y("月朔",v,!0),D=y("月望",v,!0),A=y("月晦",b,!0),T=y("雷斋日",b,!0),S=y("九毒日","犯者夭亡,奇祸不测"),I=y("人神在阴","犯者得病",!0,"宜先一日即戒"),N=y("司命奏事",b,!0,"如月小,即戒廿九"),P=y("月晦",b,!0,"如月小,即戒廿九"),{XIU_27:["{xx.jiao}","{xx.kang}","{xx.di}","{xx.fang}","{xx.xin}","{xx.tail}","{xx.ji}","{xx.dou}","{xx.nv}","{xx.xu}","{xx.wei}","{xx.shi}","{xx.qiang}","{xx.kui}","{xx.lou}","{xx.vei}","{xx.mao}","{xx.bi}","{xx.zi}","{xx.can}","{xx.jing}","{xx.gui}","{xx.liu}","{xx.xing}","{xx.zhang}","{xx.yi}","{xx.zhen}"],DAY_ZHAI_GUAN_YIN:["1-8","2-7","2-9","2-19","3-3","3-6","3-13","4-22","5-3","5-17","6-16","6-18","6-19","6-23","7-13","8-16","9-19","9-23","10-2","11-19","11-24","12-25"],FESTIVAL:{"1-1":[y("天腊,玉帝校世人神气禄命",x),F],"1-3":[y("万神都会",v),C],"1-5":[y("五虚忌")],"1-6":[y("六耗忌"),T],"1-7":[y("上会日",w)],"1-8":[y("五殿阎罗天子诞",v),E],"1-9":[y("玉皇上帝诞",v)],"1-13":[_],"1-14":[y("三元降",b),E],"1-15":[y("三元降",b),y("上元神会",v),D,E],"1-16":[y("三元降",b)],"1-19":[y("长春真人诞")],"1-23":[y("三尸神奏事"),E],"1-25":[A,y("天地仓开日","犯者损寿,子带疾")],"1-27":[C],"1-28":[I],"1-29":[E],"1-30":[P,N,E],"2-1":[y("一殿秦广王诞",v),F],"2-2":[y("万神都会",v),y("福德土地正神诞","犯者得祸")],"2-3":[y("文昌帝君诞",x),C],"2-6":[y("东华帝君诞"),T],"2-8":[y("释迦牟尼佛出家",v),y("三殿宋帝王诞",v),y("张大帝诞",v),E],"2-11":[_],"2-14":[E],"2-15":[y("释迦牟尼佛涅槃",x),y("太上老君诞",x),y("月望",x,!0),E],"2-17":[y("东方杜将军诞")],"2-18":[y("四殿五官王诞",x),y("至圣先师孔子讳辰",x)],"2-19":[y("观音大士诞",v)],"2-21":[y("普贤菩萨诞")],"2-23":[E],"2-25":[A],"2-27":[C],"2-28":[I],"2-29":[E],"2-30":[P,N,E],"3-1":[y("二殿楚江王诞",v),F],"3-3":[y("玄天上帝诞",v),C],"3-6":[T],"3-8":[y("六殿卞城王诞",v),E],"3-9":[y("牛鬼神出","犯者产恶胎"),_],"3-12":[y("中央五道诞")],"3-14":[E],"3-15":[y("昊天上帝诞",v),y("玄坛诞",v),D,E],"3-16":[y("准提菩萨诞",v)],"3-19":[y("中岳大帝诞"),y("后土娘娘诞"),y("三茅降")],"3-20":[y("天地仓开日",w),y("子孙娘娘诞")],"3-23":[E],"3-25":[A],"3-27":[y("七殿泰山王诞"),C],"3-28":[I,y("苍颉至圣先师诞",x),y("东岳大帝诞")],"3-29":[E],"3-30":[P,N,E],"4-1":[y("八殿都市王诞",v),F],"4-3":[C],"4-4":[y("万神善会","犯者失瘼夭胎"),y("文殊菩萨诞")],"4-6":[T],"4-7":[y("南斗、北斗、西斗同降",b),_],"4-8":[y("释迦牟尼佛诞",v),y("万神善会","犯者失瘼夭胎"),y("善恶童子降","犯者血死"),y("九殿平等王诞"),E],"4-14":[y("纯阳祖师诞",b),E],"4-15":[D,y("钟离祖师诞"),E],"4-16":[y("天地仓开日",w)],"4-17":[y("十殿转轮王诞",v)],"4-18":[y("天地仓开日",w),y("紫徽大帝诞",w)],"4-20":[y("眼光圣母诞")],"4-23":[E],"4-25":[A],"4-27":[C],"4-28":[I],"4-29":[E],"4-30":[P,N,E],"5-1":[y("南极长生大帝诞",v),F],"5-3":[C],"5-5":[y("地腊",x),y("五帝校定生人官爵",x),S,_],"5-6":[S,T],"5-7":[S],"5-8":[y("南方五道诞"),E],"5-11":[y("天地仓开日",w),y("天下都城隍诞")],"5-12":[y("炳灵公诞")],"5-13":[y("关圣降",x)],"5-14":[y("夜子时为天地交泰",k),E],"5-15":[D,S,E],"5-16":[y("九毒日",k),y("天地元气造化万物之辰",k)],"5-17":[S],"5-18":[y("张天师诞")],"5-22":[y("孝娥神诞",v)],"5-23":[E],"5-25":[S,A],"5-26":[S],"5-27":[S,C],"5-28":[I],"5-29":[E],"5-30":[P,N,E],"6-1":[F],"6-3":[y("韦驮菩萨圣诞"),C,_],"6-5":[y("南赡部洲转大轮",w)],"6-6":[y("天地仓开日",w),T],"6-8":[E],"6-10":[y("金粟如来诞")],"6-14":[E],"6-15":[D,E],"6-19":[y("观世音菩萨成道",v)],"6-23":[y("南方火神诞","犯者遭回禄"),E],"6-24":[y("雷祖诞",x),y("关帝诞",x)],"6-25":[A],"6-27":[C],"6-28":[I],"6-29":[E],"6-30":[P,N,E],"7-1":[F,_],"7-3":[C],"7-5":[y("中会日",w,!1,"一作初七")],"7-6":[T],"7-7":[y("道德腊",x),y("五帝校生人善恶",x),y("魁星诞",x)],"7-8":[E],"7-10":[y("阴毒日","",!1,"大忌")],"7-12":[y("长真谭真人诞")],"7-13":[y("大势至菩萨诞",b)],"7-14":[y("三元降",b),E],"7-15":[D,y("三元降",v),y("地官校籍",v),E],"7-16":[y("三元降",b)],"7-18":[y("西王母诞",v)],"7-19":[y("太岁诞",v)],"7-22":[y("增福财神诞",x)],"7-23":[E],"7-25":[A],"7-27":[C],"7-28":[I],"7-29":[_,E],"7-30":[y("地藏菩萨诞",v),P,N,E],"8-1":[F,y("许真君诞")],"8-3":[C,y("北斗诞",x),y("司命灶君诞","犯者遭回禄")],"8-5":[y("雷声大帝诞",v)],"8-6":[T],"8-8":[E],"8-10":[y("北斗大帝诞")],"8-12":[y("西方五道诞")],"8-14":[E],"8-15":[D,y("太明朝元","犯者暴亡",!1,"宜焚香守夜"),E],"8-16":[y("天曹掠刷真君降","犯者贫夭")],"8-18":[y("天人兴福之辰","",!1,"宜斋戒,存想吉事")],"8-23":[y("汉恒候张显王诞"),E],"8-24":[y("灶君夫人诞")],"8-25":[A],"8-27":[C,y("至圣先师孔子诞",x),_],"8-28":[I,y("四天会事")],"8-29":[E],"8-30":[y("诸神考校","犯者夺算"),P,N,E],"9-1":[F,y("南斗诞",x),y("北斗九星降世",v,!1,"此九日俱宜斋戒")],"9-3":[C,y("五瘟神诞")],"9-6":[T],"9-8":[E],"9-9":[y("斗母诞",x),y("酆都大帝诞"),y("玄天上帝飞升")],"9-10":[y("斗母降",v)],"9-11":[y("宜戒")],"9-13":[y("孟婆尊神诞")],"9-14":[E],"9-15":[D,E],"9-17":[y("金龙四大王诞","犯者遭水厄")],"9-19":[y("日宫月宫会合",b),y("观世音菩萨诞",b)],"9-23":[E],"9-25":[A,_],"9-27":[C],"9-28":[I],"9-29":[E],"9-30":[y("药师琉璃光佛诞","犯者危疾"),P,N,E],"10-1":[F,y("民岁腊",v),y("四天王降","犯者一年内死")],"10-3":[C,y("三茅诞")],"10-5":[y("下会日",b),y("达摩祖师诞",b)],"10-6":[T,y("天曹考察",v)],"10-8":[y("佛涅槃日","",!1,"大忌色欲"),E],"10-10":[y("四天王降","犯者一年内死")],"10-11":[y("宜戒")],"10-14":[y("三元降",b),E],"10-15":[D,y("三元降",v),y("下元水府校籍",v),E],"10-16":[y("三元降",b),E],"10-23":[_,E],"10-25":[A],"10-27":[C,y("北极紫徽大帝降")],"10-28":[I],"10-29":[E],"10-30":[P,N,E],"11-1":[F],"11-3":[C],"11-4":[y("至圣先师孔子诞",x)],"11-6":[y("西岳大帝诞")],"11-8":[E],"11-11":[y("天地仓开日",v),y("太乙救苦天尊诞",v)],"11-14":[E],"11-15":[y("月望","上半夜犯男死 下半夜犯女死"),y("四天王巡行","上半夜犯男死 下半夜犯女死")],"11-17":[y("阿弥陀佛诞")],"11-19":[y("太阳日宫诞","犯者得奇祸")],"11-21":[_],"11-23":[y("张仙诞","犯者绝嗣"),E],"11-25":[y("掠刷大夫降","犯者遭大凶"),A],"11-26":[y("北方五道诞")],"11-27":[C],"11-28":[I],"11-29":[E],"11-30":[P,N,E],"12-1":[F],"12-3":[C],"12-6":[y("天地仓开日",b),T],"12-7":[y("掠刷大夫降","犯者得恶疾")],"12-8":[y("王侯腊",v),y("释迦如来成佛之辰"),E,y("初旬内戊日,亦名王侯腊",v)],"12-12":[y("太素三元君朝真")],"12-14":[E],"12-15":[D,E],"12-16":[y("南岳大帝诞")],"12-19":[_],"12-20":[y("天地交道","犯者促寿")],"12-21":[y("天猷上帝诞")],"12-23":[y("五岳诞降"),E],"12-24":[y("司今朝天奏人善恶","犯者得大祸")],"12-25":[y("三清玉帝同降,考察善恶","犯者得奇祸"),A],"12-27":[C],"12-28":[I],"12-29":[y("华严菩萨诞"),E],"12-30":[y("诸神下降,察访善恶","犯者男女俱亡")]},OTHER_FESTIVAL:{"1-1":["弥勒菩萨圣诞"],"1-6":["定光佛圣诞"],"2-8":["释迦牟尼佛出家"],"2-15":["释迦牟尼佛涅槃"],"2-19":["观世音菩萨圣诞"],"2-21":["普贤菩萨圣诞"],"3-16":["准提菩萨圣诞"],"4-4":["文殊菩萨圣诞"],"4-8":["释迦牟尼佛圣诞"],"4-15":["佛吉祥日"],"4-28":["药王菩萨圣诞"],"5-13":["伽蓝菩萨圣诞"],"6-3":["韦驮菩萨圣诞"],"6-19":["观音菩萨成道"],"7-13":["大势至菩萨圣诞"],"7-15":["佛欢喜日"],"7-24":["龙树菩萨圣诞"],"7-30":["地藏菩萨圣诞"],"8-15":["月光菩萨圣诞"],"8-22":["燃灯佛圣诞"],"9-9":["摩利支天菩萨圣诞"],"9-19":["观世音菩萨出家"],"9-30":["药师琉璃光佛圣诞"],"10-5":["达摩祖师圣诞"],"10-20":["文殊菩萨出家"],"11-17":["阿弥陀佛圣诞"],"11-19":["日光菩萨圣诞"],"12-8":["释迦牟尼佛成道"],"12-23":["监斋菩萨圣诞"],"12-29":["华严菩萨圣诞"]},getXiu:function(e,t){return function(e,t){return fe.XIU_27[(g[Math.abs(e)-1]+t-1)%fe.XIU_27.length]}(e,t)}}),me=function(){var e=function(e,a,n,r,s,i){return t(Q.fromYmdHms(e+me.DEAD_YEAR-1,a,n,r,s,i))},t=function(e){return{_p:{lunar:e},getLunar:function(){return this._p.lunar},getYear:function(){var e=this._p.lunar.getSolar().getYear(),t=e-me.DEAD_YEAR;return e===this._p.lunar.getYear()&&t++,t},getMonth:function(){return this._p.lunar.getMonth()},getDay:function(){return this._p.lunar.getDay()},getYearInChinese:function(){for(var e=this.getYear()+"",t="",a="0".charCodeAt(0),n=0,r=e.length;n-1?we.getMessage("jz.wuYin")===a&&(e=!0):[we.getMessage("dz.si"),we.getMessage("dz.wu"),we.getMessage("dz.wei")].join(",").indexOf(t)>-1?we.getMessage("jz.jiaWu")===a&&(e=!0):[we.getMessage("dz.shen"),we.getMessage("dz.you"),we.getMessage("dz.xu")].join(",").indexOf(t)>-1?we.getMessage("jz.wuShen")===a&&(e=!0):[we.getMessage("dz.hai"),we.getMessage("dz.zi"),we.getMessage("dz.chou")].join(",").indexOf(t)>-1&&we.getMessage("jz.jiaZi")===a&&(e=!0),e},toString:function(){return this.getYearInChinese()+"年"+this.getMonthInChinese()+"月"+this.getDayInChinese()},toFullString:function(){return"道歷"+this.getYearInChinese()+"年,天運"+this._p.lunar.getYearInGanZhi()+"年,"+this._p.lunar.getMonthInGanZhi()+"月,"+this._p.lunar.getDayInGanZhi()+"日。"+this.getMonthInChinese()+"月"+this.getDayInChinese()+"日,"+this._p.lunar.getTimeZhi()+"時。"}}};return{BIRTH_YEAR:-2697,fromYmdHms:function(t,a,n,r,s,i){return e(t,a,n,r,s,i)},fromYmd:function(t,a,n){return e(t,a,n,0,0,0)},fromLunar:function(e){return t(e)}}}(),we=(M=B="chs",O=!1,U={chs:{"tg.jia":"甲","tg.yi":"乙","tg.bing":"丙","tg.ding":"丁","tg.wu":"戊","tg.ji":"己","tg.geng":"庚","tg.xin":"辛","tg.ren":"壬","tg.gui":"癸","dz.zi":"子","dz.chou":"丑","dz.yin":"寅","dz.mao":"卯","dz.chen":"辰","dz.si":"巳","dz.wu":"午","dz.wei":"未","dz.shen":"申","dz.you":"酉","dz.xu":"戌","dz.hai":"亥","zx.jian":"建","zx.chu":"除","zx.man":"满","zx.ping":"平","zx.ding":"定","zx.zhi":"执","zx.po":"破","zx.wei":"危","zx.cheng":"成","zx.shou":"收","zx.kai":"开","zx.bi":"闭","jz.jiaZi":"甲子","jz.yiChou":"乙丑","jz.bingYin":"丙寅","jz.dingMao":"丁卯","jz.wuChen":"戊辰","jz.jiSi":"己巳","jz.gengWu":"庚午","jz.xinWei":"辛未","jz.renShen":"壬申","jz.guiYou":"癸酉","jz.jiaXu":"甲戌","jz.yiHai":"乙亥","jz.bingZi":"丙子","jz.dingChou":"丁丑","jz.wuYin":"戊寅","jz.jiMao":"己卯","jz.gengChen":"庚辰","jz.xinSi":"辛巳","jz.renWu":"壬午","jz.guiWei":"癸未","jz.jiaShen":"甲申","jz.yiYou":"乙酉","jz.bingXu":"丙戌","jz.dingHai":"丁亥","jz.wuZi":"戊子","jz.jiChou":"己丑","jz.gengYin":"庚寅","jz.xinMao":"辛卯","jz.renChen":"壬辰","jz.guiSi":"癸巳","jz.jiaWu":"甲午","jz.yiWei":"乙未","jz.bingShen":"丙申","jz.dingYou":"丁酉","jz.wuXu":"戊戌","jz.jiHai":"己亥","jz.gengZi":"庚子","jz.xinChou":"辛丑","jz.renYin":"壬寅","jz.guiMao":"癸卯","jz.jiaChen":"甲辰","jz.yiSi":"乙巳","jz.bingWu":"丙午","jz.dingWei":"丁未","jz.wuShen":"戊申","jz.jiYou":"己酉","jz.gengXu":"庚戌","jz.xinHai":"辛亥","jz.renZi":"壬子","jz.guiChou":"癸丑","jz.jiaYin":"甲寅","jz.yiMao":"乙卯","jz.bingChen":"丙辰","jz.dingSi":"丁巳","jz.wuWu":"戊午","jz.jiWei":"己未","jz.gengShen":"庚申","jz.xinYou":"辛酉","jz.renXu":"壬戌","jz.guiHai":"癸亥","sx.rat":"鼠","sx.ox":"牛","sx.tiger":"虎","sx.rabbit":"兔","sx.dragon":"龙","sx.snake":"蛇","sx.horse":"马","sx.goat":"羊","sx.monkey":"猴","sx.rooster":"鸡","sx.dog":"狗","sx.pig":"猪","dw.long":"龙","dw.niu":"牛","dw.gou":"狗","dw.yang":"羊","dw.tu":"兔","dw.shu":"鼠","dw.ji":"鸡","dw.ma":"马","dw.hu":"虎","dw.zhu":"猪","dw.hou":"猴","dw.she":"蛇","dw.huLi":"狐","dw.yan":"燕","dw.bao":"豹","dw.yuan":"猿","dw.yin":"蚓","dw.lu":"鹿","dw.wu":"乌","dw.jiao":"蛟","dw.lang":"狼","dw.fu":"蝠","dw.zhang":"獐","dw.xu":"獝","dw.xie":"獬","dw.han":"犴","dw.he":"貉","dw.zhi":"彘","wx.jin":"金","wx.mu":"木","wx.shui":"水","wx.huo":"火","wx.tu":"土","wx.ri":"日","wx.yue":"月","n.zero":"〇","n.one":"一","n.two":"二","n.three":"三","n.four":"四","n.five":"五","n.six":"六","n.seven":"七","n.eight":"八","n.nine":"九","n.ten":"十","n.eleven":"十一","n.twelve":"十二","d.one":"初一","d.two":"初二","d.three":"初三","d.four":"初四","d.five":"初五","d.six":"初六","d.seven":"初七","d.eight":"初八","d.nine":"初九","d.ten":"初十","d.eleven":"十一","d.twelve":"十二","d.thirteen":"十三","d.fourteen":"十四","d.fifteen":"十五","d.sixteen":"十六","d.seventeen":"十七","d.eighteen":"十八","d.nighteen":"十九","d.twenty":"二十","d.twentyOne":"廿一","d.twentyTwo":"廿二","d.twentyThree":"廿三","d.twentyFour":"廿四","d.twentyFive":"廿五","d.twentySix":"廿六","d.twentySeven":"廿七","d.twentyEight":"廿八","d.twentyNine":"廿九","d.thirty":"三十","m.one":"正","m.two":"二","m.three":"三","m.four":"四","m.five":"五","m.six":"六","m.seven":"七","m.eight":"八","m.nine":"九","m.ten":"十","m.eleven":"冬","m.twelve":"腊","w.sun":"日","w.mon":"一","w.tues":"二","w.wed":"三","w.thur":"四","w.fri":"五","w.sat":"六","xz.aries":"白羊","xz.taurus":"金牛","xz.gemini":"双子","xz.cancer":"巨蟹","xz.leo":"狮子","xz.virgo":"处女","xz.libra":"天秤","xz.scorpio":"天蝎","xz.sagittarius":"射手","xz.capricornus":"摩羯","xz.aquarius":"水瓶","xz.pisces":"双鱼","bg.qian":"乾","bg.kun":"坤","bg.zhen":"震","bg.xun":"巽","bg.kan":"坎","bg.li":"离","bg.gen":"艮","bg.dui":"兑","ps.center":"中","ps.dong":"东","ps.nan":"南","ps.xi":"西","ps.bei":"北","ps.zhong":"中宫","ps.zhengDong":"正东","ps.zhengNan":"正南","ps.zhengXi":"正西","ps.zhengBei":"正北","ps.dongBei":"东北","ps.dongNan":"东南","ps.xiBei":"西北","ps.xiNan":"西南","ps.wai":"外","ps.fangNei":"房内","jq.dongZhi":"冬至","jq.xiaoHan":"小寒","jq.daHan":"大寒","jq.liChun":"立春","jq.yuShui":"雨水","jq.jingZhe":"惊蛰","jq.chunFen":"春分","jq.qingMing":"清明","jq.guYu":"谷雨","jq.liXia":"立夏","jq.xiaoMan":"小满","jq.mangZhong":"芒种","jq.xiaZhi":"夏至","jq.xiaoShu":"小暑","jq.daShu":"大暑","jq.liQiu":"立秋","jq.chuShu":"处暑","jq.baiLu":"白露","jq.qiuFen":"秋分","jq.hanLu":"寒露","jq.shuangJiang":"霜降","jq.liDong":"立冬","jq.xiaoXue":"小雪","jq.daXue":"大雪","sn.qingLong":"青龙","sn.baiHu":"白虎","sn.zhuQue":"朱雀","sn.xuanWu":"玄武","sn.mingTang":"明堂","sn.tianXing":"天刑","sn.tianDe":"天德","sn.jinKui":"金匮","sn.yuTang":"玉堂","sn.siMing":"司命","sn.tianLao":"天牢","sn.gouChen":"勾陈","sn.tianEn":"天恩","sn.muCang":"母仓","sn.shiYang":"时阳","sn.shengQi":"生气","sn.yiHou":"益后","sn.zaiSha":"灾煞","sn.tianHuo":"天火","sn.siJi":"四忌","sn.baLong":"八龙","sn.fuRi":"复日","sn.xuShi":"续世","sn.yueSha":"月煞","sn.yueXu":"月虚","sn.xueZhi":"血支","sn.tianZei":"天贼","sn.wuXu":"五虚","sn.tuFu":"土符","sn.guiJi":"归忌","sn.xueJi":"血忌","sn.yueDe":"月德","sn.yueEn":"月恩","sn.siXiang":"四相","sn.wangRi":"王日","sn.tianCang":"天仓","sn.buJiang":"不将","sn.wuHe":"五合","sn.mingFeiDui":"鸣吠对","sn.yueJian":"月建","sn.xiaoShi":"小时","sn.tuHu":"土府","sn.wangWang":"往亡","sn.yaoAn":"要安","sn.siShen":"死神","sn.tianMa":"天马","sn.jiuHu":"九虎","sn.qiNiao":"七鸟","sn.liuShe":"六蛇","sn.guanRi":"官日","sn.jiQi":"吉期","sn.yuYu":"玉宇","sn.daShi":"大时","sn.daBai":"大败","sn.xianChi":"咸池","sn.shouRi":"守日","sn.tianWu":"天巫","sn.fuDe":"福德","sn.liuYi":"六仪","sn.jinTang":"金堂","sn.yanDui":"厌对","sn.zhaoYao":"招摇","sn.jiuKong":"九空","sn.jiuKan":"九坎","sn.jiuJiao":"九焦","sn.xiangRi":"相日","sn.baoGuang":"宝光","sn.tianGang":"天罡","sn.yueXing":"月刑","sn.yueHai":"月害","sn.youHuo":"游祸","sn.chongRi":"重日","sn.shiDe":"时德","sn.minRi":"民日","sn.sanHe":"三合","sn.linRi":"临日","sn.shiYin":"时阴","sn.mingFei":"鸣吠","sn.siQi":"死气","sn.diNang":"地囊","sn.yueDeHe":"月德合","sn.jingAn":"敬安","sn.puHu":"普护","sn.jieShen":"解神","sn.xiaoHao":"小耗","sn.tianDeHe":"天德合","sn.yueKong":"月空","sn.yiMa":"驿马","sn.tianHou":"天后","sn.chuShen":"除神","sn.yuePo":"月破","sn.daHao":"大耗","sn.wuLi":"五离","sn.yinDe":"阴德","sn.fuSheng":"福生","sn.tianLi":"天吏","sn.zhiSi":"致死","sn.yuanWu":"元武","sn.yangDe":"阳德","sn.tianXi":"天喜","sn.tianYi":"天医","sn.yueYan":"月厌","sn.diHuo":"地火","sn.fourHit":"四击","sn.daSha":"大煞","sn.daHui":"大会","sn.tianYuan":"天愿","sn.liuHe":"六合","sn.wuFu":"五富","sn.shengXin":"圣心","sn.heKui":"河魁","sn.jieSha":"劫煞","sn.siQiong":"四穷","sn.chuShuiLong":"触水龙","sn.baFeng":"八风","sn.tianShe":"天赦","sn.wuMu":"五墓","sn.baZhuan":"八专","sn.yinCuo":"阴错","sn.siHao":"四耗","sn.yangCuo":"阳错","sn.siFei":"四废","sn.sanYin":"三阴","sn.xiaoHui":"小会","sn.yinDaoChongYang":"阴道冲阳","sn.danYin":"单阴","sn.guChen":"孤辰","sn.yinWei":"阴位","sn.xingHen":"行狠","sn.liaoLi":"了戾","sn.jueYin":"绝阴","sn.chunYang":"纯阳","sn.suiBo":"岁薄","sn.yinYangJiaoPo":"阴阳交破","sn.yinYangJuCuo":"阴阳俱错","sn.yinYangJiChong":"阴阳击冲","sn.zhuZhen":"逐阵","sn.yangCuoYinChong":"阳错阴冲","sn.qiFu":"七符","sn.tianGou":"天狗","sn.chengRi":"成日","sn.tianFu":"天符","sn.guYang":"孤阳","sn.jueYang":"绝阳","sn.chunYin":"纯阴","sn.yinShen":"阴神","sn.jieChu":"解除","sn.yangPoYinChong":"阳破阴冲","sn.sanSang":"三丧","sn.guiKu":"鬼哭","sn.daTui":"大退","sn.siLi":"四离","ss.biJian":"比肩","ss.jieCai":"劫财","ss.shiShen":"食神","ss.shangGuan":"伤官","ss.pianCai":"偏财","ss.zhengCai":"正财","ss.qiSha":"七杀","ss.zhengGuan":"正官","ss.pianYin":"偏印","ss.zhengYin":"正印","s.none":"无","s.huangDao":"黄道","s.heiDao":"黑道","s.goodLuck":"吉","s.badLuck":"凶","s.yin":"阴","s.yang":"阳","s.white":"白","s.black":"黑","s.blue":"碧","s.green":"绿","s.yellow":"黄","s.red":"赤","s.purple":"紫","jr.chuXi":"除夕","jr.chunJie":"春节","jr.yuanXiao":"元宵节","jr.longTou":"龙头节","jr.duanWu":"端午节","jr.qiXi":"七夕节","jr.zhongQiu":"中秋节","jr.chongYang":"重阳节","jr.laBa":"腊八节","jr.yuanDan":"元旦节","jr.qingRen":"情人节","jr.fuNv":"妇女节","jr.zhiShu":"植树节","jr.xiaoFei":"消费者权益日","jr.wuYi":"劳动节","jr.qingNian":"青年节","jr.erTong":"儿童节","jr.yuRen":"愚人节","jr.jianDang":"建党节","jr.jianJun":"建军节","jr.jiaoShi":"教师节","jr.guoQing":"国庆节","jr.wanShengYe":"万圣节前夜","jr.wanSheng":"万圣节","jr.pingAn":"平安夜","jr.shengDan":"圣诞节","ds.changSheng":"长生","ds.muYu":"沐浴","ds.guanDai":"冠带","ds.linGuan":"临官","ds.diWang":"帝旺","ds.shuai":"衰","ds.bing":"病","ds.si":"死","ds.mu":"墓","ds.jue":"绝","ds.tai":"胎","ds.yang":"养","h.first":"初候","h.second":"二候","h.third":"三候","h.qiuYinJie":"蚯蚓结","h.miJiao":"麋角解","h.shuiQuan":"水泉动","h.yanBei":"雁北乡","h.queShi":"鹊始巢","h.zhiShi":"雉始雊","h.jiShi":"鸡始乳","h.zhengNiao":"征鸟厉疾","h.shuiZe":"水泽腹坚","h.dongFeng":"东风解冻","h.zheChongShiZhen":"蛰虫始振","h.yuZhi":"鱼陟负冰","h.taJi":"獭祭鱼","h.houYan":"候雁北","h.caoMuMengDong":"草木萌动","h.taoShi":"桃始华","h.cangGeng":"仓庚鸣","h.yingHua":"鹰化为鸠","h.xuanNiaoZhi":"玄鸟至","h.leiNai":"雷乃发声","h.shiDian":"始电","h.tongShi":"桐始华","h.tianShu":"田鼠化为鴽","h.hongShi":"虹始见","h.pingShi":"萍始生","h.mingJiu":"鸣鸠拂其羽","h.daiSheng":"戴胜降于桑","h.louGuo":"蝼蝈鸣","h.qiuYinChu":"蚯蚓出","h.wangGua":"王瓜生","h.kuCai":"苦菜秀","h.miCao":"靡草死","h.maiQiu":"麦秋至","h.tangLang":"螳螂生","h.juShi":"鵙始鸣","h.fanShe":"反舌无声","h.luJia":"鹿角解","h.tiaoShi":"蜩始鸣","h.banXia":"半夏生","h.wenFeng":"温风至","h.xiShuai":"蟋蟀居壁","h.yingShi":"鹰始挚","h.fuCao":"腐草为萤","h.tuRun":"土润溽暑","h.daYu":"大雨行时","h.liangFeng":"凉风至","h.baiLu":"白露降","h.hanChan":"寒蝉鸣","h.yingNai":"鹰乃祭鸟","h.tianDi":"天地始肃","h.heNai":"禾乃登","h.hongYanLai":"鸿雁来","h.xuanNiaoGui":"玄鸟归","h.qunNiao":"群鸟养羞","h.leiShi":"雷始收声","h.zheChongPiHu":"蛰虫坯户","h.shuiShiHe":"水始涸","h.hongYanLaiBin":"鸿雁来宾","h.queRu":"雀入大水为蛤","h.juYou":"菊有黄花","h.caiNai":"豺乃祭兽","h.caoMuHuangLuo":"草木黄落","h.zheChongXianFu":"蛰虫咸俯","h.shuiShiBing":"水始冰","h.diShi":"地始冻","h.zhiRu":"雉入大水为蜃","h.hongCang":"虹藏不见","h.tianQi":"天气上升地气下降","h.biSe":"闭塞而成冬","h.heDan":"鹖鴠不鸣","h.huShi":"虎始交","h.liTing":"荔挺出","ts.zhan":"占","ts.hu":"户","ts.win":"窗","ts.fang":"房","ts.chuang":"床","ts.lu":"炉","ts.zao":"灶","ts.dui":"碓","ts.mo":"磨","ts.xi":"栖","ts.chu":"厨","ts.ce":"厕","ts.cang":"仓","ts.cangKu":"仓库","ts.daMen":"大门","ts.men":"门","ts.tang":"堂","ly.xianSheng":"先胜","ly.xianFu":"先负","ly.youYin":"友引","ly.foMie":"佛灭","ly.daAn":"大安","ly.chiKou":"赤口","yj.jiSi":"祭祀","yj.qiFu":"祈福","yj.qiuSi":"求嗣","yj.kaiGuang":"开光","yj.suHui":"塑绘","yj.qiJiao":"齐醮","yj.zhaiJiao":"斋醮","yj.muYu":"沐浴","yj.chouShen":"酬神","yj.zaoMiao":"造庙","yj.siZhao":"祀灶","yj.fenXiang":"焚香","yj.xieTu":"谢土","yj.chuHuo":"出火","yj.diaoKe":"雕刻","yj.jiaQu":"嫁娶","yj.DingHun":"订婚","yj.naCai":"纳采","yj.wenMing":"问名","yj.naXu":"纳婿","yj.guiNing":"归宁","yj.anChuang":"安床","yj.heZhang":"合帐","yj.guanJi":"冠笄","yj.dingMeng":"订盟","yj.jinRenKou":"进人口","yj.caiYi":"裁衣","yj.wanMian":"挽面","yj.kaiRong":"开容","yj.xiuFen":"修坟","yj.qiZuan":"启钻","yj.poTu":"破土","yj.anZang":"安葬","yj.liBei":"立碑","yj.chengFu":"成服","yj.chuFu":"除服","yj.kaiShengFen":"开生坟","yj.heShouMu":"合寿木","yj.ruLian":"入殓","yj.yiJiu":"移柩","yj.puDu":"普渡","yj.ruZhai":"入宅","yj.anXiang":"安香","yj.anMen":"安门","yj.xiuZao":"修造","yj.qiJi":"起基","yj.dongTu":"动土","yj.shangLiang":"上梁","yj.shuZhu":"竖柱","yj.kaiJing":"开井开池","yj.zuoBei":"作陂放水","yj.chaiXie":"拆卸","yj.poWu":"破屋","yj.huaiYuan":"坏垣","yj.buYuan":"补垣","yj.faMuZuoLiang":"伐木做梁","yj.zuoZhao":"作灶","yj.jieChu":"解除","yj.kaiZhuYan":"开柱眼","yj.chuanPing":"穿屏扇架","yj.gaiWuHeJi":"盖屋合脊","yj.kaiCe":"开厕","yj.zaoCang":"造仓","yj.saiXue":"塞穴","yj.pingZhi":"平治道涂","yj.zaoQiao":"造桥","yj.zuoCe":"作厕","yj.zhuDi":"筑堤","yj.kaiChi":"开池","yj.faMu":"伐木","yj.kaiQu":"开渠","yj.jueJing":"掘井","yj.saoShe":"扫舍","yj.fangShui":"放水","yj.zaoWu":"造屋","yj.heJi":"合脊","yj.zaoChuChou":"造畜稠","yj.xiuMen":"修门","yj.dingSang":"定磉","yj.zuoLiang":"作梁","yj.xiuShi":"修饰垣墙","yj.jiaMa":"架马","yj.kaiShi":"开市","yj.guaBian":"挂匾","yj.naChai":"纳财","yj.qiuCai":"求财","yj.kaiCang":"开仓","yj.maiChe":"买车","yj.zhiChan":"置产","yj.guYong":"雇佣","yj.chuHuoCai":"出货财","yj.anJiXie":"安机械","yj.zaoCheQi":"造车器","yj.jingLuo":"经络","yj.yunNiang":"酝酿","yj.zuoRan":"作染","yj.guZhu":"鼓铸","yj.zaoChuan":"造船","yj.geMi":"割蜜","yj.zaiZhong":"栽种","yj.quYu":"取渔","yj.jieWang":"结网","yj.muYang":"牧养","yj.anDuiWei":"安碓磑","yj.xiYi":"习艺","yj.ruXue":"入学","yj.liFa":"理发","yj.tanBing":"探病","yj.jianGui":"见贵","yj.chengChuan":"乘船","yj.duShui":"渡水","yj.zhenJiu":"针灸","yj.chuXing":"出行","yj.yiXi":"移徙","yj.fenJu":"分居","yj.TiTou":"剃头","yj.zhengShou":"整手足甲","yj.naChu":"纳畜","yj.buZhuo":"捕捉","yj.tianLie":"畋猎","yj.jiaoNiuMa":"教牛马","yj.huiQinYou":"会亲友","yj.fuRen":"赴任","yj.qiuYi":"求医","yj.zhiBing":"治病","yj.ciSong":"词讼","yj.qiJiDongTu":"起基动土","yj.poWuHuaiYuan":"破屋坏垣","yj.gaiWu":"盖屋","yj.zaoCangKu":"造仓库","yj.liQuanJiaoYi":"立券交易","yj.jiaoYi":"交易","yj.liQuan":"立券","yj.anJi":"安机","yj.huiYou":"会友","yj.qiuYiLiaoBing":"求医疗病","yj.zhuShi":"诸事不宜","yj.yuShi":"馀事勿取","yj.xingSang":"行丧","yj.duanYi":"断蚁","yj.guiXiu":"归岫","xx.bi":"毕","xx.yi":"翼","xx.ji":"箕","xx.kui":"奎","xx.gui":"鬼","xx.di":"氐","xx.xu":"虚","xx.wei":"危","xx.zi":"觜","xx.zhen":"轸","xx.dou":"斗","xx.lou":"娄","xx.liu":"柳","xx.fang":"房","xx.xin":"心","xx.shi":"室","xx.can":"参","xx.jiao":"角","xx.niu":"牛","xx.vei":"胃","xx.xing":"星","xx.zhang":"张","xx.tail":"尾","xx.qiang":"壁","xx.jing":"井","xx.kang":"亢","xx.nv":"女","xx.mao":"昴","sz.chun":"春","sz.xia":"夏","sz.qiu":"秋","sz.dong":"冬","od.first":"孟","od.second":"仲","od.third":"季","yx.shuo":"朔","yx.jiShuo":"既朔","yx.eMeiXin":"蛾眉新","yx.eMei":"蛾眉","yx.xi":"夕","yx.shangXian":"上弦","yx.jiuYe":"九夜","yx.night":"宵","yx.jianYingTu":"渐盈凸","yx.xiaoWang":"小望","yx.wang":"望","yx.jiWang":"既望","yx.liDai":"立待","yx.juDai":"居待","yx.qinDai":"寝待","yx.gengDai":"更待","yx.jianKuiTu":"渐亏凸","yx.xiaXian":"下弦","yx.youMing":"有明","yx.eMeiCan":"蛾眉残","yx.can":"残","yx.xiao":"晓","yx.hui":"晦","ny.sangZhe":"桑柘","ny.baiLa":"白蜡","ny.yangLiu":"杨柳","ny.jinBo":"金箔","ny.haiZhong":"海中","ny.daHai":"大海","ny.shaZhong":"沙中","ny.luZhong":"炉中","ny.shanXia":"山下","ny.daLin":"大林","ny.pingDi":"平地","ny.luPang":"路旁","ny.biShang":"壁上","ny.jianFeng":"剑锋","ny.shanTou":"山头","ny.fuDeng":"覆灯","ny.jianXia":"涧下","ny.tianHe":"天河","ny.chengTou":"城头","ny.daYi":"大驿","ny.chaiChuan":"钗钏","ny.quanZhong":"泉中","ny.daXi":"大溪","ny.wuShang":"屋上","ny.piLi":"霹雳","ny.tianShang":"天上","ny.songBo":"松柏","ny.shiLiu":"石榴","ny.changLiu":"长流"},en:{"tg.jia":"Jia","tg.yi":"Yi","tg.bing":"Bing","tg.ding":"Ding","tg.wu":"Wu","tg.ji":"Ji","tg.geng":"Geng","tg.xin":"Xin","tg.ren":"Ren","tg.gui":"Gui","dz.zi":"Zi","dz.chou":"Chou","dz.yin":"Yin","dz.mao":"Mao","dz.chen":"Chen","dz.si":"Si","dz.wu":"Wu","dz.wei":"Wei","dz.shen":"Shen","dz.you":"You","dz.xu":"Xu","dz.hai":"Hai","zx.jian":"Build","zx.chu":"Remove","zx.man":"Full","zx.ping":"Flat","zx.ding":"Stable","zx.zhi":"Hold","zx.po":"Break","zx.wei":"Danger","zx.cheng":"Complete","zx.shou":"Collect","zx.kai":"Open","zx.bi":"Close","jz.jiaZi":"JiaZi","jz.yiChou":"YiChou","jz.bingYin":"BingYin","jz.dingMao":"DingMao","jz.wuChen":"WuChen","jz.jiSi":"JiSi","jz.gengWu":"GengWu","jz.xinWei":"XinWei","jz.renShen":"RenShen","jz.guiYou":"GuiYou","jz.jiaXu":"JiaXu","jz.yiHai":"YiHai","jz.bingZi":"BingZi","jz.dingChou":"DingChou","jz.wuYin":"WuYin","jz.jiMao":"JiMao","jz.gengChen":"GengChen","jz.xinSi":"XinSi","jz.renWu":"RenWu","jz.guiWei":"GuiWei","jz.jiaShen":"JiaShen","jz.yiYou":"YiYou","jz.bingXu":"BingXu","jz.dingHai":"DingHai","jz.wuZi":"WuZi","jz.jiChou":"JiChou","jz.gengYin":"GengYin","jz.xinMao":"XinMao","jz.renChen":"RenChen","jz.guiSi":"GuiSi","jz.jiaWu":"JiaWu","jz.yiWei":"YiWei","jz.bingShen":"BingShen","jz.dingYou":"DingYou","jz.wuXu":"WuXu","jz.jiHai":"JiHai","jz.gengZi":"GengZi","jz.xinChou":"XinChou","jz.renYin":"RenYin","jz.guiMao":"GuiMao","jz.jiaChen":"JiaChen","jz.yiSi":"YiSi","jz.bingWu":"BingWu","jz.dingWei":"DingWei","jz.wuShen":"WuShen","jz.jiYou":"JiYou","jz.gengXu":"GengXu","jz.xinHai":"XinHai","jz.renZi":"RenZi","jz.guiChou":"GuiChou","jz.jiaYin":"JiaYin","jz.yiMao":"YiMao","jz.bingChen":"BingChen","jz.dingSi":"DingSi","jz.wuWu":"WuWu","jz.jiWei":"JiWei","jz.gengShen":"GengShen","jz.xinYou":"XinYou","jz.renXu":"RenXu","jz.guiHai":"GuiHai","sx.rat":"Rat","sx.ox":"Ox","sx.tiger":"Tiger","sx.rabbit":"Rabbit","sx.dragon":"Dragon","sx.snake":"Snake","sx.horse":"Horse","sx.goat":"Goat","sx.monkey":"Monkey","sx.rooster":"Rooster","sx.dog":"Dog","sx.pig":"Pig","dw.long":"Dragon","dw.niu":"Ox","dw.gou":"Dog","dw.yang":"Goat","dw.tu":"Rabbit","dw.shu":"Rat","dw.ji":"Rooster","dw.ma":"Horse","dw.hu":"Tiger","dw.zhu":"Pig","dw.hou":"Monkey","dw.she":"Snake","dw.huLi":"Fox","dw.yan":"Swallow","dw.bao":"Leopard","dw.yuan":"Ape","dw.yin":"Earthworm","dw.lu":"Deer","dw.wu":"Crow","dw.lang":"Wolf","dw.fu":"Bat","wx.jin":"Metal","wx.mu":"Wood","wx.shui":"Water","wx.huo":"Fire","wx.tu":"Earth","wx.ri":"Sun","wx.yue":"Moon","n.zero":"0","n.one":"1","n.two":"2","n.three":"3","n.four":"4","n.five":"5","n.six":"6","n.seven":"7","n.eight":"8","n.nine":"9","n.ten":"10","n.eleven":"11","n.twelve":"12","w.sun":"Sunday","w.mon":"Monday","w.tues":"Tuesday","w.wed":"Wednesday","w.thur":"Thursday","w.fri":"Friday","w.sat":"Saturday","xz.aries":"Aries","xz.taurus":"Taurus","xz.gemini":"Gemini","xz.cancer":"Cancer","xz.leo":"Leo","xz.virgo":"Virgo","xz.libra":"Libra","xz.scorpio":"Scorpio","xz.sagittarius":"Sagittarius","xz.capricornus":"Capricornus","xz.aquarius":"Aquarius","xz.pisces":"Pisces","bg.qian":"Qian","bg.kun":"Kun","bg.zhen":"Zhen","bg.xun":"Xun","bg.kan":"Kan","bg.li":"Li","bg.gen":"Gen","bg.dui":"Dui","ps.center":"Center","ps.dong":"East","ps.nan":"South","ps.xi":"West","ps.bei":"North","ps.zhong":"Center","ps.zhengDong":"East","ps.zhengNan":"South","ps.zhengXi":"West","ps.zhengBei":"North","ps.dongBei":"Northeast","ps.dongNan":"Southeast","ps.xiBei":"Northwest","ps.xiNan":"Southwest","jq.dongZhi":"Winter Solstice","jq.xiaoHan":"Lesser Cold","jq.daHan":"Great Cold","jq.liChun":"Spring Beginning","jq.yuShui":"Rain Water","jq.jingZhe":"Awakening from Hibernation","jq.chunFen":"Spring Equinox","jq.qingMing":"Fresh Green","jq.guYu":"Grain Rain","jq.liXia":"Beginning of Summer","jq.xiaoMan":"Lesser Fullness","jq.mangZhong":"Grain in Ear","jq.xiaZhi":"Summer Solstice","jq.xiaoShu":"Lesser Heat","jq.daShu":"Greater Heat","jq.liQiu":"Beginning of Autumn","jq.chuShu":"End of Heat","jq.baiLu":"White Dew","jq.qiuFen":"Autumnal Equinox","jq.hanLu":"Cold Dew","jq.shuangJiang":"First Frost","jq.liDong":"Beginning of Winter","jq.xiaoXue":"Light Snow","jq.daXue":"Heavy Snow","sn.qingLong":"Azure Dragon","sn.baiHu":"White Tiger","sn.zhuQue":"Rosefinch","sn.xuanWu":"Black Tortoise","sn.tianEn":"Serene Grace","sn.siShen":"Death","sn.tianMa":"Pegasus","sn.baLong":"Eight Dragon","sn.jiuHu":"Nine Tiger","sn.qiNiao":"Seven Bird","sn.liuShe":"Six Snake","s.none":"None","s.goodLuck":"Good luck","s.badLuck":"Bad luck","s.yin":"Yin","s.yang":"Yang","s.white":"White","s.black":"Black","s.blue":"Blue","s.green":"Green","s.yellow":"Yellow","s.red":"Red","s.purple":"Purple","jr.chuXi":"Chinese New Year's Eve","jr.chunJie":"Luna New Year","jr.yuanXiao":"Lantern Festival","jr.duanWu":"Dragon Boat Festival","jr.qiXi":"Begging Festival","jr.zhongQiu":"Mid-Autumn Festival","jr.laBa":"Laba Festival","jr.yuanDan":"New Year's Day","jr.qingRen":"Valentine's Day","jr.fuNv":"Women's Day","jr.xiaoFei":"Consumer Rights Day","jr.zhiShu":"Arbor Day","jr.wuYi":"International Worker's Day","jr.erTong":"Children's Day","jr.qingNian":"Youth Day","jr.yuRen":"April Fools' Day","jr.jianDang":"Party's Day","jr.jianJun":"Army Day","jr.jiaoShi":"Teachers' Day","jr.guoQing":"National Day","jr.wanShengYe":"All Saints' Eve","jr.wanSheng":"All Saints' Day","jr.pingAn":"Christmas Eve","jr.shengDan":"Christmas Day","ts.zhan":"At","ts.hu":"Household","ts.zao":"Cooker","ts.dui":"Pestle","ts.xi":"Habitat","ts.win":"Window","ts.fang":"Room","ts.chuang":"Bed","ts.lu":"Stove","ts.mo":"Mill","ts.chu":"Kitchen","ts.ce":"Toilet","ts.cang":"Depot","ts.cangKu":"Depot","ts.daMen":"Gate","ts.men":"Door","ts.tang":"Hall","ly.xianSheng":"Win first","ly.xianFu":"Lose first","ly.youYin":"Friend's referral","ly.foMie":"Buddhism's demise","ly.daAn":"Great safety","ly.chiKou":"Chikagoro","yj.jiSi":"Sacrifice","yj.qiFu":"Pray","yj.qiuSi":"Seek heirs","yj.kaiGuang":"Consecretion","yj.suHui":"Paint sculptural","yj.qiJiao":"Build altar","yj.zhaiJiao":"Taoist rites","yj.muYu":"Bathing","yj.chouShen":"Reward gods","yj.zaoMiao":"Build temple","yj.siZhao":"Offer kitchen god","yj.fenXiang":"Burn incense","yj.xieTu":"Earth gratitude","yj.chuHuo":"Expel the flame","yj.diaoKe":"Carving","yj.jiaQu":"Marriage","yj.DingHun":"Engagement","yj.naCai":"Proposing","yj.wenMing":"Ask name","yj.naXu":"Uxorilocal marriage","yj.guiNing":"Visit parents","yj.anChuang":"Bed placing","yj.heZhang":"Make up accounts","yj.guanJi":"Crowning adulthood","yj.dingMeng":"Make alliance","yj.jinRenKou":"Adopt","yj.caiYi":"Dressmaking","yj.wanMian":"Cosmeticsurgery","yj.kaiRong":"Open face","yj.xiuFen":"Grave repair","yj.qiZuan":"Open coffin","yj.poTu":"Break earth","yj.anZang":"Burial","yj.liBei":"Tombstone erecting","yj.chengFu":"Formation of clothes","yj.chuFu":"Mourning clothes removal","yj.kaiShengFen":"Open grave","yj.heShouMu":"Make coffin","yj.ruLian":"Body placing","yj.yiJiu":"Move coffin","yj.puDu":"Save soul","yj.ruZhai":"Enter house","yj.anXiang":"Incenst placement","yj.anMen":"Door placing","yj.xiuZao":"Repair","yj.qiJi":"Digging","yj.dongTu":"Break ground","yj.shangLiang":"Beam placing","yj.shuZhu":"Erecting pillars","yj.kaiJing":"Open pond and well","yj.zuoBei":"Make pond and fill water","yj.chaiXie":"Smash house","yj.poWu":"Break house","yj.huaiYuan":"Demolish","yj.buYuan":"Mending","yj.faMuZuoLiang":"Make beams","yj.zuoZhao":"Make stove","yj.jieChu":"Removal","yj.kaiZhuYan":"Build beam","yj.chuanPing":"Build door","yj.gaiWuHeJi":"Cover house","yj.kaiCe":"Open toilet","yj.zaoCang":"Build depot","yj.saiXue":"Block nest","yj.pingZhi":"Repair roads","yj.zaoQiao":"Build bridge","yj.zuoCe":"Build toilet","yj.zhuDi":"Fill","yj.kaiChi":"Open pond","yj.faMu":"Lumbering","yj.kaiQu":"Canalization","yj.jueJing":"Dig well","yj.saoShe":"Sweep house","yj.fangShui":"Drainage","yj.zaoWu":"Build house","yj.heJi":"Close ridge","yj.zaoChuChou":"Livestock thickening","yj.xiuMen":"Repair door","yj.dingSang":"Fix stone","yj.zuoLiang":"Beam construction","yj.xiuShi":"Decorate wall","yj.jiaMa":"Erect horse","yj.kaiShi":"Opening","yj.guaBian":"Hang plaque","yj.naChai":"Accept wealth","yj.qiuCai":"Seek wealth","yj.kaiCang":"Open depot","yj.maiChe":"Buy car","yj.zhiChan":"Buy property","yj.guYong":"Hire","yj.chuHuoCai":"Delivery","yj.anJiXie":"Build machine","yj.zaoCheQi":"Build car","yj.jingLuo":"Build loom","yj.yunNiang":"Brew","yj.zuoRan":"Dye","yj.guZhu":"Cast","yj.zaoChuan":"Build boat","yj.geMi":"Harvest honey","yj.zaiZhong":"Farming","yj.quYu":"Fishing","yj.jieWang":"Netting","yj.muYang":"Graze","yj.anDuiWei":"Build rub","yj.xiYi":"Learn","yj.ruXue":"Enter school","yj.liFa":"Haircut","yj.tanBing":"Visiting","yj.jianGui":"Meet noble","yj.chengChuan":"Ride boat","yj.duShui":"Cross water","yj.zhenJiu":"Acupuncture","yj.chuXing":"Travel","yj.yiXi":"Move","yj.fenJu":"Live apart","yj.TiTou":"Shave","yj.zhengShou":"Manicure","yj.naChu":"Feed livestock","yj.buZhuo":"Catch","yj.tianLie":"Hunt","yj.jiaoNiuMa":"Train horse","yj.huiQinYou":"Meet friends","yj.fuRen":"Go post","yj.qiuYi":"See doctor","yj.zhiBing":"Treat","yj.ciSong":"Litigation","yj.qiJiDongTu":"Lay foundation","yj.poWuHuaiYuan":"Demolish","yj.gaiWu":"Build house","yj.zaoCangKu":"Build depot","yj.liQuanJiaoYi":"Covenant trade","yj.jiaoYi":"Trade","yj.liQuan":"Covenant","yj.anJi":"Install machine","yj.huiYou":"Meet friends","yj.qiuYiLiaoBing":"Seek treatment","yj.zhuShi":"Everything Sucks","yj.yuShi":"Do nothing else","yj.xingSang":"Funeral","yj.duanYi":"Block ant hole","yj.guiXiu":"Place beam","xx.bi":"Finish","xx.yi":"Wing","xx.ji":"Sieve","xx.kui":"Qui","xx.gui":"Ghost","xx.di":"Foundation","xx.xu":"Virtual","xx.wei":"Danger","xx.zi":"Mouth","xx.zhen":"Cross-bar","xx.dou":"Fight","xx.lou":"Weak","xx.liu":"Willow","xx.fang":"House","xx.xin":"Heart","xx.shi":"Room","xx.can":"Join","xx.jiao":"Horn","xx.niu":"Ox","xx.vei":"Stomach","xx.xing":"Star","xx.zhang":"Chang","xx.tail":"Tail","xx.qiang":"Wall","xx.jing":"Well","xx.kang":"Kang","xx.nv":"Female","xx.mao":"Mao","sz.chun":"Spring","sz.xia":"Summer","sz.qiu":"Autumn","sz.dong":"Winter","yx.shuo":"New","yx.eMeiXin":"New waxing","yx.eMei":"Waxing","yx.xi":"Evening","yx.shangXian":"First quarter","yx.jiuYe":"Nine night","yx.night":"Night","yx.jianYingTu":"Gibbous","yx.xiaoWang":"Little full","yx.wang":"Full","yx.jianKuiTu":"Disseminating","yx.xiaXian":"Third quarter","yx.eMeiCan":"Waning waxing","yx.can":"Waning","yx.xiao":"Daybreak","yx.hui":"Obscure","ny.sangZhe":"Cudrania","ny.baiLa":"Wax","ny.yangLiu":"Willow","ny.jinBo":"Foil","ny.haiZhong":"Sea","ny.daHai":"Ocean","ny.shaZhong":"Sand","ny.luZhong":"Stove","ny.shanXia":"Piedmont","ny.daLin":"Forest","ny.pingDi":"Land","ny.luPang":"Roadside","ny.biShang":"Wall","ny.jianFeng":"Blade","ny.shanTou":"Hilltop","ny.fuDeng":"Light","ny.jianXia":"Valleyn","ny.tianHe":"River","ny.chengTou":"City","ny.daYi":"Post","ny.chaiChuan":"Ornaments","ny.quanZhong":"Spring","ny.daXi":"Stream","ny.wuShang":"Roof","ny.piLi":"Thunderbolt","ny.tianShang":"Sky","ny.songBo":"Coniferin","ny.shiLiu":"Pomegranate","ny.changLiu":"Flows"}},j={LunarUtil:ce,SolarUtil:le,TaoUtil:ye,FotoUtil:fe,NineStarUtil:ve},L={LunarUtil:{TIAN_SHEN_TYPE:{},TIAN_SHEN_TYPE_LUCK:{},XIU_LUCK:{},LU:{},XIU:{},SHA:{},POSITION_DESC:{},NAYIN:{},WU_XING_GAN:{},WU_XING_ZHI:{},SHOU:{},GONG:{},FESTIVAL:{},ZHENG:{},ANIMAL:{},SHI_SHEN:{},XIU_SONG:{}},SolarUtil:{FESTIVAL:{}},TaoUtil:{BA_HUI:{},BA_JIE:{}}},R={LunarUtil:{ZHI_TIAN_SHEN_OFFSET:{},CHANG_SHENG_OFFSET:{}}},z={LunarUtil:{ZHI_HIDE_GAN:{}}},H={LunarUtil:{GAN:[],ZHI:[],JIA_ZI:[],ZHI_XING:[],XUN:[],XUN_KONG:[],CHONG:[],CHONG_GAN:[],CHONG_GAN_TIE:[],HE_GAN_5:[],HE_ZHI_6:[],SHENGXIAO:[],NUMBER:[],POSITION_XI:[],POSITION_YANG_GUI:[],POSITION_YIN_GUI:[],POSITION_FU:[],POSITION_FU_2:[],POSITION_CAI:[],POSITION_TAI_SUI_YEAR:[],POSITION_GAN:[],POSITION_ZHI:[],JIE_QI:[],JIE_QI_IN_USE:[],TIAN_SHEN:[],SHEN_SHA:[],PENGZU_GAN:[],PENGZU_ZHI:[],MONTH_ZHI:[],CHANG_SHENG:[],HOU:[],WU_HOU:[],POSITION_TAI_DAY:[],POSITION_TAI_MONTH:[],YI_JI:[],LIU_YAO:[],MONTH:[],SEASON:[],DAY:[],YUE_XIANG:[]},SolarUtil:{WEEK:[],XINGZUO:[]},TaoUtil:{AN_WU:[]},FotoUtil:{XIU_27:[]},NineStarUtil:{NUMBER:[],WU_XING:[],POSITION:[],LUCK_XUAN_KONG:[],YIN_YANG_QI_MEN:[],COLOR:[]}},$=function(e){var t=H[e],a=j[e];for(var n in t)for(var r=t[n],s=0,i=r.length;st.id===e);if(a)return a.title}return e}("clock"),a=St(!0),n=St(!0),r=St(!0),s=St(!0),i=St(!0),o=St("digital"),{isFullscreen:l,toggleFullscreen:c,setDoubleClickElement:u}=iF(!0),d=St(new Date),h=St(null),p=St(null),{success:f}=Vo(),m=is(()=>{const e=d.value;if(i.value)return e.getHours().toString().padStart(2,"0");{const t=e.getHours();return(0===t?12:t>12?t-12:t).toString().padStart(2,"0")}}),g=is(()=>d.value.getMinutes().toString().padStart(2,"0")),y=is(()=>d.value.getSeconds().toString().padStart(2,"0")),v=is(()=>d.value.getMilliseconds().toString().padStart(3,"0")),b=is(()=>i.value?"":d.value.getHours()>=12?"PM":"AM"),w=is(()=>d.value.toLocaleDateString("zh-CN",{year:"numeric",month:"long",day:"numeric"})),x=is(()=>{if(!r.value)return"";const e=d.value;return F(e)}),k=is(()=>{if(!s.value)return"";return d.value.toLocaleDateString("zh-CN",{weekday:"long"})}),_=is(()=>{const e=d.value;return 30*(e.getHours()%12)+.5*e.getMinutes()}),E=is(()=>{const e=d.value;return 6*e.getMinutes()+.1*e.getSeconds()}),C=is(()=>6*d.value.getSeconds()),F=e=>{try{const t=XD.Solar.fromDate(e).getLunar(),a=t.getYearInGanZhi(),n=t.getYearShengXiao(),r=t.getMonth();return`农历${a}年 (${n}年) ${["正月","二月","三月","四月","五月","六月","七月","八月","九月","十月","十一月","腊月"][r-1]||"未知月"}${t.getDayInChinese()}`}catch(t){console.error("农历计算错误:",t);const a=e.getFullYear();return`农历${["甲","乙","丙","丁","戊","己","庚","辛","壬","癸"][(a-4)%10]}${["子","丑","寅","卯","辰","巳","午","未","申","酉","戌","亥"][(a-4)%12]}年 (${["鼠","牛","虎","兔","龙","蛇","马","羊","猴","鸡","狗","猪"][(a-4)%12]}年)`}},D=()=>{d.value=new Date},A=()=>{const e=["minimal","digital","analog","card","immersive"],t=e.indexOf(o.value),a=e[(t+1)%e.length];a&&(o.value=a);f(`切换到${{minimal:"简约白色风格",digital:"数字显示屏风格",analog:"模拟时钟风格",card:"卡片式设计",immersive:"全屏沉浸式"}[o.value]}`)},T=()=>{i.value=!i.value,f(`切换到${i.value?"24":"12"}小时制`)},S=()=>{r.value=!r.value,f((r.value?"显示":"隐藏")+"农历")},I=()=>{n.value=!n.value,f((n.value?"显示":"隐藏")+"毫秒")},N=e=>{"Escape"===e.code?(e.preventDefault(),l.value&&c()):"KeyF"!==e.code&&"F11"!==e.code||(e.preventDefault(),c())};return nn(()=>{D(),h.value=window.setInterval(D,10),document.addEventListener("keydown",N),Zt(()=>{p.value&&u(p.value)}),f("双击时钟进入全屏模式")}),ln(()=>{h.value&&clearInterval(h.value),document.removeEventListener("keydown",N)}),(e,u)=>(Cr(),Tr("div",{class:Q(["clock",[{fullscreen:Nt(l)},`style-${o.value}`]])},[Nt(l)?Rr("",!0):(Cr(),Sr(hl,{key:0,title:Nt(t),onBack:u[0]||(u[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"settings",tooltip:"切换风格",onClick:A}),Or(jl,{icon:"clock",tooltip:i.value?"切换到12小时制":"切换到24小时制",onClick:T},null,8,["tooltip"]),Or(jl,{icon:"eye",tooltip:n.value?"隐藏毫秒":"显示毫秒",onClick:I},null,8,["tooltip"]),Or(jl,{icon:"moon",tooltip:r.value?"隐藏农历":"显示农历",onClick:S},null,8,["tooltip"]),Or(jl,{icon:"fullscreen",tooltip:"全屏显示",onClick:Nt(c)},null,8,["onClick"])]),_:1},8,["title"])),Mr("div",QD,[Mr("div",{class:Q(["digital-display",o.value]),ref_key:"digitalDisplayRef",ref:p},["analog"!==o.value?(Cr(),Tr("div",eA,[Mr("div",tA,[Mr("span",aA,se(m.value),1),Mr("span",{class:Q(["separator",{blink:a.value}])},":",2),Mr("span",nA,se(g.value),1),a.value?(Cr(),Tr("span",rA,":")):Rr("",!0),a.value?(Cr(),Tr("span",sA,se(y.value),1)):Rr("",!0),a.value&&n.value?(Cr(),Tr("span",iA,".")):Rr("",!0),a.value&&n.value?(Cr(),Tr("span",oA,se(v.value),1)):Rr("",!0)]),i.value?Rr("",!0):(Cr(),Tr("div",lA,se(b.value),1))])):Rr("",!0),"analog"===o.value?(Cr(),Tr("div",cA,[(Cr(),Tr(br,null,yn(12,e=>Mr("div",{key:`hour-tick-${e}`,class:"hour-tick",style:K({transform:`rotate(${30*e}deg)`})},[Mr("div",{class:"tick-number",style:K({transform:`rotate(${30*-e}deg)`})},se(e),5)],4)),64)),(Cr(),Tr(br,null,yn(60,e=>ca(Mr("div",{key:`minute-tick-${e}`,class:"minute-tick",style:K({transform:`rotate(${6*e}deg)`})},null,4),[[Os,e%5!=0]])),64)),Mr("div",uA,[Mr("div",dA,se(d.value.getDate()),1)]),Mr("div",hA,[Mr("div",pA,se(["SUN","MON","TUE","WED","THU","FRI","SAT"][d.value.getDay()]||"SUN"),1)]),Mr("div",{class:"clock-hour-hand",style:K({transform:`rotate(${_.value}deg)`})},null,4),Mr("div",{class:"clock-minute-hand",style:K({transform:`rotate(${E.value}deg)`})},null,4),a.value?(Cr(),Tr("div",{key:0,class:"clock-second-hand",style:K({transform:`rotate(${C.value}deg)`})},null,4)):Rr("",!0),u[1]||(u[1]=Mr("div",{class:"clock-center"},null,-1))])):Rr("",!0),"analog"!==o.value?(Cr(),Tr("div",fA,[Mr("div",mA,se(w.value),1),r.value?(Cr(),Tr("div",gA,se(x.value),1)):Rr("",!0),s.value?(Cr(),Tr("div",yA,se(k.value),1)):Rr("",!0)])):Rr("",!0)],2)])],2))}}),bA=Wi(vA,[["__scopeId","data-v-5830a910"]]),wA={class:"timezone-converter"},xA={class:"converter-content"},kA={class:"world-clock-section"},_A={class:"world-clock-grid"},EA=["onClick"],CA={class:"clock-header"},FA={class:"city-name"},DA={class:"timezone-code"},AA={class:"time-display"},TA={class:"time-value"},SA={class:"date-value"},IA={class:"quick-convert-section"},NA={class:"quick-convert-container"},PA={class:"convert-card"},BA={class:"convert-inputs"},MA={class:"timezone-selector"},OA={class:"timezone-input-group"},UA=["value"],jA={class:"timezone-selector"},LA={class:"timezone-input-group"},RA=["value"],zA={class:"datetime-inputs"},HA={class:"datetime-group"},$A={class:"input-wrapper"},YA={class:"input-wrapper"},GA={key:0,class:"conversion-result"},WA={class:"result-items"},VA={class:"result-item source"},KA={class:"result-value"},JA={class:"result-item target"},qA={class:"result-value"},ZA={class:"time-difference"},XA={class:"diff-value"},QA={class:"meeting-planner-section"},eT={class:"meeting-planner-container"},tT={class:"meeting-setup"},aT={class:"meeting-basic-info"},nT={class:"meeting-datetime"},rT={class:"input-wrapper"},sT={class:"input-wrapper"},iT={class:"input-wrapper"},oT=["value"],lT={class:"participants-section"},cT={class:"participants-list"},uT=["onUpdate:modelValue"],dT=["onUpdate:modelValue"],hT=["value"],pT=["onClick"],fT={key:0,class:"meeting-plan"},mT={class:"plan-content"},gT={class:"plan-participant"},yT={class:"participant-info"},vT={class:"participant-name"},bT={class:"participant-timezone"},wT={class:"participant-status"},xT={class:"plan-time"},kT={class:"plan-datetime"},_T=$a({__name:"TimezoneConverter",emits:["back"],setup(e){il("timezone-convert");const{copyToClipboard:t}=ll(),{success:a,error:n}=Vo(),r=[{name:"奥克兰",code:"UTC+12",zone:"Pacific/Auckland"},{name:"悉尼",code:"UTC+10",zone:"Australia/Sydney"},{name:"东京",code:"UTC+9",zone:"Asia/Tokyo"},{name:"首尔",code:"UTC+9",zone:"Asia/Seoul"},{name:"北京",code:"UTC+8",zone:"Asia/Shanghai"},{name:"新加坡",code:"UTC+8",zone:"Asia/Singapore"},{name:"曼谷",code:"UTC+7",zone:"Asia/Bangkok"},{name:"孟买",code:"UTC+5:30",zone:"Asia/Kolkata"},{name:"迪拜",code:"UTC+4",zone:"Asia/Dubai"},{name:"莫斯科",code:"UTC+3",zone:"Europe/Moscow"},{name:"巴黎",code:"UTC+1",zone:"Europe/Paris"},{name:"伦敦",code:"UTC+0",zone:"Europe/London"},{name:"圣保罗",code:"UTC-3",zone:"America/Sao_Paulo"},{name:"纽约",code:"UTC-5",zone:"America/New_York"},{name:"芝加哥",code:"UTC-6",zone:"America/Chicago"},{name:"洛杉矶",code:"UTC-8",zone:"America/Los_Angeles"}],s=[{name:"北京",code:"CST",zone:"Asia/Shanghai"},{name:"东京",code:"JST",zone:"Asia/Tokyo"},{name:"首尔",code:"KST",zone:"Asia/Seoul"},{name:"新加坡",code:"SGT",zone:"Asia/Singapore"},{name:"香港",code:"HKT",zone:"Asia/Hong_Kong"},{name:"台北",code:"CST",zone:"Asia/Taipei"},{name:"曼谷",code:"ICT",zone:"Asia/Bangkok"},{name:"雅加达",code:"WIB",zone:"Asia/Jakarta"},{name:"孟买",code:"IST",zone:"Asia/Kolkata"},{name:"迪拜",code:"GST",zone:"Asia/Dubai"},{name:"伦敦",code:"GMT/BST",zone:"Europe/London"},{name:"巴黎",code:"CET/CEST",zone:"Europe/Paris"},{name:"柏林",code:"CET/CEST",zone:"Europe/Berlin"},{name:"罗马",code:"CET/CEST",zone:"Europe/Rome"},{name:"马德里",code:"CET/CEST",zone:"Europe/Madrid"},{name:"阿姆斯特丹",code:"CET/CEST",zone:"Europe/Amsterdam"},{name:"莫斯科",code:"MSK",zone:"Europe/Moscow"},{name:"纽约",code:"EST/EDT",zone:"America/New_York"},{name:"洛杉矶",code:"PST/PDT",zone:"America/Los_Angeles"},{name:"芝加哥",code:"CST/CDT",zone:"America/Chicago"},{name:"丹佛",code:"MST/MDT",zone:"America/Denver"},{name:"多伦多",code:"EST/EDT",zone:"America/Toronto"},{name:"温哥华",code:"PST/PDT",zone:"America/Vancouver"},{name:"悉尼",code:"AEST/AEDT",zone:"Australia/Sydney"},{name:"墨尔本",code:"AEST/AEDT",zone:"Australia/Melbourne"},{name:"奥克兰",code:"NZST/NZDT",zone:"Pacific/Auckland"},{name:"圣保罗",code:"BRT/BRST",zone:"America/Sao_Paulo"},{name:"布宜诺斯艾利斯",code:"ART",zone:"America/Argentina/Buenos_Aires"},{name:"开罗",code:"EET/EEST",zone:"Africa/Cairo"},{name:"约翰内斯堡",code:"SAST",zone:"Africa/Johannesburg"}],i=St("Asia/Shanghai"),o=St("America/New_York"),l=St(""),c=St(""),u=St(null),d=St(""),h=St(""),p=St("Asia/Shanghai"),f=St([]),m=St([]);let g=null;const y=St(0);nn(()=>{const e=new Date;l.value=e.toISOString().split("T")[0]||"",c.value=(e.toTimeString().split(" ")[0]||"12:00:00").substring(0,8),d.value=e.toISOString().split("T")[0]||"",h.value="14:00:00",f.value=[{name:"参会者1",timezone:"America/New_York"},{name:"参会者2",timezone:"Europe/London"}],v()}),ln(()=>{g&&clearInterval(g)});const v=()=>{g&&clearInterval(g),g=setInterval(()=>{y.value++},1e3)},b=e=>{try{const t=new Date,a=new Date(t.toLocaleString("en-US",{timeZone:"UTC"})),n=(new Date(t.toLocaleString("en-US",{timeZone:e})).getTime()-a.getTime())/6e4,r=n/60;if(0===n)return"UTC+0";const s=r>=0?"+":"";if(n%60==0)return`UTC${s}${Math.floor(r)}`;{const e=Math.floor(Math.abs(r));return`UTC${s}${r<0?"-":""}${e}:${(Math.abs(n)%60).toString().padStart(2,"0")}`}}catch(t){return"UTC"}},w=e=>{y.value;try{return(new Date).toLocaleTimeString("zh-CN",{timeZone:e,hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch(t){return"--:--:--"}},x=e=>{y.value;try{return(new Date).toLocaleDateString("zh-CN",{timeZone:e,year:"numeric",month:"2-digit",day:"2-digit"})}catch(t){return"----/--/--"}},k=()=>{const e=new Date;l.value=e.toISOString().split("T")[0]||"",c.value=(e.toTimeString().split(" ")[0]||"12:00:00").substring(0,8),a("已设置为当前时间")},_=()=>{if(l.value&&c.value)try{const e=new Date(`${l.value}T${c.value}`),t=s.find(e=>e.zone===i.value),n=s.find(e=>e.zone===o.value),r=e.toLocaleString("zh-CN",{timeZone:i.value,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}),d=e.toLocaleString("zh-CN",{timeZone:o.value,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}),h=E(i.value),p=(E(o.value)-h)/60,f=p>=0?`+${p}小时`:`${p}小时`;u.value={source:`${r} (${t?.name})`,target:`${d} (${n?.name})`,difference:f},a("时区转换完成")}catch(e){n("转换失败,请检查输入")}else n("请输入完整的日期和时间")},E=e=>{try{return C(e)}catch(t){return 0}},C=e=>{const t=new Date,a=new Date(t.toLocaleString("en-US",{timeZone:"UTC"}));return(new Date(t.toLocaleString("en-US",{timeZone:e})).getTime()-a.getTime())/6e4},F=async()=>{if(!u.value)return;const e=`时区转换结果:\n源时间: ${u.value.source}\n目标时间: ${u.value.target}\n时差: ${u.value.difference}`;await t(e)?a("转换结果已复制到剪贴板"):n("复制失败")},D=()=>{f.value.push({name:`参会者${f.value.length+1}`,timezone:"Asia/Shanghai"})},A=()=>{if(d.value&&h.value)try{const e=new Date(`${d.value}T${h.value}`),t=s.find(e=>e.zone===p.value),n=[];n.push({name:"主办方",timezoneName:t?.name||"未知",localTime:e.toLocaleString("zh-CN",{timeZone:p.value,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}),status:"host",statusText:"主办方"}),f.value.forEach(t=>{const a=s.find(e=>e.zone===t.timezone),r=e.toLocaleString("zh-CN",{timeZone:t.timezone,year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",hour12:!1}),i=r.split(" ")[1]||"12:00",o=parseInt(i.split(":")[0]||"12");let l="good",c="合适";o<6||o>22?(l="bad",c="不合适"):(o<8||o>20)&&(l="warning",c="一般"),n.push({name:t.name,timezoneName:a?.name||"未知",localTime:r,status:l,statusText:c})}),m.value=n,a("会议时间规划完成")}catch(e){n("规划失败,请检查输入")}else n("请输入会议日期和时间")},T=async()=>{if(0===m.value.length)return;let e="会议时间安排:\n\n";m.value.forEach(t=>{e+=`${t.name} (${t.timezoneName}): ${t.localTime} - ${t.statusText}\n`});await t(e)?a("会议安排已复制到剪贴板"):n("复制失败")},S=()=>{u.value=null,m.value=[],f.value=[{name:"参会者1",timezone:"America/New_York"},{name:"参会者2",timezone:"Europe/London"}],a("已清空所有数据")};return(e,g)=>(Cr(),Tr("div",wA,[Or(hl,{title:"时区转换",onBack:g[0]||(g[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:S})]),_:1}),Mr("div",xA,[Mr("div",kA,[g[8]||(g[8]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"🌍 世界时钟"),Mr("span",{class:"section-subtitle"},"实时显示全球主要城市时间,点击卡片可复制时间信息")])],-1)),Mr("div",_A,[(Cr(),Tr(br,null,yn(r,e=>Mr("div",{key:e.zone,class:"clock-card",onClick:r=>(async e=>{const r=w(e.zone),s=x(e.zone),i=`${e.name} (${e.code}): ${s} ${r}`;await t(i)?a(`已复制 ${e.name} 时间`):n("复制失败")})(e)},[Mr("div",CA,[Mr("span",FA,se(e.name),1),Mr("span",DA,se(b(e.zone)),1)]),Mr("div",AA,[Mr("div",TA,se(w(e.zone)),1),Mr("div",SA,se(x(e.zone)),1)])],8,EA)),64))])]),Mr("div",IA,[g[22]||(g[22]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"⚡ 快速转换"),Mr("span",{class:"section-subtitle"},"在不同时区之间快速转换时间")])],-1)),Mr("div",NA,[Mr("div",PA,[Mr("div",BA,[Mr("div",MA,[g[9]||(g[9]=Mr("label",null,"从",-1)),Mr("div",OA,[ca(Mr("select",{"onUpdate:modelValue":g[1]||(g[1]=e=>i.value=e),class:"timezone-select"},[(Cr(),Tr(br,null,yn(s,e=>Mr("option",{key:e.zone,value:e.zone},se(e.name)+" ("+se(e.code)+") ",9,UA)),64))],512),[[_i,i.value]])])]),g[11]||(g[11]=Mr("div",{class:"convert-arrow"},[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M5 12h14"}),Mr("path",{d:"m12 5 7 7-7 7"})])],-1)),Mr("div",jA,[g[10]||(g[10]=Mr("label",null,"到",-1)),Mr("div",LA,[ca(Mr("select",{"onUpdate:modelValue":g[2]||(g[2]=e=>o.value=e),class:"timezone-select"},[(Cr(),Tr(br,null,yn(s,e=>Mr("option",{key:e.zone,value:e.zone},se(e.name)+" ("+se(e.code)+") ",9,RA)),64))],512),[[_i,o.value]])])])]),Mr("div",zA,[Mr("div",HA,[Mr("div",$A,[g[12]||(g[12]=Mr("label",null,"日期",-1)),ca(Mr("input",{"onUpdate:modelValue":g[3]||(g[3]=e=>l.value=e),type:"date",class:"date-input"},null,512),[[bi,l.value]])]),Mr("div",YA,[g[13]||(g[13]=Mr("label",null,"时间",-1)),ca(Mr("input",{"onUpdate:modelValue":g[4]||(g[4]=e=>c.value=e),type:"time",step:"1",class:"time-input"},null,512),[[bi,c.value]])])]),Mr("div",{class:"convert-actions"},[Mr("button",{class:"now-btn",onClick:k},[...g[14]||(g[14]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("polyline",{points:"12,6 12,12 16,14"})],-1),jr(" 现在 ",-1)])]),Mr("button",{class:"convert-btn",onClick:_},[...g[15]||(g[15]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M7 16.5L12 12l5 4.5"}),Mr("path",{d:"M7 7.5L12 12l5-4.5"})],-1),jr(" 转换 ",-1)])])])])]),u.value?(Cr(),Tr("div",GA,[Mr("div",{class:"result-header"},[g[17]||(g[17]=Mr("h4",null,"转换结果",-1)),Mr("button",{class:"copy-btn",onClick:F,title:"复制结果"},[...g[16]||(g[16]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",WA,[Mr("div",VA,[g[18]||(g[18]=Mr("div",{class:"result-label"},"源时间",-1)),Mr("div",KA,se(u.value.source),1)]),g[20]||(g[20]=Mr("div",{class:"result-arrow"},[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M5 12h14"}),Mr("path",{d:"m12 5 7 7-7 7"})])],-1)),Mr("div",JA,[g[19]||(g[19]=Mr("div",{class:"result-label"},"目标时间",-1)),Mr("div",qA,se(u.value.target),1)])]),Mr("div",ZA,[g[21]||(g[21]=Mr("span",{class:"diff-label"},"时差:",-1)),Mr("span",XA,se(u.value.difference),1)])])):Rr("",!0)])]),Mr("div",QA,[g[32]||(g[32]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📅 会议时间规划"),Mr("span",{class:"section-subtitle"},"为跨时区会议找到最佳时间")])],-1)),Mr("div",eT,[Mr("div",tT,[Mr("div",aT,[Mr("div",nT,[Mr("div",rT,[g[23]||(g[23]=Mr("label",null,"会议日期",-1)),ca(Mr("input",{"onUpdate:modelValue":g[5]||(g[5]=e=>d.value=e),type:"date",class:"date-input"},null,512),[[bi,d.value]])]),Mr("div",sT,[g[24]||(g[24]=Mr("label",null,"会议时间",-1)),ca(Mr("input",{"onUpdate:modelValue":g[6]||(g[6]=e=>h.value=e),type:"time",step:"1",class:"time-input"},null,512),[[bi,h.value]])]),Mr("div",iT,[g[25]||(g[25]=Mr("label",null,"主办方时区",-1)),ca(Mr("select",{"onUpdate:modelValue":g[7]||(g[7]=e=>p.value=e),class:"timezone-select"},[(Cr(),Tr(br,null,yn(s,e=>Mr("option",{key:e.zone,value:e.zone},se(e.name)+" ("+se(e.code)+") ",9,oT)),64))],512),[[_i,p.value]])])])]),Mr("div",lT,[Mr("div",{class:"participants-header"},[g[27]||(g[27]=Mr("label",null,"参会者时区",-1)),Mr("button",{class:"add-participant-btn",onClick:D},[...g[26]||(g[26]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加参会者 ",-1)])])]),Mr("div",cT,[(Cr(!0),Tr(br,null,yn(f.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"participant-item"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.name=t,type:"text",placeholder:"参会者姓名",class:"participant-name"},null,8,uT),[[bi,e.name]]),ca(Mr("select",{"onUpdate:modelValue":t=>e.timezone=t,class:"timezone-select"},[(Cr(),Tr(br,null,yn(s,e=>Mr("option",{key:e.zone,value:e.zone},se(e.name)+" ("+se(e.code)+") ",9,hT)),64))],8,dT),[[_i,e.timezone]]),Mr("button",{class:"remove-participant-btn",onClick:e=>(e=>{f.value.splice(e,1)})(t)},[...g[28]||(g[28]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,pT)]))),128))])]),Mr("button",{class:"plan-meeting-btn",onClick:A},[...g[29]||(g[29]=[Lr(' 规划会议时间 ',2)])])]),m.value.length>0?(Cr(),Tr("div",fT,[Mr("div",{class:"plan-header"},[g[31]||(g[31]=Mr("h4",null,"会议时间安排",-1)),Mr("button",{class:"copy-plan-btn",onClick:T,title:"复制会议安排"},[...g[30]||(g[30]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",mT,[(Cr(!0),Tr(br,null,yn(m.value,e=>(Cr(),Tr("div",{key:e.name,class:Q(["plan-item",e.status])},[Mr("div",gT,[Mr("div",yT,[Mr("span",vT,se(e.name),1),Mr("span",bT,se(e.timezoneName),1)]),Mr("div",wT,[Mr("span",{class:Q(["status-badge",e.status])},se(e.statusText),3)])]),Mr("div",xT,[Mr("div",kT,se(e.localTime),1)])],2))),128))])])):Rr("",!0)])])])]))}}),ET=Wi(_T,[["__scopeId","data-v-66da35c0"]]),CT={class:"base64-converter"},FT={class:"converter-content"},DT={class:"converter-section"},AT={class:"text-converter-container"},TT={class:"input-output-grid"},ST={class:"input-section"},IT={class:"input-info"},NT={class:"char-count"},PT={class:"byte-count"},BT={class:"output-section"},MT={class:"output-info"},OT={class:"char-count"},UT={key:0,class:"compression-ratio"},jT={class:"converter-options"},LT={class:"option-checkbox"},RT={class:"converter-section"},zT={class:"file-converter-container"},HT={key:0,class:"file-info"},$T={class:"file-details"},YT={class:"file-meta"},GT={class:"file-name"},WT={class:"file-size"},VT={class:"file-type"},KT={class:"file-actions"},JT=["disabled"],qT={key:1,class:"file-result"},ZT={class:"result-info"},XT=$a({__name:"Base64Converter",emits:["back"],setup(e){il("base64-encode");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("base64-encode"),{success:a,error:n}=Vo(),r=St(""),s=St(""),i=St(!1),o=St(null),l=St(""),c=St(!1),u=St(),d=e=>new Blob([e]).size,h=()=>{if(!r.value||!s.value)return"0";const e=d(r.value);return((d(s.value)-e)/e*100).toFixed(1)},p=()=>{r.value.trim()?f():s.value=""},f=()=>{if(r.value.trim())try{let e=btoa((new TextEncoder).encode(r.value).reduce((e,t)=>e+String.fromCharCode(t),""));i.value&&(e=e.replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")),s.value=e,a("编码成功")}catch(e){n("编码失败,请检查输入内容")}else s.value=""},m=()=>{if(r.value.trim())try{let e=r.value;if(i.value)for(e=e.replace(/-/g,"+").replace(/_/g,"/");e.length%4;)e+="=";const t=atob(e),n=new Uint8Array(t.length);for(let a=0;a{const e=r.value;r.value=s.value,s.value=e,a("内容已交换")},y=async()=>{try{const e=await navigator.clipboard.readText();r.value=e,f(),a("已粘贴文本")}catch(e){n("粘贴失败")}},v=()=>{r.value="",s.value="",a("已清空输入")},b=async()=>{if(s.value)try{await navigator.clipboard.writeText(s.value),a("编码结果已复制到剪贴板")}catch(e){n("复制失败")}else n("没有可复制的内容")},w=()=>{if(!s.value)return void n("没有可下载的内容");const e=new Blob([s.value],{type:"text/plain"}),t=URL.createObjectURL(e),r=document.createElement("a");r.href=t,r.download="base64-encoded.txt",r.click(),URL.revokeObjectURL(t),a("编码结果已下载")},x=e=>{const t=e.target,r=t.files?.[0];if(r){if(r.size>10485760)return void n("文件大小不能超过10MB");o.value=r,l.value="",a("文件已选择")}},k=e=>{e.preventDefault();const t=e.dataTransfer?.files[0];if(t){if(t.size>10485760)return void n("文件大小不能超过10MB");o.value=t,l.value="",a("文件已选择")}},_=()=>{o.value=null,l.value="",u.value&&(u.value.value=""),a("文件已移除")},E=()=>{if(!o.value)return;c.value=!0;const e=new FileReader;e.onload=e=>{try{const t=e.target?.result,n=t.split(",")[1];l.value=n||"",a("文件编码完成")}catch(t){n("文件编码失败")}finally{c.value=!1}},e.onerror=()=>{n("文件读取失败"),c.value=!1},e.readAsDataURL(o.value)},C=async()=>{if(l.value)try{await navigator.clipboard.writeText(l.value),a("文件编码结果已复制")}catch(e){n("复制失败")}},F=()=>{if(!l.value)return;const e=new Blob([l.value],{type:"text/plain"}),t=URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download=`${o.value?.name||"file"}-base64.txt`,n.click(),URL.revokeObjectURL(t),a("文件编码结果已下载")},D=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]},A=()=>{r.value="",s.value="",o.value=null,l.value="",i.value=!1,u.value&&(u.value.value=""),a("已清空所有内容")};return nn(()=>{}),(e,a)=>(Cr(),Tr("div",CT,[Or(hl,{title:Nt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:A})]),_:1},8,["title"]),Mr("div",FT,[Mr("div",DT,[a[19]||(a[19]=Mr("div",{class:"section-header"},[Mr("h3",null,"文本编码解码"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对文本进行Base64编码和解码,支持URL安全格式")])],-1)),Mr("div",AT,[Mr("div",TT,[Mr("div",ST,[Mr("div",{class:"section-title"},[a[10]||(a[10]=Mr("span",null,"原始文本",-1)),Mr("div",{class:"section-actions"},[Mr("button",{class:"action-btn-small",onClick:y,title:"粘贴"},[...a[8]||(a[8]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:v,title:"清空"},[...a[9]||(a[9]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[1]||(a[1]=e=>r.value=e),placeholder:"请输入要编码的文本...",class:"text-input",onInput:p},null,544),[[bi,r.value]]),Mr("div",IT,[Mr("span",NT,"字符数: "+se(r.value.length),1),Mr("span",PT,"字节数: "+se(d(r.value)),1)])]),Mr("div",BT,[Mr("div",{class:"section-title"},[a[13]||(a[13]=Mr("span",null,"Base64编码结果",-1)),Mr("div",{class:"section-actions"},[Mr("button",{class:"action-btn-small",onClick:b,title:"复制"},[...a[11]||(a[11]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:w,title:"下载"},[...a[12]||(a[12]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[2]||(a[2]=e=>s.value=e),placeholder:"编码结果将显示在这里...",class:"text-output",readonly:""},null,512),[[bi,s.value]]),Mr("div",MT,[Mr("span",OT,"字符数: "+se(s.value.length),1),r.value&&s.value?(Cr(),Tr("span",UT," 压缩比: "+se(h())+"% ",1)):Rr("",!0)])])]),Mr("div",jT,[Mr("label",LT,[ca(Mr("input",{type:"checkbox","onUpdate:modelValue":a[3]||(a[3]=e=>i.value=e),onChange:p},null,544),[[wi,i.value]]),a[14]||(a[14]=Mr("span",{class:"checkmark"},null,-1)),a[15]||(a[15]=jr(" URL安全格式 (替换 +/= 字符) ",-1))])]),Mr("div",{class:"converter-actions"},[Mr("button",{class:"convert-btn encode",onClick:f},[...a[16]||(a[16]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M7 16.5L12 12l5 4.5"}),Mr("path",{d:"M7 7.5L12 12l5-4.5"})],-1),jr(" 编码 ",-1)])]),Mr("button",{class:"convert-btn decode",onClick:m},[...a[17]||(a[17]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M17 7.5L12 12l-5-4.5"}),Mr("path",{d:"M17 16.5L12 12l-5 4.5"})],-1),jr(" 解码 ",-1)])]),Mr("button",{class:"swap-btn",onClick:g},[...a[18]||(a[18]=[Lr(' 交换 ',2)])])])])]),Mr("div",RT,[a[27]||(a[27]=Mr("div",{class:"section-header"},[Mr("h3",null,"文件编码解码"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对文件进行Base64编码,支持图片、文档等")])],-1)),Mr("div",zT,[Mr("div",{class:"file-upload-area",onDrop:k,onDragover:a[5]||(a[5]=Ii(()=>{},["prevent"])),onDragenter:a[6]||(a[6]=Ii(()=>{},["prevent"]))},[Mr("input",{ref_key:"fileInput",ref:u,type:"file",onChange:x,class:"file-input",accept:"*/*"},null,544),Mr("div",{class:"upload-content",onClick:a[4]||(a[4]=e=>u.value?.click())},[...a[20]||(a[20]=[Lr('

    点击选择文件或拖拽文件到此处

    支持所有文件类型,最大10MB

    ',3)])])],32),o.value?(Cr(),Tr("div",HT,[Mr("div",$T,[a[22]||(a[22]=Mr("div",{class:"file-icon"},[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})])],-1)),Mr("div",YT,[Mr("div",GT,se(o.value.name),1),Mr("div",WT,se(D(o.value.size)),1),Mr("div",VT,se(o.value.type||"未知类型"),1)]),Mr("button",{class:"remove-file-btn",onClick:_},[...a[21]||(a[21]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),Mr("div",KT,[Mr("button",{class:"file-action-btn",onClick:E,disabled:c.value},[a[23]||(a[23]=Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M7 16.5L12 12l5 4.5"}),Mr("path",{d:"M7 7.5L12 12l5-4.5"})],-1)),jr(" "+se(c.value?"编码中...":"编码文件"),1)],8,JT)])])):Rr("",!0),l.value?(Cr(),Tr("div",qT,[Mr("div",{class:"result-header"},[a[26]||(a[26]=Mr("h4",null,"编码结果",-1)),Mr("div",{class:"result-actions"},[Mr("button",{class:"action-btn-small",onClick:C,title:"复制"},[...a[24]||(a[24]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:F,title:"下载"},[...a[25]||(a[25]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[7]||(a[7]=e=>l.value=e),class:"file-result-text",readonly:""},null,512),[[bi,l.value]]),Mr("div",ZT,[Mr("span",null,"原始大小: "+se(D(o.value?.size||0)),1),Mr("span",null,"编码后大小: "+se(D(d(l.value))),1)])])):Rr("",!0)])])])]))}}),QT=Wi(XT,[["__scopeId","data-v-bc649345"]]),eS={class:"url-converter"},tS={class:"converter-content"},aS={class:"converter-section"},nS={class:"url-converter-container"},rS={class:"input-output-grid"},sS={class:"input-section"},iS={class:"input-info"},oS={class:"char-count"},lS={class:"output-section"},cS={class:"section-title"},uS={class:"section-actions"},dS=["disabled"],hS={class:"output-info"},pS={class:"char-count"},fS={class:"converter-section"},mS={class:"url-parser-container"},gS={class:"parser-input"},yS={class:"input-with-button"},vS={key:0,class:"url-components"},bS={class:"component-grid"},wS={class:"component-item"},xS={class:"component-value"},kS={class:"component-item"},_S={class:"component-value"},ES={class:"component-item"},CS={class:"component-value"},FS={class:"component-item"},DS={class:"component-value"},AS={class:"component-item"},TS={class:"component-value"},SS={class:"component-item"},IS={class:"component-value"},NS={key:0,class:"url-params"},PS={class:"params-list"},BS={class:"param-key"},MS={class:"param-value"},OS=["onClick"],US={class:"converter-section"},jS={class:"char-reference"},LS={class:"char-grid"},RS=["onClick"],zS={class:"char-original"},HS={class:"char-encoded"},$S={class:"char-description"},YS=Wi($a({__name:"UrlConverter",emits:["back"],setup(e){il("url-encode");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("url-encode"),{success:a,error:n}=Vo(),r=St(""),s=St(""),i=St(""),o=St(null),l=St([]),c=[{original:" ",encoded:"%20",description:"空格"},{original:"!",encoded:"%21",description:"感叹号"},{original:'"',encoded:"%22",description:"双引号"},{original:"#",encoded:"%23",description:"井号"},{original:"$",encoded:"%24",description:"美元符号"},{original:"%",encoded:"%25",description:"百分号"},{original:"&",encoded:"%26",description:"和号"},{original:"'",encoded:"%27",description:"单引号"},{original:"(",encoded:"%28",description:"左括号"},{original:")",encoded:"%29",description:"右括号"},{original:"*",encoded:"%2A",description:"星号"},{original:"+",encoded:"%2B",description:"加号"},{original:",",encoded:"%2C",description:"逗号"},{original:"/",encoded:"%2F",description:"斜杠"},{original:":",encoded:"%3A",description:"冒号"},{original:";",encoded:"%3B",description:"分号"},{original:"<",encoded:"%3C",description:"小于号"},{original:"=",encoded:"%3D",description:"等号"},{original:">",encoded:"%3E",description:"大于号"},{original:"?",encoded:"%3F",description:"问号"},{original:"@",encoded:"%40",description:"at符号"},{original:"[",encoded:"%5B",description:"左方括号"},{original:"\\",encoded:"%5C",description:"反斜杠"},{original:"]",encoded:"%5D",description:"右方括号"},{original:"^",encoded:"%5E",description:"脱字符"},{original:"`",encoded:"%60",description:"反引号"},{original:"{",encoded:"%7B",description:"左花括号"},{original:"|",encoded:"%7C",description:"竖线"},{original:"}",encoded:"%7D",description:"右花括号"},{original:"~",encoded:"%7E",description:"波浪号"}],u=e=>{if(!e)return!1;try{return new URL(e),!0}catch{try{const t=decodeURIComponent(e);return new URL(t),!0}catch{return!1}}},d=e=>{if(!e)return"";try{return new URL(e),"有效URL"}catch{try{const t=decodeURIComponent(e);return new URL(t),"编码后的有效URL"}catch{return e.includes("%")?"包含编码字符":"文本内容"}}},h=e=>{if(!e)return"";try{return new URL(e),"valid"}catch{try{const t=decodeURIComponent(e);return new URL(t),"valid"}catch{return e.includes("%")?"":e.length>0?"invalid":""}}},p=()=>{r.value.trim()?f():s.value=""},f=()=>{if(r.value.trim())try{s.value=encodeURIComponent(r.value),a("URL编码成功")}catch(e){n("URL编码失败")}else s.value=""},m=()=>{if(r.value.trim())try{s.value=decodeURIComponent(r.value),a("URL解码成功")}catch(e){n("URL解码失败,请检查编码格式")}else s.value=""},g=()=>{const e=r.value;r.value=s.value,s.value=e,a("内容已交换")},y=async()=>{try{const e=await navigator.clipboard.readText();r.value=e,p(),a("已粘贴文本")}catch(e){n("粘贴失败")}},v=()=>{r.value="",s.value="",a("已清空输入")},b=async()=>{if(s.value)try{await navigator.clipboard.writeText(s.value),a("编码结果已复制到剪贴板")}catch(e){n("复制失败")}else n("没有可复制的内容")},w=()=>{if(!u(s.value))return void n("不是有效的URL");let e=s.value;try{new URL(s.value)}catch{try{const t=decodeURIComponent(s.value);new URL(t),e=t}catch{return void n("无法解析URL")}}window.open(e,"_blank"),a("已在新窗口打开URL")},x=()=>{if(!i.value.trim())return o.value=null,void(l.value=[]);try{const e=new URL(i.value);o.value={protocol:e.protocol,host:e.host,hostname:e.hostname,port:e.port,pathname:e.pathname,search:e.search,hash:e.hash},l.value=Array.from(e.searchParams.entries()).map(([e,t])=>({key:e,value:t})),a("URL解析完成")}catch(e){n("URL解析失败,请检查URL格式"),o.value=null,l.value=[]}},k=async()=>{const e=l.value.map(e=>`${e.key}=${e.value}`).join("&");try{await navigator.clipboard.writeText(e),a("参数已复制到剪贴板")}catch(t){n("复制失败")}},_=()=>{r.value="",s.value="",i.value="",o.value=null,l.value=[],a("已清空所有内容")};return(e,E)=>(Cr(),Tr("div",eS,[Or(hl,{title:Nt(t),onBack:E[0]||(E[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:_})]),_:1},8,["title"]),Mr("div",tS,[Mr("div",aS,[E[13]||(E[13]=Mr("div",{class:"section-header"},[Mr("h3",null,"URL编码解码"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对URL进行编码和解码处理")])],-1)),Mr("div",nS,[Mr("div",rS,[Mr("div",sS,[Mr("div",{class:"section-title"},[E[6]||(E[6]=Mr("span",null,"原始文本/URL",-1)),Mr("div",{class:"section-actions"},[Mr("button",{class:"action-btn-small",onClick:y,title:"粘贴"},[...E[4]||(E[4]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:v,title:"清空"},[...E[5]||(E[5]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":E[1]||(E[1]=e=>r.value=e),placeholder:"请输入要编码的URL或文本...",class:"text-input",onInput:p},null,544),[[bi,r.value]]),Mr("div",iS,[Mr("span",oS,"字符数: "+se(r.value.length),1),Mr("span",{class:Q(["url-valid",h(r.value)])},se(d(r.value)),3)])]),Mr("div",lS,[Mr("div",cS,[E[9]||(E[9]=Mr("span",null,"编码结果",-1)),Mr("div",uS,[Mr("button",{class:"action-btn-small",onClick:b,title:"复制"},[...E[7]||(E[7]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:w,title:"打开URL",disabled:!u(s.value)},[...E[8]||(E[8]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),Mr("polyline",{points:"15,3 21,3 21,9"}),Mr("line",{x1:"10",y1:"14",x2:"21",y2:"3"})],-1)])],8,dS)])]),ca(Mr("textarea",{"onUpdate:modelValue":E[2]||(E[2]=e=>s.value=e),placeholder:"编码结果将显示在这里...",class:"text-output",readonly:""},null,512),[[bi,s.value]]),Mr("div",hS,[Mr("span",pS,"字符数: "+se(s.value.length),1),Mr("span",{class:Q(["url-valid",h(s.value)])},se(d(s.value)),3)])])]),Mr("div",{class:"converter-actions"},[Mr("button",{class:"convert-btn encode",onClick:f},[...E[10]||(E[10]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M7 16.5L12 12l5 4.5"}),Mr("path",{d:"M7 7.5L12 12l5-4.5"})],-1),jr(" 编码 ",-1)])]),Mr("button",{class:"convert-btn decode",onClick:m},[...E[11]||(E[11]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M17 7.5L12 12l-5-4.5"}),Mr("path",{d:"M17 16.5L12 12l-5 4.5"})],-1),jr(" 解码 ",-1)])]),Mr("button",{class:"swap-btn",onClick:g},[...E[12]||(E[12]=[Lr(' 交换 ',2)])])])])]),Mr("div",fS,[E[24]||(E[24]=Mr("div",{class:"section-header"},[Mr("h3",null,"URL解析"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"解析URL的各个组成部分")])],-1)),Mr("div",mS,[Mr("div",gS,[E[14]||(E[14]=Mr("label",null,"要解析的URL",-1)),Mr("div",yS,[ca(Mr("input",{"onUpdate:modelValue":E[3]||(E[3]=e=>i.value=e),type:"text",placeholder:"请输入完整的URL...",class:"url-input",onInput:x},null,544),[[bi,i.value]]),Mr("button",{class:"parse-btn",onClick:x},"解析")])]),o.value?(Cr(),Tr("div",vS,[Mr("div",bS,[Mr("div",wS,[E[15]||(E[15]=Mr("label",null,"协议 (Protocol)",-1)),Mr("span",xS,se(o.value.protocol),1)]),Mr("div",kS,[E[16]||(E[16]=Mr("label",null,"主机 (Host)",-1)),Mr("span",_S,se(o.value.host),1)]),Mr("div",ES,[E[17]||(E[17]=Mr("label",null,"端口 (Port)",-1)),Mr("span",CS,se(o.value.port||"默认"),1)]),Mr("div",FS,[E[18]||(E[18]=Mr("label",null,"路径 (Path)",-1)),Mr("span",DS,se(o.value.pathname),1)]),Mr("div",AS,[E[19]||(E[19]=Mr("label",null,"查询字符串 (Search)",-1)),Mr("span",TS,se(o.value.search||"无"),1)]),Mr("div",SS,[E[20]||(E[20]=Mr("label",null,"锚点 (Hash)",-1)),Mr("span",IS,se(o.value.hash||"无"),1)])]),l.value.length>0?(Cr(),Tr("div",NS,[Mr("div",{class:"params-header"},[E[21]||(E[21]=Mr("h4",null,"查询参数",-1)),Mr("button",{class:"copy-params-btn",onClick:k},"复制所有参数")]),Mr("div",PS,[(Cr(!0),Tr(br,null,yn(l.value,e=>(Cr(),Tr("div",{key:e.key,class:"param-item"},[Mr("span",BS,se(e.key),1),E[23]||(E[23]=Mr("span",{class:"param-separator"},"=",-1)),Mr("span",MS,se(e.value),1),Mr("button",{class:"copy-param-btn",onClick:t=>(async e=>{try{await navigator.clipboard.writeText(`${e.key}=${e.value}`),a(`参数 ${e.key} 已复制`)}catch(t){n("复制失败")}})(e),title:"复制此参数"},[...E[22]||(E[22]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,OS)]))),128))])])):Rr("",!0)])):Rr("",!0)])]),Mr("div",US,[E[25]||(E[25]=Mr("div",{class:"section-header"},[Mr("h3",null,"常用字符编码"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"常见特殊字符的URL编码对照")])],-1)),Mr("div",jS,[Mr("div",LS,[(Cr(),Tr(br,null,yn(c,e=>Mr("div",{key:e.original,class:"char-item",onClick:t=>(e=>{r.value+=e.original,p(),a(`已插入字符: ${e.original}`)})(e)},[Mr("span",zS,se(e.original),1),Mr("span",HS,se(e.encoded),1),Mr("span",$S,se(e.description),1)],8,RS)),64))])])])])]))}}),[["__scopeId","data-v-d86d8d60"]]),GS={class:"hash-generator"},WS={class:"generator-content"},VS={class:"generator-section"},KS={class:"text-hash-container"},JS={class:"input-section"},qS={class:"input-header"},ZS={class:"input-actions"},XS=["title"],QS={class:"case-text"},eI={class:"input-info"},tI={class:"char-count"},aI={class:"byte-count"},nI={class:"hash-results"},rI={class:"hash-grid"},sI={class:"hash-header"},iI={class:"hash-info"},oI={class:"hash-type"},lI={class:"hash-description"},cI={class:"hash-actions"},uI=["onClick"],dI={class:"hash-value"},hI={class:"hash-meta"},pI={class:"hash-length"},fI={class:"hash-format"},mI={class:"generator-section"},gI={class:"file-hash-container"},yI={key:0,class:"file-info"},vI={class:"file-details"},bI={class:"file-meta"},wI={class:"file-name"},xI={class:"file-size"},kI={class:"file-type"},_I={class:"file-actions"},EI=["disabled"],CI={key:0,class:"file-hash-results"},FI={class:"file-hash-list"},DI={class:"file-hash-header"},AI={class:"file-hash-type"},TI=["onClick"],SI={class:"file-hash-value"},II={class:"generator-section"},NI={class:"hash-verify-container"},PI={class:"verify-form"},BI={class:"verify-input-group"},MI={class:"verify-input-group"},OI={class:"verify-input-group"},UI={key:0,class:"verify-result"},jI={class:"verify-result-header"},LI={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},RI={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},zI={class:"verify-details"},HI={class:"verify-detail-item"},$I={class:"verify-value computed"},YI={class:"verify-detail-item"},GI={class:"verify-value expected"},WI={class:"generator-section"},VI={class:"algorithm-info"},KI={class:"algorithm-grid"},JI={class:"algorithm-header"},qI={class:"algorithm-length"},ZI={class:"algorithm-description"},XI={class:"algorithm-features"},QI={class:"feature-item"},eN={class:"feature-item"},tN={class:"feature-item"},aN={class:"feature-value"},nN=$a({__name:"HashGenerator",emits:["back"],setup(e){il("md5-hash");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("md5-hash"),{success:a,error:n}=Vo(),r=St(""),s=St(!1),i=St(null),o=St(!1),l=St(),c=St([{type:"MD5",description:"128位哈希值,快速但安全性较低",value:"",format:"Hex",length:32},{type:"SHA-1",description:"160位哈希值,已不推荐用于安全用途",value:"",format:"Hex",length:40},{type:"SHA-256",description:"256位哈希值,目前广泛使用的安全算法",value:"",format:"Hex",length:64},{type:"SHA-512",description:"512位哈希值,更高安全性",value:"",format:"Hex",length:128}]),u=St([]),d=St(""),h=St("MD5"),p=St(""),f=St(null),m=[{name:"MD5",length:128,description:"Message Digest Algorithm 5,产生128位哈希值。速度快但已被发现存在碰撞漏洞。",security:"low",securityText:"低",speed:"high",speedText:"快",usage:"文件校验、非安全场景"},{name:"SHA-1",length:160,description:"Secure Hash Algorithm 1,产生160位哈希值。已被发现安全漏洞,不推荐用于新项目。",security:"medium",securityText:"中",speed:"high",speedText:"快",usage:"兼容性需求、Git版本控制"},{name:"SHA-256",length:256,description:"SHA-2系列算法,产生256位哈希值。目前广泛使用的安全哈希算法。",security:"high",securityText:"高",speed:"medium",speedText:"中",usage:"数字签名、区块链、SSL证书"},{name:"SHA-512",length:512,description:"SHA-2系列算法,产生512位哈希值。提供更高的安全性,适用于高安全要求场景。",security:"very-high",securityText:"很高",speed:"medium",speedText:"中",usage:"高安全要求、长期存储"}],g=async(e,t)=>{const a=(new TextEncoder).encode(e);try{if("MD5"===t)return(e=>{const t=(e,t)=>e<>>32-t,a=(e,t)=>{const a=1073741824&e,n=1073741824&t,r=2147483648&e,s=2147483648&t,i=(1073741823&e)+(1073741823&t);return a&n?2147483648^i^r^s:a|n?1073741824&i?3221225472^i^r^s:1073741824^i^r^s:i^r^s},n=(e,n,r,s,i,o,l)=>(e=a(e,a(a(((e,t,a)=>e&t|~e&a)(n,r,s),i),l)),a(t(e,o),n)),r=(e,n,r,s,i,o,l)=>(e=a(e,a(a(((e,t,a)=>e&a|t&~a)(n,r,s),i),l)),a(t(e,o),n)),s=(e,n,r,s,i,o,l)=>(e=a(e,a(a(((e,t,a)=>e^t^a)(n,r,s),i),l)),a(t(e,o),n)),i=(e,n,r,s,i,o,l)=>(e=a(e,a(a(((e,t,a)=>t^(e|~a))(n,r,s),i),l)),a(t(e,o),n)),o=e=>{let t="";for(let a=0;a<=3;a++)t+=("0"+(e>>>8*a&255).toString(16)).slice(-2);return t},l=(e=>{const t=[],a=e.length,n=16*((a+8-(a+8)%64)/64+1);for(let i=0;i>>29,t})(e);let c=1732584193,u=4023233417,d=2562383102,h=271733878;for(let p=0;pe.toString(16).padStart(2,"0")).join("")}catch(n){return console.error("Hash generation error:",n),""}},y=async()=>{if(r.value.trim())for(const t of c.value)try{let e=await g(r.value,t.type);t.value=s.value?e.toUpperCase():e.toLowerCase()}catch(e){t.value="生成失败"}else c.value.forEach(e=>{e.value=""})},v=async()=>{s.value=!s.value,await y(),a("已切换为"+(s.value?"大写":"小写"))},b=async()=>{try{const e=await navigator.clipboard.readText();r.value=e,await y(),a("已粘贴文本")}catch(e){n("粘贴失败")}},w=()=>{r.value="",c.value.forEach(e=>{e.value=""}),a("已清空输入")},x=async e=>{if(e.value)try{await navigator.clipboard.writeText(e.value),a(`${e.type} 哈希值已复制`)}catch(t){n("复制失败")}else n("没有可复制的哈希值")},k=()=>{r.value="",i.value=null,u.value=[],d.value="",p.value="",f.value=null,c.value.forEach(e=>{e.value=""}),l.value&&(l.value.value=""),a("已清空所有内容")},_=e=>{const t=e.target,r=t.files?.[0];if(r){if(r.size>104857600)return void n("文件大小不能超过100MB");i.value=r,u.value=[],a("文件已选择")}},E=e=>{e.preventDefault();const t=e.dataTransfer?.files[0];if(t){if(t.size>104857600)return void n("文件大小不能超过100MB");i.value=t,u.value=[],a("文件已选择")}},C=()=>{i.value=null,u.value=[],l.value&&(l.value.value=""),a("文件已移除")},F=async()=>{if(i.value){o.value=!0,u.value=[];try{const t=await D(i.value),n=["MD5","SHA-1","SHA-256","SHA-512"];for(const a of n)try{let e=await g(t,a);u.value.push({type:a,value:s.value?e.toUpperCase():e.toLowerCase()})}catch(e){u.value.push({type:a,value:"生成失败"})}a("文件哈希生成完成")}catch(e){n("文件哈希生成失败")}finally{o.value=!1}}},D=e=>new Promise((t,a)=>{const n=new FileReader;n.onload=e=>t(e.target?.result),n.onerror=a,n.readAsText(e)}),A=()=>{if(0===u.value.length)return;const e=[`文件: ${i.value?.name}`,`大小: ${I(i.value?.size||0)}`,`生成时间: ${(new Date).toLocaleString()}`,"",...u.value.map(e=>`${e.type}: ${e.value}`)].join("\n"),t=new Blob([e],{type:"text/plain"}),n=URL.createObjectURL(t),r=document.createElement("a");r.href=n,r.download=`${i.value?.name||"file"}-hashes.txt`,r.click(),URL.revokeObjectURL(n),a("哈希结果已导出")},T=async()=>{if(d.value.trim())try{let e=await g(d.value,h.value);e=s.value?e.toUpperCase():e.toLowerCase(),S(e)}catch(e){f.value=null}else f.value=null},S=e=>{if(!e&&d.value.trim())return void T();if(!e||!p.value.trim())return void(f.value=null);const t=e.toLowerCase(),a=p.value.toLowerCase().trim();f.value={match:t===a,computed:t,expected:a}},I=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]};return(e,a)=>{return Cr(),Tr("div",GS,[Or(hl,{title:Nt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:k})]),_:1},8,["title"]),Mr("div",WS,[Mr("div",VS,[a[14]||(a[14]=Mr("div",{class:"section-header"},[Mr("h3",null,"文本哈希生成"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对文本生成多种哈希值")])],-1)),Mr("div",KS,[Mr("div",JS,[Mr("div",qS,[a[11]||(a[11]=Mr("label",null,"输入文本",-1)),Mr("div",ZS,[Mr("button",{class:"action-btn-small",onClick:v,title:s.value?"切换为小写":"切换为大写"},[Mr("span",QS,se(s.value?"Aa":"AA"),1)],8,XS),Mr("button",{class:"action-btn-small",onClick:b,title:"粘贴"},[...a[9]||(a[9]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"action-btn-small",onClick:w,title:"清空"},[...a[10]||(a[10]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),ca(Mr("textarea",{"onUpdate:modelValue":a[1]||(a[1]=e=>r.value=e),placeholder:"请输入要生成哈希的文本...",class:"text-input",onInput:y},null,544),[[bi,r.value]]),Mr("div",eI,[Mr("span",tI,"字符数: "+se(r.value.length),1),Mr("span",aI,"字节数: "+se((n=r.value,new Blob([n]).size)),1)])]),Mr("div",nI,[a[13]||(a[13]=Mr("div",{class:"results-title"},[Mr("h4",null,"哈希结果"),Mr("div",{class:"results-divider"})],-1)),Mr("div",rI,[(Cr(!0),Tr(br,null,yn(c.value,e=>(Cr(),Tr("div",{key:e.type,class:"hash-result-item"},[Mr("div",sI,[Mr("div",iI,[Mr("span",oI,se(e.type),1),Mr("span",lI,se(e.description),1)]),Mr("div",cI,[Mr("button",{class:"copy-hash-btn",onClick:t=>x(e),title:"复制"},[...a[12]||(a[12]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,uI)])]),Mr("div",dI,se(e.value||"请输入文本"),1),Mr("div",hI,[Mr("span",pI,"长度: "+se(e.value?.length||0),1),Mr("span",fI,"格式: "+se(e.format),1)])]))),128))])])])]),Mr("div",mI,[a[22]||(a[22]=Mr("div",{class:"section-header"},[Mr("h3",null,"文件哈希生成"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"对文件生成哈希值,用于完整性验证")])],-1)),Mr("div",gI,[Mr("div",{class:"file-upload-area",onDrop:E,onDragover:a[3]||(a[3]=Ii(()=>{},["prevent"])),onDragenter:a[4]||(a[4]=Ii(()=>{},["prevent"]))},[Mr("input",{ref_key:"fileInput",ref:l,type:"file",onChange:_,class:"file-input",accept:"*/*"},null,544),Mr("div",{class:"upload-content",onClick:a[2]||(a[2]=e=>l.value?.click())},[...a[15]||(a[15]=[Lr('

    点击选择文件或拖拽文件到此处

    支持所有文件类型,最大100MB

    ',3)])])],32),i.value?(Cr(),Tr("div",yI,[Mr("div",vI,[a[17]||(a[17]=Mr("div",{class:"file-icon"},[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})])],-1)),Mr("div",bI,[Mr("div",wI,se(i.value.name),1),Mr("div",xI,se(I(i.value.size)),1),Mr("div",kI,se(i.value.type||"未知类型"),1)]),Mr("button",{class:"remove-file-btn",onClick:C},[...a[16]||(a[16]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),Mr("div",_I,[Mr("button",{class:"file-action-btn",onClick:F,disabled:o.value},[a[18]||(a[18]=Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1)),jr(" "+se(o.value?"生成中...":"生成哈希"),1)],8,EI)]),u.value.length>0?(Cr(),Tr("div",CI,[Mr("div",{class:"results-header"},[a[20]||(a[20]=Mr("h4",null,"文件哈希结果",-1)),Mr("button",{class:"export-results-btn",onClick:A,title:"导出结果"},[...a[19]||(a[19]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])]),Mr("div",FI,[(Cr(!0),Tr(br,null,yn(u.value,e=>(Cr(),Tr("div",{key:e.type,class:"file-hash-item"},[Mr("div",DI,[Mr("span",AI,se(e.type),1),Mr("button",{class:"copy-file-hash-btn",onClick:t=>x(e),title:"复制"},[...a[21]||(a[21]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,TI)]),Mr("div",SI,se(e.value),1)]))),128))])])):Rr("",!0)])):Rr("",!0)])]),Mr("div",II,[a[32]||(a[32]=Mr("div",{class:"section-header"},[Mr("h3",null,"哈希验证"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"验证文本或文件的哈希值是否匹配")])],-1)),Mr("div",NI,[Mr("div",PI,[Mr("div",BI,[a[23]||(a[23]=Mr("label",null,"原始文本",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[5]||(a[5]=e=>d.value=e),placeholder:"请输入要验证的原始文本...",class:"verify-input",onInput:T},null,544),[[bi,d.value]])]),Mr("div",MI,[a[25]||(a[25]=Mr("label",null,"哈希类型",-1)),ca(Mr("select",{"onUpdate:modelValue":a[6]||(a[6]=e=>h.value=e),onChange:T,class:"hash-type-select"},[...a[24]||(a[24]=[Mr("option",{value:"MD5"},"MD5",-1),Mr("option",{value:"SHA-1"},"SHA-1",-1),Mr("option",{value:"SHA-256"},"SHA-256",-1),Mr("option",{value:"SHA-512"},"SHA-512",-1)])],544),[[_i,h.value]])]),Mr("div",OI,[a[26]||(a[26]=Mr("label",null,"期望哈希值",-1)),ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>p.value=e),type:"text",placeholder:"请输入期望的哈希值...",class:"expected-hash-input",onInput:a[8]||(a[8]=()=>S())},null,544),[[bi,p.value]])])]),f.value?(Cr(),Tr("div",UI,[Mr("div",jI,[a[29]||(a[29]=Mr("h4",null,"验证结果",-1)),Mr("div",{class:Q(["verify-status",f.value.match?"match":"mismatch"])},[f.value.match?(Cr(),Tr("svg",LI,[...a[27]||(a[27]=[Mr("polyline",{points:"20,6 9,17 4,12"},null,-1)])])):(Cr(),Tr("svg",RI,[...a[28]||(a[28]=[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)])])),jr(" "+se(f.value.match?"匹配":"不匹配"),1)],2)]),Mr("div",zI,[Mr("div",HI,[a[30]||(a[30]=Mr("span",{class:"verify-label"},"计算得到:",-1)),Mr("span",$I,se(f.value.computed),1)]),Mr("div",YI,[a[31]||(a[31]=Mr("span",{class:"verify-label"},"期望值:",-1)),Mr("span",GI,se(f.value.expected),1)])])])):Rr("",!0)])]),Mr("div",WI,[a[38]||(a[38]=Mr("div",{class:"section-header"},[Mr("h3",null,"哈希算法说明"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"了解不同哈希算法的特点和用途")])],-1)),Mr("div",VI,[Mr("div",KI,[(Cr(),Tr(br,null,yn(m,e=>Mr("div",{key:e.name,class:"algorithm-card"},[Mr("div",JI,[Mr("h4",null,se(e.name),1),Mr("span",qI,se(e.length)+"位",1)]),Mr("div",ZI,se(e.description),1),Mr("div",XI,[Mr("div",QI,[a[34]||(a[34]=Mr("span",{class:"feature-label"},"安全性:",-1)),Mr("div",{class:Q(["security-level",e.security])},[a[33]||(a[33]=Mr("div",{class:"security-bar"},null,-1)),Mr("span",null,se(e.securityText),1)],2)]),Mr("div",eN,[a[36]||(a[36]=Mr("span",{class:"feature-label"},"速度:",-1)),Mr("div",{class:Q(["speed-level",e.speed])},[a[35]||(a[35]=Mr("div",{class:"speed-bar"},null,-1)),Mr("span",null,se(e.speedText),1)],2)]),Mr("div",tN,[a[37]||(a[37]=Mr("span",{class:"feature-label"},"用途:",-1)),Mr("span",aN,se(e.usage),1)])])])),64))])])])])]);var n}}}),rN=Wi(nN,[["__scopeId","data-v-87e684ca"]]),sN={class:"password-generator"},iN={class:"generator-content"},oN={class:"generator-section"},lN={class:"password-settings"},cN={class:"settings-grid"},uN={class:"setting-group"},dN={class:"length-controls"},hN={class:"setting-group"},pN={class:"character-options"},fN={class:"checkbox-label"},mN={class:"checkbox-label"},gN={class:"checkbox-label"},yN={class:"checkbox-label"},vN={class:"checkbox-label"},bN={class:"checkbox-label"},wN={class:"quick-presets"},xN={class:"preset-buttons"},kN={class:"generator-section"},_N={class:"section-header"},EN={class:"section-info"},CN={class:"strength-indicator"},FN={class:"strength-text"},DN={class:"password-result"},AN={class:"password-display"},TN={class:"password-actions"},SN=["title"],IN={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},NN={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},PN={class:"password-info"},BN={class:"info-item"},MN={class:"info-value"},ON={class:"info-item"},UN={class:"info-value"},jN={class:"info-item"},LN={class:"info-value"},RN={class:"generator-section"},zN={class:"batch-generator"},HN={class:"batch-controls"},$N={class:"batch-input-group"},YN=["disabled"],GN={key:0,class:"batch-results"},WN={class:"batch-header"},VN={class:"batch-password-list"},KN={class:"batch-password-index"},JN=["onClick"],qN={class:"batch-actions"},ZN={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},XN={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},QN=Wi($a({__name:"PasswordGenerator",emits:["back"],setup(e){il("password-generator");const{success:t,error:a}=Vo(),n=is(()=>{for(const e of Object.values(Qi.cards)){const t=e.find(e=>"password-generator"===e.id);if(t)return t.title}return"密码生成器"}),r=St(16),s=St(!0),i=St(!0),o=St(!0),l=St(!0),c=St(!1),u=St(!1),d=St(""),h=St(!0),p=St(10),f=St([]),m=St(!0),g={uppercase:"ABCDEFGHIJKLMNOPQRSTUVWXYZ",lowercase:"abcdefghijklmnopqrstuvwxyz",numbers:"0123456789",symbols:"!@#$%^&*()_+-=[]{}|;:,.<>?",similar:"0oO1lI2Z5S8B",ambiguous:"{}[]()/~,;.<>"},y=is(()=>{let e="";return s.value&&(e+=g.uppercase),i.value&&(e+=g.lowercase),o.value&&(e+=g.numbers),l.value&&(e+=g.symbols),c.value&&(e=e.split("").filter(e=>!g.similar.includes(e)).join("")),u.value&&(e=e.split("").filter(e=>!g.ambiguous.includes(e)).join("")),e}),v=is(()=>{const e=y.value.length;return r.value*Math.log2(e)}),b=is(()=>{const e=v.value;return e<30?{level:"very-weak",text:"非常弱",percentage:20}:e<50?{level:"weak",text:"弱",percentage:40}:e<70?{level:"medium",text:"中等",percentage:60}:e<90?{level:"strong",text:"强",percentage:80}:{level:"very-strong",text:"非常强",percentage:100}}),w=is(()=>{const e=v.value,t=Math.pow(2,e)/2/1e9;return t<1?"瞬间":t<60?`${Math.round(t)} 秒`:t<3600?`${Math.round(t/60)} 分钟`:t<86400?`${Math.round(t/3600)} 小时`:t<31536e3?`${Math.round(t/86400)} 天`:t<31536e6?`${Math.round(t/31536e3)} 年`:"数千年"}),x=(e=!1)=>{const n=y.value;if(0===n.length)return void a("请至少选择一种字符类型");let c="";const u=[];s.value&&u.push(k(g.uppercase)),i.value&&u.push(k(g.lowercase)),o.value&&u.push(k(g.numbers)),l.value&&u.push(k(g.symbols));for(const t of u)c.lengthe[Math.floor(Math.random()*e.length)]||"",_=e=>{const t=e.split("");for(let a=t.length-1;a>0;a--){const e=Math.floor(Math.random()*(a+1)),n=t[a]||"";t[a]=t[e]||"",t[e]=n}return t.join("")},E=e=>{switch(e){case"simple":r.value=12,s.value=!0,i.value=!0,o.value=!0,l.value=!1,c.value=!0,u.value=!1;break;case"standard":r.value=16,s.value=!0,i.value=!0,o.value=!0,l.value=!0,c.value=!1,u.value=!0;break;case"secure":r.value=24,s.value=!0,i.value=!0,o.value=!0,l.value=!0,c.value=!1,u.value=!1;break;case"pin":r.value=6,s.value=!1,i.value=!1,o.value=!0,l.value=!1,c.value=!1,u.value=!1}x();t(`已应用${{simple:"简单",standard:"标准",secure:"安全",pin:"PIN码"}[e]}预设`)},C=()=>{h.value=!h.value},F=async()=>{if(d.value)try{await navigator.clipboard.writeText(d.value),t("密码已复制到剪贴板")}catch(e){a("复制失败")}else a("没有可复制的密码")},D=()=>{if(p.value<1||p.value>100)return void a("生成数量必须在1-100之间");const e=y.value;if(0!==e.length){f.value=[];for(let t=0;t{m.value=!m.value},T=async()=>{if(0===f.value.length)return;const e=f.value.join("\n");try{await navigator.clipboard.writeText(e),t("所有密码已复制")}catch(n){a("复制失败")}},S=()=>{f.value=[],t("已清空批量密码")},I=()=>{if(0===f.value.length)return;const e=["密码生成报告",`生成时间: ${(new Date).toLocaleString()}`,`密码长度: ${r.value}`,`字符类型: ${[s.value&&"大写字母",i.value&&"小写字母",o.value&&"数字",l.value&&"特殊符号"].filter(Boolean).join(", ")}`,`生成数量: ${f.value.length}`,"","生成的密码:",...f.value.map((e,t)=>`${t+1}. ${e}`)].join("\n"),a=new Blob([e],{type:"text/plain"}),n=URL.createObjectURL(a),c=document.createElement("a");c.href=n,c.download=`passwords-${Date.now()}.txt`,c.click(),URL.revokeObjectURL(n),t("密码已导出")},N=()=>{d.value="",f.value=[],t("已清空所有内容")};return nn(()=>{x()}),(e,g)=>(Cr(),Tr("div",sN,[Or(hl,{title:n.value,onBack:g[0]||(g[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:N})]),_:1},8,["title"]),Mr("div",iN,[Mr("div",oN,[g[28]||(g[28]=Mr("div",{class:"section-header"},[Mr("h3",null,"密码生成设置"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"自定义密码长度和字符类型")])],-1)),Mr("div",lN,[Mr("div",cN,[Mr("div",uN,[g[15]||(g[15]=Mr("label",{class:"setting-label"},"密码长度",-1)),Mr("div",dN,[ca(Mr("input",{"onUpdate:modelValue":g[1]||(g[1]=e=>r.value=e),type:"range",min:"4",max:"128",class:"length-slider",onInput:x},null,544),[[bi,r.value,void 0,{number:!0}]]),ca(Mr("input",{"onUpdate:modelValue":g[2]||(g[2]=e=>r.value=e),type:"number",min:"4",max:"128",class:"length-input",onInput:x},null,544),[[bi,r.value,void 0,{number:!0}]])])]),Mr("div",hN,[g[22]||(g[22]=Mr("label",{class:"setting-label"},"字符类型",-1)),Mr("div",pN,[Mr("label",fN,[ca(Mr("input",{"onUpdate:modelValue":g[3]||(g[3]=e=>s.value=e),type:"checkbox",onChange:x},null,544),[[wi,s.value]]),g[16]||(g[16]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"大写字母 (A-Z)"),Mr("span",{class:"character-preview"},"ABCDEFGHIJKLMNOPQRSTUVWXYZ")],-1))]),Mr("label",mN,[ca(Mr("input",{"onUpdate:modelValue":g[4]||(g[4]=e=>i.value=e),type:"checkbox",onChange:x},null,544),[[wi,i.value]]),g[17]||(g[17]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"小写字母 (a-z)"),Mr("span",{class:"character-preview"},"abcdefghijklmnopqrstuvwxyz")],-1))]),Mr("label",gN,[ca(Mr("input",{"onUpdate:modelValue":g[5]||(g[5]=e=>o.value=e),type:"checkbox",onChange:x},null,544),[[wi,o.value]]),g[18]||(g[18]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"数字 (0-9)"),Mr("span",{class:"character-preview"},"0123456789")],-1))]),Mr("label",yN,[ca(Mr("input",{"onUpdate:modelValue":g[6]||(g[6]=e=>l.value=e),type:"checkbox",onChange:x},null,544),[[wi,l.value]]),g[19]||(g[19]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"特殊符号"),Mr("span",{class:"character-preview"},"!@#$%^&*()_+-=[]{}|;:,.<>?")],-1))]),Mr("label",vN,[ca(Mr("input",{"onUpdate:modelValue":g[7]||(g[7]=e=>c.value=e),type:"checkbox",onChange:x},null,544),[[wi,c.value]]),g[20]||(g[20]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"排除相似字符"),Mr("span",{class:"character-preview"},"排除: 0oO, 1lI, 2Z, 5S, 8B")],-1))]),Mr("label",bN,[ca(Mr("input",{"onUpdate:modelValue":g[8]||(g[8]=e=>u.value=e),type:"checkbox",onChange:x},null,544),[[wi,u.value]]),g[21]||(g[21]=Mr("div",{class:"checkbox-content"},[Mr("span",{class:"checkbox-text"},"排除易混淆符号"),Mr("span",{class:"character-preview"},"排除: {}[]()\\/~,;.<>")],-1))])])])]),Mr("div",wN,[g[27]||(g[27]=Mr("h4",null,"快速预设",-1)),Mr("div",xN,[Mr("button",{class:"preset-btn",onClick:g[9]||(g[9]=e=>E("simple"))},[...g[23]||(g[23]=[Mr("span",{class:"preset-name"},"简单",-1),Mr("span",{class:"preset-desc"},"字母+数字",-1)])]),Mr("button",{class:"preset-btn",onClick:g[10]||(g[10]=e=>E("standard"))},[...g[24]||(g[24]=[Mr("span",{class:"preset-name"},"标准",-1),Mr("span",{class:"preset-desc"},"字母+数字+符号",-1)])]),Mr("button",{class:"preset-btn",onClick:g[11]||(g[11]=e=>E("secure"))},[...g[25]||(g[25]=[Mr("span",{class:"preset-name"},"安全",-1),Mr("span",{class:"preset-desc"},"全字符+长度",-1)])]),Mr("button",{class:"preset-btn",onClick:g[12]||(g[12]=e=>E("pin"))},[...g[26]||(g[26]=[Mr("span",{class:"preset-name"},"PIN码",-1),Mr("span",{class:"preset-desc"},"纯数字",-1)])])])])])]),Mr("div",kN,[Mr("div",_N,[g[29]||(g[29]=Mr("h3",null,"生成的密码",-1)),Mr("div",EN,[Mr("div",{class:Q(["password-strength",b.value.level])},[Mr("div",CN,[Mr("div",{class:"strength-bar",style:K({width:b.value.percentage+"%"})},null,4)]),Mr("span",FN,se(b.value.text),1)],2)])]),Mr("div",DN,[Mr("div",AN,[Mr("div",{class:Q(["password-value",{"password-hidden":h.value}])},se(h.value?"•".repeat(d.value.length):d.value),3),Mr("div",TN,[Mr("button",{class:"password-action-btn",onClick:C,title:h.value?"显示密码":"隐藏密码"},[h.value?(Cr(),Tr("svg",IN,[...g[30]||(g[30]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])])):(Cr(),Tr("svg",NN,[...g[31]||(g[31]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])]))],8,SN),Mr("button",{class:"password-action-btn",onClick:F,title:"复制密码"},[...g[32]||(g[32]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"password-action-btn",onClick:g[13]||(g[13]=e=>x(!0)),title:"重新生成"},[...g[33]||(g[33]=[Lr('',1)])])])]),Mr("div",PN,[Mr("div",BN,[g[34]||(g[34]=Mr("span",{class:"info-label"},"长度:",-1)),Mr("span",MN,se(d.value.length)+" 字符",1)]),Mr("div",ON,[g[35]||(g[35]=Mr("span",{class:"info-label"},"熵值:",-1)),Mr("span",UN,se(v.value.toFixed(1))+" 位",1)]),Mr("div",jN,[g[36]||(g[36]=Mr("span",{class:"info-label"},"破解时间:",-1)),Mr("span",LN,se(w.value),1)])])])]),Mr("div",RN,[g[45]||(g[45]=Mr("div",{class:"section-header"},[Mr("h3",null,"批量生成"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"一次生成多个密码")])],-1)),Mr("div",zN,[Mr("div",HN,[Mr("div",$N,[g[37]||(g[37]=Mr("label",null,"生成数量",-1)),ca(Mr("input",{"onUpdate:modelValue":g[14]||(g[14]=e=>p.value=e),type:"number",min:"1",max:"100",class:"batch-count-input"},null,512),[[bi,p.value,void 0,{number:!0}]])]),Mr("button",{class:"batch-generate-btn",onClick:D},[...g[38]||(g[38]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1),jr(" 批量生成 ",-1)])]),Mr("button",{class:"batch-export-btn",onClick:I,disabled:0===f.value.length},[...g[39]||(g[39]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1),jr(" 导出 ",-1)])],8,YN)]),f.value.length>0?(Cr(),Tr("div",GN,[Mr("div",WN,[Mr("h4",null,"生成的密码 ("+se(f.value.length)+")",1),Mr("button",{class:"clear-batch-btn",onClick:S},[...g[40]||(g[40]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1),jr(" 清空 ",-1)])])]),Mr("div",VN,[(Cr(!0),Tr(br,null,yn(f.value,(e,n)=>(Cr(),Tr("div",{key:n,class:"batch-password-item"},[Mr("span",KN,se(n+1)+".",1),Mr("span",{class:Q(["batch-password-value",{"password-hidden":m.value}])},se(m.value?"•".repeat(e.length):e),3),Mr("button",{class:"copy-batch-password-btn",onClick:n=>(async e=>{try{await navigator.clipboard.writeText(e),t("密码已复制")}catch(n){a("复制失败")}})(e),title:"复制"},[...g[41]||(g[41]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,JN)]))),128))]),Mr("div",qN,[Mr("button",{class:"toggle-batch-visibility-btn",onClick:A},[m.value?(Cr(),Tr("svg",ZN,[...g[42]||(g[42]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])])):(Cr(),Tr("svg",XN,[...g[43]||(g[43]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])])),jr(" "+se(m.value?"显示所有":"隐藏所有"),1)]),Mr("button",{class:"copy-all-btn",onClick:T},[...g[44]||(g[44]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1),jr(" 复制所有 ",-1)])])])])):Rr("",!0)])]),g[46]||(g[46]=Lr('

    密码安全提示

    🔒

    长度很重要

    密码长度至少12位,越长越安全。每增加一位字符,破解难度呈指数级增长。

    🎲

    使用多种字符

    结合大小写字母、数字和特殊符号,增加密码的复杂性和不可预测性。

    🚫

    避免个人信息

    不要使用生日、姓名、电话号码等个人信息作为密码的一部分。

    🔄

    定期更换

    重要账户的密码应定期更换,特别是在发生安全事件后。

    📱

    使用密码管理器

    使用专业的密码管理器来生成、存储和管理所有密码。

    🔐

    启用双因素认证

    在支持的服务上启用2FA,为账户安全增加额外保护层。

    ',1))])]))}}),[["__scopeId","data-v-4e7bfff2"]]),eP={class:"rsa-generator"},tP={class:"generator-content"},aP={class:"generator-section"},nP={class:"key-config"},rP={class:"config-row"},sP={class:"config-group"},iP={class:"config-group"},oP={class:"config-group"},lP={class:"config-row"},cP={class:"config-group"},uP={class:"password-label"},dP=["disabled"],hP=["disabled"],pP={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},fP={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},mP={class:"config-group"},gP={key:0,class:"password-strength"},yP={class:"strength-bar"},vP={key:1,class:"password-strength disabled"},bP={class:"generate-actions"},wP=["disabled"],xP=["disabled"],kP={key:0,class:"generator-section"},_P={class:"section-header"},EP={class:"section-info"},CP={class:"info-text"},FP={class:"key-results"},DP={class:"key-result-container"},AP={class:"key-result-item"},TP={class:"key-header"},SP={class:"key-actions"},IP={class:"key-value"},NP={class:"key-meta"},PP={class:"key-length"},BP={class:"key-format"},MP={class:"key-result-item"},OP={class:"key-header"},UP={class:"key-info"},jP={class:"key-type-container"},LP={key:0,class:"password-protected-badge"},RP={class:"key-description"},zP={class:"key-actions"},HP={class:"key-meta"},$P={class:"key-length"},YP={class:"key-format"},GP={class:"generator-section"},WP={class:"key-verify-container"},VP={class:"verify-form"},KP={class:"verify-input-group"},JP={class:"verify-input-group"},qP={key:0,class:"verify-result"},ZP={class:"verify-result-header"},XP={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},QP={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},eB={class:"verify-details"},tB={class:"verify-detail-item"},aB={class:"verify-detail-item"},nB={class:"verify-detail-item"},rB={key:0,class:"verify-detail-item"},sB={class:"verify-value"},iB={class:"generator-section"},oB={class:"algorithm-info"},lB={class:"algorithm-grid"},cB={class:"algorithm-header"},uB={class:"algorithm-icon"},dB={class:"algorithm-description"},hB={class:"algorithm-features"},pB={class:"feature-text"},fB=Wi($a({__name:"RsaKeyGenerator",emits:["back"],setup(e){il("rsa-key-generator");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("rsa-key-generator"),{success:a,error:n}=Vo(),r=St("2048"),s=St("pem"),i=St("both"),o=St(!1),l=St(!1),c=St(!1),u=St(""),d=St(!1),h=St(null),p=St(""),f=St(""),m=St(null),g=[{title:"密钥长度",icon:"🔢",description:"不同密钥长度的安全性和性能对比",features:["1024位: 已不安全,不推荐使用","2048位: 目前标准,适合大多数应用","3072位: 高安全性,政府级别","4096位: 最高安全性,但性能较慢"]},{title:"密钥格式",icon:"📄",description:"常见的RSA密钥存储格式",features:["PEM: 最常用的文本格式","PKCS#8: 标准的私钥格式","JWK: JSON Web Key格式","DER: 二进制编码格式"]},{title:"应用场景",icon:"🛡️",description:"RSA加密的主要应用领域",features:["HTTPS/TLS证书","数字签名验证","邮件加密(PGP)","SSH密钥认证"]},{title:"安全建议",icon:"⚠️",description:"RSA密钥使用的安全注意事项",features:["私钥必须严格保密","定期更换密钥对","使用强随机数生成器","避免在不安全环境存储"]}],y=is(()=>{const e=u.value;if(!e)return{level:"none",percentage:0,text:"未设置"};let t=0;return e.length>=8&&(t+=25),e.length>=12&&(t+=15),e.length>=16&&(t+=10),/[a-z]/.test(e)&&(t+=15),/[A-Z]/.test(e)&&(t+=15),/\d/.test(e)&&(t+=10),/[!@#$%^&*()_+\-=\[\]{};':"\\|,.<>\/?]/.test(e)&&(t+=10),t<30?{level:"weak",percentage:t,text:"弱"}:t<60?{level:"medium",percentage:t,text:"中等"}:t<80?{level:"strong",percentage:t,text:"强"}:{level:"very-strong",percentage:100,text:"很强"}}),v=async()=>{o.value=!0,l.value=!1;try{const e=await window.crypto.subtle.generateKey({name:"RSA-OAEP",modulusLength:parseInt(r.value),publicExponent:new Uint8Array([1,0,1]),hash:"SHA-256"},!0,["encrypt","decrypt"]),t=await window.crypto.subtle.exportKey("jwk"===s.value?"jwk":"spki",e.publicKey),n=await window.crypto.subtle.exportKey("jwk"===s.value?"jwk":"pkcs8",e.privateKey);let o,l;"jwk"===s.value?(o=JSON.stringify(t,null,2),l=JSON.stringify(n,null,2)):(o=w(t,"PUBLIC KEY"),l=w(n,"PRIVATE KEY")),c.value&&u.value&&(l=await A(l,u.value)),h.value={publicKey:o,privateKey:l,keyInfo:{keySize:r.value,format:s.value,usage:i.value,passwordProtected:c.value&&""!==u.value,generated:(new Date).toISOString()}};const d=c.value&&u.value?"RSA密钥对生成成功(私钥已加密保护)":"RSA密钥对生成成功";a(d)}catch(e){console.error("密钥生成失败:",e),await x();const t=c.value&&u.value?"使用模拟密钥对(私钥已加密保护,浏览器不支持Web Crypto API)":"使用模拟密钥对(浏览器不支持Web Crypto API)";a(t)}finally{o.value=!1}},b=async()=>{r.value="2048",s.value="pem",i.value="both",await v()},w=(e,t)=>{const a=btoa(String.fromCharCode(...new Uint8Array(e)));return`-----BEGIN ${t}-----\n${a.match(/.{1,64}/g)?.join("\n")||a}\n-----END ${t}-----`},x=async()=>{let e="-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDZndBfQFMtLkIp\nALkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkrkr\nQIDAQABAoIBAH8K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\n-----END PRIVATE KEY-----";c.value&&u.value&&(e=await A(e,u.value)),h.value={publicKey:"-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2Z3QX0BTLS5CKQC5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nK5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5K5\nQIDAQAB\n-----END PUBLIC KEY-----",privateKey:e,keyInfo:{keySize:r.value,format:s.value,usage:i.value,passwordProtected:c.value&&""!==u.value,generated:(new Date).toISOString()}}},k=async e=>{if(!h.value)return;const t="public"===e?h.value.publicKey:h.value.privateKey;try{await navigator.clipboard.writeText(t),a(("public"===e?"公钥":"私钥")+"已复制")}catch(r){n("复制失败")}},_=e=>{if(!h.value)return;const t="public"===e?h.value.publicKey:h.value.privateKey,n=`rsa_${e}_key_${r.value}.${"jwk"===s.value?"json":"pem"}`,i=new Blob([t],{type:"text/plain"}),o=URL.createObjectURL(i),l=document.createElement("a");l.href=o,l.download=n,l.click(),URL.revokeObjectURL(o),a(("public"===e?"公钥":"私钥")+"已下载")},E=()=>{if(!p.value.trim()&&!f.value.trim())return void(m.value=null);const e=C(p.value,"public"),t=C(f.value,"private"),a=e&&t&&F();m.value={valid:e&&t&&a,publicKeyValid:e,privateKeyValid:t,keyPairMatch:a,keyInfo:e||t?{keySize:"2048"}:void 0}},C=(e,t)=>!!e.trim()&&("public"===t?e.includes("BEGIN PUBLIC KEY")&&e.includes("END PUBLIC KEY"):e.includes("BEGIN PRIVATE KEY")&&e.includes("END PRIVATE KEY")||e.includes("BEGIN ENCRYPTED PRIVATE KEY")&&e.includes("END ENCRYPTED PRIVATE KEY")),F=()=>""!==p.value.trim()&&""!==f.value.trim(),D=()=>{d.value=!d.value;const e=document.querySelector(".password-input");e&&(e.type=d.value?"text":"password")},A=async(e,t)=>{try{const a=new TextEncoder,n=a.encode(e),r=a.encode(t),s=new Uint8Array(n.length);for(let e=0;e{h.value=null,p.value="",f.value="",m.value=null,l.value=!1,c.value=!1,u.value="",d.value=!1,a("已清空所有内容")};return(e,a)=>(Cr(),Tr("div",eP,[Or(hl,{title:Nt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:T})]),_:1},8,["title"]),Mr("div",tP,[Mr("div",aP,[a[27]||(a[27]=Mr("div",{class:"section-header"},[Mr("h3",null,"密钥生成配置"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"配置RSA密钥参数")])],-1)),Mr("div",nP,[Mr("div",rP,[Mr("div",sP,[a[14]||(a[14]=Mr("label",null,"密钥长度",-1)),ca(Mr("select",{"onUpdate:modelValue":a[1]||(a[1]=e=>r.value=e),class:"key-size-select"},[...a[13]||(a[13]=[Mr("option",{value:"1024"},"1024位 (不推荐)",-1),Mr("option",{value:"2048"},"2048位 (推荐)",-1),Mr("option",{value:"3072"},"3072位",-1),Mr("option",{value:"4096"},"4096位 (高安全)",-1)])],512),[[_i,r.value]])]),Mr("div",iP,[a[16]||(a[16]=Mr("label",null,"输出格式",-1)),ca(Mr("select",{"onUpdate:modelValue":a[2]||(a[2]=e=>s.value=e),class:"format-select"},[...a[15]||(a[15]=[Mr("option",{value:"pem"},"PEM格式",-1),Mr("option",{value:"pkcs8"},"PKCS#8格式",-1),Mr("option",{value:"jwk"},"JWK格式",-1)])],512),[[_i,s.value]])]),Mr("div",oP,[a[18]||(a[18]=Mr("label",null,"密钥用途",-1)),ca(Mr("select",{"onUpdate:modelValue":a[3]||(a[3]=e=>i.value=e),class:"usage-select"},[...a[17]||(a[17]=[Mr("option",{value:"sign"},"数字签名",-1),Mr("option",{value:"encrypt"},"数据加密",-1),Mr("option",{value:"both"},"签名+加密",-1)])],512),[[_i,i.value]])])]),Mr("div",lP,[Mr("div",cP,[Mr("label",uP,[ca(Mr("input",{type:"checkbox","onUpdate:modelValue":a[4]||(a[4]=e=>c.value=e),class:"password-checkbox"},null,512),[[wi,c.value]]),a[19]||(a[19]=jr(" 私钥密码保护 (可选) ",-1))]),Mr("div",{class:Q(["password-input-container",{disabled:!c.value}])},[ca(Mr("input",{type:"password","onUpdate:modelValue":a[5]||(a[5]=e=>u.value=e),disabled:!c.value,placeholder:"输入私钥保护密码...",class:"password-input"},null,8,dP),[[bi,u.value]]),Mr("button",{type:"button",onClick:D,disabled:!c.value,class:"password-toggle-btn",title:"显示/隐藏密码"},[d.value?(Cr(),Tr("svg",pP,[...a[20]||(a[20]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])])):(Cr(),Tr("svg",fP,[...a[21]||(a[21]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])]))],8,hP)],2),a[22]||(a[22]=Mr("div",{class:"password-hint"},[Mr("span",{class:"hint-text"},"密码用于加密私钥,增强安全性")],-1))]),Mr("div",mP,[a[24]||(a[24]=Mr("label",null,"密码强度",-1)),c.value&&u.value?(Cr(),Tr("div",gP,[Mr("div",yP,[Mr("div",{class:Q(["strength-fill",y.value.level]),style:K({width:y.value.percentage+"%"})},null,6)]),Mr("span",{class:Q(["strength-text",y.value.level])},se(y.value.text),3)])):(Cr(),Tr("div",vP,[...a[23]||(a[23]=[Mr("div",{class:"strength-bar"},[Mr("div",{class:"strength-fill",style:{width:"0%"}})],-1),Mr("span",{class:"strength-text"},"未设置密码",-1)])]))])]),Mr("div",bP,[Mr("button",{class:"generate-btn",onClick:v,disabled:o.value},[a[25]||(a[25]=Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1)),jr(" "+se(o.value?"生成中...":"生成密钥对"),1)],8,wP),Mr("button",{class:"quick-generate-btn",onClick:b,disabled:o.value},[...a[26]||(a[26]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("polyline",{points:"12,6 12,12 16,14"})],-1),jr(" 快速生成 ",-1)])],8,xP)])])]),h.value?(Cr(),Tr("div",kP,[Mr("div",_P,[a[28]||(a[28]=Mr("h3",null,"生成的密钥对",-1)),Mr("div",EP,[Mr("span",CP,se(r.value)+"位 RSA密钥对",1)])]),Mr("div",FP,[Mr("div",DP,[Mr("div",AP,[Mr("div",TP,[a[31]||(a[31]=Mr("div",{class:"key-info"},[Mr("span",{class:"key-type"},"公钥 (Public Key)"),Mr("span",{class:"key-description"},"用于加密数据和验证签名")],-1)),Mr("div",SP,[Mr("button",{class:"copy-key-btn",onClick:a[6]||(a[6]=e=>k("public")),title:"复制公钥"},[...a[29]||(a[29]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"download-key-btn",onClick:a[7]||(a[7]=e=>_("public")),title:"下载公钥"},[...a[30]||(a[30]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])])]),Mr("div",IP,se(h.value.publicKey),1),Mr("div",NP,[Mr("span",PP,"长度: "+se(h.value.publicKey.length)+" 字符",1),Mr("span",BP,"格式: "+se(s.value.toUpperCase()),1)])]),Mr("div",MP,[Mr("div",OP,[Mr("div",UP,[Mr("div",jP,[a[33]||(a[33]=Mr("span",{class:"key-type"},"私钥 (Private Key)",-1)),h.value.keyInfo.passwordProtected?(Cr(),Tr("span",LP,[...a[32]||(a[32]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"3",y:"11",width:"18",height:"11",rx:"2",ry:"2"}),Mr("circle",{cx:"12",cy:"7",r:"4"})],-1),jr(" 密码保护 ",-1)])])):Rr("",!0)]),Mr("span",RP,se(h.value.keyInfo.passwordProtected?"已使用密码加密保护,请妥善保管密码和私钥":"用于解密数据和生成签名,请妥善保管"),1)]),Mr("div",zP,[Mr("button",{class:"copy-key-btn",onClick:a[8]||(a[8]=e=>k("private")),title:"复制私钥"},[...a[34]||(a[34]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])]),Mr("button",{class:"download-key-btn",onClick:a[9]||(a[9]=e=>_("private")),title:"下载私钥"},[...a[35]||(a[35]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)])])])]),Mr("div",{class:Q(["key-value private-key",{blurred:!l.value}])},[jr(se(h.value.privateKey)+" ",1),l.value?Rr("",!0):(Cr(),Tr("div",{key:0,class:"privacy-overlay",onClick:a[10]||(a[10]=e=>l.value=!0)},[...a[36]||(a[36]=[Mr("svg",{width:"24",height:"24",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"}),Mr("circle",{cx:"12",cy:"12",r:"3"})],-1),Mr("span",null,"点击显示私钥",-1)])]))],2),Mr("div",HP,[Mr("span",$P,"长度: "+se(h.value.privateKey.length)+" 字符",1),Mr("span",YP,"格式: "+se(s.value.toUpperCase()),1)])])])])])):Rr("",!0),Mr("div",GP,[a[46]||(a[46]=Mr("div",{class:"section-header"},[Mr("h3",null,"密钥验证工具"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"验证RSA密钥的有效性和匹配性")])],-1)),Mr("div",WP,[Mr("div",VP,[Mr("div",KP,[a[37]||(a[37]=Mr("label",null,"公钥",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[11]||(a[11]=e=>p.value=e),placeholder:"请输入要验证的公钥...",class:"verify-input",onInput:E},null,544),[[bi,p.value]])]),Mr("div",JP,[a[38]||(a[38]=Mr("label",null,"私钥",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[12]||(a[12]=e=>f.value=e),placeholder:"请输入要验证的私钥...",class:"verify-input",onInput:E},null,544),[[bi,f.value]])])]),m.value?(Cr(),Tr("div",qP,[Mr("div",ZP,[a[41]||(a[41]=Mr("h4",null,"验证结果",-1)),Mr("div",{class:Q(["verify-status",m.value.valid?"valid":"invalid"])},[m.value.valid?(Cr(),Tr("svg",XP,[...a[39]||(a[39]=[Mr("polyline",{points:"20,6 9,17 4,12"},null,-1)])])):(Cr(),Tr("svg",QP,[...a[40]||(a[40]=[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)])])),jr(" "+se(m.value.valid?"密钥有效":"密钥无效"),1)],2)]),Mr("div",eB,[Mr("div",tB,[a[42]||(a[42]=Mr("span",{class:"verify-label"},"公钥状态:",-1)),Mr("span",{class:Q(["verify-value",m.value.publicKeyValid?"valid":"invalid"])},se(m.value.publicKeyValid?"有效":"无效"),3)]),Mr("div",aB,[a[43]||(a[43]=Mr("span",{class:"verify-label"},"私钥状态:",-1)),Mr("span",{class:Q(["verify-value",m.value.privateKeyValid?"valid":"invalid"])},se(m.value.privateKeyValid?"有效":"无效"),3)]),Mr("div",nB,[a[44]||(a[44]=Mr("span",{class:"verify-label"},"密钥匹配:",-1)),Mr("span",{class:Q(["verify-value",m.value.keyPairMatch?"valid":"invalid"])},se(m.value.keyPairMatch?"匹配":"不匹配"),3)]),m.value.keyInfo?(Cr(),Tr("div",rB,[a[45]||(a[45]=Mr("span",{class:"verify-label"},"密钥长度:",-1)),Mr("span",sB,se(m.value.keyInfo.keySize)+"位",1)])):Rr("",!0)])])):Rr("",!0)])]),Mr("div",iB,[a[48]||(a[48]=Mr("div",{class:"section-header"},[Mr("h3",null,"RSA算法说明"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"了解RSA加密算法的特点和应用")])],-1)),Mr("div",oB,[Mr("div",lB,[(Cr(),Tr(br,null,yn(g,e=>Mr("div",{key:e.title,class:"algorithm-card"},[Mr("div",cB,[Mr("h4",null,se(e.title),1),Mr("span",uB,se(e.icon),1)]),Mr("div",dB,se(e.description),1),Mr("div",hB,[(Cr(!0),Tr(br,null,yn(e.features,e=>(Cr(),Tr("div",{key:e,class:"feature-item"},[a[47]||(a[47]=Mr("span",{class:"feature-bullet"},"•",-1)),Mr("span",pB,se(e),1)]))),128))])])),64))])])])])]))}}),[["__scopeId","data-v-7ba029c7"]]);var mB,gB,yB=Object.create,vB=Object.defineProperty,bB=Object.getOwnPropertyDescriptor,wB=Object.getOwnPropertyNames,xB=Object.getPrototypeOf,kB=Object.prototype.hasOwnProperty,_B=(e,t)=>{for(var a in t)vB(e,a,{get:t[a],enumerable:!0})},EB=(mB=(e,t)=>{var a,n,r,s,i,o,l,c,u,d,h,p,f,m,g,y,v,b,w;f=/\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]|[^\/\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/uy,p=/--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y,a=/(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/uy,g=/(['"])(?:[^'"\\\n\r]+|(?!\1)['"]|\\(?:\r\n|[^]))*(\1)?/y,h=/(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y,y=/[`}](?:[^`\\$]+|\\[^]|\$(?!\{))*(`|\$\{)?/y,w=/[\t\v\f\ufeff\p{Zs}]+/uy,c=/\r?\n|[\r\u2028\u2029]/y,u=/\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y,m=/\/\/.*/y,r=/[<>.:={}]|\/(?![\/*])/y,n=/[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/uy,s=/(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y,i=/[^<>{}]+/y,b=/^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/,v=/^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/,o=/^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/,l=/^(?:return|throw|yield)$/,d=RegExp(c.source),t.exports=function*(e,{jsx:t=!1}={}){var x,k,_,E,C,F,D,A,T,S,I,N,P,B;for(({length:F}=e),E=0,C="",B=[{tag:"JS"}],x=[],I=0,N=!1;E":B.pop(),"/"===C||"JSXTagEnd"===A.tag?(S="?JSX",N=!0):B.push({tag:"JSXChildren"});break;case"{":B.push({tag:"InterpolationInJSX",nesting:x.length}),S="?InterpolationInJSX",N=!1;break;case"/":"<"===C&&(B.pop(),"JSXChildren"===B[B.length-1].tag&&B.pop(),B.push({tag:"JSXTagEnd"}))}C=S,yield{type:"JSXPunctuator",value:D[0]};continue}if(n.lastIndex=E,D=n.exec(e)){E=n.lastIndex,C=D[0],yield{type:"JSXIdentifier",value:D[0]};continue}if(s.lastIndex=E,D=s.exec(e)){E=s.lastIndex,C=D[0],yield{type:"JSXString",value:D[0],closed:void 0!==D[2]};continue}break;case"JSXChildren":if(i.lastIndex=E,D=i.exec(e)){E=i.lastIndex,C=D[0],yield{type:"JSXText",value:D[0]};continue}switch(e[E]){case"<":B.push({tag:"JSXTag"}),E++,C="<",yield{type:"JSXPunctuator",value:"<"};continue;case"{":B.push({tag:"InterpolationInJSX",nesting:x.length}),E++,C="?InterpolationInJSX",N=!1,yield{type:"JSXPunctuator",value:"{"};continue}}w.lastIndex=E,(D=w.exec(e))?(E=w.lastIndex,yield{type:"WhiteSpace",value:D[0]}):(c.lastIndex=E,(D=c.exec(e))?(E=c.lastIndex,N=!1,l.test(C)&&(C="?NoLineTerminatorHere"),yield{type:"LineTerminatorSequence",value:D[0]}):(u.lastIndex=E,(D=u.exec(e))?(E=u.lastIndex,d.test(D[0])&&(N=!1,l.test(C)&&(C="?NoLineTerminatorHere")),yield{type:"MultiLineComment",value:D[0],closed:void 0!==D[1]}):(m.lastIndex=E,(D=m.exec(e))?(E=m.lastIndex,N=!1,yield{type:"SingleLineComment",value:D[0]}):(E+=(k=String.fromCodePoint(e.codePointAt(E))).length,C=k,N=!1,yield{type:A.tag.startsWith("JSX")?"JSXInvalid":"Invalid",value:k}))))}}},()=>(gB||mB((gB={exports:{}}).exports,gB),gB.exports));_B({},{__debug:()=>sL,check:()=>aL,doc:()=>Tj,format:()=>tL,formatWithCursor:()=>eL,getSupportInfo:()=>rL,util:()=>Bj,version:()=>Pj});var CB=(e,t)=>(a,n,...r)=>1|a&&null==n?void 0:(t.call(n)??n[e]).apply(n,r),FB=String.prototype.replaceAll??function(e,t){return e.global?this.replace(e,t):this.split(e).join(t)},DB=CB("replaceAll",function(){if("string"==typeof this)return FB}),AB=class{diff(e,t,a={}){let n;"function"==typeof a?(n=a,a={}):"callback"in a&&(n=a.callback);let r=this.castInput(e,a),s=this.castInput(t,a),i=this.removeEmpty(this.tokenize(r,a)),o=this.removeEmpty(this.tokenize(s,a));return this.diffWithOptionsObj(i,o,a,n)}diffWithOptionsObj(e,t,a,n){var r;let s=e=>(e=this.postProcess(e,a),n?void setTimeout(function(){n(e)},0):e),i=t.length,o=e.length,l=1,c=i+o;null!=a.maxEditLength&&(c=Math.min(c,a.maxEditLength));let u=null!==(r=a.timeout)&&void 0!==r?r:1/0,d=Date.now()+u,h=[{oldPos:-1,lastComponent:void 0}],p=this.extractCommon(h[0],t,e,0,a);if(h[0].oldPos+1>=o&&p+1>=i)return s(this.buildValues(h[0].lastComponent,t,e));let f=-1/0,m=1/0,g=()=>{for(let n=Math.max(f,-l);n<=Math.min(m,l);n+=2){let r,l=h[n-1],c=h[n+1];l&&(h[n-1]=void 0);let u=!1;if(c){let e=c.oldPos-n;u=c&&0<=e&&e=o&&p+1>=i)return s(this.buildValues(r.lastComponent,t,e))||!0;h[n]=r,r.oldPos+1>=o&&(m=Math.min(m,n-1)),p+1>=i&&(f=Math.max(f,n+1))}else h[n]=void 0}l++};if(n)!function e(){setTimeout(function(){if(l>c||Date.now()>d)return n(void 0);g()||e()},0)}();else for(;l<=c&&Date.now()<=d;){let e=g();if(e)return e}}addToPath(e,t,a,n,r){let s=e.lastComponent;return s&&!r.oneChangePerToken&&s.added===t&&s.removed===a?{oldPos:e.oldPos+n,lastComponent:{count:s.count+1,added:t,removed:a,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:a,previousComponent:s}}}extractCommon(e,t,a,n,r){let s=t.length,i=a.length,o=e.oldPos,l=o-n,c=0;for(;l+1e.length?n:e}),e.value=this.join(n)}else e.value=this.join(t.slice(o,o+e.count));o+=e.count,e.added||(l+=e.count)}}return r}},TB=new class extends AB{tokenize(e){return e.slice()}join(e){return e}removeEmpty(e){return e}};var SB=()=>{},IB="crlf",NB="\n",PB=NB;function BB(e){return"cr"===e?"\r":e===IB?"\r\n":PB}var MB=new Map([[NB,/\n/gu],["\r",/\r/gu],["\r\n",/\r\n/gu]]);function OB(e,t){let a=MB.get(t);return e.match(a)?.length??0}var UB=/\r\n?/gu;function jB(e){return this[e<0?this.length+e:e]}var LB=CB("at",function(){if(Array.isArray(this)||"string"==typeof this)return jB}),RB="string",zB="array",HB="cursor",$B="indent",YB="align",GB="trim",WB="group",VB="fill",KB="if-break",JB="indent-if-break",qB="line-suffix",ZB="line-suffix-boundary",XB="line",QB="label",eM="break-parent",tM=new Set([HB,$B,YB,GB,WB,VB,KB,JB,qB,ZB,XB,QB,eM]);var aM=function(e){if("string"==typeof e)return RB;if(Array.isArray(e))return zB;if(!e)return;let{type:t}=e;return tM.has(t)?t:void 0};function nM(e){let t=null===e?"null":typeof e;if("string"!==t&&"object"!==t)return`Unexpected doc '${t}', \nExpected it to be 'string' or 'object'.`;if(aM(e))throw new Error("doc is valid.");let a=Object.prototype.toString.call(e);if("[object Object]"!==a)return`Unexpected doc '${a}'.`;let n=(e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e))([...tM].map(e=>`'${e}'`));return`Unexpected doc.type '${e.type}'.\nExpected it to be ${n}.`}var rM=class extends Error{constructor(e){super(nM(e)),o(this,"name","InvalidDocError"),this.doc=e}},sM=rM,iM={};var oM=function(e,t,a,n){let r=[e];for(;r.length>0;){let e=r.pop();if(e===iM){a(r.pop());continue}a&&r.push(e,iM);let s=aM(e);if(!s)throw new sM(e);if(!1!==t?.(e))switch(s){case zB:case VB:{let t=s===zB?e:e.parts;for(let e=t.length-1;e>=0;--e)r.push(t[e]);break}case KB:r.push(e.flatContents,e.breakContents);break;case WB:if(n&&e.expandedStates)for(let t=e.expandedStates.length-1;t>=0;--t)r.push(e.expandedStates[t]);else r.push(e.contents);break;case YB:case $B:case JB:case QB:case qB:r.push(e.contents);break;case RB:case HB:case GB:case ZB:case XB:case eM:break;default:throw new sM(e)}}};function lM(e,t){if("string"==typeof e)return t(e);let a=new Map;return n(e);function n(e){if(a.has(e))return a.get(e);let r=function(e){switch(aM(e)){case zB:return t(e.map(n));case VB:return t({...e,parts:e.parts.map(n)});case KB:return t({...e,breakContents:n(e.breakContents),flatContents:n(e.flatContents)});case WB:{let{expandedStates:a,contents:r}=e;return a?(a=a.map(n),r=a[0]):r=n(r),t({...e,contents:r,expandedStates:a})}case YB:case $B:case JB:case QB:case qB:return t({...e,contents:n(e.contents)});case RB:case HB:case GB:case ZB:case XB:case eM:return t(e);default:throw new sM(e)}}(e);return a.set(e,r),r}}function cM(e,t,a){let n=a,r=!1;return oM(e,function(e){if(r)return!1;let a=t(e);void 0!==a&&(r=!0,n=a)}),n}function uM(e){if(e.type===WB&&e.break||e.type===XB&&e.hard||e.type===eM)return!0}function dM(e){if(e.length>0){let t=LB(0,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated")}return null}function hM(e){return e.type!==XB||e.hard?e.type===KB?e.flatContents:e:e.soft?"":" "}function pM(e){for(e=[...e];e.length>=2&&LB(0,e,-2).type===XB&&LB(0,e,-1).type===eM;)e.length-=2;if(e.length>0){let t=fM(LB(0,e,-1));e[e.length-1]=t}return e}function fM(e){switch(aM(e)){case $B:case JB:case WB:case qB:case QB:{let t=fM(e.contents);return{...e,contents:t}}case KB:return{...e,breakContents:fM(e.breakContents),flatContents:fM(e.flatContents)};case VB:return{...e,parts:pM(e.parts)};case zB:return pM(e);case RB:return function(e){let t=e.length;for(;t>0&&("\r"===e[t-1]||"\n"===e[t-1]);)t--;return tfunction(e){switch(aM(e)){case VB:if(e.parts.every(e=>""===e))return"";break;case WB:if(!(e.contents||e.id||e.break||e.expandedStates))return"";if(e.contents.type===WB&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case YB:case $B:case JB:case qB:if(!e.contents)return"";break;case KB:if(!e.flatContents&&!e.breakContents)return"";break;case zB:{let t=[];for(let a of e){if(!a)continue;let[e,...n]=Array.isArray(a)?a:[a];"string"==typeof e&&"string"==typeof LB(0,t,-1)?t[t.length-1]+=e:t.push(e),t.push(...n)}return 0===t.length?"":1===t.length?t[0]:t}case RB:case HB:case GB:case ZB:case XB:case QB:case eM:break;default:throw new sM(e)}return e}(e))}(e))}function gM(e){if(e.type===XB)return!0}function yM(e,t){return e.type===QB?{...e,contents:t(e.contents)}:t(e)}var vM=SB;function bM(e){return{type:$B,contents:e}}function wM(e,t){return{type:YB,contents:t,n:e}}function xM(e){return wM({type:"root"},e)}function kM(e,t,a){let n=e;if(t>0){for(let e=0;e=65281&&e<=65376||e>=65504&&e<=65510}function jM(e){return e>=4352&&e<=4447||8986===e||8987===e||9001===e||9002===e||e>=9193&&e<=9196||9200===e||9203===e||9725===e||9726===e||9748===e||9749===e||e>=9776&&e<=9783||e>=9800&&e<=9811||9855===e||e>=9866&&e<=9871||9875===e||9889===e||9898===e||9899===e||9917===e||9918===e||9924===e||9925===e||9934===e||9940===e||9962===e||9970===e||9971===e||9973===e||9978===e||9981===e||9989===e||9994===e||9995===e||10024===e||10060===e||10062===e||e>=10067&&e<=10069||10071===e||e>=10133&&e<=10135||10160===e||10175===e||11035===e||11036===e||11088===e||11093===e||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12773||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e>=94192&&e<=94198||e>=94208&&e<=101589||e>=101631&&e<=101662||e>=101760&&e<=101874||e>=110576&&e<=110579||e>=110581&&e<=110587||110589===e||110590===e||e>=110592&&e<=110882||110898===e||e>=110928&&e<=110930||110933===e||e>=110948&&e<=110951||e>=110960&&e<=111355||e>=119552&&e<=119638||e>=119648&&e<=119670||126980===e||127183===e||127374===e||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||127568===e||127569===e||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||127988===e||e>=127992&&e<=128062||128064===e||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||128378===e||128405===e||128406===e||128420===e||e>=128507&&e<=128591||e>=128640&&e<=128709||128716===e||e>=128720&&e<=128722||e>=128725&&e<=128728||e>=128732&&e<=128735||128747===e||128748===e||e>=128756&&e<=128764||e>=128992&&e<=129003||129008===e||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129674||e>=129678&&e<=129734||129736===e||e>=129741&&e<=129756||e>=129759&&e<=129770||e>=129775&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var LM=/[^\x20-\x7F]/u,RM=new Set("©®‼⁉™ℹ↔↕↖↗↘↙↩↪⌨⏏⏱⏲⏸⏹⏺▪▫▶◀◻◼☀☁☂☃☄☎☑☘☝☠☢☣☦☪☮☯☸☹☺♀♂♟♠♣♥♦♨♻♾⚒⚔⚕⚖⚗⚙⚛⚜⚠⚧⚰⚱⛈⛏⛑⛓⛩⛱⛷⛸⛹✂✈✉✌✍✏✒✔✖✝✡✳✴❄❇❣❤➡⤴⤵⬅⬆⬇");var zM=function(e){if(!e)return 0;if(!LM.test(e))return e.length;e=e.replace(/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E-\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED8\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDD1D\uDEEF]\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE]|[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE]|\uDEEF\u200D\uD83D\uDC69\uD83C[\uDFFB-\uDFFE])))?))?|\uDD75(?:\uD83C[\uDFFB-\uDFFF]|\uFE0F)?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3C-\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE8A\uDE8E-\uDEC2\uDEC6\uDEC8\uDECD-\uDEDC\uDEDF-\uDEEA\uDEEF]|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC30\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3\uDE70]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF]|\uDEEF\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g,e=>RM.has(e)?" ":" ");let t=0;for(let a of e){let e=a.codePointAt(0);e<=31||e>=127&&e<=159||e>=768&&e<=879||e>=65024&&e<=65039||(t+=UM(e)||jM(e)?2:1)}return t},HM={type:0},$M={type:1},YM={value:"",length:0,queue:[],get root(){return YM}};function GM(e,t,a){let n=1===t.type?e.queue.slice(0,-1):[...e.queue,t],r="",s=0,i=0,o=0;for(let p of n)switch(p.type){case 0:u(),a.useTabs?l(1):c(a.tabWidth);break;case 3:{let{string:e}=p;u(),r+=e,s+=e.length;break}case 2:{let{width:e}=p;i+=1,o+=e;break}default:throw new Error(`Unexpected indent comment '${p.type}'.`)}return d(),{...e,value:r,length:s,queue:n};function l(e){r+="\t".repeat(e),s+=a.tabWidth*e}function c(e){r+=" ".repeat(e),s+=e}function u(){a.useTabs?(i>0&&l(i),h()):d()}function d(){o>0&&c(o),h()}function h(){i=0,o=0}}function WM(e,t,a){if(!t)return e;if("root"===t.type)return{...e,root:e};if(t===Number.NEGATIVE_INFINITY)return e.root;let n;return n="number"==typeof t?t<0?$M:{type:2,width:t}:{type:3,string:t},GM(e,n,a)}function VM(e,t){return GM(e,HM,t)}function KM(e){let t=function(e){let t=0;for(let a=e.length-1;a>=0;a--){let n=e[a];if(" "!==n&&"\t"!==n)break;t++}return t}(e);return{text:0===t?e:e.slice(0,e.length-t),count:t}}var JM=Symbol("MODE_BREAK"),qM=Symbol("MODE_FLAT"),ZM=Symbol("DOC_FILL_PRINTED_LENGTH");function XM(e,t,a,n,r,s){if(a===Number.POSITIVE_INFINITY)return!0;let i=t.length,o=!1,l=[e],c="";for(;a>=0;){if(0===l.length){if(0===i)return!0;l.push(t[--i]);continue}let{mode:e,doc:u}=l.pop(),d=aM(u);switch(d){case RB:u&&(o&&(c+=" ",a-=1,o=!1),c+=u,a-=zM(u));break;case zB:case VB:{let t=d===zB?u:u.parts,a=u[ZM]??0;for(let n=t.length-1;n>=a;n--)l.push({mode:e,doc:t[n]});break}case $B:case YB:case JB:case QB:l.push({mode:e,doc:u.contents});break;case GB:{let{text:e,count:t}=KM(c);c=e,a+=t;break}case WB:{if(s&&u.break)return!1;let t=u.break?JM:e,a=u.expandedStates&&t===JM?LB(0,u.expandedStates,-1):u.contents;l.push({mode:t,doc:a});break}case KB:{let t=(u.groupId?r[u.groupId]||qM:e)===JM?u.breakContents:u.flatContents;t&&l.push({mode:e,doc:t});break}case XB:if(e===JM||u.hard)return!0;u.soft||(o=!0);break;case qB:n=!0;break;case ZB:if(n)return!1}}return!1}function QM(e,t){let a=Object.create(null),n=t.printWidth,r=BB(t.endOfLine),s=0,i=[{indent:YM,mode:JM,doc:e}],o="",l=!1,c=[],u=[],d=[],h=[],p=0;for(function(e){let t=new Set,a=[];oM(e,function(e){if(e.type===eM&&dM(a),e.type===WB){if(a.push(e),t.has(e))return!1;t.add(e)}},function(e){e.type===WB&&a.pop().break&&dM(a)},!0)}(e);i.length>0;){let{indent:e,mode:d,doc:h}=i.pop();switch(aM(h)){case RB:{let e="\n"!==r?DB(0,h,"\n",r):h;e&&(o+=e,i.length>0&&(s+=zM(e)));break}case zB:for(let t=h.length-1;t>=0;t--)i.push({indent:e,mode:d,doc:h[t]});break;case HB:if(u.length>=2)throw new Error("There are too many 'cursor' in doc.");u.push(p+o.length);break;case $B:i.push({indent:VM(e,t),mode:d,doc:h.contents});break;case YB:i.push({indent:WM(e,h.n,t),mode:d,doc:h.contents});break;case GB:y();break;case WB:switch(d){case qM:if(!l){i.push({indent:e,mode:h.break?JM:qM,doc:h.contents});break}case JM:{l=!1;let t={indent:e,mode:qM,doc:h.contents},r=n-s,o=c.length>0;if(!h.break&&XM(t,i,r,o,a))i.push(t);else if(h.expandedStates){let t=LB(0,h.expandedStates,-1);if(h.break){i.push({indent:e,mode:JM,doc:t});break}for(let n=1;n=h.expandedStates.length){i.push({indent:e,mode:JM,doc:t});break}{let t=h.expandedStates[n],s={indent:e,mode:qM,doc:t};if(XM(s,i,r,o,a)){i.push(s);break}}}}else i.push({indent:e,mode:JM,doc:h.contents});break}}h.id&&(a[h.id]=LB(0,i,-1).mode);break;case VB:{let t=n-s,r=h[ZM]??0,{parts:o}=h,l=o.length-r;if(0===l)break;let u=o[r+0],p=o[r+1],f={indent:e,mode:qM,doc:u},m={indent:e,mode:JM,doc:u},g=XM(f,[],t,c.length>0,a,!0);if(1===l){g?i.push(f):i.push(m);break}let y={indent:e,mode:qM,doc:p},v={indent:e,mode:JM,doc:p};if(2===l){g?i.push(y,f):i.push(v,m);break}let b=o[r+2],w={indent:e,mode:d,doc:{...h,[ZM]:r+2}},x=XM({indent:e,mode:qM,doc:[u,p,b]},[],t,c.length>0,a,!0);i.push(w),x?i.push(y,f):g?i.push(v,f):i.push(v,m);break}case KB:case JB:{let t=h.groupId?a[h.groupId]:d;if(t===JM){let t=h.type===KB?h.breakContents:h.negate?h.contents:bM(h.contents);t&&i.push({indent:e,mode:d,doc:t})}if(t===qM){let t=h.type===KB?h.flatContents:h.negate?bM(h.contents):h.contents;t&&i.push({indent:e,mode:d,doc:t})}break}case qB:c.push({indent:e,mode:d,doc:h.contents});break;case ZB:c.length>0&&i.push({indent:e,mode:d,doc:TM});break;case XB:switch(d){case qM:if(!h.hard){h.soft||(o+=" ",s+=1);break}l=!0;case JM:if(c.length>0){i.push({indent:e,mode:d,doc:h},...c.reverse()),c.length=0;break}h.literal?(o+=r,s=0,e.root&&(e.root.value&&(o+=e.root.value),s=e.root.length)):(y(),o+=r+e.value,s=e.length)}break;case QB:i.push({indent:e,mode:d,doc:h.contents});break;case eM:break;default:throw new sM(h)}0===i.length&&c.length>0&&(i.push(...c.reverse()),c.length=0)}let f=d.join("")+o,m=[...h,...u];if(2!==m.length)return{formatted:f};let g=m[0];return{formatted:f,cursorNodeStart:g,cursorNodeText:f.slice(g,LB(0,m,-1))};function y(){let{text:e,count:t}=KM(o);e&&(d.push(e),p+=e.length),o="",s-=t,u.length>0&&(h.push(...u.map(e=>Math.min(e,p))),u.length=0)}}var eO=function(e,t,a=0){let n=0;for(let r=a;r1?LB(0,e,-2):null}getValue(){return LB(0,this.stack,-1)}getNode(a=0){let n=l(this,e,t).call(this,a);return-1===n?null:this.stack[n]}getParentNode(e=0){return this.getNode(e+1)}call(e,...t){let{stack:a}=this,{length:n}=a,r=LB(0,a,-1);for(let s of t)r=r?.[s],a.push(s,r);try{return e(this)}finally{a.length=n}}callParent(a,n=0){let r=l(this,e,t).call(this,n+1),s=this.stack.splice(r+1);try{return a(this)}finally{this.stack.push(...s)}}each(e,...t){let{stack:a}=this,{length:n}=a,r=LB(0,a,-1);for(let s of t)r=r[s],a.push(s,r);try{for(let t=0;t{a[n]=e(t,n,r)},...t),a}match(...e){let t=this.stack.length-1,a=null,n=this.stack[t--];for(let r of e){if(void 0===n)return!1;let e=null;if("number"==typeof a&&(e=a,a=this.stack[t--],n=this.stack[t--]),r&&!r(n,a,e))return!1;a=this.stack[t--],n=this.stack[t--]}return!0}findAncestor(t){for(let n of l(this,e,a).call(this))if(t(n))return n}hasAncestor(t){for(let n of l(this,e,a).call(this))if(t(n))return!0;return!1}},e=new WeakSet,t=function(e){let{stack:t}=this;for(let a=t.length-1;a>=0;a-=2)if(!Array.isArray(t[a])&&--e<0)return a;return-1},a=function*(){let{stack:e}=this;for(let t=e.length-3;t>=0;t-=2){let a=e[t];Array.isArray(a)||(yield a)}},n),aO=tO;var nO=function(e){return null!==e&&"object"==typeof e};function rO(e){return(t,a,n)=>{let r=!!n?.backwards;if(!1===a)return!1;let{length:s}=t,i=a;for(;i>=0&&i"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e;var uO=function(e,t,a){let n=!!a?.backwards;if(!1===t)return!1;let r=e.charAt(t);if(n){if("\r"===e.charAt(t-1)&&"\n"===r)return t-2;if(cO(r))return t-1}else{if("\r"===r&&"\n"===e.charAt(t+1))return t+2;if(cO(r))return t+1}return t};var dO=function(e,t,a={}){let n=iO(e,a.backwards?t-1:t,a);return n!==uO(e,n,a)};var hO=function(e){return Array.isArray(e)&&e.length>0};function*pO(e,t){let{getVisitorKeys:a,filter:n=()=>!0}=t,r=e=>nO(e)&&n(e);for(let s of a(e)){let t=e[s];if(Array.isArray(t))for(let e of t)r(e)&&(yield e);else r(t)&&(yield t)}}var fO=function e(t,a,n){let{cache:r}=n;if(r.has(t))return r.get(t);let{filter:s}=n;if(!s)return[];let i,o=(n.getChildren?.(t,n)??[...pO(t,{getVisitorKeys:n.getVisitorKeys})]).flatMap(r=>(i??(i=[t,...a]),s(r,i)?[r]:e(r,i,n))),{locStart:l,locEnd:c}=n;return o.sort((e,t)=>l(e)-l(t)||c(e)-c(t)),r.set(t,o),o};function mO(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=function(e){let t=e.type||e.kind||"(unknown type)",a=String(e.name||e.id&&("object"==typeof e.id?e.id.name:e.id)||e.key&&("object"==typeof e.key?e.key.name:e.key)||e.value&&("object"==typeof e.value?"":String(e.value))||e.operator||"");return a.length>20&&(a=a.slice(0,19)+"…"),t+(a?" "+a:"")}(e)}function gO(e,t){t.leading=!0,t.trailing=!1,mO(e,t)}function yO(e,t,a){t.leading=!1,t.trailing=!1,a&&(t.marker=a),mO(e,t)}function vO(e,t){t.leading=!1,t.trailing=!0,mO(e,t)}var bO=new WeakMap;function wO(e,t,a,n,r=[]){let s,i,{locStart:o,locEnd:l}=a,c=o(t),u=l(t),d=fO(e,r,{cache:bO,locStart:o,locEnd:l,getVisitorKeys:a.getVisitorKeys,filter:a.printer.canAttachComment,getChildren:a.printer.getCommentChildNodes}),h=0,p=d.length;for(;h>1,n=d[e],f=o(n),m=l(n);if(f<=c&&u<=m)return wO(n,t,a,n,[n,...r]);if(m<=c)s=n,h=e+1;else{if(!(u<=f))throw new Error("Comment location overlaps with node location");i=n,p=e}}if("TemplateLiteral"===n?.type){let{quasis:e}=n,r=FO(e,t,a);s&&FO(e,s,a)!==r&&(s=null),i&&FO(e,i,a)!==r&&(i=null)}return{enclosingNode:n,precedingNode:s,followingNode:i}}var xO=()=>!1;var kO=e=>!/[\S\n\u2028\u2029]/u.test(e);function _O(e,t,a,n){let{comment:r,precedingNode:s}=a[n],{locStart:i,locEnd:o}=t,l=i(r);if(s)for(let c=n-1;c>=0;c--){let{comment:t,precedingNode:n}=a[c];if(n!==s||!kO(e.slice(o(t),l)))break;l=i(t)}return dO(e,l,{backwards:!0})}function EO(e,t,a,n){let{comment:r,followingNode:s}=a[n],{locStart:i,locEnd:o}=t,l=o(r);if(s)for(let c=n+1;c0;--n){let{comment:a,precedingNode:r,followingNode:s}=e[n-1],o=t.originalText.slice(t.locEnd(a),i);if(!(t.printer.isGap?.(o,t)??/^[\s(]*$/u.test(o)))break;i=t.locStart(a)}for(let[o,{comment:l}]of e.entries())o1&&o.comments.sort((e,a)=>t.locStart(e)-t.locStart(a));e.length=0}function FO(e,t,a){let n=a.locStart(t)-1;for(let r=1;r!n.has(e)).length)return{leading:"",trailing:""};let r,s=[],i=[];return e.each(()=>{let a=e.node;if(n?.has(a))return;let{leading:o,trailing:l}=a;o?s.push(function(e,t){let a=e.node,n=[AO(e,t)],{printer:r,originalText:s,locStart:i,locEnd:o}=t;if(r.isBlockComment?.(a)){let e=dO(s,o(a))?dO(s,i(a),{backwards:!0})?SM:DM:" ";n.push(e)}else n.push(SM);let l=uO(s,iO(s,o(a)));return!1!==l&&dO(s,l)&&n.push(SM),n}(e,t)):l&&(r=function(e,t,a){let n=e.node,r=AO(e,t),{printer:s,originalText:i,locStart:o}=t,l=s.isBlockComment?.(n);if(a?.hasLineSuffix&&!a?.isBlock||dO(i,o(n),{backwards:!0})){let e=DO(i,o(n));return{doc:PM([SM,e?SM:"",r]),isBlock:l,hasLineSuffix:!0}}return!l||a?.hasLineSuffix?{doc:[PM([" ",r]),_M],isBlock:l,hasLineSuffix:!0}:{doc:[" ",r],isBlock:l,hasLineSuffix:!1}}(e,t,r),i.push(r.doc))},"comments"),{leading:s,trailing:i}}var SO=class extends Error{constructor(){super(...arguments),o(this,"name","ConfigError")}},IO=class extends Error{constructor(){super(...arguments),o(this,"name","UndefinedParserError")}},NO={checkIgnorePragma:{category:"Special",type:"boolean",default:!1,description:"Check whether the file's first docblock comment contains '@noprettier' or '@noformat' to determine if it should be formatted.",cliCategory:"Other"},cursorOffset:{category:"Special",type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:"Print (to stderr) where a cursor at the given position would move to after formatting.",cliCategory:"Editor"},endOfLine:{category:"Global",type:"choice",default:"lf",description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:"Maintain existing\n(mixed values within one file are normalised by looking at what's used after the first line)"}]},filepath:{category:"Special",type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:"Other",cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{category:"Special",type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:"Other"},parser:{category:"Global",type:"choice",default:void 0,description:"Which parser to use.",exception:e=>"string"==typeof e||"function"==typeof e,choices:[{value:"flow",description:"Flow"},{value:"babel",description:"JavaScript"},{value:"babel-flow",description:"Flow"},{value:"babel-ts",description:"TypeScript"},{value:"typescript",description:"TypeScript"},{value:"acorn",description:"JavaScript"},{value:"espree",description:"JavaScript"},{value:"meriyah",description:"JavaScript"},{value:"css",description:"CSS"},{value:"less",description:"Less"},{value:"scss",description:"SCSS"},{value:"json",description:"JSON"},{value:"json5",description:"JSON5"},{value:"jsonc",description:"JSON with Comments"},{value:"json-stringify",description:"JSON.stringify"},{value:"graphql",description:"GraphQL"},{value:"markdown",description:"Markdown"},{value:"mdx",description:"MDX"},{value:"vue",description:"Vue"},{value:"yaml",description:"YAML"},{value:"glimmer",description:"Ember / Handlebars"},{value:"html",description:"HTML"},{value:"angular",description:"Angular"},{value:"lwc",description:"Lightning Web Components"},{value:"mjml",description:"MJML"}]},plugins:{type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>"string"==typeof e||"object"==typeof e,cliName:"plugin",cliCategory:"Config"},printWidth:{category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:"Format code ending at a given character offset (exclusive).\nThe range will extend forwards to the end of the selected statement.",cliCategory:"Editor"},rangeStart:{category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:"Format code starting at a given character offset.\nThe range will extend backwards to the start of the first line containing the selected statement.",cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:!1,description:"Require either '@prettier' or '@format' to be present in the file's first docblock comment in order for it to be formatted.",cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};function PO({plugins:e=[],showDeprecated:t=!1}={}){let a=e.flatMap(e=>e.languages??[]),n=[];for(let r of function(e){let t=[];for(let[a,n]of Object.entries(e)){let e={name:a,...n};Array.isArray(e.default)&&(e.default=LB(0,e.default,-1).value),t.push(e)}return t}(Object.assign({},...e.map(({options:e})=>e),NO)))!t&&r.deprecated||(Array.isArray(r.choices)&&(t||(r.choices=r.choices.filter(e=>!e.deprecated)),"parser"===r.name&&(r.choices=[...r.choices,...BO(r.choices,a,e)])),r.pluginDefaults=Object.fromEntries(e.filter(e=>void 0!==e.defaultOptions?.[r.name]).map(e=>[e.name,e.defaultOptions[r.name]])),n.push(r));return{languages:a,options:n}}function*BO(e,t,a){let n=new Set(e.map(e=>e.value));for(let r of t)if(r.parsers)for(let e of r.parsers)if(!n.has(e)){n.add(e);let t=a.find(t=>t.parsers&&Object.prototype.hasOwnProperty.call(t.parsers,e)),s=r.name;t?.name&&(s+=` (plugin: ${t.name})`),yield{value:e,description:s}}}var MO=Array.prototype.toReversed??function(){return[...this].reverse()},OO=CB("toReversed",function(){if(Array.isArray(this))return MO});var UO=function(){let e=globalThis,t=e.Deno?.build?.os;return"string"==typeof t?"windows"===t:e.navigator?.platform?.startsWith("Win")??e.process?.platform?.startsWith("win")??!1}();function jO(e){if("file:"!==(e=e instanceof URL?e:new URL(e)).protocol)throw new TypeError(`URL must be a file URL: received "${e.protocol}"`);return e}function LO(e){return UO?function(e){e=jO(e);let t=decodeURIComponent(e.pathname.replace(/\//g,"\\").replace(/%(?![0-9A-Fa-f]{2})/g,"%25")).replace(/^\\*([A-Za-z]:)(\\|$)/,"$1\\");return""!==e.hostname&&(t=`\\\\${e.hostname}${t}`),t}(e):function(e){return e=jO(e),decodeURIComponent(e.pathname.replace(/%(?![0-9A-Fa-f]{2})/g,"%25"))}(e)}function RO(e,t){if(!t)return;let a=(e=>String(e).split(/[/\\]/u).pop())(t).toLowerCase();return e.find(({filenames:e})=>e?.some(e=>e.toLowerCase()===a))??e.find(({extensions:e})=>e?.some(e=>a.endsWith(e)))}function zO(e,t){if(t){if((e=>String(e).startsWith("file:"))(t))try{t=LO(t)}catch{return}if("string"==typeof t)return e.find(({isSupported:e})=>e?.({filepath:t}))}}var HO=function(e,t){let a=OO(0,e.plugins).flatMap(e=>e.languages??[]);return(function(e,t){if(t)return e.find(({name:e})=>e.toLowerCase()===t)??e.find(({aliases:e})=>e?.includes(t))??e.find(({extensions:e})=>e?.includes(`.${t}`))}(a,t.language)??RO(a,t.physicalFile)??RO(a,t.file)??zO(a,t.physicalFile)??zO(a,t.file)??undefined)?.parsers[0]},$O={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(null===e||"object"!=typeof e)return JSON.stringify(e);if(Array.isArray(e))return`[${e.map(e=>$O.value(e)).join(", ")}]`;let t=Object.keys(e);return 0===t.length?"{}":`{ ${t.map(t=>`${$O.key(t)}: ${$O.value(e[t])}`).join(", ")} }`},pair:({key:e,value:t})=>$O.value({[e]:t})},YO=new Proxy(String,{get:()=>YO}),GO=YO,WO=()=>YO,VO=Symbol.for("vnopts.VALUE_NOT_EXIST"),KO=Symbol.for("vnopts.VALUE_UNCHANGED"),JO=" ".repeat(2);function qO(e,t,a,n){return[`Invalid ${GO.red(n.key(e))} value.`,`Expected ${GO.blue(a)},`,`but received ${t===VO?GO.gray("nothing"):GO.red(n.value(t))}.`].join(" ")}function ZO({text:e,list:t},a){let n=[];return e&&n.push(`- ${GO.blue(e)}`),t&&n.push([`- ${GO.blue(t.title)}:`].concat(t.values.map(e=>ZO(e,a-JO.length).replace(/^|\n/g,`$&${JO}`))).join("\n")),XO(n,a)}function XO(e,t){if(1===e.length)return e[0];let[a,n]=e,[r,s]=e.map(e=>e.split("\n",1)[0].length);return r>t&&r>s?n:a}var QO=[],eU=[];function tU(e,t,a){if(e===t)return 0;let n=a?.maxDistance,r=e;e.length>t.length&&(e=t,t=r);let s=e.length,i=t.length;for(;s>0&&e.charCodeAt(~-s)===t.charCodeAt(~-i);)s--,i--;let o=0;for(;on)return n;if(0===s)return void 0!==n&&i>n?n:i;let l,c,u,d,h=0,p=0;for(;hc?d>c?c+1:d:d>u?u+1:d;if(void 0!==n){let e=c;for(h=0;hn)return n}}return QO.length=s,eU.length=s,void 0!==n&&c>n?n:c}var aU=(e,t,{descriptor:a,logger:n,schemas:r})=>{let s=[`Ignored unknown option ${GO.yellow(a.pair({key:e,value:t}))}.`],i=function(e,t,a){if(!Array.isArray(t)||0===t.length)return;let n=a?.maxDistance,r=e.length;for(let l of t)if(l===e)return l;let s,i=Number.POSITIVE_INFINITY,o=new Set;for(let l of t){if(o.has(l))continue;o.add(l);let t=Math.abs(l.length-r);if(t>=i||t>n)continue;let a=Number.isFinite(i)?Math.min(i,n):n,c=void 0===a?tU(e,l):tU(e,l,{maxDistance:a});if(c>n)continue;let u=c;if(void 0!==a&&c===a&&a===n&&(u=tU(e,l)),un?void 0:s}(e,Object.keys(r),{maxDistance:3});i&&s.push(`Did you mean ${GO.blue(a.key(i))}?`),n.warn(s.join(" "))},nU=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];var rU=class{static create(e){return function(e,t){let a=new e(t),n=Object.create(a);for(let r of nU)r in t&&(n[r]=sU(t[r],a,rU.prototype[r].length));return n}(this,e)}constructor(e){this.name=e.name}default(e){}expected(e){return"nothing"}validate(e,t){return!1}deprecated(e,t){return!1}forward(e,t){}redirect(e,t){}overlap(e,t,a){return e}preprocess(e,t){return e}postprocess(e,t){return KO}};function sU(e,t,a){return"function"==typeof e?(...n)=>e(...n.slice(0,a-1),t,...n.slice(a-1)):()=>e}var iU=class extends rU{constructor(e){super(e),this._sourceName=e.sourceName}expected(e){return e.schemas[this._sourceName].expected(e)}validate(e,t){return t.schemas[this._sourceName].validate(e,t)}redirect(e,t){return this._sourceName}},oU=class extends rU{expected(){return"anything"}validate(){return!0}},lU=class extends rU{constructor({valueSchema:e,name:t=e.name,...a}){super({...a,name:t}),this._valueSchema=e}expected(e){let{text:t,list:a}=e.normalizeExpectedResult(this._valueSchema.expected(e));return{text:t&&`an array of ${t}`,list:a&&{title:"an array of the following values",values:[{list:a}]}}}validate(e,t){if(!Array.isArray(e))return!1;let a=[];for(let n of e){let e=t.normalizeValidateResult(this._valueSchema.validate(n,t),n);!0!==e&&a.push(e.value)}return 0===a.length||{value:a}}deprecated(e,t){let a=[];for(let n of e){let e=t.normalizeDeprecatedResult(this._valueSchema.deprecated(n,t),n);!1!==e&&a.push(...e.map(({value:e})=>({value:[e]})))}return a}forward(e,t){let a=[];for(let n of e){let e=t.normalizeForwardResult(this._valueSchema.forward(n,t),n);a.push(...e.map(cU))}return a}redirect(e,t){let a=[],n=[];for(let r of e){let e=t.normalizeRedirectResult(this._valueSchema.redirect(r,t),r);"remain"in e&&a.push(e.remain),n.push(...e.redirect.map(cU))}return 0===a.length?{redirect:n}:{redirect:n,remain:a}}overlap(e,t){return e.concat(t)}};function cU({from:e,to:t}){return{from:[e],to:t}}var uU=class extends rU{expected(){return"true or false"}validate(e){return"boolean"==typeof e}};function dU(e,t){let a=Object.create(null);for(let n of e){let e=n[t];if(a[e])throw new Error(`Duplicate ${t} ${JSON.stringify(e)}`);a[e]=n}return a}function hU(e,t){if(e===t)return 0;let a=typeof e,n=typeof t,r=["undefined","object","boolean","number","string"];return a!==n?r.indexOf(a)-r.indexOf(n):"string"!==a?Number(e)-Number(t):e.localeCompare(t)}function pU(e){return void 0===e?{}:e}function fU(e){if("string"==typeof e)return{text:e};let{text:t,list:a}=e;return function(e,t){if(!e)throw new Error(t)}(void 0!==(t||a),"Unexpected `expected` result, there should be at least one field."),a?{text:t,list:{title:a.title,values:a.values.map(fU)}}:{text:t}}function mU(e,t){return!0===e||(!1===e?{value:t}:e)}function gU(e,t,a=!1){return!1!==e&&(!0===e?!!a||[{value:t}]:"value"in e?[e]:0!==e.length&&e)}function yU(e,t){return"string"==typeof e||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function vU(e,t){return void 0===e?[]:Array.isArray(e)?e.map(e=>yU(e,t)):[yU(e,t)]}function bU(e,t){let a=vU("object"==typeof e&&"redirect"in e?e.redirect:e,t);return 0===a.length?{remain:t,redirect:a}:"object"==typeof e&&"remain"in e?{remain:e.remain,redirect:a}:{redirect:a}}var wU,xU=class extends rU{constructor(e){super(e),this._choices=function(e,t){let a=new Map;for(let n of e){let e=n[t];if(a.has(e))throw new Error(`Duplicate ${t} ${JSON.stringify(e)}`);a.set(e,n)}return a}(e.choices.map(e=>e&&"object"==typeof e?e:{value:e}),"value")}expected({descriptor:e}){let t=Array.from(this._choices.keys()).map(e=>this._choices.get(e)).filter(({hidden:e})=>!e).map(e=>e.value).sort(hU).map(e.value),a=t.slice(0,-2),n=t.slice(-2);return{text:a.concat(n.join(" or ")).join(", "),list:{title:"one of the following values",values:t}}}validate(e){return this._choices.has(e)}deprecated(e){let t=this._choices.get(e);return!(!t||!t.deprecated)&&{value:e}}forward(e){let t=this._choices.get(e);return t?t.forward:void 0}redirect(e){let t=this._choices.get(e);return t?t.redirect:void 0}},kU=class extends rU{expected(){return"a number"}validate(e,t){return"number"==typeof e}},_U=class extends kU{expected(){return"an integer"}validate(e,t){return!0===t.normalizeValidateResult(super.validate(e,t),e)&&function(e){return e===Math.floor(e)}(e)}},EU=class extends rU{expected(){return"a string"}validate(e){return"string"==typeof e}},CU=$O,FU=aU,DU=(e,t,a)=>{let{text:n,list:r}=a.normalizeExpectedResult(a.schemas[e].expected(a)),s=[];return n&&s.push(qO(e,t,n,a.descriptor)),r&&s.push([qO(e,t,r.title,a.descriptor)].concat(r.values.map(e=>ZO(e,a.loggerPrintWidth))).join("\n")),XO(s,a.loggerPrintWidth)},AU=(e,t,{descriptor:a})=>{let n=[`${GO.yellow("string"==typeof e?a.key(e):a.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${GO.blue("string"==typeof t?a.key(t):a.pair(t))}`),n.join("; ")+"."},TU=class{constructor(e,t){let{logger:a=console,loggerPrintWidth:n=80,descriptor:r=CU,unknown:s=FU,invalid:i=DU,deprecated:o=AU,missing:l=()=>!1,required:c=()=>!1,preprocess:u=e=>e,postprocess:d=()=>KO}=t||{};this._utils={descriptor:r,logger:a||{warn:()=>{}},loggerPrintWidth:n,schemas:dU(e,"name"),normalizeDefaultResult:pU,normalizeExpectedResult:fU,normalizeDeprecatedResult:gU,normalizeForwardResult:vU,normalizeRedirectResult:bU,normalizeValidateResult:mU},this._unknownHandler=s,this._invalidHandler=function(e){return(...t)=>{let a=e(...t);return"string"==typeof a?new Error(a):a}}(i),this._deprecatedHandler=o,this._identifyMissing=(e,t)=>!(e in t)||l(e,t),this._identifyRequired=c,this._preprocess=u,this._postprocess=d,this.cleanHistory()}cleanHistory(){this._hasDeprecationWarned=function(){let e=Object.create(null);return t=>{let a=JSON.stringify(t);return!!e[a]||(e[a]=!0,!1)}}()}normalize(e){let t={},a=[this._preprocess(e,this._utils)],n=()=>{for(;0!==a.length;){let e=a.shift(),n=this._applyNormalization(e,t);a.push(...n)}};n();for(let r of Object.keys(this._utils.schemas)){let e=this._utils.schemas[r];if(!(r in t)){let t=pU(e.default(this._utils));"value"in t&&a.push({[r]:t.value})}}n();for(let r of Object.keys(this._utils.schemas)){if(!(r in t))continue;let e=this._utils.schemas[r],a=t[r],n=e.postprocess(a,this._utils);n!==KO&&(this._applyValidation(n,r,e),t[r]=n)}return this._applyPostprocess(t),this._applyRequiredCheck(t),t}_applyNormalization(e,t){let a=[],{knownKeys:n,unknownKeys:r}=this._partitionOptionKeys(e);for(let s of n){let n=this._utils.schemas[s],r=n.preprocess(e[s],this._utils);this._applyValidation(r,s,n);let i=({from:e,to:t})=>{a.push("string"==typeof t?{[t]:e}:{[t.key]:t.value})},o=({value:e,redirectTo:t})=>{let a=gU(n.deprecated(e,this._utils),r,!0);if(!1!==a)if(!0===a)this._hasDeprecationWarned(s)||this._utils.logger.warn(this._deprecatedHandler(s,t,this._utils));else for(let{value:n}of a){let e={key:s,value:n};if(!this._hasDeprecationWarned(e)){let a="string"==typeof t?{key:t,value:n}:t;this._utils.logger.warn(this._deprecatedHandler(e,a,this._utils))}}};vU(n.forward(r,this._utils),r).forEach(i);let l=bU(n.redirect(r,this._utils),r);if(l.redirect.forEach(i),"remain"in l){let e=l.remain;t[s]=s in t?n.overlap(t[s],e,this._utils):e,o({value:e})}for(let{from:e,to:t}of l.redirect)o({value:e,redirectTo:t})}for(let s of r){let n=e[s];this._applyUnknownHandler(s,n,t,(e,t)=>{a.push({[e]:t})})}return a}_applyRequiredCheck(e){for(let t of Object.keys(this._utils.schemas))if(this._identifyMissing(t,e)&&this._identifyRequired(t))throw this._invalidHandler(t,VO,this._utils)}_partitionOptionKeys(e){let[t,a]=function(e,t){let a=[],n=[];for(let r of e)t(r)?a.push(r):n.push(r);return[a,n]}(Object.keys(e).filter(t=>!this._identifyMissing(t,e)),e=>e in this._utils.schemas);return{knownKeys:t,unknownKeys:a}}_applyValidation(e,t,a){let n=mU(a.validate(e,this._utils),e);if(!0!==n)throw this._invalidHandler(t,n.value,this._utils)}_applyUnknownHandler(e,t,a,n){let r=this._unknownHandler(e,t,this._utils);if(r)for(let s of Object.keys(r)){if(this._identifyMissing(s,r))continue;let e=r[s];s in this._utils.schemas?n(s,e):a[s]=e}}_applyPostprocess(e){let t=this._postprocess(e,this._utils);if(t!==KO){if(t.delete)for(let a of t.delete)delete e[a];if(t.override){let{knownKeys:a,unknownKeys:n}=this._partitionOptionKeys(t.override);for(let r of a){let a=t.override[r];this._applyValidation(a,r,this._utils.schemas[r]),e[r]=a}for(let r of n){let a=t.override[r];this._applyUnknownHandler(r,a,e,(t,a)=>{let n=this._utils.schemas[t];this._applyValidation(a,t,n),e[t]=a})}}}}};function SU(e,{isCLI:t,optionInfos:a,FlagSchema:n}){let r,{name:s}=e,i={name:s},o={};switch(e.type){case"int":r=_U,t&&(i.preprocess=Number);break;case"string":case"path":r=EU;break;case"choice":r=xU,i.choices=e.choices.map(t=>t?.redirect?{...t,redirect:{to:{key:e.name,value:t.redirect}}}:t);break;case"boolean":r=uU;break;case"flag":r=n,i.flags=a.flatMap(e=>[e.alias,e.description&&e.name,e.oppositeDescription&&`no-${e.name}`].filter(Boolean));break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?i.validate=(t,a,n)=>e.exception(t)||a.validate(t,n):i.validate=(e,t,a)=>void 0===e||t.validate(e,a),e.redirect&&(o.redirect=t=>t?{to:"string"==typeof e.redirect?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(o.deprecated=!0),t&&!e.array){let e=i.preprocess||(e=>e);i.preprocess=(t,a,n)=>a.preprocess(e(Array.isArray(t)?LB(0,t,-1):t),n)}return e.array?lU.create({...t?{preprocess:e=>Array.isArray(e)?e:[e]}:{},...o,valueSchema:r.create(i)}):r.create({...i,...o})}var IU=function(e,t,{logger:a=!1,isCLI:n=!1,passThrough:r=!1,FlagSchema:s,descriptor:i}={}){if(n){if(!s)throw new Error("'FlagSchema' option is required.");if(!i)throw new Error("'descriptor' option is required.")}else i=$O;let o=r?Array.isArray(r)?(e,t)=>r.includes(e)?{[e]:t}:void 0:(e,t)=>({[e]:t}):(e,t,a)=>{let{_:n,...r}=a.schemas;return aU(e,t,{...a,schemas:r})},l=function(e,{isCLI:t,FlagSchema:a}){let n=[];t&&n.push(oU.create({name:"_"}));for(let r of e)n.push(SU(r,{isCLI:t,optionInfos:e,FlagSchema:a})),r.alias&&t&&n.push(iU.create({name:r.alias,sourceName:r.name}));return n}(t,{isCLI:n,FlagSchema:s}),c=new TU(l,{logger:a,unknown:o,descriptor:i}),u=!1!==a;u&&wU&&(c._hasDeprecationWarned=wU);let d=c.normalize(e);return u&&(wU=c._hasDeprecationWarned),d},NU=Array.prototype.findLast??function(e){for(let t=this.length-1;t>=0;t--){let a=this[t];if(e(a,t,this))return a}},PU=CB("findLast",function(){if(Array.isArray(this))return NU}),BU=Symbol.for("PRETTIER_IS_FRONT_MATTER"),MU=[];var OU=function(e){return!!e?.[BU]},UU=new Set(["yaml","toml"]),jU=({node:e})=>OU(e)&&UU.has(e.language);async function LU(e,t,a,n){let{node:r}=a,{language:s}=r;if(!UU.has(s))return;let i,o=r.value.trim();if(o){let t="yaml"===s?s:HO(n,{language:s});if(!t)return;i=o?await e(o,{parser:t}):""}else i=o;return xM([r.startDelimiter,r.explicitLanguage??"",SM,i,i?SM:"",r.endDelimiter])}var RU=function(e,t){return jU({node:e})&&(delete t.end,delete t.raw,delete t.value),t};var zU=function({node:e}){return e.raw},HU=new Set(["tokens","comments","parent","enclosingNode","precedingNode","followingNode"]),$U=e=>Object.keys(e).filter(e=>!HU.has(e));var YU=function(e,t){let a=e?t=>e(t,HU):$U;return t?new Proxy(a,{apply:(e,t,a)=>OU(a[0])?MU:Reflect.apply(e,t,a)}):a};function GU(e,t){if(!t)throw new Error("parserName is required.");let a=PU(0,e,e=>e.parsers&&Object.prototype.hasOwnProperty.call(e.parsers,t));if(a)return a;let n=`Couldn't resolve parser "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new SO(n)}function WU({plugins:e,parser:t}){return VU(GU(e,t),t)}function VU(e,t){let a=e.parsers[t];return"function"==typeof a?a():a}async function KU(e,t){let a=e.printers[t];return function(e){if(JU.has(e))return JU.get(e);let{features:t,getVisitorKeys:a,embed:n,massageAstNode:r,print:s,...i}=e;t=function(e){return{experimental_avoidAstMutation:!1,...e,experimental_frontMatterSupport:ZU(e?.experimental_frontMatterSupport)}}(t);let o=t.experimental_frontMatterSupport;a=YU(a,o.massageAstNode||o.embed||o.print);let l=r;r&&o.massageAstNode&&(l=new Proxy(r,{apply:(e,t,a)=>(RU(...a),Reflect.apply(e,t,a))}));let c=n;if(n){let e;c=new Proxy(n,{get:(t,r,s)=>"getVisitorKeys"===r?(e??(e=n.getVisitorKeys?YU(n.getVisitorKeys,o.massageAstNode||o.embed):a),e):Reflect.get(t,r,s),apply:(e,t,a)=>o.embed&&jU(...a)?LU:Reflect.apply(e,t,a)})}let u=s;o.print&&(u=new Proxy(s,{apply(e,t,a){let[n]=a;return OU(n.node)?zU(n):Reflect.apply(e,t,a)}}));let d={features:t,getVisitorKeys:a,embed:c,massageAstNode:l,print:u,...i};return JU.set(e,d),d}("function"==typeof a?await a():a)}var JU=new WeakMap;var qU=Object.fromEntries(["clean","embed","print"].map(e=>[e,!1]));function ZU(e){return{...qU,...e}}var XU={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null,getVisitorKeys:null};var QU=async function(e,t={}){let a={...e};if(!a.parser){if(!a.filepath)throw new IO("No parser and no file path given, couldn't infer a parser.");if(a.parser=HO(a,{physicalFile:a.filepath}),!a.parser)throw new IO(`No parser could be inferred for file "${a.filepath}".`)}let n=PO({plugins:e.plugins,showDeprecated:!0}).options,r={...XU,...Object.fromEntries(n.filter(e=>void 0!==e.default).map(e=>[e.name,e.default]))},s=GU(a.plugins,a.parser),i=await VU(s,a.parser);a.astFormat=i.astFormat,a.locEnd=i.locEnd,a.locStart=i.locStart;let o=s.printers?.[i.astFormat]?s:function(e,t){if(!t)throw new Error("astFormat is required.");let a=PU(0,e,e=>e.printers&&Object.prototype.hasOwnProperty.call(e.printers,t));if(a)return a;let n=`Couldn't find plugin for AST format "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new SO(n)}(a.plugins,i.astFormat),l=await KU(o,i.astFormat);a.printer=l,a.getVisitorKeys=l.getVisitorKeys;let c={...r,...o.defaultOptions?Object.fromEntries(Object.entries(o.defaultOptions).filter(([,e])=>void 0!==e)):{}};for(let[u,d]of Object.entries(c))(null===a[u]||void 0===a[u])&&(a[u]=d);return"json"===a.parser&&(a.trailingComma="none"),IU(a,n,{passThrough:Object.keys(XU),...t})};((e,t,a)=>{a=null!=e?yB(xB(e)):{},((e,t,a,n)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let r of wB(t))!kB.call(e,r)&&r!==a&&vB(e,r,{get:()=>t[r],enumerable:!(n=bB(t,r))||n.enumerable})})(vB(a,"default",{value:e,enumerable:!0}),e)})(EB());var ej=["implements","interface","let","package","private","protected","public","static","yield"],tj=["eval","arguments"];new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),new Set(ej),new Set(tj);var aj=(e,t)=>a=>e(t(a));function nj(e){return{keyword:e.cyan,capitalized:e.yellow,jsxIdentifier:e.yellow,punctuator:e.yellow,number:e.magenta,string:e.green,regex:e.magenta,comment:e.gray,invalid:aj(aj(e.white,e.bgRed),e.bold),gutter:e.gray,marker:aj(e.red,e.bold),message:aj(e.red,e.bold),reset:e.reset}}nj(WO()),nj(WO());var rj=/\r\n|[\n\r\u2028\u2029]/;function sj(e,t,a={}){let n=new Proxy({},{get:()=>e=>e}),r=e.split(rj),{start:s,end:i,markerLines:o}=function(e,t,a){let n=Object.assign({column:0,line:-1},e.start),r=Object.assign({},n,e.end),{linesAbove:s=2,linesBelow:i=3}=a||{},o=n.line,l=n.column,c=r.line,u=r.column,d=Math.max(o-(s+1),0),h=Math.min(t.length,c+i);-1===o&&(d=0),-1===c&&(h=t.length);let p=c-o,f={};if(p)for(let m=0;m<=p;m++){let e=m+o;if(l)if(0===m){let a=t[e-1].length;f[e]=[l,a-l+1]}else if(m===p)f[e]=[0,u];else{let a=t[e-m].length;f[e]=[0,a]}else f[e]=!0}else f[o]=l===u?!l||[l,0]:[l,u-l];return{start:d,end:h,markerLines:f}}(t,r,a),l=t.start&&"number"==typeof t.start.column,c=String(i).length,u=e.split(rj,i).slice(s,i).map((e,t)=>{let r=s+1+t,i=` ${` ${r}`.slice(-c)} |`,l=o[r],u=!o[r+1];if(l){let t="";if(Array.isArray(l)){let r=e.slice(0,Math.max(l[0]-1,0)).replace(/[^\t]/g," "),s=l[1]||1;t=["\n ",n.gutter(i.replace(/\d/g," "))," ",r,n.marker("^").repeat(s)].join(""),u&&a.message&&(t+=" "+n.message(a.message))}return[n.marker(">"),n.gutter(i),e.length>0?` ${e}`:"",t].join("")}return` ${n.gutter(i)}${e.length>0?` ${e}`:""}`}).join("\n");return a.message&&!l&&(u=`${" ".repeat(c+1)}${a.message}\n${u}`),u}var ij=async function(e,t){let a,n=await WU(t),r=n.preprocess?await n.preprocess(e,t):e;t.originalText=r;try{a=await n.parse(r,t,t)}catch(s){!function(e,t){let{loc:a}=e;if(a){let n=sj(t,a,{});throw e.message+="\n"+n,e.codeFrame=n,e}throw e}(s,e)}return{text:r,ast:a}};async function oj(e,t,a,n,r){if("auto"!==a.embeddedLanguageFormatting)return;let{printer:s}=a,{embed:i}=s;if(!i)return;if(i.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/plugins#optional-embed");let{hasPrettierIgnore:o}=s,{getVisitorKeys:l}=i,c=[];!function t(){let{node:n}=e;if(null===n||"object"!=typeof n||o?.(e))return;for(let a of l(n))Array.isArray(n[a])?e.each(t,a):e.call(t,a);let s=i(e,a);if(s){if("function"==typeof s)return void c.push({print:s,node:n,pathStack:[...e.stack]});r.set(n,s)}}();let u=e.stack;for(let{print:p,node:f,pathStack:m}of c)try{e.stack=m;let n=await p(d,t,e,a);n&&r.set(f,n)}catch(h){if(globalThis.PRETTIER_DEBUG)throw h}function d(e,t){return async function(e,t,a,n){let r=await QU({...a,...t,parentParser:a.parser,originalText:e,cursorOffset:void 0,rangeStart:void 0,rangeEnd:void 0},{passThrough:!0}),{ast:s}=await ij(e,r),i=await n(s,r);return mM(i)}(e,t,a,n)}e.stack=u}var lj=function(e,t,a,n){let{originalText:r,[Symbol.for("comments")]:s,locStart:i,locEnd:o,[Symbol.for("printedComments")]:l}=t,{node:c}=e,u=i(c),d=o(c);for(let p of s)i(p)>=u&&o(p)<=d&&l.add(p);let{printPrettierIgnored:h}=t.printer;return h?h(e,t,a,n):r.slice(u,d)};async function cj(e,t){({ast:e}=await dj(e,t));let a=new Map,n=new aO(e),r=new Map;await oj(n,i,t,cj,r);let s=await uj(n,t,i,void 0,r);if(function(e){let{[Symbol.for("comments")]:t,[Symbol.for("printedComments")]:a}=e;for(let n of t){if(!n.printed&&!a.has(n))throw new Error('Comment "'+n.value.trim()+'" was not printed. Please report this error!');delete n.printed}}(t),t.cursorOffset>=0){if(t.nodeAfterCursor&&!t.nodeBeforeCursor)return[EM,s];if(t.nodeBeforeCursor&&!t.nodeAfterCursor)return[s,EM]}return s;function i(e,t){return void 0===e||e===n?o(t):Array.isArray(e)?n.call(()=>o(t),...e):n.call(()=>o(t),e)}function o(e){let s=n.node;if(null==s)return"";let o=nO(s)&&void 0===e;if(o&&a.has(s))return a.get(s);let l=uj(n,t,i,e,r);return o&&a.set(s,l),l}}function uj(e,t,a,n,r){let s,{node:i}=e,{printer:o}=t;switch(s=o.hasPrettierIgnore?.(e)?lj(e,t,a,n):r.has(i)?r.get(i):o.print(e,t,a,n),i){case t.cursorNode:s=yM(s,e=>[EM,e,EM]);break;case t.nodeBeforeCursor:s=yM(s,e=>[e,EM]);break;case t.nodeAfterCursor:s=yM(s,e=>[EM,e])}return o.printComment&&!o.willPrintOwnComments?.(e,t)&&(s=function(e,t,a){let{leading:n,trailing:r}=TO(e,a);return n||r?yM(t,e=>[n,e,r]):t}(e,s,t)),s}async function dj(e,t){let a=e.comments??[];t[Symbol.for("comments")]=a,t[Symbol.for("printedComments")]=new Set,function(e,t){let{comments:a}=e;if(delete e.comments,!hO(a)||!t.printer.canAttachComment)return;let n=[],{printer:{features:{experimental_avoidAstMutation:r},handleComments:s={}},originalText:i}=t,{ownLine:o=xO,endOfLine:l=xO,remaining:c=xO}=s,u=a.map((n,r)=>({...wO(e,n,t),comment:n,text:i,options:t,ast:e,isLastComment:a.length-1===r}));for(let[d,h]of u.entries()){let e,{comment:t,precedingNode:a,enclosingNode:s,followingNode:i,text:p,options:f,ast:m,isLastComment:g}=h;if(r?e=[h]:(t.enclosingNode=s,t.precedingNode=a,t.followingNode=i,e=[t,p,f,m,g]),_O(p,f,u,d))t.placement="ownLine",o(...e)||(i?gO(i,t):a?vO(a,t):yO(s||m,t));else if(EO(p,f,u,d))t.placement="endOfLine",l(...e)||(a?vO(a,t):i?gO(i,t):yO(s||m,t));else if(t.placement="remaining",!c(...e))if(a&&i){let e=n.length;e>0&&n[e-1].followingNode!==i&&CO(n,f),n.push(h)}else a?vO(a,t):i?gO(i,t):yO(s||m,t)}if(CO(n,t),!r)for(let d of a)delete d.precedingNode,delete d.enclosingNode,delete d.followingNode}(e,t);let{printer:{preprocess:n}}=t;return{ast:e=n?await n(e,t):e,comments:a}}var hj=function(e,t){let{cursorOffset:a,locStart:n,locEnd:r,getVisitorKeys:s}=t,i=e=>n(e)<=a&&r(e)>=a,o=e,l=[e];for(let p of function*(e,t){let a=[e];for(let n=0;n0&&(void 0===c||void 0===u);){o=l.pop();let e=void 0!==c,t=void 0!==u;for(let i of pO(o,{getVisitorKeys:s})){if(!e){let e=r(i);e<=a&&e>d&&(c=i,d=e)}if(!t){let e=n(i);e>=a&&ee(t,a)).filter(Boolean);let i={},o=new Set(r(t));for(let n in t)!Object.prototype.hasOwnProperty.call(t,n)||s?.has(n)||(o.has(n)?i[n]=e(t[n],t):i[n]=t[n]);let l=n(t,i,a);if(null!==l)return l??i}(e)},fj=Array.prototype.findLastIndex??function(e){for(let t=this.length-1;t>=0;t--){if(e(this[t],t,this))return t}return-1},mj=CB("findLastIndex",function(){if(Array.isArray(this))return fj});function gj(e){let t=mj(0,e,e=>"Program"!==e.type&&"File"!==e.type);return-1===t?e:e.slice(0,t+1)}function yj(e,t,a,n,r=[],s){let{locStart:i,locEnd:o}=a,l=i(e),c=o(e);if(t>c||tn&&!/\S/u.test(e[r-1]);--r);let c=yj(a,n,t,(e,a)=>wj(t,e,a),[],"rangeStart");if(!c)return;let u,d,h=l?c:yj(a,r,t,e=>wj(t,e),[],"rangeEnd");if(h){if((({parser:e})=>"json"===e||"json5"===e||"jsonc"===e||"json-stringify"===e)(t)){let e=function(e,t){return t=new Set(t),e.find(e=>vj.has(e.type)&&t.has(e))}(c,h);u=e,d=e}else[u,d]=function(e,t,{locStart:a,locEnd:n}){let[r,...s]=e,[i,...o]=t;if(r===i)return[r,i];let l=a(r);for(let u of gj(o)){if(!(a(u)>=l))break;i=u}let c=n(i);for(let u of gj(s)){if(!(n(u)<=c))break;if(r=u,r===i)break}return[r,i]}(c,h,t);return[Math.min(s(u),s(d)),Math.max(i(u),i(d))]}}var kj=Symbol("cursor");async function _j(e,t,a=0){if(!e||0===e.trim().length)return{formatted:"",cursorOffset:-1,comments:[]};let{ast:n,text:r}=await ij(e,t);t.cursorOffset>=0&&(t={...t,...hj(n,t)});let s=await cj(n,t);a>0&&(s=kM([SM,s],a,t.tabWidth));let i=QM(s,t);if(a>0){let e=i.formatted.trim();void 0!==i.cursorNodeStart&&(i.cursorNodeStart-=i.formatted.indexOf(e),i.cursorNodeStart<0&&(i.cursorNodeStart=0,i.cursorNodeText=i.cursorNodeText.trimStart()),i.cursorNodeStart+i.cursorNodeText.length>e.length&&(i.cursorNodeText=i.cursorNodeText.trimEnd())),i.formatted=e+BB(t.endOfLine)}let o=t[Symbol.for("comments")];if(t.cursorOffset>=0){let e,a,n,s;if((t.cursorNode||t.nodeBeforeCursor||t.nodeAfterCursor)&&i.cursorNodeText)if(n=i.cursorNodeStart,s=i.cursorNodeText,t.cursorNode)e=t.locStart(t.cursorNode),a=r.slice(e,t.locEnd(t.cursorNode));else{if(!t.nodeBeforeCursor&&!t.nodeAfterCursor)throw new Error("Cursor location must contain at least one of cursorNode, nodeBeforeCursor, nodeAfterCursor");e=t.nodeBeforeCursor?t.locEnd(t.nodeBeforeCursor):0;let n=t.nodeAfterCursor?t.locStart(t.nodeAfterCursor):r.length;a=r.slice(e,n)}else e=0,a=r,n=0,s=i.formatted;let l=t.cursorOffset-e;if(a===s)return{formatted:i.formatted,cursorOffset:n+l,comments:o};let c=a.split("");c.splice(l,0,kj);let u=function(e,t,a){return TB.diff(e,t,a)}(c,s.split("")),d=n;for(let t of u)if(t.removed){if(t.value.includes(kj))break}else d+=t.count;return{formatted:i.formatted,cursorOffset:d,comments:o}}return{formatted:i.formatted,cursorOffset:-1,comments:o}}function Ej(e,t,a){return"number"!=typeof t||Number.isNaN(t)||t<0||t>e.length?a:t}function Cj(e,t){let{cursorOffset:a,rangeStart:n,rangeEnd:r}=t;return a=Ej(e,a,-1),n=Ej(e,n,0),r=Ej(e,r,e.length),{...t,cursorOffset:a,rangeStart:n,rangeEnd:r}}function Fj(e,t){let{cursorOffset:a,rangeStart:n,rangeEnd:r,endOfLine:s}=Cj(e,t),i="\ufeff"===e.charAt(0);if(i&&(e=e.slice(1),a--,n--,r--),"auto"===s&&(s=function(e){let t=e.indexOf("\r");return-1!==t?e.charAt(t+1)===NB?IB:"cr":"lf"}(e)),e.includes("\r")){let t=t=>OB(e.slice(0,Math.max(t,0)),"\r\n");a-=t(a),n-=t(n),r-=t(r),e=function(e){return DB(0,e,UB,NB)}(e)}return{hasBOM:i,text:e,options:Cj(e,{...t,cursorOffset:a,rangeStart:n,rangeEnd:r,endOfLine:s})}}async function Dj(e,t){let a=await WU(t);return!a.hasPragma||a.hasPragma(e)}async function Aj(e,t){let a,{hasBOM:n,text:r,options:s}=Fj(e,await QU(t));return s.rangeStart>=s.rangeEnd&&""!==r||s.requirePragma&&!(await Dj(r,s))||s.checkIgnorePragma&&await async function(e,t){return(await WU(t)).hasIgnorePragma?.(e)}(r,s)?{formatted:e,cursorOffset:t.cursorOffset,comments:[]}:(s.rangeStart>0||s.rangeEndr&&t.cursorOffset<=s?t.cursorOffset-r:-1,endOfLine:"lf"},c),d=u.formatted.trimEnd(),{cursorOffset:h}=t;h>s?h+=d.length-i.length:u.cursorOffset>=0&&(h=u.cursorOffset+r);let p=n.slice(0,r)+d+n.slice(s);if("lf"!==t.endOfLine){let e=BB(t.endOfLine);h>=0&&"\r\n"===e&&(h+=OB(p.slice(0,h),"\n")),p=DB(0,p,"\n",e)}return{formatted:p,cursorOffset:h,comments:u.comments}}(r,s):(!s.requirePragma&&s.insertPragma&&s.printer.insertPragma&&!(await Dj(r,s))&&(r=s.printer.insertPragma(r)),a=await _j(r,s)),n&&(a.formatted="\ufeff"+a.formatted,a.cursorOffset>=0&&a.cursorOffset++),a)}var Tj={};_B(Tj,{builders:()=>Sj,printer:()=>Ij,utils:()=>Nj});var Sj={join:FM,line:DM,softline:AM,hardline:SM,literalline:NM,group:CM,conditionalGroup:function(e,t){return CM(e[0],{...t,expandedStates:e})},fill:function(e){return{type:VB,parts:e}},lineSuffix:PM,lineSuffixBoundary:BM,cursor:EM,breakParent:_M,ifBreak:function(e,t="",a={}){return{type:KB,breakContents:e,flatContents:t,groupId:a.groupId}},trim:MM,indent:bM,indentIfBreak:function(e,t){return{type:JB,contents:e,groupId:t.groupId,negate:t.negate}},align:wM,addAlignmentToDoc:kM,markAsRoot:xM,dedentToRoot:function(e){return wM(Number.NEGATIVE_INFINITY,e)},dedent:function(e){return wM(-1,e)},hardlineWithoutBreakParent:TM,literallineWithoutBreakParent:IM,label:function(e,t){return e?{type:QB,label:e,contents:t}:t},concat:e=>e},Ij={printDocToString:QM},Nj={willBreak:function(e){return cM(e,uM,!1)},traverseDoc:oM,findInDoc:cM,mapDoc:lM,removeLines:function(e){return lM(e,hM)},stripTrailingHardline:mM,replaceEndOfLine:function(e,t=NM){return lM(e,e=>"string"==typeof e?FM(t,e.split("\n")):e)},canBreak:function(e){return cM(e,gM,!1)}},Pj="3.7.4",Bj={};_B(Bj,{addDanglingComment:()=>yO,addLeadingComment:()=>gO,addTrailingComment:()=>vO,getAlignmentSize:()=>eO,getIndentSize:()=>Lj,getMaxContinuousCount:()=>Rj,getNextNonSpaceNonCommentCharacter:()=>zj,getNextNonSpaceNonCommentCharacterIndex:()=>Jj,getPreferredQuote:()=>Wj,getStringWidth:()=>zM,hasNewline:()=>dO,hasNewlineInRange:()=>Vj,hasSpaces:()=>Kj,isNextLineEmpty:()=>Xj,isNextLineEmptyAfterIndex:()=>jj,isPreviousLineEmpty:()=>qj,makeString:()=>Zj,skip:()=>rO,skipEverythingButNewLine:()=>lO,skipInlineComment:()=>Mj,skipNewline:()=>uO,skipSpaces:()=>iO,skipToLineEnd:()=>oO,skipTrailingComment:()=>Oj,skipWhitespace:()=>sO});var Mj=function(e,t){if(!1===t)return!1;if("/"===e.charAt(t)&&"*"===e.charAt(t+1))for(let a=t+2;aMath.max(e,t.length),0)/t.length};var zj=function(e,t){let a=Uj(e,t);return!1===a?"":e.charAt(a)},Hj=Object.freeze({character:"'",codePoint:39}),$j=Object.freeze({character:'"',codePoint:34}),Yj=Object.freeze({preferred:Hj,alternate:$j}),Gj=Object.freeze({preferred:$j,alternate:Hj});var Wj=function(e,t){let{preferred:a,alternate:n}=!0===t||"'"===t?Yj:Gj,{length:r}=e,s=0,i=0;for(let o=0;oi?n:a).character};var Vj=function(e,t,a){for(let n=t;nr===n?r:s===t?"\\"+s:s||(a&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/u.test(r)?r:"\\"+r));return t+r+t}function Xj(e,t){return 2===arguments.length||"number"==typeof t?jj(e,t):function(e,t,a){return jj(e,a(t))}(...arguments)}function Qj(e,t=1){return async(...a)=>{let n=a[t]??{},r=n.plugins??[];return a[t]={...n,plugins:Array.isArray(r)?r:Object.values(r)},e(...a)}}var eL=Qj(Aj);async function tL(e,t){let{formatted:a}=await eL(e,{...t,cursorOffset:-1});return a}async function aL(e,t){return await tL(e,t)===e}var nL,rL=Qj(PO,0),sL={parse:Qj(async function(e,t,a){let{text:n,options:r}=Fj(e,await QU(t)),s=await ij(n,r);return a&&(a.preprocessForPrint&&(s.ast=await dj(s.ast,r)),a.massage&&(s.ast=pj(s.ast,r))),s}),formatAST:Qj(async function(e,t){return t=await QU(t),QM(await cj(e,t),t)}),formatDoc:Qj(async function(e,t){let a=function(e){let t=Object.create(null),a=new Set;return function e(t,a,r){if("string"==typeof t)return JSON.stringify(t);if(Array.isArray(t)){let a=t.map(e).filter(Boolean);return 1===a.length?a[0]:`[${a.join(", ")}]`}if(t.type===XB){let e=r?.[a+1]?.type===eM;return t.literal?e?"literalline":"literallineWithoutBreakParent":t.hard?e?"hardline":"hardlineWithoutBreakParent":t.soft?"softline":"line"}if(t.type===eM)return r?.[a-1]?.type===XB&&r[a-1].hard?void 0:"breakParent";if(t.type===GB)return"trim";if(t.type===$B)return"indent("+e(t.contents)+")";if(t.type===YB)return t.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+e(t.contents)+")":t.n<0?"dedent("+e(t.contents)+")":"root"===t.n.type?"markAsRoot("+e(t.contents)+")":"align("+JSON.stringify(t.n)+", "+e(t.contents)+")";if(t.type===KB)return"ifBreak("+e(t.breakContents)+(t.flatContents?", "+e(t.flatContents):"")+(t.groupId?(t.flatContents?"":', ""')+`, { groupId: ${n(t.groupId)} }`:"")+")";if(t.type===JB){let a=[];t.negate&&a.push("negate: true"),t.groupId&&a.push(`groupId: ${n(t.groupId)}`);let r=a.length>0?`, { ${a.join(", ")} }`:"";return`indentIfBreak(${e(t.contents)}${r})`}if(t.type===WB){let a=[];t.break&&"propagated"!==t.break&&a.push("shouldBreak: true"),t.id&&a.push(`id: ${n(t.id)}`);let r=a.length>0?`, { ${a.join(", ")} }`:"";return t.expandedStates?`conditionalGroup([${t.expandedStates.map(t=>e(t)).join(",")}]${r})`:`group(${e(t.contents)}${r})`}if(t.type===VB)return`fill([${t.parts.map(t=>e(t)).join(", ")}])`;if(t.type===qB)return"lineSuffix("+e(t.contents)+")";if(t.type===ZB)return"lineSuffixBoundary";if(t.type===QB)return`label(${JSON.stringify(t.label)}, ${e(t.contents)})`;if(t.type===HB)return"cursor";throw new Error("Unknown doc type "+t.type)}(OM(e));function n(e){if("symbol"!=typeof e)return JSON.stringify(String(e));if(e in t)return t[e];let n=e.description||"symbol";for(let r=0;;r++){let s=n+(r>0?` #${r}`:"");if(!a.has(s))return a.add(s),t[e]=`Symbol.for(${JSON.stringify(s)})`}}}(e),{formatted:n}=await Aj(a,{...t,parser:"__js_expression"});return n}),printToDoc:Qj(async function(e,t){t=await QU(t);let{ast:a}=await ij(e,t);return t.cursorOffset>=0&&(t={...t,...hj(a,t)}),cj(a,t)}),printDocToString:Qj(async function(e,t){return QM(e,await QU(t))})},iL={exports:{}};function oL(){return nL||(nL=1,iL.exports=(e=function(){var t=Object.defineProperty,a=Object.getOwnPropertyDescriptor,n=Object.getOwnPropertyNames,r=Object.prototype.hasOwnProperty,s=(e,a)=>{for(var n in a)t(e,n,{get:a[n],enumerable:!0})},i=(e,s,i,o)=>{if(s&&"object"==typeof s||"function"==typeof s)for(let l of n(s))!r.call(e,l)&&l!==i&&t(e,l,{get:()=>s[l],enumerable:!(o=a(s,l))||o.enumerable});return e},l=e=>i(t({},"__esModule",{value:!0}),e),c={};s(c,{parsers:()=>jr});var u={};function d(e,t){if(null==e)return{};var a={};for(var n in e)if({}.hasOwnProperty.call(e,n)){if(-1!==t.indexOf(n))continue;a[n]=e[n]}return a}s(u,{__babel_estree:()=>Cr,__js_expression:()=>kr,__ts_expression:()=>_r,__vue_event_binding:()=>wr,__vue_expression:()=>kr,__vue_ts_event_binding:()=>xr,__vue_ts_expression:()=>_r,babel:()=>wr,"babel-flow":()=>Er,"babel-ts":()=>xr});var h=class{constructor(e,t,a){o(this,"line"),o(this,"column"),o(this,"index"),this.line=e,this.column=t,this.index=a}},p=class{constructor(e,t){o(this,"start"),o(this,"end"),o(this,"filename"),o(this,"identifierName"),this.start=e,this.end=t}};function f(e,t){let{line:a,column:n,index:r}=e;return new h(a,n+t,r+t)}var m="BABEL_PARSER_SOURCETYPE_MODULE_REQUIRED",g={ImportMetaOutsideModule:{message:"import.meta may appear only with 'sourceType: \"module\"'",code:m},ImportOutsideModule:{message:"'import' and 'export' may appear only with 'sourceType: \"module\"'",code:m}},y={ArrayPattern:"array destructuring pattern",AssignmentExpression:"assignment expression",AssignmentPattern:"assignment expression",ArrowFunctionExpression:"arrow function expression",ConditionalExpression:"conditional expression",CatchClause:"catch clause",ForOfStatement:"for-of statement",ForInStatement:"for-in statement",ForStatement:"for-loop",FormalParameters:"function parameter list",Identifier:"identifier",ImportSpecifier:"import specifier",ImportDefaultSpecifier:"import default specifier",ImportNamespaceSpecifier:"import namespace specifier",ObjectPattern:"object destructuring pattern",ParenthesizedExpression:"parenthesized expression",RestElement:"rest element",UpdateExpression:{true:"prefix operation",false:"postfix operation"},VariableDeclarator:"variable declaration",YieldExpression:"yield expression"},v=e=>"UpdateExpression"===e.type?y.UpdateExpression[`${e.prefix}`]:y[e.type],b={AccessorIsGenerator:({kind:e})=>`A ${e}ter cannot be a generator.`,ArgumentsInClass:"'arguments' is only allowed in functions and class methods.",AsyncFunctionInSingleStatementContext:"Async functions can only be declared at the top level or inside a block.",AwaitBindingIdentifier:"Can not use 'await' as identifier inside an async function.",AwaitBindingIdentifierInStaticBlock:"Can not use 'await' as identifier inside a static block.",AwaitExpressionFormalParameter:"'await' is not allowed in async function parameters.",AwaitUsingNotInAsyncContext:"'await using' is only allowed within async functions and at the top levels of modules.",AwaitNotInAsyncContext:"'await' is only allowed within async functions and at the top levels of modules.",BadGetterArity:"A 'get' accessor must not have any formal parameters.",BadSetterArity:"A 'set' accessor must have exactly one formal parameter.",BadSetterRestParameter:"A 'set' accessor function argument must not be a rest parameter.",ConstructorClassField:"Classes may not have a field named 'constructor'.",ConstructorClassPrivateField:"Classes may not have a private field named '#constructor'.",ConstructorIsAccessor:"Class constructor may not be an accessor.",ConstructorIsAsync:"Constructor can't be an async function.",ConstructorIsGenerator:"Constructor can't be a generator.",DeclarationMissingInitializer:({kind:e})=>`Missing initializer in ${e} declaration.`,DecoratorArgumentsOutsideParentheses:"Decorator arguments must be moved inside parentheses: use '@(decorator(args))' instead of '@(decorator)(args)'.",DecoratorBeforeExport:"Decorators must be placed *before* the 'export' keyword. Remove the 'decoratorsBeforeExport: true' option to use the 'export @decorator class {}' syntax.",DecoratorsBeforeAfterExport:"Decorators can be placed *either* before or after the 'export' keyword, but not in both locations at the same time.",DecoratorConstructor:"Decorators can't be used with a constructor. Did you mean '@dec class { ... }'?",DecoratorExportClass:"Decorators must be placed *after* the 'export' keyword. Remove the 'decoratorsBeforeExport: false' option to use the '@decorator export class {}' syntax.",DecoratorSemicolon:"Decorators must not be followed by a semicolon.",DecoratorStaticBlock:"Decorators can't be used with a static block.",DeferImportRequiresNamespace:'Only `import defer * as x from "./module"` is valid.',DeletePrivateField:"Deleting a private field is not allowed.",DestructureNamedImport:"ES2015 named imports do not destructure. Use another statement for destructuring after the import.",DuplicateConstructor:"Duplicate constructor in the same class.",DuplicateDefaultExport:"Only one default export allowed per module.",DuplicateExport:({exportName:e})=>`\`${e}\` has already been exported. Exported identifiers must be unique.`,DuplicateProto:"Redefinition of __proto__ property.",DuplicateRegExpFlags:"Duplicate regular expression flag.",ElementAfterRest:"Rest element must be last element.",EscapedCharNotAnIdentifier:"Invalid Unicode escape.",ExportBindingIsString:({localName:e,exportName:t})=>`A string literal cannot be used as an exported binding without \`from\`.\n- Did you mean \`export { '${e}' as '${t}' } from 'some-module'\`?`,ExportDefaultFromAsIdentifier:"'from' is not allowed as an identifier after 'export default'.",ForInOfLoopInitializer:({type:e})=>`'${"ForInStatement"===e?"for-in":"for-of"}' loop variable declaration may not have an initializer.`,ForInUsing:"For-in loop may not start with 'using' declaration.",ForOfAsync:"The left-hand side of a for-of loop may not be 'async'.",ForOfLet:"The left-hand side of a for-of loop may not start with 'let'.",GeneratorInSingleStatementContext:"Generators can only be declared at the top level or inside a block.",IllegalBreakContinue:({type:e})=>`Unsyntactic ${"BreakStatement"===e?"break":"continue"}.`,IllegalLanguageModeDirective:"Illegal 'use strict' directive in function with non-simple parameter list.",IllegalReturn:"'return' outside of function.",ImportAttributesUseAssert:"The `assert` keyword in import attributes is deprecated and it has been replaced by the `with` keyword. You can enable the `deprecatedImportAssert` parser plugin to suppress this error.",ImportBindingIsString:({importName:e})=>`A string literal cannot be used as an imported binding.\n- Did you mean \`import { "${e}" as foo }\`?`,ImportCallArity:"`import()` requires exactly one or two arguments.",ImportCallNotNewExpression:"Cannot use new with import(...).",ImportCallSpreadArgument:"`...` is not allowed in `import()`.",ImportJSONBindingNotDefault:"A JSON module can only be imported with `default`.",ImportReflectionHasAssertion:"`import module x` cannot have assertions.",ImportReflectionNotBinding:'Only `import module x from "./module"` is valid.',IncompatibleRegExpUVFlags:"The 'u' and 'v' regular expression flags cannot be enabled at the same time.",InvalidBigIntLiteral:"Invalid BigIntLiteral.",InvalidCodePoint:"Code point out of bounds.",InvalidCoverDiscardElement:"'void' must be followed by an expression when not used in a binding position.",InvalidCoverInitializedName:"Invalid shorthand property initializer.",InvalidDecimal:"Invalid decimal.",InvalidDigit:({radix:e})=>`Expected number in radix ${e}.`,InvalidEscapeSequence:"Bad character escape sequence.",InvalidEscapeSequenceTemplate:"Invalid escape sequence in template.",InvalidEscapedReservedWord:({reservedWord:e})=>`Escape sequence in keyword ${e}.`,InvalidIdentifier:({identifierName:e})=>`Invalid identifier ${e}.`,InvalidLhs:({ancestor:e})=>`Invalid left-hand side in ${v(e)}.`,InvalidLhsBinding:({ancestor:e})=>`Binding invalid left-hand side in ${v(e)}.`,InvalidLhsOptionalChaining:({ancestor:e})=>`Invalid optional chaining in the left-hand side of ${v(e)}.`,InvalidNumber:"Invalid number.",InvalidOrMissingExponent:"Floating-point numbers require a valid exponent after the 'e'.",InvalidOrUnexpectedToken:({unexpected:e})=>`Unexpected character '${e}'.`,InvalidParenthesizedAssignment:"Invalid parenthesized assignment pattern.",InvalidPrivateFieldResolution:({identifierName:e})=>`Private name #${e} is not defined.`,InvalidPropertyBindingPattern:"Binding member expression.",InvalidRecordProperty:"Only properties and spread elements are allowed in record definitions.",InvalidRestAssignmentPattern:"Invalid rest operator's argument.",LabelRedeclaration:({labelName:e})=>`Label '${e}' is already declared.`,LetInLexicalBinding:"'let' is disallowed as a lexically bound name.",LineTerminatorBeforeArrow:"No line break is allowed before '=>'.",MalformedRegExpFlags:"Invalid regular expression flag.",MissingClassName:"A class name is required.",MissingEqInAssignment:"Only '=' operator can be used for specifying default value.",MissingSemicolon:"Missing semicolon.",MissingPlugin:({missingPlugin:e})=>`This experimental syntax requires enabling the parser plugin: ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingOneOfPlugins:({missingPlugin:e})=>`This experimental syntax requires enabling one of the following parser plugin(s): ${e.map(e=>JSON.stringify(e)).join(", ")}.`,MissingUnicodeEscape:"Expecting Unicode escape sequence \\uXXXX.",MixingCoalesceWithLogical:"Nullish coalescing operator(??) requires parens when mixing with logical operators.",ModuleAttributeDifferentFromType:"The only accepted module attribute is `type`.",ModuleAttributeInvalidValue:"Only string literals are allowed as module attribute values.",ModuleAttributesWithDuplicateKeys:({key:e})=>`Duplicate key "${e}" is not allowed in module attributes.`,ModuleExportNameHasLoneSurrogate:({surrogateCharCode:e})=>`An export name cannot include a lone surrogate, found '\\u${e.toString(16)}'.`,ModuleExportUndefined:({localName:e})=>`Export '${e}' is not defined.`,MultipleDefaultsInSwitch:"Multiple default clauses.",NewlineAfterThrow:"Illegal newline after throw.",NoCatchOrFinally:"Missing catch or finally clause.",NumberIdentifier:"Identifier directly after number.",NumericSeparatorInEscapeSequence:"Numeric separators are not allowed inside unicode escape sequences or hex escape sequences.",ObsoleteAwaitStar:"'await*' has been removed from the async functions proposal. Use Promise.all() instead.",OptionalChainingNoNew:"Constructors in/after an Optional Chain are not allowed.",OptionalChainingNoTemplate:"Tagged Template Literals are not allowed in optionalChain.",OverrideOnConstructor:"'override' modifier cannot appear on a constructor declaration.",ParamDupe:"Argument name clash.",PatternHasAccessor:"Object pattern can't contain getter or setter.",PatternHasMethod:"Object pattern can't contain methods.",PrivateInExpectedIn:({identifierName:e})=>`Private names are only allowed in property accesses (\`obj.#${e}\`) or in \`in\` expressions (\`#${e} in obj\`).`,PrivateNameRedeclaration:({identifierName:e})=>`Duplicate private name #${e}.`,RecordExpressionBarIncorrectEndSyntaxType:"Record expressions ending with '|}' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionBarIncorrectStartSyntaxType:"Record expressions starting with '{|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",RecordExpressionHashIncorrectStartSyntaxType:"Record expressions starting with '#{' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",RecordNoProto:"'__proto__' is not allowed in Record expressions.",RestTrailingComma:"Unexpected trailing comma after rest element.",SloppyFunction:"In non-strict mode code, functions can only be declared at top level or inside a block.",SloppyFunctionAnnexB:"In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement.",SourcePhaseImportRequiresDefault:'Only `import source x from "./module"` is valid.',StaticPrototype:"Classes may not have static property named prototype.",SuperNotAllowed:"`super()` is only valid inside a class constructor of a subclass. Maybe a typo in the method name ('constructor') or not extending another class?",SuperPrivateField:"Private fields can't be accessed on super.",TrailingDecorator:"Decorators must be attached to a class element.",TupleExpressionBarIncorrectEndSyntaxType:"Tuple expressions ending with '|]' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionBarIncorrectStartSyntaxType:"Tuple expressions starting with '[|' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'bar'.",TupleExpressionHashIncorrectStartSyntaxType:"Tuple expressions starting with '#[' are only allowed when the 'syntaxType' option of the 'recordAndTuple' plugin is set to 'hash'.",UnexpectedArgumentPlaceholder:"Unexpected argument placeholder.",UnexpectedAwaitAfterPipelineBody:'Unexpected "await" after pipeline body; await must have parentheses in minimal proposal.',UnexpectedDigitAfterHash:"Unexpected digit after hash token.",UnexpectedImportExport:"'import' and 'export' may only appear at the top level.",UnexpectedKeyword:({keyword:e})=>`Unexpected keyword '${e}'.`,UnexpectedLeadingDecorator:"Leading decorators must be attached to a class declaration.",UnexpectedLexicalDeclaration:"Lexical declaration cannot appear in a single-statement context.",UnexpectedNewTarget:"`new.target` can only be used in functions or class properties.",UnexpectedNumericSeparator:"A numeric separator is only allowed between two digits.",UnexpectedPrivateField:"Unexpected private name.",UnexpectedReservedWord:({reservedWord:e})=>`Unexpected reserved word '${e}'.`,UnexpectedSuper:"'super' is only allowed in object methods and classes.",UnexpectedToken:({expected:e,unexpected:t})=>`Unexpected token${t?` '${t}'.`:""}${e?`, expected "${e}"`:""}`,UnexpectedTokenUnaryExponentiation:"Illegal expression. Wrap left hand side or entire exponentiation in parentheses.",UnexpectedUsingDeclaration:"Using declaration cannot appear in the top level when source type is `script` or in the bare case statement.",UnexpectedVoidPattern:"Unexpected void binding.",UnsupportedBind:"Binding should be performed on object property.",UnsupportedDecoratorExport:"A decorated export must export a class declaration.",UnsupportedDefaultExport:"Only expressions, functions or classes are allowed as the `default` export.",UnsupportedImport:"`import` can only be used in `import()` or `import.meta`.",UnsupportedMetaProperty:({target:e,onlyValidPropertyName:t})=>`The only valid meta property for ${e} is ${e}.${t}.`,UnsupportedParameterDecorator:"Decorators cannot be used to decorate parameters.",UnsupportedPropertyDecorator:"Decorators cannot be used to decorate object literal properties.",UnsupportedSuper:"'super' can only be used with function calls (i.e. super()) or in property accesses (i.e. super.prop or super[prop]).",UnterminatedComment:"Unterminated comment.",UnterminatedRegExp:"Unterminated regular expression.",UnterminatedString:"Unterminated string constant.",UnterminatedTemplate:"Unterminated template.",UsingDeclarationExport:"Using declaration cannot be exported.",UsingDeclarationHasBindingPattern:"Using declaration cannot have destructuring patterns.",VarRedeclaration:({identifierName:e})=>`Identifier '${e}' has already been declared.`,VoidPatternCatchClauseParam:"A void binding can not be the catch clause parameter. Use `try { ... } catch { ... }` if you want to discard the caught error.",VoidPatternInitializer:"A void binding may not have an initializer.",YieldBindingIdentifier:"Can not use 'yield' as identifier inside a generator.",YieldInParameter:"Yield expression is not allowed in formal parameters.",YieldNotInGeneratorFunction:"'yield' is only allowed within generator functions.",ZeroDigitNumericSeparator:"Numeric separator can not be used after leading 0."},w={StrictDelete:"Deleting local variable in strict mode.",StrictEvalArguments:({referenceName:e})=>`Assigning to '${e}' in strict mode.`,StrictEvalArgumentsBinding:({bindingName:e})=>`Binding '${e}' in strict mode.`,StrictFunction:"In strict mode code, functions can only be declared at top level or inside a block.",StrictNumericEscape:"The only valid numeric escape in strict mode is '\\0'.",StrictOctalLiteral:"Legacy octal literals are not allowed in strict mode.",StrictWith:"'with' in strict mode."},x={ParseExpressionEmptyInput:"Unexpected parseExpression() input: The input is empty or contains only comments.",ParseExpressionExpectsEOF:({unexpected:e})=>`Unexpected parseExpression() input: The input should contain exactly one expression, but the first expression is followed by the unexpected character \`${String.fromCodePoint(e)}\`.`},k=new Set(["ArrowFunctionExpression","AssignmentExpression","ConditionalExpression","YieldExpression"]),_=Object.assign({PipeBodyIsTighter:"Unexpected yield after pipeline body; any yield expression acting as Hack-style pipe body must be parenthesized due to its loose operator precedence.",PipeTopicRequiresHackPipes:'Topic references are only supported when using the `"proposal": "hack"` version of the pipeline proposal.',PipeTopicUnbound:"Topic reference is unbound; it must be inside a pipe body.",PipeTopicUnconfiguredToken:({token:e})=>`Invalid topic token ${e}. In order to use ${e} as a topic reference, the pipelineOperator plugin must be configured with { "proposal": "hack", "topicToken": "${e}" }.`,PipeTopicUnused:"Hack-style pipe body does not contain a topic reference; Hack-style pipes must use topic at least once.",PipeUnparenthesizedBody:({type:e})=>`Hack-style pipe body cannot be an unparenthesized ${v({type:e})}; please wrap it in parentheses.`},{}),E=["message"];function C(e,t,a){Object.defineProperty(e,t,{enumerable:!1,configurable:!0,value:a})}function F({toMessage:e,code:t,reasonCode:a,syntaxPlugin:n}){let r="MissingPlugin"===a||"MissingOneOfPlugins"===a;return function s(i,o){let l=new SyntaxError;return l.code=t,l.reasonCode=a,l.loc=i,l.pos=i.index,l.syntaxPlugin=n,r&&(l.missingPlugin=o.missingPlugin),C(l,"clone",function(e={}){let{line:t,column:a,index:n}=e.loc??i;return s(new h(t,a,n),Object.assign({},o,e.details))}),C(l,"details",o),Object.defineProperty(l,"message",{configurable:!0,get(){let t=`${e(o)} (${i.line}:${i.column})`;return this.message=t,t},set(e){Object.defineProperty(this,"message",{value:e,writable:!0})}}),l}}function D(e,t){if(Array.isArray(e))return t=>D(t,e[0]);let a={};for(let n of Object.keys(e)){let r=e[n],s="string"==typeof r?{message:()=>r}:"function"==typeof r?{message:r}:r,{message:i}=s,o=d(s,E),l="string"==typeof i?()=>i:i;a[n]=F(Object.assign({code:"BABEL_PARSER_SYNTAX_ERROR",reasonCode:n,toMessage:l},t?{syntaxPlugin:t}:{},o))}return a}var A=Object.assign({},D(g),D(b),D(w),D(x),D`pipelineOperator`(_));function T(){return{sourceType:"script",sourceFilename:void 0,startIndex:0,startColumn:0,startLine:1,allowAwaitOutsideFunction:!1,allowReturnOutsideFunction:!1,allowNewTargetOutsideFunction:!1,allowImportExportEverywhere:!1,allowSuperOutsideMethod:!1,allowUndeclaredExports:!1,allowYieldOutsideFunction:!1,plugins:[],strictMode:void 0,ranges:!1,tokens:!1,createImportExpressions:!0,createParenthesizedExpressions:!1,errorRecovery:!1,attachComment:!0,annexB:!0}}function S(e){let t=T();if(null==e)return t;if(null!=e.annexB&&!1!==e.annexB)throw new Error("The `annexB` option can only be set to `false`.");for(let a of Object.keys(t))null!=e[a]&&(t[a]=e[a]);if(1===t.startLine)null==e.startIndex&&t.startColumn>0?t.startIndex=t.startColumn:null==e.startColumn&&t.startIndex>0&&(t.startColumn=t.startIndex);else if(null==e.startColumn||null==e.startIndex)throw new Error("With a `startLine > 1` you must also specify `startIndex` and `startColumn`.");if("commonjs"===t.sourceType){if(null!=e.allowAwaitOutsideFunction)throw new Error("The `allowAwaitOutsideFunction` option cannot be used with `sourceType: 'commonjs'`.");if(null!=e.allowReturnOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowReturnOutsideFunction: true`, please remove the `allowReturnOutsideFunction` option or use `sourceType: 'script'`.");if(null!=e.allowNewTargetOutsideFunction)throw new Error("`sourceType: 'commonjs'` implies `allowNewTargetOutsideFunction: true`, please remove the `allowNewTargetOutsideFunction` option or use `sourceType: 'script'`.")}return t}var{defineProperty:I}=Object,N=(e,t)=>{e&&I(e,t,{enumerable:!1,value:e[t]})};function P(e){return N(e.loc.start,"index"),N(e.loc.end,"index"),e}var B=e=>class extends e{parse(){let e=P(super.parse());return 256&this.optionFlags&&(e.tokens=e.tokens.map(P)),e}parseRegExpLiteral({pattern:e,flags:t}){let a=null;try{a=new RegExp(e,t)}catch{}let n=this.estreeParseLiteral(a);return n.regex={pattern:e,flags:t},n}parseBigIntLiteral(e){let t;try{t=BigInt(e)}catch{t=null}let a=this.estreeParseLiteral(t);return a.bigint=String(a.value||e),a}parseDecimalLiteral(e){let t=this.estreeParseLiteral(null);return t.decimal=String(t.value||e),t}estreeParseLiteral(e){return this.parseLiteral(e,"Literal")}parseStringLiteral(e){return this.estreeParseLiteral(e)}parseNumericLiteral(e){return this.estreeParseLiteral(e)}parseNullLiteral(){return this.estreeParseLiteral(null)}parseBooleanLiteral(e){return this.estreeParseLiteral(e)}estreeParseChainExpression(e,t){let a=this.startNodeAtNode(e);return a.expression=e,this.finishNodeAt(a,"ChainExpression",t)}directiveToStmt(e){let t=e.value;delete e.value,this.castNodeTo(t,"Literal"),t.raw=t.extra.raw,t.value=t.extra.expressionValue;let a=this.castNodeTo(e,"ExpressionStatement");return a.expression=t,a.directive=t.extra.rawValue,delete t.extra,a}fillOptionalPropertiesForTSESLint(e){}cloneEstreeStringLiteral(e){let{start:t,end:a,loc:n,range:r,raw:s,value:i}=e,o=Object.create(e.constructor.prototype);return o.type="Literal",o.start=t,o.end=a,o.loc=n,o.range=r,o.raw=s,o.value=i,o}initFunction(e,t){super.initFunction(e,t),e.expression=!1}checkDeclaration(e){null!=e&&this.isObjectProperty(e)?this.checkDeclaration(e.value):super.checkDeclaration(e)}getObjectOrClassMethodParams(e){return e.value.params}isValidDirective(e){return"ExpressionStatement"===e.type&&"Literal"===e.expression.type&&"string"==typeof e.expression.value&&!e.expression.extra?.parenthesized}parseBlockBody(e,t,a,n,r){super.parseBlockBody(e,t,a,n,r);let s=e.directives.map(e=>this.directiveToStmt(e));e.body=s.concat(e.body),delete e.directives}parsePrivateName(){let e=super.parsePrivateName();return this.convertPrivateNameToPrivateIdentifier(e)}convertPrivateNameToPrivateIdentifier(e){let t=super.getPrivateNameSV(e);return delete e.id,e.name=t,this.castNodeTo(e,"PrivateIdentifier")}isPrivateName(e){return"PrivateIdentifier"===e.type}getPrivateNameSV(e){return e.name}parseLiteral(e,t){let a=super.parseLiteral(e,t);return a.raw=a.extra.raw,delete a.extra,a}parseFunctionBody(e,t,a=!1){super.parseFunctionBody(e,t,a),e.expression="BlockStatement"!==e.body.type}parseMethod(e,t,a,n,r,s,i=!1){let o=this.startNode();o.kind=e.kind,o=super.parseMethod(o,t,a,n,r,s,i),delete o.kind;let{typeParameters:l}=e;l&&(delete e.typeParameters,o.typeParameters=l,this.resetStartLocationFromNode(o,l));let c=this.castNodeTo(o,this.hasPlugin("typescript")&&!o.body?"TSEmptyBodyFunctionExpression":"FunctionExpression");return e.value=c,"ClassPrivateMethod"===s&&(e.computed=!1),this.hasPlugin("typescript")&&e.abstract?(delete e.abstract,this.finishNode(e,"TSAbstractMethodDefinition")):"ObjectMethod"===s?("method"===e.kind&&(e.kind="init"),e.shorthand=!1,this.finishNode(e,"Property")):this.finishNode(e,"MethodDefinition")}nameIsConstructor(e){return"Literal"===e.type?"constructor"===e.value:super.nameIsConstructor(e)}parseClassProperty(...e){let t=super.parseClassProperty(...e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractPropertyDefinition")):this.castNodeTo(t,"PropertyDefinition"),t}parseClassPrivateProperty(...e){let t=super.parseClassPrivateProperty(...e);return t.abstract&&this.hasPlugin("typescript")?this.castNodeTo(t,"TSAbstractPropertyDefinition"):this.castNodeTo(t,"PropertyDefinition"),t.computed=!1,t}parseClassAccessorProperty(e){let t=super.parseClassAccessorProperty(e);return t.abstract&&this.hasPlugin("typescript")?(delete t.abstract,this.castNodeTo(t,"TSAbstractAccessorProperty")):this.castNodeTo(t,"AccessorProperty"),t}parseObjectProperty(e,t,a,n){let r=super.parseObjectProperty(e,t,a,n);return r&&(r.kind="init",this.castNodeTo(r,"Property")),r}finishObjectProperty(e){return e.kind="init",this.finishNode(e,"Property")}isValidLVal(e,t,a,n){return"Property"===e?"value":super.isValidLVal(e,t,a,n)}isAssignable(e,t){return null!=e&&this.isObjectProperty(e)?this.isAssignable(e.value,t):super.isAssignable(e,t)}toAssignable(e,t=!1){if(null!=e&&this.isObjectProperty(e)){let{key:a,value:n}=e;this.isPrivateName(a)&&this.classScope.usePrivateName(this.getPrivateNameSV(a),a.loc.start),this.toAssignable(n,t)}else super.toAssignable(e,t)}toAssignableObjectExpressionProp(e,t,a){"Property"!==e.type||"get"!==e.kind&&"set"!==e.kind?"Property"===e.type&&e.method?this.raise(A.PatternHasMethod,e.key):super.toAssignableObjectExpressionProp(e,t,a):this.raise(A.PatternHasAccessor,e.key)}finishCallExpression(e,t){let a=super.finishCallExpression(e,t);return"Import"===a.callee.type?(this.castNodeTo(a,"ImportExpression"),a.source=a.arguments[0],a.options=a.arguments[1]??null,delete a.arguments,delete a.callee):"OptionalCallExpression"===a.type?this.castNodeTo(a,"CallExpression"):a.optional=!1,a}toReferencedArguments(e){"ImportExpression"!==e.type&&super.toReferencedArguments(e)}parseExport(e,t){let a=this.state.lastTokStartLoc,n=super.parseExport(e,t);switch(n.type){case"ExportAllDeclaration":n.exported=null;break;case"ExportNamedDeclaration":1===n.specifiers.length&&"ExportNamespaceSpecifier"===n.specifiers[0].type&&(this.castNodeTo(n,"ExportAllDeclaration"),n.exported=n.specifiers[0].exported,delete n.specifiers);case"ExportDefaultDeclaration":{let{declaration:e}=n;"ClassDeclaration"===e?.type&&e.decorators?.length>0&&e.start===n.start&&this.resetStartLocation(n,a)}}return n}stopParseSubscript(e,t){let a=super.stopParseSubscript(e,t);return t.optionalChainMember?this.estreeParseChainExpression(a,e.loc.end):a}parseMember(e,t,a,n,r){let s=super.parseMember(e,t,a,n,r);return"OptionalMemberExpression"===s.type?this.castNodeTo(s,"MemberExpression"):s.optional=!1,s}isOptionalMemberExpression(e){return"ChainExpression"===e.type?"MemberExpression"===e.expression.type:super.isOptionalMemberExpression(e)}hasPropertyAsPrivateName(e){return"ChainExpression"===e.type&&(e=e.expression),super.hasPropertyAsPrivateName(e)}isObjectProperty(e){return"Property"===e.type&&"init"===e.kind&&!e.method}isObjectMethod(e){return"Property"===e.type&&(e.method||"get"===e.kind||"set"===e.kind)}castNodeTo(e,t){let a=super.castNodeTo(e,t);return this.fillOptionalPropertiesForTSESLint(a),a}cloneIdentifier(e){let t=super.cloneIdentifier(e);return this.fillOptionalPropertiesForTSESLint(t),t}cloneStringLiteral(e){return"Literal"===e.type?this.cloneEstreeStringLiteral(e):super.cloneStringLiteral(e)}finishNodeAt(e,t,a){return P(super.finishNodeAt(e,t,a))}finishNode(e,t){let a=super.finishNode(e,t);return this.fillOptionalPropertiesForTSESLint(a),a}resetStartLocation(e,t){super.resetStartLocation(e,t),P(e)}resetEndLocation(e,t=this.state.lastTokEndLoc){super.resetEndLocation(e,t),P(e)}},M=class{constructor(e,t){o(this,"token"),o(this,"preserveSpace"),this.token=e,this.preserveSpace=!!t}},O={brace:new M("{"),j_oTag:new M("...",!0)},U=!0,j=!0,L=!0,R=!0,z=!0,H=!0,$=class{constructor(e,t={}){o(this,"label"),o(this,"keyword"),o(this,"beforeExpr"),o(this,"startsExpr"),o(this,"rightAssociative"),o(this,"isLoop"),o(this,"isAssign"),o(this,"prefix"),o(this,"postfix"),o(this,"binop"),this.label=e,this.keyword=t.keyword,this.beforeExpr=!!t.beforeExpr,this.startsExpr=!!t.startsExpr,this.rightAssociative=!!t.rightAssociative,this.isLoop=!!t.isLoop,this.isAssign=!!t.isAssign,this.prefix=!!t.prefix,this.postfix=!!t.postfix,this.binop=null!=t.binop?t.binop:null}},Y=new Map;function G(e,t={}){t.keyword=e;let a=ee(e,t);return Y.set(e,a),a}function W(e,t){return ee(e,{beforeExpr:U,binop:t})}var V=-1,K=[],J=[],q=[],Z=[],X=[],Q=[];function ee(e,t={}){return++V,J.push(e),q.push(t.binop??-1),Z.push(t.beforeExpr??!1),X.push(t.startsExpr??!1),Q.push(t.prefix??!1),K.push(new $(e,t)),V}function te(e,t={}){return++V,Y.set(e,V),J.push(e),q.push(t.binop??-1),Z.push(t.beforeExpr??!1),X.push(t.startsExpr??!1),Q.push(t.prefix??!1),K.push(new $("name",t)),V}var ae={bracketL:ee("[",{beforeExpr:U,startsExpr:j}),bracketHashL:ee("#[",{beforeExpr:U,startsExpr:j}),bracketBarL:ee("[|",{beforeExpr:U,startsExpr:j}),bracketR:ee("]"),bracketBarR:ee("|]"),braceL:ee("{",{beforeExpr:U,startsExpr:j}),braceBarL:ee("{|",{beforeExpr:U,startsExpr:j}),braceHashL:ee("#{",{beforeExpr:U,startsExpr:j}),braceR:ee("}"),braceBarR:ee("|}"),parenL:ee("(",{beforeExpr:U,startsExpr:j}),parenR:ee(")"),comma:ee(",",{beforeExpr:U}),semi:ee(";",{beforeExpr:U}),colon:ee(":",{beforeExpr:U}),doubleColon:ee("::",{beforeExpr:U}),dot:ee("."),question:ee("?",{beforeExpr:U}),questionDot:ee("?."),arrow:ee("=>",{beforeExpr:U}),template:ee("template"),ellipsis:ee("...",{beforeExpr:U}),backQuote:ee("`",{startsExpr:j}),dollarBraceL:ee("${",{beforeExpr:U,startsExpr:j}),templateTail:ee("...`",{startsExpr:j}),templateNonTail:ee("...${",{beforeExpr:U,startsExpr:j}),at:ee("@"),hash:ee("#",{startsExpr:j}),interpreterDirective:ee("#!..."),eq:ee("=",{beforeExpr:U,isAssign:R}),assign:ee("_=",{beforeExpr:U,isAssign:R}),slashAssign:ee("_=",{beforeExpr:U,isAssign:R}),xorAssign:ee("_=",{beforeExpr:U,isAssign:R}),moduloAssign:ee("_=",{beforeExpr:U,isAssign:R}),incDec:ee("++/--",{prefix:z,postfix:H,startsExpr:j}),bang:ee("!",{beforeExpr:U,prefix:z,startsExpr:j}),tilde:ee("~",{beforeExpr:U,prefix:z,startsExpr:j}),doubleCaret:ee("^^",{startsExpr:j}),doubleAt:ee("@@",{startsExpr:j}),pipeline:W("|>",0),nullishCoalescing:W("??",1),logicalOR:W("||",1),logicalAND:W("&&",2),bitwiseOR:W("|",3),bitwiseXOR:W("^",4),bitwiseAND:W("&",5),equality:W("==/!=/===/!==",6),lt:W("/<=/>=",7),gt:W("/<=/>=",7),relational:W("/<=/>=",7),bitShift:W("<>/>>>",8),bitShiftL:W("<>/>>>",8),bitShiftR:W("<>/>>>",8),plusMin:ee("+/-",{beforeExpr:U,binop:9,prefix:z,startsExpr:j}),modulo:ee("%",{binop:10,startsExpr:j}),star:ee("*",{binop:10}),slash:W("/",10),exponent:ee("**",{beforeExpr:U,binop:11,rightAssociative:!0}),_in:G("in",{beforeExpr:U,binop:7}),_instanceof:G("instanceof",{beforeExpr:U,binop:7}),_break:G("break"),_case:G("case",{beforeExpr:U}),_catch:G("catch"),_continue:G("continue"),_debugger:G("debugger"),_default:G("default",{beforeExpr:U}),_else:G("else",{beforeExpr:U}),_finally:G("finally"),_function:G("function",{startsExpr:j}),_if:G("if"),_return:G("return",{beforeExpr:U}),_switch:G("switch"),_throw:G("throw",{beforeExpr:U,prefix:z,startsExpr:j}),_try:G("try"),_var:G("var"),_const:G("const"),_with:G("with"),_new:G("new",{beforeExpr:U,startsExpr:j}),_this:G("this",{startsExpr:j}),_super:G("super",{startsExpr:j}),_class:G("class",{startsExpr:j}),_extends:G("extends",{beforeExpr:U}),_export:G("export"),_import:G("import",{startsExpr:j}),_null:G("null",{startsExpr:j}),_true:G("true",{startsExpr:j}),_false:G("false",{startsExpr:j}),_typeof:G("typeof",{beforeExpr:U,prefix:z,startsExpr:j}),_void:G("void",{beforeExpr:U,prefix:z,startsExpr:j}),_delete:G("delete",{beforeExpr:U,prefix:z,startsExpr:j}),_do:G("do",{isLoop:L,beforeExpr:U}),_for:G("for",{isLoop:L}),_while:G("while",{isLoop:L}),_as:te("as",{startsExpr:j}),_assert:te("assert",{startsExpr:j}),_async:te("async",{startsExpr:j}),_await:te("await",{startsExpr:j}),_defer:te("defer",{startsExpr:j}),_from:te("from",{startsExpr:j}),_get:te("get",{startsExpr:j}),_let:te("let",{startsExpr:j}),_meta:te("meta",{startsExpr:j}),_of:te("of",{startsExpr:j}),_sent:te("sent",{startsExpr:j}),_set:te("set",{startsExpr:j}),_source:te("source",{startsExpr:j}),_static:te("static",{startsExpr:j}),_using:te("using",{startsExpr:j}),_yield:te("yield",{startsExpr:j}),_asserts:te("asserts",{startsExpr:j}),_checks:te("checks",{startsExpr:j}),_exports:te("exports",{startsExpr:j}),_global:te("global",{startsExpr:j}),_implements:te("implements",{startsExpr:j}),_intrinsic:te("intrinsic",{startsExpr:j}),_infer:te("infer",{startsExpr:j}),_is:te("is",{startsExpr:j}),_mixins:te("mixins",{startsExpr:j}),_proto:te("proto",{startsExpr:j}),_require:te("require",{startsExpr:j}),_satisfies:te("satisfies",{startsExpr:j}),_keyof:te("keyof",{startsExpr:j}),_readonly:te("readonly",{startsExpr:j}),_unique:te("unique",{startsExpr:j}),_abstract:te("abstract",{startsExpr:j}),_declare:te("declare",{startsExpr:j}),_enum:te("enum",{startsExpr:j}),_module:te("module",{startsExpr:j}),_namespace:te("namespace",{startsExpr:j}),_interface:te("interface",{startsExpr:j}),_type:te("type",{startsExpr:j}),_opaque:te("opaque",{startsExpr:j}),name:ee("name",{startsExpr:j}),placeholder:ee("%%",{startsExpr:j}),string:ee("string",{startsExpr:j}),num:ee("num",{startsExpr:j}),bigint:ee("bigint",{startsExpr:j}),decimal:ee("decimal",{startsExpr:j}),regexp:ee("regexp",{startsExpr:j}),privateName:ee("#name",{startsExpr:j}),eof:ee("eof"),jsxName:ee("jsxName"),jsxText:ee("jsxText",{beforeExpr:U}),jsxTagStart:ee("jsxTagStart",{startsExpr:j}),jsxTagEnd:ee("jsxTagEnd")};function ne(e){return e>=93&&e<=133}function re(e){return e<=92}function se(e){return e>=58&&e<=133}function ie(e){return e>=58&&e<=137}function oe(e){return Z[e]}function le(e){return X[e]}function ce(e){return e>=29&&e<=33}function ue(e){return e>=129&&e<=131}function de(e){return e>=90&&e<=92}function he(e){return e>=58&&e<=92}function pe(e){return e>=39&&e<=59}function fe(e){return 34===e}function me(e){return Q[e]}function ge(e){return e>=121&&e<=123}function ye(e){return e>=124&&e<=130}function ve(e){return J[e]}function be(e){return q[e]}function we(e){return 57===e}function xe(e){return e>=24&&e<=25}function ke(e){return K[e]}var _e="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-࢏ࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚ౜ౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽ೜-ೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲊᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ƛ꟱-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",Ee="·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛ࢗ-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-᫝᫠-᫫ᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‌‍‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",Ce=new RegExp("["+_e+"]"),Fe=new RegExp("["+_e+Ee+"]");_e=Ee=null;var De=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,7,25,39,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,5,57,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,24,43,261,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,33,24,3,24,45,74,6,0,67,12,65,1,2,0,15,4,10,7381,42,31,98,114,8702,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,208,30,2,2,2,1,2,6,3,4,10,1,225,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4381,3,5773,3,7472,16,621,2467,541,1507,4938,6,8489],Ae=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,78,5,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,199,7,137,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,55,9,266,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,233,0,3,0,8,1,6,0,475,6,110,6,6,9,4759,9,787719,239];function Te(e,t){let a=65536;for(let n=0,r=t.length;ne)return!1;if(a+=t[n+1],a>=e)return!0}return!1}function Se(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Ce.test(String.fromCharCode(e)):Te(e,De)))}function Ie(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&Fe.test(String.fromCharCode(e)):Te(e,De)||Te(e,Ae))))}var Ne={keyword:["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"],strict:["implements","interface","let","package","private","protected","public","static","yield"],strictBind:["eval","arguments"]},Pe=new Set(Ne.keyword),Be=new Set(Ne.strict),Me=new Set(Ne.strictBind);function Oe(e,t){return t&&"await"===e||"enum"===e}function Ue(e,t){return Oe(e,t)||Be.has(e)}function je(e){return Me.has(e)}function Le(e,t){return Ue(e,t)||je(e)}function Re(e){return Pe.has(e)}function ze(e,t,a){return 64===e&&64===t&&Se(a)}var He=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete","implements","interface","let","package","private","protected","public","static","yield","eval","arguments","enum","await"]);function $e(e){return He.has(e)}var Ye=class{constructor(e){o(this,"flags",0),o(this,"names",new Map),o(this,"firstLexicalName",""),this.flags=e}},Ge=class{constructor(e,t){o(this,"parser"),o(this,"scopeStack",[]),o(this,"inModule"),o(this,"undefinedExports",new Map),this.parser=e,this.inModule=t}get inTopLevel(){return(1&this.currentScope().flags)>0}get inFunction(){return(2&this.currentVarScopeFlags())>0}get allowSuper(){return(16&this.currentThisScopeFlags())>0}get allowDirectSuper(){return(32&this.currentThisScopeFlags())>0}get allowNewTarget(){return(512&this.currentThisScopeFlags())>0}get inClass(){return(64&this.currentThisScopeFlags())>0}get inClassAndNotInNonArrowFunction(){let e=this.currentThisScopeFlags();return(64&e)>0&&!(2&e)}get inStaticBlock(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(128&t)return!0;if(1731&t)return!1}}get inNonArrowFunction(){return(2&this.currentThisScopeFlags())>0}get inBareCaseStatement(){return(256&this.currentScope().flags)>0}get treatFunctionsAsVar(){return this.treatFunctionsAsVarInScope(this.currentScope())}createScope(e){return new Ye(e)}enter(e){this.scopeStack.push(this.createScope(e))}exit(){return this.scopeStack.pop().flags}treatFunctionsAsVarInScope(e){return!!(130&e.flags||!this.parser.inModule&&1&e.flags)}declareName(e,t,a){let n=this.currentScope();if(8&t||16&t){this.checkRedeclarationInScope(n,e,t,a);let r=n.names.get(e)||0;16&t?r|=4:(n.firstLexicalName||(n.firstLexicalName=e),r|=2),n.names.set(e,r),8&t&&this.maybeExportDefined(n,e)}else if(4&t)for(let r=this.scopeStack.length-1;r>=0&&(n=this.scopeStack[r],this.checkRedeclarationInScope(n,e,t,a),n.names.set(e,1|(n.names.get(e)||0)),this.maybeExportDefined(n,e),!(1667&n.flags));--r);this.parser.inModule&&1&n.flags&&this.undefinedExports.delete(e)}maybeExportDefined(e,t){this.parser.inModule&&1&e.flags&&this.undefinedExports.delete(t)}checkRedeclarationInScope(e,t,a,n){this.isRedeclaredInScope(e,t,a)&&this.parser.raise(A.VarRedeclaration,n,{identifierName:t})}isRedeclaredInScope(e,t,a){if(!(1&a))return!1;if(8&a)return e.names.has(t);let n=e.names.get(t)||0;return 16&a?(2&n)>0||!this.treatFunctionsAsVarInScope(e)&&(1&n)>0:(2&n)>0&&!(8&e.flags&&e.firstLexicalName===t)||!this.treatFunctionsAsVarInScope(e)&&(4&n)>0}checkLocalExport(e){let{name:t}=e;this.scopeStack[0].names.has(t)||this.undefinedExports.set(t,e.loc.start)}currentScope(){return this.scopeStack[this.scopeStack.length-1]}currentVarScopeFlags(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(1667&t)return t}}currentThisScopeFlags(){for(let e=this.scopeStack.length-1;;e--){let{flags:t}=this.scopeStack[e];if(1731&t&&!(4&t))return t}}},We=class extends Ye{constructor(){super(...arguments),o(this,"declareFunctions",new Set)}},Ve=class extends Ge{createScope(e){return new We(e)}declareName(e,t,a){let n=this.currentScope();if(2048&t)return this.checkRedeclarationInScope(n,e,t,a),this.maybeExportDefined(n,e),void n.declareFunctions.add(e);super.declareName(e,t,a)}isRedeclaredInScope(e,t,a){if(super.isRedeclaredInScope(e,t,a))return!0;if(2048&a&&!e.declareFunctions.has(t)){let a=e.names.get(t);return(4&a)>0||(2&a)>0}return!1}checkLocalExport(e){this.scopeStack[0].declareFunctions.has(e.name)||super.checkLocalExport(e)}},Ke=new Set(["_","any","bool","boolean","empty","extends","false","interface","mixed","null","number","static","string","true","typeof","void"]),Je=D`flow`({AmbiguousConditionalArrow:"Ambiguous expression: wrap the arrow functions in parentheses to disambiguate.",AmbiguousDeclareModuleKind:"Found both `declare module.exports` and `declare export` in the same module. Modules can only have 1 since they are either an ES module or they are a CommonJS module.",AssignReservedType:({reservedType:e})=>`Cannot overwrite reserved type ${e}.`,DeclareClassElement:"The `declare` modifier can only appear on class fields.",DeclareClassFieldInitializer:"Initializers are not allowed in fields with the `declare` modifier.",DuplicateDeclareModuleExports:"Duplicate `declare module.exports` statement.",EnumBooleanMemberNotInitialized:({memberName:e,enumName:t})=>`Boolean enum members need to be initialized. Use either \`${e} = true,\` or \`${e} = false,\` in enum \`${t}\`.`,EnumDuplicateMemberName:({memberName:e,enumName:t})=>`Enum member names need to be unique, but the name \`${e}\` has already been used before in enum \`${t}\`.`,EnumInconsistentMemberValues:({enumName:e})=>`Enum \`${e}\` has inconsistent member initializers. Either use no initializers, or consistently use literals (either booleans, numbers, or strings) for all member initializers.`,EnumInvalidExplicitType:({invalidEnumType:e,enumName:t})=>`Enum type \`${e}\` is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${t}\`.`,EnumInvalidExplicitTypeUnknownSupplied:({enumName:e})=>`Supplied enum type is not valid. Use one of \`boolean\`, \`number\`, \`string\`, or \`symbol\` in enum \`${e}\`.`,EnumInvalidMemberInitializerPrimaryType:({enumName:e,memberName:t,explicitType:a})=>`Enum \`${e}\` has type \`${a}\`, so the initializer of \`${t}\` needs to be a ${a} literal.`,EnumInvalidMemberInitializerSymbolType:({enumName:e,memberName:t})=>`Symbol enum members cannot be initialized. Use \`${t},\` in enum \`${e}\`.`,EnumInvalidMemberInitializerUnknownType:({enumName:e,memberName:t})=>`The enum member initializer for \`${t}\` needs to be a literal (either a boolean, number, or string) in enum \`${e}\`.`,EnumInvalidMemberName:({enumName:e,memberName:t,suggestion:a})=>`Enum member names cannot start with lowercase 'a' through 'z'. Instead of using \`${t}\`, consider using \`${a}\`, in enum \`${e}\`.`,EnumNumberMemberNotInitialized:({enumName:e,memberName:t})=>`Number enum members need to be initialized, e.g. \`${t} = 1\` in enum \`${e}\`.`,EnumStringMemberInconsistentlyInitialized:({enumName:e})=>`String enum members need to consistently either all use initializers, or use no initializers, in enum \`${e}\`.`,GetterMayNotHaveThisParam:"A getter cannot have a `this` parameter.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` or `typeof` keyword.",ImportTypeShorthandOnlyInPureImport:"The `type` and `typeof` keywords on named imports can only be used on regular `import` statements. It cannot be used with `import type` or `import typeof` statements.",InexactInsideExact:"Explicit inexact syntax cannot appear inside an explicit exact object type.",InexactInsideNonObject:"Explicit inexact syntax cannot appear in class or interface definitions.",InexactVariance:"Explicit inexact syntax cannot have variance.",InvalidNonTypeImportInDeclareModule:"Imports within a `declare module` body must always be `import type` or `import typeof`.",MissingTypeParamDefault:"Type parameter declaration needs a default, since a preceding type parameter declaration has a default.",NestedDeclareModule:"`declare module` cannot be used inside another `declare module`.",NestedFlowComment:"Cannot have a flow comment inside another flow comment.",PatternIsOptional:Object.assign({message:"A binding pattern parameter cannot be optional in an implementation signature."},{}),SetterMayNotHaveThisParam:"A setter cannot have a `this` parameter.",SpreadVariance:"Spread properties cannot have variance.",ThisParamAnnotationRequired:"A type annotation is required for the `this` parameter.",ThisParamBannedInConstructor:"Constructors cannot have a `this` parameter; constructors don't bind `this` like other functions.",ThisParamMayNotBeOptional:"The `this` parameter cannot be optional.",ThisParamMustBeFirst:"The `this` parameter must be the first function parameter.",ThisParamNoDefault:"The `this` parameter may not have a default value.",TypeBeforeInitializer:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeCastInPattern:"The type cast expression is expected to be wrapped with parenthesis.",UnexpectedExplicitInexactInObject:"Explicit inexact syntax must appear at the end of an inexact object.",UnexpectedReservedType:({reservedType:e})=>`Unexpected reserved type ${e}.`,UnexpectedReservedUnderscore:"`_` is only allowed as a type argument to call or new.",UnexpectedSpaceBetweenModuloChecks:"Spaces between `%` and `checks` are not allowed here.",UnexpectedSpreadType:"Spread operator cannot appear in class or interface definitions.",UnexpectedSubtractionOperand:'Unexpected token, expected "number" or "bigint".',UnexpectedTokenAfterTypeParameter:"Expected an arrow function after this type parameter declaration.",UnexpectedTypeParameterBeforeAsyncArrowFunction:"Type parameters must come after the async keyword, e.g. instead of ` async () => {}`, use `async () => {}`.",UnsupportedDeclareExportKind:({unsupportedExportKind:e,suggestion:t})=>`\`declare export ${e}\` is not supported. Use \`${t}\` instead.`,UnsupportedStatementInDeclareModule:"Only declares and type imports are allowed inside declare module.",UnterminatedFlowComment:"Unterminated flow-comment."});function qe(e){return"DeclareExportAllDeclaration"===e.type||"DeclareExportDeclaration"===e.type&&(!e.declaration||"TypeAlias"!==e.declaration.type&&"InterfaceDeclaration"!==e.declaration.type)}function Ze(e){return"type"===e.importKind||"typeof"===e.importKind}var Xe={const:"declare export var",let:"declare export var",type:"export type",interface:"export interface"};function Qe(e,t){let a=[],n=[];for(let r=0;rclass extends e{constructor(){super(...arguments),o(this,"flowPragma")}getScopeHandler(){return Ve}shouldParseTypes(){return this.getPluginOption("flow","all")||"flow"===this.flowPragma}finishToken(e,t){134!==e&&13!==e&&28!==e&&void 0===this.flowPragma&&(this.flowPragma=null),super.finishToken(e,t)}addComment(e){if(void 0===this.flowPragma){let t=et.exec(e.value);if(t)if("flow"===t[1])this.flowPragma="flow";else{if("noflow"!==t[1])throw new Error("Unexpected flow pragma");this.flowPragma="noflow"}}super.addComment(e)}flowParseTypeInitialiser(e){let t=this.state.inType;this.state.inType=!0,this.expect(e||14);let a=this.flowParseType();return this.state.inType=t,a}flowParsePredicate(){let e=this.startNode(),t=this.state.startLoc;return this.next(),this.expectContextual(110),this.state.lastTokStartLoc.index>t.index+1&&this.raise(Je.UnexpectedSpaceBetweenModuloChecks,t),this.eat(10)?(e.value=super.parseExpression(),this.expect(11),this.finishNode(e,"DeclaredPredicate")):this.finishNode(e,"InferredPredicate")}flowParseTypeAndPredicateInitialiser(){let e=this.state.inType;this.state.inType=!0,this.expect(14);let t=null,a=null;return this.match(54)?(this.state.inType=e,a=this.flowParsePredicate()):(t=this.flowParseType(),this.state.inType=e,this.match(54)&&(a=this.flowParsePredicate())),[t,a]}flowParseDeclareClass(e){return this.next(),this.flowParseInterfaceish(e,!0),this.finishNode(e,"DeclareClass")}flowParseDeclareFunction(e){this.next();let t=e.id=this.parseIdentifier(),a=this.startNode(),n=this.startNode();this.match(47)?a.typeParameters=this.flowParseTypeParameterDeclaration():a.typeParameters=null,this.expect(10);let r=this.flowParseFunctionTypeParams();return a.params=r.params,a.rest=r.rest,a.this=r._this,this.expect(11),[a.returnType,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),n.typeAnnotation=this.finishNode(a,"FunctionTypeAnnotation"),t.typeAnnotation=this.finishNode(n,"TypeAnnotation"),this.resetEndLocation(t),this.semicolon(),this.scope.declareName(e.id.name,2048,e.id.loc.start),this.finishNode(e,"DeclareFunction")}flowParseDeclare(e,t){if(this.match(80))return this.flowParseDeclareClass(e);if(this.match(68))return this.flowParseDeclareFunction(e);if(this.match(74))return this.flowParseDeclareVariable(e);if(this.eatContextual(127))return this.match(16)?this.flowParseDeclareModuleExports(e):(t&&this.raise(Je.NestedDeclareModule,this.state.lastTokStartLoc),this.flowParseDeclareModule(e));if(this.isContextual(130))return this.flowParseDeclareTypeAlias(e);if(this.isContextual(131))return this.flowParseDeclareOpaqueType(e);if(this.isContextual(129))return this.flowParseDeclareInterface(e);if(this.match(82))return this.flowParseDeclareExportDeclaration(e,t);throw this.unexpected()}flowParseDeclareVariable(e){return this.next(),e.id=this.flowParseTypeAnnotatableIdentifier(!0),this.scope.declareName(e.id.name,5,e.id.loc.start),this.semicolon(),this.finishNode(e,"DeclareVariable")}flowParseDeclareModule(e){this.scope.enter(0),this.match(134)?e.id=super.parseExprAtom():e.id=this.parseIdentifier();let t=e.body=this.startNode(),a=t.body=[];for(this.expect(5);!this.match(8);){let e=this.startNode();this.match(83)?(this.next(),!this.isContextual(130)&&!this.match(87)&&this.raise(Je.InvalidNonTypeImportInDeclareModule,this.state.lastTokStartLoc),a.push(super.parseImport(e))):(this.expectContextual(125,Je.UnsupportedStatementInDeclareModule),a.push(this.flowParseDeclare(e,!0)))}this.scope.exit(),this.expect(8),this.finishNode(t,"BlockStatement");let n=null,r=!1;return a.forEach(e=>{qe(e)?("CommonJS"===n&&this.raise(Je.AmbiguousDeclareModuleKind,e),n="ES"):"DeclareModuleExports"===e.type&&(r&&this.raise(Je.DuplicateDeclareModuleExports,e),"ES"===n&&this.raise(Je.AmbiguousDeclareModuleKind,e),n="CommonJS",r=!0)}),e.kind=n||"CommonJS",this.finishNode(e,"DeclareModule")}flowParseDeclareExportDeclaration(e,t){if(this.expect(82),this.eat(65))return this.match(68)||this.match(80)?e.declaration=this.flowParseDeclare(this.startNode()):(e.declaration=this.flowParseType(),this.semicolon()),e.default=!0,this.finishNode(e,"DeclareExportDeclaration");if(this.match(75)||this.isLet()||(this.isContextual(130)||this.isContextual(129))&&!t){let e=this.state.value;throw this.raise(Je.UnsupportedDeclareExportKind,this.state.startLoc,{unsupportedExportKind:e,suggestion:Xe[e]})}if(this.match(74)||this.match(68)||this.match(80)||this.isContextual(131))return e.declaration=this.flowParseDeclare(this.startNode()),e.default=!1,this.finishNode(e,"DeclareExportDeclaration");if(this.match(55)||this.match(5)||this.isContextual(129)||this.isContextual(130)||this.isContextual(131))return"ExportNamedDeclaration"===(e=this.parseExport(e,null)).type?(e.default=!1,delete e.exportKind,this.castNodeTo(e,"DeclareExportDeclaration")):this.castNodeTo(e,"DeclareExportAllDeclaration");throw this.unexpected()}flowParseDeclareModuleExports(e){return this.next(),this.expectContextual(111),e.typeAnnotation=this.flowParseTypeAnnotation(),this.semicolon(),this.finishNode(e,"DeclareModuleExports")}flowParseDeclareTypeAlias(e){this.next();let t=this.flowParseTypeAlias(e);return this.castNodeTo(t,"DeclareTypeAlias"),t}flowParseDeclareOpaqueType(e){this.next();let t=this.flowParseOpaqueType(e,!0);return this.castNodeTo(t,"DeclareOpaqueType"),t}flowParseDeclareInterface(e){return this.next(),this.flowParseInterfaceish(e,!1),this.finishNode(e,"DeclareInterface")}flowParseInterfaceish(e,t){if(e.id=this.flowParseRestrictedIdentifier(!t,!0),this.scope.declareName(e.id.name,t?17:8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.extends=[],this.eat(81))do{e.extends.push(this.flowParseInterfaceExtends())}while(!t&&this.eat(12));if(t){if(e.implements=[],e.mixins=[],this.eatContextual(117))do{e.mixins.push(this.flowParseInterfaceExtends())}while(this.eat(12));if(this.eatContextual(113))do{e.implements.push(this.flowParseInterfaceExtends())}while(this.eat(12))}e.body=this.flowParseObjectType({allowStatic:t,allowExact:!1,allowSpread:!1,allowProto:t,allowInexact:!1})}flowParseInterfaceExtends(){let e=this.startNode();return e.id=this.flowParseQualifiedTypeIdentifier(),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,this.finishNode(e,"InterfaceExtends")}flowParseInterface(e){return this.flowParseInterfaceish(e,!1),this.finishNode(e,"InterfaceDeclaration")}checkNotUnderscore(e){"_"===e&&this.raise(Je.UnexpectedReservedUnderscore,this.state.startLoc)}checkReservedType(e,t,a){Ke.has(e)&&this.raise(a?Je.AssignReservedType:Je.UnexpectedReservedType,t,{reservedType:e})}flowParseRestrictedIdentifier(e,t){return this.checkReservedType(this.state.value,this.state.startLoc,t),this.parseIdentifier(e)}flowParseTypeAlias(e){return e.id=this.flowParseRestrictedIdentifier(!1,!0),this.scope.declareName(e.id.name,8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.right=this.flowParseTypeInitialiser(29),this.semicolon(),this.finishNode(e,"TypeAlias")}flowParseOpaqueType(e,t){return this.expectContextual(130),e.id=this.flowParseRestrictedIdentifier(!0,!0),this.scope.declareName(e.id.name,8201,e.id.loc.start),this.match(47)?e.typeParameters=this.flowParseTypeParameterDeclaration():e.typeParameters=null,e.supertype=null,this.match(14)&&(e.supertype=this.flowParseTypeInitialiser(14)),e.impltype=null,t||(e.impltype=this.flowParseTypeInitialiser(29)),this.semicolon(),this.finishNode(e,"OpaqueType")}flowParseTypeParameter(e=!1){let t=this.state.startLoc,a=this.startNode(),n=this.flowParseVariance(),r=this.flowParseTypeAnnotatableIdentifier();return a.name=r.name,a.variance=n,a.bound=r.typeAnnotation,this.match(29)?(this.eat(29),a.default=this.flowParseType()):e&&this.raise(Je.MissingTypeParamDefault,t),this.finishNode(a,"TypeParameter")}flowParseTypeParameterDeclaration(){let e=this.state.inType,t=this.startNode();t.params=[],this.state.inType=!0,this.match(47)||this.match(143)?this.next():this.unexpected();let a=!1;do{let e=this.flowParseTypeParameter(a);t.params.push(e),e.default&&(a=!0),this.match(48)||this.expect(12)}while(!this.match(48));return this.expect(48),this.state.inType=e,this.finishNode(t,"TypeParameterDeclaration")}flowInTopLevelContext(e){if(this.curContext()===O.brace)return e();{let t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}}flowParseTypeParameterInstantiationInExpression(){if(47===this.reScan_lt())return this.flowParseTypeParameterInstantiation()}flowParseTypeParameterInstantiation(){let e=this.startNode(),t=this.state.inType;return this.state.inType=!0,e.params=[],this.flowInTopLevelContext(()=>{this.expect(47);let t=this.state.noAnonFunctionType;for(this.state.noAnonFunctionType=!1;!this.match(48);)e.params.push(this.flowParseType()),this.match(48)||this.expect(12);this.state.noAnonFunctionType=t}),this.state.inType=t,!this.state.inType&&this.curContext()===O.brace&&this.reScan_lt_gt(),this.expect(48),this.finishNode(e,"TypeParameterInstantiation")}flowParseTypeParameterInstantiationCallOrNew(){if(47!==this.reScan_lt())return null;let e=this.startNode(),t=this.state.inType;for(e.params=[],this.state.inType=!0,this.expect(47);!this.match(48);)e.params.push(this.flowParseTypeOrImplicitInstantiation()),this.match(48)||this.expect(12);return this.expect(48),this.state.inType=t,this.finishNode(e,"TypeParameterInstantiation")}flowParseInterfaceType(){let e=this.startNode();if(this.expectContextual(129),e.extends=[],this.eat(81))do{e.extends.push(this.flowParseInterfaceExtends())}while(this.eat(12));return e.body=this.flowParseObjectType({allowStatic:!1,allowExact:!1,allowSpread:!1,allowProto:!1,allowInexact:!1}),this.finishNode(e,"InterfaceTypeAnnotation")}flowParseObjectPropertyKey(){return this.match(135)||this.match(134)?super.parseExprAtom():this.parseIdentifier(!0)}flowParseObjectTypeIndexer(e,t,a){return e.static=t,14===this.lookahead().type?(e.id=this.flowParseObjectPropertyKey(),e.key=this.flowParseTypeInitialiser()):(e.id=null,e.key=this.flowParseType()),this.expect(3),e.value=this.flowParseTypeInitialiser(),e.variance=a,this.finishNode(e,"ObjectTypeIndexer")}flowParseObjectTypeInternalSlot(e,t){return e.static=t,e.id=this.flowParseObjectPropertyKey(),this.expect(3),this.expect(3),this.match(47)||this.match(10)?(e.method=!0,e.optional=!1,e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start))):(e.method=!1,this.eat(17)&&(e.optional=!0),e.value=this.flowParseTypeInitialiser()),this.finishNode(e,"ObjectTypeInternalSlot")}flowParseObjectTypeMethodish(e){for(e.params=[],e.rest=null,e.typeParameters=null,e.this=null,this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration()),this.expect(10),this.match(78)&&(e.this=this.flowParseFunctionTypeParam(!0),e.this.name=null,this.match(11)||this.expect(12));!this.match(11)&&!this.match(21);)e.params.push(this.flowParseFunctionTypeParam(!1)),this.match(11)||this.expect(12);return this.eat(21)&&(e.rest=this.flowParseFunctionTypeParam(!1)),this.expect(11),e.returnType=this.flowParseTypeInitialiser(),this.finishNode(e,"FunctionTypeAnnotation")}flowParseObjectTypeCallProperty(e,t){let a=this.startNode();return e.static=t,e.value=this.flowParseObjectTypeMethodish(a),this.finishNode(e,"ObjectTypeCallProperty")}flowParseObjectType({allowStatic:e,allowExact:t,allowSpread:a,allowProto:n,allowInexact:r}){let s=this.state.inType;this.state.inType=!0;let i=this.startNode();i.callProperties=[],i.properties=[],i.indexers=[],i.internalSlots=[];let o,l,c=!1;for(t&&this.match(6)?(this.expect(6),o=9,l=!0):(this.expect(5),o=8,l=!1),i.exact=l;!this.match(o);){let t=!1,s=null,o=null,u=this.startNode();if(n&&this.isContextual(118)){let t=this.lookahead();14!==t.type&&17!==t.type&&(this.next(),s=this.state.startLoc,e=!1)}if(e&&this.isContextual(106)){let e=this.lookahead();14!==e.type&&17!==e.type&&(this.next(),t=!0)}let d=this.flowParseVariance();if(this.eat(0))null!=s&&this.unexpected(s),this.eat(0)?(d&&this.unexpected(d.loc.start),i.internalSlots.push(this.flowParseObjectTypeInternalSlot(u,t))):i.indexers.push(this.flowParseObjectTypeIndexer(u,t,d));else if(this.match(10)||this.match(47))null!=s&&this.unexpected(s),d&&this.unexpected(d.loc.start),i.callProperties.push(this.flowParseObjectTypeCallProperty(u,t));else{let e="init";(this.isContextual(99)||this.isContextual(104))&&ie(this.lookahead().type)&&(e=this.state.value,this.next());let n=this.flowParseObjectTypeProperty(u,t,s,d,e,a,r??!l);null===n?(c=!0,o=this.state.lastTokStartLoc):i.properties.push(n)}this.flowObjectTypeSemicolon(),o&&!this.match(8)&&!this.match(9)&&this.raise(Je.UnexpectedExplicitInexactInObject,o)}this.expect(o),a&&(i.inexact=c);let u=this.finishNode(i,"ObjectTypeAnnotation");return this.state.inType=s,u}flowParseObjectTypeProperty(e,t,a,n,r,s,i){if(this.eat(21))return this.match(12)||this.match(13)||this.match(8)||this.match(9)?(s?i||this.raise(Je.InexactInsideExact,this.state.lastTokStartLoc):this.raise(Je.InexactInsideNonObject,this.state.lastTokStartLoc),n&&this.raise(Je.InexactVariance,n),null):(s||this.raise(Je.UnexpectedSpreadType,this.state.lastTokStartLoc),null!=a&&this.unexpected(a),n&&this.raise(Je.SpreadVariance,n),e.argument=this.flowParseType(),this.finishNode(e,"ObjectTypeSpreadProperty"));{e.key=this.flowParseObjectPropertyKey(),e.static=t,e.proto=null!=a,e.kind=r;let i=!1;return this.match(47)||this.match(10)?(e.method=!0,null!=a&&this.unexpected(a),n&&this.unexpected(n.loc.start),e.value=this.flowParseObjectTypeMethodish(this.startNodeAt(e.loc.start)),("get"===r||"set"===r)&&this.flowCheckGetterSetterParams(e),!s&&"constructor"===e.key.name&&e.value.this&&this.raise(Je.ThisParamBannedInConstructor,e.value.this)):("init"!==r&&this.unexpected(),e.method=!1,this.eat(17)&&(i=!0),e.value=this.flowParseTypeInitialiser(),e.variance=n),e.optional=i,this.finishNode(e,"ObjectTypeProperty")}}flowCheckGetterSetterParams(e){let t="get"===e.kind?0:1,a=e.value.params.length+(e.value.rest?1:0);e.value.this&&this.raise("get"===e.kind?Je.GetterMayNotHaveThisParam:Je.SetterMayNotHaveThisParam,e.value.this),a!==t&&this.raise("get"===e.kind?A.BadGetterArity:A.BadSetterArity,e),"set"===e.kind&&e.value.rest&&this.raise(A.BadSetterRestParameter,e)}flowObjectTypeSemicolon(){!this.eat(13)&&!this.eat(12)&&!this.match(8)&&!this.match(9)&&this.unexpected()}flowParseQualifiedTypeIdentifier(e,t){e??(e=this.state.startLoc);let a=t||this.flowParseRestrictedIdentifier(!0);for(;this.eat(16);){let t=this.startNodeAt(e);t.qualification=a,t.id=this.flowParseRestrictedIdentifier(!0),a=this.finishNode(t,"QualifiedTypeIdentifier")}return a}flowParseGenericType(e,t){let a=this.startNodeAt(e);return a.typeParameters=null,a.id=this.flowParseQualifiedTypeIdentifier(e,t),this.match(47)&&(a.typeParameters=this.flowParseTypeParameterInstantiation()),this.finishNode(a,"GenericTypeAnnotation")}flowParseTypeofType(){let e=this.startNode();return this.expect(87),e.argument=this.flowParsePrimaryType(),this.finishNode(e,"TypeofTypeAnnotation")}flowParseTupleType(){let e=this.startNode();for(e.types=[],this.expect(0);this.state.possuper.parseFunctionBody(e,!0,a)):super.parseFunctionBody(e,!1,a)}parseFunctionBodyAndFinish(e,t,a=!1){if(this.match(14)){let t=this.startNode();[t.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),e.returnType=t.typeAnnotation?this.finishNode(t,"TypeAnnotation"):null}return super.parseFunctionBodyAndFinish(e,t,a)}parseStatementLike(e){if(this.state.strict&&this.isContextual(129)){if(se(this.lookahead().type)){let e=this.startNode();return this.next(),this.flowParseInterface(e)}}else if(this.isContextual(126)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}let t=super.parseStatementLike(e);return void 0===this.flowPragma&&!this.isValidDirective(t)&&(this.flowPragma=null),t}parseExpressionStatement(e,t,a){if("Identifier"===t.type)if("declare"===t.name){if(this.match(80)||ne(this.state.type)||this.match(68)||this.match(74)||this.match(82))return this.flowParseDeclare(e)}else if(ne(this.state.type)){if("interface"===t.name)return this.flowParseInterface(e);if("type"===t.name)return this.flowParseTypeAlias(e);if("opaque"===t.name)return this.flowParseOpaqueType(e,!1)}return super.parseExpressionStatement(e,t,a)}shouldParseExportDeclaration(){let{type:e}=this.state;return 126===e||ue(e)?!this.state.containsEsc:super.shouldParseExportDeclaration()}isExportDefaultSpecifier(){let{type:e}=this.state;return 126===e||ue(e)?this.state.containsEsc:super.isExportDefaultSpecifier()}parseExportDefaultExpression(){if(this.isContextual(126)){let e=this.startNode();return this.next(),this.flowParseEnumDeclaration(e)}return super.parseExportDefaultExpression()}parseConditional(e,t,a){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){let t=this.lookaheadCharCode();if(44===t||61===t||58===t||41===t)return this.setOptionalParametersError(a),e}this.expect(17);let n=this.state.clone(),r=this.state.noArrowAt,s=this.startNodeAt(t),{consequent:i,failed:o}=this.tryParseConditionalConsequent(),[l,c]=this.getArrowLikeExpressions(i);if(o||c.length>0){let e=[...r];if(c.length>0){this.state=n,this.state.noArrowAt=e;for(let t=0;t1&&this.raise(Je.AmbiguousConditionalArrow,n.startLoc),o&&1===l.length&&(this.state=n,e.push(l[0].start),this.state.noArrowAt=e,({consequent:i,failed:o}=this.tryParseConditionalConsequent()))}return this.getArrowLikeExpressions(i,!0),this.state.noArrowAt=r,this.expect(14),s.test=e,s.consequent=i,s.alternate=this.forwardNoArrowParamsConversionAt(s,()=>this.parseMaybeAssign(void 0,void 0)),this.finishNode(s,"ConditionalExpression")}tryParseConditionalConsequent(){this.state.noArrowParamsConversionAt.push(this.state.start);let e=this.parseMaybeAssignAllowIn(),t=!this.match(14);return this.state.noArrowParamsConversionAt.pop(),{consequent:e,failed:t}}getArrowLikeExpressions(e,t){let a=[e],n=[];for(;0!==a.length;){let e=a.pop();"ArrowFunctionExpression"===e.type&&"BlockStatement"!==e.body.type?(e.typeParameters||!e.returnType?this.finishArrowValidation(e):n.push(e),a.push(e.body)):"ConditionalExpression"===e.type&&(a.push(e.consequent),a.push(e.alternate))}return t?(n.forEach(e=>this.finishArrowValidation(e)),[n,[]]):Qe(n,e=>e.params.every(e=>this.isAssignable(e,!0)))}finishArrowValidation(e){this.toAssignableList(e.params,e.extra?.trailingCommaLoc,!1),this.scope.enter(518),super.checkParams(e,!1,!0),this.scope.exit()}forwardNoArrowParamsConversionAt(e,t){let a;return this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start))?(this.state.noArrowParamsConversionAt.push(this.state.start),a=t(),this.state.noArrowParamsConversionAt.pop()):a=t(),a}parseParenItem(e,t){let a=super.parseParenItem(e,t);if(this.eat(17)&&(a.optional=!0,this.resetEndLocation(e)),this.match(14)){let e=this.startNodeAt(t);return e.expression=a,e.typeAnnotation=this.flowParseTypeAnnotation(),this.finishNode(e,"TypeCastExpression")}return a}assertModuleNodeAllowed(e){"ImportDeclaration"===e.type&&("type"===e.importKind||"typeof"===e.importKind)||"ExportNamedDeclaration"===e.type&&"type"===e.exportKind||"ExportAllDeclaration"===e.type&&"type"===e.exportKind||super.assertModuleNodeAllowed(e)}parseExportDeclaration(e){if(this.isContextual(130)){e.exportKind="type";let t=this.startNode();return this.next(),this.match(5)?(e.specifiers=this.parseExportSpecifiers(!0),super.parseExportFrom(e),null):this.flowParseTypeAlias(t)}if(this.isContextual(131)){e.exportKind="type";let t=this.startNode();return this.next(),this.flowParseOpaqueType(t,!1)}if(this.isContextual(129)){e.exportKind="type";let t=this.startNode();return this.next(),this.flowParseInterface(t)}if(this.isContextual(126)){e.exportKind="value";let t=this.startNode();return this.next(),this.flowParseEnumDeclaration(t)}return super.parseExportDeclaration(e)}eatExportStar(e){return!!super.eatExportStar(e)||!(!this.isContextual(130)||55!==this.lookahead().type)&&(e.exportKind="type",this.next(),this.next(),!0)}maybeParseExportNamespaceSpecifier(e){let{startLoc:t}=this.state,a=super.maybeParseExportNamespaceSpecifier(e);return a&&"type"===e.exportKind&&this.unexpected(t),a}parseClassId(e,t,a){super.parseClassId(e,t,a),this.match(47)&&(e.typeParameters=this.flowParseTypeParameterDeclaration())}parseClassMember(e,t,a){let{startLoc:n}=this.state;if(this.isContextual(125)){if(super.parseClassMemberFromModifier(e,t))return;t.declare=!0}super.parseClassMember(e,t,a),t.declare&&("ClassProperty"!==t.type&&"ClassPrivateProperty"!==t.type&&"PropertyDefinition"!==t.type?this.raise(Je.DeclareClassElement,n):t.value&&this.raise(Je.DeclareClassFieldInitializer,t.value))}isIterator(e){return"iterator"===e||"asyncIterator"===e}readIterator(){let e=super.readWord1(),t="@@"+e;(!this.isIterator(e)||!this.state.inType)&&this.raise(A.InvalidIdentifier,this.state.curPosition(),{identifierName:t}),this.finishToken(132,t)}getTokenFromCode(e){let t=this.input.charCodeAt(this.state.pos+1);123===e&&124===t?this.finishOp(6,2):!this.state.inType||62!==e&&60!==e?this.state.inType&&63===e?46===t?this.finishOp(18,2):this.finishOp(17,1):ze(e,t,this.input.charCodeAt(this.state.pos+2))?(this.state.pos+=2,this.readIterator()):super.getTokenFromCode(e):this.finishOp(62===e?48:47,1)}isAssignable(e,t){return"TypeCastExpression"===e.type?this.isAssignable(e.expression,t):super.isAssignable(e,t)}toAssignable(e,t=!1){!t&&"AssignmentExpression"===e.type&&"TypeCastExpression"===e.left.type&&(e.left=this.typeCastToParameter(e.left)),super.toAssignable(e,t)}toAssignableList(e,t,a){for(let n=0;n1||!t)&&this.raise(Je.TypeCastInPattern,n.typeAnnotation)}return e}parseArrayLike(e,t,a){let n=super.parseArrayLike(e,t,a);return null!=a&&!this.state.maybeInArrowParameters&&this.toReferencedList(n.elements),n}isValidLVal(e,t,a,n){return"TypeCastExpression"===e||super.isValidLVal(e,t,a,n)}parseClassProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassProperty(e)}parseClassPrivateProperty(e){return this.match(14)&&(e.typeAnnotation=this.flowParseTypeAnnotation()),super.parseClassPrivateProperty(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(14)||super.isClassProperty()}isNonstaticConstructor(e){return!this.match(14)&&super.isNonstaticConstructor(e)}pushClassMethod(e,t,a,n,r,s){if(t.variance&&this.unexpected(t.variance.loc.start),delete t.variance,this.match(47)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassMethod(e,t,a,n,r,s),t.params&&r){let e=t.params;e.length>0&&this.isThisParam(e[0])&&this.raise(Je.ThisParamBannedInConstructor,t)}else if("MethodDefinition"===t.type&&r&&t.value.params){let e=t.value.params;e.length>0&&this.isThisParam(e[0])&&this.raise(Je.ThisParamBannedInConstructor,t)}}pushClassPrivateMethod(e,t,a,n){t.variance&&this.unexpected(t.variance.loc.start),delete t.variance,this.match(47)&&(t.typeParameters=this.flowParseTypeParameterDeclaration()),super.pushClassPrivateMethod(e,t,a,n)}parseClassSuper(e){if(super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeArguments=this.flowParseTypeParameterInstantiationInExpression()),this.isContextual(113)){this.next();let t=e.implements=[];do{let e=this.startNode();e.id=this.flowParseRestrictedIdentifier(!0),this.match(47)?e.typeParameters=this.flowParseTypeParameterInstantiation():e.typeParameters=null,t.push(this.finishNode(e,"ClassImplements"))}while(this.eat(12))}}checkGetterSetterParams(e){super.checkGetterSetterParams(e);let t=this.getObjectOrClassMethodParams(e);if(t.length>0){let a=t[0];this.isThisParam(a)&&"get"===e.kind?this.raise(Je.GetterMayNotHaveThisParam,a):this.isThisParam(a)&&this.raise(Je.SetterMayNotHaveThisParam,a)}}parsePropertyNamePrefixOperator(e){e.variance=this.flowParseVariance()}parseObjPropValue(e,t,a,n,r,s,i){let o;e.variance&&this.unexpected(e.variance.loc.start),delete e.variance,this.match(47)&&!s&&(o=this.flowParseTypeParameterDeclaration(),this.match(10)||this.unexpected());let l=super.parseObjPropValue(e,t,a,n,r,s,i);return o&&((l.value||l).typeParameters=o),l}parseFunctionParamType(e){return this.eat(17)&&("Identifier"!==e.type&&this.raise(Je.PatternIsOptional,e),this.isThisParam(e)&&this.raise(Je.ThisParamMayNotBeOptional,e),e.optional=!0),this.match(14)?e.typeAnnotation=this.flowParseTypeAnnotation():this.isThisParam(e)&&this.raise(Je.ThisParamAnnotationRequired,e),this.match(29)&&this.isThisParam(e)&&this.raise(Je.ThisParamNoDefault,e),this.resetEndLocation(e),e}parseMaybeDefault(e,t){let a=super.parseMaybeDefault(e,t);return"AssignmentPattern"===a.type&&a.typeAnnotation&&a.right.startsuper.parseMaybeAssign(e,t),n),!a.error)return a.node;let{context:r}=this.state,s=r[r.length-1];(s===O.j_oTag||s===O.j_expr)&&r.pop()}if(a?.error||this.match(47)){n=n||this.state.clone();let r,s=this.tryParse(a=>{r=this.flowParseTypeParameterDeclaration();let n=this.forwardNoArrowParamsConversionAt(r,()=>{let a=super.parseMaybeAssign(e,t);return this.resetStartLocationFromNode(a,r),a});n.extra?.parenthesized&&a();let s=this.maybeUnwrapTypeCastExpression(n);return"ArrowFunctionExpression"!==s.type&&a(),s.typeParameters=r,this.resetStartLocationFromNode(s,r),n},n),i=null;if(s.node&&"ArrowFunctionExpression"===this.maybeUnwrapTypeCastExpression(s.node).type){if(!s.error&&!s.aborted)return s.node.async&&this.raise(Je.UnexpectedTypeParameterBeforeAsyncArrowFunction,r),s.node;i=s.node}if(a?.node)return this.state=a.failState,a.node;if(i)return this.state=s.failState,i;throw a?.thrown?a.error:s.thrown?s.error:this.raise(Je.UnexpectedTokenAfterTypeParameter,r)}return super.parseMaybeAssign(e,t)}parseArrow(e){if(this.match(14)){let t=this.tryParse(()=>{let t=this.state.noAnonFunctionType;this.state.noAnonFunctionType=!0;let a=this.startNode();return[a.typeAnnotation,e.predicate]=this.flowParseTypeAndPredicateInitialiser(),this.state.noAnonFunctionType=t,this.canInsertSemicolon()&&this.unexpected(),this.match(19)||this.unexpected(),a});if(t.thrown)return null;t.error&&(this.state=t.failState),e.returnType=t.node.typeAnnotation?this.finishNode(t.node,"TypeAnnotation"):null}return super.parseArrow(e)}shouldParseArrow(e){return this.match(14)||super.shouldParseArrow(e)}setArrowFunctionParameters(e,t){this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start))?e.params=t:super.setArrowFunctionParameters(e,t)}checkParams(e,t,a,n=!0){if(!a||!this.state.noArrowParamsConversionAt.includes(this.offsetToSourcePos(e.start))){for(let t=0;t0&&this.raise(Je.ThisParamMustBeFirst,e.params[t]);super.checkParams(e,t,a,n)}}parseParenAndDistinguishExpression(e){return super.parseParenAndDistinguishExpression(e&&!this.state.noArrowAt.includes(this.sourceToOffsetPos(this.state.start)))}parseSubscripts(e,t,a){if("Identifier"===e.type&&"async"===e.name&&this.state.noArrowAt.includes(t.index)){this.next();let a=this.startNodeAt(t);a.callee=e,a.arguments=super.parseCallExpressionArguments(),e=this.finishNode(a,"CallExpression")}else if("Identifier"===e.type&&"async"===e.name&&this.match(47)){let n=this.state.clone(),r=this.tryParse(e=>this.parseAsyncArrowWithTypeParameters(t)||e(),n);if(!r.error&&!r.aborted)return r.node;let s=this.tryParse(()=>super.parseSubscripts(e,t,a),n);if(s.node&&!s.error)return s.node;if(r.node)return this.state=r.failState,r.node;if(s.node)return this.state=s.failState,s.node;throw r.error||s.error}return super.parseSubscripts(e,t,a)}parseSubscript(e,t,a,n){if(this.match(18)&&this.isLookaheadToken_lt()){if(n.optionalChainMember=!0,a)return n.stop=!0,e;this.next();let r=this.startNodeAt(t);return r.callee=e,r.typeArguments=this.flowParseTypeParameterInstantiationInExpression(),this.expect(10),r.arguments=this.parseCallExpressionArguments(),r.optional=!0,this.finishCallExpression(r,!0)}if(!a&&this.shouldParseTypes()&&(this.match(47)||this.match(51))){let a=this.startNodeAt(t);a.callee=e;let r=this.tryParse(()=>(a.typeArguments=this.flowParseTypeParameterInstantiationCallOrNew(),this.expect(10),a.arguments=super.parseCallExpressionArguments(),n.optionalChainMember&&(a.optional=!1),this.finishCallExpression(a,n.optionalChainMember)));if(r.node)return r.error&&(this.state=r.failState),r.node}return super.parseSubscript(e,t,a,n)}parseNewCallee(e){super.parseNewCallee(e);let t=null;this.shouldParseTypes()&&this.match(47)&&(t=this.tryParse(()=>this.flowParseTypeParameterInstantiationCallOrNew()).node),e.typeArguments=t}parseAsyncArrowWithTypeParameters(e){let t=this.startNodeAt(e);if(this.parseFunctionParams(t,!1),this.parseArrow(t))return super.parseArrowExpression(t,void 0,!0)}readToken_mult_modulo(e){let t=this.input.charCodeAt(this.state.pos+1);if(42===e&&47===t&&this.state.hasFlowComment)return this.state.hasFlowComment=!1,this.state.pos+=2,void this.nextToken();super.readToken_mult_modulo(e)}readToken_pipe_amp(e){let t=this.input.charCodeAt(this.state.pos+1);124!==e||125!==t?super.readToken_pipe_amp(e):this.finishOp(9,2)}parseTopLevel(e,t){let a=super.parseTopLevel(e,t);return this.state.hasFlowComment&&this.raise(Je.UnterminatedFlowComment,this.state.curPosition()),a}skipBlockComment(){if(this.hasPlugin("flowComments")&&this.skipFlowComment()){if(this.state.hasFlowComment)throw this.raise(Je.NestedFlowComment,this.state.startLoc);this.hasFlowCommentCompletion();let e=this.skipFlowComment();return void(e&&(this.state.pos+=e,this.state.hasFlowComment=!0))}return super.skipBlockComment(this.state.hasFlowComment?"*-/":"*/")}skipFlowComment(){let{pos:e}=this.state,t=2;for(;[32,9].includes(this.input.charCodeAt(e+t));)t++;let a=this.input.charCodeAt(t+e),n=this.input.charCodeAt(t+e+1);return 58===a&&58===n?t+2:"flow-include"===this.input.slice(t+e,t+e+12)?t+12:58===a&&58!==n&&t}hasFlowCommentCompletion(){if(-1===this.input.indexOf("*/",this.state.pos))throw this.raise(A.UnterminatedComment,this.state.curPosition())}flowEnumErrorBooleanMemberNotInitialized(e,{enumName:t,memberName:a}){this.raise(Je.EnumBooleanMemberNotInitialized,e,{memberName:a,enumName:t})}flowEnumErrorInvalidMemberInitializer(e,t){return this.raise(t.explicitType?"symbol"===t.explicitType?Je.EnumInvalidMemberInitializerSymbolType:Je.EnumInvalidMemberInitializerPrimaryType:Je.EnumInvalidMemberInitializerUnknownType,e,t)}flowEnumErrorNumberMemberNotInitialized(e,t){this.raise(Je.EnumNumberMemberNotInitialized,e,t)}flowEnumErrorStringMemberInconsistentlyInitialized(e,t){this.raise(Je.EnumStringMemberInconsistentlyInitialized,e,t)}flowEnumMemberInit(){let e=this.state.startLoc,t=()=>this.match(12)||this.match(8);switch(this.state.type){case 135:{let a=this.parseNumericLiteral(this.state.value);return t()?{type:"number",loc:a.loc.start,value:a}:{type:"invalid",loc:e}}case 134:{let a=this.parseStringLiteral(this.state.value);return t()?{type:"string",loc:a.loc.start,value:a}:{type:"invalid",loc:e}}case 85:case 86:{let a=this.parseBooleanLiteral(this.match(85));return t()?{type:"boolean",loc:a.loc.start,value:a}:{type:"invalid",loc:e}}default:return{type:"invalid",loc:e}}}flowEnumMemberRaw(){let e=this.state.startLoc;return{id:this.parseIdentifier(!0),init:this.eat(29)?this.flowEnumMemberInit():{type:"none",loc:e}}}flowEnumCheckExplicitTypeMismatch(e,t,a){let{explicitType:n}=t;null!==n&&n!==a&&this.flowEnumErrorInvalidMemberInitializer(e,t)}flowEnumMembers({enumName:e,explicitType:t}){let a=new Set,n={booleanMembers:[],numberMembers:[],stringMembers:[],defaultedMembers:[]},r=!1;for(;!this.match(8);){if(this.eat(21)){r=!0;break}let s=this.startNode(),{id:i,init:o}=this.flowEnumMemberRaw(),l=i.name;if(""===l)continue;/^[a-z]/.test(l)&&this.raise(Je.EnumInvalidMemberName,i,{memberName:l,suggestion:l[0].toUpperCase()+l.slice(1),enumName:e}),a.has(l)&&this.raise(Je.EnumDuplicateMemberName,i,{memberName:l,enumName:e}),a.add(l);let c={enumName:e,explicitType:t,memberName:l};switch(s.id=i,o.type){case"boolean":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,"boolean"),s.init=o.value,n.booleanMembers.push(this.finishNode(s,"EnumBooleanMember"));break;case"number":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,"number"),s.init=o.value,n.numberMembers.push(this.finishNode(s,"EnumNumberMember"));break;case"string":this.flowEnumCheckExplicitTypeMismatch(o.loc,c,"string"),s.init=o.value,n.stringMembers.push(this.finishNode(s,"EnumStringMember"));break;case"invalid":throw this.flowEnumErrorInvalidMemberInitializer(o.loc,c);case"none":switch(t){case"boolean":this.flowEnumErrorBooleanMemberNotInitialized(o.loc,c);break;case"number":this.flowEnumErrorNumberMemberNotInitialized(o.loc,c);break;default:n.defaultedMembers.push(this.finishNode(s,"EnumDefaultedMember"))}}this.match(8)||this.expect(12)}return{members:n,hasUnknownMembers:r}}flowEnumStringMembers(e,t,{enumName:a}){if(0===e.length)return t;if(0===t.length)return e;if(t.length>e.length){for(let t of e)this.flowEnumErrorStringMemberInconsistentlyInitialized(t,{enumName:a});return t}for(let n of t)this.flowEnumErrorStringMemberInconsistentlyInitialized(n,{enumName:a});return e}flowEnumParseExplicitType({enumName:e}){if(!this.eatContextual(102))return null;if(!ne(this.state.type))throw this.raise(Je.EnumInvalidExplicitTypeUnknownSupplied,this.state.startLoc,{enumName:e});let{value:t}=this.state;return this.next(),"boolean"!==t&&"number"!==t&&"string"!==t&&"symbol"!==t&&this.raise(Je.EnumInvalidExplicitType,this.state.startLoc,{enumName:e,invalidEnumType:t}),t}flowEnumBody(e,t){let a=t.name,n=t.loc.start,r=this.flowEnumParseExplicitType({enumName:a});this.expect(5);let{members:s,hasUnknownMembers:i}=this.flowEnumMembers({enumName:a,explicitType:r});switch(e.hasUnknownMembers=i,r){case"boolean":return e.explicitType=!0,e.members=s.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody");case"number":return e.explicitType=!0,e.members=s.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody");case"string":return e.explicitType=!0,e.members=this.flowEnumStringMembers(s.stringMembers,s.defaultedMembers,{enumName:a}),this.expect(8),this.finishNode(e,"EnumStringBody");case"symbol":return e.members=s.defaultedMembers,this.expect(8),this.finishNode(e,"EnumSymbolBody");default:{let t=()=>(e.members=[],this.expect(8),this.finishNode(e,"EnumStringBody"));e.explicitType=!1;let r=s.booleanMembers.length,i=s.numberMembers.length,o=s.stringMembers.length,l=s.defaultedMembers.length;if(!(r||i||o||l))return t();if(!r&&!i)return e.members=this.flowEnumStringMembers(s.stringMembers,s.defaultedMembers,{enumName:a}),this.expect(8),this.finishNode(e,"EnumStringBody");if(!i&&!o&&r>=l){for(let e of s.defaultedMembers)this.flowEnumErrorBooleanMemberNotInitialized(e.loc.start,{enumName:a,memberName:e.id.name});return e.members=s.booleanMembers,this.expect(8),this.finishNode(e,"EnumBooleanBody")}if(!r&&!o&&i>=l){for(let e of s.defaultedMembers)this.flowEnumErrorNumberMemberNotInitialized(e.loc.start,{enumName:a,memberName:e.id.name});return e.members=s.numberMembers,this.expect(8),this.finishNode(e,"EnumNumberBody")}return this.raise(Je.EnumInconsistentMemberValues,n,{enumName:a}),t()}}}flowParseEnumDeclaration(e){let t=this.parseIdentifier();return e.id=t,e.body=this.flowEnumBody(this.startNode(),t),this.finishNode(e,"EnumDeclaration")}jsxParseOpeningElementAfterName(e){return this.shouldParseTypes()&&(this.match(47)||this.match(51))&&(e.typeArguments=this.flowParseTypeParameterInstantiationInExpression()),super.jsxParseOpeningElementAfterName(e)}isLookaheadToken_lt(){let e=this.nextTokenStart();if(60===this.input.charCodeAt(e)){let t=this.input.charCodeAt(e+1);return 60!==t&&61!==t}return!1}reScan_lt_gt(){let{type:e}=this.state;47===e?(this.state.pos-=1,this.readToken_lt()):48===e&&(this.state.pos-=1,this.readToken_gt())}reScan_lt(){let{type:e}=this.state;return 51===e?(this.state.pos-=2,this.finishOp(47,1),47):e}maybeUnwrapTypeCastExpression(e){return"TypeCastExpression"===e.type?e.expression:e}},at=new RegExp(/\r\n|[\r\n\u2028\u2029]/.source,"g");function nt(e){switch(e){case 10:case 13:case 8232:case 8233:return!0;default:return!1}}function rt(e,t,a){for(let n=t;n`Expected corresponding JSX closing tag for <${e}>.`,MissingClosingTagFragment:"Expected corresponding JSX closing tag for <>.",UnexpectedSequenceExpression:"Sequence expressions cannot be directly nested inside JSX. Did you mean to wrap it in parentheses (...)?",UnexpectedToken:({unexpected:e,HTMLEntity:t})=>`Unexpected token \`${e}\`. Did you mean \`${t}\` or \`{'${e}'}\`?`,UnsupportedJsxValue:"JSX value should be either an expression or a quoted JSX text.",UnterminatedJsxContent:"Unterminated JSX contents.",UnwrappedAdjacentJSXElements:"Adjacent JSX elements must be wrapped in an enclosing tag. Did you want a JSX fragment <>...?"});function ct(e){return!!e&&("JSXOpeningFragment"===e.type||"JSXClosingFragment"===e.type)}function ut(e){if("JSXIdentifier"===e.type)return e.name;if("JSXNamespacedName"===e.type)return e.namespace.name+":"+e.name.name;if("JSXMemberExpression"===e.type)return ut(e.object)+"."+ut(e.property);throw new Error("Node had unexpected type: "+e.type)}var dt=e=>class extends e{jsxReadToken(){let e="",t=this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(lt.UnterminatedJsxContent,this.state.startLoc);let a=this.input.charCodeAt(this.state.pos);switch(a){case 60:case 123:return this.state.pos===this.state.start?void(60===a&&this.state.canStartJSXElement?(++this.state.pos,this.finishToken(143)):super.getTokenFromCode(a)):(e+=this.input.slice(t,this.state.pos),void this.finishToken(142,e));case 38:e+=this.input.slice(t,this.state.pos),e+=this.jsxReadEntity(),t=this.state.pos;break;case 62:case 125:this.raise(lt.UnexpectedToken,this.state.curPosition(),{unexpected:this.input[this.state.pos],HTMLEntity:125===a?"}":">"});default:nt(a)?(e+=this.input.slice(t,this.state.pos),e+=this.jsxReadNewLine(!0),t=this.state.pos):++this.state.pos}}}jsxReadNewLine(e){let t,a=this.input.charCodeAt(this.state.pos);return++this.state.pos,13===a&&10===this.input.charCodeAt(this.state.pos)?(++this.state.pos,t=e?"\n":"\r\n"):t=String.fromCharCode(a),++this.state.curLine,this.state.lineStart=this.state.pos,t}jsxReadString(e){let t="",a=++this.state.pos;for(;;){if(this.state.pos>=this.length)throw this.raise(A.UnterminatedString,this.state.startLoc);let n=this.input.charCodeAt(this.state.pos);if(n===e)break;38===n?(t+=this.input.slice(a,this.state.pos),t+=this.jsxReadEntity(),a=this.state.pos):nt(n)?(t+=this.input.slice(a,this.state.pos),t+=this.jsxReadNewLine(!1),a=this.state.pos):++this.state.pos}t+=this.input.slice(a,this.state.pos++),this.finishToken(134,t)}jsxReadEntity(){let e=++this.state.pos;if(35===this.codePointAtPos(this.state.pos)){++this.state.pos;let e=10;120===this.codePointAtPos(this.state.pos)&&(e=16,++this.state.pos);let t=this.readInt(e,void 0,!1,"bail");if(null!==t&&59===this.codePointAtPos(this.state.pos))return++this.state.pos,String.fromCodePoint(t)}else{let t=0,a=!1;for(;t++<10&&this.state.pos1)for(let n=0;n0?!(256&a)||!!(512&a)!=(4&n)>0:128&a&&(8&n)>0?!!(2&e.names.get(t))&&!!(1&a):!!(2&a&&(1&n)>0)||super.isRedeclaredInScope(e,t,a)}checkLocalExport(e){let{name:t}=e;if(!this.hasImport(t)){for(let e=this.scopeStack.length-1;e>=0;e--){let a=this.scopeStack[e].tsNames.get(t);if((1&a)>0||(16&a)>0)return}super.checkLocalExport(e)}}},ft=class{constructor(){o(this,"stacks",[])}enter(e){this.stacks.push(e)}exit(){this.stacks.pop()}currentFlags(){return this.stacks[this.stacks.length-1]}get hasAwait(){return(2&this.currentFlags())>0}get hasYield(){return(1&this.currentFlags())>0}get hasReturn(){return(4&this.currentFlags())>0}get hasIn(){return(8&this.currentFlags())>0}};function mt(e,t){return(e?2:0)|(t?1:0)}var gt=class{constructor(){o(this,"sawUnambiguousESM",!1),o(this,"ambiguousScriptDifferentAst",!1)}sourceToOffsetPos(e){return e+this.startIndex}offsetToSourcePos(e){return e-this.startIndex}hasPlugin(e){if("string"==typeof e)return this.plugins.has(e);{let[t,a]=e;if(!this.hasPlugin(t))return!1;let n=this.plugins.get(t);for(let e of Object.keys(a))if(n?.[e]!==a[e])return!1;return!0}}getPluginOption(e,t){return this.plugins.get(e)?.[t]}};function yt(e,t){void 0===e.trailingComments?e.trailingComments=t:e.trailingComments.unshift(...t)}function vt(e,t){void 0===e.leadingComments?e.leadingComments=t:e.leadingComments.unshift(...t)}function bt(e,t){void 0===e.innerComments?e.innerComments=t:e.innerComments.unshift(...t)}function wt(e,t,a){let n=null,r=t.length;for(;null===n&&r>0;)n=t[--r];null===n||n.start>a.start?bt(e,a.comments):yt(n,a.comments)}var xt=class extends gt{addComment(e){this.filename&&(e.loc.filename=this.filename);let{commentsLen:t}=this.state;this.comments.length!==t&&(this.comments.length=t),this.comments.push(e),this.state.commentsLen++}processComment(e){let{commentStack:t}=this.state,a=t.length;if(0===a)return;let n=a-1,r=t[n];r.start===e.end&&(r.leadingNode=e,n--);let{start:s}=e;for(;n>=0;n--){let a=t[n],r=a.end;if(!(r>s)){r===s&&(a.trailingNode=e);break}a.containingNode=e,this.finalizeComment(a),t.splice(n,1)}}finalizeComment(e){let{comments:t}=e;if(null!==e.leadingNode||null!==e.trailingNode)null!==e.leadingNode&&yt(e.leadingNode,t),null!==e.trailingNode&&vt(e.trailingNode,t);else{let a=e.containingNode,n=e.start;if(44===this.input.charCodeAt(this.offsetToSourcePos(n)-1))switch(a.type){case"ObjectExpression":case"ObjectPattern":case"RecordExpression":wt(a,a.properties,e);break;case"CallExpression":case"OptionalCallExpression":wt(a,a.arguments,e);break;case"ImportExpression":wt(a,[a.source,a.options??null],e);break;case"FunctionDeclaration":case"FunctionExpression":case"ArrowFunctionExpression":case"ObjectMethod":case"ClassMethod":case"ClassPrivateMethod":wt(a,a.params,e);break;case"ArrayExpression":case"ArrayPattern":case"TupleExpression":wt(a,a.elements,e);break;case"ExportNamedDeclaration":case"ImportDeclaration":wt(a,a.specifiers,e);break;case"TSEnumDeclaration":default:bt(a,t);break;case"TSEnumBody":wt(a,a.members,e)}else bt(a,t)}}finalizeRemainingComments(){let{commentStack:e}=this.state;for(let t=e.length-1;t>=0;t--)this.finalizeComment(e[t]);this.state.commentStack=[]}resetPreviousNodeTrailingComments(e){let{commentStack:t}=this.state,{length:a}=t;if(0===a)return;let n=t[a-1];n.leadingNode===e&&(n.leadingNode=null)}takeSurroundingComments(e,t,a){let{commentStack:n}=this.state,r=n.length;if(0===r)return;let s=r-1;for(;s>=0;s--){let r=n[s],i=r.end;if(r.start===a)r.leadingNode=e;else if(i===t)r.trailingNode=e;else if(i0}set strict(e){e?this.flags|=1:this.flags&=-2}init({strictMode:e,sourceType:t,startIndex:a,startLine:n,startColumn:r}){this.strict=!1!==e&&(!0===e||"module"===t),this.startIndex=a,this.curLine=n,this.lineStart=-r,this.startLoc=this.endLoc=new h(n,r,a)}get maybeInArrowParameters(){return(2&this.flags)>0}set maybeInArrowParameters(e){e?this.flags|=2:this.flags&=-3}get inType(){return(4&this.flags)>0}set inType(e){e?this.flags|=4:this.flags&=-5}get noAnonFunctionType(){return(8&this.flags)>0}set noAnonFunctionType(e){e?this.flags|=8:this.flags&=-9}get hasFlowComment(){return(16&this.flags)>0}set hasFlowComment(e){e?this.flags|=16:this.flags&=-17}get isAmbientContext(){return(32&this.flags)>0}set isAmbientContext(e){e?this.flags|=32:this.flags&=-33}get inAbstractClass(){return(64&this.flags)>0}set inAbstractClass(e){e?this.flags|=64:this.flags&=-65}get inDisallowConditionalTypesContext(){return(128&this.flags)>0}set inDisallowConditionalTypesContext(e){e?this.flags|=128:this.flags&=-129}get soloAwait(){return(256&this.flags)>0}set soloAwait(e){e?this.flags|=256:this.flags&=-257}get inFSharpPipelineDirectBody(){return(512&this.flags)>0}set inFSharpPipelineDirectBody(e){e?this.flags|=512:this.flags&=-513}get canStartJSXElement(){return(1024&this.flags)>0}set canStartJSXElement(e){e?this.flags|=1024:this.flags&=-1025}get containsEsc(){return(2048&this.flags)>0}set containsEsc(e){e?this.flags|=2048:this.flags&=-2049}get hasTopLevelAwait(){return(4096&this.flags)>0}set hasTopLevelAwait(e){e?this.flags|=4096:this.flags&=-4097}curPosition(){return new h(this.curLine,this.pos-this.lineStart,this.pos+this.startIndex)}clone(){let t=new e;return t.flags=this.flags,t.startIndex=this.startIndex,t.curLine=this.curLine,t.lineStart=this.lineStart,t.startLoc=this.startLoc,t.endLoc=this.endLoc,t.errors=this.errors.slice(),t.potentialArrowAt=this.potentialArrowAt,t.noArrowAt=this.noArrowAt.slice(),t.noArrowParamsConversionAt=this.noArrowParamsConversionAt.slice(),t.topicContext=this.topicContext,t.labels=this.labels.slice(),t.commentsLen=this.commentsLen,t.commentStack=this.commentStack.slice(),t.pos=this.pos,t.type=this.type,t.value=this.value,t.start=this.start,t.end=this.end,t.lastTokEndLoc=this.lastTokEndLoc,t.lastTokStartLoc=this.lastTokStartLoc,t.context=this.context.slice(),t.firstInvalidTemplateEscapePos=this.firstInvalidTemplateEscapePos,t.strictErrors=this.strictErrors,t.tokensLength=this.tokensLength,t}},_t=function(e){return e>=48&&e<=57},Et={decBinOct:new Set([46,66,69,79,95,98,101,111]),hex:new Set([46,88,95,120])},Ct={bin:e=>48===e||49===e,oct:e=>e>=48&&e<=55,dec:e=>e>=48&&e<=57,hex:e=>e>=48&&e<=57||e>=65&&e<=70||e>=97&&e<=102};function Ft(e,t,a,n,r,s){let i=a,o=n,l=r,c="",u=null,d=a,{length:h}=t;for(;;){if(a>=h){s.unterminated(i,o,l),c+=t.slice(d,a);break}let p=t.charCodeAt(a);if(Dt(e,p,t,a)){c+=t.slice(d,a);break}if(92===p){c+=t.slice(d,a);let i=At(t,a,n,r,"template"===e,s);null!==i.ch||u?c+=i.ch:u={pos:a,lineStart:n,curLine:r},({pos:a,lineStart:n,curLine:r}=i),d=a}else 8232===p||8233===p?(++r,n=++a):10===p||13===p?"template"===e?(c+=t.slice(d,a)+"\n",++a,13===p&&10===t.charCodeAt(a)&&++a,++r,d=n=a):s.unterminated(i,o,l):++a}return{pos:a,str:c,firstInvalidLoc:u,lineStart:n,curLine:r}}function Dt(e,t,a,n){return"template"===e?96===t||36===t&&123===a.charCodeAt(n+1):t===("double"===e?34:39)}function At(e,t,a,n,r,s){let i=!r;t++;let o=e=>({pos:t,ch:e,lineStart:a,curLine:n}),l=e.charCodeAt(t++);switch(l){case 110:return o("\n");case 114:return o("\r");case 120:{let r;return({code:r,pos:t}=Tt(e,t,a,n,2,!1,i,s)),o(null===r?null:String.fromCharCode(r))}case 117:{let r;return({code:r,pos:t}=It(e,t,a,n,i,s)),o(null===r?null:String.fromCodePoint(r))}case 116:return o("\t");case 98:return o("\b");case 118:return o("\v");case 102:return o("\f");case 13:10===e.charCodeAt(t)&&++t;case 10:a=t,++n;case 8232:case 8233:return o("");case 56:case 57:if(r)return o(null);s.strictNumericEscape(t-1,a,n);default:if(l>=48&&l<=55){let i=t-1,l=/^[0-7]+/.exec(e.slice(i,t+2))[0],c=parseInt(l,8);c>255&&(l=l.slice(0,-1),c=parseInt(l,8)),t+=l.length-1;let u=e.charCodeAt(t);if("0"!==l||56===u||57===u){if(r)return o(null);s.strictNumericEscape(i,a,n)}return o(String.fromCharCode(c))}return o(String.fromCharCode(l))}}function Tt(e,t,a,n,r,s,i,o){let l,c=t;return({n:l,pos:t}=St(e,t,a,n,16,r,s,!1,o,!i)),null===l&&(i?o.invalidEscapeSequence(c,a,n):t=c-1),{code:l,pos:t}}function St(e,t,a,n,r,s,i,o,l,c){let u=t,d=16===r?Et.hex:Et.decBinOct,h=16===r?Ct.hex:10===r?Ct.dec:8===r?Ct.oct:Ct.bin,p=!1,f=0;for(let m=0,g=s??1/0;m=97?u-97+10:u>=65?u-65+10:_t(u)?u-48:1/0,s>=r){if(s<=9&&c)return{n:null,pos:t};if(s<=9&&l.invalidDigit(t,a,n,r))s=0;else{if(!i)break;s=0,p=!0}}++t,f=f*r+s}return t===u||null!=s&&t-u!==s||p?{n:null,pos:t}:{n:f,pos:t}}function It(e,t,a,n,r,s){let i;if(123===e.charCodeAt(t)){if(++t,({code:i,pos:t}=Tt(e,t,a,n,e.indexOf("}",t)-t,!0,r,s)),++t,null!==i&&i>1114111){if(!r)return{code:null,pos:t};s.invalidCodePoint(t,a,n)}}else({code:i,pos:t}=Tt(e,t,a,n,4,!1,r,s));return{code:i,pos:t}}function Nt(e,t,a){return new h(a,e-t,e)}var Pt=new Set([103,109,115,105,121,117,100,118]),Bt=class{constructor(e){let t=e.startIndex||0;this.type=e.type,this.value=e.value,this.start=t+e.start,this.end=t+e.end,this.loc=new p(e.startLoc,e.endLoc)}},Mt=class extends xt{constructor(e,t){super(),o(this,"isLookahead"),o(this,"tokens",[]),o(this,"errorHandlers_readInt",{invalidDigit:(e,t,a,n)=>!!(2048&this.optionFlags)&&(this.raise(A.InvalidDigit,Nt(e,t,a),{radix:n}),!0),numericSeparatorInEscapeSequence:this.errorBuilder(A.NumericSeparatorInEscapeSequence),unexpectedNumericSeparator:this.errorBuilder(A.UnexpectedNumericSeparator)}),o(this,"errorHandlers_readCodePoint",Object.assign({},this.errorHandlers_readInt,{invalidEscapeSequence:this.errorBuilder(A.InvalidEscapeSequence),invalidCodePoint:this.errorBuilder(A.InvalidCodePoint)})),o(this,"errorHandlers_readStringContents_string",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:(e,t,a)=>{this.recordStrictModeErrors(A.StrictNumericEscape,Nt(e,t,a))},unterminated:(e,t,a)=>{throw this.raise(A.UnterminatedString,Nt(e-1,t,a))}})),o(this,"errorHandlers_readStringContents_template",Object.assign({},this.errorHandlers_readCodePoint,{strictNumericEscape:this.errorBuilder(A.StrictNumericEscape),unterminated:(e,t,a)=>{throw this.raise(A.UnterminatedTemplate,Nt(e,t,a))}})),this.state=new kt,this.state.init(e),this.input=t,this.length=t.length,this.comments=[],this.isLookahead=!1}pushToken(e){this.tokens.length=this.state.tokensLength,this.tokens.push(e),++this.state.tokensLength}next(){this.checkKeywordEscapes(),256&this.optionFlags&&this.pushToken(new Bt(this.state)),this.state.lastTokEndLoc=this.state.endLoc,this.state.lastTokStartLoc=this.state.startLoc,this.nextToken()}eat(e){return!!this.match(e)&&(this.next(),!0)}match(e){return this.state.type===e}createLookaheadState(e){return{pos:e.pos,value:null,type:e.type,start:e.start,end:e.end,context:[this.curContext()],inType:e.inType,startLoc:e.startLoc,lastTokEndLoc:e.lastTokEndLoc,curLine:e.curLine,lineStart:e.lineStart,curPosition:e.curPosition}}lookahead(){let e=this.state;this.state=this.createLookaheadState(e),this.isLookahead=!0,this.nextToken(),this.isLookahead=!1;let t=this.state;return this.state=e,t}nextTokenStart(){return this.nextTokenStartSince(this.state.pos)}nextTokenStartSince(e){return st.lastIndex=e,st.test(this.input)?st.lastIndex:e}lookaheadCharCode(){return this.lookaheadCharCodeSince(this.state.pos)}lookaheadCharCodeSince(e){return this.input.charCodeAt(this.nextTokenStartSince(e))}nextTokenInLineStart(){return this.nextTokenInLineStartSince(this.state.pos)}nextTokenInLineStartSince(e){return it.lastIndex=e,it.test(this.input)?it.lastIndex:e}lookaheadInLineCharCode(){return this.input.charCodeAt(this.nextTokenInLineStart())}codePointAtPos(e){let t=this.input.charCodeAt(e);if(55296==(64512&t)&&++ethis.raise(e,t)),this.state.strictErrors.clear())}curContext(){return this.state.context[this.state.context.length-1]}nextToken(){this.skipSpace(),this.state.start=this.state.pos,this.isLookahead||(this.state.startLoc=this.state.curPosition()),this.state.pos>=this.length?this.finishToken(140):this.getTokenFromCode(this.codePointAtPos(this.state.pos))}skipBlockComment(e){let t;this.isLookahead||(t=this.state.curPosition());let a=this.state.pos,n=this.input.indexOf(e,a+2);if(-1===n)throw this.raise(A.UnterminatedComment,this.state.curPosition());for(this.state.pos=n+e.length,at.lastIndex=a+2;at.test(this.input)&&at.lastIndex<=n;)++this.state.curLine,this.state.lineStart=at.lastIndex;if(this.isLookahead)return;let r={type:"CommentBlock",value:this.input.slice(a+2,n),start:this.sourceToOffsetPos(a),end:this.sourceToOffsetPos(n+e.length),loc:new p(t,this.state.curPosition())};return 256&this.optionFlags&&this.pushToken(r),r}skipLineComment(e){let t,a=this.state.pos;this.isLookahead||(t=this.state.curPosition());let n=this.input.charCodeAt(this.state.pos+=e);if(this.state.pose))break e;{let e=this.skipLineComment(3);void 0!==e&&(this.addComment(e),t?.push(e))}}else{if(60!==a||this.inModule||!(8192&this.optionFlags))break e;{let e=this.state.pos;if(33!==this.input.charCodeAt(e+1)||45!==this.input.charCodeAt(e+2)||45!==this.input.charCodeAt(e+3))break e;{let e=this.skipLineComment(4);void 0!==e&&(this.addComment(e),t?.push(e))}}}}}if(t?.length>0){let a=this.state.pos,n={start:this.sourceToOffsetPos(e),end:this.sourceToOffsetPos(a),comments:t,leadingNode:null,trailingNode:null,containingNode:null};this.state.commentStack.push(n)}}finishToken(e,t){this.state.end=this.state.pos,this.state.endLoc=this.state.curPosition();let a=this.state.type;this.state.type=e,this.state.value=t,this.isLookahead||this.updateContext(a)}replaceToken(e){this.state.type=e,this.updateContext()}readToken_numberSign(){if(0===this.state.pos&&this.readToken_interpreter())return;let e=this.state.pos+1,t=this.codePointAtPos(e);if(t>=48&&t<=57)throw this.raise(A.UnexpectedDigitAfterHash,this.state.curPosition());Se(t)?(++this.state.pos,this.finishToken(139,this.readWord1(t))):92===t?(++this.state.pos,this.finishToken(139,this.readWord1())):this.finishOp(27,1)}readToken_dot(){let e=this.input.charCodeAt(this.state.pos+1);e>=48&&e<=57?this.readNumber(!0):46===e&&46===this.input.charCodeAt(this.state.pos+2)?(this.state.pos+=3,this.finishToken(21)):(++this.state.pos,this.finishToken(16))}readToken_slash(){61===this.input.charCodeAt(this.state.pos+1)?this.finishOp(31,2):this.finishOp(56,1)}readToken_interpreter(){if(0!==this.state.pos||this.length<2)return!1;let e=this.input.charCodeAt(this.state.pos+1);if(33!==e)return!1;let t=this.state.pos;for(this.state.pos+=1;!nt(e)&&++this.state.pos=48&&t<=57?(++this.state.pos,this.finishToken(17)):(this.state.pos+=2,this.finishToken(18))}getTokenFromCode(e){switch(e){case 46:return void this.readToken_dot();case 40:return++this.state.pos,void this.finishToken(10);case 41:return++this.state.pos,void this.finishToken(11);case 59:return++this.state.pos,void this.finishToken(13);case 44:return++this.state.pos,void this.finishToken(12);case 91:return++this.state.pos,void this.finishToken(0);case 93:return++this.state.pos,void this.finishToken(3);case 123:return++this.state.pos,void this.finishToken(5);case 125:return++this.state.pos,void this.finishToken(8);case 58:return void(this.hasPlugin("functionBind")&&58===this.input.charCodeAt(this.state.pos+1)?this.finishOp(15,2):(++this.state.pos,this.finishToken(14)));case 63:return void this.readToken_question();case 96:return void this.readTemplateToken();case 48:{let e=this.input.charCodeAt(this.state.pos+1);if(120===e||88===e)return void this.readRadixNumber(16);if(111===e||79===e)return void this.readRadixNumber(8);if(98===e||66===e)return void this.readRadixNumber(2)}case 49:case 50:case 51:case 52:case 53:case 54:case 55:case 56:case 57:return void this.readNumber(!1);case 34:case 39:return void this.readString(e);case 47:return void this.readToken_slash();case 37:case 42:return void this.readToken_mult_modulo(e);case 124:case 38:return void this.readToken_pipe_amp(e);case 94:return void this.readToken_caret();case 43:case 45:return void this.readToken_plus_min(e);case 60:return void this.readToken_lt();case 62:return void this.readToken_gt();case 61:case 33:return void this.readToken_eq_excl(e);case 126:return void this.finishOp(36,1);case 64:return void this.readToken_atSign();case 35:return void this.readToken_numberSign();case 92:return void this.readWord();default:if(Se(e))return void this.readWord(e)}throw this.raise(A.InvalidOrUnexpectedToken,this.state.curPosition(),{unexpected:String.fromCodePoint(e)})}finishOp(e,t){let a=this.input.slice(this.state.pos,this.state.pos+t);this.state.pos+=t,this.finishToken(e,a)}readRegexp(){let e,t,a=this.state.startLoc,n=this.state.start+1,{pos:r}=this.state;for(;;++r){if(r>=this.length)throw this.raise(A.UnterminatedRegExp,f(a,1));let n=this.input.charCodeAt(r);if(nt(n))throw this.raise(A.UnterminatedRegExp,f(a,1));if(e)e=!1;else{if(91===n)t=!0;else if(93===n&&t)t=!1;else if(47===n&&!t)break;e=92===n}}let s=this.input.slice(n,r);++r;let i="",o=()=>f(a,r+2-n);for(;r=2&&48===this.input.charCodeAt(t);if(i){let e=this.input.slice(t,this.state.pos);if(this.recordStrictModeErrors(A.StrictOctalLiteral,a),!this.state.strict){let t=e.indexOf("_");t>0&&this.raise(A.ZeroDigitNumericSeparator,f(a,t))}s=i&&!/[89]/.test(e)}let o=this.input.charCodeAt(this.state.pos);if(46===o&&!s&&(++this.state.pos,this.readInt(10),n=!0,o=this.input.charCodeAt(this.state.pos)),(69===o||101===o)&&!s&&(o=this.input.charCodeAt(++this.state.pos),(43===o||45===o)&&++this.state.pos,null===this.readInt(10)&&this.raise(A.InvalidOrMissingExponent,a),n=!0,o=this.input.charCodeAt(this.state.pos)),110===o&&((n||i)&&this.raise(A.InvalidBigIntLiteral,a),++this.state.pos,r=!0),Se(this.codePointAtPos(this.state.pos)))throw this.raise(A.NumberIdentifier,this.state.curPosition());let l=this.input.slice(t,this.state.pos).replace(/[_mn]/g,"");if(r)return void this.finishToken(136,l);let c=s?parseInt(l,8):parseFloat(l);this.finishToken(135,c)}readCodePoint(e){let{code:t,pos:a}=It(this.input,this.state.pos,this.state.lineStart,this.state.curLine,e,this.errorHandlers_readCodePoint);return this.state.pos=a,t}readString(e){let{str:t,pos:a,curLine:n,lineStart:r}=Ft(34===e?"double":"single",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_string);this.state.pos=a+1,this.state.lineStart=r,this.state.curLine=n,this.finishToken(134,t)}readTemplateContinuation(){this.match(8)||this.unexpected(null,8),this.state.pos--,this.readTemplateToken()}readTemplateToken(){let e=this.input[this.state.pos],{str:t,firstInvalidLoc:a,pos:n,curLine:r,lineStart:s}=Ft("template",this.input,this.state.pos+1,this.state.lineStart,this.state.curLine,this.errorHandlers_readStringContents_template);this.state.pos=n+1,this.state.lineStart=s,this.state.curLine=r,a&&(this.state.firstInvalidTemplateEscapePos=new h(a.curLine,a.pos-a.lineStart,this.sourceToOffsetPos(a.pos))),96===this.input.codePointAt(n)?this.finishToken(24,a?null:e+t+"`"):(this.state.pos++,this.finishToken(25,a?null:e+t+"${"))}recordStrictModeErrors(e,t){let a=t.index;this.state.strict&&!this.state.strictErrors.has(a)?this.raise(e,t):this.state.strictErrors.set(a,[e,t])}readWord1(e){this.state.containsEsc=!1;let t="",a=this.state.pos,n=this.state.pos;for(void 0!==e&&(this.state.pos+=e<=65535?1:2);this.state.pos=0;i--){let t=s[i];if(t.loc.index===r)return s[i]=e(n,a);if(t.loc.indexthis.hasPlugin(e)))throw this.raise(A.MissingOneOfPlugins,this.state.startLoc,{missingPlugin:e})}errorBuilder(e){return(t,a,n)=>{this.raise(e,Nt(t,a,n))}}},Ot=class{constructor(){o(this,"privateNames",new Set),o(this,"loneAccessors",new Map),o(this,"undefinedPrivateNames",new Map)}},Ut=class{constructor(e){o(this,"parser"),o(this,"stack",[]),o(this,"undefinedPrivateNames",new Map),this.parser=e}current(){return this.stack[this.stack.length-1]}enter(){this.stack.push(new Ot)}exit(){let e=this.stack.pop(),t=this.current();for(let[a,n]of Array.from(e.undefinedPrivateNames))t?t.undefinedPrivateNames.has(a)||t.undefinedPrivateNames.set(a,n):this.parser.raise(A.InvalidPrivateFieldResolution,n,{identifierName:a})}declarePrivateName(e,t,a){let{privateNames:n,loneAccessors:r,undefinedPrivateNames:s}=this.current(),i=n.has(e);if(3&t){let a=i&&r.get(e);a?(i=(3&a)==(3&t)||(4&a)!=(4&t),i||r.delete(e)):i||r.set(e,t)}i&&this.parser.raise(A.PrivateNameRedeclaration,a,{identifierName:e}),n.add(e),s.delete(e)}usePrivateName(e,t){let a;for(a of this.stack)if(a.privateNames.has(e))return;a?a.undefinedPrivateNames.set(e,t):this.parser.raise(A.InvalidPrivateFieldResolution,t,{identifierName:e})}},jt=class{constructor(e=0){this.type=e}canBeArrowParameterDeclaration(){return 2===this.type||1===this.type}isCertainlyParameterDeclaration(){return 3===this.type}},Lt=class extends jt{constructor(e){super(e),o(this,"declarationErrors",new Map)}recordDeclarationError(e,t){let a=t.index;this.declarationErrors.set(a,[e,t])}clearDeclarationError(e){this.declarationErrors.delete(e)}iterateErrors(e){this.declarationErrors.forEach(e)}},Rt=class{constructor(e){o(this,"parser"),o(this,"stack",[new jt]),this.parser=e}enter(e){this.stack.push(e)}exit(){this.stack.pop()}recordParameterInitializerError(e,t){let a=t.loc.start,{stack:n}=this,r=n.length-1,s=n[r];for(;!s.isCertainlyParameterDeclaration();){if(!s.canBeArrowParameterDeclaration())return;s.recordDeclarationError(e,a),s=n[--r]}this.parser.raise(e,a)}recordArrowParameterBindingError(e,t){let{stack:a}=this,n=a[a.length-1],r=t.loc.start;if(n.isCertainlyParameterDeclaration())this.parser.raise(e,r);else{if(!n.canBeArrowParameterDeclaration())return;n.recordDeclarationError(e,r)}}recordAsyncArrowParametersError(e){let{stack:t}=this,a=t.length-1,n=t[a];for(;n.canBeArrowParameterDeclaration();)2===n.type&&n.recordDeclarationError(A.AwaitBindingIdentifier,e),n=t[--a]}validateAsPattern(){let{stack:e}=this,t=e[e.length-1];t.canBeArrowParameterDeclaration()&&t.iterateErrors(([t,a])=>{this.parser.raise(t,a);let n=e.length-2,r=e[n];for(;r.canBeArrowParameterDeclaration();)r.clearDeclarationError(a.index),r=e[--n]})}};function zt(){return new jt(3)}function Ht(){return new Lt(1)}function $t(){return new Lt(2)}function Yt(){return new jt}var Gt=class extends Mt{addExtra(e,t,a,n=!0){if(!e)return;let{extra:r}=e;null==r&&(r={},e.extra=r),n?r[t]=a:Object.defineProperty(r,t,{enumerable:n,value:a})}isContextual(e){return this.state.type===e&&!this.state.containsEsc}isUnparsedContextual(e,t){if(this.input.startsWith(t,e)){let a=this.input.charCodeAt(e+t.length);return!(Ie(a)||55296==(64512&a))}return!1}isLookaheadContextual(e){let t=this.nextTokenStart();return this.isUnparsedContextual(t,e)}eatContextual(e){return!!this.isContextual(e)&&(this.next(),!0)}expectContextual(e,t){if(!this.eatContextual(e)){if(null!=t)throw this.raise(t,this.state.startLoc);this.unexpected(null,e)}}canInsertSemicolon(){return this.match(140)||this.match(8)||this.hasPrecedingLineBreak()}hasPrecedingLineBreak(){return rt(this.input,this.offsetToSourcePos(this.state.lastTokEndLoc.index),this.state.start)}hasFollowingLineBreak(){return rt(this.input,this.state.end,this.nextTokenStart())}isLineTerminator(){return this.eat(13)||this.canInsertSemicolon()}semicolon(e=!0){(e?this.isLineTerminator():this.eat(13))||this.raise(A.MissingSemicolon,this.state.lastTokEndLoc)}expect(e,t){this.eat(e)||this.unexpected(t,e)}tryParse(t,a=this.state.clone()){let n={node:null};try{let e=t((e=null)=>{throw n.node=e,n});if(this.state.errors.length>a.errors.length){let t=this.state;return this.state=a,this.state.tokensLength=t.tokensLength,{node:e,error:t.errors[a.errors.length],thrown:!1,aborted:!1,failState:t}}return{node:e,error:null,thrown:!1,aborted:!1,failState:null}}catch(e){let r=this.state;if(this.state=a,e instanceof SyntaxError)return{node:null,error:e,thrown:!0,aborted:!1,failState:r};if(e===n)return{node:n.node,error:null,thrown:!1,aborted:!0,failState:r};throw e}}checkExpressionErrors(e,t){if(!e)return!1;let{shorthandAssignLoc:a,doubleProtoLoc:n,privateKeyLoc:r,optionalParametersLoc:s,voidPatternLoc:i}=e;if(!t)return!!(a||n||s||r||i);null!=a&&this.raise(A.InvalidCoverInitializedName,a),null!=n&&this.raise(A.DuplicateProto,n),null!=r&&this.raise(A.UnexpectedPrivateField,r),null!=s&&this.unexpected(s),null!=i&&this.raise(A.InvalidCoverDiscardElement,i)}isLiteralPropertyName(){return ie(this.state.type)}isPrivateName(e){return"PrivateName"===e.type}getPrivateNameSV(e){return e.id.name}hasPropertyAsPrivateName(e){return("MemberExpression"===e.type||"OptionalMemberExpression"===e.type)&&this.isPrivateName(e.property)}isObjectProperty(e){return"ObjectProperty"===e.type}isObjectMethod(e){return"ObjectMethod"===e.type}initializeScopes(e="module"===this.options.sourceType){let t=this.state.labels;this.state.labels=[];let a=this.exportedIdentifiers;this.exportedIdentifiers=new Set;let n=this.inModule;this.inModule=e;let r=this.scope,s=this.getScopeHandler();this.scope=new s(this,e);let i=this.prodParam;this.prodParam=new ft;let o=this.classScope;this.classScope=new Ut(this);let l=this.expressionScope;return this.expressionScope=new Rt(this),()=>{this.state.labels=t,this.exportedIdentifiers=a,this.inModule=n,this.scope=r,this.prodParam=i,this.classScope=o,this.expressionScope=l}}enterInitialScopes(){let e=0;(this.inModule||1&this.optionFlags)&&(e|=2),32&this.optionFlags&&(e|=1);let t=!this.inModule&&"commonjs"===this.options.sourceType;(t||2&this.optionFlags)&&(e|=4),this.prodParam.enter(e);let a=t?514:1;4&this.optionFlags&&(a|=512),16&this.optionFlags&&(a|=48),this.scope.enter(a)}checkDestructuringPrivate(e){let{privateKeyLoc:t}=e;null!==t&&this.expectPlugin("destructuringPrivate",t)}},Wt=class{constructor(){o(this,"shorthandAssignLoc",null),o(this,"doubleProtoLoc",null),o(this,"privateKeyLoc",null),o(this,"optionalParametersLoc",null),o(this,"voidPatternLoc",null)}},Vt=class{constructor(e,t,a){o(this,"type",""),this.start=t,this.end=0,this.loc=new p(a),128&e?.optionFlags&&(this.range=[t,0]),e?.filename&&(this.loc.filename=e.filename)}},Kt=Vt.prototype,Jt=class extends Gt{startNode(){let e=this.state.startLoc;return new Vt(this,e.index,e)}startNodeAt(e){return new Vt(this,e.index,e)}startNodeAtNode(e){return this.startNodeAt(e.loc.start)}finishNode(e,t){return this.finishNodeAt(e,t,this.state.lastTokEndLoc)}finishNodeAt(e,t,a){return e.type=t,e.end=a.index,e.loc.end=a,128&this.optionFlags&&(e.range[1]=a.index),4096&this.optionFlags&&this.processComment(e),e}resetStartLocation(e,t){e.start=t.index,e.loc.start=t,128&this.optionFlags&&(e.range[0]=t.index)}resetEndLocation(e,t=this.state.lastTokEndLoc){e.end=t.index,e.loc.end=t,128&this.optionFlags&&(e.range[1]=t.index)}resetStartLocationFromNode(e,t){this.resetStartLocation(e,t.loc.start)}castNodeTo(e,t){return e.type=t,e}cloneIdentifier(e){let{type:t,start:a,end:n,loc:r,range:s,name:i}=e,o=Object.create(Kt);return o.type=t,o.start=a,o.end=n,o.loc=r,o.range=s,o.name=i,e.extra&&(o.extra=e.extra),o}cloneStringLiteral(e){let{type:t,start:a,end:n,loc:r,range:s,extra:i}=e,o=Object.create(Kt);return o.type=t,o.start=a,o.end=n,o.loc=r,o.range=s,o.extra=i,o.value=e.value,o}},qt=e=>"ParenthesizedExpression"===e.type?qt(e.expression):e,Zt=class extends Jt{toAssignable(e,t=!1){let a;switch(("ParenthesizedExpression"===e.type||e.extra?.parenthesized)&&(a=qt(e),t?"Identifier"===a.type?this.expressionScope.recordArrowParameterBindingError(A.InvalidParenthesizedAssignment,e):"CallExpression"!==a.type&&"MemberExpression"!==a.type&&!this.isOptionalMemberExpression(a)&&this.raise(A.InvalidParenthesizedAssignment,e):this.raise(A.InvalidParenthesizedAssignment,e)),e.type){case"Identifier":case"ObjectPattern":case"ArrayPattern":case"AssignmentPattern":case"RestElement":case"VoidPattern":break;case"ObjectExpression":this.castNodeTo(e,"ObjectPattern");for(let a=0,n=e.properties.length,r=n-1;a"ObjectMethod"!==e.type&&(a===t||"SpreadElement"!==e.type)&&this.isAssignable(e))}case"ObjectProperty":return this.isAssignable(e.value);case"SpreadElement":return this.isAssignable(e.argument);case"ArrayExpression":return e.elements.every(e=>null===e||this.isAssignable(e));case"AssignmentExpression":return"="===e.operator;case"ParenthesizedExpression":return this.isAssignable(e.expression);case"MemberExpression":case"OptionalMemberExpression":return!t;default:return!1}}toReferencedList(e,t){return e}toReferencedListDeep(e,t){this.toReferencedList(e,t);for(let a of e)"ArrayExpression"===a?.type&&this.toReferencedListDeep(a.elements)}parseSpread(e){let t=this.startNode();return this.next(),t.argument=this.parseMaybeAssignAllowIn(e,void 0),this.finishNode(t,"SpreadElement")}parseRestBinding(){let e=this.startNode();this.next();let t=this.parseBindingAtom();return"VoidPattern"===t.type&&this.raise(A.UnexpectedVoidPattern,t),e.argument=t,this.finishNode(e,"RestElement")}parseBindingAtom(){switch(this.state.type){case 0:{let e=this.startNode();return this.next(),e.elements=this.parseBindingList(3,93,1),this.finishNode(e,"ArrayPattern")}case 5:return this.parseObjectLike(8,!0);case 88:return this.parseVoidPattern(null)}return this.parseIdentifier()}parseBindingList(e,t,a){let n=1&a,r=[],s=!0;for(;!this.eat(e);)if(s?s=!1:this.expect(12),n&&this.match(12))r.push(null);else{if(this.eat(e))break;if(this.match(21)){let n=this.parseRestBinding();if(2&a&&(n=this.parseFunctionParamType(n)),r.push(n),!this.checkCommaAfterRest(t)){this.expect(e);break}}else{let e=[];if(2&a)for(this.match(26)&&this.hasPlugin("decorators")&&this.raise(A.UnsupportedParameterDecorator,this.state.startLoc);this.match(26);)e.push(this.parseDecorator());r.push(this.parseBindingElement(a,e))}}return r}parseBindingRestProperty(e){return this.next(),this.hasPlugin("discardBinding")&&this.match(88)?(e.argument=this.parseVoidPattern(null),this.raise(A.UnexpectedVoidPattern,e.argument)):e.argument=this.parseIdentifier(),this.checkCommaAfterRest(125),this.finishNode(e,"RestElement")}parseBindingProperty(){let{type:e,startLoc:t}=this.state;if(21===e)return this.parseBindingRestProperty(this.startNode());let a=this.startNode();return 139===e?(this.expectPlugin("destructuringPrivate",t),this.classScope.usePrivateName(this.state.value,t),a.key=this.parsePrivateName()):this.parsePropertyName(a),a.method=!1,this.parseObjPropValue(a,t,!1,!1,!0,!1)}parseBindingElement(e,t){let a=this.parseMaybeDefault();return 2&e&&this.parseFunctionParamType(a),t.length&&(a.decorators=t,this.resetStartLocationFromNode(a,t[0])),this.parseMaybeDefault(a.loc.start,a)}parseFunctionParamType(e){return e}parseMaybeDefault(e,t){if(e??(e=this.state.startLoc),t=t??this.parseBindingAtom(),!this.eat(29))return t;let a=this.startNodeAt(e);return"VoidPattern"===t.type&&this.raise(A.VoidPatternInitializer,t),a.left=t,a.right=this.parseMaybeAssignAllowIn(),this.finishNode(a,"AssignmentPattern")}isValidLVal(e,t,a,n){switch(e){case"AssignmentPattern":return"left";case"RestElement":return"argument";case"ObjectProperty":return"value";case"ParenthesizedExpression":return"expression";case"ArrayPattern":return"elements";case"ObjectPattern":return"properties";case"VoidPattern":return!0;case"CallExpression":if(!t&&!this.state.strict&&8192&this.optionFlags)return!0}return!1}isOptionalMemberExpression(e){return"OptionalMemberExpression"===e.type}checkLVal(e,t,a=64,n=!1,r=!1,s=!1,i=!1){let o=e.type;if(this.isObjectMethod(e))return;let l=this.isOptionalMemberExpression(e);if(l||"MemberExpression"===o)return l&&(this.expectPlugin("optionalChainingAssign",e.loc.start),"AssignmentExpression"!==t.type&&this.raise(A.InvalidLhsOptionalChaining,e,{ancestor:t})),void(64!==a&&this.raise(A.InvalidPropertyBindingPattern,e));if("Identifier"===o){this.checkIdentifier(e,a,r);let{name:t}=e;return void(n&&(n.has(t)?this.raise(A.ParamDupe,e):n.add(t)))}"VoidPattern"===o&&"CatchClause"===t.type&&this.raise(A.VoidPatternCatchClauseParam,e);let c=qt(e);i||(i="CallExpression"===c.type&&("Import"===c.callee.type||"Super"===c.callee.type));let u,d,h=this.isValidLVal(o,i,!(s||e.extra?.parenthesized)&&"AssignmentExpression"===t.type,a);if(!0===h)return;if(!1===h){let n=64===a?A.InvalidLhs:A.InvalidLhsBinding;return void this.raise(n,e,{ancestor:t})}"string"==typeof h?(u=h,d="ParenthesizedExpression"===o):[u,d]=h;let p="ArrayPattern"===o||"ObjectPattern"===o?{type:o}:t,f=e[u];if(Array.isArray(f))for(let m of f)m&&this.checkLVal(m,p,a,n,r,d,!0);else f&&this.checkLVal(f,p,a,n,r,d,i)}checkIdentifier(e,t,a=!1){this.state.strict&&(a?Le(e.name,this.inModule):je(e.name))&&(64===t?this.raise(A.StrictEvalArguments,e,{referenceName:e.name}):this.raise(A.StrictEvalArgumentsBinding,e,{bindingName:e.name})),8192&t&&"let"===e.name&&this.raise(A.LetInLexicalBinding,e),64&t||this.declareNameFromIdentifier(e,t)}declareNameFromIdentifier(e,t){this.scope.declareName(e.name,t,e.loc.start)}checkToRestConversion(e,t){switch(e.type){case"ParenthesizedExpression":this.checkToRestConversion(e.expression,t);break;case"Identifier":case"MemberExpression":break;case"ArrayExpression":case"ObjectExpression":if(t)break;default:this.raise(A.InvalidRestAssignmentPattern,e)}}checkCommaAfterRest(e){return!!this.match(12)&&(this.raise(this.lookaheadCharCode()===e?A.RestTrailingComma:A.ElementAfterRest,this.state.startLoc),!0)}},Xt=/in(?:stanceof)?|as|satisfies/y;function Qt(e){if(null==e)throw new Error(`Unexpected ${e} value.`);return e}function ea(e){if(!e)throw new Error("Assert fail")}var ta=D`typescript`({AbstractMethodHasImplementation:({methodName:e})=>`Method '${e}' cannot have an implementation because it is marked abstract.`,AbstractPropertyHasInitializer:({propertyName:e})=>`Property '${e}' cannot have an initializer because it is marked abstract.`,AccessorCannotBeOptional:"An 'accessor' property cannot be declared optional.",AccessorCannotDeclareThisParameter:"'get' and 'set' accessors cannot declare 'this' parameters.",AccessorCannotHaveTypeParameters:"An accessor cannot have type parameters.",ClassMethodHasDeclare:"Class methods cannot have the 'declare' modifier.",ClassMethodHasReadonly:"Class methods cannot have the 'readonly' modifier.",ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference:"A 'const' initializer in an ambient context must be a string or numeric literal or literal enum reference.",ConstructorHasTypeParameters:"Type parameters cannot appear on a constructor declaration.",DeclareAccessor:({kind:e})=>`'declare' is not allowed in ${e}ters.`,DeclareClassFieldHasInitializer:"Initializers are not allowed in ambient contexts.",DeclareFunctionHasImplementation:"An implementation cannot be declared in ambient contexts.",DuplicateAccessibilityModifier:({modifier:e})=>`Accessibility modifier already seen: '${e}'.`,DuplicateModifier:({modifier:e})=>`Duplicate modifier: '${e}'.`,EmptyHeritageClauseType:({token:e})=>`'${e}' list cannot be empty.`,EmptyTypeArguments:"Type argument list cannot be empty.",EmptyTypeParameters:"Type parameter list cannot be empty.",ExpectedAmbientAfterExportDeclare:"'export declare' must be followed by an ambient declaration.",ImportAliasHasImportType:"An import alias can not use 'import type'.",ImportReflectionHasImportType:"An `import module` declaration can not use `type` modifier",IncompatibleModifiers:({modifiers:e})=>`'${e[0]}' modifier cannot be used with '${e[1]}' modifier.`,IndexSignatureHasAbstract:"Index signatures cannot have the 'abstract' modifier.",IndexSignatureHasAccessibility:({modifier:e})=>`Index signatures cannot have an accessibility modifier ('${e}').`,IndexSignatureHasDeclare:"Index signatures cannot have the 'declare' modifier.",IndexSignatureHasOverride:"'override' modifier cannot appear on an index signature.",IndexSignatureHasStatic:"Index signatures cannot have the 'static' modifier.",InitializerNotAllowedInAmbientContext:"Initializers are not allowed in ambient contexts.",InvalidHeritageClauseType:({token:e})=>`'${e}' list can only include identifiers or qualified-names with optional type arguments.`,InvalidModifierOnAwaitUsingDeclaration:e=>`'${e}' modifier cannot appear on an await using declaration.`,InvalidModifierOnTypeMember:({modifier:e})=>`'${e}' modifier cannot appear on a type member.`,InvalidModifierOnTypeParameter:({modifier:e})=>`'${e}' modifier cannot appear on a type parameter.`,InvalidModifierOnTypeParameterPositions:({modifier:e})=>`'${e}' modifier can only appear on a type parameter of a class, interface or type alias.`,InvalidModifierOnUsingDeclaration:e=>`'${e}' modifier cannot appear on a using declaration.`,InvalidModifiersOrder:({orderedModifiers:e})=>`'${e[0]}' modifier must precede '${e[1]}' modifier.`,InvalidPropertyAccessAfterInstantiationExpression:"Invalid property access after an instantiation expression. You can either wrap the instantiation expression in parentheses, or delete the type arguments.",InvalidTupleMemberLabel:"Tuple members must be labeled with a simple identifier.",MissingInterfaceName:"'interface' declarations must be followed by an identifier.",NonAbstractClassHasAbstractMethod:"Abstract methods can only appear within an abstract class.",NonClassMethodPropertyHasAbstractModifier:"'abstract' modifier can only appear on a class, method, or property declaration.",OptionalTypeBeforeRequired:"A required element cannot follow an optional element.",OverrideNotInSubClass:"This member cannot have an 'override' modifier because its containing class does not extend another class.",PatternIsOptional:"A binding pattern parameter cannot be optional in an implementation signature.",PrivateElementHasAbstract:"Private elements cannot have the 'abstract' modifier.",PrivateElementHasAccessibility:({modifier:e})=>`Private elements cannot have an accessibility modifier ('${e}').`,ReadonlyForMethodSignature:"'readonly' modifier can only appear on a property declaration or index signature.",ReservedArrowTypeParam:"This syntax is reserved in files with the .mts or .cts extension. Add a trailing comma, as in `() => ...`.",ReservedTypeAssertion:"This syntax is reserved in files with the .mts or .cts extension. Use an `as` expression instead.",SetAccessorCannotHaveOptionalParameter:"A 'set' accessor cannot have an optional parameter.",SetAccessorCannotHaveRestParameter:"A 'set' accessor cannot have rest parameter.",SetAccessorCannotHaveReturnType:"A 'set' accessor cannot have a return type annotation.",SingleTypeParameterWithoutTrailingComma:({typeParameterName:e})=>`Single type parameter ${e} should have a trailing comma. Example usage: <${e},>.`,StaticBlockCannotHaveModifier:"Static class blocks cannot have any modifier.",TupleOptionalAfterType:"A labeled tuple optional element must be declared using a question mark after the name and before the colon (`name?: type`), rather than after the type (`name: type?`).",TypeAnnotationAfterAssign:"Type annotations must come before default assignments, e.g. instead of `age = 25: number` use `age: number = 25`.",TypeImportCannotSpecifyDefaultAndNamed:"A type-only import can specify a default import or named bindings, but not both.",TypeModifierIsUsedInTypeExports:"The 'type' modifier cannot be used on a named export when 'export type' is used on its export statement.",TypeModifierIsUsedInTypeImports:"The 'type' modifier cannot be used on a named import when 'import type' is used on its import statement.",UnexpectedParameterModifier:"A parameter property is only allowed in a constructor implementation.",UnexpectedReadonly:"'readonly' type modifier is only permitted on array and tuple literal types.",UnexpectedTypeAnnotation:"Did not expect a type annotation here.",UnexpectedTypeCastInParameter:"Unexpected type cast in parameter position.",UnsupportedImportTypeArgument:"Argument in a type import must be a string literal.",UnsupportedParameterPropertyKind:"A parameter property may not be declared using a binding pattern.",UnsupportedSignatureParameterKind:({type:e})=>`Name in a signature must be an Identifier, ObjectPattern or ArrayPattern, instead got ${e}.`,UsingDeclarationInAmbientContext:e=>`'${e}' declarations are not allowed in ambient contexts.`});function aa(e){switch(e){case"any":return"TSAnyKeyword";case"boolean":return"TSBooleanKeyword";case"bigint":return"TSBigIntKeyword";case"never":return"TSNeverKeyword";case"number":return"TSNumberKeyword";case"object":return"TSObjectKeyword";case"string":return"TSStringKeyword";case"symbol":return"TSSymbolKeyword";case"undefined":return"TSUndefinedKeyword";case"unknown":return"TSUnknownKeyword";default:return}}function na(e){return"private"===e||"public"===e||"protected"===e}function ra(e){return"in"===e||"out"===e}function sa(e){if(e.extra?.parenthesized)return!1;switch(e.type){case"Identifier":return!0;case"MemberExpression":return!e.computed&&sa(e.object);case"TSInstantiationExpression":return sa(e.expression);default:return!1}}var ia=e=>class extends e{constructor(){super(...arguments),o(this,"tsParseInOutModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out"],disallowedModifiers:["const","public","private","protected","readonly","declare","abstract","override"],errorTemplate:ta.InvalidModifierOnTypeParameter})),o(this,"tsParseConstModifier",this.tsParseModifiers.bind(this,{allowedModifiers:["const"],disallowedModifiers:["in","out"],errorTemplate:ta.InvalidModifierOnTypeParameterPositions})),o(this,"tsParseInOutConstModifiers",this.tsParseModifiers.bind(this,{allowedModifiers:["in","out","const"],disallowedModifiers:["public","private","protected","readonly","declare","abstract","override"],errorTemplate:ta.InvalidModifierOnTypeParameter}))}getScopeHandler(){return pt}tsIsIdentifier(){return ne(this.state.type)}tsTokenCanFollowModifier(){return this.match(0)||this.match(5)||this.match(55)||this.match(21)||this.match(139)||this.isLiteralPropertyName()}tsNextTokenOnSameLineAndCanFollowModifier(){return this.next(),!this.hasPrecedingLineBreak()&&this.tsTokenCanFollowModifier()}tsNextTokenCanFollowModifier(){return this.match(106)?(this.next(),this.tsTokenCanFollowModifier()):this.tsNextTokenOnSameLineAndCanFollowModifier()}tsParseModifier(e,t,a){if(!ne(this.state.type)&&58!==this.state.type&&75!==this.state.type)return;let n=this.state.value;if(e.includes(n)){if(a&&this.match(106)||t&&this.tsIsStartOfStaticBlocks())return;if(this.tsTryParse(this.tsNextTokenCanFollowModifier.bind(this)))return n}}tsParseModifiers({allowedModifiers:e,disallowedModifiers:t,stopOnStartOfClassStaticBlock:a,errorTemplate:n=ta.InvalidModifierOnTypeMember},r){let s=(e,t,a,n)=>{t===a&&r[n]&&this.raise(ta.InvalidModifiersOrder,e,{orderedModifiers:[a,n]})},i=(e,t,a,n)=>{(r[a]&&t===n||r[n]&&t===a)&&this.raise(ta.IncompatibleModifiers,e,{modifiers:[a,n]})};for(;;){let{startLoc:o}=this.state,l=this.tsParseModifier(e.concat(t??[]),a,r.static);if(!l)break;na(l)?r.accessibility?this.raise(ta.DuplicateAccessibilityModifier,o,{modifier:l}):(s(o,l,l,"override"),s(o,l,l,"static"),s(o,l,l,"readonly"),r.accessibility=l):ra(l)?(r[l]&&this.raise(ta.DuplicateModifier,o,{modifier:l}),r[l]=!0,s(o,l,"in","out")):(Object.prototype.hasOwnProperty.call(r,l)?this.raise(ta.DuplicateModifier,o,{modifier:l}):(s(o,l,"static","readonly"),s(o,l,"static","override"),s(o,l,"override","readonly"),s(o,l,"abstract","override"),i(o,l,"declare","override"),i(o,l,"static","abstract")),r[l]=!0),t?.includes(l)&&this.raise(n,o,{modifier:l})}}tsIsListTerminator(e){switch(e){case"EnumMembers":case"TypeMembers":return this.match(8);case"HeritageClauseElement":return this.match(5);case"TupleElementTypes":return this.match(3);case"TypeParametersOrArguments":return this.match(48)}}tsParseList(e,t){let a=[];for(;!this.tsIsListTerminator(e);)a.push(t());return a}tsParseDelimitedList(e,t,a){return Qt(this.tsParseDelimitedListWorker(e,t,!0,a))}tsParseDelimitedListWorker(e,t,a,n){let r=[],s=-1;for(;!this.tsIsListTerminator(e);){s=-1;let n=t();if(null==n)return;if(r.push(n),!this.eat(12)){if(this.tsIsListTerminator(e))break;return void(a&&this.expect(12))}s=this.state.lastTokStartLoc.index}return n&&(n.value=s),r}tsParseBracketedList(e,t,a,n,r){n||(a?this.expect(0):this.expect(47));let s=this.tsParseDelimitedList(e,t,r);return a?this.expect(3):this.expect(48),s}tsParseImportType(){let e=this.startNode();return this.expect(83),this.expect(10),this.match(134)?e.argument=this.tsParseLiteralTypeNode():(this.raise(ta.UnsupportedImportTypeArgument,this.state.startLoc),e.argument=this.tsParseNonConditionalType()),this.eat(12)?e.options=this.tsParseImportTypeOptions():e.options=null,this.expect(11),this.eat(16)&&(e.qualifier=this.tsParseEntityName(3)),this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSImportType")}tsParseImportTypeOptions(){let e=this.startNode();this.expect(5);let t=this.startNode();return this.isContextual(76)?(t.method=!1,t.key=this.parseIdentifier(!0),t.computed=!1,t.shorthand=!1):this.unexpected(null,76),this.expect(14),t.value=this.tsParseImportTypeWithPropertyValue(),e.properties=[this.finishObjectProperty(t)],this.eat(12),this.expect(8),this.finishNode(e,"ObjectExpression")}tsParseImportTypeWithPropertyValue(){let e=this.startNode(),t=[];for(this.expect(5);!this.match(8);){let e=this.state.type;ne(e)||134===e?t.push(super.parsePropertyDefinition(null)):this.unexpected(),this.eat(12)}return e.properties=t,this.next(),this.finishNode(e,"ObjectExpression")}tsParseEntityName(e){let t;if(1&e&&this.match(78))if(2&e)t=this.parseIdentifier(!0);else{let e=this.startNode();this.next(),t=this.finishNode(e,"ThisExpression")}else t=this.parseIdentifier(!!(1&e));for(;this.eat(16);){let a=this.startNodeAtNode(t);a.left=t,a.right=this.parseIdentifier(!!(1&e)),t=this.finishNode(a,"TSQualifiedName")}return t}tsParseTypeReference(){let e=this.startNode();return e.typeName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeReference")}tsParseThisTypePredicate(e){this.next();let t=this.startNodeAtNode(e);return t.parameterName=e,t.typeAnnotation=this.tsParseTypeAnnotation(!1),t.asserts=!1,this.finishNode(t,"TSTypePredicate")}tsParseThisTypeNode(){let e=this.startNode();return this.next(),this.finishNode(e,"TSThisType")}tsParseTypeQuery(){let e=this.startNode();return this.expect(87),this.match(83)?e.exprName=this.tsParseImportType():e.exprName=this.tsParseEntityName(1),!this.hasPrecedingLineBreak()&&this.match(47)&&(e.typeArguments=this.tsParseTypeArguments()),this.finishNode(e,"TSTypeQuery")}tsParseTypeParameter(e){let t=this.startNode();return e(t),t.name=this.tsParseTypeParameterName(),t.constraint=this.tsEatThenParseType(81),t.default=this.tsEatThenParseType(29),this.finishNode(t,"TSTypeParameter")}tsTryParseTypeParameters(e){if(this.match(47))return this.tsParseTypeParameters(e)}tsParseTypeParameters(e){let t=this.startNode();this.match(47)||this.match(143)?this.next():this.unexpected();let a={value:-1};return t.params=this.tsParseBracketedList("TypeParametersOrArguments",this.tsParseTypeParameter.bind(this,e),!1,!0,a),0===t.params.length&&this.raise(ta.EmptyTypeParameters,t),-1!==a.value&&this.addExtra(t,"trailingComma",a.value),this.finishNode(t,"TSTypeParameterDeclaration")}tsFillSignature(e,t){let a=19===e,n="params",r="returnType";t.typeParameters=this.tsTryParseTypeParameters(this.tsParseConstModifier),this.expect(10),t[n]=this.tsParseBindingListForSignature(),(a||this.match(e))&&(t[r]=this.tsParseTypeOrTypePredicateAnnotation(e))}tsParseBindingListForSignature(){let e=super.parseBindingList(11,41,2);for(let t of e){let{type:e}=t;("AssignmentPattern"===e||"TSParameterProperty"===e)&&this.raise(ta.UnsupportedSignatureParameterKind,t,{type:e})}return e}tsParseTypeMemberSemicolon(){!this.eat(12)&&!this.isLineTerminator()&&this.expect(13)}tsParseSignatureMember(e,t){return this.tsFillSignature(14,t),this.tsParseTypeMemberSemicolon(),this.finishNode(t,e)}tsIsUnambiguouslyIndexSignature(){return this.next(),!!ne(this.state.type)&&(this.next(),this.match(14))}tsTryParseIndexSignature(e){if(!this.match(0)||!this.tsLookAhead(this.tsIsUnambiguouslyIndexSignature.bind(this)))return;this.expect(0);let t=this.parseIdentifier();t.typeAnnotation=this.tsParseTypeAnnotation(),this.resetEndLocation(t),this.expect(3),e.parameters=[t];let a=this.tsTryParseTypeAnnotation();return a&&(e.typeAnnotation=a),this.tsParseTypeMemberSemicolon(),this.finishNode(e,"TSIndexSignature")}tsParsePropertyOrMethodSignature(e,t){if(this.eat(17)&&(e.optional=!0),this.match(10)||this.match(47)){t&&this.raise(ta.ReadonlyForMethodSignature,e);let a=e;a.kind&&this.match(47)&&this.raise(ta.AccessorCannotHaveTypeParameters,this.state.curPosition()),this.tsFillSignature(14,a),this.tsParseTypeMemberSemicolon();let n="params",r="returnType";if("get"===a.kind)a[n].length>0&&(this.raise(A.BadGetterArity,this.state.curPosition()),this.isThisParam(a[n][0])&&this.raise(ta.AccessorCannotDeclareThisParameter,this.state.curPosition()));else if("set"===a.kind){if(1!==a[n].length)this.raise(A.BadSetterArity,this.state.curPosition());else{let e=a[n][0];this.isThisParam(e)&&this.raise(ta.AccessorCannotDeclareThisParameter,this.state.curPosition()),"Identifier"===e.type&&e.optional&&this.raise(ta.SetAccessorCannotHaveOptionalParameter,this.state.curPosition()),"RestElement"===e.type&&this.raise(ta.SetAccessorCannotHaveRestParameter,this.state.curPosition())}a[r]&&this.raise(ta.SetAccessorCannotHaveReturnType,a[r])}else a.kind="method";return this.finishNode(a,"TSMethodSignature")}{let a=e;t&&(a.readonly=!0);let n=this.tsTryParseTypeAnnotation();return n&&(a.typeAnnotation=n),this.tsParseTypeMemberSemicolon(),this.finishNode(a,"TSPropertySignature")}}tsParseTypeMember(){let e=this.startNode();if(this.match(10)||this.match(47))return this.tsParseSignatureMember("TSCallSignatureDeclaration",e);if(this.match(77)){let t=this.startNode();return this.next(),this.match(10)||this.match(47)?this.tsParseSignatureMember("TSConstructSignatureDeclaration",e):(e.key=this.createIdentifier(t,"new"),this.tsParsePropertyOrMethodSignature(e,!1))}return this.tsParseModifiers({allowedModifiers:["readonly"],disallowedModifiers:["declare","abstract","private","protected","public","static","override"]},e),this.tsTryParseIndexSignature(e)||(super.parsePropertyName(e),!e.computed&&"Identifier"===e.key.type&&("get"===e.key.name||"set"===e.key.name)&&this.tsTokenCanFollowModifier()&&(e.kind=e.key.name,super.parsePropertyName(e),!this.match(10)&&!this.match(47)&&this.unexpected(null,10)),this.tsParsePropertyOrMethodSignature(e,!!e.readonly))}tsParseTypeLiteral(){let e=this.startNode();return e.members=this.tsParseObjectTypeMembers(),this.finishNode(e,"TSTypeLiteral")}tsParseObjectTypeMembers(){this.expect(5);let e=this.tsParseList("TypeMembers",this.tsParseTypeMember.bind(this));return this.expect(8),e}tsIsStartOfMappedType(){return this.next(),this.eat(53)?this.isContextual(122):(this.isContextual(122)&&this.next(),!(!this.match(0)||(this.next(),!this.tsIsIdentifier()))&&(this.next(),this.match(58)))}tsParseMappedType(){let e=this.startNode();return this.expect(5),this.match(53)?(e.readonly=this.state.value,this.next(),this.expectContextual(122)):this.eatContextual(122)&&(e.readonly=!0),this.expect(0),e.key=this.tsParseTypeParameterName(),e.constraint=this.tsExpectThenParseType(58),e.nameType=this.eatContextual(93)?this.tsParseType():null,this.expect(3),this.match(53)?(e.optional=this.state.value,this.next(),this.expect(17)):this.eat(17)&&(e.optional=!0),e.typeAnnotation=this.tsTryParseType(),this.semicolon(),this.expect(8),this.finishNode(e,"TSMappedType")}tsParseTupleType(){let e=this.startNode();e.elementTypes=this.tsParseBracketedList("TupleElementTypes",this.tsParseTupleElementType.bind(this),!0,!1);let t=!1;return e.elementTypes.forEach(e=>{let{type:a}=e;t&&"TSRestType"!==a&&"TSOptionalType"!==a&&!("TSNamedTupleMember"===a&&e.optional)&&this.raise(ta.OptionalTypeBeforeRequired,e),t||(t="TSNamedTupleMember"===a&&e.optional||"TSOptionalType"===a)}),this.finishNode(e,"TSTupleType")}tsParseTupleElementType(){let e,t,a,n,r=this.state.startLoc,s=this.eat(21),{startLoc:i}=this.state,o=se(this.state.type)?this.lookaheadCharCode():null;if(58===o)e=!0,a=!1,t=this.parseIdentifier(!0),this.expect(14),n=this.tsParseType();else if(63===o){a=!0;let r=this.state.value,s=this.tsParseNonArrayType();58===this.lookaheadCharCode()?(e=!0,t=this.createIdentifier(this.startNodeAt(i),r),this.expect(17),this.expect(14),n=this.tsParseType()):(e=!1,n=s,this.expect(17))}else n=this.tsParseType(),a=this.eat(17),e=this.eat(14);if(e){let e;t?(e=this.startNodeAt(i),e.optional=a,e.label=t,e.elementType=n,this.eat(17)&&(e.optional=!0,this.raise(ta.TupleOptionalAfterType,this.state.lastTokStartLoc))):(e=this.startNodeAt(i),e.optional=a,this.raise(ta.InvalidTupleMemberLabel,n),e.label=n,e.elementType=this.tsParseType()),n=this.finishNode(e,"TSNamedTupleMember")}else if(a){let e=this.startNodeAt(i);e.typeAnnotation=n,n=this.finishNode(e,"TSOptionalType")}if(s){let e=this.startNodeAt(r);e.typeAnnotation=n,n=this.finishNode(e,"TSRestType")}return n}tsParseParenthesizedType(){let e=this.startNode();return this.expect(10),e.typeAnnotation=this.tsParseType(),this.expect(11),this.finishNode(e,"TSParenthesizedType")}tsParseFunctionOrConstructorType(e,t){let a=this.startNode();return"TSConstructorType"===e&&(a.abstract=!!t,t&&this.next(),this.next()),this.tsInAllowConditionalTypesContext(()=>this.tsFillSignature(19,a)),this.finishNode(a,e)}tsParseLiteralTypeNode(){let e=this.startNode();switch(this.state.type){case 135:case 136:case 134:case 85:case 86:e.literal=super.parseExprAtom();break;default:this.unexpected()}return this.finishNode(e,"TSLiteralType")}tsParseTemplateLiteralType(){{let e=this.state.startLoc,t=this.parseTemplateElement(!1),a=[t];if(t.tail){let t=this.startNodeAt(e),n=this.startNodeAt(e);return n.expressions=[],n.quasis=a,t.literal=this.finishNode(n,"TemplateLiteral"),this.finishNode(t,"TSLiteralType")}{let n=[];for(;!t.tail;)n.push(this.tsParseType()),this.readTemplateContinuation(),a.push(t=this.parseTemplateElement(!1));let r=this.startNodeAt(e);return r.types=n,r.quasis=a,this.finishNode(r,"TSTemplateLiteralType")}}}parseTemplateSubstitution(){return this.state.inType?this.tsParseType():super.parseTemplateSubstitution()}tsParseThisTypeOrThisTypePredicate(){let e=this.tsParseThisTypeNode();return this.isContextual(116)&&!this.hasPrecedingLineBreak()?this.tsParseThisTypePredicate(e):e}tsParseNonArrayType(){switch(this.state.type){case 134:case 135:case 136:case 85:case 86:return this.tsParseLiteralTypeNode();case 53:if("-"===this.state.value){let e=this.startNode(),t=this.lookahead();return 135!==t.type&&136!==t.type&&this.unexpected(),e.literal=this.parseMaybeUnary(),this.finishNode(e,"TSLiteralType")}break;case 78:return this.tsParseThisTypeOrThisTypePredicate();case 87:return this.tsParseTypeQuery();case 83:return this.tsParseImportType();case 5:return this.tsLookAhead(this.tsIsStartOfMappedType.bind(this))?this.tsParseMappedType():this.tsParseTypeLiteral();case 0:return this.tsParseTupleType();case 10:if(!(1024&this.optionFlags)){let e=this.state.startLoc;this.next();let t=this.tsParseType();return this.expect(11),this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),t}return this.tsParseParenthesizedType();case 25:case 24:return this.tsParseTemplateLiteralType();default:{let{type:e}=this.state;if(ne(e)||88===e||84===e){let t=88===e?"TSVoidKeyword":84===e?"TSNullKeyword":aa(this.state.value);if(void 0!==t&&46!==this.lookaheadCharCode()){let e=this.startNode();return this.next(),this.finishNode(e,t)}return this.tsParseTypeReference()}}}throw this.unexpected()}tsParseArrayTypeOrHigher(){let{startLoc:e}=this.state,t=this.tsParseNonArrayType();for(;!this.hasPrecedingLineBreak()&&this.eat(0);)if(this.match(3)){let a=this.startNodeAt(e);a.elementType=t,this.expect(3),t=this.finishNode(a,"TSArrayType")}else{let a=this.startNodeAt(e);a.objectType=t,a.indexType=this.tsParseType(),this.expect(3),t=this.finishNode(a,"TSIndexedAccessType")}return t}tsParseTypeOperator(){let e=this.startNode(),t=this.state.value;return this.next(),e.operator=t,e.typeAnnotation=this.tsParseTypeOperatorOrHigher(),"readonly"===t&&this.tsCheckTypeAnnotationForReadOnly(e),this.finishNode(e,"TSTypeOperator")}tsCheckTypeAnnotationForReadOnly(e){switch(e.typeAnnotation.type){case"TSTupleType":case"TSArrayType":return;default:this.raise(ta.UnexpectedReadonly,e)}}tsParseInferType(){let e=this.startNode();this.expectContextual(115);let t=this.startNode();return t.name=this.tsParseTypeParameterName(),t.constraint=this.tsTryParse(()=>this.tsParseConstraintForInferType()),e.typeParameter=this.finishNode(t,"TSTypeParameter"),this.finishNode(e,"TSInferType")}tsParseConstraintForInferType(){if(this.eat(81)){let e=this.tsInDisallowConditionalTypesContext(()=>this.tsParseType());if(this.state.inDisallowConditionalTypesContext||!this.match(17))return e}}tsParseTypeOperatorOrHigher(){return ge(this.state.type)&&!this.state.containsEsc?this.tsParseTypeOperator():this.isContextual(115)?this.tsParseInferType():this.tsInAllowConditionalTypesContext(()=>this.tsParseArrayTypeOrHigher())}tsParseUnionOrIntersectionType(e,t,a){let n=this.startNode(),r=this.eat(a),s=[];do{s.push(t())}while(this.eat(a));return 1!==s.length||r?(n.types=s,this.finishNode(n,e)):s[0]}tsParseIntersectionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSIntersectionType",this.tsParseTypeOperatorOrHigher.bind(this),45)}tsParseUnionTypeOrHigher(){return this.tsParseUnionOrIntersectionType("TSUnionType",this.tsParseIntersectionTypeOrHigher.bind(this),43)}tsIsStartOfFunctionType(){return!!this.match(47)||this.match(10)&&this.tsLookAhead(this.tsIsUnambiguouslyStartOfFunctionType.bind(this))}tsSkipParameterStart(){if(ne(this.state.type)||this.match(78))return this.next(),!0;if(this.match(5)){let{errors:e}=this.state,t=e.length;try{return this.parseObjectLike(8,!0),e.length===t}catch{return!1}}if(this.match(0)){this.next();let{errors:e}=this.state,t=e.length;try{return super.parseBindingList(3,93,1),e.length===t}catch{return!1}}return!1}tsIsUnambiguouslyStartOfFunctionType(){return this.next(),!!(this.match(11)||this.match(21)||this.tsSkipParameterStart()&&(this.match(14)||this.match(12)||this.match(17)||this.match(29)||this.match(11)&&(this.next(),this.match(19))))}tsParseTypeOrTypePredicateAnnotation(e){return this.tsInType(()=>{let t=this.startNode();this.expect(e);let a=this.startNode(),n=!!this.tsTryParse(this.tsParseTypePredicateAsserts.bind(this));if(n&&this.match(78)){let e=this.tsParseThisTypeOrThisTypePredicate();return"TSThisType"===e.type?(a.parameterName=e,a.asserts=!0,a.typeAnnotation=null,e=this.finishNode(a,"TSTypePredicate")):(this.resetStartLocationFromNode(e,a),e.asserts=!0),t.typeAnnotation=e,this.finishNode(t,"TSTypeAnnotation")}let r=this.tsIsIdentifier()&&this.tsTryParse(this.tsParseTypePredicatePrefix.bind(this));if(!r)return n?(a.parameterName=this.parseIdentifier(),a.asserts=n,a.typeAnnotation=null,t.typeAnnotation=this.finishNode(a,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")):this.tsParseTypeAnnotation(!1,t);let s=this.tsParseTypeAnnotation(!1);return a.parameterName=r,a.typeAnnotation=s,a.asserts=n,t.typeAnnotation=this.finishNode(a,"TSTypePredicate"),this.finishNode(t,"TSTypeAnnotation")})}tsTryParseTypeOrTypePredicateAnnotation(){if(this.match(14))return this.tsParseTypeOrTypePredicateAnnotation(14)}tsTryParseTypeAnnotation(){if(this.match(14))return this.tsParseTypeAnnotation()}tsTryParseType(){return this.tsEatThenParseType(14)}tsParseTypePredicatePrefix(){let e=this.parseIdentifier();if(this.isContextual(116)&&!this.hasPrecedingLineBreak())return this.next(),e}tsParseTypePredicateAsserts(){if(109!==this.state.type)return!1;let e=this.state.containsEsc;return this.next(),!(!ne(this.state.type)&&!this.match(78)||(e&&this.raise(A.InvalidEscapedReservedWord,this.state.lastTokStartLoc,{reservedWord:"asserts"}),0))}tsParseTypeAnnotation(e=!0,t=this.startNode()){return this.tsInType(()=>{e&&this.expect(14),t.typeAnnotation=this.tsParseType()}),this.finishNode(t,"TSTypeAnnotation")}tsParseType(){ea(this.state.inType);let e=this.tsParseNonConditionalType();if(this.state.inDisallowConditionalTypesContext||this.hasPrecedingLineBreak()||!this.eat(81))return e;let t=this.startNodeAtNode(e);return t.checkType=e,t.extendsType=this.tsInDisallowConditionalTypesContext(()=>this.tsParseNonConditionalType()),this.expect(17),t.trueType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.expect(14),t.falseType=this.tsInAllowConditionalTypesContext(()=>this.tsParseType()),this.finishNode(t,"TSConditionalType")}isAbstractConstructorSignature(){return this.isContextual(124)&&this.isLookaheadContextual("new")}tsParseNonConditionalType(){return this.tsIsStartOfFunctionType()?this.tsParseFunctionOrConstructorType("TSFunctionType"):this.match(77)?this.tsParseFunctionOrConstructorType("TSConstructorType"):this.isAbstractConstructorSignature()?this.tsParseFunctionOrConstructorType("TSConstructorType",!0):this.tsParseUnionTypeOrHigher()}tsParseTypeAssertion(){this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(ta.ReservedTypeAssertion,this.state.startLoc);let e=this.startNode();return e.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?this.tsParseTypeReference():this.tsParseType())),this.expect(48),e.expression=this.parseMaybeUnary(),this.finishNode(e,"TSTypeAssertion")}tsParseHeritageClause(e){let t=this.state.startLoc,a=this.tsParseDelimitedList("HeritageClauseElement",()=>{{let t=super.parseExprSubscripts();sa(t)||this.raise(ta.InvalidHeritageClauseType,t.loc.start,{token:e});let a="extends"===e?"TSInterfaceHeritage":"TSClassImplements";if("TSInstantiationExpression"===t.type)return t.type=a,t;let n=this.startNodeAtNode(t);return n.expression=t,(this.match(47)||this.match(51))&&(n.typeArguments=this.tsParseTypeArgumentsInExpression()),this.finishNode(n,a)}});return a.length||this.raise(ta.EmptyHeritageClauseType,t,{token:e}),a}tsParseInterfaceDeclaration(e,t={}){if(this.hasFollowingLineBreak())return null;this.expectContextual(129),t.declare&&(e.declare=!0),ne(this.state.type)?(e.id=this.parseIdentifier(),this.checkIdentifier(e.id,130)):(e.id=null,this.raise(ta.MissingInterfaceName,this.state.startLoc)),e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers),this.eat(81)&&(e.extends=this.tsParseHeritageClause("extends"));let a=this.startNode();return a.body=this.tsInType(this.tsParseObjectTypeMembers.bind(this)),e.body=this.finishNode(a,"TSInterfaceBody"),this.finishNode(e,"TSInterfaceDeclaration")}tsParseTypeAliasDeclaration(e){return e.id=this.parseIdentifier(),this.checkIdentifier(e.id,2),e.typeAnnotation=this.tsInType(()=>{if(e.typeParameters=this.tsTryParseTypeParameters(this.tsParseInOutModifiers),this.expect(29),this.isContextual(114)&&46!==this.lookaheadCharCode()){let e=this.startNode();return this.next(),this.finishNode(e,"TSIntrinsicKeyword")}return this.tsParseType()}),this.semicolon(),this.finishNode(e,"TSTypeAliasDeclaration")}tsInTopLevelContext(e){if(this.curContext()===O.brace)return e();{let t=this.state.context;this.state.context=[t[0]];try{return e()}finally{this.state.context=t}}}tsInType(e){let t=this.state.inType;this.state.inType=!0;try{return e()}finally{this.state.inType=t}}tsInDisallowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!0;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsInAllowConditionalTypesContext(e){let t=this.state.inDisallowConditionalTypesContext;this.state.inDisallowConditionalTypesContext=!1;try{return e()}finally{this.state.inDisallowConditionalTypesContext=t}}tsEatThenParseType(e){if(this.match(e))return this.tsNextThenParseType()}tsExpectThenParseType(e){return this.tsInType(()=>(this.expect(e),this.tsParseType()))}tsNextThenParseType(){return this.tsInType(()=>(this.next(),this.tsParseType()))}tsParseEnumMember(){let e=this.startNode();return e.id=this.match(134)?super.parseStringLiteral(this.state.value):this.parseIdentifier(!0),this.eat(29)&&(e.initializer=super.parseMaybeAssignAllowIn()),this.finishNode(e,"TSEnumMember")}tsParseEnumDeclaration(e,t={}){return t.const&&(e.const=!0),t.declare&&(e.declare=!0),this.expectContextual(126),e.id=this.parseIdentifier(),this.checkIdentifier(e.id,e.const?8971:8459),e.body=this.tsParseEnumBody(),this.finishNode(e,"TSEnumDeclaration")}tsParseEnumBody(){let e=this.startNode();return this.expect(5),e.members=this.tsParseDelimitedList("EnumMembers",this.tsParseEnumMember.bind(this)),this.expect(8),this.finishNode(e,"TSEnumBody")}tsParseModuleBlock(){let e=this.startNode();return this.scope.enter(0),this.expect(5),super.parseBlockOrModuleBlockBody(e.body=[],void 0,!0,8),this.scope.exit(),this.finishNode(e,"TSModuleBlock")}tsParseModuleOrNamespaceDeclaration(e,t=!1){return e.id=this.tsParseEntityName(1),"Identifier"===e.id.type&&this.checkIdentifier(e.id,1024),this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit(),this.finishNode(e,"TSModuleDeclaration")}tsParseAmbientExternalModuleDeclaration(e){return this.isContextual(112)?(e.kind="global",e.id=this.parseIdentifier()):this.match(134)?(e.kind="module",e.id=super.parseStringLiteral(this.state.value)):this.unexpected(),this.match(5)?(this.scope.enter(1024),this.prodParam.enter(0),e.body=this.tsParseModuleBlock(),this.prodParam.exit(),this.scope.exit()):this.semicolon(),this.finishNode(e,"TSModuleDeclaration")}tsParseImportEqualsDeclaration(e,t,a){e.id=t||this.parseIdentifier(),this.checkIdentifier(e.id,4096),this.expect(29);let n=this.tsParseModuleReference();return"type"===e.importKind&&"TSExternalModuleReference"!==n.type&&this.raise(ta.ImportAliasHasImportType,n),e.moduleReference=n,this.semicolon(),this.finishNode(e,"TSImportEqualsDeclaration")}tsIsExternalModuleReference(){return this.isContextual(119)&&40===this.lookaheadCharCode()}tsParseModuleReference(){return this.tsIsExternalModuleReference()?this.tsParseExternalModuleReference():this.tsParseEntityName(0)}tsParseExternalModuleReference(){let e=this.startNode();return this.expectContextual(119),this.expect(10),this.match(134)||this.unexpected(),e.expression=super.parseExprAtom(),this.expect(11),this.sawUnambiguousESM=!0,this.finishNode(e,"TSExternalModuleReference")}tsLookAhead(e){let t=this.state.clone(),a=e();return this.state=t,a}tsTryParseAndCatch(e){let t=this.tryParse(t=>e()||t());if(!t.aborted&&t.node)return t.error&&(this.state=t.failState),t.node}tsTryParse(e){let t=this.state.clone(),a=e();if(void 0!==a&&!1!==a)return a;this.state=t}tsTryParseDeclare(e){if(this.isLineTerminator())return;let t=this.state.type;return this.tsInAmbientContext(()=>{switch(t){case 68:return e.declare=!0,super.parseFunctionStatement(e,!1,!1);case 80:return e.declare=!0,this.parseClass(e,!0,!1);case 126:return this.tsParseEnumDeclaration(e,{declare:!0});case 112:return this.tsParseAmbientExternalModuleDeclaration(e);case 100:if(this.state.containsEsc)return;case 75:case 74:return this.match(75)&&this.isLookaheadContextual("enum")?(this.expect(75),this.tsParseEnumDeclaration(e,{const:!0,declare:!0})):(e.declare=!0,this.parseVarStatement(e,this.state.value,!0));case 107:if(this.isUsing())return this.raise(ta.InvalidModifierOnUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.parseVarStatement(e,"using",!0);break;case 96:if(this.isAwaitUsing())return this.raise(ta.InvalidModifierOnAwaitUsingDeclaration,this.state.startLoc,"declare"),e.declare=!0,this.next(),this.parseVarStatement(e,"await using",!0);break;case 129:{let t=this.tsParseInterfaceDeclaration(e,{declare:!0});if(t)return t}default:if(ne(t))return this.tsParseDeclaration(e,this.state.type,!0,null)}})}tsTryParseExportDeclaration(){return this.tsParseDeclaration(this.startNode(),this.state.type,!0,null)}tsParseDeclaration(e,t,a,n){switch(t){case 124:if(this.tsCheckLineTerminator(a)&&(this.match(80)||ne(this.state.type)))return this.tsParseAbstractDeclaration(e,n);break;case 127:if(this.tsCheckLineTerminator(a)){if(this.match(134))return this.tsParseAmbientExternalModuleDeclaration(e);if(ne(this.state.type))return e.kind="module",this.tsParseModuleOrNamespaceDeclaration(e)}break;case 128:if(this.tsCheckLineTerminator(a)&&ne(this.state.type))return e.kind="namespace",this.tsParseModuleOrNamespaceDeclaration(e);break;case 130:if(this.tsCheckLineTerminator(a)&&ne(this.state.type))return this.tsParseTypeAliasDeclaration(e)}}tsCheckLineTerminator(e){return e?!this.hasFollowingLineBreak()&&(this.next(),!0):!this.isLineTerminator()}tsTryParseGenericAsyncArrowFunction(e){if(!this.match(47))return;let t=this.state.maybeInArrowParameters;this.state.maybeInArrowParameters=!0;let a=this.tsTryParseAndCatch(()=>{let t=this.startNodeAt(e);return t.typeParameters=this.tsParseTypeParameters(this.tsParseConstModifier),super.parseFunctionParams(t),t.returnType=this.tsTryParseTypeOrTypePredicateAnnotation(),this.expect(19),t});return this.state.maybeInArrowParameters=t,a?super.parseArrowExpression(a,null,!0):void 0}tsParseTypeArgumentsInExpression(){if(47===this.reScan_lt())return this.tsParseTypeArguments()}tsParseTypeArguments(){let e=this.startNode();return e.params=this.tsInType(()=>this.tsInTopLevelContext(()=>(this.expect(47),this.tsParseDelimitedList("TypeParametersOrArguments",this.tsParseType.bind(this))))),0===e.params.length?this.raise(ta.EmptyTypeArguments,e):!this.state.inType&&this.curContext()===O.brace&&this.reScan_lt_gt(),this.expect(48),this.finishNode(e,"TSTypeParameterInstantiation")}tsIsDeclarationStart(){return ye(this.state.type)}isExportDefaultSpecifier(){return!this.tsIsDeclarationStart()&&super.isExportDefaultSpecifier()}parseBindingElement(e,t){let a=t.length?t[0].loc.start:this.state.startLoc,n={};this.tsParseModifiers({allowedModifiers:["public","private","protected","override","readonly"]},n);let r=n.accessibility,s=n.override,i=n.readonly;!(4&e)&&(r||i||s)&&this.raise(ta.UnexpectedParameterModifier,a);let o=this.parseMaybeDefault();2&e&&this.parseFunctionParamType(o);let l=this.parseMaybeDefault(o.loc.start,o);if(r||i||s){let e=this.startNodeAt(a);return t.length&&(e.decorators=t),r&&(e.accessibility=r),i&&(e.readonly=i),s&&(e.override=s),"Identifier"!==l.type&&"AssignmentPattern"!==l.type&&this.raise(ta.UnsupportedParameterPropertyKind,e),e.parameter=l,this.finishNode(e,"TSParameterProperty")}return t.length&&(o.decorators=t),l}isSimpleParameter(e){return"TSParameterProperty"===e.type&&super.isSimpleParameter(e.parameter)||super.isSimpleParameter(e)}tsDisallowOptionalPattern(e){for(let t of e.params)"Identifier"!==t.type&&t.optional&&!this.state.isAmbientContext&&this.raise(ta.PatternIsOptional,t)}setArrowFunctionParameters(e,t,a){super.setArrowFunctionParameters(e,t,a),this.tsDisallowOptionalPattern(e)}parseFunctionBodyAndFinish(e,t,a=!1){this.match(14)&&(e.returnType=this.tsParseTypeOrTypePredicateAnnotation(14));let n="FunctionDeclaration"===t?"TSDeclareFunction":"ClassMethod"===t||"ClassPrivateMethod"===t?"TSDeclareMethod":void 0;return n&&!this.match(5)&&this.isLineTerminator()?this.finishNode(e,n):"TSDeclareFunction"===n&&this.state.isAmbientContext&&(this.raise(ta.DeclareFunctionHasImplementation,e),e.declare)?super.parseFunctionBodyAndFinish(e,n,a):(this.tsDisallowOptionalPattern(e),super.parseFunctionBodyAndFinish(e,t,a))}registerFunctionStatementId(e){!e.body&&e.id?this.checkIdentifier(e.id,1024):super.registerFunctionStatementId(e)}tsCheckForInvalidTypeCasts(e){e.forEach(e=>{"TSTypeCastExpression"===e?.type&&this.raise(ta.UnexpectedTypeAnnotation,e.typeAnnotation)})}toReferencedList(e,t){return this.tsCheckForInvalidTypeCasts(e),e}parseArrayLike(e,t,a){let n=super.parseArrayLike(e,t,a);return"ArrayExpression"===n.type&&this.tsCheckForInvalidTypeCasts(n.elements),n}parseSubscript(e,t,a,n){if(!this.hasPrecedingLineBreak()&&this.match(35)){this.state.canStartJSXElement=!1,this.next();let a=this.startNodeAt(t);return a.expression=e,this.finishNode(a,"TSNonNullExpression")}let r=!1;if(this.match(18)&&60===this.lookaheadCharCode()){if(a)return n.stop=!0,e;n.optionalChainMember=r=!0,this.next()}if(this.match(47)||this.match(51)){let s,i=this.tsTryParseAndCatch(()=>{if(!a&&this.atPossibleAsyncArrow(e)){let e=this.tsTryParseGenericAsyncArrowFunction(t);if(e)return n.stop=!0,e}let i=this.tsParseTypeArgumentsInExpression();if(!i)return;if(r&&!this.match(10))return void(s=this.state.curPosition());if(xe(this.state.type)){let a=super.parseTaggedTemplateExpression(e,t,n);return a.typeArguments=i,a}if(!a&&this.eat(10)){let a=this.startNodeAt(t);return a.callee=e,a.arguments=this.parseCallExpressionArguments(),this.tsCheckForInvalidTypeCasts(a.arguments),a.typeArguments=i,n.optionalChainMember&&(a.optional=r),this.finishCallExpression(a,n.optionalChainMember)}let o=this.state.type;if(48===o||52===o||10!==o&&le(o)&&!this.hasPrecedingLineBreak())return;let l=this.startNodeAt(t);return l.expression=e,l.typeArguments=i,this.finishNode(l,"TSInstantiationExpression")});if(s&&this.unexpected(s,10),i)return"TSInstantiationExpression"===i.type&&((this.match(16)||this.match(18)&&40!==this.lookaheadCharCode())&&this.raise(ta.InvalidPropertyAccessAfterInstantiationExpression,this.state.startLoc),!this.match(16)&&!this.match(18)&&(i.expression=super.stopParseSubscript(e,n))),i}return super.parseSubscript(e,t,a,n)}parseNewCallee(e){super.parseNewCallee(e);let{callee:t}=e;"TSInstantiationExpression"===t.type&&!t.extra?.parenthesized&&(e.typeArguments=t.typeArguments,e.callee=t.expression)}parseExprOp(e,t,a){let n;if(be(58)>a&&!this.hasPrecedingLineBreak()&&(this.isContextual(93)||(n=this.isContextual(120)))){let r=this.startNodeAt(t);return r.expression=e,r.typeAnnotation=this.tsInType(()=>(this.next(),this.match(75)?(n&&this.raise(A.UnexpectedKeyword,this.state.startLoc,{keyword:"const"}),this.tsParseTypeReference()):this.tsParseType())),this.finishNode(r,n?"TSSatisfiesExpression":"TSAsExpression"),this.reScan_lt_gt(),this.parseExprOp(r,t,a)}return super.parseExprOp(e,t,a)}checkReservedWord(e,t,a,n){this.state.isAmbientContext||super.checkReservedWord(e,t,a,n)}checkImportReflection(e){super.checkImportReflection(e),e.module&&"value"!==e.importKind&&this.raise(ta.ImportReflectionHasImportType,e.specifiers[0].loc.start)}checkDuplicateExports(){}isPotentialImportPhase(e){if(super.isPotentialImportPhase(e))return!0;if(this.isContextual(130)){let t=this.lookaheadCharCode();return e?123===t||42===t:61!==t}return!e&&this.isContextual(87)}applyImportPhase(e,t,a,n){super.applyImportPhase(e,t,a,n),t?e.exportKind="type"===a?"type":"value":e.importKind="type"===a||"typeof"===a?a:"value"}parseImport(e){if(this.match(134))return e.importKind="value",super.parseImport(e);let t;if(ne(this.state.type)&&61===this.lookaheadCharCode())return e.importKind="value",this.tsParseImportEqualsDeclaration(e);if(this.isContextual(130)){let a=this.parseMaybeImportPhase(e,!1);if(61===this.lookaheadCharCode())return this.tsParseImportEqualsDeclaration(e,a);t=super.parseImportSpecifiersAndAfter(e,a)}else t=super.parseImport(e);return"type"===t.importKind&&t.specifiers.length>1&&"ImportDefaultSpecifier"===t.specifiers[0].type&&this.raise(ta.TypeImportCannotSpecifyDefaultAndNamed,t),t}parseExport(e,t){if(this.match(83)){let t=this.startNode();this.next();let a=null;this.isContextual(130)&&this.isPotentialImportPhase(!1)?a=this.parseMaybeImportPhase(t,!1):t.importKind="value";let n=this.tsParseImportEqualsDeclaration(t,a,!0);return e.attributes=[],e.declaration=n,e.exportKind="value",e.source=null,e.specifiers=[],this.finishNode(e,"ExportNamedDeclaration")}if(this.eat(29)){let t=e;return t.expression=super.parseExpression(),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(t,"TSExportAssignment")}if(this.eatContextual(93)){let t=e;return this.expectContextual(128),t.id=this.parseIdentifier(),this.semicolon(),this.finishNode(t,"TSNamespaceExportDeclaration")}return super.parseExport(e,t)}isAbstractClass(){return this.isContextual(124)&&this.isLookaheadContextual("class")}parseExportDefaultExpression(){if(this.isAbstractClass()){let e=this.startNode();return this.next(),e.abstract=!0,this.parseClass(e,!0,!0)}if(this.match(129)){let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e}return super.parseExportDefaultExpression()}parseVarStatement(e,t,a=!1){let{isAmbientContext:n}=this.state,r=super.parseVarStatement(e,t,a||n);if(!n)return r;if(!e.declare&&("using"===t||"await using"===t))return this.raiseOverwrite(ta.UsingDeclarationInAmbientContext,e,t),r;for(let{id:s,init:i}of r.declarations)i&&("var"===t||"let"===t||s.typeAnnotation?this.raise(ta.InitializerNotAllowedInAmbientContext,i):la(i,this.hasPlugin("estree"))||this.raise(ta.ConstInitializerMustBeStringOrNumericLiteralOrLiteralEnumReference,i));return r}parseStatementContent(e,t){if(!this.state.containsEsc)switch(this.state.type){case 75:if(this.isLookaheadContextual("enum")){let e=this.startNode();return this.expect(75),this.tsParseEnumDeclaration(e,{const:!0})}break;case 124:case 125:if(this.nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine()){let e=this.state.type,a=this.startNode();this.next();let n=125===e?this.tsTryParseDeclare(a):this.tsParseAbstractDeclaration(a,t);return n?(125===e&&(n.declare=!0),n):(a.expression=this.createIdentifier(this.startNodeAt(a.loc.start),125===e?"declare":"abstract"),this.semicolon(!1),this.finishNode(a,"ExpressionStatement"))}break;case 126:return this.tsParseEnumDeclaration(this.startNode());case 112:if(123===this.lookaheadCharCode()){let e=this.startNode();return this.tsParseAmbientExternalModuleDeclaration(e)}break;case 129:{let e=this.tsParseInterfaceDeclaration(this.startNode());if(e)return e;break}case 127:if(this.nextTokenIsIdentifierOrStringLiteralOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,127,!1,t)}break;case 128:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return this.next(),this.tsParseDeclaration(e,128,!1,t)}break;case 130:if(this.nextTokenIsIdentifierOnSameLine()){let e=this.startNode();return this.next(),this.tsParseTypeAliasDeclaration(e)}}return super.parseStatementContent(e,t)}parseAccessModifier(){return this.tsParseModifier(["public","protected","private"])}tsHasSomeModifiers(e,t){return t.some(t=>na(t)?e.accessibility===t:!!e[t])}tsIsStartOfStaticBlocks(){return this.isContextual(106)&&123===this.lookaheadCharCode()}parseClassMember(e,t,a){let n=["declare","private","public","protected","override","abstract","readonly","static"];this.tsParseModifiers({allowedModifiers:n,disallowedModifiers:["in","out"],stopOnStartOfClassStaticBlock:!0,errorTemplate:ta.InvalidModifierOnTypeParameterPositions},t);let r=()=>{this.tsIsStartOfStaticBlocks()?(this.next(),this.next(),this.tsHasSomeModifiers(t,n)&&this.raise(ta.StaticBlockCannotHaveModifier,this.state.curPosition()),super.parseClassStaticBlock(e,t)):this.parseClassMemberWithIsStatic(e,t,a,!!t.static)};t.declare?this.tsInAmbientContext(r):r()}parseClassMemberWithIsStatic(e,t,a,n){let r=this.tsTryParseIndexSignature(t);if(r)return e.body.push(r),t.abstract&&this.raise(ta.IndexSignatureHasAbstract,t),t.accessibility&&this.raise(ta.IndexSignatureHasAccessibility,t,{modifier:t.accessibility}),t.declare&&this.raise(ta.IndexSignatureHasDeclare,t),void(t.override&&this.raise(ta.IndexSignatureHasOverride,t));!this.state.inAbstractClass&&t.abstract&&this.raise(ta.NonAbstractClassHasAbstractMethod,t),t.override&&(a.hadSuperClass||this.raise(ta.OverrideNotInSubClass,t)),super.parseClassMemberWithIsStatic(e,t,a,n)}parsePostMemberNameModifiers(e){this.eat(17)&&(e.optional=!0),e.readonly&&this.match(10)&&this.raise(ta.ClassMethodHasReadonly,e),e.declare&&this.match(10)&&this.raise(ta.ClassMethodHasDeclare,e)}shouldParseExportDeclaration(){return!!this.tsIsDeclarationStart()||super.shouldParseExportDeclaration()}parseConditional(e,t,a){if(!this.match(17))return e;if(this.state.maybeInArrowParameters){let t=this.lookaheadCharCode();if(44===t||61===t||58===t||41===t)return this.setOptionalParametersError(a),e}return super.parseConditional(e,t,a)}parseParenItem(e,t){let a=super.parseParenItem(e,t);if(this.eat(17)&&(a.optional=!0,this.resetEndLocation(e)),this.match(14)){let a=this.startNodeAt(t);return a.expression=e,a.typeAnnotation=this.tsParseTypeAnnotation(),this.finishNode(a,"TSTypeCastExpression")}return e}parseExportDeclaration(e){if(!this.state.isAmbientContext&&this.isContextual(125))return this.tsInAmbientContext(()=>this.parseExportDeclaration(e));let t=this.state.startLoc,a=this.eatContextual(125);if(a&&(this.isContextual(125)||!this.shouldParseExportDeclaration()))throw this.raise(ta.ExpectedAmbientAfterExportDeclare,this.state.startLoc);let n=ne(this.state.type)&&this.tsTryParseExportDeclaration()||super.parseExportDeclaration(e);return n?(("TSInterfaceDeclaration"===n.type||"TSTypeAliasDeclaration"===n.type||a)&&(e.exportKind="type"),a&&"TSImportEqualsDeclaration"!==n.type&&(this.resetStartLocation(n,t),n.declare=!0),n):null}parseClassId(e,t,a,n){if((!t||a)&&this.isContextual(113))return;super.parseClassId(e,t,a,e.declare?1024:8331);let r=this.tsTryParseTypeParameters(this.tsParseInOutConstModifiers);r&&(e.typeParameters=r)}parseClassPropertyAnnotation(e){e.optional||(this.eat(35)?e.definite=!0:this.eat(17)&&(e.optional=!0));let t=this.tsTryParseTypeAnnotation();t&&(e.typeAnnotation=t)}parseClassProperty(e){if(this.parseClassPropertyAnnotation(e),this.state.isAmbientContext&&!(e.readonly&&!e.typeAnnotation)&&this.match(29)&&this.raise(ta.DeclareClassFieldHasInitializer,this.state.startLoc),e.abstract&&this.match(29)){let{key:t}=e;this.raise(ta.AbstractPropertyHasInitializer,this.state.startLoc,{propertyName:"Identifier"!==t.type||e.computed?`[${this.input.slice(this.offsetToSourcePos(t.start),this.offsetToSourcePos(t.end))}]`:t.name})}return super.parseClassProperty(e)}parseClassPrivateProperty(e){return e.abstract&&this.raise(ta.PrivateElementHasAbstract,e),e.accessibility&&this.raise(ta.PrivateElementHasAccessibility,e,{modifier:e.accessibility}),this.parseClassPropertyAnnotation(e),super.parseClassPrivateProperty(e)}parseClassAccessorProperty(e){return this.parseClassPropertyAnnotation(e),e.optional&&this.raise(ta.AccessorCannotBeOptional,e),super.parseClassAccessorProperty(e)}pushClassMethod(e,t,a,n,r,s){let i=this.tsTryParseTypeParameters(this.tsParseConstModifier);i&&r&&this.raise(ta.ConstructorHasTypeParameters,i);let{declare:o=!1,kind:l}=t;o&&("get"===l||"set"===l)&&this.raise(ta.DeclareAccessor,t,{kind:l}),i&&(t.typeParameters=i),super.pushClassMethod(e,t,a,n,r,s)}pushClassPrivateMethod(e,t,a,n){let r=this.tsTryParseTypeParameters(this.tsParseConstModifier);r&&(t.typeParameters=r),super.pushClassPrivateMethod(e,t,a,n)}declareClassPrivateMethodInScope(e,t){"TSDeclareMethod"!==e.type&&("MethodDefinition"===e.type&&null==e.value.body||super.declareClassPrivateMethodInScope(e,t))}parseClassSuper(e){super.parseClassSuper(e),e.superClass&&(this.match(47)||this.match(51))&&(e.superTypeArguments=this.tsParseTypeArgumentsInExpression()),this.eatContextual(113)&&(e.implements=this.tsParseHeritageClause("implements"))}parseObjPropValue(e,t,a,n,r,s,i){let o=this.tsTryParseTypeParameters(this.tsParseConstModifier);return o&&(e.typeParameters=o),super.parseObjPropValue(e,t,a,n,r,s,i)}parseFunctionParams(e,t){let a=this.tsTryParseTypeParameters(this.tsParseConstModifier);a&&(e.typeParameters=a),super.parseFunctionParams(e,t)}parseVarId(e,t){super.parseVarId(e,t),"Identifier"===e.id.type&&!this.hasPrecedingLineBreak()&&this.eat(35)&&(e.definite=!0);let a=this.tsTryParseTypeAnnotation();a&&(e.id.typeAnnotation=a,this.resetEndLocation(e.id))}parseAsyncArrowFromCallExpression(e,t){return this.match(14)&&(e.returnType=this.tsParseTypeAnnotation()),super.parseAsyncArrowFromCallExpression(e,t)}parseMaybeAssign(e,t){let a,n,r;if(this.hasPlugin("jsx")&&(this.match(143)||this.match(47))){if(a=this.state.clone(),n=this.tryParse(()=>super.parseMaybeAssign(e,t),a),!n.error)return n.node;let{context:r}=this.state,s=r[r.length-1];(s===O.j_oTag||s===O.j_expr)&&r.pop()}if(!n?.error&&!this.match(47))return super.parseMaybeAssign(e,t);(!a||a===this.state)&&(a=this.state.clone());let s,i=this.tryParse(a=>{s=this.tsParseTypeParameters(this.tsParseConstModifier);let n=super.parseMaybeAssign(e,t);if(("ArrowFunctionExpression"!==n.type||n.extra?.parenthesized)&&a(),0!==s?.params.length&&this.resetStartLocationFromNode(n,s),n.typeParameters=s,this.hasPlugin("jsx")&&1===n.typeParameters.params.length&&!n.typeParameters.extra?.trailingComma){let e=n.typeParameters.params[0];e.constraint||this.raise(ta.SingleTypeParameterWithoutTrailingComma,f(e.loc.end,1),{typeParameterName:e.name.name})}return n},a);if(!i.error&&!i.aborted)return s&&this.reportReservedArrowTypeParam(s),i.node;if(!n&&(ea(!this.hasPlugin("jsx")),r=this.tryParse(()=>super.parseMaybeAssign(e,t),a),!r.error))return r.node;if(n?.node)return this.state=n.failState,n.node;if(i.node)return this.state=i.failState,s&&this.reportReservedArrowTypeParam(s),i.node;if(r?.node)return this.state=r.failState,r.node;throw n?.error||i.error||r?.error}reportReservedArrowTypeParam(e){1===e.params.length&&!e.params[0].constraint&&!e.extra?.trailingComma&&this.getPluginOption("typescript","disallowAmbiguousJSXLike")&&this.raise(ta.ReservedArrowTypeParam,e)}parseMaybeUnary(e,t){return!this.hasPlugin("jsx")&&this.match(47)?this.tsParseTypeAssertion():super.parseMaybeUnary(e,t)}parseArrow(e){if(this.match(14)){let t=this.tryParse(e=>{let t=this.tsParseTypeOrTypePredicateAnnotation(14);return(this.canInsertSemicolon()||!this.match(19))&&e(),t});if(t.aborted)return;t.thrown||(t.error&&(this.state=t.failState),e.returnType=t.node)}return super.parseArrow(e)}parseFunctionParamType(e){this.eat(17)&&(e.optional=!0);let t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t),this.resetEndLocation(e),e}isAssignable(e,t){switch(e.type){case"TSTypeCastExpression":return this.isAssignable(e.expression,t);case"TSParameterProperty":return!0;default:return super.isAssignable(e,t)}}toAssignable(e,t=!1){switch(e.type){case"ParenthesizedExpression":this.toAssignableParenthesizedExpression(e,t);break;case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":t?this.expressionScope.recordArrowParameterBindingError(ta.UnexpectedTypeCastInParameter,e):this.raise(ta.UnexpectedTypeCastInParameter,e),this.toAssignable(e.expression,t);break;case"AssignmentExpression":!t&&"TSTypeCastExpression"===e.left.type&&(e.left=this.typeCastToParameter(e.left));default:super.toAssignable(e,t)}}toAssignableParenthesizedExpression(e,t){switch(e.expression.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSNonNullExpression":case"TSTypeAssertion":case"ParenthesizedExpression":this.toAssignable(e.expression,t);break;default:super.toAssignable(e,t)}}checkToRestConversion(e,t){switch(e.type){case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":this.checkToRestConversion(e.expression,!1);break;default:super.checkToRestConversion(e,t)}}isValidLVal(e,t,a,n){switch(e){case"TSTypeCastExpression":return!0;case"TSParameterProperty":return"parameter";case"TSNonNullExpression":return"expression";case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":return(64!==n||!a)&&["expression",!0];default:return super.isValidLVal(e,t,a,n)}}parseBindingAtom(){return 78===this.state.type?this.parseIdentifier(!0):super.parseBindingAtom()}parseMaybeDecoratorArguments(e,t){if(this.match(47)||this.match(51)){let a=this.tsParseTypeArgumentsInExpression();if(this.match(10)){let n=super.parseMaybeDecoratorArguments(e,t);return n.typeArguments=a,n}this.unexpected(null,10)}return super.parseMaybeDecoratorArguments(e,t)}checkCommaAfterRest(e){return this.state.isAmbientContext&&this.match(12)&&this.lookaheadCharCode()===e?(this.next(),!1):super.checkCommaAfterRest(e)}isClassMethod(){return this.match(47)||super.isClassMethod()}isClassProperty(){return this.match(35)||this.match(14)||super.isClassProperty()}parseMaybeDefault(e,t){let a=super.parseMaybeDefault(e,t);return"AssignmentPattern"===a.type&&a.typeAnnotation&&a.right.startthis.isAssignable(e,!0)):super.shouldParseArrow(e)}shouldParseAsyncArrow(){return this.match(14)||super.shouldParseAsyncArrow()}canHaveLeadingDecorator(){return super.canHaveLeadingDecorator()||this.isAbstractClass()}jsxParseOpeningElementAfterName(e){if(this.match(47)||this.match(51)){let t=this.tsTryParseAndCatch(()=>this.tsParseTypeArgumentsInExpression());t&&(e.typeArguments=t)}return super.jsxParseOpeningElementAfterName(e)}getGetterSetterExpectedParamCount(e){let t=super.getGetterSetterExpectedParamCount(e),a=this.getObjectOrClassMethodParams(e)[0];return a&&this.isThisParam(a)?t+1:t}parseCatchClauseParam(){let e=super.parseCatchClauseParam(),t=this.tsTryParseTypeAnnotation();return t&&(e.typeAnnotation=t,this.resetEndLocation(e)),e}tsInAmbientContext(e){let{isAmbientContext:t,strict:a}=this.state;this.state.isAmbientContext=!0,this.state.strict=!1;try{return e()}finally{this.state.isAmbientContext=t,this.state.strict=a}}parseClass(e,t,a){let n=this.state.inAbstractClass;this.state.inAbstractClass=!!e.abstract;try{return super.parseClass(e,t,a)}finally{this.state.inAbstractClass=n}}tsParseAbstractDeclaration(e,t){if(this.match(80))return e.abstract=!0,this.maybeTakeDecorators(t,this.parseClass(e,!0,!1));if(this.isContextual(129))return this.hasFollowingLineBreak()?null:(e.abstract=!0,this.raise(ta.NonClassMethodPropertyHasAbstractModifier,e),this.tsParseInterfaceDeclaration(e));throw this.unexpected(null,80)}parseMethod(e,t,a,n,r,s,i){let o=super.parseMethod(e,t,a,n,r,s,i);if((o.abstract||"TSAbstractMethodDefinition"===o.type)&&(this.hasPlugin("estree")?o.value:o).body){let{key:e}=o;this.raise(ta.AbstractMethodHasImplementation,o,{methodName:"Identifier"!==e.type||o.computed?`[${this.input.slice(this.offsetToSourcePos(e.start),this.offsetToSourcePos(e.end))}]`:e.name})}return o}tsParseTypeParameterName(){return this.parseIdentifier()}shouldParseAsAmbientContext(){return!!this.getPluginOption("typescript","dts")}parse(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.parse()}getExpression(){return this.shouldParseAsAmbientContext()&&(this.state.isAmbientContext=!0),super.getExpression()}parseExportSpecifier(e,t,a,n){return!t&&n?(this.parseTypeOnlyImportExportSpecifier(e,!1,a),this.finishNode(e,"ExportSpecifier")):(e.exportKind="value",super.parseExportSpecifier(e,t,a,n))}parseImportSpecifier(e,t,a,n,r){return!t&&n?(this.parseTypeOnlyImportExportSpecifier(e,!0,a),this.finishNode(e,"ImportSpecifier")):(e.importKind="value",super.parseImportSpecifier(e,t,a,n,a?4098:4096))}parseTypeOnlyImportExportSpecifier(e,t,a){let n,r=t?"imported":"local",s=t?"local":"exported",i=e[r],o=!1,l=!0,c=i.loc.start;if(this.isContextual(93)){let e=this.parseIdentifier();if(this.isContextual(93)){let a=this.parseIdentifier();se(this.state.type)?(o=!0,i=e,n=t?this.parseIdentifier():this.parseModuleExportName(),l=!1):(n=a,l=!1)}else se(this.state.type)?(l=!1,n=t?this.parseIdentifier():this.parseModuleExportName()):(o=!0,i=e)}else se(this.state.type)&&(o=!0,t?(i=this.parseIdentifier(!0),this.isContextual(93)||this.checkReservedWord(i.name,i.loc.start,!0,!0)):i=this.parseModuleExportName());o&&a&&this.raise(t?ta.TypeModifierIsUsedInTypeImports:ta.TypeModifierIsUsedInTypeExports,c),e[r]=i,e[s]=n,e[t?"importKind":"exportKind"]=o?"type":"value",l&&this.eatContextual(93)&&(e[s]=t?this.parseIdentifier():this.parseModuleExportName()),e[s]||(e[s]=this.cloneIdentifier(e[r])),t&&this.checkIdentifier(e[s],o?4098:4096)}fillOptionalPropertiesForTSESLint(e){switch(e.type){case"ExpressionStatement":return void(e.directive??(e.directive=void 0));case"RestElement":e.value=void 0;case"Identifier":case"ArrayPattern":case"AssignmentPattern":case"ObjectPattern":return e.decorators??(e.decorators=[]),e.optional??(e.optional=!1),void(e.typeAnnotation??(e.typeAnnotation=void 0));case"TSParameterProperty":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSEmptyBodyFunctionExpression":e.body=null;case"TSDeclareFunction":case"FunctionDeclaration":case"FunctionExpression":case"ClassMethod":case"ClassPrivateMethod":return e.declare??(e.declare=!1),e.returnType??(e.returnType=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"Property":return void(e.optional??(e.optional=!1));case"TSMethodSignature":case"TSPropertySignature":e.optional??(e.optional=!1);case"TSIndexSignature":return e.accessibility??(e.accessibility=void 0),e.readonly??(e.readonly=!1),void(e.static??(e.static=!1));case"TSAbstractPropertyDefinition":case"PropertyDefinition":case"TSAbstractAccessorProperty":case"AccessorProperty":e.declare??(e.declare=!1),e.definite??(e.definite=!1),e.readonly??(e.readonly=!1),e.typeAnnotation??(e.typeAnnotation=void 0);case"TSAbstractMethodDefinition":case"MethodDefinition":return e.accessibility??(e.accessibility=void 0),e.decorators??(e.decorators=[]),e.override??(e.override=!1),void(e.optional??(e.optional=!1));case"ClassExpression":e.id??(e.id=null);case"ClassDeclaration":return e.abstract??(e.abstract=!1),e.declare??(e.declare=!1),e.decorators??(e.decorators=[]),e.implements??(e.implements=[]),e.superTypeArguments??(e.superTypeArguments=void 0),void(e.typeParameters??(e.typeParameters=void 0));case"TSTypeAliasDeclaration":case"VariableDeclaration":return void(e.declare??(e.declare=!1));case"VariableDeclarator":return void(e.definite??(e.definite=!1));case"TSEnumDeclaration":return e.const??(e.const=!1),void(e.declare??(e.declare=!1));case"TSEnumMember":return void(e.computed??(e.computed=!1));case"TSImportType":return e.qualifier??(e.qualifier=null),e.options??(e.options=null),void(e.typeArguments??(e.typeArguments=null));case"TSInterfaceDeclaration":return e.declare??(e.declare=!1),void(e.extends??(e.extends=[]));case"TSMappedType":return e.optional??(e.optional=!1),void(e.readonly??(e.readonly=void 0));case"TSModuleDeclaration":return e.declare??(e.declare=!1),void(e.global??(e.global="global"===e.kind));case"TSTypeParameter":return e.const??(e.const=!1),e.in??(e.in=!1),void(e.out??(e.out=!1))}}chStartsBindingIdentifierAndNotRelationalOperator(e,t){if(Se(e)){if(Xt.lastIndex=t,Xt.test(this.input)){let e=this.codePointAtPos(Xt.lastIndex);if(!Ie(e)&&92!==e)return!1}return!0}return 92===e}nextTokenIsIdentifierAndNotTSRelationalOperatorOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifierAndNotRelationalOperator(t,e)}nextTokenIsIdentifierOrStringLiteralOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)||34===t||39===t}};function oa(e){if("MemberExpression"!==e.type)return!1;let{computed:t,property:a}=e;return(!t||"StringLiteral"===a.type||!("TemplateLiteral"!==a.type||a.expressions.length>0))&&da(e.object)}function la(e,t){let{type:a}=e;if(e.extra?.parenthesized)return!1;if(t){if("Literal"===a){let{value:t}=e;if("string"==typeof t||"boolean"==typeof t)return!0}}else if("StringLiteral"===a||"BooleanLiteral"===a)return!0;return!!(ca(e,t)||ua(e,t)||"TemplateLiteral"===a&&0===e.expressions.length||oa(e))}function ca(e,t){return t?"Literal"===e.type&&("number"==typeof e.value||"bigint"in e):"NumericLiteral"===e.type||"BigIntLiteral"===e.type}function ua(e,t){if("UnaryExpression"===e.type){let{operator:a,argument:n}=e;if("-"===a&&ca(n,t))return!0}return!1}function da(e){return"Identifier"===e.type||"MemberExpression"===e.type&&!e.computed&&da(e.object)}var ha=D`placeholders`({ClassNameIsRequired:"A class name is required.",UnexpectedSpace:"Unexpected space in placeholder."}),pa=e=>class extends e{parsePlaceholder(e){if(this.match(133)){let t=this.startNode();return this.next(),this.assertNoSpace(),t.name=super.parseIdentifier(!0),this.assertNoSpace(),this.expect(133),this.finishPlaceholder(t,e)}}finishPlaceholder(e,t){let a=e;return(!a.expectedNode||!a.type)&&(a=this.finishNode(a,"Placeholder")),a.expectedNode=t,a}getTokenFromCode(e){37===e&&37===this.input.charCodeAt(this.state.pos+1)?this.finishOp(133,2):super.getTokenFromCode(e)}parseExprAtom(e){return this.parsePlaceholder("Expression")||super.parseExprAtom(e)}parseIdentifier(e){return this.parsePlaceholder("Identifier")||super.parseIdentifier(e)}checkReservedWord(e,t,a,n){void 0!==e&&super.checkReservedWord(e,t,a,n)}cloneIdentifier(e){let t=super.cloneIdentifier(e);return"Placeholder"===t.type&&(t.expectedNode=e.expectedNode),t}cloneStringLiteral(e){return"Placeholder"===e.type?this.cloneIdentifier(e):super.cloneStringLiteral(e)}parseBindingAtom(){return this.parsePlaceholder("Pattern")||super.parseBindingAtom()}isValidLVal(e,t,a,n){return"Placeholder"===e||super.isValidLVal(e,t,a,n)}toAssignable(e,t){e&&"Placeholder"===e.type&&"Expression"===e.expectedNode?e.expectedNode="Pattern":super.toAssignable(e,t)}chStartsBindingIdentifier(e,t){if(super.chStartsBindingIdentifier(e,t))return!0;let a=this.nextTokenStart();return 37===this.input.charCodeAt(a)&&37===this.input.charCodeAt(a+1)}verifyBreakContinue(e,t){e.label&&"Placeholder"===e.label.type||super.verifyBreakContinue(e,t)}parseExpressionStatement(e,t){if("Placeholder"!==t.type||t.extra?.parenthesized)return super.parseExpressionStatement(e,t);if(this.match(14)){let a=e;return a.label=this.finishPlaceholder(t,"Identifier"),this.next(),a.body=super.parseStatementOrSloppyAnnexBFunctionDeclaration(),this.finishNode(a,"LabeledStatement")}this.semicolon();let a=e;return a.name=t.name,this.finishPlaceholder(a,"Statement")}parseBlock(e,t,a){return this.parsePlaceholder("BlockStatement")||super.parseBlock(e,t,a)}parseFunctionId(e){return this.parsePlaceholder("Identifier")||super.parseFunctionId(e)}parseClass(e,t,a){let n=t?"ClassDeclaration":"ClassExpression";this.next();let r=this.state.strict,s=this.parsePlaceholder("Identifier");if(s){if(!(this.match(81)||this.match(133)||this.match(5))){if(a||!t)return e.id=null,e.body=this.finishPlaceholder(s,"ClassBody"),this.finishNode(e,n);throw this.raise(ha.ClassNameIsRequired,this.state.startLoc)}e.id=s}else this.parseClassId(e,t,a);return super.parseClassSuper(e),e.body=this.parsePlaceholder("ClassBody")||super.parseClassBody(!!e.superClass,r),this.finishNode(e,n)}parseExport(e,t){let a=this.parsePlaceholder("Identifier");if(!a)return super.parseExport(e,t);let n=e;if(!this.isContextual(98)&&!this.match(12))return n.specifiers=[],n.source=null,n.declaration=this.finishPlaceholder(a,"Declaration"),this.finishNode(n,"ExportNamedDeclaration");this.expectPlugin("exportDefaultFrom");let r=this.startNode();return r.exported=a,n.specifiers=[this.finishNode(r,"ExportDefaultSpecifier")],super.parseExport(n,t)}isExportDefaultSpecifier(){if(this.match(65)){let e=this.nextTokenStart();if(this.isUnparsedContextual(e,"from")&&this.input.startsWith(ve(133),this.nextTokenStartSince(e+4)))return!0}return super.isExportDefaultSpecifier()}maybeParseExportDefaultSpecifier(e,t){return!!e.specifiers?.length||super.maybeParseExportDefaultSpecifier(e,t)}checkExport(e){let{specifiers:t}=e;t?.length&&(e.specifiers=t.filter(e=>"Placeholder"===e.exported.type)),super.checkExport(e),e.specifiers=t}parseImport(e){let t=this.parsePlaceholder("Identifier");if(!t)return super.parseImport(e);if(e.specifiers=[],!this.isContextual(98)&&!this.match(12))return e.source=this.finishPlaceholder(t,"StringLiteral"),this.semicolon(),this.finishNode(e,"ImportDeclaration");let a=this.startNodeAtNode(t);return a.local=t,e.specifiers.push(this.finishNode(a,"ImportDefaultSpecifier")),this.eat(12)&&(this.maybeParseStarImportSpecifier(e)||this.parseNamedImportSpecifiers(e)),this.expectContextual(98),e.source=this.parseImportSource(),this.semicolon(),this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.parsePlaceholder("StringLiteral")||super.parseImportSource()}assertNoSpace(){this.state.start>this.offsetToSourcePos(this.state.lastTokEndLoc.index)&&this.raise(ha.UnexpectedSpace,this.state.lastTokEndLoc)}},fa=e=>class extends e{parseV8Intrinsic(){if(this.match(54)){let e=this.state.startLoc,t=this.startNode();if(this.next(),ne(this.state.type)){let e=this.parseIdentifierName(),a=this.createIdentifier(t,e);if(this.castNodeTo(a,"V8IntrinsicIdentifier"),this.match(10))return a}this.unexpected(e)}}parseExprAtom(e){return this.parseV8Intrinsic()||super.parseExprAtom(e)}},ma=["fsharp","hack"],ga=["^^","@@","^","%","#"];function ya(e){if(e.has("decorators")){if(e.has("decorators-legacy"))throw new Error("Cannot use the decorators and decorators-legacy plugin together");let t=e.get("decorators").decoratorsBeforeExport;if(null!=t&&"boolean"!=typeof t)throw new Error("'decoratorsBeforeExport' must be a boolean, if specified.");let a=e.get("decorators").allowCallParenthesized;if(null!=a&&"boolean"!=typeof a)throw new Error("'allowCallParenthesized' must be a boolean.")}if(e.has("flow")&&e.has("typescript"))throw new Error("Cannot combine flow and typescript plugins.");if(e.has("placeholders")&&e.has("v8intrinsic"))throw new Error("Cannot combine placeholders and v8intrinsic plugins.");if(e.has("pipelineOperator")){let t=e.get("pipelineOperator").proposal;if(!ma.includes(t)){let e=ma.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" requires "proposal" option whose value must be one of: ${e}.`)}if("hack"===t){if(e.has("placeholders"))throw new Error("Cannot combine placeholders plugin and Hack-style pipes.");if(e.has("v8intrinsic"))throw new Error("Cannot combine v8intrinsic plugin and Hack-style pipes.");let t=e.get("pipelineOperator").topicToken;if(!ga.includes(t)){let e=ga.map(e=>`"${e}"`).join(", ");throw new Error(`"pipelineOperator" in "proposal": "hack" mode also requires a "topicToken" option whose value must be one of: ${e}.`)}}}if(e.has("moduleAttributes"))throw new Error("`moduleAttributes` has been removed in Babel 8, please migrate to import attributes instead.");if(e.has("importAssertions"))throw new Error("`importAssertions` has been removed in Babel 8, please use import attributes instead. To use the non-standard `assert` syntax you can enable the `deprecatedImportAssert` parser plugin.");if(!e.has("deprecatedImportAssert")&&e.has("importAttributes")&&e.get("importAttributes").deprecatedAssertSyntax)throw new Error("The 'importAttributes' plugin has been removed in Babel 8. If you need to enable support for the deprecated `assert` syntax, you can enable the `deprecatedImportAssert` parser plugin.");if(e.has("recordAndTuple"))throw new Error("The 'recordAndTuple' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("asyncDoExpressions")&&!e.has("doExpressions")){let e=new Error("'asyncDoExpressions' requires 'doExpressions', please add 'doExpressions' to parser plugins.");throw e.missingPlugins="doExpressions",e}if(e.has("optionalChainingAssign")&&"2023-07"!==e.get("optionalChainingAssign").version)throw new Error("The 'optionalChainingAssign' plugin requires a 'version' option, representing the last proposal update. Currently, the only supported value is '2023-07'.");if(e.has("discardBinding")&&"void"!==e.get("discardBinding").syntaxType)throw new Error("The 'discardBinding' plugin requires a 'syntaxType' option. Currently the only supported value is 'void'.");if(e.has("decimal"))throw new Error("The 'decimal' plugin has been removed in Babel 8. Please remove it from your configuration.");if(e.has("importReflection"))throw new Error("The 'importReflection' plugin has been removed in Babel 8. Use 'sourcePhaseImports' instead, and replace 'import module' with 'import source' in your code.")}var va={estree:B,jsx:dt,flow:tt,typescript:ia,v8intrinsic:fa,placeholders:pa},ba=Object.keys(va),wa=class extends Zt{checkProto(e,t,a,n){if("SpreadElement"===e.type||this.isObjectMethod(e)||e.computed||e.shorthand)return a;let r=e.key;return"__proto__"===("Identifier"===r.type?r.name:r.value)?t?(this.raise(A.RecordNoProto,r),!0):(a&&(n?null===n.doubleProtoLoc&&(n.doubleProtoLoc=r.loc.start):this.raise(A.DuplicateProto,r)),!0):a}shouldExitDescending(e,t){return"ArrowFunctionExpression"===e.type&&this.offsetToSourcePos(e.start)===t}getExpression(){if(this.enterInitialScopes(),this.nextToken(),this.match(140))throw this.raise(A.ParseExpressionEmptyInput,this.state.startLoc);let e=this.parseExpression();if(!this.match(140))throw this.raise(A.ParseExpressionExpectsEOF,this.state.startLoc,{unexpected:this.input.codePointAt(this.state.start)});return this.finalizeRemainingComments(),e.comments=this.comments,e.errors=this.state.errors,256&this.optionFlags&&(e.tokens=this.tokens),e}parseExpression(e,t){return e?this.disallowInAnd(()=>this.parseExpressionBase(t)):this.allowInAnd(()=>this.parseExpressionBase(t))}parseExpressionBase(e){let t=this.state.startLoc,a=this.parseMaybeAssign(e);if(this.match(12)){let n=this.startNodeAt(t);for(n.expressions=[a];this.eat(12);)n.expressions.push(this.parseMaybeAssign(e));return this.toReferencedList(n.expressions),this.finishNode(n,"SequenceExpression")}return a}parseMaybeAssignDisallowIn(e,t){return this.disallowInAnd(()=>this.parseMaybeAssign(e,t))}parseMaybeAssignAllowIn(e,t){return this.allowInAnd(()=>this.parseMaybeAssign(e,t))}setOptionalParametersError(e){e.optionalParametersLoc=this.state.startLoc}parseMaybeAssign(e,t){let a,n=this.state.startLoc,r=this.isContextual(108);if(r&&this.prodParam.hasYield){this.next();let e=this.parseYield(n);return t&&(e=t.call(this,e,n)),e}e?a=!1:(e=new Wt,a=!0);let{type:s}=this.state;(10===s||ne(s))&&(this.state.potentialArrowAt=this.state.start);let i=this.parseMaybeConditional(e);if(t&&(i=t.call(this,i,n)),ce(this.state.type)){let t=this.startNodeAt(n),a=this.state.value;if(t.operator=a,this.match(29)){this.toAssignable(i,!0),t.left=i;let a=n.index;null!=e.doubleProtoLoc&&e.doubleProtoLoc.index>=a&&(e.doubleProtoLoc=null),null!=e.shorthandAssignLoc&&e.shorthandAssignLoc.index>=a&&(e.shorthandAssignLoc=null),null!=e.privateKeyLoc&&e.privateKeyLoc.index>=a&&(this.checkDestructuringPrivate(e),e.privateKeyLoc=null),null!=e.voidPatternLoc&&e.voidPatternLoc.index>=a&&(e.voidPatternLoc=null)}else t.left=i;return this.next(),t.right=this.parseMaybeAssign(),this.checkLVal(i,this.finishNode(t,"AssignmentExpression"),void 0,void 0,void 0,void 0,"||="===a||"&&="===a||"??="===a),t}if(a&&this.checkExpressionErrors(e,!0),r){let{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?le(e):le(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(A.YieldNotInGeneratorFunction,n),this.parseYield(n)}return i}parseMaybeConditional(e){let t=this.state.startLoc,a=this.state.potentialArrowAt,n=this.parseExprOps(e);return this.shouldExitDescending(n,a)?n:this.parseConditional(n,t,e)}parseConditional(e,t,a){if(this.eat(17)){let a=this.startNodeAt(t);return a.test=e,a.consequent=this.parseMaybeAssignAllowIn(),this.expect(14),a.alternate=this.parseMaybeAssign(),this.finishNode(a,"ConditionalExpression")}return e}parseMaybeUnaryOrPrivate(e){return this.match(139)?this.parsePrivateName():this.parseMaybeUnary(e)}parseExprOps(e){let t=this.state.startLoc,a=this.state.potentialArrowAt,n=this.parseMaybeUnaryOrPrivate(e);return this.shouldExitDescending(n,a)?n:this.parseExprOp(n,t,-1)}parseExprOp(e,t,a){if(this.isPrivateName(e)){let t=this.getPrivateNameSV(e);(a>=be(58)||!this.prodParam.hasIn||!this.match(58))&&this.raise(A.PrivateInExpectedIn,e,{identifierName:t}),this.classScope.usePrivateName(t,e.loc.start)}let n=this.state.type;if(pe(n)&&(this.prodParam.hasIn||!this.match(58))){let r=be(n);if(r>a){if(39===n){if(this.expectPlugin("pipelineOperator"),this.state.inFSharpPipelineDirectBody)return e;this.checkPipelineAtInfixOperator(e,t)}let s=this.startNodeAt(t);s.left=e,s.operator=this.state.value;let i=41===n||42===n,o=40===n;o&&(r=be(42)),this.next(),s.right=this.parseExprOpRightExpr(n,r);let l=this.finishNode(s,i||o?"LogicalExpression":"BinaryExpression"),c=this.state.type;if(o&&(41===c||42===c)||i&&40===c)throw this.raise(A.MixingCoalesceWithLogical,this.state.startLoc);return this.parseExprOp(l,t,a)}}return e}parseExprOpRightExpr(e,t){if(39===(this.state.startLoc,e))switch(this.getPluginOption("pipelineOperator","proposal")){case"hack":return this.withTopicBindingContext(()=>this.parseHackPipeBody());case"fsharp":return this.withSoloAwaitPermittingContext(()=>this.parseFSharpPipelineBody(t))}return this.parseExprOpBaseRightExpr(e,t)}parseExprOpBaseRightExpr(e,t){let a=this.state.startLoc;return this.parseExprOp(this.parseMaybeUnaryOrPrivate(),a,we(e)?t-1:t)}parseHackPipeBody(){let{startLoc:e}=this.state,t=this.parseMaybeAssign();return k.has(t.type)&&!t.extra?.parenthesized&&this.raise(A.PipeUnparenthesizedBody,e,{type:t.type}),this.topicReferenceWasUsedInCurrentContext()||this.raise(A.PipeTopicUnused,e),t}checkExponentialAfterUnary(e){this.match(57)&&this.raise(A.UnexpectedTokenUnaryExponentiation,e.argument)}parseMaybeUnary(e,t){let a=this.state.startLoc,n=this.isContextual(96);if(n&&this.recordAwaitIfAllowed()){this.next();let e=this.parseAwait(a);return t||this.checkExponentialAfterUnary(e),e}let r=this.match(34),s=this.startNode();if(me(this.state.type)){s.operator=this.state.value,s.prefix=!0,this.match(72)&&this.expectPlugin("throwExpressions");let a=this.match(89);if(this.next(),s.argument=this.parseMaybeUnary(null,!0),this.checkExpressionErrors(e,!0),this.state.strict&&a){let e=s.argument;"Identifier"===e.type?this.raise(A.StrictDelete,s):this.hasPropertyAsPrivateName(e)&&this.raise(A.DeletePrivateField,s)}if(!r)return t||this.checkExponentialAfterUnary(s),this.finishNode(s,"UnaryExpression")}let i=this.parseUpdate(s,r,e);if(n){let{type:e}=this.state;if((this.hasPlugin("v8intrinsic")?le(e):le(e)&&!this.match(54))&&!this.isAmbiguousPrefixOrIdentifier())return this.raiseOverwrite(A.AwaitNotInAsyncContext,a),this.parseAwait(a)}return i}parseUpdate(e,t,a){if(t){let t=e;return this.checkLVal(t.argument,this.finishNode(t,"UpdateExpression")),e}let n=this.state.startLoc,r=this.parseExprSubscripts(a);if(this.checkExpressionErrors(a,!1))return r;for(;fe(this.state.type)&&!this.canInsertSemicolon();){let e=this.startNodeAt(n);e.operator=this.state.value,e.prefix=!1,e.argument=r,this.next(),this.checkLVal(r,r=this.finishNode(e,"UpdateExpression"))}return r}parseExprSubscripts(e){let t=this.state.startLoc,a=this.state.potentialArrowAt,n=this.parseExprAtom(e);return this.shouldExitDescending(n,a)?n:this.parseSubscripts(n,t)}parseSubscripts(e,t,a){let n={optionalChainMember:!1,maybeAsyncArrow:this.atPossibleAsyncArrow(e),stop:!1};do{e=this.parseSubscript(e,t,a,n),n.maybeAsyncArrow=!1}while(!n.stop);return e}parseSubscript(e,t,a,n){let{type:r}=this.state;if(!a&&15===r)return this.parseBind(e,t,a,n);if(xe(r))return this.parseTaggedTemplateExpression(e,t,n);let s=!1;if(18===r){if(a&&(this.raise(A.OptionalChainingNoNew,this.state.startLoc),40===this.lookaheadCharCode()))return this.stopParseSubscript(e,n);n.optionalChainMember=s=!0,this.next()}if(!a&&this.match(10))return this.parseCoverCallAndAsyncArrowHead(e,t,n,s);{let a=this.eat(0);return a||s||this.eat(16)?this.parseMember(e,t,n,a,s):this.stopParseSubscript(e,n)}}stopParseSubscript(e,t){return t.stop=!0,e}parseMember(e,t,a,n,r){let s=this.startNodeAt(t);return s.object=e,s.computed=n,n?(s.property=this.parseExpression(),this.expect(3)):this.match(139)?("Super"===e.type&&this.raise(A.SuperPrivateField,t),this.classScope.usePrivateName(this.state.value,this.state.startLoc),s.property=this.parsePrivateName()):s.property=this.parseIdentifier(!0),a.optionalChainMember?(s.optional=r,this.finishNode(s,"OptionalMemberExpression")):this.finishNode(s,"MemberExpression")}parseBind(e,t,a,n){let r=this.startNodeAt(t);return r.object=e,this.next(),r.callee=this.parseNoCallExpr(),n.stop=!0,this.parseSubscripts(this.finishNode(r,"BindExpression"),t,a)}parseCoverCallAndAsyncArrowHead(e,t,a,n){let r=this.state.maybeInArrowParameters,s=null;this.state.maybeInArrowParameters=!0,this.next();let i=this.startNodeAt(t);i.callee=e;let{maybeAsyncArrow:o,optionalChainMember:l}=a;o&&(this.expressionScope.enter($t()),s=new Wt),l&&(i.optional=n),i.arguments=n?this.parseCallExpressionArguments():this.parseCallExpressionArguments("Super"!==e.type,i,s);let c=this.finishCallExpression(i,l);return o&&this.shouldParseAsyncArrow()&&!n?(a.stop=!0,this.checkDestructuringPrivate(s),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),c=this.parseAsyncArrowFromCallExpression(this.startNodeAt(t),c)):(o&&(this.checkExpressionErrors(s,!0),this.expressionScope.exit()),this.toReferencedArguments(c)),this.state.maybeInArrowParameters=r,c}toReferencedArguments(e,t){this.toReferencedListDeep(e.arguments,t)}parseTaggedTemplateExpression(e,t,a){let n=this.startNodeAt(t);return n.tag=e,n.quasi=this.parseTemplate(!0),a.optionalChainMember&&this.raise(A.OptionalChainingNoTemplate,t),this.finishNode(n,"TaggedTemplateExpression")}atPossibleAsyncArrow(e){return"Identifier"===e.type&&"async"===e.name&&this.state.lastTokEndLoc.index===e.end&&!this.canInsertSemicolon()&&e.end-e.start===5&&this.offsetToSourcePos(e.start)===this.state.potentialArrowAt}finishCallExpression(e,t){if("Import"===e.callee.type)if(0===e.arguments.length||e.arguments.length>2)this.raise(A.ImportCallArity,e);else for(let a of e.arguments)"SpreadElement"===a.type&&this.raise(A.ImportCallSpreadArgument,a);return this.finishNode(e,t?"OptionalCallExpression":"CallExpression")}parseCallExpressionArguments(e,t,a){let n=[],r=!0,s=this.state.inFSharpPipelineDirectBody;for(this.state.inFSharpPipelineDirectBody=!1;!this.eat(11);){if(r)r=!1;else if(this.expect(12),this.match(11)){t&&this.addTrailingCommaExtraToNode(t),this.next();break}n.push(this.parseExprListItem(11,!1,a,e))}return this.state.inFSharpPipelineDirectBody=s,n}shouldParseAsyncArrow(){return this.match(19)&&!this.canInsertSemicolon()}parseAsyncArrowFromCallExpression(e,t){return this.resetPreviousNodeTrailingComments(t),this.expect(19),this.parseArrowExpression(e,t.arguments,!0,t.extra?.trailingCommaLoc),t.innerComments&&bt(e,t.innerComments),t.callee.trailingComments&&bt(e,t.callee.trailingComments),e}parseNoCallExpr(){let e=this.state.startLoc;return this.parseSubscripts(this.parseExprAtom(),e,!0)}parseExprAtom(e){let t,a=null,{type:n}=this.state;switch(n){case 79:return this.parseSuper();case 83:return t=this.startNode(),this.next(),this.match(16)?this.parseImportMetaPropertyOrPhaseCall(t):this.match(10)?512&this.optionFlags?this.parseImportCall(t):this.finishNode(t,"Import"):(this.raise(A.UnsupportedImport,this.state.lastTokStartLoc),this.finishNode(t,"Import"));case 78:return t=this.startNode(),this.next(),this.finishNode(t,"ThisExpression");case 90:return this.parseDo(this.startNode(),!1);case 56:case 31:return this.readRegexp(),this.parseRegExpLiteral(this.state.value);case 135:return this.parseNumericLiteral(this.state.value);case 136:return this.parseBigIntLiteral(this.state.value);case 134:return this.parseStringLiteral(this.state.value);case 84:return this.parseNullLiteral();case 85:return this.parseBooleanLiteral(!0);case 86:return this.parseBooleanLiteral(!1);case 10:{let e=this.state.potentialArrowAt===this.state.start;return this.parseParenAndDistinguishExpression(e)}case 0:return this.parseArrayLike(3,!1,e);case 5:return this.parseObjectLike(8,!1,!1,e);case 68:return this.parseFunctionOrFunctionSent();case 26:a=this.parseDecorators();case 80:return this.parseClass(this.maybeTakeDecorators(a,this.startNode()),!1);case 77:return this.parseNewOrNewTarget();case 25:case 24:return this.parseTemplate(!1);case 15:{t=this.startNode(),this.next(),t.object=null;let e=t.callee=this.parseNoCallExpr();if("MemberExpression"===e.type)return this.finishNode(t,"BindExpression");throw this.raise(A.UnsupportedBind,e)}case 139:return this.raise(A.PrivateInExpectedIn,this.state.startLoc,{identifierName:this.state.value}),this.parsePrivateName();case 33:return this.parseTopicReferenceThenEqualsSign(54,"%");case 32:return this.parseTopicReferenceThenEqualsSign(44,"^");case 37:case 38:return this.parseTopicReference("hack");case 44:case 54:case 27:{let e=this.getPluginOption("pipelineOperator","proposal");if(e)return this.parseTopicReference(e);throw this.unexpected()}case 47:{let e=this.input.codePointAt(this.nextTokenStart());throw Se(e)||62===e?this.expectOnePlugin(["jsx","flow","typescript"]):this.unexpected()}default:if(ne(n)){if(this.isContextual(127)&&123===this.lookaheadInLineCharCode())return this.parseModuleExpression();let e=this.state.potentialArrowAt===this.state.start,t=this.state.containsEsc,a=this.parseIdentifier();if(!t&&"async"===a.name&&!this.canInsertSemicolon()){let{type:e}=this.state;if(68===e)return this.resetPreviousNodeTrailingComments(a),this.next(),this.parseAsyncFunctionExpression(this.startNodeAtNode(a));if(ne(e))return 61===this.lookaheadCharCode()?this.parseAsyncArrowUnaryFunction(this.startNodeAtNode(a)):a;if(90===e)return this.resetPreviousNodeTrailingComments(a),this.parseDo(this.startNodeAtNode(a),!0)}return e&&this.match(19)&&!this.canInsertSemicolon()?(this.next(),this.parseArrowExpression(this.startNodeAtNode(a),[a],!1)):a}throw this.unexpected()}}parseTopicReferenceThenEqualsSign(e,t){let a=this.getPluginOption("pipelineOperator","proposal");if(a)return this.state.type=e,this.state.value=t,this.state.pos--,this.state.end--,this.state.endLoc=f(this.state.endLoc,-1),this.parseTopicReference(a);throw this.unexpected()}parseTopicReference(e){let t=this.startNode(),a=this.state.startLoc,n=this.state.type;return this.next(),this.finishTopicReference(t,a,e,n)}finishTopicReference(e,t,a,n){if(this.testTopicReferenceConfiguration(a,t,n))return this.topicReferenceIsAllowedInCurrentContext()||this.raise(A.PipeTopicUnbound,t),this.registerTopicReference(),this.finishNode(e,"TopicReference");throw this.raise(A.PipeTopicUnconfiguredToken,t,{token:ve(n)})}testTopicReferenceConfiguration(e,t,a){switch(e){case"hack":return this.hasPlugin(["pipelineOperator",{topicToken:ve(a)}]);case"smart":return 27===a;default:throw this.raise(A.PipeTopicRequiresHackPipes,t)}}parseAsyncArrowUnaryFunction(e){this.prodParam.enter(mt(!0,this.prodParam.hasYield));let t=[this.parseIdentifier()];return this.prodParam.exit(),this.hasPrecedingLineBreak()&&this.raise(A.LineTerminatorBeforeArrow,this.state.curPosition()),this.expect(19),this.parseArrowExpression(e,t,!0)}parseDo(e,t){this.expectPlugin("doExpressions"),t&&this.expectPlugin("asyncDoExpressions"),e.async=t,this.next();let a=this.state.labels;return this.state.labels=[],t?(this.prodParam.enter(2),e.body=this.parseBlock(),this.prodParam.exit()):e.body=this.parseBlock(),this.state.labels=a,this.finishNode(e,"DoExpression")}parseSuper(){let e=this.startNode();return this.next(),this.match(10)&&!this.scope.allowDirectSuper?this.raise(A.SuperNotAllowed,e):this.scope.allowSuper||this.raise(A.UnexpectedSuper,e),!this.match(10)&&!this.match(0)&&!this.match(16)&&this.raise(A.UnsupportedSuper,e),this.finishNode(e,"Super")}parsePrivateName(){let e=this.startNode(),t=this.startNodeAt(f(this.state.startLoc,1)),a=this.state.value;return this.next(),e.id=this.createIdentifier(t,a),this.finishNode(e,"PrivateName")}parseFunctionOrFunctionSent(){let e=this.startNode();if(this.next(),this.prodParam.hasYield&&this.match(16)){let t=this.createIdentifier(this.startNodeAtNode(e),"function");return this.next(),this.match(103)?this.expectPlugin("functionSent"):this.hasPlugin("functionSent")||this.unexpected(),this.parseMetaProperty(e,t,"sent")}return this.parseFunction(e)}parseMetaProperty(e,t,a){e.meta=t;let n=this.state.containsEsc;return e.property=this.parseIdentifier(!0),(e.property.name!==a||n)&&this.raise(A.UnsupportedMetaProperty,e.property,{target:t.name,onlyValidPropertyName:a}),this.finishNode(e,"MetaProperty")}parseImportMetaPropertyOrPhaseCall(e){if(this.next(),this.isContextual(105)||this.isContextual(97)){let t=this.isContextual(105);return this.expectPlugin(t?"sourcePhaseImports":"deferredImportEvaluation"),this.next(),e.phase=t?"source":"defer",this.parseImportCall(e)}{let t=this.createIdentifierAt(this.startNodeAtNode(e),"import",this.state.lastTokStartLoc);return this.isContextual(101)&&(this.inModule||this.raise(A.ImportMetaOutsideModule,t),this.sawUnambiguousESM=!0),this.parseMetaProperty(e,t,"meta")}}parseLiteralAtNode(e,t,a){return this.addExtra(a,"rawValue",e),this.addExtra(a,"raw",this.input.slice(this.offsetToSourcePos(a.start),this.state.end)),a.value=e,this.next(),this.finishNode(a,t)}parseLiteral(e,t){let a=this.startNode();return this.parseLiteralAtNode(e,t,a)}parseStringLiteral(e){return this.parseLiteral(e,"StringLiteral")}parseNumericLiteral(e){return this.parseLiteral(e,"NumericLiteral")}parseBigIntLiteral(e){{let t;try{t=BigInt(e)}catch{t=null}return this.parseLiteral(t,"BigIntLiteral")}}parseDecimalLiteral(e){return this.parseLiteral(e,"DecimalLiteral")}parseRegExpLiteral(e){let t=this.startNode();return this.addExtra(t,"raw",this.input.slice(this.offsetToSourcePos(t.start),this.state.end)),t.pattern=e.pattern,t.flags=e.flags,this.next(),this.finishNode(t,"RegExpLiteral")}parseBooleanLiteral(e){let t=this.startNode();return t.value=e,this.next(),this.finishNode(t,"BooleanLiteral")}parseNullLiteral(){let e=this.startNode();return this.next(),this.finishNode(e,"NullLiteral")}parseParenAndDistinguishExpression(e){let t,a=this.state.startLoc;this.next(),this.expressionScope.enter(Ht());let n=this.state.maybeInArrowParameters,r=this.state.inFSharpPipelineDirectBody;this.state.maybeInArrowParameters=!0,this.state.inFSharpPipelineDirectBody=!1;let s,i,o=this.state.startLoc,l=[],c=new Wt,u=!0;for(;!this.match(11);){if(u)u=!1;else if(this.expect(12,null===c.optionalParametersLoc?null:c.optionalParametersLoc),this.match(11)){i=this.state.startLoc;break}if(this.match(21)){let e=this.state.startLoc;if(s=this.state.startLoc,l.push(this.parseParenItem(this.parseRestBinding(),e)),!this.checkCommaAfterRest(41))break}else l.push(this.parseMaybeAssignAllowInOrVoidPattern(11,c,this.parseParenItem))}let d=this.state.lastTokEndLoc;this.expect(11),this.state.maybeInArrowParameters=n,this.state.inFSharpPipelineDirectBody=r;let h=this.startNodeAt(a);return e&&this.shouldParseArrow(l)&&(h=this.parseArrow(h))?(this.checkDestructuringPrivate(c),this.expressionScope.validateAsPattern(),this.expressionScope.exit(),this.parseArrowExpression(h,l,!1),h):(this.expressionScope.exit(),l.length||this.unexpected(this.state.lastTokStartLoc),i&&this.unexpected(i),s&&this.unexpected(s),this.checkExpressionErrors(c,!0),this.toReferencedListDeep(l,!0),l.length>1?(t=this.startNodeAt(o),t.expressions=l,this.finishNode(t,"SequenceExpression"),this.resetEndLocation(t,d)):t=l[0],this.wrapParenthesis(a,t))}wrapParenthesis(e,t){if(!(1024&this.optionFlags))return this.addExtra(t,"parenthesized",!0),this.addExtra(t,"parenStart",e.index),this.takeSurroundingComments(t,e.index,this.state.lastTokEndLoc.index),t;let a=this.startNodeAt(e);return a.expression=t,this.finishNode(a,"ParenthesizedExpression")}shouldParseArrow(e){return!this.canInsertSemicolon()}parseArrow(e){if(this.eat(19))return e}parseParenItem(e,t){return e}parseNewOrNewTarget(){let e=this.startNode();if(this.next(),this.match(16)){let t=this.createIdentifier(this.startNodeAtNode(e),"new");this.next();let a=this.parseMetaProperty(e,t,"target");return this.scope.allowNewTarget||this.raise(A.UnexpectedNewTarget,a),a}return this.parseNew(e)}parseNew(e){if(this.parseNewCallee(e),this.eat(10)){let t=this.parseExprList(11);this.toReferencedList(t),e.arguments=t}else e.arguments=[];return this.finishNode(e,"NewExpression")}parseNewCallee(e){let t=this.match(83),a=this.parseNoCallExpr();e.callee=a,t&&("Import"===a.type||"ImportExpression"===a.type)&&this.raise(A.ImportCallNotNewExpression,a)}parseTemplateElement(e){let{start:t,startLoc:a,end:n,value:r}=this.state,s=t+1,i=this.startNodeAt(f(a,1));null===r&&(e||this.raise(A.InvalidEscapeSequenceTemplate,f(this.state.firstInvalidTemplateEscapePos,1)));let o=this.match(24),l=o?-1:-2,c=n+l;i.value={raw:this.input.slice(s,c).replace(/\r\n?/g,"\n"),cooked:null===r?null:r.slice(1,l)},i.tail=o,this.next();let u=this.finishNode(i,"TemplateElement");return this.resetEndLocation(u,f(this.state.lastTokEndLoc,l)),u}parseTemplate(e){let t=this.startNode(),a=this.parseTemplateElement(e),n=[a],r=[];for(;!a.tail;)r.push(this.parseTemplateSubstitution()),this.readTemplateContinuation(),n.push(a=this.parseTemplateElement(e));return t.expressions=r,t.quasis=n,this.finishNode(t,"TemplateLiteral")}parseTemplateSubstitution(){return this.parseExpression()}parseObjectLike(e,t,a,n){a&&this.expectPlugin("recordAndTuple");let r=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let s=!1,i=!0,o=this.startNode();for(o.properties=[],this.next();!this.match(e);){if(i)i=!1;else if(this.expect(12),this.match(e)){this.addTrailingCommaExtraToNode(o);break}let r;t?r=this.parseBindingProperty():(r=this.parsePropertyDefinition(n),s=this.checkProto(r,a,s,n)),a&&!this.isObjectProperty(r)&&"SpreadElement"!==r.type&&this.raise(A.InvalidRecordProperty,r),o.properties.push(r)}this.next(),this.state.inFSharpPipelineDirectBody=r;let l="ObjectExpression";return t?l="ObjectPattern":a&&(l="RecordExpression"),this.finishNode(o,l)}addTrailingCommaExtraToNode(e){this.addExtra(e,"trailingComma",this.state.lastTokStartLoc.index),this.addExtra(e,"trailingCommaLoc",this.state.lastTokStartLoc,!1)}maybeAsyncOrAccessorProp(e){return!e.computed&&"Identifier"===e.key.type&&(this.isLiteralPropertyName()||this.match(0)||this.match(55))}parsePropertyDefinition(e){let t=[];if(this.match(26))for(this.hasPlugin("decorators")&&this.raise(A.UnsupportedPropertyDecorator,this.state.startLoc);this.match(26);)t.push(this.parseDecorator());let a,n=this.startNode(),r=!1,s=!1;if(this.match(21))return t.length&&this.unexpected(),this.parseSpread();t.length&&(n.decorators=t,t=[]),n.method=!1,e&&(a=this.state.startLoc);let i=this.eat(55);this.parsePropertyNamePrefixOperator(n);let o=this.state.containsEsc;if(this.parsePropertyName(n,e),!i&&!o&&this.maybeAsyncOrAccessorProp(n)){let{key:e}=n,t=e.name;"async"===t&&!this.hasPrecedingLineBreak()&&(r=!0,this.resetPreviousNodeTrailingComments(e),i=this.eat(55),this.parsePropertyName(n)),("get"===t||"set"===t)&&(s=!0,this.resetPreviousNodeTrailingComments(e),n.kind=t,this.match(55)&&(i=!0,this.raise(A.AccessorIsGenerator,this.state.curPosition(),{kind:t}),this.next()),this.parsePropertyName(n))}return this.parseObjPropValue(n,a,i,r,!1,s,e)}getGetterSetterExpectedParamCount(e){return"get"===e.kind?0:1}getObjectOrClassMethodParams(e){return e.params}checkGetterSetterParams(e){let t=this.getGetterSetterExpectedParamCount(e),a=this.getObjectOrClassMethodParams(e);a.length!==t&&this.raise("get"===e.kind?A.BadGetterArity:A.BadSetterArity,e),"set"===e.kind&&"RestElement"===a[a.length-1]?.type&&this.raise(A.BadSetterRestParameter,e)}parseObjectMethod(e,t,a,n,r){if(r){let a=this.parseMethod(e,t,!1,!1,!1,"ObjectMethod");return this.checkGetterSetterParams(a),a}if(a||t||this.match(10))return n&&this.unexpected(),e.kind="method",e.method=!0,this.parseMethod(e,t,a,!1,!1,"ObjectMethod")}parseObjectProperty(e,t,a,n){if(e.shorthand=!1,this.eat(14))return e.value=a?this.parseMaybeDefault(this.state.startLoc):this.parseMaybeAssignAllowInOrVoidPattern(8,n),this.finishObjectProperty(e);if(!e.computed&&"Identifier"===e.key.type){if(this.checkReservedWord(e.key.name,e.key.loc.start,!0,!1),a)e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key));else if(this.match(29)){let a=this.state.startLoc;null!=n?null===n.shorthandAssignLoc&&(n.shorthandAssignLoc=a):this.raise(A.InvalidCoverInitializedName,a),e.value=this.parseMaybeDefault(t,this.cloneIdentifier(e.key))}else e.value=this.cloneIdentifier(e.key);return e.shorthand=!0,this.finishObjectProperty(e)}}finishObjectProperty(e){return this.finishNode(e,"ObjectProperty")}parseObjPropValue(e,t,a,n,r,s,i){let o=this.parseObjectMethod(e,a,n,r,s)||this.parseObjectProperty(e,t,r,i);return o||this.unexpected(),o}parsePropertyName(e,t){if(this.eat(0))e.computed=!0,e.key=this.parseMaybeAssignAllowIn(),this.expect(3);else{let a,{type:n,value:r}=this.state;if(se(n))a=this.parseIdentifier(!0);else switch(n){case 135:a=this.parseNumericLiteral(r);break;case 134:a=this.parseStringLiteral(r);break;case 136:a=this.parseBigIntLiteral(r);break;case 139:{let e=this.state.startLoc;null!=t?null===t.privateKeyLoc&&(t.privateKeyLoc=e):this.raise(A.UnexpectedPrivateField,e),a=this.parsePrivateName();break}default:this.unexpected()}e.key=a,139!==n&&(e.computed=!1)}}initFunction(e,t){e.id=null,e.generator=!1,e.async=t}parseMethod(e,t,a,n,r,s,i=!1){this.initFunction(e,a),e.generator=t,this.scope.enter(530|(i?576:0)|(r?32:0)),this.prodParam.enter(mt(a,e.generator)),this.parseFunctionParams(e,n);let o=this.parseFunctionBodyAndFinish(e,s,!0);return this.prodParam.exit(),this.scope.exit(),o}parseArrayLike(e,t,a){t&&this.expectPlugin("recordAndTuple");let n=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!1;let r=this.startNode();return this.next(),r.elements=this.parseExprList(e,!t,a,r),this.state.inFSharpPipelineDirectBody=n,this.finishNode(r,t?"TupleExpression":"ArrayExpression")}parseArrowExpression(e,t,a,n){this.scope.enter(518);let r=mt(a,!1);!this.match(5)&&this.prodParam.hasIn&&(r|=8),this.prodParam.enter(r),this.initFunction(e,a);let s=this.state.maybeInArrowParameters;return t&&(this.state.maybeInArrowParameters=!0,this.setArrowFunctionParameters(e,t,n)),this.state.maybeInArrowParameters=!1,this.parseFunctionBody(e,!0),this.prodParam.exit(),this.scope.exit(),this.state.maybeInArrowParameters=s,this.finishNode(e,"ArrowFunctionExpression")}setArrowFunctionParameters(e,t,a){this.toAssignableList(t,a,!1),e.params=t}parseFunctionBodyAndFinish(e,t,a=!1){return this.parseFunctionBody(e,!1,a),this.finishNode(e,t)}parseFunctionBody(e,t,a=!1){let n=t&&!this.match(5);if(this.expressionScope.enter(Yt()),n)e.body=this.parseMaybeAssign(),this.checkParams(e,!1,t,!1);else{let n=this.state.strict,r=this.state.labels;this.state.labels=[],this.prodParam.enter(4|this.prodParam.currentFlags()),e.body=this.parseBlock(!0,!1,r=>{let s=!this.isSimpleParamList(e.params);r&&s&&this.raise(A.IllegalLanguageModeDirective,"method"!==e.kind&&"constructor"!==e.kind||!e.key?e:e.key.loc.end);let i=!n&&this.state.strict;this.checkParams(e,!(this.state.strict||t||a||s),t,i),this.state.strict&&e.id&&this.checkIdentifier(e.id,65,i)}),this.prodParam.exit(),this.state.labels=r}this.expressionScope.exit()}isSimpleParameter(e){return"Identifier"===e.type}isSimpleParamList(e){for(let t=0,a=e.length;t10)&&$e(e))if(a&&Re(e))this.raise(A.UnexpectedKeyword,t,{keyword:e});else if((this.state.strict?n?Le:Ue:Oe)(e,this.inModule))this.raise(A.UnexpectedReservedWord,t,{reservedWord:e});else if("yield"===e){if(this.prodParam.hasYield)return void this.raise(A.YieldBindingIdentifier,t)}else if("await"===e){if(this.prodParam.hasAwait)return void this.raise(A.AwaitBindingIdentifier,t);if(this.scope.inStaticBlock)return void this.raise(A.AwaitBindingIdentifierInStaticBlock,t);this.expressionScope.recordAsyncArrowParametersError(t)}else if("arguments"===e&&this.scope.inClassAndNotInNonArrowFunction)return void this.raise(A.ArgumentsInClass,t)}recordAwaitIfAllowed(){let e=this.prodParam.hasAwait;return e&&!this.scope.inFunction&&(this.state.hasTopLevelAwait=!0),e}parseAwait(e){let t=this.startNodeAt(e);return this.expressionScope.recordParameterInitializerError(A.AwaitExpressionFormalParameter,t),this.eat(55)&&this.raise(A.ObsoleteAwaitStar,t),!this.scope.inFunction&&!(1&this.optionFlags)&&(this.isAmbiguousPrefixOrIdentifier()?this.ambiguousScriptDifferentAst=!0:this.sawUnambiguousESM=!0),this.state.soloAwait||(t.argument=this.parseMaybeUnary(null,!0)),this.finishNode(t,"AwaitExpression")}isAmbiguousPrefixOrIdentifier(){if(this.hasPrecedingLineBreak())return!0;let{type:e}=this.state;return 53===e||10===e||0===e||xe(e)||102===e&&!this.state.containsEsc||138===e||56===e||this.hasPlugin("v8intrinsic")&&54===e}parseYield(e){let t=this.startNodeAt(e);this.expressionScope.recordParameterInitializerError(A.YieldInParameter,t);let a=!1,n=null;if(!this.hasPrecedingLineBreak())switch(a=this.eat(55),this.state.type){case 13:case 140:case 8:case 11:case 3:case 9:case 14:case 12:if(!a)break;default:n=this.parseMaybeAssign()}return t.delegate=a,t.argument=n,this.finishNode(t,"YieldExpression")}parseImportCall(e){if(this.next(),e.source=this.parseMaybeAssignAllowIn(),e.options=null,this.eat(12))if(this.match(11))this.addTrailingCommaExtraToNode(e.source);else if(e.options=this.parseMaybeAssignAllowIn(),this.eat(12)&&(this.addTrailingCommaExtraToNode(e.options),!this.match(11))){do{this.parseMaybeAssignAllowIn()}while(this.eat(12)&&!this.match(11));this.raise(A.ImportCallArity,e)}return this.expect(11),this.finishNode(e,"ImportExpression")}checkPipelineAtInfixOperator(e,t){this.hasPlugin(["pipelineOperator",{proposal:"smart"}])&&"SequenceExpression"===e.type&&this.raise(A.PipelineHeadSequenceExpression,t)}parseSmartPipelineBodyInStyle(e,t){if(this.isSimpleReference(e)){let a=this.startNodeAt(t);return a.callee=e,this.finishNode(a,"PipelineBareFunction")}{let a=this.startNodeAt(t);return this.checkSmartPipeTopicBodyEarlyErrors(t),a.expression=e,this.finishNode(a,"PipelineTopicExpression")}}isSimpleReference(e){switch(e.type){case"MemberExpression":return!e.computed&&this.isSimpleReference(e.object);case"Identifier":return!0;default:return!1}}checkSmartPipeTopicBodyEarlyErrors(e){if(this.match(19))throw this.raise(A.PipelineBodyNoArrow,this.state.startLoc);this.topicReferenceWasUsedInCurrentContext()||this.raise(A.PipelineTopicUnused,e)}withTopicBindingContext(e){let t=this.state.topicContext;this.state.topicContext={maxNumOfResolvableTopics:1,maxTopicIndex:null};try{return e()}finally{this.state.topicContext=t}}withSmartMixTopicForbiddingContext(e){return e()}withSoloAwaitPermittingContext(e){let t=this.state.soloAwait;this.state.soloAwait=!0;try{return e()}finally{this.state.soloAwait=t}}allowInAnd(e){let t=this.prodParam.currentFlags();if(8&~t){this.prodParam.enter(8|t);try{return e()}finally{this.prodParam.exit()}}return e()}disallowInAnd(e){let t=this.prodParam.currentFlags();if(8&t){this.prodParam.enter(-9&t);try{return e()}finally{this.prodParam.exit()}}return e()}registerTopicReference(){this.state.topicContext.maxTopicIndex=0}topicReferenceIsAllowedInCurrentContext(){return this.state.topicContext.maxNumOfResolvableTopics>=1}topicReferenceWasUsedInCurrentContext(){return null!=this.state.topicContext.maxTopicIndex&&this.state.topicContext.maxTopicIndex>=0}parseFSharpPipelineBody(e){let t=this.state.startLoc;this.state.potentialArrowAt=this.state.start;let a=this.state.inFSharpPipelineDirectBody;this.state.inFSharpPipelineDirectBody=!0;let n=this.parseExprOp(this.parseMaybeUnaryOrPrivate(),t,e);return this.state.inFSharpPipelineDirectBody=a,n}parseModuleExpression(){this.expectPlugin("moduleBlocks");let e=this.startNode();this.next(),this.match(5)||this.unexpected(null,5);let t=this.startNodeAt(this.state.endLoc);this.next();let a=this.initializeScopes(!0);this.enterInitialScopes();try{e.body=this.parseProgram(t,8,"module")}finally{a()}return this.finishNode(e,"ModuleExpression")}parseVoidPattern(e){this.expectPlugin("discardBinding");let t=this.startNode();return null!=e&&(e.voidPatternLoc=this.state.startLoc),this.next(),this.finishNode(t,"VoidPattern")}parseMaybeAssignAllowInOrVoidPattern(e,t,a){if(null!=t&&this.match(88)){let a=this.lookaheadCharCode();if(44===a||a===(3===e?93:8===e?125:41)||61===a)return this.parseMaybeDefault(this.state.startLoc,this.parseVoidPattern(t))}return this.parseMaybeAssignAllowIn(t,a)}parsePropertyNamePrefixOperator(e){}},xa={kind:1},ka={kind:2},_a=/[\uD800-\uDFFF]/u,Ea=/in(?:stanceof)?/y;function Ca(e,t,a){for(let n=0;n0)for(let[e,t]of Array.from(this.scope.undefinedExports))this.raise(A.ModuleExportUndefined,t,{localName:e});this.addExtra(e,"topLevelAwait",this.state.hasTopLevelAwait)}let n;return n=140===t?this.finishNode(e,"Program"):this.finishNodeAt(e,"Program",f(this.state.startLoc,-1)),n}stmtToDirective(e){let t=this.castNodeTo(e,"Directive"),a=this.castNodeTo(e.expression,"DirectiveLiteral"),n=a.value,r=this.input.slice(this.offsetToSourcePos(a.start),this.offsetToSourcePos(a.end)),s=a.value=r.slice(1,-1);return this.addExtra(a,"raw",r),this.addExtra(a,"rawValue",s),this.addExtra(a,"expressionValue",n),t.value=a,delete e.expression,t}parseInterpreterDirective(){if(!this.match(28))return null;let e=this.startNode();return e.value=this.state.value,this.next(),this.finishNode(e,"InterpreterDirective")}isLet(){return!!this.isContextual(100)&&this.hasFollowingBindingAtom()}isUsing(){return!!this.isContextual(107)&&this.nextTokenIsIdentifierOnSameLine()}isForUsing(){if(!this.isContextual(107))return!1;let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);if(this.isUnparsedContextual(e,"of")){let t=this.lookaheadCharCodeSince(e+2);if(61!==t&&58!==t&&59!==t)return!1}return!(!this.chStartsBindingIdentifier(t,e)&&!this.isUnparsedContextual(e,"void"))}nextTokenIsIdentifierOnSameLine(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return this.chStartsBindingIdentifier(t,e)}isAwaitUsing(){if(!this.isContextual(96))return!1;let e=this.nextTokenInLineStart();if(this.isUnparsedContextual(e,"using")){e=this.nextTokenInLineStartSince(e+5);let t=this.codePointAtPos(e);if(this.chStartsBindingIdentifier(t,e))return!0}return!1}chStartsBindingIdentifier(e,t){if(Se(e)){if(Ea.lastIndex=t,Ea.test(this.input)){let e=this.codePointAtPos(Ea.lastIndex);if(!Ie(e)&&92!==e)return!1}return!0}return 92===e}chStartsBindingPattern(e){return 91===e||123===e}hasFollowingBindingAtom(){let e=this.nextTokenStart(),t=this.codePointAtPos(e);return this.chStartsBindingPattern(t)||this.chStartsBindingIdentifier(t,e)}hasInLineFollowingBindingIdentifierOrBrace(){let e=this.nextTokenInLineStart(),t=this.codePointAtPos(e);return 123===t||this.chStartsBindingIdentifier(t,e)}allowsUsing(){return(this.scope.inModule||!this.scope.inTopLevel)&&!this.scope.inBareCaseStatement}parseModuleItem(){return this.parseStatementLike(15)}parseStatementListItem(){return this.parseStatementLike(6|(!this.options.annexB||this.state.strict?0:8))}parseStatementOrSloppyAnnexBFunctionDeclaration(e=!1){let t=0;return this.options.annexB&&!this.state.strict&&(t|=4,e&&(t|=8)),this.parseStatementLike(t)}parseStatement(){return this.parseStatementLike(0)}parseStatementLike(e){let t=null;return this.match(26)&&(t=this.parseDecorators(!0)),this.parseStatementContent(e,t)}parseStatementContent(e,t){let a=this.state.type,n=this.startNode(),r=!!(2&e),s=!!(4&e),i=1&e;switch(a){case 60:return this.parseBreakContinueStatement(n,!0);case 63:return this.parseBreakContinueStatement(n,!1);case 64:return this.parseDebuggerStatement(n);case 90:return this.parseDoWhileStatement(n);case 91:return this.parseForStatement(n);case 68:if(46===this.lookaheadCharCode())break;return s||this.raise(this.state.strict?A.StrictFunction:this.options.annexB?A.SloppyFunctionAnnexB:A.SloppyFunction,this.state.startLoc),this.parseFunctionStatement(n,!1,!r&&s);case 80:return r||this.unexpected(),this.parseClass(this.maybeTakeDecorators(t,n),!0);case 69:return this.parseIfStatement(n);case 70:return this.parseReturnStatement(n);case 71:return this.parseSwitchStatement(n);case 72:return this.parseThrowStatement(n);case 73:return this.parseTryStatement(n);case 96:if(this.isAwaitUsing())return this.allowsUsing()?r?this.recordAwaitIfAllowed()||this.raise(A.AwaitUsingNotInAsyncContext,n):this.raise(A.UnexpectedLexicalDeclaration,n):this.raise(A.UnexpectedUsingDeclaration,n),this.next(),this.parseVarStatement(n,"await using");break;case 107:if(this.state.containsEsc||!this.hasInLineFollowingBindingIdentifierOrBrace())break;return this.allowsUsing()?r||this.raise(A.UnexpectedLexicalDeclaration,this.state.startLoc):this.raise(A.UnexpectedUsingDeclaration,this.state.startLoc),this.parseVarStatement(n,"using");case 100:{if(this.state.containsEsc)break;let e=this.nextTokenStart(),t=this.codePointAtPos(e);if(91!==t&&(!r&&this.hasFollowingLineBreak()||!this.chStartsBindingIdentifier(t,e)&&123!==t))break}case 75:r||this.raise(A.UnexpectedLexicalDeclaration,this.state.startLoc);case 74:{let e=this.state.value;return this.parseVarStatement(n,e)}case 92:return this.parseWhileStatement(n);case 76:return this.parseWithStatement(n);case 5:return this.parseBlock();case 13:return this.parseEmptyStatement(n);case 83:{let e=this.lookaheadCharCode();if(40===e||46===e)break}case 82:{let e;return!(8&this.optionFlags)&&!i&&this.raise(A.UnexpectedImportExport,this.state.startLoc),this.next(),e=83===a?this.parseImport(n):this.parseExport(n,t),this.assertModuleNodeAllowed(e),e}default:if(this.isAsyncFunction())return r||this.raise(A.AsyncFunctionInSingleStatementContext,this.state.startLoc),this.next(),this.parseFunctionStatement(n,!0,!r&&s)}let o=this.state.value,l=this.parseExpression();return ne(a)&&"Identifier"===l.type&&this.eat(14)?this.parseLabeledStatement(n,o,l,e):this.parseExpressionStatement(n,l,t)}assertModuleNodeAllowed(e){!(8&this.optionFlags)&&!this.inModule&&this.raise(A.ImportOutsideModule,e)}decoratorsEnabledBeforeExport(){return!!this.hasPlugin("decorators-legacy")||this.hasPlugin("decorators")&&!1!==this.getPluginOption("decorators","decoratorsBeforeExport")}maybeTakeDecorators(e,t,a){return e&&(t.decorators?.length?("boolean"!=typeof this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(A.DecoratorsBeforeAfterExport,t.decorators[0]),t.decorators.unshift(...e)):t.decorators=e,this.resetStartLocationFromNode(t,e[0]),a&&this.resetStartLocationFromNode(a,t)),t}canHaveLeadingDecorator(){return this.match(80)}parseDecorators(e){let t=[];do{t.push(this.parseDecorator())}while(this.match(26));if(this.match(82))e||this.unexpected(),this.decoratorsEnabledBeforeExport()||this.raise(A.DecoratorExportClass,this.state.startLoc);else if(!this.canHaveLeadingDecorator())throw this.raise(A.UnexpectedLeadingDecorator,this.state.startLoc);return t}parseDecorator(){this.expectOnePlugin(["decorators","decorators-legacy"]);let e=this.startNode();if(this.next(),this.hasPlugin("decorators")){let t,a=this.state.startLoc;if(this.match(10)){let a=this.state.startLoc;this.next(),t=this.parseExpression(),this.expect(11),t=this.wrapParenthesis(a,t);let n=this.state.startLoc;e.expression=this.parseMaybeDecoratorArguments(t,a),!1===this.getPluginOption("decorators","allowCallParenthesized")&&e.expression!==t&&this.raise(A.DecoratorArgumentsOutsideParentheses,n)}else{for(t=this.parseIdentifier(!1);this.eat(16);){let e=this.startNodeAt(a);e.object=t,this.match(139)?(this.classScope.usePrivateName(this.state.value,this.state.startLoc),e.property=this.parsePrivateName()):e.property=this.parseIdentifier(!0),e.computed=!1,t=this.finishNode(e,"MemberExpression")}e.expression=this.parseMaybeDecoratorArguments(t,a)}}else e.expression=this.parseExprSubscripts();return this.finishNode(e,"Decorator")}parseMaybeDecoratorArguments(e,t){if(this.eat(10)){let a=this.startNodeAt(t);return a.callee=e,a.arguments=this.parseCallExpressionArguments(),this.toReferencedList(a.arguments),this.finishNode(a,"CallExpression")}return e}parseBreakContinueStatement(e,t){return this.next(),this.isLineTerminator()?e.label=null:(e.label=this.parseIdentifier(),this.semicolon()),this.verifyBreakContinue(e,t),this.finishNode(e,t?"BreakStatement":"ContinueStatement")}verifyBreakContinue(e,t){let a;for(a=0;athis.parseStatement()),this.state.labels.pop(),this.expect(92),e.test=this.parseHeaderExpression(),this.eat(13),this.finishNode(e,"DoWhileStatement")}parseForStatement(e){this.next(),this.state.labels.push(xa);let t=null;if(this.isContextual(96)&&this.recordAwaitIfAllowed()&&(t=this.state.startLoc,this.next()),this.scope.enter(0),this.expect(10),this.match(13))return null!==t&&this.unexpected(t),this.parseFor(e,null);let a=this.isContextual(100);{let n=this.isAwaitUsing(),r=n||this.isForUsing(),s=a&&this.hasFollowingBindingAtom()||r;if(this.match(74)||this.match(75)||s){let a,s=this.startNode();n?(a="await using",this.recordAwaitIfAllowed()||this.raise(A.AwaitUsingNotInAsyncContext,this.state.startLoc),this.next()):a=this.state.value,this.next(),this.parseVar(s,!0,a);let i=this.finishNode(s,"VariableDeclaration"),o=this.match(58);return o&&r&&this.raise(A.ForInUsing,i),(o||this.isContextual(102))&&1===i.declarations.length?this.parseForIn(e,i,t):(null!==t&&this.unexpected(t),this.parseFor(e,i))}}let n=this.isContextual(95),r=new Wt,s=this.parseExpression(!0,r),i=this.isContextual(102);if(i&&(a&&this.raise(A.ForOfLet,s),null===t&&n&&"Identifier"===s.type&&this.raise(A.ForOfAsync,s)),i||this.match(58)){this.checkDestructuringPrivate(r),this.toAssignable(s,!0);let a=i?"ForOfStatement":"ForInStatement";return this.checkLVal(s,{type:a}),this.parseForIn(e,s,t)}return this.checkExpressionErrors(r,!0),null!==t&&this.unexpected(t),this.parseFor(e,s)}parseFunctionStatement(e,t,a){return this.next(),this.parseFunction(e,1|(a?2:0)|(t?8:0))}parseIfStatement(e){return this.next(),e.test=this.parseHeaderExpression(),e.consequent=this.parseStatementOrSloppyAnnexBFunctionDeclaration(),e.alternate=this.eat(66)?this.parseStatementOrSloppyAnnexBFunctionDeclaration():null,this.finishNode(e,"IfStatement")}parseReturnStatement(e){return this.prodParam.hasReturn||this.raise(A.IllegalReturn,this.state.startLoc),this.next(),this.isLineTerminator()?e.argument=null:(e.argument=this.parseExpression(),this.semicolon()),this.finishNode(e,"ReturnStatement")}parseSwitchStatement(e){this.next(),e.discriminant=this.parseHeaderExpression();let t,a=e.cases=[];this.expect(5),this.state.labels.push(ka),this.scope.enter(256);for(let n;!this.match(8);)if(this.match(61)||this.match(65)){let e=this.match(61);t&&this.finishNode(t,"SwitchCase"),a.push(t=this.startNode()),t.consequent=[],this.next(),e?t.test=this.parseExpression():(n&&this.raise(A.MultipleDefaultsInSwitch,this.state.lastTokStartLoc),n=!0,t.test=null),this.expect(14)}else t?t.consequent.push(this.parseStatementListItem()):this.unexpected();return this.scope.exit(),t&&this.finishNode(t,"SwitchCase"),this.next(),this.state.labels.pop(),this.finishNode(e,"SwitchStatement")}parseThrowStatement(e){return this.next(),this.hasPrecedingLineBreak()&&this.raise(A.NewlineAfterThrow,this.state.lastTokEndLoc),e.argument=this.parseExpression(),this.semicolon(),this.finishNode(e,"ThrowStatement")}parseCatchClauseParam(){let e=this.parseBindingAtom();return this.scope.enter(this.options.annexB&&"Identifier"===e.type?8:0),this.checkLVal(e,{type:"CatchClause"},9),e}parseTryStatement(e){if(this.next(),e.block=this.parseBlock(),e.handler=null,this.match(62)){let t=this.startNode();this.next(),this.match(10)?(this.expect(10),t.param=this.parseCatchClauseParam(),this.expect(11)):(t.param=null,this.scope.enter(0)),t.body=this.withSmartMixTopicForbiddingContext(()=>this.parseBlock(!1,!1)),this.scope.exit(),e.handler=this.finishNode(t,"CatchClause")}return e.finalizer=this.eat(67)?this.parseBlock():null,!e.handler&&!e.finalizer&&this.raise(A.NoCatchOrFinally,e),this.finishNode(e,"TryStatement")}parseVarStatement(e,t,a=!1){return this.next(),this.parseVar(e,!1,t,a),this.semicolon(),this.finishNode(e,"VariableDeclaration")}parseWhileStatement(e){return this.next(),e.test=this.parseHeaderExpression(),this.state.labels.push(xa),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.state.labels.pop(),this.finishNode(e,"WhileStatement")}parseWithStatement(e){return this.state.strict&&this.raise(A.StrictWith,this.state.startLoc),this.next(),e.object=this.parseHeaderExpression(),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.finishNode(e,"WithStatement")}parseEmptyStatement(e){return this.next(),this.finishNode(e,"EmptyStatement")}parseLabeledStatement(e,t,a,n){for(let s of this.state.labels)s.name===t&&this.raise(A.LabelRedeclaration,a,{labelName:t});let r=de(this.state.type)?1:this.match(71)?2:null;for(let s=this.state.labels.length-1;s>=0;s--){let t=this.state.labels[s];if(t.statementStart!==e.start)break;t.statementStart=this.sourceToOffsetPos(this.state.start),t.kind=r}return this.state.labels.push({name:t,kind:r,statementStart:this.sourceToOffsetPos(this.state.start)}),e.body=8&n?this.parseStatementOrSloppyAnnexBFunctionDeclaration(!0):this.parseStatement(),this.state.labels.pop(),e.label=a,this.finishNode(e,"LabeledStatement")}parseExpressionStatement(e,t,a){return e.expression=t,this.semicolon(),this.finishNode(e,"ExpressionStatement")}parseBlock(e=!1,t=!0,a){let n=this.startNode();return e&&this.state.strictErrors.clear(),this.expect(5),t&&this.scope.enter(0),this.parseBlockBody(n,e,!1,8,a),t&&this.scope.exit(),this.finishNode(n,"BlockStatement")}isValidDirective(e){return"ExpressionStatement"===e.type&&"StringLiteral"===e.expression.type&&!e.expression.extra.parenthesized}parseBlockBody(e,t,a,n,r){let s=e.body=[],i=e.directives=[];this.parseBlockOrModuleBlockBody(s,t?i:void 0,a,n,r)}parseBlockOrModuleBlockBody(e,t,a,n,r){let s=this.state.strict,i=!1,o=!1;for(;!this.match(n);){let n=a?this.parseModuleItem():this.parseStatementListItem();if(t&&!o){if(this.isValidDirective(n)){let e=this.stmtToDirective(n);t.push(e),!i&&"use strict"===e.value.value&&(i=!0,this.setStrict(!0));continue}o=!0,this.state.strictErrors.clear()}e.push(n)}r?.call(this,i),s||this.setStrict(!1),this.next()}parseFor(e,t){return e.init=t,this.semicolon(!1),e.test=this.match(13)?null:this.parseExpression(),this.semicolon(!1),e.update=this.match(11)?null:this.parseExpression(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,"ForStatement")}parseForIn(e,t,a){let n=this.match(58);return this.next(),n?null!==a&&this.unexpected(a):e.await=null!==a,"VariableDeclaration"===t.type&&null!=t.declarations[0].init&&(!n||!this.options.annexB||this.state.strict||"var"!==t.kind||"Identifier"!==t.declarations[0].id.type)&&this.raise(A.ForInOfLoopInitializer,t,{type:n?"ForInStatement":"ForOfStatement"}),"AssignmentPattern"===t.type&&this.raise(A.InvalidLhs,t,{ancestor:{type:"ForStatement"}}),e.left=t,e.right=n?this.parseExpression():this.parseMaybeAssignAllowIn(),this.expect(11),e.body=this.withSmartMixTopicForbiddingContext(()=>this.parseStatement()),this.scope.exit(),this.state.labels.pop(),this.finishNode(e,n?"ForInStatement":"ForOfStatement")}parseVar(e,t,a,n=!1){let r=e.declarations=[];for(e.kind=a;;){let e=this.startNode();if(this.parseVarId(e,a),e.init=this.eat(29)?t?this.parseMaybeAssignDisallowIn():this.parseMaybeAssignAllowIn():null,null===e.init&&!n&&("Identifier"===e.id.type||t&&(this.match(58)||this.isContextual(102))?("const"===a||"using"===a||"await using"===a)&&!(this.match(58)||this.isContextual(102))&&this.raise(A.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:a}):this.raise(A.DeclarationMissingInitializer,this.state.lastTokEndLoc,{kind:"destructuring"})),r.push(this.finishNode(e,"VariableDeclarator")),!this.eat(12))break}return e}parseVarId(e,t){let a=this.parseBindingAtom();"using"===t||"await using"===t?("ArrayPattern"===a.type||"ObjectPattern"===a.type)&&this.raise(A.UsingDeclarationHasBindingPattern,a.loc.start):"VoidPattern"===a.type&&this.raise(A.UnexpectedVoidPattern,a.loc.start),this.checkLVal(a,{type:"VariableDeclarator"},"var"===t?5:8201),e.id=a}parseAsyncFunctionExpression(e){return this.parseFunction(e,8)}parseFunction(e,t=0){let a=2&t,n=!!(1&t),r=n&&!(4&t),s=!!(8&t);this.initFunction(e,s),this.match(55)&&(a&&this.raise(A.GeneratorInSingleStatementContext,this.state.startLoc),this.next(),e.generator=!0),n&&(e.id=this.parseFunctionId(r));let i=this.state.maybeInArrowParameters;return this.state.maybeInArrowParameters=!1,this.scope.enter(514),this.prodParam.enter(mt(s,e.generator)),n||(e.id=this.parseFunctionId()),this.parseFunctionParams(e,!1),this.withSmartMixTopicForbiddingContext(()=>{this.parseFunctionBodyAndFinish(e,n?"FunctionDeclaration":"FunctionExpression")}),this.prodParam.exit(),this.scope.exit(),n&&!a&&this.registerFunctionStatementId(e),this.state.maybeInArrowParameters=i,e}parseFunctionId(e){return e||ne(this.state.type)?this.parseIdentifier():null}parseFunctionParams(e,t){this.expect(10),this.expressionScope.enter(zt()),e.params=this.parseBindingList(11,41,2|(t?4:0)),this.expressionScope.exit()}registerFunctionStatementId(e){e.id&&this.scope.declareName(e.id.name,!this.options.annexB||this.state.strict||e.generator||e.async?this.scope.treatFunctionsAsVar?5:8201:17,e.id.loc.start)}parseClass(e,t,a){this.next();let n=this.state.strict;return this.state.strict=!0,this.parseClassId(e,t,a),this.parseClassSuper(e),e.body=this.parseClassBody(!!e.superClass,n),this.finishNode(e,t?"ClassDeclaration":"ClassExpression")}isClassProperty(){return this.match(29)||this.match(13)||this.match(8)}isClassMethod(){return this.match(10)}nameIsConstructor(e){return"Identifier"===e.type&&"constructor"===e.name||"StringLiteral"===e.type&&"constructor"===e.value}isNonstaticConstructor(e){return!e.computed&&!e.static&&this.nameIsConstructor(e.key)}parseClassBody(e,t){this.classScope.enter();let a={hadConstructor:!1,hadSuperClass:e},n=[],r=this.startNode();if(r.body=[],this.expect(5),this.withSmartMixTopicForbiddingContext(()=>{for(;!this.match(8);){if(this.eat(13)){if(n.length>0)throw this.raise(A.DecoratorSemicolon,this.state.lastTokEndLoc);continue}if(this.match(26)){n.push(this.parseDecorator());continue}let e=this.startNode();n.length&&(e.decorators=n,this.resetStartLocationFromNode(e,n[0]),n=[]),this.parseClassMember(r,e,a),"constructor"===e.kind&&e.decorators&&e.decorators.length>0&&this.raise(A.DecoratorConstructor,e)}}),this.state.strict=t,this.next(),n.length)throw this.raise(A.TrailingDecorator,this.state.startLoc);return this.classScope.exit(),this.finishNode(r,"ClassBody")}parseClassMemberFromModifier(e,t){let a=this.parseIdentifier(!0);if(this.isClassMethod()){let n=t;return n.kind="method",n.computed=!1,n.key=a,n.static=!1,this.pushClassMethod(e,n,!1,!1,!1,!1),!0}if(this.isClassProperty()){let n=t;return n.computed=!1,n.key=a,n.static=!1,e.body.push(this.parseClassProperty(n)),!0}return this.resetPreviousNodeTrailingComments(a),!1}parseClassMember(e,t,a){let n=this.isContextual(106);if(n){if(this.parseClassMemberFromModifier(e,t))return;if(this.eat(5))return void this.parseClassStaticBlock(e,t)}this.parseClassMemberWithIsStatic(e,t,a,n)}parseClassMemberWithIsStatic(e,t,a,n){let r=t,s=t,i=t,o=t,l=t,c=r,u=r;if(t.static=n,this.parsePropertyNamePrefixOperator(t),this.eat(55)){c.kind="method";let t=this.match(139);return this.parseClassElementName(c),this.parsePostMemberNameModifiers(c),t?void this.pushClassPrivateMethod(e,s,!0,!1):(this.isNonstaticConstructor(r)&&this.raise(A.ConstructorIsGenerator,r.key),void this.pushClassMethod(e,r,!0,!1,!1,!1))}let d=!this.state.containsEsc&&ne(this.state.type),h=this.parseClassElementName(t),p=d?h.name:null,f=this.isPrivateName(h),m=this.state.startLoc;if(this.parsePostMemberNameModifiers(u),this.isClassMethod()){if(c.kind="method",f)return void this.pushClassPrivateMethod(e,s,!1,!1);let n=this.isNonstaticConstructor(r),i=!1;n&&(r.kind="constructor",a.hadConstructor&&!this.hasPlugin("typescript")&&this.raise(A.DuplicateConstructor,h),n&&this.hasPlugin("typescript")&&t.override&&this.raise(A.OverrideOnConstructor,h),a.hadConstructor=!0,i=a.hadSuperClass),this.pushClassMethod(e,r,!1,!1,n,i)}else if(this.isClassProperty())f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,i);else if("async"!==p||this.isLineTerminator())if("get"!==p&&"set"!==p||this.match(55)&&this.isLineTerminator())if("accessor"!==p||this.isLineTerminator())this.isLineTerminator()?f?this.pushClassPrivateProperty(e,o):this.pushClassProperty(e,i):this.unexpected();else{this.expectPlugin("decoratorAutoAccessors"),this.resetPreviousNodeTrailingComments(h);let t=this.match(139);this.parseClassElementName(i),this.pushClassAccessorProperty(e,l,t)}else{this.resetPreviousNodeTrailingComments(h),c.kind=p;let t=this.match(139);this.parseClassElementName(r),t?this.pushClassPrivateMethod(e,s,!1,!1):(this.isNonstaticConstructor(r)&&this.raise(A.ConstructorIsAccessor,r.key),this.pushClassMethod(e,r,!1,!1,!1,!1)),this.checkGetterSetterParams(r)}else{this.resetPreviousNodeTrailingComments(h);let t=this.eat(55);u.optional&&this.unexpected(m),c.kind="method";let a=this.match(139);this.parseClassElementName(c),this.parsePostMemberNameModifiers(u),a?this.pushClassPrivateMethod(e,s,t,!0):(this.isNonstaticConstructor(r)&&this.raise(A.ConstructorIsAsync,r.key),this.pushClassMethod(e,r,t,!0,!1,!1))}}parseClassElementName(e){let{type:t,value:a}=this.state;if((132===t||134===t)&&e.static&&"prototype"===a&&this.raise(A.StaticPrototype,this.state.startLoc),139===t){"constructor"===a&&this.raise(A.ConstructorClassPrivateField,this.state.startLoc);let t=this.parsePrivateName();return e.key=t,t}return this.parsePropertyName(e),e.key}parseClassStaticBlock(e,t){this.scope.enter(720);let a=this.state.labels;this.state.labels=[],this.prodParam.enter(0);let n=t.body=[];this.parseBlockOrModuleBlockBody(n,void 0,!1,8),this.prodParam.exit(),this.scope.exit(),this.state.labels=a,e.body.push(this.finishNode(t,"StaticBlock")),t.decorators?.length&&this.raise(A.DecoratorStaticBlock,t)}pushClassProperty(e,t){!t.computed&&this.nameIsConstructor(t.key)&&this.raise(A.ConstructorClassField,t.key),e.body.push(this.parseClassProperty(t))}pushClassPrivateProperty(e,t){let a=this.parseClassPrivateProperty(t);e.body.push(a),this.classScope.declarePrivateName(this.getPrivateNameSV(a.key),0,a.key.loc.start)}pushClassAccessorProperty(e,t,a){!a&&!t.computed&&this.nameIsConstructor(t.key)&&this.raise(A.ConstructorClassField,t.key);let n=this.parseClassAccessorProperty(t);e.body.push(n),a&&this.classScope.declarePrivateName(this.getPrivateNameSV(n.key),0,n.key.loc.start)}pushClassMethod(e,t,a,n,r,s){e.body.push(this.parseMethod(t,a,n,r,s,"ClassMethod",!0))}pushClassPrivateMethod(e,t,a,n){let r=this.parseMethod(t,a,n,!1,!1,"ClassPrivateMethod",!0);e.body.push(r);let s="get"===r.kind?r.static?6:2:"set"===r.kind?r.static?5:1:0;this.declareClassPrivateMethodInScope(r,s)}declareClassPrivateMethodInScope(e,t){this.classScope.declarePrivateName(this.getPrivateNameSV(e.key),t,e.key.loc.start)}parsePostMemberNameModifiers(e){}parseClassPrivateProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassPrivateProperty")}parseClassProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassProperty")}parseClassAccessorProperty(e){return this.parseInitializer(e),this.semicolon(),this.finishNode(e,"ClassAccessorProperty")}parseInitializer(e){this.scope.enter(592),this.expressionScope.enter(Yt()),this.prodParam.enter(0),e.value=this.eat(29)?this.parseMaybeAssignAllowIn():null,this.expressionScope.exit(),this.prodParam.exit(),this.scope.exit()}parseClassId(e,t,a,n=8331){if(ne(this.state.type))e.id=this.parseIdentifier(),t&&this.declareNameFromIdentifier(e.id,n);else{if(!a&&t)throw this.raise(A.MissingClassName,this.state.startLoc);e.id=null}}parseClassSuper(e){e.superClass=this.eat(81)?this.parseExprSubscripts():null}parseExport(e,t){let a=this.parseMaybeImportPhase(e,!0),n=this.maybeParseExportDefaultSpecifier(e,a),r=!n||this.eat(12),s=r&&this.eatExportStar(e),i=s&&this.maybeParseExportNamespaceSpecifier(e),o=r&&(!i||this.eat(12)),l=n||s;if(s&&!i){if(n&&this.unexpected(),t)throw this.raise(A.UnsupportedDecoratorExport,e);return this.parseExportFrom(e,!0),this.sawUnambiguousESM=!0,this.finishNode(e,"ExportAllDeclaration")}let c,u=this.maybeParseExportNamedSpecifiers(e);if(n&&r&&!s&&!u&&this.unexpected(null,5),i&&o&&this.unexpected(null,98),l||u){if(c=!1,t)throw this.raise(A.UnsupportedDecoratorExport,e);this.parseExportFrom(e,l)}else c=this.maybeParseExportDeclaration(e);if(l||u||c){let a=e;if(this.checkExport(a,!0,!1,!!a.source),"ClassDeclaration"===a.declaration?.type)this.maybeTakeDecorators(t,a.declaration,a);else if(t)throw this.raise(A.UnsupportedDecoratorExport,e);return this.sawUnambiguousESM=!0,this.finishNode(a,"ExportNamedDeclaration")}if(this.eat(65)){let a=e,n=this.parseExportDefaultExpression();if(a.declaration=n,"ClassDeclaration"===n.type)this.maybeTakeDecorators(t,n,a);else if(t)throw this.raise(A.UnsupportedDecoratorExport,e);return this.checkExport(a,!0,!0),this.sawUnambiguousESM=!0,this.finishNode(a,"ExportDefaultDeclaration")}throw this.unexpected(null,5)}eatExportStar(e){return this.eat(55)}maybeParseExportDefaultSpecifier(e,t){if(t||this.isExportDefaultSpecifier()){this.expectPlugin("exportDefaultFrom",t?.loc.start);let a=t||this.parseIdentifier(!0),n=this.startNodeAtNode(a);return n.exported=a,e.specifiers=[this.finishNode(n,"ExportDefaultSpecifier")],!0}return!1}maybeParseExportNamespaceSpecifier(e){if(this.isContextual(93)){e.specifiers??(e.specifiers=[]);let t=this.startNodeAt(this.state.lastTokStartLoc);return this.next(),t.exported=this.parseModuleExportName(),e.specifiers.push(this.finishNode(t,"ExportNamespaceSpecifier")),!0}return!1}maybeParseExportNamedSpecifiers(e){if(this.match(5)){let t=e;t.specifiers||(t.specifiers=[]);let a="type"===t.exportKind;return t.specifiers.push(...this.parseExportSpecifiers(a)),t.source=null,t.attributes=[],t.declaration=null,!0}return!1}maybeParseExportDeclaration(e){return!!this.shouldParseExportDeclaration()&&(e.specifiers=[],e.source=null,e.attributes=[],e.declaration=this.parseExportDeclaration(e),!0)}isAsyncFunction(){if(!this.isContextual(95))return!1;let e=this.nextTokenInLineStart();return this.isUnparsedContextual(e,"function")}parseExportDefaultExpression(){let e=this.startNode();if(this.match(68))return this.next(),this.parseFunction(e,5);if(this.isAsyncFunction())return this.next(),this.next(),this.parseFunction(e,13);if(this.match(80))return this.parseClass(e,!0,!0);if(this.match(26))return this.hasPlugin("decorators")&&!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(A.DecoratorBeforeExport,this.state.startLoc),this.parseClass(this.maybeTakeDecorators(this.parseDecorators(!1),this.startNode()),!0,!0);if(this.match(75)||this.match(74)||this.isLet()||this.isUsing()||this.isAwaitUsing())throw this.raise(A.UnsupportedDefaultExport,this.state.startLoc);let t=this.parseMaybeAssignAllowIn();return this.semicolon(),t}parseExportDeclaration(e){return this.match(80)?this.parseClass(this.startNode(),!0,!1):this.parseStatementListItem()}isExportDefaultSpecifier(){let{type:e}=this.state;if(ne(e)){if(95===e&&!this.state.containsEsc||100===e)return!1;if((130===e||129===e)&&!this.state.containsEsc){let e=this.nextTokenStart(),t=this.input.charCodeAt(e);if(123===t||this.chStartsBindingIdentifier(t,e)&&!this.input.startsWith("from",e))return this.expectOnePlugin(["flow","typescript"]),!1}}else if(!this.match(65))return!1;let t=this.nextTokenStart(),a=this.isUnparsedContextual(t,"from");if(44===this.input.charCodeAt(t)||ne(this.state.type)&&a)return!0;if(this.match(65)&&a){let e=this.input.charCodeAt(this.nextTokenStartSince(t+4));return 34===e||39===e}return!1}parseExportFrom(e,t){this.eatContextual(98)?(e.source=this.parseImportSource(),this.checkExport(e),this.maybeParseImportAttributes(e),this.checkJSONModuleImport(e)):t&&this.unexpected(),this.semicolon()}shouldParseExportDeclaration(){let{type:e}=this.state;return 26===e&&(this.expectOnePlugin(["decorators","decorators-legacy"]),this.hasPlugin("decorators"))?(!0===this.getPluginOption("decorators","decoratorsBeforeExport")&&this.raise(A.DecoratorBeforeExport,this.state.startLoc),!0):this.isUsing()||this.isAwaitUsing()?(this.raise(A.UsingDeclarationExport,this.state.startLoc),!0):74===e||75===e||68===e||80===e||this.isLet()||this.isAsyncFunction()}checkExport(e,t,a,n){if(t)if(a){if(this.checkDuplicateExports(e,"default"),this.hasPlugin("exportDefaultFrom")){let t=e.declaration;"Identifier"===t.type&&"from"===t.name&&t.end-t.start===4&&!t.extra?.parenthesized&&this.raise(A.ExportDefaultFromAsIdentifier,t)}}else if(e.specifiers?.length)for(let r of e.specifiers){let{exported:e}=r,t="Identifier"===e.type?e.name:e.value;if(this.checkDuplicateExports(r,t),!n&&r.local){let{local:e}=r;"Identifier"!==e.type?this.raise(A.ExportBindingIsString,r,{localName:e.value,exportName:t}):(this.checkReservedWord(e.name,e.loc.start,!0,!1),this.scope.checkLocalExport(e))}}else if(e.declaration){let t=e.declaration;if("FunctionDeclaration"===t.type||"ClassDeclaration"===t.type){let{id:a}=t;if(!a)throw new Error("Assertion failure");this.checkDuplicateExports(e,a.name)}else if("VariableDeclaration"===t.type)for(let e of t.declarations)this.checkDeclaration(e.id)}}checkDeclaration(e){if("Identifier"===e.type)this.checkDuplicateExports(e,e.name);else if("ObjectPattern"===e.type)for(let t of e.properties)this.checkDeclaration(t);else if("ArrayPattern"===e.type)for(let t of e.elements)t&&this.checkDeclaration(t);else"ObjectProperty"===e.type?this.checkDeclaration(e.value):"RestElement"===e.type?this.checkDeclaration(e.argument):"AssignmentPattern"===e.type&&this.checkDeclaration(e.left)}checkDuplicateExports(e,t){this.exportedIdentifiers.has(t)&&("default"===t?this.raise(A.DuplicateDefaultExport,e):this.raise(A.DuplicateExport,e,{exportName:t})),this.exportedIdentifiers.add(t)}parseExportSpecifiers(e){let t=[],a=!0;for(this.expect(5);!this.eat(8);){if(a)a=!1;else if(this.expect(12),this.eat(8))break;let n=this.isContextual(130),r=this.match(134),s=this.startNode();s.local=this.parseModuleExportName(),t.push(this.parseExportSpecifier(s,r,e,n))}return t}parseExportSpecifier(e,t,a,n){return this.eatContextual(93)?e.exported=this.parseModuleExportName():t?e.exported=this.cloneStringLiteral(e.local):e.exported||(e.exported=this.cloneIdentifier(e.local)),this.finishNode(e,"ExportSpecifier")}parseModuleExportName(){if(this.match(134)){let e=this.parseStringLiteral(this.state.value),t=_a.exec(e.value);return t&&this.raise(A.ModuleExportNameHasLoneSurrogate,e,{surrogateCharCode:t[0].charCodeAt(0)}),e}return this.parseIdentifier(!0)}isJSONModuleImport(e){return null!=e.assertions&&e.assertions.some(({key:e,value:t})=>"json"===t.value&&("Identifier"===e.type?"type"===e.name:"type"===e.value))}checkImportReflection(e){let{specifiers:t}=e,a=1===t.length?t[0].type:null;"source"===e.phase?"ImportDefaultSpecifier"!==a&&this.raise(A.SourcePhaseImportRequiresDefault,t[0].loc.start):"defer"===e.phase?"ImportNamespaceSpecifier"!==a&&this.raise(A.DeferImportRequiresNamespace,t[0].loc.start):e.module&&("ImportDefaultSpecifier"!==a&&this.raise(A.ImportReflectionNotBinding,t[0].loc.start),e.assertions?.length>0&&this.raise(A.ImportReflectionHasAssertion,t[0].loc.start))}checkJSONModuleImport(e){if(this.isJSONModuleImport(e)&&"ExportAllDeclaration"!==e.type){let{specifiers:t}=e;if(null!=t){let e=t.find(e=>{let t;if("ExportSpecifier"===e.type?t=e.local:"ImportSpecifier"===e.type&&(t=e.imported),void 0!==t)return"Identifier"===t.type?"default"!==t.name:"default"!==t.value});void 0!==e&&this.raise(A.ImportJSONBindingNotDefault,e.loc.start)}}}isPotentialImportPhase(e){return!e&&(this.isContextual(105)||this.isContextual(97))}applyImportPhase(e,t,a,n){t||(this.hasPlugin("importReflection")&&(e.module=!1),"source"===a?(this.expectPlugin("sourcePhaseImports",n),e.phase="source"):"defer"===a?(this.expectPlugin("deferredImportEvaluation",n),e.phase="defer"):this.hasPlugin("sourcePhaseImports")&&(e.phase=null))}parseMaybeImportPhase(e,t){if(!this.isPotentialImportPhase(t))return this.applyImportPhase(e,t,null),null;let a=this.startNode(),n=this.parseIdentifierName(!0),{type:r}=this.state;return(se(r)?98!==r||102===this.lookaheadCharCode():12!==r)?(this.applyImportPhase(e,t,n,a.loc.start),null):(this.applyImportPhase(e,t,null),this.createIdentifier(a,n))}isPrecedingIdImportPhase(e){let{type:t}=this.state;return ne(t)?98!==t||102===this.lookaheadCharCode():12!==t}parseImport(e){return this.match(134)?this.parseImportSourceAndAttributes(e):this.parseImportSpecifiersAndAfter(e,this.parseMaybeImportPhase(e,!1))}parseImportSpecifiersAndAfter(e,t){e.specifiers=[];let a=!this.maybeParseDefaultImportSpecifier(e,t)||this.eat(12),n=a&&this.maybeParseStarImportSpecifier(e);return a&&!n&&this.parseNamedImportSpecifiers(e),this.expectContextual(98),this.parseImportSourceAndAttributes(e)}parseImportSourceAndAttributes(e){return e.specifiers??(e.specifiers=[]),e.source=this.parseImportSource(),this.maybeParseImportAttributes(e),this.checkImportReflection(e),this.checkJSONModuleImport(e),this.semicolon(),this.sawUnambiguousESM=!0,this.finishNode(e,"ImportDeclaration")}parseImportSource(){return this.match(134)||this.unexpected(),this.parseExprAtom()}parseImportSpecifierLocal(e,t,a){t.local=this.parseIdentifier(),e.specifiers.push(this.finishImportSpecifier(t,a))}finishImportSpecifier(e,t,a=8201){return this.checkLVal(e.local,{type:t},a),this.finishNode(e,t)}parseImportAttributes(){this.expect(5);let e=[],t=new Set;do{if(this.match(8))break;let a=this.startNode(),n=this.state.value;if(t.has(n)&&this.raise(A.ModuleAttributesWithDuplicateKeys,this.state.startLoc,{key:n}),t.add(n),this.match(134)?a.key=this.parseStringLiteral(n):a.key=this.parseIdentifier(!0),this.expect(14),!this.match(134))throw this.raise(A.ModuleAttributeInvalidValue,this.state.startLoc);a.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(a,"ImportAttribute"))}while(this.eat(12));return this.expect(8),e}parseModuleAttributes(){let e=[],t=new Set;do{let a=this.startNode();if(a.key=this.parseIdentifier(!0),"type"!==a.key.name&&this.raise(A.ModuleAttributeDifferentFromType,a.key),t.has(a.key.name)&&this.raise(A.ModuleAttributesWithDuplicateKeys,a.key,{key:a.key.name}),t.add(a.key.name),this.expect(14),!this.match(134))throw this.raise(A.ModuleAttributeInvalidValue,this.state.startLoc);a.value=this.parseStringLiteral(this.state.value),e.push(this.finishNode(a,"ImportAttribute"))}while(this.eat(12));return e}maybeParseImportAttributes(e){let t;if(this.match(76)){if(this.hasPrecedingLineBreak()&&40===this.lookaheadCharCode())return;this.next(),t=this.parseImportAttributes()}else this.isContextual(94)&&!this.hasPrecedingLineBreak()?(this.hasPlugin("deprecatedImportAssert")||this.raise(A.ImportAttributesUseAssert,this.state.startLoc),this.addExtra(e,"deprecatedAssertSyntax",!0),this.next(),t=this.parseImportAttributes()):t=[];e.attributes=t}maybeParseDefaultImportSpecifier(e,t){if(t){let a=this.startNodeAtNode(t);return a.local=t,e.specifiers.push(this.finishImportSpecifier(a,"ImportDefaultSpecifier")),!0}return!!se(this.state.type)&&(this.parseImportSpecifierLocal(e,this.startNode(),"ImportDefaultSpecifier"),!0)}maybeParseStarImportSpecifier(e){if(this.match(55)){let t=this.startNode();return this.next(),this.expectContextual(93),this.parseImportSpecifierLocal(e,t,"ImportNamespaceSpecifier"),!0}return!1}parseNamedImportSpecifiers(e){let t=!0;for(this.expect(5);!this.eat(8);){if(t)t=!1;else{if(this.eat(14))throw this.raise(A.DestructureNamedImport,this.state.startLoc);if(this.expect(12),this.eat(8))break}let a=this.startNode(),n=this.match(134),r=this.isContextual(130);a.imported=this.parseModuleExportName();let s=this.parseImportSpecifier(a,n,"type"===e.importKind||"typeof"===e.importKind,r,void 0);e.specifiers.push(s)}}parseImportSpecifier(e,t,a,n,r){if(this.eatContextual(93))e.local=this.parseIdentifier();else{let{imported:a}=e;if(t)throw this.raise(A.ImportBindingIsString,e,{importName:a.value});this.checkReservedWord(a.name,e.loc.start,!0,!0),e.local||(e.local=this.cloneIdentifier(a))}return this.finishImportSpecifier(e,"ImportSpecifier",r)}isThisParam(e){return"Identifier"===e.type&&"this"===e.name}},Da=class extends Fa{constructor(e,t,a){let n=S(e);super(n,t),this.options=n,this.initializeScopes(),this.plugins=a,this.filename=n.sourceFilename,this.startIndex=n.startIndex;let r=0;n.allowAwaitOutsideFunction&&(r|=1),n.allowReturnOutsideFunction&&(r|=2),n.allowImportExportEverywhere&&(r|=8),n.allowSuperOutsideMethod&&(r|=16),n.allowUndeclaredExports&&(r|=64),n.allowNewTargetOutsideFunction&&(r|=4),n.allowYieldOutsideFunction&&(r|=32),n.ranges&&(r|=128),n.tokens&&(r|=256),n.createImportExpressions&&(r|=512),n.createParenthesizedExpressions&&(r|=1024),n.errorRecovery&&(r|=2048),n.attachComment&&(r|=4096),n.annexB&&(r|=8192),this.optionFlags=r}getScopeHandler(){return Ge}parse(){this.enterInitialScopes();let e=this.startNode(),t=this.startNode();this.nextToken(),e.errors=null;let a=this.parseTopLevel(e,t);return a.errors=this.state.errors,a.comments.length=this.state.commentsLen,a}};function Aa(e,t){if("unambiguous"!==t?.sourceType)return Ia(t,e).parse();t=Object.assign({},t);try{t.sourceType="module";let a=Ia(t,e),n=a.parse();if(a.sawUnambiguousESM)return n;if(a.ambiguousScriptDifferentAst)try{return t.sourceType="script",Ia(t,e).parse()}catch{}else n.program.sourceType="script";return n}catch(mB){try{return t.sourceType="script",Ia(t,e).parse()}catch{}throw mB}}function Ta(e,t){let a=Ia(t,e);return a.options.strictMode&&(a.state.strict=!0),a.getExpression()}function Sa(e){let t={};for(let a of Object.keys(e))t[a]=ke(e[a]);return t}function Ia(e,t){let a=Da,n=new Map;if(e?.plugins){for(let t of e.plugins){let e,a;"string"==typeof t?e=t:[e,a]=t,n.has(e)||n.set(e,a||{})}ya(n),a=Pa(n)}return new a(e,t,n)}Sa(ae);var Na=new Map;function Pa(e){let t=[];for(let r of ba)e.has(r)&&t.push(r);let a=t.join("|"),n=Na.get(a);if(!n){n=Da;for(let e of t)n=va[e](n);Na.set(a,n)}return n}function Ba(e){return(t,a,n)=>{let r=!!n?.backwards;if(!1===a)return!1;let{length:s}=t,i=a;for(;i>=0&&i"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e;function Ra(e,t,a){let n=!!a?.backwards;if(!1===t)return!1;let r=e.charAt(t);if(n){if("\r"===e.charAt(t-1)&&"\n"===r)return t-2;if(La(r))return t-1}else{if("\r"===r&&"\n"===e.charAt(t+1))return t+2;if(La(r))return t+1}return t}var za=Ra;function Ha(e,t){return!1!==t&&("/"===e.charAt(t)&&"/"===e.charAt(t+1)?Oa(e,t):t)}var $a=Ha;function Ya(e,t){let a=null,n=t;for(;n!==a;)a=n,n=Ma(e,n),n=ja(e,n),n=$a(e,n),n=za(e,n);return n}var Ga=Ya;function Wa(e){let t=[];for(let n of e)try{return n()}catch(a){t.push(a)}throw Object.assign(new Error("All combinations failed"),{errors:t})}function Va(e){if(!e.startsWith("#!"))return"";let t=e.indexOf("\n");return-1===t?e:e.slice(0,t)}var Ka=Va,Ja=(e,t)=>(a,n,...r)=>1|a&&null==n?void 0:(t.call(n)??n[e]).apply(n,r),qa=Array.prototype.findLast??function(e){for(let t=this.length-1;t>=0;t--){let a=this[t];if(e(a,t,this))return a}},Za=Ja("findLast",function(){if(Array.isArray(this))return qa});function Xa(e){return this[e<0?this.length+e:e]}var Qa=Ja("at",function(){if(Array.isArray(this)||"string"==typeof this)return Xa});function en(e){let t=e.range?.[0]??e.start,a=(e.declaration?.decorators??e.decorators)?.[0];return a?Math.min(en(a),t):t}function tn(e){return e.range?.[1]??e.end}function an(e){let t=new Set(e);return e=>t.has(e?.type)}var nn=an,rn=nn(["Block","CommentBlock","MultiLine"]),sn=nn(["Line","CommentLine","SingleLine","HashbangComment","HTMLOpen","HTMLClose","Hashbang","InterpreterDirective"]),on=new WeakMap;function ln(e){return on.has(e)||on.set(e,rn(e)&&"*"===e.value[0]&&/@(?:type|satisfies)\b/u.test(e.value)),on.get(e)}var cn=ln;function un(e){if(!rn(e))return!1;let t=`*${e.value}*`.split("\n");return t.length>1&&t.every(e=>"*"===e.trimStart()[0])}var dn=new WeakMap;function hn(e){return dn.has(e)||dn.set(e,un(e)),dn.get(e)}var pn=hn;function fn(e){if(e.length<2)return;let t;for(let a=e.length-1;a>=0;a--){let n=e[a];if(t&&tn(n)===en(t)&&pn(n)&&pn(t)&&(e.splice(a+1,1),n.value+="*//*"+t.value,n.range=[en(n),tn(t)]),!sn(n)&&!rn(n))throw new TypeError(`Unknown comment type: "${n.type}".`);t=n}}var mn=fn;function gn(e){return null!==e&&"object"==typeof e}var yn=gn,vn=null;function bn(e){if(null!==vn&&(vn.property,1)){let e=vn;return vn=bn.prototype=null,e}return vn=bn.prototype=e??Object.create(null),new bn}var wn=10;for(let e=0;e<=wn;e++)bn();function xn(e){return bn(e)}function kn(e,t="type"){function a(a){let n=a[t],r=e[n];if(!Array.isArray(r))throw Object.assign(new Error(`Missing visitor keys for '${n}'.`),{node:a});return r}return xn(e),a}var _n=kn,En=[["decorators","key","typeAnnotation","value"],[],["elementType"],["expression"],["expression","typeAnnotation"],["left","right"],["argument"],["directives","body"],["label"],["callee","typeArguments","arguments"],["body"],["decorators","id","typeParameters","superClass","superTypeArguments","mixins","implements","body","superTypeParameters"],["id","typeParameters"],["decorators","key","typeParameters","params","returnType","body"],["decorators","variance","key","typeAnnotation","value"],["name","typeAnnotation"],["test","consequent","alternate"],["checkType","extendsType","trueType","falseType"],["value"],["id","body"],["declaration","specifiers","source","attributes"],["id"],["id","typeParameters","extends","body"],["typeAnnotation"],["id","typeParameters","right"],["body","test"],["members"],["id","init"],["exported"],["left","right","body"],["id","typeParameters","params","predicate","returnType","body"],["id","params","body","typeParameters","returnType"],["key","value"],["local"],["objectType","indexType"],["typeParameter"],["types"],["node"],["object","property"],["argument","cases"],["pattern","body","guard"],["literal"],["decorators","key","value"],["expressions"],["qualification","id"],["decorators","key","typeAnnotation"],["typeParameters","params","returnType"],["expression","typeArguments"],["params"],["parameterName","typeAnnotation"]],Cn={AccessorProperty:En[0],AnyTypeAnnotation:En[1],ArgumentPlaceholder:En[1],ArrayExpression:["elements"],ArrayPattern:["elements","typeAnnotation","decorators"],ArrayTypeAnnotation:En[2],ArrowFunctionExpression:["typeParameters","params","predicate","returnType","body"],AsConstExpression:En[3],AsExpression:En[4],AssignmentExpression:En[5],AssignmentPattern:["left","right","decorators","typeAnnotation"],AwaitExpression:En[6],BigIntLiteral:En[1],BigIntLiteralTypeAnnotation:En[1],BigIntTypeAnnotation:En[1],BinaryExpression:En[5],BindExpression:["object","callee"],BlockStatement:En[7],BooleanLiteral:En[1],BooleanLiteralTypeAnnotation:En[1],BooleanTypeAnnotation:En[1],BreakStatement:En[8],CallExpression:En[9],CatchClause:["param","body"],ChainExpression:En[3],ClassAccessorProperty:En[0],ClassBody:En[10],ClassDeclaration:En[11],ClassExpression:En[11],ClassImplements:En[12],ClassMethod:En[13],ClassPrivateMethod:En[13],ClassPrivateProperty:En[14],ClassProperty:En[14],ComponentDeclaration:["id","params","body","typeParameters","rendersType"],ComponentParameter:["name","local"],ComponentTypeAnnotation:["params","rest","typeParameters","rendersType"],ComponentTypeParameter:En[15],ConditionalExpression:En[16],ConditionalTypeAnnotation:En[17],ContinueStatement:En[8],DebuggerStatement:En[1],DeclareClass:["id","typeParameters","extends","mixins","implements","body"],DeclareComponent:["id","params","rest","typeParameters","rendersType"],DeclaredPredicate:En[18],DeclareEnum:En[19],DeclareExportAllDeclaration:["source","attributes"],DeclareExportDeclaration:En[20],DeclareFunction:["id","predicate"],DeclareHook:En[21],DeclareInterface:En[22],DeclareModule:En[19],DeclareModuleExports:En[23],DeclareNamespace:En[19],DeclareOpaqueType:["id","typeParameters","supertype","lowerBound","upperBound"],DeclareTypeAlias:En[24],DeclareVariable:En[21],Decorator:En[3],Directive:En[18],DirectiveLiteral:En[1],DoExpression:En[10],DoWhileStatement:En[25],EmptyStatement:En[1],EmptyTypeAnnotation:En[1],EnumBigIntBody:En[26],EnumBigIntMember:En[27],EnumBooleanBody:En[26],EnumBooleanMember:En[27],EnumDeclaration:En[19],EnumDefaultedMember:En[21],EnumNumberBody:En[26],EnumNumberMember:En[27],EnumStringBody:En[26],EnumStringMember:En[27],EnumSymbolBody:En[26],ExistsTypeAnnotation:En[1],ExperimentalRestProperty:En[6],ExperimentalSpreadProperty:En[6],ExportAllDeclaration:["source","attributes","exported"],ExportDefaultDeclaration:["declaration"],ExportDefaultSpecifier:En[28],ExportNamedDeclaration:En[20],ExportNamespaceSpecifier:En[28],ExportSpecifier:["local","exported"],ExpressionStatement:En[3],File:["program"],ForInStatement:En[29],ForOfStatement:En[29],ForStatement:["init","test","update","body"],FunctionDeclaration:En[30],FunctionExpression:En[30],FunctionTypeAnnotation:["typeParameters","this","params","rest","returnType"],FunctionTypeParam:En[15],GenericTypeAnnotation:En[12],HookDeclaration:En[31],HookTypeAnnotation:["params","returnType","rest","typeParameters"],Identifier:["typeAnnotation","decorators"],IfStatement:En[16],ImportAttribute:En[32],ImportDeclaration:["specifiers","source","attributes"],ImportDefaultSpecifier:En[33],ImportExpression:["source","options"],ImportNamespaceSpecifier:En[33],ImportSpecifier:["imported","local"],IndexedAccessType:En[34],InferredPredicate:En[1],InferTypeAnnotation:En[35],InterfaceDeclaration:En[22],InterfaceExtends:En[12],InterfaceTypeAnnotation:["extends","body"],InterpreterDirective:En[1],IntersectionTypeAnnotation:En[36],JsExpressionRoot:En[37],JsonRoot:En[37],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXClosingFragment:En[1],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:En[1],JSXExpressionContainer:En[3],JSXFragment:["openingFragment","children","closingFragment"],JSXIdentifier:En[1],JSXMemberExpression:En[38],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","typeArguments","attributes"],JSXOpeningFragment:En[1],JSXSpreadAttribute:En[6],JSXSpreadChild:En[3],JSXText:En[1],KeyofTypeAnnotation:En[6],LabeledStatement:["label","body"],Literal:En[1],LogicalExpression:En[5],MatchArrayPattern:["elements","rest"],MatchAsPattern:["pattern","target"],MatchBindingPattern:En[21],MatchExpression:En[39],MatchExpressionCase:En[40],MatchIdentifierPattern:En[21],MatchLiteralPattern:En[41],MatchMemberPattern:["base","property"],MatchObjectPattern:["properties","rest"],MatchObjectPatternProperty:["key","pattern"],MatchOrPattern:["patterns"],MatchRestPattern:En[6],MatchStatement:En[39],MatchStatementCase:En[40],MatchUnaryPattern:En[6],MatchWildcardPattern:En[1],MemberExpression:En[38],MetaProperty:["meta","property"],MethodDefinition:En[42],MixedTypeAnnotation:En[1],ModuleExpression:En[10],NeverTypeAnnotation:En[1],NewExpression:En[9],NGChainedExpression:En[43],NGEmptyExpression:En[1],NGMicrosyntax:En[10],NGMicrosyntaxAs:["key","alias"],NGMicrosyntaxExpression:["expression","alias"],NGMicrosyntaxKey:En[1],NGMicrosyntaxKeyedExpression:["key","expression"],NGMicrosyntaxLet:En[32],NGPipeExpression:["left","right","arguments"],NGRoot:En[37],NullableTypeAnnotation:En[23],NullLiteral:En[1],NullLiteralTypeAnnotation:En[1],NumberLiteralTypeAnnotation:En[1],NumberTypeAnnotation:En[1],NumericLiteral:En[1],ObjectExpression:["properties"],ObjectMethod:En[13],ObjectPattern:["decorators","properties","typeAnnotation"],ObjectProperty:En[42],ObjectTypeAnnotation:["properties","indexers","callProperties","internalSlots"],ObjectTypeCallProperty:En[18],ObjectTypeIndexer:["variance","id","key","value"],ObjectTypeInternalSlot:["id","value"],ObjectTypeMappedTypeProperty:["keyTparam","propType","sourceType","variance"],ObjectTypeProperty:["key","value","variance"],ObjectTypeSpreadProperty:En[6],OpaqueType:["id","typeParameters","supertype","impltype","lowerBound","upperBound"],OptionalCallExpression:En[9],OptionalIndexedAccessType:En[34],OptionalMemberExpression:En[38],ParenthesizedExpression:En[3],PipelineBareFunction:["callee"],PipelinePrimaryTopicReference:En[1],PipelineTopicExpression:En[3],Placeholder:En[1],PrivateIdentifier:En[1],PrivateName:En[21],Program:En[7],Property:En[32],PropertyDefinition:En[14],QualifiedTypeIdentifier:En[44],QualifiedTypeofIdentifier:En[44],RegExpLiteral:En[1],RestElement:["argument","typeAnnotation","decorators"],ReturnStatement:En[6],SatisfiesExpression:En[4],SequenceExpression:En[43],SpreadElement:En[6],StaticBlock:En[10],StringLiteral:En[1],StringLiteralTypeAnnotation:En[1],StringTypeAnnotation:En[1],Super:En[1],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],SymbolTypeAnnotation:En[1],TaggedTemplateExpression:["tag","typeArguments","quasi"],TemplateElement:En[1],TemplateLiteral:["quasis","expressions"],ThisExpression:En[1],ThisTypeAnnotation:En[1],ThrowStatement:En[6],TopicReference:En[1],TryStatement:["block","handler","finalizer"],TSAbstractAccessorProperty:En[45],TSAbstractKeyword:En[1],TSAbstractMethodDefinition:En[32],TSAbstractPropertyDefinition:En[45],TSAnyKeyword:En[1],TSArrayType:En[2],TSAsExpression:En[4],TSAsyncKeyword:En[1],TSBigIntKeyword:En[1],TSBooleanKeyword:En[1],TSCallSignatureDeclaration:En[46],TSClassImplements:En[47],TSConditionalType:En[17],TSConstructorType:En[46],TSConstructSignatureDeclaration:En[46],TSDeclareFunction:En[31],TSDeclareKeyword:En[1],TSDeclareMethod:["decorators","key","typeParameters","params","returnType"],TSEmptyBodyFunctionExpression:["id","typeParameters","params","returnType"],TSEnumBody:En[26],TSEnumDeclaration:En[19],TSEnumMember:["id","initializer"],TSExportAssignment:En[3],TSExportKeyword:En[1],TSExternalModuleReference:En[3],TSFunctionType:En[46],TSImportEqualsDeclaration:["id","moduleReference"],TSImportType:["options","qualifier","typeArguments","source"],TSIndexedAccessType:En[34],TSIndexSignature:["parameters","typeAnnotation"],TSInferType:En[35],TSInstantiationExpression:En[47],TSInterfaceBody:En[10],TSInterfaceDeclaration:En[22],TSInterfaceHeritage:En[47],TSIntersectionType:En[36],TSIntrinsicKeyword:En[1],TSJSDocAllType:En[1],TSJSDocNonNullableType:En[23],TSJSDocNullableType:En[23],TSJSDocUnknownType:En[1],TSLiteralType:En[41],TSMappedType:["key","constraint","nameType","typeAnnotation"],TSMethodSignature:["key","typeParameters","params","returnType"],TSModuleBlock:En[10],TSModuleDeclaration:En[19],TSNamedTupleMember:["label","elementType"],TSNamespaceExportDeclaration:En[21],TSNeverKeyword:En[1],TSNonNullExpression:En[3],TSNullKeyword:En[1],TSNumberKeyword:En[1],TSObjectKeyword:En[1],TSOptionalType:En[23],TSParameterProperty:["parameter","decorators"],TSParenthesizedType:En[23],TSPrivateKeyword:En[1],TSPropertySignature:["key","typeAnnotation"],TSProtectedKeyword:En[1],TSPublicKeyword:En[1],TSQualifiedName:En[5],TSReadonlyKeyword:En[1],TSRestType:En[23],TSSatisfiesExpression:En[4],TSStaticKeyword:En[1],TSStringKeyword:En[1],TSSymbolKeyword:En[1],TSTemplateLiteralType:["quasis","types"],TSThisType:En[1],TSTupleType:["elementTypes"],TSTypeAliasDeclaration:["id","typeParameters","typeAnnotation"],TSTypeAnnotation:En[23],TSTypeAssertion:En[4],TSTypeLiteral:En[26],TSTypeOperator:En[23],TSTypeParameter:["name","constraint","default"],TSTypeParameterDeclaration:En[48],TSTypeParameterInstantiation:En[48],TSTypePredicate:En[49],TSTypeQuery:["exprName","typeArguments"],TSTypeReference:["typeName","typeArguments"],TSUndefinedKeyword:En[1],TSUnionType:En[36],TSUnknownKeyword:En[1],TSVoidKeyword:En[1],TupleTypeAnnotation:["types","elementTypes"],TupleTypeLabeledElement:["label","elementType","variance"],TupleTypeSpreadElement:["label","typeAnnotation"],TypeAlias:En[24],TypeAnnotation:En[23],TypeCastExpression:En[4],TypeofTypeAnnotation:["argument","typeArguments"],TypeOperator:En[23],TypeParameter:["bound","default","variance"],TypeParameterDeclaration:En[48],TypeParameterInstantiation:En[48],TypePredicate:En[49],UnaryExpression:En[6],UndefinedTypeAnnotation:En[1],UnionTypeAnnotation:En[36],UnknownTypeAnnotation:En[1],UpdateExpression:En[6],V8IntrinsicIdentifier:En[1],VariableDeclaration:["declarations"],VariableDeclarator:En[27],Variance:En[1],VoidPattern:En[1],VoidTypeAnnotation:En[1],WhileStatement:En[25],WithStatement:["object","body"],YieldExpression:En[6]},Fn=_n(Cn);function Dn(e,t){if(!yn(e))return e;if(Array.isArray(e)){for(let a=0;ae<=a);o=e&&0===n.slice(e,a).trim().length}return o?void 0:(e.extra={...e.extra,parenthesized:!0},e)}case"TemplateLiteral":if(t.expressions.length!==t.quasis.length-1)throw new Error("Malformed template literal.");break;case"TemplateElement":if("flow"===a||"hermes"===a||"espree"===a||"typescript"===a||s){let e=en(t)+1,a=tn(t)-(t.tail?1:2);t.range=[e,a]}break;case"VariableDeclaration":{let e=Qa(0,t.declarations,-1);e?.init&&";"!==n[tn(e)]&&(t.range=[en(t),tn(e)]);break}case"TSParenthesizedType":return t.typeAnnotation;case"TopicReference":e.extra={...e.extra,__isUsingHackPipeline:!0};break;case"TSUnionType":case"TSIntersectionType":if(1===t.types.length)return t.types[0];break;case"ImportExpression":"hermes"===a&&t.attributes&&!t.options&&(t.options=t.attributes)}},onLeave(e){switch(e.type){case"LogicalExpression":if(Sn(e))return In(e);break;case"TSImportType":!e.source&&"TSLiteralType"===e.argument.type&&(e.source=e.argument.literal,delete e.argument)}}}),e}function Sn(e){return"LogicalExpression"===e.type&&"LogicalExpression"===e.right.type&&e.operator===e.right.operator}function In(e){return Sn(e)?In({type:"LogicalExpression",operator:e.operator,left:In({type:"LogicalExpression",operator:e.operator,left:e.left,right:e.right.left,range:[en(e.left),tn(e.right.left)]}),right:e.right.right,range:[en(e),tn(e)]}):e}nn(["RegExpLiteral","BigIntLiteral","NumericLiteral","StringLiteral","DirectiveLiteral","Literal","JSXText","TemplateElement","StringLiteralTypeAnnotation","NumberLiteralTypeAnnotation","BigIntLiteralTypeAnnotation"]);var Nn=Tn;function Pn(e,t){let a=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(a,t)}var Bn=Pn,Mn="Unexpected parseExpression() input: ";function On(e){let{message:t,loc:a,reasonCode:n}=e;if(!a)return e;let{line:r,column:s}=a,i=e;("MissingPlugin"===n||"MissingOneOfPlugins"===n)&&(t="Unexpected token.",i=void 0);let o=` (${r}:${s})`;return t.endsWith(o)&&(t=t.slice(0,-o.length)),t.startsWith(Mn)&&(t=t.slice(Mn.length)),Bn(t,{loc:{start:{line:r,column:s+1}},cause:i})}var Un=On,jn=String.prototype.replaceAll??function(e,t){return e.global?this.replace(e,t):this.split(e).join(t)},Ln=Ja("replaceAll",function(){if("string"==typeof this)return jn}),Rn=/\*\/$/,zn=/^\/\*\*?/,Hn=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,$n=/(^|\s+)\/\/([^\n\r]*)/g,Yn=/^(\r?\n)+/,Gn=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,Wn=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,Vn=/(\r?\n|^) *\* ?/g,Kn=[];function Jn(e){let t=e.match(Hn);return t?t[0].trimStart():""}function qn(e){e=Ln(0,e.replace(zn,"").replace(Rn,""),Vn,"$1");let t="";for(;t!==e;)t=e,e=Ln(0,e,Gn,"\n$1 $2\n");e=e.replace(Yn,"").trimEnd();let a,n=Object.create(null),r=Ln(0,e,Wn,"").replace(Yn,"").trimEnd();for(;a=Wn.exec(e);){let e=Ln(0,a[2],$n,"");if("string"==typeof n[a[1]]||Array.isArray(n[a[1]])){let t=n[a[1]];n[a[1]]=[...Kn,...Array.isArray(t)?t:[t],e]}else n[a[1]]=e}return{comments:r,pragmas:n}}var Zn=["noformat","noprettier"],Xn=["format","prettier"];function Qn(e){let t=Ka(e);t&&(e=e.slice(t.length+1));let a=Jn(e),{pragmas:n,comments:r}=qn(a);return{shebang:t,text:e,pragmas:n,comments:r}}function er(e){let{pragmas:t}=Qn(e);return Xn.some(e=>Object.prototype.hasOwnProperty.call(t,e))}function tr(e){let{pragmas:t}=Qn(e);return Zn.some(e=>Object.prototype.hasOwnProperty.call(t,e))}function ar(e){return e="function"==typeof e?{parse:e}:e,{astFormat:"estree",hasPragma:er,hasIgnorePragma:tr,locStart:en,locEnd:tn,...e}}var nr=ar,rr="module",sr="commonjs";function ir(e){if("string"==typeof e){if(e=e.toLowerCase(),/\.(?:mjs|mts)$/iu.test(e))return rr;if(/\.(?:cjs|cts)$/iu.test(e))return sr}}function or(e,t){let{type:a="JsExpressionRoot",rootMarker:n,text:r}=t,{tokens:s,comments:i}=e;return delete e.tokens,delete e.comments,{tokens:s,comments:i,type:a,node:e,range:[0,r.length],rootMarker:n}}var lr=or,cr=e=>nr(yr(e)),ur={sourceType:rr,allowImportExportEverywhere:!0,allowReturnOutsideFunction:!0,allowNewTargetOutsideFunction:!0,allowSuperOutsideMethod:!0,allowUndeclaredExports:!0,errorRecovery:!0,createParenthesizedExpressions:!0,attachComment:!1,plugins:["doExpressions","exportDefaultFrom","functionBind","functionSent","throwExpressions","partialApplication","decorators","moduleBlocks","asyncDoExpressions","destructuringPrivate","decoratorAutoAccessors","sourcePhaseImports","deferredImportEvaluation",["optionalChainingAssign",{version:"2023-07"}],["discardBinding",{syntaxType:"void"}]],tokens:!1,ranges:!1},dr="v8intrinsic",hr=[["pipelineOperator",{proposal:"hack",topicToken:"%"}],["pipelineOperator",{proposal:"fsharp"}]],pr=(e,t=ur)=>({...t,plugins:[...t.plugins,...e]}),fr=/@(?:no)?flow\b/u;function mr(e,t){if(t?.endsWith(".js.flow"))return!0;let a=Ka(e);a&&(e=e.slice(a.length));let n=Ga(e,0);return!1!==n&&(e=e.slice(0,n)),fr.test(e)}function gr(e,t,a){let n=e(t,a),r=n.errors.find(e=>!vr.has(e.reasonCode));if(r)throw r;return n}function yr({isExpression:e=!1,optionsCombinations:t}){return(a,n={})=>{let{filepath:r}=n;if("string"!=typeof r&&(r=void 0),("babel"===n.parser||"__babel_estree"===n.parser)&&mr(a,r))return n.parser="babel-flow",Er.parse(a,n);let s=t,i=n.__babelSourceType??ir(r);i&&i!==rr&&(s=s.map(e=>({...e,sourceType:i,...i===sr?{allowReturnOutsideFunction:void 0,allowNewTargetOutsideFunction:void 0}:void 0})));let o=/%[A-Z]/u.test(a);a.includes("|>")?s=(o?[...hr,dr]:hr).flatMap(e=>s.map(t=>pr([e],t))):o&&(s=s.map(e=>pr([dr],e)));let l,c=e?Ta:Aa;try{l=Wa(s.map(e=>()=>gr(c,a,e)))}catch({errors:[u]}){throw Un(u)}return e&&(l=lr(l,{text:a,rootMarker:n.rootMarker})),Nn(l,{text:a})}}var vr=new Set(["StrictNumericEscape","StrictWith","StrictOctalLiteral","StrictDelete","StrictEvalArguments","StrictEvalArgumentsBinding","StrictFunction","ForInOfLoopInitializer","ConstructorHasTypeParameters","UnsupportedParameterPropertyKind","DecoratorExportClass","ParamDupe","InvalidDecimal","RestTrailingComma","UnsupportedParameterDecorator","UnterminatedJsxContent","UnexpectedReservedWord","ModuleAttributesWithDuplicateKeys","InvalidEscapeSequenceTemplate","NonAbstractClassHasAbstractMethod","OptionalTypeBeforeRequired","PatternIsOptional","DeclareClassFieldHasInitializer","TypeImportCannotSpecifyDefaultAndNamed","VarRedeclaration","InvalidPrivateFieldResolution","DuplicateExport","ImportAttributesUseAssert","DeclarationMissingInitializer"]),br=[pr(["jsx"])],wr=cr({optionsCombinations:br}),xr=cr({optionsCombinations:[pr(["jsx","typescript"]),pr(["typescript"])]}),kr=cr({isExpression:!0,optionsCombinations:[pr(["jsx"])]}),_r=cr({isExpression:!0,optionsCombinations:[pr(["typescript"])]}),Er=cr({optionsCombinations:[pr(["jsx",["flow",{all:!0}],"flowComments"])]}),Cr=cr({optionsCombinations:br.map(e=>pr(["estree"],e))}),Fr={};function Dr(e){return Array.isArray(e)&&e.length>0}s(Fr,{json:()=>Br,"json-stringify":()=>Ur,json5:()=>Mr,jsonc:()=>Or});var Ar=Dr,Tr={tokens:!1,ranges:!1,attachComment:!1,createParenthesizedExpressions:!0};function Sr(e){let t=Aa(e,Tr),{program:a}=t;if(0===a.body.length&&0===a.directives.length&&!a.interpreter)return t}function Ir(e,t={}){let a,{allowComments:n=!0,allowEmpty:r=!1}=t;try{a=Ta(e,Tr)}catch(s){if(r&&"BABEL_PARSER_SYNTAX_ERROR"===s.code&&"ParseExpressionEmptyInput"===s.reasonCode)try{a=Sr(e)}catch{}if(!a)throw Un(s)}if(!n&&Ar(a.comments))throw Nr(a.comments[0],"Comment");return a=lr(a,{type:"JsonRoot",text:e}),"File"===a.node.type?delete a.node:Pr(a.node),a}function Nr(e,t){let[a,n]=[e.loc.start,e.loc.end].map(({line:e,column:t})=>({line:e,column:t+1}));return Bn(`${t} is not allowed in JSON.`,{loc:{start:a,end:n}})}function Pr(e){switch(e.type){case"ArrayExpression":for(let t of e.elements)null!==t&&Pr(t);return;case"ObjectExpression":for(let t of e.properties)Pr(t);return;case"ObjectProperty":if(e.computed)throw Nr(e.key,"Computed key");if(e.shorthand)throw Nr(e.key,"Shorthand property");return"Identifier"!==e.key.type&&Pr(e.key),void Pr(e.value);case"UnaryExpression":{let{operator:t,argument:a}=e;if("+"!==t&&"-"!==t)throw Nr(e,`Operator '${e.operator}'`);if("NumericLiteral"===a.type||"Identifier"===a.type&&("Infinity"===a.name||"NaN"===a.name))return;throw Nr(a,`Operator '${t}' before '${a.type}'`)}case"Identifier":if("Infinity"!==e.name&&"NaN"!==e.name&&"undefined"!==e.name)throw Nr(e,`Identifier '${e.name}'`);return;case"TemplateLiteral":if(Ar(e.expressions))throw Nr(e.expressions[0],"'TemplateLiteral' with expression");for(let t of e.quasis)Pr(t);return;case"NullLiteral":case"BooleanLiteral":case"NumericLiteral":case"StringLiteral":case"TemplateElement":return;default:throw Nr(e,`'${e.type}'`)}}var Br=nr({parse:e=>Ir(e),hasPragma:()=>!0,hasIgnorePragma:()=>!1}),Mr=nr(e=>Ir(e)),Or=nr(e=>Ir(e,{allowEmpty:!0})),Ur=nr({parse:e=>Ir(e,{allowComments:!1}),astFormat:"estree-json"}),jr={...u,...Fr};return l(c)}(),e.default||e)),iL.exports;var e}const lL=Ql(oL());var cL,uL={exports:{}};function dL(){return cL||(cL=1,uL.exports=(e=function(){var t=Object.create,a=Object.defineProperty,n=Object.getOwnPropertyDescriptor,r=Object.getOwnPropertyNames,s=Object.getPrototypeOf,i=Object.prototype.hasOwnProperty,l=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),c=(e,t)=>{for(var n in t)a(e,n,{get:t[n],enumerable:!0})},u=(e,t,s,o)=>{if(t&&"object"==typeof t||"function"==typeof t)for(let l of r(t))!i.call(e,l)&&l!==s&&a(e,l,{get:()=>t[l],enumerable:!(o=n(t,l))||o.enumerable});return e},d=(e,n,r)=>(r=null!=e?t(s(e)):{},u(a(r,"default",{value:e,enumerable:!0}),e)),h=e=>u(a({},"__esModule",{value:!0}),e),p=l((e,t)=>{var a=String,n=function(){return{isColorSupported:!1,reset:a,bold:a,dim:a,italic:a,underline:a,inverse:a,hidden:a,strikethrough:a,black:a,red:a,green:a,yellow:a,blue:a,magenta:a,cyan:a,white:a,gray:a,bgBlack:a,bgRed:a,bgGreen:a,bgYellow:a,bgBlue:a,bgMagenta:a,bgCyan:a,bgWhite:a,blackBright:a,redBright:a,greenBright:a,yellowBright:a,blueBright:a,magentaBright:a,cyanBright:a,whiteBright:a,bgBlackBright:a,bgRedBright:a,bgGreenBright:a,bgYellowBright:a,bgBlueBright:a,bgMagentaBright:a,bgCyanBright:a,bgWhiteBright:a}};t.exports=n(),t.exports.createColors=n}),f=l(()=>{}),m=l((e,t)=>{var a=p(),n=f(),r=class e extends Error{constructor(t,a,n,r,s,i){super(t),this.name="CssSyntaxError",this.reason=t,s&&(this.file=s),r&&(this.source=r),i&&(this.plugin=i),typeof a<"u"&&typeof n<"u"&&("number"==typeof a?(this.line=a,this.column=n):(this.line=a.line,this.column=a.column,this.endLine=n.line,this.endColumn=n.column)),this.setMessage(),Error.captureStackTrace&&Error.captureStackTrace(this,e)}setMessage(){this.message=this.plugin?this.plugin+": ":"",this.message+=this.file?this.file:"",typeof this.line<"u"&&(this.message+=":"+this.line+":"+this.column),this.message+=": "+this.reason}showSourceCode(e){if(!this.source)return"";let t=this.source;null==e&&(e=a.isColorSupported);let r=e=>e,s=e=>e,i=e=>e;if(e){let{bold:e,gray:t,red:o}=a.createColors(!0);s=t=>e(o(t)),r=e=>t(e),n&&(i=e=>n(e))}let o=t.split(/\r?\n/),l=Math.max(this.line-3,0),c=Math.min(this.line+2,o.length),u=String(c).length;return o.slice(l,c).map((e,t)=>{let a=l+1+t,n=" "+(" "+a).slice(-u)+" | ";if(a===this.line){if(e.length>160){let t=20,a=Math.max(0,this.column-t),o=Math.max(this.column+t,this.endColumn+t),l=e.slice(a,o),c=r(n.replace(/\d/g," "))+e.slice(0,Math.min(this.column-1,t-1)).replace(/[^\t]/g," ");return s(">")+r(n)+i(l)+"\n "+c+s("^")}let t=r(n.replace(/\d/g," "))+e.slice(0,this.column-1).replace(/[^\t]/g," ");return s(">")+r(n)+i(e)+"\n "+t+s("^")}return" "+r(n)+i(e)}).join("\n")}toString(){let e=this.showSourceCode();return e&&(e="\n\n"+e+"\n"),this.name+": "+this.message+e}};t.exports=r,r.default=r}),g=l((e,t)=>{var a={after:"\n",beforeClose:"\n",beforeComment:"\n",beforeDecl:"\n",beforeOpen:" ",beforeRule:"\n",colon:": ",commentLeft:" ",commentRight:" ",emptyBody:"",indent:" ",semicolon:!1};function n(e){return e[0].toUpperCase()+e.slice(1)}var r=class{constructor(e){this.builder=e}atrule(e,t){let a="@"+e.name,n=e.params?this.rawValue(e,"params"):"";if(typeof e.raws.afterName<"u"?a+=e.raws.afterName:n&&(a+=" "),e.nodes)this.block(e,a+n);else{let r=(e.raws.between||"")+(t?";":"");this.builder(a+n+r,e)}}beforeAfter(e,t){let a;a="decl"===e.type?this.raw(e,null,"beforeDecl"):"comment"===e.type?this.raw(e,null,"beforeComment"):"before"===t?this.raw(e,null,"beforeRule"):this.raw(e,null,"beforeClose");let n=e.parent,r=0;for(;n&&"root"!==n.type;)r+=1,n=n.parent;if(a.includes("\n")){let t=this.raw(e,null,"indent");if(t.length)for(let e=0;e0&&"comment"===e.nodes[t].type;)t-=1;let a=this.raw(e,"semicolon");for(let n=0;n{if(s=e.raws[t],typeof s<"u")return!1})}return typeof s>"u"&&(s=a[r]),o.rawCache[r]=s,s}rawBeforeClose(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length>0&&typeof e.raws.after<"u")return t=e.raws.after,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawBeforeComment(e,t){let a;return e.walkComments(e=>{if(typeof e.raws.before<"u")return a=e.raws.before,a.includes("\n")&&(a=a.replace(/[^\n]+$/,"")),!1}),typeof a>"u"?a=this.raw(t,null,"beforeDecl"):a&&(a=a.replace(/\S/g,"")),a}rawBeforeDecl(e,t){let a;return e.walkDecls(e=>{if(typeof e.raws.before<"u")return a=e.raws.before,a.includes("\n")&&(a=a.replace(/[^\n]+$/,"")),!1}),typeof a>"u"?a=this.raw(t,null,"beforeRule"):a&&(a=a.replace(/\S/g,"")),a}rawBeforeOpen(e){let t;return e.walk(e=>{if("decl"!==e.type&&(t=e.raws.between,typeof t<"u"))return!1}),t}rawBeforeRule(e){let t;return e.walk(a=>{if(a.nodes&&(a.parent!==e||e.first!==a)&&typeof a.raws.before<"u")return t=a.raws.before,t.includes("\n")&&(t=t.replace(/[^\n]+$/,"")),!1}),t&&(t=t.replace(/\S/g,"")),t}rawColon(e){let t;return e.walkDecls(e=>{if(typeof e.raws.between<"u")return t=e.raws.between.replace(/[^\s:]/g,""),!1}),t}rawEmptyBody(e){let t;return e.walk(e=>{if(e.nodes&&0===e.nodes.length&&(t=e.raws.after,typeof t<"u"))return!1}),t}rawIndent(e){if(e.raws.indent)return e.raws.indent;let t;return e.walk(a=>{let n=a.parent;if(n&&n!==e&&n.parent&&n.parent===e&&typeof a.raws.before<"u"){let e=a.raws.before.split("\n");return t=e[e.length-1],t=t.replace(/\S/g,""),!1}}),t}rawSemicolon(e){let t;return e.walk(e=>{if(e.nodes&&e.nodes.length&&"decl"===e.last.type&&(t=e.raws.semicolon,typeof t<"u"))return!1}),t}rawValue(e,t){let a=e[t],n=e.raws[t];return n&&n.value===a?n.raw:a}root(e){this.body(e),e.raws.after&&this.builder(e.raws.after)}rule(e){this.block(e,this.rawValue(e,"selector")),e.raws.ownSemicolon&&this.builder(e.raws.ownSemicolon,e,"end")}stringify(e,t){if(!this[e.type])throw new Error("Unknown AST node type "+e.type+". Maybe you need to change PostCSS stringifier.");this[e.type](e,t)}};t.exports=r,r.default=r}),y=l((e,t)=>{var a=g();function n(e,t){new a(t).stringify(e)}t.exports=n,n.default=n}),v=l((e,t)=>{t.exports.isClean=Symbol("isClean"),t.exports.my=Symbol("my")}),b=l((e,t)=>{var a=m(),n=g(),r=y(),{isClean:s,my:i}=v();function o(e,t){let a=new e.constructor;for(let n in e){if(!Object.prototype.hasOwnProperty.call(e,n)||"proxyCache"===n)continue;let r=e[n],s=typeof r;"parent"===n&&"object"===s?t&&(a[n]=t):"source"===n?a[n]=r:Array.isArray(r)?a[n]=r.map(e=>o(e,a)):("object"===s&&null!==r&&(r=o(r)),a[n]=r)}return a}function l(e,t){if(t&&typeof t.offset<"u")return t.offset;let a=1,n=1,r=0;for(let s=0;s"proxyOf"===t?e:"root"===t?()=>e.root().toProxy():e[t],set:(e,t,a)=>(e[t]===a||(e[t]=a,("prop"===t||"value"===t||"name"===t||"params"===t||"important"===t||"text"===t)&&e.markDirty()),!0)}}markClean(){this[s]=!0}markDirty(){if(this[s]){this[s]=!1;let e=this;for(;e=e.parent;)e[s]=!1}}next(){if(!this.parent)return;let e=this.parent.index(this);return this.parent.nodes[e+1]}positionBy(e={}){let t=this.source.start;if(e.index)t=this.positionInside(e.index);else if(e.word){let a="document"in this.source.input?this.source.input.document:this.source.input.css,n=a.slice(l(a,this.source.start),l(a,this.source.end)).indexOf(e.word);-1!==n&&(t=this.positionInside(n))}return t}positionInside(e){let t=this.source.start.column,a=this.source.start.line,n="document"in this.source.input?this.source.input.document:this.source.input.css,r=l(n,this.source.start),s=r+e;for(let i=r;i"object"==typeof e&&e.toJSON?e.toJSON(null,t):e);else if("object"==typeof e&&e.toJSON)a[s]=e.toJSON(null,t);else if("source"===s){if(null==e)continue;let n=t.get(e.input);null==n&&(n=r,t.set(e.input,r),r++),a[s]={end:e.end,inputId:n,start:e.start}}else a[s]=e}return n&&(a.inputs=[...t.keys()].map(e=>e.toJSON())),a}toProxy(){return this.proxyCache||(this.proxyCache=new Proxy(this,this.getProxyProcessor())),this.proxyCache}toString(e=r){e.stringify&&(e=e.stringify);let t="";return e(this,e=>{t+=e}),t}warn(e,t,a={}){let n={node:this};for(let r in a)n[r]=a[r];return e.warn(t,n)}};t.exports=c,c.default=c}),w=l((e,t)=>{var a=b(),n=class extends a{constructor(e){super(e),this.type="comment"}};t.exports=n,n.default=n}),x=l((e,t)=>{var a=b(),n=class extends a{get variable(){return this.prop.startsWith("--")||"$"===this.prop[0]}constructor(e){e&&typeof e.value<"u"&&"string"!=typeof e.value&&(e={...e,value:String(e.value)}),super(e),this.type="decl"}};t.exports=n,n.default=n}),k=l((t,a)=>{var n,r,s,i,o=w(),l=x(),c=b(),{isClean:u,my:d}=v();function h(e){return e.map(e=>(e.nodes&&(e.nodes=h(e.nodes)),delete e.source,e))}function p(e){if(e[u]=!1,e.proxyOf.nodes)for(let t of e.proxyOf.nodes)p(t)}var f=class t extends c{get first(){if(this.proxyOf.nodes)return this.proxyOf.nodes[0]}get last(){if(this.proxyOf.nodes)return this.proxyOf.nodes[this.proxyOf.nodes.length-1]}append(...e){for(let t of e){let e=this.normalize(t,this.last);for(let t of e)this.proxyOf.nodes.push(t)}return this.markDirty(),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}each(e){if(!this.proxyOf.nodes)return;let t,a,n=this.getIterator();for(;this.indexes[n]"proxyOf"===t?e:e[t]?"each"===t||"string"==typeof t&&t.startsWith("walk")?(...a)=>e[t](...a.map(e=>"function"==typeof e?(t,a)=>e(t.toProxy(),a):e)):"every"===t||"some"===t?a=>e[t]((e,...t)=>a(e.toProxy(),...t)):"root"===t?()=>e.root().toProxy():"nodes"===t?e.nodes.map(e=>e.toProxy()):"first"===t||"last"===t?e[t].toProxy():e[t]:e[t],set:(e,t,a)=>(e[t]===a||(e[t]=a,("name"===t||"params"===t||"selector"===t)&&e.markDirty()),!0)}}index(e){return"number"==typeof e?e:(e.proxyOf&&(e=e.proxyOf),this.proxyOf.nodes.indexOf(e))}insertAfter(e,t){let a,n=this.index(e),r=this.normalize(t,this.proxyOf.nodes[n]).reverse();n=this.index(e);for(let s of r)this.proxyOf.nodes.splice(n+1,0,s);for(let s in this.indexes)a=this.indexes[s],n"u")e=[];else if(Array.isArray(e)){e=e.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,"ignore")}else if("root"===e.type&&"document"!==this.type){e=e.nodes.slice(0);for(let t of e)t.parent&&t.parent.removeChild(t,"ignore")}else if(e.type)e=[e];else if(e.prop){if(typeof e.value>"u")throw new Error("Value field is missed in node creation");"string"!=typeof e.value&&(e.value=String(e.value)),e=[new l(e)]}else if(e.selector||e.selectors)e=[new i(e)];else if(e.name)e=[new n(e)];else{if(!e.text)throw new Error("Unknown node type in node creation");e=[new o(e)]}return e.map(e=>(e[d]||t.rebuild(e),(e=e.proxyOf).parent&&e.parent.removeChild(e),e[u]&&p(e),e.raws||(e.raws={}),typeof e.raws.before>"u"&&a&&typeof a.raws.before<"u"&&(e.raws.before=a.raws.before.replace(/\S/g,"")),e.parent=this.proxyOf,e))}prepend(...e){e=e.reverse();for(let t of e){let e=this.normalize(t,this.first,"prepend").reverse();for(let t of e)this.proxyOf.nodes.unshift(t);for(let t in this.indexes)this.indexes[t]=this.indexes[t]+e.length}return this.markDirty(),this}push(e){return e.parent=this,this.proxyOf.nodes.push(e),this}removeAll(){for(let e of this.proxyOf.nodes)e.parent=void 0;return this.proxyOf.nodes=[],this.markDirty(),this}removeChild(e){let t;e=this.index(e),this.proxyOf.nodes[e].parent=void 0,this.proxyOf.nodes.splice(e,1);for(let a in this.indexes)t=this.indexes[a],t>=e&&(this.indexes[a]=t-1);return this.markDirty(),this}replaceValues(e,t,a){return a||(a=t,t={}),this.walkDecls(n=>{t.props&&!t.props.includes(n.prop)||t.fast&&!n.value.includes(t.fast)||(n.value=n.value.replace(e,a))}),this.markDirty(),this}some(e){return this.nodes.some(e)}walk(t){return this.each((a,n)=>{let r;try{r=t(a,n)}catch(e){throw a.addToError(e)}return!1!==r&&a.walk&&(r=a.walk(t)),r})}walkAtRules(e,t){return t?e instanceof RegExp?this.walk((a,n)=>{if("atrule"===a.type&&e.test(a.name))return t(a,n)}):this.walk((a,n)=>{if("atrule"===a.type&&a.name===e)return t(a,n)}):(t=e,this.walk((e,a)=>{if("atrule"===e.type)return t(e,a)}))}walkComments(e){return this.walk((t,a)=>{if("comment"===t.type)return e(t,a)})}walkDecls(e,t){return t?e instanceof RegExp?this.walk((a,n)=>{if("decl"===a.type&&e.test(a.prop))return t(a,n)}):this.walk((a,n)=>{if("decl"===a.type&&a.prop===e)return t(a,n)}):(t=e,this.walk((e,a)=>{if("decl"===e.type)return t(e,a)}))}walkRules(e,t){return t?e instanceof RegExp?this.walk((a,n)=>{if("rule"===a.type&&e.test(a.selector))return t(a,n)}):this.walk((a,n)=>{if("rule"===a.type&&a.selector===e)return t(a,n)}):(t=e,this.walk((e,a)=>{if("rule"===e.type)return t(e,a)}))}};f.registerParse=e=>{r=e},f.registerRule=e=>{i=e},f.registerAtRule=e=>{n=e},f.registerRoot=e=>{s=e},a.exports=f,f.default=f,f.rebuild=e=>{"atrule"===e.type?Object.setPrototypeOf(e,n.prototype):"rule"===e.type?Object.setPrototypeOf(e,i.prototype):"decl"===e.type?Object.setPrototypeOf(e,l.prototype):"comment"===e.type?Object.setPrototypeOf(e,o.prototype):"root"===e.type&&Object.setPrototypeOf(e,s.prototype),e[d]=!0,e.nodes&&e.nodes.forEach(e=>{f.rebuild(e)})}}),_=l((e,t)=>{var a="useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict",n=(e,t=21)=>(a=t)=>{let n="",r=0|a;for(;r--;)n+=e[Math.random()*e.length|0];return n},r=(e=21)=>{let t="",n=0|e;for(;n--;)t+=a[64*Math.random()|0];return t};t.exports={nanoid:r,customAlphabet:n}}),E=l(()=>{}),C=l((e,t)=>{t.exports=class{}}),F=l((e,t)=>{var{nanoid:a}=_(),{isAbsolute:n,resolve:r}={},{SourceMapConsumer:s,SourceMapGenerator:i}=E(),{fileURLToPath:o,pathToFileURL:l}={},c=m(),u=C(),d=f(),h=Symbol("lineToIndexCache"),p=!(!s||!i),g=!(!r||!n);function y(e){if(e[h])return e[h];let t=e.css.split("\n"),a=new Array(t.length),n=0;for(let r=0,s=t.length;r"u"||"object"==typeof e&&!e.toString)throw new Error(`PostCSS received ${e} instead of CSS string`);if(this.css=e.toString(),"\ufeff"===this.css[0]||"￾"===this.css[0]?(this.hasBOM=!0,this.css=this.css.slice(1)):this.hasBOM=!1,this.document=this.css,t.document&&(this.document=t.document.toString()),t.from&&(!g||/^\w+:\/\//.test(t.from)||n(t.from)?this.file=t.from:this.file=r(t.from)),g&&p){let e=new u(this.css,t);if(e.text){this.map=e;let t=e.consumer().file;!this.file&&t&&(this.file=this.mapResolve(t))}}this.file||(this.id=""),this.map&&(this.map.file=this.from)}error(e,t,a,n={}){let r,s,i,o,u;if(t&&"object"==typeof t){let e=t,n=a;if("number"==typeof e.offset){o=e.offset;let n=this.fromOffset(o);t=n.line,a=n.col}else t=e.line,a=e.column,o=this.fromLineAndColumn(t,a);if("number"==typeof n.offset){i=n.offset;let e=this.fromOffset(i);s=e.line,r=e.col}else s=n.line,r=n.column,i=this.fromLineAndColumn(n.line,n.column)}else if(a)o=this.fromLineAndColumn(t,a);else{o=t;let e=this.fromOffset(o);t=e.line,a=e.col}let d=this.origin(t,a,s,r);return u=d?new c(e,void 0===d.endLine?d.line:{column:d.column,line:d.line},void 0===d.endLine?d.column:{column:d.endColumn,line:d.endLine},d.source,d.file,n.plugin):new c(e,void 0===s?t:{column:a,line:t},void 0===s?a:{column:r,line:s},this.css,this.file,n.plugin),u.input={column:a,endColumn:r,endLine:s,endOffset:i,line:t,offset:o,source:this.css},this.file&&(l&&(u.input.url=l(this.file).toString()),u.input.file=this.file),u}fromLineAndColumn(e,t){return y(this)[e-1]+t-1}fromOffset(e){let t=y(this),a=0;if(e>=t[t.length-1])a=t.length-1;else{let n,r=t.length-2;for(;a>1),e=t[n+1])){a=n;break}a=n+1}}return{col:e-t[a]+1,line:a+1}}mapResolve(e){return/^\w+:\/\//.test(e)?e:r(this.map.consumer().sourceRoot||this.map.root||".",e)}origin(e,t,a,r){if(!this.map)return!1;let s,i,c=this.map.consumer(),u=c.originalPositionFor({column:t,line:e});if(!u.source)return!1;"number"==typeof a&&(s=c.originalPositionFor({column:r,line:a})),i=n(u.source)?l(u.source):new URL(u.source,this.map.consumer().sourceRoot||l(this.map.mapFile));let d={column:u.column,endColumn:s&&s.column,endLine:s&&s.line,line:u.line,url:i.toString()};if("file:"===i.protocol){if(!o)throw new Error("file: protocol is not available in this PostCSS build");d.file=o(i)}let h=c.sourceContentFor(u.source);return h&&(d.source=h),d}toJSON(){let e={};for(let t of["hasBOM","css","file","id"])null!=this[t]&&(e[t]=this[t]);return this.map&&(e.map={...this.map},e.map.consumerCache&&(e.map.consumerCache=void 0)),e}};t.exports=v,v.default=v,d&&d.registerInput&&d.registerInput(v)}),D=l((e,t)=>{var a=k(),n=class extends a{constructor(e){super(e),this.type="atrule"}append(...e){return this.proxyOf.nodes||(this.nodes=[]),super.append(...e)}prepend(...e){return this.proxyOf.nodes||(this.nodes=[]),super.prepend(...e)}};t.exports=n,n.default=n,a.registerAtRule(n)}),A=l((e,t)=>{var a,n,r=k(),s=class extends r{constructor(e){super(e),this.type="root",this.nodes||(this.nodes=[])}normalize(e,t,a){let n=super.normalize(e);if(t)if("prepend"===a)this.nodes.length>1?t.raws.before=this.nodes[1].raws.before:delete t.raws.before;else if(this.first!==t)for(let r of n)r.raws.before=t.raws.before;return n}removeChild(e,t){let a=this.index(e);return!t&&0===a&&this.nodes.length>1&&(this.nodes[1].raws.before=this.nodes[a].raws.before),super.removeChild(e)}toResult(e={}){return new a(new n,this,e).stringify()}};s.registerLazyResult=e=>{a=e},s.registerProcessor=e=>{n=e},t.exports=s,s.default=s,r.registerRoot(s)}),T=l((e,t)=>{var a={comma:e=>a.split(e,[","],!0),space(e){let t=[" ","\n","\t"];return a.split(e,t)},split(e,t,a){let n=[],r="",s=!1,i=0,o=!1,l="",c=!1;for(let u of e)c?c=!1:"\\"===u?c=!0:o?u===l&&(o=!1):'"'===u||"'"===u?(o=!0,l=u):"("===u?i+=1:")"===u?i>0&&(i-=1):0===i&&t.includes(u)&&(s=!0),s?(""!==r&&n.push(r.trim()),r="",s=!1):r+=u;return(a||""!==r)&&n.push(r.trim()),n}};t.exports=a,a.default=a}),S=l((e,t)=>{var a=k(),n=T(),r=class extends a{get selectors(){return n.comma(this.selector)}set selectors(e){let t=this.selector?this.selector.match(/,\s*/):null,a=t?t[0]:","+this.raw("between","beforeOpen");this.selector=e.join(a)}constructor(e){super(e),this.type="rule",this.nodes||(this.nodes=[])}};t.exports=r,r.default=r,a.registerRule(r)}),I=l((e,t)=>{var a=/[\t\n\f\r "#'()/;[\\\]{}]/g,n=/[\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,r=/.[\r\n"'(/\\]/,s=/[\da-f]/i;t.exports=function(e,t={}){let i,o,l,c,u,d,h,p,f,m,g=e.css.valueOf(),y=t.ignoreErrors,v=g.length,b=0,w=[],x=[];function k(){return b}function _(t){throw e.error("Unclosed "+t,b)}function E(){return 0===x.length&&b>=v}function C(e){if(x.length)return x.pop();if(b>=v)return;let t=!!e&&e.ignoreUnclosed;switch(i=g.charCodeAt(b),i){case 10:case 32:case 9:case 13:case 12:c=b;do{c+=1,i=g.charCodeAt(c)}while(32===i||10===i||9===i||13===i||12===i);d=["space",g.slice(b,c)],b=c-1;break;case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let e=String.fromCharCode(i);d=[e,e,b];break}case 40:if(m=w.length?w.pop()[1]:"",f=g.charCodeAt(b+1),"url"===m&&39!==f&&34!==f&&32!==f&&10!==f&&9!==f&&12!==f&&13!==f){c=b;do{if(h=!1,c=g.indexOf(")",c+1),-1===c){if(y||t){c=b;break}_("bracket")}for(p=c;92===g.charCodeAt(p-1);)p-=1,h=!h}while(h);d=["brackets",g.slice(b,c+1),b,c],b=c}else c=g.indexOf(")",b+1),o=g.slice(b,c+1),-1===c||r.test(o)?d=["(","(",b]:(d=["brackets",o,b,c],b=c);break;case 39:case 34:u=39===i?"'":'"',c=b;do{if(h=!1,c=g.indexOf(u,c+1),-1===c){if(y||t){c=b+1;break}_("string")}for(p=c;92===g.charCodeAt(p-1);)p-=1,h=!h}while(h);d=["string",g.slice(b,c+1),b,c],b=c;break;case 64:a.lastIndex=b+1,a.test(g),c=0===a.lastIndex?g.length-1:a.lastIndex-2,d=["at-word",g.slice(b,c+1),b,c],b=c;break;case 92:for(c=b,l=!0;92===g.charCodeAt(c+1);)c+=1,l=!l;if(i=g.charCodeAt(c+1),l&&47!==i&&32!==i&&10!==i&&9!==i&&13!==i&&12!==i&&(c+=1,s.test(g.charAt(c)))){for(;s.test(g.charAt(c+1));)c+=1;32===g.charCodeAt(c+1)&&(c+=1)}d=["word",g.slice(b,c+1),b,c],b=c;break;default:47===i&&42===g.charCodeAt(b+1)?(c=g.indexOf("*/",b+2)+1,0===c&&(y||t?c=g.length:_("comment")),d=["comment",g.slice(b,c+1),b,c],b=c):(n.lastIndex=b+1,n.test(g),c=0===n.lastIndex?g.length-1:n.lastIndex-2,d=["word",g.slice(b,c+1),b,c],w.push(d),b=c)}return b++,d}function F(e){x.push(e)}return{back:F,endOfFile:E,nextToken:C,position:k}}}),N=l((e,t)=>{var a=D(),n=w(),r=x(),s=A(),i=S(),o=I(),l={empty:!0,space:!0};function c(e){for(let t=e.length-1;t>=0;t--){let a=e[t],n=a[3]||a[2];if(n)return n}}var u=class{constructor(e){this.input=e,this.root=new s,this.current=this.root,this.spaces="",this.semicolon=!1,this.createTokenizer(),this.root.source={input:e,start:{column:1,line:1,offset:0}}}atrule(e){let t=new a;t.name=e[1].slice(1),""===t.name&&this.unnamedAtrule(t,e),this.init(t,e[2]);let n,r,s,i=!1,o=!1,l=[],c=[];for(;!this.tokenizer.endOfFile();){if(n=(e=this.tokenizer.nextToken())[0],"("===n||"["===n?c.push("("===n?")":"]"):"{"===n&&c.length>0?c.push("}"):n===c[c.length-1]&&c.pop(),0===c.length){if(";"===n){t.source.end=this.getPosition(e[2]),t.source.end.offset++,this.semicolon=!0;break}if("{"===n){o=!0;break}if("}"===n){if(l.length>0){for(s=l.length-1,r=l[s];r&&"space"===r[0];)r=l[--s];r&&(t.source.end=this.getPosition(r[3]||r[2]),t.source.end.offset++)}this.end(e);break}l.push(e)}else l.push(e);if(this.tokenizer.endOfFile()){i=!0;break}}t.raws.between=this.spacesAndCommentsFromEnd(l),l.length?(t.raws.afterName=this.spacesAndCommentsFromStart(l),this.raw(t,"params",l),i&&(e=l[l.length-1],t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++,this.spaces=t.raws.between,t.raws.between="")):(t.raws.afterName="",t.params=""),o&&(t.nodes=[],this.current=t)}checkMissedSemicolon(e){let t=this.colon(e);if(!1===t)return;let a,n=0;for(let r=t-1;r>=0&&(a=e[r],"space"===a[0]||(n+=1,2!==n));r--);throw this.input.error("Missed semicolon","word"===a[0]?a[3]+1:a[2])}colon(e){let t,a,n,r=0;for(let[s,i]of e.entries()){if(a=i,n=a[0],"("===n&&(r+=1),")"===n&&(r-=1),0===r&&":"===n){if(t){if("word"===t[0]&&"progid"===t[1])continue;return s}this.doubleColon(a)}t=a}return!1}comment(e){let t=new n;this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.source.end.offset++;let a=e[1].slice(2,-2);if(/^\s*$/.test(a))t.text="",t.raws.left=a,t.raws.right="";else{let e=a.match(/^(\s*)([^]*\S)(\s*)$/);t.text=e[2],t.raws.left=e[1],t.raws.right=e[3]}}createTokenizer(){this.tokenizer=o(this.input)}decl(e,t){let a=new r;this.init(a,e[0][2]);let n,s=e[e.length-1];for(";"===s[0]&&(this.semicolon=!0,e.pop()),a.source.end=this.getPosition(s[3]||s[2]||c(e)),a.source.end.offset++;"word"!==e[0][0];)1===e.length&&this.unknownWord(e),a.raws.before+=e.shift()[1];for(a.source.start=this.getPosition(e[0][2]),a.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;a.prop+=e.shift()[1]}for(a.raws.between="";e.length;){if(n=e.shift(),":"===n[0]){a.raws.between+=n[1];break}"word"===n[0]&&/\w/.test(n[1])&&this.unknownWord([n]),a.raws.between+=n[1]}("_"===a.prop[0]||"*"===a.prop[0])&&(a.raws.before+=a.prop[0],a.prop=a.prop.slice(1));let i,o=[];for(;e.length&&(i=e[0][0],"space"===i||"comment"===i);)o.push(e.shift());this.precheckMissedSemicolon(e);for(let r=e.length-1;r>=0;r--){if(n=e[r],"!important"===n[1].toLowerCase()){a.important=!0;let t=this.stringFrom(e,r);t=this.spacesFromEnd(e)+t," !important"!==t&&(a.raws.important=t);break}if("important"===n[1].toLowerCase()){let t=e.slice(0),n="";for(let e=r;e>0;e--){let a=t[e][0];if(n.trim().startsWith("!")&&"space"!==a)break;n=t.pop()[1]+n}n.trim().startsWith("!")&&(a.important=!0,a.raws.important=n,e=t)}if("space"!==n[0]&&"comment"!==n[0])break}e.some(e=>"space"!==e[0]&&"comment"!==e[0])&&(a.raws.between+=o.map(e=>e[1]).join(""),o=[]),this.raw(a,"value",o.concat(e),t),a.value.includes(":")&&!t&&this.checkMissedSemicolon(e)}doubleColon(e){throw this.input.error("Double colon",{offset:e[2]},{offset:e[2]+e[1].length})}emptyRule(e){let t=new i;this.init(t,e[2]),t.selector="",t.raws.between="",this.current=t}end(e){this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.semicolon=!1,this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.spaces="",this.current.parent?(this.current.source.end=this.getPosition(e[2]),this.current.source.end.offset++,this.current=this.current.parent):this.unexpectedClose(e)}endFile(){this.current.parent&&this.unclosedBlock(),this.current.nodes&&this.current.nodes.length&&(this.current.raws.semicolon=this.semicolon),this.current.raws.after=(this.current.raws.after||"")+this.spaces,this.root.source.end=this.getPosition(this.tokenizer.position())}freeSemicolon(e){if(this.spaces+=e[1],this.current.nodes){let t=this.current.nodes[this.current.nodes.length-1];t&&"rule"===t.type&&!t.raws.ownSemicolon&&(t.raws.ownSemicolon=this.spaces,this.spaces="",t.source.end=this.getPosition(e[2]),t.source.end.offset+=t.raws.ownSemicolon.length)}}getPosition(e){let t=this.input.fromOffset(e);return{column:t.col,line:t.line,offset:e}}init(e,t){this.current.push(e),e.source={input:this.input,start:this.getPosition(t)},e.raws.before=this.spaces,this.spaces="","comment"!==e.type&&(this.semicolon=!1)}other(e){let t=!1,a=null,n=!1,r=null,s=[],i=e[1].startsWith("--"),o=[],l=e;for(;l;){if(a=l[0],o.push(l),"("===a||"["===a)r||(r=l),s.push("("===a?")":"]");else if(i&&n&&"{"===a)r||(r=l),s.push("}");else if(0===s.length){if(";"===a){if(n)return void this.decl(o,i);break}if("{"===a)return void this.rule(o);if("}"===a){this.tokenizer.back(o.pop()),t=!0;break}":"===a&&(n=!0)}else a===s[s.length-1]&&(s.pop(),0===s.length&&(r=null));l=this.tokenizer.nextToken()}if(this.tokenizer.endOfFile()&&(t=!0),s.length>0&&this.unclosedBracket(r),t&&n){if(!i)for(;o.length&&(l=o[o.length-1][0],"space"===l||"comment"===l);)this.tokenizer.back(o.pop());this.decl(o,i)}else this.unknownWord(o)}parse(){let e;for(;!this.tokenizer.endOfFile();)switch(e=this.tokenizer.nextToken(),e[0]){case"space":this.spaces+=e[1];break;case";":this.freeSemicolon(e);break;case"}":this.end(e);break;case"comment":this.comment(e);break;case"at-word":this.atrule(e);break;case"{":this.emptyRule(e);break;default:this.other(e)}this.endFile()}precheckMissedSemicolon(){}raw(e,t,a,n){let r,s,i,o,c=a.length,u="",d=!0;for(let h=0;he+t[1],"");e.raws[t]={raw:n,value:u}}e[t]=u}rule(e){e.pop();let t=new i;this.init(t,e[0][2]),t.raws.between=this.spacesAndCommentsFromEnd(e),this.raw(t,"selector",e),this.current=t}spacesAndCommentsFromEnd(e){let t,a="";for(;e.length&&(t=e[e.length-1][0],"space"===t||"comment"===t);)a=e.pop()[1]+a;return a}spacesAndCommentsFromStart(e){let t,a="";for(;e.length&&(t=e[0][0],"space"===t||"comment"===t);)a+=e.shift()[1];return a}spacesFromEnd(e){let t,a="";for(;e.length&&(t=e[e.length-1][0],"space"===t);)a=e.pop()[1]+a;return a}stringFrom(e,t){let a="";for(let n=t;n{var a=k(),n=F(),r=N();function s(e,t){let a=new n(e,t),s=new r(a);try{s.parse()}catch(i){throw i}return s.root}t.exports=s,s.default=s,a.registerParse(s)}),B=l((e,t)=>{var a=I(),n=F();t.exports={isInlineComment(e){if("word"===e[0]&&"//"===e[1].slice(0,2)){let t,r,s=e,i=[];for(;e;){if(/\r?\n/.test(e[1])){if(/['"].*\r?\n/.test(e[1])){i.push(e[1].substring(0,e[1].indexOf("\n"))),r=e[1].substring(e[1].indexOf("\n"));let a=this.input.css.valueOf().substring(this.tokenizer.position());r+=a,t=e[3]+a.length-r.length}else this.tokenizer.back(e);break}i.push(e[1]),t=e[2],e=this.tokenizer.nextToken({ignoreUnclosed:!0})}let o=["comment",i.join(""),s[2],t];return this.inlineComment(o),r&&(this.input=new n(r),this.tokenizer=a(this.input)),!0}if("/"===e[1]){let a=this.tokenizer.nextToken({ignoreUnclosed:!0});if("comment"===a[0]&&/^\/\*/.test(a[1]))return a[0]="word",a[1]=a[1].slice(1),e[1]="//",this.tokenizer.back(a),t.exports.isInlineComment.bind(this)(e)}return!1}}}),M=l((e,t)=>{t.exports={interpolation(e){let t=[e,this.tokenizer.nextToken()],a=["word","}"];if(t[0][1].length>1||"{"!==t[1][0])return this.tokenizer.back(t[1]),!1;for(e=this.tokenizer.nextToken();e&&a.includes(e[0]);)t.push(e),e=this.tokenizer.nextToken();let n=t.map(e=>e[1]),[r]=t,s=t.pop(),i=["word",n.join(""),r[2],s[2]];return this.tokenizer.back(e),this.tokenizer.back(i),!0}}}),O=l((e,t)=>{var a=/^#[0-9a-fA-F]{6}$|^#[0-9a-fA-F]{3}$/,n=/\.[0-9]/,r=e=>{let[,t]=e,[r]=t;return("."===r||"#"===r)&&!1===a.test(t)&&!1===n.test(t)};t.exports={isMixinToken:r}}),U=l((e,t)=>{var a=I(),n=/^url\((.+)\)/;t.exports=e=>{let{name:t,params:r=""}=e;if("import"===t&&r.length){e.import=!0;let t=a({css:r});for(e.filename=r.replace(n,"$1");!t.endOfFile();){let[a,n]=t.nextToken();if("word"===a&&"url"===n)return;if("brackets"===a){e.options=n,e.filename=r.replace(n,"").trim();break}}}}}),j=l((e,t)=>{var a=/:$/,n=/^:(\s+)?/;t.exports=e=>{let{name:t,params:r=""}=e;if(":"===e.name.slice(-1)){if(a.test(t)){let[n]=t.match(a);e.name=t.replace(n,""),e.raws.afterName=n+(e.raws.afterName||""),e.variable=!0,e.value=e.params}if(n.test(r)){let[t]=r.match(n);e.value=r.replace(t,""),e.raws.afterName=(e.raws.afterName||"")+t,e.variable=!0}}}}),L=l((e,t)=>{var a=w(),n=N(),{isInlineComment:r}=B(),{interpolation:s}=M(),{isMixinToken:i}=O(),o=U(),l=j(),c=/(!\s*important)$/i;t.exports=class extends n{constructor(...e){super(...e),this.lastNode=null}atrule(e){s.bind(this)(e)||(super.atrule(e),o(this.lastNode),l(this.lastNode))}decl(...e){super.decl(...e),/extend\(.+\)/i.test(this.lastNode.value)&&(this.lastNode.extend=!0)}each(e){e[0][1]=` ${e[0][1]}`;let t=e.findIndex(e=>"("===e[0]),a=e.reverse().find(e=>")"===e[0]),n=e.reverse().indexOf(a),r=e.splice(t,n).map(e=>e[1]).join("");for(let s of e.reverse())this.tokenizer.back(s);this.atrule(this.tokenizer.nextToken()),this.lastNode.function=!0,this.lastNode.params=r}init(e,t,a){super.init(e,t,a),this.lastNode=e}inlineComment(e){let t=new a,n=e[1].slice(2);if(this.init(t,e[2]),t.source.end=this.getPosition(e[3]||e[2]),t.inline=!0,t.raws.begin="//",/^\s*$/.test(n))t.text="",t.raws.left=n,t.raws.right="";else{let e=n.match(/^(\s*)([^]*[^\s])(\s*)$/);[,t.raws.left,t.text,t.raws.right]=e}}mixin(e){let[t]=e,a=t[1].slice(0,1),n=e.findIndex(e=>"brackets"===e[0]),r=e.findIndex(e=>"("===e[0]),s="";if((n<0||n>3)&&r>0){let t=e.reduce((e,t,a)=>")"===t[0]?a:e),a=e.slice(r,t+r).map(e=>e[1]).join(""),[n]=e.slice(r),s=[n[2],n[3]],[i]=e.slice(t,t+1),o=[i[2],i[3]],l=["brackets",a].concat(s,o),c=e.slice(0,r),u=e.slice(t+1);(e=c).push(l),e=e.concat(u)}let i=[];for(let l of e)if(("!"===l[1]||i.length)&&i.push(l),"important"===l[1])break;if(i.length){let[t]=i,a=e.indexOf(t),n=i[i.length-1],r=[t[2],t[3]],s=[n[4],n[5]],o=["word",i.map(e=>e[1]).join("")].concat(r,s);e.splice(a,i.length,o)}let o=e.findIndex(e=>c.test(e[1]));o>0&&([,s]=e[o],e.splice(o,1));for(let l of e.reverse())this.tokenizer.back(l);this.atrule(this.tokenizer.nextToken()),this.lastNode.mixin=!0,this.lastNode.raws.identifier=a,s&&(this.lastNode.important=!0,this.lastNode.raws.important=s)}other(e){r.bind(this)(e)||super.other(e)}rule(e){let t=e[e.length-1],a=e[e.length-2];if("at-word"===a[0]&&"{"===t[0]&&(this.tokenizer.back(t),s.bind(this)(a))){let t=this.tokenizer.nextToken();e=e.slice(0,e.length-2).concat([t]);for(let a of e.reverse())this.tokenizer.back(a);return}super.rule(e),/:extend\(.+\)/i.test(this.lastNode.selector)&&(this.lastNode.extend=!0)}unknownWord(e){let[t]=e;"each"!==e[0][1]||"("!==e[1][0]?i(t)?this.mixin(e):super.unknownWord(e):this.each(e)}}}),R=l((e,t)=>{var a=g();t.exports=class extends a{atrule(e,t){if(!e.mixin&&!e.variable&&!e.function)return void super.atrule(e,t);let a=`${e.function?"":e.raws.identifier||"@"}${e.name}`,n=e.params?this.rawValue(e,"params"):"",r=e.raws.important||"";if(e.variable&&(n=e.value),typeof e.raws.afterName<"u"?a+=e.raws.afterName:n&&(a+=" "),e.nodes)this.block(e,a+n+r);else{let s=(e.raws.between||"")+r+(t?";":"");this.builder(a+n+s,e)}}comment(e){if(e.inline){let t=this.raw(e,"left","commentLeft"),a=this.raw(e,"right","commentRight");this.builder(`//${t}${e.text}${a}`,e)}else super.comment(e)}}}),z=l((e,t)=>{var a=F(),n=L(),r=R();t.exports={parse(e,t){let r=new a(e,t),s=new n(r);return s.parse(),s.root.walk(e=>{let t=r.css.lastIndexOf(e.source.input.css);if(0===t)return;if(t+e.source.input.css.length!==r.css.length)throw new Error("Invalid state detected in postcss-less");let a=t+e.source.start.offset,n=r.fromOffset(t+e.source.start.offset);if(e.source.start={offset:a,line:n.line,column:n.col},e.source.end){let a=t+e.source.end.offset,n=r.fromOffset(t+e.source.end.offset);e.source.end={offset:a,line:n.line,column:n.col}}}),s.root},stringify(e,t){new r(t).stringify(e)},nodeToString(e){let a="";return t.exports.stringify(e,e=>{a+=e}),a}}}),H=l((e,t)=>{var a,n,r=k(),s=class extends r{constructor(e){super({type:"document",...e}),this.nodes||(this.nodes=[])}toResult(e={}){return new a(new n,this,e).stringify()}};s.registerLazyResult=e=>{a=e},s.registerProcessor=e=>{n=e},t.exports=s,s.default=s}),$=l((e,t)=>{var a=D(),n=w(),r=x(),s=F(),i=C(),o=A(),l=S();function c(e,t){if(Array.isArray(e))return e.map(e=>c(e));let{inputs:u,...d}=e;if(u){t=[];for(let e of u){let a={...e,__proto__:s.prototype};a.map&&(a.map={...a.map,__proto__:i.prototype}),t.push(a)}}if(d.nodes&&(d.nodes=e.nodes.map(e=>c(e,t))),d.source){let{inputId:e,...a}=d.source;d.source=a,null!=e&&(d.source.input=t[e])}if("root"===d.type)return new o(d);if("decl"===d.type)return new r(d);if("rule"===d.type)return new l(d);if("comment"===d.type)return new n(d);if("atrule"===d.type)return new a(d);throw new Error("Unknown node type: "+e.type)}t.exports=c,c.default=c}),Y=l((e,t)=>{t.exports=class{generate(){}}}),G=l((e,t)=>{var a=class{constructor(e,t={}){if(this.type="warning",this.text=e,t.node&&t.node.source){let e=t.node.rangeBy(t);this.line=e.start.line,this.column=e.start.column,this.endLine=e.end.line,this.endColumn=e.end.column}for(let a in t)this[a]=t[a]}toString(){return this.node?this.node.error(this.text,{index:this.index,plugin:this.plugin,word:this.word}).message:this.plugin?this.plugin+": "+this.text:this.text}};t.exports=a,a.default=a}),W=l((e,t)=>{var a=G(),n=class{get content(){return this.css}constructor(e,t,a){this.processor=e,this.messages=[],this.root=t,this.opts=a,this.css="",this.map=void 0}toString(){return this.css}warn(e,t={}){t.plugin||this.lastPlugin&&this.lastPlugin.postcssPlugin&&(t.plugin=this.lastPlugin.postcssPlugin);let n=new a(e,t);return this.messages.push(n),n}warnings(){return this.messages.filter(e=>"warning"===e.type)}};t.exports=n,n.default=n}),V=l((e,t)=>{var a={};t.exports=function(e){a[e]||(a[e]=!0,typeof console<"u"&&console.warn&&console.warn(e))}}),K=l((e,t)=>{var a=k(),n=H(),r=Y(),s=P(),i=W(),o=A(),l=y(),{isClean:c,my:u}=v();V();var d={atrule:"AtRule",comment:"Comment",decl:"Declaration",document:"Document",root:"Root",rule:"Rule"},h={AtRule:!0,AtRuleExit:!0,Comment:!0,CommentExit:!0,Declaration:!0,DeclarationExit:!0,Document:!0,DocumentExit:!0,Once:!0,OnceExit:!0,postcssPlugin:!0,prepare:!0,Root:!0,RootExit:!0,Rule:!0,RuleExit:!0},p={Once:!0,postcssPlugin:!0,prepare:!0},f=0;function m(e){return"object"==typeof e&&"function"==typeof e.then}function g(e){let t=!1,a=d[e.type];return"decl"===e.type?t=e.prop.toLowerCase():"atrule"===e.type&&(t=e.name.toLowerCase()),t&&e.append?[a,a+"-"+t,f,a+"Exit",a+"Exit-"+t]:t?[a,a+"-"+t,a+"Exit",a+"Exit-"+t]:e.append?[a,f,a+"Exit"]:[a,a+"Exit"]}function b(e){let t;return t="document"===e.type?["Document",f,"DocumentExit"]:"root"===e.type?["Root",f,"RootExit"]:g(e),{eventIndex:0,events:t,iterator:0,node:e,visitorIndex:0,visitors:[]}}function w(e){return e[c]=!1,e.nodes&&e.nodes.forEach(e=>w(e)),e}var x={},_=class e{get content(){return this.stringify().content}get css(){return this.stringify().css}get map(){return this.stringify().map}get messages(){return this.sync().messages}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){return this.sync().root}get[Symbol.toStringTag](){return"LazyResult"}constructor(t,n,r){let o;if(this.stringified=!1,this.processed=!1,"object"!=typeof n||null===n||"root"!==n.type&&"document"!==n.type)if(n instanceof e||n instanceof i)o=w(n.root),n.map&&(typeof r.map>"u"&&(r.map={}),r.map.inline||(r.map.inline=!1),r.map.prev=n.map);else{let e=s;r.syntax&&(e=r.syntax.parse),r.parser&&(e=r.parser),e.parse&&(e=e.parse);try{o=e(n,r)}catch(l){this.processed=!0,this.error=l}o&&!o[u]&&a.rebuild(o)}else o=w(n);this.result=new i(t,o,r),this.helpers={...x,postcss:x,result:this.result},this.plugins=this.processor.plugins.map(e=>"object"==typeof e&&e.prepare?{...e,...e.prepare(this.result)}:e)}async(){return this.error?Promise.reject(this.error):this.processed?Promise.resolve(this.result):(this.processing||(this.processing=this.runAsync()),this.processing)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}getAsyncError(){throw new Error("Use process(css).then(cb) to work with async plugins")}handleError(e,t){let a=this.result.lastPlugin;try{t&&t.addToError(e),this.error=e,"CssSyntaxError"!==e.name||e.plugin?a.postcssVersion:(e.plugin=a.postcssPlugin,e.setMessage())}catch(n){console&&console.error&&console.error(n)}return e}prepareVisitors(){this.listeners={};let e=(e,t,a)=>{this.listeners[t]||(this.listeners[t]=[]),this.listeners[t].push([e,a])};for(let t of this.plugins)if("object"==typeof t)for(let a in t){if(!h[a]&&/^[A-Z]/.test(a))throw new Error(`Unknown event ${a} in ${t.postcssPlugin}. Try to update PostCSS (${this.processor.version} now).`);if(!p[a])if("object"==typeof t[a])for(let n in t[a])e(t,"*"===n?a:a+"-"+n.toLowerCase(),t[a][n]);else"function"==typeof t[a]&&e(t,a,t[a])}this.hasListener=Object.keys(this.listeners).length>0}async runAsync(){this.plugin=0;for(let t=0;t0;){let t=this.visitTick(a);if(m(t))try{await t}catch(e){let t=a[a.length-1].node;throw this.handleError(e,t)}}}if(this.listeners.OnceExit)for(let[a,n]of this.listeners.OnceExit){this.result.lastPlugin=a;try{if("document"===t.type){let e=t.nodes.map(e=>n(e,this.helpers));await Promise.all(e)}else await n(t,this.helpers)}catch(e){throw this.handleError(e)}}}return this.processed=!0,this.stringify()}runOnRoot(e){this.result.lastPlugin=e;try{if("object"==typeof e&&e.Once){if("document"===this.result.root.type){let t=this.result.root.nodes.map(t=>e.Once(t,this.helpers));return m(t[0])?Promise.all(t):t}return e.Once(this.result.root,this.helpers)}if("function"==typeof e)return e(this.result.root,this.result)}catch(t){throw this.handleError(t)}}stringify(){if(this.error)throw this.error;if(this.stringified)return this.result;this.stringified=!0,this.sync();let e=this.result.opts,t=l;e.syntax&&(t=e.syntax.stringify),e.stringifier&&(t=e.stringifier),t.stringify&&(t=t.stringify);let a=new r(t,this.result.root,this.result.opts).generate();return this.result.css=a[0],this.result.map=a[1],this.result}sync(){if(this.error)throw this.error;if(this.processed)return this.result;if(this.processed=!0,this.processing)throw this.getAsyncError();for(let e of this.plugins)if(m(this.runOnRoot(e)))throw this.getAsyncError();if(this.prepareVisitors(),this.hasListener){let e=this.result.root;for(;!e[c];)e[c]=!0,this.walkSync(e);if(this.listeners.OnceExit)if("document"===e.type)for(let t of e.nodes)this.visitSync(this.listeners.OnceExit,t);else this.visitSync(this.listeners.OnceExit,e)}return this.result}then(e,t){return this.async().then(e,t)}toString(){return this.css}visitSync(e,t){for(let[n,r]of e){let e;this.result.lastPlugin=n;try{e=r(t,this.helpers)}catch(a){throw this.handleError(a,t.proxyOf)}if("root"!==t.type&&"document"!==t.type&&!t.parent)return!0;if(m(e))throw this.getAsyncError()}}visitTick(e){let t=e[e.length-1],{node:a,visitors:n}=t;if("root"!==a.type&&"document"!==a.type&&!a.parent)return void e.pop();if(n.length>0&&t.visitorIndex{e[c]||this.walkSync(e)});else{let t=this.listeners[a];if(t&&this.visitSync(t,e.toProxy()))return}}warnings(){return this.sync().warnings()}};_.registerPostcss=e=>{x=e},t.exports=_,_.default=_,o.registerLazyResult(_),n.registerLazyResult(_)}),J=l((e,t)=>{var a=Y(),n=P(),r=W(),s=y();V();var i=class{get content(){return this.result.css}get css(){return this.result.css}get map(){return this.result.map}get messages(){return[]}get opts(){return this.result.opts}get processor(){return this.result.processor}get root(){if(this._root)return this._root;let e,t=n;try{e=t(this._css,this._opts)}catch(a){this.error=a}if(this.error)throw this.error;return this._root=e,e}get[Symbol.toStringTag](){return"NoWorkResult"}constructor(e,t,n){t=t.toString(),this.stringified=!1,this._processor=e,this._css=t,this._opts=n,this._map=void 0;let i,o=s;this.result=new r(this._processor,i,this._opts),this.result.css=t;let l=this;Object.defineProperty(this.result,"root",{get:()=>l.root});let c=new a(o,i,this._opts,t);if(c.isMap()){let[e,t]=c.generate();e&&(this.result.css=e),t&&(this.result.map=t)}else c.clearAnnotation(),this.result.css=c.css}async(){return this.error?Promise.reject(this.error):Promise.resolve(this.result)}catch(e){return this.async().catch(e)}finally(e){return this.async().then(e,e)}sync(){if(this.error)throw this.error;return this.result}then(e,t){return this.async().then(e,t)}toString(){return this._css}warnings(){return[]}};t.exports=i,i.default=i}),q=l((e,t)=>{var a=H(),n=K(),r=J(),s=A(),i=class{constructor(e=[]){this.version="8.5.6",this.plugins=this.normalize(e)}normalize(e){let t=[];for(let a of e)if(!0===a.postcss?a=a():a.postcss&&(a=a.postcss),"object"==typeof a&&Array.isArray(a.plugins))t=t.concat(a.plugins);else if("object"==typeof a&&a.postcssPlugin)t.push(a);else if("function"==typeof a)t.push(a);else if("object"!=typeof a||!a.parse&&!a.stringify)throw new Error(a+" is not a PostCSS plugin");return t}process(e,t={}){return this.plugins.length||t.parser||t.stringifier||t.syntax?new n(this,e,t):new r(this,e,t)}use(e){return this.plugins=this.plugins.concat(this.normalize([e])),this}};t.exports=i,i.default=i,s.registerProcessor(i),a.registerProcessor(i)}),Z=l((e,t)=>{var a=D(),n=w(),r=k(),s=m(),i=x(),o=H(),l=$(),c=F(),u=K(),d=T(),h=b(),p=P(),f=q(),g=W(),v=A(),_=S(),E=y(),C=G();function I(...e){return 1===e.length&&Array.isArray(e[0])&&(e=e[0]),new f(e)}I.plugin=function(e,t){let a,n=!1;function r(...a){console&&console.warn&&!n&&(n=!0,console.warn(e+": postcss.plugin was deprecated. Migration guide:\nhttps://evilmartians.com/chronicles/postcss-8-plugin-migration"));let r=t(...a);return r.postcssPlugin=e,r.postcssVersion=(new f).version,r}return Object.defineProperty(r,"postcss",{get:()=>(a||(a=r()),a)}),r.process=function(e,t,a){return I([r(a)]).process(e,t)},r},I.stringify=E,I.parse=p,I.fromJSON=l,I.list=d,I.comment=e=>new n(e),I.atRule=e=>new a(e),I.decl=e=>new i(e),I.rule=e=>new _(e),I.root=e=>new v(e),I.document=e=>new o(e),I.CssSyntaxError=s,I.Declaration=i,I.Container=r,I.Processor=f,I.Document=o,I.Comment=n,I.Warning=C,I.AtRule=a,I.Result=g,I.Input=c,I.Rule=_,I.Root=v,I.Node=h,u.registerPostcss(I),t.exports=I,I.default=I}),X=l((e,t)=>{var{Container:a}=Z(),n=class extends a{constructor(e){super(e),this.type="decl",this.isNested=!0,this.nodes||(this.nodes=[])}};t.exports=n}),Q=l((e,t)=>{var a=/[\t\n\f\r "#'()/;[\\\]{}]/g,n=/[,\t\n\f\r !"#'():;@[\\\]{}]|\/(?=\*)/g,r=/.[\r\n"'(/\\]/,s=/[\da-f]/i,i=/[\n\f\r]/g;t.exports=function(e,t={}){let o,l,c,u,d,h,p,f,m,g,y=e.css.valueOf(),v=t.ignoreErrors,b=y.length,w=0,x=[],k=[];function _(){return w}function E(t){throw e.error("Unclosed "+t,w)}function C(){return 0===k.length&&w>=b}function F(){let e=1,t=!1,a=!1;for(;e>0;)l+=1,y.length<=l&&E("interpolation"),o=y.charCodeAt(l),f=y.charCodeAt(l+1),t?a||o!==t?92===o?a=!a:a&&(a=!1):(t=!1,a=!1):39===o||34===o?t=o:125===o?e-=1:35===o&&123===f&&(e+=1)}function D(e){if(k.length)return k.pop();if(w>=b)return;let t=!!e&&e.ignoreUnclosed;switch(o=y.charCodeAt(w),o){case 10:case 32:case 9:case 13:case 12:l=w;do{l+=1,o=y.charCodeAt(l)}while(32===o||10===o||9===o||13===o||12===o);m=["space",y.slice(w,l)],w=l-1;break;case 91:case 93:case 123:case 125:case 58:case 59:case 41:{let e=String.fromCharCode(o);m=[e,e,w];break}case 44:m=["word",",",w,w+1];break;case 40:if(p=x.length?x.pop()[1]:"",f=y.charCodeAt(w+1),"url"===p&&39!==f&&34!==f){for(g=1,h=!1,l=w+1;l<=y.length-1;){if(f=y.charCodeAt(l),92===f)h=!h;else if(40===f)g+=1;else if(41===f&&(g-=1,0===g))break;l+=1}u=y.slice(w,l+1),m=["brackets",u,w,l],w=l}else l=y.indexOf(")",w+1),u=y.slice(w,l+1),-1===l||r.test(u)?m=["(","(",w]:(m=["brackets",u,w,l],w=l);break;case 39:case 34:for(c=o,l=w,h=!1;l{var{Comment:a}=Z(),n=N(),r=X(),s=Q(),i=class extends n{atrule(e){let t=e[1],a=e;for(;!this.tokenizer.endOfFile();){let e=this.tokenizer.nextToken();if("word"!==e[0]||e[2]!==a[3]+1){this.tokenizer.back(e);break}t+=e[1],a=e}super.atrule(["at-word",t,e[2],a[3]])}comment(e){if("inline"===e[4]){let t=new a;this.init(t,e[2]),t.raws.inline=!0;let n=this.input.fromOffset(e[3]);t.source.end={column:n.col,line:n.line,offset:e[3]+1};let r=e[1].slice(2);if(/^\s*$/.test(r))t.text="",t.raws.left=r,t.raws.right="";else{let e=r.match(/^(\s*)([^]*\S)(\s*)$/),a=e[2].replace(/(\*\/|\/\*)/g,"*//*");t.text=a,t.raws.left=e[1],t.raws.right=e[3],t.raws.text=e[2]}}else super.comment(e)}createTokenizer(){this.tokenizer=s(this.input)}raw(e,t,a,n){if(super.raw(e,t,a,n),e.raws[t]){let n=e.raws[t].raw;e.raws[t].raw=a.reduce((e,t)=>"comment"===t[0]&&"inline"===t[4]?e+"/*"+t[1].slice(2).replace(/(\*\/|\/\*)/g,"*//*")+"*/":e+t[1],""),n!==e.raws[t].raw&&(e.raws[t].scss=n)}}rule(e){let t=!1,a=0,n="";for(let r of e)if(t)"comment"!==r[0]&&"{"!==r[0]&&(n+=r[1]);else{if("space"===r[0]&&r[1].includes("\n"))break;"("===r[0]?a+=1:")"===r[0]?a-=1:0===a&&":"===r[0]&&(t=!0)}if(!t||""===n.trim()||/^[#:A-Za-z-]/.test(n))super.rule(e);else{e.pop();let t,a,n=new r;this.init(n,e[0][2]);for(let r=e.length-1;r>=0;r--)if("space"!==e[r][0]){t=e[r];break}if(t[3]){let e=this.input.fromOffset(t[3]);n.source.end={column:e.col,line:e.line,offset:t[3]+1}}else{let e=this.input.fromOffset(t[2]);n.source.end={column:e.col,line:e.line,offset:t[2]+1}}for(;"word"!==e[0][0];)n.raws.before+=e.shift()[1];if(e[0][2]){let t=this.input.fromOffset(e[0][2]);n.source.start={column:t.col,line:t.line,offset:e[0][2]}}for(n.prop="";e.length;){let t=e[0][0];if(":"===t||"space"===t||"comment"===t)break;n.prop+=e.shift()[1]}for(n.raws.between="";e.length;){if(a=e.shift(),":"===a[0]){n.raws.between+=a[1];break}n.raws.between+=a[1]}("_"===n.prop[0]||"*"===n.prop[0])&&(n.raws.before+=n.prop[0],n.prop=n.prop.slice(1)),n.raws.between+=this.spacesAndCommentsFromStart(e),this.precheckMissedSemicolon(e);for(let r=e.length-1;r>0;r--){if(a=e[r],"!important"===a[1]){n.important=!0;let t=this.stringFrom(e,r);t=this.spacesFromEnd(e)+t," !important"!==t&&(n.raws.important=t);break}if("important"===a[1]){let t=e.slice(0),a="";for(let e=r;e>0;e--){let n=t[e][0];if(0===a.trim().indexOf("!")&&"space"!==n)break;a=t.pop()[1]+a}0===a.trim().indexOf("!")&&(n.important=!0,n.raws.important=a,e=t)}if("space"!==a[0]&&"comment"!==a[0])break}this.raw(n,"value",e),n.value.includes(":")&&this.checkMissedSemicolon(e),this.current=n}}};t.exports=i}),te=l((e,t)=>{var{Input:a}=Z(),n=ee();t.exports=function(e,t){let r=new a(e,t),s=new n(r);return s.parse(),s.root}}),ae=l(e=>{function t(e){this.after=e.after,this.before=e.before,this.type=e.type,this.value=e.value,this.sourceIndex=e.sourceIndex}Object.defineProperty(e,"__esModule",{value:!0}),e.default=t}),ne=l(e=>{Object.defineProperty(e,"__esModule",{value:!0});var t=a(ae());function a(e){return e&&e.__esModule?e:{default:e}}function n(e){var t=this;this.constructor(e),this.nodes=e.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:""),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach(function(e){e.parent=t})}n.prototype=Object.create(t.default.prototype),n.constructor=t.default,n.prototype.walk=function(e,t){for(var a="string"==typeof e||e instanceof RegExp,n=a?t:e,r="string"==typeof e?new RegExp(e):e,s=0;s{Object.defineProperty(e,"__esModule",{value:!0}),e.parseMediaFeature=r,e.parseMediaQuery=s,e.parseMediaList=i;var t=n(ae()),a=n(ne());function n(e){return e&&e.__esModule?e:{default:e}}function r(e){var t=[{mode:"normal",character:null}],a=[],n=0,r="",s=null,i=null,o=arguments.length<=1||void 0===arguments[1]?0:arguments[1],l=e;"("===e[0]&&")"===e[e.length-1]&&(l=e.substring(1,e.length-1),o++);for(var c=0;c0&&(s[h-1].after=l.before),void 0===l.type){if(h>0){if("media-feature-expression"===s[h-1].type){l.type="keyword";continue}if("not"===s[h-1].value||"only"===s[h-1].value){l.type="media-type";continue}if("and"===s[h-1].value){l.type="media-feature-expression";continue}"media-type"===s[h-1].type&&(s[h+1]?l.type="media-feature-expression"===s[h+1].type?"keyword":"media-feature-expression":l.type="media-feature-expression")}if(0===h){if(!s[h+1]){l.type="media-type";continue}if(s[h+1]&&("media-feature-expression"===s[h+1].type||"keyword"===s[h+1].type)){l.type="media-type";continue}if(s[h+2]){if("media-feature-expression"===s[h+2].type){l.type="media-type",s[h+1].type="keyword";continue}if("keyword"===s[h+2].type){l.type="keyword",s[h+1].type="media-type";continue}}if(s[h+3]&&"media-feature-expression"===s[h+3].type){l.type="keyword",s[h+1].type="media-type",s[h+2].type="keyword";continue}}}return s}function i(e){var n=[],r=0,i=0,o=/^(\s*)url\s*\(/.exec(e);if(null!==o){for(var l=o[0].length,c=1;c>0;){var u=e[l];"("===u&&c++,")"===u&&c--,l++}n.unshift(new t.default({type:"url",value:e.substring(0,l).trim(),sourceIndex:o[1].length,before:o[1],after:/^(\s*)/.exec(e.substring(l))[1]})),r=l}for(var d=r;d{Object.defineProperty(e,"__esModule",{value:!0}),e.default=r;var t=n(ne()),a=re();function n(e){return e&&e.__esModule?e:{default:e}}function r(e){return new t.default({nodes:(0,a.parseMediaList)(e),type:"media-query-list",value:e.trim()})}}),ie=l((e,t)=>{t.exports=function(e,t){return(t="number"==typeof t?t:1/0)?a(e,1):Array.isArray(e)?e.map(function(e){return e}):e;function a(e,n){return e.reduce(function(e,r){return Array.isArray(r)&&n{t.exports=function(e,t){for(var a=-1,n=[];-1!==(a=e.indexOf(t,a+1));)n.push(a);return n}}),le=l((e,t)=>{function a(e,t){for(var a=1,n=e.length,r=e[0],s=e[0],i=1;i{e.__esModule=!0;var a="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e};function n(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}var r=function e(t,n){if("object"!==(typeof t>"u"?"undefined":a(t)))return t;var r=new t.constructor;for(var s in t)if(t.hasOwnProperty(s)){var i=t[s],o=typeof i>"u"?"undefined":a(i);"parent"===s&&"object"===o?n&&(r[s]=n):r[s]=i instanceof Array?i.map(function(t){return e(t,r)}):e(i,r)}return r},s=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};for(var a in n(this,e),t)this[a]=t[a];var r=t.spaces,s=(r=void 0===r?{}:r).before,i=void 0===s?"":s,o=r.after,l=void 0===o?"":o;this.spaces={before:i,after:l}}return e.prototype.remove=function(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this},e.prototype.replaceWith=function(){if(this.parent){for(var e in arguments)this.parent.insertBefore(this,arguments[e]);this.remove()}return this},e.prototype.next=function(){return this.parent.at(this.parent.index(this)+1)},e.prototype.prev=function(){return this.parent.at(this.parent.index(this)-1)},e.prototype.clone=function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=r(this);for(var a in e)t[a]=e[a];return t},e.prototype.toString=function(){return[this.spaces.before,String(this.value),this.spaces.after].join("")},e}();e.default=s,t.exports=e.default}),ue=l(e=>{e.__esModule=!0,e.TAG="tag",e.STRING="string",e.SELECTOR="selector",e.ROOT="root",e.PSEUDO="pseudo",e.NESTING="nesting",e.ID="id",e.COMMENT="comment",e.COMBINATOR="combinator",e.CLASS="class",e.ATTRIBUTE="attribute",e.UNIVERSAL="universal"}),de=l((e,t)=>{e.__esModule=!0;var a=function(){function e(e,t){for(var a=0;a=e&&(this.indexes[a]=t-1);return this},t.prototype.removeAll=function(){var e=this.nodes,t=Array.isArray(e),a=0;for(e=t?e:e[Symbol.iterator]();;){var n;if(t){if(a>=e.length)break;n=e[a++]}else{if((a=e.next()).done)break;n=a.value}n.parent=void 0}return this.nodes=[],this},t.prototype.empty=function(){return this.removeAll()},t.prototype.insertAfter=function(e,t){var a=this.index(e);this.nodes.splice(a+1,0,t);var n=void 0;for(var r in this.indexes)a<=(n=this.indexes[r])&&(this.indexes[r]=n+this.nodes.length);return this},t.prototype.insertBefore=function(e,t){var a=this.index(e);this.nodes.splice(a,0,t);var n=void 0;for(var r in this.indexes)a<=(n=this.indexes[r])&&(this.indexes[r]=n+this.nodes.length);return this},t.prototype.each=function(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach++;var t=this.lastEach;if(this.indexes[t]=0,this.length){for(var a=void 0,n=void 0;this.indexes[t]{e.__esModule=!0;var a=r(de()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.ROOT,r}return o(t,e),t.prototype.toString=function(){var e=this.reduce(function(e,t){var a=String(t);return a?e+a+",":""},"").slice(0,-1);return this.trailingComma?e+",":e},t}(a.default);e.default=l,t.exports=e.default}),pe=l((e,t)=>{e.__esModule=!0;var a=r(de()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.SELECTOR,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),fe=l((e,t)=>{e.__esModule=!0;var a=function(){function e(e,t){for(var a=0;a{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.CLASS,r}return o(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,"."+this.value,this.spaces.after].join("")},t}(a.default);e.default=l,t.exports=e.default}),ge=l((e,t)=>{e.__esModule=!0;var a=r(ce()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.COMMENT,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),ye=l((e,t)=>{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.ID,r}return o(t,e),t.prototype.toString=function(){return[this.spaces.before,this.ns,"#"+this.value,this.spaces.after].join("")},t}(a.default);e.default=l,t.exports=e.default}),ve=l((e,t)=>{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.TAG,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),be=l((e,t)=>{e.__esModule=!0;var a=r(ce()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.STRING,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),we=l((e,t)=>{e.__esModule=!0;var a=r(de()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.PSEUDO,r}return o(t,e),t.prototype.toString=function(){var e=this.length?"("+this.map(String).join(",")+")":"";return[this.spaces.before,String(this.value),e,this.spaces.after].join("")},t}(a.default);e.default=l,t.exports=e.default}),xe=l((e,t)=>{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.ATTRIBUTE,r.raws={},r}return o(t,e),t.prototype.toString=function(){var e=[this.spaces.before,"[",this.ns,this.attribute];return this.operator&&e.push(this.operator),this.value&&e.push(this.value),this.raws.insensitive?e.push(this.raws.insensitive):this.insensitive&&e.push(" i"),e.push("]"),e.concat(this.spaces.after).join("")},t}(a.default);e.default=l,t.exports=e.default}),ke=l((e,t)=>{e.__esModule=!0;var a=r(fe()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.UNIVERSAL,r.value="*",r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),_e=l((e,t)=>{e.__esModule=!0;var a=r(ce()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.COMBINATOR,r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),Ee=l((e,t)=>{e.__esModule=!0;var a=r(ce()),n=ue();function r(e){return e&&e.__esModule?e:{default:e}}function s(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function i(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}function o(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}var l=function(e){function t(a){s(this,t);var r=i(this,e.call(this,a));return r.type=n.NESTING,r.value="&",r}return o(t,e),t}(a.default);e.default=l,t.exports=e.default}),Ce=l((e,t)=>{function a(e){return e.sort(function(e,t){return e-t})}e.__esModule=!0,e.default=a,t.exports=e.default}),Fe=l((e,t)=>{e.__esModule=!0,e.default=D;var a=39,n=34,r=92,s=47,i=10,o=32,l=12,c=9,u=13,d=43,h=62,p=126,f=124,m=44,g=40,y=41,v=91,b=93,w=59,x=42,k=58,_=38,E=64,C=/[ \n\t\r\{\(\)'"\\;/]/g,F=/[ \n\t\r\(\)\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g;function D(e){for(var t=[],D=e.css.valueOf(),A=void 0,T=void 0,S=void 0,I=void 0,N=void 0,P=void 0,B=void 0,M=void 0,O=void 0,U=void 0,j=void 0,L=D.length,R=-1,z=1,H=0,$=function(t,a){if(!e.safe)throw e.error("Unclosed "+t,z,H-R,H);T=(D+=a).length-1};H0?(M=z+N,O=T-I[N].length):(M=z,O=R),t.push(["comment",P,z,H-R,M,T-O,H]),R=O,z=M,H=T):(F.lastIndex=H+1,F.test(D),T=0===F.lastIndex?D.length-1:F.lastIndex-2,t.push(["word",D.slice(H,T+1),z,H-R,z,T-R,H]),H=T)}H++}return t}t.exports=e.default}),De=l((e,t)=>{e.__esModule=!0;var a=function(){function e(e,t){for(var a=0;a1?(""===r[0]&&(r[0]=!0),s.attribute=this.parseValue(r[2]),s.namespace=this.parseNamespace(r[0])):s.attribute=this.parseValue(n[0]),t=new f.default(s),n[2]){var i=n[2].split(/(\s+i\s*?)$/),o=i[0].trim();t.value=this.lossy?o:i[0],i[1]&&(t.insensitive=!0,this.lossy||(t.raws.insensitive=i[1])),t.quoted="'"===o[0]||'"'===o[0],t.raws.unquoted=t.quoted?o.slice(1,-1):o}this.newNode(t),this.position++},e.prototype.combinator=function(){if("|"===this.currToken[1])return this.namespace();for(var e=new g.default({value:"",source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]});this.position1&&e.nextToken&&"("===e.nextToken[0]&&e.error("Misplaced parenthesis.")})}else this.error('Unexpected "'+this.currToken[0]+'" found.')},e.prototype.space=function(){var e=this.currToken;0===this.position||","===this.prevToken[0]||"("===this.prevToken[0]?(this.spaces=this.parseSpace(e[1]),this.position++):this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.spaces.after=this.parseSpace(e[1]),this.position++):this.combinator()},e.prototype.string=function(){var e=this.currToken;this.newNode(new h.default({value:this.currToken[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++},e.prototype.universal=function(e){var t=this.nextToken;if(t&&"|"===t[1])return this.position++,this.namespace();this.newNode(new m.default({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),e),this.position++},e.prototype.splitWord=function(e,t){for(var a=this,i=this.nextToken,o=this.currToken[1];i&&"word"===i[0];){this.position++;var c=this.currToken[1];if(o+=c,c.lastIndexOf("\\")===c.length-1){var h=this.nextToken;h&&"space"===h[0]&&(o+=this.parseSpace(h[1]," "),this.position++)}i=this.nextToken}var p=(0,r.default)(o,"."),f=(0,r.default)(o,"#"),m=(0,r.default)(o,"#{");m.length&&(f=f.filter(function(e){return!~m.indexOf(e)}));var g=(0,v.default)((0,s.default)((0,n.default)([[0],p,f])));g.forEach(function(n,r){var s=g[r+1]||o.length,i=o.slice(n,s);if(0===r&&t)return t.call(a,i,g.length);var c=void 0;c=~p.indexOf(n)?new l.default({value:i.slice(1),source:{start:{line:a.currToken[2],column:a.currToken[3]+n},end:{line:a.currToken[4],column:a.currToken[3]+(s-1)}},sourceIndex:a.currToken[6]+g[r]}):~f.indexOf(n)?new u.default({value:i.slice(1),source:{start:{line:a.currToken[2],column:a.currToken[3]+n},end:{line:a.currToken[4],column:a.currToken[3]+(s-1)}},sourceIndex:a.currToken[6]+g[r]}):new d.default({value:i,source:{start:{line:a.currToken[2],column:a.currToken[3]+n},end:{line:a.currToken[4],column:a.currToken[3]+(s-1)}},sourceIndex:a.currToken[6]+g[r]}),a.newNode(c,e)}),this.position++},e.prototype.word=function(e){var t=this.nextToken;return t&&"|"===t[1]?(this.position++,this.namespace()):this.splitWord(e)},e.prototype.loop=function(){for(;this.position{e.__esModule=!0;var a=function(){function e(e,t){for(var a=0;a1&&void 0!==arguments[1]?arguments[1]:{},a=new n.default({css:e,error:function(e){throw new Error(e)},options:t});return this.res=a,this.func(a),this},a(e,[{key:"result",get:function(){return String(this.res)}}]),e}();e.default=i,t.exports=e.default}),Te=l((e,t)=>{var a=function(e,t){let n=new e.constructor;for(let r in e){if(!e.hasOwnProperty(r))continue;let s=e[r],i=typeof s;"parent"===r&&"object"===i?t&&(n[r]=t):"source"===r?n[r]=s:s instanceof Array?n[r]=s.map(e=>a(e,n)):"before"!==r&&"after"!==r&&"between"!==r&&"semicolon"!==r&&("object"===i&&null!==s&&(s=a(s)),n[r]=s)}return n};t.exports=class{constructor(e){e=e||{},this.raws={before:"",after:""};for(let t in e)this[t]=e[t]}remove(){return this.parent&&this.parent.removeChild(this),this.parent=void 0,this}toString(){return[this.raws.before,String(this.value),this.raws.after].join("")}clone(e){e=e||{};let t=a(this);for(let a in e)t[a]=e[a];return t}cloneBefore(e){e=e||{};let t=this.clone(e);return this.parent.insertBefore(this,t),t}cloneAfter(e){e=e||{};let t=this.clone(e);return this.parent.insertAfter(this,t),t}replaceWith(){let e=Array.prototype.slice.call(arguments);if(this.parent){for(let t of e)this.parent.insertBefore(this,t);this.remove()}return this}moveTo(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.append(this),this}moveBefore(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertBefore(e,this),this}moveAfter(e){return this.cleanRaws(this.root()===e.root()),this.remove(),e.parent.insertAfter(e,this),this}next(){let e=this.parent.index(this);return this.parent.nodes[e+1]}prev(){let e=this.parent.index(this);return this.parent.nodes[e-1]}toJSON(){let e={};for(let t in this){if(!this.hasOwnProperty(t)||"parent"===t)continue;let a=this[t];a instanceof Array?e[t]=a.map(e=>"object"==typeof e&&e.toJSON?e.toJSON():e):"object"==typeof a&&a.toJSON?e[t]=a.toJSON():e[t]=a}return e}root(){let e=this;for(;e.parent;)e=e.parent;return e}cleanRaws(e){delete this.raws.before,delete this.raws.after,e||delete this.raws.between}positionInside(e){let t=this.toString(),a=this.source.start.column,n=this.source.start.line;for(let r=0;r{var a=Te(),n=class extends a{constructor(e){super(e),this.nodes||(this.nodes=[])}push(e){return e.parent=this,this.nodes.push(e),this}each(e){this.lastEach||(this.lastEach=0),this.indexes||(this.indexes={}),this.lastEach+=1;let t,a,n=this.lastEach;if(this.indexes[n]=0,this.nodes){for(;this.indexes[n]{let n=e(t,a);return!1!==n&&t.walk&&(n=t.walk(e)),n})}walkType(e,t){if(!e||!t)throw new Error("Parameters {type} and {callback} are required.");let a="function"==typeof e;return this.walk((n,r)=>{if(a&&n instanceof e||!a&&n.type===e)return t.call(this,n,r)})}append(e){return e.parent=this,this.nodes.push(e),this}prepend(e){return e.parent=this,this.nodes.unshift(e),this}cleanRaws(e){if(super.cleanRaws(e),this.nodes)for(let t of this.nodes)t.cleanRaws(e)}insertAfter(e,t){let a,n=this.index(e);this.nodes.splice(n+1,0,t);for(let r in this.indexes)a=this.indexes[r],n<=a&&(this.indexes[r]=a+this.nodes.length);return this}insertBefore(e,t){let a,n=this.index(e);this.nodes.splice(n,0,t);for(let r in this.indexes)a=this.indexes[r],n<=a&&(this.indexes[r]=a+this.nodes.length);return this}removeChild(e){let t;e=this.index(e),this.nodes[e].parent=void 0,this.nodes.splice(e,1);for(let a in this.indexes)t=this.indexes[a],t>=e&&(this.indexes[a]=t-1);return this}removeAll(){for(let e of this.nodes)e.parent=void 0;return this.nodes=[],this}every(e){return this.nodes.every(e)}some(e){return this.nodes.some(e)}index(e){return"number"==typeof e?e:this.nodes.indexOf(e)}get first(){if(this.nodes)return this.nodes[0]}get last(){if(this.nodes)return this.nodes[this.nodes.length-1]}toString(){let e=this.nodes.map(String).join("");return this.value&&(e=this.value+e),this.raws.before&&(e=this.raws.before+e),this.raws.after&&(e+=this.raws.after),e}};n.registerWalker=e=>{let t="walk"+e.name;t.lastIndexOf("s")!==t.length-1&&(t+="s"),!n.prototype[t]&&(n.prototype[t]=function(t){return this.walkType(e,t)})},t.exports=n}),Ie=l((e,t)=>{var a=Se();t.exports=class extends a{constructor(e){super(e),this.type="root"}}}),Ne=l((e,t)=>{var a=Se();t.exports=class extends a{constructor(e){super(e),this.type="value",this.unbalanced=0}}}),Pe=l((e,t)=>{var a=Se(),n=class extends a{constructor(e){super(e),this.type="atword"}toString(){return this.quoted&&this.raws.quote,[this.raws.before,"@",String.prototype.toString.call(this.value),this.raws.after].join("")}};a.registerWalker(n),t.exports=n}),Be=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="colon"}};a.registerWalker(r),t.exports=r}),Me=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="comma"}};a.registerWalker(r),t.exports=r}),Oe=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="comment",this.inline=Object(e).inline||!1}toString(){return[this.raws.before,this.inline?"//":"/*",String(this.value),this.inline?"":"*/",this.raws.after].join("")}};a.registerWalker(r),t.exports=r}),Ue=l((e,t)=>{var a=Se(),n=class extends a{constructor(e){super(e),this.type="func",this.unbalanced=-1}};a.registerWalker(n),t.exports=n}),je=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="number",this.unit=Object(e).unit||""}toString(){return[this.raws.before,String(this.value),this.unit,this.raws.after].join("")}};a.registerWalker(r),t.exports=r}),Le=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="operator"}};a.registerWalker(r),t.exports=r}),Re=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="paren",this.parenType=""}};a.registerWalker(r),t.exports=r}),ze=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="string"}toString(){let e=this.quoted?this.raws.quote:"";return[this.raws.before,e,this.value+"",e,this.raws.after].join("")}};a.registerWalker(r),t.exports=r}),He=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="word"}};a.registerWalker(r),t.exports=r}),$e=l((e,t)=>{var a=Se(),n=Te(),r=class extends n{constructor(e){super(e),this.type="unicode-range"}};a.registerWalker(r),t.exports=r}),Ye=l((e,t)=>{var a=class extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while tokzenizing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}};t.exports=a}),Ge=l((e,t)=>{var a=/[ \n\t\r\{\(\)'"\\;,/]/g,n=/[ \n\t\r\(\)\{\}\*:;@!&'"\+\|~>,\[\]\\]|\/(?=\*)/g,r=/[ \n\t\r\(\)\{\}\*:;@!&'"\-\+\|~>,\[\]\\]|\//g,s=/^[a-z0-9]/i,i=/^[a-f0-9?\-]/i,o=Ye();t.exports=function(e,t){t=t||{};let l,c,u,d,h,p,f,m,g,y,v,b=[],w=e.valueOf(),x=w.length,k=-1,_=1,E=0,C=0,F=null;function D(e){throw new o(`Unclosed ${e} at line: ${_}, column: ${E-k}, token: ${E}`)}for(;E0&&"word"===b[b.length-1][0]&&"url"===b[b.length-1][1],b.push(["(","(",_,E-k,_,c-k,E]);break;case 41:C--,F=F&&C>0,b.push([")",")",_,E-k,_,c-k,E]);break;case 39:case 34:u=39===l?"'":'"',c=E;do{for(g=!1,c=w.indexOf(u,c+1),-1===c&&D("quote"),y=c;92===w.charCodeAt(y-1);)y-=1,g=!g}while(g);b.push(["string",w.slice(E,c+1),_,E-k,_,c-k,E]),E=c;break;case 64:a.lastIndex=E+1,a.test(w),c=0===a.lastIndex?w.length-1:a.lastIndex-2,b.push(["atword",w.slice(E,c+1),_,E-k,_,c-k,E]),E=c;break;case 92:c=E,l=w.charCodeAt(c+1),b.push(["word",w.slice(E,c+1),_,E-k,_,c-k,E]),E=c;break;case 43:case 45:case 42:if(c=E+1,v=w.slice(E+1,c+1),w.slice(E-1,E),45===l&&45===v.charCodeAt(0)){c++,b.push(["word",w.slice(E,c),_,E-k,_,c-k,E]),E=c-1;break}b.push(["operator",w.slice(E,c),_,E-k,_,c-k,E]),E=c-1;break;default:if(47===l&&(42===w.charCodeAt(E+1)||t.loose&&!F&&47===w.charCodeAt(E+1))){if(42===w.charCodeAt(E+1))c=w.indexOf("*/",E+2)+1,0===c&&D("comment");else{let e=w.indexOf("\n",E+2);c=-1!==e?e-1:x}p=w.slice(E,c+1),d=p.split("\n"),h=d.length-1,h>0?(f=_+h,m=c-d[h].length):(f=_,m=k),b.push(["comment",p,_,E-k,f,c-m,E]),k=m,_=f,E=c}else if(35!==l||s.test(w.slice(E+1,E+2)))if(117!==l&&85!==l||43!==w.charCodeAt(E+1))if(47===l)c=E+1,b.push(["operator",w.slice(E,c),_,E-k,_,c-k,E]),E=c-1;else{let e=n;if(l>=48&&l<=57&&(e=r),e.lastIndex=E+1,e.test(w),c=0===e.lastIndex?w.length-1:e.lastIndex-2,e===r||46===l){let e=w.charCodeAt(c),t=w.charCodeAt(c+1),a=w.charCodeAt(c+2);(101===e||69===e)&&(45===t||43===t)&&a>=48&&a<=57&&(r.lastIndex=c+2,r.test(w),c=0===r.lastIndex?w.length-1:r.lastIndex-2)}b.push(["word",w.slice(E,c+1),_,E-k,_,c-k,E]),E=c}else{c=E+2;do{c+=1,l=w.charCodeAt(c)}while(c{var a=class extends Error{constructor(e){super(e),this.name=this.constructor.name,this.message=e||"An error ocurred while parsing.","function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(e).stack}};t.exports=a}),Ve=l((e,t)=>{var a=Ie(),n=Ne(),r=Pe(),s=Be(),i=Me(),o=Oe(),l=Ue(),c=je(),u=Le(),d=Re(),h=ze(),p=He(),f=$e(),m=Ge(),g=ie(),y=oe(),v=le(),b=We();function w(e){return e.sort((e,t)=>e-t)}t.exports=class{constructor(e,t){let r={loose:!1};this.cache=[],this.input=e,this.options=Object.assign({},r,t),this.position=0,this.unbalanced=0,this.root=new a;let s=new n;this.root.append(s),this.current=s,this.tokens=m(e,this.options)}parse(){return this.loop()}colon(){let e=this.currToken;this.newNode(new s({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comma(){let e=this.currToken;this.newNode(new i({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}comment(){let e,t=!1,a=this.currToken[1].replace(/\/\*|\*\//g,"");this.options.loose&&a.startsWith("//")&&(a=a.substring(2),t=!0),e=new o({value:a,inline:t,source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[4],column:this.currToken[5]}},sourceIndex:this.currToken[6]}),this.newNode(e),this.position++}error(e,t){throw new b(e+` at line: ${t[2]}, column ${t[3]}`)}loop(){for(;this.position0&&("func"===this.current.type&&"calc"===this.current.value?("space"!==this.prevToken[0]&&"("!==this.prevToken[0]||"space"!==this.nextToken[0]&&"word"!==this.nextToken[0]||"word"===this.nextToken[0]&&"operator"!==this.current.last.type&&"("!==this.current.last.value)&&this.error("Syntax Error",this.currToken):("space"===this.nextToken[0]||"operator"===this.nextToken[0]||"operator"===this.prevToken[0])&&this.error("Syntax Error",this.currToken)),this.options.loose){if((!this.current.nodes.length||this.current.last&&"operator"===this.current.last.type)&&"word"===this.nextToken[0])return this.word()}else if("word"===this.nextToken[0])return this.word();return e=new u({value:this.currToken[1],source:{start:{line:this.currToken[2],column:this.currToken[3]},end:{line:this.currToken[2],column:this.currToken[3]}},sourceIndex:this.currToken[4]}),this.position++,this.newNode(e)}parseTokens(){switch(this.currToken[0]){case"space":this.space();break;case"colon":this.colon();break;case"comma":this.comma();break;case"comment":this.comment();break;case"(":this.parenOpen();break;case")":this.parenClose();break;case"atword":case"word":default:this.word();break;case"operator":this.operator();break;case"string":this.string();break;case"unicoderange":this.unicodeRange()}}parenOpen(){let e,t=1,a=this.position+1,n=this.currToken;for(;a=this.tokens.length-1)||this.current.unbalanced)&&(this.current.unbalanced--,this.current.unbalanced<0&&this.error("Expected opening parenthesis",e),!this.current.unbalanced&&this.cache.length&&(this.current=this.cache.pop()))}space(){let e=this.currToken;this.position===this.tokens.length-1||","===this.nextToken[0]||")"===this.nextToken[0]?(this.current.last.raws.after+=e[1],this.position++):(this.spaces=e[1],this.position++)}unicodeRange(){let e=this.currToken;this.newNode(new f({value:e[1],source:{start:{line:e[2],column:e[3]},end:{line:e[4],column:e[5]}},sourceIndex:e[6]})),this.position++}splitWord(){let e,t,a=this.nextToken,n=this.currToken[1],s=/^[\+\-]?((\d+(\.\d*)?)|(\.\d+))([eE][\+\-]?\d+)?/;if(!/^(?!\#([a-z0-9]+))[\#\{\}]/gi.test(n))for(;a&&"word"===a[0];){this.position++;let e=this.currToken[1];n+=e,a=this.nextToken}e=y(n,"@"),t=w(v(g([[0],e]))),t.forEach((i,o)=>{let u,d=t[o+1]||n.length,h=n.slice(i,d);if(~e.indexOf(i))u=new r({value:h.slice(1),source:{start:{line:this.currToken[2],column:this.currToken[3]+i},end:{line:this.currToken[4],column:this.currToken[3]+(d-1)}},sourceIndex:this.currToken[6]+t[o]});else if(s.test(this.currToken[1])){let e=h.replace(s,"");u=new c({value:h.replace(e,""),source:{start:{line:this.currToken[2],column:this.currToken[3]+i},end:{line:this.currToken[4],column:this.currToken[3]+(d-1)}},sourceIndex:this.currToken[6]+t[o],unit:e})}else u=new(a&&"("===a[0]?l:p)({value:h,source:{start:{line:this.currToken[2],column:this.currToken[3]+i},end:{line:this.currToken[4],column:this.currToken[3]+(d-1)}},sourceIndex:this.currToken[6]+t[o]}),"word"===u.type?(u.isHex=/^#(.+)/.test(h),u.isColor=/^#([0-9a-f]{3}|[0-9a-f]{4}|[0-9a-f]{6}|[0-9a-f]{8})$/i.test(h)):this.cache.push(this.current);this.newNode(u)}),this.position++}string(){let e,t=this.currToken,a=this.currToken[1],n=/^(\"|\')/,r=n.test(a),s="";r&&(s=a.match(n)[0],a=a.slice(1,a.length-1)),e=new h({value:a,source:{start:{line:t[2],column:t[3]},end:{line:t[4],column:t[5]}},sourceIndex:t[6],quoted:r}),e.raws.quote=s,this.newNode(e),this.position++}word(){return this.splitWord()}newNode(e){return this.spaces&&(e.raws.before+=this.spaces,this.spaces=""),this.current.append(e)}get currToken(){return this.tokens[this.position]}get nextToken(){return this.tokens[this.position+1]}get prevToken(){return this.tokens[this.position-1]}}}),Ke={};c(Ke,{languages:()=>Hr,options:()=>$r,parsers:()=>Yr,printers:()=>Ls});var Je=(e,t)=>(a,n,...r)=>1|a&&null==n?void 0:(t.call(n)??n[e]).apply(n,r),qe=String.prototype.replaceAll??function(e,t){return e.global?this.replace(e,t):this.split(e).join(t)},Ze=Je("replaceAll",function(){if("string"==typeof this)return qe});function Xe(e){return this[e<0?this.length+e:e]}var Qe=Je("at",function(){if(Array.isArray(this)||"string"==typeof this)return Xe}),et=()=>{},tt="string",at="array",nt="cursor",rt="indent",st="align",it="trim",ot="group",lt="fill",ct="if-break",ut="indent-if-break",dt="line-suffix",ht="line-suffix-boundary",pt="line",ft="label",mt="break-parent",gt=new Set([nt,rt,st,it,ot,lt,ct,ut,dt,ht,pt,ft,mt]);function yt(e){if("string"==typeof e)return tt;if(Array.isArray(e))return at;if(!e)return;let{type:t}=e;return gt.has(t)?t:void 0}var vt=yt,bt=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);function wt(e){let t=null===e?"null":typeof e;if("string"!==t&&"object"!==t)return`Unexpected doc '${t}', \nExpected it to be 'string' or 'object'.`;if(vt(e))throw new Error("doc is valid.");let a=Object.prototype.toString.call(e);if("[object Object]"!==a)return`Unexpected doc '${a}'.`;let n=bt([...gt].map(e=>`'${e}'`));return`Unexpected doc.type '${e.type}'.\nExpected it to be ${n}.`}var xt=class extends Error{constructor(e){super(wt(e)),o(this,"name","InvalidDocError"),this.doc=e}},kt=xt;function _t(e,t){if("string"==typeof e)return t(e);let a=new Map;return n(e);function n(e){if(a.has(e))return a.get(e);let t=r(e);return a.set(e,t),t}function r(e){switch(vt(e)){case at:return t(e.map(n));case lt:return t({...e,parts:e.parts.map(n)});case ct:return t({...e,breakContents:n(e.breakContents),flatContents:n(e.flatContents)});case ot:{let{expandedStates:a,contents:r}=e;return a?(a=a.map(n),r=a[0]):r=n(r),t({...e,contents:r,expandedStates:a})}case st:case rt:case ut:case ft:case dt:return t({...e,contents:n(e.contents)});case tt:case nt:case it:case ht:case pt:case mt:return t(e);default:throw new kt(e)}}}function Et(e){return e.type!==pt||e.hard?e.type===ct?e.flatContents:e:e.soft?"":" "}function Ct(e){return _t(e,Et)}var Ft=et;function Dt(e){return{type:rt,contents:e}}function At(e,t){return{type:st,contents:t,n:e}}function Tt(e){return At(-1,e)}var St={type:mt};function It(e){return{type:lt,parts:e}}function Nt(e,t={}){return Ft(t.expandedStates),{type:ot,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function Pt(e,t="",a={}){return{type:ct,breakContents:e,flatContents:t,groupId:a.groupId}}function Bt(e,t){let a=[];for(let n=0;n0}var Rt=Lt,zt=Object.freeze({character:"'",codePoint:39}),Ht=Object.freeze({character:'"',codePoint:34}),$t=Object.freeze({preferred:zt,alternate:Ht}),Yt=Object.freeze({preferred:Ht,alternate:zt});function Gt(e,t){let{preferred:a,alternate:n}=!0===t||"'"===t?$t:Yt,{length:r}=e,s=0,i=0;for(let o=0;oi?n:a).character}var Wt=Gt,Vt=/\\(["'\\])|(["'])/gu;function Kt(e,t){let a='"'===t?"'":'"',n=Ze(0,e,Vt,(e,n,r)=>n?n===a?a:e:r===t?"\\"+r:r);return t+n+t}var Jt=Kt;function qt(e,t){let a=e.slice(1,-1),n="json"===t.parser||"jsonc"===t.parser||"json5"===t.parser&&"preserve"===t.quoteProps&&!t.singleQuote?'"':t.__isInHtmlAttribute?"'":Wt(a,t.singleQuote);return e.charAt(0)===n?e:Jt(a,n)}var Zt=qt,Xt=class extends Error{constructor(e,t,a="type"){super(`Unexpected ${t} node ${a}: ${JSON.stringify(e[a])}.`),o(this,"name","UnexpectedNodeError"),this.node=e}},Qt=Xt,ea=Symbol.for("PRETTIER_IS_FRONT_MATTER");function ta(e){return!!e?.[ea]}var aa=ta,na=3;function ra(e){let t=e.slice(0,na);if("---"!==t&&"+++"!==t)return;let a=e.indexOf("\n",na);if(-1===a)return;let n=e.slice(na,a).trim(),r=e.indexOf(`\n${t}`,a),s=n;if(s||(s="+++"===t?"toml":"yaml"),-1===r&&"---"===t&&"yaml"===s&&(r=e.indexOf("\n...",a)),-1===r)return;let i=r+1+na,o=e.charAt(i+1);if(!/\s?/u.test(o))return;let l,c=e.slice(0,i);return{language:s,explicitLanguage:n||null,value:e.slice(a+1,r),startDelimiter:t,endDelimiter:c.slice(-na),raw:c,start:{line:1,column:0,index:0},end:{index:c.length,get line(){return l??(l=c.split("\n")),l.length},get column(){return l??(l=c.split("\n")),Qe(0,l,-1).length}},[ea]:!0}}function sa(e){let t=ra(e);return t?{frontMatter:t,get content(){let{raw:a}=t;return Ze(0,a,/[^\n]/gu," ")+e.slice(a.length)}}:{content:e}}var ia=sa,oa=new Set(["raw","raws","sourceIndex","source","before","after","trailingComma","spaces"]);function la(e,t,a){if("css-comment"===e.type&&"css-root"===a.type&&a.nodes.length>0&&((a.nodes[0]===e||aa(a.nodes[0])&&a.nodes[1]===e)&&(delete t.text,/^\*\s*@(?:format|prettier)\s*$/u.test(e.text))||"css-root"===a.type&&Qe(0,a.nodes,-1)===e))return null;if("value-root"===e.type&&delete t.text,("media-query"===e.type||"media-query-list"===e.type||"media-feature-expression"===e.type)&&delete t.value,"css-rule"===e.type&&delete t.params,("media-feature"===e.type||"media-keyword"===e.type||"media-type"===e.type||"media-unknown"===e.type||"media-url"===e.type||"media-value"===e.type||"selector-attribute"===e.type||"selector-string"===e.type||"selector-class"===e.type||"selector-combinator"===e.type||"value-string"===e.type)&&e.value&&(t.value=ca(e.value)),"selector-combinator"===e.type&&(t.value=Ze(0,t.value,/\s+/gu," ")),"media-feature"===e.type&&(t.value=Ze(0,t.value," ","")),("value-word"===e.type&&(e.isColor&&e.isHex||["initial","inherit","unset","revert"].includes(e.value.toLowerCase()))||"media-feature"===e.type||"selector-root-invalid"===e.type||"selector-pseudo"===e.type)&&(t.value=t.value.toLowerCase()),"css-decl"===e.type&&(t.prop=e.prop.toLowerCase()),("css-atrule"===e.type||"css-import"===e.type)&&(t.name=e.name.toLowerCase()),"value-number"===e.type&&(t.unit=e.unit.toLowerCase()),"value-unknown"===e.type&&(t.value=Ze(0,t.value,/;$/gu,"")),"selector-attribute"===e.type&&(t.attribute=e.attribute.trim(),e.namespace&&"string"==typeof e.namespace&&(t.namespace=e.namespace.trim()||!0),e.value)){let{value:e}=t;/\s[a-zA-Z]$/u.test(e)&&(t.__prettier_attribute_selector_flag=Qe(0,e,-1),e=e.slice(0,-1)),e=e.trim(),e=e.replace(/^(?["'])(?.*?)\k$/u,"$"),t.value=e,delete t.quoted}if(("media-value"===e.type||"media-type"===e.type||"value-number"===e.type||"selector-root-invalid"===e.type||"selector-class"===e.type||"selector-combinator"===e.type||"selector-tag"===e.type)&&e.value&&(t.value=Ze(0,t.value,/([\d+.e-]+)([a-z]*)/giu,(e,t,a)=>{let n=Number(t);return Number.isNaN(n)?e:n+a.toLowerCase()})),"selector-tag"===e.type){let e=t.value.toLowerCase();["from","to"].includes(e)&&(t.value=e)}if("css-atrule"===e.type&&"supports"===e.name.toLowerCase()&&delete t.value,"selector-unknown"===e.type&&delete t.value,"value-comma_group"===e.type){let a=e.groups.findIndex(e=>"value-number"===e.type&&"..."===e.unit);-1!==a&&(t.groups[a].unit="",t.groups.splice(a+1,0,{type:"value-word",value:"...",isColor:!1,isHex:!1}))}return"value-comma_group"===e.type&&e.groups.some(e=>"value-atword"===e.type&&(e.value.endsWith("[")||e.value.endsWith("]"))||"value-word"===e.type&&(e.value.startsWith("]")||e.value.startsWith("[")))?{type:"value-atword",value:e.groups.map(e=>e.value).join(""),group:{open:null,close:null,groups:[],type:"value-paren_group"}}:void 0}function ca(e){return Ze(0,Ze(0,e,"'",'"'),/\\([^\da-f])/giu,"$1")}la.ignoredProperties=oa;var ua=la;function da(){}da.getVisitorKeys=e=>"css-root"===e.type?["frontMatter"]:[];var ha=da,pa=null;function fa(e){if(null!==pa&&(pa.property,1)){let e=pa;return pa=fa.prototype=null,e}return pa=fa.prototype=e??Object.create(null),new fa}var ma=10;for(let e=0;e<=ma;e++)fa();function ga(e){return fa(e)}function ya(e,t="type"){function a(a){let n=a[t],r=e[n];if(!Array.isArray(r))throw Object.assign(new Error(`Missing visitor keys for '${n}'.`),{node:a});return r}return ga(e),a}var va=ya,ba=[[],["nodes"],["group"]],wa={"css-root":["frontMatter","nodes"],"css-comment":ba[0],"css-rule":["selector","nodes"],"css-decl":["value","selector","nodes"],"css-atrule":["selector","params","value","nodes"],"media-query-list":ba[1],"media-query":ba[1],"media-type":ba[0],"media-feature-expression":ba[1],"media-feature":ba[0],"media-colon":ba[0],"media-value":ba[0],"media-keyword":ba[0],"media-url":ba[0],"media-unknown":ba[0],"selector-root":ba[1],"selector-selector":ba[1],"selector-comment":ba[0],"selector-string":ba[0],"selector-tag":ba[0],"selector-id":ba[0],"selector-class":ba[0],"selector-attribute":ba[0],"selector-combinator":ba[1],"selector-universal":ba[0],"selector-pseudo":ba[1],"selector-nesting":ba[0],"selector-unknown":ba[0],"value-value":ba[2],"value-root":ba[2],"value-comment":ba[0],"value-comma_group":["groups"],"value-paren_group":["open","groups","close"],"value-func":ba[2],"value-paren":ba[0],"value-number":ba[0],"value-operator":ba[0],"value-word":ba[0],"value-colon":ba[0],"value-comma":ba[0],"value-string":ba[0],"value-atword":ba[0],"value-unicode-range":ba[0],"value-unknown":ba[0]},xa=va(wa);function ka(e,t){let a=0;for(let n=0;n{let r=!!n?.backwards;if(!1===a)return!1;let{length:s}=t,i=a;for(;i>=0&&ie.source?.startOffset,Oa=e=>e.source?.endOffset,Ua=/\*\/$/,ja=/^\/\*\*?/,La=/^\s*(\/\*\*?(.|\r?\n)*?\*\/)/,Ra=/(^|\s+)\/\/([^\n\r]*)/g,za=/^(\r?\n)+/,Ha=/(?:^|\r?\n) *(@[^\n\r]*?) *\r?\n *(?![^\n\r@]*\/\/[^]*)([^\s@][^\n\r@]+?) *\r?\n/g,$a=/(?:^|\r?\n) *@(\S+) *([^\n\r]*)/g,Ya=/(\r?\n|^) *\* ?/g,Ga=[];function Wa(e){let t=e.match(La);return t?t[0].trimStart():""}function Va(e){let t=e.match(La)?.[0];return null==t?e:e.slice(t.length)}function Ka(e){e=Ze(0,e.replace(ja,"").replace(Ua,""),Ya,"$1");let t="";for(;t!==e;)t=e,e=Ze(0,e,Ha,"\n$1 $2\n");e=e.replace(za,"").trimEnd();let a,n=Object.create(null),r=Ze(0,e,$a,"").replace(za,"").trimEnd();for(;a=$a.exec(e);){let e=Ze(0,a[2],Ra,"");if("string"==typeof n[a[1]]||Array.isArray(n[a[1]])){let t=n[a[1]];n[a[1]]=[...Ga,...Array.isArray(t)?t:[t],e]}else n[a[1]]=e}return{comments:r,pragmas:n}}function Ja({comments:e="",pragmas:t={}}){let a=Object.keys(t),n=a.flatMap(e=>qa(e,t[e])).map(e=>` * ${e}\n`).join("");if(!e){if(0===a.length)return"";if(1===a.length&&!Array.isArray(t[a[0]])){let e=t[a[0]];return`/** ${qa(a[0],e)[0]} */`}}let r=e.split("\n").map(e=>` * ${e}`).join("\n")+"\n";return"/**\n"+(e?r:"")+(e&&a.length>0?" *\n":"")+n+" */"}function qa(e,t){return[...Ga,...Array.isArray(t)?t:[t]].map(t=>`@${e} ${t}`.trim())}var Za=["noformat","noprettier"],Xa=["format","prettier"],Qa="format";function en(e){if(!e.startsWith("#!"))return"";let t=e.indexOf("\n");return-1===t?e:e.slice(0,t)}var tn=en;function an(e){let t=tn(e);t&&(e=e.slice(t.length+1));let a=Wa(e),{pragmas:n,comments:r}=Ka(a);return{shebang:t,text:e,pragmas:n,comments:r}}function nn(e){let{pragmas:t}=an(e);return Xa.some(e=>Object.prototype.hasOwnProperty.call(t,e))}function rn(e){let{pragmas:t}=an(e);return Za.some(e=>Object.prototype.hasOwnProperty.call(t,e))}function sn(e){let{shebang:t,text:a,pragmas:n,comments:r}=an(e),s=Va(a);return(t?`${t}\n`:"")+Ja({pragmas:{[Qa]:"",...n},comments:r.trimStart()})+(s.startsWith("\n")?"\n":"\n\n")+s}var on=e=>nn(ia(e).content),ln=e=>rn(ia(e).content),cn=e=>{let{frontMatter:t,content:a}=ia(e);return(t?t.raw+"\n\n":"")+sn(a)},un=new Set(["red","green","blue","alpha","a","rgb","hue","h","saturation","s","lightness","l","whiteness","w","blackness","b","tint","shade","blend","blenda","contrast","hsl","hsla","hwb","hwba"]);function dn(e){return e.findAncestor(e=>"css-decl"===e.type)?.prop?.toLowerCase()}var hn=new Set(["initial","inherit","unset","revert"]);function pn(e){return hn.has(e.toLowerCase())}function fn(e,t){return e.findAncestor(e=>"css-atrule"===e.type)?.name?.toLowerCase().endsWith("keyframes")&&["from","to"].includes(t.toLowerCase())}function mn(e){return e.includes("$")||e.includes("@")||e.includes("#")||e.startsWith("%")||e.startsWith("--")||e.startsWith(":--")||e.includes("(")&&e.includes(")")?e:e.toLowerCase()}function gn(e,t){return e.findAncestor(e=>"value-func"===e.type)?.value?.toLowerCase()===t}function yn(e){return e.hasAncestor(e=>{if("css-rule"!==e.type)return!1;let t=e.raws?.selector;return t&&(t.startsWith(":import")||t.startsWith(":export"))})}function vn(e,t){let a=Array.isArray(t)?t:[t],n=e.findAncestor(e=>"css-atrule"===e.type);return n&&a.includes(n.name.toLowerCase())}function bn(e){let{node:t}=e;return"url"===t.groups[0]?.value&&2===t.groups.length&&"import"===e.findAncestor(e=>"css-atrule"===e.type)?.name}function wn(e){return"value-func"===e.type&&"url"===e.value.toLowerCase()}function xn(e){return"value-func"===e.type&&"var"===e.value.toLowerCase()}function kn(e){let{selector:t}=e;return!!t&&("string"==typeof t&&/^@.+:.*$/u.test(t)||t.value&&/^@.+:.*$/u.test(t.value))}function _n(e){return"value-word"===e.type&&["from","through","end"].includes(e.value)}function En(e){return"value-word"===e.type&&["and","or","not"].includes(e.value)}function Cn(e){return"value-word"===e.type&&"in"===e.value}function Fn(e){return"value-operator"===e.type&&"*"===e.value}function Dn(e){return"value-operator"===e?.type&&"/"===e.value}function An(e){return"value-operator"===e.type&&"+"===e.value}function Tn(e){return"value-operator"===e.type&&"-"===e.value}function Sn(e){return"value-operator"===e.type&&"%"===e.value}function In(e){return Fn(e)||Dn(e)||An(e)||Tn(e)||Sn(e)}function Nn(e){return"value-word"===e.type&&["==","!="].includes(e.value)}function Pn(e){return"value-word"===e.type&&["<",">","<=",">="].includes(e.value)}function Bn(e,t){return"scss"===t.parser&&"css-atrule"===e.type&&["if","else","for","each","while"].includes(e.name)}function Mn(e){return e.raws?.params&&/^\(\s*\)$/u.test(e.raws.params)}function On(e){return e.name.startsWith("prettier-placeholder")}function Un(e){return e.prop.startsWith("@prettier-placeholder")}function jn(e,t){return"$$"===e.value&&"value-func"===e.type&&"value-word"===t?.type&&!t.raws.before}function Ln(e){return"value-root"===e.value?.type&&"value-value"===e.value.group?.type&&"composes"===e.prop.toLowerCase()}function Rn(e){return"value-paren_group"===e.value?.group?.group?.type&&null!==e.value.group.group.open&&null!==e.value.group.group.close}function zn(e){return""===e?.raws?.before}function Hn(e){return"value-comma_group"===e.type&&"value-colon"===e.groups?.[1]?.type}function $n(e){return"value-paren_group"===e.type&&e.groups?.[0]&&Hn(e.groups[0])}function Yn(e,t){if("scss"!==t.parser)return!1;let{node:a}=e;if(0===a.groups.length)return!1;let n=e.grandparent;return!(!($n(a)||n&&$n(n))||!e.findAncestor(e=>"css-decl"===e.type)?.prop?.startsWith("$")&&!$n(n)&&"value-func"!==n.type)}function Gn(e){return"value-comment"===e.type&&e.inline}function Wn(e){return"value-word"===e.type&&"#"===e.value}function Vn(e){return"value-word"===e.type&&"{"===e.value}function Kn(e){return"value-word"===e.type&&"}"===e.value}function Jn(e){return["value-word","value-atword"].includes(e.type)}function qn(e){return"value-colon"===e?.type}function Zn(e,t){if(!Hn(t))return!1;let{groups:a}=t,n=a.indexOf(e);return-1!==n&&qn(a[n+1])}function Xn(e){return e.value&&["not","and","or"].includes(e.value.toLowerCase())}function Qn(e){return"value-func"===e.type&&un.has(e.value.toLowerCase())}function er(e){return/\/\//u.test(e.split(/[\n\r]/u).pop())}function tr(e){return"value-atword"===e?.type&&e.value.startsWith("prettier-placeholder-")}function ar(e,t){if("("!==e.open?.value||")"!==e.close?.value||e.groups.some(e=>"value-comma_group"!==e.type))return!1;if("value-comma_group"===t.type){let a=t.groups.indexOf(e)-1,n=t.groups[a];if("value-word"===n?.type&&"with"===n.value)return!0}return!1}function nr(e){return"value-paren_group"===e.type&&"("===e.open?.value&&")"===e.close?.value}function rr(e,t,a){let{node:n}=e,r=e.parent,s=e.grandparent,i=dn(e),o=i&&"value-value"===r.type&&("grid"===i||i.startsWith("grid-template")),l=e.findAncestor(e=>"css-atrule"===e.type),c=l&&Bn(l,t),u=n.groups.some(e=>Gn(e)),d=e.map(a,"groups"),h=[""],p=gn(e,"url"),f=!1,m=!1;for(let g=0;gt:-1!==e?f=!0:-1!==t&&(f=!1)}if(f||qn(u)||qn(y)||"value-atword"===u.type&&(""===u.value||u.value.endsWith("["))||"value-word"===y.type&&y.value.startsWith("]")||"~"===u.value||"less"===t.parser&&("value-word"===y?.type&&"["===y.value||"value-word"===u.type&&"["===u.value&&("value-atword"===y?.type||"value-word"===y?.type)||"value-word"===u.type&&"]["===u.value&&"value-word"===y?.type)||"value-string"!==u.type&&u.value&&u.value.includes("\\")&&y&&"value-comment"!==y.type||a?.value&&a.value.indexOf("\\")===a.value.length-1&&"value-operator"===u.type&&"/"===u.value||"\\"===u.value||jn(u,y)||Wn(u)||Vn(u)||Kn(y)||Vn(y)&&zn(y)||Kn(u)&&zn(y)||"--"===u.value&&Wn(y))continue;let b=In(u),w=In(y);if((b&&Wn(y)||w&&Kn(u))&&zn(y)||!a&&Dn(u)||gn(e,"calc")&&(An(u)||An(y)||Tn(u)||Tn(y))&&zn(y))continue;let x=(An(u)||Tn(u))&&0===g&&("value-number"===y.type||y.isHex)&&s&&Qn(s)&&!zn(y);if("scss"===t.parser&&b&&"-"===u.value&&"value-func"===y.type&&Oa(u)!==Ma(y)){h.push([h.pop()," "]);continue}let k="value-func"===v?.type||v&&Jn(v)||"value-func"===u.type||Jn(u),_="value-func"===y.type||Jn(y)||"value-func"===a?.type||a&&Jn(a);if((Fn(y)||Fn(u)||gn(e,"calc")||x||!(Dn(y)&&!k||Dn(u)&&!_||An(y)&&!k||An(u)&&!_||Tn(y)||Tn(u))||!(zn(y)||b&&(!a||a&&In(a))))&&("scss"!==t.parser&&"less"!==t.parser||!b||"-"!==u.value||!nr(y)||Oa(u)!==Ma(y.open)||"("!==y.open.value)){if(Gn(u)){if("value-paren_group"===r.type){h.push(Tt(Ut),"");continue}h.push(Ut,"");continue}if(c&&(Nn(y)||Pn(y)||En(y)||Cn(u)||_n(u))){h.push([h.pop()," "]);continue}if(l&&"namespace"===l.name.toLowerCase()){h.push([h.pop()," "]);continue}if(o){u.source&&y.source&&u.source.start.line!==y.source.start.line?(h.push(Ut,""),m=!0):h.push([h.pop()," "]);continue}if(!i||"font"!==i&&!i.startsWith("--")||!(Dn(y)&&zn(y)&&sr(u)||Dn(u)&&zn(u)&&sr(a))){if(w){h.push([h.pop()," "]);continue}if(!("..."===y?.value||tr(u)&&tr(y)&&Oa(u)===Ma(y))){if(tr(u)&&nr(y)&&Oa(u)===Ma(y.open)){h.push(Ot,"");continue}if("with"===u.value&&nr(y)){h=[[It(h)," "]];continue}if((!u.value?.endsWith("#")||"{"!==y.value||!nr(y.group))&&(!Gn(y)||v)){if(!l&&"value-comment"===u.type&&!u.inline&&n.groups.slice(0,g).every(e=>"value-comment"===e.type)){h.push(Tt(Mt),"");continue}h.push(Mt,"")}}}}}return u&&h.push([h.pop(),St]),m&&h.unshift("",Ut),c?Nt(Dt(h)):bn(e)?Nt(It(h)):Nt(Dt(It(h)))}function sr(e){if("value-number"===e?.type)return!0;if("value-func"!==e?.type)return!1;let t=e.value.toLowerCase();return"var"===t||"calc"===t||"min"===t||"max"===t||"clamp"===t||t.startsWith("--")}var ir=rr;function or(e){return 1===e.length?e:e.toLowerCase().replace(/^([+-]?[\d.]+e)(?:\+|(-))?0*(?=\d)/u,"$1$2").replace(/^([+-]?[\d.]+)e[+-]?0+$/u,"$1").replace(/^([+-])?\./u,"$10.").replace(/(\.\d+?)0+(?=e|$)/u,"$1").replace(/\.(?=e|$)/u,"")}var lr=or,cr=new Map([["em","em"],["rem","rem"],["ex","ex"],["rex","rex"],["cap","cap"],["rcap","rcap"],["ch","ch"],["rch","rch"],["ic","ic"],["ric","ric"],["lh","lh"],["rlh","rlh"],["vw","vw"],["svw","svw"],["lvw","lvw"],["dvw","dvw"],["vh","vh"],["svh","svh"],["lvh","lvh"],["dvh","dvh"],["vi","vi"],["svi","svi"],["lvi","lvi"],["dvi","dvi"],["vb","vb"],["svb","svb"],["lvb","lvb"],["dvb","dvb"],["vmin","vmin"],["svmin","svmin"],["lvmin","lvmin"],["dvmin","dvmin"],["vmax","vmax"],["svmax","svmax"],["lvmax","lvmax"],["dvmax","dvmax"],["cm","cm"],["mm","mm"],["q","Q"],["in","in"],["pt","pt"],["pc","pc"],["px","px"],["deg","deg"],["grad","grad"],["rad","rad"],["turn","turn"],["s","s"],["ms","ms"],["hz","Hz"],["khz","kHz"],["dpi","dpi"],["dpcm","dpcm"],["dppx","dppx"],["x","x"],["cqw","cqw"],["cqh","cqh"],["cqi","cqi"],["cqb","cqb"],["cqmin","cqmin"],["cqmax","cqmax"],["fr","fr"]]);function ur(e){let t=e.toLowerCase();return cr.has(t)?cr.get(t):e}var dr=/(["'])(?:(?!\1)[^\\]|\\.)*\1/gsu,hr=/(?:\d*\.\d+|\d+\.?)(?:e[+-]?\d+)?/giu,pr=/[a-z]+/giu,fr=/[$@]?[_a-z\u0080-\uFFFF][\w\u0080-\uFFFF-]*/giu,mr=new RegExp(dr.source+`|(${fr.source})?(${hr.source})(${pr.source})?`,"giu");function gr(e,t){return Ze(0,e,dr,e=>Zt(e,t))}function yr(e,t){let a=t.singleQuote?"'":'"',n="",r=e.match(/^(?.+?)\s+(?[a-zA-Z])$/u);return r&&({value:e,flag:n}=r.groups),(e.includes('"')||e.includes("'")?e:a+e+a)+(n?` ${n}`:"")}function vr(e){return Ze(0,e,mr,(e,t,a,n,r)=>!a&&n&&(r??(r=""),!(r=r.toLowerCase())||"n"===r||cr.has(r))?br(n)+(r?ur(r):""):e)}function br(e){return lr(e).replace(/\.0(?=$|e)/u,"")}function wr(e){return"es5"===e.trailingComma||"all"===e.trailingComma}var xr=e=>"\n"===e||"\r"===e||"\u2028"===e||"\u2029"===e;function kr(e,t,a){let n=!!a?.backwards;if(!1===t)return!1;let r=e.charAt(t);if(n){if("\r"===e.charAt(t-1)&&"\n"===r)return t-2;if(xr(r))return t-1}else{if("\r"===r&&"\n"===e.charAt(t+1))return t+2;if(xr(r))return t+1}return t}var _r=kr;function Er(e,t,a={}){let n=Ca(e,a.backwards?t-1:t,a);return n!==_r(e,n,a)}var Cr=Er;function Fr(e,t){if(!1===t)return!1;if("/"===e.charAt(t)&&"*"===e.charAt(t+1))for(let a=t+2;a"value-comment"===e.type)||!wr(t)||!e.callParent(()=>Yn(e,t))?"":Pt(",")}function Br(e,t,a){let{node:n,parent:r}=e,s=e.map(({node:e})=>"string"==typeof e?e:a(),"groups");if(r&&wn(r)&&(1===n.groups.length||n.groups.length>0&&"value-comma_group"===n.groups[0].type&&n.groups[0].groups.length>0&&"value-word"===n.groups[0].groups[0].type&&n.groups[0].groups[0].value.startsWith("data:")))return[n.open?a("open"):"",Bt(",",s),n.close?a("close"):""];if(!n.open){let t=Mr(e),a=Ur(Bt(",",s),2),n=Bt(t?Ut:Mt,a);return Dt(t?[Ut,n]:Nt([Or(e)?Ot:"",It(n)]))}let i=e.map(({node:a,isLast:n,index:r})=>{let i=s[r];Hn(a)&&"value-comma_group"===a.type&&a.groups&&"value-paren_group"!==a.groups[0].type&&"value-paren_group"===a.groups[2]?.type&&vt(i)===ot&&vt(i.contents)===rt&&vt(i.contents.contents)===lt&&(i=Nt(Tt(i)));let o=[i,n?Pr(e,t):","];if(!n&&"value-comma_group"===a.type&&Rt(a.groups)){let e=Qe(0,a.groups,-1);!e.source&&e.close&&(e=e.close),e.source&&Ir(t.originalText,Oa(e))&&o.push(Ut)}return o},"groups"),o=Zn(n,r),l=ar(n,r),c=Yn(e,t),u=l||c&&!o,d=l||o,h=Nt([n.open?a("open"):"",Dt([Ot,Bt(Mt,i)]),Ot,n.close?a("close"):""],{shouldBreak:u});return d?Tt(h):h}function Mr(e){return e.match(e=>"value-paren_group"===e.type&&!e.open&&e.groups.some(e=>"value-comma_group"===e.type),(e,t)=>"group"===t&&"value-value"===e.type,(e,t)=>"group"===t&&"value-root"===e.type,(e,t)=>"value"===t&&("css-decl"===e.type&&!e.prop.startsWith("--")||"css-atrule"===e.type&&e.variable))}function Or(e){return e.match(e=>"value-paren_group"===e.type&&!e.open,(e,t)=>"group"===t&&"value-value"===e.type,(e,t)=>"group"===t&&"value-root"===e.type,(e,t)=>"value"===t&&"css-decl"===e.type)}function Ur(e,t){let a=[];for(let n=0;n{let{node:r,previous:s}=e;if("css-comment"===s?.type&&"prettier-ignore"===s.text.trim()?n.push(t.originalText.slice(Ma(r),Oa(r))):n.push(a()),e.isLast)return;let{next:i}=e;"css-comment"===i.type&&!Cr(t.originalText,Ma(i),{backwards:!0})&&!aa(r)||"css-atrule"===i.type&&"else"===i.name&&"css-comment"!==r.type?n.push(" "):(n.push(t.__isHTMLStyleAttribute?Mt:Ut),Ir(t.originalText,Oa(r))&&!aa(r)&&n.push(Ut))},"nodes"),n}var Lr=jr;function Rr(e,t,a){let{node:n}=e;switch(n.type){case"css-root":{let r=Lr(e,t,a),s=n.raws.after.trim();return s.startsWith(";")&&(s=s.slice(1).trim()),[n.frontMatter?[a("frontMatter"),Ut,n.nodes.length>0?Ut:""]:"",r,s?` ${s}`:"",n.nodes.length>0?Ut:""]}case"css-comment":{let e=n.inline||n.raws.inline,a=t.originalText.slice(Ma(n),Oa(n));return e?a.trimEnd():a}case"css-rule":return[a("selector"),n.important?" !important":"",n.nodes?["selector-unknown"===n.selector?.type&&er(n.selector.value)?Mt:n.selector?" ":"","{",n.nodes.length>0?Dt([Ut,Lr(e,t,a)]):"",Ut,"}",kn(n)?";":""]:";"];case"css-decl":{let r=e.parent,{between:s}=n.raws,i=s.trim(),o=":"===i,l="string"==typeof n.value&&/^ *$/u.test(n.value),c="string"==typeof n.value?n.value:a("value");return c=Ln(n)?Ct(c):c,!o&&er(i)&&!e.call(()=>Mr(e),"value","group","group")&&(c=Dt([Ut,Tt(c)])),[Ze(0,n.raws.before,/[\s;]/gu,""),"css-atrule"===r.type&&r.variable||yn(e)?n.prop:mn(n.prop),i.startsWith("//")?" ":"",i,n.extend||l?"":" ","less"===t.parser&&n.extend&&n.selector?["extend(",a("selector"),")"]:"",c,n.raws.important?n.raws.important.replace(/\s*!\s*important/iu," !important"):n.important?" !important":"",n.raws.scssDefault?n.raws.scssDefault.replace(/\s*!default/iu," !default"):n.scssDefault?" !default":"",n.raws.scssGlobal?n.raws.scssGlobal.replace(/\s*!global/iu," !global"):n.scssGlobal?" !global":"",n.nodes?[" {",Dt([Ot,Lr(e,t,a)]),Ot,"}"]:Un(n)&&!r.raws.semicolon&&";"!==t.originalText[Oa(n)-1]?"":t.__isHTMLStyleAttribute&&e.isLast?Pt(";"):";"]}case"css-atrule":{let r=e.parent,s=On(n)&&!r.raws.semicolon&&";"!==t.originalText[Oa(n)-1];if("less"===t.parser){if(n.mixin)return[a("selector"),n.important?" !important":"",s?"":";"];if(n.function)return[n.name,"string"==typeof n.params?n.params:a("params"),s?"":";"];if(n.variable)return["@",n.name,": ",n.value?a("value"):"",n.raws.between.trim()?n.raws.between.trim()+" ":"",n.nodes?["{",Dt([n.nodes.length>0?Ot:"",Lr(e,t,a)]),Ot,"}"]:"",s?"":";"]}let i="import"===n.name&&"value-unknown"===n.params?.type&&n.params.value.endsWith(";");return["@",Mn(n)||n.name.endsWith(":")||On(n)?n.name:mn(n.name),n.params?[Mn(n)?"":On(n)?""===n.raws.afterName?"":n.name.endsWith(":")?" ":/^\s*\n\s*\n/u.test(n.raws.afterName)?[Ut,Ut]:/^\s*\n/u.test(n.raws.afterName)?Ut:" ":" ","string"==typeof n.params?n.params:a("params")]:"",n.selector?Dt([" ",a("selector")]):"",n.value?Nt([" ",a("value"),Bn(n,t)?Rn(n)?" ":Mt:""]):"else"===n.name?" ":"",n.nodes?[Bn(n,t)?"":n.selector&&!n.selector.nodes&&"string"==typeof n.selector.value&&er(n.selector.value)||!n.selector&&"string"==typeof n.params&&er(n.params)?Mt:" ","{",Dt([n.nodes.length>0?Ot:"",Lr(e,t,a)]),Ot,"}"]:s||i?"":";"]}case"media-query-list":{let t=[];return e.each(({node:e})=>{"media-query"===e.type&&""===e.value||t.push(a())},"nodes"),Nt(Dt(Bt(Mt,t)))}case"media-query":return[Bt(" ",e.map(a,"nodes")),e.isLast?"":","];case"media-type":case"media-value":return vr(gr(n.value,t));case"media-feature-expression":return n.nodes?["(",...e.map(a,"nodes"),")"]:n.value;case"media-feature":return mn(gr(Ze(0,n.value,/ +/gu," "),t));case"media-colon":return[n.value," "];case"media-keyword":case"selector-string":return gr(n.value,t);case"media-url":return gr(Ze(0,Ze(0,n.value,/^url\(\s+/giu,"url("),/\s+\)$/gu,")"),t);case"media-unknown":case"selector-comment":case"selector-nesting":case"value-paren":case"value-operator":case"value-unicode-range":case"value-unknown":return n.value;case"selector-root":return Nt([vn(e,"custom-selector")?[e.findAncestor(e=>"css-atrule"===e.type).customSelector,Mt]:"",Bt([",",vn(e,["extend","custom-selector","nest"])?Mt:Ut],e.map(a,"nodes"))]);case"selector-selector":return Nt((n.nodes.length>2?Dt:e=>e)(e.map(a,"nodes")));case"selector-tag":return[n.namespace?[!0===n.namespace?"":n.namespace.trim(),"|"]:"","selector-nesting"===e.previous?.type?n.value:vr(fn(e,n.value)?n.value.toLowerCase():n.value)];case"selector-id":return["#",n.value];case"selector-class":return[".",vr(gr(n.value,t))];case"selector-attribute":return["[",n.namespace?[!0===n.namespace?"":n.namespace.trim(),"|"]:"",n.attribute.trim(),n.operator??"",n.value?yr(gr(n.value.trim(),t),t):"",n.insensitive?" i":"","]"];case"selector-combinator":if("+"===n.value||">"===n.value||"~"===n.value||">>>"===n.value){let t=e.parent;return["selector-selector"===t.type&&t.nodes[0]===n?"":Mt,n.value,e.isLast?"":" "]}return[n.value.trim().startsWith("(")?Mt:"",vr(gr(n.value.trim(),t))||Mt];case"selector-universal":return[n.namespace?[!0===n.namespace?"":n.namespace.trim(),"|"]:"",n.value];case"selector-pseudo":return[mn(n.value),Rt(n.nodes)?Nt(["(",Dt([Ot,Bt([",",Mt],e.map(a,"nodes"))]),Ot,")"]):""];case"selector-unknown":{if(e.findAncestor(e=>"css-rule"===e.type)?.isSCSSNesterProperty)return vr(gr(mn(n.value),t));let a=e.parent;if(a.raws?.selector){let e=Ma(a),n=e+a.raws.selector.length;return t.originalText.slice(e,n).trim()}let r=e.grandparent;if("value-paren_group"===a.type&&"value-func"===r?.type&&"selector"===r.value){let e=Oa(a.open)+1,n=Ma(a.close),r=t.originalText.slice(e,n).trim();return er(r)?[St,r]:r}return n.value}case"value-value":case"value-root":return a("group");case"value-comment":return t.originalText.slice(Ma(n),Oa(n));case"value-comma_group":return ir(e,t,a);case"value-paren_group":return Br(e,t,a);case"value-func":return[n.value,vn(e,"supports")&&Xn(n)?" ":"",a("group")];case"value-number":return[br(n.value),ur(n.unit)];case"value-word":return n.isColor&&n.isHex||pn(n.value)?n.value.toLowerCase():n.value;case"value-colon":{let{previous:t}=e;return Nt([n.value,"string"==typeof t?.value&&t.value.endsWith("\\")||gn(e,"url")?"":Mt])}case"value-string":return Zt(n.raws.quote+n.value+n.raws.quote,t);case"value-atword":return["@",n.value];default:throw new Qt(n,"PostCSS")}}var zr={features:{experimental_frontMatterSupport:{massageAstNode:!0,embed:!0,print:!0}},print:Rr,embed:ha,insertPragma:cn,massageAstNode:ua,getVisitorKeys:xa},Hr=[{name:"CSS",type:"markup",aceMode:"css",extensions:[".css",".wxss"],tmScope:"source.css",codemirrorMode:"css",codemirrorMimeType:"text/css",parsers:["css"],vscodeLanguageIds:["css"],linguistLanguageId:50},{name:"PostCSS",type:"markup",aceMode:"text",extensions:[".pcss",".postcss"],tmScope:"source.postcss",group:"CSS",parsers:["css"],vscodeLanguageIds:["postcss"],linguistLanguageId:262764437},{name:"Less",type:"markup",aceMode:"less",extensions:[".less"],tmScope:"source.css.less",aliases:["less-css"],codemirrorMode:"css",codemirrorMimeType:"text/x-less",parsers:["less"],vscodeLanguageIds:["less"],linguistLanguageId:198},{name:"SCSS",type:"markup",aceMode:"scss",extensions:[".scss"],tmScope:"source.css.scss",codemirrorMode:"css",codemirrorMimeType:"text/x-scss",parsers:["scss"],vscodeLanguageIds:["scss"],linguistLanguageId:329}],$r={singleQuote:{category:"Common",type:"boolean",default:!1,description:"Use single quotes instead of double quotes."}},Yr={};c(Yr,{css:()=>Os,less:()=>Us,scss:()=>js});var Gr=d(P()),Wr=d(z()),Vr=d(te());function Kr(e,t){let a=new SyntaxError(e+" ("+t.loc.start.line+":"+t.loc.start.column+")");return Object.assign(a,t)}var Jr=Kr;function qr(e){return null!==e&&"object"==typeof e}var Zr=qr;function Xr(e,t,a){if(Zr(e)){delete e.parent;for(let n in e)Xr(e[n],t,a),"type"===n&&"string"==typeof e[n]&&!e[n].startsWith(t)&&(!a||!a.test(e[n]))&&(e[n]=t+e[n])}return e}function Qr(e){if(Zr(e)){delete e.parent;for(let t in e)Qr(e[t]);!Array.isArray(e)&&e.value&&!e.type&&(e.type="unknown")}return e}var es=d(se()).default.default;function ts(e){let t;try{t=es(e)}catch{return{type:"selector-unknown",value:e}}return Xr(Qr(t),"media-")}var as=ts,ns=d(Ae());function rs(e){if(/\/[/*]/u.test(Ze(0,e,/"[^"]+"|'[^']+'/gu,"")))return{type:"selector-unknown",value:e.trim()};let t;try{new ns.default(e=>{t=e}).process(e)}catch{return{type:"selector-unknown",value:e}}return Xr(t,"selector-")}var ss=rs,is=d(Ve()),os=e=>{for(;e.parent;)e=e.parent;return e},ls=os;function cs(e){return ls(e).text.slice(e.group.open.sourceIndex+1,e.group.close.sourceIndex).trim()}var us=cs;function ds(e){if(Rt(e))for(let t=e.length-1;t>0;t--)if("word"===e[t].type&&"{"===e[t].value&&"word"===e[t-1].type&&e[t-1].value.endsWith("#"))return!0;return!1}var hs=ds;function ps(e){return e.some(e=>"string"===e.type||"func"===e.type&&!e.value.endsWith("\\"))}var fs=ps;function ms(e,t){return!("scss"!==t.parser||"word"!==e?.type||!e.value.startsWith("$"))}var gs=ms,ys=e=>"paren"===e.type&&")"===e.value;function vs(e,t){let{nodes:a}=e,n={open:null,close:null,groups:[],type:"paren_group"},r=[n],s=n,i={groups:[],type:"comma_group"},o=[i];for(let l=0;l0&&n.groups.push(i),n.close=s,1===o.length)throw new Error("Unbalanced parenthesis");o.pop(),i=Qe(0,o,-1),i.groups.push(n),r.pop(),n=Qe(0,r,-1)}else if("comma"===s.type){if(l===a.length-3&&"comment"===a[l+1].type&&ys(a[l+2]))continue;n.groups.push(i),i={groups:[],type:"comma_group"},o[o.length-1]=i}else i.groups.push(s)}return i.groups.length>0&&n.groups.push(i),s}function bs(e){return"paren_group"===e.type&&!e.open&&!e.close&&1===e.groups.length||"comma_group"===e.type&&1===e.groups.length?bs(e.groups[0]):"paren_group"===e.type||"comma_group"===e.type?{...e,groups:e.groups.map(bs)}:e}function ws(e,t){if(Zr(e))for(let a in e)"parent"!==a&&(ws(e[a],t),"nodes"===a&&(e.group=bs(vs(e,t)),delete e[a]));return e}function xs(e,t){if("less"===t.parser&&e.startsWith("~`"))return{type:"value-unknown",value:e};let a=null;try{a=new is.default(e,{loose:!0}).parse()}catch{return{type:"value-unknown",value:e}}return a.text=e,Xr(ws(a,t),"value-",/^selector-/u)}var ks=xs,_s=new Set(["import","use","forward"]);function Es(e){return _s.has(e)}var Cs=Es;function Fs(e,t){return!("scss"!==t.parser||!e.selector)&&e.selector.replace(/\/\*.*?\*\//u,"").replace(/\/\/.*\n/u,"").trim().endsWith(":")}var Ds=Fs,As=/(\s*)(!default).*$/u,Ts=/(\s*)(!global).*$/u;function Ss(e,t){if(Zr(e)){delete e.parent;for(let s in e)Ss(e[s],t);if(!e.type)return e;if(e.raws??(e.raws={}),"css-decl"===e.type&&"string"==typeof e.prop&&e.prop.startsWith("--")&&"string"==typeof e.value&&e.value.startsWith("{")){let a;if(e.value.trimEnd().endsWith("}")){let n,r,s=t.originalText.slice(0,e.source.start.offset),i="a".repeat(e.prop.length)+t.originalText.slice(e.source.start.offset+e.prop.length,e.source.end.offset),o=Ze(0,s,/[^\n]/gu," ")+i;n="scss"===t.parser?Bs:"less"===t.parser?Ps:Ns;try{r=n(o,{...t})}catch{}1===r?.nodes?.length&&"css-rule"===r.nodes[0].type&&(a=r.nodes[0].nodes)}return e.value=a?{type:"css-rule",nodes:a}:{type:"value-unknown",value:e.raws.value.raw},e}let a="";"string"==typeof e.selector&&(a=e.raws.selector?e.raws.selector.scss??e.raws.selector.raw:e.selector,e.raws.between&&e.raws.between.trim().length>0&&(a+=e.raws.between),e.raws.selector=a);let n="";"string"==typeof e.value&&(n=e.raws.value?e.raws.value.scss??e.raws.value.raw:e.value,e.raws.value=n.trim());let r="";if("string"==typeof e.params&&(r=e.raws.params?e.raws.params.scss??e.raws.params.raw:e.params,e.raws.afterName&&e.raws.afterName.trim().length>0&&(r=e.raws.afterName+r),e.raws.between&&e.raws.between.trim().length>0&&(r+=e.raws.between),r=r.trim(),e.raws.params=r),a.trim().length>0)return a.startsWith("@")&&a.endsWith(":")?e:e.mixin?(e.selector=ks(a,t),e):(Ds(e,t)&&(e.isSCSSNesterProperty=!0),e.selector=ss(a),e);if(n.trim().length>0){let a=n.match(As);a&&(n=n.slice(0,a.index),e.scssDefault=!0,"!default"!==a[0].trim()&&(e.raws.scssDefault=a[0]));let r=n.match(Ts);if(r&&(n=n.slice(0,r.index),e.scssGlobal=!0,"!global"!==r[0].trim()&&(e.raws.scssGlobal=r[0])),n.startsWith("progid:"))return{type:"value-unknown",value:n};e.value=ks(n,t)}if("less"===t.parser&&"css-decl"===e.type&&n.startsWith("extend(")&&(e.extend||(e.extend=":"===e.raws.between),e.extend&&!e.selector&&(delete e.value,e.selector=ss(n.slice(7,-1)))),"css-atrule"===e.type){if("less"===t.parser){if(e.mixin){let t=e.raws.identifier+e.name+e.raws.afterName+e.raws.params;return e.selector=ss(t),delete e.params,e}if(e.function)return e}if("css"===t.parser&&"custom-selector"===e.name){let t=e.params.match(/:--\S+\s+/u)[0].trim();return e.customSelector=t,e.selector=ss(e.params.slice(t.length).trim()),delete e.params,e}if("less"===t.parser){if(e.name.includes(":")){e.variable=!0;let a=e.name.split(":");e.name=a[0];let n=a.slice(1).join(":");e.params&&(n+=e.params),e.value=ks(n,t)}if(!["page","nest","keyframes"].includes(e.name)&&":"===e.params?.[0]){e.variable=!0;let a=e.params.slice(1);a&&(e.value=ks(a,t)),e.raws.afterName+=":"}if(e.variable)return delete e.params,e.value||delete e.value,e}}if("css-atrule"===e.type&&r.length>0){let{name:a}=e,n=e.name.toLowerCase();return"warn"===a||"error"===a?(e.params={type:"media-unknown",value:r},e):"extend"===a||"nest"===a?(e.selector=ss(r),delete e.params,e):"at-root"===a?(/^\(\s*(?:without|with)\s*:.+\)$/su.test(r)?e.params=ks(r,t):(e.selector=ss(r),delete e.params),e):Cs(n)?(e.import=!0,delete e.filename,e.params=ks(r,t),e):["namespace","supports","if","else","for","each","while","debug","mixin","include","function","return","define-mixin","add-mixin"].includes(a)?(r=r.replace(/(\$\S+?)(\s+)?\.{3}/u,"$1...$2"),r=r.replace(/^(?!if)([^"'\s(]+)(\s+)\(/u,"$1($2"),e.value=ks(r,t),delete e.params,e):["media","custom-media"].includes(n)?r.includes("#{")?{type:"media-unknown",value:r}:(e.params=as(r),e):(e.params=r,e)}}return e}function Is(e,t,a){let n,{frontMatter:r,content:s}=ia(t);try{n=e(s,{map:!1})}catch(i){let{name:e,reason:t,line:a,column:n}=i;throw"number"!=typeof a?i:Jr(`${e}: ${t}`,{loc:{start:{line:a,column:n}},cause:i})}return a.originalText=t,n=Ss(Xr(n,"css-"),a),Ia(n,t),r&&(n.frontMatter={...r,type:"front-matter",source:{startOffset:r.start.index,endOffset:r.end.index}}),n}function Ns(e,t={}){return Is(Gr.default.default,e,t)}function Ps(e,t={}){return Is(e=>Wr.default.parse(Ba(e)),e,t)}function Bs(e,t={}){return Is(Vr.default,e,t)}var Ms={astFormat:"postcss",hasPragma:on,hasIgnorePragma:ln,locStart:Ma,locEnd:Oa},Os={...Ms,parse:Ns},Us={...Ms,parse:Ps},js={...Ms,parse:Bs},Ls={postcss:zr};return h(Ke)}(),e.default||e)),uL.exports;var e}const hL=Ql(dL());var pL,fL={exports:{}},mL={},gL={exports:{}},yL={},vL={};function bL(){if(pL)return vL;function e(e){this.__parent=e,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__wrap_point_index=0,this.__wrap_point_character_count=0,this.__wrap_point_indent_count=-1,this.__wrap_point_alignment_count=0,this.__items=[]}function t(e,t){this.__cache=[""],this.__indent_size=e.indent_size,this.__indent_string=e.indent_char,e.indent_with_tabs||(this.__indent_string=new Array(e.indent_size+1).join(e.indent_char)),t=t||"",e.indent_level>0&&(t=new Array(e.indent_level+1).join(this.__indent_string)),this.__base_string=t,this.__base_string_length=t.length}function a(a,n){this.__indent_cache=new t(a,n),this.raw=!1,this._end_with_newline=a.end_with_newline,this.indent_size=a.indent_size,this.wrap_line_length=a.wrap_line_length,this.indent_empty_lines=a.indent_empty_lines,this.__lines=[],this.previous_line=null,this.current_line=null,this.next_line=new e(this),this.space_before_token=!1,this.non_breaking_space=!1,this.previous_token_wrapped=!1,this.__add_outputline()}return pL=1,e.prototype.clone_empty=function(){var t=new e(this.__parent);return t.set_indent(this.__indent_count,this.__alignment_count),t},e.prototype.item=function(e){return e<0?this.__items[this.__items.length+e]:this.__items[e]},e.prototype.has_match=function(e){for(var t=this.__items.length-1;t>=0;t--)if(this.__items[t].match(e))return!0;return!1},e.prototype.set_indent=function(e,t){this.is_empty()&&(this.__indent_count=e||0,this.__alignment_count=t||0,this.__character_count=this.__parent.get_indent_size(this.__indent_count,this.__alignment_count))},e.prototype._set_wrap_point=function(){this.__parent.wrap_line_length&&(this.__wrap_point_index=this.__items.length,this.__wrap_point_character_count=this.__character_count,this.__wrap_point_indent_count=this.__parent.next_line.__indent_count,this.__wrap_point_alignment_count=this.__parent.next_line.__alignment_count)},e.prototype._should_wrap=function(){return this.__wrap_point_index&&this.__character_count>this.__parent.wrap_line_length&&this.__wrap_point_character_count>this.__parent.next_line.__character_count},e.prototype._allow_wrap=function(){if(this._should_wrap()){this.__parent.add_new_line();var e=this.__parent.current_line;return e.set_indent(this.__wrap_point_indent_count,this.__wrap_point_alignment_count),e.__items=this.__items.slice(this.__wrap_point_index),this.__items=this.__items.slice(0,this.__wrap_point_index),e.__character_count+=this.__character_count-this.__wrap_point_character_count,this.__character_count=this.__wrap_point_character_count," "===e.__items[0]&&(e.__items.splice(0,1),e.__character_count-=1),!0}return!1},e.prototype.is_empty=function(){return 0===this.__items.length},e.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},e.prototype.push=function(e){this.__items.push(e);var t=e.lastIndexOf("\n");-1!==t?this.__character_count=e.length-t:this.__character_count+=e.length},e.prototype.pop=function(){var e=null;return this.is_empty()||(e=this.__items.pop(),this.__character_count-=e.length),e},e.prototype._remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_size)},e.prototype._remove_wrap_indent=function(){this.__wrap_point_indent_count>0&&(this.__wrap_point_indent_count-=1)},e.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},e.prototype.toString=function(){var e="";return this.is_empty()?this.__parent.indent_empty_lines&&(e=this.__parent.get_indent_string(this.__indent_count)):(e=this.__parent.get_indent_string(this.__indent_count,this.__alignment_count),e+=this.__items.join("")),e},t.prototype.get_indent_size=function(e,t){var a=this.__base_string_length;return t=t||0,e<0&&(a=0),a+=e*this.__indent_size,a+=t},t.prototype.get_indent_string=function(e,t){var a=this.__base_string;return t=t||0,e<0&&(e=0,a=""),t+=e*this.__indent_size,this.__ensure_cache(t),a+=this.__cache[t]},t.prototype.__ensure_cache=function(e){for(;e>=this.__cache.length;)this.__add_column()},t.prototype.__add_column=function(){var e=this.__cache.length,t=0,a="";this.__indent_size&&e>=this.__indent_size&&(e-=(t=Math.floor(e/this.__indent_size))*this.__indent_size,a=new Array(t+1).join(this.__indent_string)),e&&(a+=new Array(e+1).join(" ")),this.__cache.push(a)},a.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=this.next_line.clone_empty(),this.__lines.push(this.current_line)},a.prototype.get_line_number=function(){return this.__lines.length},a.prototype.get_indent_string=function(e,t){return this.__indent_cache.get_indent_string(e,t)},a.prototype.get_indent_size=function(e,t){return this.__indent_cache.get_indent_size(e,t)},a.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},a.prototype.add_new_line=function(e){return!(this.is_empty()||!e&&this.just_added_newline())&&(this.raw||this.__add_outputline(),!0)},a.prototype.get_code=function(e){this.trim(!0);var t=this.current_line.pop();t&&("\n"===t[t.length-1]&&(t=t.replace(/\n+$/g,"")),this.current_line.push(t)),this._end_with_newline&&this.__add_outputline();var a=this.__lines.join("\n");return"\n"!==e&&(a=a.replace(/[\n]/g,e)),a},a.prototype.set_wrap_point=function(){this.current_line._set_wrap_point()},a.prototype.set_indent=function(e,t){return e=e||0,t=t||0,this.next_line.set_indent(e,t),this.__lines.length>1?(this.current_line.set_indent(e,t),!0):(this.current_line.set_indent(),!1)},a.prototype.add_raw_token=function(e){for(var t=0;t1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},a.prototype.just_added_newline=function(){return this.current_line.is_empty()},a.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},a.prototype.ensure_empty_line_above=function(t,a){for(var n=this.__lines.length-2;n>=0;){var r=this.__lines[n];if(r.is_empty())break;if(0!==r.item(0).indexOf(t)&&r.item(-1)!==a){this.__lines.splice(n+1,0,new e(this)),this.previous_line=this.__lines[this.__lines.length-2];break}n--}},vL.Output=a,vL}var wL,xL={};function kL(){if(wL)return xL;return wL=1,xL.Token=function(e,t,a,n){this.type=e,this.text=t,this.comments_before=null,this.newlines=a||0,this.whitespace_before=n||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null},xL}var _L,EL={};function CL(){return _L||(_L=1,s="(?:"+(r="\\\\u[0-9a-fA-F]{4}|\\\\u\\{[0-9a-fA-F]+\\}")+"|[\\x23\\x24\\x40\\x41-\\x5a\\x5f\\x61-\\x7a"+(a="\\xaa\\xb5\\xba\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\u02c1\\u02c6-\\u02d1\\u02e0-\\u02e4\\u02ec\\u02ee\\u0370-\\u0374\\u0376\\u0377\\u037a-\\u037d\\u0386\\u0388-\\u038a\\u038c\\u038e-\\u03a1\\u03a3-\\u03f5\\u03f7-\\u0481\\u048a-\\u0527\\u0531-\\u0556\\u0559\\u0561-\\u0587\\u05d0-\\u05ea\\u05f0-\\u05f2\\u0620-\\u064a\\u066e\\u066f\\u0671-\\u06d3\\u06d5\\u06e5\\u06e6\\u06ee\\u06ef\\u06fa-\\u06fc\\u06ff\\u0710\\u0712-\\u072f\\u074d-\\u07a5\\u07b1\\u07ca-\\u07ea\\u07f4\\u07f5\\u07fa\\u0800-\\u0815\\u081a\\u0824\\u0828\\u0840-\\u0858\\u08a0\\u08a2-\\u08ac\\u0904-\\u0939\\u093d\\u0950\\u0958-\\u0961\\u0971-\\u0977\\u0979-\\u097f\\u0985-\\u098c\\u098f\\u0990\\u0993-\\u09a8\\u09aa-\\u09b0\\u09b2\\u09b6-\\u09b9\\u09bd\\u09ce\\u09dc\\u09dd\\u09df-\\u09e1\\u09f0\\u09f1\\u0a05-\\u0a0a\\u0a0f\\u0a10\\u0a13-\\u0a28\\u0a2a-\\u0a30\\u0a32\\u0a33\\u0a35\\u0a36\\u0a38\\u0a39\\u0a59-\\u0a5c\\u0a5e\\u0a72-\\u0a74\\u0a85-\\u0a8d\\u0a8f-\\u0a91\\u0a93-\\u0aa8\\u0aaa-\\u0ab0\\u0ab2\\u0ab3\\u0ab5-\\u0ab9\\u0abd\\u0ad0\\u0ae0\\u0ae1\\u0b05-\\u0b0c\\u0b0f\\u0b10\\u0b13-\\u0b28\\u0b2a-\\u0b30\\u0b32\\u0b33\\u0b35-\\u0b39\\u0b3d\\u0b5c\\u0b5d\\u0b5f-\\u0b61\\u0b71\\u0b83\\u0b85-\\u0b8a\\u0b8e-\\u0b90\\u0b92-\\u0b95\\u0b99\\u0b9a\\u0b9c\\u0b9e\\u0b9f\\u0ba3\\u0ba4\\u0ba8-\\u0baa\\u0bae-\\u0bb9\\u0bd0\\u0c05-\\u0c0c\\u0c0e-\\u0c10\\u0c12-\\u0c28\\u0c2a-\\u0c33\\u0c35-\\u0c39\\u0c3d\\u0c58\\u0c59\\u0c60\\u0c61\\u0c85-\\u0c8c\\u0c8e-\\u0c90\\u0c92-\\u0ca8\\u0caa-\\u0cb3\\u0cb5-\\u0cb9\\u0cbd\\u0cde\\u0ce0\\u0ce1\\u0cf1\\u0cf2\\u0d05-\\u0d0c\\u0d0e-\\u0d10\\u0d12-\\u0d3a\\u0d3d\\u0d4e\\u0d60\\u0d61\\u0d7a-\\u0d7f\\u0d85-\\u0d96\\u0d9a-\\u0db1\\u0db3-\\u0dbb\\u0dbd\\u0dc0-\\u0dc6\\u0e01-\\u0e30\\u0e32\\u0e33\\u0e40-\\u0e46\\u0e81\\u0e82\\u0e84\\u0e87\\u0e88\\u0e8a\\u0e8d\\u0e94-\\u0e97\\u0e99-\\u0e9f\\u0ea1-\\u0ea3\\u0ea5\\u0ea7\\u0eaa\\u0eab\\u0ead-\\u0eb0\\u0eb2\\u0eb3\\u0ebd\\u0ec0-\\u0ec4\\u0ec6\\u0edc-\\u0edf\\u0f00\\u0f40-\\u0f47\\u0f49-\\u0f6c\\u0f88-\\u0f8c\\u1000-\\u102a\\u103f\\u1050-\\u1055\\u105a-\\u105d\\u1061\\u1065\\u1066\\u106e-\\u1070\\u1075-\\u1081\\u108e\\u10a0-\\u10c5\\u10c7\\u10cd\\u10d0-\\u10fa\\u10fc-\\u1248\\u124a-\\u124d\\u1250-\\u1256\\u1258\\u125a-\\u125d\\u1260-\\u1288\\u128a-\\u128d\\u1290-\\u12b0\\u12b2-\\u12b5\\u12b8-\\u12be\\u12c0\\u12c2-\\u12c5\\u12c8-\\u12d6\\u12d8-\\u1310\\u1312-\\u1315\\u1318-\\u135a\\u1380-\\u138f\\u13a0-\\u13f4\\u1401-\\u166c\\u166f-\\u167f\\u1681-\\u169a\\u16a0-\\u16ea\\u16ee-\\u16f0\\u1700-\\u170c\\u170e-\\u1711\\u1720-\\u1731\\u1740-\\u1751\\u1760-\\u176c\\u176e-\\u1770\\u1780-\\u17b3\\u17d7\\u17dc\\u1820-\\u1877\\u1880-\\u18a8\\u18aa\\u18b0-\\u18f5\\u1900-\\u191c\\u1950-\\u196d\\u1970-\\u1974\\u1980-\\u19ab\\u19c1-\\u19c7\\u1a00-\\u1a16\\u1a20-\\u1a54\\u1aa7\\u1b05-\\u1b33\\u1b45-\\u1b4b\\u1b83-\\u1ba0\\u1bae\\u1baf\\u1bba-\\u1be5\\u1c00-\\u1c23\\u1c4d-\\u1c4f\\u1c5a-\\u1c7d\\u1ce9-\\u1cec\\u1cee-\\u1cf1\\u1cf5\\u1cf6\\u1d00-\\u1dbf\\u1e00-\\u1f15\\u1f18-\\u1f1d\\u1f20-\\u1f45\\u1f48-\\u1f4d\\u1f50-\\u1f57\\u1f59\\u1f5b\\u1f5d\\u1f5f-\\u1f7d\\u1f80-\\u1fb4\\u1fb6-\\u1fbc\\u1fbe\\u1fc2-\\u1fc4\\u1fc6-\\u1fcc\\u1fd0-\\u1fd3\\u1fd6-\\u1fdb\\u1fe0-\\u1fec\\u1ff2-\\u1ff4\\u1ff6-\\u1ffc\\u2071\\u207f\\u2090-\\u209c\\u2102\\u2107\\u210a-\\u2113\\u2115\\u2119-\\u211d\\u2124\\u2126\\u2128\\u212a-\\u212d\\u212f-\\u2139\\u213c-\\u213f\\u2145-\\u2149\\u214e\\u2160-\\u2188\\u2c00-\\u2c2e\\u2c30-\\u2c5e\\u2c60-\\u2ce4\\u2ceb-\\u2cee\\u2cf2\\u2cf3\\u2d00-\\u2d25\\u2d27\\u2d2d\\u2d30-\\u2d67\\u2d6f\\u2d80-\\u2d96\\u2da0-\\u2da6\\u2da8-\\u2dae\\u2db0-\\u2db6\\u2db8-\\u2dbe\\u2dc0-\\u2dc6\\u2dc8-\\u2dce\\u2dd0-\\u2dd6\\u2dd8-\\u2dde\\u2e2f\\u3005-\\u3007\\u3021-\\u3029\\u3031-\\u3035\\u3038-\\u303c\\u3041-\\u3096\\u309d-\\u309f\\u30a1-\\u30fa\\u30fc-\\u30ff\\u3105-\\u312d\\u3131-\\u318e\\u31a0-\\u31ba\\u31f0-\\u31ff\\u3400-\\u4db5\\u4e00-\\u9fcc\\ua000-\\ua48c\\ua4d0-\\ua4fd\\ua500-\\ua60c\\ua610-\\ua61f\\ua62a\\ua62b\\ua640-\\ua66e\\ua67f-\\ua697\\ua6a0-\\ua6ef\\ua717-\\ua71f\\ua722-\\ua788\\ua78b-\\ua78e\\ua790-\\ua793\\ua7a0-\\ua7aa\\ua7f8-\\ua801\\ua803-\\ua805\\ua807-\\ua80a\\ua80c-\\ua822\\ua840-\\ua873\\ua882-\\ua8b3\\ua8f2-\\ua8f7\\ua8fb\\ua90a-\\ua925\\ua930-\\ua946\\ua960-\\ua97c\\ua984-\\ua9b2\\ua9cf\\uaa00-\\uaa28\\uaa40-\\uaa42\\uaa44-\\uaa4b\\uaa60-\\uaa76\\uaa7a\\uaa80-\\uaaaf\\uaab1\\uaab5\\uaab6\\uaab9-\\uaabd\\uaac0\\uaac2\\uaadb-\\uaadd\\uaae0-\\uaaea\\uaaf2-\\uaaf4\\uab01-\\uab06\\uab09-\\uab0e\\uab11-\\uab16\\uab20-\\uab26\\uab28-\\uab2e\\uabc0-\\uabe2\\uac00-\\ud7a3\\ud7b0-\\ud7c6\\ud7cb-\\ud7fb\\uf900-\\ufa6d\\ufa70-\\ufad9\\ufb00-\\ufb06\\ufb13-\\ufb17\\ufb1d\\ufb1f-\\ufb28\\ufb2a-\\ufb36\\ufb38-\\ufb3c\\ufb3e\\ufb40\\ufb41\\ufb43\\ufb44\\ufb46-\\ufbb1\\ufbd3-\\ufd3d\\ufd50-\\ufd8f\\ufd92-\\ufdc7\\ufdf0-\\ufdfb\\ufe70-\\ufe74\\ufe76-\\ufefc\\uff21-\\uff3a\\uff41-\\uff5a\\uff66-\\uffbe\\uffc2-\\uffc7\\uffca-\\uffcf\\uffd2-\\uffd7\\uffda-\\uffdc")+"])",i="(?:"+r+"|["+(t="\\x24\\x30-\\x39\\x41-\\x5a\\x5f\\x61-\\x7a")+a+(n="\\u0300-\\u036f\\u0483-\\u0487\\u0591-\\u05bd\\u05bf\\u05c1\\u05c2\\u05c4\\u05c5\\u05c7\\u0610-\\u061a\\u0620-\\u0649\\u0672-\\u06d3\\u06e7-\\u06e8\\u06fb-\\u06fc\\u0730-\\u074a\\u0800-\\u0814\\u081b-\\u0823\\u0825-\\u0827\\u0829-\\u082d\\u0840-\\u0857\\u08e4-\\u08fe\\u0900-\\u0903\\u093a-\\u093c\\u093e-\\u094f\\u0951-\\u0957\\u0962-\\u0963\\u0966-\\u096f\\u0981-\\u0983\\u09bc\\u09be-\\u09c4\\u09c7\\u09c8\\u09d7\\u09df-\\u09e0\\u0a01-\\u0a03\\u0a3c\\u0a3e-\\u0a42\\u0a47\\u0a48\\u0a4b-\\u0a4d\\u0a51\\u0a66-\\u0a71\\u0a75\\u0a81-\\u0a83\\u0abc\\u0abe-\\u0ac5\\u0ac7-\\u0ac9\\u0acb-\\u0acd\\u0ae2-\\u0ae3\\u0ae6-\\u0aef\\u0b01-\\u0b03\\u0b3c\\u0b3e-\\u0b44\\u0b47\\u0b48\\u0b4b-\\u0b4d\\u0b56\\u0b57\\u0b5f-\\u0b60\\u0b66-\\u0b6f\\u0b82\\u0bbe-\\u0bc2\\u0bc6-\\u0bc8\\u0bca-\\u0bcd\\u0bd7\\u0be6-\\u0bef\\u0c01-\\u0c03\\u0c46-\\u0c48\\u0c4a-\\u0c4d\\u0c55\\u0c56\\u0c62-\\u0c63\\u0c66-\\u0c6f\\u0c82\\u0c83\\u0cbc\\u0cbe-\\u0cc4\\u0cc6-\\u0cc8\\u0cca-\\u0ccd\\u0cd5\\u0cd6\\u0ce2-\\u0ce3\\u0ce6-\\u0cef\\u0d02\\u0d03\\u0d46-\\u0d48\\u0d57\\u0d62-\\u0d63\\u0d66-\\u0d6f\\u0d82\\u0d83\\u0dca\\u0dcf-\\u0dd4\\u0dd6\\u0dd8-\\u0ddf\\u0df2\\u0df3\\u0e34-\\u0e3a\\u0e40-\\u0e45\\u0e50-\\u0e59\\u0eb4-\\u0eb9\\u0ec8-\\u0ecd\\u0ed0-\\u0ed9\\u0f18\\u0f19\\u0f20-\\u0f29\\u0f35\\u0f37\\u0f39\\u0f41-\\u0f47\\u0f71-\\u0f84\\u0f86-\\u0f87\\u0f8d-\\u0f97\\u0f99-\\u0fbc\\u0fc6\\u1000-\\u1029\\u1040-\\u1049\\u1067-\\u106d\\u1071-\\u1074\\u1082-\\u108d\\u108f-\\u109d\\u135d-\\u135f\\u170e-\\u1710\\u1720-\\u1730\\u1740-\\u1750\\u1772\\u1773\\u1780-\\u17b2\\u17dd\\u17e0-\\u17e9\\u180b-\\u180d\\u1810-\\u1819\\u1920-\\u192b\\u1930-\\u193b\\u1951-\\u196d\\u19b0-\\u19c0\\u19c8-\\u19c9\\u19d0-\\u19d9\\u1a00-\\u1a15\\u1a20-\\u1a53\\u1a60-\\u1a7c\\u1a7f-\\u1a89\\u1a90-\\u1a99\\u1b46-\\u1b4b\\u1b50-\\u1b59\\u1b6b-\\u1b73\\u1bb0-\\u1bb9\\u1be6-\\u1bf3\\u1c00-\\u1c22\\u1c40-\\u1c49\\u1c5b-\\u1c7d\\u1cd0-\\u1cd2\\u1d00-\\u1dbe\\u1e01-\\u1f15\\u200c\\u200d\\u203f\\u2040\\u2054\\u20d0-\\u20dc\\u20e1\\u20e5-\\u20f0\\u2d81-\\u2d96\\u2de0-\\u2dff\\u3021-\\u3028\\u3099\\u309a\\ua640-\\ua66d\\ua674-\\ua67d\\ua69f\\ua6f0-\\ua6f1\\ua7f8-\\ua800\\ua806\\ua80b\\ua823-\\ua827\\ua880-\\ua881\\ua8b4-\\ua8c4\\ua8d0-\\ua8d9\\ua8f3-\\ua8f7\\ua900-\\ua909\\ua926-\\ua92d\\ua930-\\ua945\\ua980-\\ua983\\ua9b3-\\ua9c0\\uaa00-\\uaa27\\uaa40-\\uaa41\\uaa4c-\\uaa4d\\uaa50-\\uaa59\\uaa7b\\uaae0-\\uaae9\\uaaf2-\\uaaf3\\uabc0-\\uabe1\\uabec\\uabed\\uabf0-\\uabf9\\ufb20-\\ufb28\\ufe00-\\ufe0f\\ufe20-\\ufe26\\ufe33\\ufe34\\ufe4d-\\ufe4f\\uff10-\\uff19\\uff3f")+"])*",(e=EL).identifier=new RegExp(s+i,"g"),e.identifierStart=new RegExp(s),e.identifierMatch=new RegExp("(?:"+r+"|["+t+a+n+"])+"),e.newline=/[\n\r\u2028\u2029]/,e.lineBreak=new RegExp("\r\n|"+e.newline.source),e.allLineBreaks=new RegExp(e.lineBreak.source,"g")),EL;var e,t,a,n,r,s,i}var FL,DL,AL={},TL={};function SL(){if(FL)return TL;function e(e,a){this.raw_options=t(e,a),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs","\t"===this.indent_char),this.indent_with_tabs&&(this.indent_char="\t",1===this.indent_size&&(this.indent_size=4)),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char")),this.indent_empty_lines=this._get_boolean("indent_empty_lines"),this.templating=this._get_selection_list("templating",["auto","none","angular","django","erb","handlebars","php","smarty"],["auto"])}function t(e,t){var n,r={};for(n in e=a(e))n!==t&&(r[n]=e[n]);if(t&&e[t])for(n in e[t])r[n]=e[t][n];return r}function a(e){var t,a={};for(t in e){a[t.replace(/-/g,"_")]=e[t]}return a}return FL=1,e.prototype._get_array=function(e,t){var a=this.raw_options[e],n=t||[];return"object"==typeof a?null!==a&&"function"==typeof a.concat&&(n=a.concat()):"string"==typeof a&&(n=a.split(/[^a-zA-Z0-9_\/\-]+/)),n},e.prototype._get_boolean=function(e,t){var a=this.raw_options[e];return void 0===a?!!t:!!a},e.prototype._get_characters=function(e,t){var a=this.raw_options[e],n=t||"";return"string"==typeof a&&(n=a.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),n},e.prototype._get_number=function(e,t){var a=this.raw_options[e];t=parseInt(t,10),isNaN(t)&&(t=0);var n=parseInt(a,10);return isNaN(n)&&(n=t),n},e.prototype._get_selection=function(e,t,a){var n=this._get_selection_list(e,t,a);if(1!==n.length)throw new Error("Invalid Option Value: The option '"+e+"' can only be one of the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return n[0]},e.prototype._get_selection_list=function(e,t,a){if(!t||0===t.length)throw new Error("Selection list cannot be empty.");if(a=a||[t[0]],!this._is_valid_selection(a,t))throw new Error("Invalid Default Value!");var n=this._get_array(e,a);if(!this._is_valid_selection(n,t))throw new Error("Invalid Option Value: The option '"+e+"' can contain only the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return n},e.prototype._is_valid_selection=function(e,t){return e.length&&t.length&&!e.some(function(e){return-1===t.indexOf(e)})},TL.Options=e,TL.normalizeOpts=a,TL.mergeOpts=t,TL}function IL(){if(DL)return AL;DL=1;var e=SL().Options,t=["before-newline","after-newline","preserve-newline"];function a(a){e.call(this,a,"js");var n=this.raw_options.brace_style||null;"expand-strict"===n?this.raw_options.brace_style="expand":"collapse-preserve-inline"===n?this.raw_options.brace_style="collapse,preserve-inline":void 0!==this.raw_options.braces_on_own_line&&(this.raw_options.brace_style=this.raw_options.braces_on_own_line?"expand":"collapse");var r=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_preserve_inline=!1,this.brace_style="collapse";for(var s=0;s0&&(this.__position-=1)},t.prototype.hasNext=function(){return this.__position=0&&e=0&&t=e.length&&this.__input.substring(t-e.length,t).toLowerCase()===e},BL.InputScanner=t,BL}var OL,UL={},jL={};var LL,RL,zL,HL={},$L={};function YL(){if(LL)return $L;function e(e,t){this._input=e,this._starting_pattern=null,this._match_pattern=null,this._until_pattern=null,this._until_after=!1,t&&(this._starting_pattern=this._input.get_regexp(t._starting_pattern,!0),this._match_pattern=this._input.get_regexp(t._match_pattern,!0),this._until_pattern=this._input.get_regexp(t._until_pattern),this._until_after=t._until_after)}return LL=1,e.prototype.read=function(){var e=this._input.read(this._starting_pattern);return this._starting_pattern&&!e||(e+=this._input.read(this._match_pattern,this._until_pattern,this._until_after)),e},e.prototype.read_match=function(){return this._input.match(this._match_pattern)},e.prototype.until_after=function(e){var t=this._create();return t._until_after=!0,t._until_pattern=this._input.get_regexp(e),t._update(),t},e.prototype.until=function(e){var t=this._create();return t._until_after=!1,t._until_pattern=this._input.get_regexp(e),t._update(),t},e.prototype.starting_with=function(e){var t=this._create();return t._starting_pattern=this._input.get_regexp(e,!0),t._update(),t},e.prototype.matching=function(e){var t=this._create();return t._match_pattern=this._input.get_regexp(e,!0),t._update(),t},e.prototype._create=function(){return new e(this._input,this)},e.prototype._update=function(){},$L.Pattern=e,$L}function GL(){if(zL)return UL;zL=1;var e=ML().InputScanner,t=kL().Token,a=function(){if(OL)return jL;function e(e){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=e}return OL=1,e.prototype.restart=function(){this.__position=0},e.prototype.isEmpty=function(){return 0===this.__tokens_length},e.prototype.hasNext=function(){return this.__position=0&&e/),erb:r.starting_with(/<%[^%]/).until_after(/[^%]%>/),django:r.starting_with(/{%/).until_after(/%}/),django_value:r.starting_with(/{{/).until_after(/}}/),django_comment:r.starting_with(/{#/).until_after(/#}/),smarty:r.starting_with(/{(?=[^}{\s\n])/).until_after(/[^\s\n]}/),smarty_comment:r.starting_with(/{\*/).until_after(/\*}/),smarty_literal:r.starting_with(/{literal}/).until_after(/{\/literal}/)}}return a.prototype=new e,a.prototype._create=function(){return new a(this._input,this)},a.prototype._update=function(){this.__set_templated_pattern()},a.prototype.disable=function(e){var t=this._create();return t._disabled[e]=!0,t._update(),t},a.prototype.read_options=function(e){var a=this._create();for(var n in t)a._disabled[n]=-1===e.templating.indexOf(n);return a._update(),a},a.prototype.exclude=function(e){var t=this._create();return t._excluded[e]=!0,t._update(),t},a.prototype.read=function(){var e="";e=this._match_pattern?this._input.read(this._starting_pattern):this._input.read(this._starting_pattern,this.__template_pattern);for(var t=this._read_template();t;)this._match_pattern?t+=this._input.read(this._match_pattern):t+=this._input.readUntil(this.__template_pattern),e+=t,t=this._read_template();return this._until_after&&(e+=this._input.readUntilAfter(this._until_pattern)),e},a.prototype.__set_templated_pattern=function(){var e=[];this._disabled.php||e.push(this.__patterns.php._starting_pattern.source),this._disabled.handlebars||e.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.angular||e.push(this.__patterns.handlebars._starting_pattern.source),this._disabled.erb||e.push(this.__patterns.erb._starting_pattern.source),this._disabled.django||(e.push(this.__patterns.django._starting_pattern.source),e.push(this.__patterns.django_value._starting_pattern.source),e.push(this.__patterns.django_comment._starting_pattern.source)),this._disabled.smarty||e.push(this.__patterns.smarty._starting_pattern.source),this._until_pattern&&e.push(this._until_pattern.source),this.__template_pattern=this._input.get_regexp("(?:"+e.join("|")+")")},a.prototype._read_template=function(){var e="",t=this._input.peek();if("<"===t){var a=this._input.peek(1);this._disabled.php||this._excluded.php||"?"!==a||(e=e||this.__patterns.php.read()),this._disabled.erb||this._excluded.erb||"%"!==a||(e=e||this.__patterns.erb.read())}else"{"===t&&(this._disabled.handlebars||this._excluded.handlebars||(e=(e=(e=e||this.__patterns.handlebars_comment.read())||this.__patterns.handlebars_unescaped.read())||this.__patterns.handlebars.read()),this._disabled.django||(this._excluded.django||this._excluded.handlebars||(e=e||this.__patterns.django_value.read()),this._excluded.django||(e=(e=e||this.__patterns.django_comment.read())||this.__patterns.django.read())),this._disabled.smarty||this._disabled.django&&this._disabled.handlebars&&(e=(e=(e=e||this.__patterns.smarty_comment.read())||this.__patterns.smarty_literal.read())||this.__patterns.smarty.read()));return e},QL.TemplatablePattern=a,QL}function tR(){if(qL)return PL;qL=1;var e=ML().InputScanner,t=GL().Tokenizer,a=GL().TOKEN,n=KL().Directives,r=CL(),s=YL().Pattern,i=eR().TemplatablePattern;function o(e,t){return-1!==t.indexOf(e)}var l={START_EXPR:"TK_START_EXPR",END_EXPR:"TK_END_EXPR",START_BLOCK:"TK_START_BLOCK",END_BLOCK:"TK_END_BLOCK",WORD:"TK_WORD",RESERVED:"TK_RESERVED",SEMICOLON:"TK_SEMICOLON",STRING:"TK_STRING",EQUALS:"TK_EQUALS",OPERATOR:"TK_OPERATOR",COMMA:"TK_COMMA",BLOCK_COMMENT:"TK_BLOCK_COMMENT",COMMENT:"TK_COMMENT",DOT:"TK_DOT",UNKNOWN:"TK_UNKNOWN",START:a.START,RAW:a.RAW,EOF:a.EOF},c=new n(/\/\*/,/\*\//),u=/0[xX][0123456789abcdefABCDEF_]*n?|0[oO][01234567_]*n?|0[bB][01_]*n?|\d[\d_]*n|(?:\.\d[\d_]*|\d[\d_]*\.?[\d_]*)(?:[eE][+-]?[\d_]+)?/,d=/[0-9]/,h=/[^\d\.]/,p=">>> === !== &&= ??= ||= << && >= ** != == <= >> || ?? |> < / - + > : & % ? ^ | *".split(" "),f=">>>= ... >>= <<= === >>> !== **= &&= ??= ||= => ^= :: /= << <= == && -= >= >> != -- += ** || ?? ++ %= &= *= |= |> = ! ? > < : / ^ - + * & % ~ |";f=(f="\\?\\.(?!\\d) "+(f=f.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&"))).replace(/ /g,"|");var m,g=new RegExp(f),y="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","),v=y.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as","class","extends"]),b=new RegExp("^(?:"+v.join("|")+")$"),w=function(e,a){t.call(this,e,a),this._patterns.whitespace=this._patterns.whitespace.matching(/\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff/.source,/\u2028\u2029/.source);var n=new s(this._input),o=new i(this._input).read_options(this._options);this.__patterns={template:o,identifier:o.starting_with(r.identifier).matching(r.identifierMatch),number:n.matching(u),punct:n.matching(g),comment:n.starting_with(/\/\//).until(/[\n\r\u2028\u2029]/),block_comment:n.starting_with(/\/\*/).until_after(/\*\//),html_comment_start:n.matching(//),include:n.starting_with(/#include/).until_after(r.lineBreak),shebang:n.starting_with(/#!/).until_after(r.lineBreak),xml:n.matching(/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[^}]+?}|!\[CDATA\[[^\]]*?\]\]|)(\s*{[^}]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{([^{}]|{[^}]+?})+?}))*\s*(\/?)\s*>/),single_quote:o.until(/['\\\n\r\u2028\u2029]/),double_quote:o.until(/["\\\n\r\u2028\u2029]/),template_text:o.until(/[`\\$]/),template_expression:o.until(/[`}\\]/)}};return(w.prototype=new t)._is_comment=function(e){return e.type===l.COMMENT||e.type===l.BLOCK_COMMENT||e.type===l.UNKNOWN},w.prototype._is_opening=function(e){return e.type===l.START_BLOCK||e.type===l.START_EXPR},w.prototype._is_closing=function(e,t){return(e.type===l.END_BLOCK||e.type===l.END_EXPR)&&t&&("]"===e.text&&"["===t.text||")"===e.text&&"("===t.text||"}"===e.text&&"{"===t.text)},w.prototype._reset=function(){m=!1},w.prototype._get_next_token=function(e,t){var a=null;this._readWhitespace();var n=this._input.peek();return null===n?this._create_token(l.EOF,""):a=(a=(a=(a=(a=(a=(a=(a=(a=(a=a||this._read_non_javascript(n))||this._read_string(n))||this._read_pair(n,this._input.peek(1)))||this._read_word(e))||this._read_singles(n))||this._read_comment(n))||this._read_regexp(n,e))||this._read_xml(n,e))||this._read_punctuation())||this._create_token(l.UNKNOWN,this._input.next())},w.prototype._read_word=function(e){var t;return""!==(t=this.__patterns.identifier.read())?(t=t.replace(r.allLineBreaks,"\n"),e.type!==l.DOT&&(e.type!==l.RESERVED||"set"!==e.text&&"get"!==e.text)&&b.test(t)?"in"!==t&&"of"!==t||e.type!==l.WORD&&e.type!==l.STRING?this._create_token(l.RESERVED,t):this._create_token(l.OPERATOR,t):this._create_token(l.WORD,t)):""!==(t=this.__patterns.number.read())?this._create_token(l.WORD,t):void 0},w.prototype._read_singles=function(e){var t=null;return"("===e||"["===e?t=this._create_token(l.START_EXPR,e):")"===e||"]"===e?t=this._create_token(l.END_EXPR,e):"{"===e?t=this._create_token(l.START_BLOCK,e):"}"===e?t=this._create_token(l.END_BLOCK,e):";"===e?t=this._create_token(l.SEMICOLON,e):"."===e&&h.test(this._input.peek(1))?t=this._create_token(l.DOT,e):","===e&&(t=this._create_token(l.COMMA,e)),t&&this._input.next(),t},w.prototype._read_pair=function(e,t){var a=null;return"#"===e&&"{"===t&&(a=this._create_token(l.START_BLOCK,e+t)),a&&(this._input.next(),this._input.next()),a},w.prototype._read_punctuation=function(){var e=this.__patterns.punct.read();if(""!==e)return"="===e?this._create_token(l.EQUALS,e):"?."===e?this._create_token(l.DOT,e):this._create_token(l.OPERATOR,e)},w.prototype._read_non_javascript=function(e){var t="";if("#"===e){if(this._is_first_token()&&(t=this.__patterns.shebang.read()))return this._create_token(l.UNKNOWN,t.trim()+"\n");if(t=this.__patterns.include.read())return this._create_token(l.UNKNOWN,t.trim()+"\n");e=this._input.next();var a="#";if(this._input.hasNext()&&this._input.testChar(d)){do{a+=e=this._input.next()}while(this._input.hasNext()&&"#"!==e&&"="!==e);return"#"===e||("["===this._input.peek()&&"]"===this._input.peek(1)?(a+="[]",this._input.next(),this._input.next()):"{"===this._input.peek()&&"}"===this._input.peek(1)&&(a+="{}",this._input.next(),this._input.next())),this._create_token(l.WORD,a)}this._input.back()}else if("<"===e&&this._is_first_token()){if(t=this.__patterns.html_comment_start.read()){for(;this._input.hasNext()&&!this._input.testChar(r.newline);)t+=this._input.next();return m=!0,this._create_token(l.COMMENT,t)}}else if(m&&"-"===e&&(t=this.__patterns.html_comment_end.read()))return m=!1,this._create_token(l.COMMENT,t);return null},w.prototype._read_comment=function(e){var t=null;if("/"===e){var a="";if("*"===this._input.peek(1)){a=this.__patterns.block_comment.read();var n=c.get_directives(a);n&&"start"===n.ignore&&(a+=c.readIgnored(this._input)),a=a.replace(r.allLineBreaks,"\n"),(t=this._create_token(l.BLOCK_COMMENT,a)).directives=n}else"/"===this._input.peek(1)&&(a=this.__patterns.comment.read(),t=this._create_token(l.COMMENT,a))}return t},w.prototype._read_string=function(t){if("`"===t||"'"===t||'"'===t){var a=this._input.next();return this.has_char_escapes=!1,a+="`"===t?this._read_string_recursive("`",!0,"${"):this._read_string_recursive(t),this.has_char_escapes&&this._options.unescape_strings&&(a=function(t){var a="",n=0,r=new e(t),s=null;for(;r.hasNext();)if((s=r.match(/([\s]|[^\\]|\\\\)+/g))&&(a+=s[0]),"\\"===r.peek()){if(r.next(),"x"===r.peek())s=r.match(/x([0-9A-Fa-f]{2})/g);else{if("u"!==r.peek()){a+="\\",r.hasNext()&&(a+=r.next());continue}(s=r.match(/u([0-9A-Fa-f]{4})/g))||(s=r.match(/u\{([0-9A-Fa-f]+)\}/g))}if(!s)return t;if((n=parseInt(s[1],16))>126&&n<=255&&0===s[0].indexOf("x"))return t;a+=n>=0&&n<32||n>1114111?"\\"+s[0]:34===n||39===n||92===n?"\\"+String.fromCharCode(n):String.fromCharCode(n)}return a}(a)),this._input.peek()===t&&(a+=this._input.next()),a=a.replace(r.allLineBreaks,"\n"),this._create_token(l.STRING,a)}return null},w.prototype._allow_regexp_or_xml=function(e){return e.type===l.RESERVED&&o(e.text,["return","case","throw","else","do","typeof","yield"])||e.type===l.END_EXPR&&")"===e.text&&e.opened.previous.type===l.RESERVED&&o(e.opened.previous.text,["if","while","for"])||o(e.type,[l.COMMENT,l.START_EXPR,l.START_BLOCK,l.START,l.END_BLOCK,l.OPERATOR,l.EQUALS,l.EOF,l.SEMICOLON,l.COMMA])},w.prototype._read_regexp=function(e,t){if("/"===e&&this._allow_regexp_or_xml(t)){for(var a=this._input.next(),n=!1,s=!1;this._input.hasNext()&&(n||s||this._input.peek()!==e)&&!this._input.testChar(r.newline);)a+=this._input.peek(),n?n=!1:(n="\\"===this._input.peek(),"["===this._input.peek()?s=!0:"]"===this._input.peek()&&(s=!1)),this._input.next();return this._input.peek()===e&&(a+=this._input.next(),a+=this._input.read(r.identifier)),this._create_token(l.STRING,a)}return null},w.prototype._read_xml=function(e,t){if(this._options.e4x&&"<"===e&&this._allow_regexp_or_xml(t)){var a="",n=this.__patterns.xml.read_match();if(n){for(var s=n[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),i=0===s.indexOf("{"),o=0;n;){var c=!!n[1],u=n[2];if(!(!!n[n.length-1]||"![CDATA["===u.slice(0,8))&&(u===s||i&&u.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(c?--o:++o),a+=n[0],o<=0)break;n=this.__patterns.xml.read_match()}return n||(a+=this._input.match(/[\s\S]*/g)[0]),a=a.replace(r.allLineBreaks,"\n"),this._create_token(l.STRING,a)}}return null},w.prototype._read_string_recursive=function(e,t,a){var n,s;"'"===e?s=this.__patterns.single_quote:'"'===e?s=this.__patterns.double_quote:"`"===e?s=this.__patterns.template_text:"}"===e&&(s=this.__patterns.template_expression);for(var i=s.read(),o="";this._input.hasNext();){if((o=this._input.next())===e||!t&&r.newline.test(o)){this._input.back();break}"\\"===o&&this._input.hasNext()?("x"===(n=this._input.peek())||"u"===n?this.has_char_escapes=!0:"\r"===n&&"\n"===this._input.peek(1)&&this._input.next(),o+=this._input.next()):a&&("${"===a&&"$"===o&&"{"===this._input.peek()&&(o+=this._input.next()),a===o&&(o+="`"===e?this._read_string_recursive("}",t,"`"):this._read_string_recursive("`",t,"${"),this._input.hasNext()&&(o+=this._input.next()))),i+=o+=s.read()}return i},PL.Tokenizer=w,PL.TOKEN=l,PL.positionable_operators=p.slice(),PL.line_starters=y.slice(),PL}function aR(){if(ZL)return yL;ZL=1;var e=bL().Output,t=kL().Token,a=CL(),n=IL().Options,r=tR().Tokenizer,s=tR().line_starters,i=tR().positionable_operators,o=tR().TOKEN;function l(e,t){return-1!==t.indexOf(e)}function c(e){return e.replace(/^\s+/g,"")}function u(e,t){return e&&e.type===o.RESERVED&&e.text===t}function d(e,t){return e&&e.type===o.RESERVED&&l(e.text,t)}var h=["case","return","do","if","throw","else","await","break","continue","async"],p=function(e){for(var t={},a=0;an&&(n=e.line_indent_level)),{mode:a,parent:e,last_token:e?e.last_token:new t(o.START_BLOCK,""),last_word:e?e.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,class_start_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,case_block:!1,indentation_level:n,alignment:0,line_indent_level:e?e.line_indent_level:n,start_line_index:this._output.get_line_number(),ternary_depth:0}},C.prototype._reset=function(t){var a=t.match(/^[\t ]*/)[0];this._last_last_text="",this._output=new e(this._options,a),this._output.raw=this._options.test_output_raw,this._flag_store=[],this.set_mode(m);var n=new r(t,this._options);return this._tokens=n.tokenize(),t},C.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._reset(this._source_text),t=this._options.eol;"auto"===this._options.eol&&(t="\n",e&&a.lineBreak.test(e||"")&&(t=e.match(a.lineBreak)[0]));for(var n=this._tokens.next();n;)this.handle_token(n),this._last_last_text=this._flags.last_token.text,this._flags.last_token=n,n=this._tokens.next();return this._output.get_code(t)},C.prototype.handle_token=function(e,t){e.type===o.START_EXPR?this.handle_start_expr(e):e.type===o.END_EXPR?this.handle_end_expr(e):e.type===o.START_BLOCK?this.handle_start_block(e):e.type===o.END_BLOCK?this.handle_end_block(e):e.type===o.WORD||e.type===o.RESERVED?this.handle_word(e):e.type===o.SEMICOLON?this.handle_semicolon(e):e.type===o.STRING?this.handle_string(e):e.type===o.EQUALS?this.handle_equals(e):e.type===o.OPERATOR?this.handle_operator(e):e.type===o.COMMA?this.handle_comma(e):e.type===o.BLOCK_COMMENT?this.handle_block_comment(e,t):e.type===o.COMMENT?this.handle_comment(e,t):e.type===o.DOT?this.handle_dot(e):e.type===o.EOF?this.handle_eof(e):(e.type,o.UNKNOWN,this.handle_unknown(e,t))},C.prototype.handle_whitespace_and_comments=function(e,t){var a=e.newlines,n=this._options.keep_array_indentation&&_(this._flags.mode);if(e.comments_before)for(var r=e.comments_before.next();r;)this.handle_whitespace_and_comments(r,t),this.handle_token(r,t),r=e.comments_before.next();if(n)for(var s=0;s0,t);else if(this._options.max_preserve_newlines&&a>this._options.max_preserve_newlines&&(a=this._options.max_preserve_newlines),this._options.preserve_newlines&&a>1){this.print_newline(!1,t);for(var i=1;i0&&(!this._flags.parent||this._flags.indentation_level>this._flags.parent.indentation_level)&&(this._flags.indentation_level-=1,this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},C.prototype.set_mode=function(e){this._flags?(this._flag_store.push(this._flags),this._previous_flags=this._flags):this._previous_flags=this.create_flags(null,e),this._flags=this.create_flags(this._previous_flags,e),this._output.set_indent(this._flags.indentation_level,this._flags.alignment)},C.prototype.restore_mode=function(){this._flag_store.length>0&&(this._previous_flags=this._flags,this._flags=this._flag_store.pop(),this._previous_flags.mode===g&&k(this._output,this._previous_flags),this._output.set_indent(this._flags.indentation_level,this._flags.alignment))},C.prototype.start_of_object_property=function(){return this._flags.parent.mode===y&&this._flags.mode===g&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||d(this._flags.last_token,["get","set"]))},C.prototype.start_of_statement=function(e){var t=!1;return!!(t=(t=(t=(t=(t=(t=(t=t||d(this._flags.last_token,["var","let","const"])&&e.type===o.WORD)||u(this._flags.last_token,"do"))||!(this._flags.parent.mode===y&&this._flags.mode===g)&&d(this._flags.last_token,F)&&!e.newlines)||u(this._flags.last_token,"else")&&!(u(e,"if")&&!e.comments_before))||this._flags.last_token.type===o.END_EXPR&&(this._previous_flags.mode===b||this._previous_flags.mode===w))||this._flags.last_token.type===o.WORD&&this._flags.mode===m&&!this._flags.in_case&&!("--"===e.text||"++"===e.text)&&"function"!==this._last_last_text&&e.type!==o.WORD&&e.type!==o.RESERVED)||this._flags.mode===y&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||d(this._flags.last_token,["get","set"])))&&(this.set_mode(g),this.indent(),this.handle_whitespace_and_comments(e,!0),this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e,d(e,["do","for","if","while"])),!0)},C.prototype.handle_start_expr=function(e){this.start_of_statement(e)||this.handle_whitespace_and_comments(e);var t=x;if("["===e.text){if(this._flags.last_token.type===o.WORD||")"===this._flags.last_token.text)return d(this._flags.last_token,s)&&(this._output.space_before_token=!0),this.print_token(e),this.set_mode(t),this.indent(),void(this._options.space_in_paren&&(this._output.space_before_token=!0));t=v,_(this._flags.mode)&&("["!==this._flags.last_token.text&&(","!==this._flags.last_token.text||"]"!==this._last_last_text&&"}"!==this._last_last_text)||this._options.keep_array_indentation||this.print_newline()),l(this._flags.last_token.type,[o.START_EXPR,o.END_EXPR,o.WORD,o.OPERATOR,o.DOT])||(this._output.space_before_token=!0)}else{if(this._flags.last_token.type===o.RESERVED)"for"===this._flags.last_token.text?(this._output.space_before_token=this._options.space_before_conditional,t=b):l(this._flags.last_token.text,["if","while","switch"])?(this._output.space_before_token=this._options.space_before_conditional,t=w):l(this._flags.last_word,["await","async"])?this._output.space_before_token=!0:"import"===this._flags.last_token.text&&""===e.whitespace_before?this._output.space_before_token=!1:(l(this._flags.last_token.text,s)||"catch"===this._flags.last_token.text)&&(this._output.space_before_token=!0);else if(this._flags.last_token.type===o.EQUALS||this._flags.last_token.type===o.OPERATOR)this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e);else if(this._flags.last_token.type===o.WORD){this._output.space_before_token=!1;var a=this._tokens.peek(-3);if(this._options.space_after_named_function&&a){var n=this._tokens.peek(-4);d(a,["async","function"])||"*"===a.text&&d(n,["async","function"])?this._output.space_before_token=!0:this._flags.mode===y?"{"!==a.text&&","!==a.text&&("*"!==a.text||"{"!==n.text&&","!==n.text)||(this._output.space_before_token=!0):this._flags.parent&&this._flags.parent.class_start_block&&(this._output.space_before_token=!0)}}else this.allow_wrap_or_preserved_newline(e);(this._flags.last_token.type===o.RESERVED&&("function"===this._flags.last_word||"typeof"===this._flags.last_word)||"*"===this._flags.last_token.text&&(l(this._last_last_text,["function","yield"])||this._flags.mode===y&&l(this._last_last_text,["{",","])))&&(this._output.space_before_token=this._options.space_after_anon_function)}";"===this._flags.last_token.text||this._flags.last_token.type===o.START_BLOCK?this.print_newline():this._flags.last_token.type!==o.END_EXPR&&this._flags.last_token.type!==o.START_EXPR&&this._flags.last_token.type!==o.END_BLOCK&&"."!==this._flags.last_token.text&&this._flags.last_token.type!==o.COMMA||this.allow_wrap_or_preserved_newline(e,e.newlines),this.print_token(e),this.set_mode(t),this._options.space_in_paren&&(this._output.space_before_token=!0),this.indent()},C.prototype.handle_end_expr=function(e){for(;this._flags.mode===g;)this.restore_mode();this.handle_whitespace_and_comments(e),this._flags.multiline_frame&&this.allow_wrap_or_preserved_newline(e,"]"===e.text&&_(this._flags.mode)&&!this._options.keep_array_indentation),this._options.space_in_paren&&(this._flags.last_token.type!==o.START_EXPR||this._options.space_in_empty_paren?this._output.space_before_token=!0:(this._output.trim(),this._output.space_before_token=!1)),this.deindent(),this.print_token(e),this.restore_mode(),k(this._output,this._previous_flags),this._flags.do_while&&this._previous_flags.mode===w&&(this._previous_flags.mode=x,this._flags.do_block=!1,this._flags.do_while=!1)},C.prototype.handle_start_block=function(e){this.handle_whitespace_and_comments(e);var t=this._tokens.peek(),a=this._tokens.peek(1);"switch"===this._flags.last_word&&this._flags.last_token.type===o.END_EXPR?(this.set_mode(m),this._flags.in_case_statement=!0):this._flags.case_body?this.set_mode(m):a&&(l(a.text,[":",","])&&l(t.type,[o.STRING,o.WORD,o.RESERVED])||l(t.text,["get","set","..."])&&l(a.type,[o.WORD,o.RESERVED]))?l(this._last_last_text,["class","interface"])&&!l(a.text,[":",","])?this.set_mode(m):this.set_mode(y):this._flags.last_token.type===o.OPERATOR&&"=>"===this._flags.last_token.text?this.set_mode(m):l(this._flags.last_token.type,[o.EQUALS,o.START_EXPR,o.COMMA,o.OPERATOR])||d(this._flags.last_token,["return","throw","import","default"])?this.set_mode(y):this.set_mode(m),this._flags.last_token&&d(this._flags.last_token.previous,["class","extends"])&&(this._flags.class_start_block=!0);var n=!t.comments_before&&"}"===t.text,r=n&&"function"===this._flags.last_word&&this._flags.last_token.type===o.END_EXPR;if(this._options.brace_preserve_inline){var s=0,i=null;this._flags.inline_frame=!0;do{if(s+=1,(i=this._tokens.peek(s-1)).newlines){this._flags.inline_frame=!1;break}}while(i.type!==o.EOF&&(i.type!==o.END_BLOCK||i.opened!==e))}("expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines)&&!this._flags.inline_frame?this._flags.last_token.type!==o.OPERATOR&&(r||this._flags.last_token.type===o.EQUALS||d(this._flags.last_token,h)&&"else"!==this._flags.last_token.text)?this._output.space_before_token=!0:this.print_newline(!1,!0):(!_(this._previous_flags.mode)||this._flags.last_token.type!==o.START_EXPR&&this._flags.last_token.type!==o.COMMA||((this._flags.last_token.type===o.COMMA||this._options.space_in_paren)&&(this._output.space_before_token=!0),(this._flags.last_token.type===o.COMMA||this._flags.last_token.type===o.START_EXPR&&this._flags.inline_frame)&&(this.allow_wrap_or_preserved_newline(e),this._previous_flags.multiline_frame=this._previous_flags.multiline_frame||this._flags.multiline_frame,this._flags.multiline_frame=!1)),this._flags.last_token.type!==o.OPERATOR&&this._flags.last_token.type!==o.START_EXPR&&(l(this._flags.last_token.type,[o.START_BLOCK,o.SEMICOLON])&&!this._flags.inline_frame?this.print_newline():this._output.space_before_token=!0)),this.print_token(e),this.indent(),n||this._options.brace_preserve_inline&&this._flags.inline_frame||this.print_newline()},C.prototype.handle_end_block=function(e){for(this.handle_whitespace_and_comments(e);this._flags.mode===g;)this.restore_mode();var t=this._flags.last_token.type===o.START_BLOCK;this._flags.inline_frame&&!t?this._output.space_before_token=!0:"expand"===this._options.brace_style?t||this.print_newline():t||(_(this._flags.mode)&&this._options.keep_array_indentation?(this._options.keep_array_indentation=!1,this.print_newline(),this._options.keep_array_indentation=!0):this.print_newline()),this.restore_mode(),this.print_token(e)},C.prototype.handle_word=function(e){if(e.type===o.RESERVED)if(l(e.text,["set","get"])&&this._flags.mode!==y)e.type=o.WORD;else if("import"===e.text&&l(this._tokens.peek().text,["(","."]))e.type=o.WORD;else if(l(e.text,["as","from"])&&!this._flags.import_block)e.type=o.WORD;else if(this._flags.mode===y){":"===this._tokens.peek().text&&(e.type=o.WORD)}if(this.start_of_statement(e)?d(this._flags.last_token,["var","let","const"])&&e.type===o.WORD&&(this._flags.declaration_statement=!0):!e.newlines||E(this._flags.mode)||this._flags.last_token.type===o.OPERATOR&&"--"!==this._flags.last_token.text&&"++"!==this._flags.last_token.text||this._flags.last_token.type===o.EQUALS||!this._options.preserve_newlines&&d(this._flags.last_token,["var","let","const","set","get"])?this.handle_whitespace_and_comments(e):(this.handle_whitespace_and_comments(e),this.print_newline()),this._flags.do_block&&!this._flags.do_while){if(u(e,"while"))return this._output.space_before_token=!0,this.print_token(e),this._output.space_before_token=!0,void(this._flags.do_while=!0);this.print_newline(),this._flags.do_block=!1}if(this._flags.if_block)if(!this._flags.else_block&&u(e,"else"))this._flags.else_block=!0;else{for(;this._flags.mode===g;)this.restore_mode();this._flags.if_block=!1,this._flags.else_block=!1}if(this._flags.in_case_statement&&d(e,["case","default"]))return this.print_newline(),this._flags.case_block||!this._flags.case_body&&!this._options.jslint_happy||this.deindent(),this._flags.case_body=!1,this.print_token(e),void(this._flags.in_case=!0);if(this._flags.last_token.type!==o.COMMA&&this._flags.last_token.type!==o.START_EXPR&&this._flags.last_token.type!==o.EQUALS&&this._flags.last_token.type!==o.OPERATOR||this.start_of_object_property()||l(this._flags.last_token.text,["+","-"])&&":"===this._last_last_text&&this._flags.parent.mode===y||this.allow_wrap_or_preserved_newline(e),u(e,"function"))return(l(this._flags.last_token.text,["}",";"])||this._output.just_added_newline()&&!l(this._flags.last_token.text,["(","[","{",":","=",","])&&this._flags.last_token.type!==o.OPERATOR)&&(this._output.just_added_blankline()||e.comments_before||(this.print_newline(),this.print_newline(!0))),this._flags.last_token.type===o.RESERVED||this._flags.last_token.type===o.WORD?d(this._flags.last_token,["get","set","new","export"])||d(this._flags.last_token,F)||u(this._flags.last_token,"default")&&"export"===this._last_last_text||"declare"===this._flags.last_token.text?this._output.space_before_token=!0:this.print_newline():this._flags.last_token.type===o.OPERATOR||"="===this._flags.last_token.text?this._output.space_before_token=!0:(this._flags.multiline_frame||!E(this._flags.mode)&&!_(this._flags.mode))&&this.print_newline(),this.print_token(e),void(this._flags.last_word=e.text);var t="NONE";(this._flags.last_token.type===o.END_BLOCK?this._previous_flags.inline_frame?t="SPACE":d(e,["else","catch","finally","from"])?"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines?t="NEWLINE":(t="SPACE",this._output.space_before_token=!0):t="NEWLINE":this._flags.last_token.type===o.SEMICOLON&&this._flags.mode===m?t="NEWLINE":this._flags.last_token.type===o.SEMICOLON&&E(this._flags.mode)?t="SPACE":this._flags.last_token.type===o.STRING?t="NEWLINE":this._flags.last_token.type===o.RESERVED||this._flags.last_token.type===o.WORD||"*"===this._flags.last_token.text&&(l(this._last_last_text,["function","yield"])||this._flags.mode===y&&l(this._last_last_text,["{",","]))?t="SPACE":this._flags.last_token.type===o.START_BLOCK?t=this._flags.inline_frame?"SPACE":"NEWLINE":this._flags.last_token.type===o.END_EXPR&&(this._output.space_before_token=!0,t="NEWLINE"),d(e,s)&&")"!==this._flags.last_token.text&&(t=this._flags.inline_frame||"else"===this._flags.last_token.text||"export"===this._flags.last_token.text?"SPACE":"NEWLINE"),d(e,["else","catch","finally"]))?(this._flags.last_token.type!==o.END_BLOCK||this._previous_flags.mode!==m||"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines)&&!this._flags.inline_frame?this.print_newline():(this._output.trim(!0),"}"!==this._output.current_line.last()&&this.print_newline(),this._output.space_before_token=!0):"NEWLINE"===t?d(this._flags.last_token,h)||"declare"===this._flags.last_token.text&&d(e,["var","let","const"])?this._output.space_before_token=!0:this._flags.last_token.type!==o.END_EXPR?this._flags.last_token.type===o.START_EXPR&&d(e,["var","let","const"])||":"===this._flags.last_token.text||(u(e,"if")&&u(e.previous,"else")?this._output.space_before_token=!0:this.print_newline()):d(e,s)&&")"!==this._flags.last_token.text&&this.print_newline():this._flags.multiline_frame&&_(this._flags.mode)&&","===this._flags.last_token.text&&"}"===this._last_last_text?this.print_newline():"SPACE"===t&&(this._output.space_before_token=!0);!e.previous||e.previous.type!==o.WORD&&e.previous.type!==o.RESERVED||(this._output.space_before_token=!0),this.print_token(e),this._flags.last_word=e.text,e.type===o.RESERVED&&("do"===e.text?this._flags.do_block=!0:"if"===e.text?this._flags.if_block=!0:"import"===e.text?this._flags.import_block=!0:this._flags.import_block&&u(e,"from")&&(this._flags.import_block=!1))},C.prototype.handle_semicolon=function(e){this.start_of_statement(e)?this._output.space_before_token=!1:this.handle_whitespace_and_comments(e);for(var t=this._tokens.peek();!(this._flags.mode!==g||this._flags.if_block&&u(t,"else")||this._flags.do_block);)this.restore_mode();this._flags.import_block&&(this._flags.import_block=!1),this.print_token(e)},C.prototype.handle_string=function(e){(!e.text.startsWith("`")||0!==e.newlines||""!==e.whitespace_before||")"!==e.previous.text&&this._flags.last_token.type!==o.WORD)&&(this.start_of_statement(e)?this._output.space_before_token=!0:(this.handle_whitespace_and_comments(e),this._flags.last_token.type===o.RESERVED||this._flags.last_token.type===o.WORD||this._flags.inline_frame?this._output.space_before_token=!0:this._flags.last_token.type===o.COMMA||this._flags.last_token.type===o.START_EXPR||this._flags.last_token.type===o.EQUALS||this._flags.last_token.type===o.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e):!e.text.startsWith("`")||this._flags.last_token.type!==o.END_EXPR||"]"!==e.previous.text&&")"!==e.previous.text||0!==e.newlines?this.print_newline():this._output.space_before_token=!0)),this.print_token(e)},C.prototype.handle_equals=function(e){this.start_of_statement(e)||this.handle_whitespace_and_comments(e),this._flags.declaration_statement&&(this._flags.declaration_assignment=!0),this._output.space_before_token=!0,this.print_token(e),this._output.space_before_token=!0},C.prototype.handle_comma=function(e){this.handle_whitespace_and_comments(e,!0),this.print_token(e),this._output.space_before_token=!0,this._flags.declaration_statement?(E(this._flags.parent.mode)&&(this._flags.declaration_assignment=!1),this._flags.declaration_assignment?(this._flags.declaration_assignment=!1,this.print_newline(!1,!0)):this._options.comma_first&&this.allow_wrap_or_preserved_newline(e)):this._flags.mode===y||this._flags.mode===g&&this._flags.parent.mode===y?(this._flags.mode===g&&this.restore_mode(),this._flags.inline_frame||this.print_newline()):this._options.comma_first&&this.allow_wrap_or_preserved_newline(e)},C.prototype.handle_operator=function(e){var t="*"===e.text&&(d(this._flags.last_token,["function","yield"])||l(this._flags.last_token.type,[o.START_BLOCK,o.COMMA,o.END_BLOCK,o.SEMICOLON])),a=l(e.text,["-","+"])&&(l(this._flags.last_token.type,[o.START_BLOCK,o.START_EXPR,o.EQUALS,o.OPERATOR])||l(this._flags.last_token.text,s)||","===this._flags.last_token.text);if(this.start_of_statement(e));else{var n=!t;this.handle_whitespace_and_comments(e,n)}if("*"!==e.text||this._flags.last_token.type!==o.DOT)if("::"!==e.text)if(l(e.text,["-","+"])&&this.start_of_object_property())this.print_token(e);else{if(this._flags.last_token.type===o.OPERATOR&&l(this._options.operator_position,f)&&this.allow_wrap_or_preserved_newline(e),":"===e.text&&this._flags.in_case)return this.print_token(e),this._flags.in_case=!1,this._flags.case_body=!0,void(this._tokens.peek().type!==o.START_BLOCK?(this.indent(),this.print_newline(),this._flags.case_block=!1):(this._flags.case_block=!0,this._output.space_before_token=!0));var r=!0,c=!0,u=!1;if(":"===e.text?0===this._flags.ternary_depth?r=!1:(this._flags.ternary_depth-=1,u=!0):"?"===e.text&&(this._flags.ternary_depth+=1),!a&&!t&&this._options.preserve_newlines&&l(e.text,i)){var y=":"===e.text,v=y&&u,b=y&&!u;switch(this._options.operator_position){case p.before_newline:return this._output.space_before_token=!b,this.print_token(e),y&&!v||this.allow_wrap_or_preserved_newline(e),void(this._output.space_before_token=!0);case p.after_newline:return this._output.space_before_token=!0,!y||v?this._tokens.peek().newlines?this.print_newline(!1,!0):this.allow_wrap_or_preserved_newline(e):this._output.space_before_token=!1,this.print_token(e),void(this._output.space_before_token=!0);case p.preserve_newline:return b||this.allow_wrap_or_preserved_newline(e),r=!(this._output.just_added_newline()||b),this._output.space_before_token=r,this.print_token(e),void(this._output.space_before_token=!0)}}if(t){this.allow_wrap_or_preserved_newline(e),r=!1;var w=this._tokens.peek();c=w&&l(w.type,[o.WORD,o.RESERVED])}else if("..."===e.text)this.allow_wrap_or_preserved_newline(e),r=this._flags.last_token.type===o.START_BLOCK,c=!1;else if(l(e.text,["--","++","!","~"])||a){if(this._flags.last_token.type!==o.COMMA&&this._flags.last_token.type!==o.START_EXPR||this.allow_wrap_or_preserved_newline(e),r=!1,c=!1,e.newlines&&("--"===e.text||"++"===e.text||"~"===e.text)){var x=d(this._flags.last_token,h)&&e.newlines;x&&(this._previous_flags.if_block||this._previous_flags.else_block)&&this.restore_mode(),this.print_newline(x,!0)}";"===this._flags.last_token.text&&E(this._flags.mode)&&(r=!0),this._flags.last_token.type===o.RESERVED?r=!0:this._flags.last_token.type===o.END_EXPR?r=!("]"===this._flags.last_token.text&&("--"===e.text||"++"===e.text)):this._flags.last_token.type===o.OPERATOR&&(r=l(e.text,["--","-","++","+"])&&l(this._flags.last_token.text,["--","-","++","+"]),l(e.text,["+","-"])&&l(this._flags.last_token.text,["--","++"])&&(c=!0)),(this._flags.mode!==m||this._flags.inline_frame)&&this._flags.mode!==g||"{"!==this._flags.last_token.text&&";"!==this._flags.last_token.text||this.print_newline()}this._output.space_before_token=this._output.space_before_token||r,this.print_token(e),this._output.space_before_token=c}else this.print_token(e);else this.print_token(e)},C.prototype.handle_block_comment=function(e,t){return this._output.raw?(this._output.add_raw_token(e),void(e.directives&&"end"===e.directives.preserve&&(this._output.raw=this._options.test_output_raw))):e.directives?(this.print_newline(!1,t),this.print_token(e),"start"===e.directives.preserve&&(this._output.raw=!0),void this.print_newline(!1,!0)):a.newline.test(e.text)||e.newlines?void this.print_block_commment(e,t):(this._output.space_before_token=!0,this.print_token(e),void(this._output.space_before_token=!0))},C.prototype.print_block_commment=function(e,t){var n,r=function(e){for(var t=[],n=(e=e.replace(a.allLineBreaks,"\n")).indexOf("\n");-1!==n;)t.push(e.substring(0,n)),n=(e=e.substring(n+1)).indexOf("\n");return e.length&&t.push(e),t}(e.text),s=!1,i=!1,o=e.whitespace_before,l=o.length;if(this.print_newline(!1,t),this.print_token_line_indentation(e),this._output.add_token(r[0]),this.print_newline(!1,t),r.length>1){for(s=function(e,t){for(var a=0;a0&&this._indentLevel--},u.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._source_text,u=this._options.eol;"auto"===u&&(u="\n",e&&r.test(e||"")&&(u=e.match(r)[0]));var d=(e=e.replace(s,"\n")).match(/^[\t ]*/)[0];this._output=new t(this._options,d),this._input=new a(e),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var h,p,f=0,m=!1,g=!1,y=!1,v=!1,b=!1,w=this._ch,x=!1;h=""!==this._input.read(o),p=w,this._ch=this._input.next(),"\\"===this._ch&&this._input.hasNext()&&(this._ch+=this._input.next()),w=this._ch,this._ch;)if("/"===this._ch&&"*"===this._input.peek()){this._output.add_new_line(),this._input.back();var k=this._input.read(l),_=n.get_directives(k);_&&"start"===_.ignore&&(k+=n.readIgnored(this._input)),this.print_string(k),this.eatWhitespace(!0),this._output.add_new_line()}else if("/"===this._ch&&"/"===this._input.peek())this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(c)),this.eatWhitespace(!0);else if("$"===this._ch){this.preserveSingleSpace(h),this.print_string(this._ch);var E=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);E.match(/[ :]$/)&&(E=this.eatString(": ").replace(/\s+$/,""),this.print_string(E),this._output.space_before_token=!0),0===f&&-1!==E.indexOf(":")&&(g=!0,this.indent())}else if("@"===this._ch)if(this.preserveSingleSpace(h),"{"===this._input.peek())this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var C=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);C.match(/[ :]$/)&&(C=this.eatString(": ").replace(/\s+$/,""),this.print_string(C),this._output.space_before_token=!0),0===f&&-1!==C.indexOf(":")?(g=!0,this.indent()):C in this.NESTED_AT_RULE?(this._nestedLevel+=1,C in this.CONDITIONAL_GROUP_RULE&&(y=!0)):0!==f||g||(v=!0)}else if("#"===this._ch&&"{"===this._input.peek())this.preserveSingleSpace(h),this.print_string(this._ch+this.eatString("}"));else if("{"===this._ch)g&&(g=!1,this.outdent()),v=!1,y?(y=!1,m=this._indentLevel>=this._nestedLevel):m=this._indentLevel>=this._nestedLevel-1,this._options.newline_between_rules&&m&&this._output.previous_line&&"{"!==this._output.previous_line.item(-1)&&this._output.ensure_empty_line_above("/",","),this._output.space_before_token=!0,"expand"===this._options.brace_style?(this._output.add_new_line(),this.print_string(this._ch),this.indent(),this._output.set_indent(this._indentLevel)):("("===p?this._output.space_before_token=!1:","!==p&&this.indent(),this.print_string(this._ch)),this.eatWhitespace(!0),this._output.add_new_line();else if("}"===this._ch)this.outdent(),this._output.add_new_line(),"{"===p&&this._output.trim(!0),g&&(this.outdent(),g=!1),this.print_string(this._ch),m=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&"}"!==this._input.peek()&&this._output.add_new_line(!0),")"===this._input.peek()&&(this._output.trim(!0),"expand"===this._options.brace_style&&this._output.add_new_line(!0));else if(":"===this._ch){for(var F=0;F"!==this._ch&&"+"!==this._ch&&"~"!==this._ch||g||0!==f)if("]"===this._ch)this.print_string(this._ch);else if("["===this._ch)this.preserveSingleSpace(h),this.print_string(this._ch);else if("="===this._ch)this.eatWhitespace(),this.print_string("="),i.test(this._ch)&&(this._ch="");else if("!"!==this._ch||this._input.lookBack("\\")){var T='"'===p||"'"===p;this.preserveSingleSpace(T||h),this.print_string(this._ch),!this._output.just_added_newline()&&"\n"===this._input.peek()&&x&&this._output.add_new_line()}else this._output.space_before_token=!0,this.print_string(this._ch);else this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&i.test(this._ch)&&(this._ch=""));return this._output.get_code(u)},oR.Beautifier=u,oR}().Beautifier,t=cR().Options;return iR.exports=function(t,a){return new e(t,a).beautify()},iR.exports.defaultOptions=function(){return new t},iR.exports}var dR,hR={exports:{}},pR={},fR={};function mR(){if(dR)return fR;dR=1;var e=SL().Options;function t(t){e.call(this,t,"html"),1===this.templating.length&&"auto"===this.templating[0]&&(this.templating=["django","erb","handlebars","php"]),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple","preserve","preserve-aligned"]),this.wrap_attributes_min_attrs=this._get_number("wrap_attributes_min_attrs",2),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","big","strike","tt"]),this.inline_custom_elements=this._get_boolean("inline_custom_elements",!0),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.unformatted_content_delimiter=this._get_characters("unformatted_content_delimiter"),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}return t.prototype=new e,fR.Options=t,fR}var gR,yR,vR,bR,wR,xR={};function kR(){if(gR)return xR;gR=1;var e=GL().Tokenizer,t=GL().TOKEN,a=KL().Directives,n=eR().TemplatablePattern,r=YL().Pattern,s={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",CONTROL_FLOW_OPEN:"TK_CONTROL_FLOW_OPEN",CONTROL_FLOW_CLOSE:"TK_CONTROL_FLOW_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:t.START,RAW:t.RAW,EOF:t.EOF},i=new a(/<\!--/,/-->/),o=function(t,a){e.call(this,t,a),this._current_tag_name="";var s=new n(this._input).read_options(this._options),i=new r(this._input);if(this.__patterns={word:s.until(/[\n\r\t <]/),word_control_flow_close_excluded:s.until(/[\n\r\t <}]/),single_quote:s.until_after(/'/),double_quote:s.until_after(/"/),attribute:s.until(/[\n\r\t =>]|\/>/),element_name:s.until(/[\n\r\t >\/]/),angular_control_flow_start:i.matching(/\@[a-zA-Z]+[^({]*[({]/),handlebars_comment:i.starting_with(/{{!--/).until_after(/--}}/),handlebars:i.starting_with(/{{/).until_after(/}}/),handlebars_open:i.until(/[\n\r\t }]/),handlebars_raw_close:i.until(/}}/),comment:i.starting_with(//),cdata:i.starting_with(//),conditional_comment:i.starting_with(//),processing:i.starting_with(/<\?/).until_after(/\?>/)},this._options.indent_handlebars&&(this.__patterns.word=this.__patterns.word.exclude("handlebars"),this.__patterns.word_control_flow_close_excluded=this.__patterns.word_control_flow_close_excluded.exclude("handlebars")),this._unformatted_content_delimiter=null,this._options.unformatted_content_delimiter){var o=this._input.get_literal_regexp(this._options.unformatted_content_delimiter);this.__patterns.unformatted_content_delimiter=i.matching(o).until_after(o)}};return(o.prototype=new e)._is_comment=function(e){return!1},o.prototype._is_opening=function(e){return e.type===s.TAG_OPEN||e.type===s.CONTROL_FLOW_OPEN},o.prototype._is_closing=function(e,t){return e.type===s.TAG_CLOSE&&t&&((">"===e.text||"/>"===e.text)&&"<"===t.text[0]||"}}"===e.text&&"{"===t.text[0]&&"{"===t.text[1])||e.type===s.CONTROL_FLOW_CLOSE&&"}"===e.text&&t.text.endsWith("{")},o.prototype._reset=function(){this._current_tag_name=""},o.prototype._get_next_token=function(e,t){var a=null;this._readWhitespace();var n=this._input.peek();return null===n?this._create_token(s.EOF,""):a=(a=(a=(a=(a=(a=(a=(a=(a=(a=(a=a||this._read_open_handlebars(n,t))||this._read_attribute(n,e,t))||this._read_close(n,t))||this._read_script_and_style(n,e))||this._read_control_flows(n,t))||this._read_raw_content(n,e,t))||this._read_content_word(n,t))||this._read_comment_or_cdata(n))||this._read_processing(n))||this._read_open(n,t))||this._create_token(s.UNKNOWN,this._input.next())},o.prototype._read_comment_or_cdata=function(e){var t=null,a=null,n=null;"<"===e&&("!"===this._input.peek(1)&&((a=this.__patterns.comment.read())?(n=i.get_directives(a))&&"start"===n.ignore&&(a+=i.readIgnored(this._input)):a=this.__patterns.cdata.read()),a&&((t=this._create_token(s.COMMENT,a)).directives=n));return t},o.prototype._read_processing=function(e){var t=null,a=null;if("<"===e){var n=this._input.peek(1);"!"!==n&&"?"!==n||(a=(a=this.__patterns.conditional_comment.read())||this.__patterns.processing.read()),a&&((t=this._create_token(s.COMMENT,a)).directives=null)}return t},o.prototype._read_open=function(e,t){var a=null,n=null;return t&&t.type!==s.CONTROL_FLOW_OPEN||"<"===e&&(a=this._input.next(),"/"===this._input.peek()&&(a+=this._input.next()),a+=this.__patterns.element_name.read(),n=this._create_token(s.TAG_OPEN,a)),n},o.prototype._read_open_handlebars=function(e,t){var a=null,n=null;return t&&t.type!==s.CONTROL_FLOW_OPEN||(this._options.templating.includes("angular")||this._options.indent_handlebars)&&"{"===e&&"{"===this._input.peek(1)&&(this._options.indent_handlebars&&"!"===this._input.peek(2)?(a=(a=this.__patterns.handlebars_comment.read())||this.__patterns.handlebars.read(),n=this._create_token(s.COMMENT,a)):(a=this.__patterns.handlebars_open.read(),n=this._create_token(s.TAG_OPEN,a))),n},o.prototype._read_control_flows=function(e,t){var a="",n=null;if(!this._options.templating.includes("angular"))return n;if("@"===e){if(""===(a=this.__patterns.angular_control_flow_start.read()))return n;for(var r=a.endsWith("(")?1:0,i=0;!a.endsWith("{")||r!==i;){var o=this._input.next();if(null===o)break;"("===o?r++:")"===o&&i++,a+=o}n=this._create_token(s.CONTROL_FLOW_OPEN,a)}else"}"===e&&t&&t.type===s.CONTROL_FLOW_OPEN&&(a=this._input.next(),n=this._create_token(s.CONTROL_FLOW_CLOSE,a));return n},o.prototype._read_close=function(e,t){var a=null,n=null;return t&&t.type===s.TAG_OPEN&&("<"===t.text[0]&&(">"===e||"/"===e&&">"===this._input.peek(1))?(a=this._input.next(),"/"===e&&(a+=this._input.next()),n=this._create_token(s.TAG_CLOSE,a)):"{"===t.text[0]&&"}"===e&&"}"===this._input.peek(1)&&(this._input.next(),this._input.next(),n=this._create_token(s.TAG_CLOSE,"}}"))),n},o.prototype._read_attribute=function(e,t,a){var n=null,r="";if(a&&"<"===a.text[0])if("="===e)n=this._create_token(s.EQUALS,this._input.next());else if('"'===e||"'"===e){var i=this._input.next();i+='"'===e?this.__patterns.double_quote.read():this.__patterns.single_quote.read(),n=this._create_token(s.VALUE,i)}else(r=this.__patterns.attribute.read())&&(n=t.type===s.EQUALS?this._create_token(s.VALUE,r):this._create_token(s.ATTRIBUTE,r));return n},o.prototype._is_content_unformatted=function(e){return-1===this._options.void_elements.indexOf(e)&&(-1!==this._options.content_unformatted.indexOf(e)||-1!==this._options.unformatted.indexOf(e))},o.prototype._read_raw_content=function(e,t,a){var n="";if(a&&"{"===a.text[0])n=this.__patterns.handlebars_raw_close.read();else if(t.type===s.TAG_CLOSE&&"<"===t.opened.text[0]&&"/"!==t.text[0]){var r=t.opened.text.substr(1).toLowerCase();this._is_content_unformatted(r)&&(n=this._input.readUntil(new RegExp("","ig")))}return n?this._create_token(s.TEXT,n):null},o.prototype._read_script_and_style=function(e,t){if(t.type===s.TAG_CLOSE&&"<"===t.opened.text[0]&&"/"!==t.text[0]){var a=t.opened.text.substr(1).toLowerCase();if("script"===a||"style"===a){var n=this._read_comment_or_cdata(e);if(n)return n.type=s.TEXT,n;var r=this._input.readUntil(new RegExp("","ig"));if(r)return this._create_token(s.TEXT,r)}}return null},o.prototype._read_content_word=function(e,t){var a="";return this._options.unformatted_content_delimiter&&e===this._options.unformatted_content_delimiter[0]&&(a=this.__patterns.unformatted_content_delimiter.read()),a||(a=t&&t.type===s.CONTROL_FLOW_OPEN?this.__patterns.word_control_flow_close_excluded.read():this.__patterns.word.read()),a?this._create_token(s.TEXT,a):null},xR.Tokenizer=o,xR.TOKEN=s,xR}function _R(){if(yR)return pR;yR=1;var e=mR().Options,t=bL().Output,a=kR().Tokenizer,n=kR().TOKEN,r=/\r\n|[\r\n]/,s=/\r\n|[\r\n]/g,i=function(e,a){this.indent_level=0,this.alignment_size=0,this.max_preserve_newlines=e.max_preserve_newlines,this.preserve_newlines=e.preserve_newlines,this._output=new t(e,a)};i.prototype.current_line_has_match=function(e){return this._output.current_line.has_match(e)},i.prototype.set_space_before_token=function(e,t){this._output.space_before_token=e,this._output.non_breaking_space=t},i.prototype.set_wrap_point=function(){this._output.set_indent(this.indent_level,this.alignment_size),this._output.set_wrap_point()},i.prototype.add_raw_token=function(e){this._output.add_raw_token(e)},i.prototype.print_preserved_newlines=function(e){var t=0;e.type!==n.TEXT&&e.previous.type!==n.TEXT&&(t=e.newlines?1:0),this.preserve_newlines&&(t=e.newlines0);return 0!==t},i.prototype.traverse_whitespace=function(e){return!(!e.whitespace_before&&!e.newlines)&&(this.print_preserved_newlines(e)||(this._output.space_before_token=!0),!0)},i.prototype.previous_token_wrapped=function(){return this._output.previous_token_wrapped},i.prototype.print_newline=function(e){this._output.add_new_line(e)},i.prototype.print_token=function(e){e.text&&(this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(e.text))},i.prototype.indent=function(){this.indent_level++},i.prototype.deindent=function(){this.indent_level>0&&(this.indent_level--,this._output.set_indent(this.indent_level,this.alignment_size))},i.prototype.get_full_indent=function(e){return(e=this.indent_level+(e||0))<1?"":this._output.get_indent_string(e)};var o=function(e,t){var a=null,r=null;return t.closed?("script"===e?a="text/javascript":"style"===e&&(a="text/css"),a=function(e){for(var t=null,a=e.next;a.type!==n.EOF&&e.closed!==a;){if(a.type===n.ATTRIBUTE&&"type"===a.text){a.next&&a.next.type===n.EQUALS&&a.next.next&&a.next.next.type===n.VALUE&&(t=a.next.next.text);break}a=a.next}return t}(t)||a,a.search("text/css")>-1?r="css":a.search(/module|((text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect))/)>-1?r="javascript":a.search(/(text|application|dojo)\/(x-)?(html)/)>-1?r="html":a.search(/test\/null/)>-1&&(r="null"),r):null};function l(e,t){return-1!==t.indexOf(e)}function c(e,t,a){this.parent=e||null,this.tag=t?t.tag_name:"",this.indent_level=a||0,this.parser_token=t||null}function u(e){this._printer=e,this._current_frame=null}function d(t,a,n,r){this._source_text=t||"",a=a||{},this._js_beautify=n,this._css_beautify=r,this._tag_stack=null;var s=new e(a,"html");this._options=s,this._is_wrap_attributes_force="force"===this._options.wrap_attributes.substr(0,5),this._is_wrap_attributes_force_expand_multiline="force-expand-multiline"===this._options.wrap_attributes,this._is_wrap_attributes_force_aligned="force-aligned"===this._options.wrap_attributes,this._is_wrap_attributes_aligned_multiple="aligned-multiple"===this._options.wrap_attributes,this._is_wrap_attributes_preserve="preserve"===this._options.wrap_attributes.substr(0,8),this._is_wrap_attributes_preserve_aligned="preserve-aligned"===this._options.wrap_attributes}u.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},u.prototype.record_tag=function(e){var t=new c(this._current_frame,e,this._printer.indent_level);this._current_frame=t},u.prototype._try_pop_frame=function(e){var t=null;return e&&(t=e.parser_token,this._printer.indent_level=e.indent_level,this._current_frame=e.parent),t},u.prototype._get_frame=function(e,t){for(var a=this._current_frame;a&&-1===e.indexOf(a.tag);){if(t&&-1!==t.indexOf(a.tag)){a=null;break}a=a.parent}return a},u.prototype.try_pop=function(e,t){var a=this._get_frame([e],t);return this._try_pop_frame(a)},u.prototype.indent_to_tag=function(e){var t=this._get_frame(e);t&&(this._printer.indent_level=t.indent_level)},d.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._source_text,t=this._options.eol;"auto"===this._options.eol&&(t="\n",e&&r.test(e)&&(t=e.match(r)[0]));var o=(e=e.replace(s,"\n")).match(/^[\t ]*/)[0],l={text:"",type:""},c=new h(this._options),d=new i(this._options,o),p=new a(e,this._options).tokenize();this._tag_stack=new u(d);for(var f=null,m=p.next();m.type!==n.EOF;)m.type===n.TAG_OPEN||m.type===n.COMMENT?c=f=this._handle_tag_open(d,m,c,l,p):m.type===n.ATTRIBUTE||m.type===n.EQUALS||m.type===n.VALUE||m.type===n.TEXT&&!c.tag_complete?f=this._handle_inside_tag(d,m,c,l):m.type===n.TAG_CLOSE?f=this._handle_tag_close(d,m,c):m.type===n.TEXT?f=this._handle_text(d,m,c):m.type===n.CONTROL_FLOW_OPEN?f=this._handle_control_flow_open(d,m):m.type===n.CONTROL_FLOW_CLOSE?f=this._handle_control_flow_close(d,m):d.add_raw_token(m),l=f,m=p.next();return d._output.get_code(t)},d.prototype._handle_control_flow_open=function(e,t){var a={text:t.text,type:t.type};return e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),t.newlines?e.print_preserved_newlines(t):e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),e.print_token(t),e.indent(),a},d.prototype._handle_control_flow_close=function(e,t){var a={text:t.text,type:t.type};return e.deindent(),t.newlines?e.print_preserved_newlines(t):e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),e.print_token(t),a},d.prototype._handle_tag_close=function(e,t,a){var n={text:t.text,type:t.type};return e.alignment_size=0,a.tag_complete=!0,e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),a.is_unformatted?e.add_raw_token(t):("<"===a.tag_start_char&&(e.set_space_before_token("/"===t.text[0],!0),this._is_wrap_attributes_force_expand_multiline&&a.has_wrapped_attrs&&e.print_newline(!1)),e.print_token(t)),!a.indent_content||a.is_unformatted||a.is_content_unformatted||(e.indent(),a.indent_content=!1),a.is_inline_element||a.is_unformatted||a.is_content_unformatted||e.set_wrap_point(),n},d.prototype._handle_inside_tag=function(e,t,a,r){var s=a.has_wrapped_attrs,i={text:t.text,type:t.type};return e.set_space_before_token(t.newlines||""!==t.whitespace_before,!0),a.is_unformatted?e.add_raw_token(t):"{"===a.tag_start_char&&t.type===n.TEXT?e.print_preserved_newlines(t)?(t.newlines=0,e.add_raw_token(t)):e.print_token(t):(t.type===n.ATTRIBUTE?e.set_space_before_token(!0):(t.type===n.EQUALS||t.type===n.VALUE&&t.previous.type===n.EQUALS)&&e.set_space_before_token(!1),t.type===n.ATTRIBUTE&&"<"===a.tag_start_char&&((this._is_wrap_attributes_preserve||this._is_wrap_attributes_preserve_aligned)&&(e.traverse_whitespace(t),s=s||0!==t.newlines),this._is_wrap_attributes_force&&a.attr_count>=this._options.wrap_attributes_min_attrs&&(r.type!==n.TAG_OPEN||this._is_wrap_attributes_force_expand_multiline)&&(e.print_newline(!1),s=!0)),e.print_token(t),s=s||e.previous_token_wrapped(),a.has_wrapped_attrs=s),i},d.prototype._handle_text=function(e,t,a){var n={text:t.text,type:"TK_CONTENT"};return a.custom_beautifier_name?this._print_custom_beatifier_text(e,t,a):a.is_unformatted||a.is_content_unformatted?e.add_raw_token(t):(e.traverse_whitespace(t),e.print_token(t)),n},d.prototype._print_custom_beatifier_text=function(e,t,a){var n=this;if(""!==t.text){var r,s=t.text,i=1,o="",l="";"javascript"===a.custom_beautifier_name&&"function"==typeof this._js_beautify?r=this._js_beautify:"css"===a.custom_beautifier_name&&"function"==typeof this._css_beautify?r=this._css_beautify:"html"===a.custom_beautifier_name&&(r=function(e,t){return new d(e,t,n._js_beautify,n._css_beautify).beautify()}),"keep"===this._options.indent_scripts?i=0:"separate"===this._options.indent_scripts&&(i=-e.indent_level);var c=e.get_full_indent(i);if(s=s.replace(/\n[ \t]*$/,""),"html"!==a.custom_beautifier_name&&"<"===s[0]&&s.match(/^(|]]>)$/.exec(s);if(!u)return void e.add_raw_token(t);o=c+u[1]+"\n",s=u[4],u[5]&&(l=c+u[5]),s=s.replace(/\n[ \t]*$/,""),(u[2]||-1!==u[3].indexOf("\n"))&&(u=u[3].match(/[ \t]+$/))&&(t.whitespace_before=u[0])}if(s)if(r){var h=function(){this.eol="\n"};h.prototype=this._options.raw_options,s=r(c+s,new h)}else{var p=t.whitespace_before;p&&(s=s.replace(new RegExp("\n("+p+")?","g"),"\n")),s=c+s.replace(/\n/g,"\n"+c)}o&&(s=s?o+s+"\n"+l:o+l),e.print_newline(!1),s&&(t.text=s,t.whitespace_before="",t.newlines=0,e.add_raw_token(t),e.print_newline(!0))}},d.prototype._handle_tag_open=function(e,t,a,r,s){var i=this._get_tag_open_token(t);if(!a.is_unformatted&&!a.is_content_unformatted||a.is_empty_element||t.type!==n.TAG_OPEN||i.is_start_tag?(e.traverse_whitespace(t),this._set_tag_position(e,t,i,a,r),i.is_inline_element||e.set_wrap_point(),e.print_token(t)):(e.add_raw_token(t),i.start_tag_token=this._tag_stack.try_pop(i.tag_name)),i.is_start_tag&&this._is_wrap_attributes_force){var o,l=0;do{(o=s.peek(l)).type===n.ATTRIBUTE&&(i.attr_count+=1),l+=1}while(o.type!==n.EOF&&o.type!==n.TAG_CLOSE)}return(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple||this._is_wrap_attributes_preserve_aligned)&&(i.alignment_size=t.text.length+1),i.tag_complete||i.is_unformatted||(e.alignment_size=i.alignment_size),i};var h=function(e,t,a){if(this.parent=t||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier_name=null,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",a){var r;this.tag_start_char=a.text[0],this.text=a.text,"<"===this.tag_start_char?(r=a.text.match(/^<([^\s>]*)/),this.tag_check=r?r[1]:""):(r=a.text.match(/^{{~?(?:[\^]|#\*?)?([^\s}]+)/),this.tag_check=r?r[1]:"",(a.text.startsWith("{{#>")||a.text.startsWith("{{~#>"))&&">"===this.tag_check[0]&&(">"===this.tag_check&&null!==a.next?this.tag_check=a.next.text.split(" ")[0]:this.tag_check=a.text.split(">")[1])),this.tag_check=this.tag_check.toLowerCase(),a.type===n.COMMENT&&(this.tag_complete=!0),this.is_start_tag="/"!==this.tag_check.charAt(0),this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||a.closed&&"/>"===a.closed.text;var s=2;"{"===this.tag_start_char&&this.text.length>=3&&"~"===this.text.charAt(2)&&(s=3),this.is_end_tag=this.is_end_tag||"{"===this.tag_start_char&&(!e.indent_handlebars||this.text.length<3||/[^#\^]/.test(this.text.charAt(s)))}else this.tag_complete=!0};d.prototype._get_tag_open_token=function(e){var t=new h(this._options,this._tag_stack.get_parser_token(),e);return t.alignment_size=this._options.wrap_attributes_indent_size,t.is_end_tag=t.is_end_tag||l(t.tag_check,this._options.void_elements),t.is_empty_element=t.tag_complete||t.is_start_tag&&t.is_end_tag,t.is_unformatted=!t.tag_complete&&l(t.tag_check,this._options.unformatted),t.is_content_unformatted=!t.is_empty_element&&l(t.tag_check,this._options.content_unformatted),t.is_inline_element=l(t.tag_name,this._options.inline)||this._options.inline_custom_elements&&t.tag_name.includes("-")||"{"===t.tag_start_char,t},d.prototype._set_tag_position=function(e,t,a,r,s){if(a.is_empty_element||(a.is_end_tag?a.start_tag_token=this._tag_stack.try_pop(a.tag_name):(this._do_optional_end_element(a)&&(a.is_inline_element||e.print_newline(!1)),this._tag_stack.record_tag(a),"script"!==a.tag_name&&"style"!==a.tag_name||a.is_unformatted||a.is_content_unformatted||(a.custom_beautifier_name=o(a.tag_check,t)))),l(a.tag_check,this._options.extra_liners)&&(e.print_newline(!1),e._output.just_added_blankline()||e.print_newline(!0)),a.is_empty_element){if("{"===a.tag_start_char&&"else"===a.tag_check)this._tag_stack.indent_to_tag(["if","unless","each"]),a.indent_content=!0,e.current_line_has_match(/{{#if/)||e.print_newline(!1);"!--"===a.tag_name&&s.type===n.TAG_CLOSE&&r.is_end_tag&&-1===a.text.indexOf("\n")||(a.is_inline_element||a.is_unformatted||e.print_newline(!1),this._calcluate_parent_multiline(e,a))}else if(a.is_end_tag){var i=!1;i=(i=a.start_tag_token&&a.start_tag_token.multiline_content)||!a.is_inline_element&&!(r.is_inline_element||r.is_unformatted)&&!(s.type===n.TAG_CLOSE&&a.start_tag_token===r)&&"TK_CONTENT"!==s.type,(a.is_content_unformatted||a.is_unformatted)&&(i=!1),i&&e.print_newline(!1)}else a.indent_content=!a.custom_beautifier_name,"<"===a.tag_start_char&&("html"===a.tag_name?a.indent_content=this._options.indent_inner_html:"head"===a.tag_name?a.indent_content=this._options.indent_head_inner_html:"body"===a.tag_name&&(a.indent_content=this._options.indent_body_inner_html)),a.is_inline_element||a.is_unformatted||"TK_CONTENT"===s.type&&!a.is_content_unformatted||e.print_newline(!1),this._calcluate_parent_multiline(e,a)},d.prototype._calcluate_parent_multiline=function(e,t){!t.parent||!e._output.just_added_newline()||(t.is_inline_element||t.is_unformatted)&&t.parent.is_inline_element||(t.parent.multiline_content=!0)};var p=["address","article","aside","blockquote","details","div","dl","fieldset","figcaption","figure","footer","form","h1","h2","h3","h4","h5","h6","header","hr","main","menu","nav","ol","p","pre","section","table","ul"],f=["a","audio","del","ins","map","noscript","video"];return d.prototype._do_optional_end_element=function(e){var t=null;if(!e.is_empty_element&&e.is_start_tag&&e.parent){if("body"===e.tag_name)t=t||this._tag_stack.try_pop("head");else if("li"===e.tag_name)t=t||this._tag_stack.try_pop("li",["ol","ul","menu"]);else if("dd"===e.tag_name||"dt"===e.tag_name)t=(t=t||this._tag_stack.try_pop("dt",["dl"]))||this._tag_stack.try_pop("dd",["dl"]);else if("p"===e.parent.tag_name&&-1!==p.indexOf(e.tag_name)){var a=e.parent.parent;a&&-1!==f.indexOf(a.tag_name)||(t=t||this._tag_stack.try_pop("p"))}else"rp"===e.tag_name||"rt"===e.tag_name?t=(t=t||this._tag_stack.try_pop("rt",["ruby","rtc"]))||this._tag_stack.try_pop("rp",["ruby","rtc"]):"optgroup"===e.tag_name?t=t||this._tag_stack.try_pop("optgroup",["select"]):"option"===e.tag_name?t=t||this._tag_stack.try_pop("option",["select","datalist","optgroup"]):"colgroup"===e.tag_name?t=t||this._tag_stack.try_pop("caption",["table"]):"thead"===e.tag_name?t=(t=t||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]):"tbody"===e.tag_name||"tfoot"===e.tag_name?t=(t=(t=(t=t||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]))||this._tag_stack.try_pop("thead",["table"]))||this._tag_stack.try_pop("tbody",["table"]):"tr"===e.tag_name?t=(t=(t=t||this._tag_stack.try_pop("caption",["table"]))||this._tag_stack.try_pop("colgroup",["table"]))||this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"]):"th"!==e.tag_name&&"td"!==e.tag_name||(t=(t=t||this._tag_stack.try_pop("td",["table","thead","tbody","tfoot","tr"]))||this._tag_stack.try_pop("th",["table","thead","tbody","tfoot","tr"]));return e.parent=this._tag_stack.get_parser_token(),t}},pR.Beautifier=d,pR}function ER(){if(bR)return mL;bR=1;var e=function(){if(XL)return gL.exports;XL=1;var e=aR().Beautifier,t=IL().Options;return gL.exports=function(t,a){return new e(t,a).beautify()},gL.exports.defaultOptions=function(){return new t},gL.exports}(),t=uR(),a=function(){if(vR)return hR.exports;vR=1;var e=_R().Beautifier,t=mR().Options;return hR.exports=function(t,a,n,r){return new e(t,a,n,r).beautify()},hR.exports.defaultOptions=function(){return new t},hR.exports}();function n(n,r,s,i){return a(n,r,s=s||e,i=i||t)}return n.defaultOptions=a.defaultOptions,mL.js=e,mL.css=t,mL.html=n,mL}var CR,FR,DR,AR,TR,SR,IR=(wR||(wR=1,CR=fL,(SR=ER()).js_beautify=SR.js,SR.css_beautify=SR.css,SR.html_beautify=SR.html,CR.exports=(DR=SR,AR=SR,(TR=function(e,t){return FR.js_beautify(e,t)}).js=(FR=SR).js_beautify,TR.css=DR.css_beautify,TR.html=AR.html_beautify,TR.js_beautify=FR.js_beautify,TR.css_beautify=DR.css_beautify,TR.html_beautify=AR.html_beautify,TR)),fL.exports);const NR={class:"code-formatter"},PR={class:"language-selector"},BR={class:"formatter-content"},MR={class:"main-workspace"},OR={class:"input-section"},UR={class:"section-header"},jR={class:"header-right"},LR={class:"operation-buttons"},RR=["disabled"],zR=["disabled"],HR=["disabled"],$R={class:"code-editor"},YR=["placeholder"],GR={class:"section-footer"},WR={class:"stats-info"},VR={class:"stat-item"},KR={class:"stat-item"},JR={class:"stat-item"},qR={class:"output-section"},ZR={class:"section-header"},XR={class:"header-right"},QR={key:0,class:"config-section"},ez={class:"code-editor"},tz={key:1,class:"empty-output"},az={key:0,class:"section-footer"},nz={class:"stats-info"},rz={class:"stat-item"},sz={class:"stat-item"},iz={key:0,class:"stat-item compression"},oz={key:1,class:"section-footer"},lz=$a({__name:"CodeFormatter",emits:["back"],setup(e){il("code-formatter");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),{downloadText:r}=ol(),s=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"code-formatter"===e.id);if(t)return t.title}return"JS/HTML格式化工具"}),i=St("html"),o=St(""),l=St(""),c=St(!1),u=St({indent:"tabs"}),d=St({lines:0,characters:0,bytes:0}),h=St({lines:0,characters:0,bytes:0}),p=is(()=>{if(!o.value||!l.value)return 0;const e=new Blob([o.value]).size,t=new Blob([l.value]).size;return Math.round((e-t)/e*100)}),f=()=>{switch(i.value){case"javascript":return'function hello() {\nconsole.log("Hello World!");\n}';case"html":return"\n\n\nTitle\n\n\n

    Hello World!

    \n\n";case"css":return"body {\nmargin: 0;\npadding: 0;\nfont-family: Arial, sans-serif;\n}";default:return"请输入代码..."}},m=async()=>{await Zt(),o.value.trim()&&setTimeout(()=>{F()},100)},g=()=>{const e=o.value;d.value={lines:e?e.split("\n").length:0,characters:e.length,bytes:new Blob([e]).size}},y=()=>{const e=l.value;h.value={lines:e?e.split("\n").length:0,characters:e.length,bytes:new Blob([e]).size}},v=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(1))+" "+["B","KB","MB"][t]},b=()=>{l.value="",y(),t("已清空输出")},w=()=>{const e=document.createElement("input");e.type="file",e.accept=".js,.html,.css,.txt,.json,.xml,.vue,.ts,.jsx,.tsx",e.onchange=e=>{const n=e.target.files?.[0];if(!n)return;const r=n.name.split(".").pop()?.toLowerCase();if(r)switch(r){case"js":case"jsx":case"ts":case"tsx":case"json":i.value="javascript";break;case"html":case"htm":case"vue":case"xml":i.value="html";break;case"css":case"scss":case"sass":case"less":i.value="css"}const s=new FileReader;s.onload=e=>{const a=e.target?.result;o.value=a,g(),t(`已导入文件: ${n.name}`)},s.onerror=()=>{a("文件读取失败")},s.readAsText(n)},e.click()},x=async()=>{if(!l.value)return void a("没有可复制的内容");await n(l.value)?t("已复制到剪贴板"):a("复制失败")},k=()=>{if(!l.value)return void a("没有可下载的内容");const e="javascript"===i.value?"js":i.value;r(l.value,"formatted_code",e),t("文件下载已开始")},_=async()=>{try{const e=document.querySelector(".output-section");if(!e)return;document.fullscreenElement?(await document.exitFullscreen(),c.value=!1):(await e.requestFullscreen(),c.value=!0)}catch(e){console.error("全屏操作失败:",e),a("全屏功能不支持或被阻止")}},E=e=>{"Escape"===e.key&&document.fullscreenElement&&(async()=>{try{document.fullscreenElement&&await document.exitFullscreen(),c.value=!1}catch(e){console.error("退出全屏失败:",e)}})()},C=()=>{c.value=!!document.fullscreenElement,document.fullscreenElement?document.addEventListener("keydown",E):document.removeEventListener("keydown",E)},F=async()=>{if(o.value.trim())try{let a="";const n="tabs"===u.value.indent,r=n?4:parseInt(u.value.indent.split("-")[1]||"4");if(console.log("格式化配置:",{indentSize:r,useTabs:n,language:i.value}),"html"===i.value)try{a=IR.html(o.value,{indent_size:n?1:r,indent_char:n?"\t":" ",max_preserve_newlines:2,preserve_newlines:!0,wrap_line_length:120,indent_inner_html:!0,indent_scripts:"keep",end_with_newline:!1,extra_liners:["head","body","/html"]})}catch(e){a=D(o.value,r,n)}else if("css"===i.value)try{a=await tL(o.value,{parser:"css",plugins:[hL],tabWidth:n?4:r,useTabs:n,semi:!0,singleQuote:!1,printWidth:120})}catch(e){a=A(o.value,r,n)}else try{a=await tL(o.value,{parser:"babel",plugins:[lL],tabWidth:n?4:r,useTabs:n,semi:!0,singleQuote:!0,trailingComma:"es5",bracketSpacing:!0,arrowParens:"avoid",printWidth:120})}catch(e){a=T(o.value,r,n)}l.value=a,y(),t("代码格式化完成")}catch(e){console.error("格式化错误:",e);const t=e.message;t.includes("languages")?a("格式化失败: 代码格式化器初始化错误,请刷新页面重试"):a(`格式化失败: ${t}`)}else a("请输入代码")},D=(e,t,a)=>{const n=a?"\t":" ".repeat(t);let r="",s=0;const i=e.split(/>\s*{t>0&&(e="<"+e),t"),e.includes("")||s++}),r.trim()},A=(e,t,a)=>{const n=a?"\t":" ".repeat(t);return e.replace(/\s*{\s*/g," {\n"+n).replace(/;\s*/g,";\n"+n).replace(/\s*}\s*/g,"\n}\n").replace(/,\s*/g,",\n").trim()},T=(e,t,a)=>{const n=a?"\t":" ".repeat(t);let r="",s=0;for(let i=0;i{if(o.value.trim())try{let e="";e="html"===i.value?o.value.replace(//g,"").replace(/\s+/g," ").replace(/>\s+<").trim():"css"===i.value?o.value.replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*;\s*/g,";").replace(/\s*:\s*/g,":").replace(/\s*,\s*/g,",").trim():o.value.replace(/\/\/.*$/gm,"").replace(/\/\*[\s\S]*?\*\//g,"").replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*,\s*/g,",").replace(/\s*;\s*/g,";").replace(/\s*\(\s*/g,"(").replace(/\s*\)\s*/g,")").trim(),l.value=e,y(),t("代码压缩完成")}catch(e){a("压缩失败")}else a("请输入代码")},I=async()=>{if(o.value.trim())try{let s=!1,l="";if("javascript"===i.value)try{new Function(o.value),s=!0}catch(e){try{await tL(o.value,{parser:"babel",plugins:[lL],printWidth:80,tabWidth:2,useTabs:!1,semi:!0,singleQuote:!0}),s=!0}catch(n){l=e.message}}else if("html"===i.value)try{const e=(new DOMParser).parseFromString(o.value,"text/html");0===e.querySelectorAll("parsererror").length?s=!0:l="HTML 语法错误"}catch(r){l=r.message}else if("css"===i.value)try{const e=document.createElement("style");e.textContent=o.value,document.head.appendChild(e),document.head.removeChild(e),s=!0}catch(r){l=r.message}s?t("代码验证通过"):a(`代码验证失败: ${l}`)}catch(r){console.error("验证错误:",r),a("代码验证失败: 验证器错误")}else a("请输入代码")};return o.value&&g(),l.value&&y(),pa(u,(e,t)=>{console.log("缩进配置变化:",{old:t,new:e,hasOutput:!!l.value,hasInput:!!o.value.trim()}),l.value&&o.value.trim()&&(console.log("开始重新格式化..."),F())},{deep:!0}),nn(()=>{document.addEventListener("fullscreenchange",C)}),ln(()=>{document.removeEventListener("fullscreenchange",C),document.removeEventListener("keydown",E)}),(e,t)=>(Cr(),Tr("div",NR,[Or(hl,{title:s.value,onBack:t[1]||(t[1]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",PR,[ca(Mr("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>i.value=e),class:"language-select"},[...t[4]||(t[4]=[Mr("option",{value:"javascript"},"JavaScript",-1),Mr("option",{value:"html"},"HTML",-1),Mr("option",{value:"css"},"CSS",-1)])],512),[[_i,i.value]])]),Or(jl,{icon:"copy",tooltip:"复制结果",onClick:x,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空结果",onClick:b,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载结果",onClick:k,disabled:!l.value},null,8,["disabled"])]),_:1},8,["title"]),Mr("div",BR,[Mr("div",MR,[Mr("div",OR,[Mr("div",UR,[t[5]||(t[5]=Mr("h3",null,"代码输入",-1)),Mr("div",jR,[Mr("button",{class:"import-btn",onClick:w}," 导入文件 "),Mr("div",LR,[Mr("button",{class:"operation-btn minify-btn",onClick:S,disabled:!o.value.trim()}," 压缩 ",8,RR),Mr("button",{class:"operation-btn validate-btn",onClick:I,disabled:!o.value.trim()}," 验证 ",8,zR),Mr("button",{class:"operation-btn format-btn",onClick:F,disabled:!o.value.trim()}," 格式化 ",8,HR)])])]),Mr("div",$R,[ca(Mr("textarea",{"onUpdate:modelValue":t[2]||(t[2]=e=>o.value=e),placeholder:f(),class:"code-input",onInput:g,onPaste:m},null,40,YR),[[bi,o.value]])]),Mr("div",GR,[Mr("div",WR,[Mr("span",VR,se(d.value.lines)+" 行",1),Mr("span",KR,se(d.value.characters)+" 字符",1),Mr("span",JR,se(v(d.value.bytes)),1)])])]),t[11]||(t[11]=Mr("div",{class:"divider"},null,-1)),Mr("div",qR,[Mr("div",ZR,[t[8]||(t[8]=Mr("h3",null,"处理结果",-1)),Mr("div",XR,[c.value?Rr("",!0):(Cr(),Tr("div",QR,[t[7]||(t[7]=Mr("label",null,"缩进:",-1)),ca(Mr("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>u.value.indent=e),class:"config-select"},[...t[6]||(t[6]=[Mr("option",{value:"spaces-2"},"空格2",-1),Mr("option",{value:"spaces-4"},"空格4",-1),Mr("option",{value:"spaces-8"},"空格8",-1),Mr("option",{value:"tabs"},"制表符",-1)])],512),[[_i,u.value.indent]])]))])]),Mr("div",ez,[l.value?(Cr(),Sr(Ec,{key:0,code:l.value,language:i.value,"is-fullscreen":c.value,"show-line-numbers":!0,"show-fullscreen-button":!0,onToggleFullscreen:_},null,8,["code","language","is-fullscreen"])):(Cr(),Tr("div",tz,[...t[9]||(t[9]=[Lr('

    等待处理

    选择左侧的操作按钮来处理代码

    ',1)])]))]),l.value?(Cr(),Tr("div",az,[Mr("div",nz,[Mr("span",rz,se(h.value.lines)+" 行",1),Mr("span",sz,se(h.value.characters)+" 字符",1),0!==p.value?(Cr(),Tr("span",iz,se(p.value>0?"减少":"增加")+" "+se(Math.abs(p.value))+"% ",1)):Rr("",!0)])])):(Cr(),Tr("div",oz,[...t[10]||(t[10]=[Mr("div",{class:"stats-info"},[Mr("span",{class:"stat-item"},"等待处理结果")],-1)])]))])]),t[12]||(t[12]=Lr('
    格式化:美化代码结构,统一缩进和换行
    压缩:移除空格和注释,减小文件体积
    验证:检查代码语法是否正确
    ',1))])]))}}),cz=Wi(lz,[["__scopeId","data-v-a6ee9795"]]);var uz,dz,hz={};var pz,fz={},mz={};function gz(){if(pz)return mz;let e;pz=1;const t=[0,26,44,70,100,134,172,196,242,292,346,404,466,532,581,655,733,815,901,991,1085,1156,1258,1364,1474,1588,1706,1828,1921,2051,2185,2323,2465,2611,2761,2876,3034,3196,3362,3532,3706];return mz.getSymbolSize=function(e){if(!e)throw new Error('"version" cannot be null or undefined');if(e<1||e>40)throw new Error('"version" should be in range from 1 to 40');return 4*e+17},mz.getSymbolTotalCodewords=function(e){return t[e]},mz.getBCHDigit=function(e){let t=0;for(;0!==e;)t++,e>>>=1;return t},mz.setToSJISFunction=function(t){if("function"!=typeof t)throw new Error('"toSJISFunc" is not a valid function.');e=t},mz.isKanjiModeEnabled=function(){return void 0!==e},mz.toSJIS=function(t){return e(t)},mz}var yz,vz,bz,wz,xz,kz={};function _z(){return yz||(yz=1,(e=kz).L={bit:1},e.M={bit:0},e.Q={bit:3},e.H={bit:2},e.isValid=function(e){return e&&void 0!==e.bit&&e.bit>=0&&e.bit<4},e.from=function(t,a){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"l":case"low":return e.L;case"m":case"medium":return e.M;case"q":case"quartile":return e.Q;case"h":case"high":return e.H;default:throw new Error("Unknown EC Level: "+t)}}(t)}catch(mB){return a}}),kz;var e}var Ez,Cz={};var Fz,Dz={};var Az,Tz={};var Sz,Iz={};function Nz(){if(Sz)return Iz;Sz=1;const e=_z(),t=[1,1,1,1,1,1,1,1,1,1,2,2,1,2,2,4,1,2,4,4,2,4,4,4,2,4,6,5,2,4,6,6,2,5,8,8,4,5,8,8,4,5,8,11,4,8,10,11,4,9,12,16,4,9,16,16,6,10,12,18,6,10,17,16,6,11,16,19,6,13,18,21,7,14,21,25,8,16,20,25,8,17,23,25,9,17,23,34,9,18,25,30,10,20,27,32,12,21,29,35,12,23,34,37,12,25,34,40,13,26,35,42,14,28,38,45,15,29,40,48,16,31,43,51,17,33,45,54,18,35,48,57,19,37,51,60,19,38,53,63,20,40,56,66,21,43,59,70,22,45,62,74,24,47,65,77,25,49,68,81],a=[7,10,13,17,10,16,22,28,15,26,36,44,20,36,52,64,26,48,72,88,36,64,96,112,40,72,108,130,48,88,132,156,60,110,160,192,72,130,192,224,80,150,224,264,96,176,260,308,104,198,288,352,120,216,320,384,132,240,360,432,144,280,408,480,168,308,448,532,180,338,504,588,196,364,546,650,224,416,600,700,224,442,644,750,252,476,690,816,270,504,750,900,300,560,810,960,312,588,870,1050,336,644,952,1110,360,700,1020,1200,390,728,1050,1260,420,784,1140,1350,450,812,1200,1440,480,868,1290,1530,510,924,1350,1620,540,980,1440,1710,570,1036,1530,1800,570,1064,1590,1890,600,1120,1680,1980,630,1204,1770,2100,660,1260,1860,2220,720,1316,1950,2310,750,1372,2040,2430];return Iz.getBlocksCount=function(a,n){switch(n){case e.L:return t[4*(a-1)+0];case e.M:return t[4*(a-1)+1];case e.Q:return t[4*(a-1)+2];case e.H:return t[4*(a-1)+3];default:return}},Iz.getTotalCodewordsCount=function(t,n){switch(n){case e.L:return a[4*(t-1)+0];case e.M:return a[4*(t-1)+1];case e.Q:return a[4*(t-1)+2];case e.H:return a[4*(t-1)+3];default:return}},Iz}var Pz,Bz,Mz,Oz,Uz={},jz={};function Lz(){return Bz||(Bz=1,function(e){const t=function(){if(Pz)return jz;Pz=1;const e=new Uint8Array(512),t=new Uint8Array(256);return function(){let a=1;for(let n=0;n<255;n++)e[n]=a,t[a]=n,a<<=1,256&a&&(a^=285);for(let t=255;t<512;t++)e[t]=e[t-255]}(),jz.log=function(e){if(e<1)throw new Error("log("+e+")");return t[e]},jz.exp=function(t){return e[t]},jz.mul=function(a,n){return 0===a||0===n?0:e[t[a]+t[n]]},jz}();e.mul=function(e,a){const n=new Uint8Array(e.length+a.length-1);for(let r=0;r=0;){const e=n[0];for(let s=0;s=1&&e<=40}),$z}var Gz,Wz,Vz,Kz={};function Jz(){if(Gz)return Kz;Gz=1;const e="[0-9]+";let t="(?:[u3000-u303F]|[u3040-u309F]|[u30A0-u30FF]|[uFF00-uFFEF]|[u4E00-u9FAF]|[u2605-u2606]|[u2190-u2195]|u203B|[u2010u2015u2018u2019u2025u2026u201Cu201Du2225u2260]|[u0391-u0451]|[u00A7u00A8u00B1u00B4u00D7u00F7])+";t=t.replace(/u/g,"\\u");const a="(?:(?![A-Z0-9 $%*+\\-./:]|"+t+")(?:.|[\r\n]))+";Kz.KANJI=new RegExp(t,"g"),Kz.BYTE_KANJI=new RegExp("[^A-Z0-9 $%*+\\-./:]+","g"),Kz.BYTE=new RegExp(a,"g"),Kz.NUMERIC=new RegExp(e,"g"),Kz.ALPHANUMERIC=new RegExp("[A-Z $%*+\\-./:]+","g");const n=new RegExp("^"+t+"$"),r=new RegExp("^"+e+"$"),s=new RegExp("^[A-Z0-9 $%*+\\-./:]+$");return Kz.testKanji=function(e){return n.test(e)},Kz.testNumeric=function(e){return r.test(e)},Kz.testAlphanumeric=function(e){return s.test(e)},Kz}function qz(){return Wz||(Wz=1,function(e){const t=Yz(),a=Jz();e.NUMERIC={id:"Numeric",bit:1,ccBits:[10,12,14]},e.ALPHANUMERIC={id:"Alphanumeric",bit:2,ccBits:[9,11,13]},e.BYTE={id:"Byte",bit:4,ccBits:[8,16,16]},e.KANJI={id:"Kanji",bit:8,ccBits:[8,10,12]},e.MIXED={bit:-1},e.getCharCountIndicator=function(e,a){if(!e.ccBits)throw new Error("Invalid mode: "+e);if(!t.isValid(a))throw new Error("Invalid version: "+a);return a>=1&&a<10?e.ccBits[0]:a<27?e.ccBits[1]:e.ccBits[2]},e.getBestModeForData=function(t){return a.testNumeric(t)?e.NUMERIC:a.testAlphanumeric(t)?e.ALPHANUMERIC:a.testKanji(t)?e.KANJI:e.BYTE},e.toString=function(e){if(e&&e.id)return e.id;throw new Error("Invalid mode")},e.isValid=function(e){return e&&e.bit&&e.ccBits},e.from=function(t,a){if(e.isValid(t))return t;try{return function(t){if("string"!=typeof t)throw new Error("Param is not a string");switch(t.toLowerCase()){case"numeric":return e.NUMERIC;case"alphanumeric":return e.ALPHANUMERIC;case"kanji":return e.KANJI;case"byte":return e.BYTE;default:throw new Error("Unknown mode: "+t)}}(t)}catch(mB){return a}}}(Hz)),Hz}function Zz(){return Vz||(Vz=1,function(e){const t=gz(),a=Nz(),n=_z(),r=qz(),s=Yz(),i=t.getBCHDigit(7973);function o(e,t){return r.getCharCountIndicator(e,t)+4}function l(e,t){let a=0;return e.forEach(function(e){const n=o(e.mode,t);a+=n+e.getBitsLength()}),a}e.from=function(e,t){return s.isValid(e)?parseInt(e,10):t},e.getCapacity=function(e,n,i){if(!s.isValid(e))throw new Error("Invalid QR Code version");void 0===i&&(i=r.BYTE);const l=8*(t.getSymbolTotalCodewords(e)-a.getTotalCodewordsCount(e,n));if(i===r.MIXED)return l;const c=l-o(i,e);switch(i){case r.NUMERIC:return Math.floor(c/10*3);case r.ALPHANUMERIC:return Math.floor(c/11*2);case r.KANJI:return Math.floor(c/13);case r.BYTE:default:return Math.floor(c/8)}},e.getBestVersionForData=function(t,a){let s;const i=n.from(a,n.M);if(Array.isArray(t)){if(t.length>1)return function(t,a){for(let n=1;n<=40;n++)if(l(t,n)<=e.getCapacity(n,a,r.MIXED))return n}(t,i);if(0===t.length)return 1;s=t[0]}else s=t;return function(t,a,n){for(let r=1;r<=40;r++)if(a<=e.getCapacity(r,n,t))return r}(s.mode,s.getLength(),i)},e.getEncodedBits=function(e){if(!s.isValid(e)||e<7)throw new Error("Invalid QR Code version");let a=e<<12;for(;t.getBCHDigit(a)-i>=0;)a^=7973<0&&(a=this.data.substr(t),n=parseInt(a,10),e.put(n,3*r+1))},eH=t}(),n=function(){if(nH)return aH;nH=1;const e=qz(),t=["0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"," ","$","%","*","+","-",".","/",":"];function a(t){this.mode=e.ALPHANUMERIC,this.data=t}return a.getBitsLength=function(e){return 11*Math.floor(e/2)+e%2*6},a.prototype.getLength=function(){return this.data.length},a.prototype.getBitsLength=function(){return a.getBitsLength(this.data.length)},a.prototype.write=function(e){let a;for(a=0;a+2<=this.data.length;a+=2){let n=45*t.indexOf(this.data[a]);n+=t.indexOf(this.data[a+1]),e.put(n,11)}this.data.length%2&&e.put(t.indexOf(this.data[a]),6)},aH=a}(),r=function(){if(sH)return rH;sH=1;const e=qz();function t(t){this.mode=e.BYTE,this.data="string"==typeof t?(new TextEncoder).encode(t):new Uint8Array(t)}return t.getBitsLength=function(e){return 8*e},t.prototype.getLength=function(){return this.data.length},t.prototype.getBitsLength=function(){return t.getBitsLength(this.data.length)},t.prototype.write=function(e){for(let t=0,a=this.data.length;t=33088&&n<=40956)n-=33088;else{if(!(n>=57408&&n<=60351))throw new Error("Invalid SJIS character: "+this.data[a]+"\nMake sure your charset is UTF-8");n-=49472}n=192*(n>>>8&255)+(255&n),e.put(n,13)}},iH=a}(),i=Jz(),o=gz(),l=function(){return cH?hH.exports:(cH=1,e={single_source_shortest_paths:function(t,a,n){var r={},s={};s[a]=0;var i,o,l,c,u,d,h,p=e.PriorityQueue.make();for(p.push(a,0);!p.empty();)for(l in o=(i=p.pop()).value,c=i.cost,u=t[o]||{})u.hasOwnProperty(l)&&(d=c+u[l],h=s[l],(void 0===s[l]||h>d)&&(s[l]=d,p.push(l,d),r[l]=o));if(void 0!==n&&void 0===s[n]){var f=["Could not find a path from ",a," to ",n,"."].join("");throw new Error(f)}return r},extract_shortest_path_from_predecessor_list:function(e,t){for(var a=[],n=t;n;)a.push(n),e[n],n=e[n];return a.reverse(),a},find_path:function(t,a,n){var r=e.single_source_shortest_paths(t,a,n);return e.extract_shortest_path_from_predecessor_list(r,n)},PriorityQueue:{make:function(t){var a,n=e.PriorityQueue,r={};for(a in t=t||{},n)n.hasOwnProperty(a)&&(r[a]=n[a]);return r.queue=[],r.sorter=t.sorter||n.default_sorter,r},default_sorter:function(e,t){return e.cost-t.cost},push:function(e,t){var a={value:e,cost:t};this.queue.push(a),this.queue.sort(this.sorter)},pop:function(){return this.queue.shift()},empty:function(){return 0===this.queue.length}}},hH.exports=e);var e}();function c(e){return unescape(encodeURIComponent(e)).length}function u(e,t,a){const n=[];let r;for(;null!==(r=e.exec(a));)n.push({data:r[0],index:r.index,mode:t,length:r[0].length});return n}function d(e){const a=u(i.NUMERIC,t.NUMERIC,e),n=u(i.ALPHANUMERIC,t.ALPHANUMERIC,e);let r,s;o.isKanjiModeEnabled()?(r=u(i.BYTE,t.BYTE,e),s=u(i.KANJI,t.KANJI,e)):(r=u(i.BYTE_KANJI,t.BYTE,e),s=[]);return a.concat(n,r,s).sort(function(e,t){return e.index-t.index}).map(function(e){return{data:e.data,mode:e.mode,length:e.length}})}function h(e,i){switch(i){case t.NUMERIC:return a.getBitsLength(e);case t.ALPHANUMERIC:return n.getBitsLength(e);case t.KANJI:return s.getBitsLength(e);case t.BYTE:return r.getBitsLength(e)}}function p(e,i){let l;const c=t.getBestModeForData(e);if(l=t.from(i,c),l!==t.BYTE&&l.bit=0?e[e.length-1]:null;return a&&a.mode===t.mode?(e[e.length-1].data+=t.data,e):(e.push(t),e)},[])}(u))},e.rawSplit=function(t){return e.fromArray(d(t,o.isKanjiModeEnabled()))}}(lH)),lH}function fH(){if(dH)return fz;dH=1;const e=gz(),t=_z(),a=function(){if(bz)return vz;function e(){this.buffer=[],this.length=0}return bz=1,e.prototype={get:function(e){const t=Math.floor(e/8);return 1==(this.buffer[t]>>>7-e%8&1)},put:function(e,t){for(let a=0;a>>t-a-1&1))},getLengthInBits:function(){return this.length},putBit:function(e){const t=Math.floor(this.length/8);this.buffer.length<=t&&this.buffer.push(0),e&&(this.buffer[t]|=128>>>this.length%8),this.length++}},vz=e}(),n=function(){if(xz)return wz;function e(e){if(!e||e<1)throw new Error("BitMatrix size must be defined and greater than 0");this.size=e,this.data=new Uint8Array(e*e),this.reservedBit=new Uint8Array(e*e)}return xz=1,e.prototype.set=function(e,t,a,n){const r=e*this.size+t;this.data[r]=a,n&&(this.reservedBit[r]=!0)},e.prototype.get=function(e,t){return this.data[e*this.size+t]},e.prototype.xor=function(e,t,a){this.data[e*this.size+t]^=a},e.prototype.isReserved=function(e,t){return this.reservedBit[e*this.size+t]},wz=e}(),r=(Ez||(Ez=1,function(e){const t=gz().getSymbolSize;e.getRowColCoords=function(e){if(1===e)return[];const a=Math.floor(e/7)+2,n=t(e),r=145===n?26:2*Math.ceil((n-13)/(2*a-2)),s=[n-7];for(let t=1;t=0&&e<=7},e.from=function(t){return e.isValid(t)?parseInt(t,10):void 0},e.getPenaltyN1=function(e){const a=e.size;let n=0,r=0,s=0,i=null,o=null;for(let l=0;l=5&&(n+=t+(r-5)),i=a,r=1),a=e.get(c,l),a===o?s++:(s>=5&&(n+=t+(s-5)),o=a,s=1)}r>=5&&(n+=t+(r-5)),s>=5&&(n+=t+(s-5))}return n},e.getPenaltyN2=function(e){const t=e.size;let n=0;for(let a=0;a=10&&(1488===r||93===r)&&a++,s=s<<1&2047|e.get(i,n),i>=10&&(1488===s||93===s)&&a++}return a*n},e.getPenaltyN4=function(e){let t=0;const a=e.data.length;for(let n=0;n0){const e=new Uint8Array(this.degree);return e.set(n,r),e}return n},Mz=t}(),c=Zz(),u=function(){if(Xz)return Qz;Xz=1;const e=gz(),t=e.getBCHDigit(1335);return Qz.getEncodedBits=function(a,n){const r=a.bit<<3|n;let s=r<<10;for(;e.getBCHDigit(s)-t>=0;)s^=1335<>s&1),s<6?e.set(s,8,i,!0):s<8?e.set(s+1,8,i,!0):e.set(n-15+s,8,i,!0),s<8?e.set(8,n-s-1,i,!0):s<9?e.set(8,15-s-1+1,i,!0):e.set(8,15-s-1,i,!0);e.set(n-8,8,1,!0)}function f(t,n,r){const s=new a;r.forEach(function(e){s.put(e.mode.bit,4),s.put(e.getLength(),d.getCharCountIndicator(e.mode,t)),e.write(s)});const i=8*(e.getSymbolTotalCodewords(t)-o.getTotalCodewordsCount(t,n));for(s.getLengthInBits()+4<=i&&s.put(0,4);s.getLengthInBits()%8!=0;)s.putBit(0);const c=(i-s.getLengthInBits())/8;for(let e=0;e=0&&n<=6&&(0===r||6===r)||r>=0&&r<=6&&(0===n||6===n)||n>=2&&n<=4&&r>=2&&r<=4?e.set(t+n,s+r,!0,!0):e.set(t+n,s+r,!1,!0))}}(y,a),function(e){const t=e.size;for(let a=8;a=7&&function(e,t){const a=e.size,n=c.getEncodedBits(t);let r,s,i;for(let o=0;o<18;o++)r=Math.floor(o/3),s=o%3+a-8-3,i=1==(n>>o&1),e.set(r,s,i,!0),e.set(s,r,i,!0)}(y,a),function(e,t){const a=e.size;let n=-1,r=a-1,s=7,i=0;for(let o=a-1;o>0;o-=2)for(6===o&&o--;;){for(let a=0;a<2;a++)if(!e.isReserved(r,o-a)){let n=!1;i>>s&1)),e.set(r,o-a,n),s--,-1===s&&(i++,s=7)}if(r+=n,r<0||a<=r){r-=n,n=-n;break}}}(y,m),isNaN(l)&&(l=i.getBestMask(y,p.bind(null,y,o))),i.applyMask(l,y),p(y,o,l),{modules:y,version:a,errorCorrectionLevel:o,maskPattern:l,segments:u}}return fz.create=function(a,n){if(void 0===a||""===a)throw new Error("No input text");let r,s,o=t.M;return void 0!==n&&(o=t.from(n.errorCorrectionLevel,t.M),r=c.from(n.version),s=i.from(n.maskPattern),n.toSJISFunc&&e.setToSJISFunction(n.toSJISFunc)),m(a,r,o,s)},fz}var mH,gH,yH={},vH={};function bH(){return mH||(mH=1,function(e){function t(e){if("number"==typeof e&&(e=e.toString()),"string"!=typeof e)throw new Error("Color should be defined as hex string");let t=e.slice().replace("#","").split("");if(t.length<3||5===t.length||t.length>8)throw new Error("Invalid hex color: "+e);3!==t.length&&4!==t.length||(t=Array.prototype.concat.apply([],t.map(function(e){return[e,e]}))),6===t.length&&t.push("F","F");const a=parseInt(t.join(""),16);return{r:a>>24&255,g:a>>16&255,b:a>>8&255,a:255&a,hex:"#"+t.slice(0,6).join("")}}e.getOptions=function(e){e||(e={}),e.color||(e.color={});const a=void 0===e.margin||null===e.margin||e.margin<0?4:e.margin,n=e.width&&e.width>=21?e.width:void 0,r=e.scale||4;return{width:n,scale:n?4:r,margin:a,color:{dark:t(e.color.dark||"#000000ff"),light:t(e.color.light||"#ffffffff")},type:e.type,rendererOpts:e.rendererOpts||{}}},e.getScale=function(e,t){return t.width&&t.width>=e+2*t.margin?t.width/(e+2*t.margin):t.scale},e.getImageWidth=function(t,a){const n=e.getScale(t,a);return Math.floor((t+2*a.margin)*n)},e.qrToImageData=function(t,a,n){const r=a.modules.size,s=a.modules.data,i=e.getScale(r,n),o=Math.floor((r+2*n.margin)*i),l=n.margin*i,c=[n.color.light,n.color.dark];for(let e=0;e=l&&a>=l&&e':"",d="0&&c>0&&e[l-1]||(r+=i?a("M",c+n,.5+u+n):a("m",s,0),s=0,i=!1),c+1',h='viewBox="0 0 '+c+" "+c+'"',p=''+u+d+"\n";return"function"==typeof s&&s(null,p),p},_H}var CH=function(){if(kH)return hz;kH=1;const e=dz?uz:(dz=1,uz=function(){return"function"==typeof Promise&&Promise.prototype&&Promise.prototype.then}),t=fH(),a=wH(),n=EH();function r(a,n,r,s,i){const o=[].slice.call(arguments,1),l=o.length,c="function"==typeof o[l-1];if(!c&&!e())throw new Error("Callback required as last argument");if(!c){if(l<1)throw new Error("Too few arguments provided");return 1===l?(r=n,n=s=void 0):2!==l||n.getContext||(s=r,r=n,n=void 0),new Promise(function(e,i){try{const i=t.create(r,s);e(a(i,n,s))}catch(mB){i(mB)}})}if(l<2)throw new Error("Too few arguments provided");2===l?(i=r,r=n,n=s=void 0):3===l&&(n.getContext&&void 0===i?(i=s,s=void 0):(i=s,s=r,r=n,n=void 0));try{const e=t.create(r,s);i(null,a(e,n,s))}catch(mB){i(mB)}}return hz.create=t.create,hz.toCanvas=r.bind(null,a.render),hz.toDataURL=r.bind(null,a.renderToDataURL),hz.toString=r.bind(null,function(e,t,a){return n.render(e,a)}),hz}();const FH=Ql(CH),DH={class:"qr-generator"},AH={class:"generator-content"},TH={class:"input-section"},SH={class:"section-header"},IH={class:"type-selector"},NH=["onClick"],PH={class:"type-icon"},BH={class:"type-name"},MH={class:"content-area"},OH={key:0,class:"input-form"},UH={key:1,class:"input-form"},jH={key:2,class:"input-form"},LH={class:"form-group"},RH={class:"form-group"},zH={class:"form-group"},HH={key:3,class:"input-form"},$H={class:"form-group"},YH={class:"form-group"},GH={class:"form-group"},WH={key:4,class:"input-form"},VH={class:"form-group"},KH={class:"form-group"},JH={class:"form-group"},qH={key:5,class:"input-form"},ZH={class:"form-group"},XH={key:6,class:"input-form"},QH={class:"form-group"},e$={class:"form-group"},t$={key:7,class:"input-form"},a$={class:"map-selector"},n$={class:"map-header"},r$={class:"map-controls"},s$={class:"search-wrapper"},i$={key:0,class:"suggestions-dropdown"},o$=["onClick"],l$={class:"suggestion-title"},c$={class:"suggestion-address"},u$={class:"location-format-wrapper"},d$={class:"map-container"},h$={key:0,class:"map-loading"},p$={key:0,class:"location-info"},f$={class:"location-item"},m$={class:"location-value"},g$={class:"location-item"},y$={class:"location-value"},v$={class:"settings-panel"},b$={class:"settings-section"},w$={class:"style-grid"},x$={class:"style-row"},k$={class:"style-item"},_$={class:"style-item"},E$=["value"],C$={key:0,class:"style-row"},F$={class:"style-item"},D$={class:"color-picker-wrapper"},A$={class:"style-item"},T$={class:"color-picker-wrapper"},S$={class:"style-row"},I$={class:"style-item"},N$={class:"color-picker-wrapper"},P$={class:"style-item"},B$={class:"color-picker-wrapper"},M$={class:"settings-section"},O$={class:"style-grid"},U$={class:"style-row"},j$={class:"style-item"},L$={class:"style-item"},R$={class:"style-row"},z$={class:"style-item"},H$={class:"style-item"},$$={class:"settings-section"},Y$={class:"logo-controls"},G$={key:1,class:"logo-preview"},W$=["src"],V$={key:2,class:"logo-size-control"},K$={class:"logo-size-label"},J$={class:"preview-section"},q$={class:"section-header"},Z$={class:"scan-tip"},X$={class:"preview-container"},Q$={key:0,class:"qr-display"},eY={class:"qr-wrapper"},tY=["src","alt"],aY={class:"qr-info"},nY={class:"qr-content"},rY={class:"qr-stats"},sY={class:"stat-item"},iY={class:"stat-value"},oY={class:"stat-item"},lY={class:"stat-value"},cY={class:"stat-item"},uY={class:"stat-value"},dY={key:1,class:"preview-placeholder"},hY=$a({__name:"QrGenerator",emits:["back"],setup(e){il("qr-generator");const{success:t,error:a}=Vo(),n=is(()=>{for(const e of Object.values(Qi.cards)){const t=e.find(e=>"qr-generator"===e.id);if(t)return t.title}return"二维码生成器"}),r=[{id:"text",name:"文本",icon:"📝"},{id:"url",name:"链接",icon:"🔗"},{id:"wifi",name:"WiFi",icon:"📶"},{id:"contact",name:"联系人",icon:"👤"},{id:"email",name:"邮件",icon:"📧"},{id:"phone",name:"电话",icon:"📞"},{id:"sms",name:"短信",icon:"💬"},{id:"location",name:"位置",icon:"📍"}],s=St("text"),i=St(""),o=St(""),l=St(""),c=St(""),u=St("WPA"),d=St(""),h=St(""),p=St(""),f=St(""),m=St(""),g=St(""),y=St(""),v=St(""),b=St(""),w=St(""),x=St(""),k=St(""),_=St("tencent"),E=St(null),C=St(""),F=St([]),D=St(!1),A=St(!1),T=St(null);let S=null;const I=St("300"),N=St("auto"),P=St("4"),B=St("#000000"),M=St("#ffffff"),O=St("M"),U=St("square");St("auto");const j=St("square"),L=St("#000000"),R=St("#000000"),z=St(""),H=St(""),$=[{id:"square",name:"方正"},{id:"circle",name:"圆角"},{id:"thick-rounded",name:"粗圆角"},{id:"medium-rounded",name:"中圆角"},{id:"thin-rounded",name:"细圆角"},{id:"thick-circle",name:"粗圆形"},{id:"thin-circle",name:"细圆形"},{id:"diamond",name:"菱形"},{id:"star",name:"星形"},{id:"bubble",name:"气泡"},{id:"eye",name:"眼睛"},{id:"single-rounded",name:"单圆角"},{id:"four-eye",name:"四码眼"}],Y=St(""),G=St(20),W=St(null),V=St(""),J=async()=>{if(E.value)try{A.value=!1;const e=await new Promise((e,t)=>{if(window.BMapGL)return void e(window.BMapGL);const a=document.createElement("script");a.src="https://api.map.baidu.com/api?v=1.0&type=webgl&ak=E4805d16520de693a3fe707cdc962045&callback=initBaiduMap",a.async=!0,window.initBaiduMap=()=>{e(window.BMapGL)},a.onerror=()=>{t(new Error("百度地图加载失败"))},document.head.appendChild(a)});T.value=new e.Map("mapContainer");const t=parseFloat(w.value),a=parseFloat(x.value),n=new e.Point(a,t);T.value.centerAndZoom(n,13),T.value.enableScrollWheelZoom(!0),T.value.addControl(new e.ZoomControl);const r=new e.Marker(n);T.value.addOverlay(r),T.value.addEventListener("click",t=>{const a=t.point,n=a.lat.toFixed(6),r=a.lng.toFixed(6);(new e.Geocoder).getLocation(a,e=>{const t=e?e.address:"选中位置";q(n,r,t)})}),A.value=!0,console.log("地图初始化完成")}catch(e){console.error("地图初始化失败:",e),A.value=!0,a("地图加载失败")}},q=(e,t,a="")=>{if(w.value=e,x.value=t,k.value=a,T.value&&window.BMapGL){T.value.clearOverlays();const a=new window.BMapGL.Point(parseFloat(t),parseFloat(e)),n=new window.BMapGL.Marker(a);T.value.addOverlay(n),T.value.centerAndZoom(a,15)}re()},Z=()=>{if(console.log("开始获取当前位置..."),t("正在获取当前位置..."),window.BMapGL&&T.value){console.log("使用百度地图定位API");const e=new window.BMapGL.Geolocation;e.getCurrentPosition(a=>{if(e.getStatus()===window.BMAP_STATUS_SUCCESS){const e=a.point.lat.toFixed(6),n=a.point.lng.toFixed(6);console.log("百度地图定位成功:",e,n);(new window.BMapGL.Geocoder).getLocation(a.point,a=>{const r=a?a.address:"当前位置";console.log("获取到地址:",r),q(e,n,r),t(`定位成功: ${r}`)})}else console.log("百度地图定位失败,尝试浏览器定位"),X()},{enableHighAccuracy:!0})}else X()},X=()=>{navigator.geolocation?navigator.geolocation.getCurrentPosition(e=>{const a=e.coords.latitude.toFixed(6),n=e.coords.longitude.toFixed(6);console.log("浏览器定位成功:",a,n),q(a,n,"当前位置"),t("定位成功")},e=>{console.error("定位失败:",e),a("定位失败,请手动选择位置")},{enableHighAccuracy:!0,timeout:3e4,maximumAge:3e5}):a("浏览器不支持地理定位")},ee=()=>{S&&clearTimeout(S),S=setTimeout(()=>{if(!C.value.trim()||!window.BMapGL||!T.value)return F.value=[],void(D.value=!1);console.log("开始搜索建议:",C.value);const e=new window.BMapGL.LocalSearch(T.value,{onSearchComplete:t=>{if(console.log("搜索完成,状态:",e.getStatus()),e.getStatus()===window.BMAP_STATUS_SUCCESS){const e=[],a=t.getNumPois();console.log("找到POI数量:",a);for(let n=0;n0,console.log("搜索建议结果:",e)}else console.log("搜索失败,状态码:",e.getStatus()),F.value=[],D.value=!1}});e.search(C.value)},500)},te=()=>{setTimeout(()=>{D.value=!1},200)},ae=async()=>{if(C.value.trim()){if(window.BMapGL&&T.value){const e=new window.BMapGL.LocalSearch(T.value,{onSearchComplete:a=>{if(e.getStatus()===window.BMAP_STATUS_SUCCESS){const e=a.getPoi(0);if(e){const a=e.point.lat.toFixed(6),n=e.point.lng.toFixed(6),r=e.title||C.value;q(a,n,r),t(`找到位置: ${r}`)}}}});e.search(C.value)}D.value=!1}},ne=()=>{switch(s.value){case"text":return i.value;case"url":return o.value;case"wifi":return`WIFI:T:${u.value};S:${l.value};P:${c.value};;`;case"contact":return`BEGIN:VCARD\nVERSION:3.0\nFN:${d.value}\nTEL:${h.value}\nEMAIL:${p.value}\nEND:VCARD`;case"email":return`mailto:${f.value}?subject=${encodeURIComponent(m.value)}&body=${encodeURIComponent(g.value)}`;case"phone":return`tel:${y.value}`;case"sms":return`sms:${v.value}?body=${encodeURIComponent(b.value)}`;case"location":const e=w.value,t=x.value,a=k.value;switch(_.value){case"geo":return a?`geo:${e},${t}?q=${e},${t}(${encodeURIComponent(a)})`:`geo:${e},${t}`;case"google":return a?`https://maps.google.com/maps?q=${e},${t}(${encodeURIComponent(a)})`:`https://maps.google.com/maps?q=${e},${t}`;case"baidu":if(a){const n=parseFloat(t),r=parseFloat(e);return`https://map.baidu.com/search/${encodeURIComponent(a)}/@${t},${e},15z?querytype=s&da_src=shareurl&wd=${encodeURIComponent(a)}&c=1&src=0&pn=0&sug=0&l=15&b=(${n-.01},${r-.01};${n+.01},${r+.01})&from=webmap&biz_forward=%7B%22scaler%22:1,%22styles%22:%22pl%22%7D`}return`https://map.baidu.com/@${t},${e},15z`;case"amap":return a?`https://uri.amap.com/marker?position=${t},${e}&name=${encodeURIComponent(a)}`:`https://uri.amap.com/marker?position=${t},${e}`;case"tencent":return a?`https://apis.map.qq.com/uri/v1/marker?marker=coord:${e},${t};title:${encodeURIComponent(a)}`:`https://apis.map.qq.com/uri/v1/marker?marker=coord:${e},${t}`;case"text":return a?`位置:${a}\n纬度:${e}\n经度:${t}`:`纬度:${e}\n经度:${t}`;default:return`geo:${e},${t}`}default:return""}},re=async()=>{const e=ne();if(!("location"!==s.value||w.value&&x.value))return V.value="",z.value="",void(H.value="");if(!e.trim())return V.value="",z.value="",void(H.value="");z.value=e.length>20?e.substring(0,20)+"...":e,H.value=e.length.toString();try{if(console.log("dotStyle:",U.value,"eyePattern:",j.value),"square"!==U.value||"square"!==j.value)console.log("使用自定义绘制"),V.value=await ie(e);else{console.log("使用标准绘制");const t={width:parseInt(I.value),margin:parseInt(P.value),errorCorrectionLevel:O.value,version:"auto"===N.value?void 0:parseInt(N.value),color:{dark:B.value,light:M.value}},a=await FH.toDataURL(e,t);Y.value?V.value=await be(a):V.value=a}}catch(t){console.error("生成二维码失败:",t),a("生成二维码失败")}},ie=async e=>{const t=(await FH.create(e,{errorCorrectionLevel:O.value,version:"auto"===N.value?void 0:parseInt(N.value)})).modules,a=t.size,n=parseInt(I.value),r=parseInt(P.value),s=n/(a+2*r),i=r*s,o=document.createElement("canvas");o.width=n,o.height=n;const l=o.getContext("2d");if(!l)throw new Error("无法获取canvas上下文");if(l.fillStyle=M.value,l.fillRect(0,0,n,n),l.fillStyle=B.value,"liquid"===U.value)ge(l,t,a,i,s);else for(let c=0;ce<7&&t<7||(e<7&&t>=a-7||e>=a-7&&t<7),le=(e,t,a)=>0===e&&0===t||(0===e&&t===a-7||e===a-7&&0===t),ce=(e,t,a,n,r)=>{const s=n,i=5*n/7,o=3*n/7,l=(s-i)/2,c=(s-o)/2;switch(e.fillStyle=B.value,r){case"square":case"four-eye":default:e.fillRect(t,a,s,s),e.fillStyle=M.value,e.fillRect(t+l,a+l,i,i),e.fillStyle=B.value,e.fillRect(t+c,a+c,o,o);break;case"circle":de(e,t,a,s,s,.2*s),e.fillStyle=M.value,de(e,t+l,a+l,i,i,.2*i),e.fillStyle=B.value,e.beginPath(),e.arc(t+s/2,a+s/2,o/2,0,2*Math.PI),e.fill();break;case"thick-rounded":ue(e,t,a,s,i,o,.25);break;case"medium-rounded":ue(e,t,a,s,i,o,.15);break;case"thin-rounded":ue(e,t,a,s,i,o,.08);break;case"thick-circle":e.beginPath(),e.arc(t+s/2,a+s/2,s/2,0,2*Math.PI),e.fill(),e.fillStyle=M.value,e.beginPath(),e.arc(t+s/2,a+s/2,i/2,0,2*Math.PI),e.fill(),e.fillStyle=B.value,e.beginPath(),e.arc(t+s/2,a+s/2,o/2,0,2*Math.PI),e.fill();break;case"thin-circle":e.beginPath(),e.arc(t+s/2,a+s/2,s/2,0,2*Math.PI),e.fill(),e.fillStyle=M.value,e.beginPath(),e.arc(t+s/2,a+s/2,i/2,0,2*Math.PI),e.fill(),e.fillStyle=B.value,e.beginPath(),e.arc(t+s/2,a+s/2,.6*o,0,2*Math.PI),e.fill();break;case"diamond":e.beginPath(),e.arc(t+s/2,a+s/2,s/2,0,2*Math.PI),e.fill(),e.fillStyle=M.value,e.beginPath(),e.arc(t+s/2,a+s/2,i/2,0,2*Math.PI),e.fill(),e.fillStyle=B.value,e.beginPath();const n=o/2;e.moveTo(t+s/2,a+s/2-n),e.lineTo(t+s/2+n,a+s/2),e.lineTo(t+s/2,a+s/2+n),e.lineTo(t+s/2-n,a+s/2),e.closePath(),e.fill();break;case"star":const r=t+s/2,u=a+s/2;e.beginPath(),e.arc(r,u,s/2,0,2*Math.PI),e.fill(),e.fillStyle=M.value,e.beginPath(),e.arc(r,u,i/2,0,2*Math.PI),e.fill(),e.fillStyle=B.value;const d=o/2,h=.35*d;e.beginPath(),e.moveTo(r,u-d),e.quadraticCurveTo(r+h,u-h,r+d,u),e.quadraticCurveTo(r+h,u+h,r,u+d),e.quadraticCurveTo(r-h,u+h,r-d,u),e.quadraticCurveTo(r-h,u-h,r,u-d),e.closePath(),e.fill();break;case"bubble":he(e,t,a,s,i,o);break;case"eye":console.log("绘制眼睛形状"),fe(e,t,a,s,i,o);break;case"single-rounded":e.fillRect(t,a,s,s),e.fillStyle=M.value,e.fillRect(t+l,a+l,i,i),e.fillStyle=B.value,e.fillRect(t+c,a+c,o,o),e.fillStyle=M.value,e.fillRect(t,a,.2*s,.2*s),e.fillStyle=B.value,e.beginPath(),e.arc(t+.2*s,a+.2*s,.2*s,Math.PI,1.5*Math.PI),e.fill()}},ue=(e,t,a,n,r,s,i)=>{const o=(n-r)/2,l=(n-s)/2;e.fillStyle=B.value,de(e,t,a,n,n,n*i),e.fillStyle=M.value,de(e,t+o,a+o,r,r,r*i),e.fillStyle=B.value,de(e,t+l,a+l,s,s,s*i)},de=(e,t,a,n,r,s)=>{e.beginPath(),e.moveTo(t+s,a),e.lineTo(t+n-s,a),e.quadraticCurveTo(t+n,a,t+n,a+s),e.lineTo(t+n,a+r-s),e.quadraticCurveTo(t+n,a+r,t+n-s,a+r),e.lineTo(t+s,a+r),e.quadraticCurveTo(t,a+r,t,a+r-s),e.lineTo(t,a+s),e.quadraticCurveTo(t,a,t+s,a),e.closePath(),e.fill()},he=(e,t,a,n,r,s)=>{const i=(n-r)/2,o=(n-s)/2;let l=0,c="unknown";t<100&&a<100?(l=Math.PI,c="左上角"):t>150&&a<100?(l=Math.PI/2,c="右上角"):t<100&&a>150&&(l=3*Math.PI/2,c="左下角"),console.log(`气泡定位点位置: ${c}, 坐标: (${t}, ${a}), 旋转角度: ${180*l/Math.PI}度`),e.fillStyle=B.value,pe(e,t,a,n,n,l),e.fillStyle=M.value,pe(e,t+i,a+i,r,r,l),e.fillStyle=B.value,pe(e,t+o,a+o,s,s,l)},pe=(e,t,a,n,r,s)=>{const i=.25*Math.min(n,r),o=t+n/2,l=a+r/2;e.save(),e.translate(o,l),e.rotate(s),e.translate(-o,-l),e.beginPath(),e.moveTo(t+i,a),e.lineTo(t+n-i,a),e.quadraticCurveTo(t+n,a,t+n,a+i),e.lineTo(t+n,a+r-i),e.quadraticCurveTo(t+n,a+r,t+n-i,a+r),e.lineTo(t,a+r),e.lineTo(t,a+i),e.quadraticCurveTo(t,a,t+i,a),e.closePath(),e.fill(),e.restore()},fe=(e,t,a,n,r,s)=>{console.log("drawRealisticEye被调用",{x:t,y:a,outerSize:n,middleSize:r,innerSize:s});const i=(n-r)/2,o=(n-s)/2;let l=0,c="unknown";t<100&&a<100?(l=0,c="左上角"):t>150&&a<100?(l=Math.PI/2,c="右上角"):t<100&&a>150&&(l=-Math.PI/2,c="左下角"),console.log(`定位点位置: ${c}, 坐标: (${t}, ${a}), 旋转角度: ${180*l/Math.PI}度`),e.fillStyle=B.value,me(e,t,a,n,n,l),e.fillStyle=M.value,me(e,t+i,a+i,r,r,l),e.fillStyle=B.value,me(e,t+o,a+o,s,s,l)},me=(e,t,a,n,r,s)=>{const i=.3*Math.min(n,r),o=t+n/2,l=a+r/2;e.save(),e.translate(o,l),e.rotate(s),e.translate(-o,-l),e.beginPath(),e.moveTo(t,a),e.lineTo(t+n-i,a),e.quadraticCurveTo(t+n,a,t+n,a+i),e.lineTo(t+n,a+r),e.lineTo(t+i,a+r),e.quadraticCurveTo(t,a+r,t,a+r-i),e.lineTo(t,a),e.closePath(),e.fill(),e.restore()},ge=(e,t,a,n,r)=>{e.fillStyle=B.value,new Path2D;for(let s=0;s{const l=t+n/2,c=a+n/2,u=[];for(let p=-1;p<=1;p++)for(let e=-1;e<=1;e++){if(0===p&&0===e)continue;const t=r+p,a=s+e;t>=0&&t=0&&a7*Math.PI/4)&&(e+=.4)}const t=d*(e+.1*Math.sin(3*p+.5*r+.7*s));h.push({x:l+t*Math.cos(p),y:c+t*Math.sin(p)})}if(h.length>0){e.moveTo(h[0].x,h[0].y);for(let t=0;t{if(e.fillStyle=B.value,"square"===r)return void e.fillRect(t,a,n,n);const s=.9*n,i=(n-s)/2,o=t+n/2,l=a+n/2,c=s/2;switch(r){case"circle":e.beginPath(),e.arc(o,l,c,0,2*Math.PI),e.fill();break;case"rounded":de(e,t+i,a+i,s,s,.3*s);break;case"diamond":e.beginPath(),e.moveTo(o,a+i),e.lineTo(t+n-i,l),e.lineTo(o,a+n-i),e.lineTo(t+i,l),e.closePath(),e.fill();break;case"dot":e.beginPath(),e.arc(o,l,.7*c,0,2*Math.PI),e.fill();break;case"star":const r=c,u=.3*r;e.beginPath(),e.moveTo(o,l-r),e.quadraticCurveTo(o+u,l-u,o+r,l),e.quadraticCurveTo(o+u,l+u,o,l+r),e.quadraticCurveTo(o-u,l+u,o-r,l),e.quadraticCurveTo(o-u,l-u,o,l-r),e.closePath(),e.fill();break;case"horizontal":e.fillRect(t+i,l-.4*c,s,.8*c);break;case"vertical":e.fillRect(o-.4*c,a+i,.8*c,s);break;case"liquid":e.beginPath();for(let n=0;n<2*Math.PI;n+=.3){const r=c*(.7+.3*Math.sin(3*n+t+a)),s=o+r*Math.cos(n),i=l+r*Math.sin(n);0===n?e.moveTo(s,i):e.lineTo(s,i)}e.closePath(),e.fill();break;case"tile":const d=s/2;e.fillRect(t+i,a+i,d,d),e.fillRect(t+i+d,a+i+d,d,d);break;case"grid":const h=s/3;for(let n=0;n<3;n++)for(let r=0;r<3;r++)(n+r)%2==0&&e.fillRect(t+i+n*h,a+i+r*h,h,h);break;case"small-square":const p=.6*s;e.fillRect(o-p/2,l-p/2,p,p);break;default:e.fillRect(t,a,n,n)}},be=async e=>new Promise((t,a)=>{const n=document.createElement("canvas"),r=n.getContext("2d");if(!r)return void a(new Error("无法获取canvas上下文"));const s=new Image;s.onload=()=>{const e=parseInt(I.value);n.width=e,n.height=e,r.drawImage(s,0,0,e,e);const i=new Image;i.onload=()=>{const a=e*G.value/100,s=(e-a)/2,o=(e-a)/2,l=.1*a;r.fillStyle=M.value,r.fillRect(s-l,o-l,a+2*l,a+2*l),r.drawImage(i,s,o,a,a),t(n.toDataURL("image/png"))},i.onerror=()=>a(new Error("Logo加载失败")),i.src=Y.value},s.onerror=()=>a(new Error("二维码加载失败")),s.src=e}),we=()=>{W.value?.click()},xe=e=>{const n=e.target,r=n.files?.[0];if(!r)return;if(!r.type.startsWith("image/"))return void a("请上传图片文件");if(r.size>5242880)return void a("图片文件不能超过5MB");const s=new FileReader;s.onload=e=>{Y.value=e.target?.result,re(),t("Logo已上传")},s.onerror=()=>{a("Logo上传失败")},s.readAsDataURL(r)},ke=()=>{Y.value="",W.value&&(W.value.value=""),re(),t("Logo已移除")},_e=()=>{if(!V.value)return;const e=document.createElement("a");e.download=`qrcode-${Date.now()}.png`,e.href=V.value,e.click(),t("二维码已下载")},Ee=async()=>{if(V.value)try{const e=await fetch(V.value),a=await e.blob();await navigator.clipboard.write([new ClipboardItem({"image/png":a})]),t("二维码已复制到剪贴板")}catch(e){a("复制失败")}},Ce=()=>{switch(s.value){case"text":case"url":return"使用任意二维码扫描应用或手机相机扫描";case"wifi":return"使用手机相机或支持WiFi连接的扫描应用扫描";case"contact":return"使用手机相机扫描,可直接添加到通讯录";case"email":return"使用手机扫描,会自动打开邮件应用";case"phone":return"使用手机扫描,会自动拨打电话";case"sms":return"使用手机扫描,会自动打开短信应用";case"location":switch(_.value){case"tencent":return"使用微信扫描,会在腾讯地图中显示位置";case"baidu":return"使用百度APP扫描,会在百度地图中显示位置";case"amap":return"使用支付宝扫描,会在高德地图中显示位置";case"google":return"使用手机相机扫描,会在谷歌地图中显示位置";case"geo":return"使用手机相机扫描,会在默认地图应用中显示位置";case"text":return"使用任意扫描应用,会显示位置文本信息";default:return"使用手机相机或地图应用扫描"}default:return"使用手机相机或二维码扫描应用扫描"}},Fe=()=>{switch(O.value){case"L":return"低 (7%)";case"M":default:return"中 (15%)";case"Q":return"高 (25%)";case"H":return"最高 (30%)"}},De=()=>{const e=ne();try{window.open(e,"_blank"),t("已尝试打开链接")}catch(n){a("无法打开链接,请在手机上扫描二维码测试")}},Ae=()=>{i.value="",o.value="",l.value="",c.value="",u.value="WPA",d.value="",h.value="",p.value="",f.value="",m.value="",g.value="",y.value="",v.value="",b.value="",w.value="",x.value="",k.value="",_.value="tencent",Y.value="",V.value="",s.value="text",N.value="auto",P.value="4",O.value="M",U.value="square",j.value="square",z.value="",H.value="",G.value=20,W.value&&(W.value.value=""),t("已清空所有内容")};return nn(()=>{i.value="欢迎使用二维码生成器!",re()}),(e,a)=>(Cr(),Tr("div",DH,[Or(hl,{title:n.value,onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"download",tooltip:"下载二维码",onClick:_e,disabled:!V.value},null,8,["disabled"]),Or(jl,{icon:"copy",tooltip:"复制二维码",onClick:Ee,disabled:!V.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:Ae})]),_:1},8,["title"]),Mr("div",AH,[Mr("div",TH,[Mr("div",SH,[a[28]||(a[28]=Mr("h3",null,"内容设置",-1)),Mr("div",IH,[(Cr(),Tr(br,null,yn(r,e=>Mr("button",{key:e.id,class:Q(["type-btn",{active:s.value===e.id}]),onClick:t=>(e=>{s.value=e,"location"===e&&(w.value&&x.value||(w.value="39.9042",x.value="116.4074",k.value="北京市"),Zt(()=>{J().then(()=>{setTimeout(()=>{Z()},1e3)})})),re()})(e.id)},[Mr("span",PH,se(e.icon),1),Mr("span",BH,se(e.name),1)],10,NH)),64))])]),Mr("div",MH,["text"===s.value?(Cr(),Tr("div",OH,[a[29]||(a[29]=Mr("label",{class:"form-label"},"文本内容",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[1]||(a[1]=e=>i.value=e),class:"form-textarea",placeholder:"请输入要生成二维码的文本内容...",onInput:re},null,544),[[bi,i.value]])])):Rr("",!0),"url"===s.value?(Cr(),Tr("div",UH,[a[30]||(a[30]=Mr("label",{class:"form-label"},"网址链接",-1)),ca(Mr("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>o.value=e),type:"url",class:"form-input",placeholder:"https://example.com",onInput:re},null,544),[[bi,o.value]])])):Rr("",!0),"wifi"===s.value?(Cr(),Tr("div",jH,[Mr("div",LH,[a[31]||(a[31]=Mr("label",{class:"form-label"},"网络名称",-1)),ca(Mr("input",{"onUpdate:modelValue":a[3]||(a[3]=e=>l.value=e),type:"text",class:"form-input",placeholder:"WiFi名称",onInput:re},null,544),[[bi,l.value]])]),Mr("div",RH,[a[32]||(a[32]=Mr("label",{class:"form-label"},"WiFi密码",-1)),ca(Mr("input",{"onUpdate:modelValue":a[4]||(a[4]=e=>c.value=e),type:"password",class:"form-input",placeholder:"WiFi密码",onInput:re},null,544),[[bi,c.value]])]),Mr("div",zH,[a[34]||(a[34]=Mr("label",{class:"form-label"},"加密类型",-1)),ca(Mr("select",{"onUpdate:modelValue":a[5]||(a[5]=e=>u.value=e),class:"form-select",onChange:re},[...a[33]||(a[33]=[Mr("option",{value:"WPA"},"WPA/WPA2",-1),Mr("option",{value:"WEP"},"WEP",-1),Mr("option",{value:"nopass"},"无密码",-1)])],544),[[_i,u.value]])])])):Rr("",!0),"contact"===s.value?(Cr(),Tr("div",HH,[Mr("div",$H,[a[35]||(a[35]=Mr("label",{class:"form-label"},"姓名",-1)),ca(Mr("input",{"onUpdate:modelValue":a[6]||(a[6]=e=>d.value=e),type:"text",class:"form-input",placeholder:"联系人姓名",onInput:re},null,544),[[bi,d.value]])]),Mr("div",YH,[a[36]||(a[36]=Mr("label",{class:"form-label"},"电话",-1)),ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>h.value=e),type:"tel",class:"form-input",placeholder:"电话号码",onInput:re},null,544),[[bi,h.value]])]),Mr("div",GH,[a[37]||(a[37]=Mr("label",{class:"form-label"},"邮箱",-1)),ca(Mr("input",{"onUpdate:modelValue":a[8]||(a[8]=e=>p.value=e),type:"email",class:"form-input",placeholder:"邮箱地址",onInput:re},null,544),[[bi,p.value]])])])):Rr("",!0),"email"===s.value?(Cr(),Tr("div",WH,[Mr("div",VH,[a[38]||(a[38]=Mr("label",{class:"form-label"},"收件人",-1)),ca(Mr("input",{"onUpdate:modelValue":a[9]||(a[9]=e=>f.value=e),type:"email",class:"form-input",placeholder:"收件人邮箱地址",onInput:re},null,544),[[bi,f.value]])]),Mr("div",KH,[a[39]||(a[39]=Mr("label",{class:"form-label"},"主题",-1)),ca(Mr("input",{"onUpdate:modelValue":a[10]||(a[10]=e=>m.value=e),type:"text",class:"form-input",placeholder:"邮件主题",onInput:re},null,544),[[bi,m.value]])]),Mr("div",JH,[a[40]||(a[40]=Mr("label",{class:"form-label"},"内容",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[11]||(a[11]=e=>g.value=e),class:"form-textarea",placeholder:"邮件内容...",onInput:re},null,544),[[bi,g.value]])])])):Rr("",!0),"phone"===s.value?(Cr(),Tr("div",qH,[Mr("div",ZH,[a[41]||(a[41]=Mr("label",{class:"form-label"},"电话号码",-1)),ca(Mr("input",{"onUpdate:modelValue":a[12]||(a[12]=e=>y.value=e),type:"tel",class:"form-input",placeholder:"请输入电话号码",onInput:re},null,544),[[bi,y.value]])])])):Rr("",!0),"sms"===s.value?(Cr(),Tr("div",XH,[Mr("div",QH,[a[42]||(a[42]=Mr("label",{class:"form-label"},"手机号码",-1)),ca(Mr("input",{"onUpdate:modelValue":a[13]||(a[13]=e=>v.value=e),type:"tel",class:"form-input",placeholder:"接收短信的手机号码",onInput:re},null,544),[[bi,v.value]])]),Mr("div",e$,[a[43]||(a[43]=Mr("label",{class:"form-label"},"短信内容",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[14]||(a[14]=e=>b.value=e),class:"form-textarea",placeholder:"短信内容...",onInput:re},null,544),[[bi,b.value]])])])):Rr("",!0),"location"===s.value?(Cr(),Tr("div",t$,[Mr("div",a$,[Mr("div",n$,[a[45]||(a[45]=Mr("label",{class:"form-label"},"选择位置",-1)),Mr("div",r$,[Mr("div",s$,[ca(Mr("input",{"onUpdate:modelValue":a[15]||(a[15]=e=>C.value=e),type:"text",class:"search-input",placeholder:"搜索地点...",onInput:ee,onKeyup:Pi(ae,["enter"]),onFocus:ee,onBlur:te},null,544),[[bi,C.value]]),D.value&&F.value.length>0?(Cr(),Tr("div",i$,[(Cr(!0),Tr(br,null,yn(F.value,(e,a)=>(Cr(),Tr("div",{key:a,class:"suggestion-item",onClick:a=>(e=>{const a=e.point.lat.toFixed(6),n=e.point.lng.toFixed(6),r=e.title;q(a,n,r),C.value=e.title,D.value=!1,t(`已选择位置: ${r}`)})(e)},[Mr("div",l$,se(e.title),1),Mr("div",c$,se(e.address),1)],8,o$))),128))])):Rr("",!0)]),Mr("button",{onClick:ae,class:"search-btn"},"搜索"),Mr("button",{onClick:Z,class:"location-btn"},"定位"),Mr("div",u$,[ca(Mr("select",{"onUpdate:modelValue":a[16]||(a[16]=e=>_.value=e),class:"format-select",onChange:re},[...a[44]||(a[44]=[Lr('',6)])],544),[[_i,_.value]])])])]),Mr("div",d$,[Mr("div",{ref_key:"mapContainer",ref:E,id:"mapContainer",class:"map-canvas"},null,512),A.value?Rr("",!0):(Cr(),Tr("div",h$,[...a[46]||(a[46]=[Mr("div",{class:"loading-text"},"正在加载地图...",-1)])]))]),w.value&&x.value?(Cr(),Tr("div",p$,[Mr("div",f$,[a[47]||(a[47]=Mr("span",{class:"location-label"},"位置名称:",-1)),Mr("span",m$,se(k.value||"未命名位置"),1)]),Mr("div",g$,[a[48]||(a[48]=Mr("span",{class:"location-label"},"坐标:",-1)),Mr("span",y$,se(w.value)+", "+se(x.value),1)])])):Rr("",!0)])])):Rr("",!0)]),Mr("div",v$,[a[66]||(a[66]=Mr("h3",null,"二维码设置",-1)),Mr("div",b$,[Mr("div",w$,[Mr("div",x$,[Mr("div",k$,[a[50]||(a[50]=Mr("label",{class:"style-label"},"码点形状:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[17]||(a[17]=e=>U.value=e),class:"style-select",onChange:re},[...a[49]||(a[49]=[Lr('',14)])],544),[[_i,U.value]])]),Mr("div",_$,[a[51]||(a[51]=Mr("label",{class:"style-label"},"码眼形状:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[18]||(a[18]=e=>j.value=e),class:"style-select",onChange:re},[(Cr(),Tr(br,null,yn($,e=>Mr("option",{key:e.id,value:e.id},se(e.name),9,E$)),64))],544),[[_i,j.value]])])]),"custom"===j.value?(Cr(),Tr("div",C$,[Mr("div",F$,[a[52]||(a[52]=Mr("label",{class:"style-label"},"码外眼颜色:",-1)),Mr("div",D$,[Mr("div",{class:"color-preview",style:K({backgroundColor:L.value})},null,4),ca(Mr("input",{"onUpdate:modelValue":a[19]||(a[19]=e=>L.value=e),type:"color",class:"color-input-hidden",onChange:re},null,544),[[bi,L.value]])])]),Mr("div",A$,[a[53]||(a[53]=Mr("label",{class:"style-label"},"码内眼颜色:",-1)),Mr("div",T$,[Mr("div",{class:"color-preview",style:K({backgroundColor:R.value})},null,4),ca(Mr("input",{"onUpdate:modelValue":a[20]||(a[20]=e=>R.value=e),type:"color",class:"color-input-hidden",onChange:re},null,544),[[bi,R.value]])])])])):Rr("",!0),Mr("div",S$,[Mr("div",I$,[a[54]||(a[54]=Mr("label",{class:"style-label"},"码颜色:",-1)),Mr("div",N$,[Mr("div",{class:"color-preview",style:K({backgroundColor:B.value})},null,4),ca(Mr("input",{"onUpdate:modelValue":a[21]||(a[21]=e=>B.value=e),type:"color",class:"color-input-hidden",onChange:re},null,544),[[bi,B.value]])])]),Mr("div",P$,[a[55]||(a[55]=Mr("label",{class:"style-label"},"码背景色:",-1)),Mr("div",B$,[Mr("div",{class:"color-preview",style:K({backgroundColor:M.value})},null,4),ca(Mr("input",{"onUpdate:modelValue":a[22]||(a[22]=e=>M.value=e),type:"color",class:"color-input-hidden",onChange:re},null,544),[[bi,M.value]])])])])])]),Mr("div",M$,[a[63]||(a[63]=Mr("h4",{class:"section-title"},"尺寸设置",-1)),Mr("div",O$,[Mr("div",U$,[Mr("div",j$,[a[57]||(a[57]=Mr("label",{class:"style-label"},"标准尺寸:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[23]||(a[23]=e=>I.value=e),class:"style-select",onChange:re},[...a[56]||(a[56]=[Lr('',5)])],544),[[_i,I.value]])]),Mr("div",L$,[a[59]||(a[59]=Mr("label",{class:"style-label"},"容错率:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[24]||(a[24]=e=>O.value=e),class:"style-select",onChange:re},[...a[58]||(a[58]=[Mr("option",{value:"L"},"7%",-1),Mr("option",{value:"M"},"15%",-1),Mr("option",{value:"Q"},"25%",-1),Mr("option",{value:"H"},"30%",-1)])],544),[[_i,O.value]])])]),Mr("div",R$,[Mr("div",z$,[a[60]||(a[60]=Mr("label",{class:"style-label"},"边距:",-1)),ca(Mr("input",{"onUpdate:modelValue":a[25]||(a[25]=e=>P.value=e),type:"number",min:"0",max:"10",class:"style-input",onInput:re},null,544),[[bi,P.value]])]),Mr("div",H$,[a[62]||(a[62]=Mr("label",{class:"style-label"},"版本:",-1)),ca(Mr("select",{"onUpdate:modelValue":a[26]||(a[26]=e=>N.value=e),class:"style-select",onChange:re},[...a[61]||(a[61]=[Lr('',6)])],544),[[_i,N.value]])])])])]),Mr("div",$$,[a[65]||(a[65]=Mr("h4",{class:"section-title"},"Logo设置",-1)),Mr("div",Y$,[Mr("input",{ref_key:"logoInput",ref:W,type:"file",accept:"image/*",onChange:xe,style:{display:"none"}},null,544),Y.value?(Cr(),Tr("div",G$,[Mr("img",{src:Y.value,alt:"Logo",class:"logo-image"},null,8,W$),Mr("div",{class:"logo-info"},[a[64]||(a[64]=Mr("span",{class:"logo-name"},"Logo已上传",-1)),Mr("button",{onClick:ke,class:"logo-remove-btn"},"移除")])])):(Cr(),Tr("button",{key:0,onClick:we,class:"logo-upload-btn"}," 上传Logo ")),Y.value?(Cr(),Tr("div",V$,[Mr("label",K$,"大小: "+se(G.value)+"%",1),ca(Mr("input",{"onUpdate:modelValue":a[27]||(a[27]=e=>G.value=e),type:"range",min:"10",max:"30",step:"1",class:"logo-slider",onInput:re},null,544),[[bi,G.value]])])):Rr("",!0)])])])]),Mr("div",J$,[Mr("div",q$,[a[67]||(a[67]=Mr("h3",null,"二维码预览",-1)),Mr("div",Z$,se(Ce()),1)]),Mr("div",X$,[V.value?(Cr(),Tr("div",Q$,[Mr("div",eY,[Mr("img",{src:V.value,alt:"二维码: "+ne(),class:"qr-image"},null,8,tY)]),Mr("div",aY,[Mr("div",nY,se(ne()),1),Mr("div",rY,[Mr("div",sY,[a[68]||(a[68]=Mr("span",{class:"stat-label"},"内容长度:",-1)),Mr("span",iY,se(ne().length)+" 字符",1)]),Mr("div",oY,[a[69]||(a[69]=Mr("span",{class:"stat-label"},"尺寸:",-1)),Mr("span",lY,se(I.value)+"x"+se(I.value)+"px",1)]),Mr("div",cY,[a[70]||(a[70]=Mr("span",{class:"stat-label"},"容错率:",-1)),Mr("span",uY,se(Fe()),1)])]),"sms"===s.value||"phone"===s.value||"email"===s.value?(Cr(),Tr("button",{key:0,onClick:De,class:"test-link-btn"}," 测试链接 ")):Rr("",!0)])])):(Cr(),Tr("div",dY,[...a[71]||(a[71]=[Mr("h4",null,"二维码预览",-1),Mr("p",null,"输入内容后将显示二维码",-1)])]))])])])]))}}),pY=Wi(hY,[["__scopeId","data-v-ed92a709"]]),fY={class:"crontab-generator"},mY={class:"mode-toggle"},gY={class:"generator-content"},yY={class:"config-section"},vY={key:0,class:"visual-config"},bY={class:"config-grid"},wY={class:"config-item"},xY={key:1,class:"interval-compact"},kY={key:2,class:"range-compact"},_Y={class:"config-item"},EY={key:1,class:"interval-compact"},CY={key:2,class:"range-compact"},FY={class:"config-item"},DY={key:1,class:"interval-compact"},AY={key:2,class:"range-compact"},TY={class:"config-item"},SY={key:1,class:"interval-compact"},IY={key:2,class:"range-compact"},NY={class:"config-item"},PY={key:1,class:"range-compact"},BY={class:"presets-section"},MY={class:"presets-grid"},OY=["onClick"],UY={class:"preset-name"},jY={class:"preset-desc"},LY={class:"preset-cron"},RY={key:1,class:"manual-config"},zY={class:"manual-input-section"},HY={class:"cron-input-wrapper"},$Y={class:"result-section"},YY={class:"result-content"},GY={class:"cron-display"},WY={class:"cron-expression"},VY={class:"cron-code"},KY={class:"cron-description"},JY={class:"desc-text"},qY={class:"field-explanation"},ZY={class:"field-grid"},XY={class:"field-item"},QY={class:"field-value"},eG={class:"field-item"},tG={class:"field-value"},aG={class:"field-item"},nG={class:"field-value"},rG={class:"field-item"},sG={class:"field-value"},iG={class:"field-item"},oG={class:"field-value"},lG={class:"next-execution"},cG={class:"execution-list"},uG={class:"execution-time"},dG=$a({__name:"CrontabGenerator",emits:["back"],setup(e){il("crontab-generator");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"crontab-generator"===e.id);if(t)return t.title}return"Crontab表达式生成器"}),s=St("visual"),i=St({minute:{type:"*",value:0,interval:1,start:0,end:59},hour:{type:"*",value:0,interval:1,start:0,end:23},day:{type:"*",value:1,interval:1,start:1,end:31},month:{type:"*",value:1,interval:1,start:1,end:12},weekday:{type:"*",value:0,start:0,end:6}}),o=St("* * * * *"),l=[{name:"每分钟",desc:"每分钟执行一次",cron:"* * * * *"},{name:"每5分钟",desc:"每5分钟执行一次",cron:"*/5 * * * *"},{name:"每10分钟",desc:"每10分钟执行一次",cron:"*/10 * * * *"},{name:"每15分钟",desc:"每15分钟执行一次",cron:"*/15 * * * *"},{name:"每30分钟",desc:"每30分钟执行一次",cron:"*/30 * * * *"},{name:"每小时",desc:"每小时整点执行",cron:"0 * * * *"},{name:"每2小时",desc:"每2小时执行一次",cron:"0 */2 * * *"},{name:"每3小时",desc:"每3小时执行一次",cron:"0 */3 * * *"},{name:"每4小时",desc:"每4小时执行一次",cron:"0 */4 * * *"},{name:"每6小时",desc:"每6小时执行一次",cron:"0 */6 * * *"},{name:"每12小时",desc:"每12小时执行一次",cron:"0 */12 * * *"},{name:"每天午夜",desc:"每天0点执行",cron:"0 0 * * *"},{name:"每天凌晨2点",desc:"每天凌晨2点执行",cron:"0 2 * * *"},{name:"每天早上6点",desc:"每天早上6点执行",cron:"0 6 * * *"},{name:"每天早上9点",desc:"每天上午9点执行",cron:"0 9 * * *"},{name:"每天中午",desc:"每天12点执行",cron:"0 12 * * *"},{name:"每天晚上6点",desc:"每天下午6点执行",cron:"0 18 * * *"},{name:"每天晚上10点",desc:"每天晚上10点执行",cron:"0 22 * * *"},{name:"工作日9点",desc:"周一到周五9点执行",cron:"0 9 * * 1-5"},{name:"工作日下班",desc:"周一到周五18点执行",cron:"0 18 * * 1-5"},{name:"工作日午休",desc:"周一到周五12点执行",cron:"0 12 * * 1-5"},{name:"每周一",desc:"每周一0点执行",cron:"0 0 * * 1"},{name:"每周五",desc:"每周五0点执行",cron:"0 0 * * 5"},{name:"每周日",desc:"每周日0点执行",cron:"0 0 * * 0"},{name:"周末",desc:"每周六日0点执行",cron:"0 0 * * 0,6"},{name:"每月1号",desc:"每月1号0点执行",cron:"0 0 1 * *"},{name:"每月15号",desc:"每月15号0点执行",cron:"0 0 15 * *"},{name:"每月最后一天",desc:"每月最后一天0点执行",cron:"0 0 L * *"},{name:"每季度",desc:"每季度第一天执行",cron:"0 0 1 */3 *"},{name:"每半年",desc:"每半年第一天执行",cron:"0 0 1 */6 *"},{name:"每年元旦",desc:"每年1月1日执行",cron:"0 0 1 1 *"}],c=is(()=>{if("manual"===s.value)return o.value;const e=[];return e.push(f(i.value.minute)),e.push(f(i.value.hour)),e.push(f(i.value.day)),e.push(f(i.value.month)),e.push(f(i.value.weekday)),e.join(" ")}),u=is(()=>w(c.value)),d=is(()=>k(c.value,5)),h=e=>{s.value=e,"manual"===e&&(o.value=c.value)},p=(e,t,a)=>{if("*"===e)return{type:"*",value:t,interval:1,start:t,end:a};if(e.includes("/")){return{type:"interval",value:t,interval:parseInt(e.split("/")[1]||"1"),start:t,end:a}}if(e.includes("-")){const[n,r]=e.split("-");return{type:"range",value:t,interval:1,start:parseInt(n||t.toString()),end:parseInt(r||a.toString())}}return{type:"specific",value:parseInt(e),interval:1,start:t,end:a}},f=e=>{switch(e.type){case"*":default:return"*";case"specific":return e.value.toString();case"interval":return`*/${e.interval}`;case"range":return`${e.start}-${e.end}`}},m=()=>{},g=()=>{try{v(o.value),t("Cron表达式格式正确")}catch(e){a(`Cron表达式格式错误: ${e.message}`)}},y=()=>{try{v(o.value),t("Cron表达式验证通过")}catch(e){a(`验证失败: ${e.message}`)}},v=e=>{const t=e.trim().split(/\s+/);if(5!==t.length)throw new Error("Cron表达式必须包含5个字段");const a=[{min:0,max:59,name:"分钟"},{min:0,max:23,name:"小时"},{min:1,max:31,name:"日期"},{min:1,max:12,name:"月份"},{min:0,max:7,name:"星期"}];t.forEach((e,t)=>{if("*"===e)return;const n=a[t];if(e.includes("/")){const[t,a]=e.split("/");if("*"!==t&&n&&!b(t||"*",n))throw new Error(`${n?.name||"字段"}格式错误: ${e}`);const r=parseInt(a||"0");if(isNaN(r)||r<=0)throw new Error(`${n?.name||"字段"}间隔值无效: ${a??"undefined"}`);return}if(e.includes("-")){const[t,a]=e.split("-"),r=parseInt(t||"0"),s=parseInt(a||"0");if(isNaN(r)||isNaN(s)||n&&(rn.max||sn.max)||r>=s)throw new Error(`${n?.name||"字段"}范围无效: ${e}`);return}if(e.includes(",")){const t=e.split(",");for(const e of t){const t=parseInt(e);if(isNaN(t)||n&&(tn.max))throw new Error(`${n?.name||"字段"}值无效: ${e}`)}return}const r=parseInt(e);if(isNaN(r)||n&&(rn.max))throw new Error(`${n?.name||"字段"}值无效: ${e}`)})},b=(e,t)=>{if("*"===e)return!0;const a=parseInt(e);return!isNaN(a)&&a>=t.min&&a<=t.max},w=e=>{try{const t=e.split(" ");if(5!==t.length)return"无效的Cron表达式";const[a,n,r,s,i]=t;let o="";if(s&&"*"!==s)if(s.includes("/")){o+=`每${s.split("/")[1]}个月`}else if(s.includes("-")){const[e,t]=s.split("-");o+=`${e}月到${t}月`}else o+=`${s}月`;if("*"===r&&"*"===i)o+=o?"的每天":"每天";else if(r&&"*"!==r&&"*"===i)if(r.includes("/")){const e=r.split("/")[1];o+=o?`的每${e}天`:`每${e}天`}else if(r.includes("-")){const[e,t]=r.split("-");o+=o?`的${e}号到${t}号`:`每月${e}号到${t}号`}else o+=o?`的${r}号`:`每月${r}号`;else if("*"===r&&i&&"*"!==i){const e=["日","一","二","三","四","五","六","日"];if(i.includes("-")){const[t,a]=i.split("-"),n=parseInt(t||"0"),r=parseInt(a||"0");o+=o?`的每周${e[n]}到周${e[r]}`:`每周${e[n]}到周${e[r]}`}else{const t=parseInt(i);o+=o?`的每周${e[t]}`:`每周${e[t]}`}}if(n&&"*"===n)o+="的每小时";else if(n&&n.includes("/")){o+=`的每${n.split("/")[1]}小时`}else if(n&&n.includes("-")){const[e,t]=n.split("-");o+=`的${e}点到${t}点`}else n&&(o+=`的${n}点`);if(a&&"*"===a)o+="每分钟";else if(a&&a.includes("/")){o+=`每${a.split("/")[1]}分钟`}else a&&(o+=`${a}分`);return o+"执行"}catch(t){return"无法解析Cron表达式"}},x=e=>c.value.split(" ")[{minute:0,hour:1,day:2,month:3,weekday:4}[e]]||"*",k=(e,t)=>{try{if(!e||"* * * * *"===e){const e=[],a=new Date;for(let n=0;n0?a:["无法计算执行时间"]}catch(a){return["无法计算执行时间"]}},_=(e,t)=>{try{const a=e.split(" ");if(5!==a.length)return null;const n=a[0]||"*",r=a[1]||"*",s=a[2]||"*",i=a[3]||"*",o=a[4]||"*";let l=new Date(t);l.setSeconds(0,0),l.setMinutes(l.getMinutes()+1);const c=new Date(t.getTime()+31536e6);for(;l<=c;){if(E(l,n,r,s,i,o))return l;l.setMinutes(l.getMinutes()+1)}return null}catch(a){return null}},E=(e,t,a,n,r,s)=>{const i=e.getMinutes(),o=e.getHours(),l=e.getDate(),c=e.getMonth()+1,u=e.getDay();return C(i,t,0,59)&&C(o,a,0,23)&&C(l,n,1,31)&&C(c,r,1,12)&&C(u,s,0,7)},C=(e,t,a,n)=>{if("*"===t)return!0;if(t.includes("/")){const a=t.split("/"),n=a[0]||"*",r=a[1]||"1",s=parseInt(r);if("*"===n)return e%s===0;{const t=parseInt(n);return e>=t&&(e-t)%s===0}}if(t.includes("-")){const r=t.split("-"),s=r[0]||a.toString(),i=r[1]||n.toString(),o=parseInt(s),l=parseInt(i);return e>=o&&e<=l}if(t.includes(",")){return t.split(",").map(e=>parseInt(e.trim())).includes(e)}const r=parseInt(t||"0");if(0===a&&7===n){if(7===r&&0===e)return!0;if(0===r&&0===e)return!0}return e===r},F=async()=>{if(c.value)try{await n(c.value),t("Cron表达式已复制到剪贴板")}catch(e){a("复制失败")}else a("没有可复制的内容")},D=()=>{i.value={minute:{type:"*",value:0,interval:1,start:0,end:59},hour:{type:"*",value:0,interval:1,start:0,end:23},day:{type:"*",value:1,interval:1,start:1,end:31},month:{type:"*",value:1,interval:1,start:1,end:12},weekday:{type:"*",value:0,start:0,end:6}},o.value="* * * * *",s.value="visual",t("已清空所有配置")};return nn(()=>{}),(e,a)=>(Cr(),Tr("div",fY,[Or(hl,{title:r.value,onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",mY,[Mr("button",{class:Q(["mode-btn",{active:"visual"===s.value}]),onClick:a[0]||(a[0]=e=>h("visual"))}," 可视化 ",2),Mr("button",{class:Q(["mode-btn",{active:"manual"===s.value}]),onClick:a[1]||(a[1]=e=>h("manual"))}," 手动输入 ",2)]),Or(jl,{icon:"copy",tooltip:"复制表达式",onClick:F,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:D})]),_:1},8,["title"]),Mr("div",gY,[Mr("div",yY,[a[57]||(a[57]=Mr("div",{class:"section-header"},[Mr("h3",null,"定时配置")],-1)),"visual"===s.value?(Cr(),Tr("div",vY,[Mr("div",bY,[Mr("div",wY,[a[32]||(a[32]=Mr("label",{class:"config-label"},"分钟",-1)),ca(Mr("select",{"onUpdate:modelValue":a[3]||(a[3]=e=>i.value.minute.type=e),class:"config-select-compact",onChange:m},[...a[28]||(a[28]=[Mr("option",{value:"*"},"每分钟",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"interval"},"间隔",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.minute.type]]),"specific"===i.value.minute.type?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":a[4]||(a[4]=e=>i.value.minute.value=e),type:"number",min:"0",max:"59",class:"config-input-compact",onInput:m,placeholder:"0-59"},null,544)),[[bi,i.value.minute.value]]):Rr("",!0),"interval"===i.value.minute.type?(Cr(),Tr("div",xY,[a[29]||(a[29]=Mr("span",null,"每",-1)),ca(Mr("input",{"onUpdate:modelValue":a[5]||(a[5]=e=>i.value.minute.interval=e),type:"number",min:"1",max:"59",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.minute.interval]]),a[30]||(a[30]=Mr("span",null,"分",-1))])):Rr("",!0),"range"===i.value.minute.type?(Cr(),Tr("div",kY,[ca(Mr("input",{"onUpdate:modelValue":a[6]||(a[6]=e=>i.value.minute.start=e),type:"number",min:"0",max:"59",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.minute.start]]),a[31]||(a[31]=Mr("span",null,"-",-1)),ca(Mr("input",{"onUpdate:modelValue":a[7]||(a[7]=e=>i.value.minute.end=e),type:"number",min:"0",max:"59",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.minute.end]])])):Rr("",!0)]),Mr("div",_Y,[a[37]||(a[37]=Mr("label",{class:"config-label"},"小时",-1)),ca(Mr("select",{"onUpdate:modelValue":a[8]||(a[8]=e=>i.value.hour.type=e),class:"config-select-compact",onChange:m},[...a[33]||(a[33]=[Mr("option",{value:"*"},"每小时",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"interval"},"间隔",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.hour.type]]),"specific"===i.value.hour.type?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":a[9]||(a[9]=e=>i.value.hour.value=e),type:"number",min:"0",max:"23",class:"config-input-compact",onInput:m,placeholder:"0-23"},null,544)),[[bi,i.value.hour.value]]):Rr("",!0),"interval"===i.value.hour.type?(Cr(),Tr("div",EY,[a[34]||(a[34]=Mr("span",null,"每",-1)),ca(Mr("input",{"onUpdate:modelValue":a[10]||(a[10]=e=>i.value.hour.interval=e),type:"number",min:"1",max:"23",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.hour.interval]]),a[35]||(a[35]=Mr("span",null,"时",-1))])):Rr("",!0),"range"===i.value.hour.type?(Cr(),Tr("div",CY,[ca(Mr("input",{"onUpdate:modelValue":a[11]||(a[11]=e=>i.value.hour.start=e),type:"number",min:"0",max:"23",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.hour.start]]),a[36]||(a[36]=Mr("span",null,"-",-1)),ca(Mr("input",{"onUpdate:modelValue":a[12]||(a[12]=e=>i.value.hour.end=e),type:"number",min:"0",max:"23",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.hour.end]])])):Rr("",!0)]),Mr("div",FY,[a[42]||(a[42]=Mr("label",{class:"config-label"},"日期",-1)),ca(Mr("select",{"onUpdate:modelValue":a[13]||(a[13]=e=>i.value.day.type=e),class:"config-select-compact",onChange:m},[...a[38]||(a[38]=[Mr("option",{value:"*"},"每天",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"interval"},"间隔",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.day.type]]),"specific"===i.value.day.type?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":a[14]||(a[14]=e=>i.value.day.value=e),type:"number",min:"1",max:"31",class:"config-input-compact",onInput:m,placeholder:"1-31"},null,544)),[[bi,i.value.day.value]]):Rr("",!0),"interval"===i.value.day.type?(Cr(),Tr("div",DY,[a[39]||(a[39]=Mr("span",null,"每",-1)),ca(Mr("input",{"onUpdate:modelValue":a[15]||(a[15]=e=>i.value.day.interval=e),type:"number",min:"1",max:"31",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.day.interval]]),a[40]||(a[40]=Mr("span",null,"天",-1))])):Rr("",!0),"range"===i.value.day.type?(Cr(),Tr("div",AY,[ca(Mr("input",{"onUpdate:modelValue":a[16]||(a[16]=e=>i.value.day.start=e),type:"number",min:"1",max:"31",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.day.start]]),a[41]||(a[41]=Mr("span",null,"-",-1)),ca(Mr("input",{"onUpdate:modelValue":a[17]||(a[17]=e=>i.value.day.end=e),type:"number",min:"1",max:"31",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.day.end]])])):Rr("",!0)]),Mr("div",TY,[a[47]||(a[47]=Mr("label",{class:"config-label"},"月份",-1)),ca(Mr("select",{"onUpdate:modelValue":a[18]||(a[18]=e=>i.value.month.type=e),class:"config-select-compact",onChange:m},[...a[43]||(a[43]=[Mr("option",{value:"*"},"每月",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"interval"},"间隔",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.month.type]]),"specific"===i.value.month.type?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":a[19]||(a[19]=e=>i.value.month.value=e),type:"number",min:"1",max:"12",class:"config-input-compact",onInput:m,placeholder:"1-12"},null,544)),[[bi,i.value.month.value]]):Rr("",!0),"interval"===i.value.month.type?(Cr(),Tr("div",SY,[a[44]||(a[44]=Mr("span",null,"每",-1)),ca(Mr("input",{"onUpdate:modelValue":a[20]||(a[20]=e=>i.value.month.interval=e),type:"number",min:"1",max:"12",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.month.interval]]),a[45]||(a[45]=Mr("span",null,"月",-1))])):Rr("",!0),"range"===i.value.month.type?(Cr(),Tr("div",IY,[ca(Mr("input",{"onUpdate:modelValue":a[21]||(a[21]=e=>i.value.month.start=e),type:"number",min:"1",max:"12",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.month.start]]),a[46]||(a[46]=Mr("span",null,"-",-1)),ca(Mr("input",{"onUpdate:modelValue":a[22]||(a[22]=e=>i.value.month.end=e),type:"number",min:"1",max:"12",class:"config-input-tiny",onInput:m},null,544),[[bi,i.value.month.end]])])):Rr("",!0)]),Mr("div",NY,[a[53]||(a[53]=Mr("label",{class:"config-label"},"星期",-1)),ca(Mr("select",{"onUpdate:modelValue":a[23]||(a[23]=e=>i.value.weekday.type=e),class:"config-select-compact",onChange:m},[...a[48]||(a[48]=[Mr("option",{value:"*"},"每天",-1),Mr("option",{value:"specific"},"指定",-1),Mr("option",{value:"range"},"范围",-1)])],544),[[_i,i.value.weekday.type]]),"specific"===i.value.weekday.type?ca((Cr(),Tr("select",{key:0,"onUpdate:modelValue":a[24]||(a[24]=e=>i.value.weekday.value=e),class:"config-select-compact",onChange:m},[...a[49]||(a[49]=[Lr('',7)])],544)),[[_i,i.value.weekday.value]]):Rr("",!0),"range"===i.value.weekday.type?(Cr(),Tr("div",PY,[ca(Mr("select",{"onUpdate:modelValue":a[25]||(a[25]=e=>i.value.weekday.start=e),class:"config-select-tiny",onChange:m},[...a[50]||(a[50]=[Lr('',7)])],544),[[_i,i.value.weekday.start]]),a[52]||(a[52]=Mr("span",null,"-",-1)),ca(Mr("select",{"onUpdate:modelValue":a[26]||(a[26]=e=>i.value.weekday.end=e),class:"config-select-tiny",onChange:m},[...a[51]||(a[51]=[Lr('',7)])],544),[[_i,i.value.weekday.end]])])):Rr("",!0)])]),Mr("div",BY,[a[54]||(a[54]=Mr("h4",{class:"presets-title"},"常用预设",-1)),Mr("div",MY,[(Cr(),Tr(br,null,yn(l,e=>Mr("button",{key:e.name,class:"preset-btn",onClick:a=>(e=>{const a=e.split(" ");if(5!==a.length)return;const[n,r,o,l,c]=a;n&&(i.value.minute=p(n,0,59)),r&&(i.value.hour=p(r,0,23)),o&&(i.value.day=p(o,1,31)),l&&(i.value.month=p(l,1,12)),c&&(i.value.weekday=p(c,0,6)),s.value="visual",t("已应用预设配置")})(e.cron)},[Mr("div",UY,se(e.name),1),Mr("div",jY,se(e.desc),1),Mr("div",LY,se(e.cron),1)],8,OY)),64))])])])):Rr("",!0),"manual"===s.value?(Cr(),Tr("div",RY,[Mr("div",zY,[a[55]||(a[55]=Mr("label",{class:"section-label"},"Cron表达式",-1)),Mr("div",HY,[ca(Mr("input",{"onUpdate:modelValue":a[27]||(a[27]=e=>o.value=e),type:"text",class:"cron-input",placeholder:"* * * * *",onInput:g},null,544),[[bi,o.value]]),Or(jl,{icon:"validate",tooltip:"验证表达式",onClick:y})]),a[56]||(a[56]=Mr("div",{class:"cron-format-help"},[Mr("span",{class:"format-text"},"格式:分钟 小时 日期 月份 星期")],-1))])])):Rr("",!0)]),Mr("div",$Y,[a[72]||(a[72]=Mr("div",{class:"section-header"},[Mr("h3",null,"生成结果")],-1)),Mr("div",YY,[Mr("div",GY,[Mr("div",WY,[a[58]||(a[58]=Mr("span",{class:"cron-label"},"Cron表达式:",-1)),Mr("code",VY,se(c.value||"* * * * *"),1)]),Mr("div",KY,[a[59]||(a[59]=Mr("span",{class:"desc-label"},"执行时间:",-1)),Mr("span",JY,se(u.value),1)])]),Mr("div",qY,[a[70]||(a[70]=Mr("h4",null,"字段说明",-1)),Mr("div",ZY,[Mr("div",XY,[a[60]||(a[60]=Mr("span",{class:"field-name"},"分钟",-1)),Mr("span",QY,se(x("minute")),1),a[61]||(a[61]=Mr("span",{class:"field-desc"},"0-59",-1))]),Mr("div",eG,[a[62]||(a[62]=Mr("span",{class:"field-name"},"小时",-1)),Mr("span",tG,se(x("hour")),1),a[63]||(a[63]=Mr("span",{class:"field-desc"},"0-23",-1))]),Mr("div",aG,[a[64]||(a[64]=Mr("span",{class:"field-name"},"日期",-1)),Mr("span",nG,se(x("day")),1),a[65]||(a[65]=Mr("span",{class:"field-desc"},"1-31",-1))]),Mr("div",rG,[a[66]||(a[66]=Mr("span",{class:"field-name"},"月份",-1)),Mr("span",sG,se(x("month")),1),a[67]||(a[67]=Mr("span",{class:"field-desc"},"1-12",-1))]),Mr("div",iG,[a[68]||(a[68]=Mr("span",{class:"field-name"},"星期",-1)),Mr("span",oG,se(x("weekday")),1),a[69]||(a[69]=Mr("span",{class:"field-desc"},"0-7",-1))])])]),Mr("div",lG,[a[71]||(a[71]=Mr("h4",null,"下次执行时间",-1)),Mr("div",cG,[(Cr(!0),Tr(br,null,yn(d.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"execution-item"},[Mr("span",uG,se(e),1)]))),128))])])])])])]))}}),hG=Wi(dG,[["__scopeId","data-v-d47453ad"]]),pG={class:"base-converter"},fG={class:"converter-content"},mG={class:"convert-section"},gG={class:"input-panel"},yG={class:"section-header"},vG={class:"base-selector"},bG={class:"input-area"},wG=["placeholder"],xG={class:"input-info"},kG={class:"input-hint"},_G={class:"base-info"},EG={class:"examples-area"},CG={class:"examples-grid"},FG={class:"results-panel"},DG={class:"results-list"},AG={class:"result-info"},TG={class:"result-label"},SG={key:0,class:"active-indicator"},IG={class:"result-content"},NG=["value"],PG={class:"result-info"},BG={class:"result-label"},MG={key:0,class:"active-indicator"},OG={class:"result-content"},UG=["value"],jG={class:"result-info"},LG={class:"result-label"},RG={key:0,class:"active-indicator"},zG={class:"result-content"},HG=["value"],$G={class:"result-info"},YG={class:"result-label"},GG={key:0,class:"active-indicator"},WG={class:"result-content"},VG=["value"],KG={class:"result-info"},JG={class:"result-label"},qG={key:0,class:"active-indicator"},ZG={class:"result-content"},XG=["value"],QG=$a({__name:"BaseConverter",emits:["back"],setup(e){il("number-base");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"number-base"===e.id);if(t)return t.title}return"进制转换"}),s=St(""),i=St("10"),o=St({binary:"",octal:"",decimal:"",hexadecimal:"",base32:""}),l=()=>{if(s.value.trim())try{const e=parseInt(i.value),t=s.value.trim().toUpperCase();if(!c(t,e))throw new Error("输入包含无效字符");const a=parseInt(t,e);if(isNaN(a))throw new Error("无效的数值");o.value={binary:a.toString(2),octal:a.toString(8),decimal:a.toString(10),hexadecimal:a.toString(16).toUpperCase(),base32:a.toString(32).toUpperCase()}}catch(e){o.value={binary:"错误",octal:"错误",decimal:"错误",hexadecimal:"错误",base32:"错误"}}else o.value={binary:"",octal:"",decimal:"",hexadecimal:"",base32:""}},c=(e,t)=>{const a="0123456789ABCDEFGHIJKLMNOPQRSTUV".slice(0,t);return e.split("").every(e=>a.includes(e))},u=()=>{s.value="",o.value={binary:"",octal:"",decimal:"",hexadecimal:"",base32:""},t("已清空所有内容")},d=async e=>{if(!e||"错误"===e)return;await n(e)?t("已复制到剪贴板"):a("复制失败")},h=async()=>{const e={2:o.value.binary,8:o.value.octal,10:o.value.decimal,16:o.value.hexadecimal,32:o.value.base32}[i.value];e&&"错误"!==e&&await d(e)},p=e=>{s.value=e,i.value="10",l(),t(`已设置示例值: ${e}`)};return l(),(e,t)=>(Cr(),Tr("div",pG,[Or(hl,{title:r.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制结果",onClick:h}),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:u})]),_:1},8,["title"]),Mr("div",fG,[Mr("div",mG,[Mr("div",gG,[Mr("div",yG,[t[13]||(t[13]=Mr("h3",null,"数值输入",-1)),Mr("div",vG,[ca(Mr("select",{"onUpdate:modelValue":t[1]||(t[1]=e=>i.value=e),class:"base-select",onChange:l},[...t[12]||(t[12]=[Lr('',5)])],544),[[_i,i.value]])])]),Mr("div",bG,[ca(Mr("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>s.value=e),type:"text",class:"number-input",placeholder:{2:"例如: 1010",8:"例如: 755",10:"例如: 255",16:"例如: FF",32:"例如: 7V"}[i.value]||"输入数值",onInput:l},null,40,wG),[[bi,s.value]]),Mr("div",xG,[Mr("div",kG,se({2:"只能包含 0 和 1",8:"只能包含 0-7",10:"只能包含 0-9",16:"只能包含 0-9 和 A-F",32:"只能包含 0-9 和 A-V"}[i.value]||""),1),Mr("div",_G,se({2:"基数: 2 | 符号: 0,1",8:"基数: 8 | 符号: 0-7",10:"基数: 10 | 符号: 0-9",16:"基数: 16 | 符号: 0-9,A-F",32:"基数: 32 | 符号: 0-9,A-V"}[i.value]||""),1)])]),Mr("div",EG,[t[18]||(t[18]=Mr("div",{class:"examples-header"},[Mr("h4",null,"快速示例")],-1)),Mr("div",CG,[Mr("div",{class:"example-item",onClick:t[3]||(t[3]=e=>p("255"))},[...t[14]||(t[14]=[Mr("div",{class:"example-label"},"255",-1),Mr("div",{class:"example-desc"},"8位最大值",-1)])]),Mr("div",{class:"example-item",onClick:t[4]||(t[4]=e=>p("1024"))},[...t[15]||(t[15]=[Mr("div",{class:"example-label"},"1024",-1),Mr("div",{class:"example-desc"},"1KB字节数",-1)])]),Mr("div",{class:"example-item",onClick:t[5]||(t[5]=e=>p("65535"))},[...t[16]||(t[16]=[Mr("div",{class:"example-label"},"65535",-1),Mr("div",{class:"example-desc"},"16位最大值",-1)])]),Mr("div",{class:"example-item",onClick:t[6]||(t[6]=e=>p("16777215"))},[...t[17]||(t[17]=[Mr("div",{class:"example-label"},"16777215",-1),Mr("div",{class:"example-desc"},"RGB最大值",-1)])])])])]),Mr("div",FG,[t[34]||(t[34]=Lr('

    转换结果

    点击任意行复制内容
    ',1)),Mr("div",DG,[Mr("div",{class:Q(["result-row",{active:"2"===i.value}]),onClick:t[7]||(t[7]=e=>d(o.value.binary))},[Mr("div",AG,[Mr("div",TG,[t[19]||(t[19]=Mr("span",{class:"base-name"},"二进制",-1)),t[20]||(t[20]=Mr("span",{class:"base-code"},"BIN",-1)),"2"===i.value?(Cr(),Tr("span",SG,"输入")):Rr("",!0)]),t[21]||(t[21]=Mr("div",{class:"result-desc"},"计算机基础,只用0和1",-1))]),Mr("div",IG,[Mr("input",{value:o.value.binary||"0",class:"result-input",readonly:""},null,8,NG)])],2),Mr("div",{class:Q(["result-row",{active:"8"===i.value}]),onClick:t[8]||(t[8]=e=>d(o.value.octal))},[Mr("div",PG,[Mr("div",BG,[t[22]||(t[22]=Mr("span",{class:"base-name"},"八进制",-1)),t[23]||(t[23]=Mr("span",{class:"base-code"},"OCT",-1)),"8"===i.value?(Cr(),Tr("span",MG,"输入")):Rr("",!0)]),t[24]||(t[24]=Mr("div",{class:"result-desc"},"Unix权限系统常用",-1))]),Mr("div",OG,[Mr("input",{value:o.value.octal||"0",class:"result-input",readonly:""},null,8,UG)])],2),Mr("div",{class:Q(["result-row",{active:"10"===i.value}]),onClick:t[9]||(t[9]=e=>d(o.value.decimal))},[Mr("div",jG,[Mr("div",LG,[t[25]||(t[25]=Mr("span",{class:"base-name"},"十进制",-1)),t[26]||(t[26]=Mr("span",{class:"base-code"},"DEC",-1)),"10"===i.value?(Cr(),Tr("span",RG,"输入")):Rr("",!0)]),t[27]||(t[27]=Mr("div",{class:"result-desc"},"日常使用的数字系统",-1))]),Mr("div",zG,[Mr("input",{value:o.value.decimal||"0",class:"result-input",readonly:""},null,8,HG)])],2),Mr("div",{class:Q(["result-row",{active:"16"===i.value}]),onClick:t[10]||(t[10]=e=>d(o.value.hexadecimal))},[Mr("div",$G,[Mr("div",YG,[t[28]||(t[28]=Mr("span",{class:"base-name"},"十六进制",-1)),t[29]||(t[29]=Mr("span",{class:"base-code"},"HEX",-1)),"16"===i.value?(Cr(),Tr("span",GG,"输入")):Rr("",!0)]),t[30]||(t[30]=Mr("div",{class:"result-desc"},"颜色代码、内存地址",-1))]),Mr("div",WG,[Mr("input",{value:o.value.hexadecimal||"0",class:"result-input",readonly:""},null,8,VG)])],2),Mr("div",{class:Q(["result-row",{active:"32"===i.value}]),onClick:t[11]||(t[11]=e=>d(o.value.base32))},[Mr("div",KG,[Mr("div",JG,[t[31]||(t[31]=Mr("span",{class:"base-name"},"三十二进制",-1)),t[32]||(t[32]=Mr("span",{class:"base-code"},"BASE32",-1)),"32"===i.value?(Cr(),Tr("span",qG,"输入")):Rr("",!0)]),t[33]||(t[33]=Mr("div",{class:"result-desc"},"数据编码、短链接",-1))]),Mr("div",ZG,[Mr("input",{value:o.value.base32||"0",class:"result-input",readonly:""},null,8,XG)])],2)])])]),t[35]||(t[35]=Lr('

    💡 进制说明

    🔢

    二进制 (Binary)

    基数:2,使用数字:0、1。计算机内部数据存储和处理的基础,每一位代表2的幂次。

    🔧

    八进制 (Octal)

    基数:8,使用数字:0-7。常用于Unix/Linux文件权限设置,如755表示rwxr-xr-x权限。

    📊

    十进制 (Decimal)

    基数:10,使用数字:0-9。日常生活中使用的标准数字系统,所有进制转换的基准。

    🎨

    十六进制 (Hexadecimal)

    基数:16,使用字符:0-9、A-F。广泛用于颜色代码(#FF0000)、内存地址、哈希值等。

    🔗

    三十二进制 (Base32)

    基数:32,使用字符:0-9、A-V。用于数据编码、短链接生成,避免易混淆字符。

    💡

    转换方法详解

    十进制转其他进制(除法取余):
    以255转二进制为例:255÷2=127余1,127÷2=63余1,63÷2=31余1,31÷2=15余1,15÷2=7余1,7÷2=3余1,3÷2=1余1,1÷2=0余1。
    将余数从下往上排列:11111111,这就是255的二进制。

    其他进制转十进制(位权相加):
    以二进制1010转十进制为例:从右往左,每一位乘以对应的权重(2的幂次)。
    1010₂ = 0×2⁰ + 1×2¹ + 0×2² + 1×2³ = 0×1 + 1×2 + 0×4 + 1×8 = 0+2+0+8 = 10

    ',1))])]))}}),eW=Wi(QG,[["__scopeId","data-v-c516d8c8"]]),tW={class:"button-group"},aW=$a({__name:"ButtonGroup",setup:e=>(e,t)=>(Cr(),Tr("div",tW,[vn(e.$slots,"default",{},void 0)]))}),nW=Wi(aW,[["__scopeId","data-v-8b57e320"]]),rW={class:"text-encoder"},sW={class:"encoding-selector"},iW={class:"header-actions"},oW=["disabled"],lW=["disabled"],cW=["disabled"],uW={class:"encoder-content"},dW={class:"main-workspace"},hW={class:"input-section"},pW={class:"section-header"},fW={class:"quick-examples"},mW={class:"text-editor"},gW={class:"section-footer"},yW={class:"stats-info"},vW={class:"stat-item"},bW={class:"stat-item"},wW={class:"stat-item"},xW={class:"output-section"},kW={class:"section-header"},_W={class:"text-editor"},EW={class:"section-footer"},CW={class:"stats-info"},FW={class:"stat-item"},DW={class:"stat-item"},AW={key:0,class:"stat-item compression"},TW=$a({__name:"TextEncoder",emits:["back"],setup(e){il("text-encoder");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("text-encoder"),{success:a,error:n}=Vo(),r=St(""),s=St(""),i=St("base64"),o=is(()=>{const e=r.value;return{characters:e.length,bytes:new Blob([e]).size,lines:e.split("\n").length}}),l=is(()=>{const e=s.value;return{characters:e.length,bytes:new Blob([e]).size,lines:e.split("\n").length}}),c=is(()=>{if(!o.value.characters||!l.value.characters)return 0;const e=(l.value.characters-o.value.characters)/o.value.characters*100;return Math.round(e)}),u=()=>{if(r.value)try{switch(i.value){case"base64":const e=(new TextEncoder).encode(r.value);s.value=btoa(String.fromCharCode(...e));break;case"url":s.value=encodeURIComponent(r.value);break;case"html":s.value=r.value.replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'");break;case"unicode":s.value=r.value.split("").map(e=>"\\u"+e.charCodeAt(0).toString(16).padStart(4,"0")).join("");break;case"ascii":s.value=r.value.split("").map(e=>e.charCodeAt(0)).join(" ")}}catch(e){s.value="转换失败",n("转换失败")}else s.value=""},d=()=>{if(s.value)try{let e="";switch(i.value){case"base64":const t=atob(s.value),a=new Uint8Array(t.length);for(let e=0;e").replace(/"/g,'"').replace(/'/g,"'");break;case"unicode":e=s.value.replace(/\\u([0-9a-fA-F]{4})/g,(e,t)=>String.fromCharCode(parseInt(t,16)));break;case"ascii":e=s.value.split(" ").map(e=>String.fromCharCode(parseInt(e))).join("")}r.value=e,a("反向转换完成")}catch(e){n("反向转换失败")}},h=async()=>{if(s.value)try{await navigator.clipboard.writeText(s.value),a("结果已复制到剪贴板")}catch(e){n("复制失败")}},p=()=>{s.value="",a("输出已清空")},f=e=>{r.value=e,u(),a("已设置示例文本")};return u(),(e,a)=>(Cr(),Tr("div",rW,[Or(hl,{title:Nt(t),onBack:a[1]||(a[1]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",sW,[ca(Mr("select",{"onUpdate:modelValue":a[0]||(a[0]=e=>i.value=e),class:"encoding-select",onChange:u},[...a[8]||(a[8]=[Mr("option",{value:"base64"},"Base64",-1),Mr("option",{value:"url"},"URL编码",-1),Mr("option",{value:"html"},"HTML实体",-1),Mr("option",{value:"unicode"},"Unicode",-1),Mr("option",{value:"ascii"},"ASCII码",-1)])],544),[[_i,i.value]])]),Mr("div",iW,[Mr("button",{class:"action-btn-small",onClick:h,title:"复制结果",disabled:!s.value},[...a[9]||(a[9]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,oW),Mr("button",{class:"action-btn-small",onClick:d,title:"反向转换",disabled:!s.value},[...a[10]||(a[10]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m3 16 4 4 4-4"}),Mr("path",{d:"M7 20V4"}),Mr("path",{d:"m21 8-4-4-4 4"}),Mr("path",{d:"M17 4v16"})],-1)])],8,lW),Mr("button",{class:"action-btn-small",onClick:p,title:"清空结果",disabled:!s.value},[...a[11]||(a[11]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,cW)])]),_:1},8,["title"]),Mr("div",uW,[Mr("div",dW,[Mr("div",hW,[Mr("div",pW,[a[12]||(a[12]=Mr("h3",null,"文本输入",-1)),Mr("div",fW,[Or(nW,null,{default:la(()=>[Mr("button",{class:"group-btn",onClick:a[2]||(a[2]=e=>f("Hello World!")),title:"基础文本示例"}," Hello "),Mr("button",{class:"group-btn",onClick:a[3]||(a[3]=e=>f("你好,世界!")),title:"中文文本示例"}," 中文 "),Mr("button",{class:"group-btn",onClick:a[4]||(a[4]=e=>f("https://example.com/path?param=value&other=123")),title:"URL链接示例"}," URL "),Mr("button",{class:"group-btn",onClick:a[5]||(a[5]=e=>f('
    Content
    ')),title:"HTML代码示例"}," HTML ")]),_:1})])]),Mr("div",mW,[ca(Mr("textarea",{"onUpdate:modelValue":a[6]||(a[6]=e=>r.value=e),class:"text-input",placeholder:"输入要转换的文本...",onInput:u},null,544),[[bi,r.value]])]),Mr("div",gW,[Mr("div",yW,[Mr("span",vW,se(o.value.characters)+" 字符",1),Mr("span",bW,se(o.value.bytes)+" 字节",1),Mr("span",wW,se(o.value.lines)+" 行",1)])])]),a[14]||(a[14]=Mr("div",{class:"divider"},null,-1)),Mr("div",xW,[Mr("div",kW,[Mr("h3",null,"转换结果 ("+se({base64:"Base64",url:"URL编码",html:"HTML实体",unicode:"Unicode",ascii:"ASCII码"}[i.value]||"未知编码")+")",1),a[13]||(a[13]=Mr("div",{class:"header-placeholder"},null,-1))]),Mr("div",_W,[ca(Mr("textarea",{"onUpdate:modelValue":a[7]||(a[7]=e=>s.value=e),class:"text-output",readonly:"",placeholder:"转换结果将显示在这里..."},null,512),[[bi,s.value]])]),Mr("div",EW,[Mr("div",CW,[Mr("span",FW,se(l.value.characters)+" 字符",1),Mr("span",DW,se(l.value.bytes)+" 字节",1),0!==c.value?(Cr(),Tr("span",AW,se(c.value>0?"增加":"减少")+" "+se(Math.abs(c.value))+"% ",1)):Rr("",!0)])])])]),a[15]||(a[15]=Lr('
    Base64编码:将文本转换为Base64格式,常用于数据传输
    URL编码:将特殊字符转换为URL安全格式
    HTML实体:将HTML特殊字符转换为实体编码
    Unicode编码:显示字符的Unicode码点表示
    ASCII码:显示字符对应的ASCII数值
    反向转换:支持将编码结果转换回原始文本
    ',1))])]))}}),SW=Wi(TW,[["__scopeId","data-v-52eddbc9"]]),IW={class:"string-counter"},NW={class:"counter-content"},PW={class:"input-section"},BW={class:"section-header"},MW={class:"quick-actions"},OW={key:0,class:"file-info"},UW={class:"file-name"},jW={class:"file-size"},LW={class:"stats-section"},RW={class:"stats-grid"},zW={class:"stat-card primary"},HW={class:"stat-content"},$W={class:"stat-value"},YW={class:"stat-card"},GW={class:"stat-content"},WW={class:"stat-value"},VW={class:"stat-card"},KW={class:"stat-content"},JW={class:"stat-value"},qW={class:"stat-card"},ZW={class:"stat-content"},XW={class:"stat-value"},QW={class:"stat-card"},eV={class:"stat-content"},tV={class:"stat-value"},aV={class:"stat-card"},nV={class:"stat-content"},rV={class:"stat-value"},sV={class:"analysis-section"},iV={class:"stats-grid"},oV={class:"stat-card"},lV={class:"stat-content"},cV={class:"stat-value"},uV={class:"stat-desc"},dV={class:"stat-card"},hV={class:"stat-content"},pV={class:"stat-value"},fV={class:"stat-desc"},mV={class:"stat-card"},gV={class:"stat-content"},yV={class:"stat-value"},vV={class:"stat-desc"},bV={class:"stat-card"},wV={class:"stat-content"},xV={class:"stat-value"},kV={class:"stat-desc"},_V={class:"stat-card"},EV={class:"stat-content"},CV={class:"stat-value"},FV={class:"stat-desc"},DV={class:"stat-card"},AV={class:"stat-content"},TV={class:"stat-value"},SV={class:"stat-desc"},IV={class:"stat-card"},NV={class:"stat-content"},PV={class:"stat-value"},BV={class:"stat-desc"},MV={class:"stat-card"},OV={class:"stat-content"},UV={class:"stat-value"},jV={class:"stat-desc"},LV={class:"detailed-analysis-section"},RV={class:"analysis-grid"},zV={class:"analysis-card"},HV={class:"analysis-item"},$V={class:"analysis-value"},YV={class:"analysis-item"},GV={class:"analysis-value"},WV={class:"analysis-item"},VV={class:"analysis-value"},KV={class:"analysis-item"},JV={class:"analysis-value"},qV={class:"analysis-item"},ZV={class:"analysis-value"},XV={class:"analysis-card"},QV={class:"analysis-item"},eK={class:"analysis-value"},tK={class:"analysis-item"},aK={class:"analysis-value"},nK={class:"analysis-item"},rK={class:"analysis-value"},sK={class:"analysis-item"},iK={class:"analysis-value"},oK={class:"analysis-item"},lK={class:"analysis-value"},cK={class:"analysis-card"},uK={class:"analysis-item"},dK={class:"analysis-item"},hK={class:"analysis-value"},pK={class:"analysis-item"},fK={class:"analysis-value"},mK={class:"analysis-item"},gK={class:"analysis-value"},yK={class:"analysis-item"},vK={class:"analysis-value"},bK={class:"analysis-card"},wK={class:"analysis-item"},xK={class:"analysis-value"},kK={class:"analysis-item"},_K={class:"analysis-value"},EK={class:"analysis-item"},CK={class:"analysis-value"},FK={class:"analysis-item"},DK={class:"analysis-value"},AK={class:"analysis-item"},TK={class:"analysis-value"},SK=$a({__name:"StringCounter",emits:["back"],setup(e){il("string-counter");const{success:t,error:a}=Vo(),n=St(""),r=St(""),s=St("success"),i=St(),o=St(null),l=bt({totalChars:0,charsNoSpace:0,bytes:0,lines:0,words:0,paragraphs:0,numbers:0,letters:0,chinese:0,symbols:0,spaces:0,uppercase:0,lowercase:0,others:0,uniqueWords:0,wordFrequencies:new Map}),c=()=>{const e=n.value,t=l.totalChars;l.totalChars=e.length,l.charsNoSpace=e.replace(/\s/g,"").length,l.bytes=new Blob([e]).size,l.lines=e?e.split("\n").length:0,l.paragraphs=e?e.split(/\n\s*\n/).filter(e=>e.trim()).length:0;const a=e.trim()?e.trim().split(/\s+/):[];l.words=a.length,l.wordFrequencies.clear(),a.forEach(e=>{const t=e.toLowerCase().replace(/[^\w\u4e00-\u9fa5]/g,"");t&&l.wordFrequencies.set(t,(l.wordFrequencies.get(t)||0)+1)}),l.uniqueWords=l.wordFrequencies.size,l.numbers=(e.match(/\d/g)||[]).length,l.letters=(e.match(/[a-zA-Z]/g)||[]).length,l.chinese=(e.match(/[\u4e00-\u9fa5]/g)||[]).length,l.uppercase=(e.match(/[A-Z]/g)||[]).length,l.lowercase=(e.match(/[a-z]/g)||[]).length,l.spaces=(e.match(/\s/g)||[]).length;const r=l.letters+l.numbers+l.chinese+l.spaces,s=(e.match(/[^\w\s\u4e00-\u9fa5]/g)||[]).length;l.symbols=s,l.others=l.totalChars-r-s,0===t&&l.totalChars>50&&R("文本已输入,统计完成","success")},u=(e,t)=>0===t?"0.0":(e/t*100).toFixed(1),d=()=>0===l.lines?"0":(l.totalChars/l.lines).toFixed(1),h=()=>{if(0===l.lines)return"0";return(n.value.split("\n").reduce((e,t)=>e+t.length,0)/l.lines).toFixed(1)},p=()=>0===l.words?"0":(l.charsNoSpace/l.words).toFixed(1),f=()=>{if(!n.value)return 0;const e=n.value.split("\n");return Math.max(...e.map(e=>e.length))},m=()=>{if(!n.value)return 0;const e=n.value.split("\n").filter(e=>e.length>0);return 0===e.length?0:Math.min(...e.map(e=>e.length))},g=()=>0===l.words?"0.0":(l.uniqueWords/l.words*100).toFixed(1),y=()=>0===l.uniqueWords?"0.0":(l.words/l.uniqueWords).toFixed(1),v=()=>0===l.wordFrequencies.size?0:Math.max(...Array.from(l.wordFrequencies.values())),b=()=>{let e=0;e+=.3*parseFloat(g());const t=parseFloat(p());e+=.25*Math.min(10*t,25);e+=.2*parseFloat(_());const a=parseFloat(E());e+=.15*Math.min(5*a,15);return e+=.1*w(),Math.min(e,100).toFixed(1)},w=()=>{if(!n.value)return 0;const e=n.value.split("\n");if(e.length<2)return 0;const t=e.map(e=>e.length),a=t.reduce((e,t)=>e+t,0)/t.length,r=t.reduce((e,t)=>e+Math.pow(t-a,2),0)/t.length,s=Math.sqrt(r);return Math.min(s/a*100,100)||0},x=()=>{const e=parseFloat(b());return e>=80?"very-high":e>=60?"high":e>=40?"medium":e>=20?"low":"very-low"},k=()=>{const e=parseFloat(b());return e>=80?"专业级":e>=60?"高级":e>=40?"中级":e>=20?"初级":"入门级"},_=()=>{if(0===l.totalChars)return"0.0";const e=l.letters/l.totalChars,t=l.chinese/l.totalChars;return(2*Math.min(e,t)*100).toFixed(1)},E=()=>u(l.symbols,l.totalChars),C=()=>u(l.numbers,l.totalChars),F=()=>{const e=l.chinese>l.letters?300:200,t=l.words/e;return t<1?`${Math.round(60*t)} 秒`:`${t.toFixed(1)} 分钟`},D=()=>{const e=l.chinese>l.letters?30:40,t=l.words/e;return t<1?`${Math.round(60*t)} 秒`:`${t.toFixed(1)} 分钟`},A=()=>{const e=l.chinese>l.letters?200:150,t=l.words/e;return t<1?`${Math.round(60*t)} 秒`:`${t.toFixed(1)} 分钟`},T=()=>{const e=l.chinese>l.letters?15:20,t=l.words/e;return t<1?`${Math.round(60*t)} 秒`:`${t.toFixed(1)} 分钟`},S=()=>{const e=l.words/10;return e<1?`${Math.round(60*e)} 秒`:`${e.toFixed(1)} 分钟`},I=async e=>{const t=e.target,a=t.files?.[0];if(a)if(a.size>5242880)R("文件大小不能超过5MB","error");else try{const e=await N(a);n.value=e,o.value={name:a.name,size:a.size},c(),R(`文件 ${a.name} 上传成功`,"success")}catch(r){R("文件读取失败","error")}},N=e=>new Promise((t,a)=>{const n=new FileReader;n.onload=e=>{const n=e.target?.result;"string"==typeof n?t(n):a(new Error("文件读取失败"))},n.onerror=a,n.readAsText(e,"UTF-8")}),P=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]},B=()=>{n.value="这是一个功能强大的字符串长度统计工具示例文本。\nThis is a comprehensive text analysis tool that supports multiple languages!\n支持中文、English、数字123、特殊符号!@#等各种字符的深度分析。\n\n主要功能特点:\n1. 基础统计:字符数、单词数、行数、段落数等\n2. 字符分析:数字、字母、中文、符号等类型分布\n3. 深度分析:字符密度、词汇丰富度、复杂度评分\n4. 时间估算:阅读、打字、语音、手写、翻译时间\n5. 文件支持:支持多种格式的文本文件上传\n6. 导出功能:一键复制或导出详细分析报告\n\nTry it out with your own text! 试试看吧!\n这个工具可以帮助您深入了解文本的各种特征和属性。",o.value=null,c(),R("已加载示例文本","success")},M=()=>{n.value="",o.value=null,i.value&&(i.value.value=""),c(),R("已清空所有内容","success")},O=async()=>{const e=j();try{await navigator.clipboard.writeText(e),R("统计结果已复制到剪贴板","success")}catch(t){R("复制失败","error")}},U=()=>{const e=L(),t=new Blob([e],{type:"text/plain;charset=utf-8"}),a=URL.createObjectURL(t),n=document.createElement("a");n.href=a,n.download=`文本分析报告_${(new Date).toISOString().slice(0,10)}.txt`,n.click(),URL.revokeObjectURL(a),R("分析报告已导出","success")},j=()=>`文本统计结果\n================\n总字符数: ${l.totalChars}\n不含空格: ${l.charsNoSpace}\n字节数: ${l.bytes}\n行数: ${l.lines}\n单词数: ${l.words}\n段落数: ${l.paragraphs}\n\n字符分析\n========\n数字字符: ${l.numbers} (${u(l.numbers,l.totalChars)}%)\n字母字符: ${l.letters} (${u(l.letters,l.totalChars)}%)\n中文字符: ${l.chinese} (${u(l.chinese,l.totalChars)}%)\n大写字母: ${l.uppercase} (${u(l.uppercase,l.totalChars)}%)\n小写字母: ${l.lowercase} (${u(l.lowercase,l.totalChars)}%)\n特殊符号: ${l.symbols} (${u(l.symbols,l.totalChars)}%)\n空白字符: ${l.spaces} (${u(l.spaces,l.totalChars)}%)\n\n复杂度分析\n==========\n文本复杂度: ${b()}\n可读性等级: ${k()}\n词汇丰富度: ${g()}%\n语言混合度: ${_()}%\n\n时间估算\n========\n阅读时间: ${F()}\n打字时间: ${D()}\n语音时间: ${A()}\n手写时间: ${T()}\n翻译时间: ${S()}`,L=()=>j()+`\n\n详细分析\n========\n字符密度: ${d()}\n平均行长: ${h()} 字符\n平均词长: ${p()} 字符\n最长行: ${f()} 字符\n最短行: ${m()} 字符\n唯一词汇: ${l.uniqueWords}\n重复词汇: ${l.words-l.uniqueWords}\n平均词频: ${y()}\n最高词频: ${v()}\n标点密度: ${E()}%\n数字密度: ${C()}%\n\n生成时间: ${(new Date).toLocaleString()}\n工具版本: StringCounter v2.0`,R=(e,n)=>{"success"===n?t(e):a(e),r.value=e,s.value=n,setTimeout(()=>{r.value=""},3e3)};return nn(()=>{c()}),(e,t)=>(Cr(),Tr("div",IW,[Or(hl,{title:"字符串长度统计",onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:M}),Or(jl,{icon:"copy",tooltip:"复制统计结果",onClick:O}),Or(jl,{icon:"download",tooltip:"导出统计报告",onClick:U})]),_:1}),Mr("div",NW,[Mr("div",PW,[Mr("div",BW,[t[5]||(t[5]=Mr("h3",null,"输入文本",-1)),Mr("div",MW,[Mr("button",{class:"quick-btn",onClick:B,title:"示例"},[...t[3]||(t[3]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})],-1),jr(" 示例 ",-1)])]),Mr("input",{ref_key:"fileInput",ref:i,type:"file",onChange:I,accept:".txt,.md,.json,.xml,.html,.css,.js,.ts,.vue,.py,.java,.cpp,.c,.h",style:{display:"none"}},null,544),Mr("button",{class:"quick-btn",onClick:t[1]||(t[1]=e=>i.value?.click()),title:"上传文件"},[...t[4]||(t[4]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"17,8 12,3 7,8"}),Mr("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1),jr(" 上传 ",-1)])])])]),o.value?(Cr(),Tr("div",OW,[Mr("span",UW,se(o.value.name),1),Mr("span",jW,se(P(o.value.size)),1)])):Rr("",!0),ca(Mr("textarea",{"onUpdate:modelValue":t[2]||(t[2]=e=>n.value=e),class:"text-input",placeholder:"在此输入或粘贴文本...",onInput:c},null,544),[[bi,n.value]])]),Mr("div",LW,[t[24]||(t[24]=Mr("div",{class:"section-header"},[Mr("h3",null,"基础统计")],-1)),Mr("div",RW,[Mr("div",zW,[t[8]||(t[8]=Mr("div",{class:"stat-icon"},"📝",-1)),Mr("div",HW,[t[6]||(t[6]=Mr("div",{class:"stat-label"},"总字符数",-1)),Mr("div",$W,se(l.totalChars),1),t[7]||(t[7]=Mr("div",{class:"stat-desc"},"包含所有字符",-1))])]),Mr("div",YW,[t[11]||(t[11]=Mr("div",{class:"stat-icon"},"🔤",-1)),Mr("div",GW,[t[9]||(t[9]=Mr("div",{class:"stat-label"},"不含空格",-1)),Mr("div",WW,se(l.charsNoSpace),1),t[10]||(t[10]=Mr("div",{class:"stat-desc"},"排除空白字符",-1))])]),Mr("div",VW,[t[14]||(t[14]=Mr("div",{class:"stat-icon"},"💾",-1)),Mr("div",KW,[t[12]||(t[12]=Mr("div",{class:"stat-label"},"字节数",-1)),Mr("div",JW,se(l.bytes),1),t[13]||(t[13]=Mr("div",{class:"stat-desc"},"UTF-8编码",-1))])]),Mr("div",qW,[t[17]||(t[17]=Mr("div",{class:"stat-icon"},"📄",-1)),Mr("div",ZW,[t[15]||(t[15]=Mr("div",{class:"stat-label"},"行数",-1)),Mr("div",XW,se(l.lines),1),t[16]||(t[16]=Mr("div",{class:"stat-desc"},"换行符分隔",-1))])]),Mr("div",QW,[t[20]||(t[20]=Mr("div",{class:"stat-icon"},"📖",-1)),Mr("div",eV,[t[18]||(t[18]=Mr("div",{class:"stat-label"},"单词数",-1)),Mr("div",tV,se(l.words),1),t[19]||(t[19]=Mr("div",{class:"stat-desc"},"空格分隔",-1))])]),Mr("div",aV,[t[23]||(t[23]=Mr("div",{class:"stat-icon"},"📑",-1)),Mr("div",nV,[t[21]||(t[21]=Mr("div",{class:"stat-label"},"段落数",-1)),Mr("div",rV,se(l.paragraphs),1),t[22]||(t[22]=Mr("div",{class:"stat-desc"},"空行分隔",-1))])])])]),Mr("div",sV,[t[41]||(t[41]=Mr("div",{class:"section-header"},[Mr("h3",null,"字符分析")],-1)),Mr("div",iV,[Mr("div",oV,[t[26]||(t[26]=Mr("div",{class:"stat-icon"},"🔢",-1)),Mr("div",lV,[t[25]||(t[25]=Mr("div",{class:"stat-label"},"数字字符",-1)),Mr("div",cV,se(l.numbers),1),Mr("div",uV,se(u(l.numbers,l.totalChars))+"%",1)])]),Mr("div",dV,[t[28]||(t[28]=Mr("div",{class:"stat-icon"},"🔠",-1)),Mr("div",hV,[t[27]||(t[27]=Mr("div",{class:"stat-label"},"字母字符",-1)),Mr("div",pV,se(l.letters),1),Mr("div",fV,se(u(l.letters,l.totalChars))+"%",1)])]),Mr("div",mV,[t[30]||(t[30]=Mr("div",{class:"stat-icon"},"🈳",-1)),Mr("div",gV,[t[29]||(t[29]=Mr("div",{class:"stat-label"},"中文字符",-1)),Mr("div",yV,se(l.chinese),1),Mr("div",vV,se(u(l.chinese,l.totalChars))+"%",1)])]),Mr("div",bV,[t[32]||(t[32]=Mr("div",{class:"stat-icon"},"🔡",-1)),Mr("div",wV,[t[31]||(t[31]=Mr("div",{class:"stat-label"},"大写字母",-1)),Mr("div",xV,se(l.uppercase),1),Mr("div",kV,se(u(l.uppercase,l.totalChars))+"%",1)])]),Mr("div",_V,[t[34]||(t[34]=Mr("div",{class:"stat-icon"},"🔡",-1)),Mr("div",EV,[t[33]||(t[33]=Mr("div",{class:"stat-label"},"小写字母",-1)),Mr("div",CV,se(l.lowercase),1),Mr("div",FV,se(u(l.lowercase,l.totalChars))+"%",1)])]),Mr("div",DV,[t[36]||(t[36]=Mr("div",{class:"stat-icon"},"⚡",-1)),Mr("div",AV,[t[35]||(t[35]=Mr("div",{class:"stat-label"},"特殊符号",-1)),Mr("div",TV,se(l.symbols),1),Mr("div",SV,se(u(l.symbols,l.totalChars))+"%",1)])]),Mr("div",IV,[t[38]||(t[38]=Mr("div",{class:"stat-icon"},"⬜",-1)),Mr("div",NV,[t[37]||(t[37]=Mr("div",{class:"stat-label"},"空白字符",-1)),Mr("div",PV,se(l.spaces),1),Mr("div",BV,se(u(l.spaces,l.totalChars))+"%",1)])]),Mr("div",MV,[t[40]||(t[40]=Mr("div",{class:"stat-icon"},"🌐",-1)),Mr("div",OV,[t[39]||(t[39]=Mr("div",{class:"stat-label"},"其他字符",-1)),Mr("div",UV,se(l.others),1),Mr("div",jV,se(u(l.others,l.totalChars))+"%",1)])])])]),Mr("div",LV,[t[66]||(t[66]=Mr("div",{class:"section-header"},[Mr("h3",null,"详细分析")],-1)),Mr("div",RV,[Mr("div",zV,[t[47]||(t[47]=Mr("h4",null,"📊 字符密度",-1)),Mr("div",HV,[t[42]||(t[42]=Mr("span",{class:"analysis-label"},"字符密度:",-1)),Mr("span",$V,se(d()),1)]),Mr("div",YV,[t[43]||(t[43]=Mr("span",{class:"analysis-label"},"平均行长:",-1)),Mr("span",GV,se(h())+" 字符",1)]),Mr("div",WV,[t[44]||(t[44]=Mr("span",{class:"analysis-label"},"平均词长:",-1)),Mr("span",VV,se(p())+" 字符",1)]),Mr("div",KV,[t[45]||(t[45]=Mr("span",{class:"analysis-label"},"最长行:",-1)),Mr("span",JV,se(f())+" 字符",1)]),Mr("div",qV,[t[46]||(t[46]=Mr("span",{class:"analysis-label"},"最短行:",-1)),Mr("span",ZV,se(m())+" 字符",1)])]),Mr("div",XV,[t[53]||(t[53]=Mr("h4",null,"📚 词汇丰富度",-1)),Mr("div",QV,[t[48]||(t[48]=Mr("span",{class:"analysis-label"},"唯一词汇:",-1)),Mr("span",eK,se(l.uniqueWords),1)]),Mr("div",tK,[t[49]||(t[49]=Mr("span",{class:"analysis-label"},"词汇丰富度:",-1)),Mr("span",aK,se(g())+"%",1)]),Mr("div",nK,[t[50]||(t[50]=Mr("span",{class:"analysis-label"},"重复词汇:",-1)),Mr("span",rK,se(l.words-l.uniqueWords),1)]),Mr("div",sK,[t[51]||(t[51]=Mr("span",{class:"analysis-label"},"平均词频:",-1)),Mr("span",iK,se(y()),1)]),Mr("div",oK,[t[52]||(t[52]=Mr("span",{class:"analysis-label"},"最高词频:",-1)),Mr("span",lK,se(v()),1)])]),Mr("div",cK,[t[59]||(t[59]=Mr("h4",null,"🎯 复杂度评分",-1)),Mr("div",uK,[t[54]||(t[54]=Mr("span",{class:"analysis-label"},"文本复杂度:",-1)),Mr("span",{class:Q(["analysis-value complexity-score",x()])},se(b()),3)]),Mr("div",dK,[t[55]||(t[55]=Mr("span",{class:"analysis-label"},"可读性等级:",-1)),Mr("span",hK,se(k()),1)]),Mr("div",pK,[t[56]||(t[56]=Mr("span",{class:"analysis-label"},"语言混合度:",-1)),Mr("span",fK,se(_())+"%",1)]),Mr("div",mK,[t[57]||(t[57]=Mr("span",{class:"analysis-label"},"标点密度:",-1)),Mr("span",gK,se(E())+"%",1)]),Mr("div",yK,[t[58]||(t[58]=Mr("span",{class:"analysis-label"},"数字密度:",-1)),Mr("span",vK,se(C())+"%",1)])]),Mr("div",bK,[t[65]||(t[65]=Mr("h4",null,"⏱️ 时间估算",-1)),Mr("div",wK,[t[60]||(t[60]=Mr("span",{class:"analysis-label"},"阅读时间:",-1)),Mr("span",xK,se(F()),1)]),Mr("div",kK,[t[61]||(t[61]=Mr("span",{class:"analysis-label"},"打字时间:",-1)),Mr("span",_K,se(D()),1)]),Mr("div",EK,[t[62]||(t[62]=Mr("span",{class:"analysis-label"},"语音时间:",-1)),Mr("span",CK,se(A()),1)]),Mr("div",FK,[t[63]||(t[63]=Mr("span",{class:"analysis-label"},"手写时间:",-1)),Mr("span",DK,se(T()),1)]),Mr("div",AK,[t[64]||(t[64]=Mr("span",{class:"analysis-label"},"翻译时间:",-1)),Mr("span",TK,se(S()),1)])])])]),t[67]||(t[67]=Lr('
    📊

    全面统计

    提供字符、单词、行数、段落等多维度统计分析。

    🔍

    深度分析

    字符密度、词汇丰富度、复杂度评分等高级分析功能。

    📁

    文件支持

    支持上传多种格式的文本文件进行批量分析。

    📋

    导出功能

    一键复制统计结果或导出详细的分析报告。

    ',1))]),r.value?(Cr(),Tr("div",{key:0,class:Q(["message-toast",s.value])},se(r.value),3)):Rr("",!0)]))}}),IK=Wi(SK,[["__scopeId","data-v-df989333"]]),NK={class:"php-serializer"},PK={class:"mode-toggle"},BK={class:"serializer-content"},MK={class:"examples-section"},OK={class:"examples-grid"},UK={key:0,class:"convert-section"},jK={class:"input-panel"},LK={class:"section-header"},RK={class:"section-title"},zK={class:"format-selector"},HK={class:"panel-content"},$K=["placeholder"],YK={class:"output-panel"},GK={class:"section-header"},WK={class:"section-title"},VK={class:"panel-info"},KK={key:0,class:"char-count"},JK={class:"panel-content"},qK={key:1,class:"convert-section"},ZK={class:"input-panel"},XK={class:"panel-content"},QK={class:"output-panel"},eJ={class:"section-header"},tJ={class:"section-title"},aJ={class:"format-selector"},nJ={class:"panel-content"},rJ=$a({__name:"PhpSerializer",emits:["back"],setup(e){il("php-serializer");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),{downloadText:r}=ol(),s=St("serialize"),i=St("array"),o=St("json"),l=St(""),c=St(""),u=St(""),d=e=>{s.value=e,_()},h=e=>{i.value=e,g()},p=e=>{o.value=e,y()},f=()=>{switch(i.value){case"array":return"请输入PHP数组格式,例如:\narray(\n 'name' => 'John',\n 'age' => 30,\n 'city' => 'New York'\n)";case"json":return'请输入JSON格式,例如:\n{\n "name": "John",\n "age": 30,\n "city": "New York"\n}';case"xml":return"请输入XML格式,例如:\n\n John\n 30\n New York\n";default:return"请输入要序列化的数据..."}},m=e=>{if(null===e)return"N;";if("boolean"==typeof e)return e?"b:1;":"b:0;";if("number"==typeof e)return Number.isInteger(e)?`i:${e};`:`d:${e};`;if("string"==typeof e)return`s:${e.length}:"${e}";`;if(Array.isArray(e)){let t=`a:${e.length}:{`;return e.forEach((e,a)=>{t+=m(a)+m(e)}),t+="}",t}if("object"==typeof e){const t=Object.keys(e);let a=`a:${t.length}:{`;return t.forEach(t=>{a+=m(t)+m(e[t])}),a+="}",a}return"N;"},g=()=>{if(l.value.trim())try{let e;switch(i.value){case"array":e=(e=>{try{let t=e.trim();t.startsWith("array(")&&(t=t.substring(6,t.length-1));const a={},n=t.split(",");for(const e of n){const t=e.trim();if(!t)continue;const n=t.indexOf("=>");if(n>-1){let e=t.substring(0,n).trim(),r=t.substring(n+2).trim();e=e.replace(/^['"]|['"]$/g,""),r=r.replace(/^['"]|['"]$/g,""),/^\d+$/.test(r)?a[e]=parseInt(r):a[e]=r}}return a}catch(t){throw new Error("PHP数组格式错误")}})(l.value);break;case"json":e=JSON.parse(l.value);break;case"xml":return void a("XML解析功能开发中...");default:throw new Error("不支持的输入格式")}u.value=m(e)}catch(e){a(`序列化失败: ${e instanceof Error?e.message:"未知错误"}`),u.value=""}else u.value=""},y=()=>{if(c.value.trim())try{const e=(e=>{let t=0;const a=()=>{const n=e[t];switch(t+=2,n){case"N":return t++,null;case"b":const n="1"===e[t];return t+=2,n;case"i":const r=e.indexOf(";",t),s=parseInt(e.substring(t,r));return t=r+1,s;case"d":const i=e.indexOf(";",t),o=parseFloat(e.substring(t,i));return t=i+1,o;case"s":const l=e.indexOf(":",t),c=parseInt(e.substring(t,l));t=l+2;const u=e.substring(t,t+c);return t+=c+2,u;case"a":const d=e.indexOf(":",t),h=parseInt(e.substring(t,d));t=d+2;const p={};for(let e=0;e{const a=" ".repeat(t);if(null===e)return"null";if("boolean"==typeof e)return e?"true":"false";if("number"==typeof e)return e.toString();if("string"==typeof e)return`'${e}'`;if("object"==typeof e){const n=Object.entries(e);if(0===n.length)return"array()";let r="array(\n";return n.forEach(([e,s],i)=>{const o=/^\d+$/.test(e)?e:`'${e}'`,l=v(s,t+1);r+=`${a} ${o} => ${l}`,i{const a=(e,t)=>{if(null===e)return`<${t}>`;if("object"==typeof e){let n=`<${t}>\n`;return Object.entries(e).forEach(([e,t])=>{n+=" "+a(t,e)+"\n"}),n+=``,n}return`<${t}>${e}`};return`\n${a(e,t)}`},w=e=>{const a={array:{mode:"serialize",format:"array",data:"array(\n 'name' => 'John Doe',\n 'age' => 30,\n 'email' => 'john@example.com',\n 'skills' => array('PHP', 'JavaScript', 'Python'),\n 'active' => true\n)"},object:{mode:"serialize",format:"json",data:'{\n "user": {\n "id": 123,\n "profile": {\n "name": "Alice",\n "settings": {\n "theme": "dark",\n "notifications": true\n }\n }\n }\n}'},complex:{mode:"serialize",format:"array",data:"array(\n 'users' => array(\n array('id' => 1, 'name' => 'John'),\n array('id' => 2, 'name' => 'Jane')\n ),\n 'config' => array(\n 'debug' => true,\n 'version' => '1.0.0'\n )\n)"},json:{mode:"serialize",format:"json",data:'{\n "products": [\n {"id": 1, "name": "Laptop", "price": 999.99},\n {"id": 2, "name": "Mouse", "price": 29.99}\n ],\n "total": 1029.98,\n "currency": "USD"\n}'}}[e];a&&(s.value=a.mode,i.value=a.format,l.value=a.data,c.value="",u.value="",g(),t("已加载示例"))},x=async()=>{if(!u.value)return void a("没有可复制的内容");await n(u.value)?t("结果已复制"):a("复制失败")},k=()=>{if(!u.value)return void a("没有可下载的内容");const e="serialize"===s.value?"txt":"json"===o.value?"json":"xml"===o.value?"xml":"txt";r(u.value,`php-${s.value}-result`,e)?t("文件已下载"):a("下载失败")},_=()=>{l.value="",c.value="",u.value="",t("已清空所有内容")};return(e,t)=>(Cr(),Tr("div",NK,[Or(hl,{title:"PHP序列化转换",onBack:t[2]||(t[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",PK,[Mr("button",{class:Q(["mode-btn",{active:"serialize"===s.value}]),onClick:t[0]||(t[0]=e=>d("serialize"))}," 序列化 ",2),Mr("button",{class:Q(["mode-btn",{active:"unserialize"===s.value}]),onClick:t[1]||(t[1]=e=>d("unserialize"))}," 反序列化 ",2)]),Or(jl,{icon:"copy",tooltip:"复制结果",onClick:x,disabled:!u.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载文件",onClick:k,disabled:!u.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:_})]),_:1}),Mr("div",BK,[Mr("div",MK,[t[21]||(t[21]=Mr("div",{class:"examples-header"},[Mr("h3",null,"📝 快速示例")],-1)),Mr("div",OK,[Mr("button",{class:"example-btn",onClick:t[3]||(t[3]=e=>w("array"))},[...t[17]||(t[17]=[Mr("span",{class:"example-title"},"PHP数组",-1),Mr("span",{class:"example-preview"},"关联数组和索引数组",-1)])]),Mr("button",{class:"example-btn",onClick:t[4]||(t[4]=e=>w("object"))},[...t[18]||(t[18]=[Mr("span",{class:"example-title"},"PHP对象",-1),Mr("span",{class:"example-preview"},"类实例和属性",-1)])]),Mr("button",{class:"example-btn",onClick:t[5]||(t[5]=e=>w("complex"))},[...t[19]||(t[19]=[Mr("span",{class:"example-title"},"复杂结构",-1),Mr("span",{class:"example-preview"},"嵌套数组和对象",-1)])]),Mr("button",{class:"example-btn",onClick:t[6]||(t[6]=e=>w("json"))},[...t[20]||(t[20]=[Mr("span",{class:"example-title"},"JSON数据",-1),Mr("span",{class:"example-preview"},"JSON转PHP序列化",-1)])])])]),"serialize"===s.value?(Cr(),Tr("div",UK,[Mr("div",jK,[Mr("div",LK,[Mr("div",RK,[t[22]||(t[22]=Mr("h3",null,"📝 输入数据",-1)),Mr("div",zK,[Mr("button",{class:Q(["format-btn",{active:"array"===i.value}]),onClick:t[7]||(t[7]=e=>h("array"))}," PHP数组 ",2),Mr("button",{class:Q(["format-btn",{active:"json"===i.value}]),onClick:t[8]||(t[8]=e=>h("json"))}," JSON ",2),Mr("button",{class:Q(["format-btn",{active:"xml"===i.value}]),onClick:t[9]||(t[9]=e=>h("xml"))}," XML ",2)])])]),Mr("div",HK,[ca(Mr("textarea",{"onUpdate:modelValue":t[10]||(t[10]=e=>l.value=e),class:"data-input",placeholder:f(),onInput:g},null,40,$K),[[bi,l.value]])])]),Mr("div",YK,[Mr("div",GK,[Mr("div",WK,[t[23]||(t[23]=Mr("h3",null,"🐘 PHP序列化结果",-1)),Mr("div",VK,[u.value?(Cr(),Tr("span",KK,se(u.value.length)+" 字符",1)):Rr("",!0)])])]),Mr("div",JK,[ca(Mr("textarea",{"onUpdate:modelValue":t[11]||(t[11]=e=>u.value=e),class:"data-output",placeholder:"序列化结果将显示在这里...",readonly:""},null,512),[[bi,u.value]])])])])):Rr("",!0),"unserialize"===s.value?(Cr(),Tr("div",qK,[Mr("div",ZK,[t[24]||(t[24]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"🐘 PHP序列化数据"),Mr("div",{class:"panel-info"},[Mr("span",{class:"input-hint"},"输入PHP序列化字符串")])])],-1)),Mr("div",XK,[ca(Mr("textarea",{"onUpdate:modelValue":t[12]||(t[12]=e=>c.value=e),class:"data-input",placeholder:"请输入PHP序列化字符串...",onInput:y},null,544),[[bi,c.value]])])]),Mr("div",QK,[Mr("div",eJ,[Mr("div",tJ,[t[25]||(t[25]=Mr("h3",null,"📄 反序列化结果",-1)),Mr("div",aJ,[Mr("button",{class:Q(["format-btn",{active:"array"===o.value}]),onClick:t[13]||(t[13]=e=>p("array"))}," PHP数组 ",2),Mr("button",{class:Q(["format-btn",{active:"json"===o.value}]),onClick:t[14]||(t[14]=e=>p("json"))}," JSON ",2),Mr("button",{class:Q(["format-btn",{active:"xml"===o.value}]),onClick:t[15]||(t[15]=e=>p("xml"))}," XML ",2)])])]),Mr("div",nJ,[ca(Mr("textarea",{"onUpdate:modelValue":t[16]||(t[16]=e=>u.value=e),class:"data-output",placeholder:"反序列化结果将显示在这里...",readonly:""},null,512),[[bi,u.value]])])])])):Rr("",!0),t[26]||(t[26]=Lr('

    💡 使用说明

    🔄

    序列化

    将PHP数组、JSON或XML数据转换为PHP序列化字符串格式。

    📦

    反序列化

    将PHP序列化字符串还原为可读的数组、JSON或XML格式。

    🔀

    格式转换

    支持PHP数组、JSON、XML之间的相互转换和序列化。

    实时预览

    输入数据后立即显示转换结果,支持错误提示和格式验证。

    ',1))]),Or(nl)]))}}),sJ=Wi(rJ,[["__scopeId","data-v-a9038348"]]),iJ={class:"text-replacer"},oJ={class:"replacer-content"},lJ={class:"settings-section"},cJ={class:"settings-grid"},uJ={class:"setting-group"},dJ={class:"input-wrapper"},hJ={class:"setting-group"},pJ={class:"input-wrapper"},fJ={class:"options-section"},mJ={class:"options-grid"},gJ={class:"option-item"},yJ={class:"option-item"},vJ={class:"option-item"},bJ={class:"option-item"},wJ={class:"text-section"},xJ={class:"input-panel"},kJ={class:"section-header"},_J={class:"section-title"},EJ={class:"panel-info"},CJ={key:0,class:"char-count"},FJ={key:1,class:"match-count"},DJ={class:"panel-content"},AJ={class:"output-panel"},TJ={class:"section-header"},SJ={class:"section-title"},IJ={class:"panel-info"},NJ={key:0,class:"result-count"},PJ={key:1,class:"no-change"},BJ={class:"panel-content"},MJ={key:0,class:"matches-section"},OJ={class:"matches-header"},UJ={class:"matches-subtitle"},jJ={class:"matches-list"},LJ={class:"match-index"},RJ={class:"match-text"},zJ={class:"match-position"},HJ={key:0,class:"more-matches"},$J={class:"examples-section"},YJ={class:"examples-grid"},GJ=Wi($a({__name:"TextReplacer",emits:["back"],setup(e){il("text-replacer");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),{downloadText:r}=ol(),s=St(""),i=St(""),o=St(""),l=St(""),c=St(0),u=St(0),d=St([]),h=St(!1),p=St(!1),f=St(!0),m=St(!1),g=()=>{if(!s.value||!i.value)return l.value=s.value,c.value=0,u.value=0,void(d.value=[]);try{let e;if(h.value){let t="";p.value||(t+="i"),f.value&&(t+="g"),m.value&&(t+="m"),e=new RegExp(i.value,t)}else{const t=i.value.replace(/[.*+?^${}()|[\]\\]/g,"\\$&");let a="";p.value||(a+="i"),f.value&&(a+="g"),m.value&&(a+="m"),e=new RegExp(t,a)}const t=Array.from(s.value.matchAll(e));c.value=t.length,d.value=t.map(e=>({text:e[0],start:e.index||0,end:(e.index||0)+e[0].length})),l.value=s.value.replace(e,o.value),u.value=t.length}catch(e){console.error("替换错误:",e),l.value=s.value,c.value=0,u.value=0,d.value=[]}},y=e=>{const a={email:{input:"联系我们:admin@example.com 或 support@test.org\n客服邮箱:service@company.com.cn",search:"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}",replace:"【邮箱地址】",regex:!0,caseSensitive:!1,global:!0},phone:{input:"电话:13812345678\n座机:010-12345678\n手机:+86 138-1234-5678",search:"(\\d{3})(\\d{4})(\\d{4})",replace:"$1-$2-$3",regex:!0,caseSensitive:!1,global:!0},space:{input:"这是 一段 有很多\n\n\n空格和换行的\t\t文本",search:"\\s+",replace:" ",regex:!0,caseSensitive:!1,global:!0},html:{input:'

    这是HTML文本


    ',search:"<[^>]*>",replace:"",regex:!0,caseSensitive:!1,global:!0}}[e];a&&(s.value=a.input,i.value=a.search,o.value=a.replace,h.value=a.regex,p.value=a.caseSensitive,f.value=a.global,g(),t("已加载示例"))},v=async()=>{if(!l.value)return void a("没有可复制的内容");await n(l.value)?t("替换结果已复制"):a("复制失败")},b=()=>{if(!l.value)return void a("没有可下载的内容");r(l.value,"replaced-text","txt")?t("文件已下载"):a("下载失败")},w=()=>{s.value="",i.value="",o.value="",l.value="",c.value=0,u.value=0,d.value=[],h.value=!1,p.value=!1,f.value=!0,m.value=!1,t("已清空所有内容")};return(e,t)=>(Cr(),Tr("div",iJ,[Or(hl,{title:"全局文本替换",onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制结果",onClick:v,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载文件",onClick:b,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:w})]),_:1}),Mr("div",oJ,[Mr("div",lJ,[t[19]||(t[19]=Mr("div",{class:"settings-header"},[Mr("h3",null,"🔧 替换设置")],-1)),Mr("div",cJ,[Mr("div",uJ,[t[13]||(t[13]=Mr("label",{class:"setting-label"},"查找内容",-1)),Mr("div",dJ,[ca(Mr("input",{"onUpdate:modelValue":t[1]||(t[1]=e=>i.value=e),type:"text",class:"search-input",placeholder:"输入要查找的文本或正则表达式",onInput:g},null,544),[[bi,i.value]])])]),Mr("div",hJ,[t[14]||(t[14]=Mr("label",{class:"setting-label"},"替换为",-1)),Mr("div",pJ,[ca(Mr("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>o.value=e),type:"text",class:"replace-input",placeholder:"输入替换后的文本(支持$1, $2等捕获组)",onInput:g},null,544),[[bi,o.value]])])])]),Mr("div",fJ,[Mr("div",mJ,[Mr("label",gJ,[ca(Mr("input",{"onUpdate:modelValue":t[3]||(t[3]=e=>h.value=e),type:"checkbox",onChange:g},null,544),[[wi,h.value]]),t[15]||(t[15]=Mr("div",{class:"option-content"},[Mr("span",{class:"option-title"},"正则表达式"),Mr("span",{class:"option-desc"},"启用正则表达式模式")],-1))]),Mr("label",yJ,[ca(Mr("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>p.value=e),type:"checkbox",onChange:g},null,544),[[wi,p.value]]),t[16]||(t[16]=Mr("div",{class:"option-content"},[Mr("span",{class:"option-title"},"区分大小写"),Mr("span",{class:"option-desc"},"匹配时区分大小写")],-1))]),Mr("label",vJ,[ca(Mr("input",{"onUpdate:modelValue":t[5]||(t[5]=e=>f.value=e),type:"checkbox",onChange:g},null,544),[[wi,f.value]]),t[17]||(t[17]=Mr("div",{class:"option-content"},[Mr("span",{class:"option-title"},"全局替换"),Mr("span",{class:"option-desc"},"替换所有匹配项")],-1))]),Mr("label",bJ,[ca(Mr("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>m.value=e),type:"checkbox",onChange:g},null,544),[[wi,m.value]]),t[18]||(t[18]=Mr("div",{class:"option-content"},[Mr("span",{class:"option-title"},"多行模式"),Mr("span",{class:"option-desc"},"^和$匹配行首行尾")],-1))])])])]),Mr("div",wJ,[Mr("div",xJ,[Mr("div",kJ,[Mr("div",_J,[t[20]||(t[20]=Mr("h3",null,"📝 原始文本",-1)),Mr("div",EJ,[s.value?(Cr(),Tr("span",CJ,se(s.value.length)+" 字符",1)):Rr("",!0),c.value>0?(Cr(),Tr("span",FJ,se(c.value)+" 个匹配",1)):Rr("",!0)])])]),Mr("div",DJ,[ca(Mr("textarea",{"onUpdate:modelValue":t[7]||(t[7]=e=>s.value=e),class:"text-input",placeholder:"请输入要处理的文本...",onInput:g},null,544),[[bi,s.value]])])]),Mr("div",AJ,[Mr("div",TJ,[Mr("div",SJ,[t[21]||(t[21]=Mr("h3",null,"📄 替换结果",-1)),Mr("div",IJ,[u.value>0?(Cr(),Tr("span",NJ,"替换了 "+se(u.value)+" 处",1)):s.value&&l.value?(Cr(),Tr("span",PJ,"无匹配项")):Rr("",!0)])])]),Mr("div",BJ,[ca(Mr("textarea",{"onUpdate:modelValue":t[8]||(t[8]=e=>l.value=e),class:"text-output",placeholder:"替换结果将显示在这里...",readonly:""},null,512),[[bi,l.value]])])])]),d.value.length>0?(Cr(),Tr("div",MJ,[Mr("div",OJ,[Mr("h3",null,[t[22]||(t[22]=jr("🎯 匹配详情 ",-1)),Mr("span",UJ,"共找到 "+se(d.value.length)+" 个匹配项",1)])]),Mr("div",jJ,[(Cr(!0),Tr(br,null,yn(d.value.slice(0,20),(e,t)=>(Cr(),Tr("div",{key:t,class:"match-item"},[Mr("span",LJ,se(t+1),1),Mr("span",RJ,se(e.text),1),Mr("span",zJ,"位置: "+se(e.start)+"-"+se(e.end),1)]))),128))]),d.value.length>20?(Cr(),Tr("div",HJ," 还有 "+se(d.value.length-20)+" 个匹配项未显示... ",1)):Rr("",!0)])):Rr("",!0),Mr("div",$J,[t[27]||(t[27]=Mr("div",{class:"examples-header"},[Mr("h3",null,"📝 快速示例")],-1)),Mr("div",YJ,[Mr("button",{class:"example-btn",onClick:t[9]||(t[9]=e=>y("email"))},[...t[23]||(t[23]=[Mr("span",{class:"example-title"},"邮箱提取",-1),Mr("span",{class:"example-preview"},"提取文本中的邮箱地址",-1)])]),Mr("button",{class:"example-btn",onClick:t[10]||(t[10]=e=>y("phone"))},[...t[24]||(t[24]=[Mr("span",{class:"example-title"},"电话格式化",-1),Mr("span",{class:"example-preview"},"统一电话号码格式",-1)])]),Mr("button",{class:"example-btn",onClick:t[11]||(t[11]=e=>y("space"))},[...t[25]||(t[25]=[Mr("span",{class:"example-title"},"空格清理",-1),Mr("span",{class:"example-preview"},"清理多余空格和换行",-1)])]),Mr("button",{class:"example-btn",onClick:t[12]||(t[12]=e=>y("html"))},[...t[26]||(t[26]=[Mr("span",{class:"example-title"},"HTML标签",-1),Mr("span",{class:"example-preview"},"移除HTML标签",-1)])])])]),t[28]||(t[28]=Lr('

    💡 使用说明

    🔍

    基础搜索

    输入要查找的文本,支持普通文本和正则表达式两种模式。

    🔄

    替换功能

    支持简单替换和正则捕获组替换,使用$1、$2等引用捕获的内容。

    ⚙️

    高级选项

    支持大小写敏感、全局替换、多行模式等多种匹配选项。

    📝

    常用模板

    提供邮箱、手机号、URL提取等常用正则表达式模板。

    ',1))]),Or(nl)]))}}),[["__scopeId","data-v-0665c6f6"]]),WJ={},VJ=function(e,t,a){let n=Promise.resolve();if(t&&t.length>0){let e=function(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:"fulfilled",value:e}),e=>({status:"rejected",reason:e}))))};const r=document.getElementsByTagName("link"),s=document.querySelector("meta[property=csp-nonce]"),i=s?.nonce||s?.getAttribute("nonce");n=e(t.map(e=>{if(e=function(e,t){return new URL(e,t).href}(e,a),e in WJ)return;WJ[e]=!0;const t=e.endsWith(".css"),n=t?'[rel="stylesheet"]':"";if(a)for(let a=r.length-1;a>=0;a--){const n=r[a];if(n.href===e&&(!t||"stylesheet"===n.rel))return}else if(document.querySelector(`link[href="${e}"]${n}`))return;const s=document.createElement("link");return s.rel=t?"stylesheet":"modulepreload",t||(s.as="script"),s.crossOrigin="",s.href=e,i&&s.setAttribute("nonce",i),document.head.appendChild(s),t?new Promise((t,a)=>{s.addEventListener("load",t),s.addEventListener("error",()=>a(new Error(`Unable to preload CSS for ${e}`)))}):void 0}))}function r(e){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return n.then(t=>{for(const e of t||[])"rejected"===e.status&&r(e.reason);return e().catch(r)})},KJ={class:"chinese-converter"},JJ={class:"mode-toggle"},qJ={class:"converter-content"},ZJ={class:"examples-section"},XJ={class:"examples-grid"},QJ={class:"convert-section"},eq={class:"input-panel"},tq={class:"section-header"},aq={class:"section-title"},nq={class:"panel-content"},rq=["placeholder"],sq={class:"output-panel"},iq={class:"section-header"},oq={class:"section-title"},lq={key:0,class:"standard-selector"},cq={class:"panel-content"},uq={key:0,class:"details-section"},dq={class:"stats-info"},hq={key:0,class:"stat-item"},pq={class:"stat-value"},fq={key:1,class:"stat-item"},mq={class:"stat-value"},gq={key:2,class:"stat-item"},yq={class:"stat-value"},vq={key:3,class:"stat-item"},bq={key:0,class:"conversion-details"},wq={class:"details-list"},xq={class:"original-char"},kq={class:"converted-char"},_q={class:"char-count"},Eq={key:0,class:"more-details"},Cq=$a({__name:"ChineseConverter",emits:["back"],setup(e){let t=null;il("chinese-converter");const{success:a,error:n}=Vo(),{copyToClipboard:r}=ll(),{downloadText:s}=ol(),i=St("toTraditional"),o=St("tw"),l=St(""),c=St(""),u=St(0),d=St([]);let h=null;(async()=>{if(await(async()=>{try{const e=await VJ(()=>import("./full-0_kiFYUu.js"),[],import.meta.url);return t=e.Converter,!0}catch(e){return console.error("OpenCC 加载失败:",e),!1}})()&&t)try{h={s2t:t({from:"cn",to:"tw"}),s2hk:t({from:"cn",to:"hk"}),t2s:t({from:"tw",to:"cn"}),hk2s:t({from:"hk",to:"cn"})}}catch(e){console.error("OpenCC 初始化失败:",e),n("转换器初始化失败")}else n("OpenCC 加载失败,将使用基础转换功能")})();const p=is(()=>{if(!l.value)return 0;const e=l.value.match(/[\u4e00-\u9fa5]/g);return e?e.length:0}),f=e=>{i.value=e,x()},m=e=>{o.value=e,x()},g=()=>{switch(i.value){case"toTraditional":return"📝 简体中文输入";case"toSimplified":return"📝 繁体中文输入";case"auto":return"📝 智能识别输入";default:return"📝 文本输入"}},y=()=>{switch(i.value){case"toTraditional":return"tw"===o.value?"📄 繁体中文(台湾)":"📄 繁体中文(香港)";case"toSimplified":return"📄 简体中文输出";case"auto":return"📄 智能转换结果";default:return"📄 转换结果"}},v=()=>{switch(i.value){case"toTraditional":return"请输入简体中文文本...";case"toSimplified":return"请输入繁体中文文本...";case"auto":return"请输入中文文本,将自动识别并转换...";default:return"请输入中文文本..."}},b={s2t:{"国":"國","产":"產","发":"發","现":"現","实":"實","际":"際","学":"學","习":"習","电":"電","脑":"腦","网":"網","络":"絡","软":"軟","件":"件","开":"開","程":"程","序":"序","计":"計","算":"算","机":"機","技":"技","术":"術","公":"公","司":"司","企":"企","业":"業","管":"管","理":"理","系":"系","统":"統","数":"數","据":"據","库":"庫","服":"服","务":"務","应":"應","用":"用","设":"設","测":"測","试":"試","维":"維","护":"護"},t2s:{}};b.s2t&&Object.entries(b.s2t).forEach(([e,t])=>{b.t2s&&(b.t2s[t]=e)});const w=(e,t)=>{let a=t,n="";if("auto"===t){const t=(e=>{if(!h){const t=/[国产发现实际]/g,a=/[國產發現實際]/g,n=e.match(t)?.length||0,r=e.match(a)?.length||0;return n>r?"simplified":r>n?"traditional":"mixed"}if(!h.s2t||!h.t2s)return"mixed";try{const t=h.s2t(e),a=h.t2s(e);let n=0,r=0;for(let s=0;sr?"simplified":r>n?"traditional":"mixed"}catch(t){return console.error("OpenCC 检测失败:",t),"mixed"}})(e);a="simplified"===t?"toTraditional":"toSimplified"}if(h&&h.s2t&&h.s2hk&&h.t2s&&h.hk2s)try{n="toTraditional"===a?"tw"===o.value?h.s2t(e):h.s2hk(e):"tw"===o.value?h.t2s(e):h.hk2s(e)}catch(s){console.error("OpenCC 转换失败:",s),n=e}else{const t="toTraditional"===a?b.s2t:b.t2s;n=t?e.split("").map(e=>t[e]||e).join(""):e}const r={};for(let i=0;i({original:e,converted:t,count:a}))}},x=()=>{if(!l.value)return c.value="",u.value=0,void(d.value=[]);const{result:e,details:t}=w(l.value,i.value);c.value=e,u.value=t.reduce((e,t)=>e+t.count,0),d.value=t.sort((e,t)=>t.count-e.count)},k=e=>{const t={tech:"计算机技术发展迅速,人工智能、大数据、云计算等新兴技术不断涌现。软件开发、网络安全、移动应用等领域都在快速发展。",culture:"中华文化源远流长,传统节日如春节、中秋节承载着深厚的历史文化内涵。书法、绘画、诗词等艺术形式体现了中华民族的智慧。",business:"商业合作需要诚信为本,双方应该建立长期稳定的合作关系。市场营销、品牌建设、客户服务都是企业发展的重要环节。",daily:"今天天气很好,我们一起去公园散步吧。学习新知识很重要,要保持终身学习的习惯。健康的生活方式包括合理饮食和适量运动。"};l.value=t[e]||t.daily,x(),a("已加载示例文本")},_=async()=>{if(!c.value)return void n("没有可复制的内容");await r(c.value)?a("转换结果已复制"):n("复制失败")},E=()=>{if(!c.value)return void n("没有可下载的内容");s(c.value,"converted-text","txt")?a("文件已下载"):n("下载失败")},C=()=>{c.value?(l.value=c.value,"toTraditional"===i.value?i.value="toSimplified":"toSimplified"===i.value&&(i.value="toTraditional"),x(),a("已交换文本")):n("没有可交换的内容")},F=()=>{l.value="",c.value="",u.value=0,d.value=[],a("已清空所有内容")};return(e,t)=>(Cr(),Tr("div",KJ,[Or(hl,{title:"简繁体转换",onBack:t[3]||(t[3]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",JJ,[Mr("button",{class:Q(["mode-btn",{active:"toTraditional"===i.value}]),onClick:t[0]||(t[0]=e=>f("toTraditional"))}," 简→繁 ",2),Mr("button",{class:Q(["mode-btn",{active:"toSimplified"===i.value}]),onClick:t[1]||(t[1]=e=>f("toSimplified"))}," 繁→简 ",2),Mr("button",{class:Q(["mode-btn",{active:"auto"===i.value}]),onClick:t[2]||(t[2]=e=>f("auto"))}," 智能 ",2)]),Or(jl,{icon:"copy",tooltip:"复制结果",onClick:_,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载文件",onClick:E,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"swap",tooltip:"交换输入输出",onClick:C,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:F})]),_:1}),Mr("div",qJ,[Mr("div",ZJ,[t[16]||(t[16]=Mr("div",{class:"examples-header"},[Mr("h3",null,"📝 快速示例")],-1)),Mr("div",XJ,[Mr("button",{class:"example-btn",onClick:t[4]||(t[4]=e=>k("tech"))},[...t[12]||(t[12]=[Mr("span",{class:"example-title"},"科技文本",-1),Mr("span",{class:"example-preview"},"计算机、网络、软件...",-1)])]),Mr("button",{class:"example-btn",onClick:t[5]||(t[5]=e=>k("culture"))},[...t[13]||(t[13]=[Mr("span",{class:"example-title"},"文化内容",-1),Mr("span",{class:"example-preview"},"传统文化、历史...",-1)])]),Mr("button",{class:"example-btn",onClick:t[6]||(t[6]=e=>k("business"))},[...t[14]||(t[14]=[Mr("span",{class:"example-title"},"商务用语",-1),Mr("span",{class:"example-preview"},"商业、贸易、合作...",-1)])]),Mr("button",{class:"example-btn",onClick:t[7]||(t[7]=e=>k("daily"))},[...t[15]||(t[15]=[Mr("span",{class:"example-title"},"日常用语",-1),Mr("span",{class:"example-preview"},"生活、学习、工作...",-1)])])])]),Mr("div",QJ,[Mr("div",eq,[Mr("div",tq,[Mr("div",aq,[Mr("h3",null,se(g()),1)])]),Mr("div",nq,[ca(Mr("textarea",{"onUpdate:modelValue":t[8]||(t[8]=e=>l.value=e),class:"text-input",placeholder:v(),onInput:x},null,40,rq),[[bi,l.value]])])]),Mr("div",sq,[Mr("div",iq,[Mr("div",oq,[Mr("h3",null,se(y()),1),"toTraditional"===i.value||"auto"===i.value?(Cr(),Tr("div",lq,[Mr("button",{class:Q(["standard-btn",{active:"tw"===o.value}]),onClick:t[9]||(t[9]=e=>m("tw"))}," 台湾 ",2),Mr("button",{class:Q(["standard-btn",{active:"hk"===o.value}]),onClick:t[10]||(t[10]=e=>m("hk"))}," 香港 ",2)])):Rr("",!0)])]),Mr("div",cq,[ca(Mr("textarea",{"onUpdate:modelValue":t[11]||(t[11]=e=>c.value=e),class:"text-output",placeholder:"转换结果将显示在这里...",readonly:""},null,512),[[bi,c.value]])])])]),l.value||d.value.length>0?(Cr(),Tr("div",uq,[t[22]||(t[22]=Mr("div",{class:"details-header"},[Mr("h3",null,[jr("📊 转换统计 "),Mr("span",{class:"details-subtitle"},"文本分析和转换详情")])],-1)),Mr("div",dq,[l.value?(Cr(),Tr("div",hq,[t[17]||(t[17]=Mr("span",{class:"stat-label"},"总字符数",-1)),Mr("span",pq,se(l.value.length),1)])):Rr("",!0),p.value>0?(Cr(),Tr("div",fq,[t[18]||(t[18]=Mr("span",{class:"stat-label"},"中文字符",-1)),Mr("span",mq,se(p.value),1)])):Rr("",!0),u.value>0?(Cr(),Tr("div",gq,[t[19]||(t[19]=Mr("span",{class:"stat-label"},"转换字符",-1)),Mr("span",yq,se(u.value),1)])):l.value&&c.value?(Cr(),Tr("div",vq,[...t[20]||(t[20]=[Mr("span",{class:"stat-label"},"转换状态",-1),Mr("span",{class:"stat-value no-conversion"},"无需转换",-1)])])):Rr("",!0)]),d.value.length>0?(Cr(),Tr("div",bq,[Mr("h4",null,"转换详情(共 "+se(d.value.length)+" 个字符)",1),Mr("div",wq,[(Cr(!0),Tr(br,null,yn(d.value.slice(0,20),(e,a)=>(Cr(),Tr("div",{key:a,class:"detail-item"},[Mr("span",xq,se(e.original),1),t[21]||(t[21]=Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"9,18 15,12 9,6"})],-1)),Mr("span",kq,se(e.converted),1),Mr("span",_q,se(e.count)+"次",1)]))),128))]),d.value.length>20?(Cr(),Tr("div",Eq," 还有 "+se(d.value.length-20)+" 个字符未显示... ",1)):Rr("",!0)])):Rr("",!0)])):Rr("",!0),t[23]||(t[23]=Lr('

    💡 使用说明

    🔄

    转换模式

    支持简体转繁体、繁体转简体,以及智能识别自动转换模式。

    🌏

    地区标准

    支持台湾标准和香港标准的繁体中文转换,满足不同地区的用字习惯。

    OpenCC 引擎

    基于 OpenCC 开源转换引擎,提供准确、全面的简繁体转换服务。

    📊

    详细统计

    显示转换字符数量、转换详情,帮助了解转换过程和结果。

    🏛️ 关于 OpenCC

    OpenCC(Open Chinese Convert)是一个开源的中文简繁转换项目,具有以下特点:

    • 权威性 - 基于学术研究和实际使用数据构建转换词典
    • 准确性 - 支持词汇级转换,避免单字转换的歧义问题
    • 标准化 - 支持多种地区标准(大陆、台湾、香港等)
    • 开源性 - 完全开源,持续更新和改进

    本工具使用 OpenCC 引擎,为您提供专业级的简繁体转换服务。

    ',1))]),Or(nl)]))}}),Fq=Wi(Cq,[["__scopeId","data-v-2a39e6d6"]]),Dq={class:"ascii-lookup-wrapper"},Aq={class:"content-wrapper"},Tq={class:"lookup-content"},Sq={class:"main-content"},Iq={class:"query-section"},Nq={class:"section-header"},Pq={class:"mode-toggle"},Bq={class:"query-content"},Mq={key:0,class:"char-query"},Oq={class:"input-section"},Uq={class:"input-wrapper"},jq={class:"quick-chars"},Lq={class:"char-buttons"},Rq=["onClick"],zq={key:1,class:"code-query"},Hq={class:"input-section"},$q={class:"input-wrapper"},Yq={class:"quick-codes"},Gq={class:"code-buttons"},Wq=["onClick"],Vq={key:0,class:"result-section"},Kq={class:"result-card"},Jq={class:"result-content"},qq={class:"result-grid"},Zq={class:"result-item"},Xq={class:"result-value char-value"},Qq={class:"result-item"},eZ={class:"result-value code-value"},tZ={class:"result-item"},aZ={class:"result-value hex-value"},nZ={class:"result-item"},rZ={class:"result-value binary-value"},sZ={class:"result-description"},iZ={class:"desc-value"},oZ={class:"ascii-table-section"},lZ={class:"section-header"},cZ={class:"table-controls"},uZ={class:"ascii-table"},dZ={class:"table-body"},hZ=["onClick"],pZ={class:"table-cell code-cell"},fZ={class:"table-cell char-cell"},mZ={class:"char-display"},gZ={class:"table-cell hex-cell"},yZ={class:"table-cell desc-cell"},vZ=Wi($a({__name:"AsciiLookup",emits:["back"],setup(e){il("ascii-lookup");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return"ASCII字符查询"}("ascii-lookup"),{success:a,error:n}=Vo(),r=St("char"),s=St(""),i=St(null),o=St(null),l=St("all"),c=["A","a","0"," ","!","@","#","$","%"],u=[32,48,65,97,33,64,35,36,37],d=St([]),h=is(()=>"all"===l.value?d.value:"printable"===l.value?d.value.filter(e=>e.code>=32&&e.code<=126):"control"===l.value?d.value.filter(e=>e.code<32||127===e.code):d.value),p=e=>{r.value=e,y()},f=()=>{if(!s.value)return void(o.value=null);const e=s.value.charCodeAt(0);if(e>127)return void n("只支持ASCII字符 (0-127)");const t=d.value.find(t=>t.code===e);t&&(o.value=t,a("查询成功"))},m=()=>{if(null===i.value||i.value<0||i.value>127)return void(o.value=null);const e=d.value.find(e=>e.code===i.value);e&&(o.value=e,a("查询成功"))},g=e=>{l.value=e},y=()=>{s.value="",i.value=null,o.value=null},v=()=>{y(),a("已清空")},b=async()=>{if(!o.value)return;const e=`字符: ${o.value.char}\nASCII码: ${o.value.code}\n十六进制: 0x${o.value.hex}\n二进制: ${o.value.binary}\n描述: ${o.value.description}`;try{await navigator.clipboard.writeText(e),a("结果已复制到剪贴板")}catch(t){n("复制失败")}};return nn(()=>{(()=>{const e=["NUL","SOH","STX","ETX","EOT","ENQ","ACK","BEL","BS","TAB","LF","VT","FF","CR","SO","SI","DLE","DC1","DC2","DC3","DC4","NAK","SYN","ETB","CAN","EM","SUB","ESC","FS","GS","RS","US"],t=["空字符 (Null)","标题开始 (Start of Heading)","正文开始 (Start of Text)","正文结束 (End of Text)","传输结束 (End of Transmission)","询问 (Enquiry)","确认 (Acknowledge)","响铃 (Bell)","退格 (Backspace)","水平制表 (Horizontal Tab)","换行 (Line Feed)","垂直制表 (Vertical Tab)","换页 (Form Feed)","回车 (Carriage Return)","移出 (Shift Out)","移入 (Shift In)","数据链路转义 (Data Link Escape)","设备控制1 (Device Control 1)","设备控制2 (Device Control 2)","设备控制3 (Device Control 3)","设备控制4 (Device Control 4)","否定确认 (Negative Acknowledge)","同步空闲 (Synchronous Idle)","传输块结束 (End of Transmission Block)","取消 (Cancel)","媒介结束 (End of Medium)","替换 (Substitute)","转义 (Escape)","文件分隔符 (File Separator)","组分隔符 (Group Separator)","记录分隔符 (Record Separator)","单元分隔符 (Unit Separator)"];for(let a=0;a<=127;a++){let n=String.fromCharCode(a),r="";a<32?(n=e[a]||"",r=t[a]||""):32===a?(n="SPACE",r="空格 (Space)"):127===a?(n="DEL",r="删除 (Delete)"):r=a>=48&&a<=57?"数字":a>=65&&a<=90?"大写字母":a>=97&&a<=122?"小写字母":"特殊字符",d.value.push({code:a,char:n,hex:a.toString(16).toUpperCase().padStart(2,"0"),binary:a.toString(2).padStart(8,"0"),description:r})}})()}),(e,n)=>(Cr(),Tr("div",Dq,[Or(hl,{title:Nt(t),onBack:n[0]||(n[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制结果",onClick:b,disabled:!o.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空",onClick:v})]),_:1},8,["title"]),Mr("div",Aq,[Mr("div",Tq,[Mr("div",Sq,[Mr("div",Iq,[Mr("div",Nq,[n[8]||(n[8]=Mr("h3",null,"字符查询",-1)),Mr("div",Pq,[Mr("button",{class:Q(["mode-btn",{active:"char"===r.value}]),onClick:n[1]||(n[1]=e=>p("char"))}," 字符→编码 ",2),Mr("button",{class:Q(["mode-btn",{active:"code"===r.value}]),onClick:n[2]||(n[2]=e=>p("code"))}," 编码→字符 ",2)])]),Mr("div",Bq,["char"===r.value?(Cr(),Tr("div",Mq,[Mr("div",Oq,[n[10]||(n[10]=Mr("label",{class:"input-label"},"输入字符",-1)),Mr("div",Uq,[ca(Mr("input",{"onUpdate:modelValue":n[3]||(n[3]=e=>s.value=e),type:"text",class:"char-input",placeholder:"输入单个字符",maxlength:"1",onInput:f},null,544),[[bi,s.value]]),s.value?(Cr(),Tr("button",{key:0,onClick:y,class:"clear-btn",title:"清空"},[...n[9]||(n[9]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])):Rr("",!0)])]),Mr("div",jq,[n[11]||(n[11]=Mr("span",{class:"quick-label"},"常用字符:",-1)),Mr("div",Lq,[(Cr(),Tr(br,null,yn(c,e=>Mr("button",{key:e,class:"char-btn",onClick:t=>(e=>{s.value=e,f()})(e)},se(e),9,Rq)),64))])])])):Rr("",!0),"code"===r.value?(Cr(),Tr("div",zq,[Mr("div",Hq,[n[13]||(n[13]=Mr("label",{class:"input-label"},"输入ASCII编码",-1)),Mr("div",$q,[ca(Mr("input",{"onUpdate:modelValue":n[4]||(n[4]=e=>i.value=e),type:"number",class:"code-input",placeholder:"0-127",min:"0",max:"127",onInput:m},null,544),[[bi,i.value]]),i.value?(Cr(),Tr("button",{key:0,onClick:y,class:"clear-btn",title:"清空"},[...n[12]||(n[12]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])):Rr("",!0)])]),Mr("div",Yq,[n[14]||(n[14]=Mr("span",{class:"quick-label"},"常用编码:",-1)),Mr("div",Gq,[(Cr(),Tr(br,null,yn(u,e=>Mr("button",{key:e,class:"code-btn",onClick:t=>(e=>{i.value=e,m()})(e)},se(e),9,Wq)),64))])])])):Rr("",!0)])]),o.value?(Cr(),Tr("div",Vq,[Mr("div",Kq,[Mr("div",{class:"result-header"},[n[16]||(n[16]=Mr("h4",null,"查询结果",-1)),Mr("button",{onClick:b,class:"copy-result-btn",title:"复制结果"},[...n[15]||(n[15]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("div",Jq,[Mr("div",qq,[Mr("div",Zq,[n[17]||(n[17]=Mr("span",{class:"result-label"},"字符",-1)),Mr("span",Xq,se(o.value.char),1)]),Mr("div",Qq,[n[18]||(n[18]=Mr("span",{class:"result-label"},"ASCII",-1)),Mr("span",eZ,se(o.value.code),1)]),Mr("div",tZ,[n[19]||(n[19]=Mr("span",{class:"result-label"},"十六进制",-1)),Mr("span",aZ,"0x"+se(o.value.hex),1)]),Mr("div",nZ,[n[20]||(n[20]=Mr("span",{class:"result-label"},"二进制",-1)),Mr("span",rZ,se(o.value.binary),1)])]),Mr("div",sZ,[n[21]||(n[21]=Mr("span",{class:"desc-label"},"描述:",-1)),Mr("span",iZ,se(o.value.description),1)])])])])):Rr("",!0)]),Mr("div",oZ,[Mr("div",lZ,[n[22]||(n[22]=Mr("h3",null,"ASCII编码表",-1)),Mr("div",cZ,[Mr("button",{class:Q(["filter-btn",{active:"all"===l.value}]),onClick:n[5]||(n[5]=e=>g("all"))}," 全部 (128) ",2),Mr("button",{class:Q(["filter-btn",{active:"printable"===l.value}]),onClick:n[6]||(n[6]=e=>g("printable"))}," 可打印 (95) ",2),Mr("button",{class:Q(["filter-btn",{active:"control"===l.value}]),onClick:n[7]||(n[7]=e=>g("control"))}," 控制字符 (33) ",2)])]),Mr("div",uZ,[n[23]||(n[23]=Lr('
    编码
    字符
    十六进制
    描述
    ',1)),Mr("div",dZ,[(Cr(!0),Tr(br,null,yn(h.value,e=>(Cr(),Tr("div",{key:e.code,class:Q(["table-row",{highlighted:o.value&&o.value.code===e.code,control:e.code<32||127===e.code}]),onClick:t=>(e=>{o.value=e,"char"===r.value?s.value=e.code<32||127===e.code?"":String.fromCharCode(e.code):i.value=e.code;const t=e.code<32||127===e.code?e.char:String.fromCharCode(e.code);a(`已选择: ${t} (ASCII: ${e.code})`)})(e)},[Mr("div",pZ,se(e.code),1),Mr("div",fZ,[Mr("span",mZ,se(e.char),1)]),Mr("div",gZ,"0x"+se(e.hex),1),Mr("div",yZ,se(e.description),1)],10,hZ))),128))])])])]),n[24]||(n[24]=Lr('

    功能说明

    🔍

    字符查询

    输入字符获取对应的ASCII码和详细信息

    🔢

    编码查询

    输入ASCII码获取对应的字符和详细信息

    📊

    字符表浏览

    浏览完整的ASCII字符表,支持分类筛选

    📋

    快速复制

    一键复制查询结果到剪贴板

    ',1))])]))}}),[["__scopeId","data-v-bb888ead"]]),bZ={class:"unit-converter"},wZ={class:"converter-content"},xZ={class:"category-selector"},kZ=["disabled"],_Z={class:"category-tabs-container"},EZ=["onClick"],CZ={class:"tab-icon"},FZ={class:"tab-label"},DZ=["disabled"],AZ={class:"examples-section"},TZ={class:"conversions-grid"},SZ=["onClick"],IZ={class:"conversion-label"},NZ={class:"conversion-formula"},PZ={class:"converter-main"},BZ={class:"conversion-panel"},MZ={class:"input-section"},OZ={class:"section-header"},UZ={class:"unit-selector"},jZ=["value"],LZ={class:"input-area"},RZ={class:"input-info"},zZ={class:"unit-info"},HZ={class:"conversion-arrow"},$Z={class:"output-section"},YZ={class:"section-header"},GZ={class:"unit-selector"},WZ=["value"],VZ={class:"output-area"},KZ=["value"],JZ={class:"output-info"},qZ={class:"unit-info"},ZZ={class:"formula-section"},XZ={class:"formula-header"},QZ={class:"formula-content"},eX={class:"formula-info"},tX={class:"formula-text"},aX={key:0,class:"formula-example"},nX=Wi($a({__name:"UnitConverter",emits:["back"],setup(e){il("unit-convert");const{success:t,error:a}=Vo(),{copy:n}=ll(),r=St("单位转换"),s=St(),i=St(!1),o=St(!1),l=St("length"),c=St(""),u=St(""),d=St(""),h=St(""),p=[{id:"length",name:"长度",icon:"📏"},{id:"weight",name:"重量",icon:"⚖️"},{id:"temperature",name:"温度",icon:"🌡️"},{id:"area",name:"面积",icon:"📐"},{id:"volume",name:"体积",icon:"🥤"},{id:"speed",name:"速度",icon:"🚗"},{id:"pressure",name:"压力",icon:"💨"},{id:"energy",name:"能量",icon:"⚡"},{id:"power",name:"功率",icon:"🔌"},{id:"frequency",name:"频率",icon:"📡"},{id:"angle",name:"角度",icon:"📐"},{id:"data",name:"数据",icon:"💾"}],f={length:[{id:"mm",name:"毫米",symbol:"mm",toMeter:.001,info:"1毫米 = 0.001米"},{id:"cm",name:"厘米",symbol:"cm",toMeter:.01,info:"1厘米 = 0.01米"},{id:"m",name:"米",symbol:"m",toMeter:1,info:"国际标准长度单位"},{id:"km",name:"千米",symbol:"km",toMeter:1e3,info:"1千米 = 1000米"},{id:"inch",name:"英寸",symbol:"in",toMeter:.0254,info:"1英寸 = 2.54厘米"},{id:"ft",name:"英尺",symbol:"ft",toMeter:.3048,info:"1英尺 = 12英寸"},{id:"yard",name:"码",symbol:"yd",toMeter:.9144,info:"1码 = 3英尺"},{id:"mile",name:"英里",symbol:"mi",toMeter:1609.344,info:"1英里 = 1.609千米"}],weight:[{id:"mg",name:"毫克",symbol:"mg",toKg:1e-6,info:"1毫克 = 0.001克"},{id:"g",name:"克",symbol:"g",toKg:.001,info:"1克 = 0.001千克"},{id:"kg",name:"千克",symbol:"kg",toKg:1,info:"国际标准质量单位"},{id:"t",name:"吨",symbol:"t",toKg:1e3,info:"1吨 = 1000千克"},{id:"oz",name:"盎司",symbol:"oz",toKg:.0283495,info:"1盎司 ≈ 28.35克"},{id:"lb",name:"磅",symbol:"lb",toKg:.453592,info:"1磅 ≈ 0.454千克"},{id:"stone",name:"英石",symbol:"st",toKg:6.35029,info:"1英石 = 14磅"}],temperature:[{id:"c",name:"摄氏度",symbol:"°C",info:"水的冰点0°C,沸点100°C"},{id:"f",name:"华氏度",symbol:"°F",info:"水的冰点32°F,沸点212°F"},{id:"k",name:"开尔文",symbol:"K",info:"绝对温度,0K = -273.15°C"},{id:"r",name:"兰氏度",symbol:"°R",info:"华氏度的绝对温标"}],area:[{id:"mm2",name:"平方毫米",symbol:"mm²",toM2:1e-6,info:"1平方毫米 = 0.000001平方米"},{id:"cm2",name:"平方厘米",symbol:"cm²",toM2:1e-4,info:"1平方厘米 = 0.0001平方米"},{id:"m2",name:"平方米",symbol:"m²",toM2:1,info:"国际标准面积单位"},{id:"km2",name:"平方千米",symbol:"km²",toM2:1e6,info:"1平方千米 = 100万平方米"},{id:"hectare",name:"公顷",symbol:"ha",toM2:1e4,info:"1公顷 = 10000平方米"},{id:"acre",name:"英亩",symbol:"ac",toM2:4046.86,info:"1英亩 ≈ 4047平方米"}],volume:[{id:"ml",name:"毫升",symbol:"ml",toLiter:.001,info:"1毫升 = 0.001升"},{id:"l",name:"升",symbol:"L",toLiter:1,info:"国际标准体积单位"},{id:"m3",name:"立方米",symbol:"m³",toLiter:1e3,info:"1立方米 = 1000升"},{id:"gallon",name:"加仑",symbol:"gal",toLiter:3.78541,info:"1美制加仑 ≈ 3.785升"},{id:"quart",name:"夸脱",symbol:"qt",toLiter:.946353,info:"1夸脱 ≈ 0.946升"},{id:"pint",name:"品脱",symbol:"pt",toLiter:.473176,info:"1品脱 ≈ 0.473升"}],speed:[{id:"ms",name:"米/秒",symbol:"m/s",toMs:1,info:"国际标准速度单位"},{id:"kmh",name:"千米/时",symbol:"km/h",toMs:.277778,info:"1千米/时 ≈ 0.278米/秒"},{id:"mph",name:"英里/时",symbol:"mph",toMs:.44704,info:"1英里/时 ≈ 0.447米/秒"},{id:"knot",name:"节",symbol:"kn",toMs:.514444,info:"1节 ≈ 0.514米/秒"},{id:"mach",name:"马赫",symbol:"Ma",toMs:343,info:"1马赫 ≈ 343米/秒(音速)"}],pressure:[{id:"pa",name:"帕斯卡",symbol:"Pa",toPa:1,info:"国际标准压力单位"},{id:"kpa",name:"千帕",symbol:"kPa",toPa:1e3,info:"1千帕 = 1000帕斯卡"},{id:"bar",name:"巴",symbol:"bar",toPa:1e5,info:"1巴 = 100000帕斯卡"},{id:"atm",name:"标准大气压",symbol:"atm",toPa:101325,info:"1标准大气压 = 101325帕斯卡"},{id:"psi",name:"磅/平方英寸",symbol:"psi",toPa:6894.76,info:"1psi ≈ 6895帕斯卡"},{id:"mmhg",name:"毫米汞柱",symbol:"mmHg",toPa:133.322,info:"1毫米汞柱 ≈ 133帕斯卡"}],energy:[{id:"j",name:"焦耳",symbol:"J",toJ:1,info:"国际标准能量单位"},{id:"kj",name:"千焦",symbol:"kJ",toJ:1e3,info:"1千焦 = 1000焦耳"},{id:"cal",name:"卡路里",symbol:"cal",toJ:4.184,info:"1卡路里 ≈ 4.184焦耳"},{id:"kcal",name:"千卡",symbol:"kcal",toJ:4184,info:"1千卡 = 1000卡路里"},{id:"kwh",name:"千瓦时",symbol:"kWh",toJ:36e5,info:"1千瓦时 = 3.6兆焦"},{id:"btu",name:"英热单位",symbol:"BTU",toJ:1055.06,info:"1BTU ≈ 1055焦耳"}],power:[{id:"w",name:"瓦特",symbol:"W",toW:1,info:"国际标准功率单位"},{id:"kw",name:"千瓦",symbol:"kW",toW:1e3,info:"1千瓦 = 1000瓦特"},{id:"mw",name:"兆瓦",symbol:"MW",toW:1e6,info:"1兆瓦 = 100万瓦特"},{id:"hp",name:"马力",symbol:"hp",toW:745.7,info:"1马力 ≈ 745.7瓦特"},{id:"ps",name:"公制马力",symbol:"PS",toW:735.5,info:"1公制马力 ≈ 735.5瓦特"},{id:"btu_h",name:"BTU/小时",symbol:"BTU/h",toW:.293,info:"1BTU/h ≈ 0.293瓦特"}],frequency:[{id:"hz",name:"赫兹",symbol:"Hz",toHz:1,info:"国际标准频率单位"},{id:"khz",name:"千赫",symbol:"kHz",toHz:1e3,info:"1千赫 = 1000赫兹"},{id:"mhz",name:"兆赫",symbol:"MHz",toHz:1e6,info:"1兆赫 = 100万赫兹"},{id:"ghz",name:"吉赫",symbol:"GHz",toHz:1e9,info:"1吉赫 = 10亿赫兹"},{id:"rpm",name:"转/分",symbol:"rpm",toHz:.0167,info:"1转/分 ≈ 0.0167赫兹"},{id:"rps",name:"转/秒",symbol:"rps",toHz:1,info:"1转/秒 = 1赫兹"}],angle:[{id:"deg",name:"度",symbol:"°",toDeg:1,info:"角度的常用单位"},{id:"rad",name:"弧度",symbol:"rad",toDeg:57.2958,info:"1弧度 ≈ 57.296度"},{id:"grad",name:"百分度",symbol:"grad",toDeg:.9,info:"1百分度 = 0.9度"},{id:"turn",name:"圈",symbol:"turn",toDeg:360,info:"1圈 = 360度"},{id:"arcmin",name:"角分",symbol:"'",toDeg:.0167,info:"1角分 = 1/60度"},{id:"arcsec",name:"角秒",symbol:'"',toDeg:278e-6,info:"1角秒 = 1/3600度"}],data:[{id:"b",name:"字节",symbol:"B",toByte:1,info:"计算机存储基本单位"},{id:"kb",name:"千字节",symbol:"KB",toByte:1024,info:"1KB = 1024字节"},{id:"mb",name:"兆字节",symbol:"MB",toByte:1048576,info:"1MB = 1024KB"},{id:"gb",name:"吉字节",symbol:"GB",toByte:1073741824,info:"1GB = 1024MB"},{id:"tb",name:"太字节",symbol:"TB",toByte:1099511627776,info:"1TB = 1024GB"},{id:"pb",name:"拍字节",symbol:"PB",toByte:0x4000000000000,info:"1PB = 1024TB"},{id:"bit",name:"比特",symbol:"bit",toByte:.125,info:"1字节 = 8比特"}]},m=is(()=>f[l.value]||[]),g=e=>{l.value=e;const t=m.value[0],a=m.value[1]||t;u.value=t?.id||"",d.value=a?.id||"",v(),Zt(()=>{D()})},y=()=>{const e=u.value;u.value=d.value,d.value=e,v()},v=()=>{if(!c.value||!u.value||!d.value)return void(h.value="");const e=parseFloat(c.value);if(isNaN(e))return void(h.value="");let t=0;t="temperature"===l.value?x(e,u.value,d.value):b(e,u.value,d.value),Math.abs(t)>=1e6||Math.abs(t)<.001&&0!==t?h.value=t.toExponential(6):h.value=parseFloat(t.toFixed(10)).toString()},b=(e,t,a)=>{const n=m.value.find(e=>e.id===t),r=m.value.find(e=>e.id===a);if(!n||!r)return 0;const s=w();if(!s)return 0;const i=n[s],o=r[s];return void 0===i||void 0===o?0:e*i/o},w=()=>({length:"toMeter",weight:"toKg",area:"toM2",volume:"toLiter",speed:"toMs",pressure:"toPa",energy:"toJ",power:"toW",frequency:"toHz",angle:"toDeg",data:"toByte"}[l.value]||""),x=(e,t,a)=>{let n=e;switch(t){case"f":n=5*(e-32)/9;break;case"k":n=e-273.15;break;case"r":n=5*(e-491.67)/9}switch(a){case"c":default:return n;case"f":return 9*n/5+32;case"k":return n+273.15;case"r":return 9*n/5+491.67}},k=e=>{const t=m.value.find(t=>t.id===e);return t?.info||""},_=()=>{const e=p.find(e=>e.id===l.value);return e?.icon||"📐"},E=()=>{if(!s.value)return;const e=s.value,t=e.scrollLeft,a=e.scrollWidth-e.clientWidth;i.value=t>5,o.value=a>10&&t{s.value&&(s.value.scrollBy({left:-200,behavior:"smooth"}),setTimeout(E,300))},F=()=>{if(!s.value)return;s.value.scrollBy({left:200,behavior:"smooth"}),setTimeout(E,300)},D=()=>{if(!s.value||!tabsWrapper.value)return;const e=tabsWrapper.value.querySelector(".category-tab.active");if(!e)return;const t=s.value.getBoundingClientRect(),a=e.getBoundingClientRect();if(a.leftt.right){const t=e.offsetLeft-(s.value.clientWidth-e.clientWidth)/2;s.value.scrollTo({left:t,behavior:"smooth"})}setTimeout(E,300)},A=()=>{if(!u.value||!d.value)return"";const e=m.value.find(e=>e.id===u.value),t=m.value.find(e=>e.id===d.value);if(!e||!t)return"";if("temperature"===l.value)return T(u.value,d.value);const a=w();if(!a)return"";const n=e[a]/t[a];return`1 ${e.symbol} = ${parseFloat(n.toFixed(8))} ${t.symbol}`},T=(e,t)=>({c:{f:"°F = °C × 9/5 + 32",k:"K = °C + 273.15",r:"°R = °C × 9/5 + 491.67"},f:{c:"°C = (°F - 32) × 5/9",k:"K = (°F - 32) × 5/9 + 273.15",r:"°R = °F + 459.67"},k:{c:"°C = K - 273.15",f:"°F = (K - 273.15) × 9/5 + 32",r:"°R = K × 9/5"}}[e]?.[t]||`${e} → ${t}`),S=()=>{if(!c.value||!h.value)return"";const e=m.value.find(e=>e.id===u.value),t=m.value.find(e=>e.id===d.value);return e&&t?`${c.value} ${e.symbol} = ${h.value} ${t.symbol}`:""},I=async()=>{if(!h.value)return void a("没有可复制的结果");await n(h.value)?t("结果已复制到剪贴板"):a("复制失败")},N=()=>{c.value="",h.value="",t("已清空所有内容")};return nn(()=>{g("length"),setTimeout(()=>{E(),s.value&&s.value.addEventListener("scroll",E),window.addEventListener("resize",()=>{setTimeout(E,100)})},100)}),(e,a)=>(Cr(),Tr("div",bZ,[Or(hl,{title:r.value,onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制结果",onClick:I}),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:N})]),_:1},8,["title"]),Mr("div",wZ,[Mr("div",xZ,[Mr("button",{class:"scroll-btn scroll-left",onClick:C,disabled:!i.value},[...a[4]||(a[4]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1)])],8,kZ),Mr("div",_Z,[Mr("div",{class:"category-tabs",ref_key:"tabsContainer",ref:s},[(Cr(),Tr(br,null,yn(p,e=>Mr("button",{key:e.id,class:Q(["category-tab",{active:l.value===e.id}]),onClick:t=>g(e.id)},[Mr("span",CZ,se(e.icon),1),Mr("span",FZ,se(e.name),1)],10,EZ)),64))],512)]),Mr("button",{class:"scroll-btn scroll-right",onClick:F,disabled:!o.value},[...a[5]||(a[5]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m9 18 6-6-6-6"})],-1)])],8,DZ)]),Mr("div",AZ,[a[6]||(a[6]=Mr("div",{class:"section-header"},[Mr("h3",null,"快速示例")],-1)),Mr("div",TZ,[(Cr(!0),Tr(br,null,yn({length:[{id:1,label:"1米 → 厘米",formula:"1 m = 100 cm",from:"m",to:"cm",value:1},{id:2,label:"1千米 → 英里",formula:"1 km ≈ 0.621 mi",from:"km",to:"mile",value:1},{id:3,label:"1英寸 → 厘米",formula:"1 in = 2.54 cm",from:"inch",to:"cm",value:1},{id:4,label:"1英尺 → 米",formula:"1 ft ≈ 0.305 m",from:"ft",to:"m",value:1}],weight:[{id:1,label:"1千克 → 磅",formula:"1 kg ≈ 2.205 lb",from:"kg",to:"lb",value:1},{id:2,label:"1磅 → 千克",formula:"1 lb ≈ 0.454 kg",from:"lb",to:"kg",value:1},{id:3,label:"1吨 → 磅",formula:"1 t ≈ 2205 lb",from:"t",to:"lb",value:1},{id:4,label:"1盎司 → 克",formula:"1 oz ≈ 28.35 g",from:"oz",to:"g",value:1}],temperature:[{id:1,label:"0°C → 华氏度",formula:"0°C = 32°F",from:"c",to:"f",value:0},{id:2,label:"100°C → 华氏度",formula:"100°C = 212°F",from:"c",to:"f",value:100},{id:3,label:"0°C → 开尔文",formula:"0°C = 273.15K",from:"c",to:"k",value:0},{id:4,label:"室温 → 各单位",formula:"20°C = 68°F = 293K",from:"c",to:"f",value:20}],area:[{id:1,label:"1平方米 → 平方厘米",formula:"1 m² = 10000 cm²",from:"m2",to:"cm2",value:1},{id:2,label:"1公顷 → 平方米",formula:"1 ha = 10000 m²",from:"hectare",to:"m2",value:1},{id:3,label:"1英亩 → 平方米",formula:"1 ac ≈ 4047 m²",from:"acre",to:"m2",value:1},{id:4,label:"1平方千米 → 公顷",formula:"1 km² = 100 ha",from:"km2",to:"hectare",value:1}],volume:[{id:1,label:"1升 → 毫升",formula:"1 L = 1000 ml",from:"l",to:"ml",value:1},{id:2,label:"1立方米 → 升",formula:"1 m³ = 1000 L",from:"m3",to:"l",value:1},{id:3,label:"1加仑 → 升",formula:"1 gal ≈ 3.785 L",from:"gallon",to:"l",value:1},{id:4,label:"1品脱 → 毫升",formula:"1 pt ≈ 473 ml",from:"pint",to:"ml",value:1}],speed:[{id:1,label:"1米/秒 → 千米/时",formula:"1 m/s = 3.6 km/h",from:"ms",to:"kmh",value:1},{id:2,label:"100千米/时 → 英里/时",formula:"100 km/h ≈ 62.1 mph",from:"kmh",to:"mph",value:100},{id:3,label:"1马赫 → 千米/时",formula:"1 Ma ≈ 1235 km/h",from:"mach",to:"kmh",value:1},{id:4,label:"1节 → 千米/时",formula:"1 kn ≈ 1.852 km/h",from:"knot",to:"kmh",value:1}],pressure:[{id:1,label:"1大气压 → 千帕",formula:"1 atm ≈ 101.3 kPa",from:"atm",to:"kpa",value:1},{id:2,label:"1巴 → 帕斯卡",formula:"1 bar = 100000 Pa",from:"bar",to:"pa",value:1},{id:3,label:"1psi → 千帕",formula:"1 psi ≈ 6.895 kPa",from:"psi",to:"kpa",value:1},{id:4,label:"760毫米汞柱 → 大气压",formula:"760 mmHg = 1 atm",from:"mmhg",to:"atm",value:760}],energy:[{id:1,label:"1千焦 → 焦耳",formula:"1 kJ = 1000 J",from:"kj",to:"j",value:1},{id:2,label:"1千卡 → 焦耳",formula:"1 kcal = 4184 J",from:"kcal",to:"j",value:1},{id:3,label:"1千瓦时 → 兆焦",formula:"1 kWh = 3.6 MJ",from:"kwh",to:"kj",value:1},{id:4,label:"1BTU → 焦耳",formula:"1 BTU ≈ 1055 J",from:"btu",to:"j",value:1}],power:[{id:1,label:"1千瓦 → 瓦特",formula:"1 kW = 1000 W",from:"kw",to:"w",value:1},{id:2,label:"1马力 → 瓦特",formula:"1 hp ≈ 745.7 W",from:"hp",to:"w",value:1},{id:3,label:"1兆瓦 → 千瓦",formula:"1 MW = 1000 kW",from:"mw",to:"kw",value:1},{id:4,label:"1公制马力 → 瓦特",formula:"1 PS ≈ 735.5 W",from:"ps",to:"w",value:1}],frequency:[{id:1,label:"1千赫 → 赫兹",formula:"1 kHz = 1000 Hz",from:"khz",to:"hz",value:1},{id:2,label:"1兆赫 → 千赫",formula:"1 MHz = 1000 kHz",from:"mhz",to:"khz",value:1},{id:3,label:"1吉赫 → 兆赫",formula:"1 GHz = 1000 MHz",from:"ghz",to:"mhz",value:1},{id:4,label:"60转/分 → 赫兹",formula:"60 rpm = 1 Hz",from:"rpm",to:"hz",value:60}],angle:[{id:1,label:"180度 → 弧度",formula:"180° = π rad",from:"deg",to:"rad",value:180},{id:2,label:"1弧度 → 度",formula:"1 rad ≈ 57.3°",from:"rad",to:"deg",value:1},{id:3,label:"1圈 → 度",formula:"1 turn = 360°",from:"turn",to:"deg",value:1},{id:4,label:"90度 → 百分度",formula:"90° = 100 grad",from:"deg",to:"grad",value:90}],data:[{id:1,label:"1KB → 字节",formula:"1 KB = 1024 B",from:"kb",to:"b",value:1},{id:2,label:"1MB → KB",formula:"1 MB = 1024 KB",from:"mb",to:"kb",value:1},{id:3,label:"1GB → MB",formula:"1 GB = 1024 MB",from:"gb",to:"mb",value:1},{id:4,label:"1字节 → 比特",formula:"1 B = 8 bit",from:"b",to:"bit",value:1}]}[l.value]||[],e=>(Cr(),Tr("div",{key:e.id,class:"conversion-item",onClick:a=>(e=>{u.value=e.from,d.value=e.to,c.value=e.value.toString(),v(),t(`已应用转换: ${e.label}`)})(e)},[Mr("div",IZ,se(e.label),1),Mr("div",NZ,se(e.formula),1)],8,SZ))),128))])]),Mr("div",PZ,[Mr("div",BZ,[Mr("div",MZ,[Mr("div",OZ,[a[7]||(a[7]=Mr("h3",null,"输入值",-1)),Mr("div",UZ,[ca(Mr("select",{"onUpdate:modelValue":a[1]||(a[1]=e=>u.value=e),class:"unit-select",onChange:v},[(Cr(!0),Tr(br,null,yn(m.value,e=>(Cr(),Tr("option",{key:e.id,value:e.id},se(e.name)+" ("+se(e.symbol)+") ",9,jZ))),128))],544),[[_i,u.value]])])]),Mr("div",LZ,[ca(Mr("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>c.value=e),type:"number",class:"value-input",placeholder:"请输入数值",onInput:v,step:"any"},null,544),[[bi,c.value]]),Mr("div",RZ,[Mr("div",zZ,se(k(u.value)),1)])])]),Mr("div",HZ,[Or(jl,{icon:"swap",tooltip:"交换单位",onClick:y})]),Mr("div",$Z,[Mr("div",YZ,[a[8]||(a[8]=Mr("h3",null,"转换结果",-1)),Mr("div",GZ,[ca(Mr("select",{"onUpdate:modelValue":a[3]||(a[3]=e=>d.value=e),class:"unit-select",onChange:v},[(Cr(!0),Tr(br,null,yn(m.value,e=>(Cr(),Tr("option",{key:e.id,value:e.id},se(e.name)+" ("+se(e.symbol)+") ",9,WZ))),128))],544),[[_i,d.value]])])]),Mr("div",VZ,[Mr("input",{value:h.value,class:"value-output",readonly:""},null,8,KZ),Mr("div",JZ,[Mr("div",qZ,se(k(d.value)),1)])])])]),Mr("div",ZZ,[Mr("div",XZ,[Mr("h3",null,se(_())+" 转换公式",1)]),Mr("div",QZ,[Mr("div",eX,[Mr("div",tX,se(A()),1),S()?(Cr(),Tr("div",aX,se(S()),1)):Rr("",!0)])])])])])]))}}),[["__scopeId","data-v-c52f9f53"]]),rX={class:"number-converter"},sX={class:"converter-content"},iX={class:"convert-section"},oX={class:"input-panel"},lX={class:"section-header"},cX={class:"input-type-selector"},uX={class:"input-area"},dX={class:"input-container"},hX=["type","step","placeholder"],pX={class:"input-hint"},fX={class:"examples-area"},mX={class:"examples-grid"},gX={class:"results-panel"},yX={class:"results-list"},vX={class:"result-content"},bX=["value"],wX={class:"result-info"},xX={class:"result-label"},kX={key:0,class:"active-indicator"},_X={class:"result-content"},EX=["value"],CX={class:"result-info"},FX={class:"result-label"},DX={key:0,class:"active-indicator"},AX={class:"result-content"},TX=["value"],SX={class:"result-info"},IX={class:"result-label"},NX={key:0,class:"active-indicator"},PX={class:"result-content"},BX=["value"],MX=Wi($a({__name:"NumberConverter",emits:["back"],setup(e){il("number-format-new");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"number-format-new"===e.id);if(t)return t.title}return"数字格式转换"}),s=St(""),i=St("number"),o=St({number:"",roman:"",chinese:"",chineseUpper:""}),l=()=>{try{console.log("=== START convertNumber ==="),console.log("convertNumber called, inputNumber:",s.value,"inputType:",i.value);const e=String(s.value||"").trim();if(console.log("inputValue after string conversion and trim:",`"${e}"`),console.log("trim length:",e.length),!e)return console.log("input is empty after trim, returning"),void(o.value={number:"",roman:"",chinese:"",chineseUpper:""});console.log("proceeding with conversion...");let t=0;if("number"===i.value){if(console.log("parsing number:",e),t=parseFloat(e),console.log("parsed number:",t),isNaN(t))throw console.log("number is NaN"),new Error("无效数字")}else if("roman"===i.value){if(t=(e=>{const t={I:1,V:5,X:10,L:50,C:100,D:500,M:1e3};let a=0,n=0;for(let r=e.length-1;r>=0;r--){const s=e[r];if(!s)continue;const i=t[s];if(!i)return 0;i{const t={"零":0,"一":1,"二":2,"三":3,"四":4,"五":5,"六":6,"七":7,"八":8,"九":9,"壹":1,"贰":2,"叁":3,"肆":4,"伍":5,"陆":6,"柒":7,"捌":8,"玖":9},a={"十":10,"拾":10,"百":100,"佰":100,"千":1e3,"仟":1e3,"万":1e4,"亿":1e8};let n=0,r=0,s=1;for(let i=e.length-1;i>=0;i--){const o=e[i];o&&(t.hasOwnProperty(o)?(r=t[o]*s,n+=r):a.hasOwnProperty(o)&&(s=a[o],"万"!==o&&"亿"!==o||(n+=r*s,r=0,s=1)))}return n})(e),0===t&&"零"!==e))throw new Error("无效中文数字");console.log("calling conversion functions...");const a=(e=>{if(e<1)return"";if(e>999999)return"数字过大";const t=[1e3,900,500,400,100,90,50,40,10,9,5,4,1],a=["M","CM","D","CD","C","XC","L","XL","X","IX","V","IV","I"];let n="",r=e;for(let s=0;s=e;)n+=i,r-=e}return n})(Math.floor(t));console.log("toRoman result:",a);const n=(e=>{if(e<0)return"";if(0===e)return"零";const t=["","一","二","三","四","五","六","七","八","九"],a=["","十","百","千","万","十万","百万","千万","亿"],n=e=>{if(0===e)return"";const n=e.toString();let r="";for(let s=0;s0&&s?s:"")}else r&&s"0"!==e)&&!r.endsWith("零")&&(r+="零")}return r},r=Math.floor(e);if(0===r)return"零";if(r<1e4)return n(r);if(r<1e8){const e=r%1e4;let t=n(Math.floor(r/1e4))+"万";return e>0&&(t+=e<1e3?"零"+n(e):n(e)),t}{const e=r%1e8;let t=n(Math.floor(r/1e8))+"亿";if(e>0)if(e<1e7&&(t+="零"),e>=1e4){const a=e%1e4;t+=n(Math.floor(e/1e4))+"万",a>0&&(a<1e3&&(t+="零"),t+=n(a))}else t+=n(e);return t}})(Math.floor(t));console.log("toChinese result:",n);const r=(e=>{if(e<0)return"";if(0===e)return"零元整";const t=["零","壹","贰","叁","肆","伍","陆","柒","捌","玖"],a=["","拾","佰","仟","万","拾万","佰万","仟万","亿"],n=e.toString().split("."),r=parseInt(n[0]||"0"),s=n[1],i=e=>{if(0===e)return"";const n=e.toString();let r="";for(let s=0;s0&&e?e:"")}else r&&s"0"!==e)&&!r.endsWith("零")&&(r+="零")}return r};let o="";if(0===r)o="零";else if(r<1e4)o=i(r);else if(r<1e8){const e=r%1e4;o=i(Math.floor(r/1e4))+"万",e>0&&(o+=e<1e3?"零"+i(e):i(e))}else{const e=r%1e8;if(o=i(Math.floor(r/1e8))+"亿",e>0)if(e<1e7&&(o+="零"),e>=1e4){const t=e%1e4;o+=i(Math.floor(e/1e4))+"万",t>0&&(t<1e3&&(o+="零"),o+=i(t))}else o+=i(e)}if(o+="元",s){const e=s.length>0?parseInt(s[0]):0,a=s.length>1?parseInt(s[1]):0;0===e&&0===a?o+="整":(e>0?o+=t[e]+"角":a>0&&(o+="零"),a>0&&(o+=t[a]+"分"))}else o+="整";return o})(t);console.log("toChineseUpper result:",r);const l={number:t.toString(),roman:a,chinese:n,chineseUpper:r};console.log("converted results:",l),o.value=l,console.log("=== END convertNumber ===")}catch(e){console.error("=== ERROR in convertNumber ===",e),o.value={number:"错误",roman:"错误",chinese:"错误",chineseUpper:"错误"}}},c=e=>{i.value=e,s.value="",o.value={number:"",roman:"",chinese:"",chineseUpper:""}},u=()=>{switch(i.value){case"number":return"请输入阿拉伯数字,如:123";case"chinese":return"请输入中文数字,如:一百二十三";case"roman":return"请输入罗马数字,如:CXXIII";default:return"请输入数字"}},d=()=>{switch(i.value){case"number":return"支持整数和小数,范围:0-999999";case"chinese":return"支持中文数字,如:一、二、三、十、百、千、万";case"roman":return"支持罗马数字,如:I、V、X、L、C、D、M";default:return""}},h=()=>{s.value="",o.value={number:"",roman:"",chinese:"",chineseUpper:""},t("已清空所有内容")},p=async e=>{if(!e||"-"===e||"错误"===e)return;await n(e)?t("已复制到剪贴板"):a("复制失败")},f=e=>{i.value="number",s.value=e.toString(),l(),t(`已设置示例值: ${e}`)};return l(),(e,t)=>(Cr(),Tr("div",rX,[Or(hl,{title:r.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:h})]),_:1},8,["title"]),Mr("div",sX,[Mr("div",iX,[Mr("div",oX,[Mr("div",lX,[t[15]||(t[15]=Mr("h3",null,"数字输入",-1)),Mr("div",cX,[Mr("button",{class:Q(["type-btn",{active:"number"===i.value}]),onClick:t[1]||(t[1]=e=>c("number"))}," 阿拉伯数字 ",2),Mr("button",{class:Q(["type-btn",{active:"chinese"===i.value}]),onClick:t[2]||(t[2]=e=>c("chinese"))}," 中文数字 ",2),Mr("button",{class:Q(["type-btn",{active:"roman"===i.value}]),onClick:t[3]||(t[3]=e=>c("roman"))}," 罗马数字 ",2)])]),Mr("div",uX,[Mr("div",dX,[ca(Mr("input",{"onUpdate:modelValue":t[4]||(t[4]=e=>s.value=e),type:"number"===i.value?"number":"text",step:"number"===i.value?"0.01":void 0,class:"number-input",placeholder:u(),onInput:l},null,40,hX),[[Di,s.value]])]),Mr("div",pX,se(d()),1)]),Mr("div",fX,[t[22]||(t[22]=Mr("h4",{class:"examples-title"},"快速示例",-1)),Mr("div",mX,[Mr("div",{class:"example-item",onClick:t[5]||(t[5]=e=>f(1))},[...t[16]||(t[16]=[Mr("div",{class:"example-number"},"1",-1),Mr("div",{class:"example-roman"},"I",-1)])]),Mr("div",{class:"example-item",onClick:t[6]||(t[6]=e=>f(10))},[...t[17]||(t[17]=[Mr("div",{class:"example-number"},"10",-1),Mr("div",{class:"example-roman"},"X",-1)])]),Mr("div",{class:"example-item",onClick:t[7]||(t[7]=e=>f(100))},[...t[18]||(t[18]=[Mr("div",{class:"example-number"},"100",-1),Mr("div",{class:"example-roman"},"C",-1)])]),Mr("div",{class:"example-item",onClick:t[8]||(t[8]=e=>f(500))},[...t[19]||(t[19]=[Mr("div",{class:"example-number"},"500",-1),Mr("div",{class:"example-roman"},"D",-1)])]),Mr("div",{class:"example-item",onClick:t[9]||(t[9]=e=>f(1e3))},[...t[20]||(t[20]=[Mr("div",{class:"example-number"},"1000",-1),Mr("div",{class:"example-roman"},"M",-1)])]),Mr("div",{class:"example-item",onClick:t[10]||(t[10]=e=>f(2024))},[...t[21]||(t[21]=[Mr("div",{class:"example-number"},"2024",-1),Mr("div",{class:"example-roman"},"MMXXIV",-1)])])])])]),Mr("div",gX,[t[33]||(t[33]=Lr('

    转换结果

    点击任意行复制内容
    ',1)),Mr("div",yX,[Mr("div",{class:"result-row",onClick:t[11]||(t[11]=e=>p(o.value.chineseUpper))},[t[23]||(t[23]=Lr('
    💰大写金额
    人民币大写,财务专用
    ',1)),Mr("div",vX,[Mr("input",{value:o.value.chineseUpper||"-",class:"result-input",readonly:""},null,8,bX)])]),Mr("div",{class:Q(["result-row",{active:"number"===i.value}]),onClick:t[12]||(t[12]=e=>p(o.value.number))},[Mr("div",wX,[Mr("div",xX,[t[24]||(t[24]=Mr("span",{class:"result-icon"},"🔢",-1)),t[25]||(t[25]=Mr("span",{class:"result-name"},"阿拉伯数字",-1)),"number"===i.value?(Cr(),Tr("span",kX,"输入")):Rr("",!0)]),t[26]||(t[26]=Mr("div",{class:"result-desc"},"标准数字格式,国际通用",-1))]),Mr("div",_X,[Mr("input",{value:o.value.number||"-",class:"result-input",readonly:""},null,8,EX)])],2),Mr("div",{class:Q(["result-row",{active:"roman"===i.value}]),onClick:t[13]||(t[13]=e=>p(o.value.roman))},[Mr("div",CX,[Mr("div",FX,[t[27]||(t[27]=Mr("span",{class:"result-icon"},"🏛️",-1)),t[28]||(t[28]=Mr("span",{class:"result-name"},"罗马数字",-1)),"roman"===i.value?(Cr(),Tr("span",DX,"输入")):Rr("",!0)]),t[29]||(t[29]=Mr("div",{class:"result-desc"},"古罗马数字系统,常用于序号",-1))]),Mr("div",AX,[Mr("input",{value:o.value.roman||"-",class:"result-input",readonly:""},null,8,TX)])],2),Mr("div",{class:Q(["result-row",{active:"chinese"===i.value}]),onClick:t[14]||(t[14]=e=>p(o.value.chinese))},[Mr("div",SX,[Mr("div",IX,[t[30]||(t[30]=Mr("span",{class:"result-icon"},"🀄",-1)),t[31]||(t[31]=Mr("span",{class:"result-name"},"中文数字",-1)),"chinese"===i.value?(Cr(),Tr("span",NX,"输入")):Rr("",!0)]),t[32]||(t[32]=Mr("div",{class:"result-desc"},"中文小写数字,日常使用",-1))]),Mr("div",PX,[Mr("input",{value:o.value.chinese||"-",class:"result-input",readonly:""},null,8,BX)])],2)])])]),t[34]||(t[34]=Lr('

    💡 转换规则说明

    🏛️

    罗马数字基本符号

    I = 1
    V = 5
    X = 10
    L = 50
    C = 100
    D = 500
    M = 1000
    🀄

    中文数字对照

    零 = 0
    一 = 1
    二 = 2
    三 = 3
    四 = 4
    五 = 5
    六 = 6
    七 = 7
    八 = 8
    九 = 9
    💰

    人民币大写汉字

    零 = 0
    壹 = 1
    贰 = 2
    叁 = 3
    肆 = 4
    伍 = 5
    陆 = 6
    柒 = 7
    捌 = 8
    玖 = 9
    ',1))])]))}}),[["__scopeId","data-v-8533b6b2"]]),OX={class:"search-section"},UX={class:"search-container"},jX={class:"search-input-wrapper"},LX=["value","placeholder"],RX={key:0,class:"category-filter"},zX=["onClick"],HX={key:0,class:"filter-count"},$X=Wi($a({__name:"SearchSection",props:{searchQuery:{},placeholder:{},filters:{},activeFilter:{}},emits:["update:searchQuery","update:activeFilter"],setup:e=>(t,a)=>(Cr(),Tr("div",OX,[Mr("div",UX,[Mr("div",jX,[a[3]||(a[3]=Mr("svg",{class:"search-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"11",cy:"11",r:"8"}),Mr("path",{d:"m21 21-4.35-4.35"})],-1)),Mr("input",{value:e.searchQuery,onInput:a[0]||(a[0]=e=>t.$emit("update:searchQuery",e.target.value)),type:"text",placeholder:e.placeholder,class:"search-input"},null,40,LX),e.searchQuery?(Cr(),Tr("button",{key:0,onClick:a[1]||(a[1]=e=>t.$emit("update:searchQuery","")),class:"clear-search-btn"},[...a[2]||(a[2]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])):Rr("",!0)]),e.filters&&e.filters.length>0?(Cr(),Tr("div",RX,[(Cr(!0),Tr(br,null,yn(e.filters,a=>(Cr(),Tr("button",{key:a.key,class:Q(["category-btn",{active:e.activeFilter===a.key}]),onClick:e=>t.$emit("update:activeFilter",a.key)},[jr(se(a.name)+" ",1),void 0!==a.count?(Cr(),Tr("span",HX,"("+se(a.count)+")",1)):Rr("",!0)],10,zX))),128))])):Rr("",!0)])]))}),[["__scopeId","data-v-04e124c0"]]);const YX=["title"],GX={key:0,d:"m18 15-6-6-6 6"},WX={key:1,d:"M21 12a9 9 0 11-6.219-8.56"},VX={key:0,class:"scroll-text"},KX=$a({__name:"ScrollToTop",props:{threshold:{default:300},behavior:{default:"smooth"},container:{},tooltip:{default:"回到顶部"},text:{default:"顶部"},showText:{type:Boolean,default:!1},position:{default:"bottom-right"}},setup(e){const t=e,{isVisible:a,isScrolling:n,scrollToTop:r}=function(e){const{threshold:t=300,behavior:a="smooth",container:n}=e||{},r=St(!1),s=St(!1);let i=window,o=null;const l=()=>i===window?window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0:i.scrollTop||0,c=()=>{const e=l();r.value=e>t},u=((e,t)=>{let a=null,n=0;return function(...r){const s=Date.now();s-n>t?(e.apply(this,r),n=s):(a&&clearTimeout(a),a=window.setTimeout(()=>{e.apply(this,r),n=Date.now()},t-(s-n)))}})(c,100),d=()=>{if(o&&(o(),o=null),i=window,n)if("string"==typeof n){const e=document.querySelector(n);e&&(i=e)}else n&&"value"in n?n.value&&(i=n.value):n instanceof HTMLElement&&(i=n);i.addEventListener("scroll",u,{passive:!0}),c(),o=()=>{i.removeEventListener("scroll",u)}};return nn(()=>{Zt(()=>{d(),n&&"object"==typeof n&&"value"in n&&pa(()=>n.value,()=>{Zt(d)})})}),ln(()=>{o&&o()}),{isVisible:r,isScrolling:s,scrollToTop:()=>{if(s.value)return;s.value=!0,i===window?window.scrollTo({top:0,behavior:a}):i.scrollTo({top:0,behavior:a});const e=()=>{l()<=10?s.value=!1:requestAnimationFrame(e)};requestAnimationFrame(e)}}}({threshold:t.threshold,behavior:t.behavior,container:t.container});return(t,s)=>(Cr(),Sr(Fa,{to:"body"},[Or(ws,{name:"scroll-to-top"},{default:la(()=>[Nt(a)?(Cr(),Tr("button",{key:0,class:Q(["scroll-to-top-btn",{scrolling:Nt(n)}]),onClick:s[0]||(s[0]=(...e)=>Nt(r)&&Nt(r)(...e)),title:e.tooltip},[(Cr(),Tr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2",class:Q({rotating:Nt(n)})},[Nt(n)?(Cr(),Tr("path",WX)):(Cr(),Tr("path",GX))],2)),e.showText?(Cr(),Tr("span",VX,se(e.text),1)):Rr("",!0)],10,YX)):Rr("",!0)]),_:1})]))}}),JX=Wi(KX,[["__scopeId","data-v-ca8072fe"]]),qX={key:0,class:"modal-header"},ZX={class:"modal-title"},XX=["title"],QX={key:1,class:"modal-footer"},eQ=$a({__name:"Modal",props:{visible:{type:Boolean},title:{default:""},width:{default:"90%"},maxWidth:{default:"800px"},maxHeight:{default:"70vh"},showHeader:{type:Boolean,default:!0},showCloseButton:{type:Boolean,default:!0},closeOnOverlay:{type:Boolean,default:!0},closeButtonTitle:{default:"关闭"},modalClass:{default:""},contentClass:{default:""}},emits:["close","update:visible"],setup(e,{emit:t}){Ls(e=>({v576693a0:a.width,v14dc03d0:a.maxWidth,ba4269d6:a.maxHeight}));const a=e,n=t,r=()=>{n("update:visible",!1),n("close")},s=()=>{a.closeOnOverlay&&r()};return(t,a)=>(Cr(),Sr(Fa,{to:"body"},[Or(ws,{name:"modal"},{default:la(()=>[e.visible?(Cr(),Tr("div",{key:0,class:"modal-overlay",onClick:s},[Mr("div",{class:Q(["modal",e.modalClass]),onClick:a[0]||(a[0]=Ii(()=>{},["stop"]))},[e.showHeader?(Cr(),Tr("div",qX,[vn(t.$slots,"header",{},()=>[Mr("h3",ZX,se(e.title),1)]),e.showCloseButton?(Cr(),Tr("button",{key:0,class:"close-btn",onClick:r,title:e.closeButtonTitle},[...a[1]||(a[1]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,XX)):Rr("",!0)])):Rr("",!0),Mr("div",{class:Q(["modal-content",e.contentClass])},[vn(t.$slots,"default",{},void 0)],2),t.$slots.footer?(Cr(),Tr("div",QX,[vn(t.$slots,"footer",{},void 0)])):Rr("",!0)],2)])):Rr("",!0)]),_:3})]))}}),tQ=Wi(eQ,[["__scopeId","data-v-277974ec"]]),aQ={class:"color-reference"},nQ={class:"converter-content"},rQ={class:"colors-grid"},sQ=["onClick"],iQ={class:"color-info"},oQ={class:"color-name"},lQ={class:"color-hex"},cQ={class:"color-details-content"},uQ={class:"color-display"},dQ={class:"color-name-large"},hQ={class:"color-formats"},pQ={class:"format-row"},fQ={class:"format-item"},mQ={class:"format-value"},gQ=["value"],yQ={class:"format-item"},vQ={class:"format-value"},bQ=["value"],wQ={class:"format-row"},xQ={class:"format-item"},kQ={class:"format-value"},_Q=["value"],EQ={class:"format-item"},CQ={class:"format-value"},FQ=["value"],DQ=$a({__name:"ColorReference",emits:["back"],setup(e,{emit:t}){const a=t;il("color-reference");const{success:n}=Vo(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"color-reference"===e.id);if(t)return t.title}return"颜色对照表"}),s=St(""),i=St("all"),o=St(null),l=St(!1),c=is(()=>[{key:"all",name:"全部",count:u.value.length},{key:"basic",name:"基础色",count:u.value.filter(e=>"basic"===e.category).length},{key:"web",name:"网页安全色",count:u.value.filter(e=>"web"===e.category).length},{key:"material",name:"Material Design",count:u.value.filter(e=>"material"===e.category).length}]);pa([s,i],()=>{o.value=null});const u=St([{name:"黑色",hex:"#000000",rgb:"rgb(0, 0, 0)",hsl:"hsl(0, 0%, 0%)",category:"basic"},{name:"白色",hex:"#FFFFFF",rgb:"rgb(255, 255, 255)",hsl:"hsl(0, 0%, 100%)",category:"basic"},{name:"红色",hex:"#FF0000",rgb:"rgb(255, 0, 0)",hsl:"hsl(0, 100%, 50%)",category:"basic"},{name:"绿色",hex:"#00FF00",rgb:"rgb(0, 255, 0)",hsl:"hsl(120, 100%, 50%)",category:"basic"},{name:"蓝色",hex:"#0000FF",rgb:"rgb(0, 0, 255)",hsl:"hsl(240, 100%, 50%)",category:"basic"},{name:"黄色",hex:"#FFFF00",rgb:"rgb(255, 255, 0)",hsl:"hsl(60, 100%, 50%)",category:"basic"},{name:"青色",hex:"#00FFFF",rgb:"rgb(0, 255, 255)",hsl:"hsl(180, 100%, 50%)",category:"basic"},{name:"洋红",hex:"#FF00FF",rgb:"rgb(255, 0, 255)",hsl:"hsl(300, 100%, 50%)",category:"basic"},{name:"灰色",hex:"#808080",rgb:"rgb(128, 128, 128)",hsl:"hsl(0, 0%, 50%)",category:"basic"},{name:"银色",hex:"#C0C0C0",rgb:"rgb(192, 192, 192)",hsl:"hsl(0, 0%, 75%)",category:"basic"},{name:"深灰",hex:"#404040",rgb:"rgb(64, 64, 64)",hsl:"hsl(0, 0%, 25%)",category:"basic"},{name:"浅灰",hex:"#D3D3D3",rgb:"rgb(211, 211, 211)",hsl:"hsl(0, 0%, 83%)",category:"basic"},{name:"深红",hex:"#8B0000",rgb:"rgb(139, 0, 0)",hsl:"hsl(0, 100%, 27%)",category:"web"},{name:"火砖红",hex:"#B22222",rgb:"rgb(178, 34, 34)",hsl:"hsl(0, 68%, 42%)",category:"web"},{name:"印度红",hex:"#CD5C5C",rgb:"rgb(205, 92, 92)",hsl:"hsl(0, 53%, 58%)",category:"web"},{name:"浅珊瑚",hex:"#F08080",rgb:"rgb(240, 128, 128)",hsl:"hsl(0, 79%, 72%)",category:"web"},{name:"深粉",hex:"#FF1493",rgb:"rgb(255, 20, 147)",hsl:"hsl(328, 100%, 54%)",category:"web"},{name:"热粉",hex:"#FF69B4",rgb:"rgb(255, 105, 180)",hsl:"hsl(330, 100%, 71%)",category:"web"},{name:"粉色",hex:"#FFC0CB",rgb:"rgb(255, 192, 203)",hsl:"hsl(350, 100%, 88%)",category:"web"},{name:"浅粉",hex:"#FFB6C1",rgb:"rgb(255, 182, 193)",hsl:"hsl(351, 100%, 86%)",category:"web"},{name:"橙红",hex:"#FF4500",rgb:"rgb(255, 69, 0)",hsl:"hsl(16, 100%, 50%)",category:"web"},{name:"橙色",hex:"#FFA500",rgb:"rgb(255, 165, 0)",hsl:"hsl(39, 100%, 50%)",category:"web"},{name:"深橙",hex:"#FF8C00",rgb:"rgb(255, 140, 0)",hsl:"hsl(33, 100%, 50%)",category:"web"},{name:"金色",hex:"#FFD700",rgb:"rgb(255, 215, 0)",hsl:"hsl(51, 100%, 50%)",category:"web"},{name:"黄绿",hex:"#ADFF2F",rgb:"rgb(173, 255, 47)",hsl:"hsl(84, 100%, 59%)",category:"web"},{name:"草绿",hex:"#7CFC00",rgb:"rgb(124, 252, 0)",hsl:"hsl(90, 100%, 49%)",category:"web"},{name:"酸橙绿",hex:"#32CD32",rgb:"rgb(50, 205, 50)",hsl:"hsl(120, 61%, 50%)",category:"web"},{name:"森林绿",hex:"#228B22",rgb:"rgb(34, 139, 34)",hsl:"hsl(120, 61%, 34%)",category:"web"},{name:"深绿",hex:"#006400",rgb:"rgb(0, 100, 0)",hsl:"hsl(120, 100%, 20%)",category:"web"},{name:"海绿",hex:"#2E8B57",rgb:"rgb(46, 139, 87)",hsl:"hsl(146, 50%, 36%)",category:"web"},{name:"春绿",hex:"#00FF7F",rgb:"rgb(0, 255, 127)",hsl:"hsl(150, 100%, 50%)",category:"web"},{name:"薄荷绿",hex:"#00FA9A",rgb:"rgb(0, 250, 154)",hsl:"hsl(157, 100%, 49%)",category:"web"},{name:"深青",hex:"#008B8B",rgb:"rgb(0, 139, 139)",hsl:"hsl(180, 100%, 27%)",category:"web"},{name:"浅海绿",hex:"#20B2AA",rgb:"rgb(32, 178, 170)",hsl:"hsl(177, 70%, 41%)",category:"web"},{name:"青绿",hex:"#48D1CC",rgb:"rgb(72, 209, 204)",hsl:"hsl(178, 60%, 55%)",category:"web"},{name:"浅青",hex:"#E0FFFF",rgb:"rgb(224, 255, 255)",hsl:"hsl(180, 100%, 94%)",category:"web"},{name:"天蓝",hex:"#87CEEB",rgb:"rgb(135, 206, 235)",hsl:"hsl(197, 71%, 73%)",category:"web"},{name:"深天蓝",hex:"#00BFFF",rgb:"rgb(0, 191, 255)",hsl:"hsl(195, 100%, 50%)",category:"web"},{name:"道奇蓝",hex:"#1E90FF",rgb:"rgb(30, 144, 255)",hsl:"hsl(210, 100%, 56%)",category:"web"},{name:"钢蓝",hex:"#4682B4",rgb:"rgb(70, 130, 180)",hsl:"hsl(207, 44%, 49%)",category:"web"},{name:"皇家蓝",hex:"#4169E1",rgb:"rgb(65, 105, 225)",hsl:"hsl(225, 73%, 57%)",category:"web"},{name:"深蓝",hex:"#00008B",rgb:"rgb(0, 0, 139)",hsl:"hsl(240, 100%, 27%)",category:"web"},{name:"海军蓝",hex:"#000080",rgb:"rgb(0, 0, 128)",hsl:"hsl(240, 100%, 25%)",category:"web"},{name:"午夜蓝",hex:"#191970",rgb:"rgb(25, 25, 112)",hsl:"hsl(240, 64%, 27%)",category:"web"},{name:"靛青",hex:"#4B0082",rgb:"rgb(75, 0, 130)",hsl:"hsl(275, 100%, 25%)",category:"web"},{name:"紫色",hex:"#800080",rgb:"rgb(128, 0, 128)",hsl:"hsl(300, 100%, 25%)",category:"web"},{name:"深紫",hex:"#9400D3",rgb:"rgb(148, 0, 211)",hsl:"hsl(282, 100%, 41%)",category:"web"},{name:"蓝紫",hex:"#8A2BE2",rgb:"rgb(138, 43, 226)",hsl:"hsl(271, 76%, 53%)",category:"web"},{name:"深兰花紫",hex:"#9932CC",rgb:"rgb(153, 50, 204)",hsl:"hsl(280, 61%, 50%)",category:"web"},{name:"兰花紫",hex:"#DA70D6",rgb:"rgb(218, 112, 214)",hsl:"hsl(302, 59%, 65%)",category:"web"},{name:"紫罗兰",hex:"#EE82EE",rgb:"rgb(238, 130, 238)",hsl:"hsl(300, 76%, 72%)",category:"web"},{name:"李子紫",hex:"#DDA0DD",rgb:"rgb(221, 160, 221)",hsl:"hsl(300, 47%, 75%)",category:"web"},{name:"棕色",hex:"#A52A2A",rgb:"rgb(165, 42, 42)",hsl:"hsl(0, 59%, 41%)",category:"web"},{name:"马鞍棕",hex:"#8B4513",rgb:"rgb(139, 69, 19)",hsl:"hsl(25, 76%, 31%)",category:"web"},{name:"巧克力",hex:"#D2691E",rgb:"rgb(210, 105, 30)",hsl:"hsl(25, 75%, 47%)",category:"web"},{name:"秘鲁",hex:"#CD853F",rgb:"rgb(205, 133, 63)",hsl:"hsl(30, 59%, 53%)",category:"web"},{name:"沙棕",hex:"#F4A460",rgb:"rgb(244, 164, 96)",hsl:"hsl(28, 87%, 67%)",category:"web"},{name:"小麦",hex:"#F5DEB3",rgb:"rgb(245, 222, 179)",hsl:"hsl(39, 77%, 83%)",category:"web"},{name:"橄榄色",hex:"#808000",rgb:"rgb(128, 128, 0)",hsl:"hsl(60, 100%, 25%)",category:"web"},{name:"卡其",hex:"#F0E68C",rgb:"rgb(240, 230, 140)",hsl:"hsl(54, 77%, 75%)",category:"web"},{name:"Material Red 50",hex:"#FFEBEE",rgb:"rgb(255, 235, 238)",hsl:"hsl(351, 100%, 96%)",category:"material"},{name:"Material Red 100",hex:"#FFCDD2",rgb:"rgb(255, 205, 210)",hsl:"hsl(354, 100%, 90%)",category:"material"},{name:"Material Red 200",hex:"#EF9A9A",rgb:"rgb(239, 154, 154)",hsl:"hsl(0, 69%, 77%)",category:"material"},{name:"Material Red 300",hex:"#E57373",rgb:"rgb(229, 115, 115)",hsl:"hsl(0, 64%, 67%)",category:"material"},{name:"Material Red 400",hex:"#EF5350",rgb:"rgb(239, 83, 80)",hsl:"hsl(1, 83%, 63%)",category:"material"},{name:"Material Red 500",hex:"#F44336",rgb:"rgb(244, 67, 54)",hsl:"hsl(4, 90%, 58%)",category:"material"},{name:"Material Red 600",hex:"#E53935",rgb:"rgb(229, 57, 53)",hsl:"hsl(1, 77%, 55%)",category:"material"},{name:"Material Red 700",hex:"#D32F2F",rgb:"rgb(211, 47, 47)",hsl:"hsl(0, 66%, 51%)",category:"material"},{name:"Material Red 800",hex:"#C62828",rgb:"rgb(198, 40, 40)",hsl:"hsl(0, 66%, 47%)",category:"material"},{name:"Material Red 900",hex:"#B71C1C",rgb:"rgb(183, 28, 28)",hsl:"hsl(0, 73%, 41%)",category:"material"},{name:"Material Pink 500",hex:"#E91E63",rgb:"rgb(233, 30, 99)",hsl:"hsl(340, 82%, 52%)",category:"material"},{name:"Material Purple 500",hex:"#9C27B0",rgb:"rgb(156, 39, 176)",hsl:"hsl(291, 64%, 42%)",category:"material"},{name:"Material Deep Purple 500",hex:"#673AB7",rgb:"rgb(103, 58, 183)",hsl:"hsl(262, 52%, 47%)",category:"material"},{name:"Material Indigo 500",hex:"#3F51B5",rgb:"rgb(63, 81, 181)",hsl:"hsl(231, 48%, 48%)",category:"material"},{name:"Material Blue 50",hex:"#E3F2FD",rgb:"rgb(227, 242, 253)",hsl:"hsl(205, 79%, 94%)",category:"material"},{name:"Material Blue 100",hex:"#BBDEFB",rgb:"rgb(187, 222, 251)",hsl:"hsl(207, 89%, 86%)",category:"material"},{name:"Material Blue 200",hex:"#90CAF9",rgb:"rgb(144, 202, 249)",hsl:"hsl(207, 90%, 77%)",category:"material"},{name:"Material Blue 300",hex:"#64B5F6",rgb:"rgb(100, 181, 246)",hsl:"hsl(207, 90%, 68%)",category:"material"},{name:"Material Blue 400",hex:"#42A5F5",rgb:"rgb(66, 165, 245)",hsl:"hsl(207, 90%, 61%)",category:"material"},{name:"Material Blue 500",hex:"#2196F3",rgb:"rgb(33, 150, 243)",hsl:"hsl(207, 90%, 54%)",category:"material"},{name:"Material Blue 600",hex:"#1E88E5",rgb:"rgb(30, 136, 229)",hsl:"hsl(208, 79%, 51%)",category:"material"},{name:"Material Blue 700",hex:"#1976D2",rgb:"rgb(25, 118, 210)",hsl:"hsl(210, 79%, 46%)",category:"material"},{name:"Material Blue 800",hex:"#1565C0",rgb:"rgb(21, 101, 192)",hsl:"hsl(212, 80%, 42%)",category:"material"},{name:"Material Blue 900",hex:"#0D47A1",rgb:"rgb(13, 71, 161)",hsl:"hsl(216, 85%, 34%)",category:"material"},{name:"Material Light Blue 500",hex:"#03A9F4",rgb:"rgb(3, 169, 244)",hsl:"hsl(199, 98%, 48%)",category:"material"},{name:"Material Cyan 500",hex:"#00BCD4",rgb:"rgb(0, 188, 212)",hsl:"hsl(187, 100%, 42%)",category:"material"},{name:"Material Teal 500",hex:"#009688",rgb:"rgb(0, 150, 136)",hsl:"hsl(174, 100%, 29%)",category:"material"},{name:"Material Green 50",hex:"#E8F5E8",rgb:"rgb(232, 245, 232)",hsl:"hsl(120, 39%, 94%)",category:"material"},{name:"Material Green 100",hex:"#C8E6C9",rgb:"rgb(200, 230, 201)",hsl:"hsl(122, 39%, 84%)",category:"material"},{name:"Material Green 200",hex:"#A5D6A7",rgb:"rgb(165, 214, 167)",hsl:"hsl(122, 39%, 74%)",category:"material"},{name:"Material Green 300",hex:"#81C784",rgb:"rgb(129, 199, 132)",hsl:"hsl(123, 39%, 64%)",category:"material"},{name:"Material Green 400",hex:"#66BB6A",rgb:"rgb(102, 187, 106)",hsl:"hsl(123, 39%, 57%)",category:"material"},{name:"Material Green 500",hex:"#4CAF50",rgb:"rgb(76, 175, 80)",hsl:"hsl(122, 39%, 49%)",category:"material"},{name:"Material Green 600",hex:"#43A047",rgb:"rgb(67, 160, 71)",hsl:"hsl(123, 41%, 45%)",category:"material"},{name:"Material Green 700",hex:"#388E3C",rgb:"rgb(56, 142, 60)",hsl:"hsl(123, 43%, 39%)",category:"material"},{name:"Material Green 800",hex:"#2E7D32",rgb:"rgb(46, 125, 50)",hsl:"hsl(123, 46%, 34%)",category:"material"},{name:"Material Green 900",hex:"#1B5E20",rgb:"rgb(27, 94, 32)",hsl:"hsl(124, 55%, 24%)",category:"material"},{name:"Material Light Green 500",hex:"#8BC34A",rgb:"rgb(139, 195, 74)",hsl:"hsl(88, 50%, 53%)",category:"material"},{name:"Material Lime 500",hex:"#CDDC39",rgb:"rgb(205, 220, 57)",hsl:"hsl(66, 70%, 54%)",category:"material"},{name:"Material Yellow 500",hex:"#FFEB3B",rgb:"rgb(255, 235, 59)",hsl:"hsl(54, 100%, 62%)",category:"material"},{name:"Material Amber 500",hex:"#FFC107",rgb:"rgb(255, 193, 7)",hsl:"hsl(45, 100%, 51%)",category:"material"},{name:"Material Orange 500",hex:"#FF9800",rgb:"rgb(255, 152, 0)",hsl:"hsl(36, 100%, 50%)",category:"material"},{name:"Material Deep Orange 500",hex:"#FF5722",rgb:"rgb(255, 87, 34)",hsl:"hsl(14, 100%, 57%)",category:"material"},{name:"Material Brown 500",hex:"#795548",rgb:"rgb(121, 85, 72)",hsl:"hsl(16, 25%, 38%)",category:"material"},{name:"Material Grey 500",hex:"#9E9E9E",rgb:"rgb(158, 158, 158)",hsl:"hsl(0, 0%, 62%)",category:"material"},{name:"Material Blue Grey 500",hex:"#607D8B",rgb:"rgb(96, 125, 139)",hsl:"hsl(200, 18%, 46%)",category:"material"}]),d=is(()=>{let e=u.value;if("all"!==i.value&&(e=e.filter(e=>e.category===i.value)),s.value){const t=s.value.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.hex.toLowerCase().includes(t)||e.rgb.toLowerCase().includes(t))}return e}),h=()=>{a("back")},p=async(e,t)=>{try{await navigator.clipboard.writeText(e),n(`已复制${t}: ${e}`)}catch(a){console.error("复制失败:",a),n("复制失败,请手动复制")}},f=()=>{o.value&&p(o.value.hex,"HEX值")},m=()=>{o.value&&p(o.value.rgb,"RGB值")},g=()=>{o.value&&p(o.value.hsl,"HSL值")},y=()=>{o.value&&p(`color: ${o.value.hex};`,"CSS样式")};return nn(()=>{}),(e,t)=>(Cr(),Tr("div",aQ,[Or(hl,{title:r.value,onBack:h},null,8,["title"]),Mr("div",nQ,[Or($X,{searchQuery:s.value,"onUpdate:searchQuery":t[0]||(t[0]=e=>s.value=e),placeholder:"搜索颜色名称或代码...",filters:c.value,activeFilter:i.value,"onUpdate:activeFilter":t[1]||(t[1]=e=>i.value=e)},null,8,["searchQuery","filters","activeFilter"]),Mr("div",rQ,[(Cr(!0),Tr(br,null,yn(d.value,e=>(Cr(),Tr("div",{key:e.name,class:"color-card",onClick:t=>(e=>{o.value=e,l.value=!0})(e)},[Mr("div",{class:"color-preview",style:K({backgroundColor:e.hex})},null,4),Mr("div",iQ,[Mr("div",oQ,se(e.name),1),Mr("div",lQ,se(e.hex),1)])],8,sQ))),128))])]),Or(JX,{threshold:200,container:".converter-content"}),Or(tQ,{visible:l.value,"onUpdate:visible":t[2]||(t[2]=e=>l.value=e),title:"颜色详情","max-width":"700px","max-height":"550px","content-class":"color-modal-content"},{default:la(()=>[Mr("div",cQ,[Mr("div",uQ,[Mr("div",{class:"large-preview",style:K({backgroundColor:o.value?.hex})},null,4),Mr("div",dQ,se(o.value?.name),1)]),Mr("div",hQ,[Mr("div",pQ,[Mr("div",fQ,[t[3]||(t[3]=Mr("label",null,"HEX",-1)),Mr("div",mQ,[Mr("input",{value:o.value?.hex,readonly:"",class:"format-input"},null,8,gQ),Or(jl,{icon:"copy",tooltip:"复制HEX值",onClick:f})])]),Mr("div",yQ,[t[4]||(t[4]=Mr("label",null,"RGB",-1)),Mr("div",vQ,[Mr("input",{value:o.value?.rgb,readonly:"",class:"format-input"},null,8,bQ),Or(jl,{icon:"copy",tooltip:"复制RGB值",onClick:m})])])]),Mr("div",wQ,[Mr("div",xQ,[t[5]||(t[5]=Mr("label",null,"HSL",-1)),Mr("div",kQ,[Mr("input",{value:o.value?.hsl,readonly:"",class:"format-input"},null,8,_Q),Or(jl,{icon:"copy",tooltip:"复制HSL值",onClick:g})])]),Mr("div",EQ,[t[6]||(t[6]=Mr("label",null,"CSS",-1)),Mr("div",CQ,[Mr("input",{value:`color: ${o.value?.hex};`,readonly:"",class:"format-input"},null,8,FQ),Or(jl,{icon:"copy",tooltip:"复制CSS样式",onClick:y})])])])])])]),_:1},8,["visible"])]))}}),AQ=Wi(DQ,[["__scopeId","data-v-513f0198"]]),TQ={class:"jwt-generator"},SQ={class:"mode-toggle"},IQ={class:"converter-content"},NQ={key:0,class:"generate-section"},PQ={class:"config-section"},BQ={class:"config-grid"},MQ={class:"config-item"},OQ={class:"config-item"},UQ={class:"config-section"},jQ={class:"config-grid"},LQ={class:"config-item"},RQ={class:"config-item"},zQ={class:"config-item"},HQ={class:"config-item"},$Q={class:"config-item"},YQ={class:"config-item"},GQ={class:"custom-payload"},WQ={class:"config-section"},VQ={class:"secret-input-wrapper"},KQ=["type"],JQ={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},qQ={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},ZQ={class:"generate-actions"},XQ=["disabled"],QQ={key:0,class:"result-section"},e0={class:"section-header"},t0={class:"jwt-result"},a0={class:"jwt-parts"},n0={class:"jwt-part header-part"},r0={class:"part-content"},s0={class:"jwt-part payload-part"},i0={class:"part-content"},o0={class:"jwt-part signature-part"},l0={class:"part-content"},c0={class:"jwt-full"},u0={class:"jwt-output"},d0=["value"],h0={key:1,class:"decode-section"},p0={class:"input-section"},f0={class:"section-header"},m0={class:"jwt-input-wrapper"},g0={key:0,class:"decode-result-section"},y0={class:"decode-result-card"},v0={class:"card-header"},b0={class:"json-content"},w0={class:"decode-result-card"},x0={class:"card-header"},k0={class:"json-content"},_0={class:"token-info"},E0={class:"info-grid"},C0={class:"info-item"},F0={class:"info-value"},D0={class:"info-item"},A0={class:"info-value"},T0={class:"info-item"},S0={class:"info-value"},I0={class:"info-item"},N0={class:"info-value"},P0={class:"info-item"},B0={class:"info-value"},M0={class:"info-item"},O0={class:"info-item"},U0={class:"info-value"},j0={class:"info-item"},L0={class:"info-value"},R0={key:1,class:"error-section"},z0={class:"error-message"},H0=Wi($a({__name:"JwtGenerator",emits:["back"],setup(e){il("jwt-generator");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),r=St("generate"),s=St({alg:"HS256",typ:"JWT"}),i=St(""),o=St({iss:"",sub:"",aud:"",exp:null,nbf:null,iat:null}),l=St(""),c=St(""),u=St(!1),d=St(""),h=St(""),p=St(""),f=St(""),m=St(""),g=St(null),y=St(""),v=is(()=>{if(!d.value)return{header:"",payload:"",signature:""};const e=d.value.split(".");return{header:e[0]||"",payload:e[1]||"",signature:e[2]||""}}),b=is(()=>!!g.value?.payload?.exp&&Date.now()/1e3>g.value.payload.exp),w=e=>btoa(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,""),x=e=>(e+="=".repeat((4-e.length%4)%4),atob(e.replace(/-/g,"+").replace(/_/g,"/"))),k=e=>{r.value=e,d.value="",g.value=null,y.value=""},_=()=>{const e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";let a="";for(let t=0;t<32;t++)a+=e.charAt(Math.floor(62*Math.random()));c.value=a,t("已生成随机密钥")},E=async()=>{try{const n={...o.value};if(h.value&&(n.exp=Math.floor(new Date(h.value).getTime()/1e3)),p.value&&(n.nbf=Math.floor(new Date(p.value).getTime()/1e3)),f.value&&(n.iat=Math.floor(new Date(f.value).getTime()/1e3)),l.value.trim())try{const e=JSON.parse(l.value);Object.assign(n,e)}catch(e){return void a("自定义载荷 JSON 格式错误")}Object.keys(n).forEach(e=>{""!==n[e]&&null!==n[e]||delete n[e]});const r=w(JSON.stringify(s.value)),i=`${r}.${w(JSON.stringify(n))}`,u=await(async(e,t)=>{const a=new TextEncoder,n=a.encode(t),r=a.encode(e),s=await crypto.subtle.importKey("raw",n,{name:"HMAC",hash:"SHA-256"},!1,["sign"]),i=await crypto.subtle.sign("HMAC",s,r),o=new Uint8Array(i),l=String.fromCharCode(...o);return w(l)})(i,c.value);d.value=`${i}.${u}`,t("JWT 生成成功")}catch(n){a("JWT 生成失败: "+n.message)}},C=()=>{if(!m.value.trim())return g.value=null,void(y.value="");try{const e=m.value.trim().split(".");if(3!==e.length)throw new Error("JWT 格式错误,应该包含三个部分");const t=JSON.parse(x(e[0]||"")),a=JSON.parse(x(e[1]||""));g.value={header:t,payload:a,signature:e[2]},y.value=""}catch(e){g.value=null,y.value="解析失败: "+e.message}},F=e=>e?new Date(1e3*e).toLocaleString("zh-CN"):"N/A",D=async()=>{await n(d.value)?t("JWT Token 已复制到剪贴板"):a("复制失败,请手动复制")},A=async e=>{await n(e)?t("已复制到剪贴板"):a("复制失败,请手动复制")},T=()=>{m.value="",g.value=null,y.value=""},S=()=>{s.value={alg:"HS256",typ:"JWT"},i.value="",o.value={iss:"",sub:"",aud:"",exp:null,nbf:null,iat:null},l.value="",c.value="",d.value="",h.value="",p.value="",f.value="",m.value="",g.value=null,y.value="",I(),t("已清空所有数据")};pa([h,p,f],()=>{h.value&&(o.value.exp=Math.floor(new Date(h.value).getTime()/1e3)),p.value&&(o.value.nbf=Math.floor(new Date(p.value).getTime()/1e3)),f.value&&(o.value.iat=Math.floor(new Date(f.value).getTime()/1e3))}),pa(i,e=>{"custom"===s.value.typ&&e&&(s.value.typ=e)}),pa(()=>s.value.typ,e=>{"custom"!==e&&e!==i.value&&(i.value="")});const I=()=>{const e=new Date,t=new Date(e.getTime()-6e4*e.getTimezoneOffset()).toISOString().slice(0,16);f.value=t;const a=new Date(e.getTime()+36e5-6e4*e.getTimezoneOffset());h.value=a.toISOString().slice(0,16)};return I(),(e,t)=>(Cr(),Tr("div",TQ,[Or(hl,{title:"JWT 生成器",onBack:t[2]||(t[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",SQ,[Mr("button",{class:Q(["mode-btn",{active:"generate"===r.value}]),onClick:t[0]||(t[0]=e=>k("generate"))}," 生成 JWT ",2),Mr("button",{class:Q(["mode-btn",{active:"decode"===r.value}]),onClick:t[1]||(t[1]=e=>k("decode"))}," 解析 JWT ",2)]),Or(jl,{icon:"clear",tooltip:"清空所有",onClick:S})]),_:1}),Mr("div",IQ,["generate"===r.value?(Cr(),Tr("div",NQ,[Mr("div",PQ,[t[22]||(t[22]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📋 Header 配置"),Mr("span",{class:"section-subtitle"},"设置 JWT 头部信息")])],-1)),Mr("div",BQ,[Mr("div",MQ,[t[19]||(t[19]=Mr("label",null,"算法 (alg)",-1)),ca(Mr("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>s.value.alg=e),class:"config-select"},[...t[18]||(t[18]=[Lr('',6)])],512),[[_i,s.value.alg]])]),Mr("div",OQ,[t[21]||(t[21]=Mr("label",null,"类型 (typ)",-1)),ca(Mr("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>s.value.typ=e),class:"config-select"},[...t[20]||(t[20]=[Mr("option",{value:"JWT"},"JWT",-1),Mr("option",{value:"JWS"},"JWS",-1),Mr("option",{value:"JWE"},"JWE",-1),Mr("option",{value:"custom"},"自定义...",-1)])],512),[[_i,s.value.typ]]),"custom"===s.value.typ?ca((Cr(),Tr("input",{key:0,"onUpdate:modelValue":t[5]||(t[5]=e=>i.value=e),class:"config-input",placeholder:"请输入自定义类型"},null,512)),[[bi,i.value]]):Rr("",!0)])])]),Mr("div",UQ,[t[30]||(t[30]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📦 Payload 配置"),Mr("span",{class:"section-subtitle"},"设置 JWT 载荷信息")])],-1)),Mr("div",jQ,[Mr("div",LQ,[t[23]||(t[23]=Mr("label",null,"发行者 (iss)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>o.value.iss=e),class:"config-input",placeholder:"签发者"},null,512),[[bi,o.value.iss]])]),Mr("div",RQ,[t[24]||(t[24]=Mr("label",null,"主题 (sub)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[7]||(t[7]=e=>o.value.sub=e),class:"config-input",placeholder:"主题"},null,512),[[bi,o.value.sub]])]),Mr("div",zQ,[t[25]||(t[25]=Mr("label",null,"受众 (aud)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[8]||(t[8]=e=>o.value.aud=e),class:"config-input",placeholder:"受众"},null,512),[[bi,o.value.aud]])]),Mr("div",HQ,[t[26]||(t[26]=Mr("label",null,"过期时间 (exp)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[9]||(t[9]=e=>h.value=e),type:"datetime-local",class:"config-input"},null,512),[[bi,h.value]])]),Mr("div",$Q,[t[27]||(t[27]=Mr("label",null,"生效时间 (nbf)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[10]||(t[10]=e=>p.value=e),type:"datetime-local",class:"config-input"},null,512),[[bi,p.value]])]),Mr("div",YQ,[t[28]||(t[28]=Mr("label",null,"签发时间 (iat)",-1)),ca(Mr("input",{"onUpdate:modelValue":t[11]||(t[11]=e=>f.value=e),type:"datetime-local",class:"config-input"},null,512),[[bi,f.value]])])]),Mr("div",GQ,[t[29]||(t[29]=Mr("label",null,"自定义载荷 (JSON格式)",-1)),ca(Mr("textarea",{"onUpdate:modelValue":t[12]||(t[12]=e=>l.value=e),class:"payload-textarea",placeholder:'{"userId": 123, "role": "admin", "permissions": ["read", "write"]}',rows:"6"}," ",512),[[bi,l.value]])])]),Mr("div",WQ,[t[34]||(t[34]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"🔐 密钥配置"),Mr("span",{class:"section-subtitle"},"设置签名密钥")])],-1)),Mr("div",VQ,[ca(Mr("input",{"onUpdate:modelValue":t[13]||(t[13]=e=>c.value=e),type:u.value?"text":"password",class:"secret-input",placeholder:"请输入密钥"},null,8,KQ),[[Di,c.value]]),Mr("button",{class:"toggle-secret-btn",onClick:t[14]||(t[14]=e=>u.value=!u.value),title:"显示/隐藏密钥"},[u.value?(Cr(),Tr("svg",JQ,[...t[31]||(t[31]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])])):(Cr(),Tr("svg",qQ,[...t[32]||(t[32]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])]))]),Mr("button",{class:"generate-secret-btn",onClick:_,title:"生成随机密钥"},[...t[33]||(t[33]=[Lr('',1)])])])]),Mr("div",ZQ,[Mr("button",{class:"generate-btn",onClick:E,disabled:!c.value},[...t[35]||(t[35]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2v20M17 5H9.5a3.5 3.5 0 0 0 0 7h5a3.5 3.5 0 0 1 0 7H6"})],-1),jr(" 生成 JWT Token ",-1)])],8,XQ)]),d.value?(Cr(),Tr("div",QQ,[Mr("div",e0,[t[36]||(t[36]=Mr("div",{class:"section-title"},[Mr("h3",null,"✅ 生成结果"),Mr("span",{class:"section-subtitle"},"JWT Token 已生成")],-1)),Or(jl,{icon:"copy",tooltip:"复制完整Token",onClick:D})]),Mr("div",t0,[Mr("div",a0,[Mr("div",n0,[t[37]||(t[37]=Mr("div",{class:"part-label"},"Header",-1)),Mr("div",r0,se(v.value.header),1)]),t[40]||(t[40]=Mr("div",{class:"jwt-separator"},".",-1)),Mr("div",s0,[t[38]||(t[38]=Mr("div",{class:"part-label"},"Payload",-1)),Mr("div",i0,se(v.value.payload),1)]),t[41]||(t[41]=Mr("div",{class:"jwt-separator"},".",-1)),Mr("div",o0,[t[39]||(t[39]=Mr("div",{class:"part-label"},"Signature",-1)),Mr("div",l0,se(v.value.signature),1)])]),Mr("div",c0,[t[43]||(t[43]=Mr("label",null,"完整 JWT Token",-1)),Mr("div",u0,[Mr("textarea",{value:d.value,readonly:"",class:"jwt-textarea"},null,8,d0),Mr("button",{class:"copy-btn",onClick:D,title:"复制"},[...t[42]||(t[42]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])])])])])):Rr("",!0)])):Rr("",!0),"decode"===r.value?(Cr(),Tr("div",h0,[Mr("div",p0,[Mr("div",f0,[t[44]||(t[44]=Mr("div",{class:"section-title"},[Mr("h3",null,"📥 JWT Token 输入"),Mr("span",{class:"section-subtitle"},"粘贴要解析的 JWT Token")],-1)),m.value?(Cr(),Sr(jl,{key:0,icon:"clear",tooltip:"清空输入",onClick:T})):Rr("",!0)]),Mr("div",m0,[ca(Mr("textarea",{"onUpdate:modelValue":t[15]||(t[15]=e=>m.value=e),class:"jwt-input",placeholder:"请粘贴 JWT Token...",rows:"4",onInput:C}," ",544),[[bi,m.value]])])]),g.value?(Cr(),Tr("div",g0,[t[58]||(t[58]=Mr("div",{class:"section-header"},[Mr("div",{class:"section-title"},[Mr("h3",null,"📊 解析结果"),Mr("span",{class:"section-subtitle"},"JWT Token 解析详情")])],-1)),Mr("div",y0,[Mr("div",v0,[t[46]||(t[46]=Mr("span",{class:"card-title"},"Header",-1)),Mr("button",{class:"copy-btn",onClick:t[16]||(t[16]=e=>A(JSON.stringify(g.value.header,null,2))),title:"复制"},[...t[45]||(t[45]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("pre",b0,se(JSON.stringify(g.value.header,null,2)),1)]),Mr("div",w0,[Mr("div",x0,[t[48]||(t[48]=Mr("span",{class:"card-title"},"Payload",-1)),Mr("button",{class:"copy-btn",onClick:t[17]||(t[17]=e=>A(JSON.stringify(g.value.payload,null,2))),title:"复制"},[...t[47]||(t[47]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])])]),Mr("pre",k0,se(JSON.stringify(g.value.payload,null,2)),1)]),Mr("div",_0,[t[57]||(t[57]=Mr("h4",null,"Token 信息",-1)),Mr("div",E0,[Mr("div",C0,[t[49]||(t[49]=Mr("span",{class:"info-label"},"算法:",-1)),Mr("span",F0,se(g.value.header.alg||"N/A"),1)]),Mr("div",D0,[t[50]||(t[50]=Mr("span",{class:"info-label"},"类型:",-1)),Mr("span",A0,se(g.value.header.typ||"N/A"),1)]),Mr("div",T0,[t[51]||(t[51]=Mr("span",{class:"info-label"},"发行者:",-1)),Mr("span",S0,se(g.value.payload.iss||"N/A"),1)]),Mr("div",I0,[t[52]||(t[52]=Mr("span",{class:"info-label"},"主题:",-1)),Mr("span",N0,se(g.value.payload.sub||"N/A"),1)]),Mr("div",P0,[t[53]||(t[53]=Mr("span",{class:"info-label"},"受众:",-1)),Mr("span",B0,se(g.value.payload.aud||"N/A"),1)]),Mr("div",M0,[t[54]||(t[54]=Mr("span",{class:"info-label"},"过期时间:",-1)),Mr("span",{class:Q(["info-value",{expired:b.value}])},se(F(g.value.payload.exp)),3)]),Mr("div",O0,[t[55]||(t[55]=Mr("span",{class:"info-label"},"生效时间:",-1)),Mr("span",U0,se(F(g.value.payload.nbf)),1)]),Mr("div",j0,[t[56]||(t[56]=Mr("span",{class:"info-label"},"签发时间:",-1)),Mr("span",L0,se(F(g.value.payload.iat)),1)])])])])):Rr("",!0),y.value?(Cr(),Tr("div",R0,[Mr("div",z0,[t[59]||(t[59]=Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),Mr("line",{x1:"9",y1:"9",x2:"15",y2:"15"})],-1)),jr(" "+se(y.value),1)])])):Rr("",!0)])):Rr("",!0)]),Or(nl)]))}}),[["__scopeId","data-v-8184150c"]]),$0={class:"image-base64-converter"},Y0={class:"mode-toggle"},G0={class:"formatter-actions"},W0={class:"converter-content"},V0={key:0,class:"to-base64-section"},K0={class:"main-workspace"},J0={class:"left-panel"},q0={class:"upload-section"},Z0={key:0,class:"upload-placeholder"},X0={key:1,class:"image-preview"},Q0=["src","alt"],e1={class:"image-info"},t1={class:"info-item"},a1={class:"value"},n1={class:"info-item"},r1={class:"value"},s1={class:"info-item"},i1={class:"value"},o1={class:"right-panel"},l1={key:0,class:"result-section"},c1={class:"base64-output"},u1=["value"],d1={class:"result-stats"},h1={class:"stat-item"},p1={class:"stat-item"},f1={class:"stat-item"},m1={key:1,class:"result-placeholder"},g1={key:1,class:"from-base64-section"},y1={class:"main-workspace"},v1={class:"left-panel"},b1={class:"input-section"},w1={class:"base64-input-area"},x1={class:"right-panel"},k1={key:0,class:"decoded-result-section"},_1={class:"decoded-image-container"},E1=["src"],C1={class:"decoded-info"},F1={class:"info-item"},D1={class:"value"},A1={class:"info-item"},T1={class:"value"},S1={key:1,class:"error-section"},I1={class:"error-message"},N1={key:2,class:"result-placeholder"},P1=$a({__name:"ImageBase64Converter",emits:["back"],setup(e){il("image-base64");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("image-base64"),{success:a,error:n}=Vo(),r=St("toBase64"),s=St(),i=St(null),o=St(""),l=St(""),c=St(""),u=St(""),d=St(""),h=St(""),p=is(()=>{if(!i.value||!l.value)return 0;const e=i.value.size,t=.75*l.value.length;return Math.round((t-e)/e*100)}),f=e=>{r.value=e,T()},m=()=>{s.value?.click()},g=e=>{const t=e.target,a=t.files?.[0];a&&v(a)},y=e=>{const t=e.dataTransfer?.files;if(t&&t.length>0){const e=t[0];e&&e.type.startsWith("image/")?v(e):n("请选择图片文件")}},v=e=>{i.value=e;const t=new FileReader;t.onload=e=>{o.value=e.target?.result,l.value=e.target?.result,a("图片已加载")},t.readAsDataURL(e)},b=()=>{i.value=null,o.value="",l.value="",s.value&&(s.value.value=""),a("已清空图片")},w=async()=>{try{await navigator.clipboard.writeText(l.value),a("Base64编码已复制到剪贴板")}catch(e){n("复制失败")}},x=()=>{const e=new Blob([l.value],{type:"text/plain"}),t=URL.createObjectURL(e),n=document.createElement("a");n.href=t,n.download=`${i.value?.name||"image"}_base64.txt`,document.body.appendChild(n),n.click(),document.body.removeChild(n),URL.revokeObjectURL(t),a("Base64文件已下载")},k=async()=>{try{const e=await navigator.clipboard.readText();c.value=e,E(),a("Base64编码已粘贴")}catch(e){n("粘贴失败")}},_=()=>{c.value="",u.value="",d.value="",h.value="",a("已清空输入")},E=()=>{if(!c.value.trim())return u.value="",d.value="",void(h.value="");try{let e=c.value.trim();if(e.startsWith("data:image/")){const t=e.match(/^data:image\/([^;]+);base64,(.+)$/);if(!(t&&t[1]&&t[2]))throw new Error("无效的data URL格式");d.value=t[1].toUpperCase(),e=t[2]}else d.value=C(e);if(!/^[A-Za-z0-9+/]*={0,2}$/.test(e))throw new Error("无效的Base64编码格式");const t=F(d.value);u.value=`data:${t};base64,${e}`,h.value="",a("Base64解码成功")}catch(e){u.value="",h.value="解码失败: "+e.message}},C=e=>{const t={"/9j/":"JPEG",iVBORw0KGgo:"PNG",R0lGODlh:"GIF",UklGR:"WebP"};for(const[a,n]of Object.entries(t))if(e.startsWith(a))return n;return"Unknown"},F=e=>({JPEG:"image/jpeg",JPG:"image/jpeg",PNG:"image/png",GIF:"image/gif",WebP:"image/webp",BMP:"image/bmp",SVG:"image/svg+xml"}[e.toUpperCase()]||"image/png"),D=()=>{if(!u.value)return;const e=document.createElement("a");e.href=u.value,e.download=`decoded_image.${d.value?.toLowerCase()||"png"}`,document.body.appendChild(e),e.click(),document.body.removeChild(e),a("图片已下载")},A=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]},T=()=>{b(),_()};return(e,a)=>(Cr(),Tr("div",$0,[Or(hl,{title:Nt(t),onBack:a[2]||(a[2]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",Y0,[Mr("button",{class:Q(["mode-btn",{active:"toBase64"===r.value}]),onClick:a[0]||(a[0]=e=>f("toBase64"))}," 图片转Base64 ",2),Mr("button",{class:Q(["mode-btn",{active:"fromBase64"===r.value}]),onClick:a[1]||(a[1]=e=>f("fromBase64"))}," Base64转图片 ",2)]),Mr("div",G0,["toBase64"===r.value?(Cr(),Tr(br,{key:0},[Or(jl,{icon:"clear",tooltip:"清空图片",onClick:b,disabled:!i.value},null,8,["disabled"]),Or(jl,{icon:"copy",tooltip:"复制Base64",onClick:w,disabled:!l.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载Base64文件",onClick:x,disabled:!l.value},null,8,["disabled"])],64)):Rr("",!0),"fromBase64"===r.value?(Cr(),Tr(br,{key:1},[Or(jl,{icon:"paste",tooltip:"粘贴Base64",onClick:k}),Or(jl,{icon:"clear",tooltip:"清空输入",onClick:_,disabled:!c.value},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"下载图片",onClick:D,disabled:!u.value},null,8,["disabled"])],64)):Rr("",!0)])]),_:1},8,["title"]),Mr("div",W0,["toBase64"===r.value?(Cr(),Tr("div",V0,[Mr("div",K0,[Mr("div",J0,[Mr("div",q0,[a[9]||(a[9]=Mr("div",{class:"section-header"},[Mr("h3",null,"选择图片")],-1)),Mr("div",{class:"upload-area",onClick:m,onDragover:a[3]||(a[3]=Ii(()=>{},["prevent"])),onDrop:Ii(y,["prevent"])},[Mr("input",{ref_key:"fileInput",ref:s,type:"file",accept:"image/*",onChange:g,style:{display:"none"}},null,544),i.value?(Cr(),Tr("div",X0,[Mr("img",{src:o.value,alt:i.value.name},null,8,Q0),Mr("div",e1,[Mr("div",t1,[a[6]||(a[6]=Mr("span",{class:"label"},"文件名:",-1)),Mr("span",a1,se(i.value.name),1)]),Mr("div",n1,[a[7]||(a[7]=Mr("span",{class:"label"},"大小:",-1)),Mr("span",r1,se(A(i.value.size)),1)]),Mr("div",s1,[a[8]||(a[8]=Mr("span",{class:"label"},"类型:",-1)),Mr("span",i1,se(i.value.type),1)])])])):(Cr(),Tr("div",Z0,[...a[5]||(a[5]=[Lr('

    点击选择图片或拖拽到此处

    支持 JPG、PNG、GIF、WebP 等格式

    ',3)])]))],32)])]),a[12]||(a[12]=Mr("div",{class:"divider"},null,-1)),Mr("div",o1,[l.value?(Cr(),Tr("div",l1,[a[10]||(a[10]=Mr("div",{class:"section-header"},[Mr("h3",null,"Base64 编码结果")],-1)),Mr("div",c1,[Mr("textarea",{value:l.value,readonly:"",class:"base64-textarea",placeholder:"Base64编码结果将显示在这里..."},null,8,u1)]),Mr("div",d1,[Mr("span",h1,se(l.value.length)+" 字符",1),Mr("span",p1,se(Math.round(l.value.length/1024))+" KB",1),Mr("span",f1,"压缩率: "+se(p.value)+"%",1)])])):(Cr(),Tr("div",m1,[...a[11]||(a[11]=[Lr('

    选择图片后,Base64编码结果将显示在这里

    ',2)])]))])])])):Rr("",!0),"fromBase64"===r.value?(Cr(),Tr("div",g1,[Mr("div",y1,[Mr("div",v1,[Mr("div",b1,[a[13]||(a[13]=Mr("div",{class:"section-header"},[Mr("h3",null,"Base64 编码输入")],-1)),Mr("div",w1,[ca(Mr("textarea",{"onUpdate:modelValue":a[4]||(a[4]=e=>c.value=e),class:"base64-input",placeholder:"请粘贴Base64编码字符串...\n支持带data:image前缀的完整格式,也支持纯Base64编码",onInput:E},null,544),[[bi,c.value]])])])]),a[19]||(a[19]=Mr("div",{class:"divider"},null,-1)),Mr("div",x1,[u.value?(Cr(),Tr("div",k1,[a[16]||(a[16]=Mr("div",{class:"section-header"},[Mr("h3",null,"解码结果")],-1)),Mr("div",_1,[Mr("img",{src:u.value,alt:"解码后的图片",class:"decoded-image"},null,8,E1),Mr("div",C1,[Mr("div",F1,[a[14]||(a[14]=Mr("span",{class:"label"},"图片类型:",-1)),Mr("span",D1,se(d.value||"未知"),1)]),Mr("div",A1,[a[15]||(a[15]=Mr("span",{class:"label"},"数据大小:",-1)),Mr("span",T1,se(A(.75*c.value.length)),1)])])])])):h.value?(Cr(),Tr("div",S1,[Mr("div",I1,[a[17]||(a[17]=Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("line",{x1:"15",y1:"9",x2:"9",y2:"15"}),Mr("line",{x1:"9",y1:"9",x2:"15",y2:"15"})],-1)),jr(" "+se(h.value),1)])])):(Cr(),Tr("div",N1,[...a[18]||(a[18]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),Mr("circle",{cx:"9",cy:"9",r:"2"}),Mr("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})],-1),Mr("p",null,"输入Base64编码后,解码图片将显示在这里",-1)])]))])])])):Rr("",!0)])]))}}),B1=Wi(P1,[["__scopeId","data-v-0890d2c1"]]),M1=[{surname:"王",rank:1,population:10152,pinyin:"Wáng",origin:"姬姓",junwang:"太原郡",distribution:"山东、河南、河北",description:"王姓是中国第一大姓,主要源于姬姓,部分源于子姓、妫姓和少数民族改姓。王姓在春秋战国时期就已经是大姓,历史上王姓名人辈出。",celebrities:["王羲之","王安石","王阳明","王昭君"]},{surname:"李",rank:2,population:9530,pinyin:"Lǐ",origin:"嬴姓",junwang:"陇西郡",distribution:"河南、山东、四川",description:"李姓是中国第二大姓,主要源于嬴姓及少数民族改姓。李姓在唐朝时期达到鼎盛,唐朝皇室姓李,李姓因此成为国姓。",celebrities:["李白","李世民","李清照","李时珍"]},{surname:"张",rank:3,population:8750,pinyin:"Zhāng",origin:"姬姓",junwang:"清河郡",distribution:"河北、河南、山东",description:"张姓是中国第三大姓,主要源于姬姓及少数民族改姓。张姓始祖为张挥,相传为黄帝之孙,因制弓矢有功,被赐姓张。",celebrities:["张仲景","张衡","张飞","张居正"]},{surname:"刘",rank:4,population:7210,pinyin:"Liú",origin:"祁姓",junwang:"彭城郡",distribution:"山东、江苏、河南",description:"刘姓是中国第四大姓,主要源于祁姓及少数民族改姓。刘姓在汉朝时期成为皇姓,刘邦建立汉朝后,刘姓地位显赫。",celebrities:["刘邦","刘备","刘禹锡","刘墉"]},{surname:"陈",rank:5,population:6370,pinyin:"Chén",origin:"妫姓",junwang:"颍川郡",distribution:"广东、福建、浙江",description:"陈姓是中国第五大姓,主要源于妫姓。陈姓始祖为陈胡公,是舜帝的后裔。陈姓在南方分布较多,尤其在广东、福建等地。",celebrities:["陈胜","陈寿","陈独秀","陈毅"]},{surname:"杨",rank:6,population:4270,pinyin:"Yáng",origin:"姬姓",junwang:"弘农郡",distribution:"四川、河南、云南",description:"杨姓是中国第六大姓,主要源于姬姓。杨姓始祖为杨伯侨,是晋武公的儿子。杨姓在隋朝时期成为皇姓。",celebrities:["杨坚","杨广","杨贵妃","杨靖宇"]},{surname:"赵",rank:7,population:2750,pinyin:"Zhào",origin:"嬴姓",junwang:"天水郡",distribution:"河北、河南、山西",description:"赵姓是中国第七大姓,主要源于嬴姓。赵姓在宋朝时期成为皇姓,宋朝皇室姓赵,因此赵姓地位显赫。",celebrities:["赵匡胤","赵云","赵孟頫","赵州"]},{surname:"黄",rank:8,population:2680,pinyin:"Huáng",origin:"嬴姓",junwang:"江夏郡",distribution:"广东、四川、湖南",description:"黄姓是中国第八大姓,主要源于嬴姓。黄姓始祖为黄帝后裔,在南方分布较多。",celebrities:["黄帝","黄忠","黄庭坚","黄宗羲"]},{surname:"周",rank:9,population:2540,pinyin:"Zhōu",origin:"姬姓",junwang:"汝南郡",distribution:"湖南、四川、江苏",description:"周姓是中国第九大姓,主要源于姬姓。周姓与周朝王室同源,是古老的姓氏之一。",celebrities:["周公","周瑜","周敦颐","周恩来"]},{surname:"吴",rank:10,population:2460,pinyin:"Wú",origin:"姬姓",junwang:"延陵郡",distribution:"江苏、广东、浙江",description:"吴姓是中国第十大姓,主要源于姬姓。吴姓与古代吴国有关,在江南地区分布较多。",celebrities:["吴王夫差","吴承恩","吴敬梓","吴昌硕"]},{surname:"徐",rank:11,population:2e3,pinyin:"Xú",origin:"嬴姓",junwang:"东海郡",distribution:"江苏、浙江、山东",description:"徐姓是中国第十一大姓,主要源于嬴姓。徐姓始祖为徐偃王,在江南地区分布较多。",celebrities:["徐霞客","徐悲鸿","徐志摩","徐达"]},{surname:"孙",rank:12,population:1848,pinyin:"Sūn",origin:"姬姓",junwang:"太原郡",distribution:"山东、江苏、河北",description:"孙姓是中国第十二大姓,主要源于姬姓。孙姓有多个起源,其中以卫国公孙氏最为著名。",celebrities:["孙武","孙权","孙中山","孙思邈"]},{surname:"胡",rank:13,population:1572,pinyin:"Hú",origin:"妫姓",junwang:"安定郡",distribution:"湖北、安徽、四川",description:"胡姓是中国第十三大姓,主要源于妫姓。胡姓始祖为胡公满,是舜帝的后裔。",celebrities:["胡适","胡雪岩","胡锦涛","胡歌"]},{surname:"朱",rank:14,population:1512,pinyin:"Zhū",origin:"曹姓",junwang:"沛郡",distribution:"江苏、浙江、安徽",description:"朱姓是中国第十四大姓,主要源于曹姓。朱姓在明朝时期成为皇姓,朱元璋建立明朝。",celebrities:["朱元璋","朱熹","朱自清","朱德"]},{surname:"高",rank:15,population:1450,pinyin:"Gāo",origin:"姜姓",junwang:"渤海郡",distribution:"山东、河南、辽宁",description:"高姓是中国第十五大姓,主要源于姜姓。高姓始祖为高傒,是齐国的重要姓氏。",celebrities:["高适","高启","高尔基","高俅"]},{surname:"林",rank:16,population:1416,pinyin:"Lín",origin:"子姓",junwang:"西河郡",distribution:"福建、广东、台湾",description:"林姓是中国第十六大姓,主要源于子姓。林姓在南方分布较多,尤其在福建、台湾等地。",celebrities:["林则徐","林黛玉","林语堂","林徽因"]},{surname:"何",rank:17,population:1404,pinyin:"Hé",origin:"姬姓",junwang:"庐江郡",distribution:"广东、四川、湖南",description:"何姓是中国第十七大姓,主要源于姬姓。何姓有多个起源,在南方分布较多。",celebrities:["何晏","何景明","何香凝","何炅"]},{surname:"郭",rank:18,population:1382,pinyin:"Guō",origin:"姬姓",junwang:"太原郡",distribution:"河南、山西、河北",description:"郭姓是中国第十八大姓,主要源于姬姓。郭姓始祖为郭叔,是周朝的重要姓氏。",celebrities:["郭守敬","郭沫若","郭嘉","郭靖"]},{surname:"马",rank:19,population:1260,pinyin:"Mǎ",origin:"嬴姓",junwang:"扶风郡",distribution:"河南、河北、山东",description:"马姓是中国第十九大姓,主要源于嬴姓。马姓有多个起源,在北方分布较多。",celebrities:["马援","马超","马致远","马云"]},{surname:"罗",rank:20,population:1032,pinyin:"Luó",origin:"妫姓",junwang:"豫章郡",distribution:"四川、广东、湖南",description:"罗姓是中国第二十大姓,主要源于妫姓。罗姓在南方分布较多,尤其在四川、湖南等地。",celebrities:["罗贯中","罗隐","罗振玉","罗大佑"]}],O1=["王","李","张","刘","陈","杨","赵","黄","周","吴"],U1={version:"1.0"},j1={class:"surname-lookup"},L1={class:"converter-content"},R1={key:0,class:"results-section"},z1={class:"ranking-grid"},H1=["onClick"],$1=["onClick"],Y1={class:"ranking-header"},G1={class:"ranking-number"},W1={class:"ranking-main"},V1={class:"ranking-pinyin"},K1={class:"ranking-surname"},J1={class:"ranking-footer"},q1={class:"ranking-population"},Z1={key:1,class:"overview-section"},X1={class:"section-title"},Q1={class:"ranking-grid"},e2=["onClick"],t2=["onClick"],a2={class:"ranking-header"},n2={class:"ranking-number"},r2={class:"ranking-main"},s2={class:"ranking-pinyin"},i2={class:"ranking-surname"},o2={class:"ranking-footer"},l2={class:"ranking-population"},c2={key:2,class:"detail-section"},u2={class:"detail-card"},d2={class:"detail-header"},h2={class:"surname-title"},p2={class:"surname-main"},f2={class:"surname-char"},m2={class:"surname-pinyin"},g2={class:"pinyin-text"},y2={class:"surname-meta"},v2={class:"rank-badge"},b2={class:"population-badge"},w2={class:"detail-content"},x2={class:"info-grid"},k2={class:"info-item"},_2={class:"info-value"},E2={class:"info-item"},C2={class:"info-value"},F2={class:"info-item"},D2={class:"info-value"},A2={class:"info-item"},T2={class:"info-value"},S2={class:"description-section"},I2={class:"description-text"},N2={key:0,class:"celebrities-section"},P2={class:"celebrities-list"},B2={key:3,class:"no-results"},M2=Wi($a({__name:"SurnameLookup",emits:["back"],setup(e,{emit:t}){const a=t;il("surname-lookup");const{success:n,error:r}=Vo(),s=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"surname-lookup"===e.id);if(t)return t.title}return"百家姓查询"}),i=St(""),o=St(null),l=St("");pa(l,e=>{e&&u.value.includes(e)&&(i.value=e,o.value=null)}),pa(i,e=>{e.trim()||(l.value="")});const c=St(M1),u=St(O1),d=is(()=>u.value.slice(0,10).map(e=>({key:e,name:e,count:void 0}))),h=St((()=>{const e=[...c.value],t=[{surname:"梁",pinyin:"Liáng"},{surname:"宋",pinyin:"Sòng"},{surname:"郑",pinyin:"Zhèng"},{surname:"谢",pinyin:"Xiè"},{surname:"韩",pinyin:"Hán"},{surname:"唐",pinyin:"Táng"},{surname:"冯",pinyin:"Féng"},{surname:"于",pinyin:"Yú"},{surname:"董",pinyin:"Dǒng"},{surname:"萧",pinyin:"Xiāo"},{surname:"程",pinyin:"Chéng"},{surname:"曹",pinyin:"Cáo"},{surname:"袁",pinyin:"Yuán"},{surname:"邓",pinyin:"Dèng"},{surname:"许",pinyin:"Xǔ"},{surname:"傅",pinyin:"Fù"},{surname:"沈",pinyin:"Shěn"},{surname:"曾",pinyin:"Zēng"},{surname:"彭",pinyin:"Péng"},{surname:"吕",pinyin:"Lǚ"},{surname:"苏",pinyin:"Sū"},{surname:"卢",pinyin:"Lú"},{surname:"蒋",pinyin:"Jiǎng"},{surname:"蔡",pinyin:"Cài"},{surname:"贾",pinyin:"Jiǎ"},{surname:"丁",pinyin:"Dīng"},{surname:"魏",pinyin:"Wèi"},{surname:"薛",pinyin:"Xuē"},{surname:"叶",pinyin:"Yè"},{surname:"阎",pinyin:"Yán"},{surname:"余",pinyin:"Yú"},{surname:"潘",pinyin:"Pān"},{surname:"杜",pinyin:"Dù"},{surname:"戴",pinyin:"Dài"},{surname:"夏",pinyin:"Xià"},{surname:"钟",pinyin:"Zhōng"},{surname:"汪",pinyin:"Wāng"},{surname:"田",pinyin:"Tián"},{surname:"任",pinyin:"Rèn"},{surname:"姜",pinyin:"Jiāng"},{surname:"范",pinyin:"Fàn"},{surname:"方",pinyin:"Fāng"},{surname:"石",pinyin:"Shí"},{surname:"姚",pinyin:"Yáo"},{surname:"谭",pinyin:"Tán"},{surname:"廖",pinyin:"Liào"},{surname:"邹",pinyin:"Zōu"},{surname:"熊",pinyin:"Xióng"},{surname:"金",pinyin:"Jīn"},{surname:"陆",pinyin:"Lù"},{surname:"郝",pinyin:"Hǎo"},{surname:"孔",pinyin:"Kǒng"},{surname:"白",pinyin:"Bái"},{surname:"崔",pinyin:"Cuī"},{surname:"康",pinyin:"Kāng"},{surname:"毛",pinyin:"Máo"},{surname:"邱",pinyin:"Qiū"},{surname:"秦",pinyin:"Qín"},{surname:"江",pinyin:"Jiāng"},{surname:"史",pinyin:"Shǐ"},{surname:"顾",pinyin:"Gù"},{surname:"侯",pinyin:"Hóu"},{surname:"邵",pinyin:"Shào"},{surname:"孟",pinyin:"Mèng"},{surname:"龙",pinyin:"Lóng"},{surname:"万",pinyin:"Wàn"},{surname:"段",pinyin:"Duàn"},{surname:"漕",pinyin:"Cáo"},{surname:"钱",pinyin:"Qián"},{surname:"汤",pinyin:"Tāng"},{surname:"尹",pinyin:"Yǐn"},{surname:"黎",pinyin:"Lí"},{surname:"易",pinyin:"Yì"},{surname:"常",pinyin:"Cháng"},{surname:"武",pinyin:"Wǔ"},{surname:"乔",pinyin:"Qiáo"},{surname:"贺",pinyin:"Hè"},{surname:"赖",pinyin:"Lài"},{surname:"龚",pinyin:"Gōng"},{surname:"文",pinyin:"Wén"}];if(e.length<100){const a=e.length+1;t.slice(0,100-e.length).forEach((t,n)=>{e.push({surname:t.surname,rank:a+n,population:Math.floor(800*Math.random())+200,pinyin:t.pinyin,origin:"待完善",junwang:"待完善",distribution:"全国各地",description:`${t.surname}姓的详细信息正在整理中,欢迎提供更多资料...`,celebrities:[]})})}return e})()),p=is(()=>{if(!i.value.trim())return[];const e=i.value.trim();return h.value.filter(t=>t.surname.includes(e)||t.pinyin.toLowerCase().includes(e.toLowerCase()))}),f=is(()=>h.value),m=e=>{o.value=e,i.value="",n(`已选择 ${e.surname} 姓`)},g=()=>{o.value=null},y=async e=>{try{await navigator.clipboard.writeText(e),n(`已复制姓氏: ${e}`)}catch(t){console.error("复制失败:",t),r("复制失败,请手动复制")}},v=()=>{a("back")},b=e=>1===e?"rank-first":2===e?"rank-second":3===e?"rank-third":e<=10?"rank-top-ten":"";return nn(()=>{const e=U1.version;n(`当前版本 v${e},收录 ${h.value.length} 个姓氏`)}),(e,t)=>(Cr(),Tr("div",j1,[Or(hl,{title:s.value,onBack:v},null,8,["title"]),Mr("div",L1,[Or($X,{searchQuery:i.value,"onUpdate:searchQuery":t[0]||(t[0]=e=>i.value=e),placeholder:"输入姓氏进行查询,如:王、李、张...",filters:d.value,activeFilter:l.value,"onUpdate:activeFilter":t[1]||(t[1]=e=>l.value=e)},null,8,["searchQuery","filters","activeFilter"]),p.value.length>0?(Cr(),Tr("div",R1,[t[3]||(t[3]=Mr("h3",{class:"section-title"},"搜索结果",-1)),Mr("div",z1,[(Cr(!0),Tr(br,null,yn(p.value,e=>(Cr(),Tr("div",{key:e.surname,class:Q(["ranking-item",b(e.rank)]),onClick:t=>m(e)},[Mr("button",{class:"copy-btn-corner-small",onClick:Ii(t=>y(e.surname),["stop"]),title:"复制姓氏"},[...t[2]||(t[2]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,$1),Mr("div",Y1,[Mr("div",G1,se(e.rank),1)]),Mr("div",W1,[Mr("div",V1,se(e.pinyin),1),Mr("div",K1,se(e.surname),1)]),Mr("div",J1,[Mr("div",q1,se(e.population)+"万人",1)])],10,H1))),128))])])):Rr("",!0),i.value||o.value?Rr("",!0):(Cr(),Tr("div",Z1,[Mr("h3",X1,"百家姓排行榜(前"+se(f.value.length)+"位)",1),Mr("div",Q1,[(Cr(!0),Tr(br,null,yn(f.value,e=>(Cr(),Tr("div",{key:e.surname,class:Q(["ranking-item",b(e.rank)]),onClick:t=>m(e)},[Mr("button",{class:"copy-btn-corner-small",onClick:Ii(t=>y(e.surname),["stop"]),title:"复制姓氏"},[...t[4]||(t[4]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,t2),Mr("div",a2,[Mr("div",n2,se(e.rank),1)]),Mr("div",r2,[Mr("div",s2,se(e.pinyin),1),Mr("div",i2,se(e.surname),1)]),Mr("div",o2,[Mr("div",l2,se(e.population)+"万人",1)])],10,e2))),128))])])),o.value?(Cr(),Tr("div",c2,[Mr("div",u2,[Mr("div",d2,[Mr("button",{class:"back-to-list-btn",onClick:g,title:"返回列表"},[...t[5]||(t[5]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1)])]),Mr("div",h2,[Mr("div",p2,[Mr("span",f2,se(o.value.surname),1),Mr("div",m2,[Mr("span",g2,se(o.value.pinyin),1)])]),Mr("div",y2,[Mr("span",v2,"第"+se(o.value.rank)+"位",1),Mr("span",b2,se(o.value.population)+"万人",1)])])]),Mr("div",w2,[Mr("div",x2,[Mr("div",k2,[t[6]||(t[6]=Mr("div",{class:"info-label"},"拼音",-1)),Mr("div",_2,se(o.value.pinyin),1)]),Mr("div",E2,[t[7]||(t[7]=Mr("div",{class:"info-label"},"起源",-1)),Mr("div",C2,se(o.value.origin),1)]),Mr("div",F2,[t[8]||(t[8]=Mr("div",{class:"info-label"},"郡望",-1)),Mr("div",D2,se(o.value.junwang),1)]),Mr("div",A2,[t[9]||(t[9]=Mr("div",{class:"info-label"},"主要分布",-1)),Mr("div",T2,se(o.value.distribution),1)])]),Mr("div",S2,[t[10]||(t[10]=Mr("h4",null,"姓氏来源",-1)),Mr("p",I2,se(o.value.description),1)]),o.value.celebrities&&o.value.celebrities.length>0?(Cr(),Tr("div",N2,[t[11]||(t[11]=Mr("h4",null,"历史名人",-1)),Mr("div",P2,[(Cr(!0),Tr(br,null,yn(o.value.celebrities,e=>(Cr(),Tr("span",{key:e,class:"celebrity-tag"},se(e),1))),128))])])):Rr("",!0)])])])):Rr("",!0),i.value&&0===p.value.length?(Cr(),Tr("div",B2,[...t[12]||(t[12]=[Mr("svg",{width:"64",height:"64",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"11",cy:"11",r:"8"}),Mr("path",{d:"m21 21-4.35-4.35"})],-1),Mr("h3",null,"未找到相关姓氏",-1),Mr("p",null,"请尝试输入其他姓氏或检查输入是否正确",-1)])])):Rr("",!0)]),Or(JX,{threshold:200,container:".converter-content"})]))}}),[["__scopeId","data-v-2c0c0a94"]]),O2={class:"regex-tester-wrapper"},U2={class:"regex-tester-content"},j2={class:"main-content"},L2={class:"left-section"},R2={class:"regex-input-section"},z2={class:"regex-input-wrapper"},H2={class:"regex-input-container"},$2={class:"regex-hint"},Y2=["onClick","title"],G2={class:"test-text-section"},W2={class:"match-status"},V2={class:"status-icon"},K2={class:"status-text"},J2={key:0,class:"matches-list"},q2={class:"matches-table-container"},Z2={class:"matches-table"},X2={class:"match-content-cell"},Q2={class:"match-position-cell"},e3={class:"match-groups-cell"},t3={key:0,class:"groups-info"},a3={key:1,class:"no-groups"},n3={key:1,class:"highlighted-text"},r3=["innerHTML"],s3={class:"right-section"},i3={class:"examples-grid"},o3=["onClick","title"],l3={class:"example-name"},c3=Wi($a({__name:"RegexTester",emits:["back"],setup(e){il("regex-tester");const{success:t,error:a}=Vo(),n=St(""),r=St("g"),s=St(""),i=St([]),o=St(!0),l=St(""),c=[{flag:"g",description:"全局匹配"},{flag:"i",description:"忽略大小写"},{flag:"m",description:"多行模式"},{flag:"s",description:"单行模式(.匹配换行符)"},{flag:"u",description:"Unicode模式"},{flag:"y",description:"粘性匹配"}],u={common:[{name:"邮箱",pattern:"[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}",description:"匹配邮箱地址"},{name:"手机号",pattern:"1[3-9]\\d{9}",description:"匹配中国手机号"},{name:"身份证",pattern:"[1-9]\\d{5}(18|19|20)\\d{2}(0[1-9]|1[0-2])(0[1-9]|[12]\\d|3[01])\\d{3}[0-9Xx]",description:"匹配18位身份证号"},{name:"银行卡",pattern:"[1-9]\\d{12,18}",description:"匹配银行卡号"},{name:"IPv4",pattern:"(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)",description:"匹配IPv4地址"},{name:"IPv6",pattern:"(?:[0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}",description:"匹配IPv6地址"},{name:"QQ号",pattern:"[1-9][0-9]{4,10}",description:"匹配QQ号码"},{name:"强密码",pattern:"(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[@$!%*?&])[A-Za-z\\d@$!%*?&]{8,}",description:"匹配强密码"},{name:"邮政编码",pattern:"[1-9]\\d{5}(?!\\d)",description:"匹配中国邮政编码"},{name:"微信号",pattern:"[a-zA-Z][-_a-zA-Z0-9]{5,19}",description:"匹配微信号格式"},{name:"MAC地址",pattern:"([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})",description:"匹配MAC地址"},{name:"统一社会信用代码",pattern:"[0-9A-HJ-NPQRTUWXY]{2}\\d{6}[0-9A-HJ-NPQRTUWXY]{10}",description:"匹配统一社会信用代码"},{name:"数字",pattern:"\\d+",description:"匹配所有数字"},{name:"小数",pattern:"\\d+\\.\\d+",description:"匹配小数"},{name:"中文",pattern:"[\\u4e00-\\u9fa5]+",description:"匹配中文字符"},{name:"英文",pattern:"[a-zA-Z]+",description:"匹配英文字母"},{name:"URL",pattern:"https?://[^\\s]+",description:"匹配HTTP/HTTPS链接"},{name:"域名",pattern:"[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+",description:"匹配域名"},{name:"文件路径",pattern:"[a-zA-Z]:\\\\[^\\n\\r]*|/[^\\n\\r]*",description:"匹配文件路径"},{name:"颜色代码",pattern:"#[0-9a-fA-F]{6}|#[0-9a-fA-F]{3}",description:"匹配十六进制颜色代码"},{name:"日期",pattern:"\\d{4}[-/]\\d{1,2}[-/]\\d{1,2}",description:"匹配日期格式"},{name:"时间",pattern:"([01]?[0-9]|2[0-3]):[0-5][0-9](:[0-5][0-9])?",description:"匹配时间格式"},{name:"版本号",pattern:"\\d+\\.\\d+\\.\\d+",description:"匹配版本号"},{name:"UUID",pattern:"[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}",description:"匹配UUID"},{name:"多个空格",pattern:"\\s+",description:"匹配多个连续空格"},{name:"换行符",pattern:"\\r?\\n",description:"匹配换行符"},{name:"HTML标签",pattern:"<[^>]*>",description:"匹配HTML标签"},{name:"特殊字符",pattern:"[^a-zA-Z0-9\\u4e00-\\u9fa5\\s]",description:"匹配特殊字符"},{name:"首尾空格",pattern:"^\\s+|\\s+$",description:"匹配字符串首尾的空格"},{name:"中文标点",pattern:"[\\u3000-\\u303F\\uFF00-\\uFFEF]",description:"匹配中文标点符号"},{name:"英文标点",pattern:"[,.!?;:\"'()\\[\\]{}]",description:"匹配英文标点符号"},{name:"空行",pattern:"^\\s*$",description:"匹配空行"},{name:"XML标签",pattern:"<[^>]+>",description:"匹配XML标签"},{name:"JSON字符串",pattern:'"[^"\\\\]*(?:\\\\.[^"\\\\]*)*"',description:"匹配JSON字符串"},{name:"货币格式",pattern:"\\$?\\d{1,3}(,\\d{3})*(\\.\\d{2})?",description:"匹配货币格式"},{name:"百分比",pattern:"\\d+(\\.\\d+)?%",description:"匹配百分比格式"},{name:"Base64",pattern:"[A-Za-z0-9+/]*={0,2}",description:"匹配Base64编码"},{name:"端口号",pattern:":(6553[0-5]|655[0-2][0-9]|65[0-4][0-9]{2}|6[0-4][0-9]{3}|[1-5][0-9]{4}|[1-9][0-9]{0,3})",description:"匹配端口号"},{name:"电话号码",pattern:"(\\+\\d{1,3}[\\s-]?)?\\(?\\d{3,4}\\)?[\\s-]?\\d{3,4}[\\s-]?\\d{3,4}",description:"匹配电话号码"},{name:"信用卡号",pattern:"\\d{4}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4}",description:"匹配信用卡号"},{name:"图片文件",pattern:"\\S+\\.(jpg|jpeg|png|gif|bmp|webp|svg)\\b",description:"匹配图片文件"},{name:"视频文件",pattern:"\\S+\\.(mp4|avi|mkv|mov|wmv|flv|webm|m4v)\\b",description:"匹配视频文件"},{name:"音频文件",pattern:"\\S+\\.(mp3|wav|flac|aac|ogg|wma|m4a)\\b",description:"匹配音频文件"},{name:"文档文件",pattern:"\\S+\\.(pdf|doc|docx|txt|rtf|odt)\\b",description:"匹配文档文件"},{name:"Excel文件",pattern:"\\S+\\.(xls|xlsx|xlsm|xlsb|csv)\\b",description:"匹配Excel文件"},{name:"压缩文件",pattern:"\\S+\\.(zip|rar|7z|tar|gz|bz2)\\b",description:"匹配压缩文件"},{name:"代码文件",pattern:"\\S+\\.(js|ts|py|java|cpp|c|php|rb|go|rs)\\b",description:"匹配代码文件"},{name:"HTTP链接",pattern:'https?://[^\\s<>"{}|\\\\^`\\[\\]]+',description:"匹配HTTP/HTTPS链接"},{name:"FTP链接",pattern:'ftp://[^\\s<>"{}|\\\\^`\\[\\]]+',description:"匹配FTP链接"},{name:"图片URL",pattern:'https?://[^\\s<>"{}|\\\\^`\\[\\]]+\\.(jpg|jpeg|png|gif|bmp|webp|svg)',description:"匹配图片URL"},{name:"API接口",pattern:'https?://[^\\s<>"{}|\\\\^`\\[\\]]+/api/[^\\s<>"{}|\\\\^`\\[\\]]*',description:"匹配API接口URL"},{name:"CDN资源",pattern:'https?://[^\\s<>"{}|\\\\^`\\[\\]]*cdn[^\\s<>"{}|\\\\^`\\[\\]]*',description:"匹配CDN资源链接"},{name:"GitHub链接",pattern:"https?://github\\.com/[\\w.-]+/[\\w.-]+",description:"匹配GitHub仓库链接"},{name:"车牌号",pattern:"[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][DF][A-HJ-NP-Z0-9]{5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9][DF][A-HJ-NP-Z0-9]{4}",description:"匹配车牌号(含新能源)"},{name:"传统车牌",pattern:"[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9挂学警港澳]",description:"匹配传统车牌号"},{name:"新能源车牌",pattern:"[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][DF][A-HJ-NP-Z0-9]{5}|[京津沪渝冀豫云辽黑湘皖鲁新苏浙赣鄂桂甘晋蒙陕吉闽贵粤青藏川宁琼使领][A-HJ-NP-Z][A-HJ-NP-Z0-9][DF][A-HJ-NP-Z0-9]{4}",description:"匹配新能源车牌号"}]},d=is(()=>n.value?o.value?s.value?0===i.value.length?{type:"warning",icon:"⚠️",text:"没有找到匹配项"}:{type:"success",icon:"✅",text:`匹配成功,找到 ${i.value.length} 个匹配项`}:{type:"info",icon:"📝",text:"请输入测试文本"}:{type:"error",icon:"❌",text:`正则表达式语法错误: ${l.value}`}:{type:"info",icon:"📝",text:"请输入正则表达式"}),h=is(()=>{if(!s.value||!o.value||0===i.value.length)return s.value.replace(/\n/g,"
    ");try{new RegExp(n.value,r.value);let e=s.value,t=0;return[...i.value].sort((e,t)=>(e.index||0)-(t.index||0)).forEach(a=>{if(void 0!==a.index){const n=a.index+t,r=n+a[0].length,s=`${a[0]}`;e=e.slice(0,n)+s+e.slice(r),t+=s.length-a[0].length}}),e.replace(/\n/g,"
    ")}catch{return s.value.replace(/\n/g,"
    ")}}),p=e=>{const t=e.index||0;return`${t} - ${t+e[0].length-1}`},f=()=>{if(i.value=[],o.value=!0,l.value="",n.value&&s.value)try{const e=new RegExp(n.value,r.value),t=[];if(r.value.includes("g")){let a;for(;null!==(a=e.exec(s.value));)t.push(a),a.index===e.lastIndex&&e.lastIndex++}else{const a=e.exec(s.value);a&&t.push(a)}i.value=t}catch(e){o.value=!1,l.value=e instanceof Error?e.message:"未知错误"}},m=async()=>{if(n.value)try{const e=`/${n.value}/${r.value}`;await navigator.clipboard.writeText(e),t("正则表达式已复制到剪贴板")}catch(e){a("复制失败")}else a("没有可复制的正则表达式")},g=()=>{n.value="",r.value="g",s.value="",i.value=[],t("已清空正则表达式")};return(e,a)=>(Cr(),Tr("div",O2,[Or(hl,{title:"正则表达式测试",onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[n.value?(Cr(),Sr(jl,{key:0,icon:"copy",tooltip:"复制正则表达式",onClick:m})):Rr("",!0),n.value?(Cr(),Sr(jl,{key:1,icon:"clear",tooltip:"清空正则表达式",onClick:g})):Rr("",!0)]),_:1}),Mr("div",U2,[Mr("div",j2,[Mr("div",L2,[Mr("div",R2,[a[7]||(a[7]=Mr("h3",{class:"section-title"},"正则表达式",-1)),Mr("div",z2,[Mr("div",H2,[a[4]||(a[4]=Mr("span",{class:"regex-delimiter"},"/",-1)),ca(Mr("input",{"onUpdate:modelValue":a[1]||(a[1]=e=>n.value=e),class:"regex-input",placeholder:"输入正则表达式",onInput:f},null,544),[[bi,n.value]]),a[5]||(a[5]=Mr("span",{class:"regex-delimiter"},"/",-1)),ca(Mr("input",{"onUpdate:modelValue":a[2]||(a[2]=e=>r.value=e),class:"flags-input",placeholder:"flags",maxlength:"6",onInput:f},null,544),[[bi,r.value]])]),Mr("div",$2,[a[6]||(a[6]=Mr("span",null,"常用标志:",-1)),(Cr(),Tr(br,null,yn(c,e=>Mr("button",{key:e.flag,class:Q(["flag-btn",{active:r.value.includes(e.flag)}]),onClick:t=>(e=>{r.value.includes(e)?r.value=r.value.replace(e,""):r.value+=e,f()})(e.flag),title:e.description},se(e.flag),11,Y2)),64))])])]),Mr("div",G2,[a[8]||(a[8]=Mr("h4",{class:"subsection-title"},"测试文本",-1)),ca(Mr("textarea",{"onUpdate:modelValue":a[3]||(a[3]=e=>s.value=e),class:"test-textarea",placeholder:"输入要测试的文本内容...",rows:"6",onInput:f},null,544),[[bi,s.value]])]),Mr("div",W2,[Mr("div",{class:Q(["status-indicator",d.value.type])},[Mr("span",V2,se(d.value.icon),1),Mr("span",K2,se(d.value.text),1)],2)]),i.value.length>0?(Cr(),Tr("div",J2,[a[10]||(a[10]=Mr("h4",{class:"subsection-title"},"匹配详情",-1)),Mr("div",q2,[Mr("table",Z2,[a[9]||(a[9]=Mr("thead",null,[Mr("tr",null,[Mr("th",null,"序号"),Mr("th",null,"匹配内容"),Mr("th",null,"位置"),Mr("th",null,"分组")])],-1)),Mr("tbody",null,[(Cr(!0),Tr(br,null,yn(i.value,(e,t)=>(Cr(),Tr("tr",{key:t},[Mr("td",null,se(t+1),1),Mr("td",X2,se(e[0]),1),Mr("td",Q2,se(p(e)),1),Mr("td",e3,[e.length>1?(Cr(),Tr("span",t3,se(e.slice(1).map((e,t)=>`组${t+1}: ${e||"(空)"}`).join(", ")),1)):(Cr(),Tr("span",a3,"无"))])]))),128))])])])])):Rr("",!0),s.value?(Cr(),Tr("div",n3,[a[11]||(a[11]=Mr("h4",{class:"subsection-title"},"高亮显示",-1)),Mr("div",{class:"highlight-container",innerHTML:h.value},null,8,r3)])):Rr("",!0)]),Mr("div",s3,[a[12]||(a[12]=Mr("h3",{class:"section-title"},"常用正则表达式",-1)),Mr("div",i3,[(Cr(!0),Tr(br,null,yn(u.common,e=>(Cr(),Tr("button",{key:e.name,class:"example-btn",onClick:a=>(e=>{n.value=e.pattern,"空行"===e.name||"首尾空格"===e.name?r.value="gm":e.name.includes("文件")||"Excel文件"===e.name||e.name.includes("链接")||e.name.includes("URL")||"API接口"===e.name||"CDN资源"===e.name||"GitHub链接"===e.name?r.value="gi":r.value="g",s.value={"邮箱":"联系我们:admin@example.com 或 support@test.org\n客服邮箱:service@company.com.cn","手机号":"请联系:13812345678 或 15987654321\n座机:010-12345678",IPv4:"服务器地址:192.168.1.1\n网关:10.0.0.1\n公网IP:203.208.60.1",IPv6:"本地地址:::1\n公网IPv6:2001:0db8:85a3:0000:0000:8a2e:0370:7334\n简化格式:2001:db8::1","身份证":"张三:110101199001011234\n李四:320102198505052345","银行卡":"卡号:6225881234567890\n备用卡:9558801234567890123","QQ号":"张三:123456789\n李四:987654321\n王五:1234567890","强密码":"强密码:MyP@ssw0rd123\n弱密码:123456\n弱密码:password","邮政编码":"北京朝阳区:100020\n上海浦东区:200120\n广州天河区:510630","微信号":"微信号:wechat_user123\n微信号:wx-test-2024\n微信号:user_name_01","MAC地址":"网卡1:00:1B:44:11:3A:B7\n网卡2:AA-BB-CC-DD-EE-FF\n无线网卡:12:34:56:78:9A:BC","统一社会信用代码":"公司A:91110000000000000A\n公司B:92320000MA1234567X","数字":"价格:99.99元,数量:5个,总计:499.95元","小数":"商品A:¥99.99\n商品B:¥199.50\n商品C:¥1299.00","中文":"Hello 世界!这是一个测试文本。包含中文字符:你好,欢迎使用。","英文":"这是English文本,包含Chinese和English混合内容。",URL:"官网:https://www.example.com 文档:http://docs.example.com/api","域名":"网站:www.example.com\n邮箱服务:mail.google.com\nAPI:api.github.com","文件路径":"Windows路径:C:\\Users\\Admin\\Documents\\file.txt\nLinux路径:/home/user/documents/file.txt\n相对路径:./src/main.js","颜色代码":"CSS颜色:#FF5733, #3498DB, #2ECC71\n简写:#F00, #0F0, #00F","多个空格":"这是 一个 有多个 空格的 文本","换行符":"第一行\n第二行\r\n第三行\n第四行","HTML标签":"

    这是重要文本

    ","特殊字符":"Hello@World#2024!测试$文本%^&*()","首尾空格":" 文本首尾有多余空格 \n 另一行也有空格 ","中文标点":'你好,世界!这是一个测试。包含:引号"内容"和(括号)【方括号】',"英文标点":'Hello, World! This is a test. Contains: "quotes" and (parentheses) [brackets] {braces}',"空行":"第一行\n\n第二行\n \n第三行\n\t\n第四行","日期":"开始日期:2024-01-15,结束日期:2024/12/31","时间":"上班时间:09:30:00,下班时间:18:30","版本号":"当前版本:1.2.3,最新版本:2.0.1",UUID:"用户ID:550e8400-e29b-41d4-a716-446655440000\n会话ID:6ba7b810-9dad-11d1-80b4-00c04fd430c8","货币格式":"价格:$1,234.56,折扣价:$999.99","百分比":"完成率:85.5%,增长率:12.3%,转化率:3.7%",Base64:"SGVsbG8gV29ybGQ=\niVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAYAAAAfFcSJ","JSON字符串":'{"name": "张三", "age": 25, "city": "北京"}\n{"message": "Hello World", "status": "success"}',"XML标签":"张三25\nHello World","端口号":"服务器:192.168.1.1:8080\nSSH:server.com:22\nHTTPS:api.example.com:443","电话号码":"客服热线:+86 400-123-4567\n座机:(010) 1234-5678\n手机:138-1234-5678\n国际:+1 555-123-4567","信用卡号":"卡号:4532 1234 5678 9012\n备用卡:5555-4444-3333-2222\n公司卡:378282246310005","图片文件":"头像:avatar.jpg\n背景:background.png\n图标:icon.svg\n照片:photo.jpeg\n动图:animation.gif","视频文件":"宣传片:promo.mp4\n教程:tutorial.avi\n电影:movie.mkv\n录屏:screen.mov\n直播:live.webm","音频文件":"音乐:song.mp3\n录音:record.wav\n播客:podcast.m4a\n音效:sound.ogg\n无损:music.flac","文档文件":"报告:report.pdf\n合同:contract.docx\n说明:readme.txt\n手册:manual.doc\n文档:document.odt","Excel文件":"数据:data.xlsx\n报表:report.xls\n统计:stats.csv\n模板:template.xlsm\n工作簿:workbook.xlsb","压缩文件":"源码:source.zip\n备份:backup.rar\n安装包:setup.7z\n归档:archive.tar.gz\n压缩:files.bz2","代码文件":"脚本:script.js\n组件:component.ts\n程序:main.py\n类:Class.java\n头文件:header.cpp","HTTP链接":"官网:https://www.example.com\n文档:http://docs.example.com/guide\nAPI:https://api.github.com/users\n博客:https://blog.example.com/post/123","FTP链接":"文件服务器:ftp://files.example.com/downloads\n备份:ftp://backup.server.com/data\n资源:ftp://resources.company.com/assets","图片URL":"头像:https://cdn.example.com/avatar.jpg\n背景:https://images.unsplash.com/photo.png\n图标:https://static.example.com/icon.svg","API接口":"REST API:https://api.example.com/api/users\n数据接口:https://service.com/api/v1/data\nGraphQL:https://graph.example.com/api/graphql","CDN资源":"JS库:https://cdn.jsdelivr.net/npm/vue@3.0.0/dist/vue.js\nCSS:https://cdnjs.cloudflare.com/ajax/libs/bootstrap/5.0.0/css/bootstrap.min.css\n字体:https://fonts.googleapis.com/css2?family=Roboto","GitHub链接":"仓库:https://github.com/vuejs/vue\n项目:https://github.com/microsoft/vscode\n工具:https://github.com/facebook/react","车牌号":"传统车牌:京A12345\n新能源:京AD12345\n蓝牌:沪B67890\n绿牌:粤BD88888\n黄牌:川A12345挂\n警车:京A12345警","传统车牌":"小型车:京A12345\n大型车:京A12345挂\n教练车:京A12345学\n警车:京A12345警\n港澳车:粤Z12345港\n使馆车:使001234","新能源车牌":"小型新能源:京AD12345\n大型新能源:京AF12345\n纯电动:沪AD88888\n混合动力:粤BF66666\n燃料电池:川A1D234"}[e.name]||"请输入测试文本...",f(),t(`已设置${e.name}示例`)})(e),title:e.description},[Mr("div",l3,se(e.name),1)],8,o3))),128))])])]),a[13]||(a[13]=Lr('

    正则表达式参考

    基本字符

    .匹配任意单个字符(除换行符)
    \\d匹配数字 [0-9]
    \\w匹配字母、数字、下划线 [a-zA-Z0-9_]
    \\s匹配空白字符(空格、制表符、换行符)

    量词

    *匹配0次或多次
    +匹配1次或多次
    ?匹配0次或1次
    {n,m}匹配n到m次

    位置锚点

    ^匹配行的开始
    $匹配行的结束
    \\b匹配单词边界

    字符类

    [abc]匹配a、b或c中的任意一个
    [^abc]匹配除a、b、c之外的任意字符
    [a-z]匹配小写字母a到z
    ',1))])]))}}),[["__scopeId","data-v-f1c75a9e"]]),u3={class:"api-tester"},d3={class:"formatter-actions"},h3={class:"tester-content"},p3={class:"request-section"},f3={class:"request-header"},m3={class:"example-buttons"},g3={class:"request-content"},y3={class:"request-line"},v3=["disabled"],b3={key:0,class:"loading-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},w3={key:1,class:"send-icon",width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},x3={class:"config-section"},k3={key:0,class:"headers-list"},_3=["onUpdate:modelValue"],E3=["onUpdate:modelValue"],C3=["onClick"],F3={key:0,class:"config-section"},D3={key:0,class:"params-list"},A3=["onUpdate:modelValue"],T3=["onUpdate:modelValue"],S3=["onClick"],I3={key:1,class:"config-section"},N3={class:"section-header"},P3={key:0,class:"json-body"},B3={key:1,class:"form-body"},M3={class:"form-mode-toggle"},O3={key:0,class:"form-mode"},U3={key:0,class:"form-container"},j3={class:"form-list"},L3=["onUpdate:modelValue"],R3=["onUpdate:modelValue"],z3=["onClick"],H3={key:1,class:"bulk-mode"},$3={key:2,class:"form-body"},Y3={key:0,class:"form-list"},G3=["onUpdate:modelValue"],W3=["onUpdate:modelValue"],V3=["onClick"],K3={key:3,class:"xml-body"},J3={key:4,class:"raw-body"},q3={key:5,class:"binary-body"},Z3={class:"file-upload"},X3={for:"binary-file",class:"file-label"},Q3={key:0,class:"file-info"},e5={class:"file-details"},t5={class:"file-name"},a5={class:"file-size"},n5={class:"file-type"},r5={class:"response-section"},s5={class:"response-header"},i5={class:"response-info"},o5={class:"status-code"},l5={class:"status-text"},c5={key:1,class:"meta-info"},u5={class:"response-content"},d5={key:0,class:"response-body"},h5={key:0,class:"error-message"},p5={class:"error-detail"},f5={key:1,class:"response-data"},m5={class:"response-pre"},g5={key:1,class:"empty-response"},y5=Wi($a({__name:"ApiTester",emits:["back"],setup(e){il("api-tester");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("api-tester"),{success:a,error:n}=Vo(),r=St(!1),s=St("form"),i=St(""),o=bt({method:"GET",url:"",headers:[{key:"Content-Type",value:"application/json"}],params:[],bodyType:"json",jsonBody:"",formData:[],formUrlEncodedData:[],formDataFields:[],xmlBody:"",rawBody:"",binaryFile:null}),l=bt({status:null,data:null,headers:null,error:null,time:null}),c=e=>{switch(e){case"jsonplaceholder":o.method="GET",o.url="https://jsonplaceholder.typicode.com/posts/1",o.headers=[{key:"Content-Type",value:"application/json"}],o.params=[];break;case"httpbin-get":o.method="GET",o.url="https://httpbin.org/get",o.headers=[{key:"User-Agent",value:"Toolbox-API-Tester"}],o.params=[{key:"param1",value:"value1"},{key:"param2",value:"value2"}];break;case"httpbin-post":o.method="POST",o.url="https://httpbin.org/post",o.headers=[{key:"Content-Type",value:"application/json"}],o.bodyType="json",o.jsonBody=JSON.stringify({name:"测试用户",email:"test@example.com",message:"这是一个测试消息"},null,2)}a("已加载示例API")},u=()=>{o.headers.push({key:"",value:""})},d=()=>{o.params.push({key:"",value:""})},h=()=>{o.formDataFields.push({key:"",value:""})},p=()=>{o.formUrlEncodedData.push({key:"",value:""})},f=()=>{const e=i.value.split("\n"),t=[];e.forEach(e=>{const a=e.trim();if(a){let e="",n="";if(a.includes("=")){const t=a.split("=");e=t[0]||"",n=t.slice(1).join("=")}else if(a.includes(":")){const t=a.split(":");e=t[0]||"",n=t.slice(1).join(":")}else e=a,n="";e&&e.trim()&&t.push({key:e.trim(),value:n.trim()})}}),o.formUrlEncodedData=t},m=()=>{f(),(()=>{const e=o.formUrlEncodedData.filter(e=>e.key||e.value).map(e=>`${e.key}=${e.value}`);i.value=e.join("\n")})(),a("批量参数格式化成功")},g=()=>{i.value="",o.formUrlEncodedData=[],a("已清空批量参数")},y=()=>{try{const e=JSON.parse(o.jsonBody);o.jsonBody=JSON.stringify(e,null,2),a("JSON格式化成功")}catch(e){n("JSON格式错误,无法格式化")}},v=()=>{try{const e=JSON.parse(o.jsonBody);o.jsonBody=JSON.stringify(e),a("JSON压缩成功")}catch(e){n("JSON格式错误,无法压缩")}},b=()=>{try{let e=o.xmlBody.replace(/>\n<").replace(/^\s*\n/gm,"");const t=e.split("\n");let n=0;const r=2;e=t.map(e=>{const t=e.trim();t.startsWith("")||(n+=r),a}).join("\n"),o.xmlBody=e,a("XML格式化成功")}catch(e){n("XML格式化失败")}},w=()=>{try{o.xmlBody=o.xmlBody.replace(/>\s+<").replace(/^\s+|\s+$/g,""),a("XML压缩成功")}catch(e){n("XML压缩失败")}},x=St(),k=e=>{const t=e.target,n=t.files?.[0];n&&(o.binaryFile=n,a(`已选择文件: ${n.name}`))},_=()=>{o.binaryFile=null,x.value&&(x.value.value=""),a("已移除文件")},E=e=>{if(0===e)return"0 Bytes";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["Bytes","KB","MB","GB"][t]},C=()=>{o.method="GET",o.url="",o.headers=[{key:"Content-Type",value:"application/json"}],o.params=[],o.bodyType="json",o.jsonBody="",o.formData=[],o.formUrlEncodedData=[],o.formDataFields=[],o.xmlBody="",o.rawBody="",o.binaryFile=null,s.value="form",i.value="",x.value&&(x.value.value=""),l.status=null,l.data=null,l.headers=null,l.error=null,l.time=null,a("已清空所有配置")},F=async()=>{if(!o.url.trim())return void n("请输入API接口地址");r.value=!0,l.error=null,l.data=null,l.headers=null,l.status=null,l.time=null;const e=Date.now();try{let r=o.url.trim();if(r.match(/^https?:\/\//)||(r="https://"+r),"GET"===o.method&&o.params.length>0){const e=new URLSearchParams;o.params.forEach(t=>{t.key&&t.value&&e.append(t.key,t.value)});const t=e.toString();t&&(r+=(r.includes("?")?"&":"?")+t)}const s={};o.headers.forEach(e=>{e.key&&e.value&&(s[e.key]=e.value)});const i="https://difficult-ape-32.panxu71.deno.net",c={method:"POST",headers:{"Content-Type":"application/json"}},u={url:r,method:o.method,headers:s};if(["POST","PUT","PATCH"].includes(o.method))if("json"===o.bodyType&&o.jsonBody)try{u.body=JSON.parse(o.jsonBody),s["Content-Type"]||(u.headers["Content-Type"]="application/json")}catch(t){throw new Error("JSON格式错误,请检查请求体")}else if("form-urlencoded"===o.bodyType&&o.formUrlEncodedData.length>0){const e=new URLSearchParams;o.formUrlEncodedData.forEach(t=>{t.key&&t.value&&e.append(t.key,t.value)}),u.body=e.toString(),u.headers["Content-Type"]="application/x-www-form-urlencoded"}else if("form-data"===o.bodyType&&o.formDataFields.length>0){const e={};o.formDataFields.forEach(t=>{t.key&&t.value&&(e[t.key]=t.value)}),u.body=e,u.headers["Content-Type"]="multipart/form-data"}else if("xml"===o.bodyType&&o.xmlBody)u.body=o.xmlBody,u.headers["Content-Type"]="application/xml";else if("raw"===o.bodyType&&o.rawBody)u.body=o.rawBody,u.headers["Content-Type"]||(u.headers["Content-Type"]="text/plain");else if("binary"===o.bodyType&&o.binaryFile)throw new Error("二进制文件上传暂不支持代理模式");c.body=JSON.stringify(u);const d=await fetch(i,c),h=Date.now();l.time=h-e;const p=await d.json();l.status=p.status||d.status,l.headers=p.headers||{},l.data=p.data||p.body,p.error?(l.error=p.error,n("请求失败")):d.ok?a("请求发送成功"):(l.error=`HTTP ${d.status}: ${d.statusText}`,n("请求失败"))}catch(t){const a=Date.now();l.time=a-e,"TypeError"===t.name&&t.message.includes("Failed to fetch")?l.error="代理服务连接失败或网络错误":t.message.includes("JSON格式错误")?l.error=t.message:l.error=t.message||"请求失败",n("请求失败")}finally{r.value=!1}},D=e=>({200:"OK",201:"Created",204:"No Content",400:"Bad Request",401:"Unauthorized",403:"Forbidden",404:"Not Found",500:"Internal Server Error",502:"Bad Gateway",503:"Service Unavailable"}[e]||"Unknown"),A=e=>{if("string"==typeof e)try{return JSON.stringify(JSON.parse(e),null,2)}catch{return e}return JSON.stringify(e,null,2)},T=async()=>{try{let e="";e=l.error?l.error:l.data?A(l.data):"无响应数据",await navigator.clipboard.writeText(e),a("响应结果已复制到剪贴板")}catch(e){n("复制失败")}};return(e,a)=>{return Cr(),Tr("div",u3,[Or(hl,{title:Nt(t),onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",d3,[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:C}),Or(jl,{icon:"copy",tooltip:"复制响应",onClick:T,disabled:!l.data&&!l.error},null,8,["disabled"])])]),_:1},8,["title"]),Mr("div",h3,[Mr("div",p3,[Mr("div",f3,[a[16]||(a[16]=Lr('

    请求配置

    配置API请求参数和选项

    ',1)),Mr("div",m3,[Or(nW,null,{default:la(()=>[Mr("button",{class:"group-btn",onClick:a[1]||(a[1]=e=>c("jsonplaceholder"))},[...a[13]||(a[13]=[Mr("span",{class:"method-badge get"},"GET",-1),jr(" JSONPlaceholder ",-1)])]),Mr("button",{class:"group-btn",onClick:a[2]||(a[2]=e=>c("httpbin-get"))},[...a[14]||(a[14]=[Mr("span",{class:"method-badge get"},"GET",-1),jr(" HTTPBin GET ",-1)])]),Mr("button",{class:"group-btn",onClick:a[3]||(a[3]=e=>c("httpbin-post"))},[...a[15]||(a[15]=[Mr("span",{class:"method-badge post"},"POST",-1),jr(" HTTPBin POST ",-1)])])]),_:1})])]),Mr("div",g3,[Mr("div",y3,[ca(Mr("select",{"onUpdate:modelValue":a[4]||(a[4]=e=>o.method=e),class:"method-select"},[...a[17]||(a[17]=[Lr('',7)])],512),[[_i,o.method]]),ca(Mr("input",{"onUpdate:modelValue":a[5]||(a[5]=e=>o.url=e),type:"text",class:"url-input",placeholder:"请输入API接口地址,如:https://jsonplaceholder.typicode.com/posts",onKeyup:Pi(F,["enter"])},null,544),[[bi,o.url]]),Mr("button",{class:Q(["send-btn",{loading:r.value,[o.method.toLowerCase()]:!0}]),onClick:F,disabled:r.value||!o.url.trim()},[r.value?(Cr(),Tr("svg",b3,[...a[18]||(a[18]=[Mr("path",{d:"M21 12a9 9 0 11-6.219-8.56"},null,-1)])])):(Cr(),Tr("svg",w3,[...a[19]||(a[19]=[Mr("line",{x1:"22",y1:"2",x2:"11",y2:"13"},null,-1),Mr("polygon",{points:"22,2 15,22 11,13 2,9 22,2"},null,-1)])])),jr(" "+se(r.value?"发送中...":"发送请求"),1)],10,v3)]),Mr("div",x3,[Mr("div",{class:"section-header"},[a[21]||(a[21]=Mr("h4",null,"请求头 (Headers)",-1)),Mr("button",{class:"add-btn",onClick:u},[...a[20]||(a[20]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加 ",-1)])])]),o.headers.length>0?(Cr(),Tr("div",k3,[(Cr(!0),Tr(br,null,yn(o.headers,(e,t)=>(Cr(),Tr("div",{key:t,class:"header-row"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.key=t,type:"text",placeholder:"Header名称",class:"header-key"},null,8,_3),[[bi,e.key]]),a[23]||(a[23]=Mr("span",{class:"separator"},":",-1)),ca(Mr("input",{"onUpdate:modelValue":t=>e.value=t,type:"text",placeholder:"Header值",class:"header-value"},null,8,E3),[[bi,e.value]]),Mr("button",{class:"remove-btn",onClick:e=>(e=>{o.headers.splice(e,1)})(t)},[...a[22]||(a[22]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,C3)]))),128))])):Rr("",!0)]),"GET"===o.method?(Cr(),Tr("div",F3,[Mr("div",{class:"section-header"},[a[25]||(a[25]=Mr("h4",null,"查询参数 (Query Parameters)",-1)),Mr("button",{class:"add-btn",onClick:d},[...a[24]||(a[24]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加 ",-1)])])]),o.params.length>0?(Cr(),Tr("div",D3,[(Cr(!0),Tr(br,null,yn(o.params,(e,t)=>(Cr(),Tr("div",{key:t,class:"param-row"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.key=t,type:"text",placeholder:"参数名",class:"param-key"},null,8,A3),[[bi,e.key]]),a[27]||(a[27]=Mr("span",{class:"separator"},"=",-1)),ca(Mr("input",{"onUpdate:modelValue":t=>e.value=t,type:"text",placeholder:"参数值",class:"param-value"},null,8,T3),[[bi,e.value]]),Mr("button",{class:"remove-btn",onClick:e=>(e=>{o.params.splice(e,1)})(t)},[...a[26]||(a[26]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,S3)]))),128))])):Rr("",!0)])):Rr("",!0),["POST","PUT","PATCH"].includes(o.method)?(Cr(),Tr("div",I3,[Mr("div",N3,[a[29]||(a[29]=Mr("h4",null,"请求体 (Request Body)",-1)),ca(Mr("select",{"onUpdate:modelValue":a[6]||(a[6]=e=>o.bodyType=e),class:"body-type-select"},[...a[28]||(a[28]=[Lr('',6)])],512),[[_i,o.bodyType]])]),"json"===o.bodyType?(Cr(),Tr("div",P3,[ca(Mr("textarea",{"onUpdate:modelValue":a[7]||(a[7]=e=>o.jsonBody=e),class:"json-textarea",placeholder:'请输入JSON数据,例如:\n{\n "title": "测试标题",\n "body": "测试内容",\n "userId": 1\n}',rows:"8"},null,512),[[bi,o.jsonBody]]),Mr("div",{class:"json-actions"},[Mr("button",{class:"format-btn",onClick:y},"格式化"),Mr("button",{class:"minify-btn",onClick:v},"压缩")])])):Rr("",!0),"form-urlencoded"===o.bodyType?(Cr(),Tr("div",B3,[Mr("div",M3,[Mr("button",{class:Q(["mode-btn",{active:"form"===s.value}]),onClick:a[8]||(a[8]=e=>s.value="form")},[...a[30]||(a[30]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),Mr("line",{x1:"9",y1:"9",x2:"15",y2:"9"}),Mr("line",{x1:"9",y1:"15",x2:"15",y2:"15"})],-1),jr(" 表单模式 ",-1)])],2),Mr("button",{class:Q(["mode-btn",{active:"bulk"===s.value}]),onClick:a[9]||(a[9]=e=>s.value="bulk")},[...a[31]||(a[31]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z"}),Mr("polyline",{points:"14,2 14,8 20,8"})],-1),jr(" 批量编辑 ",-1)])],2)]),"form"===s.value?(Cr(),Tr("div",O3,[o.formUrlEncodedData.length>0?(Cr(),Tr("div",U3,[Mr("div",j3,[(Cr(!0),Tr(br,null,yn(o.formUrlEncodedData,(e,t)=>(Cr(),Tr("div",{key:t,class:"form-row"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.key=t,type:"text",placeholder:"参数名",class:"form-key"},null,8,L3),[[bi,e.key]]),a[33]||(a[33]=Mr("span",{class:"separator"},"=",-1)),ca(Mr("input",{"onUpdate:modelValue":t=>e.value=t,type:"text",placeholder:"参数值",class:"form-value"},null,8,R3),[[bi,e.value]]),Mr("button",{class:"remove-btn",onClick:e=>(e=>{o.formUrlEncodedData.splice(e,1)})(t)},[...a[32]||(a[32]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,z3)]))),128))])])):Rr("",!0),Mr("button",{class:"add-btn",onClick:p},[...a[34]||(a[34]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加参数 ",-1)])])])):Rr("",!0),"bulk"===s.value?(Cr(),Tr("div",H3,[ca(Mr("textarea",{"onUpdate:modelValue":a[10]||(a[10]=e=>i.value=e),class:"bulk-textarea",placeholder:"批量编辑参数,每行一个参数,支持等号(=)或冒号(:)分割\n格式1:参数名=参数值\n格式2:参数名:参数值\n\n例如:\nname=张三\nemail:test@example.com\nage=25\ncity:北京\ntoken=abc123:def456",rows:"8",onBlur:f},null,544),[[bi,i.value]]),Mr("div",{class:"bulk-actions"},[Mr("button",{class:"format-btn",onClick:m},"格式化"),Mr("button",{class:"clear-btn",onClick:g},"清空")])])):Rr("",!0)])):Rr("",!0),"form-data"===o.bodyType?(Cr(),Tr("div",$3,[o.formDataFields.length>0?(Cr(),Tr("div",Y3,[(Cr(!0),Tr(br,null,yn(o.formDataFields,(e,t)=>(Cr(),Tr("div",{key:t,class:"form-row"},[ca(Mr("input",{"onUpdate:modelValue":t=>e.key=t,type:"text",placeholder:"字段名",class:"form-key"},null,8,G3),[[bi,e.key]]),a[36]||(a[36]=Mr("span",{class:"separator"},"=",-1)),ca(Mr("input",{"onUpdate:modelValue":t=>e.value=t,type:"text",placeholder:"字段值",class:"form-value"},null,8,W3),[[bi,e.value]]),Mr("button",{class:"remove-btn",onClick:e=>(e=>{o.formDataFields.splice(e,1)})(t)},[...a[35]||(a[35]=[Mr("svg",{width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])],8,V3)]))),128))])):Rr("",!0),Mr("button",{class:"add-btn",onClick:h},[...a[37]||(a[37]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"12",y1:"5",x2:"12",y2:"19"}),Mr("line",{x1:"5",y1:"12",x2:"19",y2:"12"})],-1),jr(" 添加字段 ",-1)])])])):Rr("",!0),"xml"===o.bodyType?(Cr(),Tr("div",K3,[ca(Mr("textarea",{"onUpdate:modelValue":a[11]||(a[11]=e=>o.xmlBody=e),class:"xml-textarea",placeholder:'请输入XML数据,例如:\n\n\n 测试用户\n test@example.com\n 这是一个测试消息\n',rows:"8"},null,512),[[bi,o.xmlBody]]),Mr("div",{class:"xml-actions"},[Mr("button",{class:"format-btn",onClick:b},"格式化"),Mr("button",{class:"minify-btn",onClick:w},"压缩")])])):Rr("",!0),"raw"===o.bodyType?(Cr(),Tr("div",J3,[ca(Mr("textarea",{"onUpdate:modelValue":a[12]||(a[12]=e=>o.rawBody=e),class:"raw-textarea",placeholder:"请输入原始文本数据",rows:"8"},null,512),[[bi,o.rawBody]])])):Rr("",!0),"binary"===o.bodyType?(Cr(),Tr("div",q3,[Mr("div",Z3,[Mr("input",{type:"file",ref_key:"fileInput",ref:x,onChange:k,class:"file-input",id:"binary-file"},null,544),Mr("label",X3,[a[38]||(a[38]=Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1)),jr(" "+se(o.binaryFile?o.binaryFile.name:"选择文件"),1)])]),o.binaryFile?(Cr(),Tr("div",Q3,[Mr("div",e5,[Mr("span",t5,se(o.binaryFile.name),1),Mr("span",a5,se(E(o.binaryFile.size)),1),Mr("span",n5,se(o.binaryFile.type||"未知类型"),1)]),Mr("button",{class:"remove-file-btn",onClick:_},[...a[39]||(a[39]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])):Rr("",!0)])):Rr("",!0)])):Rr("",!0)])]),Mr("div",r5,[Mr("div",s5,[a[40]||(a[40]=Lr('

    响应结果

    API请求的返回数据和状态信息

    ',1)),Mr("div",i5,[l.status?(Cr(),Tr("div",{key:0,class:Q(["status-badge",(n=l.status,n>=200&&n<300?"success":n>=300&&n<400?"redirect":n>=400&&n<500?"client-error":n>=500?"server-error":"")])},[Mr("span",o5,se(l.status),1),Mr("span",l5,se(D(l.status)),1)],2)):Rr("",!0),l.time?(Cr(),Tr("div",c5,[Mr("span",null,se(l.time)+"ms",1)])):Rr("",!0)])]),Mr("div",u5,[l.data||l.error?(Cr(),Tr("div",d5,[l.error?(Cr(),Tr("div",h5,[a[41]||(a[41]=Mr("div",{class:"error-title"},"请求失败",-1)),Mr("div",p5,se(l.error),1)])):(Cr(),Tr("div",f5,[Mr("pre",m5,se(A(l.data)),1)]))])):(Cr(),Tr("div",g5,[...a[42]||(a[42]=[Lr('
    配置请求参数后点击发送按钮
    💡 提示:可以先试试上面的示例API
    ',3)])]))])])])]);var n}}}),[["__scopeId","data-v-7a13705b"]]);class v5{diff(e,t,a={}){let n;"function"==typeof a?(n=a,a={}):"callback"in a&&(n=a.callback);const r=this.castInput(e,a),s=this.castInput(t,a),i=this.removeEmpty(this.tokenize(r,a)),o=this.removeEmpty(this.tokenize(s,a));return this.diffWithOptionsObj(i,o,a,n)}diffWithOptionsObj(e,t,a,n){var r;const s=e=>(e=this.postProcess(e,a),n?void setTimeout(function(){n(e)},0):e),i=t.length,o=e.length;let l=1,c=i+o;null!=a.maxEditLength&&(c=Math.min(c,a.maxEditLength));const u=null!==(r=a.timeout)&&void 0!==r?r:1/0,d=Date.now()+u,h=[{oldPos:-1,lastComponent:void 0}];let p=this.extractCommon(h[0],t,e,0,a);if(h[0].oldPos+1>=o&&p+1>=i)return s(this.buildValues(h[0].lastComponent,t,e));let f=-1/0,m=1/0;const g=()=>{for(let n=Math.max(f,-l);n<=Math.min(m,l);n+=2){let r;const l=h[n-1],c=h[n+1];l&&(h[n-1]=void 0);let u=!1;if(c){const e=c.oldPos-n;u=c&&0<=e&&e=o&&p+1>=i)return s(this.buildValues(r.lastComponent,t,e))||!0;h[n]=r,r.oldPos+1>=o&&(m=Math.min(m,n-1)),p+1>=i&&(f=Math.max(f,n+1))}else h[n]=void 0}l++};if(n)!function e(){setTimeout(function(){if(l>c||Date.now()>d)return n(void 0);g()||e()},0)}();else for(;l<=c&&Date.now()<=d;){const e=g();if(e)return e}}addToPath(e,t,a,n,r){const s=e.lastComponent;return s&&!r.oneChangePerToken&&s.added===t&&s.removed===a?{oldPos:e.oldPos+n,lastComponent:{count:s.count+1,added:t,removed:a,previousComponent:s.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:t,removed:a,previousComponent:s}}}extractCommon(e,t,a,n,r){const s=t.length,i=a.length;let o=e.oldPos,l=o-n,c=0;for(;l+1e.length?n:e}),e.value=this.join(n)}else e.value=this.join(t.slice(o,o+e.count));o+=e.count,e.added||(l+=e.count)}}return n}}const b5=new class extends v5{constructor(){super(...arguments),this.tokenize=w5}equals(e,t,a){return a.ignoreWhitespace?(a.newlineIsToken&&e.includes("\n")||(e=e.trim()),a.newlineIsToken&&t.includes("\n")||(t=t.trim())):a.ignoreNewlineAtEof&&!a.newlineIsToken&&(e.endsWith("\n")&&(e=e.slice(0,-1)),t.endsWith("\n")&&(t=t.slice(0,-1))),super.equals(e,t,a)}};function w5(e,t){t.stripTrailingCr&&(e=e.replace(/\r\n/g,"\n"));const a=[],n=e.split(/(\n|\r\n)/);n[n.length-1]||n.pop();for(let r=0;r{const a=e.target,s=a.files?.[0];if(s)if(s.size>10485760)F("文件大小不能超过10MB","error");else try{const e=await m(s);"A"===t?(n.value=e,o.value={name:s.name,size:s.size}):(r.value=e,l.value={name:s.name,size:s.size}),k(),F(`文件 ${s.name} 上传成功`,"success")}catch(i){F("文件读取失败","error")}},m=e=>new Promise((t,a)=>{const n=new FileReader;n.onload=e=>{const n=e.target?.result;"string"==typeof n?t(n):a(new Error("文件读取失败"))},n.onerror=a,n.readAsText(e,"UTF-8")}),g=async e=>{try{const t=await navigator.clipboard.readText();"A"===e?(n.value=t,o.value=null):(r.value=t,l.value=null),k(),F("文本已粘贴","success")}catch(t){F("粘贴失败","error")}},y=e=>{"A"===e?(n.value="",o.value=null,s.value&&(s.value.value="")):(r.value="",l.value=null,i.value&&(i.value.value="")),k(),F(`文本${e}已清空`,"success")},v=e=>e?e.split("\n").length:0,b=e=>{if(0===e)return"0 B";const t=Math.floor(Math.log(e)/Math.log(1024));return parseFloat((e/Math.pow(1024,t)).toFixed(2))+" "+["B","KB","MB","GB"][t]},w=e=>{let t=e;return u.value.ignoreCase&&(t=t.toLowerCase()),u.value.ignoreWhitespace&&(t=t.replace(/\s+/g," ").trim()),u.value.ignoreLineBreaks&&(t=t.replace(/\n/g," ")),t},x=(e,t)=>{const a=e.length,n=t.length,r=Array(n+1).fill(null).map(()=>Array(a+1).fill(0));for(let s=0;s<=a;s++)r[0][s]=s;for(let s=0;s<=n;s++)r[s][0]=s;for(let s=1;s<=n;s++)for(let n=1;n<=a;n++)t[s-1]===e[n-1]?r[s][n]=r[s-1][n-1]:r[s][n]=Math.min(r[s-1][n]+1,r[s][n-1]+1,r[s-1][n-1]+1);return r[n][a]},k=()=>{if(!n.value&&!r.value)return void(d.value=null);if(!n.value||!r.value)return void(d.value=null);const e=w(n.value),t=w(r.value),a=function(e,t,a){return b5.diff(e,t,a)}(e,t);let s=0,i=0,o=0;a.forEach(e=>{e.added?s+=e.count||0:e.removed&&(i+=e.count||0),(e.added||e.removed)&&(o+=e.count||0)});const l=((e,t)=>{if(e===t)return 100;if(!e||!t)return 0;const a=e.length>t.length?e:t,n=e.length>t.length?t:e;if(0===a.length)return 100;const r=x(a,n);return(a.length-r)/a.length*100})(e,t),c=a.map(e=>({type:e.added?"added":e.removed?"removed":"unchanged",value:e.value,count:e.count}));d.value={similarity:l,diffLines:o,addedLines:s,removedLines:i,diffs:c}},_=is(()=>{if(!d.value)return[];const e=[];let t=1,a=1;return d.value.diffs.forEach(n=>{n.value.split("\n").filter(e=>""!==e||n.value.endsWith("\n")).forEach(r=>{"unchanged"===n.type?e.push({left:{type:"unchanged",content:r,lineNumber:t++},right:{type:"unchanged",content:r,lineNumber:a++}}):"removed"===n.type?e.push({left:{type:"removed",content:r,lineNumber:t++},right:void 0}):"added"===n.type&&e.push({left:void 0,right:{type:"added",content:r,lineNumber:a++}})})}),e}),E=(e,t)=>"unchanged"===t?C(e):`${C(e)}`,C=e=>{const t=document.createElement("div");return t.textContent=e,t.innerHTML},F=(e,n)=>{"success"===n?t(e):a(e),h.value=e,p.value=n,setTimeout(()=>{h.value=""},3e3)};return nn(()=>{}),(e,t)=>{return Cr(),Tr("div",x5,[Or(hl,{title:"文本比对",onBack:t[0]||(t[0]=t=>e.$emit("back"))}),Mr("div",k5,[Mr("div",_5,[t[28]||(t[28]=Mr("div",{class:"section-header"},[Mr("h3",null,"文本比对"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"比较两个文本的差异,支持文件上传")])],-1)),Mr("div",E5,[Mr("div",C5,[Mr("div",F5,[t[19]||(t[19]=Mr("h4",null,"文本A",-1)),Mr("div",D5,[Mr("input",{ref_key:"fileInputA",ref:s,type:"file",onChange:t[1]||(t[1]=e=>f(e,"A")),accept:".txt,.md,.json,.xml,.html,.css,.js,.ts,.vue,.py,.java,.cpp,.c,.h",style:{display:"none"}},null,544),Mr("button",{class:"upload-btn",onClick:t[2]||(t[2]=e=>s.value?.click()),title:"上传文件"},[...t[16]||(t[16]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"17,8 12,3 7,8"}),Mr("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1)])]),Mr("button",{class:"paste-btn",onClick:t[3]||(t[3]=e=>g("A")),title:"粘贴"},[...t[17]||(t[17]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"clear-btn",onClick:t[4]||(t[4]=e=>y("A")),title:"清空"},[...t[18]||(t[18]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),o.value?(Cr(),Tr("div",A5,[Mr("span",T5,se(o.value.name),1),Mr("span",S5,se(b(o.value.size)),1)])):Rr("",!0),ca(Mr("textarea",{"onUpdate:modelValue":t[5]||(t[5]=e=>n.value=e),placeholder:"请输入或上传第一个文本...",class:"text-input",onInput:k},null,544),[[bi,n.value]]),Mr("div",I5,[Mr("span",null,"字符数: "+se(n.value.length),1),Mr("span",null,"行数: "+se(v(n.value)),1)])]),Mr("div",N5,[Mr("div",P5,[t[23]||(t[23]=Mr("h4",null,"文本B",-1)),Mr("div",B5,[Mr("input",{ref_key:"fileInputB",ref:i,type:"file",onChange:t[6]||(t[6]=e=>f(e,"B")),accept:".txt,.md,.json,.xml,.html,.css,.js,.ts,.vue,.py,.java,.cpp,.c,.h",style:{display:"none"}},null,544),Mr("button",{class:"upload-btn",onClick:t[7]||(t[7]=e=>i.value?.click()),title:"上传文件"},[...t[20]||(t[20]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"17,8 12,3 7,8"}),Mr("line",{x1:"12",y1:"3",x2:"12",y2:"15"})],-1)])]),Mr("button",{class:"paste-btn",onClick:t[8]||(t[8]=e=>g("B")),title:"粘贴"},[...t[21]||(t[21]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1"}),Mr("path",{d:"M16 4h2a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2H6a2 2 0 0 1-2-2V6a2 2 0 0 1 2-2h2"})],-1)])]),Mr("button",{class:"clear-btn",onClick:t[9]||(t[9]=e=>y("B")),title:"清空"},[...t[22]||(t[22]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])])]),l.value?(Cr(),Tr("div",M5,[Mr("span",O5,se(l.value.name),1),Mr("span",U5,se(b(l.value.size)),1)])):Rr("",!0),ca(Mr("textarea",{"onUpdate:modelValue":t[10]||(t[10]=e=>r.value=e),placeholder:"请输入或上传第二个文本...",class:"text-input",onInput:k},null,544),[[bi,r.value]]),Mr("div",j5,[Mr("span",null,"字符数: "+se(r.value.length),1),Mr("span",null,"行数: "+se(v(r.value)),1)])])]),Mr("div",L5,[Mr("div",R5,[Mr("label",z5,[ca(Mr("input",{"onUpdate:modelValue":t[11]||(t[11]=e=>u.value.ignoreCase=e),type:"checkbox",onChange:k},null,544),[[wi,u.value.ignoreCase]]),t[24]||(t[24]=Mr("span",null,"忽略大小写",-1))]),Mr("label",H5,[ca(Mr("input",{"onUpdate:modelValue":t[12]||(t[12]=e=>u.value.ignoreWhitespace=e),type:"checkbox",onChange:k},null,544),[[wi,u.value.ignoreWhitespace]]),t[25]||(t[25]=Mr("span",null,"忽略空白字符",-1))]),Mr("label",$5,[ca(Mr("input",{"onUpdate:modelValue":t[13]||(t[13]=e=>u.value.ignoreLineBreaks=e),type:"checkbox",onChange:k},null,544),[[wi,u.value.ignoreLineBreaks]]),t[26]||(t[26]=Mr("span",null,"忽略换行符",-1))])]),Mr("button",{class:"compare-btn",onClick:k,disabled:!n.value||!r.value},[...t[27]||(t[27]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M9 11H5a2 2 0 0 0-2 2v3a2 2 0 0 0 2 2h4"}),Mr("path",{d:"M15 11h4a2 2 0 0 1 2 2v3a2 2 0 0 1-2 2h-4"}),Mr("path",{d:"M12 2v20"})],-1),jr(" 开始比对 ",-1)])],8,Y5)])]),d.value?(Cr(),Tr("div",G5,[t[36]||(t[36]=Mr("div",{class:"section-header"},[Mr("h3",null,"比对结果"),Mr("div",{class:"section-info"},[Mr("span",{class:"info-text"},"文本差异分析结果")])],-1)),Mr("div",W5,[Mr("div",V5,[Mr("div",K5,[t[29]||(t[29]=Mr("span",{class:"summary-label"},"相似度:",-1)),Mr("span",{class:Q(["summary-value",(a=d.value.similarity,a>=90?"high":a>=70?"medium":a>=50?"low":"very-low")])},se(d.value.similarity.toFixed(1))+"% ",3)]),Mr("div",J5,[t[30]||(t[30]=Mr("span",{class:"summary-label"},"差异行数:",-1)),Mr("span",q5,se(d.value.diffLines),1)]),Mr("div",Z5,[t[31]||(t[31]=Mr("span",{class:"summary-label"},"新增行数:",-1)),Mr("span",X5,se(d.value.addedLines),1)]),Mr("div",Q5,[t[32]||(t[32]=Mr("span",{class:"summary-label"},"删除行数:",-1)),Mr("span",e4,se(d.value.removedLines),1)])]),Mr("div",t4,[Mr("div",a4,[t[33]||(t[33]=Mr("h4",null,"差异详情",-1)),Mr("div",n4,[Mr("button",{class:Q(["view-btn",{active:"unified"===c.value}]),onClick:t[14]||(t[14]=e=>c.value="unified")}," 统一视图 ",2),Mr("button",{class:Q(["view-btn",{active:"split"===c.value}]),onClick:t[15]||(t[15]=e=>c.value="split")}," 并排视图 ",2)]),t[34]||(t[34]=Mr("div",{class:"diff-legend"},[Mr("span",{class:"legend-item added"},"+ 新增"),Mr("span",{class:"legend-item removed"},"- 删除"),Mr("span",{class:"legend-item modified"},"~ 修改")],-1))]),"unified"===c.value?(Cr(),Tr("div",r4,[(Cr(!0),Tr(br,null,yn(d.value.diffs,(e,t)=>(Cr(),Tr(br,{key:t},[(Cr(!0),Tr(br,null,yn(e.value.split("\n"),(a,n)=>(Cr(),Tr(br,{key:`${t}-${n}`},[a||e.value.endsWith("\n")?(Cr(),Tr("div",{key:0,class:Q(["diff-line",e.type])},[Mr("span",s4,se(n+1),1),Mr("span",i4,se("added"===e.type?"+":"removed"===e.type?"-":" "),1),Mr("span",{class:"line-content",innerHTML:E(a,e.type)},null,8,o4)],2)):Rr("",!0)],64))),128))],64))),128))])):Rr("",!0),"split"===c.value?(Cr(),Tr("div",l4,[t[35]||(t[35]=Mr("div",{class:"split-header"},[Mr("div",{class:"split-title"},"文本A"),Mr("div",{class:"split-title"},"文本B")],-1)),Mr("div",c4,[(Cr(!0),Tr(br,null,yn(_.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"diff-pair"},[Mr("div",{class:Q(["diff-side left",e.left?.type||"empty"])},[Mr("span",u4,se(e.left?.lineNumber||""),1),e.left?(Cr(),Tr("span",{key:0,class:"line-content",innerHTML:E(e.left.content,e.left.type)},null,8,d4)):(Cr(),Tr("span",h4))],2),Mr("div",{class:Q(["diff-side right",e.right?.type||"empty"])},[Mr("span",p4,se(e.right?.lineNumber||""),1),e.right?(Cr(),Tr("span",{key:0,class:"line-content",innerHTML:E(e.right.content,e.right.type)},null,8,f4)):(Cr(),Tr("span",m4))],2)]))),128))])])):Rr("",!0)])])])):Rr("",!0),t[37]||(t[37]=Lr('
    📄

    支持文件上传

    支持手动输入文本或上传多种格式的文件进行比对。

    ⚙️

    灵活比对选项

    可选择忽略大小写、空白字符或换行符进行灵活比对。

    📊

    多种视图模式

    提供统一视图和并排视图两种方式展示文本差异。

    📈

    详细统计分析

    显示相似度、差异行数等统计信息,帮助分析文本差异。

    ⚡ 关于 Diff 算法

    基于专业的 diff 库,采用 Myers 差分算法,被 Git、GitHub、VS Code 等工具广泛使用。该算法能够高效地计算两个文本序列之间的最小编辑距离,提供精确的差异分析结果。

    🔍 算法优势:时间复杂度 O(ND),空间复杂度优化,适合大文件比对
    🌟 应用场景:代码审查、版本控制、文档比较、数据同步等
    🛠️ 技术特性:支持字符级、单词级、行级比对,可自定义比较规则
    Myers 算法高性能广泛应用开源可靠精确比对多级别支持
    ',1))]),h.value?(Cr(),Tr("div",{key:0,class:Q(["message-toast",p.value])},se(h.value),3)):Rr("",!0)]);var a}}}),y4=Wi(g4,[["__scopeId","data-v-f6762626"]]),v4={class:"mime-type-reference"},b4={class:"converter-content"},w4={class:"mime-table-section"},x4={class:"table-header"},k4={class:"table-info"},_4={class:"info-text"},E4={class:"table-container"},C4={class:"mime-table"},F4={class:"extension-cell"},D4={class:"extension"},A4={class:"mime-cell"},T4={class:"mime-type"},S4={class:"description-cell"},I4={class:"description"},N4={class:"action-cell"},P4=["onClick"],B4={key:0,class:"pagination"},M4=["disabled"],O4={class:"page-info"},U4=["disabled"],j4=Wi($a({__name:"MimeTypeReference",emits:["back"],setup(e,{emit:t}){const a=t;il("mime-type-reference");const{success:n,error:r}=Vo(),s=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"mime-type-reference"===e.id);if(t)return t.title}return"MIME-Type 速查表"}),i=St(""),o=St("all"),l=St(1),c=[{key:"all",name:"全部"},{key:"text",name:"文本"},{key:"image",name:"图片"},{key:"video",name:"视频"},{key:"audio",name:"音频"},{key:"application",name:"应用程序"},{key:"font",name:"字体"}],u=is(()=>c.map(e=>({key:e.key,name:e.name,count:"all"===e.key?d.value.length:d.value.filter(t=>t.category===e.key).length}))),d=St([{extension:".txt",mimeType:"text/plain",description:"纯文本文件",category:"text"},{extension:".html",mimeType:"text/html",description:"HTML文档",category:"text"},{extension:".htm",mimeType:"text/html",description:"HTML文档",category:"text"},{extension:".css",mimeType:"text/css",description:"CSS样式表",category:"text"},{extension:".js",mimeType:"text/javascript",description:"JavaScript文件",category:"text"},{extension:".json",mimeType:"application/json",description:"JSON数据文件",category:"text"},{extension:".xml",mimeType:"text/xml",description:"XML文档",category:"text"},{extension:".csv",mimeType:"text/csv",description:"CSV数据文件",category:"text"},{extension:".md",mimeType:"text/markdown",description:"Markdown文档",category:"text"},{extension:".jpg",mimeType:"image/jpeg",description:"JPEG图片",category:"image"},{extension:".jpeg",mimeType:"image/jpeg",description:"JPEG图片",category:"image"},{extension:".png",mimeType:"image/png",description:"PNG图片",category:"image"},{extension:".gif",mimeType:"image/gif",description:"GIF动画",category:"image"},{extension:".bmp",mimeType:"image/bmp",description:"BMP位图",category:"image"},{extension:".webp",mimeType:"image/webp",description:"WebP图片",category:"image"},{extension:".svg",mimeType:"image/svg+xml",description:"SVG矢量图",category:"image"},{extension:".ico",mimeType:"image/x-icon",description:"图标文件",category:"image"},{extension:".tiff",mimeType:"image/tiff",description:"TIFF图片",category:"image"},{extension:".mp4",mimeType:"video/mp4",description:"MP4视频",category:"video"},{extension:".avi",mimeType:"video/x-msvideo",description:"AVI视频",category:"video"},{extension:".mov",mimeType:"video/quicktime",description:"QuickTime视频",category:"video"},{extension:".wmv",mimeType:"video/x-ms-wmv",description:"Windows Media视频",category:"video"},{extension:".flv",mimeType:"video/x-flv",description:"Flash视频",category:"video"},{extension:".webm",mimeType:"video/webm",description:"WebM视频",category:"video"},{extension:".mkv",mimeType:"video/x-matroska",description:"Matroska视频",category:"video"},{extension:".3gp",mimeType:"video/3gpp",description:"3GPP视频",category:"video"},{extension:".mp3",mimeType:"audio/mpeg",description:"MP3音频",category:"audio"},{extension:".wav",mimeType:"audio/wav",description:"WAV音频",category:"audio"},{extension:".ogg",mimeType:"audio/ogg",description:"OGG音频",category:"audio"},{extension:".aac",mimeType:"audio/aac",description:"AAC音频",category:"audio"},{extension:".flac",mimeType:"audio/flac",description:"FLAC无损音频",category:"audio"},{extension:".m4a",mimeType:"audio/mp4",description:"M4A音频",category:"audio"},{extension:".wma",mimeType:"audio/x-ms-wma",description:"Windows Media音频",category:"audio"},{extension:".pdf",mimeType:"application/pdf",description:"PDF文档",category:"application"},{extension:".doc",mimeType:"application/msword",description:"Word文档",category:"application"},{extension:".docx",mimeType:"application/vnd.openxmlformats-officedocument.wordprocessingml.document",description:"Word文档(新版)",category:"application"},{extension:".xls",mimeType:"application/vnd.ms-excel",description:"Excel表格",category:"application"},{extension:".xlsx",mimeType:"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",description:"Excel表格(新版)",category:"application"},{extension:".ppt",mimeType:"application/vnd.ms-powerpoint",description:"PowerPoint演示文稿",category:"application"},{extension:".pptx",mimeType:"application/vnd.openxmlformats-officedocument.presentationml.presentation",description:"PowerPoint演示文稿(新版)",category:"application"},{extension:".zip",mimeType:"application/zip",description:"ZIP压缩包",category:"application"},{extension:".rar",mimeType:"application/vnd.rar",description:"RAR压缩包",category:"application"},{extension:".7z",mimeType:"application/x-7z-compressed",description:"7-Zip压缩包",category:"application"},{extension:".tar",mimeType:"application/x-tar",description:"TAR归档文件",category:"application"},{extension:".gz",mimeType:"application/gzip",description:"GZIP压缩文件",category:"application"},{extension:".exe",mimeType:"application/vnd.microsoft.portable-executable",description:"Windows可执行文件",category:"application"},{extension:".dmg",mimeType:"application/x-apple-diskimage",description:"macOS磁盘映像",category:"application"},{extension:".deb",mimeType:"application/vnd.debian.binary-package",description:"Debian软件包",category:"application"},{extension:".rpm",mimeType:"application/x-rpm",description:"RPM软件包",category:"application"},{extension:".ttf",mimeType:"font/ttf",description:"TrueType字体",category:"font"},{extension:".otf",mimeType:"font/otf",description:"OpenType字体",category:"font"},{extension:".woff",mimeType:"font/woff",description:"Web字体格式",category:"font"},{extension:".woff2",mimeType:"font/woff2",description:"Web字体格式2",category:"font"},{extension:".eot",mimeType:"application/vnd.ms-fontobject",description:"Embedded OpenType字体",category:"font"}]),h=is(()=>{let e=d.value;if("all"!==o.value&&(e=e.filter(e=>e.category===o.value)),i.value){const t=i.value.toLowerCase();e=e.filter(e=>e.extension.toLowerCase().includes(t)||e.mimeType.toLowerCase().includes(t)||e.description.toLowerCase().includes(t))}return e}),p=is(()=>{const e=20*(l.value-1),t=e+20;return h.value.slice(e,t)}),f=is(()=>Math.ceil(h.value.length/20)),m=()=>{const e=c.find(e=>e.key===o.value);return e?`${e.name}类型`:"MIME类型"},g=e=>{e>=1&&e<=f.value&&(l.value=e)},y=()=>{a("back")};return nn(()=>{n(`共收录 ${d.value.length} 种文件类型`)}),pa([i,o],()=>{l.value=1}),(e,t)=>(Cr(),Tr("div",v4,[Or(hl,{title:s.value,onBack:y},null,8,["title"]),Mr("div",b4,[Or($X,{searchQuery:i.value,"onUpdate:searchQuery":t[0]||(t[0]=e=>i.value=e),placeholder:"搜索文件扩展名或MIME类型...",filters:u.value,activeFilter:o.value,"onUpdate:activeFilter":t[1]||(t[1]=e=>o.value=e)},null,8,["searchQuery","filters","activeFilter"]),Mr("div",w4,[Mr("div",x4,[Mr("h3",null,se(m()),1),Mr("div",k4,[Mr("span",_4,"共 "+se(h.value.length)+" 条记录",1)])]),Mr("div",E4,[Mr("table",C4,[t[5]||(t[5]=Mr("thead",null,[Mr("tr",null,[Mr("th",null,"文件扩展名"),Mr("th",null,"MIME类型"),Mr("th",null,"描述"),Mr("th",null,"操作")])],-1)),Mr("tbody",null,[(Cr(!0),Tr(br,null,yn(p.value,e=>(Cr(),Tr("tr",{key:e.extension,class:"mime-row"},[Mr("td",F4,[Mr("span",D4,se(e.extension),1)]),Mr("td",A4,[Mr("code",T4,se(e.mimeType),1)]),Mr("td",S4,[Mr("span",I4,se(e.description),1)]),Mr("td",N4,[Mr("button",{onClick:t=>(async e=>{try{await navigator.clipboard.writeText(e),n(`已复制MIME类型: ${e}`)}catch(t){console.error("复制失败:",t),r("复制失败,请手动复制")}})(e.mimeType),class:"copy-btn-table",title:"复制MIME类型"},[...t[4]||(t[4]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,P4)])]))),128))])])]),f.value>1?(Cr(),Tr("div",B4,[Mr("button",{onClick:t[2]||(t[2]=e=>g(l.value-1)),disabled:1===l.value,class:"page-btn"},[...t[6]||(t[6]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1)])],8,M4),Mr("span",O4,se(l.value)+" / "+se(f.value),1),Mr("button",{onClick:t[3]||(t[3]=e=>g(l.value+1)),disabled:l.value===f.value,class:"page-btn"},[...t[7]||(t[7]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m9 18 6-6-6-6"})],-1)])],8,U4)])):Rr("",!0)])]),Or(JX,{threshold:200,container:".converter-content"})]))}}),[["__scopeId","data-v-d9717f03"]]),L4={class:"dynasty-query"},R4={class:"dynasty-content"},z4={key:1,class:"timeline-section"},H4={class:"section-header"},$4={class:"section-info"},Y4={class:"info-text"},G4={class:"timeline-container"},W4={class:"timeline"},V4=["data-dynasty","onClick"],K4={class:"timeline-content"},J4={class:"dynasty-card"},q4={class:"dynasty-header"},Z4={class:"dynasty-main"},X4={class:"dynasty-name"},Q4={class:"dynasty-basic"},e6={class:"dynasty-years"},t6={class:"dynasty-duration"},a6={class:"dynasty-info"},n6={class:"dynasty-capital"},r6={class:"emperors-count"},s6={class:"dynasty-founder"},i6={class:"dynasty-description"},o6={key:2,class:"dynasty-detail"},l6={class:"detail-header"},c6={class:"detail-content"},u6={class:"detail-grid"},d6={class:"detail-card"},h6={class:"detail-item"},p6={class:"value"},f6={class:"detail-item"},m6={class:"value"},g6={class:"detail-item"},y6={class:"value"},v6={class:"detail-item"},b6={class:"value"},w6={class:"detail-item"},x6={class:"value"},k6={class:"detail-item"},_6={class:"value"},E6={class:"detail-item"},C6={class:"value"},F6={key:0,class:"achievements-section"},D6={class:"achievements-list"},A6={class:"detail-card"},T6={class:"dynasty-description"},S6={class:"emperors-card"},I6={class:"emperors-table-container"},N6={class:"emperors-table"},P6={class:"emperor-index"},B6={class:"emperor-title-table"},M6={class:"emperor-era-table"},O6={class:"emperor-name-table"},U6={class:"emperor-reign-table"},j6={class:"emperor-years-table"},L6={class:"emperor-birth-death"},R6={key:0},z6={key:1},H6={key:2},$6={class:"emperor-age"},Y6={key:0},G6={key:1},W6={key:2},V6=Wi($a({__name:"DynastyQuery",emits:["back"],setup(e){il("dynasty-query");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("dynasty-query"),a=St(""),n=St("all"),r=St(null),s=St(null),i=[{key:"all",name:"全部"},{key:"ancient",name:"上古"},{key:"imperial",name:"帝制"},{key:"modern",name:"近现代"}],o=is(()=>i.map(e=>({key:e.key,name:e.name,count:"all"===e.key?l.value.length:l.value.filter(t=>t.period===e.key).length}))),l=St([{name:"夏朝",startYear:"约前2070年",endYear:"约前1600年",duration:470,capital:"阳城、斟鄩、安邑等地",founder:"禹",lastEmperor:"桀",period:"ancient",description:'中国史书中记载的第一个奴隶制朝代,也是中国历史上第一个世袭王权的朝代。夏朝实际是由氏族为核心发展形成的国家,一般认为夏朝共传14代、17后(夏统治者在位称"后",去世后称"帝")。\n\n夏朝的兴起:夏是黄河中游地区一个历史悠久的部落联盟,由十多个姒姓部落所组成,夏后氏在这些部落中居于领导地位。尧、舜时期逐步强大,鲧治水失败被杀。鲧子禹,继承父业,并取得了治水的成功,得到众多部落首领支持拥护,成为诸夏族最高领导者。禹本来传位于益,但益却让位给禹子启,这被看作是中国历史上"家天下"的开始,标志着禅让制的结束。\n\n夏朝的发展:夏朝疆域西起河南省西部、山西省南部,东至河南省、山东省和河北省三省交界处,南达湖北省北部,北及河北省南部,地理中心是今河南偃师、登封、新密、禹州一带。夏朝时形成了完善的官僚制度、赋税制度,建立了军队、制定刑法、设置监狱,还建立了礼制。\n\n夏朝的衰亡:夏朝后期,第十七任君主桀即位后荒淫无度、暴虐无道,天下诸侯大多背弃桀而投靠商汤。商汤于是起兵讨伐桀,在鸣条之战将他击败后放逐到南方,夏朝自此灭亡。\n\n河南洛阳偃师二里头遗址的发现揭开了古老"夏都"的神秘面纱,为夏朝都城遗存已逐渐成为学界共识。夏朝历时约470年,共有17位君主。',emperors:[{name:"禹(Yǔ)",title:"夏禹",reignStart:"约前2070年",reignEnd:"约前2061年",reignYears:9,birth:"不详",death:"不详",age:"不详"},{name:"启(Qǐ)",title:"夏启",reignStart:"约前2061年",reignEnd:"约前2051年",reignYears:10,birth:"不详",death:"不详",age:"不详"},{name:"太康(Tài Kāng)",title:"夏太康",reignStart:"约前2051年",reignEnd:"约前2022年",reignYears:29,birth:"不详",death:"不详",age:"不详"},{name:"仲康(Zhòng Kāng)",title:"夏仲康",reignStart:"约前2022年",reignEnd:"约前2009年",reignYears:13,birth:"不详",death:"不详",age:"不详"},{name:"相(Xiāng)",title:"夏相",reignStart:"约前2009年",reignEnd:"约前1981年",reignYears:28,birth:"不详",death:"不详",age:"不详"},{name:"少康(Shào Kāng)",title:"夏少康",reignStart:"约前1981年",reignEnd:"约前1960年",reignYears:21,birth:"不详",death:"不详",age:"不详"},{name:"予(Yǔ)",title:"夏予",reignStart:"约前1960年",reignEnd:"约前1943年",reignYears:17,birth:"不详",death:"不详",age:"不详"},{name:"槐(Huái)",title:"夏槐",reignStart:"约前1943年",reignEnd:"约前1900年",reignYears:43,birth:"不详",death:"不详",age:"不详"},{name:"芒(Máng)",title:"夏芒",reignStart:"约前1900年",reignEnd:"约前1882年",reignYears:18,birth:"不详",death:"不详",age:"不详"},{name:"泄(Xiè)",title:"夏泄",reignStart:"约前1882年",reignEnd:"约前1866年",reignYears:16,birth:"不详",death:"不详",age:"不详"},{name:"不降(Bù Jiàng)",title:"夏不降",reignStart:"约前1866年",reignEnd:"约前1808年",reignYears:58,birth:"不详",death:"不详",age:"不详"},{name:"扃(Jiōng)",title:"夏扃",reignStart:"约前1808年",reignEnd:"约前1788年",reignYears:20,birth:"不详",death:"不详",age:"不详"},{name:"廑(Jǐn)",title:"夏廑",reignStart:"约前1788年",reignEnd:"约前1780年",reignYears:8,birth:"不详",death:"不详",age:"不详"},{name:"孔甲(Kǒng Jiǎ)",title:"夏孔甲",reignStart:"约前1780年",reignEnd:"约前1749年",reignYears:31,birth:"不详",death:"不详",age:"不详"},{name:"皋(Gāo)",title:"夏皋",reignStart:"约前1749年",reignEnd:"约前1738年",reignYears:11,birth:"不详",death:"不详",age:"不详"},{name:"发(Fā)",title:"夏发",reignStart:"约前1738年",reignEnd:"约前1729年",reignYears:9,birth:"不详",death:"不详",age:"不详"},{name:"桀(Jié)",title:"夏桀",reignStart:"约前1729年",reignEnd:"约前1600年",reignYears:129,birth:"不详",death:"不详",age:"不详"}],achievements:["建立了中国第一个世袭制王朝","创立了早期的国家制度","发展了青铜器制造技术","建立了历法制度"]},{name:"商朝",startYear:"约前1600年",endYear:"约前1046年",duration:554,capital:"亳(今河南商丘)",founder:"汤",lastEmperor:"纣王",period:"ancient",description:"中国历史上第二个王朝,也是中国第一个有直接文字记载同时期的王朝。商朝约存在于公元前1600年至公元前1046年,经历了三个大的阶段:先商、早商、晚商,前后相传17世31王。\n\n商朝处于奴隶社会时期,奴隶主贵族是统治阶级,形成了庞大的官僚统治机构和军队。商朝农业和手工业较发达,且有了原始的瓷器。商朝的手工业作坊规模很大,能制造出精美的青铜器,如司母戊鼎等。\n\n商朝文字系统比较成熟,其文字系统为甲骨文,这是中国最早的成熟文字系统。商朝历法也比较完备,采用干支纪日,一年分12个月。商朝的都城最初在亳(今河南商丘),后迁至殷(今河南安阳),因此商朝又称殷商。\n\n商朝的疆域,东到大海,西到陕西,南到长江流域,北到河北、山西一带。商朝历时约554年,共有30位君主。",emperors:[{name:"汤(Tāng)",title:"商汤王",reignStart:"约前1675年",reignEnd:"约前1646年",reignYears:29,birth:"不详",death:"不详",age:"不详"},{name:"太丁(Tài Dīng)",title:"商太丁",reignStart:"约前1646年",reignEnd:"约前1644年",reignYears:2,birth:"不详",death:"不详",age:"不详"},{name:"外丙(Wài Bǐng)",title:"商外丙",reignStart:"约前1644年",reignEnd:"约前1642年",reignYears:2,birth:"不详",death:"不详",age:"不详"},{name:"中壬(Zhōng Rén)",title:"商中壬",reignStart:"约前1642年",reignEnd:"约前1638年",reignYears:4,birth:"不详",death:"不详",age:"不详"},{name:"太甲(Tài Jiǎ)",title:"商太甲",reignStart:"约前1638年",reignEnd:"约前1615年",reignYears:23,birth:"不详",death:"不详",age:"不详"},{name:"沃丁(Wò Dīng)",title:"商沃丁",reignStart:"约前1615年",reignEnd:"约前1587年",reignYears:28,birth:"不详",death:"不详",age:"不详"},{name:"太庚(Tài Gēng)",title:"商太庚",reignStart:"约前1587年",reignEnd:"约前1562年",reignYears:25,birth:"不详",death:"不详",age:"不详"},{name:"小甲(Xiǎo Jiǎ)",title:"商小甲",reignStart:"约前1562年",reignEnd:"约前1545年",reignYears:17,birth:"不详",death:"不详",age:"不详"},{name:"雍己(Yōng Jǐ)",title:"商雍己",reignStart:"约前1545年",reignEnd:"约前1533年",reignYears:12,birth:"不详",death:"不详",age:"不详"},{name:"太戊(Tài Wù)",title:"商太戊",reignStart:"约前1533年",reignEnd:"约前1459年",reignYears:74,birth:"不详",death:"不详",age:"不详"},{name:"中丁(Zhōng Dīng)",title:"商中丁",reignStart:"约前1459年",reignEnd:"约前1450年",reignYears:9,birth:"不详",death:"不详",age:"不详"},{name:"外壬(Wài Rén)",title:"商外壬",reignStart:"约前1450年",reignEnd:"约前1435年",reignYears:15,birth:"不详",death:"不详",age:"不详"},{name:"河亶甲(Hé Dǎn Jiǎ)",title:"商河亶甲",reignStart:"约前1435年",reignEnd:"约前1427年",reignYears:8,birth:"不详",death:"不详",age:"不详"},{name:"祖乙(Zǔ Yǐ)",title:"商祖乙",reignStart:"约前1427年",reignEnd:"约前1409年",reignYears:18,birth:"不详",death:"不详",age:"不详"},{name:"祖辛(Zǔ Xīn)",title:"商祖辛",reignStart:"约前1409年",reignEnd:"约前1393年",reignYears:16,birth:"不详",death:"不详",age:"不详"},{name:"沃甲(Wò Jiǎ)",title:"商沃甲",reignStart:"约前1393年",reignEnd:"约前1368年",reignYears:25,birth:"不详",death:"不详",age:"不详"},{name:"祖丁(Zǔ Dīng)",title:"商祖丁",reignStart:"约前1368年",reignEnd:"约前1336年",reignYears:32,birth:"不详",death:"不详",age:"不详"},{name:"南庚(Nán Gēng)",title:"商南庚",reignStart:"约前1336年",reignEnd:"约前1308年",reignYears:28,birth:"不详",death:"不详",age:"不详"},{name:"阳甲(Yáng Jiǎ)",title:"商阳甲",reignStart:"约前1308年",reignEnd:"约前1301年",reignYears:7,birth:"不详",death:"不详",age:"不详"},{name:"盘庚(Pán Gēng)",title:"商盘庚",reignStart:"约前1301年",reignEnd:"约前1273年",reignYears:28,birth:"不详",death:"不详",age:"不详"},{name:"小辛(Xiǎo Xīn)",title:"商小辛",reignStart:"约前1273年",reignEnd:"约前1270年",reignYears:3,birth:"不详",death:"不详",age:"不详"},{name:"小乙(Xiǎo Yǐ)",title:"商小乙",reignStart:"约前1270年",reignEnd:"约前1251年",reignYears:19,birth:"不详",death:"不详",age:"不详"},{name:"武丁(Wǔ Dīng)",title:"商武丁",reignStart:"约前1251年",reignEnd:"约前1192年",reignYears:59,birth:"不详",death:"不详",age:"不详"},{name:"祖庚(Zǔ Gēng)",title:"商祖庚",reignStart:"约前1192年",reignEnd:"约前1181年",reignYears:11,birth:"不详",death:"不详",age:"不详"},{name:"祖甲(Zǔ Jiǎ)",title:"商祖甲",reignStart:"约前1181年",reignEnd:"约前1148年",reignYears:33,birth:"不详",death:"不详",age:"不详"},{name:"廪辛(Lǐn Xīn)",title:"商廪辛",reignStart:"约前1148年",reignEnd:"约前1142年",reignYears:6,birth:"不详",death:"不详",age:"不详"},{name:"康丁(Kāng Dīng)",title:"商康丁",reignStart:"约前1142年",reignEnd:"约前1134年",reignYears:8,birth:"不详",death:"不详",age:"不详"},{name:"武乙(Wǔ Yǐ)",title:"商武乙",reignStart:"约前1134年",reignEnd:"约前1115年",reignYears:19,birth:"不详",death:"不详",age:"不详"},{name:"文丁(Wén Dīng)",title:"商文丁",reignStart:"约前1115年",reignEnd:"约前1102年",reignYears:13,birth:"不详",death:"不详",age:"不详"},{name:"帝乙(Dì Yǐ)",title:"商帝乙",reignStart:"约前1102年",reignEnd:"约前1076年",reignYears:26,birth:"不详",death:"不详",age:"不详"},{name:"纣王(Zhòu Wáng)",title:"商纣王",reignStart:"约前1076年",reignEnd:"约前1046年",reignYears:30,birth:"不详",death:"不详",age:"不详"}],achievements:["发明了甲骨文,是中国最早的成熟文字","青铜器制造达到高峰","建立了完善的祭祀制度","发展了天文历法"]},{name:"西周",startYear:"约前1046年",endYear:"前771年",duration:275,capital:"镐京(今陕西西安)",founder:"周武王",lastEmperor:"周幽王",period:"ancient",description:'中国历史上第三个王朝,由周武王姬发建立。西周实行分封制、井田制和宗法制,奠定了中国古代政治制度的基础。\n\n政治上实行分封制,周王把土地和人民分封给诸侯,诸侯在自己的领地内享有统治权;经济上实行井田制,土地名义上属于周王,实际上由各级贵族占有;社会关系方面实行宗法制,以血缘关系为纽带。西周建立了完备的礼乐制度,强调等级秩序和道德规范。\n\n西周的疆域比商朝有所扩大,东到大海,西到甘肃,南到长江流域,北到辽宁。西周前期政治清明,经济繁荣,被称为"成康之治"。后期由于土地兼并严重,阶级矛盾尖锐,加上外族入侵,最终在公元前771年被犬戎攻破,周幽王被杀,西周灭亡。\n\n西周历时约275年,共有12位君主。',emperors:[{name:"姬发",title:"周武王",reignStart:"约前1046年",reignEnd:"约前1043年",reignYears:3,birth:"不详",death:"不详",age:"不详"},{name:"姬诵",title:"周成王",reignStart:"约前1042年",reignEnd:"约前1021年",reignYears:21,birth:"不详",death:"不详",age:"不详"},{name:"姬钊",title:"周康王",reignStart:"约前1020年",reignEnd:"约前996年",reignYears:24,birth:"不详",death:"不详",age:"不详"},{name:"姬瑕",title:"周昭王",reignStart:"约前995年",reignEnd:"约前977年",reignYears:18,birth:"不详",death:"不详",age:"不详"},{name:"姬满",title:"周穆王",reignStart:"约前976年",reignEnd:"约前922年",reignYears:54,birth:"不详",death:"不详",age:"不详"},{name:"姬繄扈(yī hù)",title:"周共王",reignStart:"约前922年",reignEnd:"约前900年",reignYears:22,birth:"不详",death:"不详",age:"不详"},{name:"姬囏(jiān)",title:"周懿王",reignStart:"约前899年",reignEnd:"约前892年",reignYears:7,birth:"不详",death:"不详",age:"不详"},{name:"姬辟方",title:"周孝王",reignStart:"约前891年",reignEnd:"约前886年",reignYears:5,birth:"不详",death:"不详",age:"不详"},{name:"姬燮(xiè)",title:"周夷王",reignStart:"约前885年",reignEnd:"约前878年",reignYears:7,birth:"不详",death:"不详",age:"不详"},{name:"姬胡",title:"周厉王",reignStart:"约前877年",reignEnd:"约前841年",reignYears:36,birth:"不详",death:"不详",age:"不详"},{name:"姬静",title:"周宣王",reignStart:"约前827年",reignEnd:"约前782年",reignYears:45,birth:"不详",death:"不详",age:"不详"},{name:"姬宫湦(shēng)",title:"周幽王",reignStart:"前781年",reignEnd:"前771年",reignYears:10,birth:"不详",death:"不详",age:"不详"}],achievements:["建立了分封制和宗法制","制定了礼乐制度","发展了农业和手工业",'创立了"天命"思想']},{name:"东周",startYear:"前770年",endYear:"前256年",duration:514,capital:"洛邑(今河南洛阳)",founder:"周平王",lastEmperor:"周赧王",period:"ancient",description:'西周灭亡后,周平王东迁洛邑建立的王朝,分为春秋和战国两个时期。东周时期,周王室衰微,诸侯争霸,礼崩乐坏,但却是中国思想文化最为繁荣的时代。\n\n春秋时期(公元前770年-公元前476年),先后出现了"春秋五霸":齐桓公、晋文公、楚庄王、吴王阖闾、越王勾践。战国时期(公元前475年-公元前221年),形成了"战国七雄":齐、楚、燕、韩、赵、魏、秦的格局。\n\n东周时期是中国古代思想文化的黄金时代,出现了孔子、老子、墨子、孟子、荀子、韩非子等思想家,形成了儒家、道家、墨家、法家等诸子百家争鸣的局面。这一时期铁器广泛使用,农业生产力大幅提高,商业和手工业也得到很大发展。\n\n东周最终被秦国所灭,结束了长达514年的历史,共有25位君主。',emperors:[{name:"姬宜臼(Yí Jiù)",title:"周平王",reignStart:"前770年",reignEnd:"前720年",reignYears:50,birth:"约前795年",death:"约前720年",age:"约75岁"},{name:"姬林(Lín)",title:"周桓王",reignStart:"前719年",reignEnd:"前697年",reignYears:22,birth:"约前743年",death:"约前697年",age:"约46岁"},{name:"姬佗(Tuó)",title:"周庄王",reignStart:"前696年",reignEnd:"前682年",reignYears:14,birth:"约前717年",death:"约前682年",age:"约35岁"},{name:"姬胡齐(Hú Qí)",title:"周釐王",reignStart:"前681年",reignEnd:"前677年",reignYears:4,birth:"约前705年",death:"约前677年",age:"约28岁"},{name:"姬阆(Láng)",title:"周惠王",reignStart:"前676年",reignEnd:"前652年",reignYears:24,birth:"约前700年",death:"约前652年",age:"约48岁"},{name:"姬郑(Zhèng)",title:"周襄王",reignStart:"前651年",reignEnd:"前619年",reignYears:32,birth:"约前683年",death:"约前619年",age:"约64岁"},{name:"姬壬臣(Rén Chén)",title:"周顷王",reignStart:"前618年",reignEnd:"前613年",reignYears:5,birth:"约前650年",death:"约前613年",age:"约37岁"},{name:"姬班(Bān)",title:"周匡王",reignStart:"前612年",reignEnd:"前607年",reignYears:5,birth:"约前645年",death:"约前607年",age:"约38岁"},{name:"姬瑜(Yú)",title:"周定王",reignStart:"前606年",reignEnd:"前586年",reignYears:20,birth:"约前633年",death:"约前586年",age:"约47岁"},{name:"姬夷(Yí)",title:"周简王",reignStart:"前585年",reignEnd:"前572年",reignYears:13,birth:"约前610年",death:"约前572年",age:"约38岁"},{name:"姬泄心(Xiè Xīn)",title:"周灵王",reignStart:"前571年",reignEnd:"前545年",reignYears:26,birth:"约前597年",death:"约前545年",age:"约52岁"},{name:"姬贵(Guì)",title:"周景王",reignStart:"前544年",reignEnd:"前521年",reignYears:23,birth:"约前571年",death:"约前521年",age:"约50岁"},{name:"姬猛(Měng)",title:"周悼王",reignStart:"前520年",reignEnd:"前520年",reignYears:"6个月",birth:"约前548年",death:"约前520年",age:"28岁"},{name:"姬丐(Gài)",title:"周敬王",reignStart:"前519年",reignEnd:"前476年",reignYears:43,birth:"约前547年",death:"约前476年",age:"约71岁"},{name:"姬仁(Rén)",title:"周元王",reignStart:"前475年",reignEnd:"前469年",reignYears:6,birth:"约前510年",death:"约前469年",age:"约41岁"},{name:"姬介(Jiè)",title:"周贞定王",reignStart:"前468年",reignEnd:"前441年",reignYears:27,birth:"约前495年",death:"约前441年",age:"约54岁"},{name:"姬去疾(Qù Jí)",title:"周哀王",reignStart:"前441年",reignEnd:"前441年",reignYears:"3个月",birth:"约前468年",death:"约前441年",age:"27岁"},{name:"姬叔(Shū)",title:"周思王",reignStart:"前441年",reignEnd:"前441年",reignYears:"5个月",birth:"约前465年",death:"约前441年",age:"24岁"},{name:"姬嵬(Wéi)",title:"周考王",reignStart:"前440年",reignEnd:"前426年",reignYears:14,birth:"约前467年",death:"约前426年",age:"约41岁"},{name:"姬午(Wǔ)",title:"周威烈王",reignStart:"前425年",reignEnd:"前402年",reignYears:23,birth:"约前450年",death:"约前402年",age:"约48岁"},{name:"姬骄(Jiāo)",title:"周安王",reignStart:"前401年",reignEnd:"前376年",reignYears:25,birth:"约前426年",death:"约前376年",age:"约50岁"},{name:"姬喜(Xǐ)",title:"周烈王",reignStart:"前375年",reignEnd:"前369年",reignYears:6,birth:"约前400年",death:"约前369年",age:"约31岁"},{name:"姬扁(Biǎn)",title:"周显王",reignStart:"前368年",reignEnd:"前321年",reignYears:47,birth:"约前395年",death:"约前321年",age:"约74岁"},{name:"姬定(Dìng)",title:"周慎靓王",reignStart:"前320年",reignEnd:"前315年",reignYears:5,birth:"约前350年",death:"约前315年",age:"约35岁"},{name:"姬延(Yán)",title:"周赧王",reignStart:"前314年",reignEnd:"前256年",reignYears:58,birth:"约前372年",death:"约前256年",age:"约116岁"}],achievements:["春秋战国时期诸子百家争鸣","铁器的广泛使用","商业和手工业的发展","军事技术的进步"]},{name:"秦朝",startYear:"前221年",endYear:"前206年",duration:15,capital:"咸阳(今陕西咸阳)",founder:"秦始皇",lastEmperor:"秦二世",period:"imperial",description:'中国历史上第一个统一的中央集权制帝国,由秦始皇嬴政建立。秦朝结束了春秋战国以来长期分裂割据的局面,建立了中国历史上第一个统一的多民族的中央集权国家。\n\n东周末期,战国七雄争霸,秦国通过商鞅变法逐渐强大。秦始皇继位后,采用"远交近攻"的策略,先后灭掉了韩、赵、魏、楚、燕、齐六国,于公元前221年统一了中国,结束了长达500多年的分裂局面。\n\n秦始皇统一六国后,在政治上建立了皇帝制度和三公九卿制,在地方实行郡县制;在经济上统一货币、度量衡;在文化上统一文字,推行小篆;在军事上修筑万里长城,抵御北方匈奴。秦朝还修建了大量的道路和水利工程,如直道、灵渠等。\n\n但秦朝实行严刑峻法,赋税繁重,徭役频繁,激起了人民的反抗。秦始皇死后,秦二世胡亥继位,政治更加黑暗,最终爆发了陈胜吴广起义,各地纷纷响应,秦朝迅速灭亡。\n\n秦朝虽然存在时间很短,仅历时15年,但其建立的政治制度对后世产生了深远影响,共有3位皇帝。',emperors:[{name:"嬴政",title:"秦始皇帝",reignStart:"前221年",reignEnd:"前210年",reignYears:11,birth:"前259年",death:"前210年",age:"49岁"},{name:"嬴胡亥",title:"秦二世皇帝",reignStart:"前210年",reignEnd:"前207年",reignYears:3,birth:"前230年",death:"前207年",age:"23岁"},{name:"嬴子婴",title:"秦王子婴",reignStart:"前207年",reignEnd:"前206年",reignYears:1,birth:"前225年",death:"前206年",age:"19岁"}],achievements:["统一六国,建立中央集权制","统一文字、货币、度量衡","修建万里长城","建立郡县制"]},{name:"西汉",startYear:"前202年",endYear:"8年",duration:210,capital:"长安(今陕西西安)",founder:"汉高祖刘邦",lastEmperor:"汉平帝",period:"imperial",description:'中国历史上重要的统一王朝,由汉高祖刘邦建立。西汉继承了秦朝的政治制度,但在具体政策上有所调整,实行"无为而治"和"休养生息"的政策。\n\n西汉前期出现了"文景之治"的盛世局面,经济繁荣,人口增长。汉武帝时期,国力达到鼎盛,对外开拓疆土,派张骞出使西域,开辟了丝绸之路;对内加强中央集权,推行"推恩令"削弱诸侯王势力,设立刺史制度监察地方。\n\n西汉时期儒学成为正统思想,董仲舒提出"罢黜百家,独尊儒术"。西汉的疆域空前辽阔,东到朝鲜,西到中亚,南到越南,北到蒙古高原。西汉后期由于土地兼并严重,外戚专权,政治腐败,最终被王莽篡夺,建立新朝。\n\n西汉历时210年,为中华民族的形成和发展奠定了重要基础,共有15位皇帝。',emperors:[{name:"刘邦",title:"汉高祖",reignStart:"前202年",reignEnd:"前195年",reignYears:7,eraName:"汉",birth:"前256年",death:"前195年",age:"61岁"},{name:"刘盈",title:"汉惠帝",reignStart:"前194年",reignEnd:"前188年",reignYears:6,eraName:"汉",birth:"前211年",death:"前188年",age:"23岁"},{name:"刘恭",title:"汉前少帝",reignStart:"前188年",reignEnd:"前184年",reignYears:4,eraName:"汉",birth:"前188年",death:"前184年",age:"4岁"},{name:"刘弘",title:"汉后少帝",reignStart:"前184年",reignEnd:"前180年",reignYears:4,eraName:"汉",birth:"前188年",death:"前180年",age:"8岁"},{name:"刘恒",title:"汉文帝",reignStart:"前180年",reignEnd:"前157年",reignYears:23,eraName:"汉",birth:"前202年",death:"前157年",age:"45岁"},{name:"刘启",title:"汉景帝",reignStart:"前156年",reignEnd:"前141年",reignYears:15,eraName:"汉",birth:"前188年",death:"前141年",age:"47岁"},{name:"刘彻",title:"汉武帝",reignStart:"前140年",reignEnd:"前87年",reignYears:53,eraName:"建元、元光、元朔、元狩、元鼎、元封、太初、天汉、太始、征和、后元",birth:"前156年",death:"前87年",age:"69岁"},{name:"刘弗陵",title:"汉昭帝",reignStart:"前86年",reignEnd:"前74年",reignYears:12,eraName:"始元、元凤、元平",birth:"前94年",death:"前74年",age:"20岁"},{name:"刘贺",title:"汉废帝",reignStart:"前74年",reignEnd:"前74年",reignYears:"27天",eraName:"汉",birth:"前92年",death:"前59年",age:"33岁"},{name:"刘询",title:"汉宣帝",reignStart:"前73年",reignEnd:"前49年",reignYears:24,eraName:"本始、地节、元康、神爵、五凤、甘露、黄龙",birth:"前74年",death:"前49年",age:"25岁"},{name:"刘奭",title:"汉元帝",reignStart:"前48年",reignEnd:"前33年",reignYears:15,eraName:"初元、永光、建昭、竟宁",birth:"前75年",death:"前33年",age:"42岁"},{name:"刘骜",title:"汉成帝",reignStart:"前32年",reignEnd:"前7年",reignYears:25,eraName:"建始、河平、阳朔、鸿嘉、永始、元延、绥和",birth:"前51年",death:"前7年",age:"44岁"},{name:"刘欣",title:"汉哀帝",reignStart:"前6年",reignEnd:"前1年",reignYears:5,eraName:"建平、太初元将、元寿",birth:"前27年",death:"前1年",age:"26岁"},{name:"刘衎",title:"汉平帝",reignStart:"1年",reignEnd:"5年",reignYears:4,eraName:"元始",birth:"前9年",death:"5年",age:"14岁"},{name:"刘婴",title:"孺子婴",reignStart:"6年",reignEnd:"8年",reignYears:2,eraName:"居摄、初始",birth:"3年",death:"25年",age:"22岁"}],achievements:["开辟丝绸之路",'推行"文景之治"',"建立太学,重视教育","发展农业和手工业"]},{name:"新朝",startYear:"8年",endYear:"23年",duration:15,capital:"长安(今陕西西安)",founder:"王莽",lastEmperor:"王莽",period:"imperial",description:"王莽篡汉建立的短暂王朝,是中国历史上第一个通过和平方式取得政权的朝代。王莽是西汉外戚,通过一系列政治手段逐步掌握大权,最终在公元8年建立新朝。\n\n王莽推行激进的改革政策,包括土地国有化、货币制度改革、官制改革等,试图恢复周朝的政治制度。他将私有土地收归国有,重新分配给农民;多次改革货币制度,造成经济混乱;频繁更改官制和地名,引起社会动荡。\n\n王莽的改革虽然出发点是好的,但脱离实际,加上天灾频繁,最终引发了绿林、赤眉等农民起义。公元23年,王莽在长安被杀,新朝灭亡。\n\n新朝历时15年,只有王莽1位皇帝。",emperors:[{name:"王莽",title:"新始祖",reignStart:"8年",reignEnd:"23年",reignYears:15,eraName:"始建国、天凤、地皇",birth:"前45年",death:"23年",age:"68岁"}],achievements:["推行土地国有化","货币制度改革","官制改革","推广儒家经典"]},{name:"东汉",startYear:"25年",endYear:"220年",duration:195,capital:"洛阳(今河南洛阳)",founder:"汉光武帝",lastEmperor:"汉献帝",period:"imperial",description:'汉朝的延续,由汉光武帝刘秀建立。新朝灭亡后,天下大乱,各地豪强割据。刘秀是汉景帝之子刘章的后代,出身于南阳豪族。他起初参加绿林起义,后来脱离绿林军,独立发展势力。刘秀利用"柔远人,优待降者"的政策,逐步统一了中原地区,于25年建立东汉,定都洛阳。\n\n东汉前期政治清明,经济繁荣,出现了"光武中兴"和"明章之治"等盛世局面。这一时期科技文化继续发展,出现了造纸术等重要发明,蔡伦改进了造纸技术;张衡发明了地动仪;医学家张仲景著有《伤寒杂病论》。\n\n东汉时期佛教正式传入中国,对中国文化产生了深远影响。丝绸之路继续繁荣,中外文化交流频繁。东汉的疆域基本继承了西汉的版图,并在西域设立了西域都护府。\n\n东汉后期外戚宦官专权,政治腐败,黄巾起义爆发后,东汉名存实亡,最终被曹魏取代。东汉历时195年,共有14位皇帝。',emperors:[{name:"刘秀",title:"汉光武帝",reignStart:"25年",reignEnd:"57年",reignYears:32,eraName:"建武、建武中元",birth:"前6年",death:"57年",age:"63岁"},{name:"刘庄",title:"汉明帝",reignStart:"57年",reignEnd:"75年",reignYears:18,eraName:"永平",birth:"28年",death:"75年",age:"47岁"},{name:"刘炟(Dá)",title:"汉章帝",reignStart:"75年",reignEnd:"88年",reignYears:13,eraName:"建初、元和、章和",birth:"56年",death:"88年",age:"32岁"},{name:"刘肇(Zhào)",title:"汉和帝",reignStart:"88年",reignEnd:"106年",reignYears:18,eraName:"永元、元兴",birth:"79年",death:"106年",age:"27岁"},{name:"刘隆(Lóng)",title:"汉殇帝",reignStart:"106年",reignEnd:"106年",reignYears:"8个月",eraName:"延平",birth:"105年",death:"106年",age:"1岁"},{name:"刘祜(Hù)",title:"汉安帝",reignStart:"106年",reignEnd:"125年",reignYears:19,eraName:"永初、元初、永宁、建光、延光",birth:"94年",death:"125年",age:"31岁"},{name:"刘懿(Yì)",title:"汉前少帝",reignStart:"125年",reignEnd:"125年",reignYears:"7个月",birth:"115年",death:"125年",age:"10岁"},{name:"刘保",title:"汉顺帝",reignStart:"125年",reignEnd:"144年",reignYears:19,eraName:"永建、阳嘉、永和、汉安、建康",birth:"115年",death:"144年",age:"29岁"},{name:"刘炳",title:"汉冲帝",reignStart:"144年",reignEnd:"145年",reignYears:"5个月",eraName:"永嘉",birth:"143年",death:"145年",age:"2岁"},{name:"刘缵(Zuǎn)",title:"汉质帝",reignStart:"145年",reignEnd:"146年",reignYears:1,eraName:"本初",birth:"138年",death:"146年",age:"8岁"},{name:"刘志",title:"汉桓帝",reignStart:"146年",reignEnd:"167年",reignYears:21,eraName:"建和、和平、元嘉、永兴、永寿、延熹、永康",birth:"132年",death:"167年",age:"35岁"},{name:"刘宏",title:"汉灵帝",reignStart:"167年",reignEnd:"189年",reignYears:22,eraName:"建宁、熹平、光和、中平",birth:"156年",death:"189年",age:"33岁"},{name:"刘辩",title:"汉后少帝",reignStart:"189年",reignEnd:"189年",reignYears:"4个月",eraName:"光熹、昭宁",birth:"175年",death:"190年",age:"15岁"},{name:"刘协",title:"汉献帝",reignStart:"189年",reignEnd:"220年",reignYears:31,eraName:"初平、兴平、建安、延康",birth:"181年",death:"234年",age:"53岁"}],achievements:["蔡伦改进造纸术","张衡发明地动仪","医学著作《伤寒杂病论》","佛教传入中国"]},{name:"三国时期",startYear:"220年",endYear:"280年",duration:60,capital:"洛阳/成都/建业",founder:"曹丕/刘备/孙权",lastEmperor:"曹奂/刘禅/孙皓",period:"imperial",description:"东汉末年,中央权力衰落,地方豪强割据。曹操起兵于北方,逐步统一中原,其子曹丕于220年建立魏国。同年,刘备在蜀地建立蜀汉,自称汉室正统。孙权继承父亲孙策的基业,占据江南,于229年建立吴国。三国鼎立的局面由此形成。\n\n三国时期战争频繁,著名的战役有官渡之战、赤壁之战、夷陵之战等。这一时期涌现出了诸葛亮、司马懿、周瑜、陆逊等杰出的政治家和军事家。三国文化对后世影响深远,《三国演义》等文学作品使这一时期的人物和故事家喻户晓。\n\n魏国由曹操奠基,曹丕建立,定都洛阳,占据中原地区,国力最强;蜀国由刘备建立,定都成都,占据四川盆地,以恢复汉室为号召;吴国由孙权建立,定都建业(今南京),占据江南地区,善于水战。\n\n最终蜀国最先灭亡(263年被司马昭灭),吴国被西晋所灭(280年),三国归晋。三国时期历时60年,魏国5位皇帝,蜀国2位皇帝,吴国4位皇帝。",emperors:[{name:"曹丕",title:"魏文帝",reignStart:"220年",reignEnd:"226年",reignYears:6,eraName:"黄初",birth:"187年",death:"226年",age:"39岁"},{name:"曹叡(Ruì)",title:"魏明帝",reignStart:"226年",reignEnd:"239年",reignYears:13,eraName:"太和、青龙、景初",birth:"204年",death:"239年",age:"35岁"},{name:"曹芳",title:"魏齐王",reignStart:"239年",reignEnd:"254年",reignYears:15,eraName:"正始、嘉平",birth:"232年",death:"274年",age:"42岁"},{name:"曹髦(Máo)",title:"魏高贵乡公",reignStart:"254年",reignEnd:"260年",reignYears:6,eraName:"正元、甘露",birth:"241年",death:"260年",age:"19岁"},{name:"曹奂(Huàn)",title:"魏元帝",reignStart:"260年",reignEnd:"265年",reignYears:5,eraName:"景元、咸熙",birth:"246年",death:"302年",age:"56岁"},{name:"刘备",title:"蜀昭烈帝",reignStart:"221年",reignEnd:"223年",reignYears:2,eraName:"章武",birth:"161年",death:"223年",age:"62岁"},{name:"刘禅(Shàn)",title:"蜀后主",reignStart:"223年",reignEnd:"263年",reignYears:40,eraName:"建兴、延熙、景耀、炎兴",birth:"207年",death:"271年",age:"64岁"},{name:"孙权",title:"吴大帝",reignStart:"229年",reignEnd:"252年",reignYears:23,eraName:"黄龙、嘉禾、赤乌、太元、神凤",birth:"182年",death:"252年",age:"70岁"},{name:"孙亮",title:"吴会稽王",reignStart:"252年",reignEnd:"258年",reignYears:6,eraName:"建兴、五凤、太平",birth:"243年",death:"260年",age:"17岁"},{name:"孙休",title:"吴景帝",reignStart:"258年",reignEnd:"264年",reignYears:6,eraName:"永安",birth:"235年",death:"264年",age:"29岁"},{name:"孙皓(Hào)",title:"吴末帝",reignStart:"264年",reignEnd:"280年",reignYears:16,eraName:"元兴、甘露、宝鼎、建衡、凤凰、天册、天玺、天纪",birth:"242年",death:"284年",age:"42岁"}],achievements:["三国文化繁荣","军事技术发展","农业生产恢复","文学艺术成就"]},{name:"西晋",startYear:"266年",endYear:"316年",duration:50,capital:"洛阳(今河南洛阳)",founder:"晋武帝司马炎",lastEmperor:"晋愍帝",period:"imperial",description:'司马氏建立的王朝,短暂统一全国后因内乱和外族入侵而衰落。西晋由司马炎建立,他是司马懿的孙子,通过"高平陵之变"等政治斗争,司马氏逐步掌握了曹魏政权。\n\n西晋建立后,于280年灭吴,结束了三国分裂局面,实现了全国统一。西晋前期政治相对稳定,经济得到恢复和发展。但西晋实行分封制,分封了大量宗室为王,为后来的内乱埋下了隐患。\n\n西晋后期爆发了"八王之乱",宗室诸王为争夺权力而相互攻伐,持续16年,严重削弱了西晋的国力。同时,北方游牧民族趁机南下,发生了"五胡乱华",西晋政权岌岌可危。\n\n最终,匈奴人刘渊建立汉国(后称前赵),攻陷洛阳,俘虏晋怀帝;后又攻陷长安,俘虏晋愍帝,西晋灭亡。西晋历时50年,共有4位皇帝。',emperors:[{name:"司马炎",title:"晋武帝",reignStart:"266年",reignEnd:"290年",reignYears:24,eraName:"泰始、咸宁、太康、太熙",birth:"236年",death:"290年",age:"54岁"},{name:"司马衷",title:"晋惠帝",reignStart:"290年",reignEnd:"307年",reignYears:17,eraName:"永熙、永平、元康、永康、永宁、太安、永兴、光熙",birth:"259年",death:"307年",age:"48岁"},{name:"司马炽",title:"晋怀帝",reignStart:"307年",reignEnd:"313年",reignYears:6,eraName:"永嘉",birth:"284年",death:"313年",age:"29岁"},{name:"司马邺",title:"晋愍帝",reignStart:"313年",reignEnd:"316年",reignYears:3,eraName:"建兴",birth:"300年",death:"318年",age:"18岁"}],achievements:["统一三国","经济恢复发展","文化艺术繁荣","法律制度完善"]},{name:"东晋",startYear:"317年",endYear:"420年",duration:103,capital:"建康(今江苏南京)",founder:"晋元帝",lastEmperor:"晋恭帝",period:"imperial",description:'西晋灭亡后,司马氏皇族后裔在南方建立的政权,与北方十六国并立。司马睿是西晋皇帝司马炎的儿子,属于皇族直系。西晋灭亡时,司马睿在南方拥有兵权和势力,他联合南方士族,于317年在建康(今南京)建立东晋,成为中原士族南迁的领导者。\n\n东晋前期,在王导、谢安等名臣辅佐下,政治相对稳定。著名的淝水之战中,东晋以少胜多,击败了前秦苻坚的百万大军,保住了江南半壁江山。这一时期文化艺术繁荣,出现了王羲之、顾恺之等杰出的艺术家。\n\n东晋时期佛教和道教都得到很大发展,佛教寺院遍布江南,道教理论也日趋完善。士族门阀制度在这一时期达到鼎盛,形成了"王谢"等著名的门阀世族。\n\n东晋后期,门阀政治腐朽,皇权衰微,军阀割据严重。最终刘裕崛起,废除晋恭帝,建立刘宋,东晋灭亡。东晋历时103年,共有11位皇帝。',emperors:[{name:"司马睿",title:"晋元帝",reignStart:"317年",reignEnd:"323年",reignYears:6,eraName:"建武、大兴",birth:"275年",death:"323年",age:"48岁"},{name:"司马绍",title:"晋明帝",reignStart:"323年",reignEnd:"325年",reignYears:2,eraName:"太宁",birth:"298年",death:"325年",age:"27岁"},{name:"司马衍",title:"晋成帝",reignStart:"325年",reignEnd:"342年",reignYears:17,eraName:"咸和、咸康",birth:"321年",death:"342年",age:"21岁"},{name:"司马岳",title:"晋康帝",reignStart:"342年",reignEnd:"344年",reignYears:2,eraName:"建元",birth:"322年",death:"344年",age:"22岁"},{name:"司马聃(dān)",title:"晋穆帝",reignStart:"344年",reignEnd:"361年",reignYears:17,eraName:"永和、升平",birth:"343年",death:"361年",age:"18岁"},{name:"司马丕",title:"晋哀帝",reignStart:"361年",reignEnd:"365年",reignYears:4,eraName:"隆和、兴宁",birth:"341年",death:"365年",age:"24岁"},{name:"司马奕",title:"晋废帝",reignStart:"365年",reignEnd:"371年",reignYears:6,eraName:"太和",birth:"342年",death:"386年",age:"44岁"},{name:"司马昱(yù)",title:"晋简文帝",reignStart:"371年",reignEnd:"372年",reignYears:1,eraName:"咸安",birth:"320年",death:"372年",age:"52岁"},{name:"司马曜",title:"晋孝武帝",reignStart:"372年",reignEnd:"396年",reignYears:24,eraName:"宁康、太元",birth:"361年",death:"396年",age:"35岁"},{name:"司马德宗",title:"晋安帝",reignStart:"396年",reignEnd:"418年",reignYears:22,eraName:"隆安、元兴、义熙",birth:"382年",death:"418年",age:"36岁"},{name:"司马德文",title:"晋恭帝",reignStart:"418年",reignEnd:"420年",reignYears:2,eraName:"元熙",birth:"406年",death:"421年",age:"15岁"}],achievements:["保持汉族政权","文化艺术发展","佛教道教兴盛","书法绘画成就"]},{name:"十六国",startYear:"304年",endYear:"439年",duration:135,capital:"多个都城",founder:"刘渊等",lastEmperor:"沮渠牧犍等",period:"imperial",description:"西晋末年至北魏统一北方期间,北方地区由各少数民族建立的十六个主要政权的总称,是中国历史上重要的民族大融合时期。\n\n十六国包括:前赵(汉赵)、后赵、前燕、后燕、南燕、北燕、前秦、后秦、西秦、前凉、后凉、南凉、西凉、北凉、夏、成汉。各政权疆域大小不一,存在时间长短不等,相互征伐不断,但促进了民族融合。\n\n这一时期为后来北魏的统一奠定了基础,也为中华民族的形成和发展做出了重要贡献。十六国时期的民族融合,为隋唐时期的繁荣创造了条件。",emperors:[{name:"刘渊",title:"汉光文帝",reignStart:"304年",reignEnd:"310年",reignYears:6,eraName:"元熙、永凤、河瑞",birth:"251年",death:"310年",age:"59岁",dynasty:"前赵(汉赵)"},{name:"刘和",title:"汉废帝",reignStart:"310年",reignEnd:"310年",reignYears:"数月",eraName:"河瑞",birth:"不详",death:"310年",age:"不详",dynasty:"前赵(汉赵)"},{name:"刘聪",title:"汉昭武帝",reignStart:"310年",reignEnd:"318年",reignYears:8,eraName:"光兴、嘉平、建元、麟嘉",birth:"285年",death:"318年",age:"33岁",dynasty:"前赵(汉赵)"},{name:"刘粲",title:"汉隐帝",reignStart:"318年",reignEnd:"318年",reignYears:"数月",eraName:"汉昌",birth:"不详",death:"318年",age:"不详",dynasty:"前赵(汉赵)"},{name:"刘曜",title:"前赵光初帝",reignStart:"318年",reignEnd:"329年",reignYears:11,eraName:"光初、建光",birth:"285年",death:"329年",age:"44岁",dynasty:"前赵(汉赵)"},{name:"石勒",title:"后赵武帝",reignStart:"319年",reignEnd:"333年",reignYears:14,eraName:"太和、建平",birth:"274年",death:"333年",age:"59岁",dynasty:"后赵"},{name:"石弘",title:"后赵成帝",reignStart:"333年",reignEnd:"334年",reignYears:1,eraName:"延熙",birth:"不详",death:"334年",age:"不详",dynasty:"后赵"},{name:"石虎",title:"后赵武帝(称帝)",reignStart:"334年",reignEnd:"349年",reignYears:15,eraName:"建武、太宁",birth:"295年",death:"349年",age:"54岁",dynasty:"后赵"},{name:"石世",title:"后赵废帝",reignStart:"349年",reignEnd:"349年",reignYears:"33天",eraName:"太宁",birth:"不详",death:"349年",age:"不详",dynasty:"后赵"},{name:"石遵",title:"后赵义阳王",reignStart:"349年",reignEnd:"349年",reignYears:"183天",eraName:"青龙",birth:"不详",death:"349年",age:"不详",dynasty:"后赵"},{name:"石鉴",title:"后赵新兴王",reignStart:"349年",reignEnd:"350年",reignYears:1,eraName:"青龙",birth:"不详",death:"350年",age:"不详",dynasty:"后赵"},{name:"石祗",title:"后赵武宁王",reignStart:"350年",reignEnd:"351年",reignYears:1,eraName:"永宁",birth:"不详",death:"351年",age:"不详",dynasty:"后赵"},{name:"慕容皝",title:"前燕文明帝",reignStart:"337年",reignEnd:"348年",reignYears:11,eraName:"延兴",birth:"297年",death:"348年",age:"51岁",dynasty:"前燕"},{name:"慕容儁",title:"前燕景昭帝",reignStart:"349年",reignEnd:"360年",reignYears:11,eraName:"元玺",birth:"319年",death:"360年",age:"41岁",dynasty:"前燕"},{name:"慕容暐",title:"前燕幽帝",reignStart:"360年",reignEnd:"370年",reignYears:10,eraName:"建熙",birth:"350年",death:"384年",age:"34岁",dynasty:"前燕"},{name:"慕容垂",title:"后燕成武帝",reignStart:"384年",reignEnd:"396年",reignYears:12,eraName:"燕元、建兴",birth:"326年",death:"396年",age:"70岁",dynasty:"后燕"},{name:"慕容宝",title:"后燕惠愍帝",reignStart:"396年",reignEnd:"398年",reignYears:2,eraName:"永康",birth:"355年",death:"398年",age:"43岁",dynasty:"后燕"},{name:"慕容盛",title:"后燕昭武帝",reignStart:"398年",reignEnd:"401年",reignYears:3,eraName:"建平",birth:"373年",death:"401年",age:"28岁",dynasty:"后燕"},{name:"慕容熙",title:"后燕昭文帝",reignStart:"401年",reignEnd:"407年",reignYears:6,eraName:"光始",birth:"385年",death:"407年",age:"22岁",dynasty:"后燕"},{name:"苻健",title:"前秦景明帝",reignStart:"351年",reignEnd:"355年",reignYears:4,eraName:"皇始",birth:"317年",death:"355年",age:"38岁",dynasty:"前秦"},{name:"苻生",title:"前秦厉王",reignStart:"355年",reignEnd:"357年",reignYears:2,eraName:"寿光",birth:"335年",death:"357年",age:"22岁",dynasty:"前秦"},{name:"苻坚",title:"前秦宣昭帝",reignStart:"357年",reignEnd:"385年",reignYears:28,eraName:"永兴、甘露、建元",birth:"338年",death:"385年",age:"47岁",dynasty:"前秦"},{name:"苻丕",title:"前秦哀平帝",reignStart:"385年",reignEnd:"386年",reignYears:1,eraName:"太安",birth:"不详",death:"386年",age:"不详",dynasty:"前秦"},{name:"苻登",title:"前秦太宗",reignStart:"386年",reignEnd:"394年",reignYears:8,eraName:"太初",birth:"不详",death:"394年",age:"不详",dynasty:"前秦"},{name:"姚苌",title:"后秦武昭帝",reignStart:"384年",reignEnd:"393年",reignYears:9,eraName:"白雀、建初",birth:"331年",death:"393年",age:"62岁",dynasty:"后秦"},{name:"姚兴",title:"后秦文桓帝",reignStart:"394年",reignEnd:"416年",reignYears:22,eraName:"皇初、弘始",birth:"366年",death:"416年",age:"50岁",dynasty:"后秦"},{name:"姚泓",title:"后秦末主",reignStart:"416年",reignEnd:"417年",reignYears:1,eraName:"永和",birth:"不详",death:"417年",age:"不详",dynasty:"后秦"},{name:"李特",title:"成汉景帝",reignStart:"304年",reignEnd:"304年",reignYears:1,eraName:"建初",birth:"不详",death:"304年",age:"不详",dynasty:"成汉"},{name:"李流",title:"成汉始祖",reignStart:"304年",reignEnd:"304年",reignYears:1,eraName:"建兴",birth:"不详",death:"304年",age:"不详",dynasty:"成汉"},{name:"李雄",title:"成汉武帝",reignStart:"304年",reignEnd:"334年",reignYears:30,eraName:"建兴、晏平、玉衡、玉恒、建元",birth:"274年",death:"334年",age:"60岁",dynasty:"成汉"},{name:"李班",title:"成汉戾太子",reignStart:"334年",reignEnd:"334年",reignYears:"数月",eraName:"玉恒",birth:"不详",death:"334年",age:"不详",dynasty:"成汉"},{name:"李期",title:"成汉幽公",reignStart:"334年",reignEnd:"338年",reignYears:4,eraName:"玉恒、建兴",birth:"不详",death:"338年",age:"不详",dynasty:"成汉"},{name:"李寿",title:"成汉昭文帝",reignStart:"338年",reignEnd:"343年",reignYears:5,eraName:"汉兴",birth:"不详",death:"343年",age:"不详",dynasty:"成汉"},{name:"李势",title:"成汉归义侯",reignStart:"343年",reignEnd:"347年",reignYears:4,eraName:"太和",birth:"不详",death:"361年",age:"不详",dynasty:"成汉"},{name:"段业",title:"北凉建国公",reignStart:"397年",reignEnd:"401年",reignYears:4,eraName:"神玺",birth:"不详",death:"401年",age:"不详",dynasty:"北凉"},{name:"沮渠蒙逊",title:"北凉武宣王",reignStart:"401年",reignEnd:"433年",reignYears:32,eraName:"永安、玄始、承玄、义和、真兴",birth:"368年",death:"433年",age:"65岁",dynasty:"北凉"},{name:"沮渠牧犍",title:"北凉哀王",reignStart:"433年",reignEnd:"439年",reignYears:6,eraName:"承和、胜光",birth:"不详",death:"447年",age:"不详",dynasty:"北凉"}],achievements:["促进民族融合","文化交流发展","军事技术进步","为北魏统一奠基"]},{name:"南北朝",startYear:"420年",endYear:"589年",duration:169,capital:"建康/平城/洛阳",founder:"刘裕等",lastEmperor:"陈叔宝/杨坚",period:"imperial",description:"中国历史上的分裂时期,南朝包括宋、齐、梁、陈四个朝代,北朝包括北魏、东魏、西魏、北齐、北周五个朝代。这一时期民族融合加速,文化艺术繁荣。\n\n南朝政权都建都建康(今南京),主要由汉族士族建立和统治,保持了汉族的传统文化;北朝政权主要由鲜卑族等少数民族建立,但逐渐汉化,促进了民族融合。\n\n这一时期佛教得到很大发展,出现了许多著名的佛教石窟和寺院;文学艺术也很繁荣,出现了《文心雕龙》、《诗品》等重要著作。科技方面,祖冲之计算出圆周率,贾思勰著《齐民要术》。\n\n南北朝的分裂局面最终被隋朝统一,结束了长达169年的分裂状态。",emperors:[{name:"刘裕",title:"宋武帝",reignStart:"420年",reignEnd:"422年",reignYears:2,eraName:"永初",birth:"363年",death:"422年",age:"59岁",dynasty:"南朝宋"},{name:"刘义符",title:"宋少帝",reignStart:"422年",reignEnd:"424年",reignYears:2,eraName:"景平",birth:"406年",death:"424年",age:"18岁",dynasty:"南朝宋"},{name:"刘义隆",title:"宋文帝",reignStart:"424年",reignEnd:"453年",reignYears:29,eraName:"元嘉",birth:"407年",death:"453年",age:"46岁",dynasty:"南朝宋"},{name:"刘骏",title:"宋孝武帝",reignStart:"453年",reignEnd:"464年",reignYears:11,eraName:"孝建、大明",birth:"430年",death:"464年",age:"34岁",dynasty:"南朝宋"},{name:"刘子业",title:"宋前废帝",reignStart:"464年",reignEnd:"465年",reignYears:1,eraName:"永光、景和",birth:"449年",death:"465年",age:"16岁",dynasty:"南朝宋"},{name:"刘彧",title:"宋明帝",reignStart:"465年",reignEnd:"472年",reignYears:7,eraName:"泰始",birth:"439年",death:"472年",age:"33岁",dynasty:"南朝宋"},{name:"刘昱",title:"宋后废帝",reignStart:"472年",reignEnd:"477年",reignYears:5,eraName:"元徽",birth:"463年",death:"477年",age:"14岁",dynasty:"南朝宋"},{name:"刘准",title:"宋顺帝",reignStart:"477年",reignEnd:"479年",reignYears:2,eraName:"升明",birth:"467年",death:"479年",age:"12岁",dynasty:"南朝宋"},{name:"萧道成",title:"齐高帝",reignStart:"479年",reignEnd:"482年",reignYears:3,eraName:"建元",birth:"427年",death:"482年",age:"55岁",dynasty:"南朝齐"},{name:"萧赜",title:"齐武帝",reignStart:"482年",reignEnd:"493年",reignYears:11,eraName:"永明",birth:"440年",death:"493年",age:"53岁",dynasty:"南朝齐"},{name:"萧昭业",title:"齐郁林王",reignStart:"493年",reignEnd:"494年",reignYears:1,eraName:"隆昌",birth:"473年",death:"494年",age:"21岁",dynasty:"南朝齐"},{name:"萧昭文",title:"齐海陵王",reignStart:"494年",reignEnd:"494年",reignYears:"4个月",eraName:"延兴",birth:"480年",death:"494年",age:"14岁",dynasty:"南朝齐"},{name:"萧鸾",title:"齐明帝",reignStart:"494年",reignEnd:"498年",reignYears:4,eraName:"建武",birth:"452年",death:"498年",age:"46岁",dynasty:"南朝齐"},{name:"萧宝卷",title:"齐东昏侯",reignStart:"498年",reignEnd:"501年",reignYears:3,eraName:"永元",birth:"483年",death:"501年",age:"18岁",dynasty:"南朝齐"},{name:"萧宝融",title:"齐和帝",reignStart:"501年",reignEnd:"502年",reignYears:1,eraName:"中兴",birth:"488年",death:"502年",age:"14岁",dynasty:"南朝齐"},{name:"萧衍",title:"梁武帝",reignStart:"502年",reignEnd:"549年",reignYears:47,eraName:"天监、普通、大通、中大通、大同、中大同、太清",birth:"464年",death:"549年",age:"85岁",dynasty:"南朝梁"},{name:"萧纲",title:"梁简文帝",reignStart:"549年",reignEnd:"551年",reignYears:2,eraName:"大宝",birth:"503年",death:"551年",age:"48岁",dynasty:"南朝梁"},{name:"萧栋",title:"梁豫章王",reignStart:"551年",reignEnd:"551年",reignYears:"3个月",eraName:"天正",birth:"536年",death:"551年",age:"15岁",dynasty:"南朝梁"},{name:"萧绎",title:"梁元帝",reignStart:"552年",reignEnd:"554年",reignYears:2,eraName:"承圣",birth:"508年",death:"554年",age:"46岁",dynasty:"南朝梁"},{name:"萧方智",title:"梁敬帝",reignStart:"555年",reignEnd:"557年",reignYears:2,eraName:"绍泰、太平",birth:"544年",death:"558年",age:"14岁",dynasty:"南朝梁"},{name:"陈霸先",title:"陈武帝",reignStart:"557年",reignEnd:"559年",reignYears:2,eraName:"永定",birth:"503年",death:"559年",age:"56岁",dynasty:"南朝陈"},{name:"陈蒨",title:"陈文帝",reignStart:"559年",reignEnd:"566年",reignYears:7,eraName:"天嘉、天康",birth:"522年",death:"566年",age:"44岁",dynasty:"南朝陈"},{name:"陈伯宗",title:"陈废帝",reignStart:"566年",reignEnd:"568年",reignYears:2,eraName:"光大",birth:"554年",death:"570年",age:"16岁",dynasty:"南朝陈"},{name:"陈顼",title:"陈宣帝",reignStart:"568年",reignEnd:"582年",reignYears:14,eraName:"太建",birth:"530年",death:"582年",age:"52岁",dynasty:"南朝陈"},{name:"陈叔宝",title:"陈后主",reignStart:"582年",reignEnd:"589年",reignYears:7,eraName:"至德、祯明",birth:"553年",death:"604年",age:"51岁",dynasty:"南朝陈"},{name:"拓跋珪",title:"北魏道武帝",reignStart:"386年",reignEnd:"409年",reignYears:23,eraName:"登国、皇始、天兴、天赐",birth:"371年",death:"409年",age:"38岁",dynasty:"北朝北魏"},{name:"拓跋嗣",title:"北魏明元帝",reignStart:"409年",reignEnd:"423年",reignYears:14,eraName:"永兴、神瑞、泰常",birth:"392年",death:"423年",age:"31岁",dynasty:"北朝北魏"},{name:"拓跋焘",title:"北魏太武帝",reignStart:"423年",reignEnd:"452年",reignYears:29,eraName:"始光、神䴥、延和、太延、太平真君、正平",birth:"408年",death:"452年",age:"44岁",dynasty:"北朝北魏"},{name:"拓跋余",title:"北魏南安王",reignStart:"452年",reignEnd:"452年",reignYears:"8个月",eraName:"永平",birth:"不详",death:"452年",age:"不详",dynasty:"北朝北魏"},{name:"拓跋濬",title:"北魏文成帝",reignStart:"452年",reignEnd:"465年",reignYears:13,eraName:"兴安、兴光、太安、和平",birth:"440年",death:"465年",age:"25岁",dynasty:"北朝北魏"},{name:"拓跋弘",title:"北魏献文帝",reignStart:"465年",reignEnd:"471年",reignYears:6,eraName:"天安、皇兴",birth:"454年",death:"476年",age:"22岁",dynasty:"北朝北魏"},{name:"元宏",title:"北魏孝文帝",reignStart:"471年",reignEnd:"499年",reignYears:28,eraName:"延兴、承明、太和",birth:"467年",death:"499年",age:"32岁",dynasty:"北朝北魏"},{name:"元恪",title:"北魏宣武帝",reignStart:"499年",reignEnd:"515年",reignYears:16,eraName:"景明、正始、永平、延昌",birth:"483年",death:"515年",age:"32岁",dynasty:"北朝北魏"},{name:"元诩",title:"北魏孝明帝",reignStart:"515年",reignEnd:"528年",reignYears:13,eraName:"熙平、神龟、正光、孝昌、武泰",birth:"510年",death:"528年",age:"18岁",dynasty:"北朝北魏"},{name:"元钊",title:"北魏幼主",reignStart:"528年",reignEnd:"528年",reignYears:"数月",eraName:"武泰",birth:"526年",death:"528年",age:"2岁",dynasty:"北朝北魏"},{name:"元子攸",title:"北魏孝庄帝",reignStart:"528年",reignEnd:"530年",reignYears:2,eraName:"建义、永安",birth:"507年",death:"530年",age:"23岁",dynasty:"北朝北魏"},{name:"元晔",title:"北魏节闵帝",reignStart:"531年",reignEnd:"531年",reignYears:"5个月",eraName:"建明",birth:"不详",death:"532年",age:"不详",dynasty:"北朝北魏"},{name:"元恭",title:"北魏安定王",reignStart:"531年",reignEnd:"532年",reignYears:1,eraName:"中兴",birth:"498年",death:"532年",age:"34岁",dynasty:"北朝北魏"},{name:"元修",title:"北魏孝武帝",reignStart:"532年",reignEnd:"534年",reignYears:2,eraName:"太昌、永兴、永熙",birth:"510年",death:"535年",age:"25岁",dynasty:"北朝北魏"}],achievements:["民族融合加速","佛教文化繁荣","科技文化发展","农业技术进步"]},{name:"隋朝",startYear:"581年",endYear:"618年",duration:37,capital:"大兴城(今陕西西安)",founder:"隋文帝杨坚",lastEmperor:"隋恭帝",period:"imperial",description:"结束了长期分裂局面,重新统一中国的朝代。隋朝建立了三省六部制,开凿了大运河,创立了科举制度,为唐朝的繁荣奠定了基础。\n\n隋朝由杨坚建立,他是北周的外戚,通过政治手段夺取了政权。隋文帝杨坚统一南北后,进行了一系列改革:政治上建立三省六部制,加强中央集权;经济上统一货币,兴修水利;文化上创立科举制度,打破门第限制。\n\n隋炀帝杨广继位后,开凿了贯通南北的大运河,这是中国古代最伟大的工程之一,对后世经济文化交流产生了深远影响。但杨广好大喜功,频繁征战,加重了人民负担,最终导致农民起义,隋朝灭亡。\n\n隋朝虽然只存在了37年,但其建立的政治制度和文化成就为唐朝的繁荣奠定了坚实基础。",emperors:[{name:"杨坚",title:"隋文帝",reignStart:"581年",reignEnd:"604年",reignYears:23,eraName:"开皇、仁寿",birth:"541年",death:"604年",age:"63岁"},{name:"杨广",title:"隋炀帝",reignStart:"604年",reignEnd:"618年",reignYears:14,eraName:"大业",birth:"569年",death:"618年",age:"49岁"},{name:"杨侑",title:"隋恭帝",reignStart:"617年",reignEnd:"618年",reignYears:1,eraName:"义宁",birth:"605年",death:"619年",age:"14岁"}],achievements:["重新统一中国","建立科举制度","开凿大运河","经济文化发展"]},{name:"唐朝",startYear:"618年",endYear:"907年",duration:289,capital:"长安(今陕西西安)",founder:"唐高祖李渊",lastEmperor:"唐哀帝",period:"imperial",description:'中国历史上最强盛的王朝之一,由唐高祖李渊建立。唐朝是中国古代最为辉煌的时期,政治开明,经济繁荣,文化昌盛,国际交流频繁,被誉为"盛唐"。\n\n唐朝前期出现了"贞观之治"和"开元盛世"等繁荣局面。唐太宗李世民励精图治,政治清明;唐玄宗时期国力达到鼎盛,疆域辽阔,文化繁荣。唐朝实行开放的对外政策,长安成为国际大都市,丝绸之路空前繁荣。\n\n唐朝是诗歌的黄金时代,涌现出李白、杜甫、白居易等伟大诗人。科举制度得到完善,促进了社会流动。佛教、道教都得到很大发展,对外文化交流频繁。\n\n唐朝后期由于安史之乱等内乱,国力衰落,藩镇割据严重,最终被朱温建立的后梁所取代。唐朝历时289年,是中国历史上最辉煌的朝代之一。',emperors:[{name:"李渊",title:"唐高祖",reignStart:"618年",reignEnd:"626年",reignYears:8,eraName:"武德",birth:"566年",death:"635年",age:"69岁"},{name:"李世民",title:"唐太宗",reignStart:"626年",reignEnd:"649年",reignYears:23,eraName:"贞观",birth:"598年",death:"649年",age:"51岁"},{name:"李治",title:"唐高宗",reignStart:"649年",reignEnd:"683年",reignYears:34,eraName:"永徽、显庆、龙朔、麟德、乾封、总章、咸亨、上元、仪凤、调露、永隆、开耀、永淳、弘道",birth:"628年",death:"683年",age:"55岁"},{name:"李显",title:"唐中宗",reignStart:"683年",reignEnd:"684年",reignYears:1,eraName:"嗣圣",birth:"656年",death:"710年",age:"54岁"},{name:"李旦",title:"唐睿宗",reignStart:"684年",reignEnd:"690年",reignYears:6,eraName:"文明、光宅、垂拱、永昌、载初",birth:"662年",death:"716年",age:"54岁"},{name:"武曌",title:"武周圣神皇帝",reignStart:"690年",reignEnd:"705年",reignYears:15,eraName:"天授、如意、长寿、延载、证圣、天册万岁、万岁登封、万岁通天、神功、圣历、久视、大足、长安",birth:"624年",death:"705年",age:"81岁"},{name:"李显",title:"唐中宗(复位)",reignStart:"705年",reignEnd:"710年",reignYears:5,eraName:"神龙、景龙",birth:"656年",death:"710年",age:"54岁"},{name:"李重茂",title:"唐殇帝",reignStart:"710年",reignEnd:"710年",reignYears:"1个月",eraName:"唐隆",birth:"695年",death:"714年",age:"19岁"},{name:"李旦",title:"唐睿宗(复位)",reignStart:"710年",reignEnd:"712年",reignYears:2,eraName:"景云、太极、延和",birth:"662年",death:"716年",age:"54岁"},{name:"李隆基",title:"唐玄宗",reignStart:"712年",reignEnd:"756年",reignYears:44,eraName:"先天、开元、天宝",birth:"685年",death:"762年",age:"77岁"},{name:"李亨",title:"唐肃宗",reignStart:"756年",reignEnd:"762年",reignYears:6,eraName:"至德、乾元、上元",birth:"711年",death:"762年",age:"51岁"},{name:"李豫",title:"唐代宗",reignStart:"762年",reignEnd:"779年",reignYears:17,eraName:"宝应、广德、永泰、大历",birth:"726年",death:"779年",age:"53岁"},{name:"李适",title:"唐德宗",reignStart:"779年",reignEnd:"805年",reignYears:26,eraName:"建中、兴元、贞元",birth:"742年",death:"805年",age:"63岁"},{name:"李诵",title:"唐顺宗",reignStart:"805年",reignEnd:"805年",reignYears:"8个月",eraName:"永贞",birth:"761年",death:"806年",age:"45岁"},{name:"李纯",title:"唐宪宗",reignStart:"805年",reignEnd:"820年",reignYears:15,eraName:"元和",birth:"778年",death:"820年",age:"42岁"},{name:"李恒",title:"唐穆宗",reignStart:"820年",reignEnd:"824年",reignYears:4,eraName:"长庆",birth:"795年",death:"824年",age:"29岁"},{name:"李湛",title:"唐敬宗",reignStart:"824年",reignEnd:"826年",reignYears:2,eraName:"宝历",birth:"809年",death:"826年",age:"17岁"},{name:"李昂",title:"唐文宗",reignStart:"826年",reignEnd:"840年",reignYears:14,eraName:"太和、开成",birth:"809年",death:"840年",age:"31岁"},{name:"李炎",title:"唐武宗",reignStart:"840年",reignEnd:"846年",reignYears:6,eraName:"会昌",birth:"814年",death:"846年",age:"32岁"},{name:"李忱",title:"唐宣宗",reignStart:"846年",reignEnd:"859年",reignYears:13,eraName:"大中",birth:"810年",death:"859年",age:"49岁"},{name:"李漼",title:"唐懿宗",reignStart:"859年",reignEnd:"873年",reignYears:14,eraName:"大中、咸通",birth:"833年",death:"873年",age:"40岁"},{name:"李儇",title:"唐僖宗",reignStart:"873年",reignEnd:"888年",reignYears:15,eraName:"咸通、乾符、广明、中和、光启、文德",birth:"862年",death:"888年",age:"26岁"},{name:"李晔",title:"唐昭宗",reignStart:"888年",reignEnd:"904年",reignYears:16,eraName:"龙纪、大顺、景福、乾宁、光化、天复、天祐",birth:"867年",death:"904年",age:"37岁"},{name:"李柷",title:"唐哀帝",reignStart:"904年",reignEnd:"907年",reignYears:3,eraName:"天祐",birth:"892年",death:"908年",age:"16岁"}],achievements:["贞观之治、开元盛世","科举制度的完善","诗歌文化的巅峰","国际交流的繁荣"]},{name:"五代十国",startYear:"907年",endYear:"979年",duration:72,capital:"开封/洛阳等",founder:"朱温等",lastEmperor:"柴宗训等",period:"imperial",description:"唐朝灭亡后中国历史上的大分裂时期,北方相继出现后梁、后唐、后晋、后汉、后周五个朝代,南方同时并立着十个割据政权。\n\n五代是指后梁、后唐、后晋、后汉、后周五个朝代,都建都于中原地区;十国是指前蜀、后蜀、吴、南唐、吴越、闽、楚、南汉、南平、北汉十个割据政权,主要分布在南方和山西。\n\n这一时期政权更迭频繁,战乱不断,但经济文化仍有发展。南方各国相对稳定,经济繁荣;北方虽然战乱频繁,但科技文化仍有进步,如活字印刷术的发明等。\n\n五代十国的分裂局面最终被宋朝统一,结束了72年的分裂状态。",emperors:[{name:"朱温",title:"后梁太祖",reignStart:"907年",reignEnd:"912年",reignYears:5,eraName:"开平、乾化",birth:"852年",death:"912年",age:"60岁",dynasty:"后梁"},{name:"朱友珪",title:"后梁郢王",reignStart:"912年",reignEnd:"913年",reignYears:1,eraName:"凤历",birth:"不详",death:"913年",age:"不详",dynasty:"后梁"},{name:"朱友贞",title:"后梁末帝",reignStart:"913年",reignEnd:"923年",reignYears:10,eraName:"乾化、贞明、龙德",birth:"888年",death:"923年",age:"35岁",dynasty:"后梁"},{name:"李存勖",title:"后唐庄宗",reignStart:"923年",reignEnd:"926年",reignYears:3,eraName:"同光",birth:"885年",death:"926年",age:"41岁",dynasty:"后唐"},{name:"李嗣源",title:"后唐明宗",reignStart:"926年",reignEnd:"933年",reignYears:7,eraName:"天成、长兴",birth:"867年",death:"933年",age:"66岁",dynasty:"后唐"},{name:"李从厚",title:"后唐闵帝",reignStart:"933年",reignEnd:"934年",reignYears:1,eraName:"应顺",birth:"914年",death:"934年",age:"20岁",dynasty:"后唐"},{name:"李从珂",title:"后唐末帝",reignStart:"934年",reignEnd:"936年",reignYears:2,eraName:"清泰",birth:"885年",death:"936年",age:"51岁",dynasty:"后唐"},{name:"石敬瑭",title:"后晋高祖",reignStart:"936年",reignEnd:"942年",reignYears:6,eraName:"天福",birth:"892年",death:"942年",age:"50岁",dynasty:"后晋"},{name:"石重贵",title:"后晋出帝",reignStart:"942年",reignEnd:"947年",reignYears:5,eraName:"天福、开运",birth:"914年",death:"974年",age:"60岁",dynasty:"后晋"},{name:"刘知远",title:"后汉高祖",reignStart:"947年",reignEnd:"948年",reignYears:1,eraName:"天福、乾祐",birth:"895年",death:"948年",age:"53岁",dynasty:"后汉"},{name:"刘承祐",title:"后汉隐帝",reignStart:"948年",reignEnd:"951年",reignYears:3,eraName:"乾祐",birth:"930年",death:"951年",age:"21岁",dynasty:"后汉"},{name:"郭威",title:"后周太祖",reignStart:"951年",reignEnd:"954年",reignYears:3,eraName:"广顺、显德",birth:"904年",death:"954年",age:"50岁",dynasty:"后周"},{name:"柴荣",title:"后周世宗",reignStart:"954年",reignEnd:"959年",reignYears:5,eraName:"显德",birth:"921年",death:"959年",age:"38岁",dynasty:"后周"},{name:"柴宗训",title:"后周恭帝",reignStart:"959年",reignEnd:"960年",reignYears:1,eraName:"显德",birth:"953年",death:"973年",age:"20岁",dynasty:"后周"}],achievements:["保持文化传承","经济局部发展","科技继续进步","为宋朝统一奠基"]},{name:"北宋",startYear:"960年",endYear:"1127年",duration:167,capital:"开封(今河南开封)",founder:"宋太祖赵匡胤",lastEmperor:"宋钦宗",period:"imperial",description:'中国历史上经济文化高度发达的朝代,由宋太祖赵匡胤通过"陈桥兵变"建立。北宋结束了五代十国的分裂局面,基本统一了中国,开创了中国古代科技文化的黄金时代。\n\n北宋实行重文轻武的政策,科举制度得到完善,文化教育繁荣。这一时期出现了四大发明中的三项:活字印刷术、火药、指南针。经济高度发达,商业繁荣,出现了世界上最早的纸币"交子"。\n\n北宋在哲学思想方面形成了理学,以程颢、程颐、朱熹为代表;文学艺术方面出现了苏轼、欧阳修、王安石等文学巨匠;科技方面有沈括的《梦溪笔谈》等重要著作。\n\n北宋后期由于冗官、冗兵、冗费等问题,国力衰弱,最终在靖康之变中被金国所灭。',emperors:[{name:"赵匡胤",title:"宋太祖",reignStart:"960年",reignEnd:"976年",reignYears:16,eraName:"建隆、乾德、开宝",birth:"927年",death:"976年",age:"49岁"},{name:"赵光义",title:"宋太宗",reignStart:"976年",reignEnd:"997年",reignYears:21,eraName:"太平兴国、雍熙、端拱、淳化、至道",birth:"939年",death:"997年",age:"58岁"},{name:"赵恒",title:"宋真宗",reignStart:"997年",reignEnd:"1022年",reignYears:25,eraName:"咸平、景德、大中祥符、天禧、乾兴",birth:"968年",death:"1022年",age:"54岁"},{name:"赵祯",title:"宋仁宗",reignStart:"1022年",reignEnd:"1063年",reignYears:41,eraName:"天圣、明道、景祐、宝元、康定、庆历、皇祐、至和、嘉祐",birth:"1010年",death:"1063年",age:"53岁"},{name:"赵曙",title:"宋英宗",reignStart:"1063年",reignEnd:"1067年",reignYears:4,eraName:"治平",birth:"1032年",death:"1067年",age:"35岁"},{name:"赵顼",title:"宋神宗",reignStart:"1067年",reignEnd:"1085年",reignYears:18,eraName:"熙宁、元丰",birth:"1048年",death:"1085年",age:"37岁"},{name:"赵煦",title:"宋哲宗",reignStart:"1085年",reignEnd:"1100年",reignYears:15,eraName:"元祐、绍圣、元符",birth:"1076年",death:"1100年",age:"24岁"},{name:"赵佶",title:"宋徽宗",reignStart:"1100年",reignEnd:"1125年",reignYears:25,eraName:"建中靖国、崇宁、大观、政和、重和、宣和",birth:"1082年",death:"1135年",age:"53岁"},{name:"赵桓",title:"宋钦宗",reignStart:"1125年",reignEnd:"1127年",reignYears:2,eraName:"靖康",birth:"1100年",death:"1156年",age:"56岁"}],achievements:["四大发明中的三项(印刷术、火药、指南针)","经济的高度发展","理学的兴起","文学艺术的繁荣"]},{name:"南宋",startYear:"1127年",endYear:"1279年",duration:152,capital:"临安(今浙江杭州)",founder:"宋高宗",lastEmperor:"宋末帝",period:"imperial",description:"北宋灭亡后,宋室南迁建立的政权,由宋高宗赵构建立,定都临安(今杭州)。南宋偏安江南,与北方的金国、后来的蒙古(元)长期对峙,虽然军事相对薄弱,但经济文化依然发达。\n\n南宋时期,江南经济进一步发展,成为全国的经济重心,农业、手工业、商业都很繁荣,海外贸易兴盛,泉州成为世界性的大港口。理学思想在南宋时期达到成熟,朱熹集理学之大成,对后世影响深远。\n\n南宋的科技文化成就依然辉煌,出现了《梦溪笔谈》、《本草纲目》等重要著作,指南针、火药等技术进一步完善并传播到世界各地。文学方面,词的创作达到新的高峰,辛弃疾、李清照等词人留下了不朽名作。\n\n南宋后期面临蒙古的强大压力,虽有岳飞、文天祥等忠臣良将奋力抵抗,但最终不敌蒙古铁骑,在崖山海战后彻底灭亡。南宋历时152年,在中华文明史上占有重要地位,共有9位皇帝。",emperors:[{name:"赵构",title:"宋高宗",reignStart:"1127年",reignEnd:"1162年",reignYears:35,eraName:"建炎、绍兴",birth:"1107年",death:"1187年",age:"80岁"},{name:"赵昚(Shèn)",title:"宋孝宗",reignStart:"1162年",reignEnd:"1189年",reignYears:27,eraName:"隆兴、乾道、淳熙",birth:"1127年",death:"1194年",age:"67岁"},{name:"赵惇(Dūn)",title:"宋光宗",reignStart:"1189年",reignEnd:"1194年",reignYears:5,eraName:"绍熙",birth:"1147年",death:"1200年",age:"53岁"},{name:"赵扩(Kuò)",title:"宋宁宗",reignStart:"1194年",reignEnd:"1224年",reignYears:30,eraName:"庆元、嘉泰、开禧、嘉定",birth:"1168年",death:"1224年",age:"56岁"},{name:"赵昀(Yún)",title:"宋理宗",reignStart:"1224年",reignEnd:"1264年",reignYears:40,eraName:"宝庆、绍定、端平、嘉熙、淳祐、宝祐、开庆、景定",birth:"1205年",death:"1264年",age:"59岁"},{name:"赵禥(Qí)",title:"宋度宗",reignStart:"1264年",reignEnd:"1274年",reignYears:10,eraName:"咸淳",birth:"1240年",death:"1274年",age:"34岁"},{name:"赵显",title:"宋恭帝",reignStart:"1274年",reignEnd:"1276年",reignYears:2,eraName:"德祐",birth:"1271年",death:"1323年",age:"52岁"},{name:"赵昰(Shì)",title:"宋端宗",reignStart:"1276年",reignEnd:"1278年",reignYears:2,eraName:"景炎",birth:"1272年",death:"1278年",age:"6岁"},{name:"赵昺(Bǐng)",title:"宋末帝",reignStart:"1278年",reignEnd:"1279年",reignYears:1,eraName:"祥兴",birth:"1278年",death:"1279年",age:"1岁"}],achievements:["理学思想成熟","商业经济发达","科技文化繁荣","海外贸易兴盛"]},{name:"元朝",startYear:"1271年",endYear:"1368年",duration:97,capital:"大都(今北京)",founder:"元世祖忽必烈",lastEmperor:"元顺帝",period:"imperial",description:"中国历史上第一个由少数民族建立的大一统王朝,由蒙古族建立。元朝是蒙古帝国的一部分,疆域辽阔,东起朝鲜半岛,西达东欧,南至东南亚,北抵西伯利亚,是世界历史上疆域最大的帝国之一。\n\n元朝在政治上建立了行省制度,这一制度对后世影响深远,至今仍是中国行政区划的基础。元朝实行民族等级制度,将人民分为蒙古人、色目人、汉人、南人四个等级。在文化上,元朝促进了中外文化交流,马可·波罗等外国人来华,中国的科技文化也传播到世界各地。\n\n元朝时期科技文化继续发展,出现了《农桑辑要》等农学著作,天文学、数学、医学都有重要成就。文学方面,元曲兴起,关汉卿、马致远等戏曲家创作了大量优秀作品。元朝还修建了大运河,促进了南北交通。\n\n元朝后期由于统治腐败,民族矛盾尖锐,加上自然灾害频繁,最终爆发了红巾军起义,朱元璋建立明朝,推翻了元朝统治。元朝历时97年,在中华文明史上具有重要地位,共有11位皇帝。",emperors:[{name:"忽必烈",title:"元世祖",reignStart:"1260年",reignEnd:"1294年",reignYears:34,eraName:"中统、至元",birth:"1215年",death:"1294年",age:"79岁"},{name:"铁穆耳",title:"元成宗",reignStart:"1294年",reignEnd:"1307年",reignYears:13,eraName:"元贞、大德",birth:"1265年",death:"1307年",age:"42岁"},{name:"海山",title:"元武宗",reignStart:"1307年",reignEnd:"1311年",reignYears:4,eraName:"至大",birth:"1281年",death:"1311年",age:"30岁"},{name:"爱育黎拔力八达",title:"元仁宗",reignStart:"1311年",reignEnd:"1320年",reignYears:9,eraName:"皇庆、延祐",birth:"1285年",death:"1320年",age:"35岁"},{name:"硕德八剌(Lá)",title:"元英宗",reignStart:"1320年",reignEnd:"1323年",reignYears:3,eraName:"至治",birth:"1303年",death:"1323年",age:"20岁"},{name:"也孙铁木儿",title:"元泰定帝",reignStart:"1323年",reignEnd:"1328年",reignYears:5,eraName:"泰定、致和",birth:"1293年",death:"1328年",age:"35岁"},{name:"阿速吉八",title:"元天顺帝",reignStart:"1328年",reignEnd:"1328年",reignYears:1,eraName:"天顺",birth:"1320年",death:"1328年",age:"8岁"},{name:"图帖睦尔",title:"元文宗",reignStart:"1328年",reignEnd:"1332年",reignYears:4,eraName:"天历、至顺",birth:"1304年",death:"1332年",age:"28岁"},{name:"懿璘(Lín)质班",title:"元明宗",reignStart:"1329年",reignEnd:"1329年",reignYears:1,eraName:"天历",birth:"1326年",death:"1329年",age:"3岁"},{name:"宁宗",title:"元宁宗",reignStart:"1332年",reignEnd:"1332年",reignYears:1,eraName:"至顺",birth:"1326年",death:"1332年",age:"6岁"},{name:"妥懽(Huān)帖睦尔",title:"元顺帝",reignStart:"1333年",reignEnd:"1368年",reignYears:35,eraName:"元统、至元、至正",birth:"1320年",death:"1370年",age:"50岁"}],achievements:["建立行省制度","促进中外文化交流","发展农业和手工业","统一度量衡和货币"]},{name:"明朝",startYear:"1368年",endYear:"1644年",duration:276,capital:"南京/北京(今江苏南京/北京)",founder:"明太祖朱元璋",lastEmperor:"崇祯帝",period:"imperial",description:"中国历史上最后一个由汉族建立的大一统王朝,由明太祖朱元璋建立。明朝推翻了元朝的统治,恢复了汉族政权,在政治、经济、文化等方面都取得了重要成就。\n\n明朝的建立:元末,朱元璋起义于濠州,逐步统一南方,建立明朝。1368年,朱元璋定都南京,建立了明朝政权。随后,明朝继续北伐,消灭了元朝残余势力,完成了全国统一。\n\n明朝的鼎盛:明朝前期国力强盛,明成祖朱棣迁都北京,修建了紫禁城,派遣郑和七下西洋,展现了中华文明的辉煌。明朝建立了完善的科举制度,编纂了《永乐大典》等重要典籍,小说、戏曲等文学形式达到新的高峰,出现了《西游记》、《水浒传》、《三国演义》、《红楼梦》等四大名著中的三部。明朝的手工业和商业发达,出现了资本主义萌芽,农业技术也有很大发展。\n\n明朝的衰落:明朝后期由于政治腐败、宦官专权、自然灾害频繁、外敌入侵等多重因素,国力衰落。李自成农民起义最终攻陷北京,崇祯帝自缢身亡,明朝灭亡。随后满族入关,建立清朝。\n\n明朝历时276年,在中华文明史上占有重要地位,共有17位皇帝。",emperors:[{name:"朱元璋",title:"明太祖",reignStart:"1368年",reignEnd:"1398年",reignYears:30,eraName:"洪武",birth:"1328年",death:"1398年",age:"70岁"},{name:"朱允炆",title:"明惠帝",reignStart:"1398年",reignEnd:"1402年",reignYears:4,eraName:"建文",birth:"1377年",death:"1402年",age:"25岁"},{name:"朱棣",title:"明成祖",reignStart:"1402年",reignEnd:"1424年",reignYears:22,eraName:"永乐",birth:"1360年",death:"1424年",age:"64岁"},{name:"朱高炽",title:"明仁宗",reignStart:"1424年",reignEnd:"1425年",reignYears:1,eraName:"洪熙",birth:"1378年",death:"1425年",age:"47岁"},{name:"朱瞻基",title:"明宣宗",reignStart:"1425年",reignEnd:"1435年",reignYears:10,eraName:"宣德",birth:"1399年",death:"1435年",age:"36岁"},{name:"朱祁镇",title:"明英宗",reignStart:"1435年",reignEnd:"1449年",reignYears:14,eraName:"正统",birth:"1427年",death:"1464年",age:"37岁"},{name:"朱祁钰",title:"明代宗",reignStart:"1449年",reignEnd:"1457年",reignYears:8,eraName:"景泰",birth:"1428年",death:"1457年",age:"29岁"},{name:"朱祁镇",title:"明英宗(复辟)",reignStart:"1457年",reignEnd:"1464年",reignYears:7,eraName:"天顺",birth:"1427年",death:"1464年",age:"37岁"},{name:"朱见深",title:"明宪宗",reignStart:"1464年",reignEnd:"1487年",reignYears:23,eraName:"成化",birth:"1447年",death:"1487年",age:"40岁"},{name:"朱祐樘",title:"明孝宗",reignStart:"1487年",reignEnd:"1505年",reignYears:18,eraName:"弘治",birth:"1470年",death:"1505年",age:"35岁"},{name:"朱厚照",title:"明武宗",reignStart:"1505年",reignEnd:"1521年",reignYears:16,eraName:"正德",birth:"1491年",death:"1521年",age:"30岁"},{name:"朱厚熜(Cōng)",title:"明世宗",reignStart:"1521年",reignEnd:"1567年",reignYears:46,eraName:"嘉靖",birth:"1507年",death:"1567年",age:"60岁"},{name:"朱载垕(Hòu)",title:"明穆宗",reignStart:"1567年",reignEnd:"1572年",reignYears:5,eraName:"隆庆",birth:"1537年",death:"1572年",age:"35岁"},{name:"朱翊钧",title:"明神宗",reignStart:"1572年",reignEnd:"1620年",reignYears:48,eraName:"万历",birth:"1563年",death:"1620年",age:"57岁"},{name:"朱常洛",title:"明光宗",reignStart:"1620年",reignEnd:"1620年",reignYears:"29天",eraName:"泰昌",birth:"1582年",death:"1620年",age:"38岁"},{name:"朱由校",title:"明熹宗",reignStart:"1620年",reignEnd:"1627年",reignYears:7,eraName:"天启",birth:"1605年",death:"1627年",age:"22岁"},{name:"朱由检",title:"明思宗",reignStart:"1627年",reignEnd:"1644年",reignYears:17,eraName:"崇祯",birth:"1611年",death:"1644年",age:"33岁"}],achievements:["郑和七下西洋","修建紫禁城","编纂《永乐大典》","发展农业和手工业"]},{name:"清朝",startYear:"1636年",endYear:"1912年",duration:276,capital:"北京(今北京)",founder:"清太宗皇太极",lastEmperor:"溥仪",period:"imperial",description:'中国历史上最后一个封建王朝,由满族建立。清朝是中国历史上疆域最辽阔、人口最多的朝代之一,经历了从兴盛到衰落的完整历程,最终被辛亥革命推翻。\n\n清朝的兴起:1616年努尔哈赤建立后金,1636年皇太极改国号为清。1644年李自成攻陷北京,明朝灭亡,清军入关,逐步统一全国,建立了对中国的统治。\n\n清朝的鼎盛:清朝前期出现了"康乾盛世",国力强盛,疆域辽阔,东起库页岛,西至葱岭,南达南海诸岛,北抵外兴安岭,总面积达1300多万平方公里。清朝统一了台湾,平定了准噶尔叛乱,加强了对西藏、新疆的管理,巩固了多民族国家的统一。在文化上编纂了《四库全书》等重要典籍,人口从明末的6000万增长到清末的4亿多。\n\n清朝的衰落:清朝后期由于闭关锁国政策,错失了工业革命的机遇,在鸦片战争后逐渐沦为半殖民地半封建社会。虽然进行了洋务运动、戊戌变法等改革尝试,但最终无法挽回颓势。1911年辛亥革命爆发,1912年宣统帝退位,清朝灭亡。\n\n清朝历时276年,是中国封建社会的最后一个朝代,共有12位皇帝。',emperors:[{name:"爱新觉罗·努尔哈赤",title:"清太祖",reignStart:"1616年",reignEnd:"1626年",reignYears:10,eraName:"天命",birth:"1559年",death:"1626年",age:"68岁"},{name:"爱新觉罗·皇太极",title:"清太宗",reignStart:"1626年",reignEnd:"1643年",reignYears:17,eraName:"天聪、崇德",birth:"1592年",death:"1643年",age:"52岁"},{name:"爱新觉罗·福临",title:"清世祖",reignStart:"1644年",reignEnd:"1661年",reignYears:17,eraName:"顺治",birth:"1638年",death:"1661年",age:"24岁"},{name:"爱新觉罗·玄烨",title:"清圣祖",reignStart:"1661年",reignEnd:"1722年",reignYears:61,eraName:"康熙",birth:"1654年",death:"1722年",age:"69岁"},{name:"爱新觉罗·胤禛(Yìn Zhēn)",title:"清世宗",reignStart:"1722年",reignEnd:"1735年",reignYears:13,eraName:"雍正",birth:"1678年",death:"1735年",age:"58岁"},{name:"爱新觉罗·弘历",title:"清高宗",reignStart:"1735年",reignEnd:"1796年",reignYears:61,eraName:"乾隆",birth:"1711年",death:"1799年",age:"89岁"},{name:"爱新觉罗·颙琰(Yóng Yǎn)",title:"清仁宗",reignStart:"1796年",reignEnd:"1820年",reignYears:24,eraName:"嘉庆",birth:"1760年",death:"1820年",age:"61岁"},{name:"爱新觉罗·旻(Mín)宁",title:"清宣宗",reignStart:"1820年",reignEnd:"1850年",reignYears:30,eraName:"道光",birth:"1782年",death:"1850年",age:"69岁"},{name:"爱新觉罗·奕詝(Zhǔ)",title:"清文宗",reignStart:"1850年",reignEnd:"1861年",reignYears:11,eraName:"咸丰",birth:"1831年",death:"1861年",age:"31岁"},{name:"爱新觉罗·载淳(chún)",title:"清穆宗",reignStart:"1861年",reignEnd:"1875年",reignYears:14,eraName:"同治",birth:"1856年",death:"1875年",age:"19岁"},{name:"爱新觉罗·载湉(Tián)",title:"清德宗",reignStart:"1875年",reignEnd:"1908年",reignYears:33,eraName:"光绪",birth:"1871年",death:"1908年",age:"38岁"},{name:"爱新觉罗·溥仪",title:"清末帝",reignStart:"1908年",reignEnd:"1912年",reignYears:4,eraName:"宣统",birth:"1906年",death:"1967年",age:"61岁"}],achievements:["康乾盛世,疆域辽阔","人口大幅增长","《四库全书》的编纂","统一台湾"]},{name:"中华民国",startYear:"1912年",endYear:"1949年",duration:37,capital:"南京(今江苏南京)",founder:"孙中山",lastEmperor:"蒋介石",period:"modern",description:"中国历史上第一个共和政府,由孙中山领导的辛亥革命推翻清朝建立。中华民国的建立结束了中国两千多年的封建帝制,开创了共和政治的新纪元。\n\n中华民国初期政局动荡,经历了袁世凯称帝、军阀混战等政治危机。1928年国民政府完成北伐,基本统一全国,开始进行现代化建设。这一时期在政治上建立了三民主义的政治体系,在经济上发展民族工业,在文化上推行新文化运动,促进了思想解放。\n\n抗日战争时期(1937-1945年),中华民国政府领导全国人民进行了艰苦卓绝的抗战,最终取得胜利,成为联合国创始会员国之一。战后由于内战爆发,国民政府最终迁至台湾地区继续存在。\n\n中华民国在大陆时期虽然只有37年,但推翻了封建制度,建立了共和政体,为中国的现代化进程奠定了重要基础,共有多位领导人。",emperors:[{name:"孙中山",title:"临时大总统",reignStart:"1912年",reignEnd:"1912年",reignYears:1,eraName:"中华民国元年",birth:"1866年",death:"1925年",age:"59岁"},{name:"袁世凯",title:"大总统",reignStart:"1912年",reignEnd:"1916年",reignYears:4,eraName:"民国",birth:"1859年",death:"1916年",age:"57岁"},{name:"蒋介石",title:"国民政府主席",reignStart:"1928年",reignEnd:"1949年",reignYears:21,eraName:"民国",birth:"1887年",death:"1975年",age:"88岁"}],achievements:["建立共和政体","推翻封建制度","抗日战争胜利","现代化建设起步"]}]),c=is(()=>{let e=l.value;if("all"!==n.value&&(e=e.filter(e=>e.period===n.value)),a.value){const t=a.value.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.founder.toLowerCase().includes(t)||e.capital.toLowerCase().includes(t)||e.startYear.includes(t)||e.endYear.includes(t)||e.description.toLowerCase().includes(t))}return e}),u=()=>{const e=i.find(e=>e.key===n.value);return e?`${e.name}朝代`:"历史朝代"},d=()=>{r.value=null,Zt(()=>{s.value&&h(s.value)})},h=e=>{const t=document.querySelector(`[data-dynasty="${e}"]`);t&&(t.scrollIntoView({behavior:"smooth",block:"center"}),t.classList.add("highlight"),setTimeout(()=>{t.classList.remove("highlight")},2e3))};return(e,i)=>(Cr(),Tr("div",L4,[Or(hl,{title:Nt(t),onBack:i[0]||(i[0]=t=>e.$emit("back"))},null,8,["title"]),Mr("div",R4,[r.value?Rr("",!0):(Cr(),Sr($X,{key:0,searchQuery:a.value,"onUpdate:searchQuery":i[1]||(i[1]=e=>a.value=e),placeholder:"搜索朝代名称、皇帝姓名...",filters:o.value,activeFilter:n.value,"onUpdate:activeFilter":i[2]||(i[2]=e=>n.value=e)},null,8,["searchQuery","filters","activeFilter"])),r.value?Rr("",!0):(Cr(),Tr("div",z4,[Mr("div",H4,[Mr("h3",null,se(u()),1),Mr("div",$4,[Mr("span",Y4,"共 "+se(c.value.length)+" 个朝代",1)])]),Mr("div",G4,[Mr("div",W4,[(Cr(!0),Tr(br,null,yn(c.value,e=>(Cr(),Tr("div",{key:e.name,class:"timeline-item","data-dynasty":e.name,onClick:t=>(e=>{r.value=e,s.value=e.name})(e)},[i[3]||(i[3]=Mr("div",{class:"timeline-marker"},[Mr("div",{class:"timeline-dot",style:{backgroundColor:"#dc2626"}}),Mr("div",{class:"timeline-line"})],-1)),Mr("div",K4,[Mr("div",J4,[Mr("div",q4,[Mr("div",Z4,[Mr("h4",X4,se(e.name),1)]),Mr("div",Q4,[Mr("span",e6,se(e.startYear)+" - "+se(e.endYear),1),Mr("span",t6,se(e.duration)+"年",1)]),Mr("div",a6,[Mr("span",n6,"都城:"+se(e.capital),1),Mr("span",r6,"皇帝:"+se(e.emperors?.length||0)+"位",1)]),Mr("div",s6," 开国:"+se(e.founder)+" → 末代:"+se(e.lastEmperor),1)]),Mr("div",i6,se(e.description.substring(0,80))+"... ",1)])])],8,V4))),128))])])])),r.value?(Cr(),Tr("div",o6,[Mr("div",l6,[Mr("button",{class:"back-detail-btn",onClick:d},[...i[4]||(i[4]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1),jr(" 返回列表 ",-1)])]),Mr("h3",null,se(r.value.name)+"详情",1)]),Mr("div",c6,[Mr("div",u6,[Mr("div",d6,[i[13]||(i[13]=Mr("h4",null,"基本信息",-1)),Mr("div",h6,[i[5]||(i[5]=Mr("span",{class:"label"},"朝代名称:",-1)),Mr("span",p6,se(r.value.name),1)]),Mr("div",f6,[i[6]||(i[6]=Mr("span",{class:"label"},"起始年份:",-1)),Mr("span",m6,se(r.value.startYear),1)]),Mr("div",g6,[i[7]||(i[7]=Mr("span",{class:"label"},"结束年份:",-1)),Mr("span",y6,se(r.value.endYear),1)]),Mr("div",v6,[i[8]||(i[8]=Mr("span",{class:"label"},"历时年数:",-1)),Mr("span",b6,se(r.value.duration)+" 年",1)]),Mr("div",w6,[i[9]||(i[9]=Mr("span",{class:"label"},"都城:",-1)),Mr("span",x6,se(r.value.capital),1)]),Mr("div",k6,[i[10]||(i[10]=Mr("span",{class:"label"},"开国皇帝:",-1)),Mr("span",_6,se(r.value.founder),1)]),Mr("div",E6,[i[11]||(i[11]=Mr("span",{class:"label"},"末代皇帝:",-1)),Mr("span",C6,se(r.value.lastEmperor),1)]),r.value.achievements?(Cr(),Tr("div",F6,[i[12]||(i[12]=Mr("h5",null,"主要成就",-1)),Mr("ul",D6,[(Cr(!0),Tr(br,null,yn(r.value.achievements,e=>(Cr(),Tr("li",{key:e},se(e),1))),128))])])):Rr("",!0)]),Mr("div",A6,[i[14]||(i[14]=Mr("h4",null,"历史概述",-1)),Mr("p",T6,se(r.value.description),1)])]),Mr("div",S6,[i[16]||(i[16]=Mr("h4",null,"历代皇帝",-1)),Mr("div",I6,[Mr("table",N6,[i[15]||(i[15]=Mr("thead",null,[Mr("tr",null,[Mr("th",null,"序号"),Mr("th",null,"庙号/谥号"),Mr("th",null,"年号"),Mr("th",null,"姓名"),Mr("th",null,"在位时间"),Mr("th",null,"在位年数"),Mr("th",null,"生卒年份"),Mr("th",null,"享年")])],-1)),Mr("tbody",null,[(Cr(!0),Tr(br,null,yn(r.value.emperors||[],(e,t)=>(Cr(),Tr("tr",{key:e.name},[Mr("td",P6,se(t+1),1),Mr("td",B6,se(e.title),1),Mr("td",M6,se(e.eraName||"-"),1),Mr("td",O6,se(e.name),1),Mr("td",U6,se(e.reignStart)+" - "+se(e.reignEnd),1),Mr("td",j6,se("number"==typeof e.reignYears?e.reignYears+"年":e.reignYears),1),Mr("td",L6,["不详"===e.birth||"不详"===e.death?(Cr(),Tr("span",R6,"不详")):e.birth&&e.death?(Cr(),Tr("span",z6,se(e.birth)+" - "+se(e.death),1)):(Cr(),Tr("span",H6,"-"))]),Mr("td",$6,["不详"===e.age?(Cr(),Tr("span",Y6,"不详")):e.age?(Cr(),Tr("span",G6,se(e.age),1)):(Cr(),Tr("span",W6,"-"))])]))),128))])])])])])])):Rr("",!0)]),Or(JX,{container:".dynasty-content"})]))}}),[["__scopeId","data-v-06a5dc0c"]]),K6={class:"uuid-generator"},J6={class:"formatter-actions"},q6={class:"generator-content"},Z6={class:"generator-section"},X6={class:"uuid-container"},Q6={class:"uuid-controls"},e8={class:"control-group"},t8={class:"control-group"},a8={class:"quantity-controls"},n8={class:"quantity-buttons"},r8={class:"control-group"},s8={class:"format-options"},i8={class:"checkbox-label"},o8={class:"checkbox-label"},l8={class:"checkbox-label"},c8={class:"uuid-results"},u8={class:"results-header"},d8={class:"count-info"},h8={key:0,class:"empty-state"},p8={key:1,class:"uuid-list"},f8={class:"uuid-index"},m8={class:"uuid-value"},g8=["onClick"],y8={class:"generator-section"},v8={class:"uuid-validator"},b8={class:"validator-input"},w8={key:0,class:"validation-result"},x8={class:"validation-header"},k8={key:0,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},_8={key:1,width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},E8={class:"validation-details"},C8={class:"detail-item"},F8={class:"detail-value"},D8={key:0,class:"detail-item"},A8={class:"detail-value"},T8={key:1,class:"detail-item"},S8={class:"detail-value"},I8={key:2,class:"detail-item"},N8={class:"detail-value"},P8={class:"generator-section"},B8={class:"uuid-info"},M8={class:"info-grid"},O8={class:"info-header"},U8={class:"info-description"},j8={class:"info-features"},L8={class:"feature-item"},R8={class:"feature-item"},z8={class:"feature-item"},H8={class:"feature-value"},$8=Wi($a({__name:"UuidGenerator",emits:["back"],setup(e){il("uuid-generator");const t=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("uuid-generator"),{success:a,error:n}=Vo(),r=St("v4"),s=St(10),i=St([]),o=St(""),l=St(null),c=St({uppercase:!1,withHyphens:!0,withBraces:!1}),u=[{version:"UUID v1",description:"基于时间戳和MAC地址生成,保证时间顺序性,但可能泄露MAC地址信息。",status:"legacy",statusText:"传统",uniqueness:"high",uniquenessText:"高",performance:"medium",performanceText:"中",usage:"需要时间顺序的场景"},{version:"UUID v4",description:"基于随机数生成,最常用的版本,提供良好的唯一性和隐私保护。",status:"recommended",statusText:"推荐",uniqueness:"very-high",uniquenessText:"很高",performance:"high",performanceText:"高",usage:"通用场景、数据库主键"},{version:"UUID v7",description:"基于时间戳和随机数,结合了v1的时间顺序性和v4的随机性,是最新标准。",status:"modern",statusText:"现代",uniqueness:"very-high",uniquenessText:"很高",performance:"high",performanceText:"高",usage:"现代应用、分布式系统"}],d=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{const t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),h=()=>{const e=Date.now().toString(16).padStart(12,"0"),t=Math.floor(16384*Math.random()),a=Array.from({length:6},()=>Math.floor(256*Math.random()).toString(16).padStart(2,"0")).join("");return`${e.slice(-8)}-${e.slice(-12,-8)}-${"1"+e.slice(-15,-12).padStart(3,"0")}-${(32768|t).toString(16)}-${a}`},p=()=>{const e=Date.now().toString(16).padStart(12,"0"),t=Math.floor(4096*Math.random()).toString(16).padStart(3,"0"),a=Math.floor(0x40000000000000*Math.random()).toString(16).padStart(14,"0");return`${e.slice(0,8)}-${e.slice(8)}-7${t}-${(8|parseInt(a.slice(0,1),16)).toString(16)}${a.slice(1,4)}-${a.slice(4)}`},f=e=>{let t=e;return c.value.withHyphens||(t=t.replace(/-/g,"")),t=c.value.uppercase?t.toUpperCase():t.toLowerCase(),c.value.withBraces&&(t=`{${t}}`),t},m=()=>{const e=[];for(let t=0;t{s.value=e},y=()=>{if(i.value.length>0){const e=i.value.map(e=>{let t=e.replace(/[{}]/g,"");return 32===t.length&&(t=`${t.slice(0,8)}-${t.slice(8,12)}-${t.slice(12,16)}-${t.slice(16,20)}-${t.slice(20)}`),t});i.value=e.map(e=>f(e))}},v=async()=>{if(0!==i.value.length)try{const e=JSON.stringify(i.value,null,2);await navigator.clipboard.writeText(e),a(`已复制 ${i.value.length} 个UUID为JSON格式`)}catch(e){n("复制失败")}},b=async()=>{if(0!==i.value.length)try{const e=i.value.join("\n");await navigator.clipboard.writeText(e),a(`已复制 ${i.value.length} 个UUID`)}catch(e){n("复制失败")}},w=()=>{if(0===i.value.length)return;const e=["UUID生成结果",`版本: ${r.value.toUpperCase()}`,`数量: ${i.value.length}`,`生成时间: ${(new Date).toLocaleString()}`,`格式选项: ${c.value.uppercase?"大写":"小写"}, ${c.value.withHyphens?"包含连字符":"无连字符"}, ${c.value.withBraces?"包含大括号":"无大括号"}`,"",...i.value.map((e,t)=>`${t+1}. ${e}`)].join("\n"),t=(new Date).toISOString().slice(0,19).replace(/:/g,"-"),n=new Blob([e],{type:"text/plain"}),s=URL.createObjectURL(n),o=document.createElement("a");o.href=s,o.download=`uuids-${r.value}-${t}.txt`,o.click(),URL.revokeObjectURL(s),a("UUID列表已导出")},x=()=>{const e=o.value.trim();if(!e)return void(l.value=null);const t=e.replace(/[{}\s]/g,"");let a,n,r,s=!1,i="无效格式";if(/^[0-9a-f]{8}-?[0-9a-f]{4}-?[1-7][0-9a-f]{3}-?[89ab][0-9a-f]{3}-?[0-9a-f]{12}$/i.test(t)||/^[0-9a-f]{32}$/i.test(t)){s=!0,i=t.includes("-")?"标准格式":"紧凑格式";const e=t.replace(/-/g,"")[12];switch(e){case"1":a="UUID v1 (时间戳)";break;case"4":a="UUID v4 (随机)";break;case"7":a="UUID v7 (时间戳+随机)";break;default:a=`UUID v${e} (其他版本)`}const o=t.replace(/-/g,"")[16];if(o){n=8&~parseInt(o,16)?"其他变体":"RFC 4122"}if("1"===e||"7"===e)try{if("7"===e){const e=t.replace(/-/g,"").slice(0,12),a=parseInt(e,16);r=new Date(a).toLocaleString()}}catch(c){}}l.value={isValid:s,format:i,version:a,variant:n,timestamp:r}},k=()=>{i.value=[],o.value="",l.value=null,a("已清空所有内容")};return m(),(e,d)=>(Cr(),Tr("div",K6,[Or(hl,{title:Nt(t),onBack:d[0]||(d[0]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",J6,[Or(jl,{icon:"clear",tooltip:"清空所有",onClick:k}),Or(jl,{icon:"copy",tooltip:"复制全部",onClick:b,disabled:0===i.value.length},null,8,["disabled"]),Or(jl,{icon:"format",tooltip:"复制JSON",onClick:v,disabled:0===i.value.length},null,8,["disabled"]),Or(jl,{icon:"download",tooltip:"导出文件",onClick:w,disabled:0===i.value.length},null,8,["disabled"])])]),_:1},8,["title"]),Mr("div",q6,[Mr("div",Z6,[d[22]||(d[22]=Lr('

    UUID生成器

    生成各种版本的UUID(通用唯一标识符)

    ',1)),Mr("div",X6,[Mr("div",Q6,[Mr("div",e8,[d[12]||(d[12]=Mr("label",null,"UUID版本",-1)),ca(Mr("select",{"onUpdate:modelValue":d[1]||(d[1]=e=>r.value=e),onChange:m,class:"version-select"},[...d[11]||(d[11]=[Mr("option",{value:"v1"},"UUID v1 (时间戳)",-1),Mr("option",{value:"v4"},"UUID v4 (随机)",-1),Mr("option",{value:"v7"},"UUID v7 (时间戳+随机)",-1)])],544),[[_i,r.value]])]),Mr("div",t8,[d[13]||(d[13]=Mr("label",null,"生成数量",-1)),Mr("div",a8,[ca(Mr("input",{"onUpdate:modelValue":d[2]||(d[2]=e=>s.value=e),type:"number",min:"1",max:"1000",class:"quantity-input"},null,512),[[bi,s.value,void 0,{number:!0}]]),Mr("div",n8,[Mr("button",{class:Q(["quantity-btn",{active:1===s.value}]),onClick:d[3]||(d[3]=e=>g(1))},"1",2),Mr("button",{class:Q(["quantity-btn",{active:10===s.value}]),onClick:d[4]||(d[4]=e=>g(10))},"10",2),Mr("button",{class:Q(["quantity-btn",{active:50===s.value}]),onClick:d[5]||(d[5]=e=>g(50))},"50",2),Mr("button",{class:Q(["quantity-btn",{active:100===s.value}]),onClick:d[6]||(d[6]=e=>g(100))},"100",2)])])]),Mr("div",r8,[d[17]||(d[17]=Mr("label",null,"格式选项",-1)),Mr("div",s8,[Mr("label",i8,[ca(Mr("input",{"onUpdate:modelValue":d[7]||(d[7]=e=>c.value.uppercase=e),type:"checkbox",onChange:y},null,544),[[wi,c.value.uppercase]]),d[14]||(d[14]=Mr("span",null,"大写",-1))]),Mr("label",o8,[ca(Mr("input",{"onUpdate:modelValue":d[8]||(d[8]=e=>c.value.withHyphens=e),type:"checkbox",onChange:y},null,544),[[wi,c.value.withHyphens]]),d[15]||(d[15]=Mr("span",null,"包含连字符",-1))]),Mr("label",l8,[ca(Mr("input",{"onUpdate:modelValue":d[9]||(d[9]=e=>c.value.withBraces=e),type:"checkbox",onChange:y},null,544),[[wi,c.value.withBraces]]),d[16]||(d[16]=Mr("span",null,"包含大括号",-1))])])]),Mr("div",{class:"generate-actions"},[Mr("button",{class:"generate-btn",onClick:m},[...d[18]||(d[18]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1),jr(" 生成UUID ",-1)])])])]),Mr("div",c8,[Mr("div",u8,[d[19]||(d[19]=Mr("h4",null,"生成结果",-1)),Mr("span",d8,"共 "+se(i.value.length)+" 个UUID",1)]),0===i.value.length?(Cr(),Tr("div",h8,[...d[20]||(d[20]=[Mr("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M12 2L2 7l10 5 10-5-10-5z"}),Mr("path",{d:"M2 17l10 5 10-5"}),Mr("path",{d:"M2 12l10 5 10-5"})],-1),Mr("p",null,'点击"生成UUID"按钮开始生成',-1)])])):(Cr(),Tr("div",p8,[(Cr(!0),Tr(br,null,yn(i.value,(e,t)=>(Cr(),Tr("div",{key:t,class:"uuid-item"},[Mr("div",f8,se(t+1),1),Mr("div",m8,se(e),1),Mr("button",{class:"copy-uuid-btn",onClick:t=>(async e=>{try{await navigator.clipboard.writeText(e),a("UUID已复制")}catch(t){n("复制失败")}})(e),title:"复制"},[...d[21]||(d[21]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2"}),Mr("path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2"})],-1)])],8,g8)]))),128))]))])])]),Mr("div",y8,[d[31]||(d[31]=Lr('

    UUID验证器

    验证UUID格式和版本信息

    ',1)),Mr("div",v8,[Mr("div",b8,[d[23]||(d[23]=Mr("label",null,"输入UUID",-1)),ca(Mr("input",{"onUpdate:modelValue":d[10]||(d[10]=e=>o.value=e),placeholder:"请输入要验证的UUID...",class:"validate-input",onInput:x},null,544),[[bi,o.value]])]),l.value?(Cr(),Tr("div",w8,[Mr("div",x8,[d[26]||(d[26]=Mr("h4",null,"验证结果",-1)),Mr("div",{class:Q(["validation-status",l.value.isValid?"valid":"invalid"])},[l.value.isValid?(Cr(),Tr("svg",k8,[...d[24]||(d[24]=[Mr("polyline",{points:"20,6 9,17 4,12"},null,-1)])])):(Cr(),Tr("svg",_8,[...d[25]||(d[25]=[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"},null,-1),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"},null,-1)])])),jr(" "+se(l.value.isValid?"有效":"无效"),1)],2)]),Mr("div",E8,[Mr("div",C8,[d[27]||(d[27]=Mr("span",{class:"detail-label"},"格式:",-1)),Mr("span",F8,se(l.value.format),1)]),l.value.version?(Cr(),Tr("div",D8,[d[28]||(d[28]=Mr("span",{class:"detail-label"},"版本:",-1)),Mr("span",A8,se(l.value.version),1)])):Rr("",!0),l.value.variant?(Cr(),Tr("div",T8,[d[29]||(d[29]=Mr("span",{class:"detail-label"},"变体:",-1)),Mr("span",S8,se(l.value.variant),1)])):Rr("",!0),l.value.timestamp?(Cr(),Tr("div",I8,[d[30]||(d[30]=Mr("span",{class:"detail-label"},"时间戳:",-1)),Mr("span",N8,se(l.value.timestamp),1)])):Rr("",!0)])])):Rr("",!0)])]),Mr("div",P8,[d[37]||(d[37]=Lr('

    UUID版本说明

    了解不同UUID版本的特点和用途

    ',1)),Mr("div",B8,[Mr("div",M8,[(Cr(),Tr(br,null,yn(u,e=>Mr("div",{key:e.version,class:"info-card"},[Mr("div",O8,[Mr("h4",null,se(e.version),1),Mr("span",{class:Q(["info-badge",e.status])},se(e.statusText),3)]),Mr("div",U8,se(e.description),1),Mr("div",j8,[Mr("div",L8,[d[33]||(d[33]=Mr("span",{class:"feature-label"},"唯一性:",-1)),Mr("div",{class:Q(["feature-level",e.uniqueness])},[d[32]||(d[32]=Mr("div",{class:"feature-bar"},null,-1)),Mr("span",null,se(e.uniquenessText),1)],2)]),Mr("div",R8,[d[35]||(d[35]=Mr("span",{class:"feature-label"},"性能:",-1)),Mr("div",{class:Q(["feature-level",e.performance])},[d[34]||(d[34]=Mr("div",{class:"feature-bar"},null,-1)),Mr("span",null,se(e.performanceText),1)],2)]),Mr("div",z8,[d[36]||(d[36]=Mr("span",{class:"feature-label"},"用途:",-1)),Mr("span",H8,se(e.usage),1)])])])),64))])])])])]))}}),[["__scopeId","data-v-8df3160f"]]),Y8={class:"programming-languages"},G8={class:"converter-content"},W8={class:"languages-list"},V8=["onClick"],K8={class:"language-header"},J8={class:"language-info"},q8={class:"language-name"},Z8={class:"language-description"},X8={class:"language-meta"},Q8={class:"language-year"},e7={class:"language-tags"},t7={class:"language-stats"},a7={class:"stat-item"},n7={class:"difficulty-bar"},r7={class:"stat-value"},s7={class:"stat-item"},i7={class:"popularity-bar"},o7={class:"stat-value"},l7={key:0,class:"modal-body-content"},c7={class:"modal-header"},u7={class:"modal-title-section"},d7={class:"modal-subtitle"},h7={class:"modal-content"},p7={class:"modal-section"},f7={class:"info-grid"},m7={class:"info-item"},g7={class:"info-value"},y7={class:"info-item"},v7={class:"info-value"},b7={class:"info-item"},w7={class:"info-value"},x7={class:"info-item"},k7={class:"info-value"},_7={class:"modal-section"},E7={class:"features-list"},C7={class:"modal-section"},F7={class:"use-cases"},D7={class:"modal-section"},A7={class:"resources-grid"},T7=["href"],S7={class:"resource-icon"},I7={class:"resource-name"},N7=Wi($a({__name:"ProgrammingLanguages",emits:["back"],setup(e){il("programming-languages");const t=St(""),a=St("all"),n=St(null),r=St([{id:"python",name:"Python",description:"简洁、易读的高级编程语言",icon:"PY",color:"#3776ab",year:1991,creator:"Guido van Rossum",type:"解释型",paradigm:"多范式",difficulty:1,popularity:95,tags:["popular","system"],features:["语法简洁清晰","丰富的标准库","强大的第三方生态","跨平台支持","动态类型"],useCases:["数据科学","Web开发","人工智能","自动化脚本","科学计算"],resources:[{name:"Python官网",url:"https://www.python.org/",icon:"🌐"},{name:"廖雪峰Python教程",url:"https://www.liaoxuefeng.com/wiki/1016959663602400",icon:"📚"},{name:"Python Package Index",url:"https://pypi.org/",icon:"📦"}]},{id:"c",name:"C",description:"经典的系统编程语言",icon:"C",color:"#a8b9cc",year:1972,creator:"Dennis Ritchie",type:"编译型",paradigm:"过程式",difficulty:4,popularity:85,tags:["system"],features:["高效的执行速度","底层硬件控制","简洁的语法","广泛的平台支持","内存管理控制"],useCases:["操作系统","嵌入式系统","系统软件","驱动程序","编译器"],resources:[{name:"C语言教程",url:"https://www.runoob.com/cprogramming/c-tutorial.html",icon:"📚"},{name:"GNU GCC",url:"https://gcc.gnu.org/",icon:"�"},{name:"C标准库参考",url:"https://en.cppreference.com/w/c",icon:"📖"}]},{id:"cpp",name:"C++",description:"高性能的系统编程语言",icon:"C+",color:"#00599c",year:1985,creator:"Bjarne Stroustrup",type:"编译型",paradigm:"多范式",difficulty:4,popularity:80,tags:["system"],features:["高性能执行","底层控制能力","丰富的标准库","多范式支持","广泛的平台支持"],useCases:["系统软件","游戏引擎","嵌入式开发","高性能计算","操作系统"],resources:[{name:"cppreference",url:"https://zh.cppreference.com/",icon:"📚"},{name:"ISO C++",url:"https://isocpp.org/",icon:"�"},{name:"Boost库",url:"https://www.boost.org/",icon:"📦"}]},{id:"java",name:"Java",description:"面向对象的、跨平台的编程语言",icon:"JA",color:"#ed8b00",year:1995,creator:"James Gosling",type:"编译型",paradigm:"面向对象",difficulty:3,popularity:85,tags:["popular","system"],features:["跨平台运行","强类型系统","自动内存管理","丰富的API","企业级支持"],useCases:["企业应用","Android开发","Web后端","大数据处理","桌面应用"],resources:[{name:"Oracle Java文档",url:"https://docs.oracle.com/javase/",icon:"📚"},{name:"Spring框架",url:"https://spring.io/",icon:"🌱"},{name:"Maven仓库",url:"https://mvnrepository.com/",icon:"📦"}]},{id:"csharp",name:"C#",description:"Microsoft开发的面向对象编程语言",icon:"C#",color:"#239120",year:2e3,creator:"Microsoft",type:"编译型",paradigm:"面向对象",difficulty:3,popularity:75,tags:["popular","system"],features:["强类型系统",".NET生态系统","自动内存管理","跨平台支持","丰富的标准库"],useCases:["Windows应用","Web开发","游戏开发","企业应用","移动应用"],resources:[{name:"Microsoft C#文档",url:"https://docs.microsoft.com/zh-cn/dotnet/csharp/",icon:"📚"},{name:".NET官网",url:"https://dotnet.microsoft.com/",icon:"🌐"},{name:"NuGet包管理",url:"https://www.nuget.org/",icon:"📦"}]},{id:"javascript",name:"JavaScript",description:"动态的、弱类型的解释型编程语言",icon:"JS",color:"#f7df1e",year:1995,creator:"Brendan Eich",type:"解释型",paradigm:"多范式",difficulty:2,popularity:90,tags:["popular","web"],features:["动态类型系统","函数式编程支持","原型继承","事件驱动","跨平台支持"],useCases:["Web前端","Node.js后端","移动应用","桌面应用","游戏开发"],resources:[{name:"MDN Web Docs",url:"https://developer.mozilla.org/zh-CN/docs/Web/JavaScript",icon:"📚"},{name:"JavaScript.info",url:"https://zh.javascript.info/",icon:"�"},{name:"Node.js官网",url:"https://nodejs.org/",icon:"🌐"}]},{id:"visual-basic",name:"Visual Basic",description:"Microsoft开发的事件驱动编程语言",icon:"VB",color:"#945db7",year:1991,creator:"Microsoft",type:"编译型",paradigm:"面向对象",difficulty:2,popularity:60,tags:["system"],features:["可视化开发环境","事件驱动编程","简单易学","Windows集成","RAD开发"],useCases:["Windows应用","办公自动化","数据库应用","企业软件","原型开发"],resources:[{name:"VB.NET文档",url:"https://docs.microsoft.com/zh-cn/dotnet/visual-basic/",icon:"📚"},{name:"Visual Studio",url:"https://visualstudio.microsoft.com/",icon:"🔧"},{name:".NET框架",url:"https://dotnet.microsoft.com/",icon:"🌐"}]},{id:"sql",name:"SQL",description:"结构化查询语言,用于数据库操作",icon:"SQL",color:"#336791",year:1974,creator:"IBM",type:"声明式",paradigm:"声明式",difficulty:2,popularity:85,tags:["popular"],features:["标准化语法","声明式查询","数据完整性","事务支持","跨平台兼容"],useCases:["数据库查询","数据分析","报表生成","数据管理","商业智能"],resources:[{name:"SQL教程",url:"https://www.runoob.com/sql/sql-tutorial.html",icon:"📚"},{name:"MySQL文档",url:"https://dev.mysql.com/doc/",icon:"🐬"},{name:"PostgreSQL文档",url:"https://www.postgresql.org/docs/",icon:"🐘"}]},{id:"perl",name:"Perl",description:"强大的文本处理和系统管理语言",icon:"PL",color:"#39457e",year:1987,creator:"Larry Wall",type:"解释型",paradigm:"多范式",difficulty:3,popularity:45,tags:["system"],features:["强大的正则表达式","文本处理能力","CPAN模块库","灵活的语法","跨平台支持"],useCases:["文本处理","系统管理","Web开发","生物信息学","网络编程"],resources:[{name:"Perl官网",url:"https://www.perl.org/",icon:"🌐"},{name:"CPAN",url:"https://www.cpan.org/",icon:"📦"},{name:"Perl文档",url:"https://perldoc.perl.org/",icon:"📚"}]},{id:"r",name:"R",description:"统计计算和图形的编程语言",icon:"R",color:"#276dc3",year:1993,creator:"Ross Ihaka & Robert Gentleman",type:"解释型",paradigm:"函数式",difficulty:3,popularity:55,tags:["system"],features:["统计分析功能","数据可视化","丰富的包生态","向量化操作","交互式环境"],useCases:["统计分析","数据科学","机器学习","生物统计","金融分析"],resources:[{name:"R官网",url:"https://www.r-project.org/",icon:"🌐"},{name:"CRAN",url:"https://cran.r-project.org/",icon:"📦"},{name:"RStudio",url:"https://www.rstudio.com/",icon:"🔧"}]},{id:"delphi",name:"Delphi/Object Pascal",description:"面向对象的Pascal语言扩展",icon:"DP",color:"#ee1f35",year:1995,creator:"Borland",type:"编译型",paradigm:"面向对象",difficulty:3,popularity:40,tags:["system"],features:["快速应用开发","可视化设计器","强类型系统","原生代码编译","数据库集成"],useCases:["Windows应用","数据库应用","企业软件","桌面工具","系统工具"],resources:[{name:"Embarcadero Delphi",url:"https://www.embarcadero.com/products/delphi",icon:"🔧"},{name:"Free Pascal",url:"https://www.freepascal.org/",icon:"🆓"},{name:"Lazarus IDE",url:"https://www.lazarus-ide.org/",icon:"🔧"}]},{id:"fortran",name:"Fortran",description:"科学计算的先驱编程语言",icon:"F",color:"#734f96",year:1957,creator:"IBM",type:"编译型",paradigm:"过程式",difficulty:3,popularity:35,tags:["system"],features:["高性能数值计算","数组处理能力","并行计算支持","科学计算库","长期稳定性"],useCases:["科学计算","工程仿真","天气预报","数值分析","高性能计算"],resources:[{name:"Fortran官网",url:"https://fortran-lang.org/",icon:"🌐"},{name:"GNU Fortran",url:"https://gcc.gnu.org/fortran/",icon:"🔧"},{name:"Intel Fortran",url:"https://software.intel.com/content/www/us/en/develop/tools/oneapi/components/fortran-compiler.html",icon:"🔧"}]},{id:"matlab",name:"MATLAB",description:"数值计算和算法开发平台",icon:"ML",color:"#0076a8",year:1984,creator:"MathWorks",type:"解释型",paradigm:"数值计算",difficulty:2,popularity:50,tags:["system"],features:["矩阵运算","算法开发","数据可视化","仿真建模","工具箱生态"],useCases:["科学计算","工程分析","算法开发","数据分析","控制系统"],resources:[{name:"MATLAB官网",url:"https://www.mathworks.com/products/matlab.html",icon:"🌐"},{name:"MATLAB文档",url:"https://www.mathworks.com/help/matlab/",icon:"📚"},{name:"File Exchange",url:"https://www.mathworks.com/matlabcentral/fileexchange/",icon:"📦"}]},{id:"ada",name:"Ada",description:"高可靠性的系统编程语言",icon:"ADA",color:"#02f88c",year:1980,creator:"Jean Ichbiah",type:"编译型",paradigm:"面向对象",difficulty:4,popularity:25,tags:["system"],features:["强类型系统","高可靠性","并发编程","实时系统支持","安全关键应用"],useCases:["航空航天","国防系统","交通控制","医疗设备","金融系统"],resources:[{name:"Ada官网",url:"https://www.adacore.com/",icon:"🌐"},{name:"GNAT编译器",url:"https://www.adacore.com/gnatpro",icon:"🔧"},{name:"Ada参考手册",url:"http://www.ada-auth.org/standards/ada12.html",icon:"📚"}]},{id:"go",name:"Go",description:"Google开发的简洁高效的编程语言",icon:"GO",color:"#00add8",year:2009,creator:"Google",type:"编译型",paradigm:"过程式",difficulty:2,popularity:65,tags:["popular","system"],features:["简洁的语法","快速编译","并发编程支持","垃圾回收","静态类型"],useCases:["微服务","云原生应用","网络编程","系统工具","DevOps工具"],resources:[{name:"Go语言之旅",url:"https://tour.golang.org/",icon:"🎯"},{name:"Go包索引",url:"https://pkg.go.dev/",icon:"📦"}]},{id:"php",name:"PHP",description:"专为Web开发设计的脚本语言",icon:"PHP",color:"#777bb4",year:1995,creator:"Rasmus Lerdorf",type:"解释型",paradigm:"多范式",difficulty:2,popularity:70,tags:["web"],features:["易于学习","丰富的Web框架","广泛的主机支持","大量的扩展库","活跃的社区"],useCases:["Web开发","CMS系统","API开发","电子商务","内容管理"],resources:[{name:"PHP官网",url:"https://www.php.net/",icon:"🌐"},{name:"PHP手册",url:"https://www.php.net/manual/zh/",icon:"📚"},{name:"Packagist",url:"https://packagist.org/",icon:"📦"}]},{id:"rust",name:"Rust",description:"内存安全的系统编程语言",icon:"RS",color:"#ce422b",year:2010,creator:"Mozilla",type:"编译型",paradigm:"多范式",difficulty:4,popularity:60,tags:["system"],features:["内存安全","零成本抽象","并发安全","高性能","现代语言特性"],useCases:["系统编程","Web后端","区块链","游戏引擎","操作系统"],resources:[{name:"Rust官网",url:"https://www.rust-lang.org/",icon:"🌐"},{name:"Rust程序设计语言",url:"https://doc.rust-lang.org/book/",icon:"📚"},{name:"Crates.io",url:"https://crates.io/",icon:"📦"}]},{id:"scratch",name:"Scratch",description:"可视化编程语言,适合初学者",icon:"SC",color:"#ffab19",year:2007,creator:"MIT Media Lab",type:"可视化",paradigm:"事件驱动",difficulty:1,popularity:40,tags:["popular"],features:["拖拽式编程","可视化界面","教育导向","创意表达","社区分享"],useCases:["编程教育","创意项目","游戏制作","动画制作","互动故事"],resources:[{name:"Scratch官网",url:"https://scratch.mit.edu/",icon:"🌐"},{name:"Scratch教程",url:"https://scratch.mit.edu/ideas",icon:"📚"},{name:"Scratch社区",url:"https://scratch.mit.edu/explore/projects/all",icon:"👥"}]},{id:"assembly",name:"Assembly",description:"低级汇编语言,直接操作硬件",icon:"ASM",color:"#6e4c13",year:1949,creator:"Various",type:"汇编",paradigm:"过程式",difficulty:5,popularity:30,tags:["system"],features:["直接硬件控制","最高执行效率","精确内存管理","平台特定","底层优化"],useCases:["嵌入式系统","驱动程序","系统内核","性能优化","逆向工程"],resources:[{name:"NASM汇编器",url:"https://www.nasm.us/",icon:"🔧"},{name:"x86汇编指南",url:"https://www.cs.virginia.edu/~evans/cs216/guides/x86.html",icon:"📚"},{name:"ARM汇编",url:"https://developer.arm.com/documentation",icon:"📖"}]},{id:"kotlin",name:"Kotlin",description:"JetBrains开发的现代编程语言",icon:"KT",color:"#7f52ff",year:2011,creator:"JetBrains",type:"编译型",paradigm:"多范式",difficulty:3,popularity:60,tags:["mobile"],features:["与Java完全互操作","简洁的语法","空安全","函数式编程支持","协程支持"],useCases:["Android开发","Web开发","服务器端开发","跨平台移动开发"],resources:[{name:"Kotlin官网",url:"https://kotlinlang.org/",icon:"🌐"},{name:"Kotlin文档",url:"https://kotlinlang.org/docs/",icon:"📚"},{name:"Kotlin多平台",url:"https://kotlinlang.org/lp/mobile/",icon:"📱"}]}]),s=is(()=>r.value.filter(e=>e.tags.includes("popular"))),i=is(()=>r.value.filter(e=>e.tags.includes("web"))),o=is(()=>r.value.filter(e=>e.tags.includes("mobile"))),l=is(()=>r.value.filter(e=>e.tags.includes("system"))),c=is(()=>[{key:"all",name:"全部",count:r.value.length},{key:"popular",name:"热门",count:s.value.length},{key:"web",name:"Web开发",count:i.value.length},{key:"mobile",name:"移动开发",count:o.value.length},{key:"system",name:"系统编程",count:l.value.length}]),u=is(()=>{let e=r.value;switch(a.value){case"popular":e=s.value;break;case"web":e=i.value;break;case"mobile":e=o.value;break;case"system":e=l.value}if(t.value){const a=t.value.toLowerCase();e=e.filter(e=>e.name.toLowerCase().includes(a)||e.description.toLowerCase().includes(a)||e.creator.toLowerCase().includes(a)||e.useCases.some(e=>e.toLowerCase().includes(a)))}return e}),d=e=>["入门","简单","中等","困难","专家"][e-1]||"未知";return(e,r)=>(Cr(),Tr("div",Y8,[Or(hl,{title:"编程语言大全",onBack:r[0]||(r[0]=t=>e.$emit("back"))}),Mr("div",G8,[Or($X,{searchQuery:t.value,"onUpdate:searchQuery":r[1]||(r[1]=e=>t.value=e),placeholder:"搜索编程语言...",filters:c.value,activeFilter:a.value,"onUpdate:activeFilter":r[2]||(r[2]=e=>a.value=e)},null,8,["searchQuery","filters","activeFilter"]),Mr("div",W8,[(Cr(!0),Tr(br,null,yn(u.value,e=>{return Cr(),Tr("div",{key:e.id,class:"language-card",onClick:t=>(e=>{n.value=e})(e)},[Mr("div",K8,[Mr("div",{class:"language-icon",style:K({backgroundColor:e.color})},se(e.icon),5),Mr("div",J8,[Mr("h3",q8,se(e.name),1),Mr("p",Z8,se(e.description),1)]),Mr("div",X8,[Mr("span",Q8,se(e.year),1),Mr("div",e7,[(Cr(!0),Tr(br,null,yn(e.tags,e=>(Cr(),Tr("span",{key:e,class:Q(["tag",e])},se(e),3))),128))])])]),Mr("div",t7,[Mr("div",a7,[r[5]||(r[5]=Mr("span",{class:"stat-label"},"难度:",-1)),Mr("div",n7,[Mr("div",{class:"difficulty-fill",style:K({width:20*e.difficulty+"%",backgroundColor:(t=e.difficulty,["#10b981","#f59e0b","#f97316","#ef4444","#dc2626"][t-1]||"#6b7280")})},null,4)]),Mr("span",r7,se(d(e.difficulty)),1)]),Mr("div",s7,[r[6]||(r[6]=Mr("span",{class:"stat-label"},"流行度:",-1)),Mr("div",i7,[Mr("div",{class:"popularity-fill",style:K({width:e.popularity+"%",backgroundColor:"#10b981"})},null,4)]),Mr("span",o7,se(e.popularity)+"%",1)])])],8,V8);var t}),128))]),r[7]||(r[7]=Lr('

    编程语言排行榜来源

    在编程语言排行榜中,有许多不同的榜单和排名系统,每个系统都有自己的标准和考量因素。以下是一些全球公认的编程语言排行榜和排名系统:

    注意:每个排名系统都有其独特的视角和方法论,建议根据具体需求(了解当前趋势、评估学习价值、寻找就业机会等)来选择合适的排名系统参考。

    ',1))]),Or(tQ,{visible:!!n.value,"onUpdate:visible":r[4]||(r[4]=e=>n.value=null),title:"",showHeader:!1,maxWidth:"800px",maxHeight:"90vh"},{default:la(()=>[n.value?(Cr(),Tr("div",l7,[Mr("div",c7,[Mr("div",u7,[Mr("div",{class:"language-icon large",style:K({backgroundColor:n.value.color})},se(n.value.icon),5),Mr("div",null,[Mr("h2",null,se(n.value.name),1),Mr("p",d7,se(n.value.description),1)])]),Mr("button",{class:"close-btn",onClick:r[3]||(r[3]=e=>n.value=null)},[...r[8]||(r[8]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),Mr("div",h7,[Mr("div",p7,[r[13]||(r[13]=Mr("h3",null,"基本信息",-1)),Mr("div",f7,[Mr("div",m7,[r[9]||(r[9]=Mr("span",{class:"info-label"},"发布年份:",-1)),Mr("span",g7,se(n.value.year),1)]),Mr("div",y7,[r[10]||(r[10]=Mr("span",{class:"info-label"},"设计者:",-1)),Mr("span",v7,se(n.value.creator),1)]),Mr("div",b7,[r[11]||(r[11]=Mr("span",{class:"info-label"},"类型:",-1)),Mr("span",w7,se(n.value.type),1)]),Mr("div",x7,[r[12]||(r[12]=Mr("span",{class:"info-label"},"范式:",-1)),Mr("span",k7,se(n.value.paradigm),1)])])]),Mr("div",_7,[r[14]||(r[14]=Mr("h3",null,"特点与优势",-1)),Mr("ul",E7,[(Cr(!0),Tr(br,null,yn(n.value.features,e=>(Cr(),Tr("li",{key:e},se(e),1))),128))])]),Mr("div",C7,[r[15]||(r[15]=Mr("h3",null,"主要用途",-1)),Mr("div",F7,[(Cr(!0),Tr(br,null,yn(n.value.useCases,e=>(Cr(),Tr("span",{key:e,class:"use-case-tag"},se(e),1))),128))])]),Mr("div",D7,[r[17]||(r[17]=Mr("h3",null,"学习资源",-1)),Mr("div",A7,[(Cr(!0),Tr(br,null,yn(n.value.resources,e=>(Cr(),Tr("a",{key:e.name,href:e.url,target:"_blank",class:"resource-link"},[Mr("span",S7,se(e.icon),1),Mr("span",I7,se(e.name),1),r[16]||(r[16]=Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6"}),Mr("polyline",{points:"15,3 21,3 21,9"}),Mr("line",{x1:"10",y1:"14",x2:"21",y2:"3"})],-1))],8,T7))),128))])])])])):Rr("",!0)]),_:1},8,["visible"]),Or(JX,{container:".converter-content"})]))}}),[["__scopeId","data-v-badf73b1"]]),P7=[{key:"all",name:"全部",icon:"🌟"},{key:"smileys",name:"笑脸和情感",icon:"😂"},{key:"people",name:"人类和身体",icon:"👌"},{key:"animals",name:"动物和自然",icon:"🐵"},{key:"food",name:"食物和饮料",icon:"🍓"},{key:"travel",name:"旅行和地点",icon:"🚌"},{key:"activities",name:"活动",icon:"⚽"},{key:"objects",name:"物品",icon:"⌚"},{key:"symbols",name:"符号",icon:"💯"}],B7=[{symbol:"😀",name:"开心",code:"U+1F600",category:"smileys",keywords:["开心","笑","高兴"]},{symbol:"😃",name:"大笑",code:"U+1F603",category:"smileys",keywords:["大笑","开心","兴奋"]},{symbol:"😄",name:"笑眯眯",code:"U+1F604",category:"smileys",keywords:["笑眯眯","开心","愉快"]},{symbol:"😁",name:"咧嘴笑",code:"U+1F601",category:"smileys",keywords:["咧嘴笑","开心","兴奋"]},{symbol:"😆",name:"哈哈大笑",code:"U+1F606",category:"smileys",keywords:["哈哈","大笑","开心"]},{symbol:"😅",name:"苦笑",code:"U+1F605",category:"smileys",keywords:["苦笑","尴尬","汗"]},{symbol:"🤣",name:"笑哭了",code:"U+1F923",category:"smileys",keywords:["笑哭","大笑","眼泪"]},{symbol:"😂",name:"喜极而泣",code:"U+1F602",category:"smileys",keywords:["喜极而泣","笑哭","开心"]},{symbol:"🙂",name:"微笑",code:"U+1F642",category:"smileys",keywords:["微笑","开心","友好"]},{symbol:"🙃",name:"倒脸",code:"U+1F643",category:"smileys",keywords:["倒脸","调皮","搞怪"]},{symbol:"😉",name:"眨眼",code:"U+1F609",category:"smileys",keywords:["眨眼","调皮","暗示"]},{symbol:"😊",name:"害羞",code:"U+1F60A",category:"smileys",keywords:["害羞","开心","脸红"]},{symbol:"😇",name:"天使",code:"U+1F607",category:"smileys",keywords:["天使","纯洁","善良"]},{symbol:"🥰",name:"爱心眼",code:"U+1F970",category:"smileys",keywords:["爱心","喜欢","爱"]},{symbol:"😍",name:"花痴",code:"U+1F60D",category:"smileys",keywords:["花痴","爱心眼","喜欢"]},{symbol:"🤩",name:"星星眼",code:"U+1F929",category:"smileys",keywords:["星星眼","崇拜","兴奋"]},{symbol:"😘",name:"飞吻",code:"U+1F618",category:"smileys",keywords:["飞吻","亲吻","爱"]},{symbol:"😗",name:"亲吻",code:"U+1F617",category:"smileys",keywords:["亲吻","吻","爱"]},{symbol:"☺️",name:"开心",code:"U+263A",category:"smileys",keywords:["开心","微笑","愉快"]},{symbol:"😚",name:"闭眼亲吻",code:"U+1F61A",category:"smileys",keywords:["闭眼","亲吻","爱"]},{symbol:"😙",name:"亲吻微笑",code:"U+1F619",category:"smileys",keywords:["亲吻","微笑","开心"]},{symbol:"🥲",name:"含泪微笑",code:"U+1F972",category:"smileys",keywords:["含泪","微笑","感动"]},{symbol:"😋",name:"美味",code:"U+1F60B",category:"smileys",keywords:["美味","好吃","舔嘴"]},{symbol:"😛",name:"吐舌头",code:"U+1F61B",category:"smileys",keywords:["吐舌头","调皮","搞怪"]},{symbol:"😜",name:"眨眼吐舌",code:"U+1F61C",category:"smileys",keywords:["眨眼","吐舌头","调皮"]},{symbol:"🤪",name:"疯狂",code:"U+1F92A",category:"smileys",keywords:["疯狂","搞怪","兴奋"]},{symbol:"😝",name:"闭眼吐舌",code:"U+1F61D",category:"smileys",keywords:["闭眼","吐舌头","调皮"]},{symbol:"🤑",name:"财迷",code:"U+1F911",category:"smileys",keywords:["财迷","金钱","贪婪"]},{symbol:"🤗",name:"拥抱",code:"U+1F917",category:"smileys",keywords:["拥抱","温暖","友好"]},{symbol:"🤭",name:"捂嘴笑",code:"U+1F92D",category:"smileys",keywords:["捂嘴笑","偷笑","害羞"]},{symbol:"🫢",name:"捂嘴惊讶",code:"U+1FAE2",category:"smileys",keywords:["捂嘴","惊讶","震惊"]},{symbol:"🫣",name:"偷看",code:"U+1FAE3",category:"smileys",keywords:["偷看","害羞","好奇"]},{symbol:"🤫",name:"嘘",code:"U+1F92B",category:"smileys",keywords:["嘘","安静","秘密"]},{symbol:"🤔",name:"思考",code:"U+1F914",category:"smileys",keywords:["思考","疑惑","考虑"]},{symbol:"🫡",name:"敬礼",code:"U+1FAE1",category:"smileys",keywords:["敬礼","尊敬","军礼"]},{symbol:"🤐",name:"闭嘴",code:"U+1F910",category:"smileys",keywords:["闭嘴","拉链","保密"]},{symbol:"🤨",name:"挑眉",code:"U+1F928",category:"smileys",keywords:["挑眉","怀疑","质疑"]},{symbol:"😐",name:"面无表情",code:"U+1F610",category:"smileys",keywords:["面无表情","平静","无聊"]},{symbol:"😑",name:"无语",code:"U+1F611",category:"smileys",keywords:["无语","无奈","沉默"]},{symbol:"😶",name:"没嘴",code:"U+1F636",category:"smileys",keywords:["没嘴","沉默","无话可说"]},{symbol:"🫥",name:"虚线脸",code:"U+1FAE5",category:"smileys",keywords:["虚线脸","消失","隐形"]},{symbol:"😏",name:"得意",code:"U+1F60F",category:"smileys",keywords:["得意","坏笑","调皮"]},{symbol:"😒",name:"不爽",code:"U+1F612",category:"smileys",keywords:["不爽","无聊","厌烦"]},{symbol:"🙄",name:"翻白眼",code:"U+1F644",category:"smileys",keywords:["翻白眼","无语","鄙视"]},{symbol:"😬",name:"龇牙",code:"U+1F62C",category:"smileys",keywords:["龇牙","尴尬","紧张"]},{symbol:"😮‍💨",name:"叹气",code:"U+1F62E-200D-1F4A8",category:"smileys",keywords:["叹气","疲惫","无奈"]},{symbol:"🤥",name:"说谎",code:"U+1F925",category:"smileys",keywords:["说谎","撒谎","长鼻子"]},{symbol:"😌",name:"安心",code:"U+1F60C",category:"smileys",keywords:["安心","满足","平静"]},{symbol:"😔",name:"沮丧",code:"U+1F614",category:"smileys",keywords:["沮丧","失望","难过"]},{symbol:"😪",name:"困倦",code:"U+1F62A",category:"smileys",keywords:["困倦","睡觉","疲惫"]},{symbol:"🤤",name:"流口水",code:"U+1F924",category:"smileys",keywords:["流口水","想要","睡觉"]},{symbol:"😴",name:"睡觉",code:"U+1F634",category:"smileys",keywords:["睡觉","困","ZZZ"]},{symbol:"😷",name:"戴口罩",code:"U+1F637",category:"smileys",keywords:["戴口罩","生病","防护"]},{symbol:"🤒",name:"发烧",code:"U+1F912",category:"smileys",keywords:["发烧","生病","温度计"]},{symbol:"🤕",name:"受伤",code:"U+1F915",category:"smileys",keywords:["受伤","绷带","疼痛"]},{symbol:"🤢",name:"恶心",code:"U+1F922",category:"smileys",keywords:["恶心","想吐","不舒服"]},{symbol:"🤮",name:"呕吐",code:"U+1F92E",category:"smileys",keywords:["呕吐","恶心","吐"]},{symbol:"🤧",name:"打喷嚏",code:"U+1F927",category:"smileys",keywords:["打喷嚏","感冒","纸巾"]},{symbol:"🥵",name:"热",code:"U+1F975",category:"smileys",keywords:["热","高温","出汗"]},{symbol:"🥶",name:"冷",code:"U+1F976",category:"smileys",keywords:["冷","低温","发抖"]},{symbol:"🥴",name:"晕",code:"U+1F974",category:"smileys",keywords:["晕","眩晕","醉"]},{symbol:"😵",name:"晕倒",code:"U+1F635",category:"smileys",keywords:["晕倒","昏迷","眩晕"]},{symbol:"😵‍💫",name:"眼冒金星",code:"U+1F635-200D-1F4AB",category:"smileys",keywords:["眼冒金星","晕","眩晕"]},{symbol:"🤯",name:"爆炸头",code:"U+1F92F",category:"smileys",keywords:["爆炸头","震惊","惊讶"]},{symbol:"🤠",name:"牛仔",code:"U+1F920",category:"smileys",keywords:["牛仔","帽子","西部"]},{symbol:"🥳",name:"派对",code:"U+1F973",category:"smileys",keywords:["派对","庆祝","生日"]},{symbol:"🥸",name:"伪装",code:"U+1F978",category:"smileys",keywords:["伪装","眼镜","胡子"]},{symbol:"😎",name:"酷",code:"U+1F60E",category:"smileys",keywords:["酷","墨镜","帅"]},{symbol:"🤓",name:"书呆子",code:"U+1F913",category:"smileys",keywords:["书呆子","眼镜","学霸"]},{symbol:"🧐",name:"单片眼镜",code:"U+1F9D0",category:"smileys",keywords:["单片眼镜","绅士","仔细"]},{symbol:"😕",name:"困惑",code:"U+1F615",category:"smileys",keywords:["困惑","疑惑","不解"]},{symbol:"🫤",name:"斜眼",code:"U+1FAE4",category:"smileys",keywords:["斜眼","怀疑","不确定"]},{symbol:"😟",name:"担心",code:"U+1F61F",category:"smileys",keywords:["担心","忧虑","不安"]},{symbol:"🙁",name:"皱眉",code:"U+1F641",category:"smileys",keywords:["皱眉","不开心","难过"]},{symbol:"☹️",name:"不开心",code:"U+2639",category:"smileys",keywords:["不开心","难过","沮丧"]},{symbol:"😮",name:"惊讶",code:"U+1F62E",category:"smileys",keywords:["惊讶","震惊","张嘴"]},{symbol:"😯",name:"安静惊讶",code:"U+1F62F",category:"smileys",keywords:["安静惊讶","震惊","沉默"]},{symbol:"😲",name:"震惊",code:"U+1F632",category:"smileys",keywords:["震惊","惊讶","不敢相信"]},{symbol:"😳",name:"脸红",code:"U+1F633",category:"smileys",keywords:["脸红","害羞","尴尬"]},{symbol:"🥺",name:"可怜",code:"U+1F97A",category:"smileys",keywords:["可怜","恳求","委屈"]},{symbol:"🥹",name:"含泪",code:"U+1F979",category:"smileys",keywords:["含泪","感动","眼泪"]},{symbol:"😦",name:"皱眉张嘴",code:"U+1F626",category:"smileys",keywords:["皱眉张嘴","担心","不安"]},{symbol:"😧",name:"痛苦",code:"U+1F627",category:"smileys",keywords:["痛苦","难受","折磨"]},{symbol:"😨",name:"恐惧",code:"U+1F628",category:"smileys",keywords:["恐惧","害怕","惊恐"]},{symbol:"😰",name:"焦虑出汗",code:"U+1F630",category:"smileys",keywords:["焦虑","出汗","紧张"]},{symbol:"😥",name:"失望但安心",code:"U+1F625",category:"smileys",keywords:["失望","安心","复杂"]},{symbol:"😢",name:"哭泣",code:"U+1F622",category:"smileys",keywords:["哭泣","眼泪","伤心"]},{symbol:"😭",name:"大哭",code:"U+1F62D",category:"smileys",keywords:["大哭","痛哭","伤心"]},{symbol:"😱",name:"尖叫",code:"U+1F631",category:"smileys",keywords:["尖叫","恐惧","惊恐"]},{symbol:"😖",name:"困扰",code:"U+1F616",category:"smileys",keywords:["困扰","烦恼","纠结"]},{symbol:"😣",name:"坚持",code:"U+1F623",category:"smileys",keywords:["坚持","努力","痛苦"]},{symbol:"😞",name:"失望",code:"U+1F61E",category:"smileys",keywords:["失望","沮丧","难过"]},{symbol:"😓",name:"冷汗",code:"U+1F613",category:"smileys",keywords:["冷汗","紧张","尴尬"]},{symbol:"😩",name:"疲惫",code:"U+1F629",category:"smileys",keywords:["疲惫","累","无奈"]},{symbol:"😫",name:"疲倦",code:"U+1F62B",category:"smileys",keywords:["疲倦","累","困"]},{symbol:"🥱",name:"打哈欠",code:"U+1F971",category:"smileys",keywords:["打哈欠","困","无聊"]},{symbol:"😤",name:"愤怒",code:"U+1F624",category:"smileys",keywords:["愤怒","生气","鼻孔冒气"]},{symbol:"😡",name:"红脸愤怒",code:"U+1F621",category:"smileys",keywords:["红脸愤怒","生气","愤怒"]},{symbol:"😠",name:"愤怒",code:"U+1F620",category:"smileys",keywords:["愤怒","生气","不满"]},{symbol:"🤬",name:"脏话",code:"U+1F92C",category:"smileys",keywords:["脏话","愤怒","骂人"]},{symbol:"😈",name:"坏笑恶魔",code:"U+1F608",category:"smileys",keywords:["坏笑恶魔","恶魔","坏"]},{symbol:"👿",name:"愤怒恶魔",code:"U+1F47F",category:"smileys",keywords:["愤怒恶魔","恶魔","愤怒"]},{symbol:"💀",name:"骷髅",code:"U+1F480",category:"smileys",keywords:["骷髅","死亡","恐怖"]},{symbol:"☠️",name:"骷髅交叉骨",code:"U+2620",category:"smileys",keywords:["骷髅交叉骨","死亡","危险"]},{symbol:"👋",name:"挥手",code:"U+1F44B",category:"people",keywords:["挥手","再见","你好"]},{symbol:"🤚",name:"举手背",code:"U+1F91A",category:"people",keywords:["举手","停止","手背"]},{symbol:"🖐️",name:"张开手",code:"U+1F590",category:"people",keywords:["张开手","五指","手掌"]},{symbol:"✋",name:"举手",code:"U+270B",category:"people",keywords:["举手","停止","手掌"]},{symbol:"🖖",name:"瓦肯礼",code:"U+1F596",category:"people",keywords:["瓦肯礼","星际迷航","和平"]},{symbol:"👌",name:"OK手势",code:"U+1F44C",category:"people",keywords:["OK","好的","完美"]},{symbol:"🤌",name:"捏手指",code:"U+1F90C",category:"people",keywords:["捏手指","意大利","什么"]},{symbol:"🤏",name:"捏一点",code:"U+1F90F",category:"people",keywords:["捏一点","一点点","小"]},{symbol:"✌️",name:"胜利手势",code:"U+270C",category:"people",keywords:["胜利","V","和平"]},{symbol:"🤞",name:"交叉手指",code:"U+1F91E",category:"people",keywords:["交叉手指","祈祷","好运"]},{symbol:"🤟",name:"爱你手势",code:"U+1F91F",category:"people",keywords:["爱你","ILY","手语"]},{symbol:"🤘",name:"摇滚手势",code:"U+1F918",category:"people",keywords:["摇滚","角","重金属"]},{symbol:"🤙",name:"打电话手势",code:"U+1F919",category:"people",keywords:["打电话","联系","冲浪"]},{symbol:"👈",name:"左指",code:"U+1F448",category:"people",keywords:["左指","指向","那边"]},{symbol:"👉",name:"右指",code:"U+1F449",category:"people",keywords:["右指","指向","这边"]},{symbol:"👆",name:"上指",code:"U+1F446",category:"people",keywords:["上指","指向","上面"]},{symbol:"🖕",name:"中指",code:"U+1F595",category:"people",keywords:["中指","愤怒","侮辱"]},{symbol:"👇",name:"下指",code:"U+1F447",category:"people",keywords:["下指","指向","下面"]},{symbol:"☝️",name:"食指",code:"U+261D",category:"people",keywords:["食指","指向","一"]},{symbol:"👍",name:"点赞",code:"U+1F44D",category:"people",keywords:["点赞","好","赞同"]},{symbol:"👎",name:"踩",code:"U+1F44E",category:"people",keywords:["踩","不好","反对"]},{symbol:"✊",name:"拳头",code:"U+270A",category:"people",keywords:["拳头","力量","团结"]},{symbol:"👊",name:"碰拳",code:"U+1F44A",category:"people",keywords:["碰拳","击拳","友谊"]},{symbol:"🤛",name:"左拳",code:"U+1F91B",category:"people",keywords:["左拳","击拳","碰拳"]},{symbol:"🤜",name:"右拳",code:"U+1F91C",category:"people",keywords:["右拳","击拳","碰拳"]},{symbol:"👏",name:"鼓掌",code:"U+1F44F",category:"people",keywords:["鼓掌","赞扬","庆祝"]},{symbol:"🙌",name:"举双手",code:"U+1F64C",category:"people",keywords:["举双手","庆祝","万岁"]},{symbol:"👐",name:"张开双手",code:"U+1F450",category:"people",keywords:["张开双手","拥抱","欢迎"]},{symbol:"🤲",name:"托起双手",code:"U+1F932",category:"people",keywords:["托起双手","祈祷","请求"]},{symbol:"🤝",name:"握手",code:"U+1F91D",category:"people",keywords:["握手","合作","协议"]},{symbol:"🙏",name:"祈祷",code:"U+1F64F",category:"people",keywords:["祈祷","感谢","请求"]},{symbol:"✍️",name:"写字",code:"U+270D",category:"people",keywords:["写字","书写","签名"]},{symbol:"💅",name:"涂指甲",code:"U+1F485",category:"people",keywords:["涂指甲","美甲","时尚"]},{symbol:"🤳",name:"自拍",code:"U+1F933",category:"people",keywords:["自拍","拍照","手机"]},{symbol:"💪",name:"肌肉",code:"U+1F4AA",category:"people",keywords:["肌肉","力量","强壮"]},{symbol:"🦾",name:"机械臂",code:"U+1F9BE",category:"people",keywords:["机械臂","假肢","科技"]},{symbol:"🦿",name:"机械腿",code:"U+1F9BF",category:"people",keywords:["机械腿","假肢","科技"]},{symbol:"🦵",name:"腿",code:"U+1F9B5",category:"people",keywords:["腿","身体","部位"]},{symbol:"🦶",name:"脚",code:"U+1F9B6",category:"people",keywords:["脚","身体","部位"]},{symbol:"👂",name:"耳朵",code:"U+1F442",category:"people",keywords:["耳朵","听","身体"]},{symbol:"🦻",name:"助听器",code:"U+1F9BB",category:"people",keywords:["助听器","听力","辅助"]},{symbol:"👃",name:"鼻子",code:"U+1F443",category:"people",keywords:["鼻子","闻","身体"]},{symbol:"🧠",name:"大脑",code:"U+1F9E0",category:"people",keywords:["大脑","思考","智慧"]},{symbol:"🫀",name:"心脏",code:"U+1FAC0",category:"people",keywords:["心脏","器官","生命"]},{symbol:"🫁",name:"肺",code:"U+1FAC1",category:"people",keywords:["肺","呼吸","器官"]},{symbol:"🦷",name:"牙齿",code:"U+1F9B7",category:"people",keywords:["牙齿","口腔","健康"]},{symbol:"🦴",name:"骨头",code:"U+1F9B4",category:"people",keywords:["骨头","骨骼","身体"]},{symbol:"👀",name:"眼睛",code:"U+1F440",category:"people",keywords:["眼睛","看","注视"]},{symbol:"👁️",name:"眼",code:"U+1F441",category:"people",keywords:["眼","看","观察"]},{symbol:"👅",name:"舌头",code:"U+1F445",category:"people",keywords:["舌头","味觉","身体"]},{symbol:"👄",name:"嘴唇",code:"U+1F444",category:"people",keywords:["嘴唇","亲吻","美丽"]},{symbol:"🫦",name:"咬嘴唇",code:"U+1FAE6",category:"people",keywords:["咬嘴唇","紧张","诱惑"]},{symbol:"👶",name:"婴儿",code:"U+1F476",category:"people",keywords:["婴儿","宝宝","小孩"]},{symbol:"🧒",name:"儿童",code:"U+1F9D2",category:"people",keywords:["儿童","小孩","孩子"]},{symbol:"👦",name:"男孩",code:"U+1F466",category:"people",keywords:["男孩","小男孩","儿童"]},{symbol:"👧",name:"女孩",code:"U+1F467",category:"people",keywords:["女孩","小女孩","儿童"]},{symbol:"🧑",name:"成人",code:"U+1F9D1",category:"people",keywords:["成人","人","大人"]},{symbol:"👱",name:"金发人",code:"U+1F471",category:"people",keywords:["金发人","金发","人"]},{symbol:"👨",name:"男人",code:"U+1F468",category:"people",keywords:["男人","男性","成年男子"]},{symbol:"🧔",name:"胡须男",code:"U+1F9D4",category:"people",keywords:["胡须男","胡子","男人"]},{symbol:"🧔‍♂️",name:"男性胡须",code:"U+1F9D4-200D-2642-FE0F",category:"people",keywords:["男性胡须","胡子","男人"]},{symbol:"🧔‍♀️",name:"女性胡须",code:"U+1F9D4-200D-2640-FE0F",category:"people",keywords:["女性胡须","胡子","女人"]},{symbol:"👨‍🦰",name:"红发男",code:"U+1F468-200D-1F9B0",category:"people",keywords:["红发男","红发","男人"]},{symbol:"👨‍🦱",name:"卷发男",code:"U+1F468-200D-1F9B1",category:"people",keywords:["卷发男","卷发","男人"]},{symbol:"👨‍🦳",name:"白发男",code:"U+1F468-200D-1F9B3",category:"people",keywords:["白发男","白发","男人"]},{symbol:"👨‍🦲",name:"秃头男",code:"U+1F468-200D-1F9B2",category:"people",keywords:["秃头男","秃头","男人"]},{symbol:"👩",name:"女人",code:"U+1F469",category:"people",keywords:["女人","女性","成年女子"]},{symbol:"👩‍🦰",name:"红发女",code:"U+1F469-200D-1F9B0",category:"people",keywords:["红发女","红发","女人"]},{symbol:"🧑‍🦰",name:"红发人",code:"U+1F9D1-200D-1F9B0",category:"people",keywords:["红发人","红发","人"]},{symbol:"👩‍🦱",name:"卷发女",code:"U+1F469-200D-1F9B1",category:"people",keywords:["卷发女","卷发","女人"]},{symbol:"🧑‍🦱",name:"卷发人",code:"U+1F9D1-200D-1F9B1",category:"people",keywords:["卷发人","卷发","人"]},{symbol:"👩‍🦳",name:"白发女",code:"U+1F469-200D-1F9B3",category:"people",keywords:["白发女","白发","女人"]},{symbol:"🧑‍🦳",name:"白发人",code:"U+1F9D1-200D-1F9B3",category:"people",keywords:["白发人","白发","人"]},{symbol:"👩‍🦲",name:"秃头女",code:"U+1F469-200D-1F9B2",category:"people",keywords:["秃头女","秃头","女人"]},{symbol:"🧑‍🦲",name:"秃头人",code:"U+1F9D1-200D-1F9B2",category:"people",keywords:["秃头人","秃头","人"]},{symbol:"👱‍♀️",name:"金发女",code:"U+1F471-200D-2640-FE0F",category:"people",keywords:["金发女","金发","女人"]},{symbol:"👱‍♂️",name:"金发男",code:"U+1F471-200D-2642-FE0F",category:"people",keywords:["金发男","金发","男人"]},{symbol:"🧓",name:"老人",code:"U+1F9D3",category:"people",keywords:["老人","年长","长者"]},{symbol:"👴",name:"老爷爷",code:"U+1F474",category:"people",keywords:["老爷爷","老人","爷爷"]},{symbol:"👵",name:"老奶奶",code:"U+1F475",category:"people",keywords:["老奶奶","老人","奶奶"]},{symbol:"🐶",name:"狗脸",code:"U+1F436",category:"animals",keywords:["狗","小狗","宠物"]},{symbol:"🐱",name:"猫脸",code:"U+1F431",category:"animals",keywords:["猫","小猫","宠物"]},{symbol:"🐭",name:"老鼠脸",code:"U+1F42D",category:"animals",keywords:["老鼠","鼠","小鼠"]},{symbol:"🐹",name:"仓鼠脸",code:"U+1F439",category:"animals",keywords:["仓鼠","小仓鼠","宠物"]},{symbol:"🐰",name:"兔子脸",code:"U+1F430",category:"animals",keywords:["兔子","小兔","可爱"]},{symbol:"🦊",name:"狐狸脸",code:"U+1F98A",category:"animals",keywords:["狐狸","狡猾","聪明"]},{symbol:"🐻",name:"熊脸",code:"U+1F43B",category:"animals",keywords:["熊","大熊","可爱"]},{symbol:"🐼",name:"熊猫脸",code:"U+1F43C",category:"animals",keywords:["熊猫","大熊猫","中国"]},{symbol:"🐻‍❄️",name:"北极熊",code:"U+1F43B-200D-2744-FE0F",category:"animals",keywords:["北极熊","白熊","北极"]},{symbol:"🐨",name:"考拉",code:"U+1F428",category:"animals",keywords:["考拉","树袋熊","澳洲"]},{symbol:"🐯",name:"老虎脸",code:"U+1F42F",category:"animals",keywords:["老虎","虎","威猛"]},{symbol:"🦁",name:"狮子脸",code:"U+1F981",category:"animals",keywords:["狮子","狮","王者"]},{symbol:"🐮",name:"牛脸",code:"U+1F42E",category:"animals",keywords:["牛","奶牛","农场"]},{symbol:"🐷",name:"猪脸",code:"U+1F437",category:"animals",keywords:["猪","小猪","可爱"]},{symbol:"🐽",name:"猪鼻子",code:"U+1F43D",category:"animals",keywords:["猪鼻子","猪","鼻子"]},{symbol:"🐸",name:"青蛙脸",code:"U+1F438",category:"animals",keywords:["青蛙","蛙","绿色"]},{symbol:"🐵",name:"猴脸",code:"U+1F435",category:"animals",keywords:["猴子","猴","调皮"]},{symbol:"🙈",name:"非礼勿视",code:"U+1F648",category:"animals",keywords:["非礼勿视","猴子","害羞"]},{symbol:"🙉",name:"非礼勿听",code:"U+1F649",category:"animals",keywords:["非礼勿听","猴子","不听"]},{symbol:"🙊",name:"非礼勿言",code:"U+1F64A",category:"animals",keywords:["非礼勿言","猴子","不说"]},{symbol:"🐒",name:"猴子",code:"U+1F412",category:"animals",keywords:["猴子","猴","灵长类"]},{symbol:"🦍",name:"大猩猩",code:"U+1F98D",category:"animals",keywords:["大猩猩","猩猩","强壮"]},{symbol:"🦧",name:"猩猩",code:"U+1F9A7",category:"animals",keywords:["猩猩","红毛猩猩","灵长类"]},{symbol:"🐕",name:"狗",code:"U+1F415",category:"animals",keywords:["狗","犬","宠物"]},{symbol:"🐕‍🦺",name:"导盲犬",code:"U+1F415-200D-1F9BA",category:"animals",keywords:["导盲犬","服务犬","工作犬"]},{symbol:"🐩",name:"贵宾犬",code:"U+1F429",category:"animals",keywords:["贵宾犬","泰迪","卷毛狗"]},{symbol:"🐺",name:"狼",code:"U+1F43A",category:"animals",keywords:["狼","野狼","野生"]},{symbol:"🦝",name:"浣熊",code:"U+1F99D",category:"animals",keywords:["浣熊","小熊猫","可爱"]},{symbol:"🐱",name:"猫脸",code:"U+1F431",category:"animals",keywords:["猫脸","猫","可爱"]},{symbol:"🐈",name:"猫",code:"U+1F408",category:"animals",keywords:["猫","家猫","宠物"]},{symbol:"🐈‍⬛",name:"黑猫",code:"U+1F408-200D-2B1B",category:"animals",keywords:["黑猫","猫","黑色"]},{symbol:"🦌",name:"鹿",code:"U+1F98C",category:"animals",keywords:["鹿","梅花鹿","野生"]},{symbol:"🐃",name:"水牛",code:"U+1F403",category:"animals",keywords:["水牛","牛","农场"]},{symbol:"🐂",name:"公牛",code:"U+1F402",category:"animals",keywords:["公牛","牛","强壮"]},{symbol:"🐄",name:"奶牛",code:"U+1F404",category:"animals",keywords:["奶牛","牛","农场"]},{symbol:"🐎",name:"马",code:"U+1F40E",category:"animals",keywords:["马","骏马","奔跑"]},{symbol:"🐖",name:"猪",code:"U+1F416",category:"animals",keywords:["猪","家猪","农场"]},{symbol:"🐗",name:"野猪",code:"U+1F417",category:"animals",keywords:["野猪","猪","野生"]},{symbol:"🐏",name:"公羊",code:"U+1F40F",category:"animals",keywords:["公羊","羊","角"]},{symbol:"🐑",name:"绵羊",code:"U+1F411",category:"animals",keywords:["绵羊","羊","毛茸茸"]},{symbol:"🐐",name:"山羊",code:"U+1F410",category:"animals",keywords:["山羊","羊","胡子"]},{symbol:"🦙",name:"羊驼",code:"U+1F999",category:"animals",keywords:["羊驼","草泥马","可爱"]},{symbol:"🦏",name:"犀牛",code:"U+1F98F",category:"animals",keywords:["犀牛","角","厚皮"]},{symbol:"🦛",name:"河马",code:"U+1F99B",category:"animals",keywords:["河马","大嘴","水中"]},{symbol:"🐘",name:"大象",code:"U+1F418",category:"animals",keywords:["大象","象","长鼻子"]},{symbol:"🦣",name:"猛犸象",code:"U+1F9A3",category:"animals",keywords:["猛犸象","象","史前"]},{symbol:"🐪",name:"骆驼",code:"U+1F42A",category:"animals",keywords:["骆驼","单峰驼","沙漠"]},{symbol:"🐫",name:"双峰驼",code:"U+1F42B",category:"animals",keywords:["双峰驼","骆驼","沙漠"]},{symbol:"🦒",name:"长颈鹿",code:"U+1F992",category:"animals",keywords:["长颈鹿","长脖子","高"]},{symbol:"🦘",name:"袋鼠",code:"U+1F998",category:"animals",keywords:["袋鼠","跳跃","澳洲"]},{symbol:"🦬",name:"野牛",code:"U+1F9AC",category:"animals",keywords:["野牛","美洲野牛","草原"]},{symbol:"🐃",name:"水牛",code:"U+1F403",category:"animals",keywords:["水牛","牛","亚洲"]},{symbol:"🐔",name:"鸡",code:"U+1F414",category:"animals",keywords:["鸡","公鸡","农场"]},{symbol:"🐓",name:"公鸡",code:"U+1F413",category:"animals",keywords:["公鸡","鸡","报晓"]},{symbol:"🐣",name:"破壳小鸡",code:"U+1F423",category:"animals",keywords:["破壳","小鸡","新生"]},{symbol:"🐤",name:"小鸡",code:"U+1F424",category:"animals",keywords:["小鸡","雏鸡","可爱"]},{symbol:"🐥",name:"正面小鸡",code:"U+1F425",category:"animals",keywords:["小鸡","正面","可爱"]},{symbol:"🦆",name:"鸭子",code:"U+1F986",category:"animals",keywords:["鸭子","鸭","水鸟"]},{symbol:"🦢",name:"天鹅",code:"U+1F9A2",category:"animals",keywords:["天鹅","优雅","白色"]},{symbol:"🦅",name:"老鹰",code:"U+1F985",category:"animals",keywords:["老鹰","鹰","猛禽"]},{symbol:"🦉",name:"猫头鹰",code:"U+1F989",category:"animals",keywords:["猫头鹰","智慧","夜晚"]},{symbol:"🦤",name:"渡渡鸟",code:"U+1F9A4",category:"animals",keywords:["渡渡鸟","灭绝","鸟类"]},{symbol:"🪶",name:"羽毛",code:"U+1FAB6",category:"animals",keywords:["羽毛","鸟","轻盈"]},{symbol:"🦩",name:"火烈鸟",code:"U+1F9A9",category:"animals",keywords:["火烈鸟","粉色","优雅"]},{symbol:"🦚",name:"孔雀",code:"U+1F99A",category:"animals",keywords:["孔雀","美丽","开屏"]},{symbol:"🦜",name:"鹦鹉",code:"U+1F99C",category:"animals",keywords:["鹦鹉","彩色","说话"]},{symbol:"🐦",name:"鸟",code:"U+1F426",category:"animals",keywords:["鸟","小鸟","飞行"]},{symbol:"🐦‍⬛",name:"黑鸟",code:"U+1F426-200D-2B1B",category:"animals",keywords:["黑鸟","乌鸦","黑色"]},{symbol:"🐧",name:"企鹅",code:"U+1F427",category:"animals",keywords:["企鹅","南极","可爱"]},{symbol:"🕊️",name:"鸽子",code:"U+1F54A",category:"animals",keywords:["鸽子","和平","白色"]},{symbol:"🐸",name:"青蛙",code:"U+1F438",category:"animals",keywords:["青蛙","蛙","绿色"]},{symbol:"🐊",name:"鳄鱼",code:"U+1F40A",category:"animals",keywords:["鳄鱼","爬行动物","危险"]},{symbol:"🐢",name:"乌龟",code:"U+1F422",category:"animals",keywords:["乌龟","龟","长寿"]},{symbol:"🦎",name:"蜥蜴",code:"U+1F98E",category:"animals",keywords:["蜥蜴","爬行动物","变色"]},{symbol:"🐍",name:"蛇",code:"U+1F40D",category:"animals",keywords:["蛇","爬行动物","长"]},{symbol:"🐲",name:"龙脸",code:"U+1F432",category:"animals",keywords:["龙脸","龙","神话"]},{symbol:"🐉",name:"龙",code:"U+1F409",category:"animals",keywords:["龙","中国龙","神话"]},{symbol:"🦕",name:"长颈龙",code:"U+1F995",category:"animals",keywords:["长颈龙","恐龙","史前"]},{symbol:"🦖",name:"霸王龙",code:"U+1F996",category:"animals",keywords:["霸王龙","恐龙","史前"]},{symbol:"🐳",name:"喷水鲸鱼",code:"U+1F433",category:"animals",keywords:["喷水鲸鱼","鲸鱼","海洋"]},{symbol:"🐋",name:"鲸鱼",code:"U+1F40B",category:"animals",keywords:["鲸鱼","大鲸","海洋"]},{symbol:"🐬",name:"海豚",code:"U+1F42C",category:"animals",keywords:["海豚","聪明","海洋"]},{symbol:"🦭",name:"海豹",code:"U+1F9AD",category:"animals",keywords:["海豹","海洋","可爱"]},{symbol:"🐟",name:"鱼",code:"U+1F41F",category:"animals",keywords:["鱼","游泳","水中"]},{symbol:"🐠",name:"热带鱼",code:"U+1F420",category:"animals",keywords:["热带鱼","彩色","美丽"]},{symbol:"🐡",name:"河豚",code:"U+1F421",category:"animals",keywords:["河豚","刺","膨胀"]},{symbol:"🦈",name:"鲨鱼",code:"U+1F988",category:"animals",keywords:["鲨鱼","危险","海洋"]},{symbol:"🐙",name:"章鱼",code:"U+1F419",category:"animals",keywords:["章鱼","八爪鱼","海洋"]},{symbol:"🐚",name:"贝壳",code:"U+1F41A",category:"animals",keywords:["贝壳","海螺","海洋"]},{symbol:"🪸",name:"珊瑚",code:"U+1FAB8",category:"animals",keywords:["珊瑚","海洋","生物"]},{symbol:"🐌",name:"蜗牛",code:"U+1F40C",category:"animals",keywords:["蜗牛","慢","壳"]},{symbol:"🦋",name:"蝴蝶",code:"U+1F98B",category:"animals",keywords:["蝴蝶","美丽","飞舞"]},{symbol:"🐛",name:"毛毛虫",code:"U+1F41B",category:"animals",keywords:["毛毛虫","虫子","变化"]},{symbol:"🐜",name:"蚂蚁",code:"U+1F41C",category:"animals",keywords:["蚂蚁","勤劳","小"]},{symbol:"🐝",name:"蜜蜂",code:"U+1F41D",category:"animals",keywords:["蜜蜂","蜂蜜","勤劳"]},{symbol:"🪲",name:"甲虫",code:"U+1FAB2",category:"animals",keywords:["甲虫","昆虫","硬壳"]},{symbol:"🐞",name:"瓢虫",code:"U+1F41E",category:"animals",keywords:["瓢虫","红色","斑点"]},{symbol:"🦗",name:"蟋蟀",code:"U+1F997",category:"animals",keywords:["蟋蟀","昆虫","鸣叫"]},{symbol:"🪳",name:"蟑螂",code:"U+1FAB3",category:"animals",keywords:["蟑螂","昆虫","讨厌"]},{symbol:"🕷️",name:"蜘蛛",code:"U+1F577",category:"animals",keywords:["蜘蛛","网","八条腿"]},{symbol:"🕸️",name:"蜘蛛网",code:"U+1F578",category:"animals",keywords:["蜘蛛网","网","陷阱"]},{symbol:"🦂",name:"蝎子",code:"U+1F982",category:"animals",keywords:["蝎子","毒","尾巴"]},{symbol:"🦟",name:"蚊子",code:"U+1F99F",category:"animals",keywords:["蚊子","叮咬","讨厌"]},{symbol:"🪰",name:"苍蝇",code:"U+1FAB0",category:"animals",keywords:["苍蝇","昆虫","讨厌"]},{symbol:"🪱",name:"蚯蚓",code:"U+1FAB1",category:"animals",keywords:["蚯蚓","虫子","土壤"]},{symbol:"🦠",name:"细菌",code:"U+1F9A0",category:"animals",keywords:["细菌","病毒","微生物"]},{symbol:"🍎",name:"红苹果",code:"U+1F34E",category:"food",keywords:["苹果","红苹果","水果"]},{symbol:"🍏",name:"青苹果",code:"U+1F34F",category:"food",keywords:["苹果","青苹果","水果"]},{symbol:"🍊",name:"橘子",code:"U+1F34A",category:"food",keywords:["橘子","橙子","水果"]},{symbol:"🍋",name:"柠檬",code:"U+1F34B",category:"food",keywords:["柠檬","酸","水果"]},{symbol:"🍌",name:"香蕉",code:"U+1F34C",category:"food",keywords:["香蕉","黄色","水果"]},{symbol:"🍉",name:"西瓜",code:"U+1F349",category:"food",keywords:["西瓜","夏天","水果"]},{symbol:"🍇",name:"葡萄",code:"U+1F347",category:"food",keywords:["葡萄","紫色","水果"]},{symbol:"🍓",name:"草莓",code:"U+1F353",category:"food",keywords:["草莓","红色","水果"]},{symbol:"🫐",name:"蓝莓",code:"U+1FAD0",category:"food",keywords:["蓝莓","蓝色","水果"]},{symbol:"🍈",name:"甜瓜",code:"U+1F348",category:"food",keywords:["甜瓜","哈密瓜","水果"]},{symbol:"🍒",name:"樱桃",code:"U+1F352",category:"food",keywords:["樱桃","红色","水果"]},{symbol:"🍑",name:"桃子",code:"U+1F351",category:"food",keywords:["桃子","粉色","水果"]},{symbol:"🥭",name:"芒果",code:"U+1F96D",category:"food",keywords:["芒果","热带","水果"]},{symbol:"🍍",name:"菠萝",code:"U+1F34D",category:"food",keywords:["菠萝","热带","水果"]},{symbol:"🥥",name:"椰子",code:"U+1F965",category:"food",keywords:["椰子","热带","水果"]},{symbol:"🥝",name:"猕猴桃",code:"U+1F95D",category:"food",keywords:["猕猴桃","绿色","水果"]},{symbol:"🍅",name:"番茄",code:"U+1F345",category:"food",keywords:["番茄","西红柿","蔬菜"]},{symbol:"🍆",name:"茄子",code:"U+1F346",category:"food",keywords:["茄子","紫色","蔬菜"]},{symbol:"🥑",name:"牛油果",code:"U+1F951",category:"food",keywords:["牛油果","鳄梨","健康"]},{symbol:"🥦",name:"西兰花",code:"U+1F966",category:"food",keywords:["西兰花","绿色","蔬菜"]},{symbol:"🥬",name:"绿叶菜",code:"U+1F96C",category:"food",keywords:["绿叶菜","蔬菜","健康"]},{symbol:"🥒",name:"黄瓜",code:"U+1F952",category:"food",keywords:["黄瓜","绿色","蔬菜"]},{symbol:"🌶️",name:"辣椒",code:"U+1F336",category:"food",keywords:["辣椒","辣","香料"]},{symbol:"🫑",name:"甜椒",code:"U+1FAD1",category:"food",keywords:["甜椒","彩椒","蔬菜"]},{symbol:"🌽",name:"玉米",code:"U+1F33D",category:"food",keywords:["玉米","黄色","蔬菜"]},{symbol:"🥕",name:"胡萝卜",code:"U+1F955",category:"food",keywords:["胡萝卜","橙色","蔬菜"]},{symbol:"🫒",name:"橄榄",code:"U+1FAD2",category:"food",keywords:["橄榄","绿色","水果"]},{symbol:"🧄",name:"大蒜",code:"U+1F9C4",category:"food",keywords:["大蒜","香料","调料"]},{symbol:"🧅",name:"洋葱",code:"U+1F9C5",category:"food",keywords:["洋葱","蔬菜","调料"]},{symbol:"🥔",name:"土豆",code:"U+1F954",category:"food",keywords:["土豆","马铃薯","蔬菜"]},{symbol:"🍠",name:"红薯",code:"U+1F360",category:"food",keywords:["红薯","甘薯","蔬菜"]},{symbol:"🫘",name:"豆子",code:"U+1FAD8",category:"food",keywords:["豆子","豆类","蛋白质"]},{symbol:"🥜",name:"花生",code:"U+1F95C",category:"food",keywords:["花生","坚果","蛋白质"]},{symbol:"🌰",name:"栗子",code:"U+1F330",category:"food",keywords:["栗子","坚果","秋天"]},{symbol:"🍞",name:"面包",code:"U+1F35E",category:"food",keywords:["面包","主食","烘焙"]},{symbol:"🥐",name:"牛角包",code:"U+1F950",category:"food",keywords:["牛角包","面包","法式"]},{symbol:"🥖",name:"法棍",code:"U+1F956",category:"food",keywords:["法棍","面包","法式"]},{symbol:"🫓",name:"薄饼",code:"U+1FAD3",category:"food",keywords:["薄饼","面包","平面"]},{symbol:"🥨",name:"椒盐卷饼",code:"U+1F968",category:"food",keywords:["椒盐卷饼","面包","德式"]},{symbol:"🥯",name:"贝果",code:"U+1F96F",category:"food",keywords:["贝果","面包","圆形"]},{symbol:"🥞",name:"煎饼",code:"U+1F95E",category:"food",keywords:["煎饼","早餐","甜点"]},{symbol:"🧇",name:"华夫饼",code:"U+1F9C7",category:"food",keywords:["华夫饼","早餐","甜点"]},{symbol:"🧀",name:"奶酪",code:"U+1F9C0",category:"food",keywords:["奶酪","乳制品","黄色"]},{symbol:"🍖",name:"带骨肉",code:"U+1F356",category:"food",keywords:["带骨肉","肉类","蛋白质"]},{symbol:"🍗",name:"鸡腿",code:"U+1F357",category:"food",keywords:["鸡腿","鸡肉","蛋白质"]},{symbol:"🥩",name:"牛排",code:"U+1F969",category:"food",keywords:["牛排","牛肉","蛋白质"]},{symbol:"🥓",name:"培根",code:"U+1F953",category:"food",keywords:["培根","猪肉","早餐"]},{symbol:"🍔",name:"汉堡",code:"U+1F354",category:"food",keywords:["汉堡","快餐","美式"]},{symbol:"🍟",name:"薯条",code:"U+1F35F",category:"food",keywords:["薯条","快餐","土豆"]},{symbol:"🍕",name:"披萨",code:"U+1F355",category:"food",keywords:["披萨","意式","快餐"]},{symbol:"🌭",name:"热狗",code:"U+1F32D",category:"food",keywords:["热狗","快餐","香肠"]},{symbol:"🥪",name:"三明治",code:"U+1F96A",category:"food",keywords:["三明治","面包","快餐"]},{symbol:"🌮",name:"墨西哥卷饼",code:"U+1F32E",category:"food",keywords:["墨西哥卷饼","墨式","玉米饼"]},{symbol:"🌯",name:"卷饼",code:"U+1F32F",category:"food",keywords:["卷饼","墨式","包裹"]},{symbol:"🫔",name:"玉米粽",code:"U+1FAD4",category:"food",keywords:["玉米粽","墨式","玉米"]},{symbol:"🥙",name:"口袋饼",code:"U+1F959",category:"food",keywords:["口袋饼","中东","面包"]},{symbol:"🧆",name:"沙拉三明治",code:"U+1F9C6",category:"food",keywords:["沙拉三明治","中东","素食"]},{symbol:"🥚",name:"鸡蛋",code:"U+1F95A",category:"food",keywords:["鸡蛋","蛋白质","早餐"]},{symbol:"🍳",name:"煎蛋",code:"U+1F373",category:"food",keywords:["煎蛋","早餐","蛋类"]},{symbol:"🥘",name:"浅锅菜",code:"U+1F958",category:"food",keywords:["浅锅菜","西班牙","海鲜饭"]},{symbol:"🍲",name:"火锅",code:"U+1F372",category:"food",keywords:["火锅","热汤","中式"]},{symbol:"🫕",name:"火锅",code:"U+1FAD5",category:"food",keywords:["火锅","奶酪","瑞士"]},{symbol:"🥣",name:"碗",code:"U+1F963",category:"food",keywords:["碗","汤","谷物"]},{symbol:"🥗",name:"沙拉",code:"U+1F957",category:"food",keywords:["沙拉","蔬菜","健康"]},{symbol:"🍿",name:"爆米花",code:"U+1F37F",category:"food",keywords:["爆米花","零食","电影"]},{symbol:"🧈",name:"黄油",code:"U+1F9C8",category:"food",keywords:["黄油","乳制品","调料"]},{symbol:"🧂",name:"盐",code:"U+1F9C2",category:"food",keywords:["盐","调料","白色"]},{symbol:"🥫",name:"罐头",code:"U+1F96B",category:"food",keywords:["罐头","保存","食品"]},{symbol:"🍱",name:"便当",code:"U+1F371",category:"food",keywords:["便当","日式","盒饭"]},{symbol:"🍘",name:"米饼",code:"U+1F358",category:"food",keywords:["米饼","日式","零食"]},{symbol:"🍙",name:"饭团",code:"U+1F359",category:"food",keywords:["饭团","日式","米饭"]},{symbol:"🍚",name:"米饭",code:"U+1F35A",category:"food",keywords:["米饭","主食","亚洲"]},{symbol:"🍛",name:"咖喱饭",code:"U+1F35B",category:"food",keywords:["咖喱饭","日式","辣"]},{symbol:"🍜",name:"拉面",code:"U+1F35C",category:"food",keywords:["拉面","日式","面条"]},{symbol:"🍝",name:"意面",code:"U+1F35D",category:"food",keywords:["意面","意式","面条"]},{symbol:"🍠",name:"烤红薯",code:"U+1F360",category:"food",keywords:["烤红薯","甘薯","烘烤"]},{symbol:"🍢",name:"关东煮",code:"U+1F362",category:"food",keywords:["关东煮","日式","串"]},{symbol:"🍣",name:"寿司",code:"U+1F363",category:"food",keywords:["寿司","日式","生鱼"]},{symbol:"🍤",name:"炸虾",code:"U+1F364",category:"food",keywords:["炸虾","日式","海鲜"]},{symbol:"🍥",name:"鱼糕",code:"U+1F365",category:"food",keywords:["鱼糕","日式","鱼肉"]},{symbol:"🥮",name:"月饼",code:"U+1F96E",category:"food",keywords:["月饼","中式","节日"]},{symbol:"🍡",name:"团子",code:"U+1F361",category:"food",keywords:["团子","日式","甜点"]},{symbol:"🥟",name:"饺子",code:"U+1F95F",category:"food",keywords:["饺子","中式","包子"]},{symbol:"🥠",name:"幸运饼干",code:"U+1F960",category:"food",keywords:["幸运饼干","中式","预言"]},{symbol:"🥡",name:"外卖盒",code:"U+1F961",category:"food",keywords:["外卖盒","中式","打包"]},{symbol:"🦀",name:"螃蟹",code:"U+1F980",category:"food",keywords:["螃蟹","海鲜","甲壳类"]},{symbol:"🦞",name:"龙虾",code:"U+1F99E",category:"food",keywords:["龙虾","海鲜","甲壳类"]},{symbol:"🦐",name:"虾",code:"U+1F990",category:"food",keywords:["虾","海鲜","甲壳类"]},{symbol:"🦑",name:"鱿鱼",code:"U+1F991",category:"food",keywords:["鱿鱼","海鲜","软体动物"]},{symbol:"🦪",name:"牡蛎",code:"U+1F9AA",category:"food",keywords:["牡蛎","海鲜","贝类"]},{symbol:"🍦",name:"软冰淇淋",code:"U+1F366",category:"food",keywords:["软冰淇淋","甜点","冷饮"]},{symbol:"🍧",name:"刨冰",code:"U+1F367",category:"food",keywords:["刨冰","甜点","冷饮"]},{symbol:"🍨",name:"冰淇淋",code:"U+1F368",category:"food",keywords:["冰淇淋","甜点","冷饮"]},{symbol:"🍩",name:"甜甜圈",code:"U+1F369",category:"food",keywords:["甜甜圈","甜点","圆形"]},{symbol:"🍪",name:"饼干",code:"U+1F36A",category:"food",keywords:["饼干","甜点","零食"]},{symbol:"🎂",name:"生日蛋糕",code:"U+1F382",category:"food",keywords:["生日蛋糕","蛋糕","庆祝"]},{symbol:"🍰",name:"蛋糕",code:"U+1F370",category:"food",keywords:["蛋糕","甜点","奶油"]},{symbol:"🧁",name:"纸杯蛋糕",code:"U+1F9C1",category:"food",keywords:["纸杯蛋糕","甜点","小蛋糕"]},{symbol:"🥧",name:"派",code:"U+1F967",category:"food",keywords:["派","甜点","烘焙"]},{symbol:"🍫",name:"巧克力",code:"U+1F36B",category:"food",keywords:["巧克力","甜点","糖果"]},{symbol:"🍬",name:"糖果",code:"U+1F36C",category:"food",keywords:["糖果","甜点","零食"]},{symbol:"🍭",name:"棒棒糖",code:"U+1F36D",category:"food",keywords:["棒棒糖","糖果","甜点"]},{symbol:"🍮",name:"布丁",code:"U+1F36E",category:"food",keywords:["布丁","甜点","奶制品"]},{symbol:"🍯",name:"蜂蜜",code:"U+1F36F",category:"food",keywords:["蜂蜜","甜","天然"]},{symbol:"🍼",name:"奶瓶",code:"U+1F37C",category:"food",keywords:["奶瓶","婴儿","牛奶"]},{symbol:"🥛",name:"牛奶",code:"U+1F95B",category:"food",keywords:["牛奶","饮料","乳制品"]},{symbol:"☕",name:"咖啡",code:"U+2615",category:"food",keywords:["咖啡","饮料","提神"]},{symbol:"🫖",name:"茶壶",code:"U+1FAD6",category:"food",keywords:["茶壶","茶","饮料"]},{symbol:"🍵",name:"茶",code:"U+1F375",category:"food",keywords:["茶","饮料","热饮"]},{symbol:"🍶",name:"清酒",code:"U+1F376",category:"food",keywords:["清酒","日式","酒类"]},{symbol:"🍾",name:"香槟",code:"U+1F37E",category:"food",keywords:["香槟","庆祝","酒类"]},{symbol:"🍷",name:"红酒",code:"U+1F377",category:"food",keywords:["红酒","酒类","优雅"]},{symbol:"🍸",name:"鸡尾酒",code:"U+1F378",category:"food",keywords:["鸡尾酒","酒类","调酒"]},{symbol:"🍹",name:"热带饮料",code:"U+1F379",category:"food",keywords:["热带饮料","鸡尾酒","度假"]},{symbol:"🍺",name:"啤酒",code:"U+1F37A",category:"food",keywords:["啤酒","酒类","泡沫"]},{symbol:"🍻",name:"干杯",code:"U+1F37B",category:"food",keywords:["干杯","啤酒","庆祝"]},{symbol:"🥂",name:"碰杯",code:"U+1F942",category:"food",keywords:["碰杯","香槟","庆祝"]},{symbol:"🥃",name:"威士忌",code:"U+1F943",category:"food",keywords:["威士忌","酒类","烈酒"]},{symbol:"🫗",name:"倒液体",code:"U+1FAD7",category:"food",keywords:["倒液体","饮料","倾倒"]},{symbol:"🥤",name:"饮料杯",code:"U+1F964",category:"food",keywords:["饮料杯","软饮","吸管"]},{symbol:"🧋",name:"珍珠奶茶",code:"U+1F9CB",category:"food",keywords:["珍珠奶茶","奶茶","台式"]},{symbol:"🧃",name:"果汁盒",code:"U+1F9C3",category:"food",keywords:["果汁盒","果汁","儿童"]},{symbol:"🧉",name:"马黛茶",code:"U+1F9C9",category:"food",keywords:["马黛茶","南美","茶类"]},{symbol:"🧊",name:"冰块",code:"U+1F9CA",category:"food",keywords:["冰块","冰","冷饮"]},{symbol:"🚗",name:"汽车",code:"U+1F697",category:"travel",keywords:["汽车","车","交通"]},{symbol:"🚕",name:"出租车",code:"U+1F695",category:"travel",keywords:["出租车","的士","交通"]},{symbol:"🚙",name:"SUV",code:"U+1F699",category:"travel",keywords:["SUV","越野车","交通"]},{symbol:"🚌",name:"公交车",code:"U+1F68C",category:"travel",keywords:["公交车","巴士","交通"]},{symbol:"🚎",name:"无轨电车",code:"U+1F68E",category:"travel",keywords:["无轨电车","电车","交通"]},{symbol:"🏎️",name:"赛车",code:"U+1F3CE",category:"travel",keywords:["赛车","跑车","速度"]},{symbol:"🚓",name:"警车",code:"U+1F693",category:"travel",keywords:["警车","警察","执法"]},{symbol:"🚑",name:"救护车",code:"U+1F691",category:"travel",keywords:["救护车","医疗","急救"]},{symbol:"🚒",name:"消防车",code:"U+1F692",category:"travel",keywords:["消防车","消防","救火"]},{symbol:"🚐",name:"小巴",code:"U+1F690",category:"travel",keywords:["小巴","面包车","交通"]},{symbol:"🛻",name:"皮卡",code:"U+1F6FB",category:"travel",keywords:["皮卡","卡车","货车"]},{symbol:"🚚",name:"货车",code:"U+1F69A",category:"travel",keywords:["货车","卡车","运输"]},{symbol:"🚛",name:"拖车",code:"U+1F69B",category:"travel",keywords:["拖车","大卡车","运输"]},{symbol:"🚜",name:"拖拉机",code:"U+1F69C",category:"travel",keywords:["拖拉机","农机","农业"]},{symbol:"🏍️",name:"摩托车",code:"U+1F3CD",category:"travel",keywords:["摩托车","机车","交通"]},{symbol:"🛵",name:"踏板车",code:"U+1F6F5",category:"travel",keywords:["踏板车","电动车","交通"]},{symbol:"🚲",name:"自行车",code:"U+1F6B2",category:"travel",keywords:["自行车","单车","环保"]},{symbol:"🛴",name:"滑板车",code:"U+1F6F4",category:"travel",keywords:["滑板车","踏板车","交通"]},{symbol:"🛹",name:"滑板",code:"U+1F6F9",category:"travel",keywords:["滑板","运动","街头"]},{symbol:"🛼",name:"旱冰鞋",code:"U+1F6FC",category:"travel",keywords:["旱冰鞋","滑冰","运动"]},{symbol:"🚁",name:"直升机",code:"U+1F681",category:"travel",keywords:["直升机","飞机","航空"]},{symbol:"✈️",name:"飞机",code:"U+2708",category:"travel",keywords:["飞机","航空","旅行"]},{symbol:"🛩️",name:"小飞机",code:"U+1F6E9",category:"travel",keywords:["小飞机","私人飞机","航空"]},{symbol:"🛫",name:"起飞",code:"U+1F6EB",category:"travel",keywords:["起飞","飞机","出发"]},{symbol:"🛬",name:"降落",code:"U+1F6EC",category:"travel",keywords:["降落","飞机","到达"]},{symbol:"🪂",name:"降落伞",code:"U+1FA82",category:"travel",keywords:["降落伞","跳伞","极限运动"]},{symbol:"💺",name:"座位",code:"U+1F4BA",category:"travel",keywords:["座位","飞机","旅行"]},{symbol:"🚀",name:"火箭",code:"U+1F680",category:"travel",keywords:["火箭","太空","科技"]},{symbol:"🛸",name:"UFO",code:"U+1F6F8",category:"travel",keywords:["UFO","飞碟","外星人"]},{symbol:"🚉",name:"车站",code:"U+1F689",category:"travel",keywords:["车站","火车站","交通"]},{symbol:"🚇",name:"地铁",code:"U+1F687",category:"travel",keywords:["地铁","地下铁","交通"]},{symbol:"🚝",name:"单轨列车",code:"U+1F69D",category:"travel",keywords:["单轨列车","轻轨","交通"]},{symbol:"🚄",name:"高铁",code:"U+1F684",category:"travel",keywords:["高铁","高速列车","交通"]},{symbol:"🚅",name:"子弹头列车",code:"U+1F685",category:"travel",keywords:["子弹头列车","新干线","高铁"]},{symbol:"🚈",name:"轻轨",code:"U+1F688",category:"travel",keywords:["轻轨","电车","交通"]},{symbol:"🚞",name:"山地铁路",code:"U+1F69E",category:"travel",keywords:["山地铁路","登山","交通"]},{symbol:"🚋",name:"电车",code:"U+1F68B",category:"travel",keywords:["电车","有轨电车","交通"]},{symbol:"🚃",name:"铁路车厢",code:"U+1F683",category:"travel",keywords:["铁路车厢","火车","交通"]},{symbol:"🚋",name:"电车",code:"U+1F68B",category:"travel",keywords:["电车","有轨电车","交通"]},{symbol:"🚆",name:"火车",code:"U+1F686",category:"travel",keywords:["火车","列车","交通"]},{symbol:"🚂",name:"蒸汽火车",code:"U+1F682",category:"travel",keywords:["蒸汽火车","老式","怀旧"]},{symbol:"🚊",name:"电车",code:"U+1F68A",category:"travel",keywords:["电车","有轨电车","城市"]},{symbol:"🚝",name:"单轨列车",code:"U+1F69D",category:"travel",keywords:["单轨列车","现代","交通"]},{symbol:"🚠",name:"山地缆车",code:"U+1F6A0",category:"travel",keywords:["山地缆车","缆车","山区"]},{symbol:"🚡",name:"空中缆车",code:"U+1F6A1",category:"travel",keywords:["空中缆车","缆车","观光"]},{symbol:"🛰️",name:"卫星",code:"U+1F6F0",category:"travel",keywords:["卫星","太空","通讯"]},{symbol:"🚢",name:"船",code:"U+1F6A2",category:"travel",keywords:["船","轮船","海运"]},{symbol:"⛵",name:"帆船",code:"U+26F5",category:"travel",keywords:["帆船","航海","风帆"]},{symbol:"🛥️",name:"快艇",code:"U+1F6E5",category:"travel",keywords:["快艇","游艇","水上"]},{symbol:"🚤",name:"快艇",code:"U+1F6A4",category:"travel",keywords:["快艇","摩托艇","水上"]},{symbol:"⛴️",name:"渡轮",code:"U+26F4",category:"travel",keywords:["渡轮","轮渡","海运"]},{symbol:"🛳️",name:"客轮",code:"U+1F6F3",category:"travel",keywords:["客轮","邮轮","旅游"]},{symbol:"🚁",name:"直升机",code:"U+1F681",category:"travel",keywords:["直升机","旋翼","航空"]},{symbol:"🛶",name:"独木舟",code:"U+1F6F6",category:"travel",keywords:["独木舟","皮划艇","水上"]},{symbol:"⚓",name:"锚",code:"U+2693",category:"travel",keywords:["锚","船锚","海洋"]},{symbol:"⛽",name:"加油站",code:"U+26FD",category:"travel",keywords:["加油站","燃料","汽车"]},{symbol:"🚨",name:"警车灯",code:"U+1F6A8",category:"travel",keywords:["警车灯","警报","紧急"]},{symbol:"🚥",name:"水平红绿灯",code:"U+1F6A5",category:"travel",keywords:["水平红绿灯","交通灯","信号"]},{symbol:"🚦",name:"垂直红绿灯",code:"U+1F6A6",category:"travel",keywords:["垂直红绿灯","交通灯","信号"]},{symbol:"🛑",name:"停车标志",code:"U+1F6D1",category:"travel",keywords:["停车标志","停止","交通"]},{symbol:"🚧",name:"施工",code:"U+1F6A7",category:"travel",keywords:["施工","建设","道路"]},{symbol:"🏗️",name:"建筑起重机",code:"U+1F3D7",category:"travel",keywords:["建筑起重机","建设","工程"]},{symbol:"🏭",name:"工厂",code:"U+1F3ED",category:"travel",keywords:["工厂","制造","工业"]},{symbol:"🏠",name:"房子",code:"U+1F3E0",category:"travel",keywords:["房子","家","住宅"]},{symbol:"🏡",name:"带花园的房子",code:"U+1F3E1",category:"travel",keywords:["带花园的房子","别墅","住宅"]},{symbol:"🏘️",name:"住宅区",code:"U+1F3D8",category:"travel",keywords:["住宅区","社区","房屋"]},{symbol:"🏚️",name:"废弃房屋",code:"U+1F3DA",category:"travel",keywords:["废弃房屋","破房子","荒废"]},{symbol:"🏗️",name:"建筑工地",code:"U+1F3D7",category:"travel",keywords:["建筑工地","施工","建设"]},{symbol:"🏢",name:"办公楼",code:"U+1F3E2",category:"travel",keywords:["办公楼","商务","工作"]},{symbol:"🏬",name:"百货商店",code:"U+1F3EC",category:"travel",keywords:["百货商店","购物","商场"]},{symbol:"🏣",name:"日式邮局",code:"U+1F3E3",category:"travel",keywords:["日式邮局","邮局","日本"]},{symbol:"🏤",name:"欧式邮局",code:"U+1F3E4",category:"travel",keywords:["欧式邮局","邮局","欧洲"]},{symbol:"🏥",name:"医院",code:"U+1F3E5",category:"travel",keywords:["医院","医疗","健康"]},{symbol:"🏦",name:"银行",code:"U+1F3E6",category:"travel",keywords:["银行","金融","钱"]},{symbol:"🏨",name:"酒店",code:"U+1F3E8",category:"travel",keywords:["酒店","住宿","旅行"]},{symbol:"🏩",name:"情人酒店",code:"U+1F3E9",category:"travel",keywords:["情人酒店","爱情","浪漫"]},{symbol:"🏪",name:"便利店",code:"U+1F3EA",category:"travel",keywords:["便利店","商店","购物"]},{symbol:"🏫",name:"学校",code:"U+1F3EB",category:"travel",keywords:["学校","教育","学习"]},{symbol:"🏬",name:"百货商店",code:"U+1F3EC",category:"travel",keywords:["百货商店","购物中心","商场"]},{symbol:"🏭",name:"工厂",code:"U+1F3ED",category:"travel",keywords:["工厂","制造业","工业"]},{symbol:"🏯",name:"日式城堡",code:"U+1F3EF",category:"travel",keywords:["日式城堡","城堡","日本"]},{symbol:"🏰",name:"欧式城堡",code:"U+1F3F0",category:"travel",keywords:["欧式城堡","城堡","欧洲"]},{symbol:"💒",name:"婚礼",code:"U+1F492",category:"travel",keywords:["婚礼","教堂","结婚"]},{symbol:"🗼",name:"东京塔",code:"U+1F5FC",category:"travel",keywords:["东京塔","塔","日本"]},{symbol:"🗽",name:"自由女神像",code:"U+1F5FD",category:"travel",keywords:["自由女神像","纽约","美国"]},{symbol:"⛪",name:"教堂",code:"U+26EA",category:"travel",keywords:["教堂","宗教","基督教"]},{symbol:"🕌",name:"清真寺",code:"U+1F54C",category:"travel",keywords:["清真寺","宗教","伊斯兰教"]},{symbol:"🛕",name:"印度教神庙",code:"U+1F6D5",category:"travel",keywords:["印度教神庙","宗教","印度教"]},{symbol:"🕍",name:"犹太教堂",code:"U+1F54D",category:"travel",keywords:["犹太教堂","宗教","犹太教"]},{symbol:"⚽",name:"足球",code:"U+26BD",category:"activities",keywords:["足球","运动","球类"]},{symbol:"🏀",name:"篮球",code:"U+1F3C0",category:"activities",keywords:["篮球","运动","球类"]},{symbol:"🏈",name:"橄榄球",code:"U+1F3C8",category:"activities",keywords:["橄榄球","美式足球","运动"]},{symbol:"⚾",name:"棒球",code:"U+26BE",category:"activities",keywords:["棒球","运动","球类"]},{symbol:"🥎",name:"垒球",code:"U+1F94E",category:"activities",keywords:["垒球","运动","球类"]},{symbol:"🎾",name:"网球",code:"U+1F3BE",category:"activities",keywords:["网球","运动","球类"]},{symbol:"🏐",name:"排球",code:"U+1F3D0",category:"activities",keywords:["排球","运动","球类"]},{symbol:"🏉",name:"橄榄球",code:"U+1F3C9",category:"activities",keywords:["橄榄球","英式橄榄球","运动"]},{symbol:"🥏",name:"飞盘",code:"U+1F94F",category:"activities",keywords:["飞盘","运动","户外"]},{symbol:"🎱",name:"台球",code:"U+1F3B1",category:"activities",keywords:["台球","8号球","运动"]},{symbol:"🪀",name:"悠悠球",code:"U+1FA80",category:"activities",keywords:["悠悠球","玩具","技巧"]},{symbol:"🏓",name:"乒乓球",code:"U+1F3D3",category:"activities",keywords:["乒乓球","运动","球类"]},{symbol:"🏸",name:"羽毛球",code:"U+1F3F8",category:"activities",keywords:["羽毛球","运动","球类"]},{symbol:"🏒",name:"冰球",code:"U+1F3D2",category:"activities",keywords:["冰球","运动","冰上"]},{symbol:"🥍",name:"长曲棍球",code:"U+1F94D",category:"activities",keywords:["长曲棍球","运动","球类"]},{symbol:"🏑",name:"曲棍球",code:"U+1F3D1",category:"activities",keywords:["曲棍球","运动","球类"]},{symbol:"🛝",name:"滑梯",code:"U+1F6DD",category:"activities",keywords:["滑梯","游乐场","儿童"]},{symbol:"🎿",name:"滑雪",code:"U+1F3BF",category:"activities",keywords:["滑雪","运动","冬季"]},{symbol:"🛷",name:"雪橇",code:"U+1F6F7",category:"activities",keywords:["雪橇","运动","冬季"]},{symbol:"⛸️",name:"滑冰",code:"U+26F8",category:"activities",keywords:["滑冰","运动","冰上"]},{symbol:"🥌",name:"冰壶",code:"U+1F94C",category:"activities",keywords:["冰壶","运动","冰上"]},{symbol:"🎯",name:"飞镖",code:"U+1F3AF",category:"activities",keywords:["飞镖","靶心","游戏"]},{symbol:"🪁",name:"风筝",code:"U+1FA81",category:"activities",keywords:["风筝","户外","飞行"]},{symbol:"🎣",name:"钓鱼",code:"U+1F3A3",category:"activities",keywords:["钓鱼","户外","休闲"]},{symbol:"🤿",name:"潜水",code:"U+1F93F",category:"activities",keywords:["潜水","水下","运动"]},{symbol:"🏊",name:"游泳",code:"U+1F3CA",category:"activities",keywords:["游泳","运动","水上"]},{symbol:"🏄",name:"冲浪",code:"U+1F3C4",category:"activities",keywords:["冲浪","运动","海浪"]},{symbol:"🚣",name:"划船",code:"U+1F6A3",category:"activities",keywords:["划船","运动","水上"]},{symbol:"🧗",name:"攀岩",code:"U+1F9D7",category:"activities",keywords:["攀岩","运动","极限"]},{symbol:"🚴",name:"骑自行车",code:"U+1F6B4",category:"activities",keywords:["骑自行车","运动","健身"]},{symbol:"🚵",name:"山地自行车",code:"U+1F6B5",category:"activities",keywords:["山地自行车","运动","户外"]},{symbol:"🤸",name:"翻筋斗",code:"U+1F938",category:"activities",keywords:["翻筋斗","体操","运动"]},{symbol:"🤼",name:"摔跤",code:"U+1F93C",category:"activities",keywords:["摔跤","运动","格斗"]},{symbol:"🤽",name:"水球",code:"U+1F93D",category:"activities",keywords:["水球","运动","水上"]},{symbol:"🤾",name:"手球",code:"U+1F93E",category:"activities",keywords:["手球","运动","球类"]},{symbol:"🤹",name:"杂耍",code:"U+1F939",category:"activities",keywords:["杂耍","表演","技巧"]},{symbol:"🧘",name:"冥想",code:"U+1F9D8",category:"activities",keywords:["冥想","瑜伽","放松"]},{symbol:"🛀",name:"洗澡",code:"U+1F6C0",category:"activities",keywords:["洗澡","清洁","放松"]},{symbol:"🛌",name:"睡觉",code:"U+1F6CC",category:"activities",keywords:["睡觉","休息","床"]},{symbol:"🎭",name:"表演艺术",code:"U+1F3AD",category:"activities",keywords:["表演艺术","戏剧","面具"]},{symbol:"🩰",name:"芭蕾舞鞋",code:"U+1FA70",category:"activities",keywords:["芭蕾舞鞋","舞蹈","艺术"]},{symbol:"🎨",name:"艺术",code:"U+1F3A8",category:"activities",keywords:["艺术","绘画","创作"]},{symbol:"🎬",name:"电影",code:"U+1F3AC",category:"activities",keywords:["电影","拍摄","娱乐"]},{symbol:"🎤",name:"麦克风",code:"U+1F3A4",category:"activities",keywords:["麦克风","唱歌","音乐"]},{symbol:"🎧",name:"耳机",code:"U+1F3A7",category:"activities",keywords:["耳机","音乐","听歌"]},{symbol:"🎼",name:"乐谱",code:"U+1F3BC",category:"activities",keywords:["乐谱","音乐","作曲"]},{symbol:"🎵",name:"音符",code:"U+1F3B5",category:"activities",keywords:["音符","音乐","旋律"]},{symbol:"🎶",name:"多个音符",code:"U+1F3B6",category:"activities",keywords:["多个音符","音乐","歌曲"]},{symbol:"🎹",name:"钢琴",code:"U+1F3B9",category:"activities",keywords:["钢琴","音乐","乐器"]},{symbol:"🥁",name:"鼓",code:"U+1F941",category:"activities",keywords:["鼓","音乐","乐器"]},{symbol:"🪘",name:"长鼓",code:"U+1FA98",category:"activities",keywords:["长鼓","音乐","乐器"]},{symbol:"🎷",name:"萨克斯",code:"U+1F3B7",category:"activities",keywords:["萨克斯","音乐","乐器"]},{symbol:"🎺",name:"小号",code:"U+1F3BA",category:"activities",keywords:["小号","音乐","乐器"]},{symbol:"🎸",name:"吉他",code:"U+1F3B8",category:"activities",keywords:["吉他","音乐","乐器"]},{symbol:"🪕",name:"班卓琴",code:"U+1FA95",category:"activities",keywords:["班卓琴","音乐","乐器"]},{symbol:"🎻",name:"小提琴",code:"U+1F3BB",category:"activities",keywords:["小提琴","音乐","乐器"]},{symbol:"🪗",name:"手风琴",code:"U+1FA97",category:"activities",keywords:["手风琴","音乐","乐器"]},{symbol:"🎲",name:"骰子",code:"U+1F3B2",category:"activities",keywords:["骰子","游戏","运气"]},{symbol:"♠️",name:"黑桃",code:"U+2660",category:"activities",keywords:["黑桃","扑克","游戏"]},{symbol:"♥️",name:"红心",code:"U+2665",category:"activities",keywords:["红心","扑克","游戏"]},{symbol:"♦️",name:"方块",code:"U+2666",category:"activities",keywords:["方块","扑克","游戏"]},{symbol:"♣️",name:"梅花",code:"U+2663",category:"activities",keywords:["梅花","扑克","游戏"]},{symbol:"♟️",name:"棋子",code:"U+265F",category:"activities",keywords:["棋子","国际象棋","游戏"]},{symbol:"🃏",name:"小丑牌",code:"U+1F0CF",category:"activities",keywords:["小丑牌","扑克","游戏"]},{symbol:"🀄",name:"麻将红中",code:"U+1F004",category:"activities",keywords:["麻将红中","麻将","游戏"]},{symbol:"🎴",name:"花札",code:"U+1F3B4",category:"activities",keywords:["花札","日式纸牌","游戏"]},{symbol:"🎮",name:"游戏手柄",code:"U+1F3AE",category:"activities",keywords:["游戏手柄","电子游戏","娱乐"]},{symbol:"🕹️",name:"操纵杆",code:"U+1F579",category:"activities",keywords:["操纵杆","游戏","街机"]},{symbol:"🎰",name:"老虎机",code:"U+1F3B0",category:"activities",keywords:["老虎机","赌博","游戏"]},{symbol:"🎳",name:"保龄球",code:"U+1F3B3",category:"activities",keywords:["保龄球","运动","游戏"]},{symbol:"⌚",name:"手表",code:"U+231A",category:"objects",keywords:["手表","时间","配饰"]},{symbol:"📱",name:"手机",code:"U+1F4F1",category:"objects",keywords:["手机","电话","通讯"]},{symbol:"📲",name:"手机来电",code:"U+1F4F2",category:"objects",keywords:["手机来电","电话","通讯"]},{symbol:"💻",name:"笔记本电脑",code:"U+1F4BB",category:"objects",keywords:["笔记本电脑","电脑","工作"]},{symbol:"⌨️",name:"键盘",code:"U+2328",category:"objects",keywords:["键盘","电脑","输入"]},{symbol:"🖥️",name:"台式电脑",code:"U+1F5A5",category:"objects",keywords:["台式电脑","电脑","显示器"]},{symbol:"🖨️",name:"打印机",code:"U+1F5A8",category:"objects",keywords:["打印机","办公","设备"]},{symbol:"🖱️",name:"鼠标",code:"U+1F5B1",category:"objects",keywords:["鼠标","电脑","点击"]},{symbol:"🖲️",name:"轨迹球",code:"U+1F5B2",category:"objects",keywords:["轨迹球","电脑","输入"]},{symbol:"🕹️",name:"操纵杆",code:"U+1F579",category:"objects",keywords:["操纵杆","游戏","控制"]},{symbol:"🗜️",name:"压缩",code:"U+1F5DC",category:"objects",keywords:["压缩","工具","夹子"]},{symbol:"💽",name:"迷你光盘",code:"U+1F4BD",category:"objects",keywords:["迷你光盘","存储","数据"]},{symbol:"💾",name:"软盘",code:"U+1F4BE",category:"objects",keywords:["软盘","存储","保存"]},{symbol:"💿",name:"CD",code:"U+1F4BF",category:"objects",keywords:["CD","光盘","音乐"]},{symbol:"📀",name:"DVD",code:"U+1F4C0",category:"objects",keywords:["DVD","光盘","视频"]},{symbol:"🧮",name:"算盘",code:"U+1F9EE",category:"objects",keywords:["算盘","计算","传统"]},{symbol:"🎥",name:"摄像机",code:"U+1F3A5",category:"objects",keywords:["摄像机","拍摄","电影"]},{symbol:"📹",name:"摄像机",code:"U+1F4F9",category:"objects",keywords:["摄像机","录像","视频"]},{symbol:"📷",name:"相机",code:"U+1F4F7",category:"objects",keywords:["相机","拍照","摄影"]},{symbol:"📸",name:"闪光灯相机",code:"U+1F4F8",category:"objects",keywords:["闪光灯相机","拍照","闪光"]},{symbol:"🔍",name:"放大镜",code:"U+1F50D",category:"objects",keywords:["放大镜","搜索","查找"]},{symbol:"🔎",name:"右向放大镜",code:"U+1F50E",category:"objects",keywords:["右向放大镜","搜索","查找"]},{symbol:"🕯️",name:"蜡烛",code:"U+1F56F",category:"objects",keywords:["蜡烛","光","浪漫"]},{symbol:"💡",name:"灯泡",code:"U+1F4A1",category:"objects",keywords:["灯泡","想法","创意"]},{symbol:"🔦",name:"手电筒",code:"U+1F526",category:"objects",keywords:["手电筒","照明","工具"]},{symbol:"🏮",name:"红灯笼",code:"U+1F3EE",category:"objects",keywords:["红灯笼","中式","装饰"]},{symbol:"🪔",name:"油灯",code:"U+1FA94",category:"objects",keywords:["油灯","传统","照明"]},{symbol:"📔",name:"装饰笔记本",code:"U+1F4D4",category:"objects",keywords:["装饰笔记本","笔记","书写"]},{symbol:"📕",name:"闭合书本",code:"U+1F4D5",category:"objects",keywords:["闭合书本","书","阅读"]},{symbol:"📖",name:"打开书本",code:"U+1F4D6",category:"objects",keywords:["打开书本","书","阅读"]},{symbol:"📗",name:"绿色书本",code:"U+1F4D7",category:"objects",keywords:["绿色书本","书","阅读"]},{symbol:"📘",name:"蓝色书本",code:"U+1F4D8",category:"objects",keywords:["蓝色书本","书","阅读"]},{symbol:"📙",name:"橙色书本",code:"U+1F4D9",category:"objects",keywords:["橙色书本","书","阅读"]},{symbol:"📚",name:"书堆",code:"U+1F4DA",category:"objects",keywords:["书堆","书籍","学习"]},{symbol:"📓",name:"笔记本",code:"U+1F4D3",category:"objects",keywords:["笔记本","记录","书写"]},{symbol:"📒",name:"账本",code:"U+1F4D2",category:"objects",keywords:["账本","记录","账目"]},{symbol:"📃",name:"卷页",code:"U+1F4C3",category:"objects",keywords:["卷页","文档","纸张"]},{symbol:"📜",name:"卷轴",code:"U+1F4DC",category:"objects",keywords:["卷轴","古代","文档"]},{symbol:"📄",name:"文档",code:"U+1F4C4",category:"objects",keywords:["文档","文件","纸张"]},{symbol:"📰",name:"报纸",code:"U+1F4F0",category:"objects",keywords:["报纸","新闻","信息"]},{symbol:"🗞️",name:"卷起的报纸",code:"U+1F5DE",category:"objects",keywords:["卷起的报纸","新闻","信息"]},{symbol:"📑",name:"书签标签",code:"U+1F4D1",category:"objects",keywords:["书签标签","标记","文档"]},{symbol:"🔖",name:"书签",code:"U+1F516",category:"objects",keywords:["书签","标记","阅读"]},{symbol:"🏷️",name:"标签",code:"U+1F3F7",category:"objects",keywords:["标签","标记","分类"]},{symbol:"💰",name:"钱袋",code:"U+1F4B0",category:"objects",keywords:["钱袋","金钱","财富"]},{symbol:"🪙",name:"硬币",code:"U+1FA99",category:"objects",keywords:["硬币","金钱","货币"]},{symbol:"💴",name:"日元",code:"U+1F4B4",category:"objects",keywords:["日元","货币","钞票"]},{symbol:"💵",name:"美元",code:"U+1F4B5",category:"objects",keywords:["美元","货币","钞票"]},{symbol:"💶",name:"欧元",code:"U+1F4B6",category:"objects",keywords:["欧元","货币","钞票"]},{symbol:"💷",name:"英镑",code:"U+1F4B7",category:"objects",keywords:["英镑","货币","钞票"]},{symbol:"💸",name:"飞走的钱",code:"U+1F4B8",category:"objects",keywords:["飞走的钱","花钱","支出"]},{symbol:"💳",name:"信用卡",code:"U+1F4B3",category:"objects",keywords:["信用卡","支付","银行卡"]},{symbol:"🧾",name:"收据",code:"U+1F9FE",category:"objects",keywords:["收据","账单","购物"]},{symbol:"💎",name:"钻石",code:"U+1F48E",category:"objects",keywords:["钻石","宝石","珍贵"]},{symbol:"⚖️",name:"天平",code:"U+2696",category:"objects",keywords:["天平","平衡","正义"]},{symbol:"🪜",name:"梯子",code:"U+1FA9C",category:"objects",keywords:["梯子","攀爬","工具"]},{symbol:"🧰",name:"工具箱",code:"U+1F9F0",category:"objects",keywords:["工具箱","工具","修理"]},{symbol:"🔧",name:"扳手",code:"U+1F527",category:"objects",keywords:["扳手","工具","修理"]},{symbol:"🔨",name:"锤子",code:"U+1F528",category:"objects",keywords:["锤子","工具","建造"]},{symbol:"⚒️",name:"锤子和镐",code:"U+2692",category:"objects",keywords:["锤子和镐","工具","建造"]},{symbol:"🛠️",name:"锤子和扳手",code:"U+1F6E0",category:"objects",keywords:["锤子和扳手","工具","修理"]},{symbol:"⛏️",name:"镐",code:"U+26CF",category:"objects",keywords:["镐","工具","挖掘"]},{symbol:"🪚",name:"锯子",code:"U+1FA9A",category:"objects",keywords:["锯子","工具","切割"]},{symbol:"🔩",name:"螺栓",code:"U+1F529",category:"objects",keywords:["螺栓","螺丝","固定"]},{symbol:"⚙️",name:"齿轮",code:"U+2699",category:"objects",keywords:["齿轮","机械","设置"]},{symbol:"🪤",name:"捕鼠器",code:"U+1FAA4",category:"objects",keywords:["捕鼠器","陷阱","工具"]},{symbol:"🧲",name:"磁铁",code:"U+1F9F2",category:"objects",keywords:["磁铁","吸引","科学"]},{symbol:"🪣",name:"水桶",code:"U+1FAA3",category:"objects",keywords:["水桶","容器","清洁"]},{symbol:"🔫",name:"水枪",code:"U+1F52B",category:"objects",keywords:["水枪","玩具","游戏"]},{symbol:"🧨",name:"炸药",code:"U+1F9E8",category:"objects",keywords:["炸药","爆炸","危险"]},{symbol:"🪓",name:"斧头",code:"U+1FA93",category:"objects",keywords:["斧头","工具","砍伐"]},{symbol:"🔪",name:"菜刀",code:"U+1F52A",category:"objects",keywords:["菜刀","厨具","切割"]},{symbol:"🗡️",name:"剑",code:"U+1F5E1",category:"objects",keywords:["剑","武器","古代"]},{symbol:"⚔️",name:"交叉剑",code:"U+2694",category:"objects",keywords:["交叉剑","战斗","武器"]},{symbol:"🛡️",name:"盾牌",code:"U+1F6E1",category:"objects",keywords:["盾牌","防护","安全"]},{symbol:"🚬",name:"香烟",code:"U+1F6AC",category:"objects",keywords:["香烟","吸烟","不健康"]},{symbol:"⚰️",name:"棺材",code:"U+26B0",category:"objects",keywords:["棺材","死亡","葬礼"]},{symbol:"🪦",name:"墓碑",code:"U+1FAA6",category:"objects",keywords:["墓碑","死亡","纪念"]},{symbol:"⚱️",name:"骨灰盒",code:"U+26B1",category:"objects",keywords:["骨灰盒","死亡","纪念"]},{symbol:"🏺",name:"双耳瓶",code:"U+1F3FA",category:"objects",keywords:["双耳瓶","古代","容器"]},{symbol:"🔮",name:"水晶球",code:"U+1F52E",category:"objects",keywords:["水晶球","预言","神秘"]},{symbol:"📿",name:"念珠",code:"U+1F4FF",category:"objects",keywords:["念珠","宗教","祈祷"]},{symbol:"🧿",name:"恶魔之眼",code:"U+1F9FF",category:"objects",keywords:["恶魔之眼","护身符","保护"]},{symbol:"💈",name:"理发店标志",code:"U+1F488",category:"objects",keywords:["理发店标志","理发","服务"]},{symbol:"⚗️",name:"蒸馏器",code:"U+2697",category:"objects",keywords:["蒸馏器","化学","实验"]},{symbol:"🔭",name:"望远镜",code:"U+1F52D",category:"objects",keywords:["望远镜","观察","天文"]},{symbol:"🔬",name:"显微镜",code:"U+1F52C",category:"objects",keywords:["显微镜","科学","研究"]},{symbol:"🕳️",name:"洞",code:"U+1F573",category:"objects",keywords:["洞","空洞","缺失"]},{symbol:"🩹",name:"创可贴",code:"U+1FA79",category:"objects",keywords:["创可贴","医疗","治疗"]},{symbol:"🩺",name:"听诊器",code:"U+1FA7A",category:"objects",keywords:["听诊器","医疗","检查"]},{symbol:"💊",name:"药丸",code:"U+1F48A",category:"objects",keywords:["药丸","医疗","治疗"]},{symbol:"💉",name:"注射器",code:"U+1F489",category:"objects",keywords:["注射器","医疗","疫苗"]},{symbol:"🩸",name:"血滴",code:"U+1FA78",category:"objects",keywords:["血滴","血液","医疗"]},{symbol:"🧬",name:"DNA",code:"U+1F9EC",category:"objects",keywords:["DNA","基因","科学"]},{symbol:"🦠",name:"微生物",code:"U+1F9A0",category:"objects",keywords:["微生物","细菌","病毒"]},{symbol:"🧫",name:"培养皿",code:"U+1F9EB",category:"objects",keywords:["培养皿","实验","科学"]},{symbol:"🧪",name:"试管",code:"U+1F9EA",category:"objects",keywords:["试管","实验","化学"]},{symbol:"🌡️",name:"温度计",code:"U+1F321",category:"objects",keywords:["温度计","温度","测量"]},{symbol:"🧹",name:"扫帚",code:"U+1F9F9",category:"objects",keywords:["扫帚","清洁","打扫"]},{symbol:"🪠",name:"马桶塞",code:"U+1FAA0",category:"objects",keywords:["马桶塞","清洁","工具"]},{symbol:"🧽",name:"海绵",code:"U+1F9FD",category:"objects",keywords:["海绵","清洁","洗涤"]},{symbol:"🧴",name:"洗涤瓶",code:"U+1F9F4",category:"objects",keywords:["洗涤瓶","清洁","容器"]},{symbol:"🛎️",name:"服务铃",code:"U+1F6CE",category:"objects",keywords:["服务铃","铃铛","服务"]},{symbol:"🔑",name:"钥匙",code:"U+1F511",category:"objects",keywords:["钥匙","开锁","安全"]},{symbol:"🗝️",name:"老式钥匙",code:"U+1F5DD",category:"objects",keywords:["老式钥匙","古代","开锁"]},{symbol:"🚪",name:"门",code:"U+1F6AA",category:"objects",keywords:["门","入口","建筑"]},{symbol:"🪑",name:"椅子",code:"U+1FA91",category:"objects",keywords:["椅子","家具","坐"]},{symbol:"🛏️",name:"床",code:"U+1F6CF",category:"objects",keywords:["床","家具","睡觉"]},{symbol:"🛋️",name:"沙发",code:"U+1F6CB",category:"objects",keywords:["沙发","家具","休息"]},{symbol:"🪞",name:"镜子",code:"U+1FA9E",category:"objects",keywords:["镜子","反射","家具"]},{symbol:"🚽",name:"马桶",code:"U+1F6BD",category:"objects",keywords:["马桶","厕所","卫生间"]},{symbol:"🚿",name:"淋浴",code:"U+1F6BF",category:"objects",keywords:["淋浴","洗澡","清洁"]},{symbol:"🛁",name:"浴缸",code:"U+1F6C1",category:"objects",keywords:["浴缸","洗澡","放松"]},{symbol:"🪒",name:"剃须刀",code:"U+1FA92",category:"objects",keywords:["剃须刀","剃须","清洁"]},{symbol:"🧴",name:"洗发水",code:"U+1F9F4",category:"objects",keywords:["洗发水","洗头","清洁"]},{symbol:"🧷",name:"安全别针",code:"U+1F9F7",category:"objects",keywords:["安全别针","别针","固定"]},{symbol:"🧼",name:"肥皂",code:"U+1F9FC",category:"objects",keywords:["肥皂","清洁","洗手"]},{symbol:"🪥",name:"牙刷",code:"U+1FAA5",category:"objects",keywords:["牙刷","刷牙","清洁"]},{symbol:"🧻",name:"卷纸",code:"U+1F9FB",category:"objects",keywords:["卷纸","纸巾","清洁"]},{symbol:"🪖",name:"军用头盔",code:"U+1FA96",category:"objects",keywords:["军用头盔","保护","军事"]},{symbol:"⛑️",name:"救援头盔",code:"U+26D1",category:"objects",keywords:["救援头盔","安全","救援"]},{symbol:"📿",name:"念珠",code:"U+1F4FF",category:"objects",keywords:["念珠","宗教","祈祷"]},{symbol:"💄",name:"口红",code:"U+1F484",category:"objects",keywords:["口红","化妆","美容"]},{symbol:"💍",name:"戒指",code:"U+1F48D",category:"objects",keywords:["戒指","珠宝","结婚"]},{symbol:"💎",name:"宝石",code:"U+1F48E",category:"objects",keywords:["宝石","钻石","珍贵"]},{symbol:"🔇",name:"静音",code:"U+1F507",category:"objects",keywords:["静音","无声","音量"]},{symbol:"🔈",name:"低音量",code:"U+1F508",category:"objects",keywords:["低音量","声音","音响"]},{symbol:"🔉",name:"中音量",code:"U+1F509",category:"objects",keywords:["中音量","声音","音响"]},{symbol:"🔊",name:"高音量",code:"U+1F50A",category:"objects",keywords:["高音量","声音","音响"]},{symbol:"📢",name:"扩音器",code:"U+1F4E2",category:"objects",keywords:["扩音器","广播","通知"]},{symbol:"📣",name:"喇叭",code:"U+1F4E3",category:"objects",keywords:["喇叭","呐喊","加油"]},{symbol:"📯",name:"邮号",code:"U+1F4EF",category:"objects",keywords:["邮号","号角","音乐"]},{symbol:"🔔",name:"铃铛",code:"U+1F514",category:"objects",keywords:["铃铛","通知","提醒"]},{symbol:"🔕",name:"静音铃铛",code:"U+1F515",category:"objects",keywords:["静音铃铛","静音","关闭"]},{symbol:"🎼",name:"乐谱",code:"U+1F3BC",category:"objects",keywords:["乐谱","音乐","作曲"]},{symbol:"🎵",name:"音符",code:"U+1F3B5",category:"objects",keywords:["音符","音乐","旋律"]},{symbol:"🎶",name:"音符",code:"U+1F3B6",category:"objects",keywords:["音符","音乐","歌曲"]},{symbol:"🎙️",name:"录音室麦克风",code:"U+1F399",category:"objects",keywords:["录音室麦克风","录音","广播"]},{symbol:"🎚️",name:"电平滑块",code:"U+1F39A",category:"objects",keywords:["电平滑块","音响","调节"]},{symbol:"🎛️",name:"控制旋钮",code:"U+1F39B",category:"objects",keywords:["控制旋钮","音响","调节"]},{symbol:"🎤",name:"麦克风",code:"U+1F3A4",category:"objects",keywords:["麦克风","唱歌","录音"]},{symbol:"🎧",name:"耳机",code:"U+1F3A7",category:"objects",keywords:["耳机","音乐","听歌"]},{symbol:"📻",name:"收音机",code:"U+1F4FB",category:"objects",keywords:["收音机","广播","音乐"]},{symbol:"🎷",name:"萨克斯",code:"U+1F3B7",category:"objects",keywords:["萨克斯","乐器","音乐"]},{symbol:"🪗",name:"手风琴",code:"U+1FA97",category:"objects",keywords:["手风琴","乐器","音乐"]},{symbol:"🎸",name:"吉他",code:"U+1F3B8",category:"objects",keywords:["吉他","乐器","音乐"]},{symbol:"🎹",name:"钢琴键",code:"U+1F3B9",category:"objects",keywords:["钢琴键","钢琴","音乐"]},{symbol:"🎺",name:"小号",code:"U+1F3BA",category:"objects",keywords:["小号","乐器","音乐"]},{symbol:"🎻",name:"小提琴",code:"U+1F3BB",category:"objects",keywords:["小提琴","乐器","音乐"]},{symbol:"🪕",name:"班卓琴",code:"U+1FA95",category:"objects",keywords:["班卓琴","乐器","音乐"]},{symbol:"🥁",name:"鼓",code:"U+1F941",category:"objects",keywords:["鼓","乐器","音乐"]},{symbol:"🪘",name:"长鼓",code:"U+1FA98",category:"objects",keywords:["长鼓","乐器","音乐"]},{symbol:"📱",name:"智能手机",code:"U+1F4F1",category:"objects",keywords:["智能手机","手机","通讯"]},{symbol:"📞",name:"电话听筒",code:"U+1F4DE",category:"objects",keywords:["电话听筒","电话","通话"]},{symbol:"☎️",name:"电话",code:"U+260E",category:"objects",keywords:["电话","座机","通讯"]},{symbol:"📟",name:"寻呼机",code:"U+1F4DF",category:"objects",keywords:["寻呼机","通讯","老式"]},{symbol:"📠",name:"传真机",code:"U+1F4E0",category:"objects",keywords:["传真机","办公","通讯"]},{symbol:"🔋",name:"电池",code:"U+1F50B",category:"objects",keywords:["电池","电力","能源"]},{symbol:"🪫",name:"低电量电池",code:"U+1FAAB",category:"objects",keywords:["低电量电池","电池","电力不足"]},{symbol:"🔌",name:"电源插头",code:"U+1F50C",category:"objects",keywords:["电源插头","电力","插座"]},{symbol:"💻",name:"笔记本",code:"U+1F4BB",category:"objects",keywords:["笔记本","电脑","工作"]},{symbol:"🖥️",name:"桌面电脑",code:"U+1F5A5",category:"objects",keywords:["桌面电脑","电脑","办公"]},{symbol:"🖨️",name:"打印机",code:"U+1F5A8",category:"objects",keywords:["打印机","办公","文档"]},{symbol:"⌨️",name:"键盘",code:"U+2328",category:"objects",keywords:["键盘","输入","电脑"]},{symbol:"🖱️",name:"电脑鼠标",code:"U+1F5B1",category:"objects",keywords:["电脑鼠标","鼠标","点击"]},{symbol:"🖲️",name:"轨迹球",code:"U+1F5B2",category:"objects",keywords:["轨迹球","输入","电脑"]},{symbol:"💽",name:"MD",code:"U+1F4BD",category:"objects",keywords:["MD","迷你光盘","存储"]},{symbol:"💾",name:"软盘",code:"U+1F4BE",category:"objects",keywords:["软盘","存储","保存"]},{symbol:"💿",name:"光盘",code:"U+1F4BF",category:"objects",keywords:["光盘","CD","音乐"]},{symbol:"📀",name:"DVD",code:"U+1F4C0",category:"objects",keywords:["DVD","视频","电影"]},{symbol:"🧮",name:"算盘",code:"U+1F9EE",category:"objects",keywords:["算盘","计算","传统"]},{symbol:"🎥",name:"电影摄像机",code:"U+1F3A5",category:"objects",keywords:["电影摄像机","拍摄","电影"]},{symbol:"📹",name:"摄像机",code:"U+1F4F9",category:"objects",keywords:["摄像机","录像","视频"]},{symbol:"📷",name:"照相机",code:"U+1F4F7",category:"objects",keywords:["照相机","拍照","摄影"]},{symbol:"📸",name:"闪光照相机",code:"U+1F4F8",category:"objects",keywords:["闪光照相机","拍照","闪光"]},{symbol:"🔍",name:"左指放大镜",code:"U+1F50D",category:"objects",keywords:["左指放大镜","搜索","查找"]},{symbol:"🔎",name:"右指放大镜",code:"U+1F50E",category:"objects",keywords:["右指放大镜","搜索","查找"]},{symbol:"🕯️",name:"蜡烛",code:"U+1F56F",category:"objects",keywords:["蜡烛","光线","浪漫"]},{symbol:"💡",name:"电灯泡",code:"U+1F4A1",category:"objects",keywords:["电灯泡","想法","创意"]},{symbol:"🔦",name:"手电筒",code:"U+1F526",category:"objects",keywords:["手电筒","照明","工具"]},{symbol:"🏮",name:"红纸灯笼",code:"U+1F3EE",category:"objects",keywords:["红纸灯笼","中式","节日"]},{symbol:"🪔",name:"迪雅油灯",code:"U+1FA94",category:"objects",keywords:["迪雅油灯","印度","节日"]},{symbol:"📔",name:"装饰封面笔记本",code:"U+1F4D4",category:"objects",keywords:["装饰封面笔记本","笔记","记录"]},{symbol:"📕",name:"闭合的书",code:"U+1F4D5",category:"objects",keywords:["闭合的书","书籍","阅读"]},{symbol:"📖",name:"打开的书",code:"U+1F4D6",category:"objects",keywords:["打开的书","阅读","学习"]},{symbol:"📗",name:"绿皮书",code:"U+1F4D7",category:"objects",keywords:["绿皮书","书籍","阅读"]},{symbol:"📘",name:"蓝皮书",code:"U+1F4D8",category:"objects",keywords:["蓝皮书","书籍","阅读"]},{symbol:"📙",name:"橙皮书",code:"U+1F4D9",category:"objects",keywords:["橙皮书","书籍","阅读"]},{symbol:"📚",name:"书籍",code:"U+1F4DA",category:"objects",keywords:["书籍","书堆","学习"]},{symbol:"📓",name:"笔记本",code:"U+1F4D3",category:"objects",keywords:["笔记本","记录","学习"]},{symbol:"📒",name:"账本",code:"U+1F4D2",category:"objects",keywords:["账本","记录","账务"]},{symbol:"📃",name:"卷页文档",code:"U+1F4C3",category:"objects",keywords:["卷页文档","文件","纸张"]},{symbol:"📜",name:"卷轴",code:"U+1F4DC",category:"objects",keywords:["卷轴","古代","文档"]},{symbol:"📄",name:"朝上文档",code:"U+1F4C4",category:"objects",keywords:["朝上文档","文件","纸张"]},{symbol:"📰",name:"报纸",code:"U+1F4F0",category:"objects",keywords:["报纸","新闻","信息"]},{symbol:"🗞️",name:"卷起的报纸",code:"U+1F5DE",category:"objects",keywords:["卷起的报纸","新闻","媒体"]},{symbol:"📑",name:"书签标签页",code:"U+1F4D1",category:"objects",keywords:["书签标签页","标记","文档"]},{symbol:"🔖",name:"书签",code:"U+1F516",category:"objects",keywords:["书签","标记","阅读"]},{symbol:"🏷️",name:"标签",code:"U+1F3F7",category:"objects",keywords:["标签","标记","分类"]},{symbol:"🏷️",name:"划船",code:"U+1F6A3",category:"activities",keywords:["划船","运动","水上"]},{symbol:"🧗",name:"攀岩",code:"U+1F9D7",category:"activities",keywords:["攀岩","运动","极限"]},{symbol:"🚵",name:"山地自行车",code:"U+1F6B5",category:"activities",keywords:["山地自行车","运动","户外"]},{symbol:"🚴",name:"骑自行车",code:"U+1F6B4",category:"activities",keywords:["骑自行车","运动","健身"]},{symbol:"🏇",name:"赛马",code:"U+1F3C7",category:"activities",keywords:["赛马","运动","马术"]},{symbol:"🤸",name:"体操",code:"U+1F938",category:"activities",keywords:["体操","运动","翻跟头"]},{symbol:"🤼",name:"摔跤",code:"U+1F93C",category:"activities",keywords:["摔跤","运动","格斗"]},{symbol:"🤽",name:"水球",code:"U+1F93D",category:"activities",keywords:["水球","运动","水上"]},{symbol:"🤾",name:"手球",code:"U+1F93E",category:"activities",keywords:["手球","运动","球类"]},{symbol:"🤹",name:"杂耍",code:"U+1F939",category:"activities",keywords:["杂耍","表演","技巧"]},{symbol:"🧘",name:"冥想",code:"U+1F9D8",category:"activities",keywords:["冥想","瑜伽","放松"]},{symbol:"🛀",name:"洗澡",code:"U+1F6C0",category:"activities",keywords:["洗澡","放松","清洁"]},{symbol:"🛌",name:"睡觉",code:"U+1F6CC",category:"activities",keywords:["睡觉","休息","床"]},{symbol:"🎭",name:"表演艺术",code:"U+1F3AD",category:"activities",keywords:["表演艺术","戏剧","面具"]},{symbol:"🩰",name:"芭蕾舞鞋",code:"U+1FA70",category:"activities",keywords:["芭蕾舞鞋","舞蹈","艺术"]},{symbol:"🎨",name:"艺术",code:"U+1F3A8",category:"activities",keywords:["艺术","绘画","创作"]},{symbol:"🎬",name:"电影",code:"U+1F3AC",category:"activities",keywords:["电影","拍摄","娱乐"]},{symbol:"🎤",name:"麦克风",code:"U+1F3A4",category:"activities",keywords:["麦克风","唱歌","表演"]},{symbol:"🎧",name:"耳机",code:"U+1F3A7",category:"activities",keywords:["耳机","音乐","听歌"]},{symbol:"🎼",name:"乐谱",code:"U+1F3BC",category:"activities",keywords:["乐谱","音乐","作曲"]},{symbol:"🎵",name:"音符",code:"U+1F3B5",category:"activities",keywords:["音符","音乐","旋律"]},{symbol:"🎶",name:"多个音符",code:"U+1F3B6",category:"activities",keywords:["多个音符","音乐","歌曲"]},{symbol:"🎹",name:"钢琴",code:"U+1F3B9",category:"activities",keywords:["钢琴","音乐","乐器"]},{symbol:"🥁",name:"鼓",code:"U+1F941",category:"activities",keywords:["鼓","音乐","乐器"]},{symbol:"🪘",name:"长鼓",code:"U+1FA98",category:"activities",keywords:["长鼓","音乐","乐器"]},{symbol:"🎷",name:"萨克斯",code:"U+1F3B7",category:"activities",keywords:["萨克斯","音乐","乐器"]},{symbol:"🎺",name:"小号",code:"U+1F3BA",category:"activities",keywords:["小号","音乐","乐器"]},{symbol:"🎸",name:"吉他",code:"U+1F3B8",category:"activities",keywords:["吉他","音乐","乐器"]},{symbol:"🪕",name:"班卓琴",code:"U+1FA95",category:"activities",keywords:["班卓琴","音乐","乐器"]},{symbol:"🎻",name:"小提琴",code:"U+1F3BB",category:"activities",keywords:["小提琴","音乐","乐器"]},{symbol:"🪗",name:"手风琴",code:"U+1FA97",category:"activities",keywords:["手风琴","音乐","乐器"]},{symbol:"🪈",name:"长笛",code:"U+1FA88",category:"activities",keywords:["长笛","音乐","乐器"]},{symbol:"🎲",name:"骰子",code:"U+1F3B2",category:"activities",keywords:["骰子","游戏","运气"]},{symbol:"♟️",name:"国际象棋",code:"U+265F",category:"activities",keywords:["国际象棋","棋类","策略"]},{symbol:"🎳",name:"保龄球",code:"U+1F3B3",category:"activities",keywords:["保龄球","运动","游戏"]},{symbol:"🎮",name:"游戏手柄",code:"U+1F3AE",category:"activities",keywords:["游戏手柄","电子游戏","娱乐"]},{symbol:"🎰",name:"老虎机",code:"U+1F3B0",category:"activities",keywords:["老虎机","赌博","运气"]},{symbol:"🧩",name:"拼图",code:"U+1F9E9",category:"activities",keywords:["拼图","游戏","智力"]},{symbol:"🃏",name:"小丑牌",code:"U+1F0CF",category:"activities",keywords:["小丑牌","扑克","游戏"]},{symbol:"🀄",name:"麻将红中",code:"U+1F004",category:"activities",keywords:["麻将红中","麻将","游戏"]},{symbol:"🎴",name:"花札",code:"U+1F3B4",category:"activities",keywords:["花札","日式纸牌","游戏"]},{symbol:"🎊",name:"彩带",code:"U+1F38A",category:"activities",keywords:["彩带","庆祝","派对"]},{symbol:"🎉",name:"拉炮",code:"U+1F389",category:"activities",keywords:["拉炮","庆祝","派对"]},{symbol:"🎈",name:"气球",code:"U+1F388",category:"activities",keywords:["气球","庆祝","派对"]},{symbol:"🎁",name:"礼物",code:"U+1F381",category:"activities",keywords:["礼物","礼品","惊喜"]},{symbol:"🎀",name:"蝴蝶结",code:"U+1F380",category:"activities",keywords:["蝴蝶结","装饰","可爱"]},{symbol:"🎗️",name:"丝带",code:"U+1F397",category:"activities",keywords:["丝带","纪念","支持"]},{symbol:"🎟️",name:"门票",code:"U+1F39F",category:"activities",keywords:["门票","入场券","活动"]},{symbol:"🎫",name:"票",code:"U+1F3AB",category:"activities",keywords:["票","门票","入场"]},{symbol:"⌚",name:"手表",code:"U+231A",category:"objects",keywords:["手表","时间","配饰"]},{symbol:"📱",name:"手机",code:"U+1F4F1",category:"objects",keywords:["手机","电话","通讯"]},{symbol:"📲",name:"手机来电",code:"U+1F4F2",category:"objects",keywords:["手机来电","电话","通讯"]},{symbol:"💻",name:"笔记本电脑",code:"U+1F4BB",category:"objects",keywords:["笔记本电脑","电脑","工作"]},{symbol:"⌨️",name:"键盘",code:"U+2328",category:"objects",keywords:["键盘","电脑","输入"]},{symbol:"🖥️",name:"台式电脑",code:"U+1F5A5",category:"objects",keywords:["台式电脑","显示器","电脑"]},{symbol:"🖨️",name:"打印机",code:"U+1F5A8",category:"objects",keywords:["打印机","办公","设备"]},{symbol:"🖱️",name:"鼠标",code:"U+1F5B1",category:"objects",keywords:["鼠标","电脑","点击"]},{symbol:"🖲️",name:"轨迹球",code:"U+1F5B2",category:"objects",keywords:["轨迹球","电脑","输入"]},{symbol:"🕹️",name:"游戏手柄",code:"U+1F579",category:"objects",keywords:["游戏手柄","游戏","控制器"]},{symbol:"🗜️",name:"压缩",code:"U+1F5DC",category:"objects",keywords:["压缩","工具","夹子"]},{symbol:"💽",name:"光盘",code:"U+1F4BD",category:"objects",keywords:["光盘","CD","存储"]},{symbol:"💾",name:"软盘",code:"U+1F4BE",category:"objects",keywords:["软盘","保存","存储"]},{symbol:"💿",name:"CD",code:"U+1F4BF",category:"objects",keywords:["CD","光盘","音乐"]},{symbol:"📀",name:"DVD",code:"U+1F4C0",category:"objects",keywords:["DVD","光盘","视频"]},{symbol:"🧮",name:"算盘",code:"U+1F9EE",category:"objects",keywords:["算盘","计算","传统"]},{symbol:"🎥",name:"摄像机",code:"U+1F3A5",category:"objects",keywords:["摄像机","拍摄","电影"]},{symbol:"📹",name:"摄像头",code:"U+1F4F9",category:"objects",keywords:["摄像头","录像","拍摄"]},{symbol:"📷",name:"相机",code:"U+1F4F7",category:"objects",keywords:["相机","拍照","摄影"]},{symbol:"📸",name:"闪光灯相机",code:"U+1F4F8",category:"objects",keywords:["闪光灯相机","拍照","摄影"]},{symbol:"🔍",name:"放大镜",code:"U+1F50D",category:"objects",keywords:["放大镜","搜索","查找"]},{symbol:"🔎",name:"右向放大镜",code:"U+1F50E",category:"objects",keywords:["放大镜","搜索","查找"]},{symbol:"🕯️",name:"蜡烛",code:"U+1F56F",category:"objects",keywords:["蜡烛","火焰","照明"]},{symbol:"💡",name:"灯泡",code:"U+1F4A1",category:"objects",keywords:["灯泡","想法","照明"]},{symbol:"🔦",name:"手电筒",code:"U+1F526",category:"objects",keywords:["手电筒","照明","工具"]},{symbol:"🏮",name:"红灯笼",code:"U+1F3EE",category:"objects",keywords:["红灯笼","中国","节日"]},{symbol:"🪔",name:"油灯",code:"U+1FA94",category:"objects",keywords:["油灯","照明","传统"]},{symbol:"📔",name:"笔记本",code:"U+1F4D4",category:"objects",keywords:["笔记本","记录","学习"]},{symbol:"📕",name:"闭合书本",code:"U+1F4D5",category:"objects",keywords:["闭合书本","书","阅读"]},{symbol:"📖",name:"打开书本",code:"U+1F4D6",category:"objects",keywords:["打开书本","书","阅读"]},{symbol:"📗",name:"绿色书本",code:"U+1F4D7",category:"objects",keywords:["绿色书本","书","学习"]},{symbol:"📘",name:"蓝色书本",code:"U+1F4D8",category:"objects",keywords:["蓝色书本","书","学习"]},{symbol:"📙",name:"橙色书本",code:"U+1F4D9",category:"objects",keywords:["橙色书本","书","学习"]},{symbol:"📚",name:"书堆",code:"U+1F4DA",category:"objects",keywords:["书堆","书籍","学习"]},{symbol:"📓",name:"笔记本",code:"U+1F4D3",category:"objects",keywords:["笔记本","记录","写作"]},{symbol:"📒",name:"账本",code:"U+1F4D2",category:"objects",keywords:["账本","记录","账目"]},{symbol:"📃",name:"卷页",code:"U+1F4C3",category:"objects",keywords:["卷页","文档","纸张"]},{symbol:"📜",name:"卷轴",code:"U+1F4DC",category:"objects",keywords:["卷轴","古代","文档"]},{symbol:"📄",name:"文档",code:"U+1F4C4",category:"objects",keywords:["文档","纸张","文件"]},{symbol:"📰",name:"报纸",code:"U+1F4F0",category:"objects",keywords:["报纸","新闻","信息"]},{symbol:"🗞️",name:"卷起的报纸",code:"U+1F5DE",category:"objects",keywords:["卷起的报纸","新闻","信息"]},{symbol:"📑",name:"书签标签",code:"U+1F4D1",category:"objects",keywords:["书签标签","标记","文档"]},{symbol:"🔖",name:"书签",code:"U+1F516",category:"objects",keywords:["书签","标记","阅读"]},{symbol:"🏷️",name:"标签",code:"U+1F3F7",category:"objects",keywords:["标签","标记","分类"]},{symbol:"💰",name:"钱袋",code:"U+1F4B0",category:"objects",keywords:["钱袋","金钱","财富"]},{symbol:"🪙",name:"硬币",code:"U+1FA99",category:"objects",keywords:["硬币","金钱","货币"]},{symbol:"💴",name:"日元",code:"U+1F4B4",category:"objects",keywords:["日元","货币","日本"]},{symbol:"💵",name:"美元",code:"U+1F4B5",category:"objects",keywords:["美元","货币","美国"]},{symbol:"💶",name:"欧元",code:"U+1F4B6",category:"objects",keywords:["欧元","货币","欧洲"]},{symbol:"💷",name:"英镑",code:"U+1F4B7",category:"objects",keywords:["英镑","货币","英国"]},{symbol:"💸",name:"飞走的钱",code:"U+1F4B8",category:"objects",keywords:["飞走的钱","花钱","支出"]},{symbol:"💳",name:"信用卡",code:"U+1F4B3",category:"objects",keywords:["信用卡","支付","银行卡"]},{symbol:"🧾",name:"收据",code:"U+1F9FE",category:"objects",keywords:["收据","账单","购物"]},{symbol:"💎",name:"钻石",code:"U+1F48E",category:"objects",keywords:["钻石","宝石","珍贵"]},{symbol:"⚖️",name:"天平",code:"U+2696",category:"objects",keywords:["天平","正义","平衡"]},{symbol:"🪜",name:"梯子",code:"U+1FA9C",category:"objects",keywords:["梯子","攀爬","工具"]},{symbol:"🧰",name:"工具箱",code:"U+1F9F0",category:"objects",keywords:["工具箱","工具","修理"]},{symbol:"🔧",name:"扳手",code:"U+1F527",category:"objects",keywords:["扳手","工具","修理"]},{symbol:"🔨",name:"锤子",code:"U+1F528",category:"objects",keywords:["锤子","工具","建造"]},{symbol:"⚒️",name:"锤子和镐",code:"U+2692",category:"objects",keywords:["锤子和镐","工具","挖掘"]},{symbol:"🛠️",name:"锤子和扳手",code:"U+1F6E0",category:"objects",keywords:["锤子和扳手","工具","修理"]},{symbol:"⛏️",name:"镐",code:"U+26CF",category:"objects",keywords:["镐","工具","挖掘"]},{symbol:"🪚",name:"锯子",code:"U+1FA9A",category:"objects",keywords:["锯子","工具","切割"]},{symbol:"🔩",name:"螺栓",code:"U+1F529",category:"objects",keywords:["螺栓","工具","固定"]},{symbol:"⚙️",name:"齿轮",code:"U+2699",category:"objects",keywords:["齿轮","机械","设置"]},{symbol:"🪤",name:"捕鼠器",code:"U+1FAA4",category:"objects",keywords:["捕鼠器","陷阱","工具"]},{symbol:"🧲",name:"磁铁",code:"U+1F9F2",category:"objects",keywords:["磁铁","吸引","科学"]},{symbol:"🪣",name:"水桶",code:"U+1FAA3",category:"objects",keywords:["水桶","容器","清洁"]},{symbol:"🔫",name:"水枪",code:"U+1F52B",category:"objects",keywords:["水枪","玩具","游戏"]},{symbol:"💣",name:"炸弹",code:"U+1F4A3",category:"objects",keywords:["炸弹","爆炸","危险"]},{symbol:"🧨",name:"鞭炮",code:"U+1F9E8",category:"objects",keywords:["鞭炮","爆竹","庆祝"]},{symbol:"🪓",name:"斧头",code:"U+1FA93",category:"objects",keywords:["斧头","工具","砍伐"]},{symbol:"🔪",name:"菜刀",code:"U+1F52A",category:"objects",keywords:["菜刀","厨具","切割"]},{symbol:"🗡️",name:"剑",code:"U+1F5E1",category:"objects",keywords:["剑","武器","古代"]},{symbol:"⚔️",name:"交叉剑",code:"U+2694",category:"objects",keywords:["交叉剑","战斗","武器"]},{symbol:"🛡️",name:"盾牌",code:"U+1F6E1",category:"objects",keywords:["盾牌","防护","保护"]},{symbol:"🚬",name:"香烟",code:"U+1F6AC",category:"objects",keywords:["香烟","吸烟","不健康"]},{symbol:"⚰️",name:"棺材",code:"U+26B0",category:"objects",keywords:["棺材","死亡","葬礼"]},{symbol:"🪦",name:"墓碑",code:"U+1FAA6",category:"objects",keywords:["墓碑","死亡","纪念"]},{symbol:"⚱️",name:"骨灰盒",code:"U+26B1",category:"objects",keywords:["骨灰盒","死亡","纪念"]},{symbol:"🏺",name:"双耳瓶",code:"U+1F3FA",category:"objects",keywords:["双耳瓶","古代","容器"]},{symbol:"🔮",name:"水晶球",code:"U+1F52E",category:"objects",keywords:["水晶球","预言","神秘"]},{symbol:"📿",name:"念珠",code:"U+1F4FF",category:"objects",keywords:["念珠","宗教","祈祷"]},{symbol:"🧿",name:"恶魔之眼",code:"U+1F9FF",category:"objects",keywords:["恶魔之眼","护身符","保护"]},{symbol:"💈",name:"理发店标志",code:"U+1F488",category:"objects",keywords:["理发店标志","理发","服务"]},{symbol:"⚗️",name:"蒸馏器",code:"U+2697",category:"objects",keywords:["蒸馏器","化学","实验"]},{symbol:"🔭",name:"望远镜",code:"U+1F52D",category:"objects",keywords:["望远镜","观察","天文"]},{symbol:"🔬",name:"显微镜",code:"U+1F52C",category:"objects",keywords:["显微镜","科学","研究"]},{symbol:"🔦",name:"手电筒",code:"U+1F526",category:"objects",keywords:["手电筒","照明","工具"]},{symbol:"🏮",name:"红灯笼",code:"U+1F3EE",category:"objects",keywords:["红灯笼","中国","节日"]},{symbol:"🪔",name:"油灯",code:"U+1FA94",category:"objects",keywords:["油灯","照明","传统"]},{symbol:"📔",name:"笔记本",code:"U+1F4D4",category:"objects",keywords:["笔记本","记录","学习"]},{symbol:"❤️",name:"红心",code:"U+2764",category:"symbols",keywords:["红心","爱","喜欢"]},{symbol:"🧡",name:"橙心",code:"U+1F9E1",category:"symbols",keywords:["橙心","爱","温暖"]},{symbol:"💛",name:"黄心",code:"U+1F49B",category:"symbols",keywords:["黄心","爱","友谊"]},{symbol:"💚",name:"绿心",code:"U+1F49A",category:"symbols",keywords:["绿心","爱","自然"]},{symbol:"💙",name:"蓝心",code:"U+1F499",category:"symbols",keywords:["蓝心","爱","平静"]},{symbol:"💜",name:"紫心",code:"U+1F49C",category:"symbols",keywords:["紫心","爱","神秘"]},{symbol:"🖤",name:"黑心",code:"U+1F5A4",category:"symbols",keywords:["黑心","爱","酷"]},{symbol:"🤍",name:"白心",code:"U+1F90D",category:"symbols",keywords:["白心","爱","纯洁"]},{symbol:"🤎",name:"棕心",code:"U+1F90E",category:"symbols",keywords:["棕心","爱","大地"]},{symbol:"💔",name:"心碎",code:"U+1F494",category:"symbols",keywords:["心碎","伤心","分手"]},{symbol:"❣️",name:"心形感叹号",code:"U+2763",category:"symbols",keywords:["心形感叹号","爱","强调"]},{symbol:"💕",name:"两颗心",code:"U+1F495",category:"symbols",keywords:["两颗心","爱","恋爱"]},{symbol:"💞",name:"旋转的心",code:"U+1F49E",category:"symbols",keywords:["旋转的心","爱","恋爱"]},{symbol:"💓",name:"心跳",code:"U+1F493",category:"symbols",keywords:["心跳","爱","兴奋"]},{symbol:"💗",name:"成长的心",code:"U+1F497",category:"symbols",keywords:["成长的心","爱","增长"]},{symbol:"💖",name:"闪亮的心",code:"U+1F496",category:"symbols",keywords:["闪亮的心","爱","特别"]},{symbol:"💘",name:"丘比特之箭",code:"U+1F498",category:"symbols",keywords:["丘比特之箭","爱","恋爱"]},{symbol:"💝",name:"心形礼物",code:"U+1F49D",category:"symbols",keywords:["心形礼物","爱","礼物"]},{symbol:"💟",name:"心形装饰",code:"U+1F49F",category:"symbols",keywords:["心形装饰","爱","装饰"]},{symbol:"☮️",name:"和平符号",code:"U+262E",category:"symbols",keywords:["和平符号","和平","反战"]},{symbol:"✝️",name:"十字架",code:"U+271D",category:"symbols",keywords:["十字架","基督教","宗教"]},{symbol:"☪️",name:"星月符号",code:"U+262A",category:"symbols",keywords:["星月符号","伊斯兰教","宗教"]},{symbol:"🕉️",name:"奥姆符号",code:"U+1F549",category:"symbols",keywords:["奥姆符号","印度教","宗教"]},{symbol:"☸️",name:"法轮",code:"U+2638",category:"symbols",keywords:["法轮","佛教","宗教"]},{symbol:"✡️",name:"大卫之星",code:"U+2721",category:"symbols",keywords:["大卫之星","犹太教","宗教"]},{symbol:"🔯",name:"六芒星",code:"U+1F52F",category:"symbols",keywords:["六芒星","星星","符号"]},{symbol:"🕎",name:"烛台",code:"U+1F54E",category:"symbols",keywords:["烛台","犹太教","宗教"]},{symbol:"☯️",name:"阴阳",code:"U+262F",category:"symbols",keywords:["阴阳","太极","平衡"]},{symbol:"♈",name:"白羊座",code:"U+2648",category:"symbols",keywords:["白羊座","星座","占星"]},{symbol:"♉",name:"金牛座",code:"U+2649",category:"symbols",keywords:["金牛座","星座","占星"]},{symbol:"♊",name:"双子座",code:"U+264A",category:"symbols",keywords:["双子座","星座","占星"]},{symbol:"♋",name:"巨蟹座",code:"U+264B",category:"symbols",keywords:["巨蟹座","星座","占星"]},{symbol:"♌",name:"狮子座",code:"U+264C",category:"symbols",keywords:["狮子座","星座","占星"]},{symbol:"♍",name:"处女座",code:"U+264D",category:"symbols",keywords:["处女座","星座","占星"]},{symbol:"♎",name:"天秤座",code:"U+264E",category:"symbols",keywords:["天秤座","星座","占星"]},{symbol:"♏",name:"天蝎座",code:"U+264F",category:"symbols",keywords:["天蝎座","星座","占星"]},{symbol:"♐",name:"射手座",code:"U+2650",category:"symbols",keywords:["射手座","星座","占星"]},{symbol:"♑",name:"摩羯座",code:"U+2651",category:"symbols",keywords:["摩羯座","星座","占星"]},{symbol:"♒",name:"水瓶座",code:"U+2652",category:"symbols",keywords:["水瓶座","星座","占星"]},{symbol:"♓",name:"双鱼座",code:"U+2653",category:"symbols",keywords:["双鱼座","星座","占星"]},{symbol:"⛎",name:"蛇夫座",code:"U+26CE",category:"symbols",keywords:["蛇夫座","星座","占星"]},{symbol:"🔀",name:"随机播放",code:"U+1F500",category:"symbols",keywords:["随机播放","音乐","控制"]},{symbol:"🔁",name:"重复",code:"U+1F501",category:"symbols",keywords:["重复","循环","控制"]},{symbol:"🔂",name:"单曲循环",code:"U+1F502",category:"symbols",keywords:["单曲循环","重复","音乐"]},{symbol:"▶️",name:"播放",code:"U+25B6",category:"symbols",keywords:["播放","开始","控制"]},{symbol:"⏩",name:"快进",code:"U+23E9",category:"symbols",keywords:["快进","前进","控制"]},{symbol:"⏭️",name:"下一首",code:"U+23ED",category:"symbols",keywords:["下一首","跳过","控制"]},{symbol:"⏯️",name:"播放暂停",code:"U+23EF",category:"symbols",keywords:["播放暂停","控制","媒体"]},{symbol:"◀️",name:"倒退",code:"U+25C0",category:"symbols",keywords:["倒退","后退","控制"]},{symbol:"⏪",name:"快退",code:"U+23EA",category:"symbols",keywords:["快退","后退","控制"]},{symbol:"⏮️",name:"上一首",code:"U+23EE",category:"symbols",keywords:["上一首","返回","控制"]},{symbol:"🔼",name:"向上",code:"U+1F53C",category:"symbols",keywords:["向上","上升","方向"]},{symbol:"⏫",name:"快速向上",code:"U+23EB",category:"symbols",keywords:["快速向上","上升","控制"]},{symbol:"🔽",name:"向下",code:"U+1F53D",category:"symbols",keywords:["向下","下降","方向"]},{symbol:"⏬",name:"快速向下",code:"U+23EC",category:"symbols",keywords:["快速向下","下降","控制"]},{symbol:"⏸️",name:"暂停",code:"U+23F8",category:"symbols",keywords:["暂停","停止","控制"]},{symbol:"⏹️",name:"停止",code:"U+23F9",category:"symbols",keywords:["停止","结束","控制"]},{symbol:"⏺️",name:"录制",code:"U+23FA",category:"symbols",keywords:["录制","记录","控制"]},{symbol:"⏏️",name:"弹出",code:"U+23CF",category:"symbols",keywords:["弹出","退出","控制"]},{symbol:"🎦",name:"电影院",code:"U+1F3A6",category:"symbols",keywords:["电影院","电影","娱乐"]},{symbol:"🔅",name:"低亮度",code:"U+1F505",category:"symbols",keywords:["低亮度","暗","调节"]},{symbol:"🔆",name:"高亮度",code:"U+1F506",category:"symbols",keywords:["高亮度","亮","调节"]},{symbol:"📶",name:"信号强度",code:"U+1F4F6",category:"symbols",keywords:["信号强度","网络","通讯"]},{symbol:"📳",name:"振动模式",code:"U+1F4F3",category:"symbols",keywords:["振动模式","静音","手机"]},{symbol:"📴",name:"手机关机",code:"U+1F4F4",category:"symbols",keywords:["手机关机","关闭","禁止"]},{symbol:"♀️",name:"女性符号",code:"U+2640",category:"symbols",keywords:["女性符号","女","性别"]},{symbol:"♂️",name:"男性符号",code:"U+2642",category:"symbols",keywords:["男性符号","男","性别"]},{symbol:"⚧️",name:"跨性别符号",code:"U+26A7",category:"symbols",keywords:["跨性别符号","性别","多元"]},{symbol:"✖️",name:"乘号",code:"U+2716",category:"symbols",keywords:["乘号","乘法","数学"]},{symbol:"➕",name:"加号",code:"U+2795",category:"symbols",keywords:["加号","加法","数学"]},{symbol:"➖",name:"减号",code:"U+2796",category:"symbols",keywords:["减号","减法","数学"]},{symbol:"➗",name:"除号",code:"U+2797",category:"symbols",keywords:["除号","除法","数学"]},{symbol:"♾️",name:"无穷大",code:"U+267E",category:"symbols",keywords:["无穷大","无限","数学"]},{symbol:"‼️",name:"双感叹号",code:"U+203C",category:"symbols",keywords:["双感叹号","强调","惊讶"]},{symbol:"⁉️",name:"感叹问号",code:"U+2049",category:"symbols",keywords:["感叹问号","疑问","惊讶"]},{symbol:"❓",name:"问号",code:"U+2753",category:"symbols",keywords:["问号","疑问","询问"]},{symbol:"❔",name:"白色问号",code:"U+2754",category:"symbols",keywords:["白色问号","疑问","询问"]},{symbol:"❕",name:"白色感叹号",code:"U+2755",category:"symbols",keywords:["白色感叹号","强调","注意"]},{symbol:"❗",name:"感叹号",code:"U+2757",category:"symbols",keywords:["感叹号","强调","注意"]},{symbol:"〰️",name:"波浪线",code:"U+3030",category:"symbols",keywords:["波浪线","装饰","符号"]},{symbol:"💱",name:"货币兑换",code:"U+1F4B1",category:"symbols",keywords:["货币兑换","汇率","金融"]},{symbol:"💲",name:"美元符号",code:"U+1F4B2",category:"symbols",keywords:["美元符号","金钱","货币"]},{symbol:"⚕️",name:"医疗符号",code:"U+2695",category:"symbols",keywords:["医疗符号","医学","健康"]},{symbol:"♻️",name:"回收符号",code:"U+267B",category:"symbols",keywords:["回收符号","环保","循环"]},{symbol:"⚜️",name:"百合花饰",code:"U+269C",category:"symbols",keywords:["百合花饰","装饰","法国"]},{symbol:"🔱",name:"三叉戟",code:"U+1F531",category:"symbols",keywords:["三叉戟","武器","海神"]},{symbol:"📛",name:"姓名牌",code:"U+1F4DB",category:"symbols",keywords:["姓名牌","标识","名字"]},{symbol:"🔰",name:"日式初学者标志",code:"U+1F530",category:"symbols",keywords:["日式初学者标志","新手","学习"]},{symbol:"⭕",name:"红色圆圈",code:"U+2B55",category:"symbols",keywords:["红色圆圈","正确","标记"]},{symbol:"✅",name:"绿色勾选",code:"U+2705",category:"symbols",keywords:["绿色勾选","正确","完成"]},{symbol:"☑️",name:"勾选框",code:"U+2611",category:"symbols",keywords:["勾选框","选中","完成"]},{symbol:"✔️",name:"勾选",code:"U+2714",category:"symbols",keywords:["勾选","正确","确认"]},{symbol:"❌",name:"叉号",code:"U+274C",category:"symbols",keywords:["叉号","错误","取消"]},{symbol:"❎",name:"叉号按钮",code:"U+274E",category:"symbols",keywords:["叉号按钮","错误","取消"]},{symbol:"➰",name:"卷曲环",code:"U+27B0",category:"symbols",keywords:["卷曲环","装饰","符号"]},{symbol:"➿",name:"双卷曲环",code:"U+27BF",category:"symbols",keywords:["双卷曲环","装饰","符号"]},{symbol:"〽️",name:"部分交替标记",code:"U+303D",category:"symbols",keywords:["部分交替标记","日式","符号"]},{symbol:"✳️",name:"八角星",code:"U+2733",category:"symbols",keywords:["八角星","星星","装饰"]},{symbol:"✴️",name:"八角星",code:"U+2734",category:"symbols",keywords:["八角星","星星","装饰"]},{symbol:"❇️",name:"闪光",code:"U+2747",category:"symbols",keywords:["闪光","星星","装饰"]},{symbol:"©️",name:"版权",code:"U+00A9",category:"symbols",keywords:["版权","著作权","法律"]},{symbol:"®️",name:"注册商标",code:"U+00AE",category:"symbols",keywords:["注册商标","商标","法律"]},{symbol:"™️",name:"商标",code:"U+2122",category:"symbols",keywords:["商标","品牌","法律"]},{symbol:"#️⃣",name:"井号键",code:"U+0023-FE0F-20E3",category:"symbols",keywords:["井号键","数字","键盘"]},{symbol:"*️⃣",name:"星号键",code:"U+002A-FE0F-20E3",category:"symbols",keywords:["星号键","符号","键盘"]},{symbol:"0️⃣",name:"数字0",code:"U+0030-FE0F-20E3",category:"symbols",keywords:["数字0","零","数字"]},{symbol:"1️⃣",name:"数字1",code:"U+0031-FE0F-20E3",category:"symbols",keywords:["数字1","一","数字"]},{symbol:"2️⃣",name:"数字2",code:"U+0032-FE0F-20E3",category:"symbols",keywords:["数字2","二","数字"]},{symbol:"3️⃣",name:"数字3",code:"U+0033-FE0F-20E3",category:"symbols",keywords:["数字3","三","数字"]},{symbol:"4️⃣",name:"数字4",code:"U+0034-FE0F-20E3",category:"symbols",keywords:["数字4","四","数字"]},{symbol:"5️⃣",name:"数字5",code:"U+0035-FE0F-20E3",category:"symbols",keywords:["数字5","五","数字"]},{symbol:"6️⃣",name:"数字6",code:"U+0036-FE0F-20E3",category:"symbols",keywords:["数字6","六","数字"]},{symbol:"7️⃣",name:"数字7",code:"U+0037-FE0F-20E3",category:"symbols",keywords:["数字7","七","数字"]},{symbol:"8️⃣",name:"数字8",code:"U+0038-FE0F-20E3",category:"symbols",keywords:["数字8","八","数字"]},{symbol:"9️⃣",name:"数字9",code:"U+0039-FE0F-20E3",category:"symbols",keywords:["数字9","九","数字"]},{symbol:"🔟",name:"数字10",code:"U+1F51F",category:"symbols",keywords:["数字10","十","数字"]},{symbol:"🔠",name:"大写字母",code:"U+1F520",category:"symbols",keywords:["大写字母","字母","输入"]},{symbol:"🔡",name:"小写字母",code:"U+1F521",category:"symbols",keywords:["小写字母","字母","输入"]},{symbol:"🔢",name:"数字",code:"U+1F522",category:"symbols",keywords:["数字","数字键盘","输入"]},{symbol:"🔣",name:"符号",code:"U+1F523",category:"symbols",keywords:["符号","特殊字符","输入"]},{symbol:"🔤",name:"字母",code:"U+1F524",category:"symbols",keywords:["字母","ABC","输入"]},{symbol:"🅰️",name:"A型血",code:"U+1F170",category:"symbols",keywords:["A型血","血型","医疗"]},{symbol:"🆎",name:"AB型血",code:"U+1F18E",category:"symbols",keywords:["AB型血","血型","医疗"]},{symbol:"🅱️",name:"B型血",code:"U+1F171",category:"symbols",keywords:["B型血","血型","医疗"]},{symbol:"🆑",name:"清除",code:"U+1F191",category:"symbols",keywords:["清除","CL","按钮"]},{symbol:"🆒",name:"酷",code:"U+1F192",category:"symbols",keywords:["酷","COOL","按钮"]},{symbol:"🆓",name:"免费",code:"U+1F193",category:"symbols",keywords:["免费","FREE","按钮"]},{symbol:"ℹ️",name:"信息",code:"U+2139",category:"symbols",keywords:["信息","提示","帮助"]},{symbol:"🆔",name:"ID",code:"U+1F194",category:"symbols",keywords:["ID","身份","标识"]},{symbol:"Ⓜ️",name:"地铁",code:"U+24C2",category:"symbols",keywords:["地铁","交通","标志"]},{symbol:"🆕",name:"新",code:"U+1F195",category:"symbols",keywords:["新","NEW","按钮"]},{symbol:"🆖",name:"NG",code:"U+1F196",category:"symbols",keywords:["NG","不好","按钮"]},{symbol:"🅾️",name:"O型血",code:"U+1F17E",category:"symbols",keywords:["O型血","血型","医疗"]},{symbol:"🆗",name:"OK",code:"U+1F197",category:"symbols",keywords:["OK","好的","按钮"]},{symbol:"🅿️",name:"停车",code:"U+1F17F",category:"symbols",keywords:["停车","停车场","交通"]},{symbol:"🆘",name:"SOS",code:"U+1F198",category:"symbols",keywords:["SOS","求救","紧急"]},{symbol:"🆙",name:"向上",code:"U+1F199",category:"symbols",keywords:["向上","UP","按钮"]},{symbol:"🆚",name:"对战",code:"U+1F19A",category:"symbols",keywords:["对战","VS","比赛"]},{symbol:"🈁",name:"日文这里",code:"U+1F201",category:"symbols",keywords:["日文这里","日语","汉字"]},{symbol:"🈂️",name:"日文服务费",code:"U+1F202",category:"symbols",keywords:["日文服务费","日语","汉字"]},{symbol:"🈷️",name:"日文月",code:"U+1F237",category:"symbols",keywords:["日文月","日语","汉字"]},{symbol:"🈶",name:"日文有",code:"U+1F236",category:"symbols",keywords:["日文有","日语","汉字"]},{symbol:"🈯",name:"日文指",code:"U+1F22F",category:"symbols",keywords:["日文指","日语","汉字"]},{symbol:"🉐",name:"日文得",code:"U+1F250",category:"symbols",keywords:["日文得","日语","汉字"]},{symbol:"🈹",name:"日文割",code:"U+1F239",category:"symbols",keywords:["日文割","日语","汉字"]},{symbol:"🈚",name:"日文无",code:"U+1F21A",category:"symbols",keywords:["日文无","日语","汉字"]},{symbol:"🈲",name:"日文禁",code:"U+1F232",category:"symbols",keywords:["日文禁","日语","汉字"]},{symbol:"🉑",name:"日文可",code:"U+1F251",category:"symbols",keywords:["日文可","日语","汉字"]},{symbol:"🈸",name:"日文申",code:"U+1F238",category:"symbols",keywords:["日文申","日语","汉字"]},{symbol:"🈴",name:"日文合",code:"U+1F234",category:"symbols",keywords:["日文合","日语","汉字"]},{symbol:"🈳",name:"日文空",code:"U+1F233",category:"symbols",keywords:["日文空","日语","汉字"]},{symbol:"㊗️",name:"日文祝",code:"U+3297",category:"symbols",keywords:["日文祝","日语","汉字"]},{symbol:"㊙️",name:"日文秘",code:"U+3299",category:"symbols",keywords:["日文秘","日语","汉字"]},{symbol:"🈺",name:"日文营",code:"U+1F23A",category:"symbols",keywords:["日文营","日语","汉字"]},{symbol:"🈵",name:"日文满",code:"U+1F235",category:"symbols",keywords:["日文满","日语","汉字"]},{symbol:"🌍",name:"地球欧非",code:"U+1F30D",category:"animals",keywords:["地球","欧洲","非洲"]},{symbol:"🌎",name:"地球美洲",code:"U+1F30E",category:"animals",keywords:["地球","美洲","世界"]},{symbol:"🌏",name:"地球亚澳",code:"U+1F30F",category:"animals",keywords:["地球","亚洲","澳洲"]},{symbol:"🌐",name:"地球经纬线",code:"U+1F310",category:"animals",keywords:["地球经纬线","全球","网络"]},{symbol:"🗺️",name:"世界地图",code:"U+1F5FA",category:"animals",keywords:["世界地图","地图","地理"]},{symbol:"🗾",name:"日本地图",code:"U+1F5FE",category:"animals",keywords:["日本地图","日本","地图"]},{symbol:"🧭",name:"指南针",code:"U+1F9ED",category:"animals",keywords:["指南针","方向","导航"]},{symbol:"🏔️",name:"雪山",code:"U+1F3D4",category:"animals",keywords:["雪山","山峰","雪"]},{symbol:"⛰️",name:"山",code:"U+26F0",category:"animals",keywords:["山","山峰","自然"]},{symbol:"🌋",name:"火山",code:"U+1F30B",category:"animals",keywords:["火山","爆发","岩浆"]},{symbol:"🗻",name:"富士山",code:"U+1F5FB",category:"animals",keywords:["富士山","日本","山"]},{symbol:"🏕️",name:"露营",code:"U+1F3D5",category:"animals",keywords:["露营","帐篷","户外"]},{symbol:"🏖️",name:"海滩伞",code:"U+1F3D6",category:"animals",keywords:["海滩伞","海滩","度假"]},{symbol:"🏜️",name:"沙漠",code:"U+1F3DC",category:"animals",keywords:["沙漠","干旱","沙丘"]},{symbol:"🏝️",name:"荒岛",code:"U+1F3DD",category:"animals",keywords:["荒岛","岛屿","热带"]},{symbol:"🏞️",name:"国家公园",code:"U+1F3DE",category:"animals",keywords:["国家公园","自然","风景"]},{symbol:"🌅",name:"日出",code:"U+1F305",category:"animals",keywords:["日出","早晨","太阳"]},{symbol:"🌄",name:"山上日出",code:"U+1F304",category:"animals",keywords:["山上日出","日出","山"]},{symbol:"🌠",name:"流星",code:"U+1F320",category:"animals",keywords:["流星","星星","夜空"]},{symbol:"🎇",name:"烟花",code:"U+1F387",category:"animals",keywords:["烟花","庆祝","节日"]},{symbol:"🎆",name:"焰火",code:"U+1F386",category:"animals",keywords:["焰火","庆祝","夜空"]},{symbol:"🌇",name:"城市日落",code:"U+1F307",category:"animals",keywords:["城市日落","日落","城市"]},{symbol:"🌆",name:"黄昏城市",code:"U+1F306",category:"animals",keywords:["黄昏城市","黄昏","城市"]},{symbol:"🏙️",name:"城市景观",code:"U+1F3D9",category:"animals",keywords:["城市景观","城市","建筑"]},{symbol:"🌃",name:"星空夜晚",code:"U+1F303",category:"animals",keywords:["星空夜晚","夜晚","星星"]},{symbol:"🌌",name:"银河",code:"U+1F30C",category:"animals",keywords:["银河","星系","宇宙"]},{symbol:"🌉",name:"夜晚大桥",code:"U+1F309",category:"animals",keywords:["夜晚大桥","桥","夜景"]},{symbol:"🌁",name:"雾",code:"U+1F301",category:"animals",keywords:["雾","迷雾","天气"]},{symbol:"☀️",name:"太阳",code:"U+2600",category:"animals",keywords:["太阳","晴天","天气"]},{symbol:"🌤️",name:"晴间多云",code:"U+1F324",category:"animals",keywords:["晴间多云","天气","云"]},{symbol:"⛅",name:"多云",code:"U+26C5",category:"animals",keywords:["多云","天气","云"]},{symbol:"🌥️",name:"阴天",code:"U+1F325",category:"animals",keywords:["阴天","天气","云"]},{symbol:"☁️",name:"云",code:"U+2601",category:"animals",keywords:["云","天气","阴天"]},{symbol:"🌦️",name:"晴雨",code:"U+1F326",category:"animals",keywords:["晴雨","天气","雨"]},{symbol:"🌧️",name:"雨云",code:"U+1F327",category:"animals",keywords:["雨云","下雨","天气"]},{symbol:"⛈️",name:"雷雨",code:"U+26C8",category:"animals",keywords:["雷雨","雷电","天气"]},{symbol:"🌩️",name:"闪电",code:"U+1F329",category:"animals",keywords:["闪电","雷电","天气"]},{symbol:"🌨️",name:"雪云",code:"U+1F328",category:"animals",keywords:["雪云","下雪","天气"]},{symbol:"❄️",name:"雪花",code:"U+2744",category:"animals",keywords:["雪花","雪","冬天"]},{symbol:"☃️",name:"雪人",code:"U+2603",category:"animals",keywords:["雪人","雪","冬天"]},{symbol:"⛄",name:"无雪雪人",code:"U+26C4",category:"animals",keywords:["无雪雪人","雪人","冬天"]},{symbol:"🌬️",name:"风脸",code:"U+1F32C",category:"animals",keywords:["风脸","风","天气"]},{symbol:"💨",name:"疾风",code:"U+1F4A8",category:"animals",keywords:["疾风","风","快速"]},{symbol:"🌪️",name:"龙卷风",code:"U+1F32A",category:"animals",keywords:["龙卷风","风暴","天气"]},{symbol:"🌫️",name:"雾",code:"U+1F32B",category:"animals",keywords:["雾","迷雾","天气"]},{symbol:"🌈",name:"彩虹",code:"U+1F308",category:"animals",keywords:["彩虹","雨后","美丽"]},{symbol:"🌂",name:"闭合雨伞",code:"U+1F302",category:"animals",keywords:["闭合雨伞","雨伞","雨天"]},{symbol:"☂️",name:"雨伞",code:"U+2602",category:"animals",keywords:["雨伞","下雨","保护"]},{symbol:"☔",name:"雨伞雨滴",code:"U+2614",category:"animals",keywords:["雨伞雨滴","下雨","天气"]},{symbol:"⛱️",name:"沙滩伞",code:"U+26F1",category:"animals",keywords:["沙滩伞","海滩","夏天"]},{symbol:"⚡",name:"高压电",code:"U+26A1",category:"animals",keywords:["高压电","闪电","电力"]},{symbol:"🔥",name:"火",code:"U+1F525",category:"animals",keywords:["火","火焰","热"]},{symbol:"💧",name:"水滴",code:"U+1F4A7",category:"animals",keywords:["水滴","水","液体"]},{symbol:"🌊",name:"海浪",code:"U+1F30A",category:"animals",keywords:["海浪","海洋","波浪"]},{symbol:"🎄",name:"圣诞树",code:"U+1F384",category:"animals",keywords:["圣诞树","圣诞节","节日"]},{symbol:"🌲",name:"常青树",code:"U+1F332",category:"animals",keywords:["常青树","松树","森林"]},{symbol:"🌳",name:"落叶树",code:"U+1F333",category:"animals",keywords:["落叶树","树","森林"]},{symbol:"🌴",name:"棕榈树",code:"U+1F334",category:"animals",keywords:["棕榈树","热带","海滩"]},{symbol:"🌱",name:"幼苗",code:"U+1F331",category:"animals",keywords:["幼苗","成长","植物"]},{symbol:"🌿",name:"草本植物",code:"U+1F33F",category:"animals",keywords:["草本植物","叶子","绿色"]},{symbol:"☘️",name:"三叶草",code:"U+2618",category:"animals",keywords:["三叶草","幸运","爱尔兰"]},{symbol:"🍀",name:"四叶草",code:"U+1F340",category:"animals",keywords:["四叶草","幸运","稀有"]},{symbol:"🎍",name:"松竹装饰",code:"U+1F38D",category:"animals",keywords:["松竹装饰","日式","新年"]},{symbol:"🪴",name:"盆栽植物",code:"U+1FAB4",category:"animals",keywords:["盆栽植物","植物","装饰"]},{symbol:"🎋",name:"七夕树",code:"U+1F38B",category:"animals",keywords:["七夕树","竹子","节日"]},{symbol:"🍃",name:"飘落叶子",code:"U+1F343",category:"animals",keywords:["飘落叶子","叶子","秋天"]},{symbol:"🍂",name:"落叶",code:"U+1F342",category:"animals",keywords:["落叶","秋天","叶子"]},{symbol:"🍁",name:"枫叶",code:"U+1F341",category:"animals",keywords:["枫叶","秋天","加拿大"]},{symbol:"🌔",name:"渐盈凸月",code:"U+1F314",category:"animals",keywords:["渐盈凸月","月亮","夜晚"]},{symbol:"🌓",name:"上弦月",code:"U+1F313",category:"animals",keywords:["上弦月","月亮","夜晚"]},{symbol:"🌒",name:"渐盈眉月",code:"U+1F312",category:"animals",keywords:["渐盈眉月","月亮","夜晚"]},{symbol:"🌑",name:"新月",code:"U+1F311",category:"animals",keywords:["新月","月亮","夜晚"]},{symbol:"🌘",name:"渐亏眉月",code:"U+1F318",category:"animals",keywords:["渐亏眉月","月亮","夜晚"]},{symbol:"🌗",name:"下弦月",code:"U+1F317",category:"animals",keywords:["下弦月","月亮","夜晚"]},{symbol:"🌖",name:"渐亏凸月",code:"U+1F316",category:"animals",keywords:["渐亏凸月","月亮","夜晚"]},{symbol:"🌕",name:"满月",code:"U+1F315",category:"animals",keywords:["满月","月亮","夜晚"]},{symbol:"🌙",name:"弯月",code:"U+1F319",category:"animals",keywords:["弯月","月亮","夜晚"]},{symbol:"🌛",name:"上弦月脸",code:"U+1F31B",category:"animals",keywords:["上弦月脸","月亮","脸"]},{symbol:"🌜",name:"下弦月脸",code:"U+1F31C",category:"animals",keywords:["下弦月脸","月亮","脸"]},{symbol:"🌚",name:"新月脸",code:"U+1F31A",category:"animals",keywords:["新月脸","月亮","脸"]},{symbol:"🌝",name:"满月脸",code:"U+1F31D",category:"animals",keywords:["满月脸","月亮","脸"]},{symbol:"🌞",name:"太阳脸",code:"U+1F31E",category:"animals",keywords:["太阳脸","太阳","脸"]},{symbol:"🪐",name:"土星",code:"U+1FA90",category:"animals",keywords:["土星","行星","宇宙"]},{symbol:"⭐",name:"星星",code:"U+2B50",category:"animals",keywords:["星星","明星","夜空"]},{symbol:"🌟",name:"闪亮星星",code:"U+1F31F",category:"animals",keywords:["闪亮星星","星星","闪光"]},{symbol:"✨",name:"闪光",code:"U+2728",category:"animals",keywords:["闪光","闪亮","魔法"]},{symbol:"☄️",name:"彗星",code:"U+2604",category:"animals",keywords:["彗星","流星","宇宙"]},{symbol:"💫",name:"眩晕",code:"U+1F4AB",category:"animals",keywords:["眩晕","星星","晕"]},{symbol:"🫧",name:"泡泡",code:"U+1FAE7",category:"animals",keywords:["泡泡","肥皂泡","清洁"]},{symbol:"🫐",name:"蓝莓",code:"U+1FAD0",category:"food",keywords:["蓝莓","浆果","水果"]},{symbol:"🫒",name:"橄榄",code:"U+1FAD2",category:"food",keywords:["橄榄","地中海","健康"]},{symbol:"🫓",name:"薄饼",code:"U+1FAD3",category:"food",keywords:["薄饼","面包","印度"]},{symbol:"🫔",name:"玉米粽",code:"U+1FAD4",category:"food",keywords:["玉米粽","墨西哥","传统"]},{symbol:"🫕",name:"火锅",code:"U+1FAD5",category:"food",keywords:["火锅","奶酪","瑞士"]},{symbol:"🫖",name:"茶壶",code:"U+1FAD6",category:"food",keywords:["茶壶","茶","英式"]},{symbol:"🫗",name:"倒液体",code:"U+1FAD7",category:"food",keywords:["倒液体","倾倒","饮料"]},{symbol:"🫘",name:"豆子",code:"U+1FAD8",category:"food",keywords:["豆子","豆类","蛋白质"]},{symbol:"🫙",name:"罐子",code:"U+1FAD9",category:"objects",keywords:["罐子","容器","储存"]},{symbol:"🫚",name:"生姜",code:"U+1FADA",category:"food",keywords:["生姜","香料","调料"]},{symbol:"🫛",name:"豌豆荚",code:"U+1FADB",category:"food",keywords:["豌豆荚","豌豆","蔬菜"]},{symbol:"🧑‍⚕️",name:"医护人员",code:"U+1F9D1-200D-2695-FE0F",category:"people",keywords:["医护人员","医生","护士"]},{symbol:"👨‍⚕️",name:"男医生",code:"U+1F468-200D-2695-FE0F",category:"people",keywords:["男医生","医生","医疗"]},{symbol:"👩‍⚕️",name:"女医生",code:"U+1F469-200D-2695-FE0F",category:"people",keywords:["女医生","医生","医疗"]},{symbol:"🧑‍🎓",name:"学生",code:"U+1F9D1-200D-1F393",category:"people",keywords:["学生","毕业","教育"]},{symbol:"👨‍🎓",name:"男学生",code:"U+1F468-200D-1F393",category:"people",keywords:["男学生","毕业","教育"]},{symbol:"👩‍🎓",name:"女学生",code:"U+1F469-200D-1F393",category:"people",keywords:["女学生","毕业","教育"]},{symbol:"🧑‍🏫",name:"教师",code:"U+1F9D1-200D-1F3EB",category:"people",keywords:["教师","老师","教育"]},{symbol:"👨‍🏫",name:"男教师",code:"U+1F468-200D-1F3EB",category:"people",keywords:["男教师","老师","教育"]},{symbol:"👩‍🏫",name:"女教师",code:"U+1F469-200D-1F3EB",category:"people",keywords:["女教师","老师","教育"]},{symbol:"🧑‍⚖️",name:"法官",code:"U+1F9D1-200D-2696-FE0F",category:"people",keywords:["法官","法律","正义"]},{symbol:"👨‍⚖️",name:"男法官",code:"U+1F468-200D-2696-FE0F",category:"people",keywords:["男法官","法律","正义"]},{symbol:"👩‍⚖️",name:"女法官",code:"U+1F469-200D-2696-FE0F",category:"people",keywords:["女法官","法律","正义"]},{symbol:"🧑‍🌾",name:"农民",code:"U+1F9D1-200D-1F33E",category:"people",keywords:["农民","农业","种植"]},{symbol:"👨‍🌾",name:"男农民",code:"U+1F468-200D-1F33E",category:"people",keywords:["男农民","农业","种植"]},{symbol:"👩‍🌾",name:"女农民",code:"U+1F469-200D-1F33E",category:"people",keywords:["女农民","农业","种植"]},{symbol:"🧑‍🍳",name:"厨师",code:"U+1F9D1-200D-1F373",category:"people",keywords:["厨师","烹饪","餐饮"]},{symbol:"👨‍🍳",name:"男厨师",code:"U+1F468-200D-1F373",category:"people",keywords:["男厨师","烹饪","餐饮"]},{symbol:"👩‍🍳",name:"女厨师",code:"U+1F469-200D-1F373",category:"people",keywords:["女厨师","烹饪","餐饮"]},{symbol:"🧑‍🔧",name:"技工",code:"U+1F9D1-200D-1F527",category:"people",keywords:["技工","修理","工具"]},{symbol:"👨‍🔧",name:"男技工",code:"U+1F468-200D-1F527",category:"people",keywords:["男技工","修理","工具"]},{symbol:"👩‍🔧",name:"女技工",code:"U+1F469-200D-1F527",category:"people",keywords:["女技工","修理","工具"]},{symbol:"🧑‍🏭",name:"工人",code:"U+1F9D1-200D-1F3ED",category:"people",keywords:["工人","工厂","制造"]},{symbol:"👨‍🏭",name:"男工人",code:"U+1F468-200D-1F3ED",category:"people",keywords:["男工人","工厂","制造"]},{symbol:"👩‍🏭",name:"女工人",code:"U+1F469-200D-1F3ED",category:"people",keywords:["女工人","工厂","制造"]},{symbol:"🧑‍💼",name:"办公人员",code:"U+1F9D1-200D-1F4BC",category:"people",keywords:["办公人员","商务","工作"]},{symbol:"👨‍💼",name:"男办公人员",code:"U+1F468-200D-1F4BC",category:"people",keywords:["男办公人员","商务","工作"]},{symbol:"👩‍💼",name:"女办公人员",code:"U+1F469-200D-1F4BC",category:"people",keywords:["女办公人员","商务","工作"]},{symbol:"🧑‍🔬",name:"科学家",code:"U+1F9D1-200D-1F52C",category:"people",keywords:["科学家","研究","实验"]},{symbol:"👨‍🔬",name:"男科学家",code:"U+1F468-200D-1F52C",category:"people",keywords:["男科学家","研究","实验"]},{symbol:"👩‍🔬",name:"女科学家",code:"U+1F469-200D-1F52C",category:"people",keywords:["女科学家","研究","实验"]},{symbol:"🧑‍💻",name:"程序员",code:"U+1F9D1-200D-1F4BB",category:"people",keywords:["程序员","编程","技术"]},{symbol:"👨‍💻",name:"男程序员",code:"U+1F468-200D-1F4BB",category:"people",keywords:["男程序员","编程","技术"]},{symbol:"👩‍💻",name:"女程序员",code:"U+1F469-200D-1F4BB",category:"people",keywords:["女程序员","编程","技术"]},{symbol:"🧑‍🎤",name:"歌手",code:"U+1F9D1-200D-1F3A4",category:"people",keywords:["歌手","音乐","表演"]},{symbol:"👨‍🎤",name:"男歌手",code:"U+1F468-200D-1F3A4",category:"people",keywords:["男歌手","音乐","表演"]},{symbol:"👩‍🎤",name:"女歌手",code:"U+1F469-200D-1F3A4",category:"people",keywords:["女歌手","音乐","表演"]},{symbol:"🧑‍🎨",name:"艺术家",code:"U+1F9D1-200D-1F3A8",category:"people",keywords:["艺术家","绘画","创作"]},{symbol:"👨‍🎨",name:"男艺术家",code:"U+1F468-200D-1F3A8",category:"people",keywords:["男艺术家","绘画","创作"]},{symbol:"👩‍🎨",name:"女艺术家",code:"U+1F469-200D-1F3A8",category:"people",keywords:["女艺术家","绘画","创作"]},{symbol:"🧑‍✈️",name:"飞行员",code:"U+1F9D1-200D-2708-FE0F",category:"people",keywords:["飞行员","航空","驾驶"]},{symbol:"👨‍✈️",name:"男飞行员",code:"U+1F468-200D-2708-FE0F",category:"people",keywords:["男飞行员","航空","驾驶"]},{symbol:"👩‍✈️",name:"女飞行员",code:"U+1F469-200D-2708-FE0F",category:"people",keywords:["女飞行员","航空","驾驶"]},{symbol:"🧑‍🚀",name:"宇航员",code:"U+1F9D1-200D-1F680",category:"people",keywords:["宇航员","太空","探索"]},{symbol:"👨‍🚀",name:"男宇航员",code:"U+1F468-200D-1F680",category:"people",keywords:["男宇航员","太空","探索"]},{symbol:"👩‍🚀",name:"女宇航员",code:"U+1F469-200D-1F680",category:"people",keywords:["女宇航员","太空","探索"]},{symbol:"🧑‍🚒",name:"消防员",code:"U+1F9D1-200D-1F692",category:"people",keywords:["消防员","救火","救援"]},{symbol:"👨‍🚒",name:"男消防员",code:"U+1F468-200D-1F692",category:"people",keywords:["男消防员","救火","救援"]},{symbol:"👩‍🚒",name:"女消防员",code:"U+1F469-200D-1F692",category:"people",keywords:["女消防员","救火","救援"]},{symbol:"👮",name:"警察",code:"U+1F46E",category:"people",keywords:["警察","执法","安全"]},{symbol:"👮‍♂️",name:"男警察",code:"U+1F46E-200D-2642-FE0F",category:"people",keywords:["男警察","执法","安全"]},{symbol:"👮‍♀️",name:"女警察",code:"U+1F46E-200D-2640-FE0F",category:"people",keywords:["女警察","执法","安全"]},{symbol:"🕵️",name:"侦探",code:"U+1F575",category:"people",keywords:["侦探","调查","推理"]},{symbol:"🕵️‍♂️",name:"男侦探",code:"U+1F575-FE0F-200D-2642-FE0F",category:"people",keywords:["男侦探","调查","推理"]},{symbol:"🕵️‍♀️",name:"女侦探",code:"U+1F575-FE0F-200D-2640-FE0F",category:"people",keywords:["女侦探","调查","推理"]},{symbol:"💂",name:"卫兵",code:"U+1F482",category:"people",keywords:["卫兵","守卫","军事"]},{symbol:"💂‍♂️",name:"男卫兵",code:"U+1F482-200D-2642-FE0F",category:"people",keywords:["男卫兵","守卫","军事"]},{symbol:"💂‍♀️",name:"女卫兵",code:"U+1F482-200D-2640-FE0F",category:"people",keywords:["女卫兵","守卫","军事"]},{symbol:"🥷",name:"忍者",code:"U+1F977",category:"people",keywords:["忍者","隐秘","武术"]},{symbol:"👷",name:"建筑工人",code:"U+1F477",category:"people",keywords:["建筑工人","建设","工地"]},{symbol:"👷‍♂️",name:"男建筑工人",code:"U+1F477-200D-2642-FE0F",category:"people",keywords:["男建筑工人","建设","工地"]},{symbol:"👷‍♀️",name:"女建筑工人",code:"U+1F477-200D-2640-FE0F",category:"people",keywords:["女建筑工人","建设","工地"]},{symbol:"🫅",name:"戴王冠的人",code:"U+1FAC5",category:"people",keywords:["戴王冠的人","皇室","贵族"]},{symbol:"🤴",name:"王子",code:"U+1F934",category:"people",keywords:["王子","皇室","贵族"]},{symbol:"👸",name:"公主",code:"U+1F478",category:"people",keywords:["公主","皇室","贵族"]},{symbol:"👳",name:"戴头巾的人",code:"U+1F473",category:"people",keywords:["戴头巾的人","头巾","文化"]},{symbol:"👳‍♂️",name:"戴头巾的男人",code:"U+1F473-200D-2642-FE0F",category:"people",keywords:["戴头巾的男人","头巾","文化"]},{symbol:"👳‍♀️",name:"戴头巾的女人",code:"U+1F473-200D-2640-FE0F",category:"people",keywords:["戴头巾的女人","头巾","文化"]},{symbol:"👲",name:"戴瓜皮帽的人",code:"U+1F472",category:"people",keywords:["戴瓜皮帽的人","帽子","传统"]},{symbol:"🧕",name:"戴头巾的女人",code:"U+1F9D5",category:"people",keywords:["戴头巾的女人","头巾","宗教"]},{symbol:"🤵",name:"穿燕尾服的人",code:"U+1F935",category:"people",keywords:["穿燕尾服的人","正装","婚礼"]},{symbol:"🤵‍♂️",name:"穿燕尾服的男人",code:"U+1F935-200D-2642-FE0F",category:"people",keywords:["穿燕尾服的男人","正装","婚礼"]},{symbol:"🤵‍♀️",name:"穿燕尾服的女人",code:"U+1F935-200D-2640-FE0F",category:"people",keywords:["穿燕尾服的女人","正装","婚礼"]},{symbol:"👰",name:"新娘",code:"U+1F470",category:"people",keywords:["新娘","婚礼","结婚"]},{symbol:"👰‍♂️",name:"男新娘",code:"U+1F470-200D-2642-FE0F",category:"people",keywords:["男新娘","婚礼","结婚"]},{symbol:"👰‍♀️",name:"女新娘",code:"U+1F470-200D-2640-FE0F",category:"people",keywords:["女新娘","婚礼","结婚"]},{symbol:"🤰",name:"孕妇",code:"U+1F930",category:"people",keywords:["孕妇","怀孕","母亲"]},{symbol:"🫃",name:"怀孕的男人",code:"U+1FAC3",category:"people",keywords:["怀孕的男人","怀孕","父亲"]},{symbol:"🫄",name:"怀孕的人",code:"U+1FAC4",category:"people",keywords:["怀孕的人","怀孕","家庭"]},{symbol:"🤱",name:"哺乳",code:"U+1F931",category:"people",keywords:["哺乳","喂奶","母亲"]},{symbol:"👨‍🍼",name:"喂奶的男人",code:"U+1F468-200D-1F37C",category:"people",keywords:["喂奶的男人","喂奶","父亲"]},{symbol:"👩‍🍼",name:"喂奶的女人",code:"U+1F469-200D-1F37C",category:"people",keywords:["喂奶的女人","喂奶","母亲"]},{symbol:"🫰",name:"手指心",code:"U+1FAF0",category:"people",keywords:["手指心","爱心","韩式"]},{symbol:"🫱",name:"右手",code:"U+1FAF1",category:"people",keywords:["右手","手","身体"]},{symbol:"🫲",name:"左手",code:"U+1FAF2",category:"people",keywords:["左手","手","身体"]},{symbol:"🫳",name:"手心向下",code:"U+1FAF3",category:"people",keywords:["手心向下","手势","停止"]},{symbol:"🫴",name:"手心向上",code:"U+1FAF4",category:"people",keywords:["手心向上","手势","请求"]},{symbol:"🫵",name:"指向你",code:"U+1FAF5",category:"people",keywords:["指向你","指","你"]},{symbol:"🫶",name:"爱心手势",code:"U+1FAF6",category:"people",keywords:["爱心手势","爱心","手势"]},{symbol:"🫠",name:"融化脸",code:"U+1FAE0",category:"smileys",keywords:["融化脸","热","无奈"]},{symbol:"🫨",name:"摇晃脸",code:"U+1FAE8",category:"smileys",keywords:["摇晃脸","震惊","晕"]},{symbol:"🫥",name:"虚线脸",code:"U+1FAE5",category:"smileys",keywords:["虚线脸","消失","隐形"]},{symbol:"🫤",name:"斜眼脸",code:"U+1FAE4",category:"smileys",keywords:["斜眼脸","怀疑","不确定"]},{symbol:"🫣",name:"偷看脸",code:"U+1FAE3",category:"smileys",keywords:["偷看脸","害羞","好奇"]},{symbol:"🫢",name:"捂嘴惊讶脸",code:"U+1FAE2",category:"smileys",keywords:["捂嘴惊讶脸","惊讶","震惊"]},{symbol:"🫡",name:"敬礼脸",code:"U+1FAE1",category:"smileys",keywords:["敬礼脸","敬礼","尊敬"]},{symbol:"🫎",name:"驼鹿",code:"U+1FACE",category:"animals",keywords:["驼鹿","鹿","动物"]},{symbol:"🫏",name:"驴",code:"U+1FACF",category:"animals",keywords:["驴","动物","农场"]},{symbol:"🐻‍❄️",name:"北极熊",code:"U+1F43B-200D-2744-FE0F",category:"animals",keywords:["北极熊","白熊","北极"]},{symbol:"🐨",name:"考拉",code:"U+1F428",category:"animals",keywords:["考拉","树袋熊","澳洲"]},{symbol:"🫐",name:"蓝莓",code:"U+1FAD0",category:"food",keywords:["蓝莓","浆果","水果"]},{symbol:"🫒",name:"橄榄",code:"U+1FAD2",category:"food",keywords:["橄榄","地中海","健康"]},{symbol:"🫓",name:"薄饼",code:"U+1FAD3",category:"food",keywords:["薄饼","面包","印度"]},{symbol:"🫔",name:"玉米粽",code:"U+1FAD4",category:"food",keywords:["玉米粽","墨西哥","传统"]},{symbol:"🫕",name:"火锅",code:"U+1FAD5",category:"food",keywords:["火锅","奶酪","瑞士"]},{symbol:"🫖",name:"茶壶",code:"U+1FAD6",category:"food",keywords:["茶壶","茶","英式"]},{symbol:"🫗",name:"倒液体",code:"U+1FAD7",category:"food",keywords:["倒液体","倾倒","饮料"]},{symbol:"🫘",name:"豆子",code:"U+1FAD8",category:"food",keywords:["豆子","豆类","蛋白质"]},{symbol:"🫚",name:"生姜",code:"U+1FADA",category:"food",keywords:["生姜","香料","调料"]},{symbol:"🫛",name:"豌豆荚",code:"U+1FADB",category:"food",keywords:["豌豆荚","豌豆","蔬菜"]},{symbol:"🫙",name:"罐子",code:"U+1FAD9",category:"objects",keywords:["罐子","容器","储存"]},{symbol:"🪩",name:"镜球",code:"U+1FAA9",category:"objects",keywords:["镜球","迪斯科","派对"]},{symbol:"🪫",name:"低电量电池",code:"U+1FAAB",category:"objects",keywords:["低电量电池","电池","电力不足"]},{symbol:"🪬",name:"哈姆萨",code:"U+1FAAC",category:"objects",keywords:["哈姆萨","护身符","保护"]},{symbol:"🪭",name:"折扇",code:"U+1FAAD",category:"objects",keywords:["折扇","扇子","凉爽"]},{symbol:"🪮",name:"梳子",code:"U+1FAAE",category:"objects",keywords:["梳子","头发","美容"]},{symbol:"🪯",name:"发夹",code:"U+1FAAF",category:"objects",keywords:["发夹","头发","配饰"]},{symbol:"🫧",name:"泡泡",code:"U+1FAE7",category:"symbols",keywords:["泡泡","肥皂泡","清洁"]},{symbol:"🩷",name:"粉心",code:"U+1FA77",category:"symbols",keywords:["粉心","爱","粉色"]},{symbol:"🩵",name:"浅蓝心",code:"U+1FA75",category:"symbols",keywords:["浅蓝心","爱","浅蓝"]},{symbol:"🩶",name:"灰心",code:"U+1FA76",category:"symbols",keywords:["灰心","爱","灰色"]},{symbol:"📱",name:"智能手机",code:"U+1F4F1",category:"objects",keywords:["智能手机","手机","通讯"]},{symbol:"💻",name:"笔记本电脑",code:"U+1F4BB",category:"objects",keywords:["笔记本电脑","电脑","工作"]},{symbol:"🖥️",name:"台式电脑",code:"U+1F5A5",category:"objects",keywords:["台式电脑","电脑","显示器"]},{symbol:"⌚",name:"智能手表",code:"U+231A",category:"objects",keywords:["智能手表","手表","时间"]},{symbol:"🎮",name:"游戏手柄",code:"U+1F3AE",category:"objects",keywords:["游戏手柄","游戏","娱乐"]},{symbol:"🛴",name:"滑板车",code:"U+1F6F4",category:"travel",keywords:["滑板车","踏板车","交通"]},{symbol:"🛵",name:"踏板摩托",code:"U+1F6F5",category:"travel",keywords:["踏板摩托","摩托车","交通"]},{symbol:"🚗",name:"汽车",code:"U+1F697",category:"travel",keywords:["汽车","车","交通"]},{symbol:"🚙",name:"SUV",code:"U+1F699",category:"travel",keywords:["SUV","越野车","交通"]},{symbol:"🚐",name:"小巴",code:"U+1F690",category:"travel",keywords:["小巴","面包车","交通"]},{symbol:"🏃‍♂️",name:"跑步男",code:"U+1F3C3-200D-2642-FE0F",category:"activities",keywords:["跑步男","跑步","运动"]},{symbol:"🏃‍♀️",name:"跑步女",code:"U+1F3C3-200D-2640-FE0F",category:"activities",keywords:["跑步女","跑步","运动"]},{symbol:"🚶‍♂️",name:"走路男",code:"U+1F6B6-200D-2642-FE0F",category:"activities",keywords:["走路男","走路","步行"]},{symbol:"🚶‍♀️",name:"走路女",code:"U+1F6B6-200D-2640-FE0F",category:"activities",keywords:["走路女","走路","步行"]},{symbol:"🧘‍♂️",name:"冥想男",code:"U+1F9D8-200D-2642-FE0F",category:"activities",keywords:["冥想男","瑜伽","放松"]},{symbol:"🧘‍♀️",name:"冥想女",code:"U+1F9D8-200D-2640-FE0F",category:"activities",keywords:["冥想女","瑜伽","放松"]},{symbol:"🌈",name:"彩虹",code:"U+1F308",category:"animals",keywords:["彩虹","雨后","美丽"]},{symbol:"⭐",name:"星星",code:"U+2B50",category:"animals",keywords:["星星","明星","夜空"]},{symbol:"🌟",name:"闪亮星星",code:"U+1F31F",category:"animals",keywords:["闪亮星星","星星","闪光"]},{symbol:"✨",name:"闪光",code:"U+2728",category:"symbols",keywords:["闪光","闪亮","魔法"]},{symbol:"🔥",name:"火",code:"U+1F525",category:"symbols",keywords:["火","火焰","热"]},{symbol:"💧",name:"水滴",code:"U+1F4A7",category:"animals",keywords:["水滴","水","液体"]},{symbol:"🌊",name:"海浪",code:"U+1F30A",category:"animals",keywords:["海浪","海洋","波浪"]},{symbol:"🥺",name:"可怜巴巴",code:"U+1F97A",category:"smileys",keywords:["可怜巴巴","恳求","委屈"]},{symbol:"🥹",name:"含泪微笑",code:"U+1F979",category:"smileys",keywords:["含泪微笑","感动","眼泪"]},{symbol:"😮‍💨",name:"叹气",code:"U+1F62E-200D-1F4A8",category:"smileys",keywords:["叹气","疲惫","无奈"]},{symbol:"😵‍💫",name:"眼冒金星",code:"U+1F635-200D-1F4AB",category:"smileys",keywords:["眼冒金星","晕","眩晕"]},{symbol:"🤌",name:"意大利手势",code:"U+1F90C",category:"people",keywords:["意大利手势","什么","疑问"]},{symbol:"🫰",name:"手指心",code:"U+1FAF0",category:"people",keywords:["手指心","爱心","韩式"]},{symbol:"🧑‍💻",name:"程序员",code:"U+1F9D1-200D-1F4BB",category:"people",keywords:["程序员","编程","技术"]},{symbol:"🧑‍🎨",name:"艺术家",code:"U+1F9D1-200D-1F3A8",category:"people",keywords:["艺术家","绘画","创作"]},{symbol:"🧑‍🍳",name:"厨师",code:"U+1F9D1-200D-1F373",category:"people",keywords:["厨师","烹饪","餐饮"]},{symbol:"🧑‍⚕️",name:"医护人员",code:"U+1F9D1-200D-2695-FE0F",category:"people",keywords:["医护人员","医生","护士"]},{symbol:"🧑‍🏫",name:"教师",code:"U+1F9D1-200D-1F3EB",category:"people",keywords:["教师","老师","教育"]},{symbol:"🦄",name:"独角兽",code:"U+1F984",category:"animals",keywords:["独角兽","神话","魔法"]},{symbol:"🐉",name:"龙",code:"U+1F409",category:"animals",keywords:["龙","中国龙","神话"]},{symbol:"🦋",name:"蝴蝶",code:"U+1F98B",category:"animals",keywords:["蝴蝶","美丽","飞舞"]},{symbol:"🐝",name:"蜜蜂",code:"U+1F41D",category:"animals",keywords:["蜜蜂","蜂蜜","勤劳"]},{symbol:"🐞",name:"瓢虫",code:"U+1F41E",category:"animals",keywords:["瓢虫","红色","斑点"]},{symbol:"🧋",name:"珍珠奶茶",code:"U+1F9CB",category:"food",keywords:["珍珠奶茶","奶茶","台式"]},{symbol:"🍱",name:"便当",code:"U+1F371",category:"food",keywords:["便当","日式","盒饭"]},{symbol:"🍜",name:"拉面",code:"U+1F35C",category:"food",keywords:["拉面","日式","面条"]},{symbol:"🍣",name:"寿司",code:"U+1F363",category:"food",keywords:["寿司","日式","生鱼"]},{symbol:"🥟",name:"饺子",code:"U+1F95F",category:"food",keywords:["饺子","中式","包子"]},{symbol:"🎧",name:"耳机",code:"U+1F3A7",category:"objects",keywords:["耳机","音乐","听歌"]},{symbol:"📷",name:"相机",code:"U+1F4F7",category:"objects",keywords:["相机","拍照","摄影"]},{symbol:"💡",name:"灯泡",code:"U+1F4A1",category:"objects",keywords:["灯泡","想法","创意"]},{symbol:"🔋",name:"电池",code:"U+1F50B",category:"objects",keywords:["电池","电力","能源"]},{symbol:"🎮",name:"游戏手柄",code:"U+1F3AE",category:"objects",keywords:["游戏手柄","游戏","娱乐"]},{symbol:"🔧",name:"扳手",code:"U+1F527",category:"objects",keywords:["扳手","工具","修理"]},{symbol:"🔨",name:"锤子",code:"U+1F528",category:"objects",keywords:["锤子","工具","建造"]},{symbol:"⚒️",name:"锤子和镐",code:"U+2692",category:"objects",keywords:["锤子和镐","工具","建造"]},{symbol:"🛠️",name:"锤子和扳手",code:"U+1F6E0",category:"objects",keywords:["锤子和扳手","工具","修理"]},{symbol:"⚙️",name:"齿轮",code:"U+2699",category:"objects",keywords:["齿轮","机械","设置"]},{symbol:"🔩",name:"螺栓",code:"U+1F529",category:"objects",keywords:["螺栓","螺丝","工具"]},{symbol:"⚖️",name:"天平",code:"U+2696",category:"objects",keywords:["天平","平衡","正义"]},{symbol:"🔗",name:"链接",code:"U+1F517",category:"objects",keywords:["链接","连接","链条"]},{symbol:"⛓️",name:"链条",code:"U+26D3",category:"objects",keywords:["链条","锁链","连接"]},{symbol:"🧲",name:"磁铁",code:"U+1F9F2",category:"objects",keywords:["磁铁","吸引","磁性"]},{symbol:"🔫",name:"水枪",code:"U+1F52B",category:"objects",keywords:["水枪","玩具","游戏"]},{symbol:"💣",name:"炸弹",code:"U+1F4A3",category:"objects",keywords:["炸弹","爆炸","危险"]},{symbol:"🧨",name:"鞭炮",code:"U+1F9E8",category:"objects",keywords:["鞭炮","烟花","庆祝"]},{symbol:"🪓",name:"斧头",code:"U+1FA93",category:"objects",keywords:["斧头","工具","砍伐"]},{symbol:"🔪",name:"菜刀",code:"U+1F52A",category:"objects",keywords:["菜刀","刀","厨房"]},{symbol:"🗡️",name:"剑",code:"U+1F5E1",category:"objects",keywords:["剑","武器","古代"]},{symbol:"⚔️",name:"交叉剑",code:"U+2694",category:"objects",keywords:["交叉剑","战斗","武器"]},{symbol:"🛡️",name:"盾牌",code:"U+1F6E1",category:"objects",keywords:["盾牌","防护","保护"]},{symbol:"🚬",name:"香烟",code:"U+1F6AC",category:"objects",keywords:["香烟","吸烟","烟草"]},{symbol:"⚰️",name:"棺材",code:"U+26B0",category:"objects",keywords:["棺材","死亡","葬礼"]},{symbol:"🪦",name:"墓碑",code:"U+1FA66",category:"objects",keywords:["墓碑","坟墓","纪念"]},{symbol:"⚱️",name:"骨灰盒",code:"U+26B1",category:"objects",keywords:["骨灰盒","火化","纪念"]},{symbol:"🥳",name:"派对脸",code:"U+1F973",category:"smileys",keywords:["派对","庆祝","生日"]},{symbol:"🤯",name:"爆炸头",code:"U+1F92F",category:"smileys",keywords:["爆炸头","震惊","惊讶"]},{symbol:"🤠",name:"牛仔脸",code:"U+1F920",category:"smileys",keywords:["牛仔","帽子","西部"]},{symbol:"🥸",name:"伪装脸",code:"U+1F978",category:"smileys",keywords:["伪装","眼镜","胡子"]},{symbol:"🤓",name:"书呆子脸",code:"U+1F913",category:"smileys",keywords:["书呆子","眼镜","学霸"]},{symbol:"🧐",name:"单片眼镜脸",code:"U+1F9D0",category:"smileys",keywords:["单片眼镜","绅士","仔细"]},{symbol:"✨",name:"闪光",code:"U+2728",category:"symbols",keywords:["闪光","闪亮","魔法"]},{symbol:"⭐",name:"星星",code:"U+2B50",category:"symbols",keywords:["星星","明星","夜空"]},{symbol:"🌟",name:"闪亮星星",code:"U+1F31F",category:"symbols",keywords:["闪亮星星","星星","闪光"]},{symbol:"💯",name:"一百分",code:"U+1F4AF",category:"symbols",keywords:["一百分","完美","满分"]},{symbol:"🔥",name:"火",code:"U+1F525",category:"symbols",keywords:["火","火焰","热"]},{symbol:"💧",name:"水滴",code:"U+1F4A7",category:"symbols",keywords:["水滴","水","液体"]},{symbol:"⚡",name:"闪电",code:"U+26A1",category:"symbols",keywords:["闪电","电","能量"]},{symbol:"🌈",name:"彩虹",code:"U+1F308",category:"symbols",keywords:["彩虹","色彩","希望"]},{symbol:"☀️",name:"太阳",code:"U+2600",category:"symbols",keywords:["太阳","阳光","天气"]},{symbol:"🌙",name:"月亮",code:"U+1F319",category:"symbols",keywords:["月亮","夜晚","天空"]},{symbol:"⚠️",name:"警告",code:"U+26A0",category:"symbols",keywords:["警告","注意","危险"]},{symbol:"🚫",name:"禁止",code:"U+1F6AB",category:"symbols",keywords:["禁止","不允许","停止"]},{symbol:"✅",name:"勾选",code:"U+2705",category:"symbols",keywords:["勾选","正确","完成"]},{symbol:"❌",name:"叉号",code:"U+274C",category:"symbols",keywords:["叉号","错误","取消"]},{symbol:"➕",name:"加号",code:"U+2795",category:"symbols",keywords:["加号","添加","增加"]},{symbol:"➖",name:"减号",code:"U+2796",category:"symbols",keywords:["减号","删除","减少"]},{symbol:"➗",name:"除号",code:"U+2797",category:"symbols",keywords:["除号","除法","数学"]},{symbol:"✖️",name:"乘号",code:"U+2716",category:"symbols",keywords:["乘号","乘法","数学"]},{symbol:"💱",name:"货币兑换",code:"U+1F4B1",category:"symbols",keywords:["货币兑换","汇率","金融"]},{symbol:"💲",name:"美元符号",code:"U+1F4B2",category:"symbols",keywords:["美元符号","金钱","价格"]},{symbol:"©️",name:"版权",code:"U+00A9",category:"symbols",keywords:["版权","著作权","法律"]},{symbol:"®️",name:"注册商标",code:"U+00AE",category:"symbols",keywords:["注册商标","商标","品牌"]},{symbol:"™️",name:"商标",code:"U+2122",category:"symbols",keywords:["商标","品牌","标识"]}];function M7(){const e=St(""),t=St("all"),a=is(()=>{let a=B7;if("all"!==t.value&&(a=a.filter(e=>e.category===t.value)),e.value.trim()){const t=e.value.toLowerCase().trim();a=a.filter(e=>e.name.toLowerCase().includes(t)||e.keywords.some(e=>e.toLowerCase().includes(t)))}return a});return{searchQuery:e,activeCategory:t,filteredEmojis:a,setActiveCategory:e=>{t.value=e},clearSearch:()=>{e.value=""},emojiCategories:P7,emojiData:B7}}function O7(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var U7={async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null};function j7(e){U7=e}var L7={exec:()=>null};function R7(e,t=""){let a="string"==typeof e?e:e.source,n={replace:(e,t)=>{let r="string"==typeof t?t:t.source;return r=r.replace(H7.caret,"$1"),a=a.replace(e,r),n},getRegex:()=>new RegExp(a,t)};return n}var z7=(()=>{try{return!!new RegExp("(?<=1)(?/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] +\S/,listReplaceTask:/^\[[ xX]\] +/,listTaskCheckbox:/\[[ xX]\]/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/gi,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:e=>new RegExp(`^( {0,3}${e})((?:[\t ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ \t][^\\n]*)?(?:\\n|$))`),hrRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}#`),htmlBeginRegex:e=>new RegExp(`^ {0,${Math.min(3,e-1)}}<(?:[a-z].*>|!--)`,"i")},$7=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,Y7=/(?:[*+-]|\d{1,9}[.)])/,G7=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,W7=R7(G7).replace(/bull/g,Y7).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),V7=R7(G7).replace(/bull/g,Y7).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),K7=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,J7=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,q7=R7(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",J7).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),Z7=R7(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,Y7).getRegex(),X7="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",Q7=/|$))/,e9=R7("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|\\n*|$)|\\n*|$)|)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",Q7).replace("tag",X7).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),t9=R7(K7).replace("hr",$7).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",X7).getRegex(),a9={blockquote:R7(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",t9).getRegex(),code:/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,def:q7,fences:/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,heading:/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,hr:$7,html:e9,lheading:W7,list:Z7,newline:/^(?:[ \t]*(?:\n|$))+/,paragraph:t9,table:L7,text:/^[^\n]+/},n9=R7("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",$7).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",X7).getRegex(),r9={...a9,lheading:V7,table:n9,paragraph:R7(K7).replace("hr",$7).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",n9).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html",")|<(?:script|pre|style|textarea|!--)").replace("tag",X7).getRegex()},s9={...a9,html:R7("^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+? *(?:\\n{2,}|\\s*$)|\\s]*)*?/?> *(?:\\n{2,}|\\s*$))").replace("comment",Q7).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:L7,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:R7(K7).replace("hr",$7).replace("heading"," *#{1,6} *[^\n]").replace("lheading",W7).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},i9=/^( {2,}|\\)\n(?!\s*$)/,o9=/[\p{P}\p{S}]/u,l9=/[\s\p{P}\p{S}]/u,c9=/[^\s\p{P}\p{S}]/u,u9=R7(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,l9).getRegex(),d9=/(?!~)[\p{P}\p{S}]/u,h9=R7(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?`+)[^`]+\k(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",z7?"(?`+)[^`]+\k(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),p9=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,f9=R7(p9,"u").replace(/punct/g,o9).getRegex(),m9=R7(p9,"u").replace(/punct/g,d9).getRegex(),g9="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",y9=R7(g9,"gu").replace(/notPunctSpace/g,c9).replace(/punctSpace/g,l9).replace(/punct/g,o9).getRegex(),v9=R7(g9,"gu").replace(/notPunctSpace/g,/(?:[^\s\p{P}\p{S}]|~)/u).replace(/punctSpace/g,/(?!~)[\s\p{P}\p{S}]/u).replace(/punct/g,d9).getRegex(),b9=R7("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,c9).replace(/punctSpace/g,l9).replace(/punct/g,o9).getRegex(),w9=R7(/\\(punct)/,"gu").replace(/punct/g,o9).getRegex(),x9=R7(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),k9=R7(Q7).replace("(?:--\x3e|$)","--\x3e").getRegex(),_9=R7("^comment|^|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^|^").replace("comment",k9).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),E9=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,C9=R7(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",E9).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),F9=R7(/^!?\[(label)\]\[(ref)\]/).replace("label",E9).replace("ref",J7).getRegex(),D9=R7(/^!?\[(ref)\](?:\[\])?/).replace("ref",J7).getRegex(),A9=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,T9={_backpedal:L7,anyPunctuation:w9,autolink:x9,blockSkip:h9,br:i9,code:/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,del:L7,emStrongLDelim:f9,emStrongRDelimAst:y9,emStrongRDelimUnd:b9,escape:/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,link:C9,nolink:D9,punctuation:u9,reflink:F9,reflinkSearch:R7("reflink|nolink(?!\\()","g").replace("reflink",F9).replace("nolink",D9).getRegex(),tag:_9,text:/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\":">",'"':""","'":"'"},O9=e=>M9[e];function U9(e,t){if(t){if(H7.escapeTest.test(e))return e.replace(H7.escapeReplace,O9)}else if(H7.escapeTestNoEncode.test(e))return e.replace(H7.escapeReplaceNoEncode,O9);return e}function j9(e){try{e=encodeURI(e).replace(H7.percentDecode,"%")}catch{return null}return e}function L9(e,t){let a=e.replace(H7.findPipe,(e,t,a)=>{let n=!1,r=t;for(;--r>=0&&"\\"===a[r];)n=!n;return n?"|":" |"}).split(H7.splitPipe),n=0;if(a[0].trim()||a.shift(),a.length>0&&!a.at(-1)?.trim()&&a.pop(),t)if(a.length>t)a.splice(t);else for(;a.length0)return{type:"space",raw:t[0]}}code(e){let t=this.rules.block.code.exec(e);if(t){let e=t[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:t[0],codeBlockStyle:"indented",text:this.options.pedantic?e:R9(e,"\n")}}}fences(e){let t=this.rules.block.fences.exec(e);if(t){let e=t[0],a=function(e,t,a){let n=e.match(a.other.indentCodeCompensation);if(null===n)return t;let r=n[1];return t.split("\n").map(e=>{let t=e.match(a.other.beginningSpace);if(null===t)return e;let[n]=t;return n.length>=r.length?e.slice(r.length):e}).join("\n")}(e,t[3]||"",this.rules);return{type:"code",raw:e,lang:t[2]?t[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):t[2],text:a}}}heading(e){let t=this.rules.block.heading.exec(e);if(t){let e=t[2].trim();if(this.rules.other.endingHash.test(e)){let t=R9(e,"#");(this.options.pedantic||!t||this.rules.other.endingSpaceChar.test(t))&&(e=t.trim())}return{type:"heading",raw:t[0],depth:t[1].length,text:e,tokens:this.lexer.inline(e)}}}hr(e){let t=this.rules.block.hr.exec(e);if(t)return{type:"hr",raw:R9(t[0],"\n")}}blockquote(e){let t=this.rules.block.blockquote.exec(e);if(t){let e=R9(t[0],"\n").split("\n"),a="",n="",r=[];for(;e.length>0;){let t,s=!1,i=[];for(t=0;t1,r={type:"list",raw:"",ordered:n,start:n?+a.slice(0,-1):"",loose:!1,items:[]};a=n?`\\d{1,9}\\${a.slice(-1)}`:`\\${a}`,this.options.pedantic&&(a=n?a:"[*+-]");let s=this.rules.other.listItemRegex(a),i=!1;for(;e;){let a=!1,n="",o="";if(!(t=s.exec(e))||this.rules.block.hr.test(e))break;n=t[0],e=e.substring(n.length);let l=t[2].split("\n",1)[0].replace(this.rules.other.listReplaceTabs,e=>" ".repeat(3*e.length)),c=e.split("\n",1)[0],u=!l.trim(),d=0;if(this.options.pedantic?(d=2,o=l.trimStart()):u?d=t[1].length+1:(d=t[2].search(this.rules.other.nonSpaceChar),d=d>4?1:d,o=l.slice(d),d+=t[1].length),u&&this.rules.other.blankLine.test(c)&&(n+=c+"\n",e=e.substring(c.length+1),a=!0),!a){let t=this.rules.other.nextBulletRegex(d),a=this.rules.other.hrRegex(d),r=this.rules.other.fencesBeginRegex(d),s=this.rules.other.headingBeginRegex(d),i=this.rules.other.htmlBeginRegex(d);for(;e;){let h,p=e.split("\n",1)[0];if(c=p,this.options.pedantic?(c=c.replace(this.rules.other.listReplaceNesting," "),h=c):h=c.replace(this.rules.other.tabCharGlobal," "),r.test(c)||s.test(c)||i.test(c)||t.test(c)||a.test(c))break;if(h.search(this.rules.other.nonSpaceChar)>=d||!c.trim())o+="\n"+h.slice(d);else{if(u||l.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||r.test(l)||s.test(l)||a.test(l))break;o+="\n"+c}!u&&!c.trim()&&(u=!0),n+=p+"\n",e=e.substring(p.length+1),l=h.slice(d)}}r.loose||(i?r.loose=!0:this.rules.other.doubleBlankLine.test(n)&&(i=!0)),r.items.push({type:"list_item",raw:n,task:!!this.options.gfm&&this.rules.other.listIsTask.test(o),loose:!1,text:o,tokens:[]}),r.raw+=n}let o=r.items.at(-1);if(!o)return;o.raw=o.raw.trimEnd(),o.text=o.text.trimEnd(),r.raw=r.raw.trimEnd();for(let e of r.items){if(this.lexer.state.top=!1,e.tokens=this.lexer.blockTokens(e.text,[]),e.task){if(e.text=e.text.replace(this.rules.other.listReplaceTask,""),"text"===e.tokens[0]?.type||"paragraph"===e.tokens[0]?.type){e.tokens[0].raw=e.tokens[0].raw.replace(this.rules.other.listReplaceTask,""),e.tokens[0].text=e.tokens[0].text.replace(this.rules.other.listReplaceTask,"");for(let e=this.lexer.inlineQueue.length-1;e>=0;e--)if(this.rules.other.listIsTask.test(this.lexer.inlineQueue[e].src)){this.lexer.inlineQueue[e].src=this.lexer.inlineQueue[e].src.replace(this.rules.other.listReplaceTask,"");break}}let t=this.rules.other.listTaskCheckbox.exec(e.raw);if(t){let a={type:"checkbox",raw:t[0]+" ",checked:"[ ]"!==t[0]};e.checked=a.checked,r.loose?e.tokens[0]&&["paragraph","text"].includes(e.tokens[0].type)&&"tokens"in e.tokens[0]&&e.tokens[0].tokens?(e.tokens[0].raw=a.raw+e.tokens[0].raw,e.tokens[0].text=a.raw+e.tokens[0].text,e.tokens[0].tokens.unshift(a)):e.tokens.unshift({type:"paragraph",raw:a.raw,text:a.raw,tokens:[a]}):e.tokens.unshift(a)}}if(!r.loose){let t=e.tokens.filter(e=>"space"===e.type),a=t.length>0&&t.some(e=>this.rules.other.anyLine.test(e.raw));r.loose=a}}if(r.loose)for(let e of r.items){e.loose=!0;for(let t of e.tokens)"text"===t.type&&(t.type="paragraph")}return r}}html(e){let t=this.rules.block.html.exec(e);if(t)return{type:"html",block:!0,raw:t[0],pre:"pre"===t[1]||"script"===t[1]||"style"===t[1],text:t[0]}}def(e){let t=this.rules.block.def.exec(e);if(t){let e=t[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),a=t[2]?t[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",n=t[3]?t[3].substring(1,t[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):t[3];return{type:"def",tag:e,raw:t[0],href:a,title:n}}}table(e){let t=this.rules.block.table.exec(e);if(!t||!this.rules.other.tableDelimiter.test(t[2]))return;let a=L9(t[1]),n=t[2].replace(this.rules.other.tableAlignChars,"").split("|"),r=t[3]?.trim()?t[3].replace(this.rules.other.tableRowBlankLine,"").split("\n"):[],s={type:"table",raw:t[0],header:[],align:[],rows:[]};if(a.length===n.length){for(let e of n)this.rules.other.tableAlignRight.test(e)?s.align.push("right"):this.rules.other.tableAlignCenter.test(e)?s.align.push("center"):this.rules.other.tableAlignLeft.test(e)?s.align.push("left"):s.align.push(null);for(let e=0;e({text:e,tokens:this.lexer.inline(e),header:!1,align:s.align[t]})));return s}}lheading(e){let t=this.rules.block.lheading.exec(e);if(t)return{type:"heading",raw:t[0],depth:"="===t[2].charAt(0)?1:2,text:t[1],tokens:this.lexer.inline(t[1])}}paragraph(e){let t=this.rules.block.paragraph.exec(e);if(t){let e="\n"===t[1].charAt(t[1].length-1)?t[1].slice(0,-1):t[1];return{type:"paragraph",raw:t[0],text:e,tokens:this.lexer.inline(e)}}}text(e){let t=this.rules.block.text.exec(e);if(t)return{type:"text",raw:t[0],text:t[0],tokens:this.lexer.inline(t[0])}}escape(e){let t=this.rules.inline.escape.exec(e);if(t)return{type:"escape",raw:t[0],text:t[1]}}tag(e){let t=this.rules.inline.tag.exec(e);if(t)return!this.lexer.state.inLink&&this.rules.other.startATag.test(t[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(t[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(t[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(t[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:t[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:t[0]}}link(e){let t=this.rules.inline.link.exec(e);if(t){let e=t[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(e)){if(!this.rules.other.endAngleBracket.test(e))return;let t=R9(e.slice(0,-1),"\\");if((e.length-t.length)%2==0)return}else{let e=function(e,t){if(-1===e.indexOf(t[1]))return-1;let a=0;for(let n=0;n0?-2:-1}(t[2],"()");if(-2===e)return;if(e>-1){let a=(0===t[0].indexOf("!")?5:4)+t[1].length+e;t[2]=t[2].substring(0,e),t[0]=t[0].substring(0,a).trim(),t[3]=""}}let a=t[2],n="";if(this.options.pedantic){let e=this.rules.other.pedanticHrefTitle.exec(a);e&&(a=e[1],n=e[3])}else n=t[3]?t[3].slice(1,-1):"";return a=a.trim(),this.rules.other.startAngleBracket.test(a)&&(a=this.options.pedantic&&!this.rules.other.endAngleBracket.test(e)?a.slice(1):a.slice(1,-1)),z9(t,{href:a&&a.replace(this.rules.inline.anyPunctuation,"$1"),title:n&&n.replace(this.rules.inline.anyPunctuation,"$1")},t[0],this.lexer,this.rules)}}reflink(e,t){let a;if((a=this.rules.inline.reflink.exec(e))||(a=this.rules.inline.nolink.exec(e))){let e=t[(a[2]||a[1]).replace(this.rules.other.multipleSpaceGlobal," ").toLowerCase()];if(!e){let e=a[0].charAt(0);return{type:"text",raw:e,text:e}}return z9(a,e,a[0],this.lexer,this.rules)}}emStrong(e,t,a=""){let n=this.rules.inline.emStrongLDelim.exec(e);if(!(!n||n[3]&&a.match(this.rules.other.unicodeAlphaNumeric))&&(!n[1]&&!n[2]||!a||this.rules.inline.punctuation.exec(a))){let a,r,s=[...n[0]].length-1,i=s,o=0,l="*"===n[0][0]?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(l.lastIndex=0,t=t.slice(-1*e.length+s);null!=(n=l.exec(t));){if(a=n[1]||n[2]||n[3]||n[4]||n[5]||n[6],!a)continue;if(r=[...a].length,n[3]||n[4]){i+=r;continue}if((n[5]||n[6])&&s%3&&!((s+r)%3)){o+=r;continue}if(i-=r,i>0)continue;r=Math.min(r,r+i+o);let t=[...n[0]][0].length,l=e.slice(0,s+n.index+t+r);if(Math.min(s,r)%2){let e=l.slice(1,-1);return{type:"em",raw:l,text:e,tokens:this.lexer.inlineTokens(e)}}let c=l.slice(2,-2);return{type:"strong",raw:l,text:c,tokens:this.lexer.inlineTokens(c)}}}}codespan(e){let t=this.rules.inline.code.exec(e);if(t){let e=t[2].replace(this.rules.other.newLineCharGlobal," "),a=this.rules.other.nonSpaceChar.test(e),n=this.rules.other.startingSpaceChar.test(e)&&this.rules.other.endingSpaceChar.test(e);return a&&n&&(e=e.substring(1,e.length-1)),{type:"codespan",raw:t[0],text:e}}}br(e){let t=this.rules.inline.br.exec(e);if(t)return{type:"br",raw:t[0]}}del(e){let t=this.rules.inline.del.exec(e);if(t)return{type:"del",raw:t[0],text:t[2],tokens:this.lexer.inlineTokens(t[2])}}autolink(e){let t=this.rules.inline.autolink.exec(e);if(t){let e,a;return"@"===t[2]?(e=t[1],a="mailto:"+e):(e=t[1],a=e),{type:"link",raw:t[0],text:e,href:a,tokens:[{type:"text",raw:e,text:e}]}}}url(e){let t;if(t=this.rules.inline.url.exec(e)){let e,a;if("@"===t[2])e=t[0],a="mailto:"+e;else{let n;do{n=t[0],t[0]=this.rules.inline._backpedal.exec(t[0])?.[0]??""}while(n!==t[0]);e=t[0],a="www."===t[1]?"http://"+t[0]:t[0]}return{type:"link",raw:t[0],text:e,href:a,tokens:[{type:"text",raw:e,text:e}]}}}inlineText(e){let t=this.rules.inline.text.exec(e);if(t){let e=this.lexer.state.inRawBlock;return{type:"text",raw:t[0],text:t[0],escaped:e}}}},$9=class e{constructor(e){o(this,"tokens"),o(this,"options"),o(this,"state"),o(this,"inlineQueue"),o(this,"tokenizer"),this.tokens=[],this.tokens.links=Object.create(null),this.options=e||U7,this.options.tokenizer=this.options.tokenizer||new H9,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:H7,block:P9.normal,inline:B9.normal};this.options.pedantic?(t.block=P9.pedantic,t.inline=B9.pedantic):this.options.gfm&&(t.block=P9.gfm,this.options.breaks?t.inline=B9.breaks:t.inline=B9.gfm),this.tokenizer.rules=t}static get rules(){return{block:P9,inline:B9}}static lex(t,a){return new e(a).lex(t)}static lexInline(t,a){return new e(a).inlineTokens(t)}lex(e){e=e.replace(H7.carriageReturn,"\n"),this.blockTokens(e,this.tokens);for(let t=0;t!!(n=a.call({lexer:this},e,t))&&(e=e.substring(n.raw.length),t.push(n),!0)))continue;if(n=this.tokenizer.space(e)){e=e.substring(n.raw.length);let a=t.at(-1);1===n.raw.length&&void 0!==a?a.raw+="\n":t.push(n);continue}if(n=this.tokenizer.code(e)){e=e.substring(n.raw.length);let a=t.at(-1);"paragraph"===a?.type||"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.text,this.inlineQueue.at(-1).src=a.text):t.push(n);continue}if(n=this.tokenizer.fences(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.heading(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.hr(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.blockquote(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.list(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.html(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.def(e)){e=e.substring(n.raw.length);let a=t.at(-1);"paragraph"===a?.type||"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.raw,this.inlineQueue.at(-1).src=a.text):this.tokens.links[n.tag]||(this.tokens.links[n.tag]={href:n.href,title:n.title},t.push(n));continue}if(n=this.tokenizer.table(e)){e=e.substring(n.raw.length),t.push(n);continue}if(n=this.tokenizer.lheading(e)){e=e.substring(n.raw.length),t.push(n);continue}let r=e;if(this.options.extensions?.startBlock){let t,a=1/0,n=e.slice(1);this.options.extensions.startBlock.forEach(e=>{t=e.call({lexer:this},n),"number"==typeof t&&t>=0&&(a=Math.min(a,t))}),a<1/0&&a>=0&&(r=e.substring(0,a+1))}if(this.state.top&&(n=this.tokenizer.paragraph(r))){let s=t.at(-1);a&&"paragraph"===s?.type?(s.raw+=(s.raw.endsWith("\n")?"":"\n")+n.raw,s.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=s.text):t.push(n),a=r.length!==e.length,e=e.substring(n.raw.length);continue}if(n=this.tokenizer.text(e)){e=e.substring(n.raw.length);let a=t.at(-1);"text"===a?.type?(a.raw+=(a.raw.endsWith("\n")?"":"\n")+n.raw,a.text+="\n"+n.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=a.text):t.push(n);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let a,n=e,r=null;if(this.tokens.links){let e=Object.keys(this.tokens.links);if(e.length>0)for(;null!=(r=this.tokenizer.rules.inline.reflinkSearch.exec(n));)e.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(n=n.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+n.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;null!=(r=this.tokenizer.rules.inline.anyPunctuation.exec(n));)n=n.slice(0,r.index)+"++"+n.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;null!=(r=this.tokenizer.rules.inline.blockSkip.exec(n));)a=r[2]?r[2].length:0,n=n.slice(0,r.index+a)+"["+"a".repeat(r[0].length-a-2)+"]"+n.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);n=this.options.hooks?.emStrongMask?.call({lexer:this},n)??n;let s=!1,i="";for(;e;){let a;if(s||(i=""),s=!1,this.options.extensions?.inline?.some(n=>!!(a=n.call({lexer:this},e,t))&&(e=e.substring(a.raw.length),t.push(a),!0)))continue;if(a=this.tokenizer.escape(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.tag(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.link(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(a.raw.length);let n=t.at(-1);"text"===a.type&&"text"===n?.type?(n.raw+=a.raw,n.text+=a.text):t.push(a);continue}if(a=this.tokenizer.emStrong(e,n,i)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.codespan(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.br(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.del(e)){e=e.substring(a.raw.length),t.push(a);continue}if(a=this.tokenizer.autolink(e)){e=e.substring(a.raw.length),t.push(a);continue}if(!this.state.inLink&&(a=this.tokenizer.url(e))){e=e.substring(a.raw.length),t.push(a);continue}let r=e;if(this.options.extensions?.startInline){let t,a=1/0,n=e.slice(1);this.options.extensions.startInline.forEach(e=>{t=e.call({lexer:this},n),"number"==typeof t&&t>=0&&(a=Math.min(a,t))}),a<1/0&&a>=0&&(r=e.substring(0,a+1))}if(a=this.tokenizer.inlineText(r)){e=e.substring(a.raw.length),"_"!==a.raw.slice(-1)&&(i=a.raw.slice(-1)),s=!0;let n=t.at(-1);"text"===n?.type?(n.raw+=a.raw,n.text+=a.text):t.push(a);continue}if(e){let t="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(t);break}throw new Error(t)}}return t}},Y9=class{constructor(e){o(this,"options"),o(this,"parser"),this.options=e||U7}space(e){return""}code({text:e,lang:t,escaped:a}){let n=(t||"").match(H7.notSpaceStart)?.[0],r=e.replace(H7.endingNewline,"")+"\n";return n?'
    '+(a?r:U9(r,!0))+"
    \n":"
    "+(a?r:U9(r,!0))+"
    \n"}blockquote({tokens:e}){return`
    \n${this.parser.parse(e)}
    \n`}html({text:e}){return e}def(e){return""}heading({tokens:e,depth:t}){return`${this.parser.parseInline(e)}\n`}hr(e){return"
    \n"}list(e){let t=e.ordered,a=e.start,n="";for(let s=0;s\n"+n+"\n"}listitem(e){return`
  • ${this.parser.parse(e.tokens)}
  • \n`}checkbox({checked:e}){return" '}paragraph({tokens:e}){return`

    ${this.parser.parseInline(e)}

    \n`}table(e){let t="",a="";for(let r=0;r${n}`),"\n\n"+t+"\n"+n+"
    \n"}tablerow({text:e}){return`\n${e}\n`}tablecell(e){let t=this.parser.parseInline(e.tokens),a=e.header?"th":"td";return(e.align?`<${a} align="${e.align}">`:`<${a}>`)+t+`\n`}strong({tokens:e}){return`${this.parser.parseInline(e)}`}em({tokens:e}){return`${this.parser.parseInline(e)}`}codespan({text:e}){return`${U9(e,!0)}`}br(e){return"
    "}del({tokens:e}){return`${this.parser.parseInline(e)}`}link({href:e,title:t,tokens:a}){let n=this.parser.parseInline(a),r=j9(e);if(null===r)return n;let s='
    ",s}image({href:e,title:t,text:a,tokens:n}){n&&(a=this.parser.parseInline(n,this.parser.textRenderer));let r=j9(e);if(null===r)return U9(a);let s=`${a}{let r=e[n].flat(1/0);a=a.concat(this.walkTokens(r,t))}):e.tokens&&(a=a.concat(this.walkTokens(e.tokens,t)))}}return a}use(...e){let t=this.defaults.extensions||{renderers:{},childTokens:{}};return e.forEach(e=>{let a={...e};if(a.async=this.defaults.async||a.async||!1,e.extensions&&(e.extensions.forEach(e=>{if(!e.name)throw new Error("extension name required");if("renderer"in e){let a=t.renderers[e.name];t.renderers[e.name]=a?function(...t){let n=e.renderer.apply(this,t);return!1===n&&(n=a.apply(this,t)),n}:e.renderer}if("tokenizer"in e){if(!e.level||"block"!==e.level&&"inline"!==e.level)throw new Error("extension level must be 'block' or 'inline'");let a=t[e.level];a?a.unshift(e.tokenizer):t[e.level]=[e.tokenizer],e.start&&("block"===e.level?t.startBlock?t.startBlock.push(e.start):t.startBlock=[e.start]:"inline"===e.level&&(t.startInline?t.startInline.push(e.start):t.startInline=[e.start]))}"childTokens"in e&&e.childTokens&&(t.childTokens[e.name]=e.childTokens)}),a.extensions=t),e.renderer){let t=this.defaults.renderer||new Y9(this.defaults);for(let a in e.renderer){if(!(a in t))throw new Error(`renderer '${a}' does not exist`);if(["options","parser"].includes(a))continue;let n=a,r=e.renderer[n],s=t[n];t[n]=(...e)=>{let a=r.apply(t,e);return!1===a&&(a=s.apply(t,e)),a||""}}a.renderer=t}if(e.tokenizer){let t=this.defaults.tokenizer||new H9(this.defaults);for(let a in e.tokenizer){if(!(a in t))throw new Error(`tokenizer '${a}' does not exist`);if(["options","rules","lexer"].includes(a))continue;let n=a,r=e.tokenizer[n],s=t[n];t[n]=(...e)=>{let a=r.apply(t,e);return!1===a&&(a=s.apply(t,e)),a}}a.tokenizer=t}if(e.hooks){let t=this.defaults.hooks||new V9;for(let a in e.hooks){if(!(a in t))throw new Error(`hook '${a}' does not exist`);if(["options","block"].includes(a))continue;let n=a,r=e.hooks[n],s=t[n];V9.passThroughHooks.has(a)?t[n]=e=>{if(this.defaults.async&&V9.passThroughHooksRespectAsync.has(a))return(async()=>{let a=await r.call(t,e);return s.call(t,a)})();let n=r.call(t,e);return s.call(t,n)}:t[n]=(...e)=>{if(this.defaults.async)return(async()=>{let a=await r.apply(t,e);return!1===a&&(a=await s.apply(t,e)),a})();let a=r.apply(t,e);return!1===a&&(a=s.apply(t,e)),a}}a.hooks=t}if(e.walkTokens){let t=this.defaults.walkTokens,n=e.walkTokens;a.walkTokens=function(e){let a=[];return a.push(n.call(this,e)),t&&(a=a.concat(t.call(this,e))),a}}this.defaults={...this.defaults,...a}}),this}setOptions(e){return this.defaults={...this.defaults,...e},this}lexer(e,t){return $9.lex(e,t??this.defaults)}parser(e,t){return W9.parse(e,t??this.defaults)}parseMarkdown(e){return(t,a)=>{let n={...a},r={...this.defaults,...n},s=this.onError(!!r.silent,!!r.async);if(!0===this.defaults.async&&!1===n.async)return s(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||null===t)return s(new Error("marked(): input parameter is undefined or null"));if("string"!=typeof t)return s(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));if(r.hooks&&(r.hooks.options=r,r.hooks.block=e),r.async)return(async()=>{let a=r.hooks?await r.hooks.preprocess(t):t,n=await(r.hooks?await r.hooks.provideLexer():e?$9.lex:$9.lexInline)(a,r),s=r.hooks?await r.hooks.processAllTokens(n):n;r.walkTokens&&await Promise.all(this.walkTokens(s,r.walkTokens));let i=await(r.hooks?await r.hooks.provideParser():e?W9.parse:W9.parseInline)(s,r);return r.hooks?await r.hooks.postprocess(i):i})().catch(s);try{r.hooks&&(t=r.hooks.preprocess(t));let a=(r.hooks?r.hooks.provideLexer():e?$9.lex:$9.lexInline)(t,r);r.hooks&&(a=r.hooks.processAllTokens(a)),r.walkTokens&&this.walkTokens(a,r.walkTokens);let n=(r.hooks?r.hooks.provideParser():e?W9.parse:W9.parseInline)(a,r);return r.hooks&&(n=r.hooks.postprocess(n)),n}catch(i){return s(i)}}}onError(e,t){return a=>{if(a.message+="\nPlease report this to https://github.com/markedjs/marked.",e){let e="

    An error occurred:

    "+U9(a.message+"",!0)+"
    ";return t?Promise.resolve(e):e}if(t)return Promise.reject(a);throw a}}};function J9(e,t){return K9.parse(e,t)}J9.options=J9.setOptions=function(e){return K9.setOptions(e),J9.defaults=K9.defaults,j7(J9.defaults),J9},J9.getDefaults=O7,J9.defaults=U7,J9.use=function(...e){return K9.use(...e),J9.defaults=K9.defaults,j7(J9.defaults),J9},J9.walkTokens=function(e,t){return K9.walkTokens(e,t)},J9.parseInline=K9.parseInline,J9.Parser=W9,J9.parser=W9.parse,J9.Renderer=Y9,J9.TextRenderer=G9,J9.Lexer=$9,J9.lexer=$9.lex,J9.Tokenizer=H9,J9.Hooks=V9,J9.parse=J9,J9.options,J9.setOptions,J9.use,J9.walkTokens,J9.parseInline,W9.parse,$9.lex;const q9={class:"markdown-editor"},Z9={class:"editor-container"},X9={class:"editor-panes"},Q9={class:"editor-pane"},eee={class:"pane-header"},tee={class:"editor-toolbar"},aee={class:"table-wrapper"},nee={key:0,class:"table-menu"},ree={class:"table-size-selector"},see={class:"table-grid"},iee=["onMouseenter","onClick"],oee={class:"table-info"},lee={class:"code-block-wrapper"},cee={key:0,class:"code-block-menu"},uee={class:"datetime-wrapper"},dee={key:0,class:"datetime-menu"},hee={class:"datetime-preview"},pee={class:"datetime-preview"},fee={class:"datetime-preview"},mee={class:"datetime-preview"},gee={class:"datetime-preview"},yee={class:"emoji-wrapper"},vee={key:0,class:"emoji-menu"},bee={class:"emoji-categories"},wee=["onClick","title"],xee={class:"emoji-grid"},kee=["onClick","title"],_ee=["title"],Eee={key:0,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Cee={key:1,width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Fee={class:"pane-actions"},Dee={class:"editor-content"},Aee={key:0,class:"preview-pane"},Tee=["innerHTML"],See=$a({__name:"MarkdownEditor",emits:["back"],setup(e){il("markdown-editor");const{success:t,error:a}=Vo(),{copyToClipboard:n}=ll(),{activeCategory:r,filteredEmojis:s,setActiveCategory:i,emojiCategories:o}=M7(),l=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"markdown-editor"===e.id);if(t)return t.title}return"Markdown编辑器"}),c=St(),u=St(),d=St(),h=St(""),p=St(!1),f=St(!1),m=St(1),g=St(1),y=St(!1),v=St(!1),b=St(!0),w=St(`# 欢迎使用 Markdown 编辑器 📝\n\n[TOC]\n\n## 功能特色 ✨\n\n- **实时预览** - 左右分屏显示,所见即所得\n- **丰富工具栏** - 一键插入各种 Markdown 语法\n- **目录支持** - 自动生成文档目录,支持 TOC 标记\n- **图片支持** - 拖拽或粘贴图片自动转 Base64\n- **表情符号** - 内置丰富的 Emoji 表情库 😊\n- **代码高亮** - 支持 20+ 种编程语言\n- **导出功能** - 一键下载 .md 文件\n- **复制功能** - 快速复制到剪贴板\n- **日期时间** - 快速插入各种时间格式\n\n## 目录功能说明 📚\n\n### 如何使用目录\n1. 在文档中任意位置输入 \`TOC\`\n2. 系统会自动扫描所有标题(H1-H6)\n3. 生成带链接的目录列表\n4. 点击目录项可快速跳转到对应章节\n\n### 目录特性\n- 自动识别标题层级\n- 支持中英文标题\n- 生成唯一锚点链接\n- 响应式设计,适配各种屏幕\n\n## 文本格式示例 📖\n\n### 基础格式\n- **粗体文本** - 重要内容突出显示\n- *斜体文本* - 强调或引用\n- ~~删除线~~ - 标记已删除内容\n- \`行内代码\` - 变量名或函数名\n- ==高亮文本== - 重点标记\n\n### 标题层级\n# 一级标题 - 文档主标题\n## 二级标题 - 章节标题 \n### 三级标题 - 小节标题\n#### 四级标题 - 子小节\n##### 五级标题 - 详细分类\n###### 六级标题 - 最小单位\n\n## 列表示例 📋\n\n### 无序列表\n- 🍎 苹果 - 富含维生素C\n- 🍌 香蕉 - 补充钾元素\n- 🍇 葡萄 - 抗氧化作用\n - 🟣 紫葡萄 - 花青素丰富\n - 🟢 青葡萄 - 口感清爽\n - 🔴 红葡萄 - 甜度较高\n\n### 有序列表\n1. 📅 制定计划 - 明确目标和时间线\n2. 🔍 收集资料 - 查找相关信息和资源\n3. ✏️ 开始编写 - 按照大纲逐步完成\n4. 🔄 反复修改 - 完善内容和结构\n5. ✅ 最终确认 - 检查格式和错误\n\n### 任务列表\n- [x] ✅ 完成项目需求分析\n- [x] ✅ 设计系统架构\n- [ ] 🔄 开发核心功能\n- [ ] 📝 编写测试用例\n- [ ] 🚀 部署到生产环境\n\n## 代码示例 💻\n\n### JavaScript 代码\n\`\`\`javascript\n// 🚀 现代 JavaScript 示例\nconst greeting = (name) => {\n return \`Hello, \${name}! 👋\`;\n};\n\n// 📊 数据处理\nconst users = [\n { id: 1, name: 'Alice', role: '👩‍💻 Developer' },\n { id: 2, name: 'Bob', role: '🎨 Designer' },\n { id: 3, name: 'Charlie', role: '📊 Analyst' }\n];\n\nconsole.log(greeting('World')); // Hello, World! 👋\n\`\`\`\n\n### Python 代码\n\`\`\`python\n# 🐍 Python 数据分析示例\nimport pandas as pd\nimport numpy as np\n\ndef analyze_data(data):\n """📈 数据分析函数"""\n result = {\n 'mean': np.mean(data),\n 'std': np.std(data),\n 'count': len(data)\n }\n return result\n\n# 📊 示例数据\nsales_data = [100, 150, 200, 180, 220, 190, 250]\nstats = analyze_data(sales_data)\nprint(f"📊 销售统计: {stats}")\n\`\`\`\n\n### CSS 样式\n\`\`\`css\n/* 🎨 现代 CSS 样式 */\n.card {\n background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n border-radius: 12px;\n box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);\n padding: 24px;\n transition: transform 0.3s ease;\n}\n\n.card:hover {\n transform: translateY(-4px);\n}\n\n.icon {\n font-size: 2rem;\n margin-bottom: 16px;\n}\n\`\`\`\n\n## 表格示例 📊\n\n| 🏆 排名 | 👤 姓名 | 💼 职位 | 📧 邮箱 | 📱 电话 | 🌟 评分 |\n|---------|---------|---------|---------|---------|---------|\n| 1 | 张三 | 🚀 项目经理 | zhang@example.com | 138-0000-0001 | ⭐⭐⭐⭐⭐ |\n| 2 | 李四 | 👩‍💻 前端开发 | li@example.com | 138-0000-0002 | ⭐⭐⭐⭐ |\n| 3 | 王五 | 🎨 UI设计师 | wang@example.com | 138-0000-0003 | ⭐⭐⭐⭐⭐ |\n| 4 | 赵六 | 🔧 后端开发 | zhao@example.com | 138-0000-0004 | ⭐⭐⭐⭐ |\n\n## 引用和链接 🔗\n\n### 经典引用\n> 💡 "代码是写给人看的,只是偶尔让计算机执行一下。" \n> —— Harold Abelson\n\n> 🎯 "过早的优化是万恶之源。" \n> —— Donald Knuth\n\n> 🚀 "任何傻瓜都能写出计算机能理解的代码,只有优秀的程序员才能写出人类能理解的代码。" \n> —— Martin Fowler\n\n### 有用的链接\n- 📚 [MDN Web 文档](https://developer.mozilla.org/) - 最权威的前端技术文档\n- 🐙 [GitHub](https://github.com) - 全球最大的代码托管平台\n- 📖 [Stack Overflow](https://stackoverflow.com) - 程序员问答社区\n- 🎨 [Dribbble](https://dribbble.com) - 设计师灵感平台\n\n## 图片示例 🖼️\n\n### 在线图片\n![🌅 美丽风景](https://picsum.photos/400/300?random=3)\n\n### 本地图片(Base64)\n> 💡 提示:你可以通过工具栏的图片按钮上传本地图片,系统会自动转换为 Base64 格式\n\n## 表情符号大全 😊\n\n### 常用表情\n😀 😃 😄 😁 😆 😅 🤣 😂 🙂 😉 😊 😇 🥰 😍 🤩 😘 😗 😚 😙\n\n### 手势表情 \n👋 🤚 ✋ 👌 ✌️ 🤞 🤟 🤘 🤙 👈 👉 👆 👇 ☝️ 👍 👎 ✊ 👊\n\n### 工具图标\n🧰 🔧 🔨 ⚙️ 🛠️ ⚒️ 🔩 ⛏️ 🪓 🪚 🔪 🗡️ 🛡️ 💻 🖥️ 🖨️ ⌨️ 🖱️\n\n### 交通工具\n🚀 🛸 🚁 ✈️ 🛫 🛬 🚗 🚕 🚙 🚌 🚎 🏎️ 🚓 🚑 🚒 🚐 🛻 🚚\n\n## 特殊格式 ⚡\n\n### 分割线\n---\n\n### 脚注\n这是一个带脚注的文本[^1]。\n\n[^1]: 这里是脚注的内容,提供额外的说明信息。\n\n### 数学公式(如果支持)\n行内公式:$E = mc^2$\n\n块级公式:\n$\n\\sum_{i=1}^{n} x_i = x_1 + x_2 + \\cdots + x_n\n$\n\n### 键盘按键\n按 Ctrl + C 复制 \n按 Ctrl + V 粘贴 \n按 Ctrl + S 保存\n\n## 时间记录 ⏰\n\n- 📅 创建时间:${(new Date).toLocaleDateString("zh-CN")}\n- ⏰ 当前时间:${(new Date).toLocaleTimeString("zh-CN")}\n- 🌍 时区:${Intl.DateTimeFormat().resolvedOptions().timeZone}\n\n---\n\n🎉 **开始你的 Markdown 创作之旅吧!** \n\n💡 **小贴士:**\n- 使用工具栏快速插入各种元素\n- 支持键盘快捷键:Ctrl+B(粗体)、Ctrl+I(斜体)、Ctrl+K(链接)\n- 可以直接粘贴图片,自动转换为 Base64 格式\n- 点击预览按钮切换编辑/预览模式`),x=is(()=>{try{let e=h.value;if(e.includes("[TOC]")){const t=(e=>{const t=e.split("\n"),a=[];if(t.forEach(e=>{const t=e.match(/^(#{1,6})\s+(.+)$/);if(t&&t[1]&&t[2]){const e=t[1].length,n=t[2].trim(),r=n.toLowerCase().replace(/[^\w\s-]/g,"").replace(/\s+/g,"-").replace(/-+/g,"-").replace(/^-|-$/g,"");a.push({level:e,text:n,id:r})}}),0===a.length)return'
    暂无目录
    ';let n='
    ",n})(e);e=e.replace(/\[TOC\]/g,t)}const t=J9(e);let a;return"string"!=typeof t?"

    正在渲染...

    ":(a=t,a=(e=>e.replace(/(.*?)<\/h[1-6]>/g,(e,t,a)=>`${a}`))(a),a)}catch(e){return"

    预览解析错误

    "}});function k(){_()}function _(){if(!d.value||!c.value)return;const e=h.value.split("\n").length,t=Array.from({length:e},(e,t)=>`
    ${t+1}
    `).join("");d.value.innerHTML=t}function E(){d.value&&c.value&&(d.value.scrollTop=c.value.scrollTop)}function C(e,t=""){const a=c.value;if(!a)return;const n=a.selectionStart,r=a.selectionEnd,s=h.value.substring(n,r),i=e+s+t;h.value=h.value.substring(0,n)+i+h.value.substring(r),setTimeout(()=>{s?a.setSelectionRange(n+e.length,n+e.length+s.length):a.setSelectionRange(n+e.length,n+e.length),a.focus()})}function F(e){const t=c.value;if(!t)return;const a=t.selectionStart,n=h.value.lastIndexOf("\n",a-1)+1,r="#".repeat(e)+" ";h.value=h.value.substring(0,n)+r+h.value.substring(n),setTimeout(()=>{t.setSelectionRange(a+r.length,a+r.length),t.focus()})}function D(e){const t=c.value;if(!t)return;const a=t.selectionStart,n=h.value.lastIndexOf("\n",a-1)+1;h.value=h.value.substring(0,n)+e+h.value.substring(n),setTimeout(()=>{t.setSelectionRange(a+e.length,a+e.length),t.focus()})}function A(){const e=c.value;if(!e)return;const t=e.selectionStart,a=e.selectionEnd,n=h.value.substring(t,a),r=n||"链接文本",s=`[${r}](https://example.com)`;h.value=h.value.substring(0,t)+s+h.value.substring(a),setTimeout(()=>{n?e.setSelectionRange(t+r.length+3,t+s.length-1):e.setSelectionRange(t+1,t+1+r.length),e.focus()})}function T(e=""){let t="",a="";switch(e){case"javascript":case"typescript":case"java":case"cpp":case"csharp":case"php":case"go":case"rust":case"swift":case"kotlin":case"dart":case"scala":a="// 在这里输入代码";break;case"python":case"ruby":case"perl":case"r":case"bash":case"shell":case"powershell":a="# 在这里输入代码";break;case"html":case"xml":a="\x3c!-- 在这里输入代码 --\x3e";break;case"css":a="/* 在这里输入样式 */";break;case"sql":a="-- 在这里输入查询";break;case"lua":a="-- 在这里输入代码";break;case"vim":a='" 在这里输入代码';break;case"matlab":a="% 在这里输入代码";break;default:a="在这里输入代码内容"}t=e?`\`\`\`${e}\n${a}\n\`\`\``:"```\n代码内容\n```",C(t),y.value=!1}function S(e){const t=new Date;switch(e){case"date":return t.toLocaleDateString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit"}).replace(/\//g,"-");case"time":return t.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1});case"datetime":return t.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit",hour12:!1}).replace(/\//g,"-");case"iso":return t.toISOString();case"timestamp":return t.getTime().toString();default:return""}}function I(e){C(S(e)),v.value=!1,t("已插入"+("date"===e?"日期":"time"===e?"时间":"datetime"===e?"日期时间":"iso"===e?"ISO格式":"时间戳"))}function N(e){if(e.ctrlKey||e.metaKey)switch(e.key){case"b":e.preventDefault(),C("**","**");break;case"i":e.preventDefault(),C("*","*");break;case"k":e.preventDefault(),A()}"Tab"===e.key&&(e.preventDefault(),C(" ")),"Escape"===e.key&&(p.value=!1,f.value=!1,y.value=!1,v.value=!1)}function P(e){const t=e.target;t.closest(".emoji-wrapper")||(p.value=!1),t.closest(".table-wrapper")||(f.value=!1),t.closest(".code-block-wrapper")||(y.value=!1),t.closest(".datetime-wrapper")||(v.value=!1)}function B(){h.value="",t("内容已清空")}function M(){const e=new Blob([h.value],{type:"text/markdown"}),a=URL.createObjectURL(e),n=document.createElement("a");n.href=a,n.download=`markdown-${Date.now()}.md`,n.click(),URL.revokeObjectURL(a),t("文件已导出")}async function O(){try{await n(h.value),t("内容已复制到剪贴板")}catch{a("复制失败")}}function U(e){const t=e.target,a=t.files?.[0];a&&j(a)}function j(e){if(!e.type.startsWith("image/"))return void a("请选择图片文件");const n=new FileReader;n.onload=a=>{const n=a.target?.result;C(`![${e.name.replace(/\.[^/.]+$/,"")}](${n})`),t("图片已插入")},n.onerror=()=>{a("图片读取失败")},n.readAsDataURL(e)}function L(e){const t=e.clipboardData?.items;if(t)for(let a=0;a{_(),document.addEventListener("click",P)}),ln(()=>{document.removeEventListener("click",P)}),pa(h,()=>{_()},{immediate:!0}),nn(()=>{h.value=w.value,k()}),(e,a)=>(Cr(),Tr("div",q9,[Or(hl,{title:l.value,onBack:a[0]||(a[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"copy",tooltip:"复制Markdown",onClick:O}),Or(jl,{icon:"download",tooltip:"下载Markdown",onClick:M}),Or(jl,{icon:"clear",tooltip:"清空内容",onClick:B})]),_:1},8,["title"]),Mr("div",Z9,[Mr("div",X9,[Mr("div",Q9,[Mr("div",eee,[a[76]||(a[76]=Mr("span",null,"编辑",-1)),Mr("div",tee,[Mr("button",{onClick:a[1]||(a[1]=e=>C("**","**")),title:"粗体",class:"toolbar-btn"},[...a[49]||(a[49]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},[Mr("path",{d:"M6 4h8a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"}),Mr("path",{d:"M6 12h9a4 4 0 0 1 4 4 4 4 0 0 1-4 4H6z"})],-1)])]),Mr("button",{onClick:a[2]||(a[2]=e=>C("*","*")),title:"斜体",class:"toolbar-btn"},[...a[50]||(a[50]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"currentColor"},[Mr("polygon",{points:"10,4 14,4 8,20 4,20"})],-1)])]),Mr("button",{onClick:a[3]||(a[3]=e=>C("~~","~~")),title:"删除线",class:"toolbar-btn"},[...a[51]||(a[51]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M16 4H9a3 3 0 0 0-2.83 4"}),Mr("path",{d:"M14 12a4 4 0 0 1 0 8H6"}),Mr("line",{x1:"4",y1:"12",x2:"20",y2:"12"})],-1)])]),Mr("button",{onClick:a[4]||(a[4]=e=>C("`","`")),title:"行内代码",class:"toolbar-btn"},[...a[52]||(a[52]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1)])]),a[71]||(a[71]=Mr("div",{class:"toolbar-divider"},null,-1)),Mr("button",{onClick:a[5]||(a[5]=e=>F(1)),title:"标题 1",class:"toolbar-btn"},"H1"),Mr("button",{onClick:a[6]||(a[6]=e=>F(2)),title:"标题 2",class:"toolbar-btn"},"H2"),Mr("button",{onClick:a[7]||(a[7]=e=>F(3)),title:"标题 3",class:"toolbar-btn"},"H3"),a[72]||(a[72]=Mr("div",{class:"toolbar-divider"},null,-1)),Mr("button",{onClick:a[8]||(a[8]=e=>D("- ")),title:"无序列表",class:"toolbar-btn"},[...a[53]||(a[53]=[Lr('',1)])]),Mr("button",{onClick:a[9]||(a[9]=e=>D("1. ")),title:"有序列表",class:"toolbar-btn"},[...a[54]||(a[54]=[Lr('',1)])]),Mr("button",{onClick:a[10]||(a[10]=e=>{D("> ")}),title:"引用",class:"toolbar-btn"},[...a[55]||(a[55]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M3 21c3 0 7-1 7-8V5c0-1.25-.756-2.017-2-2H4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2 1 0 1 0 1 1v1c0 1-1 2-2 2s-1 .008-1 1.031V20c0 1 0 1 1 1z"}),Mr("path",{d:"M15 21c3 0 7-1 7-8V5c0-1.25-.757-2.017-2-2h-4c-1.25 0-2 .75-2 1.972V11c0 1.25.75 2 2 2h.75c0 2.25.25 4-2.75 4v3c0 1 0 1 1 1z"})],-1)])]),a[73]||(a[73]=Mr("div",{class:"toolbar-divider"},null,-1)),Mr("button",{onClick:a[11]||(a[11]=e=>A()),title:"链接",class:"toolbar-btn"},[...a[56]||(a[56]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M10 13a5 5 0 0 0 7.54.54l3-3a5 5 0 0 0-7.07-7.07l-1.72 1.72"}),Mr("path",{d:"M14 11a5 5 0 0 0-7.54-.54l-3 3a5 5 0 0 0 7.07 7.07l1.72-1.72"})],-1)])]),Mr("button",{onClick:a[12]||(a[12]=e=>{u.value?.click()}),title:"插入图片",class:"toolbar-btn"},[...a[57]||(a[57]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),Mr("circle",{cx:"9",cy:"9",r:"2"}),Mr("path",{d:"m21 15-3.086-3.086a2 2 0 0 0-2.828 0L6 21"})],-1)])]),Mr("div",aee,[Mr("button",{onClick:a[13]||(a[13]=e=>(f.value=!f.value,void(f.value&&(m.value=1,g.value=1)))),title:"表格",class:Q(["toolbar-btn",{active:f.value}])},[...a[58]||(a[58]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"})],-1)])],2),f.value?(Cr(),Tr("div",nee,[Mr("div",ree,[Mr("div",see,[(Cr(),Tr(br,null,yn(6,e=>Mr("div",{key:e,class:"table-row"},[(Cr(),Tr(br,null,yn(8,t=>Mr("div",{key:t,class:Q(["table-cell",{active:e<=m.value&&t<=g.value}]),onMouseenter:a=>{m.value=e,g.value=t},onClick:a=>function(e=3,t=3){let a="\n";a+=`| ${Array.from({length:t},(e,t)=>`列${t+1}`).join(" | ")} |\n`,a+=`| ${Array.from({length:t},()=>"-----").join(" | ")} |\n`;for(let n=1;n<=e-1;n++)a+=`| ${Array.from({length:t},(e,t)=>`数据${n}-${t+1}`).join(" | ")} |\n`;a+="\n",C(a),f.value=!1}(e,t)},null,42,iee)),64))])),64))]),Mr("div",oee,se(m.value)+" × "+se(g.value)+" 表格",1)])])):Rr("",!0)]),Mr("button",{onClick:a[14]||(a[14]=e=>function(){const e=c.value;if(!e)return;const t=e.selectionStart,a=h.value.lastIndexOf("\n",t-1)+1,n="[TOC]\n\n";h.value=h.value.substring(0,a)+n+h.value.substring(a),setTimeout(()=>{e.setSelectionRange(t+7,t+7),e.focus()})}()),title:"插入目录",class:"toolbar-btn"},[...a[59]||(a[59]=[Lr('',1)])]),Mr("div",lee,[Mr("button",{onClick:a[15]||(a[15]=e=>{y.value=!y.value}),title:"代码块",class:Q(["toolbar-btn",{active:y.value}])},[...a[60]||(a[60]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"16,18 22,12 16,6"}),Mr("polyline",{points:"8,6 2,12 8,18"})],-1)])],2),y.value?(Cr(),Tr("div",cee,[Mr("div",{class:"code-lang-item",onClick:a[16]||(a[16]=e=>T("javascript"))},"JavaScript"),Mr("div",{class:"code-lang-item",onClick:a[17]||(a[17]=e=>T("python"))},"Python"),Mr("div",{class:"code-lang-item",onClick:a[18]||(a[18]=e=>T("java"))},"Java"),Mr("div",{class:"code-lang-item",onClick:a[19]||(a[19]=e=>T("cpp"))},"C++"),Mr("div",{class:"code-lang-item",onClick:a[20]||(a[20]=e=>T("csharp"))},"C#"),Mr("div",{class:"code-lang-item",onClick:a[21]||(a[21]=e=>T("php"))},"PHP"),Mr("div",{class:"code-lang-item",onClick:a[22]||(a[22]=e=>T("go"))},"Go"),Mr("div",{class:"code-lang-item",onClick:a[23]||(a[23]=e=>T("rust"))},"Rust"),Mr("div",{class:"code-lang-item",onClick:a[24]||(a[24]=e=>T("html"))},"HTML"),Mr("div",{class:"code-lang-item",onClick:a[25]||(a[25]=e=>T("css"))},"CSS"),Mr("div",{class:"code-lang-item",onClick:a[26]||(a[26]=e=>T("sql"))},"SQL"),Mr("div",{class:"code-lang-item",onClick:a[27]||(a[27]=e=>T("json"))},"JSON"),Mr("div",{class:"code-lang-item",onClick:a[28]||(a[28]=e=>T("yaml"))},"YAML"),Mr("div",{class:"code-lang-item",onClick:a[29]||(a[29]=e=>T("bash"))},"Bash"),Mr("div",{class:"code-lang-item",onClick:a[30]||(a[30]=e=>T("powershell"))},"PowerShell"),Mr("div",{class:"code-lang-item",onClick:a[31]||(a[31]=e=>T("dockerfile"))},"Dockerfile"),Mr("div",{class:"code-lang-item",onClick:a[32]||(a[32]=e=>T("swift"))},"Swift"),Mr("div",{class:"code-lang-item",onClick:a[33]||(a[33]=e=>T("kotlin"))},"Kotlin"),Mr("div",{class:"code-lang-item",onClick:a[34]||(a[34]=e=>T("dart"))},"Dart"),Mr("div",{class:"code-lang-item",onClick:a[35]||(a[35]=e=>T("markdown"))},"Markdown"),Mr("div",{class:"code-lang-item",onClick:a[36]||(a[36]=e=>T("xml"))},"XML"),Mr("div",{class:"code-lang-item",onClick:a[37]||(a[37]=e=>T(""))},"纯文本")])):Rr("",!0)]),Mr("button",{onClick:a[38]||(a[38]=e=>{C("\n---\n")}),title:"分割线",class:"toolbar-btn"},[...a[61]||(a[61]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"3",y1:"12",x2:"21",y2:"12"})],-1)])]),Mr("div",uee,[Mr("button",{onClick:a[39]||(a[39]=e=>{v.value=!v.value}),title:"插入日期时间",class:Q(["toolbar-btn",{active:v.value}])},[...a[62]||(a[62]=[Lr('',1)])],2),v.value?(Cr(),Tr("div",dee,[Mr("div",{class:"datetime-item",onClick:a[40]||(a[40]=e=>I("date"))},[a[63]||(a[63]=Mr("span",{class:"datetime-label"},"日期",-1)),Mr("span",hee,se(S("date")),1)]),Mr("div",{class:"datetime-item",onClick:a[41]||(a[41]=e=>I("time"))},[a[64]||(a[64]=Mr("span",{class:"datetime-label"},"时间",-1)),Mr("span",pee,se(S("time")),1)]),Mr("div",{class:"datetime-item",onClick:a[42]||(a[42]=e=>I("datetime"))},[a[65]||(a[65]=Mr("span",{class:"datetime-label"},"日期时间",-1)),Mr("span",fee,se(S("datetime")),1)]),Mr("div",{class:"datetime-item",onClick:a[43]||(a[43]=e=>I("iso"))},[a[66]||(a[66]=Mr("span",{class:"datetime-label"},"ISO 格式",-1)),Mr("span",mee,se(S("iso")),1)]),Mr("div",{class:"datetime-item",onClick:a[44]||(a[44]=e=>I("timestamp"))},[a[67]||(a[67]=Mr("span",{class:"datetime-label"},"时间戳",-1)),Mr("span",gee,se(S("timestamp")),1)])])):Rr("",!0)]),Mr("div",yee,[Mr("button",{onClick:a[45]||(a[45]=e=>{p.value=!p.value}),title:"表情",class:Q(["toolbar-btn",{active:p.value}])},[...a[68]||(a[68]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("path",{d:"m9 9 1.5 1.5L12 9l1.5 1.5L15 9"}),Mr("path",{d:"M8 15s1.5 2 4 2 4-2 4-2"})],-1)])],2),p.value?(Cr(),Tr("div",vee,[Mr("div",bee,[(Cr(!0),Tr(br,null,yn(Nt(o),e=>(Cr(),Tr("button",{key:e.key,onClick:t=>Nt(i)(e.key),class:Q([{active:Nt(r)===e.key},"emoji-category-btn"]),title:e.name},se(e.icon),11,wee))),128))]),Mr("div",xee,[(Cr(!0),Tr(br,null,yn(Nt(s),e=>(Cr(),Tr("button",{key:e.code,onClick:t=>function(e){C(e),p.value=!1}(e.symbol),class:"emoji-item",title:e.name},se(e.symbol),9,kee))),128))])])):Rr("",!0)]),a[74]||(a[74]=Mr("div",{class:"toolbar-divider"},null,-1)),Mr("button",{onClick:a[46]||(a[46]=e=>(b.value=!b.value,void t(b.value?"预览已开启":"预览已关闭"))),title:b.value?"关闭预览":"开启预览",class:Q(["toolbar-btn preview-toggle",{active:b.value}])},[b.value?(Cr(),Tr("svg",Eee,[...a[69]||(a[69]=[Mr("path",{d:"M1 12s4-8 11-8 11 8 11 8-4 8-11 8-11-8-11-8z"},null,-1),Mr("circle",{cx:"12",cy:"12",r:"3"},null,-1)])])):(Cr(),Tr("svg",Cee,[...a[70]||(a[70]=[Mr("path",{d:"M17.94 17.94A10.07 10.07 0 0 1 12 20c-7 0-11-8-11-8a18.45 18.45 0 0 1 5.06-5.94M9.9 4.24A9.12 9.12 0 0 1 12 4c7 0 11 8 11 8a18.5 18.5 0 0 1-2.16 3.19m-6.72-1.07a3 3 0 1 1-4.24-4.24"},null,-1),Mr("line",{x1:"1",y1:"1",x2:"23",y2:"23"},null,-1)])]))],10,_ee)]),Mr("div",Fee,[Mr("button",{class:"sample-btn",onClick:a[47]||(a[47]=e=>(h.value=w.value,void t("示例数据已插入"))),title:"插入示例数据"},[...a[75]||(a[75]=[Lr(' 示例数据 ',2)])])])]),Mr("div",Dee,[Mr("div",{class:"line-numbers",ref_key:"lineNumbersRef",ref:d},null,512),ca(Mr("textarea",{ref_key:"editorRef",ref:c,"onUpdate:modelValue":a[48]||(a[48]=e=>h.value=e),class:"editor-textarea",placeholder:"在这里输入 Markdown 内容...",onInput:k,onKeydown:N,onPaste:L,onScroll:E}," ",544),[[bi,h.value]])])]),b.value?(Cr(),Tr("div",Aee,[a[77]||(a[77]=Mr("div",{class:"pane-header"},[Mr("span",null,"预览"),Mr("div",{class:"preview-toolbar"},[Mr("span",{class:"preview-info"},"实时预览")])],-1)),Mr("div",{class:"preview-content",innerHTML:x.value},null,8,Tee)])):Rr("",!0)])]),Mr("input",{ref_key:"imageInput",ref:u,type:"file",accept:"image/*",onChange:U,style:{display:"none"}},null,544)]))}}),Iee=Wi(See,[["__scopeId","data-v-e0f0e04b"]]);function Nee(){const e=St(!1);let t=null;const a=async a=>{try{"wakeLock"in navigator&&!t?(t=await navigator.wakeLock.request("screen"),e.value=!0,console.log("防息屏已启用"),a?.("已启用防息屏功能","success"),t.addEventListener("release",()=>{console.log("防息屏已自动释放"),e.value=!1,t=null})):"wakeLock"in navigator||(console.log("浏览器不支持 Wake Lock API"),a?.("浏览器不支持防息屏功能","error"))}catch(n){console.error("防息屏启用失败:",n),a?.("防息屏功能启用失败","error"),e.value=!1,t=null}},n=a=>{t&&(t.release(),t=null,e.value=!1,console.log("防息屏已释放"),a?.("已关闭防息屏功能","success"))};return{isWakeLockActive:e,requestWakeLock:a,releaseWakeLock:n,toggleWakeLock:async t=>{e.value?n(t):await a(t)},isWakeLockSupported:()=>"wakeLock"in navigator}}const Pee={class:"formatter-actions"},Bee={class:"converter-content"},Mee={key:0,class:"control-panel"},Oee={class:"control-group"},Uee={class:"speed-value"},jee={class:"control-group"},Lee={class:"font-value"},Ree={class:"control-group"},zee={class:"control-group"},Hee={class:"control-group"},$ee={class:"font-value"},Yee={class:"control-group"},Gee={key:1,class:"text-input-area"},Wee={key:0,class:"focus-overlay-local"},Vee=["innerHTML"],Kee={key:1,class:"fullscreen-controls"},Jee=["title"],qee={key:0,width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Zee={key:1,width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},Xee=["title"],Qee=["title"],ete=$a({__name:"Teleprompter",emits:["back"],setup(e){il("teleprompter");const{requestWakeLock:t,releaseWakeLock:a}=Nee(),{success:n,error:r}=Vo(),s=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"teleprompter"===e.id);if(t)return t.title}return"在线提词器"}),i=St(!1),o=St(!1),l=St(!1),c=St(!1),u=St(3),d=St(32),h=St("#ffffff"),p=St("#000000"),f=St(0),m=St(1),g=St(""),y=St(),v=St(),b=St(null),w=is(()=>g.value?g.value.split("\n").map(e=>e.trim()).filter(e=>e.length>0).map(e=>`

    ${e}

    `).join(""):"

    请输入文本内容

    "),x=is(()=>1.8*d.value*m.value),k=St(0),_=is(()=>{const e=k.value||y.value?.clientHeight||0;if(0===e)return 0;return(e-x.value)/2+x.value/2-.8*d.value}),E=()=>{b.value&&(clearInterval(b.value),b.value=null)},C=()=>{o.value=!o.value,o.value?(b.value||(b.value=window.setInterval(()=>{if(f.value-=u.value,y.value){const e=(y.value.clientHeight-x.value)/2,t=y.value.querySelector(".scrolling-text"),r=t?t.scrollHeight:0;_.value+f.value+r{E(),o.value=!1,f.value=0,n("重置位置")},D=()=>{l.value=!l.value,n((l.value?"开启":"关闭")+"水平镜像")},A=()=>{c.value=!c.value,n((c.value?"开启":"关闭")+"垂直反转")},T=async()=>{try{i.value?(document.fullscreenElement&&await document.exitFullscreen(),i.value=!1,n("已退出全屏模式")):(await document.documentElement.requestFullscreen(),i.value=!0,n("进入全屏模式,按ESC退出"))}catch(e){i.value=!i.value,i.value?n("进入全屏模式,双击退出"):n("已退出全屏模式")}},S=e=>{u.value=Math.max(1,Math.min(10,u.value+e)),n(`滚动速度: ${u.value}`)},I=async()=>{if(g.value)try{await navigator.clipboard.writeText(g.value),n("文本已复制到剪贴板")}catch(e){try{const e=document.createElement("textarea");e.value=g.value,e.style.position="fixed",e.style.left="-999999px",e.style.top="-999999px",document.body.appendChild(e),e.focus(),e.select();const t=document.execCommand("copy");document.body.removeChild(e),t?n("文本已复制到剪贴板"):r("复制失败,请手动复制")}catch(t){r("复制失败,请手动复制")}}else r("没有可复制的内容")},N=()=>{g.value="",F(),n("文本已清空")},P=()=>{g.value="欢迎使用在线提词器!\n\n这是一个专业的提词器工具,适用于:\n• 演讲和发言\n• 视频录制\n• 直播主持\n• 新闻播报\n\n主要功能:\n• 可调节滚动速度\n• 支持全屏显示\n• 镜像显示功能\n• 自定义字体大小和颜色\n• 支持文本文件导入\n\n使用方法:\n1. 输入或导入您的文本内容\n2. 调整字体大小和颜色\n3. 点击播放按钮开始滚动\n4. 双击进入全屏模式\n\n祝您使用愉快!",F(),n("示例文本已加载")},B=e=>{const t=e.target.files?.[0];if(!t)return;if("text/plain"!==t.type)return void r("请选择文本文件(.txt)");const a=new FileReader;a.onload=e=>{g.value=e.target?.result,F(),n("文件导入成功")},a.onerror=()=>{r("文件读取失败")},a.readAsText(t,"UTF-8")},M=e=>{"Space"===e.code?(e.preventDefault(),C()):"Escape"===e.code?(e.preventDefault(),document.fullscreenElement?document.exitFullscreen():i.value&&(i.value=!1)):"KeyR"===e.code?(e.preventDefault(),F()):"KeyF"===e.code||"F11"===e.code?(e.preventDefault(),T()):"ArrowUp"===e.code?(e.preventDefault(),u.value=Math.min(10,u.value+1)):"ArrowDown"===e.code?(e.preventDefault(),u.value=Math.max(1,u.value-1)):"ArrowRight"===e.code?(e.preventDefault(),d.value=Math.min(80,d.value+2),n(`字体大小: ${d.value}px`)):"ArrowLeft"===e.code?(e.preventDefault(),d.value=Math.max(24,d.value-2),n(`字体大小: ${d.value}px`)):"Equal"===e.code||"NumpadAdd"===e.code?(e.preventDefault(),m.value=Math.min(5,m.value+1),n(`聚焦行数: ${m.value}行`)):"Minus"===e.code||"NumpadSubtract"===e.code?(e.preventDefault(),m.value=Math.max(1,m.value-1),n(`聚焦行数: ${m.value}行`)):"KeyH"===e.code?(e.preventDefault(),D()):"KeyM"===e.code&&(e.preventDefault(),A())},O=()=>{i.value=!!document.fullscreenElement,setTimeout(()=>{f.value=0},150)};pa([d,m],()=>{f.value=0});const U=()=>{setTimeout(()=>{f.value=0},100)};return nn(()=>{document.addEventListener("keydown",M),document.addEventListener("fullscreenchange",O),window.addEventListener("resize",U),Zt(()=>{if(y.value){k.value=y.value.clientHeight;const e=new ResizeObserver(e=>{for(let t of e){const e=t.contentRect.height;k.value=e,f.value=0}});e.observe(y.value),y.value._resizeObserver=e}}),n("提词器已就绪,空格播放,方向键调节")}),ln(()=>{E(),a(),document.removeEventListener("keydown",M),document.removeEventListener("fullscreenchange",O),window.removeEventListener("resize",U),y.value&&y.value._resizeObserver&&y.value._resizeObserver.disconnect()}),(e,t)=>(Cr(),Tr("div",{class:Q(["teleprompter",{fullscreen:i.value}])},[i.value?Rr("",!0):(Cr(),Sr(hl,{key:0,title:s.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Mr("div",Pee,[Or(jl,{icon:o.value?"pause":"play",tooltip:o.value?"暂停滚动":"开始播放(自动全屏)",onClick:C},null,8,["icon","tooltip"]),Or(jl,{icon:"reset",tooltip:"重置位置",onClick:F}),Or(jl,{icon:"fullscreen",tooltip:"全屏显示",onClick:T}),Or(jl,{icon:"mirror",tooltip:l.value?"取消水平镜像":"水平镜像显示",onClick:D},null,8,["tooltip"]),Or(jl,{icon:"flip",tooltip:c.value?"取消垂直反转":"垂直反转显示",onClick:A},null,8,["tooltip"]),Or(jl,{icon:"copy",tooltip:"复制文本内容",onClick:I,disabled:!g.value},null,8,["disabled"]),Or(jl,{icon:"clear",tooltip:"清空文本",onClick:N})])]),_:1},8,["title"])),Mr("div",Bee,[i.value?Rr("",!0):(Cr(),Tr("div",Mee,[Mr("div",Oee,[t[10]||(t[10]=Mr("label",null,"滚动速度",-1)),ca(Mr("input",{type:"range","onUpdate:modelValue":t[1]||(t[1]=e=>u.value=e),min:"1",max:"10",step:"1",class:"speed-slider"},null,512),[[bi,u.value]]),Mr("span",Uee,se(u.value),1)]),Mr("div",jee,[t[11]||(t[11]=Mr("label",null,"字体大小",-1)),ca(Mr("input",{type:"range","onUpdate:modelValue":t[2]||(t[2]=e=>d.value=e),min:"16",max:"72",step:"2",class:"font-slider"},null,512),[[bi,d.value]]),Mr("span",Lee,se(d.value)+"px",1)]),Mr("div",Ree,[t[12]||(t[12]=Mr("label",null,"文本颜色",-1)),ca(Mr("input",{type:"color","onUpdate:modelValue":t[3]||(t[3]=e=>h.value=e),class:"color-picker"},null,512),[[bi,h.value]])]),Mr("div",zee,[t[13]||(t[13]=Mr("label",null,"背景颜色",-1)),ca(Mr("input",{type:"color","onUpdate:modelValue":t[4]||(t[4]=e=>p.value=e),class:"color-picker"},null,512),[[bi,p.value]])]),Mr("div",Hee,[t[14]||(t[14]=Mr("label",null,"聚焦行数",-1)),ca(Mr("input",{type:"range","onUpdate:modelValue":t[5]||(t[5]=e=>m.value=e),min:"1",max:"5",step:"1",class:"font-slider"},null,512),[[bi,m.value]]),Mr("span",$ee,se(m.value)+"行",1)]),Mr("div",Yee,[Mr("button",{onClick:P,class:"control-action-btn"},"示例文本"),Mr("input",{type:"file",onChange:B,accept:".txt",ref_key:"fileInput",ref:v,style:{display:"none"}},null,544),Mr("button",{onClick:t[6]||(t[6]=e=>v.value?.click()),class:"control-action-btn"},"导入文件")])])),i.value?Rr("",!0):(Cr(),Tr("div",Gee,[ca(Mr("textarea",{"onUpdate:modelValue":t[7]||(t[7]=e=>g.value=e),placeholder:"请输入您的演讲稿或台词内容...",class:"script-textarea",rows:"8"},null,512),[[bi,g.value]])])),Mr("div",{class:Q(["teleprompter-display",{mirrored:l.value,"vertical-flipped":c.value}]),style:K({fontSize:d.value+"px",color:h.value,backgroundColor:p.value}),ref_key:"displayArea",ref:y,onDblclick:T},[g.value?(Cr(),Tr("div",Wee,[t[15]||(t[15]=Mr("div",{class:"overlay-top"},null,-1)),Mr("div",{class:"reading-zone",style:K({height:x.value+"px"})},null,4),t[16]||(t[16]=Mr("div",{class:"overlay-bottom"},null,-1))])):Rr("",!0),Mr("div",{class:Q(["scrolling-text",{playing:o.value}]),style:K({transform:`translateY(${_.value+f.value}px)`})},[Mr("div",{class:"text-content",innerHTML:w.value},null,8,Vee),t[17]||(t[17]=Mr("div",{class:"text-end"},"— 结束 —",-1))],6)],38)]),i.value?(Cr(),Tr("div",Kee,[Mr("button",{onClick:C,class:"fs-control-btn",title:o.value?"暂停":"播放"},[o.value?(Cr(),Tr("svg",Zee,[...t[19]||(t[19]=[Mr("rect",{x:"6",y:"4",width:"4",height:"16"},null,-1),Mr("rect",{x:"14",y:"4",width:"4",height:"16"},null,-1)])])):(Cr(),Tr("svg",qee,[...t[18]||(t[18]=[Mr("polygon",{points:"5,3 19,12 5,21"},null,-1)])]))],8,Jee),Mr("button",{onClick:F,class:"fs-control-btn",title:"重置"},[...t[20]||(t[20]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8"}),Mr("path",{d:"M21 3v5h-5"})],-1)])]),Mr("button",{onClick:D,class:Q(["fs-control-btn",{active:l.value}]),title:l.value?"关闭水平镜像":"开启水平镜像"},[...t[21]||(t[21]=[Lr('',1)])],10,Xee),Mr("button",{onClick:A,class:Q(["fs-control-btn",{active:c.value}]),title:c.value?"关闭垂直反转":"开启垂直反转"},[...t[22]||(t[22]=[Lr('',1)])],10,Qee),Mr("button",{onClick:t[8]||(t[8]=e=>S(-1)),class:"fs-control-btn",title:"减慢速度"},[...t[23]||(t[23]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("line",{x1:"8",y1:"12",x2:"16",y2:"12"})],-1)])]),Mr("button",{onClick:t[9]||(t[9]=e=>S(1)),class:"fs-control-btn",title:"加快速度"},[...t[24]||(t[24]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("circle",{cx:"12",cy:"12",r:"10"}),Mr("line",{x1:"12",y1:"8",x2:"12",y2:"16"}),Mr("line",{x1:"8",y1:"12",x2:"16",y2:"12"})],-1)])]),Mr("button",{onClick:T,class:"fs-control-btn",title:"退出全屏"},[...t[25]||(t[25]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"})],-1)])])])):Rr("",!0)],2))}}),tte=Wi(ete,[["__scopeId","data-v-825672ef"]]),ate={class:"converter-content"},nte={class:"main-content-area"},rte={key:0,class:"test-controls"},ste={class:"controls-container"},ite={class:"control-panel"},ote={class:"manual-selector"},lte=["disabled"],cte={class:"manual-buttons"},ute=["disabled"],dte=["disabled"],hte={class:"test-hints"},pte={class:"hint-section"},fte={key:0},mte={key:1},gte={key:2},yte={key:3},vte={key:4},bte={key:5},wte={key:6},xte={key:7},kte={key:8},_te={key:9},Ete={key:10},Cte={key:11},Fte={key:12},Dte={key:13},Ate={key:14},Tte={key:15},Ste={key:16},Ite={key:17},Nte={key:18},Pte={key:19},Bte={key:20},Mte={class:"control-panel"},Ote={class:"auto-test-config"},Ute={class:"suite-selection"},jte=["value"],Lte={class:"duration-setting"},Rte={class:"auto-buttons"},zte=["disabled"],Hte={key:0,class:"auto-test-status"},$te={class:"status-info"},Yte={class:"progress-info"},Gte={class:"countdown-info"},Wte={key:0,class:"solid-color-test"},Vte={key:1,class:"dead-pixel-test"},Kte={key:0,class:"pixel-test-overlay"},Jte={class:"pixel-test-grid"},qte={key:2,class:"gradient-test"},Zte={key:3,class:"grid-test"},Xte={key:4,class:"convergence-test"},Qte={key:5,class:"color-bars-test"},eae={key:7,class:"saturation-test"},tae={class:"saturation-bars"},aae={key:8,class:"micro-pattern-test"},nae={class:"pattern-display"},rae={key:0,class:"micro-grid-1px"},sae={key:1,class:"micro-grid-2px"},iae={key:2,class:"micro-lines"},oae={key:3,class:"micro-checkerboard"},lae={class:"pattern-counter"},cae={key:9,class:"geometry-test"},uae={key:10,class:"brightness-test"},dae={class:"brightness-levels"},hae={key:11,class:"contrast-test-professional"},pae={class:"gray-scale-grid"},fae={class:"gray-row"},mae={class:"percentage"},gae={class:"rgb-value"},yae={class:"gray-row"},vae={class:"percentage"},bae={class:"rgb-value"},wae={class:"gray-row"},xae={class:"percentage"},kae={class:"rgb-value"},_ae={class:"gray-row"},Eae={class:"percentage"},Cae={class:"rgb-value"},Fae={key:1,class:"fullscreen-controls"},Dae={class:"test-info-fs"},Aae={class:"test-name"},Tae={key:0,class:"auto-progress"},Sae={key:1,class:"pattern-info"},Iae={key:2,class:"pattern-info"},Nae={key:3,class:"pattern-info"},Pae={key:4,class:"pattern-info"},Bae={key:5,class:"pattern-info"},Mae={key:6,class:"pattern-info"},Oae={key:7,class:"pattern-info"},Uae={key:8,class:"pattern-info"},jae=$a({__name:"ScreenTest",emits:["back"],setup(e){il("screen-test");const{requestWakeLock:t,releaseWakeLock:a}=Nee(),{success:n}=Vo(),r=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"screen-test"===e.id);if(t)return t.title}return"屏幕测试"}),s=St(!1),i=St("solid-colors"),o=St("#000000"),l=St("horizontal"),c=St(20),u=St(16),d=St("red"),h=St(!1),p=St("#000000"),f=St("dark"),m=St(0),g=St(2);let y=null;const v=St({light:{row1:[{percent:64.63,rgb:165},{percent:71.76,rgb:183},{percent:74.9,rgb:191},{percent:78.04,rgb:199},{percent:81.18,rgb:207},{percent:84.31,rgb:215},{percent:87.45,rgb:223},{percent:90.59,rgb:231},{percent:93.73,rgb:239},{percent:96.86,rgb:247}],row2:[{percent:54.51,rgb:139},{percent:58.82,rgb:150},{percent:61.96,rgb:158},{percent:65.1,rgb:166},{percent:68.24,rgb:174},{percent:71.37,rgb:182},{percent:74.51,rgb:190},{percent:77.65,rgb:198},{percent:80.78,rgb:206},{percent:83.92,rgb:214}],row3:[{percent:42.16,rgb:107},{percent:46.27,rgb:118},{percent:49.41,rgb:126},{percent:52.55,rgb:134},{percent:55.69,rgb:142},{percent:58.82,rgb:150},{percent:61.96,rgb:158},{percent:65.1,rgb:166},{percent:68.24,rgb:174},{percent:71.37,rgb:182}],row4:[{percent:26.08,rgb:66},{percent:30.2,rgb:77},{percent:33.33,rgb:85},{percent:36.47,rgb:93},{percent:39.61,rgb:101},{percent:42.75,rgb:109},{percent:45.88,rgb:117},{percent:49.02,rgb:125},{percent:52.16,rgb:133},{percent:55.29,rgb:141}]},dark:{row1:[{percent:.39,rgb:1},{percent:.78,rgb:2},{percent:1.18,rgb:3},{percent:1.57,rgb:4},{percent:1.96,rgb:5},{percent:2.35,rgb:6},{percent:2.75,rgb:7},{percent:3.14,rgb:8},{percent:3.53,rgb:9},{percent:3.92,rgb:10}],row2:[{percent:.78,rgb:2},{percent:1.57,rgb:4},{percent:2.35,rgb:6},{percent:3.14,rgb:8},{percent:3.92,rgb:10},{percent:4.71,rgb:12},{percent:5.49,rgb:14},{percent:6.27,rgb:16},{percent:7.06,rgb:18},{percent:7.84,rgb:20}],row3:[{percent:1.57,rgb:4},{percent:3.14,rgb:8},{percent:4.71,rgb:12},{percent:6.27,rgb:16},{percent:7.84,rgb:20},{percent:9.41,rgb:24},{percent:10.98,rgb:28},{percent:12.55,rgb:32},{percent:14.12,rgb:36},{percent:15.69,rgb:40}],row4:[{percent:3.14,rgb:8},{percent:6.27,rgb:16},{percent:9.41,rgb:24},{percent:12.55,rgb:32},{percent:15.69,rgb:40},{percent:18.82,rgb:48},{percent:21.96,rgb:56},{percent:25.1,rgb:64},{percent:28.24,rgb:72},{percent:31.37,rgb:80}]}}),b=St(!1),w=St(0),x=St(3),k=St(null),_=St(0),E={basic:{name:"基础测试",description:"快速检测屏幕基本功能",tests:["solid-colors","dead-pixel","grid","text"],duration:2},comprehensive:{name:"全面测试",description:"完整的屏幕质量检测",tests:["solid-colors","dead-pixel","grid","horizontal-lines","vertical-lines","diagonal-lines","dot-matrix","checkerboard","brightness-test","contrast-test","color-gradient","convergence-test","text"],duration:3},professional:{name:"专业测试",description:"专业级屏幕测试套件",tests:["solid-colors","dead-pixel","grid","horizontal-lines","vertical-lines","diagonal-lines","dot-matrix","checkerboard","pixel-alignment","brightness-test","contrast-test","color-gradient","saturation-test","stability-test","convergence-test","micro-pattern","text","geometry"],duration:4},quick:{name:"快速检测",description:"30秒快速屏幕检测",tests:["solid-colors","dead-pixel","grid","text"],duration:1}},C=St("basic"),F=["solid-colors","gradient","dead-pixel","grid","horizontal-lines","vertical-lines","diagonal-lines","dot-matrix","checkerboard","pixel-alignment","brightness-test","contrast-test","color-gradient","saturation-test","stability-test","convergence-test","micro-pattern","text","geometry","color-bars"],D=[{name:"黑色",value:"#000000"},{name:"白色",value:"#ffffff"},{name:"红色",value:"#ff0000"},{name:"绿色",value:"#00ff00"},{name:"蓝色",value:"#0000ff"},{name:"黄色",value:"#ffff00"},{name:"青色",value:"#00ffff"},{name:"洋红",value:"#ff00ff"},{name:"灰色",value:"#808080"}],A=[{name:"纯黑色",value:"#000000",purpose:"检测亮点"},{name:"纯白色",value:"#ffffff",purpose:"检测暗点"},{name:"纯红色",value:"#ff0000",purpose:"检测绿蓝坏点"},{name:"纯绿色",value:"#00ff00",purpose:"检测红蓝坏点"},{name:"纯蓝色",value:"#0000ff",purpose:"检测红绿坏点"},{name:"深灰色",value:"#404040",purpose:"检测亮点"},{name:"浅灰色",value:"#c0c0c0",purpose:"检测暗点"}],T=["#ffffff","#ffff00","#00ffff","#00ff00","#ff00ff","#ff0000","#0000ff","#000000"];let S=0;const I=e=>{const t=["#000000","#ffffff","#ff0000","#00ff00","#0000ff"];return t[e%t.length]},N=(e,t)=>({backgroundColor:{red:`hsl(0, ${t}%, 50%)`,green:`hsl(120, ${t}%, 50%)`,blue:`hsl(240, ${t}%, 50%)`,cyan:`hsl(180, ${t}%, 50%)`,magenta:`hsl(300, ${t}%, 50%)`,yellow:`hsl(60, ${t}%, 50%)`}[e]||"#000"}),P=()=>{const e=["#000000","#ff0000","#00ff00","#0000ff","#ffffff","#ffff00","#ff00ff"];let t=0;y=setInterval(()=>{p.value=e[t]||"#000000",t=(t+1)%e.length},200)},B=()=>{y&&(clearInterval(y),y=null),p.value="#000000"},M=()=>({"solid-colors":"纯色测试",gradient:"基础渐变","dead-pixel":"坏点测试",grid:"方形网格","horizontal-lines":"水平线测试","vertical-lines":"垂直线测试","diagonal-lines":"斜线测试","dot-matrix":"点阵测试",checkerboard:"棋盘测试","pixel-alignment":"像素对齐","brightness-test":"亮度测试","contrast-test":"对比度测试","color-gradient":"彩色渐变","saturation-test":"饱和度测试","stability-test":"闪烁测试","convergence-test":"彩色网格","micro-pattern":"微型图案",text:"文字清晰度",geometry:"几何图形","color-bars":"彩条测试"}[i.value]||"未知测试"),O=()=>{const e={};switch(i.value){case"solid-colors":case"dead-pixel":e.backgroundColor=o.value;break;case"gradient":switch(l.value){case"horizontal":e.background="linear-gradient(to right, #000000, #ffffff)";break;case"vertical":e.background="linear-gradient(to bottom, #000000, #ffffff)";break;case"radial":e.background="radial-gradient(circle, #000000, #ffffff)";break;case"rgb":e.background="linear-gradient(to right, #ff0000, #00ff00, #0000ff)"}break;case"grid":e.backgroundImage="\n linear-gradient(rgba(0,0,0,0.8) 1px, transparent 1px),\n linear-gradient(90deg, rgba(0,0,0,0.8) 1px, transparent 1px)\n ",e.backgroundSize=`${c.value}px ${c.value}px`,e.backgroundColor="#ffffff";break;case"horizontal-lines":e.backgroundImage="linear-gradient(rgba(0,0,0,0.8) 1px, transparent 1px)",e.backgroundSize=`100% ${c.value}px`,e.backgroundColor="#ffffff";break;case"vertical-lines":e.backgroundImage="linear-gradient(90deg, rgba(0,0,0,0.8) 1px, transparent 1px)",e.backgroundSize=`${c.value}px 100%`,e.backgroundColor="#ffffff";break;case"diagonal-lines":e.backgroundImage=`\n repeating-linear-gradient(45deg, \n rgba(0,0,0,0.8) 0px, \n rgba(0,0,0,0.8) 1px, \n transparent 1px, \n transparent ${c.value}px)\n `,e.backgroundColor="#ffffff";break;case"dot-matrix":e.backgroundImage="radial-gradient(circle, rgba(0,0,0,0.8) 1px, transparent 1px)",e.backgroundSize=`${c.value}px ${c.value}px`,e.backgroundColor="#ffffff";break;case"checkerboard":const t=c.value;e.backgroundImage="\n linear-gradient(45deg, #000 25%, transparent 25%),\n linear-gradient(-45deg, #000 25%, transparent 25%),\n linear-gradient(45deg, transparent 75%, #000 75%),\n linear-gradient(-45deg, transparent 75%, #000 75%)\n ",e.backgroundSize=`${t}px ${t}px`,e.backgroundPosition=`0 0, 0 ${t/2}px, ${t/2}px -${t/2}px, -${t/2}px 0px`,e.backgroundColor="#ffffff";break;case"pixel-alignment":e.backgroundImage=`\n linear-gradient(90deg, #000 1px, #fff 1px, #fff ${c.value-1}px, #000 ${c.value-1}px),\n linear-gradient(#000 1px, #fff 1px, #fff ${c.value-1}px, #000 ${c.value-1}px)\n `,e.backgroundSize=`${c.value}px ${c.value}px`,e.backgroundColor="#ffffff";break;case"brightness-test":case"saturation-test":case"geometry":default:e.backgroundColor="#f0f0f0";break;case"contrast-test":case"micro-pattern":e.backgroundColor="#ffffff";break;case"color-gradient":switch(d.value){case"red":e.background="linear-gradient(to right, #000000, #ff0000)";break;case"green":e.background="linear-gradient(to right, #000000, #00ff00)";break;case"blue":e.background="linear-gradient(to right, #000000, #0000ff)";break;case"white":e.background="linear-gradient(to right, #000000, #ffffff)";break;case"rainbow":e.background="linear-gradient(to right, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3)"}break;case"stability-test":e.backgroundColor=p.value;break;case"convergence-test":const a=4*g.value;e.backgroundImage=`\n linear-gradient(rgba(255,0,0,0.8) ${a}px, transparent ${a}px),\n linear-gradient(90deg, rgba(0,255,0,0.8) ${a}px, transparent ${a}px)\n `,e.backgroundSize=`${c.value*g.value}px ${c.value*g.value}px`,e.backgroundColor="#000000";break;case"text":e.backgroundColor="#ffffff",e.color="#000000";case"color-bars":}return e},U=()=>{"solid-colors"===i.value||"dead-pixel"===i.value?z():"gradient"===i.value?Y():"stability-test"===i.value?(h.value=!h.value,h.value?(console.log("Starting flicker test"),n("闪烁测试已开始"),P()):(console.log("Stopping flicker test"),n("闪烁测试已停止"),B())):"contrast-test"===i.value?j():"micro-pattern"===i.value?m.value=(m.value+1)%4:"color-gradient"===i.value?V():"convergence-test"===i.value&&(g.value=5===g.value?1:g.value+1)},j=()=>{f.value="dark"===f.value?"light":"dark"},L=()=>{const e=(F.indexOf(i.value)+1)%F.length;i.value=F[e]||"solid-colors",S=0,"dead-pixel"===i.value?o.value=A[0]?.value||"#000000":o.value=D[0]?.value||"#000000"},R=()=>{const e=F.indexOf(i.value),t=0===e?F.length-1:e-1;i.value=F[t]||"solid-colors",S=0,"dead-pixel"===i.value?o.value=A[0]?.value||"#000000":o.value=D[0]?.value||"#000000"},z=()=>{"solid-colors"===i.value?(S=(S+1)%D.length,o.value=D[S]?.value||"#000000"):"dead-pixel"===i.value&&(S=(S+1)%A.length,o.value=A[S]?.value||"#000000")},H=["horizontal","vertical","radial","rgb"];let $=0;const Y=()=>{$=($+1)%H.length,l.value=H[$]||"horizontal"},G=["red","green","blue","white","rainbow"];let W=0;const V=()=>{W=(W+1)%G.length,d.value=G[W]||"red"},J=async()=>{if(!b.value){b.value=!0,w.value=0;try{if(!E[C.value])return;document.fullscreenElement||(await document.documentElement.requestFullscreen(),s.value=!0,t())}catch(e){s.value=!0,t()}n(`开始${E[C.value]?.name||"测试"}`),Z()}},q=()=>{k.value&&(clearInterval(k.value),k.value=null),b.value=!1,w.value=0,_.value=0,n("自动测试已停止")},Z=()=>{const e=E[C.value];if(!e||w.value>=e.tests.length)return q(),void n("所有测试已完成!");i.value=e.tests[w.value]||"solid-colors",_.value=x.value,S=0,"dead-pixel"===i.value?o.value=A[0]?.value||"#000000":o.value=D[0]?.value||"#000000";const t=setInterval(()=>{if(_.value--,_.value<=0)if(clearInterval(t),w.value++,("solid-colors"===i.value||"dead-pixel"===i.value)&&S<("dead-pixel"===i.value?A.length-1:D.length-1)){z(),_.value=x.value;const e=setInterval(()=>{_.value--,_.value<=0&&(clearInterval(e),Z())},1e3)}else Z()},1e3)},X=async()=>{try{document.fullscreenElement?(await document.exitFullscreen(),s.value=!1,a()):(await document.documentElement.requestFullscreen(),s.value=!0,t(),n("全屏测试模式,点击切换测试,ESC退出"))}catch(e){s.value=!s.value,s.value?(t(),n("全屏测试模式,点击切换测试,ESC退出")):a()}},ee=()=>{const e=s.value;s.value=!!document.fullscreenElement,e&&!s.value&&a()},te=e=>{b.value?"Escape"===e.code&&(e.preventDefault(),q(),document.fullscreenElement?document.exitFullscreen():s.value&&(s.value=!1)):"Space"===e.code||"ArrowRight"===e.code?(e.preventDefault(),U()):"ArrowLeft"===e.code?(e.preventDefault(),"solid-colors"===i.value||"dead-pixel"===i.value?"solid-colors"===i.value?(S=0===S?D.length-1:S-1,o.value=D[S]?.value||"#000000"):"dead-pixel"===i.value&&(S=0===S?A.length-1:S-1,o.value=A[S]?.value||"#000000"):"gradient"===i.value?($=0===$?H.length-1:$-1,l.value=H[$]||"horizontal"):R()):"Escape"===e.code?(e.preventDefault(),document.fullscreenElement?document.exitFullscreen():s.value&&(s.value=!1)):"KeyF"===e.code||"F11"===e.code?(e.preventDefault(),X()):"KeyA"===e.code&&(e.preventDefault(),J())};return nn(()=>{document.addEventListener("keydown",te),document.addEventListener("fullscreenchange",ee),n("屏幕测试已就绪,空格键或点击切换测试")}),ln(()=>{document.removeEventListener("keydown",te),document.removeEventListener("fullscreenchange",ee),a(),B(),q()}),(e,t)=>(Cr(),Tr("div",{class:Q(["screen-test",{fullscreen:s.value}])},[s.value?Rr("",!0):(Cr(),Sr(hl,{key:0,title:r.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},{actions:la(()=>[Or(jl,{icon:"fullscreen",tooltip:"全屏测试",onClick:X})]),_:1},8,["title"])),Mr("div",ate,[Mr("div",nte,[s.value?Rr("",!0):(Cr(),Tr("div",rte,[Mr("div",ste,[Mr("div",ite,[t[53]||(t[53]=Mr("h4",null,"手动测试",-1)),Mr("div",ote,[ca(Mr("select",{"onUpdate:modelValue":t[1]||(t[1]=e=>i.value=e),class:"test-select",disabled:b.value},[...t[4]||(t[4]=[Lr('',4)])],8,lte),[[_i,i.value]])]),Mr("div",cte,[Mr("button",{onClick:R,disabled:b.value,class:"nav-button"}," ← 上一个 ",8,ute),Mr("button",{onClick:L,disabled:b.value,class:"nav-button"}," 下一个 → ",8,dte)]),Mr("div",hte,[Mr("div",pte,[Mr("strong",null,se(M())+":",1),"solid-colors"===i.value?(Cr(),Tr("p",fte,[t[5]||(t[5]=jr(" 检查屏幕颜色显示是否准确,点击屏幕切换颜色",-1)),t[6]||(t[6]=Mr("br",null,null,-1)),t[7]||(t[7]=Mr("br",null,null,-1)),Mr("strong",null,se(D.find(e=>e.value===o.value)?.name||"颜色"),1),t[8]||(t[8]=Mr("br",null,null,-1)),t[9]||(t[9]=Mr("br",null,null,-1)),t[10]||(t[10]=Mr("small",null,"点击右侧测试区域切换颜色",-1))])):"dead-pixel"===i.value?(Cr(),Tr("p",mte,[t[11]||(t[11]=jr(" 仔细观察屏幕上是否有亮点、暗点或彩点,点击屏幕切换检测颜色",-1)),t[12]||(t[12]=Mr("br",null,null,-1)),t[13]||(t[13]=Mr("br",null,null,-1)),Mr("strong",null,se(A.find(e=>e.value===o.value)?.name||"颜色"),1),t[14]||(t[14]=Mr("br",null,null,-1)),t[15]||(t[15]=Mr("br",null,null,-1)),t[16]||(t[16]=Mr("small",null,"点击右侧测试区域切换颜色",-1))])):"gradient"===i.value?(Cr(),Tr("p",gte,[t[17]||(t[17]=jr(" 检查颜色过渡是否平滑,点击屏幕切换渐变类型",-1)),t[18]||(t[18]=Mr("br",null,null,-1)),t[19]||(t[19]=Mr("br",null,null,-1)),Mr("strong",null,se({horizontal:"水平渐变",vertical:"竖直渐变",radial:"径向渐变",rgb:"RGB渐变"}[l.value]),1),t[20]||(t[20]=Mr("br",null,null,-1)),t[21]||(t[21]=Mr("br",null,null,-1)),t[22]||(t[22]=Mr("small",null,"点击右侧测试区域切换渐变类型",-1))])):"grid"===i.value?(Cr(),Tr("p",yte," 检查网格线条是否清晰、对齐,无断线或模糊 ")):"horizontal-lines"===i.value?(Cr(),Tr("p",vte," 检查水平线条是否笔直、清晰,无弯曲或断线 ")):"vertical-lines"===i.value?(Cr(),Tr("p",bte," 检查垂直线条是否笔直、清晰,无弯曲或断线 ")):"diagonal-lines"===i.value?(Cr(),Tr("p",wte," 检查斜线是否笔直、清晰,角度是否准确 ")):"dot-matrix"===i.value?(Cr(),Tr("p",xte," 检查点阵图案是否规整,点的大小和间距是否一致 ")):"checkerboard"===i.value?(Cr(),Tr("p",kte," 检查棋盘格是否规整,黑白对比是否清晰 ")):"pixel-alignment"===i.value?(Cr(),Tr("p",_te," 检查像素对齐精度,线条是否锐利清晰 ")):"brightness-test"===i.value?(Cr(),Tr("p",Ete," 检查灰度显示和亮度层次,能否区分不同亮度级别 ")):"contrast-test"===i.value?(Cr(),Tr("p",Cte,[t[23]||(t[23]=jr(" 检查灰度层次和对比度显示,观察不同灰度级别是否清晰可辨",-1)),t[24]||(t[24]=Mr("br",null,null,-1)),t[25]||(t[25]=Mr("br",null,null,-1)),Mr("strong",null,se("dark"===f.value?"暗色灰度":"亮色灰度"),1),t[26]||(t[26]=Mr("br",null,null,-1)),t[27]||(t[27]=Mr("br",null,null,-1)),t[28]||(t[28]=Mr("small",null,"点击右侧测试区域切换暗色/亮色灰度模式",-1))])):"color-gradient"===i.value?(Cr(),Tr("p",Fte,[t[29]||(t[29]=jr(" 检查彩色渐变过渡是否平滑,无色带或断层",-1)),t[30]||(t[30]=Mr("br",null,null,-1)),t[31]||(t[31]=Mr("br",null,null,-1)),Mr("strong",null,se({red:"红色渐变",green:"绿色渐变",blue:"蓝色渐变",white:"白色渐变",rainbow:"彩虹渐变"}[d.value]),1),t[32]||(t[32]=Mr("br",null,null,-1)),t[33]||(t[33]=Mr("br",null,null,-1)),t[34]||(t[34]=Mr("small",null,"点击右侧测试区域切换颜色",-1))])):"saturation-test"===i.value?(Cr(),Tr("p",Dte," 检查颜色饱和度显示,不同饱和度级别是否清晰可辨 ")):"stability-test"===i.value?(Cr(),Tr("p",Ate,[t[35]||(t[35]=jr(" 检查屏幕稳定性和响应时间,点击屏幕开始闪烁测试",-1)),t[36]||(t[36]=Mr("br",null,null,-1)),t[37]||(t[37]=Mr("br",null,null,-1)),Mr("strong",null,"状态: "+se(h.value?"闪烁中":"静止"),1),t[38]||(t[38]=Mr("br",null,null,-1)),t[39]||(t[39]=Mr("br",null,null,-1)),t[40]||(t[40]=Mr("small",null,"点击右侧测试区域开始/停止闪烁",-1))])):"convergence-test"===i.value?(Cr(),Tr("p",Tte,[t[41]||(t[41]=jr(" 检查RGB像素对齐和聚焦,红绿线条是否清晰分离",-1)),t[42]||(t[42]=Mr("br",null,null,-1)),t[43]||(t[43]=Mr("br",null,null,-1)),Mr("strong",null,"放大倍数: "+se(g.value)+"x",1),t[44]||(t[44]=Mr("br",null,null,-1)),t[45]||(t[45]=Mr("br",null,null,-1)),t[46]||(t[46]=Mr("small",null,"点击右侧测试区域切换放大倍数 (1-5x)",-1))])):"micro-pattern"===i.value?(Cr(),Tr("p",Ste,[t[47]||(t[47]=jr(" 检查精细图案显示能力,微小细节是否清晰可见",-1)),t[48]||(t[48]=Mr("br",null,null,-1)),t[49]||(t[49]=Mr("br",null,null,-1)),Mr("strong",null,se(["1像素网格","2像素网格","细线图案","微型棋盘"][m.value]),1),t[50]||(t[50]=Mr("br",null,null,-1)),t[51]||(t[51]=Mr("br",null,null,-1)),t[52]||(t[52]=Mr("small",null,"点击右侧测试区域切换图案",-1))])):"text"===i.value?(Cr(),Tr("p",Ite," 检查文字边缘是否清晰,字体显示是否锐利 ")):"geometry"===i.value?(Cr(),Tr("p",Nte," 检查几何形状是否规整,线条是否笔直 ")):"color-bars"===i.value?(Cr(),Tr("p",Pte," 检查标准彩条颜色显示是否准确 ")):(Cr(),Tr("p",Bte," 选择测试模式开始检测 "))])]),t[54]||(t[54]=Mr("div",{class:"shortcuts"},[Mr("small",null," 快捷键: 空格(下一个) ←→(切换) F(全屏) A(自动) ")],-1))]),Mr("div",Mte,[t[56]||(t[56]=Mr("h4",null,"自动测试套件",-1)),Mr("div",Ote,[Mr("div",Ute,[t[55]||(t[55]=Mr("label",null,"测试套件:",-1)),ca(Mr("select",{"onUpdate:modelValue":t[2]||(t[2]=e=>C.value=e),class:"suite-select"},[(Cr(),Tr(br,null,yn(E,(e,t)=>Mr("option",{key:t,value:t},se(e.name)+" ("+se(e.tests.length)+"项) ",9,jte)),64))],512),[[_i,C.value]])]),Mr("div",Lte,[Mr("label",null,"每项时长: "+se(x.value)+"秒",1),ca(Mr("input",{type:"range","onUpdate:modelValue":t[3]||(t[3]=e=>x.value=e),min:"1",max:"10",step:"1",class:"duration-range"},null,512),[[bi,x.value]])])]),Mr("div",Rte,[Mr("button",{onClick:J,disabled:b.value,class:"start-btn"},se(b.value?"测试进行中...":"开始自动测试"),9,zte),b.value?(Cr(),Tr("button",{key:0,onClick:q,class:"stop-btn"}," 停止测试 ")):Rr("",!0)]),b.value?(Cr(),Tr("div",Hte,[Mr("div",$te,[Mr("strong",null,se(M()),1),Mr("span",Yte,se(w.value+1)+"/"+se(E[C.value]?.tests.length||0),1)]),Mr("div",Gte," 剩余时间: "+se(_.value)+"秒 ",1)])):Rr("",!0)])])])),Mr("div",{class:Q(["test-display",[i.value]]),style:K(O()),onClick:U},["solid-colors"===i.value?(Cr(),Tr("div",Wte)):Rr("",!0),"dead-pixel"===i.value?(Cr(),Tr("div",Vte,[s.value?Rr("",!0):(Cr(),Tr("div",Kte,[Mr("div",Jte,[(Cr(),Tr(br,null,yn(25,e=>Mr("div",{key:e,class:"pixel-test-cell",style:K({backgroundColor:I(e)})},null,4)),64))])]))])):Rr("",!0),"gradient"===i.value?(Cr(),Tr("div",qte)):Rr("",!0),"grid"===i.value?(Cr(),Tr("div",Zte)):Rr("",!0),"convergence-test"===i.value?(Cr(),Tr("div",Xte)):Rr("",!0),"color-bars"===i.value?(Cr(),Tr("div",Qte,[(Cr(),Tr(br,null,yn(T,e=>Mr("div",{class:"color-bar",key:e,style:K({backgroundColor:e})},null,4)),64))])):Rr("",!0),"text"===i.value?(Cr(),Tr("div",{key:6,class:"text-test",style:K({fontSize:u.value+"px"})},[...t[57]||(t[57]=[Lr('
    ABCDEFGHIJKLMNOPQRSTUVWXYZ
    abcdefghijklmnopqrstuvwxyz
    0123456789
    中文字体清晰度测试
    ',1)])],4)):Rr("",!0),"saturation-test"===i.value?(Cr(),Tr("div",eae,[Mr("div",tae,[(Cr(),Tr(br,null,yn(["red","green","blue","cyan","magenta","yellow"],(e,t)=>Mr("div",{key:e,class:"saturation-bar"},[(Cr(),Tr(br,null,yn([0,20,40,60,80,100],t=>Mr("div",{key:t,class:"saturation-block",style:K(N(e,t))},se(t)+"% ",5)),64))])),64))])])):Rr("",!0),"micro-pattern"===i.value?(Cr(),Tr("div",aae,[Mr("div",nae,[0===m.value?(Cr(),Tr("div",rae)):1===m.value?(Cr(),Tr("div",sae)):2===m.value?(Cr(),Tr("div",iae)):(Cr(),Tr("div",oae)),Mr("div",lae,se(m.value+1)+"/4",1)])])):Rr("",!0),"geometry"===i.value?(Cr(),Tr("div",cae,[...t[58]||(t[58]=[Lr('
    ',2)])])):Rr("",!0),"brightness-test"===i.value?(Cr(),Tr("div",uae,[t[59]||(t[59]=Mr("div",{class:"brightness-gradient"},null,-1)),Mr("div",dae,[(Cr(),Tr(br,null,yn([0,32,64,96,128,160,192,224,255],e=>Mr("div",{key:e,class:"brightness-block",style:K({backgroundColor:`rgb(${e}, ${e}, ${e})`})},se(e),5)),64))])])):Rr("",!0),"contrast-test"===i.value?(Cr(),Tr("div",hae,[Mr("div",pae,[Mr("div",fae,[(Cr(!0),Tr(br,null,yn(v.value[f.value].row1,(e,t)=>(Cr(),Tr("div",{key:"row1-"+t,class:"gray-block",style:K({backgroundColor:`rgb(${e.rgb}, ${e.rgb}, ${e.rgb})`})},[Mr("div",{class:"gray-label",style:K({color:e.rgb<128?"#ffffff":"#000000"})},[Mr("div",mae,se(e.percent)+"%",1),Mr("div",gae,"("+se(e.rgb)+"/255)",1)],4)],4))),128))]),Mr("div",yae,[(Cr(!0),Tr(br,null,yn(v.value[f.value].row2,(e,t)=>(Cr(),Tr("div",{key:"row2-"+t,class:"gray-block",style:K({backgroundColor:`rgb(${e.rgb}, ${e.rgb}, ${e.rgb})`})},[Mr("div",{class:"gray-label",style:K({color:e.rgb<128?"#ffffff":"#000000"})},[Mr("div",vae,se(e.percent)+"%",1),Mr("div",bae,"("+se(e.rgb)+"/255)",1)],4)],4))),128))]),Mr("div",wae,[(Cr(!0),Tr(br,null,yn(v.value[f.value].row3,(e,t)=>(Cr(),Tr("div",{key:"row3-"+t,class:"gray-block",style:K({backgroundColor:`rgb(${e.rgb}, ${e.rgb}, ${e.rgb})`})},[Mr("div",{class:"gray-label",style:K({color:e.rgb<128?"#ffffff":"#000000"})},[Mr("div",xae,se(e.percent)+"%",1),Mr("div",kae,"("+se(e.rgb)+"/255)",1)],4)],4))),128))]),Mr("div",_ae,[(Cr(!0),Tr(br,null,yn(v.value[f.value].row4,(e,t)=>(Cr(),Tr("div",{key:"row4-"+t,class:"gray-block",style:K({backgroundColor:`rgb(${e.rgb}, ${e.rgb}, ${e.rgb})`})},[Mr("div",{class:"gray-label",style:K({color:e.rgb<128?"#ffffff":"#000000"})},[Mr("div",Eae,se(e.percent)+"%",1),Mr("div",Cae,"("+se(e.rgb)+"/255)",1)],4)],4))),128))])])])):Rr("",!0)],6)])]),s.value?(Cr(),Tr("div",Fae,[b.value?Rr("",!0):(Cr(),Tr("button",{key:0,onClick:R,class:"fs-control-btn",title:"上一个测试"},[...t[60]||(t[60]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m15 18-6-6 6-6"})],-1)])])),Mr("div",Dae,[Mr("span",Aae,se(M()),1),b.value?(Cr(),Tr("span",Tae,se(w.value+1)+"/"+se(E[C.value]?.tests.length||0)+" ("+se(_.value)+"s) ",1)):Rr("",!0)]),"micro-pattern"===i.value?(Cr(),Tr("span",Sae,se(["1像素网格","2像素网格","细线图案","微型棋盘"][m.value])+" ("+se(m.value+1)+"/4) ",1)):"color-gradient"===i.value?(Cr(),Tr("span",Iae,se({red:"红色渐变",green:"绿色渐变",blue:"蓝色渐变",white:"白色渐变",rainbow:"彩虹渐变"}[d.value]),1)):"solid-colors"===i.value?(Cr(),Tr("span",Nae,se(D.find(e=>e.value===o.value)?.name||"颜色"),1)):"dead-pixel"===i.value?(Cr(),Tr("span",Pae,se(A.find(e=>e.value===o.value)?.name||"颜色"),1)):"gradient"===i.value?(Cr(),Tr("span",Bae,se({horizontal:"水平渐变",vertical:"竖直渐变",radial:"径向渐变",rgb:"RGB渐变"}[l.value]),1)):"contrast-test"===i.value?(Cr(),Tr("span",Mae,se("dark"===f.value?"暗色灰度":"亮色灰度"),1)):"stability-test"===i.value?(Cr(),Tr("span",Oae,se(h.value?"闪烁中":"静止"),1)):"convergence-test"===i.value?(Cr(),Tr("span",Uae," 放大倍数: "+se(g.value)+"x ",1)):Rr("",!0),b.value?Rr("",!0):(Cr(),Tr("button",{key:9,onClick:L,class:"fs-control-btn",title:"下一个测试"},[...t[61]||(t[61]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"m9 18 6-6-6-6"})],-1)])])),Mr("button",{onClick:X,class:"fs-control-btn",title:"退出全屏 (ESC)"},[...t[62]||(t[62]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M8 3v3a2 2 0 0 1-2 2H3m18 0h-3a2 2 0 0 1-2-2V3m0 18v-3a2 2 0 0 1 2-2h3M3 16h3a2 2 0 0 1 2 2v3"})],-1)])])])):Rr("",!0)],2))}}),Lae=Wi(jae,[["__scopeId","data-v-5d31f4cf"]]),Rae={class:"settings-container"},zae={class:"settings-content"},Hae={class:"settings-section"},$ae={class:"setting-item"},Yae={class:"setting-control"},Gae={class:"setting-item"},Wae={class:"setting-control"},Vae={class:"settings-section"},Kae={class:"setting-item"},Jae={class:"setting-control"},qae={class:"toggle-switch"},Zae={class:"setting-item"},Xae={class:"setting-control"},Qae={class:"toggle-switch"},ene={class:"settings-section"},tne={class:"about-info"},ane={class:"about-item"},nne={class:"about-value"},rne=Wi($a({__name:"Settings",setup(e){const{setTheme:t}=Bo();il("settings");const a=St({theme:"auto",language:"zh-CN",showToast:!0,autoFormat:!0}),n=St("2024-12-29"),r=e=>{console.log("设置提示:",e)},s=()=>{try{localStorage.setItem("toolbox_settings",JSON.stringify(a.value)),r("设置已保存")}catch(e){console.error("保存设置失败:",e),r("保存设置失败")}},i=()=>{t(a.value.theme),s()},o=()=>{const e={settings:a.value,exportTime:(new Date).toISOString(),version:"1.1.0"},t=new Blob([JSON.stringify(e,null,2)],{type:"application/json"}),n=URL.createObjectURL(t),s=document.createElement("a");s.href=n,s.download=`toolbox-settings-${(new Date).toISOString().split("T")[0]}.json`,s.click(),URL.revokeObjectURL(n),r("设置已导出")},l=()=>{if(confirm("确定要清除所有数据吗?此操作不可恢复。"))try{localStorage.clear(),a.value={theme:"auto",language:"zh-CN",showToast:!0,autoFormat:!0},r("数据已清除")}catch(e){console.error("清除数据失败:",e),r("清除数据失败")}};return nn(()=>{(()=>{try{const e=localStorage.getItem("toolbox_settings");if(e){const t=JSON.parse(e);a.value={...a.value,...t}}}catch(e){console.error("加载设置失败:",e)}})()}),(e,t)=>(Cr(),Tr("div",Rae,[Mr("div",zae,[Mr("div",Hae,[t[8]||(t[8]=Mr("h3",{class:"section-title"},[Mr("span",{class:"section-icon"},"🎨"),jr(" 外观设置 ")],-1)),Mr("div",$ae,[t[5]||(t[5]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"主题模式"),Mr("span",{class:"setting-desc"},"选择应用的主题外观")],-1)),Mr("div",Yae,[ca(Mr("select",{"onUpdate:modelValue":t[0]||(t[0]=e=>a.value.theme=e),onChange:i,class:"setting-select"},[...t[4]||(t[4]=[Mr("option",{value:"auto"},"跟随系统",-1),Mr("option",{value:"light"},"浅色模式",-1),Mr("option",{value:"dark"},"深色模式",-1)])],544),[[_i,a.value.theme]])])]),Mr("div",Gae,[t[7]||(t[7]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"语言"),Mr("span",{class:"setting-desc"},"选择界面显示语言")],-1)),Mr("div",Wae,[ca(Mr("select",{"onUpdate:modelValue":t[1]||(t[1]=e=>a.value.language=e),onChange:s,class:"setting-select"},[...t[6]||(t[6]=[Mr("option",{value:"zh-CN"},"简体中文",-1),Mr("option",{value:"zh-TW"},"繁體中文",-1),Mr("option",{value:"en-US"},"English",-1)])],544),[[_i,a.value.language]])])])]),Mr("div",Vae,[t[13]||(t[13]=Mr("h3",{class:"section-title"},[Mr("span",{class:"section-icon"},"⚙️"),jr(" 功能设置 ")],-1)),Mr("div",Kae,[t[10]||(t[10]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"显示提示"),Mr("span",{class:"setting-desc"},"显示操作成功的提示消息")],-1)),Mr("div",Jae,[Mr("label",qae,[ca(Mr("input",{type:"checkbox","onUpdate:modelValue":t[2]||(t[2]=e=>a.value.showToast=e),onChange:s},null,544),[[wi,a.value.showToast]]),t[9]||(t[9]=Mr("span",{class:"toggle-slider"},null,-1))])])]),Mr("div",Zae,[t[12]||(t[12]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"自动格式化"),Mr("span",{class:"setting-desc"},"粘贴JSON时自动格式化")],-1)),Mr("div",Xae,[Mr("label",Qae,[ca(Mr("input",{type:"checkbox","onUpdate:modelValue":t[3]||(t[3]=e=>a.value.autoFormat=e),onChange:s},null,544),[[wi,a.value.autoFormat]]),t[11]||(t[11]=Mr("span",{class:"toggle-slider"},null,-1))])])])]),Mr("div",{class:"settings-section"},[t[18]||(t[18]=Mr("h3",{class:"section-title"},[Mr("span",{class:"section-icon"},"💾"),jr(" 数据管理 ")],-1)),Mr("div",{class:"setting-item"},[t[15]||(t[15]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"导出设置"),Mr("span",{class:"setting-desc"},"导出当前设置配置")],-1)),Mr("div",{class:"setting-control"},[Mr("button",{onClick:o,class:"action-btn"},[...t[14]||(t[14]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("path",{d:"M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4"}),Mr("polyline",{points:"7,10 12,15 17,10"}),Mr("line",{x1:"12",y1:"15",x2:"12",y2:"3"})],-1),jr(" 导出 ",-1)])])])]),Mr("div",{class:"setting-item"},[t[17]||(t[17]=Mr("div",{class:"setting-info"},[Mr("label",{class:"setting-label"},"清除数据"),Mr("span",{class:"setting-desc"},"清除所有本地存储的数据")],-1)),Mr("div",{class:"setting-control"},[Mr("button",{onClick:l,class:"action-btn danger"},[...t[16]||(t[16]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"3,6 5,6 21,6"}),Mr("path",{d:"m19,6v14a2,2 0 0,1 -2,2H7a2,2 0 0,1 -2,-2V6m3,0V4a2,2 0 0,1 2,-2h4a2,2 0 0,1 2,2v2"})],-1),jr(" 清除 ",-1)])])])])]),Mr("div",ene,[t[22]||(t[22]=Mr("h3",{class:"section-title"},[Mr("span",{class:"section-icon"},"ℹ️"),jr(" 关于 ")],-1)),Mr("div",tne,[t[20]||(t[20]=Mr("div",{class:"about-item"},[Mr("span",{class:"about-label"},"版本"),Mr("span",{class:"about-value"},"v1.1.0")],-1)),Mr("div",ane,[t[19]||(t[19]=Mr("span",{class:"about-label"},"构建时间",-1)),Mr("span",nne,se(n.value),1)]),t[21]||(t[21]=Lr('
    开源地址 GitHub
    问题反馈 Issues
    ',2))])])])]))}}),[["__scopeId","data-v-67123926"]]),sne={class:"countries-capitals"},ine={class:"content-wrapper"},one={class:"reference-content"},lne={class:"countries-section"},cne={class:"section-header"},une={class:"header-left"},dne={class:"section-info"},hne={class:"info-text"},pne={class:"advanced-filters"},fne={class:"filter-group"},mne={class:"filter-group"},gne={class:"filter-group"},yne={class:"filter-group"},vne={class:"filter-group"},bne={class:"countries-grid"},wne=["onClick"],xne={class:"card-header"},kne={class:"country-index"},_ne={class:"country-region"},Ene={class:"card-content"},Cne={class:"country-main"},Fne={class:"country-flag-section"},Dne=["src","alt"],Ane={class:"country-details"},Tne={class:"country-names"},Sne={class:"country-name"},Ine={class:"country-name-en"},Nne={class:"capital-info"},Pne={class:"capital-main"},Bne={class:"capital-names"},Mne={class:"capital-name"},One={class:"capital-name-en"},Une={class:"country-stats"},jne={class:"stat-item"},Lne={class:"stat-value"},Rne={class:"stat-item"},zne={class:"stat-value"},Hne={class:"stat-item"},$ne={class:"stat-value"},Yne={key:0,class:"pagination"},Gne=["disabled"],Wne={class:"page-info"},Vne=["disabled"],Kne={key:1,class:"no-pagination-spacer"},Jne={key:0,class:"modal-body"},qne={class:"modal-title"},Zne={class:"modal-flag-section"},Xne=["src","alt"],Qne={class:"title-text"},ere={class:"country-info-grid"},tre={class:"info-item"},are={class:"info-value"},nre={class:"info-value-en"},rre={class:"info-item"},sre={class:"info-value"},ire={class:"info-item"},ore={class:"info-value"},lre={class:"info-item"},cre={class:"info-value"},ure={class:"info-item"},dre={class:"info-value"},hre={class:"info-item"},pre={class:"info-value"},fre={class:"info-value-en"},mre={class:"info-item"},gre={class:"info-value"},yre={class:"info-item"},vre={class:"info-value"},bre={key:0,class:"country-history"},wre={class:"history-content"},xre={key:1,class:"no-info"},kre=Wi($a({__name:"CountriesCapitals",emits:["back"],setup(e,{emit:t}){il("国家首都查询");const a=function(e){for(const t in Qi.cards){const a=Qi.cards[t].find(t=>t.id===e);if(a)return a.title}return e}("countries-capitals"),{success:n,error:r}=Vo(),s=St(""),i=St("all"),o=St("all"),l=St("all"),c=St("all"),u=St("name"),d=St("asc"),h=St(1),p=St(!1),f=St(null),m=is(()=>[{key:"all",name:"全部地区",count:g.value.length},{key:"asia",name:"亚洲",count:k("asia")},{key:"europe",name:"欧洲",count:k("europe")},{key:"africa",name:"非洲",count:k("africa")},{key:"north-america",name:"北美洲",count:k("north-america")},{key:"south-america",name:"南美洲",count:k("south-america")},{key:"oceania",name:"大洋洲",count:k("oceania")}]),g=St([{code:"CN",name:"中国",nameEn:"China",capital:"北京",capitalEn:"Beijing",region:"asia",continent:"亚洲",population:1439323776,area:9596960,currency:"人民币",currencyCode:"CNY",language:"中文",flag:"https://flagcdn.com/w320/cn.png",description:"中华人民共和国,简称中国,是位于东亚的社会主义国家,首都北京。"},{code:"IN",name:"印度",nameEn:"India",capital:"新德里",capitalEn:"New Delhi",region:"asia",continent:"亚洲",population:1380004385,area:3287263,currency:"卢比",currencyCode:"INR",language:"印地语",flag:"https://flagcdn.com/w320/in.png",description:"印度共和国,简称印度,是位于南亚的联邦制国家,首都新德里。"},{code:"JP",name:"日本",nameEn:"Japan",capital:"东京",capitalEn:"Tokyo",region:"asia",continent:"亚洲",population:126476461,area:377975,currency:"日元",currencyCode:"JPY",language:"日语",flag:"https://flagcdn.com/w320/jp.png",description:"日本国,简称日本,是位于东亚的岛国,首都东京。"},{code:"KR",name:"韩国",nameEn:"South Korea",capital:"首尔",capitalEn:"Seoul",region:"asia",continent:"亚洲",population:51269185,area:100210,currency:"韩元",currencyCode:"KRW",language:"韩语",flag:"https://flagcdn.com/w320/kr.png",description:"大韩民国,简称韩国,是位于东亚朝鲜半岛南部的共和制国家,首都首尔。"},{code:"TH",name:"泰国",nameEn:"Thailand",capital:"曼谷",capitalEn:"Bangkok",region:"asia",continent:"亚洲",population:69799978,area:513120,currency:"泰铢",currencyCode:"THB",language:"泰语",flag:"https://flagcdn.com/w320/th.png",description:"泰王国,简称泰国,是位于东南亚的君主立宪制国家,首都曼谷。"},{code:"AF",name:"阿富汗",nameEn:"Afghanistan",capital:"喀布尔",capitalEn:"Kabul",region:"asia",continent:"亚洲",population:38928346,area:652230,currency:"阿富汗尼",currencyCode:"AFN",language:"达里语",flag:"https://flagcdn.com/w320/af.png",description:"阿富汗伊斯兰共和国,简称阿富汗,是位于中亚和南亚的内陆国家,首都喀布尔。"},{code:"BD",name:"孟加拉国",nameEn:"Bangladesh",capital:"达卡",capitalEn:"Dhaka",region:"asia",continent:"亚洲",population:164689383,area:147570,currency:"塔卡",currencyCode:"BDT",language:"孟加拉语",flag:"https://flagcdn.com/w320/bd.png",description:"孟加拉人民共和国,简称孟加拉国,是位于南亚的国家,首都达卡。"},{code:"BT",name:"不丹",nameEn:"Bhutan",capital:"廷布",capitalEn:"Thimphu",region:"asia",continent:"亚洲",population:771608,area:38394,currency:"努尔特鲁姆",currencyCode:"BTN",language:"宗卡语",flag:"https://flagcdn.com/w320/bt.png",description:"不丹王国,简称不丹,是位于喜马拉雅山脉的内陆国家,首都廷布。"},{code:"BN",name:"文莱",nameEn:"Brunei",capital:"斯里巴加湾市",capitalEn:"Bandar Seri Begawan",region:"asia",continent:"亚洲",population:437479,area:5765,currency:"文莱元",currencyCode:"BND",language:"马来语",flag:"https://flagcdn.com/w320/bn.png",description:"文莱达鲁萨兰国,简称文莱,是位于东南亚的君主制国家,首都斯里巴加湾市。"},{code:"KH",name:"柬埔寨",nameEn:"Cambodia",capital:"金边",capitalEn:"Phnom Penh",region:"asia",continent:"亚洲",population:16718965,area:181035,currency:"瑞尔",currencyCode:"KHR",language:"高棉语",flag:"https://flagcdn.com/w320/kh.png",description:"柬埔寨王国,简称柬埔寨,是位于东南亚的君主立宪制国家,首都金边。"},{code:"ID",name:"印度尼西亚",nameEn:"Indonesia",capital:"雅加达",capitalEn:"Jakarta",region:"asia",continent:"亚洲",population:273523615,area:1904569,currency:"印尼盾",currencyCode:"IDR",language:"印尼语",flag:"https://flagcdn.com/w320/id.png",description:"印度尼西亚共和国,简称印尼,是位于东南亚的群岛国家,首都雅加达。"},{code:"IR",name:"伊朗",nameEn:"Iran",capital:"德黑兰",capitalEn:"Tehran",region:"asia",continent:"亚洲",population:83992949,area:1648195,currency:"里亚尔",currencyCode:"IRR",language:"波斯语",flag:"https://flagcdn.com/w320/ir.png",description:"伊朗伊斯兰共和国,简称伊朗,是位于西亚的国家,首都德黑兰。"},{code:"IQ",name:"伊拉克",nameEn:"Iraq",capital:"巴格达",capitalEn:"Baghdad",region:"asia",continent:"亚洲",population:40222493,area:438317,currency:"第纳尔",currencyCode:"IQD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/iq.png",description:"伊拉克共和国,简称伊拉克,是位于西亚的国家,首都巴格达。"},{code:"IL",name:"以色列",nameEn:"Israel",capital:"耶路撒冷",capitalEn:"Jerusalem",region:"asia",continent:"亚洲",population:9364e3,area:20770,currency:"新谢克尔",currencyCode:"ILS",language:"希伯来语",flag:"https://flagcdn.com/w320/il.png",description:"以色列国,简称以色列,是位于西亚的国家,首都耶路撒冷。"},{code:"JO",name:"约旦",nameEn:"Jordan",capital:"安曼",capitalEn:"Amman",region:"asia",continent:"亚洲",population:10203134,area:89342,currency:"第纳尔",currencyCode:"JOD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/jo.png",description:"约旦哈希姆王国,简称约旦,是位于西亚的君主立宪制国家,首都安曼。"},{code:"KZ",name:"哈萨克斯坦",nameEn:"Kazakhstan",capital:"努尔苏丹",capitalEn:"Nur-Sultan",region:"asia",continent:"亚洲",population:18776707,area:2724900,currency:"坚戈",currencyCode:"KZT",language:"哈萨克语",flag:"https://flagcdn.com/w320/kz.png",description:"哈萨克斯坦共和国,简称哈萨克斯坦,是位于中亚的内陆国家,首都努尔苏丹。"},{code:"KW",name:"科威特",nameEn:"Kuwait",capital:"科威特城",capitalEn:"Kuwait City",region:"asia",continent:"亚洲",population:4270571,area:17818,currency:"第纳尔",currencyCode:"KWD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/kw.png",description:"科威特国,简称科威特,是位于西亚的君主制国家,首都科威特城。"},{code:"KG",name:"吉尔吉斯斯坦",nameEn:"Kyrgyzstan",capital:"比什凯克",capitalEn:"Bishkek",region:"asia",continent:"亚洲",population:6524195,area:199951,currency:"索姆",currencyCode:"KGS",language:"吉尔吉斯语",flag:"https://flagcdn.com/w320/kg.png",description:"吉尔吉斯共和国,简称吉尔吉斯斯坦,是位于中亚的内陆国家,首都比什凯克。"},{code:"LA",name:"老挝",nameEn:"Laos",capital:"万象",capitalEn:"Vientiane",region:"asia",continent:"亚洲",population:7275560,area:236800,currency:"基普",currencyCode:"LAK",language:"老挝语",flag:"https://flagcdn.com/w320/la.png",description:"老挝人民民主共和国,简称老挝,是位于东南亚的内陆国家,首都万象。"},{code:"LB",name:"黎巴嫩",nameEn:"Lebanon",capital:"贝鲁特",capitalEn:"Beirut",region:"asia",continent:"亚洲",population:6825445,area:10452,currency:"镑",currencyCode:"LBP",language:"阿拉伯语",flag:"https://flagcdn.com/w320/lb.png",description:"黎巴嫩共和国,简称黎巴嫩,是位于西亚的国家,首都贝鲁特。"},{code:"MY",name:"马来西亚",nameEn:"Malaysia",capital:"吉隆坡",capitalEn:"Kuala Lumpur",region:"asia",continent:"亚洲",population:32365999,area:330803,currency:"林吉特",currencyCode:"MYR",language:"马来语",flag:"https://flagcdn.com/w320/my.png",description:"马来西亚,是位于东南亚的联邦制国家,首都吉隆坡。"},{code:"MV",name:"马尔代夫",nameEn:"Maldives",capital:"马累",capitalEn:"Male",region:"asia",continent:"亚洲",population:540544,area:300,currency:"拉菲亚",currencyCode:"MVR",language:"迪维希语",flag:"https://flagcdn.com/w320/mv.png",description:"马尔代夫共和国,简称马尔代夫,是位于印度洋的岛国,首都马累。"},{code:"MN",name:"蒙古",nameEn:"Mongolia",capital:"乌兰巴托",capitalEn:"Ulaanbaatar",region:"asia",continent:"亚洲",population:3278290,area:1564110,currency:"图格里克",currencyCode:"MNT",language:"蒙古语",flag:"https://flagcdn.com/w320/mn.png",description:"蒙古国,简称蒙古,是位于东亚的内陆国家,首都乌兰巴托。"},{code:"MM",name:"缅甸",nameEn:"Myanmar",capital:"内比都",capitalEn:"Naypyidaw",region:"asia",continent:"亚洲",population:54409800,area:676578,currency:"缅元",currencyCode:"MMK",language:"缅甸语",flag:"https://flagcdn.com/w320/mm.png",description:"缅甸联邦共和国,简称缅甸,是位于东南亚的国家,首都内比都。"},{code:"NP",name:"尼泊尔",nameEn:"Nepal",capital:"加德满都",capitalEn:"Kathmandu",region:"asia",continent:"亚洲",population:29136808,area:147516,currency:"卢比",currencyCode:"NPR",language:"尼泊尔语",flag:"https://flagcdn.com/w320/np.png",description:"尼泊尔联邦民主共和国,简称尼泊尔,是位于喜马拉雅山脉的内陆国家,首都加德满都。"},{code:"KP",name:"朝鲜",nameEn:"North Korea",capital:"平壤",capitalEn:"Pyongyang",region:"asia",continent:"亚洲",population:25778816,area:120538,currency:"朝鲜元",currencyCode:"KPW",language:"朝鲜语",flag:"https://flagcdn.com/w320/kp.png",description:"朝鲜民主主义人民共和国,简称朝鲜,是位于东亚朝鲜半岛北部的社会主义国家,首都平壤。"},{code:"OM",name:"阿曼",nameEn:"Oman",capital:"马斯喀特",capitalEn:"Muscat",region:"asia",continent:"亚洲",population:5106626,area:309500,currency:"里亚尔",currencyCode:"OMR",language:"阿拉伯语",flag:"https://flagcdn.com/w320/om.png",description:"阿曼苏丹国,简称阿曼,是位于西亚的君主制国家,首都马斯喀特。"},{code:"PK",name:"巴基斯坦",nameEn:"Pakistan",capital:"伊斯兰堡",capitalEn:"Islamabad",region:"asia",continent:"亚洲",population:220892340,area:881913,currency:"卢比",currencyCode:"PKR",language:"乌尔都语",flag:"https://flagcdn.com/w320/pk.png",description:"巴基斯坦伊斯兰共和国,简称巴基斯坦,是位于南亚的国家,首都伊斯兰堡。"},{code:"PS",name:"巴勒斯坦",nameEn:"Palestine",capital:"拉马拉",capitalEn:"Ramallah",region:"asia",continent:"亚洲",population:5101414,area:6220,currency:"谢克尔",currencyCode:"ILS",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ps.png",description:"巴勒斯坦国,简称巴勒斯坦,是位于西亚的国家,首都拉马拉。"},{code:"PH",name:"菲律宾",nameEn:"Philippines",capital:"马尼拉",capitalEn:"Manila",region:"asia",continent:"亚洲",population:109581078,area:3e5,currency:"比索",currencyCode:"PHP",language:"菲律宾语",flag:"https://flagcdn.com/w320/ph.png",description:"菲律宾共和国,简称菲律宾,是位于东南亚的群岛国家,首都马尼拉。"},{code:"QA",name:"卡塔尔",nameEn:"Qatar",capital:"多哈",capitalEn:"Doha",region:"asia",continent:"亚洲",population:2881053,area:11586,currency:"里亚尔",currencyCode:"QAR",language:"阿拉伯语",flag:"https://flagcdn.com/w320/qa.png",description:"卡塔尔国,简称卡塔尔,是位于西亚的君主制国家,首都多哈。"},{code:"SA",name:"沙特阿拉伯",nameEn:"Saudi Arabia",capital:"利雅得",capitalEn:"Riyadh",region:"asia",continent:"亚洲",population:34813871,area:2149690,currency:"里亚尔",currencyCode:"SAR",language:"阿拉伯语",flag:"https://flagcdn.com/w320/sa.png",description:"沙特阿拉伯王国,简称沙特阿拉伯,是位于西亚的君主制国家,首都利雅得。"},{code:"SG",name:"新加坡",nameEn:"Singapore",capital:"新加坡",capitalEn:"Singapore",region:"asia",continent:"亚洲",population:5850342,area:719,currency:"新加坡元",currencyCode:"SGD",language:"英语",flag:"https://flagcdn.com/w320/sg.png",description:"新加坡共和国,简称新加坡,是位于东南亚的城市国家,首都新加坡。"},{code:"LK",name:"斯里兰卡",nameEn:"Sri Lanka",capital:"科伦坡",capitalEn:"Colombo",region:"asia",continent:"亚洲",population:21413249,area:65610,currency:"卢比",currencyCode:"LKR",language:"僧伽罗语",flag:"https://flagcdn.com/w320/lk.png",description:"斯里兰卡民主社会主义共和国,简称斯里兰卡,是位于南亚的岛国,首都科伦坡。"},{code:"SY",name:"叙利亚",nameEn:"Syria",capital:"大马士革",capitalEn:"Damascus",region:"asia",continent:"亚洲",population:17500658,area:185180,currency:"镑",currencyCode:"SYP",language:"阿拉伯语",flag:"https://flagcdn.com/w320/sy.png",description:"阿拉伯叙利亚共和国,简称叙利亚,是位于西亚的国家,首都大马士革。"},{code:"TJ",name:"塔吉克斯坦",nameEn:"Tajikistan",capital:"杜尚别",capitalEn:"Dushanbe",region:"asia",continent:"亚洲",population:9537645,area:143100,currency:"索莫尼",currencyCode:"TJS",language:"塔吉克语",flag:"https://flagcdn.com/w320/tj.png",description:"塔吉克斯坦共和国,简称塔吉克斯坦,是位于中亚的内陆国家,首都杜尚别。"},{code:"TL",name:"东帝汶",nameEn:"East Timor",capital:"帝力",capitalEn:"Dili",region:"asia",continent:"亚洲",population:1318445,area:14874,currency:"美元",currencyCode:"USD",language:"德顿语",flag:"https://flagcdn.com/w320/tl.png",description:"东帝汶民主共和国,简称东帝汶,是位于东南亚的国家,首都帝力。"},{code:"TR",name:"土耳其",nameEn:"Turkey",capital:"安卡拉",capitalEn:"Ankara",region:"asia",continent:"亚洲",population:84339067,area:783562,currency:"里拉",currencyCode:"TRY",language:"土耳其语",flag:"https://flagcdn.com/w320/tr.png",description:"土耳其共和国,简称土耳其,是位于欧亚大陆的国家,首都安卡拉。"},{code:"TM",name:"土库曼斯坦",nameEn:"Turkmenistan",capital:"阿什哈巴德",capitalEn:"Ashgabat",region:"asia",continent:"亚洲",population:6031200,area:488100,currency:"马纳特",currencyCode:"TMT",language:"土库曼语",flag:"https://flagcdn.com/w320/tm.png",description:"土库曼斯坦,是位于中亚的内陆国家,首都阿什哈巴德。"},{code:"AE",name:"阿联酋",nameEn:"United Arab Emirates",capital:"阿布扎比",capitalEn:"Abu Dhabi",region:"asia",continent:"亚洲",population:9890402,area:83600,currency:"迪拉姆",currencyCode:"AED",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ae.png",description:"阿拉伯联合酋长国,简称阿联酋,是位于西亚的联邦制国家,首都阿布扎比。"},{code:"UZ",name:"乌兹别克斯坦",nameEn:"Uzbekistan",capital:"塔什干",capitalEn:"Tashkent",region:"asia",continent:"亚洲",population:33469203,area:447400,currency:"苏姆",currencyCode:"UZS",language:"乌兹别克语",flag:"https://flagcdn.com/w320/uz.png",description:"乌兹别克斯坦共和国,简称乌兹别克斯坦,是位于中亚的内陆国家,首都塔什干。"},{code:"VN",name:"越南",nameEn:"Vietnam",capital:"河内",capitalEn:"Hanoi",region:"asia",continent:"亚洲",population:97338579,area:331212,currency:"越南盾",currencyCode:"VND",language:"越南语",flag:"https://flagcdn.com/w320/vn.png",description:"越南社会主义共和国,简称越南,是位于东南亚的国家,首都河内。"},{code:"YE",name:"也门",nameEn:"Yemen",capital:"萨那",capitalEn:"Sanaa",region:"asia",continent:"亚洲",population:29825964,area:527968,currency:"里亚尔",currencyCode:"YER",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ye.png",description:"也门共和国,简称也门,是位于西亚的国家,首都萨那。"},{code:"RU",name:"俄罗斯",nameEn:"Russia",capital:"莫斯科",capitalEn:"Moscow",region:"europe",continent:"欧洲",population:145934462,area:17098242,currency:"卢布",currencyCode:"RUB",language:"俄语",flag:"https://flagcdn.com/w320/ru.png",description:"俄罗斯联邦,简称俄罗斯,是位于欧亚大陆的联邦制国家,首都莫斯科。"},{code:"DE",name:"德国",nameEn:"Germany",capital:"柏林",capitalEn:"Berlin",region:"europe",continent:"欧洲",population:83783942,area:357114,currency:"欧元",currencyCode:"EUR",language:"德语",flag:"https://flagcdn.com/w320/de.png",description:"德意志联邦共和国,简称德国,是位于欧洲中部的联邦制国家,首都柏林。"},{code:"GB",name:"英国",nameEn:"United Kingdom",capital:"伦敦",capitalEn:"London",region:"europe",continent:"欧洲",population:67886011,area:243610,currency:"英镑",currencyCode:"GBP",language:"英语",flag:"https://flagcdn.com/w320/gb.png",description:"大不列颠及北爱尔兰联合王国,简称英国,是位于欧洲西北部的岛国,首都伦敦。"},{code:"FR",name:"法国",nameEn:"France",capital:"巴黎",capitalEn:"Paris",region:"europe",continent:"欧洲",population:65273511,area:643801,currency:"欧元",currencyCode:"EUR",language:"法语",flag:"https://flagcdn.com/w320/fr.png",description:"法兰西共和国,简称法国,是位于欧洲西部的共和制国家,首都巴黎。"},{code:"IT",name:"意大利",nameEn:"Italy",capital:"罗马",capitalEn:"Rome",region:"europe",continent:"欧洲",population:60461826,area:301340,currency:"欧元",currencyCode:"EUR",language:"意大利语",flag:"https://flagcdn.com/w320/it.png",description:"意大利共和国,简称意大利,是位于欧洲南部的共和制国家,首都罗马。"},{code:"ES",name:"西班牙",nameEn:"Spain",capital:"马德里",capitalEn:"Madrid",region:"europe",continent:"欧洲",population:46754778,area:505992,currency:"欧元",currencyCode:"EUR",language:"西班牙语",flag:"https://flagcdn.com/w320/es.png",description:"西班牙王国,简称西班牙,是位于欧洲西南部的君主立宪制国家,首都马德里。"},{code:"AL",name:"阿尔巴尼亚",nameEn:"Albania",capital:"地拉那",capitalEn:"Tirana",region:"europe",continent:"欧洲",population:2877797,area:28748,currency:"列克",currencyCode:"ALL",language:"阿尔巴尼亚语",flag:"https://flagcdn.com/w320/al.png",description:"阿尔巴尼亚共和国,简称阿尔巴尼亚,是位于欧洲东南部的国家,首都地拉那。"},{code:"AD",name:"安道尔",nameEn:"Andorra",capital:"安道尔城",capitalEn:"Andorra la Vella",region:"europe",continent:"欧洲",population:77265,area:468,currency:"欧元",currencyCode:"EUR",language:"加泰罗尼亚语",flag:"https://flagcdn.com/w320/ad.png",description:"安道尔公国,简称安道尔,是位于欧洲西南部的内陆国家,首都安道尔城。"},{code:"AM",name:"亚美尼亚",nameEn:"Armenia",capital:"埃里温",capitalEn:"Yerevan",region:"europe",continent:"欧洲",population:2963243,area:29743,currency:"德拉姆",currencyCode:"AMD",language:"亚美尼亚语",flag:"https://flagcdn.com/w320/am.png",description:"亚美尼亚共和国,简称亚美尼亚,是位于西亚的内陆国家,首都埃里温。"},{code:"AT",name:"奥地利",nameEn:"Austria",capital:"维也纳",capitalEn:"Vienna",region:"europe",continent:"欧洲",population:9006398,area:83879,currency:"欧元",currencyCode:"EUR",language:"德语",flag:"https://flagcdn.com/w320/at.png",description:"奥地利共和国,简称奥地利,是位于欧洲中部的内陆国家,首都维也纳。"},{code:"AZ",name:"阿塞拜疆",nameEn:"Azerbaijan",capital:"巴库",capitalEn:"Baku",region:"europe",continent:"欧洲",population:10139177,area:86600,currency:"马纳特",currencyCode:"AZN",language:"阿塞拜疆语",flag:"https://flagcdn.com/w320/az.png",description:"阿塞拜疆共和国,简称阿塞拜疆,是位于西亚的国家,首都巴库。"},{code:"BY",name:"白俄罗斯",nameEn:"Belarus",capital:"明斯克",capitalEn:"Minsk",region:"europe",continent:"欧洲",population:9449323,area:207600,currency:"卢布",currencyCode:"BYN",language:"白俄罗斯语",flag:"https://flagcdn.com/w320/by.png",description:"白俄罗斯共和国,简称白俄罗斯,是位于欧洲东部的内陆国家,首都明斯克。"},{code:"BE",name:"比利时",nameEn:"Belgium",capital:"布鲁塞尔",capitalEn:"Brussels",region:"europe",continent:"欧洲",population:11589623,area:30528,currency:"欧元",currencyCode:"EUR",language:"荷兰语",flag:"https://flagcdn.com/w320/be.png",description:"比利时王国,简称比利时,是位于欧洲西部的国家,首都布鲁塞尔。"},{code:"BA",name:"波黑",nameEn:"Bosnia and Herzegovina",capital:"萨拉热窝",capitalEn:"Sarajevo",region:"europe",continent:"欧洲",population:3280819,area:51197,currency:"马克",currencyCode:"BAM",language:"波斯尼亚语",flag:"https://flagcdn.com/w320/ba.png",description:"波斯尼亚和黑塞哥维那,简称波黑,是位于欧洲东南部的国家,首都萨拉热窝。"},{code:"BG",name:"保加利亚",nameEn:"Bulgaria",capital:"索菲亚",capitalEn:"Sofia",region:"europe",continent:"欧洲",population:6948445,area:110879,currency:"列弗",currencyCode:"BGN",language:"保加利亚语",flag:"https://flagcdn.com/w320/bg.png",description:"保加利亚共和国,简称保加利亚,是位于欧洲东南部的国家,首都索菲亚。"},{code:"HR",name:"克罗地亚",nameEn:"Croatia",capital:"萨格勒布",capitalEn:"Zagreb",region:"europe",continent:"欧洲",population:4105267,area:56594,currency:"欧元",currencyCode:"EUR",language:"克罗地亚语",flag:"https://flagcdn.com/w320/hr.png",description:"克罗地亚共和国,简称克罗地亚,是位于欧洲东南部的国家,首都萨格勒布。"},{code:"CY",name:"塞浦路斯",nameEn:"Cyprus",capital:"尼科西亚",capitalEn:"Nicosia",region:"europe",continent:"欧洲",population:1207359,area:9251,currency:"欧元",currencyCode:"EUR",language:"希腊语",flag:"https://flagcdn.com/w320/cy.png",description:"塞浦路斯共和国,简称塞浦路斯,是位于地中海的岛国,首都尼科西亚。"},{code:"CZ",name:"捷克",nameEn:"Czech Republic",capital:"布拉格",capitalEn:"Prague",region:"europe",continent:"欧洲",population:10708981,area:78867,currency:"克朗",currencyCode:"CZK",language:"捷克语",flag:"https://flagcdn.com/w320/cz.png",description:"捷克共和国,简称捷克,是位于欧洲中部的内陆国家,首都布拉格。"},{code:"DK",name:"丹麦",nameEn:"Denmark",capital:"哥本哈根",capitalEn:"Copenhagen",region:"europe",continent:"欧洲",population:5792202,area:43094,currency:"克朗",currencyCode:"DKK",language:"丹麦语",flag:"https://flagcdn.com/w320/dk.png",description:"丹麦王国,简称丹麦,是位于欧洲北部的国家,首都哥本哈根。"},{code:"EE",name:"爱沙尼亚",nameEn:"Estonia",capital:"塔林",capitalEn:"Tallinn",region:"europe",continent:"欧洲",population:1326535,area:45228,currency:"欧元",currencyCode:"EUR",language:"爱沙尼亚语",flag:"https://flagcdn.com/w320/ee.png",description:"爱沙尼亚共和国,简称爱沙尼亚,是位于欧洲北部的国家,首都塔林。"},{code:"FI",name:"芬兰",nameEn:"Finland",capital:"赫尔辛基",capitalEn:"Helsinki",region:"europe",continent:"欧洲",population:5540720,area:338424,currency:"欧元",currencyCode:"EUR",language:"芬兰语",flag:"https://flagcdn.com/w320/fi.png",description:"芬兰共和国,简称芬兰,是位于欧洲北部的国家,首都赫尔辛基。"},{code:"GE",name:"格鲁吉亚",nameEn:"Georgia",capital:"第比利斯",capitalEn:"Tbilisi",region:"europe",continent:"欧洲",population:3989167,area:69700,currency:"拉里",currencyCode:"GEL",language:"格鲁吉亚语",flag:"https://flagcdn.com/w320/ge.png",description:"格鲁吉亚,是位于西亚的国家,首都第比利斯。"},{code:"GR",name:"希腊",nameEn:"Greece",capital:"雅典",capitalEn:"Athens",region:"europe",continent:"欧洲",population:10423054,area:131957,currency:"欧元",currencyCode:"EUR",language:"希腊语",flag:"https://flagcdn.com/w320/gr.png",description:"希腊共和国,简称希腊,是位于欧洲东南部的国家,首都雅典。"},{code:"HU",name:"匈牙利",nameEn:"Hungary",capital:"布达佩斯",capitalEn:"Budapest",region:"europe",continent:"欧洲",population:9660351,area:93028,currency:"福林",currencyCode:"HUF",language:"匈牙利语",flag:"https://flagcdn.com/w320/hu.png",description:"匈牙利,是位于欧洲中部的内陆国家,首都布达佩斯。"},{code:"IS",name:"冰岛",nameEn:"Iceland",capital:"雷克雅未克",capitalEn:"Reykjavik",region:"europe",continent:"欧洲",population:341243,area:103e3,currency:"克朗",currencyCode:"ISK",language:"冰岛语",flag:"https://flagcdn.com/w320/is.png",description:"冰岛共和国,简称冰岛,是位于北大西洋的岛国,首都雷克雅未克。"},{code:"IE",name:"爱尔兰",nameEn:"Ireland",capital:"都柏林",capitalEn:"Dublin",region:"europe",continent:"欧洲",population:4937786,area:70273,currency:"欧元",currencyCode:"EUR",language:"英语",flag:"https://flagcdn.com/w320/ie.png",description:"爱尔兰共和国,简称爱尔兰,是位于欧洲西部的岛国,首都都柏林。"},{code:"LV",name:"拉脱维亚",nameEn:"Latvia",capital:"里加",capitalEn:"Riga",region:"europe",continent:"欧洲",population:1886198,area:64589,currency:"欧元",currencyCode:"EUR",language:"拉脱维亚语",flag:"https://flagcdn.com/w320/lv.png",description:"拉脱维亚共和国,简称拉脱维亚,是位于欧洲北部的国家,首都里加。"},{code:"LI",name:"列支敦士登",nameEn:"Liechtenstein",capital:"瓦杜兹",capitalEn:"Vaduz",region:"europe",continent:"欧洲",population:38128,area:160,currency:"瑞士法郎",currencyCode:"CHF",language:"德语",flag:"https://flagcdn.com/w320/li.png",description:"列支敦士登公国,简称列支敦士登,是位于欧洲中部的内陆国家,首都瓦杜兹。"},{code:"LT",name:"立陶宛",nameEn:"Lithuania",capital:"维尔纽斯",capitalEn:"Vilnius",region:"europe",continent:"欧洲",population:2722289,area:65300,currency:"欧元",currencyCode:"EUR",language:"立陶宛语",flag:"https://flagcdn.com/w320/lt.png",description:"立陶宛共和国,简称立陶宛,是位于欧洲北部的国家,首都维尔纽斯。"},{code:"LU",name:"卢森堡",nameEn:"Luxembourg",capital:"卢森堡市",capitalEn:"Luxembourg City",region:"europe",continent:"欧洲",population:625978,area:2586,currency:"欧元",currencyCode:"EUR",language:"卢森堡语",flag:"https://flagcdn.com/w320/lu.png",description:"卢森堡大公国,简称卢森堡,是位于欧洲西部的内陆国家,首都卢森堡市。"},{code:"MT",name:"马耳他",nameEn:"Malta",capital:"瓦莱塔",capitalEn:"Valletta",region:"europe",continent:"欧洲",population:441543,area:316,currency:"欧元",currencyCode:"EUR",language:"马耳他语",flag:"https://flagcdn.com/w320/mt.png",description:"马耳他共和国,简称马耳他,是位于地中海的岛国,首都瓦莱塔。"},{code:"MD",name:"摩尔多瓦",nameEn:"Moldova",capital:"基希讷乌",capitalEn:"Chisinau",region:"europe",continent:"欧洲",population:4033963,area:33851,currency:"列伊",currencyCode:"MDL",language:"罗马尼亚语",flag:"https://flagcdn.com/w320/md.png",description:"摩尔多瓦共和国,简称摩尔多瓦,是位于欧洲东南部的内陆国家,首都基希讷乌。"},{code:"MC",name:"摩纳哥",nameEn:"Monaco",capital:"摩纳哥",capitalEn:"Monaco",region:"europe",continent:"欧洲",population:39242,area:2,currency:"欧元",currencyCode:"EUR",language:"法语",flag:"https://flagcdn.com/w320/mc.png",description:"摩纳哥公国,简称摩纳哥,是位于欧洲西南部的城市国家,首都摩纳哥。"},{code:"ME",name:"黑山",nameEn:"Montenegro",capital:"波德戈里察",capitalEn:"Podgorica",region:"europe",continent:"欧洲",population:628066,area:13812,currency:"欧元",currencyCode:"EUR",language:"黑山语",flag:"https://flagcdn.com/w320/me.png",description:"黑山,是位于欧洲东南部的国家,首都波德戈里察。"},{code:"NL",name:"荷兰",nameEn:"Netherlands",capital:"阿姆斯特丹",capitalEn:"Amsterdam",region:"europe",continent:"欧洲",population:17134872,area:41543,currency:"欧元",currencyCode:"EUR",language:"荷兰语",flag:"https://flagcdn.com/w320/nl.png",description:"荷兰王国,简称荷兰,是位于欧洲西北部的国家,首都阿姆斯特丹。"},{code:"MK",name:"北马其顿",nameEn:"North Macedonia",capital:"斯科普里",capitalEn:"Skopje",region:"europe",continent:"欧洲",population:2083374,area:25713,currency:"第纳尔",currencyCode:"MKD",language:"马其顿语",flag:"https://flagcdn.com/w320/mk.png",description:"北马其顿共和国,简称北马其顿,是位于欧洲东南部的内陆国家,首都斯科普里。"},{code:"NO",name:"挪威",nameEn:"Norway",capital:"奥斯陆",capitalEn:"Oslo",region:"europe",continent:"欧洲",population:5421241,area:323802,currency:"克朗",currencyCode:"NOK",language:"挪威语",flag:"https://flagcdn.com/w320/no.png",description:"挪威王国,简称挪威,是位于欧洲北部的国家,首都奥斯陆。"},{code:"PL",name:"波兰",nameEn:"Poland",capital:"华沙",capitalEn:"Warsaw",region:"europe",continent:"欧洲",population:37846611,area:312696,currency:"兹罗提",currencyCode:"PLN",language:"波兰语",flag:"https://flagcdn.com/w320/pl.png",description:"波兰共和国,简称波兰,是位于欧洲中部的国家,首都华沙。"},{code:"PT",name:"葡萄牙",nameEn:"Portugal",capital:"里斯本",capitalEn:"Lisbon",region:"europe",continent:"欧洲",population:10196709,area:92090,currency:"欧元",currencyCode:"EUR",language:"葡萄牙语",flag:"https://flagcdn.com/w320/pt.png",description:"葡萄牙共和国,简称葡萄牙,是位于欧洲西南部的国家,首都里斯本。"},{code:"RO",name:"罗马尼亚",nameEn:"Romania",capital:"布加勒斯特",capitalEn:"Bucharest",region:"europe",continent:"欧洲",population:19237691,area:238391,currency:"列伊",currencyCode:"RON",language:"罗马尼亚语",flag:"https://flagcdn.com/w320/ro.png",description:"罗马尼亚,是位于欧洲东南部的国家,首都布加勒斯特。"},{code:"SM",name:"圣马力诺",nameEn:"San Marino",capital:"圣马力诺",capitalEn:"San Marino",region:"europe",continent:"欧洲",population:33931,area:61,currency:"欧元",currencyCode:"EUR",language:"意大利语",flag:"https://flagcdn.com/w320/sm.png",description:"圣马力诺共和国,简称圣马力诺,是位于欧洲南部的内陆国家,首都圣马力诺。"},{code:"RS",name:"塞尔维亚",nameEn:"Serbia",capital:"贝尔格莱德",capitalEn:"Belgrade",region:"europe",continent:"欧洲",population:8737371,area:77474,currency:"第纳尔",currencyCode:"RSD",language:"塞尔维亚语",flag:"https://flagcdn.com/w320/rs.png",description:"塞尔维亚共和国,简称塞尔维亚,是位于欧洲东南部的内陆国家,首都贝尔格莱德。"},{code:"SK",name:"斯洛伐克",nameEn:"Slovakia",capital:"布拉迪斯拉发",capitalEn:"Bratislava",region:"europe",continent:"欧洲",population:5459642,area:49035,currency:"欧元",currencyCode:"EUR",language:"斯洛伐克语",flag:"https://flagcdn.com/w320/sk.png",description:"斯洛伐克共和国,简称斯洛伐克,是位于欧洲中部的内陆国家,首都布拉迪斯拉发。"},{code:"SI",name:"斯洛文尼亚",nameEn:"Slovenia",capital:"卢布尔雅那",capitalEn:"Ljubljana",region:"europe",continent:"欧洲",population:2078938,area:20273,currency:"欧元",currencyCode:"EUR",language:"斯洛文尼亚语",flag:"https://flagcdn.com/w320/si.png",description:"斯洛文尼亚共和国,简称斯洛文尼亚,是位于欧洲中南部的国家,首都卢布尔雅那。"},{code:"SE",name:"瑞典",nameEn:"Sweden",capital:"斯德哥尔摩",capitalEn:"Stockholm",region:"europe",continent:"欧洲",population:10099265,area:450295,currency:"克朗",currencyCode:"SEK",language:"瑞典语",flag:"https://flagcdn.com/w320/se.png",description:"瑞典王国,简称瑞典,是位于欧洲北部的国家,首都斯德哥尔摩。"},{code:"CH",name:"瑞士",nameEn:"Switzerland",capital:"伯尔尼",capitalEn:"Bern",region:"europe",continent:"欧洲",population:8654622,area:41277,currency:"瑞士法郎",currencyCode:"CHF",language:"德语",flag:"https://flagcdn.com/w320/ch.png",description:"瑞士联邦,简称瑞士,是位于欧洲中部的内陆国家,首都伯尔尼。"},{code:"UA",name:"乌克兰",nameEn:"Ukraine",capital:"基辅",capitalEn:"Kiev",region:"europe",continent:"欧洲",population:43733762,area:603550,currency:"格里夫纳",currencyCode:"UAH",language:"乌克兰语",flag:"https://flagcdn.com/w320/ua.png",description:"乌克兰,是位于欧洲东部的国家,首都基辅。"},{code:"VA",name:"梵蒂冈",nameEn:"Vatican City",capital:"梵蒂冈城",capitalEn:"Vatican City",region:"europe",continent:"欧洲",population:801,area:.17,currency:"欧元",currencyCode:"EUR",language:"意大利语",flag:"https://flagcdn.com/w320/va.png",description:"梵蒂冈城国,简称梵蒂冈,是位于欧洲的城市国家,首都梵蒂冈城。"},{code:"XK",name:"科索沃",nameEn:"Kosovo",capital:"普里什蒂纳",capitalEn:"Pristina",region:"europe",continent:"欧洲",population:1873160,area:10887,currency:"欧元",currencyCode:"EUR",language:"阿尔巴尼亚语",flag:"https://flagcdn.com/w320/xk.png",description:"科索沃共和国,简称科索沃,是位于欧洲东南部的国家,首都普里什蒂纳。"},{code:"DZ",name:"阿尔及利亚",nameEn:"Algeria",capital:"阿尔及尔",capitalEn:"Algiers",region:"africa",continent:"非洲",population:43851044,area:2381741,currency:"第纳尔",currencyCode:"DZD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/dz.png",description:"阿尔及利亚民主人民共和国,简称阿尔及利亚,是位于非洲北部的国家,首都阿尔及尔。"},{code:"AO",name:"安哥拉",nameEn:"Angola",capital:"罗安达",capitalEn:"Luanda",region:"africa",continent:"非洲",population:32866272,area:1246700,currency:"宽扎",currencyCode:"AOA",language:"葡萄牙语",flag:"https://flagcdn.com/w320/ao.png",description:"安哥拉共和国,简称安哥拉,是位于非洲西南部的国家,首都罗安达。"},{code:"BJ",name:"贝宁",nameEn:"Benin",capital:"波多诺伏",capitalEn:"Porto-Novo",region:"africa",continent:"非洲",population:12123200,area:112622,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/bj.png",description:"贝宁共和国,简称贝宁,是位于非洲西部的国家,首都波多诺伏。"},{code:"BW",name:"博茨瓦纳",nameEn:"Botswana",capital:"哈博罗内",capitalEn:"Gaborone",region:"africa",continent:"非洲",population:2351627,area:581730,currency:"普拉",currencyCode:"BWP",language:"英语",flag:"https://flagcdn.com/w320/bw.png",description:"博茨瓦纳共和国,简称博茨瓦纳,是位于非洲南部的内陆国家,首都哈博罗内。"},{code:"BF",name:"布基纳法索",nameEn:"Burkina Faso",capital:"瓦加杜古",capitalEn:"Ouagadougou",region:"africa",continent:"非洲",population:20903273,area:274200,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/bf.png",description:"布基纳法索,是位于非洲西部的内陆国家,首都瓦加杜古。"},{code:"BI",name:"布隆迪",nameEn:"Burundi",capital:"基特加",capitalEn:"Gitega",region:"africa",continent:"非洲",population:11890784,area:27830,currency:"布隆迪法郎",currencyCode:"BIF",language:"基隆迪语",flag:"https://flagcdn.com/w320/bi.png",description:"布隆迪共和国,简称布隆迪,是位于非洲中东部的内陆国家,首都基特加。"},{code:"CV",name:"佛得角",nameEn:"Cape Verde",capital:"普拉亚",capitalEn:"Praia",region:"africa",continent:"非洲",population:555987,area:4033,currency:"埃斯库多",currencyCode:"CVE",language:"葡萄牙语",flag:"https://flagcdn.com/w320/cv.png",description:"佛得角共和国,简称佛得角,是位于大西洋的岛国,首都普拉亚。"},{code:"CM",name:"喀麦隆",nameEn:"Cameroon",capital:"雅温得",capitalEn:"Yaounde",region:"africa",continent:"非洲",population:26545863,area:475442,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/cm.png",description:"喀麦隆共和国,简称喀麦隆,是位于非洲中西部的国家,首都雅温得。"},{code:"CF",name:"中非",nameEn:"Central African Republic",capital:"班吉",capitalEn:"Bangui",region:"africa",continent:"非洲",population:4829767,area:622984,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/cf.png",description:"中非共和国,简称中非,是位于非洲中部的内陆国家,首都班吉。"},{code:"TD",name:"乍得",nameEn:"Chad",capital:"恩贾梅纳",capitalEn:"N'Djamena",region:"africa",continent:"非洲",population:16425864,area:1284e3,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/td.png",description:"乍得共和国,简称乍得,是位于非洲中部的内陆国家,首都恩贾梅纳。"},{code:"KM",name:"科摩罗",nameEn:"Comoros",capital:"莫罗尼",capitalEn:"Moroni",region:"africa",continent:"非洲",population:869601,area:2235,currency:"科摩罗法郎",currencyCode:"KMF",language:"阿拉伯语",flag:"https://flagcdn.com/w320/km.png",description:"科摩罗联盟,简称科摩罗,是位于印度洋的岛国,首都莫罗尼。"},{code:"CG",name:"刚果(布)",nameEn:"Republic of the Congo",capital:"布拉柴维尔",capitalEn:"Brazzaville",region:"africa",continent:"非洲",population:5518087,area:342e3,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/cg.png",description:"刚果共和国,简称刚果(布),是位于非洲中西部的国家,首都布拉柴维尔。"},{code:"CD",name:"刚果(金)",nameEn:"Democratic Republic of the Congo",capital:"金沙萨",capitalEn:"Kinshasa",region:"africa",continent:"非洲",population:89561403,area:2344858,currency:"刚果法郎",currencyCode:"CDF",language:"法语",flag:"https://flagcdn.com/w320/cd.png",description:"刚果民主共和国,简称刚果(金),是位于非洲中部的国家,首都金沙萨。"},{code:"CI",name:"科特迪瓦",nameEn:"Ivory Coast",capital:"亚穆苏克罗",capitalEn:"Yamoussoukro",region:"africa",continent:"非洲",population:26378274,area:322463,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/ci.png",description:"科特迪瓦共和国,简称科特迪瓦,是位于非洲西部的国家,首都亚穆苏克罗。"},{code:"DJ",name:"吉布提",nameEn:"Djibouti",capital:"吉布提市",capitalEn:"Djibouti City",region:"africa",continent:"非洲",population:988e3,area:23200,currency:"吉布提法郎",currencyCode:"DJF",language:"法语",flag:"https://flagcdn.com/w320/dj.png",description:"吉布提共和国,简称吉布提,是位于非洲东北部的国家,首都吉布提市。"},{code:"EG",name:"埃及",nameEn:"Egypt",capital:"开罗",capitalEn:"Cairo",region:"africa",continent:"非洲",population:102334404,area:1001450,currency:"埃及镑",currencyCode:"EGP",language:"阿拉伯语",flag:"https://flagcdn.com/w320/eg.png",description:"阿拉伯埃及共和国,简称埃及,是位于非洲东北部的共和制国家,首都开罗。"},{code:"GQ",name:"赤道几内亚",nameEn:"Equatorial Guinea",capital:"马拉博",capitalEn:"Malabo",region:"africa",continent:"非洲",population:1402985,area:28051,currency:"中非法郎",currencyCode:"XAF",language:"西班牙语",flag:"https://flagcdn.com/w320/gq.png",description:"赤道几内亚共和国,简称赤道几内亚,是位于非洲中西部的国家,首都马拉博。"},{code:"ER",name:"厄立特里亚",nameEn:"Eritrea",capital:"阿斯马拉",capitalEn:"Asmara",region:"africa",continent:"非洲",population:3546421,area:117600,currency:"纳克法",currencyCode:"ERN",language:"提格雷尼亚语",flag:"https://flagcdn.com/w320/er.png",description:"厄立特里亚国,简称厄立特里亚,是位于非洲东北部的国家,首都阿斯马拉。"},{code:"SZ",name:"斯威士兰",nameEn:"Eswatini",capital:"姆巴巴纳",capitalEn:"Mbabane",region:"africa",continent:"非洲",population:1160164,area:17364,currency:"里兰吉尼",currencyCode:"SZL",language:"英语",flag:"https://flagcdn.com/w320/sz.png",description:"斯威士兰王国,简称斯威士兰,是位于非洲南部的内陆国家,首都姆巴巴纳。"},{code:"ET",name:"埃塞俄比亚",nameEn:"Ethiopia",capital:"亚的斯亚贝巴",capitalEn:"Addis Ababa",region:"africa",continent:"非洲",population:114963588,area:1104300,currency:"比尔",currencyCode:"ETB",language:"阿姆哈拉语",flag:"https://flagcdn.com/w320/et.png",description:"埃塞俄比亚联邦民主共和国,简称埃塞俄比亚,是位于非洲东部的内陆国家,首都亚的斯亚贝巴。"},{code:"GA",name:"加蓬",nameEn:"Gabon",capital:"利伯维尔",capitalEn:"Libreville",region:"africa",continent:"非洲",population:2225734,area:267668,currency:"中非法郎",currencyCode:"XAF",language:"法语",flag:"https://flagcdn.com/w320/ga.png",description:"加蓬共和国,简称加蓬,是位于非洲中西部的国家,首都利伯维尔。"},{code:"GM",name:"冈比亚",nameEn:"Gambia",capital:"班珠尔",capitalEn:"Banjul",region:"africa",continent:"非洲",population:2416668,area:11295,currency:"达拉西",currencyCode:"GMD",language:"英语",flag:"https://flagcdn.com/w320/gm.png",description:"冈比亚共和国,简称冈比亚,是位于非洲西部的国家,首都班珠尔。"},{code:"GH",name:"加纳",nameEn:"Ghana",capital:"阿克拉",capitalEn:"Accra",region:"africa",continent:"非洲",population:31072940,area:238533,currency:"塞地",currencyCode:"GHS",language:"英语",flag:"https://flagcdn.com/w320/gh.png",description:"加纳共和国,简称加纳,是位于非洲西部的国家,首都阿克拉。"},{code:"GN",name:"几内亚",nameEn:"Guinea",capital:"科纳克里",capitalEn:"Conakry",region:"africa",continent:"非洲",population:13132795,area:245857,currency:"几内亚法郎",currencyCode:"GNF",language:"法语",flag:"https://flagcdn.com/w320/gn.png",description:"几内亚共和国,简称几内亚,是位于非洲西部的国家,首都科纳克里。"},{code:"GW",name:"几内亚比绍",nameEn:"Guinea-Bissau",capital:"比绍",capitalEn:"Bissau",region:"africa",continent:"非洲",population:1968001,area:36125,currency:"西非法郎",currencyCode:"XOF",language:"葡萄牙语",flag:"https://flagcdn.com/w320/gw.png",description:"几内亚比绍共和国,简称几内亚比绍,是位于非洲西部的国家,首都比绍。"},{code:"KE",name:"肯尼亚",nameEn:"Kenya",capital:"内罗毕",capitalEn:"Nairobi",region:"africa",continent:"非洲",population:53771296,area:580367,currency:"肯尼亚先令",currencyCode:"KES",language:"英语",flag:"https://flagcdn.com/w320/ke.png",description:"肯尼亚共和国,简称肯尼亚,是位于非洲东部的国家,首都内罗毕。"},{code:"LS",name:"莱索托",nameEn:"Lesotho",capital:"马塞卢",capitalEn:"Maseru",region:"africa",continent:"非洲",population:2142249,area:30355,currency:"洛蒂",currencyCode:"LSL",language:"英语",flag:"https://flagcdn.com/w320/ls.png",description:"莱索托王国,简称莱索托,是位于非洲南部的内陆国家,首都马塞卢。"},{code:"LR",name:"利比里亚",nameEn:"Liberia",capital:"蒙罗维亚",capitalEn:"Monrovia",region:"africa",continent:"非洲",population:5057681,area:111369,currency:"利比里亚元",currencyCode:"LRD",language:"英语",flag:"https://flagcdn.com/w320/lr.png",description:"利比里亚共和国,简称利比里亚,是位于非洲西部的国家,首都蒙罗维亚。"},{code:"LY",name:"利比亚",nameEn:"Libya",capital:"的黎波里",capitalEn:"Tripoli",region:"africa",continent:"非洲",population:6871292,area:1759540,currency:"第纳尔",currencyCode:"LYD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ly.png",description:"利比亚国,简称利比亚,是位于非洲北部的国家,首都的黎波里。"},{code:"MG",name:"马达加斯加",nameEn:"Madagascar",capital:"塔那那利佛",capitalEn:"Antananarivo",region:"africa",continent:"非洲",population:27691018,area:587041,currency:"阿里亚里",currencyCode:"MGA",language:"马达加斯加语",flag:"https://flagcdn.com/w320/mg.png",description:"马达加斯加共和国,简称马达加斯加,是位于印度洋的岛国,首都塔那那利佛。"},{code:"MW",name:"马拉维",nameEn:"Malawi",capital:"利隆圭",capitalEn:"Lilongwe",region:"africa",continent:"非洲",population:19129952,area:118484,currency:"克瓦查",currencyCode:"MWK",language:"英语",flag:"https://flagcdn.com/w320/mw.png",description:"马拉维共和国,简称马拉维,是位于非洲东南部的内陆国家,首都利隆圭。"},{code:"ML",name:"马里",nameEn:"Mali",capital:"巴马科",capitalEn:"Bamako",region:"africa",continent:"非洲",population:20250833,area:1240192,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/ml.png",description:"马里共和国,简称马里,是位于非洲西部的内陆国家,首都巴马科。"},{code:"MR",name:"毛里塔尼亚",nameEn:"Mauritania",capital:"努瓦克肖特",capitalEn:"Nouakchott",region:"africa",continent:"非洲",population:4649658,area:1030700,currency:"乌吉亚",currencyCode:"MRU",language:"阿拉伯语",flag:"https://flagcdn.com/w320/mr.png",description:"毛里塔尼亚伊斯兰共和国,简称毛里塔尼亚,是位于非洲西北部的国家,首都努瓦克肖特。"},{code:"MU",name:"毛里求斯",nameEn:"Mauritius",capital:"路易港",capitalEn:"Port Louis",region:"africa",continent:"非洲",population:1271768,area:2040,currency:"毛里求斯卢比",currencyCode:"MUR",language:"英语",flag:"https://flagcdn.com/w320/mu.png",description:"毛里求斯共和国,简称毛里求斯,是位于印度洋的岛国,首都路易港。"},{code:"MA",name:"摩洛哥",nameEn:"Morocco",capital:"拉巴特",capitalEn:"Rabat",region:"africa",continent:"非洲",population:36910560,area:446550,currency:"迪拉姆",currencyCode:"MAD",language:"阿拉伯语",flag:"https://flagcdn.com/w320/ma.png",description:"摩洛哥王国,简称摩洛哥,是位于非洲西北部的国家,首都拉巴特。"},{code:"MZ",name:"莫桑比克",nameEn:"Mozambique",capital:"马普托",capitalEn:"Maputo",region:"africa",continent:"非洲",population:31255435,area:801590,currency:"梅蒂卡尔",currencyCode:"MZN",language:"葡萄牙语",flag:"https://flagcdn.com/w320/mz.png",description:"莫桑比克共和国,简称莫桑比克,是位于非洲东南部的国家,首都马普托。"},{code:"NA",name:"纳米比亚",nameEn:"Namibia",capital:"温得和克",capitalEn:"Windhoek",region:"africa",continent:"非洲",population:2540905,area:824292,currency:"纳米比亚元",currencyCode:"NAD",language:"英语",flag:"https://flagcdn.com/w320/na.png",description:"纳米比亚共和国,简称纳米比亚,是位于非洲西南部的国家,首都温得和克。"},{code:"NE",name:"尼日尔",nameEn:"Niger",capital:"尼亚美",capitalEn:"Niamey",region:"africa",continent:"非洲",population:24206644,area:1267e3,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/ne.png",description:"尼日尔共和国,简称尼日尔,是位于非洲西部的内陆国家,首都尼亚美。"},{code:"NG",name:"尼日利亚",nameEn:"Nigeria",capital:"阿布贾",capitalEn:"Abuja",region:"africa",continent:"非洲",population:206139589,area:923768,currency:"奈拉",currencyCode:"NGN",language:"英语",flag:"https://flagcdn.com/w320/ng.png",description:"尼日利亚联邦共和国,简称尼日利亚,是位于非洲西部的国家,首都阿布贾。"},{code:"RW",name:"卢旺达",nameEn:"Rwanda",capital:"基加利",capitalEn:"Kigali",region:"africa",continent:"非洲",population:12952218,area:26338,currency:"卢旺达法郎",currencyCode:"RWF",language:"卢旺达语",flag:"https://flagcdn.com/w320/rw.png",description:"卢旺达共和国,简称卢旺达,是位于非洲中东部的内陆国家,首都基加利。"},{code:"ST",name:"圣多美和普林西比",nameEn:"Sao Tome and Principe",capital:"圣多美",capitalEn:"Sao Tome",region:"africa",continent:"非洲",population:219159,area:964,currency:"多布拉",currencyCode:"STN",language:"葡萄牙语",flag:"https://flagcdn.com/w320/st.png",description:"圣多美和普林西比民主共和国,简称圣多美和普林西比,是位于几内亚湾的岛国,首都圣多美。"},{code:"SN",name:"塞内加尔",nameEn:"Senegal",capital:"达喀尔",capitalEn:"Dakar",region:"africa",continent:"非洲",population:16743927,area:196722,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/sn.png",description:"塞内加尔共和国,简称塞内加尔,是位于非洲西部的国家,首都达喀尔。"},{code:"SC",name:"塞舌尔",nameEn:"Seychelles",capital:"维多利亚",capitalEn:"Victoria",region:"africa",continent:"非洲",population:98347,area:455,currency:"塞舌尔卢比",currencyCode:"SCR",language:"英语",flag:"https://flagcdn.com/w320/sc.png",description:"塞舌尔共和国,简称塞舌尔,是位于印度洋的岛国,首都维多利亚。"},{code:"SL",name:"塞拉利昂",nameEn:"Sierra Leone",capital:"弗里敦",capitalEn:"Freetown",region:"africa",continent:"非洲",population:7976983,area:71740,currency:"利昂",currencyCode:"SLL",language:"英语",flag:"https://flagcdn.com/w320/sl.png",description:"塞拉利昂共和国,简称塞拉利昂,是位于非洲西部的国家,首都弗里敦。"},{code:"SO",name:"索马里",nameEn:"Somalia",capital:"摩加迪沙",capitalEn:"Mogadishu",region:"africa",continent:"非洲",population:15893222,area:637657,currency:"索马里先令",currencyCode:"SOS",language:"索马里语",flag:"https://flagcdn.com/w320/so.png",description:"索马里联邦共和国,简称索马里,是位于非洲东部的国家,首都摩加迪沙。"},{code:"ZA",name:"南非",nameEn:"South Africa",capital:"开普敦",capitalEn:"Cape Town",region:"africa",continent:"非洲",population:59308690,area:1221037,currency:"兰特",currencyCode:"ZAR",language:"英语",flag:"https://flagcdn.com/w320/za.png",description:"南非共和国,简称南非,是位于非洲南部的共和制国家,首都开普敦。"},{code:"SS",name:"南苏丹",nameEn:"South Sudan",capital:"朱巴",capitalEn:"Juba",region:"africa",continent:"非洲",population:11193725,area:644329,currency:"南苏丹镑",currencyCode:"SSP",language:"英语",flag:"https://flagcdn.com/w320/ss.png",description:"南苏丹共和国,简称南苏丹,是位于非洲东北部的内陆国家,首都朱巴。"},{code:"SD",name:"苏丹",nameEn:"Sudan",capital:"喀土穆",capitalEn:"Khartoum",region:"africa",continent:"非洲",population:43849260,area:1861484,currency:"苏丹镑",currencyCode:"SDG",language:"阿拉伯语",flag:"https://flagcdn.com/w320/sd.png",description:"苏丹共和国,简称苏丹,是位于非洲东北部的国家,首都喀土穆。"},{code:"TZ",name:"坦桑尼亚",nameEn:"Tanzania",capital:"多多马",capitalEn:"Dodoma",region:"africa",continent:"非洲",population:59734218,area:947303,currency:"坦桑尼亚先令",currencyCode:"TZS",language:"斯瓦希里语",flag:"https://flagcdn.com/w320/tz.png",description:"坦桑尼亚联合共和国,简称坦桑尼亚,是位于非洲东部的国家,首都多多马。"},{code:"TG",name:"多哥",nameEn:"Togo",capital:"洛美",capitalEn:"Lome",region:"africa",continent:"非洲",population:8278724,area:56785,currency:"西非法郎",currencyCode:"XOF",language:"法语",flag:"https://flagcdn.com/w320/tg.png",description:"多哥共和国,简称多哥,是位于非洲西部的国家,首都洛美。"},{code:"TN",name:"突尼斯",nameEn:"Tunisia",capital:"突尼斯市",capitalEn:"Tunis",region:"africa",continent:"非洲",population:11818619,area:163610,currency:"第纳尔",currencyCode:"TND",language:"阿拉伯语",flag:"https://flagcdn.com/w320/tn.png",description:"突尼斯共和国,简称突尼斯,是位于非洲北部的国家,首都突尼斯市。"},{code:"UG",name:"乌干达",nameEn:"Uganda",capital:"坎帕拉",capitalEn:"Kampala",region:"africa",continent:"非洲",population:45741007,area:241038,currency:"乌干达先令",currencyCode:"UGX",language:"英语",flag:"https://flagcdn.com/w320/ug.png",description:"乌干达共和国,简称乌干达,是位于非洲东部的内陆国家,首都坎帕拉。"},{code:"ZM",name:"赞比亚",nameEn:"Zambia",capital:"卢萨卡",capitalEn:"Lusaka",region:"africa",continent:"非洲",population:18383955,area:752618,currency:"克瓦查",currencyCode:"ZMW",language:"英语",flag:"https://flagcdn.com/w320/zm.png",description:"赞比亚共和国,简称赞比亚,是位于非洲南部的内陆国家,首都卢萨卡。"},{code:"ZW",name:"津巴布韦",nameEn:"Zimbabwe",capital:"哈拉雷",capitalEn:"Harare",region:"africa",continent:"非洲",population:14862924,area:390757,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/zw.png",description:"津巴布韦共和国,简称津巴布韦,是位于非洲南部的内陆国家,首都哈拉雷。"},{code:"US",name:"美国",nameEn:"United States",capital:"华盛顿",capitalEn:"Washington D.C.",region:"north-america",continent:"北美洲",population:331002651,area:9833517,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/us.png",description:"美利坚合众国,简称美国,是位于北美洲的联邦共和制国家,首都华盛顿哥伦比亚特区。"},{code:"CA",name:"加拿大",nameEn:"Canada",capital:"渥太华",capitalEn:"Ottawa",region:"north-america",continent:"北美洲",population:37742154,area:9984670,currency:"加元",currencyCode:"CAD",language:"英语",flag:"https://flagcdn.com/w320/ca.png",description:"加拿大,是位于北美洲北部的联邦制国家,首都渥太华。"},{code:"MX",name:"墨西哥",nameEn:"Mexico",capital:"墨西哥城",capitalEn:"Mexico City",region:"north-america",continent:"北美洲",population:128932753,area:1964375,currency:"比索",currencyCode:"MXN",language:"西班牙语",flag:"https://flagcdn.com/w320/mx.png",description:"墨西哥合众国,简称墨西哥,是位于北美洲南部的联邦制国家,首都墨西哥城。"},{code:"AG",name:"安提瓜和巴布达",nameEn:"Antigua and Barbuda",capital:"圣约翰",capitalEn:"Saint John's",region:"north-america",continent:"北美洲",population:97929,area:442,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/ag.png",description:"安提瓜和巴布达,是位于加勒比海的岛国,首都圣约翰。"},{code:"BS",name:"巴哈马",nameEn:"Bahamas",capital:"拿骚",capitalEn:"Nassau",region:"north-america",continent:"北美洲",population:393244,area:13943,currency:"巴哈马元",currencyCode:"BSD",language:"英语",flag:"https://flagcdn.com/w320/bs.png",description:"巴哈马联邦,简称巴哈马,是位于大西洋的岛国,首都拿骚。"},{code:"BB",name:"巴巴多斯",nameEn:"Barbados",capital:"布里奇敦",capitalEn:"Bridgetown",region:"north-america",continent:"北美洲",population:287375,area:430,currency:"巴巴多斯元",currencyCode:"BBD",language:"英语",flag:"https://flagcdn.com/w320/bb.png",description:"巴巴多斯,是位于加勒比海的岛国,首都布里奇敦。"},{code:"BZ",name:"伯利兹",nameEn:"Belize",capital:"贝尔莫潘",capitalEn:"Belmopan",region:"north-america",continent:"北美洲",population:397628,area:22966,currency:"伯利兹元",currencyCode:"BZD",language:"英语",flag:"https://flagcdn.com/w320/bz.png",description:"伯利兹,是位于中美洲的国家,首都贝尔莫潘。"},{code:"CR",name:"哥斯达黎加",nameEn:"Costa Rica",capital:"圣何塞",capitalEn:"San Jose",region:"north-america",continent:"北美洲",population:5094118,area:51100,currency:"科朗",currencyCode:"CRC",language:"西班牙语",flag:"https://flagcdn.com/w320/cr.png",description:"哥斯达黎加共和国,简称哥斯达黎加,是位于中美洲的国家,首都圣何塞。"},{code:"CU",name:"古巴",nameEn:"Cuba",capital:"哈瓦那",capitalEn:"Havana",region:"north-america",continent:"北美洲",population:11326616,area:109884,currency:"比索",currencyCode:"CUP",language:"西班牙语",flag:"https://flagcdn.com/w320/cu.png",description:"古巴共和国,简称古巴,是位于加勒比海的岛国,首都哈瓦那。"},{code:"DM",name:"多米尼克",nameEn:"Dominica",capital:"罗索",capitalEn:"Roseau",region:"north-america",continent:"北美洲",population:71986,area:751,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/dm.png",description:"多米尼克联邦,简称多米尼克,是位于加勒比海的岛国,首都罗索。"},{code:"DO",name:"多米尼加",nameEn:"Dominican Republic",capital:"圣多明各",capitalEn:"Santo Domingo",region:"north-america",continent:"北美洲",population:10847910,area:48671,currency:"比索",currencyCode:"DOP",language:"西班牙语",flag:"https://flagcdn.com/w320/do.png",description:"多米尼加共和国,简称多米尼加,是位于加勒比海的国家,首都圣多明各。"},{code:"SV",name:"萨尔瓦多",nameEn:"El Salvador",capital:"圣萨尔瓦多",capitalEn:"San Salvador",region:"north-america",continent:"北美洲",population:6486205,area:21041,currency:"美元",currencyCode:"USD",language:"西班牙语",flag:"https://flagcdn.com/w320/sv.png",description:"萨尔瓦多共和国,简称萨尔瓦多,是位于中美洲的国家,首都圣萨尔瓦多。"},{code:"GD",name:"格林纳达",nameEn:"Grenada",capital:"圣乔治",capitalEn:"Saint George's",region:"north-america",continent:"北美洲",population:112523,area:344,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/gd.png",description:"格林纳达,是位于加勒比海的岛国,首都圣乔治。"},{code:"GT",name:"危地马拉",nameEn:"Guatemala",capital:"危地马拉城",capitalEn:"Guatemala City",region:"north-america",continent:"北美洲",population:17915568,area:108889,currency:"格查尔",currencyCode:"GTQ",language:"西班牙语",flag:"https://flagcdn.com/w320/gt.png",description:"危地马拉共和国,简称危地马拉,是位于中美洲的国家,首都危地马拉城。"},{code:"HT",name:"海地",nameEn:"Haiti",capital:"太子港",capitalEn:"Port-au-Prince",region:"north-america",continent:"北美洲",population:11402528,area:27750,currency:"古德",currencyCode:"HTG",language:"法语",flag:"https://flagcdn.com/w320/ht.png",description:"海地共和国,简称海地,是位于加勒比海的国家,首都太子港。"},{code:"HN",name:"洪都拉斯",nameEn:"Honduras",capital:"特古西加尔巴",capitalEn:"Tegucigalpa",region:"north-america",continent:"北美洲",population:9904607,area:112492,currency:"伦皮拉",currencyCode:"HNL",language:"西班牙语",flag:"https://flagcdn.com/w320/hn.png",description:"洪都拉斯共和国,简称洪都拉斯,是位于中美洲的国家,首都特古西加尔巴。"},{code:"JM",name:"牙买加",nameEn:"Jamaica",capital:"金斯敦",capitalEn:"Kingston",region:"north-america",continent:"北美洲",population:2961167,area:10991,currency:"牙买加元",currencyCode:"JMD",language:"英语",flag:"https://flagcdn.com/w320/jm.png",description:"牙买加,是位于加勒比海的岛国,首都金斯敦。"},{code:"NI",name:"尼加拉瓜",nameEn:"Nicaragua",capital:"马那瓜",capitalEn:"Managua",region:"north-america",continent:"北美洲",population:6624554,area:130373,currency:"科多巴",currencyCode:"NIO",language:"西班牙语",flag:"https://flagcdn.com/w320/ni.png",description:"尼加拉瓜共和国,简称尼加拉瓜,是位于中美洲的国家,首都马那瓜。"},{code:"PA",name:"巴拿马",nameEn:"Panama",capital:"巴拿马城",capitalEn:"Panama City",region:"north-america",continent:"北美洲",population:4314767,area:75417,currency:"巴波亚",currencyCode:"PAB",language:"西班牙语",flag:"https://flagcdn.com/w320/pa.png",description:"巴拿马共和国,简称巴拿马,是位于中美洲的国家,首都巴拿马城。"},{code:"KN",name:"圣基茨和尼维斯",nameEn:"Saint Kitts and Nevis",capital:"巴斯特尔",capitalEn:"Basseterre",region:"north-america",continent:"北美洲",population:53199,area:261,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/kn.png",description:"圣基茨和尼维斯联邦,简称圣基茨和尼维斯,是位于加勒比海的岛国,首都巴斯特尔。"},{code:"LC",name:"圣卢西亚",nameEn:"Saint Lucia",capital:"卡斯特里",capitalEn:"Castries",region:"north-america",continent:"北美洲",population:183627,area:616,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/lc.png",description:"圣卢西亚,是位于加勒比海的岛国,首都卡斯特里。"},{code:"VC",name:"圣文森特和格林纳丁斯",nameEn:"Saint Vincent and the Grenadines",capital:"金斯敦",capitalEn:"Kingstown",region:"north-america",continent:"北美洲",population:110940,area:389,currency:"东加勒比元",currencyCode:"XCD",language:"英语",flag:"https://flagcdn.com/w320/vc.png",description:"圣文森特和格林纳丁斯,是位于加勒比海的岛国,首都金斯敦。"},{code:"TT",name:"特立尼达和多巴哥",nameEn:"Trinidad and Tobago",capital:"西班牙港",capitalEn:"Port of Spain",region:"north-america",continent:"北美洲",population:1399488,area:5128,currency:"特立尼达和多巴哥元",currencyCode:"TTD",language:"英语",flag:"https://flagcdn.com/w320/tt.png",description:"特立尼达和多巴哥共和国,简称特立尼达和多巴哥,是位于加勒比海的岛国,首都西班牙港。"},{code:"BR",name:"巴西",nameEn:"Brazil",capital:"巴西利亚",capitalEn:"Brasília",region:"south-america",continent:"南美洲",population:212559417,area:8514877,currency:"雷亚尔",currencyCode:"BRL",language:"葡萄牙语",flag:"https://flagcdn.com/w320/br.png",description:"巴西联邦共和国,简称巴西,是位于南美洲的联邦制国家,首都巴西利亚。"},{code:"AR",name:"阿根廷",nameEn:"Argentina",capital:"布宜诺斯艾利斯",capitalEn:"Buenos Aires",region:"south-america",continent:"南美洲",population:45195774,area:2780400,currency:"比索",currencyCode:"ARS",language:"西班牙语",flag:"https://flagcdn.com/w320/ar.png",description:"阿根廷共和国,简称阿根廷,是位于南美洲南部的联邦制国家,首都布宜诺斯艾利斯。"},{code:"BO",name:"玻利维亚",nameEn:"Bolivia",capital:"苏克雷",capitalEn:"Sucre",region:"south-america",continent:"南美洲",population:11673021,area:1098581,currency:"玻利维亚诺",currencyCode:"BOB",language:"西班牙语",flag:"https://flagcdn.com/w320/bo.png",description:"玻利维亚多民族国,简称玻利维亚,是位于南美洲中部的内陆国家,首都苏克雷。"},{code:"CL",name:"智利",nameEn:"Chile",capital:"圣地亚哥",capitalEn:"Santiago",region:"south-america",continent:"南美洲",population:19116201,area:756096,currency:"比索",currencyCode:"CLP",language:"西班牙语",flag:"https://flagcdn.com/w320/cl.png",description:"智利共和国,简称智利,是位于南美洲西部的国家,首都圣地亚哥。"},{code:"CO",name:"哥伦比亚",nameEn:"Colombia",capital:"波哥大",capitalEn:"Bogota",region:"south-america",continent:"南美洲",population:50882891,area:1141748,currency:"比索",currencyCode:"COP",language:"西班牙语",flag:"https://flagcdn.com/w320/co.png",description:"哥伦比亚共和国,简称哥伦比亚,是位于南美洲西北部的国家,首都波哥大。"},{code:"EC",name:"厄瓜多尔",nameEn:"Ecuador",capital:"基多",capitalEn:"Quito",region:"south-america",continent:"南美洲",population:17643054,area:283561,currency:"美元",currencyCode:"USD",language:"西班牙语",flag:"https://flagcdn.com/w320/ec.png",description:"厄瓜多尔共和国,简称厄瓜多尔,是位于南美洲西北部的国家,首都基多。"},{code:"GY",name:"圭亚那",nameEn:"Guyana",capital:"乔治敦",capitalEn:"Georgetown",region:"south-america",continent:"南美洲",population:786552,area:214969,currency:"圭亚那元",currencyCode:"GYD",language:"英语",flag:"https://flagcdn.com/w320/gy.png",description:"圭亚那合作共和国,简称圭亚那,是位于南美洲北部的国家,首都乔治敦。"},{code:"PY",name:"巴拉圭",nameEn:"Paraguay",capital:"亚松森",capitalEn:"Asuncion",region:"south-america",continent:"南美洲",population:7132538,area:406752,currency:"瓜拉尼",currencyCode:"PYG",language:"西班牙语",flag:"https://flagcdn.com/w320/py.png",description:"巴拉圭共和国,简称巴拉圭,是位于南美洲中部的内陆国家,首都亚松森。"},{code:"PE",name:"秘鲁",nameEn:"Peru",capital:"利马",capitalEn:"Lima",region:"south-america",continent:"南美洲",population:32971854,area:1285216,currency:"索尔",currencyCode:"PEN",language:"西班牙语",flag:"https://flagcdn.com/w320/pe.png",description:"秘鲁共和国,简称秘鲁,是位于南美洲西部的国家,首都利马。"},{code:"SR",name:"苏里南",nameEn:"Suriname",capital:"帕拉马里博",capitalEn:"Paramaribo",region:"south-america",continent:"南美洲",population:586632,area:163820,currency:"苏里南元",currencyCode:"SRD",language:"荷兰语",flag:"https://flagcdn.com/w320/sr.png",description:"苏里南共和国,简称苏里南,是位于南美洲北部的国家,首都帕拉马里博。"},{code:"UY",name:"乌拉圭",nameEn:"Uruguay",capital:"蒙得维的亚",capitalEn:"Montevideo",region:"south-america",continent:"南美洲",population:3473730,area:176215,currency:"比索",currencyCode:"UYU",language:"西班牙语",flag:"https://flagcdn.com/w320/uy.png",description:"乌拉圭东岸共和国,简称乌拉圭,是位于南美洲东南部的国家,首都蒙得维的亚。"},{code:"VE",name:"委内瑞拉",nameEn:"Venezuela",capital:"加拉加斯",capitalEn:"Caracas",region:"south-america",continent:"南美洲",population:28435940,area:912050,currency:"玻利瓦尔",currencyCode:"VES",language:"西班牙语",flag:"https://flagcdn.com/w320/ve.png",description:"委内瑞拉玻利瓦尔共和国,简称委内瑞拉,是位于南美洲北部的国家,首都加拉加斯。"},{code:"AU",name:"澳大利亚",nameEn:"Australia",capital:"堪培拉",capitalEn:"Canberra",region:"oceania",continent:"大洋洲",population:25499884,area:7692024,currency:"澳元",currencyCode:"AUD",language:"英语",flag:"https://flagcdn.com/w320/au.png",description:"澳大利亚联邦,简称澳大利亚,是位于大洋洲的联邦制国家,首都堪培拉。"},{code:"NZ",name:"新西兰",nameEn:"New Zealand",capital:"惠灵顿",capitalEn:"Wellington",region:"oceania",continent:"大洋洲",population:4822233,area:268838,currency:"新西兰元",currencyCode:"NZD",language:"英语",flag:"https://flagcdn.com/w320/nz.png",description:"新西兰,是位于大洋洲的岛国,首都惠灵顿。"},{code:"FJ",name:"斐济",nameEn:"Fiji",capital:"苏瓦",capitalEn:"Suva",region:"oceania",continent:"大洋洲",population:896445,area:18274,currency:"斐济元",currencyCode:"FJD",language:"英语",flag:"https://flagcdn.com/w320/fj.png",description:"斐济共和国,简称斐济,是位于南太平洋的岛国,首都苏瓦。"},{code:"KI",name:"基里巴斯",nameEn:"Kiribati",capital:"塔拉瓦",capitalEn:"Tarawa",region:"oceania",continent:"大洋洲",population:119449,area:811,currency:"澳元",currencyCode:"AUD",language:"英语",flag:"https://flagcdn.com/w320/ki.png",description:"基里巴斯共和国,简称基里巴斯,是位于太平洋的岛国,首都塔拉瓦。"},{code:"MH",name:"马绍尔群岛",nameEn:"Marshall Islands",capital:"马朱罗",capitalEn:"Majuro",region:"oceania",continent:"大洋洲",population:59190,area:181,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/mh.png",description:"马绍尔群岛共和国,简称马绍尔群岛,是位于太平洋的岛国,首都马朱罗。"},{code:"FM",name:"密克罗尼西亚",nameEn:"Micronesia",capital:"帕利基尔",capitalEn:"Palikir",region:"oceania",continent:"大洋洲",population:115023,area:702,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/fm.png",description:"密克罗尼西亚联邦,简称密克罗尼西亚,是位于太平洋的岛国,首都帕利基尔。"},{code:"NR",name:"瑙鲁",nameEn:"Nauru",capital:"亚伦",capitalEn:"Yaren",region:"oceania",continent:"大洋洲",population:10824,area:21,currency:"澳元",currencyCode:"AUD",language:"英语",flag:"https://flagcdn.com/w320/nr.png",description:"瑙鲁共和国,简称瑙鲁,是位于太平洋的岛国,首都亚伦。"},{code:"PW",name:"帕劳",nameEn:"Palau",capital:"恩吉鲁穆德",capitalEn:"Ngerulmud",region:"oceania",continent:"大洋洲",population:18094,area:459,currency:"美元",currencyCode:"USD",language:"英语",flag:"https://flagcdn.com/w320/pw.png",description:"帕劳共和国,简称帕劳,是位于太平洋的岛国,首都恩吉鲁穆德。"},{code:"PG",name:"巴布亚新几内亚",nameEn:"Papua New Guinea",capital:"莫尔兹比港",capitalEn:"Port Moresby",region:"oceania",continent:"大洋洲",population:8947024,area:462840,currency:"基那",currencyCode:"PGK",language:"英语",flag:"https://flagcdn.com/w320/pg.png",description:"巴布亚新几内亚独立国,简称巴布亚新几内亚,是位于太平洋的岛国,首都莫尔兹比港。"},{code:"WS",name:"萨摩亚",nameEn:"Samoa",capital:"阿皮亚",capitalEn:"Apia",region:"oceania",continent:"大洋洲",population:198414,area:2831,currency:"塔拉",currencyCode:"WST",language:"英语",flag:"https://flagcdn.com/w320/ws.png",description:"萨摩亚独立国,简称萨摩亚,是位于太平洋的岛国,首都阿皮亚。"},{code:"SB",name:"所罗门群岛",nameEn:"Solomon Islands",capital:"霍尼亚拉",capitalEn:"Honiara",region:"oceania",continent:"大洋洲",population:686884,area:28896,currency:"所罗门群岛元",currencyCode:"SBD",language:"英语",flag:"https://flagcdn.com/w320/sb.png",description:"所罗门群岛,是位于太平洋的岛国,首都霍尼亚拉。"},{code:"TO",name:"汤加",nameEn:"Tonga",capital:"努库阿洛法",capitalEn:"Nuku'alofa",region:"oceania",continent:"大洋洲",population:105695,area:747,currency:"潘加",currencyCode:"TOP",language:"英语",flag:"https://flagcdn.com/w320/to.png",description:"汤加王国,简称汤加,是位于太平洋的岛国,首都努库阿洛法。"},{code:"TV",name:"图瓦卢",nameEn:"Tuvalu",capital:"富纳富提",capitalEn:"Funafuti",region:"oceania",continent:"大洋洲",population:11792,area:26,currency:"澳元",currencyCode:"AUD",language:"英语",flag:"https://flagcdn.com/w320/tv.png",description:"图瓦卢,是位于太平洋的岛国,首都富纳富提。"},{code:"VU",name:"瓦努阿图",nameEn:"Vanuatu",capital:"维拉港",capitalEn:"Port Vila",region:"oceania",continent:"大洋洲",population:307145,area:12189,currency:"瓦图",currencyCode:"VUV",language:"英语",flag:"https://flagcdn.com/w320/vu.png",description:"瓦努阿图共和国,简称瓦努阿图,是位于太平洋的岛国,首都维拉港。"}]),y=["US","CA","GB","FR","DE","IT","ES","NL","BE","CH","AT","SE","NO","DK","FI","IS","IE","LU","PT","GR","CY","MT","JP","KR","AU","NZ","SG","IL","CZ","SK","SI","EE","LV","LT","PL","HU"],v=is(()=>{let e=g.value;if("all"!==i.value&&(e=e.filter(e=>e.region===i.value)),s.value.trim()){const t=s.value.toLowerCase().trim();e=e.filter(e=>e.name.toLowerCase().includes(t)||e.nameEn.toLowerCase().includes(t)||e.capital.toLowerCase().includes(t)||e.capitalEn.toLowerCase().includes(t))}return"all"!==o.value&&(e=e.filter(e=>{const t=e.population;switch(o.value){case"large":return t>1e8;case"medium":return t>=1e7&&t<=1e8;case"small":return t<1e7;default:return!0}})),"all"!==l.value&&(e=e.filter(e=>{const t=e.area;switch(l.value){case"huge":return t>5e6;case"large":return t>=1e6&&t<=5e6;case"medium":return t>=1e5&&t<1e6;case"small":return t<1e5;default:return!0}})),"all"!==c.value&&(e=e.filter(e=>{const t=y.includes(e.code);return"developed"===c.value?t:!t})),"name"!==u.value?e.sort((e,t)=>{let a,n;switch(u.value){case"population":a=e.population,n=t.population;break;case"area":a=e.area,n=t.area;break;default:a=e.name,n=t.name}if("number"==typeof a&&"number"==typeof n)return"desc"===d.value?n-a:a-n;{const e=String(a),t=String(n);return"desc"===d.value?t.localeCompare(e):e.localeCompare(t)}}):e.sort((e,t)=>"desc"===d.value?t.name.localeCompare(e.name):e.name.localeCompare(t.name)),e}),b=is(()=>Math.ceil(v.value.length/20)),w=is(()=>{const e=20*(h.value-1),t=e+20;return v.value.slice(e,t)}),x=e=>{const t=m.value.find(t=>t.key===e);return t?t.name:e},k=e=>"all"===e?g.value.length:g.value.filter(t=>t.region===e).length,_=e=>e>=1e8?`${(e/1e8).toFixed(1)}亿`:e>=1e4?`${(e/1e4).toFixed(1)}万`:e.toLocaleString(),E=e=>`${e.toLocaleString()} km²`,C=e=>{e.target.src="data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNDAiIGhlaWdodD0iMzAiIHZpZXdCb3g9IjAgMCA0MCAzMCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHJlY3Qgd2lkdGg9IjQwIiBoZWlnaHQ9IjMwIiBmaWxsPSIjRjNGNEY2Ii8+CjxwYXRoIGQ9Ik0xNiAxMkwyNCAxOE0yNCAxMkwxNiAxOCIgc3Ryb2tlPSIjOUI5QkEwIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIvPgo8L3N2Zz4K"},F=()=>{d.value="asc"===d.value?"desc":"asc"};return nn(async()=>{try{n("195个国家首都数据加载完成")}catch(e){r("数据加载失败,请刷新重试")}}),pa([s,i,o,l,c,u,d],(e,t)=>{if(h.value=1,!t)return;const a=[];if("all"!==i.value){const e=m.value.find(e=>e.key===i.value)?.name;a.push(e)}if("all"!==o.value){const e="large"===o.value?"大国(>1亿人口)":"medium"===o.value?"中等国家(1000万-1亿人口)":"小国(<1000万人口)";a.push(e)}if("all"!==l.value){const e="huge"===l.value?"超大国家(>500万km²)":"large"===l.value?"大国(100万-500万km²)":"medium"===l.value?"中等国家(10万-100万km²)":"小国(<10万km²)";a.push(e)}if("all"!==c.value){const e="developed"===c.value?"发达国家":"发展中国家";a.push(e)}const r="name"===u.value?"名称":"population"===u.value?"人口":"面积",s="asc"===d.value?"升序":"降序";a.length>0?n(`筛选条件: ${a.join(" + ")},按${r}${s}排序`):n(`显示全部国家,按${r}${s}排序`)}),(e,t)=>(Cr(),Tr("div",sne,[Or(hl,{title:Nt(a),onBack:t[0]||(t[0]=t=>e.$emit("back"))},null,8,["title"]),Mr("div",ine,[Mr("div",one,[Or($X,{"search-query":s.value,"onUpdate:searchQuery":t[1]||(t[1]=e=>s.value=e),"active-filter":i.value,"onUpdate:activeFilter":t[2]||(t[2]=e=>i.value=e),placeholder:"搜索国家或首都...",filters:m.value},null,8,["search-query","active-filter","filters"]),Mr("div",lne,[Mr("div",cne,[Mr("div",une,[Mr("h3",null,se("all"===i.value?s.value?"搜索结果":"世界各国":x(i.value)),1),Mr("div",dne,[Mr("span",hne,"共 "+se(v.value.length)+" 个国家",1)])]),Mr("div",pne,[Mr("div",fne,[t[11]||(t[11]=Mr("label",{class:"filter-label"},"人口",-1)),ca(Mr("select",{"onUpdate:modelValue":t[3]||(t[3]=e=>o.value=e),class:"filter-select"},[...t[10]||(t[10]=[Mr("option",{value:"all"},"全部",-1),Mr("option",{value:"large"},"大国 (>1亿)",-1),Mr("option",{value:"medium"},"中等 (1000万-1亿)",-1),Mr("option",{value:"small"},"小国 (<1000万)",-1)])],512),[[_i,o.value]])]),Mr("div",mne,[t[13]||(t[13]=Mr("label",{class:"filter-label"},"面积",-1)),ca(Mr("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>l.value=e),class:"filter-select"},[...t[12]||(t[12]=[Lr('',5)])],512),[[_i,l.value]])]),Mr("div",gne,[t[15]||(t[15]=Mr("label",{class:"filter-label"},"发展水平",-1)),ca(Mr("select",{"onUpdate:modelValue":t[5]||(t[5]=e=>c.value=e),class:"filter-select"},[...t[14]||(t[14]=[Mr("option",{value:"all"},"全部",-1),Mr("option",{value:"developed"},"发达国家",-1),Mr("option",{value:"developing"},"发展中国家",-1)])],512),[[_i,c.value]])]),Mr("div",yne,[t[17]||(t[17]=Mr("label",{class:"filter-label"},"排序方式",-1)),ca(Mr("select",{"onUpdate:modelValue":t[6]||(t[6]=e=>u.value=e),class:"filter-select"},[...t[16]||(t[16]=[Mr("option",{value:"name"},"按名称",-1),Mr("option",{value:"population"},"按人口",-1),Mr("option",{value:"area"},"按面积",-1)])],512),[[_i,u.value]])]),Mr("div",vne,[Mr("button",{onClick:F,class:"sort-btn"},se("asc"===d.value?"↑":"↓"),1)])])]),Mr("div",bne,[(Cr(!0),Tr(br,null,yn(w.value,(e,a)=>(Cr(),Tr("div",{key:e.code,class:"country-card",onClick:t=>(e=>{f.value=e,p.value=!0})(e)},[Mr("div",xne,[Mr("div",kne,se(20*(h.value-1)+a+1),1),Mr("div",_ne,se(x(e.region)),1)]),Mr("div",Ene,[Mr("div",Cne,[Mr("div",Fne,[Mr("img",{src:e.flag,alt:`${e.name}国旗`,class:"flag-image",onError:C},null,40,Dne)]),Mr("div",Ane,[Mr("div",Tne,[Mr("h3",Sne,se(e.name),1),Mr("p",Ine,se(e.nameEn),1)]),Mr("div",Nne,[Mr("div",Pne,[t[18]||(t[18]=Mr("span",{class:"capital-icon"},"🏛️",-1)),Mr("div",Bne,[Mr("div",Mne,se(e.capital),1),Mr("div",One,se(e.capitalEn),1)])])])])]),Mr("div",Une,[Mr("div",jne,[t[19]||(t[19]=Mr("span",{class:"stat-icon"},"🌍",-1)),Mr("span",Lne,se(e.continent),1)]),Mr("div",Rne,[t[20]||(t[20]=Mr("span",{class:"stat-icon"},"👥",-1)),Mr("span",zne,se(_(e.population)),1)]),Mr("div",Hne,[t[21]||(t[21]=Mr("span",{class:"stat-icon"},"📐",-1)),Mr("span",$ne,se(E(e.area)),1)])])])],8,wne))),128))]),b.value>1?(Cr(),Tr("div",Yne,[Mr("button",{class:"page-btn",disabled:1===h.value,onClick:t[7]||(t[7]=e=>h.value--)}," ‹ ",8,Gne),Mr("span",Wne,se(h.value)+" / "+se(b.value),1),Mr("button",{class:"page-btn",disabled:h.value===b.value,onClick:t[8]||(t[8]=e=>h.value++)}," › ",8,Vne)])):(Cr(),Tr("div",Kne))])])]),Or(tQ,{visible:p.value,"onUpdate:visible":t[9]||(t[9]=e=>p.value=e),title:f.value?.name||"","max-width":"600px","max-height":"80vh"},{default:la(()=>[f.value?(Cr(),Tr("div",Jne,[Mr("div",qne,[Mr("div",Zne,[Mr("img",{src:f.value.flag,alt:`${f.value.name}国旗`,class:"flag-image-large",onError:C},null,40,Xne)]),Mr("div",Qne,[Mr("h3",null,se(f.value.name),1),Mr("p",null,se(f.value.nameEn),1)])]),Mr("div",ere,[Mr("div",tre,[t[22]||(t[22]=Mr("div",{class:"info-label"},"首都",-1)),Mr("div",are,[jr(se(f.value.capital)+" ",1),Mr("div",nre,se(f.value.capitalEn),1)])]),Mr("div",rre,[t[23]||(t[23]=Mr("div",{class:"info-label"},"地区",-1)),Mr("div",sre,se(x(f.value.region)),1)]),Mr("div",ire,[t[24]||(t[24]=Mr("div",{class:"info-label"},"大洲",-1)),Mr("div",ore,se(f.value.continent),1)]),Mr("div",lre,[t[25]||(t[25]=Mr("div",{class:"info-label"},"人口",-1)),Mr("div",cre,se(_(f.value.population)),1)]),Mr("div",ure,[t[26]||(t[26]=Mr("div",{class:"info-label"},"面积",-1)),Mr("div",dre,se(E(f.value.area)),1)]),Mr("div",hre,[t[27]||(t[27]=Mr("div",{class:"info-label"},"货币",-1)),Mr("div",pre,[jr(se(f.value.currency)+" ",1),Mr("div",fre,se(f.value.currencyCode),1)])]),Mr("div",mre,[t[28]||(t[28]=Mr("div",{class:"info-label"},"语言",-1)),Mr("div",gre,se(f.value.language),1)]),Mr("div",yre,[t[29]||(t[29]=Mr("div",{class:"info-label"},"国家代码",-1)),Mr("div",vre,se(f.value.code),1)])]),f.value.description?(Cr(),Tr("div",bre,[t[30]||(t[30]=Mr("div",{class:"history-label"},"国家简介",-1)),Mr("div",wre,se(f.value.description),1)])):(Cr(),Tr("div",xre,[...t[31]||(t[31]=[Mr("p",null,"暂无详细信息",-1)])]))])):Rr("",!0)]),_:1},8,["visible","title"]),Or(JX,{container:".content-wrapper"}),Or(nl)]))}}),[["__scopeId","data-v-691908b6"]]),_re={class:"emoji-reference"},Ere={class:"converter-content"},Cre={class:"content-wrapper"},Fre={class:"emoji-grid-container"},Dre={key:0,class:"emoji-grid"},Are=["onClick","title"],Tre={class:"emoji-symbol"},Sre={class:"emoji-name"},Ire={key:1,class:"no-results"},Nre=Wi($a({__name:"EmojiReference",emits:["back"],setup(e){il("emoji-reference");const t=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"emoji-reference"===e.id);if(t)return t.title}return"Emoji符号大全"}),{searchQuery:a,activeCategory:n,filteredEmojis:r,emojiCategories:s}=M7(),i=is(()=>s.map(e=>({key:e.key,name:e.name}))),{copySuccess:o,copyError:l}=Vo();return(e,s)=>(Cr(),Tr("div",_re,[Or(hl,{title:t.value,onBack:s[0]||(s[0]=t=>e.$emit("back"))},null,8,["title"]),Mr("div",Ere,[Mr("div",Cre,[Or($X,{searchQuery:Nt(a),"onUpdate:searchQuery":s[1]||(s[1]=e=>Tt(a)?a.value=e:null),placeholder:"搜索表情符号...",filters:i.value,activeFilter:Nt(n),"onUpdate:activeFilter":s[2]||(s[2]=e=>Tt(n)?n.value=e:null)},null,8,["searchQuery","filters","activeFilter"]),Mr("div",Fre,[Nt(r).length>0?(Cr(),Tr("div",Dre,[(Cr(!0),Tr(br,null,yn(Nt(r),e=>(Cr(),Tr("div",{key:e.code,class:"emoji-item",onClick:t=>(async e=>{try{await navigator.clipboard.writeText(e.symbol),o(`${e.symbol} ${e.name}`)}catch(t){console.error("复制失败:",t),l("复制失败,请手动选择")}})(e),title:e.name},[Mr("span",Tre,se(e.symbol),1),Mr("span",Sre,se(e.name),1)],8,Are))),128))])):(Cr(),Tr("div",Ire,[...s[3]||(s[3]=[Mr("div",{class:"no-results-icon"},"😅",-1),Mr("p",null,"没有找到匹配的表情符号",-1)])]))])])]),Or(JX,{container:".converter-content"})]))}}),[["__scopeId","data-v-9fdcb846"]]),Pre={class:"ip-lookup"},Bre={class:"converter-content"},Mre={class:"content-wrapper"},Ore={class:"current-ip-section"},Ure={class:"section-header"},jre={class:"api-source-selector"},Lre={class:"select-wrapper"},Rre=["value"],zre={key:0,class:"api-results"},Hre={class:"source-header"},$re={key:0,class:"primary-badge"},Yre={key:1,class:"error-badge"},Gre={key:0,class:"skeleton-content"},Wre={key:1,class:"ip-main"},Vre={class:"ip-address-container"},Kre={class:"ip-address"},Jre=["onClick"],qre={key:2,class:"error-info"},Zre={class:"error-message"},Xre={key:0,href:"https://ip.me",target:"_blank",class:"visit-link"},Qre={key:3,class:"ip-details"},ese={class:"detail-item"},tse={class:"value"},ase={key:0,class:"detail-item"},nse={class:"value"},rse={class:"detail-item"},sse={class:"value"},ise={class:"detail-item"},ose={class:"value"},lse={key:1,class:"detail-item"},cse={class:"value"},use={class:"detail-item"},dse={class:"value"},hse={key:2,class:"detail-item"},pse={class:"value"},fse={class:"detail-item"},mse={class:"value"},gse={class:"detail-item"},yse={class:"value"},vse={class:"detail-item"},bse={class:"value"},wse={key:1,class:"loading"},xse={key:2,class:"error"},kse={class:"query-section"},_se={class:"query-form"},Ese={class:"input-group"},Cse=["disabled"],Fse=["disabled"],Dse={key:0},Ase={key:1,class:"spinner small"},Tse={class:"ip-examples"},Sse={key:0,class:"query-result"},Ise={class:"api-results"},Nse={class:"source-header"},Pse={class:"source-name"},Bse={key:0,class:"error-badge"},Mse={key:0,class:"ip-main"},Ose={class:"ip-address-container"},Use={class:"ip-address"},jse=["onClick"],Lse={key:1,class:"error-info"},Rse={class:"error-message"},zse={key:2,class:"ip-details"},Hse={class:"detail-item"},$se={class:"value"},Yse={key:0,class:"detail-item"},Gse={class:"value"},Wse={class:"detail-item"},Vse={class:"value"},Kse={class:"detail-item"},Jse={class:"value"},qse={key:1,class:"detail-item"},Zse={class:"value"},Xse={class:"detail-item"},Qse={class:"value"},eie={key:2,class:"detail-item"},tie={class:"value"},aie={class:"detail-item"},nie={class:"value"},rie={class:"detail-item"},sie={class:"value"},iie={class:"detail-item"},oie={class:"value"},lie={key:1,class:"error"},cie={key:0,class:"history-section"},uie={class:"history-list"},die=["onClick"],hie={class:"history-ip"},pie={class:"history-location"},fie={class:"history-time"},mie=["onClick"],gie=Wi($a({__name:"IpLookup",emits:["back"],setup(e){const t=async(e,t={})=>{const a={url:e,method:t.method||"GET",headers:t.headers||{}};"POST"===t.method&&t.body&&(a.body=t.body);return await fetch("https://difficult-ape-32.panxu71.deno.net",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)})};il("ip-lookup");const a=is(()=>{for(const e in Qi.cards){const t=Qi.cards[e].find(e=>"ip-lookup"===e.id);if(t)return t.title}return"IP地址查询"}),{success:n,error:r,copySuccess:s,copyError:i}=Vo(),o=St([]),l=St(!1),c=St(""),u={fetchCodingToolsData:async()=>{try{const e=!1;let a;if(a=await t("https://coding.tools/cn/my-ip-address",{method:"POST",headers:{"Content-Type":"application/x-www-form-urlencoded",Accept:"application/json, text/plain, */*","X-Requested-With":"XMLHttpRequest",Referer:"https://coding.tools/cn/my-ip-address",Origin:"https://coding.tools","Cache-Control":"no-cache"},body:"queryIp="}),!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();let r;if(e);else if(r=n.data||n.body||n,"string"==typeof r)try{r=JSON.parse(r)}catch(mB){}if(r.ip){const e={China:"中国","United States":"美国",Japan:"日本","South Korea":"韩国","United Kingdom":"英国",Germany:"德国",France:"法国",Canada:"加拿大",Australia:"澳大利亚",Singapore:"新加坡"}[r.country_name]||r.country_name||"";return{ip:r.ip||"未知",country:e,region:r.region_name||"",city:r.city_name||"",location:`${r.city_name||""} ${r.region_name||""} ${e}`.trim()||"未知位置",isp:"",timezone:r.time_zone||"",lat:r.latitude?parseFloat(r.latitude):void 0,lon:r.longitude?parseFloat(r.longitude):void 0,source:"Coding.tools"}}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"Coding.tools",error:e instanceof Error?e.message:"网络错误"}}},fetchWhatIsMyIpData:async()=>{try{let e="";if(!1);else{const a=await t("https://whatismyipaddress.com/",{method:"GET",headers:{Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();e=n.data||n.body||n||"","string"!=typeof e&&(e=JSON.stringify(e))}const a=e.match(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/);if(a)return{ip:a[0],country:"",region:"",city:"",location:"来自WhatIsMyIP",source:"WhatIsMyIP"};throw new Error("无法从响应中提取IP地址")}catch(e){return{ip:"获取失败",location:"请求失败",source:"WhatIsMyIP",error:e instanceof Error?e.message:"网络错误"}}},fetchHttpbinData:async()=>{try{let e;if(!1);else{const a=await t("https://httpbin.org/ip");if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();if(e=n.data||n.body||n,"string"==typeof e)try{e=JSON.parse(e)}catch(mB){}}return{ip:e.origin||"未知",country:"",region:"",city:"",location:"仅提供IP地址",source:"HTTPBin"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"HTTPBin",error:e instanceof Error?e.message:"网络错误"}}},fetchICanHazIpData:async()=>{try{let e="";if(!1);else{const a=await t("https://icanhazip.com",{method:"GET",headers:{Accept:"text/plain","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();e=n.data||n.body||n||"","string"!=typeof e&&(e=String(e))}const a=e.trim();if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(a))throw new Error("无效的IP地址格式");return{ip:a,country:"",region:"",city:"",location:"仅提供IP地址",source:"ICanHazIP"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"ICanHazIP",error:e instanceof Error?e.message:"网络错误"}}},fetchCheckIpData:async()=>{try{let e="";if(!1);else{const a=await t("https://checkip.amazonaws.com",{method:"GET",headers:{Accept:"text/plain","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();e=n.data||n.body||n||"","string"!=typeof e&&(e=String(e))}const a=e.trim();if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(a))throw new Error("无效的IP地址格式");return{ip:a,country:"",region:"",city:"",location:"仅提供IP地址",source:"AWS CheckIP"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"AWS CheckIP",error:e instanceof Error?e.message:"网络错误"}}},fetchIpuuData:async()=>{try{const e=!1,a=`https://www.ipuu.net/ipuu/user/getIP?r=${Math.floor(1e8*Math.random())}`;let n;if(e);else{const e=await t(a,{method:"GET",headers:{Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!e.ok)throw new Error(`HTTP ${e.status}`);const r=await e.json();if(n=r.data||r.body||r,"string"==typeof n)try{n=JSON.parse(n)}catch(mB){}}if(200===n.code&&n.data){if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(n.data))throw new Error("无效的IP地址格式");return{ip:n.data,country:"",region:"",city:"",location:"仅提供IP地址",source:"IPUU.net"}}throw new Error(`API返回错误: ${n.msg||"未知错误"}`)}catch(e){return{ip:"获取失败",location:"请求失败",source:"IPUU.net",error:e instanceof Error?e.message:"网络错误"}}},fetchIpSbData:async()=>{try{const e=!1,a=`https://api-ipv4.ip.sb/geoip?z=${Math.floor(1e8*Math.random())}`;let n;if(e);else{const e=await t(a,{method:"GET",headers:{Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!e.ok)throw new Error(`HTTP ${e.status}`);const r=await e.json();if(n=r.data||r.body||r,"string"==typeof n)try{n=JSON.parse(n)}catch(mB){}}if(n.ip)return{ip:n.ip,country:n.country||"",region:n.region||"",city:n.city||"",location:`${n.city||""} ${n.region||""} ${n.country||""}`.trim()||"未知位置",isp:n.isp||n.organization||"",timezone:n.timezone||"",lat:n.latitude?parseFloat(n.latitude):void 0,lon:n.longitude?parseFloat(n.longitude):void 0,asn:n.asn?`AS${n.asn}`:"",source:"IP.SB"};throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"IP.SB",error:e instanceof Error?e.message:"网络错误"}}},fetchLoliCpData:async()=>{try{let e="";if(!1);else{const a=await t("https://ip.lolicp.com/",{method:"GET",headers:{Accept:"text/plain, */*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();e=n.data||n.body||n||"","string"!=typeof e&&(e=String(e))}const a=e.trim();if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(a))throw new Error("无效的IP地址格式");return{ip:a,country:"",region:"",city:"",location:"仅提供IP地址",source:"LoliCP"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"LoliCP",error:e instanceof Error?e.message:"网络错误"}}},fetchIqiyiData:async()=>{try{const e=!1,a=`https://data.video.iqiyi.com/v.f4v?z=${Math.floor(1e8*Math.random())}`;let n;if(e);else{const e=await t(a,{method:"GET",headers:{Accept:"application/json, text/plain, */*","User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"}});if(!e.ok)throw new Error(`HTTP ${e.status}`);const r=await e.json();if(n=r.data||r.body||r,"string"==typeof n)try{n=JSON.parse(n)}catch(mB){}}if(n.t){const e=n.t.split("-");if(e.length>=2){const t=e[1],a=e[0];if(!/^(?:[0-9]{1,3}\.){3}[0-9]{1,3}$/.test(t))throw new Error("无效的IP地址格式");let n="",r="",s="";if(a.includes("|")){const e=a.split("|");if(n=e[0]||"",e[1]){const t=e[1].split("_");r=t[0]||"",s=t[1]||""}}return{ip:t,country:"中国",region:r,city:s,location:`${s} ${r} 中国`.trim()||"未知位置",isp:n,source:"爱奇艺"}}throw new Error("无法解析t字段格式")}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"爱奇艺",error:e instanceof Error?e.message:"网络错误"}}},fetchIpipJsonData:async()=>{try{const e="https://myip.ipip.net/json",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();if("ok"===a.ret&&a.data){const e=a.data,t=e.location||[];return{ip:e.ip||"未知",country:t[0]||"",region:t[1]||"",city:t[2]||"",location:t.filter(e=>e).join(" ")||"未知位置",isp:t[4]||"",source:"IPIP.net"}}throw new Error("API返回格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"IPIP.net",error:e instanceof Error?e.message:"网络错误"}}},fetchItDogData:async()=>{try{const e=Date.now(),t=`https://ipv4_cu.itdog.cn/?_t=${e}`,a=await fetch(t);if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();if("success"===n.type&&n.ip){const e=n.address?n.address.split("/"):[];return{ip:n.ip||"未知",country:e[0]||"",region:e[1]||"",city:e[2]||"",location:n.address||"未知位置",isp:e[3]||"",source:"ITDog"}}throw new Error("API返回格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"ITDog",error:e instanceof Error?e.message:"网络错误"}}},fetchUpYunData:async()=>{try{const e=Math.floor(1e8*Math.random()),t=`https://pubstatic.b0.upaiyun.com/?_upnode&r=${e}`,a=await fetch(t);if(!a.ok)throw new Error(`HTTP ${a.status}`);const n=await a.json();if(n.remote_addr&&n.remote_addr_location){const e=n.remote_addr,t=n.remote_addr_location;return{ip:e,country:t.country||"",region:t.province||"",city:t.city||"",location:`${t.city||""} ${t.province||""} ${t.country||""}`.trim()||"未知位置",isp:t.isp||"",source:"又拍云"}}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"又拍云",error:e instanceof Error?e.message:"网络错误"}}},fetchAapqData:async()=>{try{const e="https://fcd09628a76x.aapq.net/ip",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();if(a.ip){const e={CN:"中国",US:"美国",JP:"日本",KR:"韩国",GB:"英国",DE:"德国",FR:"法国",CA:"加拿大",AU:"澳大利亚",SG:"新加坡",HK:"香港",TW:"台湾"}[a.country]||a.country||"";return{ip:a.ip||"未知",country:e,region:"",city:a.city||"",location:`${a.city||""} ${e}`.trim()||"未知位置",source:"AAPQ"}}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"AAPQ",error:e instanceof Error?e.message:"网络错误"}}},fetchMaxMindData:async()=>{try{const e="https://geoip.maxmind.com/geoip/v2.1/city/me",t=await fetch(e,{headers:{Accept:"*/*","Cache-Control":"no-cache",Pragma:"no-cache",Referer:"https://www.maxmind.com/"}});if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();if(a.traits&&a.traits.ip_address){const e=e=>e?.["zh-CN"]||e?.en||"",t=e(a.country?.names),n=e(a.subdivisions?.[0]?.names),r=e(a.city?.names);return{ip:a.traits.ip_address||"未知",country:t,region:n,city:r,location:`${r} ${n} ${t}`.trim()||"未知位置",isp:a.traits.isp||"",timezone:a.location?.time_zone||"",lat:a.location?.latitude?parseFloat(a.location.latitude):void 0,lon:a.location?.longitude?parseFloat(a.location.longitude):void 0,asn:a.traits.autonomous_system_number?`AS${a.traits.autonomous_system_number}`:"",source:"MaxMind"}}throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"MaxMind",error:e instanceof Error?e.message:"网络错误"}}},fetchIpapiData:async()=>{try{const e=await fetch("https://ipapi.co/json/");if(!e.ok)throw new Error(`HTTP ${e.status}`);const t=await e.json();return{ip:t.ip||"未知",country:t.country_name||"",region:t.region||"",city:t.city||"",location:`${t.city||""} ${t.region||""} ${t.country_name||""}`.trim()||"未知位置",isp:t.org||"",timezone:t.timezone||"",lat:t.latitude,lon:t.longitude,source:"IPapi.co"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"IPapi.co",error:e instanceof Error?e.message:"网络错误"}}},fetchIfconfigData:async()=>{try{const e="https://ifconfig.me/all.json",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();return{ip:a.ip_addr||"未知",country:a.country||"",region:"",city:"",location:a.country||"未知位置",source:"ifconfig.me"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"ifconfig.me",error:e instanceof Error?e.message:"网络错误"}}},fetchUstcData:async()=>{try{const e=`https://test.ustc.edu.cn/backend/getIP.php?&r=${Math.random()}`,t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();if(a.processedString)return{ip:a.processedString,country:"",region:"",city:"",location:"仅提供IP地址",isp:a.rawIspInfo||"",source:"USTC"};throw new Error("API返回数据格式错误")}catch(e){return{ip:"获取失败",location:"请求失败",source:"USTC",error:e instanceof Error?e.message:"网络错误"}}},fetchIpApiData:async()=>{try{const e="http://demo.ip-api.com/json/?fields=66842623&lang=en",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();return{ip:a.query||"未知",country:a.country||"",region:a.regionName||"",city:a.city||"",location:`${a.city||""} ${a.regionName||""} ${a.country||""}`.trim()||"未知位置",isp:a.isp||"",timezone:a.timezone||"",lat:a.lat,lon:a.lon,source:"IP-API"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"IP-API",error:e instanceof Error?e.message:"网络错误"}}},fetchCipCcData:async()=>{try{const e="https://cip.cc/",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.text();let n="",r="",s="",i="",o="";const l=a.match(/
    ([\s\S]*?)<\/pre>/);if(l&&l[1]){const e=l[1].split("\n");for(const t of e){const e=t.trim();if(e.includes("IP")&&e.includes(":"))n=e.split(":")[1]?.trim()||"";else if(e.includes("地址")&&e.includes(":")){const t=e.split(":")[1]?.trim().split(" ")||[];r=t[0]||"",s=t[1]||"",i=t[2]||""}else e.includes("运营商")&&e.includes(":")&&(o=e.split(":")[1]?.trim()||"")}}if(!n){const e=a.split("\n");for(const t of e){const e=t.trim();if(e.includes("IP")&&e.includes(":"))n=e.split(":")[1]?.trim()||"";else if(e.includes("地址")&&e.includes(":")){const t=e.split(":")[1]?.trim().split(" ")||[];r=t[0]||"",s=t[1]||"",i=t[2]||""}else e.includes("运营商")&&e.includes(":")&&(o=e.split(":")[1]?.trim()||"")}}return{ip:n||"未知",country:r,region:s,city:i,location:`${i} ${s} ${r}`.trim()||"未知位置",isp:o,source:"CIP.cc"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"CIP.cc",error:e instanceof Error?e.message:"网络错误"}}},fetchIpinfoData:async()=>{try{const e="https://ipinfo.io/lookup-data",t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status}`);const a=await t.json();return{ip:a.userIp||a.ip||"未知",country:"",region:"",city:"",location:"仅提供IP地址",isp:"",timezone:"",asn:a.asn||"",source:"IPinfo.io"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"IPinfo.io",error:e instanceof Error?e.message:"网络错误"}}},fetchGeoJsData:async()=>{try{const e=await fetch("https://get.geojs.io/v1/ip/geo.json");if(!e.ok)throw new Error(`HTTP ${e.status}`);const t=await e.json();return{ip:t.ip||"未知",country:t.country||"",region:t.region||"",city:t.city||"",location:`${t.city||""} ${t.region||""} ${t.country||""}`.trim()||"未知位置",isp:t.organization_name||t.organization||"",timezone:t.timezone||"",lat:t.latitude?parseFloat(t.latitude):void 0,lon:t.longitude?parseFloat(t.longitude):void 0,countryCode:t.country_code||"",postalCode:"",organization:t.organization_name||"",asn:t.asn?`AS${t.asn}`:"",source:"GeoJS"}}catch(e){return{ip:"获取失败",location:"请求失败",source:"GeoJS",error:e instanceof Error?e.message:"网络错误"}}}},d=[{id:"coding-tools",name:"Coding.tools",description:"稳定可靠",fetcher:u.fetchCodingToolsData},{id:"whatismyip",name:"WhatIsMyIP",description:"国外源",fetcher:u.fetchWhatIsMyIpData},{id:"httpbin",name:"HTTPBin",description:"JSON格式",fetcher:u.fetchHttpbinData},{id:"icanhazip",name:"ICanHazIP",description:"纯文本IP",fetcher:u.fetchICanHazIpData},{id:"checkip",name:"AWS CheckIP",description:"AWS服务",fetcher:u.fetchCheckIpData},{id:"ipuu",name:"IPUU.net",description:"简洁快速",fetcher:u.fetchIpuuData},{id:"ipsb",name:"IP.SB",description:"详细信息",fetcher:u.fetchIpSbData},{id:"lolicp",name:"LoliCP",description:"纯文本IP",fetcher:u.fetchLoliCpData},{id:"iqiyi",name:"爱奇艺",description:"视频CDN",fetcher:u.fetchIqiyiData},{id:"ipip-net",name:"IPIP.net",description:"国内源",fetcher:u.fetchIpipJsonData},{id:"itdog",name:"ITDog",description:"国内源",fetcher:u.fetchItDogData},{id:"upyun",name:"又拍云",description:"国内CDN",fetcher:u.fetchUpYunData},{id:"aapq",name:"AAPQ",description:"高精度",fetcher:u.fetchAapqData},{id:"maxmind",name:"MaxMind",description:"地理位置专家",fetcher:u.fetchMaxMindData},{id:"ipapi-co",name:"IPapi.co",description:"免费API",fetcher:u.fetchIpapiData},{id:"ifconfig",name:"ifconfig.me",description:"Linux风格",fetcher:u.fetchIfconfigData},{id:"ustc",name:"USTC",description:"中科大源",fetcher:u.fetchUstcData},{id:"ip-api",name:"IP-API",description:"批量查询",fetcher:u.fetchIpApiData},{id:"cip-cc",name:"CIP.cc",description:"纯文本",fetcher:u.fetchCipCcData},{id:"ipinfo",name:"IPinfo.io",description:"仅IP和ASN",fetcher:u.fetchIpinfoData},{id:"geojs",name:"GeoJS",description:"详细地理信息",fetcher:u.fetchGeoJsData}],h=d.map(e=>({id:e.id,name:e.name,description:e.description})),p=e=>{const t=d.find(t=>t.id===e);return t?.fetcher||u.fetchCodingToolsData},f=St("coding-tools"),m=St(""),g=St([]),y=St(!1),v=St(""),b=St([]),w=async()=>{l.value=!0,c.value="";const e=[{ip:"",location:"",source:"IP.me",loading:!0},{ip:"",location:"",source:h.find(e=>e.id===f.value)?.name||"Unknown",loading:!0}];o.value=e;try{const e=[(async()=>{try{await new Promise(e=>setTimeout(e,500+1e3*Math.random()));const e=await(async()=>{try{let e="";{console.log("🌐 Web 生产环境,使用 Deno 代理");const t="https://difficult-ape-32.panxu71.deno.net",a={url:"https://ip.me",method:"GET",headers:{"User-Agent":"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36",Accept:"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8"}},n=await fetch(t,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!n.ok)throw new Error(`HTTP ${n.status}`);const r=await n.json();console.log("IP.me 代理返回数据:",r),e=r.data||r.content||r.body||"","string"!=typeof e&&(e=JSON.stringify(e))}if(!e)throw new Error("返回内容为空");const t=e.match(/\b(?:[0-9]{1,3}\.){3}[0-9]{1,3}\b/);if(!t)throw new Error("无法从HTML中提取IP地址");const a=t=>{const a=new RegExp(`${t}:\\s*]*>\\s*([^<]+)`,"i"),n=e.match(a);return n?.[1]?.trim()||""},n=a("City"),r=a("Country"),s=a("Country Code"),i=a("Latitude"),o=a("Longitude"),l=a("Postal Code"),c=a("Organization"),u=a("ASN"),d=a("ISP Name");return{ip:t[0],country:r||"",region:"",city:n||"",location:`${n} ${r}`.trim()||"仅提供IP地址",isp:d||c||"",timezone:"",lat:i?parseFloat(i):void 0,lon:o?parseFloat(o):void 0,asn:u?`AS${u}`:"",countryCode:s||"",postalCode:l||"",organization:c||"",source:"IP.me"}}catch(e){return console.error("IP.me 请求错误:",e),{ip:"获取失败",location:"请求失败",source:"IP.me",error:e instanceof Error?e.message:"网络错误"}}})();o.value[0]=e}catch(e){o.value[0]={ip:"",location:"请求失败",source:"IP.me",error:e instanceof Error?e.message:"网络错误"}}})(),(async()=>{try{await new Promise(e=>setTimeout(e,500+1e3*Math.random()));const e=p(f.value),t=await e();o.value[1]=t}catch(e){o.value[1]={ip:"",location:"请求失败",source:h.find(e=>e.id===f.value)?.name||"Unknown",error:e instanceof Error?e.message:"网络错误"}}})()];await Promise.all(e)}catch(t){c.value="获取IP信息失败,请检查网络连接"}finally{l.value=!1}},x=async()=>{if(0!==o.value.length){o.value.length>=2&&(o.value[1]={ip:"",location:"",source:h.find(e=>e.id===f.value)?.name||"Unknown",loading:!0});try{await new Promise(e=>setTimeout(e,500+1e3*Math.random()));const e=p(f.value),t=await e();o.value.length>=2&&(o.value[1]=t)}catch(e){o.value.length>=2&&(o.value[1]={ip:"",location:"请求失败",source:h.find(e=>e.id===f.value)?.name||"Unknown",error:e instanceof Error?e.message:"网络错误"})}}else await w()},k=async()=>{if(!m.value.trim())return;if(!/^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(m.value.trim()))return v.value="请输入有效的IP地址格式",void r("请输入有效的IP地址格式");y.value=!0,v.value="",g.value=[];try{const e=m.value.trim(),t=[{name:"IPapi.co",url:`https://ipapi.co/${e}/json/`,parser:t=>({ip:t.ip||e,country:t.country_name||"",region:t.region||"",city:t.city||"",location:`${t.city||""} ${t.region||""} ${t.country_name||""}`.trim()||"未知位置",isp:t.org||"",timezone:t.timezone||"",lat:t.latitude,lon:t.longitude,source:"IPapi.co"})}].map(async t=>{try{const a={},n=await fetch(t.url,a);if(n.ok){const e=await n.json();return t.parser(e)}return{ip:e,location:"请求失败",source:t.name,error:`HTTP ${n.status}`}}catch(a){return{ip:e,location:"请求失败",source:t.name,error:a instanceof Error?a.message:"网络错误"}}}),a=await Promise.all(t);g.value=a.filter(e=>e.ip&&!e.error);const s=g.value[0];if(s){const e={...s,timestamp:Date.now()},t=b.value.findIndex(e=>e.ip===s.ip);t>=0&&b.value.splice(t,1),b.value.unshift(e),b.value.length>10&&(b.value=b.value.slice(0,10)),localStorage.setItem("ip-query-history",JSON.stringify(b.value)),n(`查询成功:${s.location}`)}0===g.value.length&&(v.value="所有查询服务都失败了,请稍后重试",r("查询失败,请稍后重试"))}catch(e){v.value="查询失败,请稍后重试",r("查询失败,请稍后重试")}finally{y.value=!1}},_=e=>{m.value=e},E=e=>{if(!e)return"未知时间";return new Date(e).toLocaleString("zh-CN",{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})},C=()=>{b.value=[],localStorage.removeItem("ip-query-history"),n("历史记录已清空")},F=async e=>{try{await navigator.clipboard.writeText(e),s(e)}catch(t){i("复制失败,请手动复制")}};return nn(()=>{w(),(()=>{try{const e=localStorage.getItem("ip-query-history");e&&(b.value=JSON.parse(e))}catch(e){console.error("加载历史记录失败:",e)}})()}),(e,t)=>(Cr(),Tr("div",Pre,[Or(hl,{title:a.value,onBack:t[0]||(t[0]=t=>e.$emit("back"))},null,8,["title"]),Mr("div",Bre,[Mr("div",Mre,[Mr("div",Ore,[Mr("div",Ure,[t[8]||(t[8]=Mr("h2",null,"当前IP信息",-1)),Mr("div",jre,[t[7]||(t[7]=Mr("label",{for:"api-source"},"第二数据源:",-1)),Mr("div",Lre,[ca(Mr("select",{id:"api-source","onUpdate:modelValue":t[1]||(t[1]=e=>f.value=e),onChange:x,class:"source-select"},[(Cr(!0),Tr(br,null,yn(Nt(h),e=>(Cr(),Tr("option",{key:e.id,value:e.id},se(e.name)+" - "+se(e.description),9,Rre))),128))],544),[[_i,f.value]]),t[6]||(t[6]=Mr("svg",{class:"select-arrow",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("polyline",{points:"6,9 12,15 18,9"})],-1))])])]),o.value.length>0?(Cr(),Tr("div",zre,[(Cr(!0),Tr(br,null,yn(o.value,(e,a)=>(Cr(),Tr("div",{key:a,class:Q(["ip-card",{"primary-source":e.source&&"IP.me"===e.source,"loading-card":e.loading}])},[Mr("div",Hre,[Mr("span",{class:Q(["source-name",{"skeleton-text":e.loading}])},se(e.loading?"":e.source||"未知来源"),3),e.source&&"IP.me"===e.source&&!e.loading?(Cr(),Tr("span",$re,"推荐")):Rr("",!0),e.error&&!e.loading?(Cr(),Tr("span",Yre,"失败")):Rr("",!0)]),e.loading?(Cr(),Tr("div",Gre,[...t[9]||(t[9]=[Lr('
    ',3)])])):e.error?(Cr(),Tr("div",qre,[Mr("div",Zre,se(e.error),1),e.source?.includes("IP.me")?(Cr(),Tr("a",Xre," 直接访问 IP.me ")):Rr("",!0)])):(Cr(),Tr("div",Wre,[Mr("div",Vre,[Mr("div",Kre,se(e.ip),1),Mr("button",{onClick:t=>F(e.ip),class:"copy-btn",title:"复制IP地址"},[...t[10]||(t[10]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,Jre)])])),e.error||e.loading?Rr("",!0):(Cr(),Tr("div",Qre,[Mr("div",ese,[t[11]||(t[11]=Mr("span",{class:"label"},"国家/地区:",-1)),Mr("span",tse,se(e.country||"-"),1)]),e.countryCode?(Cr(),Tr("div",ase,[t[12]||(t[12]=Mr("span",{class:"label"},"国家代码:",-1)),Mr("span",nse,se(e.countryCode),1)])):Rr("",!0),Mr("div",rse,[t[13]||(t[13]=Mr("span",{class:"label"},"省份/州:",-1)),Mr("span",sse,se(e.region||"-"),1)]),Mr("div",ise,[t[14]||(t[14]=Mr("span",{class:"label"},"城市:",-1)),Mr("span",ose,se(e.city||"-"),1)]),e.postalCode?(Cr(),Tr("div",lse,[t[15]||(t[15]=Mr("span",{class:"label"},"邮政编码:",-1)),Mr("span",cse,se(e.postalCode),1)])):Rr("",!0),Mr("div",use,[t[16]||(t[16]=Mr("span",{class:"label"},"ISP:",-1)),Mr("span",dse,se(e.isp||"-"),1)]),e.organization&&e.organization!==e.isp?(Cr(),Tr("div",hse,[t[17]||(t[17]=Mr("span",{class:"label"},"组织:",-1)),Mr("span",pse,se(e.organization),1)])):Rr("",!0),Mr("div",fse,[t[18]||(t[18]=Mr("span",{class:"label"},"时区:",-1)),Mr("span",mse,se(e.timezone||"-"),1)]),Mr("div",gse,[t[19]||(t[19]=Mr("span",{class:"label"},"经纬度:",-1)),Mr("span",yse,se(e.lat&&e.lon?`${e.lat}, ${e.lon}`:"-"),1)]),Mr("div",vse,[t[20]||(t[20]=Mr("span",{class:"label"},"ASN:",-1)),Mr("span",bse,se(e.asn||"-"),1)])]))],2))),128))])):l.value?(Cr(),Tr("div",wse,[...t[21]||(t[21]=[Mr("div",{class:"spinner"},null,-1),Mr("span",null,"正在获取当前IP信息...",-1)])])):c.value?(Cr(),Tr("div",xse,[Mr("span",null,se(c.value),1),Mr("button",{onClick:w,class:"retry-btn"},"重试")])):Rr("",!0)]),Mr("div",kse,[t[34]||(t[34]=Mr("h2",null,"IP地址查询",-1)),Mr("div",_se,[Mr("div",Ese,[ca(Mr("input",{"onUpdate:modelValue":t[2]||(t[2]=e=>m.value=e),type:"text",placeholder:"请输入要查询的IP地址,如:8.8.8.8",onKeyup:Pi(k,["enter"]),disabled:y.value},null,40,Cse),[[bi,m.value]]),Mr("button",{onClick:k,disabled:!m.value.trim()||y.value,class:"query-btn"},[y.value?(Cr(),Tr("div",Ase)):(Cr(),Tr("span",Dse,"查询"))],8,Fse)]),Mr("div",Tse,[t[22]||(t[22]=Mr("span",null,"示例IP:",-1)),Mr("button",{onClick:t[3]||(t[3]=e=>_("8.8.8.8")),class:"example-btn"},"8.8.8.8"),Mr("button",{onClick:t[4]||(t[4]=e=>_("1.1.1.1")),class:"example-btn"},"1.1.1.1"),Mr("button",{onClick:t[5]||(t[5]=e=>_("114.114.114.114")),class:"example-btn"},"114.114.114.114")])]),g.value.length>0?(Cr(),Tr("div",Sse,[Mr("div",Ise,[(Cr(!0),Tr(br,null,yn(g.value,(e,a)=>(Cr(),Tr("div",{key:a,class:"ip-card"},[Mr("div",Nse,[Mr("span",Pse,se(e.source),1),e.error?(Cr(),Tr("span",Bse,"失败")):Rr("",!0)]),e.error?Rr("",!0):(Cr(),Tr("div",Mse,[Mr("div",Ose,[Mr("div",Use,se(e.ip),1),Mr("button",{onClick:t=>F(e.ip),class:"copy-btn",title:"复制IP地址"},[...t[23]||(t[23]=[Mr("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,jse)])])),e.error?(Cr(),Tr("div",Lse,[Mr("div",Rse,se(e.error),1)])):Rr("",!0),e.error?Rr("",!0):(Cr(),Tr("div",zse,[Mr("div",Hse,[t[24]||(t[24]=Mr("span",{class:"label"},"国家/地区:",-1)),Mr("span",$se,se(e.country||"-"),1)]),e.countryCode?(Cr(),Tr("div",Yse,[t[25]||(t[25]=Mr("span",{class:"label"},"国家代码:",-1)),Mr("span",Gse,se(e.countryCode),1)])):Rr("",!0),Mr("div",Wse,[t[26]||(t[26]=Mr("span",{class:"label"},"省份/州:",-1)),Mr("span",Vse,se(e.region||"-"),1)]),Mr("div",Kse,[t[27]||(t[27]=Mr("span",{class:"label"},"城市:",-1)),Mr("span",Jse,se(e.city||"-"),1)]),e.postalCode?(Cr(),Tr("div",qse,[t[28]||(t[28]=Mr("span",{class:"label"},"邮政编码:",-1)),Mr("span",Zse,se(e.postalCode),1)])):Rr("",!0),Mr("div",Xse,[t[29]||(t[29]=Mr("span",{class:"label"},"ISP:",-1)),Mr("span",Qse,se(e.isp||"-"),1)]),e.organization&&e.organization!==e.isp?(Cr(),Tr("div",eie,[t[30]||(t[30]=Mr("span",{class:"label"},"组织:",-1)),Mr("span",tie,se(e.organization),1)])):Rr("",!0),Mr("div",aie,[t[31]||(t[31]=Mr("span",{class:"label"},"时区:",-1)),Mr("span",nie,se(e.timezone||"-"),1)]),Mr("div",rie,[t[32]||(t[32]=Mr("span",{class:"label"},"经纬度:",-1)),Mr("span",sie,se(e.lat&&e.lon?`${e.lat}, ${e.lon}`:"-"),1)]),Mr("div",iie,[t[33]||(t[33]=Mr("span",{class:"label"},"ASN:",-1)),Mr("span",oie,se(e.asn||"-"),1)])]))]))),128))])])):Rr("",!0),v.value?(Cr(),Tr("div",lie,[Mr("span",null,se(v.value),1)])):Rr("",!0)]),b.value.length>0?(Cr(),Tr("div",cie,[t[36]||(t[36]=Mr("h2",null,"查询历史",-1)),Mr("div",uie,[(Cr(!0),Tr(br,null,yn(b.value,(e,a)=>(Cr(),Tr("div",{key:a,class:"history-item"},[Mr("div",{class:"history-content",onClick:t=>{return a=e.ip,void(m.value=a);var a}},[Mr("div",hie,se(e.ip),1),Mr("div",pie,se(e.location),1),Mr("div",fie,se(E(e.timestamp)),1)],8,die),Mr("button",{onClick:Ii(t=>F(e.ip),["stop"]),class:"copy-btn",title:"复制IP地址"},[...t[35]||(t[35]=[Mr("svg",{width:"14",height:"14",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("rect",{x:"9",y:"9",width:"13",height:"13",rx:"2",ry:"2"}),Mr("path",{d:"M5 15H4a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h9a2 2 0 0 1 2 2v1"})],-1)])],8,mie)]))),128))]),Mr("button",{onClick:C,class:"clear-history-btn"},"清空历史")])):Rr("",!0)])]),Or(JX,{container:".converter-content"})]))}}),[["__scopeId","data-v-f18bcfbc"]]),yie={class:"app-container"},vie={class:"main-content"},bie={class:"content-area"},wie={class:"settings-content"};((...e)=>{const t=(Mi||(Mi=dr(Bi))).createApp(...e),{mount:a}=t;return t.mount=e=>{const n=function(e){if(C(e)){return document.querySelector(e)}return e}(e);if(!n)return;const r=t._component;E(r)||r.render||r.template||(r.template=n.innerHTML),1===n.nodeType&&(n.textContent="");const s=a(n,!1,function(e){if(e instanceof SVGElement)return"svg";if("function"==typeof MathMLElement&&e instanceof MathMLElement)return"mathml"}(n));return n instanceof Element&&(n.removeAttribute("v-cloak"),n.setAttribute("data-v-app","")),s},t})(Wi($a({__name:"App",setup(e){const t=St("json"),a=St(null),n=St(null),r=St(!1),s=St(null),i=St(!1),{toggleTheme:o,currentTheme:l}=Bo(),c=rl,u=is(()=>Qi.cards[t.value]||[]),d=is(()=>{const e=c.find(e=>e.id===t.value);return e?.name||"JSON工具"}),h=(e,a)=>{const n={"json-format":"json","json-to-excel":"json","json-postman-converter":"json","json-to-php":"json","timestamp-convert":"time","date-calculator":"time","timezone-convert":"time","countdown-timer":"time","base64-encode":"crypto","url-encode":"crypto","md5-hash":"crypto","rsa-key-generator":"crypto","text-encoder":"crypto","jwt-generator":"crypto","chinese-converter":"convert","text-replacer":"convert","php-serializer":"convert","code-formatter":"convert","number-base":"convert","unit-convert":"convert","unit-convert-new":"convert","api-tester":"create","password-generator":"create","qr-generator":"create","crontab-generator":"create","uuid-generator":"create","lorem-generator":"create","gradient-generator":"create","string-counter":"query","ascii-lookup":"query","ip-lookup":"query","domain-whois":"query","http-status":"query","regex-tester":"query","color-reference":"query","surname-lookup":"query","mime-type-reference":"query","dynasty-query":"query","countries-capitals":"query","emoji-reference":"query","programming-languages":"navigation","bookmark-manager":"navigation","quick-links":"navigation","search-engines":"navigation","tab-manager":"navigation","url-shortener":"navigation","website-analyzer":"navigation"}[e];n&&n!==t.value&&(t.value=n),x(a)},p=e=>{t.value=e,s.value=null,Z(e)},f=e=>{s.value=e;const a=m(e);a&&Z(t.value,a)},m=e=>({"json-formatter":"json-format","json-to-excel":"json-to-excel","json-postman-converter":"json-postman-converter","json-to-php":"json-to-php","json-to-php-new":"json-to-php","timestamp-converter":"timestamp-convert","date-calculator":"date-calculator","timezone-converter":"timezone-convert","countdown-timer":"countdown-timer",stopwatch:"stopwatch",clock:"clock","base64-converter":"base64-encode","base64-converter-new":"base64-encode-new","url-converter":"url-encode","hash-generator":"md5-hash","rsa-key-generator":"rsa-key-generator","text-encoder":"text-encoder","jwt-generator":"jwt-generator","chinese-converter":"chinese-converter","text-replacer":"text-replacer","php-serializer":"php-serializer","code-formatter":"code-formatter","base-converter":"number-base","number-converter":"number-format","number-converter-new":"number-format-new","unit-converter":"unit-convert","image-base64-converter":"image-base64","api-tester":"api-tester","uuid-generator":"uuid-generator","password-generator":"password-generator","qr-generator":"qr-generator","qr-generator-new":"qr-generator-new","crontab-generator":"crontab-generator","markdown-editor":"markdown-editor",teleprompter:"teleprompter","screen-test":"screen-test","text-compare":"text-compare","string-counter":"string-counter","ascii-lookup":"ascii-lookup","regex-tester":"regex-tester","regex-tester-new":"regex-tester-new","color-reference":"color-reference","surname-lookup":"surname-lookup","mime-type-reference":"mime-type-reference","dynasty-query":"dynasty-query","programming-languages":"programming-languages","countries-capitals":"countries-capitals","emoji-reference":"emoji-reference","ip-lookup":"ip-lookup"}[e]||null),g=()=>{s.value=null,Z(t.value)},y=()=>{s.value=null,t.value="json";const e=new URL(window.location.href);e.search="",window.history.replaceState({},"",e.toString())},v=()=>{i.value=!0},b=()=>{i.value=!1},w=()=>{window.open("https://github.com/panxu71/toolbox/issues","_blank")},x=async e=>{console.log("执行功能:",e),r.value=!0;try{switch(e){case"formatJson":return void f("json-formatter");case"jsonToExcel":return void f("json-to-excel");case"jsonPostmanConverter":return void f("json-postman-converter");case"jsonToPhp":return void f("json-to-php");case"validateJson":await k();break;case"minifyJson":await _();break;case"jsonToCsv":await E();break;case"convertTimestamp":return void f("timestamp-converter");case"calculateDate":return void f("date-calculator");case"convertTimezone":return void f("timezone-converter");case"countdownTimer":return void f("countdown-timer");case"stopwatch":return void f("stopwatch");case"clock":return void f("clock");case"base64Encode":return void f("base64-converter");case"base64EncodeNew":return void f("base64-converter-new");case"urlEncode":return void f("url-converter");case"md5Hash":return void f("hash-generator");case"generatePassword":return void f("password-generator");case"generateRsaKeys":return void f("rsa-key-generator");case"generateJWT":return void f("jwt-generator");case"convertChinese":return void f("chinese-converter");case"replaceText":return void f("text-replacer");case"phpSerialize":return void f("php-serializer");case"formatCode":return void f("code-formatter");case"convertColor":return void f("color-reference");case"convertUnit":await C();break;case"convertUnitNew":await convertUnitNew();break;case"convertNumber":await F();break;case"convertBase":return void f("base-converter");case"convertImageBase64":return void f("image-base64-converter");case"encodeText":return void f("text-encoder");case"testApi":return void f("api-tester");case"generateQR":return void f("qr-generator");case"generateCrontab":return void f("crontab-generator");case"markdownEditor":return void f("markdown-editor");case"teleprompter":return void f("teleprompter");case"screenTest":return void f("screen-test");case"generateUuid":return void f("uuid-generator");case"generateLorem":await D();break;case"generateGradient":await A();break;case"countString":return void f("string-counter");case"lookupAscii":return void f("ascii-lookup");case"lookupSurname":return void f("surname-lookup");case"lookupIP":return void f("ip-lookup");case"whoisDomain":await T();break;case"httpStatus":await S();break;case"compareText":return void f("text-compare");case"countStringNew":return void f("string-counter-new");case"mimeTypeReference":return void f("mime-type-reference");case"dynastyQuery":return void f("dynasty-query");case"countriesCapitals":return void f("countries-capitals");case"emojiReference":return void f("emoji-reference");case"testRegex":return void f("regex-tester");case"testRegexNew":return void f("regex-tester-new");case"programmingLanguages":return void f("programming-languages");case"manageBookmarks":await I();break;case"quickLinks":await N();break;case"searchEngines":await P();break;case"manageTabs":await B();break;case"shortenUrl":await M();break;case"analyzeWebsite":await O();break;case"toggleTheme":o(),K(`已切换到${"dark"===l.value?"夜间":"白天"}模式`);break;case"changeLanguage":await U();break;case"exportSettings":await j();break;case"showAbout":await L();break;case"getPageInfo":await z();break;case"highlightText":await H();break;case"takeScreenshot":await $();break;case"extractLinks":await Y();break;case"extractImages":await G();break;case"countWords":await W();break;case"extractText":await V();break;default:console.log("功能开发中:",e),K(`功能 "${e}" 正在开发中...`)}}catch(t){console.error("执行功能失败:",t),K("执行失败,请重试")}finally{r.value=!1}},k=async()=>{const e=prompt("请输入JSON字符串:");if(e)try{JSON.parse(e),K("JSON格式正确 ✅")}catch(t){K("JSON格式错误 ❌")}},_=async()=>{const e=prompt("请输入JSON字符串:");if(e)try{const t=JSON.parse(e),a=JSON.stringify(t);console.log("压缩后的JSON:",a),K("JSON压缩完成,请查看控制台")}catch(t){K("JSON格式错误")}},E=async()=>{K("JSON转CSV功能开发中...")},C=async()=>{f("unit-converter")},F=async()=>{f("number-converter")},D=async()=>{console.log("Lorem文本:","Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua."),K("Lorem文本已生成,请查看控制台")},A=async()=>{K("渐变生成器功能开发中...")},T=async()=>{K("域名查询功能开发中...")},S=async()=>{console.log("常见HTTP状态码:",{200:"OK - 请求成功",404:"Not Found - 页面未找到",500:"Internal Server Error - 服务器内部错误"}),K("HTTP状态码信息已显示在控制台")},I=async()=>{K("书签管理功能开发中...")},N=async()=>{K("快速链接功能开发中...")},P=async()=>{K("搜索引擎功能开发中...")},B=async()=>{K("标签页管理功能开发中...")},M=async()=>{K("短链接生成功能开发中...")},O=async()=>{K("网站分析工具功能开发中...")},U=async()=>{K("语言设置功能开发中...")},j=async()=>{const e={theme:l.value,version:"1.0.0",exportTime:(new Date).toISOString()};console.log("导出的设置:",e),K("设置已导出到控制台")},L=async()=>{console.log("关于信息:",{name:"Toolbox",version:"1.0.0",description:"现代化工具箱",author:"Toolbox Team"}),K("关于信息已显示在控制台")},R=async()=>{try{if("undefined"!=typeof chrome&&chrome.tabs){const[e]=await chrome.tabs.query({active:!0,currentWindow:!0});return a.value=e,e}return a.value={title:"示例页面",url:"https://example.com",id:1},a.value}catch(e){return console.error("获取标签页失败:",e),null}},z=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"GET_PAGE_INFO"});n.value=t,K("页面信息已获取")}catch(t){console.error("获取页面信息失败:",t)}else n.value={title:"示例页面",url:"https://example.com",domain:"example.com"},K("页面信息已获取(开发模式)")},H=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{await chrome.tabs.sendMessage(e.id,{type:"HIGHLIGHT_TEXT"}),K("文本已高亮")}catch(t){console.error("高亮文本失败:",t)}else K("文本已高亮(开发模式)")},$=async()=>{try{if("undefined"!=typeof chrome&&chrome.tabs){const e=await chrome.tabs.captureVisibleTab(),t=document.createElement("a");t.download=`screenshot-${Date.now()}.png`,t.href=e,t.click(),K("截图已保存")}else K("截图功能(开发模式)")}catch(e){console.error("截图失败:",e)}},Y=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"EXTRACT_LINKS"});console.log("页面链接:",t),K(`找到 ${t.links?.length||0} 个链接`)}catch(t){console.error("提取链接失败:",t)}else K("找到 15 个链接(开发模式)")},G=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"EXTRACT_IMAGES"});console.log("页面图片:",t),K(`找到 ${t.images?.length||0} 张图片`)}catch(t){console.error("提取图片失败:",t)}else K("找到 8 张图片(开发模式)")},W=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"COUNT_WORDS"});console.log("字数统计:",t),K(`页面共有 ${t.wordCount||0} 个字`)}catch(t){console.error("统计字数失败:",t)}else K("页面共有 1,234 个字(开发模式)")},V=async()=>{const e=await R();if(e&&e.id&&"undefined"!=typeof chrome)try{const t=await chrome.tabs.sendMessage(e.id,{type:"EXTRACT_TEXT"});console.log("页面文本:",t),K("文本已提取到控制台")}catch(t){console.error("提取文本失败:",t)}else K("文本已提取到控制台(开发模式)")},K=e=>{console.log("提示:",e)};nn(()=>{R(),J()});const J=()=>{const e=new URLSearchParams(window.location.search),a=e.get("tool"),n=e.get("category");if(a){const e=q(a);e&&(n&&(t.value=n),x(e))}else n&&c.find(e=>e.id===n)&&(t.value=n)},q=e=>({"json-format":"formatJson","json-to-excel":"jsonToExcel","json-postman-converter":"jsonPostmanConverter","json-to-php":"jsonToPhp","timestamp-convert":"convertTimestamp","date-calculator":"calculateDate","timezone-convert":"convertTimezone","countdown-timer":"countdownTimer",stopwatch:"stopwatch",clock:"clock","base64-encode":"base64Encode","url-encode":"urlEncode","md5-hash":"md5Hash","rsa-key-generator":"generateRsaKeys","text-encoder":"encodeText","jwt-generator":"generateJWT","chinese-converter":"convertChinese","text-replacer":"replaceText","php-serializer":"phpSerialize","code-formatter":"formatCode","number-base":"convertBase","number-format":"convertNumber","unit-convert":"convertUnit","image-base64":"convertImageBase64","api-tester":"testApi","uuid-generator":"generateUuid","password-generator":"generatePassword","qr-generator":"generateQR","crontab-generator":"generateCrontab","markdown-editor":"markdownEditor",teleprompter:"teleprompter","screen-test":"screenTest","text-compare":"compareText","string-counter":"countString","string-counter-new":"countStringNew","ascii-lookup":"lookupAscii","regex-tester":"testRegex","regex-tester-new":"testRegexNew","color-reference":"convertColor","surname-lookup":"lookupSurname","mime-type-reference":"mimeTypeReference","dynasty-query":"dynastyQuery","countries-capitals":"countriesCapitals","emoji-reference":"emojiReference","ip-lookup":"lookupIP","programming-languages":"programmingLanguages","bookmark-manager":"manageBookmarks","quick-links":"quickLinks","search-engines":"searchEngines","tab-manager":"manageTabs","url-shortener":"shortenUrl","website-analyzer":"analyzeWebsite"}[e]||null),Z=(e,t)=>{const a=new URL(window.location.href);e?a.searchParams.set("category",e):a.searchParams.delete("category"),t?a.searchParams.set("tool",t):a.searchParams.delete("tool"),a.searchParams.toString()||(a.search=""),window.history.replaceState({},"",a.toString())};return(e,o)=>(Cr(),Tr("div",yie,[Or(Yo,{currentTab:a.value,pageInfo:n.value,onGoHome:y},null,8,["currentTab","pageInfo"]),Mr("div",vie,[s.value?(Cr(),Tr(br,{key:1},["json-formatter"===s.value?(Cr(),Sr(qc,{key:0,onBack:g})):Rr("",!0),"json-to-excel"===s.value?(Cr(),Sr(u_,{key:1,onBack:g})):Rr("",!0),"json-postman-converter"===s.value?(Cr(),Sr(z_,{key:2,onBack:g})):Rr("",!0),"json-to-php"===s.value?(Cr(),Sr(gE,{key:3,onBack:g})):Rr("",!0),"timestamp-converter"===s.value?(Cr(),Sr(eC,{key:4,onBack:g})):Rr("",!0),"date-calculator"===s.value?(Cr(),Sr(sF,{key:5,onBack:g})):Rr("",!0),"countdown-timer"===s.value?(Cr(),Sr(gD,{key:6,onBack:g})):Rr("",!0),"stopwatch"===s.value?(Cr(),Sr(GD,{key:7,onBack:g})):Rr("",!0),"clock"===s.value?(Cr(),Sr(bA,{key:8,onBack:g})):Rr("",!0),"timezone-converter"===s.value?(Cr(),Sr(ET,{key:9,onBack:g})):Rr("",!0),"api-tester"===s.value?(Cr(),Sr(y5,{key:10,onBack:g})):Rr("",!0),"base64-converter"===s.value?(Cr(),Sr(QT,{key:11,onBack:g})):Rr("",!0),"url-converter"===s.value?(Cr(),Sr(YS,{key:12,onBack:g})):Rr("",!0),"hash-generator"===s.value?(Cr(),Sr(rN,{key:13,onBack:g})):Rr("",!0),"password-generator"===s.value?(Cr(),Sr(QN,{key:14,onBack:g})):Rr("",!0),"rsa-key-generator"===s.value?(Cr(),Sr(fB,{key:15,onBack:g})):Rr("",!0),"code-formatter"===s.value?(Cr(),Sr(cz,{key:16,onBack:g})):Rr("",!0),"qr-generator"===s.value?(Cr(),Sr(pY,{key:17,onBack:g})):Rr("",!0),"crontab-generator"===s.value?(Cr(),Sr(hG,{key:18,onBack:g})):Rr("",!0),"markdown-editor"===s.value?(Cr(),Sr(Iee,{key:19,onBack:g})):Rr("",!0),"teleprompter"===s.value?(Cr(),Sr(tte,{key:20,onBack:g})):Rr("",!0),"screen-test"===s.value?(Cr(),Sr(Lae,{key:21,onBack:g})):Rr("",!0),"base-converter"===s.value?(Cr(),Sr(eW,{key:22,onBack:g})):Rr("",!0),"text-encoder"===s.value?(Cr(),Sr(SW,{key:23,onBack:g})):Rr("",!0),"string-counter"===s.value?(Cr(),Sr(IK,{key:24,onBack:g})):Rr("",!0),"surname-lookup"===s.value?(Cr(),Sr(M2,{key:25,onBack:g})):Rr("",!0),"settings"===s.value?(Cr(),Sr(rne,{key:26,onBack:g})):Rr("",!0),"php-serializer"===s.value?(Cr(),Sr(sJ,{key:27,onBack:g})):Rr("",!0),"text-replacer"===s.value?(Cr(),Sr(GJ,{key:28,onBack:g})):Rr("",!0),"chinese-converter"===s.value?(Cr(),Sr(Fq,{key:29,onBack:g})):Rr("",!0),"ascii-lookup"===s.value?(Cr(),Sr(vZ,{key:30,onBack:g})):Rr("",!0),"unit-converter"===s.value?(Cr(),Sr(nX,{key:31,onBack:g})):Rr("",!0),"number-converter"===s.value?(Cr(),Sr(MX,{key:32,onBack:g})):Rr("",!0),"color-reference"===s.value?(Cr(),Sr(AQ,{key:33,onBack:g})):Rr("",!0),"jwt-generator"===s.value?(Cr(),Sr(H0,{key:34,onBack:g})):Rr("",!0),"regex-tester"===s.value?(Cr(),Sr(c3,{key:35,onBack:g})):Rr("",!0),"text-compare"===s.value?(Cr(),Sr(y4,{key:36,onBack:g})):Rr("",!0),"mime-type-reference"===s.value?(Cr(),Sr(j4,{key:37,onBack:g})):Rr("",!0),"dynasty-query"===s.value?(Cr(),Sr(V6,{key:38,onBack:g})):Rr("",!0),"uuid-generator"===s.value?(Cr(),Sr($8,{key:39,onBack:g})):Rr("",!0),"programming-languages"===s.value?(Cr(),Sr(N7,{key:40,onBack:g})):Rr("",!0),"image-base64-converter"===s.value?(Cr(),Sr(B1,{key:41,onBack:g})):Rr("",!0),"countries-capitals"===s.value?(Cr(),Sr(kre,{key:42,onBack:g})):Rr("",!0),"emoji-reference"===s.value?(Cr(),Sr(Nre,{key:43,onBack:g})):Rr("",!0),"ip-lookup"===s.value?(Cr(),Sr(gie,{key:44,onBack:g})):Rr("",!0)],64)):(Cr(),Tr(br,{key:0},[Or(Vi,{navigationItems:Nt(c),activeNav:t.value,onNavigate:p,onOpenSettings:v,onOpenFeedback:w},null,8,["navigationItems","activeNav"]),Mr("div",bie,[Or(vo,{title:d.value,subtitle:`共 ${u.value.length} 个功能`,cards:u.value,isLoading:r.value,onExecute:x,onSelectTool:h},null,8,["title","subtitle","cards","isLoading"])])],64))]),i.value?(Cr(),Tr("div",{key:0,class:"settings-overlay",onClick:b},[Mr("div",{class:"settings-modal",onClick:o[0]||(o[0]=Ii(()=>{},["stop"]))},[Mr("div",{class:"settings-header"},[o[2]||(o[2]=Mr("h2",null,"设置",-1)),Mr("button",{class:"close-btn",onClick:b},[...o[1]||(o[1]=[Mr("svg",{width:"20",height:"20",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2"},[Mr("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),Mr("line",{x1:"6",y1:"6",x2:"18",y2:"18"})],-1)])])]),Mr("div",wie,[Or(rne)])])])):Rr("",!0),Or(nl)]))}}),[["__scopeId","data-v-3e57a101"]])).mount("#app"); diff --git a/docs/assets/style-Cx05zN_K.css b/docs/assets/style-Cx05zN_K.css new file mode 100644 index 0000000..cd19163 --- /dev/null +++ b/docs/assets/style-Cx05zN_K.css @@ -0,0 +1 @@ +:root,:root.dark,:root[data-theme=dark]{--primary-color: #6366f1;--primary-color-dark: #4f46e5;--primary-color-alpha: rgba(99, 102, 241, .1);--primary-hover: #4f46e5;--primary-light: #818cf8;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-alpha: rgba(99, 102, 241, .1);--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-quaternary: #475569;--bg-card: #1e293b;--bg-hover: #475569;--bg-error: #1e1b1b;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-tertiary: #64748b;--text-error: #fca5a5;--border-color: #334155;--border-hover: #475569;--border-error: #7f1d1d;--success-color: #10b981;--success-color-dark: #059669;--success-color-alpha: rgba(16, 185, 129, .1);--warning-color: #f59e0b;--warning-color-dark: #d97706;--warning-color-alpha: rgba(245, 158, 11, .1);--error-color: #ef4444;--error-color-dark: #dc2626;--error-color-alpha: rgba(239, 68, 68, .1);--color-error: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1)}:root.light,:root[data-theme=light]{--primary-color: #6366f1;--primary-color-dark: #4f46e5;--primary-color-alpha: rgba(99, 102, 241, .1);--primary-hover: #4f46e5;--primary-light: #818cf8;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-alpha: rgba(99, 102, 241, .1);--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-quaternary: #e2e8f0;--bg-card: #ffffff;--bg-hover: #e2e8f0;--bg-error: #fef2f2;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-tertiary: #94a3b8;--text-error: #dc2626;--border-color: #e2e8f0;--border-hover: #cbd5e1;--border-error: #fecaca;--success-color: #10b981;--success-color-dark: #059669;--success-color-alpha: rgba(16, 185, 129, .1);--warning-color: #f59e0b;--warning-color-dark: #d97706;--warning-color-alpha: rgba(245, 158, 11, .1);--error-color: #ef4444;--error-color-dark: #dc2626;--error-color-alpha: rgba(239, 68, 68, .1);--color-error: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .25)}:root{--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition: all .2s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);transition:var(--transition)}button{font-family:inherit}.action-btn-small,.quick-btn,.control-btn,.convert-btn,.swap-btn,.now-btn,.parse-btn,.add-btn,.file-action-btn,.url-safe-btn{font-weight:500!important;border-width:1px!important}:root.light .action-btn-small,:root.light .quick-btn,:root.light .swap-btn,:root.light .now-btn{color:var(--text-primary)!important;border-color:var(--border-hover)!important}:root.light .action-btn-small:hover,:root.light .quick-btn:hover,:root.light .swap-btn:hover,:root.light .now-btn:hover{border-color:var(--primary-color)!important;box-shadow:0 2px 4px #6366f133!important}#app{width:100%;height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-sm);transition:var(--transition)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background:var(--primary-color);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}.pulse{animation:pulse 2s infinite}.spin{animation:spin 1s linear infinite}.bounce{animation:bounce 1s ease-in-out}*,*:before,*:after{transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),opacity var(--transition)}.no-transition,.no-transition *{transition:none!important}html{transition:background-color var(--transition-slow)}body{transition:background-color var(--transition-slow),color var(--transition-slow)}:root[data-theme=light] .card-background{background:linear-gradient(135deg,#6366f108,#6366f114)!important}:root[data-theme=light] .status-dot.ready{background:#059669;box-shadow:0 0 8px #0596694d}:root[data-theme=light] .status-dot.development{background:#d97706;box-shadow:0 0 8px #d977064d}:root,:root.dark,:root[data-theme=dark]{--hljs-bg: transparent;--hljs-color: #abb2bf;--hljs-keyword: #c678dd;--hljs-string: #98c379;--hljs-number: #d19a66;--hljs-literal: #56b6c2;--hljs-punctuation: #abb2bf;--hljs-attr: #e06c75}:root.light,:root[data-theme=light]{--hljs-bg: transparent;--hljs-color: #383a42;--hljs-keyword: #a626a4;--hljs-string: #50a14f;--hljs-number: #986801;--hljs-literal: #0184bc;--hljs-punctuation: #383a42;--hljs-attr: #e45649}.hljs{background:var(--hljs-bg)!important;color:var(--hljs-color)!important}.hljs-number{color:var(--hljs-number)!important}.hljs-literal{color:var(--hljs-literal)!important}.hljs-keyword{color:var(--hljs-keyword)!important}.hljs-punctuation{color:var(--hljs-punctuation)!important}.hljs-attr{color:var(--hljs-attr)!important}.hljs-attr,.hljs-name{color:var(--hljs-attr)!important;font-weight:500}.hljs-string{color:var(--hljs-string)!important}.hljs-number{color:var(--hljs-number)!important;font-weight:500}.hljs-literal{color:var(--hljs-literal)!important;font-weight:600}@media(max-width:768px){html{font-size:14px}}@media(max-width:480px){html{font-size:13px}}:root,:root.dark,:root[data-theme=dark]{--jsoneditor-bg: #1e293b;--jsoneditor-bg-secondary: #334155;--jsoneditor-text: #f1f5f9;--jsoneditor-text-secondary: #cbd5e1;--jsoneditor-border: #475569;--jsoneditor-hover: #475569;--jsoneditor-selected: #6366f1}:root.light,:root[data-theme=light]{--jsoneditor-bg: #ffffff;--jsoneditor-bg-secondary: #f8fafc;--jsoneditor-text: #0f172a;--jsoneditor-text-secondary: #64748b;--jsoneditor-border: #e2e8f0;--jsoneditor-hover: #f1f5f9;--jsoneditor-selected: #6366f1}.jsoneditor{background:var(--jsoneditor-bg)!important;border:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text)!important}.jsoneditor-tree,.jsoneditor-outer{background:var(--jsoneditor-bg)!important;background-image:none!important}.jsoneditor-tree table,.jsoneditor-tree td{background:transparent!important;background-image:none!important}.jsoneditor-menu{background:var(--jsoneditor-bg-secondary)!important;border-bottom:1px solid var(--jsoneditor-border)!important}.jsoneditor-tree{background:var(--jsoneditor-bg)!important;color:var(--jsoneditor-text)!important}.jsoneditor-field,.jsoneditor-value,.jsoneditor-readonly{color:var(--jsoneditor-text)!important}.jsoneditor-field[contenteditable=true]:focus,.jsoneditor-value[contenteditable=true]:focus{background:var(--jsoneditor-hover)!important;outline:1px solid var(--jsoneditor-selected)!important}.jsoneditor-tree button.jsoneditor-button{background:var(--jsoneditor-bg-secondary)!important;border:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text)!important}.jsoneditor-tree button.jsoneditor-button:hover{background:var(--jsoneditor-hover)!important}.jsoneditor-tree .jsoneditor-selected{background:#6366f11a!important}.jsoneditor-tree .jsoneditor-highlight{background:#6366f133!important}.jsoneditor-contextmenu{background:var(--jsoneditor-bg)!important;border:1px solid var(--jsoneditor-border)!important;box-shadow:var(--shadow-lg)!important}.jsoneditor-contextmenu .jsoneditor-menu li button{background:transparent!important;color:var(--jsoneditor-text)!important}.jsoneditor-contextmenu .jsoneditor-menu li button:hover{background:var(--jsoneditor-hover)!important}.jsoneditor-search{background:var(--jsoneditor-bg-secondary)!important;border:1px solid var(--jsoneditor-border)!important}.jsoneditor-search input{background:var(--jsoneditor-bg)!important;border:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text)!important}.jsoneditor-search input:focus{border-color:var(--jsoneditor-selected)!important;outline:none!important}.jsoneditor-statusbar{background:var(--jsoneditor-bg-secondary)!important;border-top:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text-secondary)!important}.jsoneditor-code .ace_editor{background:var(--jsoneditor-bg)!important;color:var(--jsoneditor-text)!important}.jsoneditor-code .ace_gutter{background:var(--jsoneditor-bg-secondary)!important;color:var(--jsoneditor-text-secondary)!important}.jsoneditor-code .ace_gutter-active-line{background:var(--jsoneditor-hover)!important}.jsoneditor-code .ace_cursor{color:var(--jsoneditor-text)!important}.jsoneditor-code .ace_selection{background:#6366f133!important}.jsoneditor-form{background:var(--jsoneditor-bg)!important}.jsoneditor-form .jsoneditor-field,.jsoneditor-form .jsoneditor-value{background:var(--jsoneditor-bg)!important;border:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text)!important}.jsoneditor-form .jsoneditor-field:focus,.jsoneditor-form .jsoneditor-value:focus{border-color:var(--jsoneditor-selected)!important;outline:none!important}.jsoneditor ::-webkit-scrollbar{width:8px;height:8px}.jsoneditor ::-webkit-scrollbar-track{background:var(--jsoneditor-bg-secondary)}.jsoneditor ::-webkit-scrollbar-thumb{background:var(--jsoneditor-border);border-radius:4px}.jsoneditor ::-webkit-scrollbar-thumb:hover{background:var(--jsoneditor-hover)}.jsoneditor-tree .jsoneditor-button.jsoneditor-collapsed:before,.jsoneditor-tree .jsoneditor-button.jsoneditor-expanded:before{color:var(--jsoneditor-text-secondary)!important}.jsoneditor-tree .jsoneditor-separator{color:var(--jsoneditor-text-secondary)!important}.jsoneditor-validation-errors{background:var(--jsoneditor-bg)!important;border:1px solid #ef4444!important;color:#ef4444!important}.jsoneditor-validation-error{background:#ef44441a!important}.jsoneditor-tree-inner{background:var(--jsoneditor-bg)!important;background-image:none!important}.jsoneditor-tree .jsoneditor-tree-inner{background:var(--jsoneditor-bg)!important}.jsoneditor table,.jsoneditor tbody,.jsoneditor tr,.jsoneditor td{background:transparent!important;background-image:none!important}.jsoneditor-tree .jsoneditor-tree-inner{padding:8px!important}.jsoneditor-tree .jsoneditor-tree-inner table{border-collapse:collapse!important}.jsoneditor-tree .jsoneditor-tree-inner td{border:none!important;padding:2px 4px!important}.json-editor *,.jsoneditor *,.jsoneditor-tree *,.jsoneditor-outer *,.jsoneditor-tree-inner *{background-image:none!important}.jsoneditor-tree{background:var(--jsoneditor-bg)!important;background-image:none!important;background-repeat:no-repeat!important;background-size:auto!important;background-position:0 0!important}.json-editor-container .jsoneditor{background:var(--jsoneditor-bg)!important;background-image:none!important}.jsoneditor-tree table,.jsoneditor-tree tbody,.jsoneditor-tree tr,.jsoneditor-tree td,.jsoneditor-tree th{background:transparent!important;background-image:none!important;background-color:transparent!important}.json-editor-element .jsoneditor{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.json-editor-element .jsoneditor-outer{width:100%!important;height:100%!important}.json-editor-element .jsoneditor-tree{width:100%!important;height:calc(100% - 40px)!important}.json-editor-element .jsoneditor{width:100%!important;height:500px!important;border:1px solid var(--border-color)!important}:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--danger-color: #ef4444;--danger-hover: #dc2626;--success-color: #10b981;--warning-color: #f59e0b;--bg-color: #ffffff;--bg-secondary: #f8fafc;--bg-hover: #f1f5f9;--text-color: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-hover: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}[data-theme=dark]{--bg-color: #0f172a;--bg-secondary: #1e293b;--bg-hover: #334155;--text-color: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: #334155;--border-hover: #475569}.input-field{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--bg-color);color:var(--text-color);font-size:.9rem;transition:all .2s ease;resize:vertical;min-height:2.5rem}.input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.input-field:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.input-field.readonly{background:var(--bg-secondary);cursor:default}.textarea-field{min-height:8rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;line-height:1.5}.input-output-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.input-output-grid{grid-template-columns:1fr}}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem}.form-help{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.5rem .75rem;border-radius:.375rem}.status-success{background:#10b9811a;color:var(--success-color);border:1px solid rgb(16 185 129 / .2)}.status-error{background:#ef44441a;color:var(--danger-color);border:1px solid rgb(239 68 68 / .2)}.status-warning{background:#f59e0b1a;color:var(--warning-color);border:1px solid rgb(245 158 11 / .2)}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text-color);color:var(--bg-color);padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.tooltip:hover:after{opacity:1}.hidden-mobile{display:block}@media(max-width:768px){.hidden-mobile{display:none}}.hidden-desktop{display:none}@media(max-width:768px){.hidden-desktop{display:block}}.navigation[data-v-c1f3591a]{width:240px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;position:relative}.nav-content[data-v-c1f3591a]{flex:1;padding:24px 16px;overflow-y:auto}.nav-list[data-v-c1f3591a]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.nav-item-content[data-v-c1f3591a]{display:flex;align-items:center;padding:16px 20px;cursor:pointer;border-radius:var(--radius-lg);position:relative;background:transparent;border:1px solid transparent}.nav-item:hover .nav-item-content[data-v-c1f3591a]{background:var(--bg-tertiary);border-color:var(--border-color)}.nav-item.active .nav-item-content[data-v-c1f3591a]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-color:var(--primary-light);box-shadow:var(--shadow-lg)}.nav-icon[data-v-c1f3591a]{font-size:20px;margin-right:16px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.nav-name[data-v-c1f3591a]{font-size:15px;font-weight:600;color:var(--text-secondary);flex:1}.nav-item:hover .nav-name[data-v-c1f3591a]{color:var(--text-primary)}.nav-item.active .nav-name[data-v-c1f3591a]{color:#fff;font-weight:700}.active-indicator[data-v-c1f3591a]{position:absolute;right:12px;width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 8px #ffffff80}.nav-footer[data-v-c1f3591a]{padding:16px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.footer-buttons[data-v-c1f3591a]{display:flex;gap:12px}.footer-btn[data-v-c1f3591a]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:13px;min-height:36px}.footer-btn[data-v-c1f3591a]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.footer-icon[data-v-c1f3591a]{font-size:14px}.footer-text[data-v-c1f3591a]{font-weight:500}@media(max-width:768px){.navigation[data-v-c1f3591a]{width:200px}.nav-item-content[data-v-c1f3591a]{padding:12px 16px}.nav-name[data-v-c1f3591a]{font-size:14px}.footer-btn[data-v-c1f3591a]{padding:6px 8px;font-size:12px;min-height:32px}.footer-icon[data-v-c1f3591a]{font-size:13px}}@media(max-width:640px){.navigation[data-v-c1f3591a]{width:60px}.nav-name[data-v-c1f3591a]{display:none}.nav-item-content[data-v-c1f3591a]{justify-content:center;padding:12px}.nav-icon[data-v-c1f3591a]{margin-right:0}.footer-buttons[data-v-c1f3591a]{flex-direction:column;gap:4px}.footer-text[data-v-c1f3591a]{display:none}.footer-btn[data-v-c1f3591a]{justify-content:center;padding:6px;min-height:28px}}.function-card[data-v-0829ad7f]{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;cursor:pointer;transition:all .2s ease;overflow:hidden;height:100px;box-shadow:0 2px 8px #0000000a}.function-card[data-v-0829ad7f]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f;border-color:var(--border-hover)}.function-card[data-v-0829ad7f]:active{transform:translateY(-1px)}.status-badge[data-v-0829ad7f]{position:absolute;top:0;right:0;z-index:3;padding:6px 12px;font-size:10px;font-weight:600;letter-spacing:.02em;color:#fff;border-top-right-radius:16px;border-bottom-left-radius:12px;transform-origin:top right;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1;min-width:40px;height:24px}.card-content[data-v-0829ad7f]{padding:20px;height:100%;display:flex;align-items:center;gap:16px}.icon-circle[data-v-0829ad7f]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.card-icon[data-v-0829ad7f]{font-size:24px;transition:all .3s ease}.function-card:hover .icon-circle[data-v-0829ad7f]{transform:scale(1.05)}.content-area[data-v-0829ad7f]{flex:1;min-width:0}.card-title[data-v-0829ad7f]{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.3}.card-description[data-v-0829ad7f]{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:640px){.function-card[data-v-0829ad7f]{height:90px}.card-content[data-v-0829ad7f]{padding:16px;gap:12px}.icon-circle[data-v-0829ad7f]{width:44px;height:44px}.card-icon[data-v-0829ad7f]{font-size:20px}.card-title[data-v-0829ad7f]{font-size:14px}.card-description[data-v-0829ad7f]{font-size:12px}.status-badge[data-v-0829ad7f]{padding:4px 8px;font-size:9px;min-width:32px;height:20px;border-bottom-left-radius:10px}}.card-grid[data-v-d17ea0f2]{flex:1;display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.grid-header[data-v-d17ea0f2]{padding:32px 32px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.header-content[data-v-d17ea0f2]{justify-self:start}.header-spacer[data-v-d17ea0f2]{justify-self:end;width:0}.search-container[data-v-d17ea0f2]{justify-self:center;width:480px;position:relative}.search-box[data-v-d17ea0f2]{position:relative;display:flex;align-items:center;background:var(--bg-primary);border:2px solid transparent;border-radius:24px;padding:0 24px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;backdrop-filter:blur(8px)}.search-box[data-v-d17ea0f2]:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.search-box[data-v-d17ea0f2]:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 4px #6366f11a,0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.search-icon[data-v-d17ea0f2]{color:var(--text-muted);margin-right:16px;flex-shrink:0;transition:color .2s ease}.search-box:focus-within .search-icon[data-v-d17ea0f2]{color:var(--primary-color)}.search-input[data-v-d17ea0f2]{flex:1;background:transparent;border:none;outline:none;padding:16px 0;color:var(--text-primary);font-size:16px;font-weight:400;width:100%;letter-spacing:.01em}.search-input[data-v-d17ea0f2]::placeholder{color:var(--text-muted);font-weight:400;transition:color .2s ease}.search-box:focus-within .search-input[data-v-d17ea0f2]::placeholder{color:#6366f199}.clear-search[data-v-d17ea0f2]{background:var(--bg-tertiary);border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:12px;opacity:.7}.clear-search[data-v-d17ea0f2]:hover{background:var(--border-color);color:var(--text-primary);opacity:1;transform:scale(1.05)}.search-results[data-v-d17ea0f2]{position:absolute;top:calc(100% + 16px);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;z-index:1000;max-height:420px;overflow:hidden;backdrop-filter:blur(12px);animation:searchResultsIn-d17ea0f2 .2s cubic-bezier(.4,0,.2,1)}@keyframes searchResultsIn-d17ea0f2{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-result-item[data-v-d17ea0f2]{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:all .15s ease;border-bottom:1px solid rgba(255,255,255,.05);position:relative}.search-result-item[data-v-d17ea0f2]:last-child{border-bottom:none}.search-result-item[data-v-d17ea0f2]:hover,.search-result-item.active[data-v-d17ea0f2]{background:linear-gradient(135deg,#6366f114,#6366f10a);transform:translate(4px)}.search-result-item.active[data-v-d17ea0f2]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:0 2px 2px 0}.result-icon[data-v-d17ea0f2]{font-size:20px;margin-right:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-secondary);border-radius:12px;transition:all .2s ease}.search-result-item:hover .result-icon[data-v-d17ea0f2],.search-result-item.active .result-icon[data-v-d17ea0f2]{background:#6366f11a;transform:scale(1.05)}.result-content[data-v-d17ea0f2]{flex:1;min-width:0}.result-title[data-v-d17ea0f2]{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.4}.result-description[data-v-d17ea0f2]{font-size:13px;color:var(--text-muted);line-height:1.4;opacity:.8}.result-category[data-v-d17ea0f2]{font-size:11px;color:var(--primary-color);background:#6366f11a;padding:4px 8px;border-radius:8px;flex-shrink:0;margin-left:12px;font-weight:500;letter-spacing:.02em}.search-more[data-v-d17ea0f2]{padding:16px 20px;text-align:center;font-size:13px;color:var(--text-muted);background:var(--bg-secondary);border-top:1px solid var(--border-color);font-weight:500}.grid-title[data-v-d17ea0f2]{margin:0 0 8px;font-size:28px;color:var(--text-primary);font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grid-subtitle[data-v-d17ea0f2]{margin:0;font-size:16px;color:var(--text-muted);font-weight:500}.cards-container[data-v-d17ea0f2]{flex:1;padding:32px;overflow-y:auto;position:relative}.cards-grid[data-v-d17ea0f2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;max-width:1200px;margin:0 auto}.loading-overlay[data-v-d17ea0f2]{position:absolute;inset:0;background:#0f172acc;backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}.loading-spinner[data-v-d17ea0f2]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-d17ea0f2 1s linear infinite;margin-bottom:16px}.loading-text[data-v-d17ea0f2]{color:var(--text-secondary);font-size:16px;font-weight:500;margin:0}@keyframes spin-d17ea0f2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.cards-grid[data-v-d17ea0f2]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.cards-container[data-v-d17ea0f2]{padding:24px}.grid-header[data-v-d17ea0f2]{padding:24px;grid-template-columns:1fr;gap:24px;text-align:center}.header-content[data-v-d17ea0f2]{justify-self:center}.header-spacer[data-v-d17ea0f2]{display:none}.search-container[data-v-d17ea0f2]{width:100%;max-width:480px;justify-self:center}}@media(max-width:640px){.search-container[data-v-d17ea0f2]{width:100%;max-width:none;padding:0 8px}.search-box[data-v-d17ea0f2]{padding:0 20px}.search-input[data-v-d17ea0f2]{padding:14px 0;font-size:16px}.search-results[data-v-d17ea0f2]{border-radius:16px;margin:0 8px;left:-8px;right:-8px}.result-icon[data-v-d17ea0f2]{width:36px;height:36px;font-size:18px}}@media(max-width:640px){.cards-grid[data-v-d17ea0f2]{grid-template-columns:1fr;gap:12px}.cards-container[data-v-d17ea0f2],.grid-header[data-v-d17ea0f2]{padding:16px}.grid-title[data-v-d17ea0f2]{font-size:24px}.grid-subtitle[data-v-d17ea0f2]{font-size:14px}}.theme-toggle-wrapper[data-v-e95a7d3b]{position:relative}.theme-toggle[data-v-e95a7d3b]{width:28px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.theme-toggle[data-v-e95a7d3b]:hover{background:var(--border-color);color:var(--text-primary)}.icon[data-v-e95a7d3b]{color:var(--text-secondary);transition:var(--transition)}.theme-toggle:hover .icon[data-v-e95a7d3b]{color:var(--text-primary)}.sun-icon[data-v-e95a7d3b]{color:#f59e0b}.moon-icon[data-v-e95a7d3b]{color:#64748b}[data-theme=dark] .moon-icon[data-v-e95a7d3b]{color:#e2e8f0}.theme-menu[data-v-e95a7d3b]{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;z-index:1000;overflow:hidden}.menu-item[data-v-e95a7d3b]{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;transition:var(--transition);font-size:14px;color:var(--text-secondary)}.menu-item[data-v-e95a7d3b]:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-item.active[data-v-e95a7d3b]{background:var(--primary-color-alpha);color:var(--primary-color)}.menu-item svg[data-v-e95a7d3b]{flex-shrink:0}.menu-item span[data-v-e95a7d3b]{flex:1;font-weight:500}.menu-item small[data-v-e95a7d3b]{font-size:12px;color:var(--text-muted);font-weight:400}.menu-item.active small[data-v-e95a7d3b]{color:var(--primary-color);opacity:.8}.header[data-v-cc11a75f]{height:64px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;backdrop-filter:blur(10px);position:relative;z-index:10}.header-left[data-v-cc11a75f]{display:flex;align-items:center;gap:24px}.logo[data-v-cc11a75f]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm)}.logo-icon[data-v-cc11a75f]{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;padding:4px}.logo-icon img[data-v-cc11a75f]{width:20px;height:20px;object-fit:contain}.logo-text[data-v-cc11a75f]{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.breadcrumb[data-v-cc11a75f]{display:flex;align-items:center}.breadcrumb-text[data-v-cc11a75f]{font-size:14px;color:var(--text-muted);font-weight:500}.header-center[data-v-cc11a75f]{flex:1;display:flex;justify-content:center}.header-right[data-v-cc11a75f]{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:0}.github-star-btn[data-v-cc11a75f]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:12px;font-weight:500;white-space:nowrap}.github-star-btn svg[data-v-cc11a75f]{width:12px;height:12px}.star-badge[data-v-cc11a75f]{height:20px;border-radius:var(--radius-sm)}.tab-info[data-v-cc11a75f]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:8px 16px;text-align:center;min-width:200px;max-width:100%}.tab-title[data-v-cc11a75f]{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-url[data-v-cc11a75f]{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-container[data-v-c2f08414]{position:fixed;bottom:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;max-width:400px;pointer-events:none}.notification[data-v-c2f08414]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-lg);pointer-events:auto;min-width:300px;backdrop-filter:blur(10px)}.notification-success .notification-icon[data-v-c2f08414]{color:var(--success-color)}.notification-error .notification-icon[data-v-c2f08414]{color:var(--danger-color)}.notification-warning .notification-icon[data-v-c2f08414]{color:var(--warning-color)}.notification-info .notification-icon[data-v-c2f08414]{color:var(--primary-color)}.notification-icon[data-v-c2f08414]{flex-shrink:0;margin-top:.125rem}.notification-content[data-v-c2f08414]{flex:1;min-width:0}.notification-title[data-v-c2f08414]{font-weight:600;font-size:.875rem;color:var(--text-color);margin-bottom:.25rem}.notification-message[data-v-c2f08414]{font-size:.875rem;color:var(--text-secondary);line-height:1.4;word-break:break-word}.notification-actions[data-v-c2f08414]{display:flex;gap:.5rem;margin-top:.75rem}.notification-action[data-v-c2f08414]{padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.action-primary[data-v-c2f08414]{background:var(--primary-color);color:#fff}.action-primary[data-v-c2f08414]:hover{background:var(--primary-hover)}.action-secondary[data-v-c2f08414]{background:var(--bg-secondary);color:var(--text-color);border-color:var(--border-color)}.action-secondary[data-v-c2f08414]:hover{background:var(--bg-hover)}.notification-close[data-v-c2f08414]{flex-shrink:0;padding:.25rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:.25rem;transition:all .2s ease}.notification-close[data-v-c2f08414]:hover{background:var(--bg-secondary);color:var(--text-color)}.notification-enter-active[data-v-c2f08414],.notification-leave-active[data-v-c2f08414]{transition:all .3s ease}.notification-enter-from[data-v-c2f08414],.notification-leave-to[data-v-c2f08414]{transform:translateY(100%);opacity:0}.notification-move[data-v-c2f08414]{transition:transform .3s ease}@media(max-width:768px){.notification-container[data-v-c2f08414]{left:1rem;right:1rem;max-width:none}.notification[data-v-c2f08414]{min-width:auto}}.formatter-header[data-v-ef05a5f1]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.back-btn[data-v-ef05a5f1]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:14px}.back-btn[data-v-ef05a5f1]:hover{background:var(--border-color);color:var(--text-primary)}.formatter-title[data-v-ef05a5f1]{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.formatter-actions[data-v-ef05a5f1]{display:flex;gap:8px}.action-btn[data-v-1ae41ac3]{width:36px;height:36px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.action-btn[data-v-1ae41ac3]:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.action-btn[data-v-1ae41ac3]:disabled{opacity:.5;cursor:not-allowed}.json-node[data-v-00fc00b1]{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5}.json-line[data-v-00fc00b1]{display:flex;align-items:center;min-height:21px;padding:1px 0;position:relative;cursor:pointer}.json-line[data-v-00fc00b1]:hover{background:#0000000d}.json-actions[data-v-00fc00b1]{position:absolute;right:8px;display:flex;gap:4px;background:var(--bg-primary);padding:2px;border-radius:var(--radius-sm);box-shadow:0 2px 8px #00000026;z-index:10}.action-btn[data-v-00fc00b1]{width:20px;height:20px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.copy-btn[data-v-00fc00b1]{background:#e3f2fd;color:#1976d2}.copy-btn[data-v-00fc00b1]:hover{background:#bbdefb}.delete-btn[data-v-00fc00b1]{background:#ffebee;color:#d32f2f}.delete-btn[data-v-00fc00b1]:hover{background:#ffcdd2}.json-indent[data-v-00fc00b1]{flex-shrink:0}.json-toggle[data-v-00fc00b1]{width:16px;color:var(--text-muted);cursor:pointer;user-select:none;transition:transform .2s ease}.json-toggle.collapsed[data-v-00fc00b1]{transform:rotate(-90deg)}.json-key[data-v-00fc00b1]{color:#0969da;margin-right:4px}.json-bracket[data-v-00fc00b1]{color:var(--text-primary);font-weight:700}.json-collapsed-info[data-v-00fc00b1]{color:var(--text-muted);font-style:italic;margin:0 8px}.json-value[data-v-00fc00b1]{margin-left:4px}.json-value.string[data-v-00fc00b1]{color:#032f62}.json-value.number[data-v-00fc00b1]{color:#0550ae}.json-value.boolean[data-v-00fc00b1]{color:#8250df}.json-value.null[data-v-00fc00b1]{color:#6f42c1}.json-comma[data-v-00fc00b1]{color:var(--text-muted)}.json-leaf .json-line[data-v-00fc00b1]{cursor:pointer}.json-leaf .json-line[data-v-00fc00b1]:hover{background:#0000000d}pre code.hljs{display:block;overflow-x:auto;padding:1em}code.hljs{padding:3px 5px}.hljs{color:#c9d1d9;background:#0d1117}.hljs-doctag,.hljs-keyword,.hljs-meta .hljs-keyword,.hljs-template-tag,.hljs-template-variable,.hljs-type,.hljs-variable.language_{color:#ff7b72}.hljs-title,.hljs-title.class_,.hljs-title.class_.inherited__,.hljs-title.function_{color:#d2a8ff}.hljs-attr,.hljs-attribute,.hljs-literal,.hljs-meta,.hljs-number,.hljs-operator,.hljs-variable,.hljs-selector-attr,.hljs-selector-class,.hljs-selector-id{color:#79c0ff}.hljs-regexp,.hljs-string,.hljs-meta .hljs-string{color:#a5d6ff}.hljs-built_in,.hljs-symbol{color:#ffa657}.hljs-comment,.hljs-code,.hljs-formula{color:#8b949e}.hljs-name,.hljs-quote,.hljs-selector-tag,.hljs-selector-pseudo{color:#7ee787}.hljs-subst{color:#c9d1d9}.hljs-section{color:#1f6feb;font-weight:700}.hljs-bullet{color:#f2cc60}.hljs-emphasis{color:#c9d1d9;font-style:italic}.hljs-strong{color:#c9d1d9;font-weight:700}.hljs-addition{color:#aff5b4;background-color:#033a16}.hljs-deletion{color:#ffdcd7;background-color:#67060c}.code-viewer[data-v-9e754843]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;overflow:hidden}.code-container[data-v-9e754843]{flex:1;display:flex;position:relative;overflow:hidden}.line-numbers[data-v-9e754843]{width:3rem;background:var(--bg-tertiary);border-right:1px solid var(--border-color);padding:1rem .5rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.75rem;line-height:1.5;color:var(--text-secondary);user-select:none;overflow:hidden;flex-shrink:0}.line-number[data-v-9e754843]{text-align:right;padding-right:.5rem;height:1.3em;white-space:nowrap}.code-content[data-v-9e754843]{flex:1;padding:1rem;background:transparent;color:var(--text-primary);font-size:.75rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1.5;overflow:auto;white-space:pre-wrap;word-break:break-all;tab-size:4}.fullscreen-mode[data-v-9e754843]{border-radius:0;height:100vh}.fullscreen-mode .line-numbers[data-v-9e754843]{width:4rem;font-size:.875rem;padding:1.5rem .75rem}.fullscreen-mode .code-content[data-v-9e754843]{font-size:.875rem;padding:1.5rem}.code-content[data-v-9e754843]::-webkit-scrollbar{width:8px;height:8px}.code-content[data-v-9e754843]::-webkit-scrollbar-track{background:var(--bg-tertiary)}.code-content[data-v-9e754843]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:4px}.code-content[data-v-9e754843]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.fullscreen-mode .code-content[data-v-9e754843]::-webkit-scrollbar{width:12px;height:12px}.fullscreen-mode .code-content[data-v-9e754843]::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:6px}.fullscreen-mode .code-content[data-v-9e754843]::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:6px}.fullscreen-mode .code-content[data-v-9e754843]::-webkit-scrollbar-thumb:hover{background:var(--text-secondary)}.code-viewer:not(.show-line-numbers) .line-numbers[data-v-9e754843]{display:none}.code-viewer:not(.show-line-numbers) .code-content[data-v-9e754843]{padding-left:1rem}.floating-fullscreen-btn[data-v-9e754843]{position:absolute;top:.75rem;right:.75rem;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);transition:all .2s ease;z-index:10;opacity:.7}.floating-fullscreen-btn[data-v-9e754843]:hover{opacity:1;background:var(--bg-primary);color:var(--text-primary);border-color:var(--primary-color)}.fullscreen-mode .floating-fullscreen-btn[data-v-9e754843]{background:#0009;border-color:#fff3;color:#fff}.fullscreen-mode .floating-fullscreen-btn[data-v-9e754843]:hover{background:#000c;border-color:#fff6}.scroll-to-top-btn[data-v-9e754843]{position:absolute;bottom:1rem;right:1rem;width:3rem;height:3rem;background:var(--primary-color);border:none;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;color:#fff;transition:all .3s ease;z-index:10;box-shadow:0 4px 12px #00000026}.scroll-to-top-btn[data-v-9e754843]:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 6px 20px #3b82f64d}.scroll-to-top-btn svg[data-v-9e754843]{width:20px;height:20px;transition:transform .2s ease}.scroll-to-top-btn:hover svg[data-v-9e754843]{transform:translateY(-1px)}.json-formatter[data-v-207907ad]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.formatter-content[data-v-207907ad]{flex:1;display:grid;grid-template-columns:45fr 55fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-207907ad],.output-section[data-v-207907ad]{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.section-header[data-v-207907ad]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px;box-sizing:border-box}.section-header h3[data-v-207907ad]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.result-controls[data-v-207907ad]{display:flex;align-items:center;gap:16px}.view-mode-toggle[data-v-207907ad]{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.mode-btn[data-v-207907ad]{padding:4px 12px;background:var(--bg-primary);border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:var(--transition)}.mode-btn[data-v-207907ad]:first-child{border-right:1px solid var(--border-color)}.mode-btn[data-v-207907ad]:hover{background:var(--bg-secondary);color:var(--text-primary)}.mode-btn.active[data-v-207907ad]{background:var(--primary-color);color:#fff}.auto-format-indicator[data-v-207907ad]{display:flex;align-items:center;gap:4px;color:var(--primary-color);font-weight:500}.auto-format-indicator svg[data-v-207907ad]{animation:spin-207907ad 1s linear infinite}.format-hint[data-v-207907ad]{color:var(--text-muted);font-style:italic}@keyframes spin-207907ad{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.section-actions[data-v-207907ad]{display:flex;align-items:center;gap:12px}.button-group[data-v-207907ad]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.group-btn[data-v-207907ad]{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}.group-btn[data-v-207907ad]:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.group-btn[data-v-207907ad]:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.group-btn[data-v-207907ad]:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-btn[data-v-207907ad]:active{background:var(--bg-tertiary)}.json-input[data-v-207907ad]{flex:1;padding:20px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;resize:none;outline:none}.json-input[data-v-207907ad]::placeholder{color:var(--text-muted)}.error-message[data-v-207907ad]{padding:12px 20px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:14px}.json-output-container[data-v-207907ad]{flex:1;overflow:auto}.json-output-wrapper[data-v-207907ad]{display:flex;flex-direction:column;height:100%}.json-tree-view[data-v-207907ad]{display:flex;height:100%;overflow:hidden}.json-text-view[data-v-207907ad]{position:relative;display:flex;height:100%;overflow:hidden}.line-numbers[data-v-207907ad]{background:var(--bg-tertiary);border-right:1px solid var(--border-color);padding:20px 8px 20px 12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;color:var(--text-muted);user-select:none;min-width:40px;text-align:right;overflow-y:auto;overflow-x:hidden;flex-shrink:0;max-height:100%}.line-number[data-v-207907ad]{height:21px}.json-tree-container[data-v-207907ad]{flex:1;padding:20px;background:var(--bg-primary);color:var(--text-primary);overflow:auto}.json-output[data-v-207907ad]{flex:1;width:100%;padding:20px;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-all;overflow:auto}.output-placeholder[data-v-207907ad]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.result-info[data-v-207907ad]{display:flex;gap:8px;font-size:12px;color:var(--text-muted)}.stat-item[data-v-207907ad]{padding:2px 6px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.stat-item.simple[data-v-207907ad]{background:#22c55e1a;color:#22c55e}.stat-item.medium[data-v-207907ad]{background:#fbbf241a;color:#fbbf24}.stat-item.complex[data-v-207907ad]{background:#ef44441a;color:#ef4444}[data-v-207907ad] .hljs-attr{color:#0969da}[data-v-207907ad] .hljs-string{color:#032f62}[data-v-207907ad] .hljs-number{color:#0550ae}[data-v-207907ad] .hljs-literal{color:#8250df}@media(max-width:768px){.formatter-content[data-v-207907ad]{grid-template-columns:1fr}.button-group[data-v-207907ad]{flex-wrap:wrap}}.output-section[data-v-207907ad]:fullscreen{background:var(--bg-primary);padding:0;display:flex;flex-direction:column}.output-section:fullscreen .section-header[data-v-207907ad]{display:none}.output-section:fullscreen .json-output-container[data-v-207907ad]{flex:1;height:100vh}.output-section:fullscreen .json-text-view[data-v-207907ad]{height:100%}.excel-json-converter[data-v-3e659011]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.mode-toggle[data-v-3e659011]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-3e659011]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-3e659011]:last-child{border-right:none}.mode-btn.active[data-v-3e659011]{background:var(--primary-color);color:#fff}.mode-btn[data-v-3e659011]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.converter-content[data-v-3e659011]{flex:1;display:grid;grid-template-columns:4fr 6fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-3e659011],.output-section[data-v-3e659011]{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.excel-json-converter .section-header[data-v-3e659011]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px;box-sizing:border-box}.input-status[data-v-3e659011]{flex:1;display:flex;justify-content:center}.section-header h3[data-v-3e659011]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.section-actions[data-v-3e659011],.export-actions[data-v-3e659011]{display:flex;align-items:center;gap:8px;height:32px}.button-group[data-v-3e659011]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.group-btn[data-v-3e659011]{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}.group-btn[data-v-3e659011]:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.group-btn[data-v-3e659011]:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.group-btn[data-v-3e659011]:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-btn[data-v-3e659011]:active{background:var(--bg-tertiary)}.upload-btn[data-v-3e659011]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary-color);color:#fff;border:1px solid var(--primary-color);border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition)}.upload-btn[data-v-3e659011]:hover{background:var(--primary-color-dark, #4f46e5)}.format-select[data-v-3e659011]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;height:36px;box-sizing:border-box}.json-input[data-v-3e659011]{flex:1;padding:20px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;resize:none;outline:none}.json-input[data-v-3e659011]::placeholder{color:var(--text-muted)}.upload-area[data-v-3e659011]{flex:1;margin:20px;border:2px dashed var(--border-color);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:var(--transition);background:var(--bg-secondary)}.upload-area[data-v-3e659011]:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.upload-placeholder[data-v-3e659011]{text-align:center;padding:40px 20px;color:var(--text-muted)}.upload-placeholder svg[data-v-3e659011]{margin-bottom:16px;opacity:.5}.upload-placeholder h4[data-v-3e659011]{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.upload-placeholder p[data-v-3e659011]{margin:4px 0;font-size:14px}.file-types[data-v-3e659011]{font-size:12px;opacity:.7}.file-info[data-v-3e659011]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin:20px}.file-details[data-v-3e659011]{display:flex;align-items:center;gap:12px}.file-text[data-v-3e659011]{display:flex;flex-direction:column}.file-name[data-v-3e659011]{font-size:14px;font-weight:500;color:var(--text-primary)}.file-size[data-v-3e659011]{font-size:12px;color:var(--text-muted)}.remove-file-btn[data-v-3e659011]{width:24px;height:24px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.remove-file-btn[data-v-3e659011]:hover{background:var(--error-color);color:#fff}.json-output-container[data-v-3e659011]{flex:1;overflow:auto;padding:20px}.json-output[data-v-3e659011]{height:100%;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:auto}.json-text[data-v-3e659011]{margin:0;padding:20px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);white-space:pre-wrap;word-wrap:break-word}.output-placeholder[data-v-3e659011]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.output-placeholder svg[data-v-3e659011]{margin-bottom:16px;opacity:.5}.error-message[data-v-3e659011]{padding:12px 20px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:14px}.preview-container[data-v-3e659011]{flex:1;overflow:auto;padding:20px}.data-preview[data-v-3e659011]{height:100%}.preview-info[data-v-3e659011]{display:flex;gap:12px;margin-bottom:16px}.info-item[data-v-3e659011]{padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:12px;color:var(--text-muted)}.table-container[data-v-3e659011]{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.preview-table[data-v-3e659011]{width:100%;border-collapse:collapse;font-size:13px}.preview-table th[data-v-3e659011]{background:var(--bg-secondary);padding:12px 8px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.preview-table td[data-v-3e659011]{padding:10px 8px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-table tr:last-child td[data-v-3e659011]{border-bottom:none}.more-rows[data-v-3e659011]{padding:12px;text-align:center;color:var(--text-muted);font-size:12px;background:var(--bg-secondary)}.preview-placeholder[data-v-3e659011]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.preview-placeholder svg[data-v-3e659011]{margin-bottom:16px;opacity:.5}@media(max-width:768px){.converter-content[data-v-3e659011]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.postman-json-converter[data-v-299922a2]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.mode-toggle[data-v-299922a2]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-299922a2]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-299922a2]:last-child{border-right:none}.mode-btn.active[data-v-299922a2]{background:var(--primary-color);color:#fff}.mode-btn[data-v-299922a2]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.converter-content[data-v-299922a2]{flex:1;display:grid;grid-template-columns:4fr 6fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-299922a2],.output-section[data-v-299922a2]{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.postman-json-converter .section-header[data-v-299922a2]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px;box-sizing:border-box}.section-header h3[data-v-299922a2]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.section-actions[data-v-299922a2]{display:flex;align-items:center;gap:8px;height:32px;flex-wrap:nowrap}.result-info[data-v-299922a2]{display:flex;gap:6px;font-size:11px;color:var(--text-muted);white-space:nowrap}.stat-item[data-v-299922a2]{padding:1px 4px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:11px;line-height:1.2}.button-group[data-v-299922a2]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.group-btn[data-v-299922a2]{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}.group-btn[data-v-299922a2]:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.group-btn[data-v-299922a2]:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.group-btn[data-v-299922a2]:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-btn[data-v-299922a2]:active{background:var(--bg-tertiary)}.code-textarea[data-v-299922a2]{flex:1;padding:20px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;resize:none;outline:none}.code-textarea[data-v-299922a2]::placeholder{color:var(--text-muted)}.error-message[data-v-299922a2]{padding:12px 20px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:14px}.output-container[data-v-299922a2]{flex:1;overflow:auto}.code-output[data-v-299922a2]{width:100%;height:100%;padding:20px;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.output-placeholder[data-v-299922a2]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:40px 20px}.output-placeholder svg[data-v-299922a2]{margin-bottom:16px;opacity:.5}@media(max-width:768px){.converter-content[data-v-299922a2]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.php-json-converter[data-v-55900acb]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.mode-toggle[data-v-55900acb]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-55900acb]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-55900acb]:last-child{border-right:none}.mode-btn.active[data-v-55900acb]{background:var(--primary-color);color:#fff}.mode-btn[data-v-55900acb]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.converter-layout[data-v-55900acb]{flex:1;display:grid;grid-template-columns:4fr 6fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-55900acb],.output-section[data-v-55900acb]{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.section-header[data-v-55900acb]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px;box-sizing:border-box}.section-header h3[data-v-55900acb]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.section-actions[data-v-55900acb]{display:flex;align-items:center;gap:8px}.result-info[data-v-55900acb]{display:flex;gap:6px;font-size:11px;color:var(--text-muted);white-space:nowrap}.stat-item[data-v-55900acb]{padding:1px 4px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:11px;line-height:1.2}.button-group[data-v-55900acb]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.group-btn[data-v-55900acb]{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}.group-btn[data-v-55900acb]:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.group-btn[data-v-55900acb]:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.group-btn[data-v-55900acb]:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-btn[data-v-55900acb]:active{background:var(--bg-tertiary)}.code-textarea[data-v-55900acb]{flex:1;padding:20px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;resize:none;outline:none}.code-textarea[data-v-55900acb]::placeholder{color:var(--text-muted)}.error-message[data-v-55900acb]{padding:12px 20px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:14px}.output-container[data-v-55900acb]{flex:1;overflow:auto}.output-placeholder[data-v-55900acb]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:40px 20px}.output-placeholder svg[data-v-55900acb]{margin-bottom:16px;opacity:.5}.code-output[data-v-55900acb]{width:100%;height:100%;padding:20px;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.code-output code[data-v-55900acb]{background:none!important;padding:0!important}@media(max-width:768px){.converter-layout[data-v-55900acb]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.tool-header[data-v-55900acb]{flex-direction:column;gap:12px;align-items:stretch;padding:16px}.mode-toggle[data-v-55900acb]{justify-content:center}.section-header[data-v-55900acb]{flex-direction:column;align-items:flex-start;gap:8px;min-height:auto;padding:12px 16px}}.timestamp-converter[data-v-f063e3d0]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.converter-content[data-v-f063e3d0]{flex:1;padding:20px;overflow-y:auto;max-width:800px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-f063e3d0]::-webkit-scrollbar{display:none}.current-time-section[data-v-f063e3d0]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;margin-bottom:20px}.section-header[data-v-f063e3d0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;min-height:48px;box-sizing:border-box}.section-header h3[data-v-f063e3d0]{margin:0;font-size:16px;font-weight:600;color:#333}.section-info[data-v-f063e3d0]{font-size:12px;color:#666}.refresh-btn[data-v-f063e3d0]{width:32px;height:32px;background:#fff;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.refresh-btn[data-v-f063e3d0]:hover{background:#f5f5f5;color:#333}.current-time-display[data-v-f063e3d0]{display:flex;flex-direction:column;gap:12px}.time-row[data-v-f063e3d0],.timestamp-row[data-v-f063e3d0]{display:flex;align-items:center;gap:12px}.time-row label[data-v-f063e3d0],.timestamp-row label[data-v-f063e3d0]{min-width:140px;font-size:14px;color:#333;margin:0}.time-value[data-v-f063e3d0]{display:flex;align-items:center;gap:8px;flex:1}.timestamp-values[data-v-f063e3d0]{display:flex;gap:20px;flex:1}.timestamp-item[data-v-f063e3d0]{display:flex;align-items:center;gap:8px}.time-input-readonly[data-v-f063e3d0],.timestamp-input-readonly[data-v-f063e3d0]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-family:Courier New,monospace;font-size:13px;min-width:160px}.unit[data-v-f063e3d0]{font-size:12px;color:#666;min-width:24px}.copy-btn[data-v-f063e3d0]{width:24px;height:24px;background:transparent;border:none;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.copy-btn[data-v-f063e3d0]:hover{background:#f5f5f5;color:#333}.conversion-section[data-v-f063e3d0]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;overflow:hidden}.conversion-section .section-header[data-v-f063e3d0]{background:#fff;border-bottom:1px solid #e9ecef;padding:12px 20px;margin:0}.conversion-section .section-header h3[data-v-f063e3d0]{font-size:14px;font-weight:500;color:#333}.conversion-row[data-v-f063e3d0]{padding:20px;display:grid;grid-template-columns:1fr auto auto 1fr;gap:12px;align-items:end;min-height:70px}.input-group[data-v-f063e3d0]{display:flex;flex-direction:column}.input-group label[data-v-f063e3d0]{margin-bottom:6px;font-size:12px;color:#666;white-space:nowrap}.datetime-input-wrapper[data-v-f063e3d0]{position:relative;display:flex;align-items:center}.conversion-input[data-v-f063e3d0]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:14px;transition:border-color .2s;height:40px;box-sizing:border-box;flex:1}.conversion-input[data-v-f063e3d0]:focus{outline:none;border-color:#007bff}.datetime-picker-btn[data-v-f063e3d0]{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;background:transparent;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;z-index:3}.datetime-picker-btn[data-v-f063e3d0]:hover{background:#007bff1a}.datetime-picker[data-v-f063e3d0]{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;opacity:0;pointer-events:none;z-index:1}.datetime-picker.picker-visible[data-v-f063e3d0]{opacity:1;pointer-events:auto;width:200px;height:40px;right:40px;background:#fff;border:1px solid #007bff;border-radius:4px;padding:8px;box-shadow:0 2px 8px #00000026}.unit-select[data-v-f063e3d0]{display:flex;align-items:end}.unit-dropdown[data-v-f063e3d0]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:14px;cursor:pointer;min-width:80px;height:40px;box-sizing:border-box}.convert-btn[data-v-f063e3d0]{padding:10px 20px;background:#007bff;border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;height:40px;box-sizing:border-box;align-self:end}.convert-btn[data-v-f063e3d0]:hover{background:#0056b3}.result-display[data-v-f063e3d0]{display:flex;flex-direction:column}.result-with-copy[data-v-f063e3d0]{display:flex;align-items:center;gap:8px}.result-with-copy .result-input[data-v-f063e3d0]{flex:1}.result-input[data-v-f063e3d0]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;background:#f8f9fa;color:#333;font-family:Courier New,monospace;font-size:13px;height:40px;box-sizing:border-box}.result-input.placeholder[data-v-f063e3d0]{color:#999;font-style:italic;font-family:inherit}.quick-actions[data-v-f063e3d0]{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:16px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px}.quick-btn[data-v-f063e3d0]{padding:6px 12px;background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-size:12px;cursor:pointer;transition:all .2s}.quick-btn[data-v-f063e3d0]:hover{background:#e9ecef;border-color:#adb5bd}.world-time-section[data-v-f063e3d0]{margin-top:8px}.world-time-container[data-v-f063e3d0]{padding:24px;background:#f8f9fa}.world-time-grid[data-v-f063e3d0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-items:start}.world-time-item[data-v-f063e3d0]{background:#fff;border:1px solid #ddd;border-radius:8px;padding:18px;position:relative;transition:all .2s;min-height:130px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.world-time-item[data-v-f063e3d0]:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.timezone-header[data-v-f063e3d0]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-right:32px}.city-info[data-v-f063e3d0]{display:flex;flex-direction:column;gap:2px}.city-name[data-v-f063e3d0]{font-size:16px;font-weight:600;color:#333}.country-name[data-v-f063e3d0]{font-size:12px;color:#666}.timezone-offset[data-v-f063e3d0]{font-size:11px;color:#999;background:#f8f9fa;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;border:1px solid #e9ecef;white-space:nowrap;max-width:80px;text-align:center}.timezone-time[data-v-f063e3d0]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.time-display[data-v-f063e3d0]{font-size:26px;font-weight:700;color:#007bff;font-family:Courier New,monospace;line-height:1.2}.date-display[data-v-f063e3d0]{font-size:14px;color:#666;font-family:Courier New,monospace;line-height:1.2}.world-time-item .copy-btn[data-v-f063e3d0]{position:absolute;top:12px;right:12px;width:28px;height:28px;opacity:0;transition:all .2s;background:#fffffff2;border-radius:6px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001a;z-index:10}.world-time-item:hover .copy-btn[data-v-f063e3d0]{opacity:1;transform:scale(1.05)}.world-time-item .copy-btn[data-v-f063e3d0]:hover{background:#f0f8ff;border-color:#007bff;box-shadow:0 2px 6px #007bff33}@media(max-width:1200px){.world-time-grid[data-v-f063e3d0]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.world-time-grid[data-v-f063e3d0]{grid-template-columns:1fr;gap:16px}.world-time-item[data-v-f063e3d0]{min-height:100px}.conversion-row[data-v-f063e3d0]{grid-template-columns:1fr;gap:16px}.unit-select[data-v-f063e3d0]{justify-self:start}.convert-btn[data-v-f063e3d0]{justify-self:start;width:fit-content}.timestamp-values[data-v-f063e3d0]{flex-direction:column;gap:12px}.quick-actions[data-v-f063e3d0]{justify-content:flex-start}.converter-content[data-v-f063e3d0]{padding:16px}}.date-calculator[data-v-1b4d3e91]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.calculator-content[data-v-1b4d3e91]{flex:1;padding:20px;overflow-y:auto;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.calculator-content[data-v-1b4d3e91]::-webkit-scrollbar{display:none}.calculation-section[data-v-1b4d3e91]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:20px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.section-header[data-v-1b4d3e91]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);min-height:48px;box-sizing:border-box}.section-header h3[data-v-1b4d3e91]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.section-info[data-v-1b4d3e91]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-1b4d3e91]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.date-interval-container[data-v-1b4d3e91]{padding:20px}.input-cards[data-v-1b4d3e91]{display:flex;gap:16px;align-items:stretch;margin-bottom:20px}.input-card[data-v-1b4d3e91]{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:var(--transition)}.input-card[data-v-1b4d3e91]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-rgb),.1)}.card-header[data-v-1b4d3e91]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-header label[data-v-1b4d3e91]{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.quick-actions[data-v-1b4d3e91]{display:flex;gap:4px}.date-input[data-v-1b4d3e91],.time-input[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition);height:36px;box-sizing:border-box}.date-input[data-v-1b4d3e91]:focus,.time-input[data-v-1b4d3e91]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.date-input[data-v-1b4d3e91]:hover,.time-input[data-v-1b4d3e91]:hover{border-color:var(--primary-color)}.quick-btn[data-v-1b4d3e91]{padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:var(--transition);height:24px;display:flex;align-items:center;justify-content:center}.quick-btn[data-v-1b4d3e91]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.amount-input[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition);height:36px;box-sizing:border-box;width:100%}.amount-input[data-v-1b4d3e91]:hover{border-color:var(--primary-color)}.quick-operations[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.quick-op-btn[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:var(--transition);height:32px;display:flex;align-items:center;justify-content:center;font-weight:500}.quick-op-btn[data-v-1b4d3e91]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--primary-rgb),.2)}.quick-op-btn.add[data-v-1b4d3e91]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b981}.quick-op-btn.subtract[data-v-1b4d3e91]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#ef4444}.quick-op-btn.add[data-v-1b4d3e91]:hover,.quick-op-btn.subtract[data-v-1b4d3e91]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.date-time-inputs[data-v-1b4d3e91]{display:flex;flex-direction:column;gap:8px}.separator[data-v-1b4d3e91]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);min-width:40px}.result-summary[data-v-1b4d3e91]{margin-bottom:16px}.summary-item[data-v-1b4d3e91]{display:flex;flex-direction:column;gap:8px;padding:16px;background:linear-gradient(135deg,var(--primary-color),#667eea);border-radius:var(--radius-md);color:#fff;text-align:center}.summary-label[data-v-1b4d3e91]{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.summary-value[data-v-1b4d3e91]{font-size:18px;font-weight:700;font-family:var(--font-mono)}.result-grid.compact[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.result-grid.compact .result-item[data-v-1b4d3e91]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;transition:var(--transition)}.result-grid.compact .result-item[data-v-1b4d3e91]:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.15)}.result-unit[data-v-1b4d3e91]{font-size:11px;color:var(--text-muted);font-weight:500}.interval-result[data-v-1b4d3e91],.arithmetic-result[data-v-1b4d3e91],.special-result[data-v-1b4d3e91]{margin-top:16px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.result-grid[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.result-item[data-v-1b4d3e91]{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);position:relative;transition:var(--transition)}.result-item[data-v-1b4d3e91]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-rgb),.1)}.result-item.large[data-v-1b4d3e91]{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;padding:16px}.result-label[data-v-1b4d3e91]{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.result-value[data-v-1b4d3e91]{font-size:16px;color:var(--text-primary);font-weight:600;font-family:var(--font-mono)}.detailed-result[data-v-1b4d3e91]{margin-top:12px}.copy-btn[data-v-1b4d3e91]{width:24px;height:24px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition);margin-left:8px}.copy-btn[data-v-1b4d3e91]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.date-arithmetic-container[data-v-1b4d3e91]{padding:24px}.base-date-group[data-v-1b4d3e91]{margin-bottom:20px}.base-date-group label[data-v-1b4d3e91]{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.date-input-wrapper[data-v-1b4d3e91]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.date-input-wrapper .date-input[data-v-1b4d3e91],.date-input-wrapper .time-input[data-v-1b4d3e91]{flex:1;min-width:140px}.date-input-wrapper .quick-btn[data-v-1b4d3e91]{flex-shrink:0;padding:8px 16px;height:36px;font-size:14px}.arithmetic-controls[data-v-1b4d3e91]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px}.operation-group[data-v-1b4d3e91],.amount-group[data-v-1b4d3e91],.unit-group[data-v-1b4d3e91]{display:flex;flex-direction:column;gap:8px}.operation-group label[data-v-1b4d3e91],.amount-group label[data-v-1b4d3e91],.unit-group label[data-v-1b4d3e91]{font-size:14px;font-weight:500;color:var(--text-primary)}.quick-arithmetic-buttons[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.quick-arithmetic-buttons .quick-btn[data-v-1b4d3e91]{padding:10px 16px;height:40px;font-size:14px;font-weight:500;border-radius:var(--radius-md);transition:all .2s ease}.quick-arithmetic-buttons .quick-btn[data-v-1b4d3e91]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.operation-select[data-v-1b4d3e91],.unit-select[data-v-1b4d3e91],.special-type-select[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;height:36px;box-sizing:border-box;transition:var(--transition)}.operation-select[data-v-1b4d3e91]:focus,.unit-select[data-v-1b4d3e91]:focus,.special-type-select[data-v-1b4d3e91]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.amount-input[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition);height:36px;box-sizing:border-box}.amount-input[data-v-1b4d3e91]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.quick-arithmetic-buttons[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;margin-bottom:16px}.result-details[data-v-1b4d3e91]{display:flex;gap:12px;flex-wrap:wrap}.detail-item[data-v-1b4d3e91]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary)}.special-dates-container[data-v-1b4d3e91]{padding:20px}.special-date-group[data-v-1b4d3e91]{margin-bottom:16px}.special-date-group label[data-v-1b4d3e91]{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.birthday-info[data-v-1b4d3e91]{margin-top:12px}@media(max-width:768px){.calculator-content[data-v-1b4d3e91],.date-interval-container[data-v-1b4d3e91],.date-arithmetic-container[data-v-1b4d3e91],.special-dates-container[data-v-1b4d3e91]{padding:16px}.input-cards[data-v-1b4d3e91]{flex-direction:column;gap:12px}.separator[data-v-1b4d3e91]{transform:rotate(90deg);min-height:20px;min-width:auto}.arithmetic-controls[data-v-1b4d3e91]{grid-template-columns:1fr;gap:12px}.result-grid[data-v-1b4d3e91]{grid-template-columns:1fr}.result-grid.compact[data-v-1b4d3e91]{grid-template-columns:repeat(2,1fr)}.date-arithmetic-container[data-v-1b4d3e91]{padding:20px 16px}.quick-arithmetic-buttons[data-v-1b4d3e91]{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px}.quick-arithmetic-buttons .quick-btn[data-v-1b4d3e91]{padding:12px 8px;font-size:13px}.date-input-wrapper[data-v-1b4d3e91]{flex-direction:column;align-items:stretch}.result-item.large[data-v-1b4d3e91]{flex-direction:column;align-items:stretch;gap:8px}.result-details[data-v-1b4d3e91]{flex-direction:column}}.countdown-timer[data-v-3d360bda]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.timer-content[data-v-3d360bda]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:900px;margin:0 auto;width:100%;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.timer-content[data-v-3d360bda]::-webkit-scrollbar{display:none}.quick-timer-section[data-v-3d360bda],.target-timer-section[data-v-3d360bda],.multiple-timers-section[data-v-3d360bda]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-header[data-v-3d360bda]{margin-bottom:1.5rem;height:48px;display:flex;align-items:center}.section-title h3[data-v-3d360bda]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-subtitle[data-v-3d360bda]{font-size:.875rem;color:var(--text-secondary);margin:0}.quick-timer-container[data-v-3d360bda],.timer-setup[data-v-3d360bda]{display:flex;flex-direction:column;gap:1.5rem}.time-inputs-row[data-v-3d360bda]{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2.5rem 3rem}.time-input-group[data-v-3d360bda]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.time-input-group label[data-v-3d360bda]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.time-number-input[data-v-3d360bda]{width:5rem;padding:1rem .75rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:1.25rem;font-weight:600;text-align:center;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all .2s ease}.time-number-input[data-v-3d360bda]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.time-separator[data-v-3d360bda]{font-size:2rem;font-weight:600;color:var(--text-secondary);margin:0 1rem}.quick-presets[data-v-3d360bda]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.preset-btn[data-v-3d360bda]{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.preset-btn[data-v-3d360bda]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.timer-title-input[data-v-3d360bda]{width:100%;padding:.875rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.timer-title-input[data-v-3d360bda]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.timer-display-card[data-v-3d360bda]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.display-header[data-v-3d360bda]{display:flex;justify-content:flex-end;margin-bottom:-.5rem}.timer-display-card[data-v-3d360bda]:fullscreen{background:var(--bg-primary);border:none;border-radius:0;padding:2rem;justify-content:center;align-items:center;min-height:100vh;display:flex;flex-direction:column}.timer-display-card:fullscreen .countdown-display[data-v-3d360bda]{width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.timer-display-card:fullscreen .time-units[data-v-3d360bda]{gap:6rem;margin-bottom:0;flex:0 0 auto}.timer-display-card:fullscreen .time-unit[data-v-3d360bda]{min-width:auto}.timer-display-card:fullscreen .time-value[data-v-3d360bda]{font-size:12rem!important;font-weight:900!important;line-height:.9!important}.timer-display-card:fullscreen .time-value.milliseconds[data-v-3d360bda]{font-size:8rem!important;font-weight:800!important}.timer-display-card:fullscreen .time-label[data-v-3d360bda]{font-size:2.5rem!important;margin-top:1rem!important;font-weight:600!important}.timer-display-card:fullscreen .timer-status[data-v-3d360bda]{font-size:3rem!important;font-weight:600!important;margin-top:3rem!important;flex:0 0 auto}.timer-display-card:fullscreen .timer-controls[data-v-3d360bda]{position:absolute;bottom:4rem;left:50%;transform:translate(-50%);gap:2rem;flex:0 0 auto}.timer-display-card:fullscreen .control-btn[data-v-3d360bda]{padding:1.5rem 3rem;font-size:1.5rem;border-radius:1rem}.countdown-display[data-v-3d360bda]{text-align:center}.time-units[data-v-3d360bda]{display:flex;align-items:center;justify-content:center;gap:3rem;margin-bottom:2rem}.time-unit[data-v-3d360bda]{display:flex;flex-direction:column;align-items:center;min-width:8rem}.time-value[data-v-3d360bda]{font-size:6rem;font-weight:800;color:var(--primary-color);line-height:1;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.time-value.milliseconds[data-v-3d360bda]{font-size:3.5rem;font-weight:700;color:var(--text-secondary)}.countdown-display.large .time-value[data-v-3d360bda]{font-size:7rem;font-weight:900}.countdown-display.compact .time-value[data-v-3d360bda]{font-size:3rem;font-weight:700}.time-label[data-v-3d360bda]{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;font-weight:500}.timer-status[data-v-3d360bda]{font-size:.875rem;color:var(--text-secondary);font-weight:500}.timer-status.expired[data-v-3d360bda]{color:var(--error-color);font-weight:600}.timer-status.running[data-v-3d360bda]{color:var(--success-color);font-weight:600}.timer-controls[data-v-3d360bda]{display:flex;gap:1rem;justify-content:center;align-items:center}.control-btn[data-v-3d360bda]{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;border:2px solid transparent}.control-btn[data-v-3d360bda]:disabled{opacity:.5;cursor:not-allowed;transform:none}.control-btn.start[data-v-3d360bda]{background:var(--success-color);color:#fff;border-color:var(--success-color)}.control-btn.start[data-v-3d360bda]:hover:not(:disabled){background:var(--success-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--success-color-alpha)}.control-btn.pause[data-v-3d360bda]{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.control-btn.pause[data-v-3d360bda]:hover:not(:disabled){background:var(--warning-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--warning-color-alpha)}.control-btn.reset[data-v-3d360bda]{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.control-btn.reset[data-v-3d360bda]:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.control-btn.fullscreen[data-v-3d360bda]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.control-btn.fullscreen[data-v-3d360bda]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-color-alpha)}.target-timer-container[data-v-3d360bda]{display:flex;flex-direction:column;gap:2rem}.target-setup[data-v-3d360bda]{display:flex;flex-direction:column;gap:1.5rem}.datetime-inputs[data-v-3d360bda]{display:flex;gap:1rem}.input-group[data-v-3d360bda]{flex:1;display:flex;flex-direction:column;gap:.5rem}.input-group label[data-v-3d360bda]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.date-input[data-v-3d360bda],.time-input[data-v-3d360bda]{padding:.875rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all .2s ease}.date-input[data-v-3d360bda]:focus,.time-input[data-v-3d360bda]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.quick-targets[data-v-3d360bda]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.target-display-card[data-v-3d360bda]{background:linear-gradient(135deg,var(--primary-color-alpha) 0%,var(--success-color-alpha) 100%);border:1px solid var(--primary-color);border-radius:1rem;padding:2rem}.display-title[data-v-3d360bda]{font-size:1.125rem;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:1rem}.multiple-timers-container[data-v-3d360bda]{display:flex;flex-direction:column;gap:1.5rem}.add-timer-card[data-v-3d360bda]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.add-timer-inputs[data-v-3d360bda]{display:flex;flex-direction:column;gap:1rem}.add-timer-btn[data-v-3d360bda]{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;align-self:center}.add-timer-btn[data-v-3d360bda]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-color-alpha)}.timers-grid[data-v-3d360bda]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.timer-card[data-v-3d360bda]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:all .2s ease}.timer-card-header[data-v-3d360bda]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.timer-card-header h4[data-v-3d360bda]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.remove-btn[data-v-3d360bda]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--error-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.remove-btn[data-v-3d360bda]:hover{background:var(--error-color-dark);transform:translateY(-1px)}@media(max-width:768px){.timer-content[data-v-3d360bda]{padding:1rem 1rem 4rem;gap:1.5rem}.quick-timer-section[data-v-3d360bda],.target-timer-section[data-v-3d360bda],.multiple-timers-section[data-v-3d360bda]{padding:1.5rem}.time-inputs-row[data-v-3d360bda]{flex-direction:column;gap:.75rem;padding:1rem}.time-separator[data-v-3d360bda]{display:none}.timer-display-card[data-v-3d360bda]{padding:1.5rem}.time-units[data-v-3d360bda]{gap:.5rem;flex-wrap:wrap;justify-content:center}.time-value[data-v-3d360bda]{font-size:2rem}.time-value.milliseconds[data-v-3d360bda]{font-size:1.25rem}.countdown-display.large .time-value[data-v-3d360bda]{font-size:2.5rem}.timer-controls[data-v-3d360bda]{flex-direction:column;gap:.5rem}.timers-grid[data-v-3d360bda]{grid-template-columns:1fr}.quick-presets[data-v-3d360bda],.quick-targets[data-v-3d360bda]{justify-content:flex-start}.timer-display-card:fullscreen .countdown-display[data-v-3d360bda]{height:100vh;padding:2rem 1rem}.timer-display-card:fullscreen .time-value[data-v-3d360bda]{font-size:8rem!important}.timer-display-card:fullscreen .time-value.milliseconds[data-v-3d360bda]{font-size:5rem!important}.timer-display-card:fullscreen .time-label[data-v-3d360bda]{font-size:1.8rem!important}.timer-display-card:fullscreen .timer-status[data-v-3d360bda]{font-size:2rem!important;margin-top:2rem!important}.timer-display-card:fullscreen .time-units[data-v-3d360bda]{gap:3rem;flex-wrap:wrap}.timer-display-card:fullscreen .timer-controls[data-v-3d360bda]{bottom:2rem;gap:1rem}.timer-display-card:fullscreen .control-btn[data-v-3d360bda]{padding:1rem 2rem;font-size:1.2rem}}@media(max-width:480px){.time-number-input[data-v-3d360bda]{width:3rem;font-size:1rem}.time-value[data-v-3d360bda]{font-size:1.5rem}.time-value.milliseconds[data-v-3d360bda]{font-size:1rem}.countdown-display.large .time-value[data-v-3d360bda]{font-size:2rem}.time-units[data-v-3d360bda]{gap:.25rem}.message-toast[data-v-3d360bda]{bottom:1rem;right:1rem;left:1rem}}.stopwatch[data-v-ed06e668]{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.converter-header[data-v-ed06e668]{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.header-actions[data-v-ed06e668]{display:flex;gap:.75rem;margin-left:auto}.header-export-btn[data-v-ed06e668],.header-clear-btn[data-v-ed06e668]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:var(--transition)}.header-export-btn[data-v-ed06e668]{background:var(--primary-color);color:#fff}.header-export-btn[data-v-ed06e668]:hover{background:var(--primary-hover)}.header-clear-btn[data-v-ed06e668]{background:var(--error-color);color:#fff}.header-clear-btn[data-v-ed06e668]:hover{background:var(--error-color-dark)}.back-btn[data-v-ed06e668]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:.875rem}.back-btn[data-v-ed06e668]:hover{background:var(--bg-hover);color:var(--text-primary)}.converter-title[data-v-ed06e668]{font-size:1.5rem;font-weight:600;margin:0;color:var(--text-primary)}.converter-content[data-v-ed06e668]{flex:1;display:flex;flex-direction:column;padding:2rem 2rem 4rem;overflow-y:auto;min-height:0}.stopwatch-container[data-v-ed06e668]{width:100%;max-width:800px;margin:0 auto;display:flex;flex-direction:column}.main-stopwatch-area[data-v-ed06e668]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;margin-bottom:2rem}.timer-display-card[data-v-ed06e668]{display:flex;flex-direction:column;align-items:center;margin-bottom:3rem}.time-display[data-v-ed06e668]{display:flex;align-items:center;justify-content:center;padding:6rem 5rem;background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);min-height:300px;margin-bottom:3rem}.timer-display-card[data-v-ed06e668]:fullscreen{background:var(--bg-primary);border:none;border-radius:0;padding:2rem;justify-content:center;align-items:center;min-height:100vh;display:flex;flex-direction:column;gap:4rem}.timer-display-card:fullscreen .time-display[data-v-ed06e668]{background:transparent;box-shadow:none;border:none;margin-bottom:0;padding:2rem}.timer-display-card:fullscreen .time-content[data-v-ed06e668]{display:flex;justify-content:center;align-items:center}.timer-display-card:fullscreen .main-time[data-v-ed06e668]{font-size:12rem!important;font-weight:300!important;color:var(--text-primary)}.timer-display-card:fullscreen .milliseconds[data-v-ed06e668]{font-size:6rem!important;font-weight:300!important;color:var(--text-secondary)}.timer-display-card:fullscreen .control-buttons[data-v-ed06e668]{gap:2rem}.timer-display-card:fullscreen .control-btn[data-v-ed06e668]{padding:1.5rem 3rem;font-size:1.2rem;min-width:150px}.time-content[data-v-ed06e668]{display:flex;align-items:baseline;justify-content:center}.main-time[data-v-ed06e668]{font-size:7.2rem;font-weight:300;color:var(--text-primary);font-family:Courier New,monospace;line-height:1}.milliseconds[data-v-ed06e668]{font-size:3.6rem;font-weight:300;color:var(--text-secondary);font-family:Courier New,monospace;margin-left:.6rem}.control-buttons[data-v-ed06e668]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.control-btn[data-v-ed06e668]{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition);min-width:120px;justify-content:center}.start-btn[data-v-ed06e668],.resume-btn[data-v-ed06e668]{background:var(--success-color);color:#fff}.start-btn[data-v-ed06e668]:hover,.resume-btn[data-v-ed06e668]:hover{background:var(--success-color-dark);transform:translateY(-1px)}.pause-btn[data-v-ed06e668]{background:var(--warning-color);color:#fff}.pause-btn[data-v-ed06e668]:hover{background:var(--warning-color-dark);transform:translateY(-1px)}.lap-btn[data-v-ed06e668]{background:var(--primary-color);color:#fff}.lap-btn[data-v-ed06e668]:hover{background:var(--primary-hover);transform:translateY(-1px)}.reset-btn[data-v-ed06e668]{background:var(--error-color);color:#fff}.reset-btn[data-v-ed06e668]:hover{background:var(--error-color-dark);transform:translateY(-1px)}.fullscreen-btn[data-v-ed06e668]{background:var(--primary-color);color:#fff}.fullscreen-btn[data-v-ed06e668]:hover{background:var(--primary-hover);transform:translateY(-1px)}.section-title[data-v-ed06e668]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem}.laps-section[data-v-ed06e668]{margin-bottom:3rem}.laps-container[data-v-ed06e668]{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.laps-header[data-v-ed06e668]{display:grid;grid-template-columns:80px 1fr 1fr 1.2fr;gap:1rem;padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-secondary);font-size:.875rem}.laps-list[data-v-ed06e668]{max-height:300px;overflow-y:auto}.lap-item[data-v-ed06e668]{display:grid;grid-template-columns:80px 1fr 1fr 1.2fr;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);font-family:Courier New,monospace;transition:var(--transition)}.lap-item[data-v-ed06e668]:hover{background:var(--bg-hover)}.lap-item[data-v-ed06e668]:last-child{border-bottom:none}.lap-item.fastest[data-v-ed06e668]{background:var(--success-color-alpha);color:var(--success-color)}.lap-item.slowest[data-v-ed06e668]{background:var(--error-color-alpha);color:var(--error-color)}.lap-number[data-v-ed06e668]{font-weight:600;color:var(--text-secondary)}.lap-timestamp[data-v-ed06e668]{font-size:.8rem;color:var(--text-tertiary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.stats-section[data-v-ed06e668]{margin-bottom:3rem}.stats-grid[data-v-ed06e668]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item[data-v-ed06e668]{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);text-align:center}.stat-label[data-v-ed06e668]{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-value[data-v-ed06e668]{font-size:1.5rem;font-weight:600;color:var(--text-primary);font-family:Courier New,monospace}@media(max-width:1024px)and (min-width:769px){.lap-timestamp[data-v-ed06e668]{font-size:.75rem}.laps-header[data-v-ed06e668],.lap-item[data-v-ed06e668]{grid-template-columns:70px 1fr 1fr 1fr;gap:.75rem}}@media(max-width:768px){.converter-content[data-v-ed06e668]{padding:1rem 1rem 3rem}.main-stopwatch-area[data-v-ed06e668]{min-height:60vh}.timer-display-card .time-display[data-v-ed06e668]{padding:4.8rem 3rem;min-height:240px}.timer-display-card[data-v-ed06e668]:fullscreen{gap:3rem}.timer-display-card:fullscreen .main-time[data-v-ed06e668]{font-size:8rem!important}.timer-display-card:fullscreen .milliseconds[data-v-ed06e668]{font-size:4rem!important}.timer-display-card:fullscreen .control-buttons[data-v-ed06e668]{gap:1rem;flex-wrap:wrap}.timer-display-card:fullscreen .control-btn[data-v-ed06e668]{padding:1rem 2rem;font-size:1rem;min-width:120px}.main-time[data-v-ed06e668]{font-size:4.8rem}.milliseconds[data-v-ed06e668]{font-size:2.6rem}.control-buttons[data-v-ed06e668]{gap:.5rem}.control-btn[data-v-ed06e668]{padding:.75rem 1rem;min-width:100px;font-size:.875rem}.laps-header[data-v-ed06e668],.lap-item[data-v-ed06e668]{grid-template-columns:50px 1fr 1fr;padding:.75rem 1rem;font-size:.875rem}.lap-timestamp[data-v-ed06e668]{display:none}.stats-grid[data-v-ed06e668]{grid-template-columns:1fr}}.clock[data-v-5830a910]{width:100%;height:100vh;display:flex;flex-direction:column;font-family:Courier New,SF Mono,Monaco,monospace;position:relative;overflow:hidden;background:#000}.clock.style-minimal[data-v-5830a910]{background:#f5f5f7}.clock.style-digital[data-v-5830a910]{background:#000}.clock.style-analog[data-v-5830a910]{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.clock.style-card[data-v-5830a910]{background:linear-gradient(135deg,#1e3c72,#2a5298)}.clock.style-immersive[data-v-5830a910]{background:linear-gradient(135deg,#0c0c0c,#1a1a1a)}.clock.fullscreen[data-v-5830a910],.clock[data-v-5830a910]:fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.converter-content[data-v-5830a910]{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;position:relative}.digital-display[data-v-5830a910]{border-radius:1rem;padding:2rem;position:relative;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}.digital-display.minimal[data-v-5830a910]{background:#fff;border:none;box-shadow:0 4px 20px #0000001a;width:fit-content;min-width:0}.digital-display.minimal .time-digits[data-v-5830a910]{color:#1d1d1f;text-shadow:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:300}.digital-display.minimal .digit-group[data-v-5830a910]{background:transparent;border:none}.digital-display.minimal .separator[data-v-5830a910]{color:#1d1d1f;text-shadow:none}.digital-display.minimal .ampm[data-v-5830a910]{color:#86868b;text-shadow:none;background:transparent;border:none}.digital-display.minimal .date-display[data-v-5830a910]{color:#86868b}.digital-display.minimal .date-line[data-v-5830a910],.digital-display.minimal .lunar-line[data-v-5830a910],.digital-display.minimal .weekday-line[data-v-5830a910]{color:#86868b;text-shadow:none;background:transparent;border:none}.digital-display.digital[data-v-5830a910]{background:#0a0a0a;border:3px solid #333;box-shadow:inset 0 0 20px #000c,0 0 30px #00ff001a;width:fit-content;min-width:0}.digital-display.digital[data-v-5830a910]:hover{box-shadow:inset 0 0 20px #000c,0 0 40px #0f03}.digital-display.digital[data-v-5830a910]:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 49%,rgba(0,255,0,.03) 50%,transparent 51%);pointer-events:none;border-radius:.7rem}.digital-display.digital .time-digits[data-v-5830a910]{color:#0f0;text-shadow:0 0 10px #00ff00,0 0 20px #00ff00,0 0 30px #00ff00;font-family:Courier New,SF Mono,monospace}.digital-display.digital .digit-group[data-v-5830a910]{background:#00ff000d;border:1px solid rgba(0,255,0,.2)}.digital-display.digital .separator[data-v-5830a910]{color:#0f0;text-shadow:0 0 10px #00ff00,0 0 20px #00ff00}.digital-display.digital .ampm[data-v-5830a910]{color:#0c0;text-shadow:0 0 8px #00cc00,0 0 16px #00cc00;background:#00ff000d;border:1px solid rgba(0,255,0,.2)}.digital-display.digital .date-display[data-v-5830a910]{color:#0a0}.digital-display.digital .date-line[data-v-5830a910]{text-shadow:0 0 8px #00aa00}.digital-display.digital .lunar-line[data-v-5830a910]{color:#080;text-shadow:0 0 6px #008800;background:#00ff0008;border:1px solid rgba(0,255,0,.1)}.digital-display.digital .weekday-line[data-v-5830a910]{color:#060;text-shadow:0 0 6px #006600}.digital-display.analog[data-v-5830a910]{background:radial-gradient(circle at center,#fff,#f8f9fa 60%,#e9ecef 85%,#dee2e6);border:20px solid #2c3e50;border-radius:50%;width:600px;height:600px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;box-shadow:0 0 0 8px #34495e,0 0 0 12px #2c3e50,0 20px 60px #0000004d,inset 0 0 100px #0000000d;min-height:auto}.digital-display.analog[data-v-5830a910]:before{content:"";position:absolute;inset:-30px;border:4px solid #1a252f;border-radius:50%;box-shadow:0 0 0 2px #34495e,0 10px 30px #0003}.digital-display.analog[data-v-5830a910]:after{content:"";position:absolute;inset:40px;border:1px solid rgba(0,0,0,.1);border-radius:50%}.hour-tick[data-v-5830a910]{position:absolute;top:0;left:50%;width:0;height:50%;transform-origin:center bottom}.hour-tick[data-v-5830a910]:before{content:"";position:absolute;top:10px;left:50%;width:6px;height:25px;background:#2c3e50;transform:translate(-50%);border-radius:3px}.tick-number[data-v-5830a910]{position:absolute;top:40px;left:50%;width:35px;height:35px;text-align:center;line-height:35px;font-size:32px;font-weight:700;color:#2c3e50;font-family:Times New Roman,serif;transform:translate(-50%);margin-left:-17.5px}.minute-tick[data-v-5830a910]{position:absolute;top:0;left:50%;width:2px;height:50%;transform-origin:center bottom}.minute-tick[data-v-5830a910]:before{content:"";position:absolute;top:10px;left:50%;width:2px;height:12px;background:#7f8c8d;transform:translate(-50%)}.date-window[data-v-5830a910]{position:absolute;right:120px;top:50%;transform:translateY(-50%);width:32px;height:20px;background:#fff;border:1px solid #666;border-radius:2px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #0000001a,0 1px 2px #0000004d;z-index:1}.day-window[data-v-5830a910]{position:absolute;right:160px;top:50%;transform:translateY(-50%);width:32px;height:20px;background:#fff;border:1px solid #666;border-radius:2px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #0000001a,0 1px 2px #0000004d;z-index:1}.date-number[data-v-5830a910]{font-size:14px;font-weight:700;color:#000;font-family:Arial,Helvetica,sans-serif;line-height:1}.day-text[data-v-5830a910]{font-size:10px;font-weight:700;color:#000;font-family:Arial,Helvetica,sans-serif;line-height:1;text-transform:uppercase;letter-spacing:.2px}.clock-hour-hand[data-v-5830a910],.clock-minute-hand[data-v-5830a910],.clock-second-hand[data-v-5830a910]{position:absolute;left:50%;top:50%;transform-origin:center bottom}.clock-hour-hand[data-v-5830a910]{width:8px;height:150px;background:#2c3e50;margin-left:-4px;margin-top:-150px;z-index:3;border-radius:4px;box-shadow:0 2px 4px #0000004d}.clock-minute-hand[data-v-5830a910]{width:4px;height:200px;background:#2c3e50;margin-left:-2px;margin-top:-200px;z-index:2;border-radius:2px;box-shadow:0 2px 4px #0000004d}.clock-second-hand[data-v-5830a910]{width:2px;height:220px;background:#e74c3c;margin-left:-1px;margin-top:-220px;z-index:4;border-radius:1px}.clock-center[data-v-5830a910]{position:absolute;top:50%;left:50%;width:14px;height:14px;background:#2c3e50;border-radius:50%;transform:translate(-50%,-50%);z-index:5;box-shadow:0 2px 4px #0000004d}.digital-display.card[data-v-5830a910]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:24px;box-shadow:0 20px 60px #667eea66,0 8px 32px #0000001a;backdrop-filter:blur(20px);position:relative;overflow:hidden;width:fit-content;min-width:0}.digital-display.card[data-v-5830a910]:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.2) 0%,transparent 50%),linear-gradient(135deg,#ffffff1a,#ffffff0d);border-radius:24px;pointer-events:none}.digital-display.card .time-digits[data-v-5830a910]{color:#fff;text-shadow:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:200;letter-spacing:-.02em}.digital-display.card .digit-group[data-v-5830a910]{background:transparent;border:none}.digital-display.card .separator[data-v-5830a910]{color:#fffc;text-shadow:none}.digital-display.card .ampm[data-v-5830a910]{color:#ffffffb3;text-shadow:none;background:transparent;border:none;font-weight:300}.digital-display.card .date-display[data-v-5830a910]{color:#fffc;margin-top:1rem}.digital-display.card .date-line[data-v-5830a910]{text-shadow:none;font-weight:300;font-size:1.1em}.digital-display.card .lunar-line[data-v-5830a910]{color:#fff9;text-shadow:none;background:transparent;border:none;font-weight:300;font-size:.9em;margin-top:.5rem}.digital-display.card .weekday-line[data-v-5830a910]{color:#fff9;text-shadow:none;font-weight:300;text-transform:capitalize}.digital-display.immersive[data-v-5830a910]{background:transparent;border:none;box-shadow:none;padding:1rem}.digital-display.immersive .time-digits[data-v-5830a910]{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5),0 0 40px rgba(255,255,255,.3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:100}.digital-display.immersive .digit-group[data-v-5830a910]{background:transparent;border:none}.digital-display.immersive .separator[data-v-5830a910]{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5),0 0 40px rgba(255,255,255,.3)}.digital-display.immersive .ampm[data-v-5830a910]{color:#ffffffb3;text-shadow:0 0 15px rgba(255,255,255,.4);background:transparent;border:none;font-size:clamp(2rem,5vw,4rem)}.digital-display.immersive .date-display[data-v-5830a910]{color:#fff9;font-size:clamp(1.2rem,3vw,2rem)}.digital-display.immersive .date-line[data-v-5830a910],.digital-display.immersive .lunar-line[data-v-5830a910],.digital-display.immersive .weekday-line[data-v-5830a910]{color:#fff9;text-shadow:0 0 10px rgba(255,255,255,.3);background:transparent;border:none}.time-display[data-v-5830a910]{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding:0 2rem}.time-digits[data-v-5830a910]{display:flex;align-items:center;justify-content:center;font-size:clamp(4rem,12vw,8rem);font-weight:700;letter-spacing:.1em;font-family:Courier New,SF Mono,Monaco,Consolas,monospace;white-space:nowrap;flex-wrap:nowrap;line-height:1;height:100%}.digit-group[data-v-5830a910]{display:inline-flex;align-items:center;justify-content:center;width:2.5ch;height:1.2em;text-align:center;border-radius:.2em;padding:0;flex-shrink:0;line-height:1}.digit-group.milliseconds[data-v-5830a910]{font-size:.8em;opacity:.8;width:4ch;height:1.2em;flex-shrink:0}.separator[data-v-5830a910]{margin:0;flex-shrink:0;width:.6ch;text-align:center;display:inline-flex;align-items:center;justify-content:center;line-height:1}.separator.milliseconds[data-v-5830a910]{font-size:.8em;opacity:.8;width:.5ch}.separator.blink[data-v-5830a910]{animation:blink-5830a910 1s infinite}@keyframes blink-5830a910{0%,50%{opacity:1}51%,to{opacity:.3}}.ampm[data-v-5830a910]{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;margin-left:1rem;padding:.2em .4em;border-radius:.3em}.date-display[data-v-5830a910]{text-align:center;font-size:clamp(1rem,2.5vw,1.5rem);margin-top:2rem}.date-line[data-v-5830a910]{margin-bottom:.5rem;font-weight:500}.lunar-line[data-v-5830a910]{margin-bottom:.5rem;font-size:.9em;padding:.3em .8em;border-radius:1em;display:inline-block}.weekday-line[data-v-5830a910]{font-size:.8em;text-transform:uppercase;letter-spacing:.2em}.clock.fullscreen .converter-content[data-v-5830a910],.clock:fullscreen .converter-content[data-v-5830a910]{padding:0!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;display:flex!important;flex-direction:column!important}.clock.fullscreen .digital-display[data-v-5830a910],.clock:fullscreen .digital-display[data-v-5830a910]{padding:0!important;width:auto!important;height:auto!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-height:auto!important;flex-shrink:0!important;flex-grow:0!important;border-radius:initial!important;background:transparent!important;box-shadow:none!important}.clock.fullscreen .digital-display.digital[data-v-5830a910],.clock:fullscreen .digital-display.digital[data-v-5830a910]{border:none;background:transparent;box-shadow:none}.clock.fullscreen .digital-display.digital[data-v-5830a910]:before,.clock:fullscreen .digital-display.digital[data-v-5830a910]:before{display:none}.clock.fullscreen .digital-display.analog[data-v-5830a910],.clock:fullscreen .digital-display.analog[data-v-5830a910]{background:radial-gradient(circle at center,#fff,#f8f9fa 60%,#e9ecef 85%,#dee2e6)!important;border:30px solid #2c3e50!important;border-radius:50%!important;width:800px!important;height:800px!important;min-width:800px!important;min-height:800px!important;max-width:800px!important;max-height:800px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;position:relative!important;box-shadow:0 0 0 10px #34495e,0 0 0 15px #2c3e50,0 30px 80px #0000004d,inset 0 0 120px #0000000d!important;min-height:auto!important;flex-shrink:0!important;flex-grow:0!important;transform:none!important;box-sizing:content-box!important}.clock.fullscreen .digital-display.analog[data-v-5830a910]:before,.clock:fullscreen .digital-display.analog[data-v-5830a910]:before{content:""!important;position:absolute!important;inset:-40px!important;border:5px solid #1a252f!important;border-radius:50%!important;box-shadow:0 0 0 3px #34495e,0 15px 40px #0003!important}.clock.fullscreen .digital-display.analog[data-v-5830a910]:after,.clock:fullscreen .digital-display.analog[data-v-5830a910]:after{content:""!important;position:absolute!important;inset:50px!important;border:1px solid rgba(0,0,0,.1)!important;border-radius:50%!important}.clock.fullscreen .digital-display.analog .tick-number[data-v-5830a910],.clock:fullscreen .digital-display.analog .tick-number[data-v-5830a910]{font-size:42px!important;width:50px!important;height:50px!important;line-height:50px!important;top:53px!important;margin-left:-25px!important}.clock.fullscreen .digital-display.analog .hour-tick[data-v-5830a910]:before,.clock:fullscreen .digital-display.analog .hour-tick[data-v-5830a910]:before{top:13px!important;width:8px!important;height:33px!important;border-radius:4px!important}.clock.fullscreen .digital-display.analog .minute-tick[data-v-5830a910]:before,.clock:fullscreen .digital-display.analog .minute-tick[data-v-5830a910]:before{top:13px!important;width:3px!important;height:16px!important}.clock.fullscreen .digital-display.analog .date-window[data-v-5830a910],.clock:fullscreen .digital-display.analog .date-window[data-v-5830a910]{right:160px!important;width:42px!important;height:26px!important;border-radius:3px!important}.clock.fullscreen .digital-display.analog .day-window[data-v-5830a910],.clock:fullscreen .digital-display.analog .day-window[data-v-5830a910]{right:213px!important;width:42px!important;height:26px!important;border-radius:3px!important}.clock.fullscreen .digital-display.analog .date-number[data-v-5830a910],.clock:fullscreen .digital-display.analog .date-number[data-v-5830a910]{font-size:18px!important}.clock.fullscreen .digital-display.analog .day-text[data-v-5830a910],.clock:fullscreen .digital-display.analog .day-text[data-v-5830a910]{font-size:13px!important}.clock.fullscreen .digital-display.analog .clock-hour-hand[data-v-5830a910],.clock:fullscreen .digital-display.analog .clock-hour-hand[data-v-5830a910]{width:11px!important;height:200px!important;margin-left:-5.5px!important;margin-top:-200px!important;border-radius:5.5px!important}.clock.fullscreen .digital-display.analog .clock-minute-hand[data-v-5830a910],.clock:fullscreen .digital-display.analog .clock-minute-hand[data-v-5830a910]{width:5px!important;height:267px!important;margin-left:-2.5px!important;margin-top:-267px!important;border-radius:2.5px!important}.clock.fullscreen .digital-display.analog .clock-second-hand[data-v-5830a910],.clock:fullscreen .digital-display.analog .clock-second-hand[data-v-5830a910]{width:3px!important;height:293px!important;margin-left:-1.5px!important;margin-top:-293px!important;border-radius:1.5px!important}.clock.fullscreen .digital-display.analog .clock-center[data-v-5830a910],.clock:fullscreen .digital-display.analog .clock-center[data-v-5830a910]{width:18px!important;height:18px!important}.clock.fullscreen .time-digits[data-v-5830a910],.clock:fullscreen .time-digits[data-v-5830a910]{font-size:clamp(6rem,15vw,12rem);white-space:nowrap;overflow:visible}.clock.fullscreen .ampm[data-v-5830a910],.clock:fullscreen .ampm[data-v-5830a910]{font-size:clamp(2rem,6vw,4rem)}.clock.fullscreen .date-display[data-v-5830a910],.clock:fullscreen .date-display[data-v-5830a910]{font-size:clamp(1.5rem,4vw,2.5rem);margin-top:2rem}.digital-display.digital[data-v-5830a910]:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00ff00,transparent);animation:scan-5830a910 3s linear infinite;opacity:.3}@keyframes scan-5830a910{0%{transform:translateY(0)}to{transform:translateY(400px)}}@media(max-width:768px){.converter-content[data-v-5830a910]{padding:1rem}.digital-display[data-v-5830a910]{padding:2rem 1rem}.digital-display.analog[data-v-5830a910]{width:300px;height:300px;border-width:6px}.time-digits[data-v-5830a910]{font-size:clamp(2.5rem,12vw,5rem)}}@media(max-width:480px){.digital-display[data-v-5830a910]{padding:1.5rem .5rem}.digital-display.analog[data-v-5830a910]{width:250px;height:250px;border-width:4px}.time-digits[data-v-5830a910]{font-size:clamp(2rem,10vw,4rem)}}.timezone-converter[data-v-66da35c0]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-66da35c0]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:900px;margin:0 auto;width:100%;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-66da35c0]::-webkit-scrollbar{display:none}.world-clock-section[data-v-66da35c0],.quick-convert-section[data-v-66da35c0],.meeting-planner-section[data-v-66da35c0]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-header[data-v-66da35c0]{margin-bottom:1.5rem;height:48px;display:flex;align-items:center}.section-title h3[data-v-66da35c0]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-subtitle[data-v-66da35c0]{font-size:.875rem;color:var(--text-secondary);margin:0}.world-clock-grid[data-v-66da35c0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.clock-card[data-v-66da35c0]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden}.clock-card[data-v-66da35c0]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);opacity:0;transition:opacity .2s ease}.clock-card[data-v-66da35c0]:nth-child(4n+1):before{background:linear-gradient(90deg,#ff6b6b,#ff8e8e)}.clock-card[data-v-66da35c0]:nth-child(4n+2):before{background:linear-gradient(90deg,#4ecdc4,#6ed3d0)}.clock-card[data-v-66da35c0]:nth-child(4n+3):before{background:linear-gradient(90deg,#45b7d1,#6bc5d8)}.clock-card[data-v-66da35c0]:nth-child(4n+4):before{background:linear-gradient(90deg,#96ceb4,#a8d5c4)}.clock-header[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.city-name[data-v-66da35c0]{font-size:.8125rem;font-weight:500;color:var(--primary-color)}.timezone-code[data-v-66da35c0]{font-size:.6875rem;color:var(--success-color);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600}.time-display[data-v-66da35c0]{text-align:center}.time-value[data-v-66da35c0]{font-size:1.25rem;font-weight:600;color:var(--primary-color);font-family:Monaco,Menlo,Ubuntu Mono,monospace;margin-bottom:.125rem;display:block}.date-value[data-v-66da35c0]{font-size:.6875rem;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.quick-convert-container[data-v-66da35c0]{display:flex;flex-direction:column;gap:1.5rem}.convert-card[data-v-66da35c0]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.convert-inputs[data-v-66da35c0]{display:flex;align-items:center;gap:1.5rem;justify-content:center}.timezone-selector[data-v-66da35c0]{flex:1;max-width:300px}.timezone-selector label[data-v-66da35c0]{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.timezone-input-group[data-v-66da35c0]{position:relative}.timezone-select[data-v-66da35c0]{width:100%;padding:.5rem .75rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.timezone-select[data-v-66da35c0]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.convert-arrow[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0}.datetime-inputs[data-v-66da35c0]{display:flex;align-items:end;gap:1.5rem;justify-content:center}.datetime-group[data-v-66da35c0]{display:flex;gap:1rem}.input-wrapper[data-v-66da35c0]{display:flex;flex-direction:column;gap:.5rem}.input-wrapper label[data-v-66da35c0]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.date-input[data-v-66da35c0],.time-input[data-v-66da35c0]{padding:.5rem .75rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all .2s ease;min-width:140px}.date-input[data-v-66da35c0]:focus,.time-input[data-v-66da35c0]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.convert-actions[data-v-66da35c0]{display:flex;gap:.75rem}.now-btn[data-v-66da35c0],.convert-btn[data-v-66da35c0]{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;border:2px solid transparent}.now-btn[data-v-66da35c0]{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.now-btn[data-v-66da35c0]:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.convert-btn[data-v-66da35c0]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.convert-btn[data-v-66da35c0]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-color-alpha)}.conversion-result[data-v-66da35c0]{background:linear-gradient(135deg,var(--success-color-alpha) 0%,var(--primary-color-alpha) 100%);border:1px solid var(--success-color);border-radius:1rem;padding:2rem}.result-header[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.result-header h4[data-v-66da35c0]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.copy-btn[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.copy-btn[data-v-66da35c0]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.result-items[data-v-66da35c0]{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}.result-item[data-v-66da35c0]{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.25rem;text-align:center}.result-item.source[data-v-66da35c0]{border-left:4px solid var(--warning-color)}.result-item.target[data-v-66da35c0]{border-left:4px solid var(--success-color)}.result-label[data-v-66da35c0]{font-size:.75rem;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.result-value[data-v-66da35c0]{font-size:.875rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500}.result-arrow[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;color:var(--primary-color)}.time-difference[data-v-66da35c0]{text-align:center;padding:1rem;background:var(--bg-primary);border-radius:.75rem;border:1px solid var(--border-color)}.diff-label[data-v-66da35c0]{font-size:.875rem;color:var(--text-secondary);margin-right:.5rem}.diff-value[data-v-66da35c0]{font-size:1rem;color:var(--primary-color);font-weight:600;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.meeting-planner-container[data-v-66da35c0]{display:flex;flex-direction:column;gap:1.5rem}.meeting-setup[data-v-66da35c0]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.meeting-basic-info[data-v-66da35c0]{margin-bottom:1rem}.meeting-datetime[data-v-66da35c0]{display:flex;gap:1rem;flex-wrap:wrap}.participants-section[data-v-66da35c0]{border-top:1px solid var(--border-color);padding-top:1.5rem}.participants-header[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.participants-header label[data-v-66da35c0]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.add-participant-btn[data-v-66da35c0]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--success-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.add-participant-btn[data-v-66da35c0]:hover{background:var(--success-color-dark);transform:translateY(-1px)}.participants-list[data-v-66da35c0]{display:flex;flex-direction:column;gap:.75rem}.participant-item[data-v-66da35c0]{display:flex;gap:.5rem;align-items:center;padding:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.75rem}.participant-name[data-v-66da35c0]{flex:1;min-width:120px;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.participant-name[data-v-66da35c0]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.remove-participant-btn[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--error-color);color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease;flex-shrink:0}.remove-participant-btn[data-v-66da35c0]:hover{background:var(--error-color-dark);transform:translateY(-1px)}.plan-meeting-btn[data-v-66da35c0]{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;align-self:center}.plan-meeting-btn[data-v-66da35c0]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-color-alpha)}.meeting-plan[data-v-66da35c0]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem}.plan-header[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.plan-header h4[data-v-66da35c0]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.copy-plan-btn[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.copy-plan-btn[data-v-66da35c0]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.plan-content[data-v-66da35c0]{display:flex;flex-direction:column;gap:1rem}.plan-item[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:var(--bg-primary);border-radius:.75rem;border-left:4px solid var(--border-color);transition:all .2s ease}.plan-item.host[data-v-66da35c0]{border-left-color:var(--primary-color);background:var(--primary-color-alpha)}.plan-item.good[data-v-66da35c0]{border-left-color:var(--success-color)}.plan-item.warning[data-v-66da35c0]{border-left-color:var(--warning-color)}.plan-item.bad[data-v-66da35c0]{border-left-color:var(--error-color)}.plan-participant[data-v-66da35c0]{display:flex;align-items:center;gap:1rem;flex:1}.participant-info[data-v-66da35c0]{display:flex;flex-direction:column;gap:.25rem}.participant-info .participant-name[data-v-66da35c0]{font-size:.875rem;font-weight:600;color:var(--text-primary);background:none;border:none;padding:0}.participant-timezone[data-v-66da35c0]{font-size:.75rem;color:var(--text-secondary)}.participant-status[data-v-66da35c0]{margin-left:auto}.status-badge[data-v-66da35c0]{font-size:.75rem;font-weight:500;padding:.375rem .75rem;border-radius:1rem}.status-badge.good[data-v-66da35c0]{background:var(--success-color-alpha);color:var(--success-color)}.status-badge.warning[data-v-66da35c0]{background:var(--warning-color-alpha);color:var(--warning-color)}.status-badge.bad[data-v-66da35c0]{background:var(--error-color-alpha);color:var(--error-color)}.status-badge.host[data-v-66da35c0]{background:var(--primary-color-alpha);color:var(--primary-color)}.plan-time[data-v-66da35c0]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.plan-datetime[data-v-66da35c0]{font-size:.875rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500}@media(max-width:1024px){.convert-inputs[data-v-66da35c0]{flex-direction:column;gap:1rem}.convert-arrow[data-v-66da35c0]{transform:rotate(90deg)}.datetime-inputs[data-v-66da35c0]{flex-direction:column;align-items:stretch}.datetime-group[data-v-66da35c0]{justify-content:center}.result-items[data-v-66da35c0]{flex-direction:column}.result-arrow[data-v-66da35c0]{transform:rotate(90deg)}.meeting-datetime[data-v-66da35c0]{flex-direction:column}}@media(max-width:768px){.converter-content[data-v-66da35c0]{padding:1rem 1rem 4rem;gap:1.5rem}.world-clock-section[data-v-66da35c0],.quick-convert-section[data-v-66da35c0],.meeting-planner-section[data-v-66da35c0]{padding:1.5rem}.world-clock-grid[data-v-66da35c0]{grid-template-columns:1fr}.convert-card[data-v-66da35c0],.meeting-setup[data-v-66da35c0]{padding:1.5rem}.participant-item[data-v-66da35c0]{flex-direction:column;align-items:stretch;gap:.75rem}.plan-item[data-v-66da35c0]{flex-direction:column;align-items:stretch;gap:1rem}.plan-participant[data-v-66da35c0]{justify-content:space-between}.plan-time[data-v-66da35c0]{align-items:flex-start}.time-value[data-v-66da35c0]{font-size:1.75rem}.datetime-group[data-v-66da35c0],.convert-actions[data-v-66da35c0]{flex-direction:column}}@media(max-width:480px){.converter-content[data-v-66da35c0]{padding:1rem 1rem 5rem}.section-title h3[data-v-66da35c0]{font-size:1.125rem}.clock-card[data-v-66da35c0]{padding:1.25rem}.time-value[data-v-66da35c0]{font-size:1.5rem}.message-toast[data-v-66da35c0]{bottom:1rem;right:1rem;left:1rem}}.base64-converter[data-v-bc649345]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-bc649345]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-bc649345]::-webkit-scrollbar{display:none}.converter-section[data-v-bc649345]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.section-header[data-v-bc649345]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.section-header h3[data-v-bc649345]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-bc649345]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-bc649345]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.text-converter-container[data-v-bc649345]{display:flex;flex-direction:column;gap:1.5rem}.input-output-grid[data-v-bc649345]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-section[data-v-bc649345],.output-section[data-v-bc649345]{display:flex;flex-direction:column;gap:.75rem}.section-title[data-v-bc649345]{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:500;color:var(--text-primary)}.section-actions[data-v-bc649345]{display:flex;gap:.5rem}.action-btn-small[data-v-bc649345]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.action-btn-small[data-v-bc649345]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.text-input[data-v-bc649345],.text-output[data-v-bc649345]{width:100%;height:200px;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:150px}.text-input[data-v-bc649345]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.text-output[data-v-bc649345]{background:var(--bg-quaternary)}.input-info[data-v-bc649345],.output-info[data-v-bc649345]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.input-info span[data-v-bc649345],.output-info span[data-v-bc649345]{padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:.25rem}.converter-actions[data-v-bc649345]{display:flex;gap:.75rem;justify-content:center}.converter-options[data-v-bc649345]{display:flex;justify-content:center;margin:1rem 0}.option-checkbox[data-v-bc649345]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-primary)}.option-checkbox input[type=checkbox][data-v-bc649345]{width:1rem;height:1rem;accent-color:var(--primary-color);cursor:pointer}.option-checkbox .checkmark[data-v-bc649345]{user-select:none}.convert-btn[data-v-bc649345]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.convert-btn.encode[data-v-bc649345]{background:var(--success-color);color:#fff;border-color:var(--success-color)}.convert-btn.encode[data-v-bc649345]:hover{background:var(--success-color-dark);border-color:var(--success-color-dark)}.convert-btn.decode[data-v-bc649345]{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.convert-btn.decode[data-v-bc649345]:hover{background:var(--warning-color-dark);border-color:var(--warning-color-dark)}.swap-btn[data-v-bc649345]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.swap-btn[data-v-bc649345]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.file-converter-container[data-v-bc649345]{display:flex;flex-direction:column;gap:1.5rem}.file-upload-area[data-v-bc649345]{border:2px dashed var(--border-color);border-radius:.75rem;padding:2rem;text-align:center;transition:all .2s ease;cursor:pointer}.file-upload-area[data-v-bc649345]:hover{border-color:var(--primary-color);background:var(--primary-color-alpha)}.file-input[data-v-bc649345]{display:none}.upload-content[data-v-bc649345]{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.upload-content svg[data-v-bc649345]{color:var(--text-tertiary)}.upload-text[data-v-bc649345]{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0}.upload-hint[data-v-bc649345]{font-size:.875rem;color:var(--text-secondary);margin:0}.file-info[data-v-bc649345]{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem}.file-details[data-v-bc649345]{display:flex;align-items:center;gap:1rem}.file-icon[data-v-bc649345]{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--primary-color-alpha);border-radius:.5rem;color:var(--primary-color)}.file-meta[data-v-bc649345]{flex:1;display:flex;flex-direction:column;gap:.25rem}.file-name[data-v-bc649345]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.file-size[data-v-bc649345],.file-type[data-v-bc649345]{font-size:.75rem;color:var(--text-secondary)}.remove-file-btn[data-v-bc649345]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--error-color);color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.remove-file-btn[data-v-bc649345]:hover{background:var(--error-color-dark)}.file-actions[data-v-bc649345]{display:flex;gap:.75rem}.file-action-btn[data-v-bc649345]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.file-action-btn[data-v-bc649345]:hover:not(:disabled){background:var(--primary-color-dark)}.file-action-btn[data-v-bc649345]:disabled{opacity:.6;cursor:not-allowed}.file-result[data-v-bc649345]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.result-header[data-v-bc649345]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.result-header h4[data-v-bc649345]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.result-actions[data-v-bc649345]{display:flex;gap:.5rem}.file-result-text[data-v-bc649345]{width:100%;height:150px;padding:.75rem;background:var(--bg-quaternary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.75rem;font-family:Courier New,monospace;resize:vertical;min-height:100px}.result-info[data-v-bc649345]{display:flex;justify-content:space-between;margin-top:.75rem;font-size:.75rem;color:var(--text-secondary)}.result-info span[data-v-bc649345]{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:.25rem}@media(max-width:768px){.converter-content[data-v-bc649345]{padding:1rem;gap:1.5rem}.converter-section[data-v-bc649345]{padding:1rem}.input-output-grid[data-v-bc649345]{grid-template-columns:1fr}.converter-actions[data-v-bc649345]{flex-direction:column}.file-details[data-v-bc649345]{flex-direction:column;align-items:flex-start;gap:.75rem}.file-actions[data-v-bc649345]{flex-direction:column}.text-input[data-v-bc649345],.text-output[data-v-bc649345],.file-result-text[data-v-bc649345]{height:150px}}.url-converter[data-v-d86d8d60]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-d86d8d60]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-d86d8d60]::-webkit-scrollbar{display:none}.converter-section[data-v-d86d8d60]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.section-header[data-v-d86d8d60]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.section-header h3[data-v-d86d8d60]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-d86d8d60]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-d86d8d60]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.url-converter-container[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1.5rem}.input-output-grid[data-v-d86d8d60]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-section[data-v-d86d8d60],.output-section[data-v-d86d8d60]{display:flex;flex-direction:column;gap:.75rem}.section-title[data-v-d86d8d60]{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:500;color:var(--text-primary)}.section-actions[data-v-d86d8d60]{display:flex;gap:.5rem}.action-btn-small[data-v-d86d8d60]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.action-btn-small[data-v-d86d8d60]:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.action-btn-small[data-v-d86d8d60]:disabled{opacity:.5;cursor:not-allowed}.text-input[data-v-d86d8d60],.text-output[data-v-d86d8d60]{width:100%;height:200px;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:150px}.text-input[data-v-d86d8d60]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.text-output[data-v-d86d8d60]{background:var(--bg-quaternary)}.input-info[data-v-d86d8d60],.output-info[data-v-d86d8d60]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.char-count[data-v-d86d8d60]{padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:.25rem}.url-valid[data-v-d86d8d60]{padding:.25rem .5rem;border-radius:.25rem;font-weight:500}.url-valid.valid[data-v-d86d8d60]{background:var(--success-color);color:#fff}.url-valid.invalid[data-v-d86d8d60]{background:var(--error-color);color:#fff}.url-valid[data-v-d86d8d60]:not(.valid):not(.invalid){background:var(--warning-color);color:#fff}.converter-actions[data-v-d86d8d60]{display:flex;gap:.75rem;justify-content:center}.convert-btn[data-v-d86d8d60]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.convert-btn.encode[data-v-d86d8d60]{background:var(--success-color);color:#fff;border-color:var(--success-color)}.convert-btn.encode[data-v-d86d8d60]:hover{background:var(--success-color-dark);border-color:var(--success-color-dark)}.convert-btn.decode[data-v-d86d8d60]{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.convert-btn.decode[data-v-d86d8d60]:hover{background:var(--warning-color-dark);border-color:var(--warning-color-dark)}.swap-btn[data-v-d86d8d60]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.swap-btn[data-v-d86d8d60]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.url-parser-container[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1.5rem}.parser-input[data-v-d86d8d60]{display:flex;flex-direction:column;gap:.5rem}.parser-input label[data-v-d86d8d60]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.input-with-button[data-v-d86d8d60]{display:flex;gap:.75rem}.url-input[data-v-d86d8d60]{flex:1;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.url-input[data-v-d86d8d60]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.parse-btn[data-v-d86d8d60]{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.parse-btn[data-v-d86d8d60]:hover{background:var(--primary-color-dark)}.url-components[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1.5rem}.component-grid[data-v-d86d8d60]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.component-item[data-v-d86d8d60]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem}.component-item label[data-v-d86d8d60]{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.component-value[data-v-d86d8d60]{font-size:.875rem;color:var(--text-primary);font-family:Courier New,monospace;word-break:break-all}.url-params[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1rem}.params-header[data-v-d86d8d60]{display:flex;align-items:center;justify-content:space-between}.params-header h4[data-v-d86d8d60]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.copy-params-btn[data-v-d86d8d60]{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.75rem}.copy-params-btn[data-v-d86d8d60]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.params-list[data-v-d86d8d60]{display:flex;flex-direction:column;gap:.5rem}.param-item[data-v-d86d8d60]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem}.param-key[data-v-d86d8d60]{font-weight:500;color:var(--primary-color);font-family:Courier New,monospace}.param-separator[data-v-d86d8d60]{color:var(--text-secondary)}.param-value[data-v-d86d8d60]{flex:1;color:var(--text-primary);font-family:Courier New,monospace;word-break:break-all}.copy-param-btn[data-v-d86d8d60]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.copy-param-btn[data-v-d86d8d60]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.char-reference[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1rem}.char-grid[data-v-d86d8d60]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.char-item[data-v-d86d8d60]{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease}.char-item[data-v-d86d8d60]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.char-original[data-v-d86d8d60]{font-size:1.25rem;font-weight:600;font-family:Courier New,monospace}.char-encoded[data-v-d86d8d60]{font-size:.75rem;font-family:Courier New,monospace;color:var(--text-secondary)}.char-item:hover .char-encoded[data-v-d86d8d60]{color:#fffc}.char-description[data-v-d86d8d60]{font-size:.625rem;color:var(--text-tertiary);text-align:center}.char-item:hover .char-description[data-v-d86d8d60]{color:#ffffffb3}@media(max-width:768px){.converter-content[data-v-d86d8d60]{padding:1rem;gap:1.5rem}.converter-section[data-v-d86d8d60]{padding:1rem}.input-output-grid[data-v-d86d8d60]{grid-template-columns:1fr}.converter-actions[data-v-d86d8d60],.input-with-button[data-v-d86d8d60]{flex-direction:column}.component-grid[data-v-d86d8d60]{grid-template-columns:1fr}.char-grid[data-v-d86d8d60]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.params-header[data-v-d86d8d60]{flex-direction:column;align-items:stretch;gap:.5rem}.text-input[data-v-d86d8d60],.text-output[data-v-d86d8d60]{height:150px}}.hash-generator[data-v-87e684ca]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.generator-content[data-v-87e684ca]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.generator-content[data-v-87e684ca]::-webkit-scrollbar{display:none}.generator-section[data-v-87e684ca]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.section-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-87e684ca]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-87e684ca]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-87e684ca]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.text-hash-container[data-v-87e684ca]{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start}.input-section[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem;height:fit-content;position:sticky;top:0}.input-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between}.input-header label[data-v-87e684ca]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.input-actions[data-v-87e684ca]{display:flex;gap:.5rem}.action-btn-small[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-weight:500}.action-btn-small[data-v-87e684ca]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.case-text[data-v-87e684ca]{font-size:.75rem;font-weight:600;font-family:monospace}.text-input[data-v-87e684ca]{width:100%;height:300px;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:200px;transition:all .2s ease}.text-input[data-v-87e684ca]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.input-info[data-v-87e684ca]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.char-count[data-v-87e684ca],.byte-count[data-v-87e684ca]{padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem;border:1px solid var(--border-color)}.hash-results[data-v-87e684ca]{display:flex;flex-direction:column;gap:1rem}.results-title[data-v-87e684ca]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.results-title h4[data-v-87e684ca]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.results-divider[data-v-87e684ca]{height:2px;background:linear-gradient(to right,var(--primary-color),var(--primary-color-alpha),transparent);border-radius:1px}.hash-grid[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem}.hash-result-item[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem}.hash-header[data-v-87e684ca]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.hash-info[data-v-87e684ca]{display:flex;flex-direction:column;gap:.375rem;flex:1}.hash-type[data-v-87e684ca]{font-size:.875rem;font-weight:700;color:var(--primary-color);background:var(--primary-color-alpha);padding:.25rem .625rem;border-radius:.375rem;display:inline-block;width:fit-content}.hash-description[data-v-87e684ca]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.hash-actions[data-v-87e684ca]{display:flex;gap:.5rem;flex-shrink:0}.copy-hash-btn[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.copy-hash-btn[data-v-87e684ca]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:scale(1.05)}.hash-value[data-v-87e684ca]{font-family:Courier New,monospace;font-size:.8rem;color:var(--text-primary);background:var(--bg-secondary);padding:.75rem;border-radius:.5rem;word-break:break-all;margin-bottom:.75rem;min-height:2.5rem;display:flex;align-items:center;line-height:1.4;border:1px solid var(--border-color);position:relative}.hash-value[data-v-87e684ca]:empty:before{content:"请输入文本";color:var(--text-secondary);font-style:italic}.hash-meta[data-v-87e684ca]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.hash-length[data-v-87e684ca],.hash-format[data-v-87e684ca]{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:.25rem;border:1px solid var(--border-color);font-weight:500}.file-hash-container[data-v-87e684ca]{display:flex;flex-direction:column;gap:1.5rem}.file-upload-area[data-v-87e684ca]{position:relative;border:2px dashed var(--border-color);border-radius:.75rem;padding:2rem;text-align:center;transition:all .2s ease;cursor:pointer}.file-upload-area[data-v-87e684ca]:hover{border-color:var(--primary-color);background:var(--primary-color-alpha)}.file-input[data-v-87e684ca]{position:absolute;opacity:0;pointer-events:none}.upload-content[data-v-87e684ca]{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-content svg[data-v-87e684ca]{color:var(--text-secondary)}.upload-text[data-v-87e684ca]{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0}.upload-hint[data-v-87e684ca]{font-size:.875rem;color:var(--text-secondary);margin:0}.file-info[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.file-details[data-v-87e684ca]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.file-icon[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--primary-color-alpha);border-radius:.5rem;color:var(--primary-color)}.file-meta[data-v-87e684ca]{flex:1;display:flex;flex-direction:column;gap:.25rem}.file-name[data-v-87e684ca]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.file-size[data-v-87e684ca],.file-type[data-v-87e684ca]{font-size:.75rem;color:var(--text-secondary)}.remove-file-btn[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--error-color);color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.remove-file-btn[data-v-87e684ca]:hover{background:var(--error-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.file-actions[data-v-87e684ca]{display:flex;gap:.75rem;margin-bottom:1rem}.file-action-btn[data-v-87e684ca]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.file-action-btn[data-v-87e684ca]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.file-action-btn[data-v-87e684ca]:disabled{opacity:.6;cursor:not-allowed}.file-hash-results[data-v-87e684ca]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem}.results-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.results-header h4[data-v-87e684ca]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.export-results-btn[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.export-results-btn[data-v-87e684ca]:hover{background:var(--success-color);color:#fff;border-color:var(--success-color)}.file-hash-list[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem}.file-hash-item[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem}.file-hash-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.file-hash-type[data-v-87e684ca]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.copy-file-hash-btn[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.copy-file-hash-btn[data-v-87e684ca]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.file-hash-value[data-v-87e684ca]{font-family:Courier New,monospace;font-size:.75rem;color:var(--text-primary);word-break:break-all}.hash-verify-container[data-v-87e684ca]{display:flex;flex-direction:column;gap:1.5rem}.verify-form[data-v-87e684ca]{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1rem}.verify-input-group[data-v-87e684ca]{display:flex;flex-direction:column;gap:.5rem}.verify-input-group label[data-v-87e684ca]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.verify-input[data-v-87e684ca]{height:140px;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:100px}.verify-input[data-v-87e684ca]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.hash-type-select[data-v-87e684ca],.expected-hash-input[data-v-87e684ca]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.hash-type-select[data-v-87e684ca]:focus,.expected-hash-input[data-v-87e684ca]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.expected-hash-input[data-v-87e684ca]{font-family:Courier New,monospace}.verify-result[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.verify-result-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.verify-result-header h4[data-v-87e684ca]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.verify-status[data-v-87e684ca]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.verify-status.match[data-v-87e684ca]{background:var(--success-color-alpha);color:var(--success-color)}.verify-status.mismatch[data-v-87e684ca]{background:var(--error-color-alpha);color:var(--error-color)}.verify-details[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem}.verify-detail-item[data-v-87e684ca]{display:flex;align-items:center;gap:1rem}.verify-label[data-v-87e684ca]{font-size:.875rem;font-weight:500;color:var(--text-primary);min-width:5rem}.verify-value[data-v-87e684ca]{flex:1;font-family:Courier New,monospace;font-size:.75rem;padding:.5rem;border-radius:.375rem;word-break:break-all}.verify-value.computed[data-v-87e684ca]{background:var(--bg-secondary);color:var(--text-primary)}.verify-value.expected[data-v-87e684ca]{background:var(--bg-secondary);color:var(--text-secondary)}.algorithm-info[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.algorithm-grid[data-v-87e684ca]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.algorithm-card[data-v-87e684ca]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.25rem;transition:all .2s ease}.algorithm-card[data-v-87e684ca]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.algorithm-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.algorithm-header h4[data-v-87e684ca]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.algorithm-length[data-v-87e684ca]{font-size:.75rem;color:var(--primary-color);background:var(--primary-color-alpha);padding:.25rem .5rem;border-radius:.375rem;font-weight:500}.algorithm-description[data-v-87e684ca]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.algorithm-features[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem}.feature-item[data-v-87e684ca]{display:flex;align-items:center;gap:.75rem}.feature-label[data-v-87e684ca]{font-size:.75rem;font-weight:500;color:var(--text-primary);min-width:3rem}.security-level[data-v-87e684ca],.speed-level[data-v-87e684ca]{display:flex;align-items:center;gap:.5rem;flex:1}.security-bar[data-v-87e684ca],.speed-bar[data-v-87e684ca]{height:.25rem;border-radius:.125rem;flex:1;max-width:4rem}.security-level.low .security-bar[data-v-87e684ca]{background:var(--error-color)}.security-level.medium .security-bar[data-v-87e684ca]{background:var(--warning-color)}.security-level.high .security-bar[data-v-87e684ca]{background:var(--success-color)}.security-level.very-high .security-bar[data-v-87e684ca]{background:var(--primary-color)}.speed-level.high .speed-bar[data-v-87e684ca]{background:var(--success-color)}.speed-level.medium .speed-bar[data-v-87e684ca]{background:var(--warning-color)}.security-level span[data-v-87e684ca],.speed-level span[data-v-87e684ca]{font-size:.75rem;color:var(--text-secondary)}.feature-value[data-v-87e684ca]{font-size:.75rem;color:var(--text-secondary);flex:1}@media(max-width:1200px){.text-hash-container[data-v-87e684ca]{grid-template-columns:1fr 1fr;gap:1.5rem}}@media(max-width:1024px){.generator-content[data-v-87e684ca]{padding:1.25rem;gap:1.5rem}.text-hash-container[data-v-87e684ca]{grid-template-columns:1fr;gap:1.5rem}.input-section[data-v-87e684ca]{position:static}.text-input[data-v-87e684ca]{height:200px}.hash-grid[data-v-87e684ca]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.hash-result-item[data-v-87e684ca]{padding:1rem}}@media(max-width:768px){.generator-content[data-v-87e684ca]{padding:1rem;gap:1.25rem}.generator-section[data-v-87e684ca]{padding:1rem}.text-hash-container[data-v-87e684ca]{grid-template-columns:1fr;gap:1rem}.hash-grid[data-v-87e684ca]{grid-template-columns:1fr;gap:.75rem}.hash-result-item[data-v-87e684ca]{padding:.875rem}.hash-header[data-v-87e684ca]{flex-direction:column;align-items:flex-start;gap:.75rem}.hash-actions[data-v-87e684ca]{align-self:flex-end}.text-input[data-v-87e684ca]{height:150px;min-height:100px}.verify-form[data-v-87e684ca]{grid-template-columns:1fr;gap:1rem}.algorithm-grid[data-v-87e684ca]{grid-template-columns:1fr}.file-details[data-v-87e684ca]{flex-direction:column;align-items:flex-start;gap:.75rem}.file-actions[data-v-87e684ca]{flex-direction:column}.verify-detail-item[data-v-87e684ca]{flex-direction:column;align-items:flex-start;gap:.5rem}.verify-label[data-v-87e684ca]{min-width:auto}}@media(max-width:480px){.generator-content[data-v-87e684ca]{padding:.75rem;gap:1rem}.generator-section[data-v-87e684ca],.hash-result-item[data-v-87e684ca]{padding:.75rem}.hash-type[data-v-87e684ca]{font-size:.875rem;padding:.25rem .5rem}.hash-value[data-v-87e684ca]{padding:.75rem;font-size:.75rem}.input-info[data-v-87e684ca]{flex-direction:column;gap:.5rem}}.password-generator[data-v-4e7bfff2]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.generator-content[data-v-4e7bfff2]{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.generator-content[data-v-4e7bfff2]::-webkit-scrollbar{display:none}.generator-section[data-v-4e7bfff2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.section-header[data-v-4e7bfff2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h3[data-v-4e7bfff2]{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-4e7bfff2]{display:flex;align-items:center;gap:8px}.info-text[data-v-4e7bfff2]{font-size:14px;color:var(--text-secondary)}.password-strength[data-v-4e7bfff2]{display:flex;align-items:center;gap:12px}.strength-indicator[data-v-4e7bfff2]{width:100px;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.strength-bar[data-v-4e7bfff2]{height:100%;transition:all .3s ease;border-radius:4px}.password-strength.very-weak .strength-bar[data-v-4e7bfff2]{background:var(--error-color)}.password-strength.weak .strength-bar[data-v-4e7bfff2]{background:#ff6b35}.password-strength.medium .strength-bar[data-v-4e7bfff2]{background:var(--warning-color)}.password-strength.strong .strength-bar[data-v-4e7bfff2]{background:#4ade80}.password-strength.very-strong .strength-bar[data-v-4e7bfff2]{background:var(--success-color)}.strength-text[data-v-4e7bfff2]{font-size:14px;font-weight:500}.password-strength.very-weak .strength-text[data-v-4e7bfff2]{color:var(--error-color)}.password-strength.weak .strength-text[data-v-4e7bfff2]{color:#ff6b35}.password-strength.medium .strength-text[data-v-4e7bfff2]{color:var(--warning-color)}.password-strength.strong .strength-text[data-v-4e7bfff2]{color:#4ade80}.password-strength.very-strong .strength-text[data-v-4e7bfff2]{color:var(--success-color)}.password-settings[data-v-4e7bfff2],.settings-grid[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:20px}.setting-group[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:12px}.setting-label[data-v-4e7bfff2]{font-size:16px;font-weight:600;color:var(--text-primary)}.length-controls[data-v-4e7bfff2]{display:flex;align-items:center;gap:16px}.length-slider[data-v-4e7bfff2]{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;outline:none;-webkit-appearance:none;appearance:none}.length-slider[data-v-4e7bfff2]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--primary-color);border-radius:50%;cursor:pointer}.length-slider[data-v-4e7bfff2]::-moz-range-thumb{width:20px;height:20px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.length-input[data-v-4e7bfff2]{width:80px;padding:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);text-align:center;font-size:14px}.length-input[data-v-4e7bfff2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.character-options[data-v-4e7bfff2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.checkbox-label[data-v-4e7bfff2]{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;transition:all .2s ease}.checkbox-label[data-v-4e7bfff2]:hover{border-color:var(--primary-color);background:var(--primary-color-alpha)}.checkbox-label input[type=checkbox][data-v-4e7bfff2]{margin:0;transform:scale(1.2);flex-shrink:0}.checkbox-content[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:2px;flex:1}.checkbox-text[data-v-4e7bfff2]{font-size:13px;font-weight:500;color:var(--text-primary)}.character-preview[data-v-4e7bfff2]{font-size:11px;color:var(--text-secondary);font-family:Courier New,monospace;word-break:break-all;line-height:1.2}.quick-presets h4[data-v-4e7bfff2]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.preset-buttons[data-v-4e7bfff2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.preset-btn[data-v-4e7bfff2]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;text-align:center}.preset-btn[data-v-4e7bfff2]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.preset-name[data-v-4e7bfff2]{font-size:14px;font-weight:600}.preset-desc[data-v-4e7bfff2]{font-size:12px;opacity:.8}.password-result[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:16px}.password-display[data-v-4e7bfff2]{display:flex;align-items:center;gap:12px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;padding:16px;transition:all .2s ease}.password-display[data-v-4e7bfff2]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha)}.password-value[data-v-4e7bfff2]{flex:1;font-family:Courier New,monospace;font-size:18px;font-weight:600;color:var(--text-primary);word-break:break-all;line-height:1.5;min-height:1.5em}.password-value.password-hidden[data-v-4e7bfff2]{letter-spacing:.2em}.password-actions[data-v-4e7bfff2]{display:flex;gap:8px}.password-action-btn[data-v-4e7bfff2]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.password-action-btn[data-v-4e7bfff2]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.password-info[data-v-4e7bfff2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.info-item[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;text-align:center}.info-label[data-v-4e7bfff2]{font-size:12px;color:var(--text-secondary);font-weight:500}.info-value[data-v-4e7bfff2]{font-size:16px;color:var(--text-primary);font-weight:600}.batch-generator[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:16px}.batch-controls[data-v-4e7bfff2]{display:flex;align-items:end;gap:16px}.batch-input-group[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:8px}.batch-input-group label[data-v-4e7bfff2]{font-size:14px;font-weight:500;color:var(--text-primary)}.batch-count-input[data-v-4e7bfff2]{width:100px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);text-align:center;font-size:14px}.batch-count-input[data-v-4e7bfff2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.batch-generate-btn[data-v-4e7bfff2],.batch-export-btn[data-v-4e7bfff2]{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.batch-generate-btn[data-v-4e7bfff2]{background:var(--primary-color);color:#fff}.batch-generate-btn[data-v-4e7bfff2]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.batch-export-btn[data-v-4e7bfff2]{background:var(--success-color);color:#fff}.batch-export-btn[data-v-4e7bfff2]:hover:not(:disabled){background:var(--success-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.batch-export-btn[data-v-4e7bfff2]:disabled{opacity:.5;cursor:not-allowed}.batch-results[data-v-4e7bfff2]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.batch-header[data-v-4e7bfff2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.batch-header h4[data-v-4e7bfff2]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.clear-batch-btn[data-v-4e7bfff2]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--error-color);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.clear-batch-btn[data-v-4e7bfff2]:hover{background:var(--error-color-dark)}.batch-password-list[data-v-4e7bfff2]{max-height:300px;overflow-y:auto;margin-bottom:16px;scrollbar-width:none;-ms-overflow-style:none}.batch-password-list[data-v-4e7bfff2]::-webkit-scrollbar{display:none}.batch-password-item[data-v-4e7bfff2]{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:8px}.batch-password-index[data-v-4e7bfff2]{font-size:14px;color:var(--text-secondary);font-weight:500;min-width:32px}.batch-password-value[data-v-4e7bfff2]{flex:1;font-family:Courier New,monospace;font-size:14px;color:var(--text-primary);word-break:break-all}.batch-password-value.password-hidden[data-v-4e7bfff2]{letter-spacing:.1em}.copy-batch-password-btn[data-v-4e7bfff2]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.copy-batch-password-btn[data-v-4e7bfff2]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.batch-actions[data-v-4e7bfff2]{display:flex;gap:12px;justify-content:center}.toggle-batch-visibility-btn[data-v-4e7bfff2],.copy-all-btn[data-v-4e7bfff2]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.toggle-batch-visibility-btn[data-v-4e7bfff2]:hover,.copy-all-btn[data-v-4e7bfff2]:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.security-tips[data-v-4e7bfff2]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.tips-grid[data-v-4e7bfff2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.tip-card[data-v-4e7bfff2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center;transition:all .2s ease}.tip-card[data-v-4e7bfff2]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.tip-icon[data-v-4e7bfff2]{font-size:32px;margin-bottom:12px}.tip-card h4[data-v-4e7bfff2]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.tip-card p[data-v-4e7bfff2]{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:768px){.generator-content[data-v-4e7bfff2]{padding:16px;gap:24px}.generator-section[data-v-4e7bfff2]{padding:16px}.character-options[data-v-4e7bfff2]{grid-template-columns:1fr}.settings-grid[data-v-4e7bfff2]{flex-direction:column}.length-controls[data-v-4e7bfff2]{flex-direction:column;align-items:stretch}.preset-buttons[data-v-4e7bfff2]{grid-template-columns:repeat(2,1fr)}.password-display[data-v-4e7bfff2]{flex-direction:column;align-items:stretch;gap:16px}.password-actions[data-v-4e7bfff2]{justify-content:center}.batch-controls[data-v-4e7bfff2]{flex-direction:column;align-items:stretch}.batch-actions[data-v-4e7bfff2]{flex-direction:column}.tips-grid[data-v-4e7bfff2]{grid-template-columns:1fr}}.rsa-generator[data-v-7ba029c7]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.generator-content[data-v-7ba029c7]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.generator-content[data-v-7ba029c7]::-webkit-scrollbar{display:none}.generator-section[data-v-7ba029c7]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.section-header[data-v-7ba029c7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-7ba029c7]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-7ba029c7]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.key-config[data-v-7ba029c7]{display:flex;flex-direction:column;gap:1.5rem}.config-row[data-v-7ba029c7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.config-group[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.5rem}.config-group label[data-v-7ba029c7]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.key-size-select[data-v-7ba029c7],.format-select[data-v-7ba029c7],.usage-select[data-v-7ba029c7]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.key-size-select[data-v-7ba029c7]:focus,.format-select[data-v-7ba029c7]:focus,.usage-select[data-v-7ba029c7]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.password-label[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none}.password-checkbox[data-v-7ba029c7]{width:1rem;height:1rem;accent-color:var(--primary-color)}.password-input-container[data-v-7ba029c7]{position:relative;display:flex;align-items:center}.password-input-container.disabled[data-v-7ba029c7]{opacity:.5}.password-input[data-v-7ba029c7]{flex:1;padding:.75rem 3rem .75rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.password-input[data-v-7ba029c7]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.password-input[data-v-7ba029c7]:disabled{cursor:not-allowed;opacity:.6}.password-toggle-btn[data-v-7ba029c7]{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:.25rem;transition:all .2s ease}.password-toggle-btn[data-v-7ba029c7]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.password-toggle-btn[data-v-7ba029c7]:disabled{cursor:not-allowed;opacity:.4}.password-hint[data-v-7ba029c7]{margin-top:.25rem}.hint-text[data-v-7ba029c7]{font-size:.75rem;color:var(--text-secondary);font-style:italic}.password-strength[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.5rem}.password-strength.disabled[data-v-7ba029c7]{opacity:.5}.strength-bar[data-v-7ba029c7]{height:.25rem;background:var(--bg-tertiary);border-radius:.125rem;overflow:hidden}.strength-fill[data-v-7ba029c7]{height:100%;transition:all .3s ease;border-radius:.125rem}.strength-fill.weak[data-v-7ba029c7]{background:var(--error-color)}.strength-fill.medium[data-v-7ba029c7]{background:var(--warning-color)}.strength-fill.strong[data-v-7ba029c7]{background:var(--success-color)}.strength-fill.very-strong[data-v-7ba029c7]{background:var(--primary-color)}.strength-text[data-v-7ba029c7]{font-size:.75rem;font-weight:500}.strength-text.weak[data-v-7ba029c7]{color:var(--error-color)}.strength-text.medium[data-v-7ba029c7]{color:var(--warning-color)}.strength-text.strong[data-v-7ba029c7]{color:var(--success-color)}.strength-text.very-strong[data-v-7ba029c7]{color:var(--primary-color)}.generate-actions[data-v-7ba029c7]{display:flex;gap:1rem}.generate-btn[data-v-7ba029c7],.quick-generate-btn[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.generate-btn[data-v-7ba029c7]{background:var(--primary-color);color:#fff}.generate-btn[data-v-7ba029c7]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.generate-btn[data-v-7ba029c7]:disabled{opacity:.6;cursor:not-allowed}.quick-generate-btn[data-v-7ba029c7]{background:var(--success-color);color:#fff}.quick-generate-btn[data-v-7ba029c7]:hover:not(:disabled){background:var(--success-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.quick-generate-btn[data-v-7ba029c7]:disabled{opacity:.6;cursor:not-allowed}.key-results[data-v-7ba029c7]{display:flex;flex-direction:column;gap:1.5rem}.key-result-container[data-v-7ba029c7]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;width:100%}.key-result-item[data-v-7ba029c7]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;transition:all .2s ease}.key-result-item[data-v-7ba029c7]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha)}.key-header[data-v-7ba029c7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.key-info[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.25rem}.key-type-container[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.key-type[data-v-7ba029c7]{font-size:1rem;font-weight:600;color:var(--primary-color);background:var(--primary-color-alpha);padding:.25rem .5rem;border-radius:.375rem;display:inline-block;width:fit-content}.password-protected-badge[data-v-7ba029c7]{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;color:var(--success-color);background:var(--success-color-alpha);padding:.2rem .4rem;border-radius:.25rem}.key-description[data-v-7ba029c7]{font-size:.75rem;color:var(--text-secondary)}.key-actions[data-v-7ba029c7]{display:flex;gap:.5rem}.copy-key-btn[data-v-7ba029c7],.download-key-btn[data-v-7ba029c7]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.copy-key-btn[data-v-7ba029c7]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.download-key-btn[data-v-7ba029c7]:hover{background:var(--success-color);color:#fff;border-color:var(--success-color)}.key-value[data-v-7ba029c7]{font-family:Courier New,monospace;font-size:.75rem;color:var(--text-primary);background:var(--bg-secondary);padding:1rem;border-radius:.5rem;word-break:break-all;margin-bottom:1rem;min-height:10rem;max-height:14rem;overflow-y:auto;line-height:1.4;white-space:pre-wrap;position:relative;scrollbar-width:none;-ms-overflow-style:none}.key-value[data-v-7ba029c7]::-webkit-scrollbar{display:none}.key-value.private-key.blurred[data-v-7ba029c7]{filter:blur(4px);user-select:none}.privacy-overlay[data-v-7ba029c7]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000001a;cursor:pointer;gap:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:500}.privacy-overlay[data-v-7ba029c7]:hover{background:#0003}.key-meta[data-v-7ba029c7]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.key-length[data-v-7ba029c7],.key-format[data-v-7ba029c7]{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:.25rem}.key-verify-container[data-v-7ba029c7]{display:flex;flex-direction:column;gap:1.5rem}.verify-form[data-v-7ba029c7]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.verify-input-group[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.5rem}.verify-input-group label[data-v-7ba029c7]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.verify-input[data-v-7ba029c7]{height:120px;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.75rem;font-family:Courier New,monospace;resize:vertical;min-height:80px}.verify-input[data-v-7ba029c7]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.verify-result[data-v-7ba029c7]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.verify-result-header[data-v-7ba029c7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.verify-result-header h4[data-v-7ba029c7]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.verify-status[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.verify-status.valid[data-v-7ba029c7]{background:var(--success-color-alpha);color:var(--success-color)}.verify-status.invalid[data-v-7ba029c7]{background:var(--error-color-alpha);color:var(--error-color)}.verify-details[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.75rem}.verify-detail-item[data-v-7ba029c7]{display:flex;align-items:center;gap:1rem}.verify-label[data-v-7ba029c7]{font-size:.875rem;font-weight:500;color:var(--text-primary);min-width:5rem}.verify-value[data-v-7ba029c7]{font-size:.875rem;padding:.25rem .5rem;border-radius:.25rem}.verify-value.valid[data-v-7ba029c7]{background:var(--success-color-alpha);color:var(--success-color)}.verify-value.invalid[data-v-7ba029c7]{background:var(--error-color-alpha);color:var(--error-color)}.algorithm-info[data-v-7ba029c7]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.algorithm-grid[data-v-7ba029c7]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.algorithm-card[data-v-7ba029c7]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;transition:all .2s ease}.algorithm-card[data-v-7ba029c7]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.algorithm-header[data-v-7ba029c7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.algorithm-header h4[data-v-7ba029c7]{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.algorithm-icon[data-v-7ba029c7]{font-size:1.25rem}.algorithm-description[data-v-7ba029c7]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.algorithm-features[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.5rem}.feature-item[data-v-7ba029c7]{display:flex;align-items:flex-start;gap:.5rem}.feature-bullet[data-v-7ba029c7]{color:var(--primary-color);font-weight:700;margin-top:.1rem}.feature-text[data-v-7ba029c7]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}@media(max-width:1024px){.config-row[data-v-7ba029c7],.verify-form[data-v-7ba029c7],.algorithm-grid[data-v-7ba029c7],.key-result-container[data-v-7ba029c7]{grid-template-columns:1fr}}@media(max-width:768px){.generator-content[data-v-7ba029c7]{padding:1rem;gap:1.5rem}.generator-section[data-v-7ba029c7]{padding:1rem}.generate-actions[data-v-7ba029c7]{flex-direction:column}.key-header[data-v-7ba029c7]{flex-direction:column;align-items:flex-start;gap:1rem}.verify-detail-item[data-v-7ba029c7]{flex-direction:column;align-items:flex-start;gap:.5rem}.verify-label[data-v-7ba029c7]{min-width:auto}}.code-formatter[data-v-a6ee9795]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.language-selector[data-v-a6ee9795]{display:flex;align-items:center;gap:.5rem}.language-select[data-v-a6ee9795]{padding:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:.875rem}.formatter-content[data-v-a6ee9795]{flex:1;display:flex;flex-direction:column;padding:0 1rem 1rem;overflow-y:auto;min-height:0}.main-workspace[data-v-a6ee9795]{flex:1;display:grid;grid-template-columns:1fr 1px 1fr;gap:1rem;margin-bottom:1rem;overflow:hidden;min-height:400px}.input-section[data-v-a6ee9795],.output-section[data-v-a6ee9795]{display:flex;flex-direction:column;overflow:hidden}.divider[data-v-a6ee9795]{background:var(--border-color)}.section-header[data-v-a6ee9795]{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid var(--border-color);margin-bottom:.5rem;flex-shrink:0;height:48px}.section-header h3[data-v-a6ee9795]{font-size:.75rem;font-weight:600;margin:0;color:var(--text-primary)}.header-right[data-v-a6ee9795]{display:flex;align-items:center;gap:.75rem}.operation-buttons[data-v-a6ee9795]{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:.375rem;overflow:hidden;height:32px}.operation-btn[data-v-a6ee9795]{padding:0 .75rem;border:none;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s ease;border-right:1px solid var(--border-color);height:100%;display:flex;align-items:center;justify-content:center}.operation-btn[data-v-a6ee9795]:last-child{border-right:none}.operation-btn[data-v-a6ee9795]:disabled{opacity:.5;cursor:not-allowed}.operation-btn[data-v-a6ee9795]:hover:not(:disabled){background:var(--bg-secondary)}.format-btn[data-v-a6ee9795]:hover:not(:disabled){background:var(--primary-color);color:#fff}.minify-btn[data-v-a6ee9795]:hover:not(:disabled){background:var(--success-color);color:#fff}.validate-btn[data-v-a6ee9795]:hover:not(:disabled){background:var(--error-color);color:#fff}.import-btn[data-v-a6ee9795]{padding:0 .75rem;height:32px;border:1px solid var(--border-color);border-radius:.375rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.import-btn[data-v-a6ee9795]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.code-editor[data-v-a6ee9795]{flex:1;position:relative;background:var(--bg-primary);border:none;border-radius:0;overflow:hidden}.code-input[data-v-a6ee9795],.code-output[data-v-a6ee9795]{width:100%;height:100%;padding:1rem;background:transparent;border:none;color:var(--text-primary);font-size:.875rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1.5;resize:none;outline:none;tab-size:4}.code-input[data-v-a6ee9795]{padding-left:1rem}.line-number[data-v-a6ee9795]{text-align:right;padding-right:.5rem;height:1.3em}.empty-output[data-v-a6ee9795]{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.empty-content[data-v-a6ee9795]{text-align:center;padding:2rem;max-width:280px}.empty-icon[data-v-a6ee9795]{margin-bottom:1rem;opacity:.5;color:var(--text-secondary)}.empty-content h4[data-v-a6ee9795]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-content p[data-v-a6ee9795]{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4}.section-footer[data-v-a6ee9795]{padding:.5rem 0;border-top:1px solid var(--border-color);margin-top:.5rem;flex-shrink:0}.stats-info[data-v-a6ee9795]{display:flex;gap:1rem;flex-wrap:wrap}.stat-item[data-v-a6ee9795]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.stat-item.compression[data-v-a6ee9795]{color:var(--success-color);font-weight:600}.config-section[data-v-a6ee9795]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.config-section label[data-v-a6ee9795]{font-size:.75rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.config-select[data-v-a6ee9795]{padding:.25rem .375rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-primary);font-size:.75rem}.config-select[data-v-a6ee9795]:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary)}.config-note[data-v-a6ee9795]{font-size:.75rem;color:var(--text-secondary);font-style:italic}.feature-description[data-v-a6ee9795]{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;margin-top:.5rem;flex-shrink:0}.description-content[data-v-a6ee9795]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.feature-item[data-v-a6ee9795]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.feature-item strong[data-v-a6ee9795]{color:var(--text-primary);font-weight:600}@media(max-width:1024px){.main-workspace[data-v-a6ee9795]{grid-template-columns:1fr;grid-template-rows:1fr 1px 1fr;gap:.5rem;min-height:300px}.divider[data-v-a6ee9795]{height:1px;width:100%}.toolbar[data-v-a6ee9795]{flex-direction:column;gap:1rem;align-items:stretch}.operation-buttons[data-v-a6ee9795]{justify-content:center}.description-content[data-v-a6ee9795]{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media(max-width:768px){.formatter-content[data-v-a6ee9795]{padding:.5rem}.formatter-header[data-v-a6ee9795]{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem}.main-workspace[data-v-a6ee9795]{min-height:250px}.operation-buttons[data-v-a6ee9795]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.config-section[data-v-a6ee9795]{justify-content:center;flex-wrap:wrap}.description-content[data-v-a6ee9795]{grid-template-columns:1fr;gap:.5rem}}.output-section[data-v-a6ee9795]:fullscreen{background:var(--bg-primary);padding:0;display:flex;flex-direction:column}.output-section:fullscreen .section-header[data-v-a6ee9795]{display:none}.output-section:fullscreen .code-editor[data-v-a6ee9795]{flex:1;height:100vh}.output-section:fullscreen .section-footer[data-v-a6ee9795]{display:none}.qr-generator[data-v-ed92a709]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.generator-content[data-v-ed92a709]{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-ed92a709],.preview-section[data-v-ed92a709]{background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden;position:relative}.input-section[data-v-ed92a709]{overflow-y:auto;padding-bottom:20px;width:100%;max-width:100%;box-sizing:border-box}.section-header[data-v-ed92a709]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;height:52px;box-sizing:border-box}.section-header h3[data-v-ed92a709]{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.type-selector[data-v-ed92a709]{display:flex;gap:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden;height:26px}.type-btn[data-v-ed92a709]{display:flex;align-items:center;gap:2px;padding:0 6px;background:transparent;border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:9px;white-space:nowrap;flex-shrink:0;height:26px}.type-btn[data-v-ed92a709]:last-child{border-right:none}.type-btn[data-v-ed92a709]:hover{background:var(--bg-hover);color:var(--text-primary)}.type-btn.active[data-v-ed92a709]{background:var(--primary-color);color:#fff}.type-icon[data-v-ed92a709]{font-size:16px}.type-name[data-v-ed92a709]{font-size:10px;font-weight:500}.content-area[data-v-ed92a709]{padding:20px;overflow:visible;margin-bottom:16px}.input-form[data-v-ed92a709]{height:100%;display:flex;flex-direction:column;gap:16px}.form-label[data-v-ed92a709]{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.form-textarea[data-v-ed92a709],.form-input[data-v-ed92a709],.form-select[data-v-ed92a709]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.form-textarea[data-v-ed92a709]{min-height:120px;resize:vertical}.form-textarea[data-v-ed92a709]:focus,.form-input[data-v-ed92a709]:focus,.form-select[data-v-ed92a709]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.form-group[data-v-ed92a709]{display:flex;flex-direction:column;gap:4px}.input-form .form-group[data-v-ed92a709]:last-child{margin-bottom:0}.input-form .map-selector[data-v-ed92a709]{margin-top:-4px}.map-selector[data-v-ed92a709]{margin:0}.map-header[data-v-ed92a709]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.map-controls[data-v-ed92a709]{display:flex;gap:6px;align-items:center}.search-wrapper[data-v-ed92a709]{position:relative;flex:1}.location-format-wrapper[data-v-ed92a709]{margin-left:8px;flex-shrink:0}.format-select[data-v-ed92a709]{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;min-width:100px;height:36px;box-sizing:border-box}.search-input[data-v-ed92a709]{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;width:100%}.suggestions-dropdown[data-v-ed92a709]{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #0000001a}.suggestion-item[data-v-ed92a709]{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.suggestion-item[data-v-ed92a709]:last-child{border-bottom:none}.suggestion-item[data-v-ed92a709]:hover{background:var(--bg-hover)}.suggestion-title[data-v-ed92a709]{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.suggestion-address[data-v-ed92a709]{font-size:11px;color:var(--text-secondary)}.search-btn[data-v-ed92a709],.location-btn[data-v-ed92a709]{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:12px}.search-btn[data-v-ed92a709]:hover,.location-btn[data-v-ed92a709]:hover{background:var(--primary-color);color:#fff}.map-container[data-v-ed92a709]{position:relative;width:100%;height:300px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.map-canvas[data-v-ed92a709]{width:100%;height:100%}.map-loading[data-v-ed92a709]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.loading-text[data-v-ed92a709]{font-size:13px;color:var(--text-secondary)}.location-info[data-v-ed92a709]{margin-top:12px;padding:12px;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.location-item[data-v-ed92a709]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.location-item[data-v-ed92a709]:last-child{margin-bottom:0}.location-label[data-v-ed92a709]{font-size:12px;color:var(--text-secondary);font-weight:500}.location-value[data-v-ed92a709]{font-size:12px;color:var(--text-primary);font-family:monospace}.preview-container[data-v-ed92a709]{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.qr-display[data-v-ed92a709]{display:flex;flex-direction:column;align-items:center;gap:16px}.qr-wrapper[data-v-ed92a709]{display:flex;align-items:center;justify-content:center;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #00000014}.qr-image[data-v-ed92a709]{max-width:100%;max-height:300px;border-radius:4px}.qr-info[data-v-ed92a709]{text-align:center;max-width:300px}.qr-content[data-v-ed92a709]{font-size:13px;color:var(--text-primary);font-weight:500;word-break:break-all;line-height:1.3;margin-bottom:12px}.qr-stats[data-v-ed92a709]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:8px;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.stat-item[data-v-ed92a709]{display:flex;justify-content:space-between;align-items:center}.stat-label[data-v-ed92a709]{font-size:11px;color:var(--text-secondary);font-weight:500}.stat-value[data-v-ed92a709]{font-size:11px;color:var(--text-primary);font-weight:600;font-family:monospace}.scan-tip[data-v-ed92a709]{font-size:12px;color:var(--primary-color);font-weight:600;background:var(--primary-color-alpha);border:1px solid var(--primary-color);border-radius:4px;padding:6px 10px;line-height:1.3;text-align:center;white-space:nowrap;flex-shrink:0}.test-link-btn[data-v-ed92a709]{padding:6px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.test-link-btn[data-v-ed92a709]:hover{background:var(--primary-color-dark)}.preview-placeholder[data-v-ed92a709]{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary);text-align:center}.preview-placeholder h4[data-v-ed92a709]{margin:0;font-size:16px}.preview-placeholder p[data-v-ed92a709]{margin:0;font-size:13px}.settings-panel[data-v-ed92a709]{padding:12px 20px 20px;margin-top:16px;border-top:1px solid var(--border-color);background:var(--bg-secondary);width:100%;box-sizing:border-box;position:relative;left:0;right:auto}.settings-panel h3[data-v-ed92a709]{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary)}.settings-section[data-v-ed92a709]{margin-bottom:16px}.section-title[data-v-ed92a709]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:4px}.preset-grid[data-v-ed92a709]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px}.preset-btn[data-v-ed92a709]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:10px}.preset-btn[data-v-ed92a709]:hover{border-color:var(--primary-color);background:var(--bg-hover)}.preset-preview[data-v-ed92a709]{width:24px;height:24px;border:1px solid var(--border-color);border-radius:3px;position:relative}.preset-preview.preset-classic[data-v-ed92a709]{background:linear-gradient(45deg,#000 25%,transparent 25%),linear-gradient(-45deg,#000 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#000 75%),linear-gradient(-45deg,transparent 75%,#000 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0px}.preset-preview.preset-modern[data-v-ed92a709]{background:radial-gradient(circle,#2563eb 30%,transparent 30%);background-size:4px 4px}.preset-preview.preset-artistic[data-v-ed92a709]{background:#7c3aed;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.preset-preview.preset-minimal[data-v-ed92a709]{background:#374151;border-radius:6px}.preset-name[data-v-ed92a709]{font-size:9px;color:var(--text-secondary);text-align:center;line-height:1}.style-grid[data-v-ed92a709]{display:flex;flex-direction:column;gap:8px}.style-row[data-v-ed92a709]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.style-item[data-v-ed92a709]{display:flex;flex-direction:column;gap:4px}.style-label[data-v-ed92a709]{font-size:11px;font-weight:500;color:var(--text-primary)}.color-picker-wrapper[data-v-ed92a709]{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);cursor:pointer;position:relative}.color-picker-wrapper[data-v-ed92a709]:hover{border-color:var(--primary-color)}.color-preview[data-v-ed92a709]{width:16px;height:16px;border-radius:2px;border:1px solid var(--border-color);cursor:pointer}.color-input-hidden[data-v-ed92a709]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.style-select-wrapper[data-v-ed92a709]{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);cursor:pointer}.shape-preview[data-v-ed92a709]{width:16px;height:16px;border:1px solid var(--border-color)}.shape-preview.square[data-v-ed92a709]{background:#000}.eye-pattern-grid[data-v-ed92a709]{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:4px}.eye-pattern-item[data-v-ed92a709]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease;background:var(--bg-primary)}.eye-pattern-item[data-v-ed92a709]:hover{border-color:var(--primary-color);background:var(--bg-hover)}.eye-pattern-item.active[data-v-ed92a709]{border-color:var(--primary-color);background:var(--primary-color-alpha)}.pattern-preview[data-v-ed92a709]{width:20px;height:20px;border:1px solid var(--border-color);border-radius:2px;background:var(--text-primary);position:relative}.pattern-preview.pattern-normal[data-v-ed92a709]{background:#000}.pattern-preview.pattern-liquid[data-v-ed92a709]{background:linear-gradient(45deg,#000 25%,#333 25% 50%,#000 50% 75%,#333 75%);background-size:4px 4px}.pattern-preview.pattern-round-liquid[data-v-ed92a709]{background:radial-gradient(circle,#000 30%,#333 70%)}.pattern-preview.pattern-stripe[data-v-ed92a709]{background:repeating-linear-gradient(0deg,#000 0px 2px,#666 2px 4px)}.pattern-preview.pattern-horizontal[data-v-ed92a709]{background:repeating-linear-gradient(0deg,#000 0px,#000 3px,transparent 3px,transparent 6px)}.pattern-preview.pattern-vertical[data-v-ed92a709]{background:repeating-linear-gradient(90deg,#000 0px,#000 3px,transparent 3px,transparent 6px)}.pattern-preview.pattern-tile[data-v-ed92a709]{background:linear-gradient(45deg,#000 25%,transparent 25%),linear-gradient(-45deg,#000 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#000 75%),linear-gradient(-45deg,transparent 75%,#000 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0px}.pattern-preview.pattern-big-dot[data-v-ed92a709]{background:radial-gradient(circle,#000 40%,transparent 40%);background-size:6px 6px}.pattern-preview.pattern-small-dot[data-v-ed92a709]{background:radial-gradient(circle,#000 30%,transparent 30%);background-size:4px 4px}.pattern-preview.pattern-star[data-v-ed92a709]{background:#000;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.pattern-preview.pattern-fine-star[data-v-ed92a709]{background:#000;clip-path:polygon(50% 0%,55% 40%,100% 40%,65% 65%,80% 100%,50% 80%,20% 100%,35% 65%,0% 40%,45% 40%)}.pattern-preview.pattern-grid[data-v-ed92a709]{background:linear-gradient(to right,#000 1px,transparent 1px),linear-gradient(to bottom,#000 1px,transparent 1px);background-size:4px 4px}.pattern-preview.pattern-diamond[data-v-ed92a709]{background:#000;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.pattern-preview.pattern-small-square[data-v-ed92a709]{background:radial-gradient(circle at 25% 25%,#000 20%,transparent 20%),radial-gradient(circle at 75% 75%,#000 20%,transparent 20%);background-size:8px 8px}.pattern-preview.pattern-custom[data-v-ed92a709]{background:linear-gradient(45deg,var(--primary-color),var(--primary-color-dark))}.pattern-name[data-v-ed92a709]{font-size:9px;color:var(--text-secondary);text-align:center;line-height:1}.shape-preview.dot-square[data-v-ed92a709]{background:#000}.shape-preview.dot-circle[data-v-ed92a709]{background:#000;border-radius:50%}.shape-preview.dot-rounded[data-v-ed92a709]{background:#000;border-radius:3px}.shape-preview.dot-horizontal[data-v-ed92a709]{background:repeating-linear-gradient(0deg,#000 0px,#000 2px,transparent 2px,transparent 4px)}.shape-preview.dot-vertical[data-v-ed92a709]{background:repeating-linear-gradient(90deg,#000 0px,#000 2px,transparent 2px,transparent 4px)}.shape-preview.dot-diamond[data-v-ed92a709]{background:#000;transform:rotate(45deg)}.shape-preview.eye-square[data-v-ed92a709]{background:#000;position:relative}.shape-preview.eye-square[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff}.shape-preview.eye-circle[data-v-ed92a709]{background:#000;border-radius:50%;position:relative}.shape-preview.eye-circle[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50%}.shape-preview.eye-rounded[data-v-ed92a709]{background:#000;border-radius:3px;position:relative}.shape-preview.eye-rounded[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:1px}.shape-preview.eye-leaf[data-v-ed92a709]{background:#000;border-radius:50% 0;position:relative}.shape-preview.eye-leaf[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50% 0}.eye-color-options[data-v-ed92a709]{display:flex;gap:12px}.eye-color-option[data-v-ed92a709]{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px}.eye-color-option input[type=radio][data-v-ed92a709]{display:none}.checkmark[data-v-ed92a709]{width:12px;height:12px;border:1px solid var(--border-color);border-radius:50%;position:relative}.eye-color-option input[type=radio]:checked+.checkmark[data-v-ed92a709]{background:var(--primary-color);border-color:var(--primary-color)}.eye-color-option input[type=radio]:checked+.checkmark[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;background:#fff;border-radius:50%}.style-item.full-width[data-v-ed92a709]{grid-column:1 / -1}.style-select[data-v-ed92a709],.style-input[data-v-ed92a709]{padding:4px 6px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:11px}.full-width-select[data-v-ed92a709]{width:100%;padding:6px 8px;font-size:12px}.logo-controls[data-v-ed92a709]{display:flex;flex-direction:column;gap:8px}.logo-upload-btn[data-v-ed92a709]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:11px}.logo-upload-btn[data-v-ed92a709]:hover{background:var(--bg-hover);border-color:var(--primary-color)}.logo-preview[data-v-ed92a709]{display:flex;align-items:center;gap:8px;padding:6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px}.logo-image[data-v-ed92a709]{width:20px;height:20px;object-fit:contain;border-radius:2px;background:#fff}.logo-info[data-v-ed92a709]{flex:1;display:flex;align-items:center;justify-content:space-between}.logo-name[data-v-ed92a709]{font-size:10px;color:var(--text-primary);font-weight:500}.logo-remove-btn[data-v-ed92a709]{padding:2px 6px;background:var(--error-color);color:#fff;border:none;border-radius:3px;font-size:9px;cursor:pointer;transition:all .2s ease}.logo-remove-btn[data-v-ed92a709]:hover{background:var(--error-color-dark)}.logo-size-control[data-v-ed92a709]{margin-top:6px}.logo-size-label[data-v-ed92a709]{display:block;font-size:10px;color:var(--text-secondary);margin-bottom:4px}.logo-slider[data-v-ed92a709]{width:100%;height:3px;background:var(--bg-primary);border-radius:2px;outline:none;cursor:pointer}.logo-slider[data-v-ed92a709]::-webkit-slider-thumb{appearance:none;width:10px;height:10px;background:var(--primary-color);border-radius:50%;cursor:pointer}.logo-slider[data-v-ed92a709]::-moz-range-thumb{width:10px;height:10px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.crontab-generator[data-v-d47453ad]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.generator-content[data-v-d47453ad]{flex:1;display:grid;grid-template-columns:3fr 2fr;gap:1px;background:var(--border-color);min-height:600px;overflow:hidden}.config-section[data-v-d47453ad],.result-section[data-v-d47453ad]{background:var(--bg-primary);display:flex;flex-direction:column;height:100%;overflow:hidden}.section-header[data-v-d47453ad]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:44px;box-sizing:border-box}.section-header h3[data-v-d47453ad]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.mode-toggle[data-v-d47453ad]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-d47453ad]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-d47453ad]:last-child{border-right:none}.mode-btn[data-v-d47453ad]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.mode-btn.active[data-v-d47453ad]{background:var(--primary-color);color:#fff}.visual-config[data-v-d47453ad]{flex:1;padding:20px;overflow-y:auto}.config-grid[data-v-d47453ad]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.config-item[data-v-d47453ad]{display:flex;flex-direction:column;gap:8px}.config-label[data-v-d47453ad]{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.config-select-compact[data-v-d47453ad]{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:11px;cursor:pointer;width:100%}.config-input-compact[data-v-d47453ad]{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:11px;width:100%}.config-input-tiny[data-v-d47453ad]{padding:4px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:11px;width:50px}.interval-compact[data-v-d47453ad],.range-compact[data-v-d47453ad]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.config-select-tiny[data-v-d47453ad]{padding:4px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:10px;cursor:pointer;width:50px}.presets-section[data-v-d47453ad]{margin-bottom:24px}.presets-title[data-v-d47453ad]{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.presets-grid[data-v-d47453ad]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.preset-btn[data-v-d47453ad]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);text-align:center}.preset-btn[data-v-d47453ad]:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-1px)}.preset-name[data-v-d47453ad]{font-size:12px;font-weight:600;color:var(--text-primary)}.preset-desc[data-v-d47453ad]{font-size:10px;color:var(--text-secondary);line-height:1.3}.preset-cron[data-v-d47453ad]{font-size:9px;color:var(--text-muted);font-family:monospace;background:var(--bg-tertiary);padding:2px 4px;border-radius:var(--radius-sm);margin-top:2px}.manual-config[data-v-d47453ad]{flex:1;padding:20px;overflow-y:auto}.manual-input-section[data-v-d47453ad]{display:flex;flex-direction:column;gap:12px}.section-label[data-v-d47453ad]{font-size:13px;font-weight:500;color:var(--text-primary)}.cron-input-wrapper[data-v-d47453ad]{display:flex;gap:8px;align-items:center}.cron-input[data-v-d47453ad]{flex:1;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:monospace;transition:var(--transition)}.cron-input[data-v-d47453ad]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.cron-format-help[data-v-d47453ad]{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.format-text[data-v-d47453ad]{font-size:11px;color:var(--text-secondary)}.result-section[data-v-d47453ad]{background:var(--bg-primary);display:flex;flex-direction:column;height:100%;overflow:hidden}.result-content[data-v-d47453ad]{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.result-actions[data-v-d47453ad]{display:flex;gap:8px;align-items:center}.cron-display[data-v-d47453ad]{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.cron-expression[data-v-d47453ad]{margin-bottom:12px}.cron-label[data-v-d47453ad]{font-size:13px;font-weight:500;color:var(--text-secondary)}.cron-code[data-v-d47453ad]{display:inline-block;margin-left:8px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:monospace;font-size:14px;color:var(--primary-color);font-weight:600}.cron-description[data-v-d47453ad]{display:flex;align-items:flex-start;gap:8px}.desc-label[data-v-d47453ad]{font-size:13px;font-weight:500;color:var(--text-secondary);flex-shrink:0}.desc-text[data-v-d47453ad]{font-size:13px;color:var(--text-primary);line-height:1.4}.field-explanation h4[data-v-d47453ad],.next-execution h4[data-v-d47453ad]{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.field-grid[data-v-d47453ad]{display:grid;grid-template-columns:1fr;gap:8px}.field-item[data-v-d47453ad]{display:grid;grid-template-columns:60px 80px 1fr;gap:12px;align-items:center;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.field-name[data-v-d47453ad]{font-size:12px;font-weight:500;color:var(--text-secondary)}.field-value[data-v-d47453ad]{font-size:12px;font-family:monospace;color:var(--primary-color);font-weight:600}.field-desc[data-v-d47453ad]{font-size:11px;color:var(--text-muted)}.execution-list[data-v-d47453ad]{display:flex;flex-direction:column;gap:6px}.execution-item[data-v-d47453ad]{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.execution-time[data-v-d47453ad]{font-size:12px;color:var(--text-primary);font-family:monospace}@media(max-width:768px){.generator-content[data-v-d47453ad]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.config-grid[data-v-d47453ad]{grid-template-columns:1fr;gap:12px}.presets-grid[data-v-d47453ad]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.field-item[data-v-d47453ad]{grid-template-columns:1fr;gap:4px;text-align:center}}@media(max-width:480px){.config-grid[data-v-d47453ad]{padding:12px}.presets-grid[data-v-d47453ad]{grid-template-columns:1fr 1fr}.preset-btn[data-v-d47453ad]{padding:8px 6px}.preset-name[data-v-d47453ad]{font-size:11px}.preset-desc[data-v-d47453ad]{font-size:9px}.preset-cron[data-v-d47453ad]{font-size:8px}}.base-converter[data-v-c516d8c8]{width:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.converter-content[data-v-c516d8c8]{flex:1;display:flex;flex-direction:column;padding:24px 24px 80px;gap:24px;max-width:1000px;margin:0 auto;width:100%;min-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-c516d8c8]::-webkit-scrollbar{display:none}.convert-section[data-v-c516d8c8]{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex-shrink:0}.input-panel[data-v-c516d8c8],.results-panel[data-v-c516d8c8]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.section-header[data-v-c516d8c8]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box}.section-header h3[data-v-c516d8c8]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.click-tip[data-v-c516d8c8]{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--primary-color-light);border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:12px;font-weight:500}.click-tip svg[data-v-c516d8c8]{flex-shrink:0}.base-selector[data-v-c516d8c8]{display:flex;align-items:center;gap:8px}.base-select[data-v-c516d8c8]{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:12px;min-width:140px}.input-area[data-v-c516d8c8]{padding:20px;display:flex;flex-direction:column;gap:12px}.number-input[data-v-c516d8c8]{width:100%;padding:12px 16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;font-family:var(--font-mono);font-weight:500;transition:var(--transition)}.number-input[data-v-c516d8c8]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-light)}.input-info[data-v-c516d8c8]{display:flex;flex-direction:column;gap:4px}.input-hint[data-v-c516d8c8]{font-size:12px;color:var(--text-secondary);font-style:italic}.base-info[data-v-c516d8c8]{font-size:12px;color:var(--primary-color);font-weight:500;font-family:var(--font-mono)}.examples-area[data-v-c516d8c8]{padding:20px;border-top:1px solid var(--border-color)}.examples-header[data-v-c516d8c8]{margin-bottom:12px}.examples-header h4[data-v-c516d8c8]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.examples-grid[data-v-c516d8c8]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.example-item[data-v-c516d8c8]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.example-item[data-v-c516d8c8]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-label[data-v-c516d8c8]{font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--primary-color)}.example-desc[data-v-c516d8c8]{font-size:10px;color:var(--text-secondary);font-weight:500}.results-list[data-v-c516d8c8]{padding:20px;display:flex;flex-direction:column;gap:12px}.result-row[data-v-c516d8c8]{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);cursor:pointer}.result-row[data-v-c516d8c8]:hover{background:var(--bg-hover);transform:translateY(-1px)}.result-row.active[data-v-c516d8c8]{border-color:var(--primary-color);background:var(--primary-color-light)}.result-info[data-v-c516d8c8]{display:flex;flex-direction:column;gap:4px;min-width:100px;flex-shrink:0}.result-label[data-v-c516d8c8]{display:flex;align-items:center;gap:8px}.base-name[data-v-c516d8c8]{font-size:14px;font-weight:600;color:var(--text-primary)}.base-code[data-v-c516d8c8]{font-size:10px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.active-indicator[data-v-c516d8c8]{font-size:10px;font-weight:600;color:#fff;background:var(--primary-color);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.result-desc[data-v-c516d8c8]{font-size:10px;color:var(--text-secondary);line-height:1.3}.result-content[data-v-c516d8c8]{flex:1;display:flex;align-items:center}.result-input[data-v-c516d8c8]{flex:1;width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.result-input[data-v-c516d8c8]:hover{border-color:var(--primary-color)}.result-input[data-v-c516d8c8]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.help-section[data-v-c516d8c8]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.help-header[data-v-c516d8c8]{padding:12px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box;display:flex;align-items:center}.help-header h3[data-v-c516d8c8]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.help-content[data-v-c516d8c8]{padding:20px}.help-grid[data-v-c516d8c8]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.help-card[data-v-c516d8c8]:last-child{grid-column:1 / -1}.help-card[data-v-c516d8c8]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:var(--transition)}.help-card[data-v-c516d8c8]:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.help-icon[data-v-c516d8c8]{font-size:20px;margin-bottom:8px;flex-shrink:0}.help-header-inline[data-v-c516d8c8]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.help-header-inline .help-icon[data-v-c516d8c8]{margin-bottom:0}.help-header-inline h4[data-v-c516d8c8]{margin:0}.help-card h4[data-v-c516d8c8]{font-size:14px;font-weight:600;margin:0;color:var(--text-primary);flex:1}.help-card p[data-v-c516d8c8]{font-size:12px;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:768px){.converter-content[data-v-c516d8c8]{padding:16px 16px 80px;gap:16px}.convert-section[data-v-c516d8c8]{grid-template-columns:1fr;gap:16px}.examples-grid[data-v-c516d8c8]{grid-template-columns:repeat(2,1fr);gap:8px}.help-grid[data-v-c516d8c8]{grid-template-columns:1fr;gap:12px}.result-row[data-v-c516d8c8]{flex-direction:column;align-items:stretch;gap:12px}.result-info[data-v-c516d8c8]{min-width:auto}.section-header[data-v-c516d8c8]{flex-direction:column;gap:12px;align-items:stretch;height:auto;padding:16px 20px}.base-selector[data-v-c516d8c8]{justify-content:space-between}}.button-group[data-v-8b57e320]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}[data-v-8b57e320] .group-btn{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}[data-v-8b57e320] .group-btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}[data-v-8b57e320] .group-btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}[data-v-8b57e320] .group-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}[data-v-8b57e320] .group-btn:active{background:var(--bg-tertiary)}.text-encoder[data-v-52eddbc9]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.encoding-selector[data-v-52eddbc9]{display:flex;align-items:center;gap:.5rem}.encoding-select[data-v-52eddbc9]{padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:.875rem}.encoding-select[data-v-52eddbc9]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.encoder-content[data-v-52eddbc9]{flex:1;display:flex;flex-direction:column;padding:1.5rem;overflow:hidden}.main-workspace[data-v-52eddbc9]{flex:1;display:grid;grid-template-columns:1fr 1px 1fr;gap:1.5rem;margin-bottom:1.5rem;overflow:hidden;min-height:400px}.input-section[data-v-52eddbc9],.output-section[data-v-52eddbc9]{display:flex;flex-direction:column;overflow:hidden}.divider[data-v-52eddbc9]{background:var(--border-color)}.section-header[data-v-52eddbc9]{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem;flex-shrink:0;gap:1rem;min-height:3rem}.section-header h3[data-v-52eddbc9]{font-size:.875rem;font-weight:600;margin:0;color:var(--text-primary);white-space:nowrap}.quick-examples[data-v-52eddbc9]{display:flex;gap:.5rem;align-items:center}.header-placeholder[data-v-52eddbc9]{height:2rem;min-width:1px}.header-actions[data-v-52eddbc9]{display:flex;gap:.5rem}.action-btn-small[data-v-52eddbc9]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.action-btn-small[data-v-52eddbc9]:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.action-btn-small[data-v-52eddbc9]:disabled{opacity:.5;cursor:not-allowed}.text-editor[data-v-52eddbc9]{flex:1;position:relative;background:var(--bg-primary);border:none;border-radius:0;overflow:hidden}.text-input[data-v-52eddbc9],.text-output[data-v-52eddbc9]{width:100%;height:100%;padding:1rem;background:transparent;border:none;color:var(--text-primary);font-size:.875rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1.5;resize:none;outline:none}.text-input[data-v-52eddbc9]:focus{outline:none}.section-footer[data-v-52eddbc9]{padding-top:.75rem;border-top:1px solid var(--border-color);margin-top:.75rem;flex-shrink:0}.stats-info[data-v-52eddbc9]{display:flex;gap:1rem;flex-wrap:wrap}.stat-item[data-v-52eddbc9]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.stat-item.compression[data-v-52eddbc9]{color:var(--success-color);font-weight:600}.feature-description[data-v-52eddbc9]{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;flex-shrink:0}.description-content[data-v-52eddbc9]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.feature-item[data-v-52eddbc9]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.feature-item strong[data-v-52eddbc9]{color:var(--text-primary);font-weight:600}@media(max-width:1024px){.main-workspace[data-v-52eddbc9]{grid-template-columns:1fr;grid-template-rows:1fr 1px 1fr;gap:1rem;min-height:300px}.divider[data-v-52eddbc9]{height:1px;width:100%}.description-content[data-v-52eddbc9]{grid-template-columns:repeat(2,1fr);gap:.75rem}.quick-examples-inline[data-v-52eddbc9],[data-v-52eddbc9] .button-group{flex-wrap:wrap}}@media(max-width:768px){.encoder-content[data-v-52eddbc9]{padding:1rem}.main-workspace[data-v-52eddbc9]{min-height:250px;gap:.75rem}.description-content[data-v-52eddbc9]{grid-template-columns:1fr;gap:.5rem}.header-left[data-v-52eddbc9]{flex-direction:column;align-items:flex-start;gap:.75rem}.quick-examples-inline[data-v-52eddbc9]{gap:.375rem}[data-v-52eddbc9] .group-btn{font-size:.6875rem;padding:.25rem .5rem;min-width:50px}}.string-counter[data-v-df989333]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.counter-content[data-v-df989333]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%}.input-section[data-v-df989333],.stats-section[data-v-df989333],.analysis-section[data-v-df989333],.detailed-analysis-section[data-v-df989333],.help-section[data-v-df989333]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.section-header[data-v-df989333]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-df989333]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.quick-actions[data-v-df989333]{display:flex;gap:.5rem}.quick-btn[data-v-df989333]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem}.quick-btn[data-v-df989333]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.file-info[data-v-df989333]{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;margin-bottom:1rem}.file-name[data-v-df989333]{color:var(--text-primary);font-weight:500}.file-size[data-v-df989333]{color:var(--text-secondary)}.text-input[data-v-df989333]{width:100%;min-height:200px;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;line-height:1.5;resize:vertical;font-family:Courier New,monospace;transition:all .2s ease}.text-input[data-v-df989333]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.text-input[data-v-df989333]::placeholder{color:var(--text-secondary)}.stats-grid[data-v-df989333]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-card[data-v-df989333]{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;transition:all .2s ease}.stat-card[data-v-df989333]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.stat-card.primary[data-v-df989333]{border-color:var(--primary-color);background:var(--primary-color-alpha)}.stat-icon[data-v-df989333]{font-size:1.5rem;flex-shrink:0}.stat-content[data-v-df989333]{flex:1;display:flex;flex-direction:column;gap:.25rem}.stat-label[data-v-df989333]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.stat-value[data-v-df989333]{font-size:1.5rem;color:var(--text-primary);font-weight:700}.stat-desc[data-v-df989333]{font-size:.75rem;color:var(--text-secondary)}.analysis-grid[data-v-df989333]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.analysis-card[data-v-df989333]{padding:1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;transition:all .2s ease}.analysis-card[data-v-df989333]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px var(--primary-color-alpha)}.analysis-card h4[data-v-df989333]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.analysis-item[data-v-df989333]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.analysis-item[data-v-df989333]:last-child{border-bottom:none}.analysis-label[data-v-df989333]{font-size:.875rem;color:var(--text-secondary)}.analysis-value[data-v-df989333]{font-size:.875rem;color:var(--text-primary);font-weight:600}.complexity-score.very-high[data-v-df989333]{color:#dc2626;font-weight:700}.complexity-score.high[data-v-df989333]{color:#ea580c;font-weight:700}.complexity-score.medium[data-v-df989333]{color:#d97706;font-weight:700}.complexity-score.low[data-v-df989333]{color:#65a30d;font-weight:700}.complexity-score.very-low[data-v-df989333]{color:#16a34a;font-weight:700}.features-grid[data-v-df989333]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.feature-card[data-v-df989333]{text-align:center;padding:1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;transition:all .2s ease}.feature-card[data-v-df989333]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.feature-icon[data-v-df989333]{font-size:2.5rem;margin-bottom:.75rem;display:block}.feature-card h4[data-v-df989333]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.feature-card p[data-v-df989333]{font-size:.875rem;color:var(--text-secondary);line-height:1.4;margin:0}.message-toast[data-v-df989333]{position:fixed;bottom:2rem;right:2rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;z-index:1000;animation:slideIn-df989333 .3s ease}.message-toast.success[data-v-df989333]{background:var(--success-color);color:#fff}.message-toast.error[data-v-df989333]{background:var(--error-color);color:#fff}@keyframes slideIn-df989333{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:1024px){.stats-grid[data-v-df989333]{grid-template-columns:repeat(2,1fr)}.analysis-grid[data-v-df989333]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.features-grid[data-v-df989333]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.counter-content[data-v-df989333]{padding:1rem;gap:1.5rem}.input-section[data-v-df989333],.stats-section[data-v-df989333],.analysis-section[data-v-df989333],.detailed-analysis-section[data-v-df989333],.help-section[data-v-df989333]{padding:1rem}.stats-grid[data-v-df989333]{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card[data-v-df989333]{padding:1rem;flex-direction:column;text-align:center;gap:.75rem}.stat-content[data-v-df989333]{align-items:center}.analysis-grid[data-v-df989333]{grid-template-columns:1fr;gap:1rem}.analysis-card[data-v-df989333]{padding:1rem}.quick-actions[data-v-df989333]{flex-direction:column;gap:.25rem}.quick-btn[data-v-df989333]{padding:.375rem .5rem;font-size:.75rem}.features-grid[data-v-df989333]{grid-template-columns:1fr;gap:.75rem}.feature-card[data-v-df989333]{padding:1rem}.feature-icon[data-v-df989333]{font-size:2rem;margin-bottom:.5rem}.message-toast[data-v-df989333]{bottom:1rem;right:1rem;left:1rem}}@media(max-width:480px){.counter-content[data-v-df989333]{padding:.75rem;gap:1rem}.input-section[data-v-df989333],.stats-section[data-v-df989333],.analysis-section[data-v-df989333],.detailed-analysis-section[data-v-df989333],.help-section[data-v-df989333]{padding:.75rem}.text-input[data-v-df989333]{min-height:150px;padding:.75rem}.stats-grid[data-v-df989333]{grid-template-columns:1fr}.stat-value[data-v-df989333]{font-size:1.25rem}.section-header[data-v-df989333]{flex-direction:column;align-items:flex-start;gap:1rem}.quick-actions[data-v-df989333]{flex-direction:row;flex-wrap:wrap;gap:.5rem}}.mode-toggle[data-v-a9038348]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-a9038348]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-a9038348]:last-child{border-right:none}.mode-btn.active[data-v-a9038348]{background:var(--primary-color);color:#fff}.mode-btn[data-v-a9038348]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.php-serializer[data-v-a9038348]{width:100%;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.serializer-content[data-v-a9038348]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.serializer-content[data-v-a9038348]::-webkit-scrollbar{display:none}.converter-content[data-v-a9038348]::-webkit-scrollbar{display:none;min-height:0}.convert-section[data-v-a9038348]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-panel[data-v-a9038348],.output-panel[data-v-a9038348]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column}.section-header[data-v-a9038348]{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;height:auto;min-height:60px;display:flex;flex-direction:column;gap:.75rem}.section-title[data-v-a9038348]{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.section-title h3[data-v-a9038348]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.panel-info[data-v-a9038348]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.char-count[data-v-a9038348]{padding:.25rem .6rem;background:var(--primary-color-alpha);color:var(--primary-color);border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap}.input-hint[data-v-a9038348]{font-size:.75rem;color:var(--text-secondary)}.format-selector[data-v-a9038348]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-primary)}.format-btn[data-v-a9038348]{padding:.375rem .75rem;background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:28px;box-sizing:border-box}.format-btn[data-v-a9038348]:last-child{border-right:none}.format-btn.active[data-v-a9038348]{background:var(--primary-color);color:#fff}.format-btn[data-v-a9038348]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.panel-content[data-v-a9038348]{position:relative;display:flex;flex-direction:column;flex:1}.data-input[data-v-a9038348],.data-output[data-v-a9038348]{width:100%;min-height:280px;padding:1.5rem;background:var(--bg-primary);border:none;color:var(--text-primary);font-size:.875rem;line-height:1.6;resize:vertical;font-family:Consolas,Monaco,Courier New,monospace;box-sizing:border-box;flex:1}.data-input[data-v-a9038348]:focus,.data-output[data-v-a9038348]:focus{outline:none}.data-input[data-v-a9038348]::placeholder,.data-output[data-v-a9038348]::placeholder{color:var(--text-secondary)}.examples-section[data-v-a9038348],.help-section[data-v-a9038348]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.examples-header[data-v-a9038348],.help-header[data-v-a9038348]{margin-bottom:1rem}.examples-header h3[data-v-a9038348],.help-header h3[data-v-a9038348]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.examples-grid[data-v-a9038348]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.example-btn[data-v-a9038348]{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.875rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.example-btn[data-v-a9038348]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-title[data-v-a9038348]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.example-preview[data-v-a9038348]{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.help-content[data-v-a9038348]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.help-grid[data-v-a9038348]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.help-card[data-v-a9038348]{text-align:center;padding:1rem}.help-icon[data-v-a9038348]{font-size:2rem;margin-bottom:.75rem}.help-card h4[data-v-a9038348]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.help-card p[data-v-a9038348]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:1024px){.convert-section[data-v-a9038348]{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:768px){.serializer-content[data-v-a9038348]{padding:1rem 1rem 4rem;gap:1.5rem}.examples-section[data-v-a9038348],.help-section[data-v-a9038348]{padding:1.25rem}.section-header[data-v-a9038348]{padding:1rem;min-height:70px}.section-title[data-v-a9038348]{flex-wrap:wrap;gap:.5rem}.section-title h3[data-v-a9038348]{font-size:1rem}.data-input[data-v-a9038348],.data-output[data-v-a9038348]{min-height:200px;padding:1rem;font-size:.875rem}.examples-grid[data-v-a9038348]{grid-template-columns:repeat(2,1fr)}.help-grid[data-v-a9038348]{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:480px){.examples-grid[data-v-a9038348]{grid-template-columns:1fr}.help-grid[data-v-a9038348]{grid-template-columns:1fr;gap:1rem}}.text-replacer[data-v-0665c6f6]{width:100%;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.replacer-content[data-v-0665c6f6]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-0665c6f6]::-webkit-scrollbar{display:none;min-height:0}.settings-section[data-v-0665c6f6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.settings-header[data-v-0665c6f6]{margin-bottom:1rem}.settings-header h3[data-v-0665c6f6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.settings-grid[data-v-0665c6f6]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.setting-group[data-v-0665c6f6]{display:flex;flex-direction:column;gap:.5rem}.setting-label[data-v-0665c6f6]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.input-wrapper[data-v-0665c6f6]{position:relative}.search-input[data-v-0665c6f6],.replace-input[data-v-0665c6f6]{width:100%;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;box-sizing:border-box}.search-input[data-v-0665c6f6]:focus,.replace-input[data-v-0665c6f6]:focus{outline:none;border-color:var(--primary-color)}.search-input[data-v-0665c6f6]::placeholder,.replace-input[data-v-0665c6f6]::placeholder{color:var(--text-secondary)}.options-section[data-v-0665c6f6]{border-top:1px solid var(--border-color);padding-top:1.5rem}.options-grid[data-v-0665c6f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.option-item[data-v-0665c6f6]{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;background:var(--bg-tertiary);border-radius:.5rem;border:1px solid var(--border-color);transition:all .2s ease}.option-item[data-v-0665c6f6]:hover{background:var(--bg-hover);border-color:var(--primary-color)}.option-item input[type=checkbox][data-v-0665c6f6]{margin:0;accent-color:var(--primary-color)}.option-content[data-v-0665c6f6]{display:flex;flex-direction:column;gap:.25rem}.option-title[data-v-0665c6f6]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.option-desc[data-v-0665c6f6]{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.text-section[data-v-0665c6f6]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-panel[data-v-0665c6f6],.output-panel[data-v-0665c6f6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column}.section-header[data-v-0665c6f6]{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;height:48px;display:flex;align-items:center;justify-content:space-between}.section-title[data-v-0665c6f6]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1;width:100%}.section-title h3[data-v-0665c6f6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.panel-info[data-v-0665c6f6]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.char-count[data-v-0665c6f6],.match-count[data-v-0665c6f6]{padding:.25rem .6rem;background:var(--primary-color-alpha);color:var(--primary-color);border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap}.result-count[data-v-0665c6f6]{padding:.25rem .6rem;background:var(--success-color);color:#fff;border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap}.no-change[data-v-0665c6f6]{padding:.25rem .6rem;background:var(--warning-color);color:#fff;border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap}.panel-content[data-v-0665c6f6]{position:relative;display:flex;flex-direction:column;flex:1}.text-input[data-v-0665c6f6],.text-output[data-v-0665c6f6]{width:100%;min-height:240px;padding:1.5rem;background:var(--bg-primary);border:none;color:var(--text-primary);font-size:.875rem;line-height:1.6;resize:vertical;font-family:Consolas,Monaco,Courier New,monospace;box-sizing:border-box;flex:1}.text-input[data-v-0665c6f6]:focus,.text-output[data-v-0665c6f6]:focus{outline:none}.text-input[data-v-0665c6f6]::placeholder,.text-output[data-v-0665c6f6]::placeholder{color:var(--text-secondary)}.matches-section[data-v-0665c6f6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.matches-header[data-v-0665c6f6]{margin-bottom:1rem}.matches-header h3[data-v-0665c6f6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.matches-subtitle[data-v-0665c6f6]{font-size:.75rem;color:var(--text-secondary);font-weight:400;margin-left:.5rem}.matches-list[data-v-0665c6f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem}.match-item[data-v-0665c6f6]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;font-size:.875rem}.match-index[data-v-0665c6f6]{background:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;min-width:24px;text-align:center}.match-text[data-v-0665c6f6]{font-family:Consolas,Monaco,Courier New,monospace;background:var(--bg-primary);padding:.25rem .5rem;border-radius:.25rem;flex:1;word-break:break-all}.match-position[data-v-0665c6f6]{font-size:.75rem;color:var(--text-secondary)}.more-matches[data-v-0665c6f6]{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.875rem;background:var(--bg-tertiary);border-radius:.5rem;margin-top:1rem}.examples-section[data-v-0665c6f6],.help-section[data-v-0665c6f6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.examples-header[data-v-0665c6f6],.help-header[data-v-0665c6f6]{margin-bottom:1rem}.examples-header h3[data-v-0665c6f6],.help-header h3[data-v-0665c6f6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.examples-grid[data-v-0665c6f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.example-btn[data-v-0665c6f6]{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.875rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.example-btn[data-v-0665c6f6]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-title[data-v-0665c6f6]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.example-preview[data-v-0665c6f6]{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.help-content[data-v-0665c6f6]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.help-grid[data-v-0665c6f6]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.help-card[data-v-0665c6f6]{text-align:center;padding:1rem}.help-icon[data-v-0665c6f6]{font-size:2rem;margin-bottom:.75rem}.help-card h4[data-v-0665c6f6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.help-card p[data-v-0665c6f6]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:1024px){.text-section[data-v-0665c6f6]{grid-template-columns:1fr;gap:1.5rem}.settings-grid[data-v-0665c6f6]{grid-template-columns:1fr}}@media(max-width:768px){.replacer-content[data-v-0665c6f6]{padding:1rem 1rem 4rem;gap:1.5rem}.settings-section[data-v-0665c6f6],.matches-section[data-v-0665c6f6],.examples-section[data-v-0665c6f6],.help-section[data-v-0665c6f6]{padding:1.25rem}.section-title[data-v-0665c6f6]{flex-wrap:wrap;min-width:0;gap:.5rem}.section-title h3[data-v-0665c6f6]{font-size:1rem}.text-input[data-v-0665c6f6],.text-output[data-v-0665c6f6]{min-height:180px;padding:1rem;font-size:.875rem}.matches-list[data-v-0665c6f6]{grid-template-columns:1fr}.examples-grid[data-v-0665c6f6]{grid-template-columns:repeat(2,1fr)}.help-grid[data-v-0665c6f6]{grid-template-columns:repeat(2,1fr);gap:1rem}.options-grid[data-v-0665c6f6]{grid-template-columns:1fr}}@media(max-width:480px){.examples-grid[data-v-0665c6f6]{grid-template-columns:1fr}.help-grid[data-v-0665c6f6]{grid-template-columns:1fr;gap:1rem}}.mode-toggle[data-v-2a39e6d6]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-2a39e6d6]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-2a39e6d6]:last-child{border-right:none}.mode-btn.active[data-v-2a39e6d6]{background:var(--primary-color);color:#fff}.mode-btn[data-v-2a39e6d6]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.chinese-converter[data-v-2a39e6d6]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-2a39e6d6]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-2a39e6d6]::-webkit-scrollbar{display:none;min-height:0}.convert-section[data-v-2a39e6d6],.details-section[data-v-2a39e6d6],.examples-section[data-v-2a39e6d6],.help-section[data-v-2a39e6d6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-header[data-v-2a39e6d6]{margin-bottom:1.5rem;height:48px;display:flex;align-items:center;justify-content:space-between}.help-header[data-v-2a39e6d6]{margin-bottom:1rem}.help-header h3[data-v-2a39e6d6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.details-header[data-v-2a39e6d6]{margin-bottom:1rem}.details-header h3[data-v-2a39e6d6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.details-subtitle[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);font-weight:400;margin-left:.5rem}.section-title h3[data-v-2a39e6d6]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-subtitle[data-v-2a39e6d6]{font-size:.875rem;color:var(--text-secondary);margin:0}.section-actions[data-v-2a39e6d6]{display:flex;gap:.5rem;flex-shrink:0}.convert-section[data-v-2a39e6d6]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:0;background:transparent;border:none;box-shadow:none}.input-panel[data-v-2a39e6d6],.output-panel[data-v-2a39e6d6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column}.input-panel .section-header[data-v-2a39e6d6],.output-panel .section-header[data-v-2a39e6d6]{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;margin-bottom:0;height:48px;display:flex;align-items:center;justify-content:space-between}.section-title[data-v-2a39e6d6]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1;width:100%}.section-title h3[data-v-2a39e6d6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.standard-selector[data-v-2a39e6d6]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-primary)}.standard-btn[data-v-2a39e6d6]{padding:.375rem .75rem;background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:28px;box-sizing:border-box}.standard-btn[data-v-2a39e6d6]:last-child{border-right:none}.standard-btn.active[data-v-2a39e6d6]{background:var(--primary-color);color:#fff}.standard-btn[data-v-2a39e6d6]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.panel-content[data-v-2a39e6d6]{position:relative;display:flex;flex-direction:column;flex:1}.text-input[data-v-2a39e6d6],.text-output[data-v-2a39e6d6]{width:100%;min-height:240px;padding:1.5rem;background:var(--bg-primary);border:none;color:var(--text-primary);font-size:.875rem;line-height:1.6;resize:vertical;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;box-sizing:border-box;flex:1}.text-input[data-v-2a39e6d6]:focus,.text-output[data-v-2a39e6d6]:focus{outline:none;background:var(--bg-primary)}.text-input[data-v-2a39e6d6]::placeholder,.text-output[data-v-2a39e6d6]::placeholder{color:var(--text-secondary)}.text-output[data-v-2a39e6d6]{background:var(--bg-primary);color:var(--text-primary)}.stats-info[data-v-2a39e6d6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:.5rem;border:1px solid var(--border-color)}.stat-item[data-v-2a39e6d6]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}.stat-label[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.stat-value[data-v-2a39e6d6]{font-size:1.25rem;font-weight:600;color:var(--primary-color)}.stat-value.no-conversion[data-v-2a39e6d6]{color:var(--warning-color);font-size:.875rem}.conversion-details h4[data-v-2a39e6d6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.details-list[data-v-2a39e6d6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.detail-item[data-v-2a39e6d6]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;font-size:.875rem}.original-char[data-v-2a39e6d6],.converted-char[data-v-2a39e6d6]{font-size:1.125rem;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.original-char[data-v-2a39e6d6]{color:var(--warning-color)}.converted-char[data-v-2a39e6d6]{color:var(--success-color)}.char-count[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);margin-left:auto}.more-details[data-v-2a39e6d6]{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.875rem;background:var(--bg-tertiary);border-radius:.5rem;margin-top:1rem}.examples-section[data-v-2a39e6d6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.examples-header[data-v-2a39e6d6]{margin-bottom:1rem}.examples-header h3[data-v-2a39e6d6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.examples-grid[data-v-2a39e6d6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.example-btn[data-v-2a39e6d6]{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.875rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.example-btn[data-v-2a39e6d6]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-title[data-v-2a39e6d6]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.example-preview[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.help-content[data-v-2a39e6d6]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.help-grid[data-v-2a39e6d6]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.help-card[data-v-2a39e6d6]{text-align:center;padding:1rem}.help-icon[data-v-2a39e6d6]{font-size:2rem;margin-bottom:.75rem}.help-card h4[data-v-2a39e6d6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.help-card p[data-v-2a39e6d6]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}.opencc-info[data-v-2a39e6d6]{margin-top:2rem;padding:1.5rem;background:var(--success-color-alpha);border:1px solid var(--success-color);border-radius:.5rem}.opencc-info h4[data-v-2a39e6d6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.opencc-info p[data-v-2a39e6d6]{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin:0 0 1rem}.opencc-info ul[data-v-2a39e6d6]{margin:0 0 1rem 1.5rem;padding:0}.opencc-info li[data-v-2a39e6d6]{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin-bottom:.5rem}.opencc-info strong[data-v-2a39e6d6]{color:var(--success-color);font-weight:600}.notice-text[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin:0}@media(max-width:1024px){.convert-section[data-v-2a39e6d6]{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:768px){.converter-content[data-v-2a39e6d6]{padding:1rem 1rem 4rem;gap:1.5rem}.details-section[data-v-2a39e6d6],.examples-section[data-v-2a39e6d6],.help-section[data-v-2a39e6d6]{padding:1.25rem}.input-panel .section-header[data-v-2a39e6d6],.output-panel .section-header[data-v-2a39e6d6]{padding:1rem;height:auto;min-height:48px;flex-wrap:wrap;gap:.5rem}.section-title[data-v-2a39e6d6]{flex-wrap:wrap;min-width:0;gap:.5rem}.section-title h3[data-v-2a39e6d6]{font-size:1rem}.standard-selector[data-v-2a39e6d6]{order:2;width:100%;justify-content:center}.text-input[data-v-2a39e6d6],.text-output[data-v-2a39e6d6]{min-height:180px;padding:1rem;font-size:.875rem}.details-list[data-v-2a39e6d6]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.examples-grid[data-v-2a39e6d6]{grid-template-columns:repeat(2,1fr)}.help-grid[data-v-2a39e6d6]{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:480px){.examples-grid[data-v-2a39e6d6],.details-list[data-v-2a39e6d6]{grid-template-columns:1fr}.help-grid[data-v-2a39e6d6]{grid-template-columns:1fr;gap:1rem}}.ascii-lookup-wrapper[data-v-bb888ead]{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.content-wrapper[data-v-bb888ead]{flex:1;overflow-y:auto;padding-bottom:60px}.lookup-content[data-v-bb888ead]{flex:1;display:grid;grid-template-columns:400px 1fr;gap:24px;padding:24px;overflow:hidden;max-width:1000px;margin:0 auto;width:100%}.main-content[data-v-bb888ead]{display:flex;flex-direction:column;gap:20px;overflow-y:auto}.query-section[data-v-bb888ead]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.result-section[data-v-bb888ead]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.section-header[data-v-bb888ead]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.section-header h3[data-v-bb888ead]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.mode-toggle[data-v-bb888ead],.table-controls[data-v-bb888ead]{display:flex;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.mode-btn[data-v-bb888ead],.filter-btn[data-v-bb888ead]{padding:6px 12px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:12px;font-weight:500;border-right:1px solid var(--border-color)}.mode-btn[data-v-bb888ead]:last-child,.filter-btn[data-v-bb888ead]:last-child{border-right:none}.mode-btn[data-v-bb888ead]:hover,.filter-btn[data-v-bb888ead]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.mode-btn.active[data-v-bb888ead],.filter-btn.active[data-v-bb888ead]{background:var(--primary-color);color:#fff}.query-content[data-v-bb888ead]{padding:20px}.input-section[data-v-bb888ead]{margin-bottom:16px}.input-label[data-v-bb888ead]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.input-wrapper[data-v-bb888ead]{position:relative;display:flex;align-items:center}.char-input[data-v-bb888ead],.code-input[data-v-bb888ead]{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition)}.char-input[data-v-bb888ead]{text-align:center;font-size:20px;font-weight:600;padding:12px 14px}.char-input[data-v-bb888ead]:focus,.code-input[data-v-bb888ead]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.clear-btn[data-v-bb888ead]{position:absolute;right:8px;width:28px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.clear-btn[data-v-bb888ead]:hover{background:var(--border-color);color:var(--text-primary)}.quick-chars[data-v-bb888ead],.quick-codes[data-v-bb888ead]{display:flex;flex-direction:column;gap:8px}.quick-label[data-v-bb888ead]{font-size:12px;color:var(--text-secondary);font-weight:500}.char-buttons[data-v-bb888ead],.code-buttons[data-v-bb888ead]{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.char-btn[data-v-bb888ead],.code-btn[data-v-bb888ead]{padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:var(--transition);font-size:11px;font-weight:500;text-align:center}.char-btn[data-v-bb888ead]:hover,.code-btn[data-v-bb888ead]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.result-card[data-v-bb888ead]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.result-header[data-v-bb888ead]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.result-header h4[data-v-bb888ead]{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.copy-result-btn[data-v-bb888ead]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--primary-color);color:#fff;border:1px solid var(--primary-color);border-radius:var(--radius-sm);font-size:11px;font-weight:500;cursor:pointer;transition:var(--transition)}.copy-result-btn[data-v-bb888ead]:hover{background:var(--primary-color-dark, #4f46e5)}.result-content[data-v-bb888ead]{padding:16px}.result-grid[data-v-bb888ead]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.result-item[data-v-bb888ead]{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);text-align:center}.result-label[data-v-bb888ead]{font-size:11px;color:var(--text-secondary);font-weight:500}.result-value[data-v-bb888ead]{font-size:13px;color:var(--text-primary);font-weight:600}.char-value[data-v-bb888ead]{font-size:16px;padding:4px 6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:monospace;min-width:40px;text-align:center}.code-value[data-v-bb888ead],.hex-value[data-v-bb888ead],.binary-value[data-v-bb888ead]{font-family:monospace;font-size:12px}.result-description[data-v-bb888ead]{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.desc-label[data-v-bb888ead]{font-size:11px;color:var(--text-secondary);font-weight:500}.desc-value[data-v-bb888ead]{font-size:12px;color:var(--primary-color);font-weight:500}.ascii-table-section[data-v-bb888ead]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;height:600px}.ascii-table[data-v-bb888ead]{flex:1;overflow-y:auto;min-height:0}.table-header[data-v-bb888ead]{display:grid;grid-template-columns:70px 70px 90px 1fr;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1}.header-cell[data-v-bb888ead]{padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-primary);border-right:1px solid var(--border-color)}.header-cell[data-v-bb888ead]:last-child{border-right:none}.table-body[data-v-bb888ead]{display:flex;flex-direction:column}.table-row[data-v-bb888ead]{display:grid;grid-template-columns:70px 70px 90px 1fr;cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--border-color)}.table-row[data-v-bb888ead]:hover{background:var(--bg-tertiary)}.table-row.highlighted[data-v-bb888ead]{background:#6366f11a;border-color:var(--primary-color)}.table-row.control[data-v-bb888ead]{background:#ef44440d}.table-row.control[data-v-bb888ead]:hover{background:#ef44441a}.table-cell[data-v-bb888ead]{padding:8px 12px;font-size:12px;border-right:1px solid var(--border-color);display:flex;align-items:center}.table-cell[data-v-bb888ead]:last-child{border-right:none}.code-cell[data-v-bb888ead],.hex-cell[data-v-bb888ead]{font-family:monospace;font-weight:600;color:var(--primary-color);justify-content:center}.char-cell[data-v-bb888ead]{justify-content:center}.char-display[data-v-bb888ead]{font-size:11px;font-weight:600;padding:2px 4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:20px;text-align:center;font-family:monospace}.table-row.control .char-display[data-v-bb888ead]{background:#ef44441a;border-color:#ef44444d;color:#dc2626;font-size:10px}.desc-cell[data-v-bb888ead]{color:var(--text-secondary);font-size:11px}.help-section[data-v-bb888ead]{max-width:1000px;margin:32px auto;padding:0 24px}.help-section h3[data-v-bb888ead]{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.help-grid[data-v-bb888ead]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.help-card[data-v-bb888ead]{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border-color);text-align:center;transition:var(--transition)}.help-card[data-v-bb888ead]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.help-icon[data-v-bb888ead]{font-size:32px;margin-bottom:12px}.help-card h4[data-v-bb888ead]{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.help-card p[data-v-bb888ead]{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}@media(max-width:1024px){.lookup-content[data-v-bb888ead]{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:16px;padding:16px}.main-content[data-v-bb888ead]{order:1}.ascii-table-section[data-v-bb888ead]{order:2;min-height:400px}}@media(max-width:768px){.section-header[data-v-bb888ead]{flex-direction:column;gap:12px;align-items:stretch;padding:16px}.query-content[data-v-bb888ead]{padding:16px}.char-buttons[data-v-bb888ead],.code-buttons[data-v-bb888ead]{grid-template-columns:repeat(3,1fr)}.result-grid[data-v-bb888ead]{grid-template-columns:1fr;gap:8px}.table-header[data-v-bb888ead],.table-row[data-v-bb888ead]{grid-template-columns:50px 50px 70px 1fr}.table-cell[data-v-bb888ead]{padding:6px 8px;font-size:11px}.char-input[data-v-bb888ead]{font-size:16px}.help-section[data-v-bb888ead]{padding:0 16px;margin:32px auto}.help-grid[data-v-bb888ead]{grid-template-columns:1fr}}@media(max-width:480px){.lookup-content[data-v-bb888ead]{padding:12px;gap:12px}.char-buttons[data-v-bb888ead],.code-buttons[data-v-bb888ead]{grid-template-columns:repeat(2,1fr)}.table-header[data-v-bb888ead],.table-row[data-v-bb888ead]{grid-template-columns:45px 45px 60px 1fr}.table-cell[data-v-bb888ead]{padding:4px 6px;font-size:10px}.header-cell[data-v-bb888ead]{padding:8px 6px;font-size:11px}.help-section[data-v-bb888ead]{padding:0 12px;margin:32px auto}}.unit-converter[data-v-c52f9f53]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.converter-content[data-v-c52f9f53]{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px;max-width:1000px;margin:0 auto;width:100%;min-height:0}.category-selector[data-v-c52f9f53]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;flex-shrink:0;display:flex;align-items:center;gap:12px}.scroll-btn[data-v-c52f9f53]{width:32px;height:32px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.scroll-btn[data-v-c52f9f53]:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--primary-color)}.scroll-btn[data-v-c52f9f53]:disabled{opacity:.3;cursor:not-allowed}.category-tabs-container[data-v-c52f9f53]{flex:1;position:relative;min-width:0}.category-tabs[data-v-c52f9f53]{display:flex;gap:8px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:2px 8px 2px 2px;width:100%;box-sizing:border-box}.category-tabs[data-v-c52f9f53]::-webkit-scrollbar{display:none}.category-tab[data-v-c52f9f53]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0;width:64px;height:64px;box-sizing:border-box}.category-tab[data-v-c52f9f53]:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.category-tab.active[data-v-c52f9f53]{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.tab-icon[data-v-c52f9f53]{font-size:20px;line-height:1}.tab-label[data-v-c52f9f53]{font-size:10px;font-weight:500;line-height:1;text-align:center}.examples-section[data-v-c52f9f53]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.section-header[data-v-c52f9f53]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box}.section-header h3[data-v-c52f9f53]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.conversions-grid[data-v-c52f9f53]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding:16px}.conversion-item[data-v-c52f9f53]{padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);display:block;width:100%;box-sizing:border-box}.conversion-item[data-v-c52f9f53]:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.conversion-label[data-v-c52f9f53]{font-weight:600;color:var(--text-primary);margin-bottom:2px;font-size:13px}.conversion-formula[data-v-c52f9f53]{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono)}.no-conversions[data-v-c52f9f53]{grid-column:1 / -1;text-align:center;padding:40px 20px;color:var(--text-secondary);font-style:italic}.converter-main[data-v-c52f9f53]{display:flex;flex-direction:column;gap:24px;flex-shrink:0}.conversion-panel[data-v-c52f9f53]{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:start}.input-section[data-v-c52f9f53],.output-section[data-v-c52f9f53]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.unit-selector[data-v-c52f9f53]{display:flex;align-items:center;gap:8px}.unit-select[data-v-c52f9f53]{padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;cursor:pointer;min-width:180px}.input-area[data-v-c52f9f53],.output-area[data-v-c52f9f53]{padding:20px;display:flex;flex-direction:column;gap:12px}.value-input[data-v-c52f9f53],.value-output[data-v-c52f9f53]{padding:16px 20px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:18px;font-family:var(--font-mono);font-weight:500;transition:var(--transition)}.value-input[data-v-c52f9f53]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.value-output[data-v-c52f9f53]{background:var(--bg-tertiary);cursor:default}.input-info[data-v-c52f9f53],.output-info[data-v-c52f9f53]{margin-top:8px;padding:8px 4px;display:flex;align-items:center;justify-content:center;min-height:32px;height:32px}.unit-info[data-v-c52f9f53]{font-size:12px;color:var(--text-secondary);font-style:italic;word-wrap:break-word;overflow-wrap:break-word;text-align:center;line-height:1.2}.conversion-arrow[data-v-c52f9f53]{display:flex;align-items:center;justify-content:center;padding-top:60px}.formula-section[data-v-c52f9f53]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;flex-shrink:0}.formula-header[data-v-c52f9f53]{margin-bottom:16px}.formula-header h3[data-v-c52f9f53]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.formula-content[data-v-c52f9f53]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px}.formula-info[data-v-c52f9f53]{display:flex;flex-direction:column;gap:12px}.formula-text[data-v-c52f9f53]{font-family:var(--font-mono);font-size:16px;color:var(--text-primary);background:var(--bg-primary);padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);word-wrap:break-word;overflow-wrap:break-word}.formula-example[data-v-c52f9f53]{font-size:14px;color:var(--text-secondary);font-style:italic;word-wrap:break-word;overflow-wrap:break-word;text-align:center}@media(max-width:1024px){.conversion-panel[data-v-c52f9f53]{grid-template-columns:1fr;gap:20px}.conversion-arrow[data-v-c52f9f53]{padding-top:0;order:2}.output-section[data-v-c52f9f53]{order:3}}@media(max-width:768px){.converter-content[data-v-c52f9f53]{padding:16px;gap:20px}.category-tab[data-v-c52f9f53]{width:56px;height:56px;padding:6px;gap:2px}.tab-icon[data-v-c52f9f53]{font-size:18px}.tab-label[data-v-c52f9f53]{font-size:9px}.conversions-grid[data-v-c52f9f53]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:12px;gap:6px}.conversion-item[data-v-c52f9f53]{padding:10px}.conversion-label[data-v-c52f9f53]{font-size:12px}.conversion-formula[data-v-c52f9f53]{font-size:10px}.unit-select[data-v-c52f9f53]{min-width:150px;font-size:12px}.value-input[data-v-c52f9f53],.value-output[data-v-c52f9f53]{font-size:16px;padding:12px 16px}}.number-converter[data-v-8533b6b2]{width:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.converter-content[data-v-8533b6b2]{flex:1;display:flex;flex-direction:column;padding:24px 24px 80px;gap:24px;max-width:1000px;margin:0 auto;width:100%;min-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-8533b6b2]::-webkit-scrollbar{display:none}.section-header[data-v-8533b6b2]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box}.section-header h3[data-v-8533b6b2]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.click-tip[data-v-8533b6b2]{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--primary-color-light);border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:12px;font-weight:500}.click-tip svg[data-v-8533b6b2]{flex-shrink:0}.examples-grid[data-v-8533b6b2]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0}.example-item[data-v-8533b6b2]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;min-height:60px;text-align:center;transition:var(--transition)}.example-item[data-v-8533b6b2]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-number[data-v-8533b6b2]{font-size:14px;font-weight:600;font-family:var(--font-mono);color:var(--primary-color);line-height:1.2}.example-roman[data-v-8533b6b2]{font-size:11px;color:var(--text-secondary);font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.convert-section[data-v-8533b6b2]{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex-shrink:0}.input-panel[data-v-8533b6b2],.results-panel[data-v-8533b6b2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.input-type-selector[data-v-8533b6b2]{display:flex;gap:4px}.type-btn[data-v-8533b6b2]{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:var(--transition);min-width:60px;text-transform:uppercase}.type-btn[data-v-8533b6b2]:hover{background:var(--bg-hover);color:var(--text-primary)}.type-btn.active[data-v-8533b6b2]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.input-area[data-v-8533b6b2]{padding:20px;display:flex;flex-direction:column;gap:12px}.input-container[data-v-8533b6b2]{display:flex;align-items:center;gap:8px}.number-input[data-v-8533b6b2]{flex:1;padding:12px 16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;font-family:var(--font-mono);font-weight:500;transition:var(--transition)}.number-input[data-v-8533b6b2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-light)}.input-hint[data-v-8533b6b2]{font-size:12px;color:var(--text-secondary);font-style:italic}.examples-area[data-v-8533b6b2]{padding:20px;border-top:1px solid var(--border-color)}.examples-title[data-v-8533b6b2]{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.results-list[data-v-8533b6b2]{padding:20px;display:flex;flex-direction:column;gap:12px}.result-row[data-v-8533b6b2]{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);cursor:pointer}.result-row[data-v-8533b6b2]:hover{background:var(--bg-hover);transform:translateY(-1px)}.result-row.active[data-v-8533b6b2]{border-color:var(--primary-color);background:var(--primary-color-light)}.result-info[data-v-8533b6b2]{display:flex;flex-direction:column;gap:4px;min-width:120px;flex-shrink:0}.result-label[data-v-8533b6b2]{display:flex;align-items:center;gap:8px}.result-icon[data-v-8533b6b2]{font-size:16px}.result-name[data-v-8533b6b2]{font-size:14px;font-weight:600;color:var(--text-primary)}.active-indicator[data-v-8533b6b2]{font-size:10px;font-weight:600;color:#fff;background:var(--primary-color);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.result-desc[data-v-8533b6b2]{font-size:10px;color:var(--text-secondary);line-height:1.3}.result-content[data-v-8533b6b2]{flex:1;display:flex;align-items:center}.result-input[data-v-8533b6b2]{flex:1;width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.result-input[data-v-8533b6b2]:hover{border-color:var(--primary-color)}.result-input[data-v-8533b6b2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.help-section[data-v-8533b6b2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.help-header[data-v-8533b6b2]{padding:12px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box;display:flex;align-items:center}.help-header h3[data-v-8533b6b2]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.help-content[data-v-8533b6b2]{padding:20px}.help-grid[data-v-8533b6b2]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.help-card[data-v-8533b6b2]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:var(--transition)}.help-card[data-v-8533b6b2]:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.help-icon[data-v-8533b6b2]{font-size:20px;margin-bottom:8px;flex-shrink:0}.help-header-inline[data-v-8533b6b2]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.help-header-inline .help-icon[data-v-8533b6b2]{margin-bottom:0}.help-header-inline h4[data-v-8533b6b2]{margin:0}.help-card h4[data-v-8533b6b2]{font-size:14px;font-weight:600;margin:0;color:var(--text-primary);flex:1}.symbols-list[data-v-8533b6b2]{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-top:8px}.symbol-item[data-v-8533b6b2]{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono);padding:2px 4px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}@media(max-width:768px){.converter-content[data-v-8533b6b2]{padding:16px 16px 80px;gap:16px}.convert-section[data-v-8533b6b2]{grid-template-columns:1fr;gap:16px}.examples-grid[data-v-8533b6b2]{grid-template-columns:repeat(2,1fr);gap:8px}.help-grid[data-v-8533b6b2]{grid-template-columns:1fr;gap:12px}.result-row[data-v-8533b6b2]{flex-direction:column;align-items:stretch;gap:12px}.result-info[data-v-8533b6b2]{min-width:auto}.section-header[data-v-8533b6b2]{flex-direction:column;gap:12px;align-items:stretch;height:auto;padding:16px 20px}.input-type-selector[data-v-8533b6b2]{justify-content:space-between}.symbols-list[data-v-8533b6b2]{grid-template-columns:1fr}}.search-section[data-v-04e124c0]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.search-container[data-v-04e124c0]{display:flex;flex-direction:column;gap:1.5rem}.search-input-wrapper[data-v-04e124c0]{position:relative;display:flex;align-items:center}.search-icon[data-v-04e124c0]{position:absolute;left:1rem;color:var(--text-secondary);z-index:1}.search-input[data-v-04e124c0]{width:100%;padding:1rem 1rem 1rem 2.5rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:var(--transition);box-sizing:border-box}.search-input[data-v-04e124c0]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.clear-search-btn[data-v-04e124c0]{position:absolute;right:1rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.clear-search-btn[data-v-04e124c0]:hover{background:var(--border-color);color:var(--text-primary)}.category-filter[data-v-04e124c0]{display:flex;gap:.5rem;flex-wrap:wrap}.category-btn[data-v-04e124c0]{padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.category-btn[data-v-04e124c0]:hover{background:var(--border-color);color:var(--text-primary)}.category-btn.active[data-v-04e124c0]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.filter-count[data-v-04e124c0]{font-size:.75rem;opacity:.8}@media(max-width:768px){.search-section[data-v-04e124c0]{padding:1.5rem}.search-container[data-v-04e124c0]{gap:1rem}.search-input[data-v-04e124c0]{padding:.875rem .875rem .875rem 2.25rem;font-size:.875rem}.search-icon[data-v-04e124c0]{left:.875rem}.clear-search-btn[data-v-04e124c0]{right:.875rem}.category-btn[data-v-04e124c0]{padding:.625rem 1rem;font-size:.8rem}}@media(max-width:480px){.search-section[data-v-04e124c0]{padding:1rem}.category-filter[data-v-04e124c0]{gap:.375rem}.category-btn[data-v-04e124c0]{padding:.5rem .75rem;font-size:.75rem}}.scroll-to-top-btn[data-v-ca8072fe]{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-lg);transition:all .3s ease;backdrop-filter:blur(10px);min-width:3rem;min-height:3rem;justify-content:center}.scroll-to-top-btn[data-v-ca8072fe]:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f64d}.scroll-to-top-btn.scrolling[data-v-ca8072fe]{pointer-events:none;opacity:.8}.scroll-to-top-btn[data-position=bottom-left][data-v-ca8072fe]{left:2rem;right:auto}.scroll-to-top-btn[data-position=bottom-center][data-v-ca8072fe]{left:50%;right:auto;transform:translate(-50%)}.scroll-text[data-v-ca8072fe]{font-size:.75rem;font-weight:500;white-space:nowrap}.scroll-to-top-btn[data-v-ca8072fe]:has(.scroll-text){border-radius:2rem;padding:.75rem 1rem}.rotating[data-v-ca8072fe]{animation:rotate-ca8072fe 1s linear infinite}@keyframes rotate-ca8072fe{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scroll-to-top-enter-active[data-v-ca8072fe],.scroll-to-top-leave-active[data-v-ca8072fe]{transition:all .3s ease}.scroll-to-top-enter-from[data-v-ca8072fe],.scroll-to-top-leave-to[data-v-ca8072fe]{opacity:0;transform:translateY(100%) scale(.8)}@media(max-width:768px){.scroll-to-top-btn[data-v-ca8072fe]{bottom:1rem;right:1rem;min-width:2.5rem;min-height:2.5rem;padding:.5rem}.scroll-to-top-btn svg[data-v-ca8072fe]{width:18px;height:18px}.scroll-text[data-v-ca8072fe]{font-size:.7rem}}[data-theme=dark] .scroll-to-top-btn[data-v-ca8072fe]{background:var(--bg-secondary);color:var(--text-color);border:1px solid var(--border-color)}[data-theme=dark] .scroll-to-top-btn[data-v-ca8072fe]:hover{background:var(--bg-hover);box-shadow:0 8px 25px #0000004d}.modal-overlay[data-v-277974ec]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.modal[data-v-277974ec]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;width:var(--v576693a0);max-width:var(--v14dc03d0);max-height:var(--ba4269d6)}.modal-header[data-v-277974ec]{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.modal-title[data-v-277974ec]{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-primary)}.close-btn[data-v-277974ec]{width:32px;height:32px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.close-btn[data-v-277974ec]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-content[data-v-277974ec]{flex:1;overflow-y:auto;min-height:0}.modal-footer[data-v-277974ec]{padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.modal-enter-active[data-v-277974ec],.modal-leave-active[data-v-277974ec]{transition:all .3s ease}.modal-enter-from[data-v-277974ec],.modal-leave-to[data-v-277974ec]{opacity:0}.modal-enter-from .modal[data-v-277974ec],.modal-leave-to .modal[data-v-277974ec]{transform:translateY(20px) scale(.95)}@media(max-width:768px){.modal[data-v-277974ec]{width:95%!important;max-height:85vh!important}.modal-header[data-v-277974ec]{padding:1rem 1.5rem}.modal-content[data-v-277974ec]{padding:1.5rem}.modal-footer[data-v-277974ec]{padding:1rem 1.5rem}}.color-reference[data-v-513f0198]{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.converter-content[data-v-513f0198]{flex:1;padding:2rem 2rem 6rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;min-height:calc(100vh - 120px);scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-513f0198]::-webkit-scrollbar{display:none}.colors-grid[data-v-513f0198]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.color-card[data-v-513f0198]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.color-card[data-v-513f0198]:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-1px)}.color-preview[data-v-513f0198]{width:100%;height:80px;border-bottom:1px solid var(--border-color)}.color-info[data-v-513f0198]{padding:1rem}.color-name[data-v-513f0198]{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.color-hex[data-v-513f0198]{font-size:.75rem;color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,monospace}.color-details[data-v-513f0198]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.section-title[data-v-513f0198]{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;color:var(--text-primary)}.details-content[data-v-513f0198]{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start}.color-display[data-v-513f0198]{display:flex;flex-direction:column;align-items:center;gap:1rem}.large-preview[data-v-513f0198]{width:150px;height:150px;border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.color-name-large[data-v-513f0198]{font-size:1rem;font-weight:600;color:var(--text-primary);text-align:center}.color-formats[data-v-513f0198]{display:flex;flex-direction:column;gap:1rem}.format-item[data-v-513f0198]{display:flex;flex-direction:column;gap:.5rem}.format-item label[data-v-513f0198]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.format-value[data-v-513f0198]{display:flex;align-items:center;gap:.5rem}.format-input[data-v-513f0198]{flex:1;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem}.color-details-content[data-v-513f0198]{padding:1.25rem;display:grid;grid-template-columns:100px 1fr;gap:1.25rem;align-items:start}.color-display[data-v-513f0198]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.large-preview[data-v-513f0198]{width:80px;height:80px;border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.color-name-large[data-v-513f0198]{font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.2}.color-formats[data-v-513f0198]{display:flex;flex-direction:column;gap:.75rem}.format-row[data-v-513f0198]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.format-item[data-v-513f0198]{display:flex;flex-direction:column;gap:.375rem}.format-item label[data-v-513f0198]{font-size:.7rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.format-value[data-v-513f0198]{display:flex;align-items:center;gap:.375rem}.format-input[data-v-513f0198]{flex:1;padding:.375rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.7rem;min-width:0}@media(max-width:768px){.converter-content[data-v-513f0198]{padding:1rem 1rem 4rem;gap:1.5rem}.color-details[data-v-513f0198]{padding:1.5rem}.colors-grid[data-v-513f0198]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.details-content[data-v-513f0198]{grid-template-columns:1fr;gap:1.5rem}.color-display[data-v-513f0198]{flex-direction:row;justify-content:center}.large-preview[data-v-513f0198]{width:100px;height:100px}.color-details-content[data-v-513f0198]{padding:1rem;grid-template-columns:1fr;gap:1rem}.color-display[data-v-513f0198]{flex-direction:row;justify-content:center;gap:1rem}.large-preview[data-v-513f0198]{width:80px;height:80px}.color-name-large[data-v-513f0198]{font-size:.75rem}.format-row[data-v-513f0198]{grid-template-columns:1fr;gap:.75rem}.format-input[data-v-513f0198]{font-size:.7rem;padding:.4rem .6rem}}.mode-toggle[data-v-8184150c]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-8184150c]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-8184150c]:last-child{border-right:none}.mode-btn.active[data-v-8184150c]{background:var(--primary-color);color:#fff}.mode-btn[data-v-8184150c]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.jwt-generator[data-v-8184150c]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-8184150c]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-8184150c]::-webkit-scrollbar{display:none}.mode-section[data-v-8184150c],.config-section[data-v-8184150c],.input-section[data-v-8184150c],.result-section[data-v-8184150c],.decode-result-section[data-v-8184150c],.error-section[data-v-8184150c]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-header[data-v-8184150c]{margin-bottom:1.5rem;height:48px;display:flex;align-items:center;justify-content:space-between}.section-title h3[data-v-8184150c]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-subtitle[data-v-8184150c]{font-size:.875rem;color:var(--text-secondary);margin:0}.generate-section[data-v-8184150c],.decode-section[data-v-8184150c]{display:flex;flex-direction:column;gap:2rem}.config-grid[data-v-8184150c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem}.config-item[data-v-8184150c]{display:flex;flex-direction:column;gap:.75rem}.config-item label[data-v-8184150c]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.config-input[data-v-8184150c],.config-select[data-v-8184150c]{padding:.875rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;transition:all .2s}.config-input[data-v-8184150c]:focus,.config-select[data-v-8184150c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.custom-payload[data-v-8184150c]{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.custom-payload label[data-v-8184150c]{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.payload-textarea[data-v-8184150c]{width:100%;padding:1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;resize:vertical;transition:all .2s;box-sizing:border-box;line-height:1.5}.payload-textarea[data-v-8184150c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.secret-input-wrapper[data-v-8184150c]{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.secret-input[data-v-8184150c]{flex:1;padding:.875rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;transition:all .2s}.secret-input[data-v-8184150c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.toggle-secret-btn[data-v-8184150c],.generate-secret-btn[data-v-8184150c]{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.toggle-secret-btn[data-v-8184150c]:hover,.generate-secret-btn[data-v-8184150c]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-color)}.generate-actions[data-v-8184150c]{display:flex;justify-content:center;margin:2.5rem 0;padding:1.5rem 0}.generate-btn[data-v-8184150c]{display:flex;align-items:center;gap:.75rem;padding:1.25rem 2.5rem;background:var(--primary-color);border:none;border-radius:1rem;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px var(--primary-color-alpha)}.generate-btn[data-v-8184150c]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 6px 16px var(--primary-color-alpha)}.generate-btn[data-v-8184150c]:disabled{background:var(--text-disabled);cursor:not-allowed;transform:none;box-shadow:none}.jwt-parts[data-v-8184150c]{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:1rem;overflow-x:auto;border:1px solid var(--border-color)}.jwt-part[data-v-8184150c]{display:flex;flex-direction:column;align-items:center;gap:.75rem;min-width:140px}.part-label[data-v-8184150c]{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.part-content[data-v-8184150c]{padding:.75rem 1rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;color:var(--text-primary);word-break:break-all;text-align:center;max-width:140px;box-shadow:0 1px 3px #0000001a}.header-part .part-content[data-v-8184150c]{border-color:var(--error-color);background:var(--error-color-alpha);color:var(--error-color)}.payload-part .part-content[data-v-8184150c]{border-color:var(--warning-color);background:var(--warning-color-alpha);color:var(--warning-color)}.signature-part .part-content[data-v-8184150c]{border-color:var(--success-color);background:var(--success-color-alpha);color:var(--success-color)}.jwt-separator[data-v-8184150c]{font-size:1.75rem;font-weight:700;color:var(--text-secondary);margin:0 .5rem}.jwt-full[data-v-8184150c]{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.jwt-full label[data-v-8184150c]{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.jwt-output[data-v-8184150c]{position:relative}.jwt-textarea[data-v-8184150c]{width:100%;height:140px;padding:1.25rem 3.5rem 1.25rem 1.25rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;resize:vertical;box-sizing:border-box;line-height:1.5}.copy-btn[data-v-8184150c]{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.copy-btn[data-v-8184150c]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-color)}.jwt-input-wrapper[data-v-8184150c]{position:relative;margin-top:.5rem}.jwt-input[data-v-8184150c]{width:100%;padding:1.25rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;resize:vertical;transition:all .2s;box-sizing:border-box;line-height:1.5}.jwt-input[data-v-8184150c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.decode-result-card[data-v-8184150c]{margin-bottom:1.5rem;border:2px solid var(--border-color);border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d}.decode-result-card[data-v-8184150c]:last-child{margin-bottom:0}.card-header[data-v-8184150c]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.card-title[data-v-8184150c]{font-size:1rem;font-weight:600;color:var(--text-primary)}.json-content[data-v-8184150c]{padding:1.75rem;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto}.token-info[data-v-8184150c]{margin-top:2.5rem;padding:2rem;background:var(--bg-tertiary);border-radius:1rem;border:1px solid var(--border-color)}.token-info h4[data-v-8184150c]{margin:0 0 1.5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.info-grid[data-v-8184150c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item[data-v-8184150c]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--bg-primary);border-radius:.75rem;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d}.info-label[data-v-8184150c]{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.info-value[data-v-8184150c]{font-size:.875rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;text-align:right;max-width:150px;word-break:break-all}.info-value.expired[data-v-8184150c]{color:var(--error-color);font-weight:600}.error-message[data-v-8184150c]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:.75rem;color:var(--error-color);font-size:.875rem}@media(max-width:768px){.converter-content[data-v-8184150c]{padding:1rem 1rem 4rem;gap:1.5rem}.mode-section[data-v-8184150c],.config-section[data-v-8184150c],.input-section[data-v-8184150c],.result-section[data-v-8184150c],.decode-result-section[data-v-8184150c],.error-section[data-v-8184150c]{padding:1.5rem}.config-grid[data-v-8184150c]{grid-template-columns:1fr}.jwt-parts[data-v-8184150c]{flex-direction:column;align-items:stretch}.jwt-part[data-v-8184150c]{min-width:auto}.part-content[data-v-8184150c]{max-width:none}.jwt-separator[data-v-8184150c]{align-self:center;transform:rotate(90deg)}.info-grid[data-v-8184150c]{grid-template-columns:1fr}.secret-input-wrapper[data-v-8184150c]{flex-direction:column;align-items:stretch}.toggle-secret-btn[data-v-8184150c],.generate-secret-btn[data-v-8184150c]{width:100%;height:2.5rem}}.image-base64-converter[data-v-0890d2c1]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.mode-toggle[data-v-0890d2c1]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-0890d2c1]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-0890d2c1]:last-child{border-right:none}.mode-btn.active[data-v-0890d2c1]{background:var(--primary-color);color:#fff}.mode-btn[data-v-0890d2c1]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.formatter-actions[data-v-0890d2c1]{display:flex;gap:.5rem}.converter-content[data-v-0890d2c1]{flex:1;padding:1.5rem;overflow:hidden;display:flex;flex-direction:column}.main-workspace[data-v-0890d2c1]{flex:1;display:grid;grid-template-columns:1fr 1px 1fr;gap:1.5rem;overflow:hidden;min-height:0}.left-panel[data-v-0890d2c1],.right-panel[data-v-0890d2c1]{display:flex;flex-direction:column;overflow:hidden;min-height:0}.divider[data-v-0890d2c1]{background:var(--border-color);width:1px}.upload-section[data-v-0890d2c1],.input-section[data-v-0890d2c1],.result-section[data-v-0890d2c1],.decoded-result-section[data-v-0890d2c1]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;flex:1;overflow:hidden}.section-header[data-v-0890d2c1]{display:flex;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.section-header h3[data-v-0890d2c1]{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.upload-area[data-v-0890d2c1]{border:2px dashed var(--border-color);border-radius:.75rem;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s;flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--bg-primary)}.upload-area[data-v-0890d2c1]:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.upload-placeholder[data-v-0890d2c1]{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.upload-placeholder svg[data-v-0890d2c1]{color:var(--text-muted)}.upload-placeholder p[data-v-0890d2c1]{margin:0;font-size:1rem;font-weight:500}.upload-hint[data-v-0890d2c1]{font-size:.875rem!important;color:var(--text-muted)!important}.image-preview[data-v-0890d2c1]{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.image-preview img[data-v-0890d2c1]{max-width:100%;max-height:300px;border-radius:.5rem;box-shadow:0 4px 12px #0000001a}.image-info[data-v-0890d2c1]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.info-item[data-v-0890d2c1]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:.375rem;font-size:.875rem;border:1px solid var(--border-color)}.label[data-v-0890d2c1]{font-weight:600;color:var(--text-primary)}.value[data-v-0890d2c1]{color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,monospace}.base64-input-area[data-v-0890d2c1],.base64-output[data-v-0890d2c1]{flex:1;display:flex;flex-direction:column}.base64-input[data-v-0890d2c1],.base64-textarea[data-v-0890d2c1]{width:100%;flex:1;padding:1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;resize:none;transition:all .2s;box-sizing:border-box;line-height:1.5;min-height:300px;outline:none}.base64-input[data-v-0890d2c1]:focus,.base64-textarea[data-v-0890d2c1]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.decoded-image-container[data-v-0890d2c1]{display:flex;flex-direction:column;align-items:center;gap:1rem;flex:1}.decoded-image[data-v-0890d2c1]{max-width:100%;max-height:400px;border-radius:.5rem;box-shadow:0 4px 12px #0000001a}.decoded-info[data-v-0890d2c1]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.result-stats[data-v-0890d2c1]{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0}.stat-item[data-v-0890d2c1]{font-size:.875rem;color:var(--text-secondary);font-weight:500}.result-placeholder[data-v-0890d2c1]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);text-align:center;flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:2rem}.result-placeholder svg[data-v-0890d2c1]{color:var(--text-muted)}.result-placeholder p[data-v-0890d2c1]{margin:0;font-size:1rem;font-weight:500}.error-section[data-v-0890d2c1]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.error-message[data-v-0890d2c1]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:.5rem;color:var(--error-color);font-size:.875rem}@media(max-width:1024px){.main-workspace[data-v-0890d2c1]{grid-template-columns:1fr;grid-template-rows:1fr 1px 1fr;gap:1rem}.divider[data-v-0890d2c1]{height:1px;width:100%}}@media(max-width:768px){.converter-content[data-v-0890d2c1],.upload-section[data-v-0890d2c1],.input-section[data-v-0890d2c1],.result-section[data-v-0890d2c1],.decoded-result-section[data-v-0890d2c1]{padding:1rem}.upload-area[data-v-0890d2c1]{padding:1rem;min-height:200px}.image-info[data-v-0890d2c1],.decoded-info[data-v-0890d2c1]{flex-direction:column;align-items:center}.result-stats[data-v-0890d2c1]{flex-direction:column;gap:.5rem}.mode-btn[data-v-0890d2c1]{font-size:.8125rem;padding:.625rem .875rem}}.surname-lookup[data-v-2c0c0a94]{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.converter-content[data-v-2c0c0a94]{flex:1;padding:2rem 2rem 6rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;min-height:calc(100vh - 120px);scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-2c0c0a94]::-webkit-scrollbar{display:none}.copy-btn-corner-small[data-v-2c0c0a94],.back-to-list-btn[data-v-2c0c0a94]{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.copy-btn-corner-small[data-v-2c0c0a94]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.1)}.results-section[data-v-2c0c0a94],.overview-section[data-v-2c0c0a94]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.section-title[data-v-2c0c0a94]{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;color:var(--text-primary);padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.ranking-grid[data-v-2c0c0a94]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.ranking-item[data-v-2c0c0a94]{position:relative;display:flex;flex-direction:column;padding:16px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);overflow:hidden;min-height:120px}.ranking-item[data-v-2c0c0a94]:hover{background:var(--bg-secondary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.copy-btn-corner-small[data-v-2c0c0a94]{position:absolute!important;top:8px!important;right:8px!important;width:24px!important;height:24px!important;opacity:0;transform:translateY(-4px);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.ranking-item:hover .copy-btn-corner-small[data-v-2c0c0a94]{opacity:1;transform:translateY(0)}.ranking-header[data-v-2c0c0a94]{display:flex;justify-content:flex-start;margin-bottom:8px}.ranking-number[data-v-2c0c0a94]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 8px;background:var(--bg-tertiary);border-radius:10px;font-size:11px;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-color)}.ranking-item:hover .ranking-number[data-v-2c0c0a94]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ranking-main[data-v-2c0c0a94]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:8px 0}.ranking-pinyin[data-v-2c0c0a94]{font-size:10px;color:var(--text-secondary);font-weight:500;font-style:italic;text-align:center;opacity:.8;margin-bottom:2px}.ranking-item:hover .ranking-pinyin[data-v-2c0c0a94]{color:var(--primary-color);opacity:1}.ranking-surname[data-v-2c0c0a94]{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1;text-align:center}.ranking-item:hover .ranking-surname[data-v-2c0c0a94]{color:var(--primary-color)}.ranking-footer[data-v-2c0c0a94]{display:flex;justify-content:center;margin-top:auto}.ranking-population[data-v-2c0c0a94]{font-size:10px;color:var(--text-secondary);font-weight:500;padding:4px 8px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.ranking-item:hover .ranking-population[data-v-2c0c0a94]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ranking-item.rank-first[data-v-2c0c0a94]{background:linear-gradient(135deg,gold,#ffed4e);border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b4d}.ranking-item.rank-first .ranking-number[data-v-2c0c0a94]{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border-color:#dc2626;font-weight:700}.ranking-item.rank-first .ranking-surname[data-v-2c0c0a94]{color:#92400e}.ranking-item.rank-first .ranking-pinyin[data-v-2c0c0a94]{color:#a16207}.ranking-item.rank-first .ranking-population[data-v-2c0c0a94]{background:#92400e;color:#fff;border-color:#92400e}.ranking-item.rank-second[data-v-2c0c0a94]{background:linear-gradient(135deg,#e5e7eb,#f3f4f6);border-color:#9ca3af;box-shadow:0 4px 12px #9ca3af4d}.ranking-item.rank-second .ranking-number[data-v-2c0c0a94]{background:linear-gradient(135deg,#6b7280,#9ca3af);color:#fff;border-color:#6b7280;font-weight:700}.ranking-item.rank-second .ranking-surname[data-v-2c0c0a94]{color:#374151}.ranking-item.rank-second .ranking-pinyin[data-v-2c0c0a94]{color:#6b7280}.ranking-item.rank-second .ranking-population[data-v-2c0c0a94]{background:#6b7280;color:#fff;border-color:#6b7280}.ranking-item.rank-third[data-v-2c0c0a94]{background:linear-gradient(135deg,#cd7f32,#d4a574);border-color:#b45309;box-shadow:0 4px 12px #b453094d}.ranking-item.rank-third .ranking-number[data-v-2c0c0a94]{background:linear-gradient(135deg,#92400e,#b45309);color:#fff;border-color:#92400e;font-weight:700}.ranking-item.rank-third .ranking-surname[data-v-2c0c0a94]{color:#78350f}.ranking-item.rank-third .ranking-pinyin[data-v-2c0c0a94]{color:#92400e}.ranking-item.rank-third .ranking-population[data-v-2c0c0a94]{background:#78350f;color:#fff;border-color:#78350f}.ranking-item.rank-top-ten[data-v-2c0c0a94]{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f633}.ranking-item.rank-top-ten .ranking-number[data-v-2c0c0a94]{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;border-color:#3b82f6;font-weight:600}.ranking-item.rank-top-ten .ranking-surname[data-v-2c0c0a94]{color:#1e40af}.ranking-item.rank-top-ten .ranking-pinyin[data-v-2c0c0a94]{color:#3b82f6}.ranking-item.rank-top-ten .ranking-population[data-v-2c0c0a94]{background:#3b82f6;color:#fff;border-color:#3b82f6}.no-results[data-v-2c0c0a94]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-secondary)}.no-results svg[data-v-2c0c0a94]{margin-bottom:1rem}.no-results h3[data-v-2c0c0a94]{margin:0 0 .5rem;color:var(--text-primary)}.no-results p[data-v-2c0c0a94]{margin:0;font-size:.875rem}.detail-section[data-v-2c0c0a94]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.detail-card[data-v-2c0c0a94]{display:flex;flex-direction:column}.detail-header[data-v-2c0c0a94]{background:linear-gradient(135deg,var(--primary-color) 0%,#1d4ed8 100%);color:#fff;padding:2rem;display:flex;flex-direction:column;gap:1rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.back-to-list-btn[data-v-2c0c0a94]{align-self:flex-start!important;background:#fff3!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important}.back-to-list-btn[data-v-2c0c0a94]:hover{background:#ffffff4d!important;border-color:#ffffff80!important}.surname-title[data-v-2c0c0a94]{display:flex;align-items:center;gap:1.5rem}.surname-main[data-v-2c0c0a94]{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.surname-char[data-v-2c0c0a94]{font-size:3rem;font-weight:700}.surname-pinyin[data-v-2c0c0a94]{display:flex;align-items:center;gap:.5rem;background:#ffffff26;padding:.5rem 1rem;border-radius:1rem}.pinyin-text[data-v-2c0c0a94]{font-size:1.125rem;font-weight:500;color:#ffffffe6}.surname-meta[data-v-2c0c0a94]{display:flex;flex-direction:column;gap:.5rem}.rank-badge[data-v-2c0c0a94],.population-badge[data-v-2c0c0a94]{padding:.25rem .75rem;background:#fff3;border-radius:1rem;font-size:.875rem;font-weight:500}.detail-content[data-v-2c0c0a94]{padding:2rem;display:flex;flex-direction:column;gap:2rem}.info-grid[data-v-2c0c0a94]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-item[data-v-2c0c0a94]{display:flex;flex-direction:column;gap:.5rem}.info-label[data-v-2c0c0a94]{font-size:.875rem;color:var(--text-secondary);font-weight:600}.info-value[data-v-2c0c0a94]{font-size:1rem;color:var(--text-primary);font-weight:500}.description-section h4[data-v-2c0c0a94],.celebrities-section h4[data-v-2c0c0a94]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.description-text[data-v-2c0c0a94]{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.celebrities-list[data-v-2c0c0a94]{display:flex;flex-wrap:wrap;gap:.5rem}.celebrity-tag[data-v-2c0c0a94]{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;font-size:.875rem;color:var(--text-secondary)}@media(max-width:768px){.converter-content[data-v-2c0c0a94]{padding:1rem 1rem 5rem;gap:1.5rem}.search-section[data-v-2c0c0a94],.results-section[data-v-2c0c0a94],.overview-section[data-v-2c0c0a94],.detail-content[data-v-2c0c0a94],.detail-header[data-v-2c0c0a94]{padding:1.5rem}.info-grid[data-v-2c0c0a94]{grid-template-columns:1fr}.surname-title[data-v-2c0c0a94]{flex-direction:column;align-items:center;text-align:center;gap:1rem}.surname-main[data-v-2c0c0a94]{align-items:center}.ranking-grid[data-v-2c0c0a94]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.ranking-item[data-v-2c0c0a94]{min-height:100px;padding:12px 8px}.ranking-surname[data-v-2c0c0a94]{font-size:24px}.copy-btn-corner-small[data-v-2c0c0a94]{width:20px!important;height:20px!important;top:6px!important;right:6px!important}}.regex-tester-wrapper[data-v-f1c75a9e]{width:100%;height:100vh;display:flex;flex-direction:column}.regex-tester-content[data-v-f1c75a9e]{max-width:1000px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.regex-tester-content[data-v-f1c75a9e]::-webkit-scrollbar{display:none}.main-content[data-v-f1c75a9e]{display:flex;gap:1rem;flex:1;align-items:flex-start}.left-section[data-v-f1c75a9e]{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a;flex:1;width:400px;display:flex;flex-direction:column;gap:1.25rem;height:fit-content}.right-section[data-v-f1c75a9e]{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a;flex:0 0 300px;overflow-y:auto;max-height:70vh;scrollbar-width:none;-ms-overflow-style:none}.right-section[data-v-f1c75a9e]::-webkit-scrollbar{display:none}.section-title[data-v-f1c75a9e]{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:#1e293b}.subsection-title[data-v-f1c75a9e]{font-size:.9rem;font-weight:600;margin:0 0 .75rem;color:#1e293b}.regex-input-section[data-v-f1c75a9e]{flex-shrink:0;margin-bottom:0}.regex-input-wrapper[data-v-f1c75a9e]{margin-bottom:1rem}.regex-input-container[data-v-f1c75a9e]{display:flex;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;padding:.375rem;transition:border-color .2s}.regex-input-container[data-v-f1c75a9e]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.regex-delimiter[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace;font-size:1.25rem;color:#64748b;padding:0 .5rem}.regex-input[data-v-f1c75a9e]{flex:1;padding:.625rem;border:none;outline:none;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;color:#1e293b}.flags-input[data-v-f1c75a9e]{width:55px;padding:.625rem .375rem;border:none;outline:none;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;color:#1e293b;text-align:center}.regex-hint[data-v-f1c75a9e]{display:flex;align-items:center;gap:.5rem;margin-top:.625rem;font-size:.8rem;color:#64748b}.flag-btn[data-v-f1c75a9e]{padding:.25rem .5rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.375rem;color:#475569;cursor:pointer;transition:all .2s;font-family:monospace;font-size:.75rem}.flag-btn[data-v-f1c75a9e]:hover{background:#e2e8f0}.flag-btn.active[data-v-f1c75a9e]{background:#3b82f6;color:#fff;border-color:#3b82f6}.test-text-section[data-v-f1c75a9e]{flex-shrink:0;margin-bottom:0}.test-textarea[data-v-f1c75a9e]{width:100%;padding:.875rem;border:2px solid #e2e8f0;border-radius:.5rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;color:#1e293b;resize:vertical;transition:border-color .2s;box-sizing:border-box}.test-textarea[data-v-f1c75a9e]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.match-status[data-v-f1c75a9e]{flex-shrink:0;margin-bottom:0}.status-indicator[data-v-f1c75a9e]{display:flex;align-items:center;gap:.5rem;padding:.875rem;border-radius:.375rem;font-weight:500}.status-indicator.success[data-v-f1c75a9e]{background:#dcfce7;color:#166534}.status-indicator.error[data-v-f1c75a9e]{background:#fef2f2;color:#dc2626}.status-indicator.warning[data-v-f1c75a9e]{background:#fefce8;color:#ca8a04}.status-indicator.info[data-v-f1c75a9e]{background:#f0f9ff;color:#0369a1}.matches-list[data-v-f1c75a9e]{margin-bottom:.75rem}.matches-table-container[data-v-f1c75a9e]{max-height:220px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:.375rem}.matches-table[data-v-f1c75a9e]{width:100%;border-collapse:collapse;font-size:.8rem}.matches-table th[data-v-f1c75a9e]{background:#f8fafc;padding:.5rem .75rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;font-size:.75rem}.matches-table td[data-v-f1c75a9e]{padding:.5rem .75rem;border-bottom:1px solid #f1f5f9;vertical-align:top}.matches-table tr:last-child td[data-v-f1c75a9e]{border-bottom:none}.matches-table tr[data-v-f1c75a9e]:hover{background:#f9fafb}.match-content-cell[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace;color:#1e293b;word-break:break-all;max-width:200px}.match-position-cell[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace;color:#64748b;white-space:nowrap}.match-groups-cell[data-v-f1c75a9e]{font-size:.75rem;color:#64748b;max-width:150px}.groups-info[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace}.no-groups[data-v-f1c75a9e]{color:#9ca3af;font-style:italic}.highlighted-text[data-v-f1c75a9e]{flex:1;min-height:0}.highlight-container[data-v-f1c75a9e]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;line-height:1.6;white-space:pre-wrap;word-break:break-all;max-height:220px;overflow-y:auto}[data-v-f1c75a9e] .regex-match{background:#fef3c7;color:#92400e;padding:.125rem .25rem;border-radius:.25rem;font-weight:600}.examples-grid[data-v-f1c75a9e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.4rem}.example-btn[data-v-f1c75a9e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.375rem .25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.25rem;cursor:pointer;transition:all .2s;min-height:38px;font-size:.7rem}.example-btn[data-v-f1c75a9e]:hover{border-color:#3b82f6;background:#f8fafc;box-shadow:0 1px 3px #0000001a}.example-name[data-v-f1c75a9e]{font-size:.7rem;font-weight:600;color:#1e293b;text-align:center;line-height:1.2}.reference-section[data-v-f1c75a9e]{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a;margin-bottom:100px}.reference-content[data-v-f1c75a9e]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.reference-group h4[data-v-f1c75a9e]{font-size:.95rem;font-weight:600;margin:0 0 .75rem;color:#1e293b}.reference-list[data-v-f1c75a9e]{display:flex;flex-direction:column;gap:.375rem}.reference-item[data-v-f1c75a9e]{display:flex;align-items:center;gap:.875rem;padding:.5rem;background:#f8fafc;border-radius:.375rem}.reference-item code[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace;background:#e2e8f0;padding:.25rem .5rem;border-radius:.25rem;font-size:.85rem;color:#1e293b;min-width:55px;text-align:center}.reference-item span[data-v-f1c75a9e]{font-size:.85rem;color:#475569}@media(max-width:768px){.regex-tester-content[data-v-f1c75a9e]{padding:1rem;gap:1.5rem}.main-content[data-v-f1c75a9e]{flex-direction:column;gap:1.5rem}.left-section[data-v-f1c75a9e],.right-section[data-v-f1c75a9e]{padding:1.5rem;width:auto}.reference-content[data-v-f1c75a9e]{grid-template-columns:1fr}.examples-grid[data-v-f1c75a9e]{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.3rem}.example-btn[data-v-f1c75a9e]{min-height:40px;padding:.3rem .15rem;font-size:.65rem}}.api-tester[data-v-7a13705b]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.formatter-actions[data-v-7a13705b]{display:flex;gap:.5rem}.tester-content[data-v-7a13705b]{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-color);overflow:hidden}.request-section[data-v-7a13705b],.response-section[data-v-7a13705b]{background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden}.request-header[data-v-7a13705b],.response-header[data-v-7a13705b]{padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:flex;align-items:center;justify-content:space-between;min-height:88px}.header-content[data-v-7a13705b]{display:flex;align-items:center;gap:.75rem;flex:1}.header-icon[data-v-7a13705b]{width:40px;height:40px;background:var(--primary-color-alpha);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.header-text h3[data-v-7a13705b]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.header-text p[data-v-7a13705b]{margin:0;font-size:.8125rem;color:var(--text-muted)}.example-buttons[data-v-7a13705b]{display:flex;align-items:center}.method-badge[data-v-7a13705b]{font-size:.625rem;font-weight:700;padding:.125rem .25rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;margin-right:.375rem}.method-badge.get[data-v-7a13705b]{background:var(--success-color);color:#fff}.method-badge.post[data-v-7a13705b]{background:#3b82f6;color:#fff}.request-content[data-v-7a13705b]{flex:1;padding:1.25rem;overflow-y:auto}.request-line[data-v-7a13705b]{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:stretch}.method-select[data-v-7a13705b]{width:120px;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition)}.method-select[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.url-input[data-v-7a13705b]{flex:1;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;transition:var(--transition)}.url-input[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha);background:var(--bg-primary)}.send-btn[data-v-7a13705b]{padding:.875rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center}.send-btn[data-v-7a13705b]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.send-btn[data-v-7a13705b]:disabled{opacity:.6;cursor:not-allowed;transform:none}.send-btn.get[data-v-7a13705b]{background:var(--success-color)}.send-btn.post[data-v-7a13705b]{background:#3b82f6}.send-btn.put[data-v-7a13705b]{background:#f59e0b}.send-btn.delete[data-v-7a13705b]{background:var(--error-color)}.loading-icon[data-v-7a13705b]{animation:spin-7a13705b 1s linear infinite}.config-section[data-v-7a13705b]{margin-bottom:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.section-header[data-v-7a13705b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h4[data-v-7a13705b]{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.add-btn[data-v-7a13705b]{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:var(--transition)}.add-btn[data-v-7a13705b]:hover{background:var(--primary-hover);transform:translateY(-1px)}.body-type-select[data-v-7a13705b]{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:.8125rem;cursor:pointer}.headers-list[data-v-7a13705b],.params-list[data-v-7a13705b],.form-list[data-v-7a13705b]{display:flex;flex-direction:column;gap:.5rem}.header-row[data-v-7a13705b],.param-row[data-v-7a13705b],.form-row[data-v-7a13705b]{display:flex;align-items:center;gap:.5rem}.header-key[data-v-7a13705b],.header-value[data-v-7a13705b],.param-key[data-v-7a13705b],.param-value[data-v-7a13705b],.form-key[data-v-7a13705b],.form-value[data-v-7a13705b]{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;transition:var(--transition)}.header-key[data-v-7a13705b]:focus,.header-value[data-v-7a13705b]:focus,.param-key[data-v-7a13705b]:focus,.param-value[data-v-7a13705b]:focus,.form-key[data-v-7a13705b]:focus,.form-value[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.separator[data-v-7a13705b]{color:var(--text-muted);font-weight:600;font-size:.875rem}.remove-btn[data-v-7a13705b]{width:24px;height:24px;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.remove-btn[data-v-7a13705b]:hover{background:var(--error-color-dark);transform:scale(1.1)}.json-textarea[data-v-7a13705b],.xml-textarea[data-v-7a13705b],.raw-textarea[data-v-7a13705b]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;font-family:JetBrains Mono,Fira Code,monospace;resize:vertical;min-height:120px;line-height:1.5}.json-textarea[data-v-7a13705b]:focus,.xml-textarea[data-v-7a13705b]:focus,.raw-textarea[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.json-actions[data-v-7a13705b],.xml-actions[data-v-7a13705b]{display:flex;gap:.5rem;margin-top:.5rem}.format-btn[data-v-7a13705b],.minify-btn[data-v-7a13705b]{padding:.375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:var(--transition)}.format-btn[data-v-7a13705b]:hover,.minify-btn[data-v-7a13705b]:hover{background:var(--border-color);color:var(--text-primary)}.response-info[data-v-7a13705b]{display:flex;align-items:center;gap:1rem}.status-badge[data-v-7a13705b]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;border:1px solid}.status-badge.success[data-v-7a13705b]{background:var(--success-color-alpha);color:var(--success-color);border-color:var(--success-color)}.status-badge.redirect[data-v-7a13705b]{background:var(--warning-color-alpha);color:var(--warning-color);border-color:var(--warning-color)}.status-badge.client-error[data-v-7a13705b],.status-badge.server-error[data-v-7a13705b]{background:var(--error-color-alpha);color:var(--error-color);border-color:var(--error-color)}.status-code[data-v-7a13705b]{font-weight:700}.meta-info[data-v-7a13705b]{font-size:.75rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:var(--radius-sm)}.response-content[data-v-7a13705b]{flex:1;overflow:hidden}.response-body[data-v-7a13705b]{padding:1.25rem;height:100%;overflow-y:auto}.error-message[data-v-7a13705b]{background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:var(--radius-md);padding:1rem}.error-title[data-v-7a13705b]{font-weight:600;color:var(--error-color);margin-bottom:.5rem}.error-detail[data-v-7a13705b]{color:var(--error-color);font-size:.875rem;white-space:pre-line}.response-pre[data-v-7a13705b]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;margin:0;overflow-x:auto;line-height:1.5}.empty-response[data-v-7a13705b]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);padding:2.5rem;text-align:center}.empty-icon[data-v-7a13705b]{margin-bottom:1rem;opacity:.5}.empty-text[data-v-7a13705b]{font-size:.875rem;margin-bottom:.5rem}.empty-hint[data-v-7a13705b]{font-size:.75rem;opacity:.8}@keyframes spin-7a13705b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-upload[data-v-7a13705b]{margin-bottom:1rem}.file-input[data-v-7a13705b]{display:none}.file-label[data-v-7a13705b]{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:.875rem}.file-label[data-v-7a13705b]:hover{border-color:var(--primary-color);background:var(--primary-color-alpha);color:var(--primary-color)}.file-info[data-v-7a13705b]{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:.5rem}.file-details[data-v-7a13705b]{display:flex;flex-direction:column;gap:.25rem}.file-name[data-v-7a13705b]{font-weight:600;color:var(--text-primary);font-size:.875rem}.file-size[data-v-7a13705b],.file-type[data-v-7a13705b]{font-size:.75rem;color:var(--text-muted)}.remove-file-btn[data-v-7a13705b]{width:32px;height:32px;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.remove-file-btn[data-v-7a13705b]:hover{background:var(--error-color-dark);transform:scale(1.1)}.form-mode-toggle[data-v-7a13705b]{display:flex;gap:4px;margin-bottom:1rem;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-color)}.mode-btn[data-v-7a13705b]{flex:1;padding:.5rem .75rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.375rem}.mode-btn[data-v-7a13705b]:hover{background:var(--bg-primary);color:var(--text-primary)}.mode-btn.active[data-v-7a13705b]{background:var(--primary-color);color:#fff;box-shadow:0 1px 2px #0000001a}.form-mode[data-v-7a13705b],.bulk-mode[data-v-7a13705b]{margin-top:.5rem}.bulk-textarea[data-v-7a13705b]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;font-family:JetBrains Mono,Fira Code,monospace;resize:vertical;min-height:120px;line-height:1.5}.bulk-textarea[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.bulk-actions[data-v-7a13705b]{display:flex;gap:.5rem;margin-top:.5rem}.clear-btn[data-v-7a13705b]{padding:.375rem .75rem;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:var(--transition)}.clear-btn[data-v-7a13705b]:hover{background:var(--error-color-dark);transform:translateY(-1px)}@media(max-width:1024px){.tester-content[data-v-7a13705b]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.request-section[data-v-7a13705b]{max-height:50vh}}@media(max-width:640px){.request-line[data-v-7a13705b]{flex-direction:column}.method-select[data-v-7a13705b]{width:100%}.header-row[data-v-7a13705b],.param-row[data-v-7a13705b],.form-row[data-v-7a13705b]{flex-direction:column;align-items:stretch;gap:.25rem}.separator[data-v-7a13705b]{display:none}.remove-btn[data-v-7a13705b]{align-self:flex-end;width:100%;margin-top:.25rem}}.text-compare[data-v-f6762626]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.compare-content[data-v-f6762626]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.compare-content[data-v-f6762626]::-webkit-scrollbar{display:none}.compare-section[data-v-f6762626]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.section-header[data-v-f6762626]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-f6762626]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-f6762626]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-f6762626]{font-size:.875rem;color:var(--text-secondary)}.compare-container[data-v-f6762626]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.text-panel[data-v-f6762626]{display:flex;flex-direction:column;gap:.75rem}.panel-header[data-v-f6762626]{display:flex;align-items:center;justify-content:space-between}.panel-header h4[data-v-f6762626]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.panel-actions[data-v-f6762626]{display:flex;gap:.5rem}.upload-btn[data-v-f6762626],.paste-btn[data-v-f6762626],.clear-btn[data-v-f6762626]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.upload-btn[data-v-f6762626]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.paste-btn[data-v-f6762626]:hover{background:var(--success-color);color:#fff;border-color:var(--success-color)}.clear-btn[data-v-f6762626]:hover{background:var(--error-color);color:#fff;border-color:var(--error-color)}.file-info[data-v-f6762626]{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem}.file-name[data-v-f6762626]{color:var(--text-primary);font-weight:500}.file-size[data-v-f6762626]{color:var(--text-secondary)}.text-input[data-v-f6762626]{width:100%;height:300px;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:200px;transition:all .2s ease}.text-input[data-v-f6762626]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.text-stats[data-v-f6762626]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.compare-options[data-v-f6762626]{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem}.option-group[data-v-f6762626]{display:flex;gap:1.5rem}.checkbox-label[data-v-f6762626]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox][data-v-f6762626]{width:1rem;height:1rem;accent-color:var(--primary-color)}.compare-btn[data-v-f6762626]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.compare-btn[data-v-f6762626]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.compare-btn[data-v-f6762626]:disabled{opacity:.5;cursor:not-allowed}.result-container[data-v-f6762626]{display:flex;flex-direction:column;gap:1.5rem}.result-summary[data-v-f6762626]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem}.summary-item[data-v-f6762626]{display:flex;flex-direction:column;gap:.25rem}.summary-label[data-v-f6762626]{font-size:.875rem;color:var(--text-secondary)}.summary-value[data-v-f6762626]{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.summary-value.high[data-v-f6762626]{color:var(--success-color)}.summary-value.medium[data-v-f6762626]{color:var(--warning-color)}.summary-value.low[data-v-f6762626]{color:var(--error-color)}.summary-value.very-low[data-v-f6762626]{color:var(--error-color-dark)}.summary-value.added[data-v-f6762626]{color:var(--success-color)}.summary-value.removed[data-v-f6762626]{color:var(--error-color)}.diff-view[data-v-f6762626]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden}.diff-header[data-v-f6762626]{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.diff-header h4[data-v-f6762626]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.view-options[data-v-f6762626]{display:flex;gap:.25rem;background:var(--bg-primary);border-radius:.375rem;padding:.25rem}.view-btn[data-v-f6762626]{padding:.375rem .75rem;background:transparent;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.75rem;font-weight:500}.view-btn[data-v-f6762626]:hover{background:var(--bg-hover);color:var(--text-primary)}.view-btn.active[data-v-f6762626]{background:var(--primary-color);color:#fff}.diff-legend[data-v-f6762626]{display:flex;gap:1rem}.legend-item[data-v-f6762626]{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500}.legend-item.added[data-v-f6762626]{color:var(--success-color)}.legend-item.removed[data-v-f6762626]{color:var(--error-color)}.legend-item.modified[data-v-f6762626]{color:var(--warning-color)}.diff-content[data-v-f6762626]{max-height:400px;overflow-y:auto}.diff-content.unified .diff-line[data-v-f6762626]{display:flex;align-items:center;padding:.5rem 1rem;font-family:Courier New,monospace;font-size:.875rem;border-bottom:1px solid var(--border-color);position:relative}.diff-content.split[data-v-f6762626]{display:flex;flex-direction:column;font-family:Courier New,monospace;font-size:.875rem}.split-header[data-v-f6762626]{display:flex;background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.split-title[data-v-f6762626]{flex:1;padding:.75rem 1rem;font-weight:600;color:var(--text-primary);text-align:center;border-right:1px solid var(--border-color)}.split-title[data-v-f6762626]:last-child{border-right:none}.split-body[data-v-f6762626]{flex:1;overflow-y:auto}.diff-pair[data-v-f6762626]{display:flex;border-bottom:1px solid var(--border-color)}.diff-side[data-v-f6762626]{flex:1;display:flex;align-items:flex-start;padding:.25rem .5rem;min-height:1.5rem;border-right:1px solid var(--border-color)}.diff-side[data-v-f6762626]:last-child{border-right:none}.diff-side.added[data-v-f6762626]{background:#22c55e1a;border-left:3px solid var(--success-color)}.diff-side.removed[data-v-f6762626]{background:#ef44441a;border-left:3px solid var(--error-color)}.diff-side.unchanged[data-v-f6762626]{background:transparent}.diff-side.empty[data-v-f6762626]{background:var(--bg-secondary)}.diff-side .line-number[data-v-f6762626]{width:2.5rem;margin-right:.5rem;text-align:right;color:var(--text-secondary);font-size:.75rem;flex-shrink:0}.diff-side .line-content[data-v-f6762626]{flex:1;white-space:pre-wrap;word-break:break-all}.diff-side .line-content.empty[data-v-f6762626]{height:1.2rem}.diff-line[data-v-f6762626]{display:flex;align-items:center;padding:.5rem 1rem;font-family:Courier New,monospace;font-size:.875rem;border-bottom:1px solid var(--border-color);position:relative}.diff-line.added[data-v-f6762626]{background:#22c55e1a;border-left:3px solid var(--success-color)}.diff-line.removed[data-v-f6762626]{background:#ef44441a;border-left:3px solid var(--error-color)}.diff-line.modified[data-v-f6762626]{background:#f59e0b1a;border-left:3px solid var(--warning-color)}.line-number[data-v-f6762626]{min-width:3rem;color:var(--text-secondary);font-size:.75rem}.line-prefix[data-v-f6762626]{min-width:1.5rem;font-weight:700;font-size:1rem}.diff-line.added .line-prefix[data-v-f6762626]{color:#28a745}.diff-line.removed .line-prefix[data-v-f6762626]{color:#dc3545}.diff-line.modified .line-prefix[data-v-f6762626]{color:#ffc107}.line-content[data-v-f6762626]{flex:1;word-break:break-all}.help-section[data-v-f6762626]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.features-grid[data-v-f6762626]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.feature-card[data-v-f6762626]{text-align:center;padding:1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;transition:all .2s ease}.feature-card[data-v-f6762626]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.feature-icon[data-v-f6762626]{font-size:2.5rem;margin-bottom:.75rem;display:block}.feature-card h4[data-v-f6762626]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.feature-card p[data-v-f6762626]{font-size:.875rem;color:var(--text-secondary);line-height:1.4;margin:0}.diff-info[data-v-f6762626]{padding:1.5rem;background:var(--primary-color-alpha);border:1px solid var(--primary-color);border-radius:.5rem}.diff-info h4[data-v-f6762626]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.diff-info p[data-v-f6762626]{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin:0 0 1.25rem}.diff-info a[data-v-f6762626]{color:var(--primary-color);text-decoration:none;font-weight:500}.diff-info a[data-v-f6762626]:hover{text-decoration:underline}.tech-features[data-v-f6762626]{margin-bottom:1.25rem}.feature-row[data-v-f6762626]{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;line-height:1.4}.feature-row[data-v-f6762626]:last-child{margin-bottom:0}.feature-label[data-v-f6762626]{font-weight:600;color:var(--text-primary);white-space:nowrap;min-width:fit-content}.feature-desc[data-v-f6762626]{color:var(--text-primary);flex:1}.tech-highlights[data-v-f6762626]{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag[data-v-f6762626]{padding:.25rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.25rem;font-size:.75rem;color:var(--text-secondary);font-weight:500}@media(max-width:768px){.features-grid[data-v-f6762626]{grid-template-columns:repeat(2,1fr);gap:.75rem}.feature-card[data-v-f6762626]{padding:1rem}.feature-icon[data-v-f6762626]{font-size:2rem;margin-bottom:.5rem}}@media(max-width:480px){.features-grid[data-v-f6762626]{grid-template-columns:1fr}}.message-toast[data-v-f6762626]{position:fixed;bottom:2rem;right:2rem;padding:.75rem 1.5rem;border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:500;z-index:1000;animation:slideIn-f6762626 .3s ease}.message-toast.success[data-v-f6762626]{background:var(--success-color)}.message-toast.error[data-v-f6762626]{background:var(--error-color)}@keyframes slideIn-f6762626{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:1024px){.compare-container[data-v-f6762626]{grid-template-columns:1fr;gap:1rem}.result-summary[data-v-f6762626]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.compare-content[data-v-f6762626]{padding:1rem;gap:1.5rem}.compare-section[data-v-f6762626]{padding:1rem}.option-group[data-v-f6762626]{flex-direction:column;gap:.75rem}.compare-options[data-v-f6762626]{flex-direction:column;gap:1rem;align-items:stretch}.result-summary[data-v-f6762626]{grid-template-columns:1fr}.diff-legend[data-v-f6762626]{flex-direction:column;gap:.5rem}}@media(max-width:480px){.compare-content[data-v-f6762626]{padding:.75rem;gap:1rem}.compare-section[data-v-f6762626]{padding:.75rem}.text-input[data-v-f6762626]{height:200px;min-height:150px}}.mime-type-reference[data-v-d9717f03]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.converter-content[data-v-d9717f03]{flex:1;padding:2rem;overflow-y:auto;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-d9717f03]::-webkit-scrollbar{display:none}.search-section[data-v-d9717f03]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.search-container[data-v-d9717f03]{display:flex;flex-direction:column;gap:1.5rem}.search-input-wrapper[data-v-d9717f03]{position:relative;display:flex;align-items:center}.search-icon[data-v-d9717f03]{position:absolute;left:1rem;color:var(--text-secondary);z-index:1}.search-input[data-v-d9717f03]{width:100%;padding:1rem 1rem 1rem 2.5rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:var(--transition);box-sizing:border-box}.search-input[data-v-d9717f03]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.clear-search-btn[data-v-d9717f03]{position:absolute;right:1rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.clear-search-btn[data-v-d9717f03]:hover{background:var(--border-color);color:var(--text-primary)}.category-filter[data-v-d9717f03]{display:flex;gap:.5rem;flex-wrap:wrap}.category-btn[data-v-d9717f03]{padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:.875rem;font-weight:500}.category-btn[data-v-d9717f03]:hover{background:var(--border-color);color:var(--text-primary)}.category-btn.active[data-v-d9717f03]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.mime-table-section[data-v-d9717f03]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table-header[data-v-d9717f03]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.table-header h3[data-v-d9717f03]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.table-info[data-v-d9717f03]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-d9717f03]{font-size:.875rem;color:var(--text-secondary);font-weight:500}.table-container[data-v-d9717f03]{overflow-x:auto}.mime-table[data-v-d9717f03]{width:100%;border-collapse:collapse}.mime-table th[data-v-d9717f03]{background:var(--bg-tertiary);padding:1rem 1.5rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);font-size:.875rem;white-space:nowrap}.mime-table td[data-v-d9717f03]{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);font-size:.875rem;vertical-align:middle}.mime-row[data-v-d9717f03]:hover{background:var(--bg-tertiary)}.extension-cell .extension[data-v-d9717f03]{display:inline-block;padding:.375rem .75rem;background:var(--primary-color);color:#fff;border-radius:var(--radius-md);font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem}.mime-cell .mime-type[data-v-d9717f03]{background:var(--bg-tertiary);padding:.375rem .75rem;border-radius:var(--radius-md);font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;color:var(--text-primary);border:1px solid var(--border-color)}.description-cell .description[data-v-d9717f03]{color:var(--text-secondary);line-height:1.4}.action-cell[data-v-d9717f03]{text-align:center}.copy-btn-table[data-v-d9717f03]{width:32px!important;height:32px!important}.copy-btn-table[data-v-d9717f03]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.copy-btn-table[data-v-d9717f03]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.pagination[data-v-d9717f03]{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-primary)}.page-btn[data-v-d9717f03]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:var(--transition)}.page-btn[data-v-d9717f03]:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.page-btn[data-v-d9717f03]:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary)}.page-info[data-v-d9717f03]{font-size:.875rem;color:var(--text-secondary);font-weight:500;padding:0 1rem}@media(max-width:1024px){.converter-content[data-v-d9717f03]{padding:1.5rem 1.5rem 5rem}.mime-table th[data-v-d9717f03],.mime-table td[data-v-d9717f03]{padding:.75rem 1rem}.table-header[data-v-d9717f03]{padding:1.25rem 1.5rem}}@media(max-width:768px){.converter-content[data-v-d9717f03]{padding:1rem 1rem 4rem;gap:1.5rem}.search-section[data-v-d9717f03]{padding:1.5rem}.table-header[data-v-d9717f03]{padding:1rem;flex-direction:column;gap:.75rem;align-items:flex-start}.category-filter[data-v-d9717f03]{justify-content:center}.category-btn[data-v-d9717f03]{padding:.5rem 1rem;font-size:.8rem}.mime-table[data-v-d9717f03]{font-size:.8rem}.mime-table th[data-v-d9717f03],.mime-table td[data-v-d9717f03]{padding:.75rem}.extension-cell .extension[data-v-d9717f03],.mime-cell .mime-type[data-v-d9717f03]{font-size:.75rem;padding:.25rem .5rem}.pagination[data-v-d9717f03]{padding:1rem}}@media(max-width:480px){.converter-content[data-v-d9717f03]{padding:.75rem .75rem 3rem}.search-section[data-v-d9717f03]{padding:1rem}.search-container[data-v-d9717f03]{gap:1rem}.category-btn[data-v-d9717f03]{padding:.375rem .75rem;font-size:.75rem}.table-header h3[data-v-d9717f03]{font-size:1.125rem}.mime-table th[data-v-d9717f03],.mime-table td[data-v-d9717f03]{padding:.5rem}.mime-table th[data-v-d9717f03]:nth-child(3),.mime-table td[data-v-d9717f03]:nth-child(3){display:none}}.dynasty-query[data-v-06a5dc0c]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.dynasty-content[data-v-06a5dc0c]{flex:1;overflow-y:auto;padding:1.5rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.dynasty-content[data-v-06a5dc0c]::-webkit-scrollbar{display:none}.section-header[data-v-06a5dc0c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-06a5dc0c]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-06a5dc0c]{display:flex;align-items:center;gap:1rem}.info-text[data-v-06a5dc0c]{font-size:.875rem;color:var(--text-secondary)}.search-container[data-v-06a5dc0c]{display:flex;flex-direction:column;gap:1rem}.search-input-wrapper[data-v-06a5dc0c]{position:relative;display:flex;align-items:center}.search-icon[data-v-06a5dc0c]{position:absolute;left:1rem;color:var(--text-secondary);z-index:1}.search-input[data-v-06a5dc0c]{width:100%;padding:.75rem 1rem .75rem 2.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.search-input[data-v-06a5dc0c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.clear-search-btn[data-v-06a5dc0c]{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-tertiary);border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.clear-search-btn[data-v-06a5dc0c]:hover{background:var(--bg-hover);color:var(--text-primary)}.period-filter[data-v-06a5dc0c]{display:flex;gap:.5rem;flex-wrap:wrap}.period-btn[data-v-06a5dc0c]{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.period-btn[data-v-06a5dc0c]:hover{background:var(--bg-hover)}.period-btn.active[data-v-06a5dc0c]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.timeline-container[data-v-06a5dc0c]{padding:0}.timeline[data-v-06a5dc0c]{position:relative}.timeline-item[data-v-06a5dc0c]{display:flex;margin-bottom:2rem;cursor:pointer;transition:all .3s ease}.timeline-item[data-v-06a5dc0c]:hover{transform:translate(4px)}.timeline-marker[data-v-06a5dc0c]{display:flex;flex-direction:column;align-items:center;margin-right:1.5rem;flex-shrink:0}.timeline-dot[data-v-06a5dc0c]{width:1rem;height:1rem;border-radius:50%;background:#dc2626;border:3px solid white;box-shadow:0 0 0 3px #e2e8f0;flex-shrink:0;z-index:2}.timeline-line[data-v-06a5dc0c]{width:2px;flex:1;background:linear-gradient(to bottom,#e2e8f0,transparent);margin-top:.5rem;min-height:3rem}.timeline-item:last-child .timeline-line[data-v-06a5dc0c]{display:none}.timeline-content[data-v-06a5dc0c]{flex:1;min-width:0}.dynasty-card[data-v-06a5dc0c]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;transition:all .2s ease}.dynasty-card[data-v-06a5dc0c]:hover{background:var(--bg-hover)}.timeline-item.highlight .dynasty-card[data-v-06a5dc0c]{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha);animation:highlightPulse-06a5dc0c 2s ease-in-out}@keyframes highlightPulse-06a5dc0c{0%,to{box-shadow:0 0 0 3px var(--primary-color-alpha)}50%{box-shadow:0 0 0 6px var(--primary-color-alpha)}}.dynasty-header[data-v-06a5dc0c]{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.dynasty-main[data-v-06a5dc0c]{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:.125rem}.dynasty-name[data-v-06a5dc0c]{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.dynasty-basic[data-v-06a5dc0c]{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.dynasty-years[data-v-06a5dc0c]{font-size:.875rem;font-weight:600;color:#dc2626}.dynasty-duration[data-v-06a5dc0c]{font-size:.8rem;color:#059669;background:#ecfdf5;padding:.125rem .5rem;border-radius:.375rem;font-weight:500}.dynasty-info[data-v-06a5dc0c]{grid-column:1 / -1;grid-row:2;display:flex;gap:1rem;font-size:.8rem}.dynasty-founder[data-v-06a5dc0c]{grid-column:1 / -1;grid-row:3;font-size:.8rem;color:#64748b;font-weight:500}.dynasty-capital[data-v-06a5dc0c]{color:#475569;font-weight:500}.emperors-count[data-v-06a5dc0c]{color:#7c3aed;font-weight:600}.dynasty-description[data-v-06a5dc0c]{font-size:.875rem;color:#64748b;line-height:1.6}.dynasty-detail[data-v-06a5dc0c]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.detail-header[data-v-06a5dc0c]{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:1px solid var(--border-color)}.back-detail-btn[data-v-06a5dc0c]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem}.back-detail-btn[data-v-06a5dc0c]:hover{background:var(--bg-hover)}.detail-header h3[data-v-06a5dc0c]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.detail-content[data-v-06a5dc0c]{padding:1.5rem}.detail-grid[data-v-06a5dc0c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.detail-card[data-v-06a5dc0c]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.detail-card h4[data-v-06a5dc0c]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.detail-item[data-v-06a5dc0c]{display:flex;margin-bottom:.75rem;font-size:.875rem}.detail-item .label[data-v-06a5dc0c]{min-width:6rem;color:var(--text-secondary);font-weight:500}.detail-item .value[data-v-06a5dc0c]{color:var(--text-primary);font-weight:600}.dynasty-description[data-v-06a5dc0c]{color:var(--text-primary);line-height:1.6;margin:0;white-space:pre-line}.achievements-section[data-v-06a5dc0c]{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.achievements-section h5[data-v-06a5dc0c]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.achievements-list[data-v-06a5dc0c]{list-style:none;padding:0;margin:0}.achievements-list li[data-v-06a5dc0c]{padding:.5rem 0;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.achievements-list li[data-v-06a5dc0c]:last-child{border-bottom:none}.achievements-list li[data-v-06a5dc0c]:before{content:"✓";color:var(--success-color);font-weight:700;margin-right:.5rem}.emperors-card[data-v-06a5dc0c]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;margin-top:1.5rem}.emperors-card h4[data-v-06a5dc0c]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.emperors-table-container[data-v-06a5dc0c]{overflow-x:auto;border-radius:.5rem;border:1px solid #e2e8f0}.emperors-table[data-v-06a5dc0c]{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff}.emperors-table thead[data-v-06a5dc0c]{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.emperors-table th[data-v-06a5dc0c]{padding:.75rem .5rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}.emperors-table td[data-v-06a5dc0c]{padding:.75rem .5rem;border-bottom:1px solid #f3f4f6;vertical-align:top}.emperors-table tbody tr[data-v-06a5dc0c]:hover{background:#f9fafb}.emperors-table tbody tr:last-child td[data-v-06a5dc0c]{border-bottom:none}.emperor-index[data-v-06a5dc0c]{text-align:center;font-weight:600;color:#6b7280;width:3rem}.emperor-name-table[data-v-06a5dc0c]{font-weight:600;color:#1f2937;min-width:5rem}.emperor-birth-death[data-v-06a5dc0c]{color:#6b7280;font-size:.8rem;min-width:8rem}.emperor-age[data-v-06a5dc0c]{color:#059669;font-weight:500;min-width:4rem}.emperor-title-table[data-v-06a5dc0c]{color:#4b5563;font-weight:500;min-width:6rem}.emperor-reign-table[data-v-06a5dc0c]{color:#6b7280;font-size:.8rem;min-width:8rem}.emperor-years-table[data-v-06a5dc0c]{text-align:center;color:#dc2626;font-weight:600;width:4rem}.emperor-era-table[data-v-06a5dc0c]{color:#7c3aed;font-size:.8rem;line-height:1.4;max-width:12rem;word-break:break-all}@media(max-width:1024px){.detail-grid[data-v-06a5dc0c]{grid-template-columns:1fr}.dynasty-header[data-v-06a5dc0c]{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:.5rem}.dynasty-main[data-v-06a5dc0c]{grid-column:1;grid-row:1}.dynasty-basic[data-v-06a5dc0c]{grid-column:1;grid-row:2;align-items:flex-start}.dynasty-info[data-v-06a5dc0c]{grid-column:1;grid-row:3;flex-direction:column;gap:.25rem}.dynasty-founder[data-v-06a5dc0c]{grid-column:1;grid-row:4}}@media(max-width:768px){.timeline-marker[data-v-06a5dc0c]{margin-right:1rem}.dynasty-card[data-v-06a5dc0c]{padding:1rem}.dynasty-name[data-v-06a5dc0c]{font-size:1.25rem}.emperors-table[data-v-06a5dc0c]{font-size:.75rem}.emperors-table th[data-v-06a5dc0c],.emperors-table td[data-v-06a5dc0c]{padding:.5rem .25rem}}@media(max-width:480px){.timeline-marker[data-v-06a5dc0c]{margin-right:.75rem}.timeline-dot[data-v-06a5dc0c]{width:.75rem;height:.75rem}.dynasty-card[data-v-06a5dc0c]{padding:.75rem}.dynasty-name[data-v-06a5dc0c]{font-size:1.125rem}.emperors-table[data-v-06a5dc0c]{font-size:.7rem}.emperors-table th[data-v-06a5dc0c],.emperors-table td[data-v-06a5dc0c]{padding:.375rem .25rem}.emperors-table th[data-v-06a5dc0c]:first-child,.emperors-table td[data-v-06a5dc0c]:first-child,.emperors-table th[data-v-06a5dc0c]:nth-child(3),.emperors-table td[data-v-06a5dc0c]:nth-child(3),.emperors-table th[data-v-06a5dc0c]:nth-child(7),.emperors-table td[data-v-06a5dc0c]:nth-child(7){display:none}}.uuid-generator[data-v-8df3160f]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.formatter-actions[data-v-8df3160f]{display:flex;gap:.5rem}.generator-content[data-v-8df3160f]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.generator-content[data-v-8df3160f]::-webkit-scrollbar{display:none}.generator-section[data-v-8df3160f]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.section-header[data-v-8df3160f]{display:flex;align-items:center;margin-bottom:1.5rem}.header-content[data-v-8df3160f]{display:flex;align-items:center;gap:.75rem;flex:1}.header-icon[data-v-8df3160f]{width:40px;height:40px;background:var(--primary-color-alpha);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.header-text h3[data-v-8df3160f]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.header-text p[data-v-8df3160f]{margin:0;font-size:.8125rem;color:var(--text-muted)}.uuid-container[data-v-8df3160f]{display:grid;grid-template-columns:350px 1fr;gap:2rem;align-items:start}.uuid-controls[data-v-8df3160f]{display:flex;flex-direction:column;gap:1.5rem}.uuid-results[data-v-8df3160f]{display:flex;flex-direction:column;gap:1rem;align-self:start}.control-group[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.control-group label[data-v-8df3160f]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.version-select[data-v-8df3160f]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:var(--transition)}.version-select[data-v-8df3160f]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.quantity-controls[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.quantity-buttons[data-v-8df3160f]{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.quantity-btn[data-v-8df3160f]{padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:var(--transition);font-size:.875rem}.quantity-btn[data-v-8df3160f]:hover{background:var(--bg-hover)}.quantity-btn.active[data-v-8df3160f]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.quantity-input[data-v-8df3160f]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;transition:var(--transition)}.quantity-input[data-v-8df3160f]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.format-options[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.checkbox-label[data-v-8df3160f]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox][data-v-8df3160f]{width:1rem;height:1rem;accent-color:var(--primary-color)}.generate-actions[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.generate-btn[data-v-8df3160f]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);font-size:.875rem;font-weight:500;background:var(--primary-color);color:#fff}.generate-btn[data-v-8df3160f]:hover{background:var(--primary-hover);transform:translateY(-1px)}.results-header[data-v-8df3160f]{display:flex;align-items:center;justify-content:space-between}.results-header h4[data-v-8df3160f]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.count-info[data-v-8df3160f]{font-size:.875rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.empty-state[data-v-8df3160f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.empty-state svg[data-v-8df3160f]{margin-bottom:1rem;opacity:.5}.empty-state p[data-v-8df3160f]{margin:0;font-size:.875rem}.uuid-list[data-v-8df3160f]{display:flex;flex-direction:column;gap:.5rem;max-height:380px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.uuid-list[data-v-8df3160f]::-webkit-scrollbar{display:none}.uuid-item[data-v-8df3160f]{display:flex;align-items:center;gap:.75rem;padding:.4375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition)}.uuid-item[data-v-8df3160f]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px var(--primary-color-alpha)}.uuid-index[data-v-8df3160f]{font-size:.75rem;color:var(--text-muted);min-width:2rem;text-align:center;background:var(--bg-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm)}.uuid-value[data-v-8df3160f]{flex:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;color:var(--text-primary);word-break:break-all}.copy-uuid-btn[data-v-8df3160f]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:var(--transition);flex-shrink:0}.copy-uuid-btn[data-v-8df3160f]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.uuid-validator[data-v-8df3160f]{display:flex;flex-direction:column;gap:1.5rem}.validator-input[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.validator-input label[data-v-8df3160f]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.validate-input[data-v-8df3160f]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;font-family:JetBrains Mono,Fira Code,monospace;transition:var(--transition)}.validate-input[data-v-8df3160f]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.validation-result[data-v-8df3160f]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.validation-header[data-v-8df3160f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.validation-header h4[data-v-8df3160f]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.validation-status[data-v-8df3160f]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.validation-status.valid[data-v-8df3160f]{background:var(--success-color-alpha);color:var(--success-color)}.validation-status.invalid[data-v-8df3160f]{background:var(--error-color-alpha);color:var(--error-color)}.validation-details[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.detail-item[data-v-8df3160f]{display:flex;align-items:center;gap:1rem}.detail-label[data-v-8df3160f]{font-size:.875rem;font-weight:500;color:var(--text-primary);min-width:5rem}.detail-value[data-v-8df3160f]{flex:1;font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,monospace}.uuid-info[data-v-8df3160f]{margin-top:0}.info-grid[data-v-8df3160f]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.info-card[data-v-8df3160f]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;transition:var(--transition)}.info-card[data-v-8df3160f]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.info-header[data-v-8df3160f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.info-header h4[data-v-8df3160f]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.info-badge[data-v-8df3160f]{font-size:.75rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:500}.info-badge.legacy[data-v-8df3160f]{background:var(--warning-color-alpha);color:var(--warning-color)}.info-badge.recommended[data-v-8df3160f]{background:var(--success-color-alpha);color:var(--success-color)}.info-badge.modern[data-v-8df3160f]{background:var(--primary-color-alpha);color:var(--primary-color)}.info-description[data-v-8df3160f]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.info-features[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.feature-item[data-v-8df3160f]{display:flex;align-items:center;gap:.75rem}.feature-label[data-v-8df3160f]{font-size:.75rem;font-weight:500;color:var(--text-primary);min-width:4rem}.feature-level[data-v-8df3160f]{display:flex;align-items:center;gap:.5rem;flex:1}.feature-bar[data-v-8df3160f]{height:.25rem;border-radius:var(--radius-sm);flex:1;max-width:4rem}.feature-level.high .feature-bar[data-v-8df3160f]{background:var(--success-color)}.feature-level.very-high .feature-bar[data-v-8df3160f]{background:var(--primary-color)}.feature-level.medium .feature-bar[data-v-8df3160f]{background:var(--warning-color)}.feature-level span[data-v-8df3160f]{font-size:.75rem;color:var(--text-secondary)}.feature-value[data-v-8df3160f]{font-size:.75rem;color:var(--text-secondary);flex:1}@media(max-width:1024px){.uuid-container[data-v-8df3160f]{grid-template-columns:1fr;gap:1.5rem}.info-grid[data-v-8df3160f]{grid-template-columns:1fr}}@media(max-width:768px){.generator-content[data-v-8df3160f]{padding:1rem;gap:1.5rem}.generator-section[data-v-8df3160f]{padding:1rem}.copy-actions[data-v-8df3160f]{flex-direction:column}.copy-all-btn[data-v-8df3160f],.copy-json-btn[data-v-8df3160f]{flex:none}}@media(max-width:480px){.generator-content[data-v-8df3160f]{padding:.75rem;gap:1rem}.generator-section[data-v-8df3160f]{padding:.75rem}.uuid-item[data-v-8df3160f]{flex-direction:column;align-items:flex-start;gap:.5rem}.uuid-index[data-v-8df3160f]{align-self:flex-start}.copy-uuid-btn[data-v-8df3160f]{align-self:flex-end}.format-options[data-v-8df3160f]{flex-direction:column;gap:.5rem}}.programming-languages[data-v-badf73b1]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.converter-content[data-v-badf73b1]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-badf73b1]::-webkit-scrollbar{display:none}.action-btn[data-v-badf73b1]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.action-btn[data-v-badf73b1]:hover{background:var(--bg-hover);transform:translateY(-1px)}.languages-list[data-v-badf73b1]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.language-card[data-v-badf73b1]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;min-height:180px}.language-card[data-v-badf73b1]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.language-header[data-v-badf73b1]{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.language-icon[data-v-badf73b1]{width:2rem;height:2rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.625rem;flex-shrink:0}.language-icon.large[data-v-badf73b1]{width:4rem;height:4rem;font-size:1.125rem}.language-info[data-v-badf73b1]{flex:1}.language-name[data-v-badf73b1]{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem}.language-description[data-v-badf73b1]{font-size:.75rem;color:var(--text-secondary);margin:0;line-height:1.3}.language-meta[data-v-badf73b1]{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem}.language-year[data-v-badf73b1]{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:.25rem}.language-tags[data-v-badf73b1]{display:flex;gap:.25rem;flex-wrap:wrap}.tag[data-v-badf73b1]{font-size:.625rem;padding:.125rem .375rem;border-radius:.25rem;font-weight:500}.tag.popular[data-v-badf73b1]{background:#ef44441a;color:#ef4444}.tag.web[data-v-badf73b1]{background:#10b9811a;color:#10b981}.tag.mobile[data-v-badf73b1]{background:#6366f11a;color:#6366f1}.tag.system[data-v-badf73b1]{background:#f59e0b1a;color:#f59e0b}.language-stats[data-v-badf73b1]{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.stat-item[data-v-badf73b1]{display:flex;align-items:center;gap:.5rem;padding:.125rem 0}.stat-label[data-v-badf73b1]{font-size:.75rem;color:var(--text-secondary);min-width:3rem}.difficulty-bar[data-v-badf73b1],.popularity-bar[data-v-badf73b1]{flex:1;height:.375rem;background:var(--bg-tertiary);border-radius:.25rem;overflow:hidden;border:1px solid var(--border-color)}.difficulty-fill[data-v-badf73b1],.popularity-fill[data-v-badf73b1]{height:100%;transition:width .3s ease}.stat-value[data-v-badf73b1]{font-size:.75rem;color:var(--text-primary);font-weight:500;min-width:2.5rem;text-align:right}.modal-body-content[data-v-badf73b1]{padding:1rem}.modal-header[data-v-badf73b1]{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.modal-title-section[data-v-badf73b1]{display:flex;align-items:center;gap:.75rem}.modal-title-section h2[data-v-badf73b1]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.modal-subtitle[data-v-badf73b1]{font-size:.8rem;color:var(--text-secondary);margin:.25rem 0 0}.close-btn[data-v-badf73b1]{width:2rem;height:2rem;background:none;border:none;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn[data-v-badf73b1]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-content[data-v-badf73b1]{display:flex;flex-direction:column;gap:1.5rem}.modal-section h3[data-v-badf73b1]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.info-grid[data-v-badf73b1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.info-item[data-v-badf73b1]{display:flex;flex-direction:column;gap:.25rem}.info-label[data-v-badf73b1]{font-size:.7rem;color:var(--text-secondary);font-weight:500}.info-value[data-v-badf73b1]{font-size:.8rem;color:var(--text-primary)}.features-list[data-v-badf73b1]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.features-list li[data-v-badf73b1]{padding:.375rem 0;border-bottom:1px solid var(--border-color);font-size:.8rem;color:var(--text-primary)}.features-list li[data-v-badf73b1]:last-child{border-bottom:none}.use-cases[data-v-badf73b1]{display:flex;flex-wrap:wrap;gap:.375rem}.use-case-tag[data-v-badf73b1]{padding:.375rem .75rem;background:var(--primary-color-alpha);color:var(--primary-color);border-radius:.375rem;font-size:.75rem;font-weight:500}.resources-grid[data-v-badf73b1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.resource-link[data-v-badf73b1]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;text-decoration:none;color:var(--text-primary);transition:all .2s ease}.resource-link[data-v-badf73b1]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.resource-icon[data-v-badf73b1]{font-size:1rem}.resource-name[data-v-badf73b1]{flex:1;font-size:.8rem;font-weight:500}.ranking-sources-section[data-v-badf73b1]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:2rem;margin-top:1rem}.section-header[data-v-badf73b1]{margin-bottom:1.5rem}.section-header h3[data-v-badf73b1]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.section-description[data-v-badf73b1]{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.ranking-sources-grid[data-v-badf73b1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.ranking-source-card[data-v-badf73b1]{display:flex;flex-direction:column;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--text-primary);transition:all .2s ease;min-height:160px}.ranking-source-card[data-v-badf73b1]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color);background:var(--bg-hover)}.source-header[data-v-badf73b1]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.source-icon[data-v-badf73b1]{width:2.5rem;height:2.5rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;flex-shrink:0}.source-info[data-v-badf73b1]{flex:1}.source-info h4[data-v-badf73b1]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.source-url[data-v-badf73b1]{font-size:.75rem;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:var(--bg-primary);padding:.125rem .375rem;border-radius:.25rem;border:1px solid var(--border-color)}.source-description[data-v-badf73b1]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1rem;flex:1}.source-features[data-v-badf73b1]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.feature-tag[data-v-badf73b1]{font-size:.75rem;padding:.25rem .5rem;background:var(--primary-color-alpha);color:var(--primary-color);border-radius:.25rem;font-weight:500}.ranking-note[data-v-badf73b1]{background:var(--warning-color-alpha);border:1px solid var(--warning-color);border-radius:.5rem;padding:1.25rem;margin-top:1.5rem}.ranking-note p[data-v-badf73b1]{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin:0}.ranking-note strong[data-v-badf73b1]{color:var(--warning-color);font-weight:600}@media(max-width:768px){.converter-content[data-v-badf73b1]{padding:1rem}.languages-list[data-v-badf73b1]{grid-template-columns:1fr}.language-header[data-v-badf73b1]{flex-direction:column;align-items:flex-start;gap:.75rem}.language-meta[data-v-badf73b1]{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}.info-grid[data-v-badf73b1],.resources-grid[data-v-badf73b1]{grid-template-columns:1fr}.ranking-sources-section[data-v-badf73b1]{padding:1.5rem}.ranking-sources-grid[data-v-badf73b1]{grid-template-columns:1fr;gap:1rem}.ranking-source-card[data-v-badf73b1]{padding:1.25rem;min-height:auto}.source-header[data-v-badf73b1]{gap:.75rem}.source-icon[data-v-badf73b1]{width:2.5rem;height:2.5rem;font-size:1rem}.source-info h4[data-v-badf73b1]{font-size:1rem}.ranking-note[data-v-badf73b1]{padding:1rem}}.markdown-editor[data-v-e0f0e04b]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.editor-container[data-v-e0f0e04b]{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-panes[data-v-e0f0e04b]{display:flex;flex:1;min-height:0}.editor-pane[data-v-e0f0e04b],.preview-pane[data-v-e0f0e04b]{flex:1;display:flex;flex-direction:column;min-height:0}.editor-content[data-v-e0f0e04b]{flex:1;display:flex;position:relative;min-height:0}.line-numbers[data-v-e0f0e04b]{width:50px;background:var(--bg-secondary);border-right:1px solid var(--border-color);color:var(--text-muted);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6;padding:16px 8px 16px 0;text-align:right;user-select:none;overflow:hidden;flex-shrink:0}.line-number[data-v-e0f0e04b]{height:22.4px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px}.preview-pane[data-v-e0f0e04b]{border-left:1px solid var(--border-color)}.pane-header[data-v-e0f0e04b]{padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:.05em;display:flex;align-items:center;gap:16px}.pane-header>span[data-v-e0f0e04b]{text-transform:uppercase}.sample-btn[data-v-e0f0e04b]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:11px;font-weight:500}.sample-btn[data-v-e0f0e04b]:hover{background:var(--primary-bg-light);border-color:var(--primary-color);color:var(--primary-color)}.sample-btn:hover svg[data-v-e0f0e04b]{color:var(--primary-color)}.editor-toolbar[data-v-e0f0e04b]{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;height:40px;box-sizing:border-box}.toolbar-btn[data-v-e0f0e04b]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-size:11px;font-weight:600}.toolbar-btn[data-v-e0f0e04b]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toolbar-btn[data-v-e0f0e04b]:active{background:var(--bg-secondary);transform:scale(.95)}.toolbar-divider[data-v-e0f0e04b]{width:1px;height:20px;background:var(--border-color);margin:0 4px}.emoji-wrapper[data-v-e0f0e04b],.table-wrapper[data-v-e0f0e04b],.code-block-wrapper[data-v-e0f0e04b],.datetime-wrapper[data-v-e0f0e04b]{position:relative}.toolbar-btn.active[data-v-e0f0e04b]{background:var(--bg-secondary);color:var(--text-primary)}.toolbar-btn.preview-toggle.active[data-v-e0f0e04b]{background:var(--primary-bg-light);color:var(--primary-color)}.toolbar-btn.preview-toggle[data-v-e0f0e04b]:hover{background:var(--bg-tertiary);color:var(--primary-color)}.emoji-menu[data-v-e0f0e04b]{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;margin-top:4px;width:280px}.emoji-categories[data-v-e0f0e04b]{display:flex;border-bottom:1px solid var(--border-color);padding:8px;gap:4px}.emoji-category-btn[data-v-e0f0e04b]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .15s ease}.emoji-category-btn[data-v-e0f0e04b]:hover{background:var(--bg-tertiary)}.emoji-category-btn.active[data-v-e0f0e04b]{background:var(--bg-secondary)}.emoji-grid[data-v-e0f0e04b]{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:12px;max-height:200px;overflow-y:auto}.emoji-item[data-v-e0f0e04b]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .15s ease}.emoji-item[data-v-e0f0e04b]:hover{background:var(--bg-tertiary)}.table-menu[data-v-e0f0e04b]{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;margin-top:4px;padding:12px}.table-size-selector[data-v-e0f0e04b]{display:flex;flex-direction:column;align-items:center;gap:8px}.table-grid[data-v-e0f0e04b]{display:flex;flex-direction:column;gap:2px}.table-row[data-v-e0f0e04b]{display:flex;gap:2px}.table-cell[data-v-e0f0e04b]{width:16px;height:16px;border:1px solid var(--border-color);cursor:pointer;transition:all .15s ease}.table-cell[data-v-e0f0e04b]:hover,.table-cell.active[data-v-e0f0e04b]{background:var(--primary-color);border-color:var(--primary-color)}.table-info[data-v-e0f0e04b]{font-size:12px;color:var(--text-secondary);font-weight:500;text-align:center;min-width:80px}.code-block-menu[data-v-e0f0e04b]{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;min-width:120px;max-height:200px;overflow-y:auto;margin-top:4px}.code-lang-item[data-v-e0f0e04b]{padding:8px 12px;cursor:pointer;font-size:12px;color:var(--text-primary);transition:background-color .15s ease}.code-lang-item[data-v-e0f0e04b]:hover{background:var(--bg-tertiary)}.code-lang-item[data-v-e0f0e04b]:first-child{border-radius:6px 6px 0 0}.code-lang-item[data-v-e0f0e04b]:last-child{border-radius:0 0 6px 6px}.preview-toolbar[data-v-e0f0e04b]{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;height:40px;box-sizing:border-box}.preview-info[data-v-e0f0e04b]{font-size:11px;color:var(--text-muted);font-weight:500}.editor-textarea[data-v-e0f0e04b]{flex:1;border:none;outline:none;padding:16px 16px 16px 12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);resize:none;margin:0}.editor-textarea[data-v-e0f0e04b]::placeholder{color:var(--text-muted)}.preview-content[data-v-e0f0e04b]{flex:1;padding:16px;overflow-y:auto;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}.preview-content[data-v-e0f0e04b] h1{font-size:2em;font-weight:700;margin:0 0 16px;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:8px}.preview-content[data-v-e0f0e04b] h2{font-size:1.5em;font-weight:600;margin:24px 0 12px;color:var(--text-primary)}.preview-content[data-v-e0f0e04b] h3{font-size:1.25em;font-weight:600;margin:20px 0 8px;color:var(--text-primary)}.preview-content[data-v-e0f0e04b] p{margin:0 0 12px;color:var(--text-primary)}.preview-content[data-v-e0f0e04b] ul,.preview-content[data-v-e0f0e04b] ol{margin:0 0 12px;padding-left:24px}.preview-content[data-v-e0f0e04b] li{margin:4px 0}.preview-content[data-v-e0f0e04b] code{background:var(--bg-tertiary);color:var(--primary-color);padding:2px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.preview-content[data-v-e0f0e04b] pre{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:12px;margin:12px 0;overflow-x:auto}.preview-content[data-v-e0f0e04b] pre code{background:none;color:var(--text-primary);padding:0}.preview-content[data-v-e0f0e04b] blockquote{border-left:4px solid var(--border-color);background:var(--bg-secondary);margin:12px 0;padding:8px 16px;color:var(--text-secondary)}.preview-content[data-v-e0f0e04b] table{width:100%;border-collapse:collapse;margin:12px 0}.preview-content[data-v-e0f0e04b] th,.preview-content[data-v-e0f0e04b] td{border:1px solid var(--border-color);padding:8px 12px;text-align:left}.preview-content[data-v-e0f0e04b] th{background:var(--bg-secondary);font-weight:600}.preview-content[data-v-e0f0e04b] a{color:var(--primary-color);text-decoration:none}.preview-content[data-v-e0f0e04b] a:hover{text-decoration:underline}.preview-content[data-v-e0f0e04b] hr{border:none;border-top:1px solid var(--border-color);margin:24px 0}.preview-content[data-v-e0f0e04b] strong{font-weight:600;color:var(--text-primary)}.preview-content[data-v-e0f0e04b] em{font-style:italic}.preview-content[data-v-e0f0e04b] del{text-decoration:line-through;color:var(--text-secondary)}.preview-content[data-v-e0f0e04b] img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:1em 0}.datetime-menu[data-v-e0f0e04b]{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;min-width:200px;margin-top:4px}.datetime-item[data-v-e0f0e04b]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid var(--bg-tertiary)}.datetime-item[data-v-e0f0e04b]:last-child{border-bottom:none;border-radius:0 0 6px 6px}.datetime-item[data-v-e0f0e04b]:first-child{border-radius:6px 6px 0 0}.datetime-item[data-v-e0f0e04b]:hover{background:var(--bg-tertiary)}.datetime-label[data-v-e0f0e04b]{font-size:12px;color:var(--text-primary);font-weight:500}.datetime-preview[data-v-e0f0e04b]{font-size:11px;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace}@media(max-width:768px){.editor-panes[data-v-e0f0e04b]{flex-direction:column}.editor-toolbar[data-v-e0f0e04b]{flex-wrap:wrap;gap:2px}.toolbar-btn[data-v-e0f0e04b]{width:24px;height:24px}.pane-header[data-v-e0f0e04b]{padding:8px 12px;font-size:12px}.editor-textarea[data-v-e0f0e04b],.preview-content[data-v-e0f0e04b]{padding:12px;font-size:13px}}.table-of-contents[data-v-e0f0e04b]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin:16px 0;max-width:100%}.toc-title[data-v-e0f0e04b]{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.toc-list[data-v-e0f0e04b]{list-style:none;padding:0;margin:0}.toc-list li[data-v-e0f0e04b]{margin:4px 0}.toc-level-1[data-v-e0f0e04b]{margin-left:0}.toc-level-2[data-v-e0f0e04b]{margin-left:16px}.toc-level-3[data-v-e0f0e04b]{margin-left:32px}.toc-level-4[data-v-e0f0e04b]{margin-left:48px}.toc-level-5[data-v-e0f0e04b]{margin-left:64px}.toc-level-6[data-v-e0f0e04b]{margin-left:80px}.toc-link[data-v-e0f0e04b]{color:var(--text-secondary);text-decoration:none;font-size:14px;line-height:1.5;display:block;padding:2px 0;transition:color .2s ease}.toc-link[data-v-e0f0e04b]:hover{color:var(--primary-color);text-decoration:underline}.toc-empty[data-v-e0f0e04b]{color:var(--text-tertiary);font-style:italic;text-align:center;padding:20px}.preview-content h1[data-v-e0f0e04b],.preview-content h2[data-v-e0f0e04b],.preview-content h3[data-v-e0f0e04b],.preview-content h4[data-v-e0f0e04b],.preview-content h5[data-v-e0f0e04b],.preview-content h6[data-v-e0f0e04b]{scroll-margin-top:20px}.preview-content h1[data-v-e0f0e04b]:target,.preview-content h2[data-v-e0f0e04b]:target,.preview-content h3[data-v-e0f0e04b]:target,.preview-content h4[data-v-e0f0e04b]:target,.preview-content h5[data-v-e0f0e04b]:target,.preview-content h6[data-v-e0f0e04b]:target{background-color:var(--highlight-bg);padding:4px 8px;margin:-4px -8px;border-radius:4px;animation:highlight-fade-e0f0e04b 2s ease-out}@keyframes highlight-fade-e0f0e04b{0%{background-color:var(--primary-color-light)}to{background-color:transparent}}.teleprompter[data-v-825672ef]{width:100%;height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden;background:var(--bg-primary)}.teleprompter.fullscreen[data-v-825672ef],.teleprompter[data-v-825672ef]:fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.converter-content[data-v-825672ef]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.formatter-actions[data-v-825672ef]{display:flex;gap:.5rem}.control-panel[data-v-825672ef]{padding:20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:30px;align-items:center;flex-wrap:wrap}.control-group[data-v-825672ef]{display:flex;align-items:center;gap:10px}.control-group label[data-v-825672ef]{font-size:14px;color:var(--text-secondary);min-width:60px}.control-action-btn[data-v-825672ef]{padding:4px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:12px;margin-right:8px}.control-action-btn[data-v-825672ef]:hover{background:var(--border-color);color:var(--text-primary)}.speed-slider[data-v-825672ef],.font-slider[data-v-825672ef]{width:100px;height:4px;background:var(--border-color);border-radius:2px;outline:none;cursor:pointer}.speed-value[data-v-825672ef],.font-value[data-v-825672ef]{font-size:12px;color:var(--text-secondary);min-width:30px;text-align:center}.color-picker[data-v-825672ef]{width:40px;height:30px;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:none}.text-input-area[data-v-825672ef]{padding:20px;background:var(--bg-primary)}.script-textarea[data-v-825672ef]{width:100%;min-height:150px;padding:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;line-height:1.6;resize:vertical;font-family:inherit}.script-textarea[data-v-825672ef]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.teleprompter-display[data-v-825672ef]{flex:1;position:relative;overflow:hidden;background:#000;color:#fff;cursor:pointer;min-height:400px;height:100%}.teleprompter-display.mirrored[data-v-825672ef]{transform:scaleX(-1)}.teleprompter-display.vertical-flipped[data-v-825672ef]{transform:scaleY(-1)}.teleprompter-display.mirrored.vertical-flipped[data-v-825672ef]{transform:scaleX(-1) scaleY(-1)}.scrolling-text[data-v-825672ef]{position:absolute;top:0;left:0;right:0;transition:none;padding:0 40px;width:100%;box-sizing:border-box}.scrolling-text.playing[data-v-825672ef]{transition:transform .05s linear}.text-content[data-v-825672ef]{text-align:center;line-height:1.8;word-wrap:break-word}.text-content p[data-v-825672ef]{margin:0 0 1.5em;padding:0}.text-end[data-v-825672ef]{text-align:center;margin-top:100px;opacity:.7;font-style:italic}.focus-overlay-local[data-v-825672ef]{position:absolute;inset:0;pointer-events:none;z-index:100;display:flex;flex-direction:column}.overlay-top[data-v-825672ef]{flex:1;background:linear-gradient(to bottom,#000c,#0009 60%,#0006 80%,#0003 95%,#0000)}.reading-zone[data-v-825672ef]{background:transparent;position:relative;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 4px #ffffff1a,inset 0 -1px 4px #ffffff1a,0 0 15px #ffffff1a}.reading-zone[data-v-825672ef]:before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%)}.reading-zone[data-v-825672ef]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%)}.overlay-bottom[data-v-825672ef]{flex:1;background:linear-gradient(to top,#000c,#0009 60%,#0006 80%,#0003 95%,#0000)}.fullscreen-controls[data-v-825672ef]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#000000d9;padding:12px 20px;border-radius:50px;backdrop-filter:blur(10px);z-index:10001;border:1px solid rgba(255,255,255,.1)}.fs-control-btn[data-v-825672ef]{padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.fs-control-btn[data-v-825672ef]:hover{background:#fff3;border-color:#fff6}.fs-control-btn.active[data-v-825672ef]{background:#3b82f64d;border-color:#3b82f680;color:#60a5fa}@media(max-width:768px){.control-panel[data-v-825672ef]{flex-direction:column;gap:15px;align-items:stretch}.control-group[data-v-825672ef]{justify-content:space-between}.input-actions[data-v-825672ef]{flex-wrap:wrap}.scrolling-text[data-v-825672ef]{padding:0 20px}.fullscreen-controls[data-v-825672ef]{flex-wrap:wrap;gap:10px}}.teleprompter.fullscreen .converter-content[data-v-825672ef],.teleprompter:fullscreen .converter-content[data-v-825672ef]{height:100vh}.teleprompter.fullscreen .teleprompter-display[data-v-825672ef],.teleprompter:fullscreen .teleprompter-display[data-v-825672ef]{height:100vh}.screen-test[data-v-5d31f4cf]{width:100%;height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden;background:var(--bg-primary)}.screen-test.fullscreen[data-v-5d31f4cf],.screen-test[data-v-5d31f4cf]:fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.converter-content[data-v-5d31f4cf]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.main-content-area[data-v-5d31f4cf]{flex:1;display:flex;overflow:hidden;min-height:0}.test-controls[data-v-5d31f4cf]{width:320px;flex-shrink:0;padding:16px;background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow-y:auto}.controls-container[data-v-5d31f4cf]{display:flex;flex-direction:column;gap:16px;max-width:400px}.control-panel[data-v-5d31f4cf]{background:var(--bg-primary);padding:16px;border-radius:6px;border:1px solid var(--border-color);width:100%;display:flex;flex-direction:column}.control-panel[data-v-5d31f4cf]:first-child{flex:1;min-height:0}.control-panel h4[data-v-5d31f4cf]{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--text-primary)}.suite-select[data-v-5d31f4cf],.test-select[data-v-5d31f4cf]{width:100%;max-width:200px;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;margin-bottom:12px}.duration-setting[data-v-5d31f4cf]{margin-bottom:12px}.duration-setting label[data-v-5d31f4cf]{display:block;margin-bottom:6px;font-size:13px;color:var(--text-secondary)}.duration-range[data-v-5d31f4cf]{width:100%;height:4px;background:var(--border-color);border-radius:2px;outline:none;cursor:pointer}.auto-buttons[data-v-5d31f4cf],.manual-buttons[data-v-5d31f4cf]{display:flex;gap:8px;margin-bottom:12px}.start-btn[data-v-5d31f4cf]{flex:1;padding:10px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.start-btn[data-v-5d31f4cf]:hover:not(:disabled){background:var(--primary-color-dark)}.start-btn[data-v-5d31f4cf]:disabled{opacity:.6;cursor:not-allowed}.stop-btn[data-v-5d31f4cf]{padding:10px 12px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.stop-btn[data-v-5d31f4cf]:hover{background:#dc2626}.nav-button[data-v-5d31f4cf]{flex:none;min-width:80px;padding:8px 16px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.nav-button[data-v-5d31f4cf]:hover:not(:disabled){background:var(--border-color)}.nav-button[data-v-5d31f4cf]:disabled{opacity:.5;cursor:not-allowed}.shortcuts[data-v-5d31f4cf]{margin-top:8px}.shortcuts small[data-v-5d31f4cf]{color:var(--text-secondary);font-size:11px}.test-hints[data-v-5d31f4cf]{margin-top:12px;padding:12px 14px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color);min-height:80px;flex:1}.hint-section strong[data-v-5d31f4cf]{color:var(--text-primary);font-size:13px;font-weight:600;display:block;margin:8px 0}.hint-section p strong[data-v-5d31f4cf]{padding:8px 12px;border:2px solid var(--primary-color);border-radius:4px;background:rgba(var(--primary-color-rgb),.1);display:inline-block}.hint-section p[data-v-5d31f4cf]{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.hint-section p strong[data-v-5d31f4cf]{display:inline;margin:8px 0}.hint-section p[data-v-5d31f4cf]:has(strong){margin:8px 0}.auto-test-config[data-v-5d31f4cf]{margin-bottom:12px}.suite-selection[data-v-5d31f4cf]{margin-bottom:10px}.suite-selection label[data-v-5d31f4cf]{display:block;margin-bottom:4px;font-size:12px;color:var(--text-secondary);font-weight:500}.auto-test-status[data-v-5d31f4cf]{margin-top:12px;padding:10px 12px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color)}.status-info[data-v-5d31f4cf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.status-info strong[data-v-5d31f4cf]{font-size:13px;color:var(--text-primary)}.progress-info[data-v-5d31f4cf]{font-size:12px;color:var(--text-secondary);background:var(--bg-primary);padding:2px 6px;border-radius:3px;border:1px solid var(--border-color)}.countdown-info[data-v-5d31f4cf]{font-size:12px;color:var(--text-secondary);text-align:center}.test-display[data-v-5d31f4cf]{flex:1;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;padding-bottom:40px;box-sizing:border-box}.screen-test.fullscreen .test-display[data-v-5d31f4cf],.screen-test:fullscreen .test-display[data-v-5d31f4cf]{padding-bottom:0}.test-display.stability-test[data-v-5d31f4cf]{align-items:stretch;justify-content:stretch}.test-info[data-v-5d31f4cf]{position:absolute;top:20px;left:20px;background:#000c;color:#fff;padding:15px 20px;border-radius:8px;font-size:14px;z-index:10}.test-info h3[data-v-5d31f4cf]{margin:0 0 8px;font-size:16px}.test-info p[data-v-5d31f4cf]{margin:4px 0}.fullscreen-controls[data-v-5d31f4cf]{position:fixed;bottom:30px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:15px;background:#000000d9;padding:15px 25px;border-radius:50px;backdrop-filter:blur(10px);z-index:10001;border:1px solid rgba(255,255,255,.1)}.fs-control-btn[data-v-5d31f4cf]{padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.fs-control-btn[data-v-5d31f4cf]:hover{background:#fff3;border-color:#fff6}.test-name[data-v-5d31f4cf]{color:#fff;font-size:14px;font-weight:500;text-align:center}.test-info-fs[data-v-5d31f4cf]{display:flex;flex-direction:column;align-items:center;gap:5px}.auto-progress[data-v-5d31f4cf]{font-size:12px;color:#fffc}.pattern-info[data-v-5d31f4cf]{color:#fff;font-size:14px;font-weight:500;padding:4px 8px;border:1px solid white;border-radius:3px}@media(max-width:768px){.main-content-area[data-v-5d31f4cf]{flex-direction:column}.test-controls[data-v-5d31f4cf]{width:100%;border-right:none;border-bottom:1px solid var(--border-color)}.control-panel[data-v-5d31f4cf]{min-width:auto;max-width:none}.test-controls[data-v-5d31f4cf],.control-panel[data-v-5d31f4cf]{padding:16px}.fullscreen-controls[data-v-5d31f4cf]{flex-wrap:wrap;gap:10px;bottom:20px;padding:12px 20px}}.color-bars-test[data-v-5d31f4cf]{width:100%;height:100%;display:flex;flex-direction:column}.color-bar[data-v-5d31f4cf]{flex:1;width:100%}.geometry-test[data-v-5d31f4cf]{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;background:#f0f0f0}.shapes[data-v-5d31f4cf]{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-bottom:40px}.shape[data-v-5d31f4cf]{width:80px;height:80px;border:2px solid #333}.circle[data-v-5d31f4cf]{border-radius:50%}.triangle[data-v-5d31f4cf]{width:0;height:0;border-left:40px solid transparent;border-right:40px solid transparent;border-bottom:80px solid #333;border-top:none}.diamond[data-v-5d31f4cf]{transform:rotate(45deg)}.lines[data-v-5d31f4cf]{position:absolute;inset:0;pointer-events:none}.line[data-v-5d31f4cf]{position:absolute;background:#333}.horizontal[data-v-5d31f4cf]{top:50%;left:10%;right:10%;height:2px}.vertical[data-v-5d31f4cf]{left:50%;top:10%;bottom:10%;width:2px}.diagonal1[data-v-5d31f4cf]{top:10%;left:10%;width:80%;height:2px;transform-origin:left;transform:rotate(45deg)}.diagonal2[data-v-5d31f4cf]{top:10%;right:10%;width:80%;height:2px;transform-origin:right;transform:rotate(-45deg)}.contrast-test-professional[data-v-5d31f4cf]{width:100%;height:100%;display:flex;align-items:stretch;justify-content:stretch;padding:10px 10px 50px;background:#fff}.screen-test.fullscreen .contrast-test-professional[data-v-5d31f4cf],.screen-test:fullscreen .contrast-test-professional[data-v-5d31f4cf]{padding:10px}.brightness-test[data-v-5d31f4cf]{width:100%;height:calc(100% - 40px);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;padding:10px;background:#f0f0f0;box-sizing:border-box}.screen-test.fullscreen .brightness-test[data-v-5d31f4cf],.screen-test:fullscreen .brightness-test[data-v-5d31f4cf]{height:100%}.brightness-gradient[data-v-5d31f4cf]{flex:1;background:linear-gradient(to right,#000,#fff);margin-bottom:10px}.brightness-levels[data-v-5d31f4cf]{display:flex;gap:1px;flex:1}.brightness-block[data-v-5d31f4cf]{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#333}.gray-scale-grid[data-v-5d31f4cf]{width:100%;height:calc(100% - 20px);display:flex;flex-direction:column;gap:2px}.screen-test.fullscreen .gray-scale-grid[data-v-5d31f4cf],.screen-test:fullscreen .gray-scale-grid[data-v-5d31f4cf]{height:100%}.gray-row[data-v-5d31f4cf]{flex:1;display:flex;width:100%;gap:2px}.gray-block[data-v-5d31f4cf]{flex:1;position:relative;display:flex;align-items:center;justify-content:center}.gray-label[data-v-5d31f4cf]{text-align:center;font-size:12px;font-weight:700;color:#000}.percentage[data-v-5d31f4cf]{font-size:13px;margin-bottom:3px}.rgb-value[data-v-5d31f4cf]{font-size:11px;opacity:.8}.saturation-test[data-v-5d31f4cf]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px 10px 40px;background:#f0f0f0}.saturation-bars[data-v-5d31f4cf]{display:flex;flex-direction:column;gap:8px;width:100%;height:100%}.saturation-bar[data-v-5d31f4cf]{display:flex;gap:1px;flex:1}.saturation-block[data-v-5d31f4cf]{flex:1;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.3);min-height:60px}.screen-test.fullscreen .saturation-test[data-v-5d31f4cf],.screen-test:fullscreen .saturation-test[data-v-5d31f4cf]{padding:10px}.micro-pattern-test[data-v-5d31f4cf]{width:100%;height:100%;display:flex;align-items:stretch;justify-content:stretch;background:#f0f0f0;box-sizing:border-box}.screen-test.fullscreen .micro-pattern-test[data-v-5d31f4cf],.screen-test:fullscreen .micro-pattern-test[data-v-5d31f4cf]{height:100%}.micro-patterns[data-v-5d31f4cf]{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:10px;width:100%;height:100%}.pattern-display[data-v-5d31f4cf]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:20px;position:relative}.pattern-section[data-v-5d31f4cf]{display:flex;flex-direction:column;align-items:center;justify-content:center}.pattern-title[data-v-5d31f4cf]{font-weight:700;color:#333;font-size:16px;flex-shrink:0}.pattern-counter[data-v-5d31f4cf]{font-size:14px;color:#666;flex-shrink:0;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.micro-grid-1px[data-v-5d31f4cf],.micro-grid-2px[data-v-5d31f4cf],.micro-lines[data-v-5d31f4cf],.micro-checkerboard[data-v-5d31f4cf]{flex:1;width:100%;background-color:#fff}.micro-grid-1px[data-v-5d31f4cf]{background-image:linear-gradient(rgba(0,0,0,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,1) 1px,transparent 1px);background-size:2px 2px}.micro-grid-2px[data-v-5d31f4cf]{background-image:linear-gradient(rgba(0,0,0,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,1) 1px,transparent 1px);background-size:4px 4px}.micro-lines[data-v-5d31f4cf]{background-image:repeating-linear-gradient(0deg,#000 0px 1px,#fff 1px 2px);background-size:100% 2px}.micro-checkerboard[data-v-5d31f4cf]{background-image:linear-gradient(45deg,#000 25%,transparent 25%),linear-gradient(-45deg,#000 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#000 75%),linear-gradient(-45deg,transparent 75%,#000 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0px}@media(max-width:768px){.micro-patterns[data-v-5d31f4cf]{grid-template-columns:1fr;gap:20px}.micro-grid-1px[data-v-5d31f4cf],.micro-grid-2px[data-v-5d31f4cf],.micro-lines[data-v-5d31f4cf],.micro-checkerboard[data-v-5d31f4cf]{width:250px;height:250px}}.settings-container[data-v-67123926]{height:100%;overflow-y:auto;background:var(--bg-primary)}.settings-content[data-v-67123926]{padding:24px;max-width:800px;margin:0 auto}.settings-section[data-v-67123926]{margin-bottom:32px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.section-title[data-v-67123926]{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.section-icon[data-v-67123926]{font-size:20px}.setting-item[data-v-67123926]{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border-color)}.setting-item[data-v-67123926]:last-child{border-bottom:none;padding-bottom:0}.setting-info[data-v-67123926]{flex:1}.setting-label[data-v-67123926]{display:block;font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.setting-desc[data-v-67123926]{font-size:14px;color:var(--text-secondary);line-height:1.4}.setting-control[data-v-67123926]{flex-shrink:0;margin-left:24px}.setting-select[data-v-67123926]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px 12px;color:var(--text-primary);font-size:14px;min-width:120px;cursor:pointer;transition:var(--transition)}.setting-select[data-v-67123926]:hover{border-color:var(--border-hover)}.setting-select[data-v-67123926]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.toggle-switch[data-v-67123926]{position:relative;display:inline-block;width:48px;height:24px;cursor:pointer}.toggle-switch input[data-v-67123926]{opacity:0;width:0;height:0}.toggle-slider[data-v-67123926]{position:absolute;cursor:pointer;inset:0;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:var(--transition);border-radius:24px}.toggle-slider[data-v-67123926]:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background:#fff;transition:var(--transition);border-radius:50%;box-shadow:0 2px 4px #0000001a}input:checked+.toggle-slider[data-v-67123926]{background:var(--primary-color);border-color:var(--primary-color)}input:checked+.toggle-slider[data-v-67123926]:before{transform:translate(24px)}.action-btn[data-v-67123926]{display:flex;align-items:center;gap:8px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.action-btn[data-v-67123926]:hover{background:var(--primary-hover);transform:translateY(-1px)}.action-btn.danger[data-v-67123926]{background:var(--danger-color)}.action-btn.danger[data-v-67123926]:hover{background:var(--danger-hover)}.about-info[data-v-67123926]{display:flex;flex-direction:column;gap:16px}.about-item[data-v-67123926]{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-color)}.about-item[data-v-67123926]:last-child{border-bottom:none;padding-bottom:0}.about-label[data-v-67123926]{font-size:14px;color:var(--text-secondary);font-weight:500}.about-value[data-v-67123926]{font-size:14px;color:var(--text-primary);font-weight:500}.about-link[data-v-67123926]{display:flex;align-items:center;gap:6px;color:var(--primary-color);text-decoration:none;font-size:14px;font-weight:500;transition:var(--transition)}.about-link[data-v-67123926]:hover{color:var(--primary-hover);text-decoration:underline}@media(max-width:640px){.settings-content[data-v-67123926]{padding:16px}.settings-section[data-v-67123926]{padding:16px;margin-bottom:16px}.setting-item[data-v-67123926]{flex-direction:column;align-items:flex-start;gap:12px}.setting-control[data-v-67123926]{margin-left:0;width:100%}.setting-select[data-v-67123926]{width:100%}.about-item[data-v-67123926]{flex-direction:column;align-items:flex-start;gap:8px}}.countries-capitals[data-v-691908b6]{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg-primary)}.content-wrapper[data-v-691908b6]{flex:1;overflow-y:auto;display:flex;justify-content:center;padding-bottom:8rem}.reference-content[data-v-691908b6]{max-width:1000px;width:100%;padding:1.5rem 1.5rem 3rem}.countries-section[data-v-691908b6]{margin-bottom:4rem}.advanced-filters[data-v-691908b6]{display:flex;align-items:center;gap:1rem;padding:0}.filter-group[data-v-691908b6]{display:flex;align-items:center;gap:.5rem;min-width:auto}.filter-label[data-v-691908b6]{font-size:.75rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.filter-select[data-v-691908b6]{padding:.25rem .375rem;border:1px solid var(--border-color);border-radius:.25rem;background:var(--bg-primary);color:var(--text-primary);font-size:.75rem;transition:all .2s}.filter-select[data-v-691908b6]:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 1px #3b82f61a}.sort-btn[data-v-691908b6]{padding:.25rem .375rem;border:1px solid var(--border-color);border-radius:.25rem;background:var(--bg-primary);color:var(--text-primary);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:2rem;display:flex;align-items:center;justify-content:center;margin-top:0}.sort-btn[data-v-691908b6]:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.sort-btn.desc[data-v-691908b6]{background:var(--accent-color)!important;color:#fff!important;border-color:var(--accent-color)!important}.section-header[data-v-691908b6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.header-left[data-v-691908b6]{display:flex;align-items:center;gap:1rem}.header-left h3[data-v-691908b6]{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.section-info[data-v-691908b6]{display:flex;align-items:center;gap:1rem}.info-text[data-v-691908b6]{font-size:.875rem;color:var(--text-secondary)}.countries-grid[data-v-691908b6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-bottom:2rem}.country-card[data-v-691908b6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem;transition:all .2s ease;cursor:pointer}.country-card[data-v-691908b6]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--accent-color)}.card-header[data-v-691908b6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.country-index[data-v-691908b6]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--accent-color);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.country-region[data-v-691908b6]{background:var(--bg-tertiary);color:var(--text-secondary);padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.card-content[data-v-691908b6]{display:flex;flex-direction:column;gap:.75rem}.country-main[data-v-691908b6]{display:flex;align-items:flex-start;gap:.75rem}.country-flag-section[data-v-691908b6]{flex-shrink:0}.flag-image[data-v-691908b6]{width:3rem;height:2rem;object-fit:cover;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;border:1px solid var(--border-color)}.country-details[data-v-691908b6]{flex:1;display:flex;flex-direction:column;gap:.5rem}.country-names[data-v-691908b6]{display:flex;flex-direction:column;gap:.125rem}.country-name[data-v-691908b6]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.country-name-en[data-v-691908b6]{margin:0;font-size:.8rem;color:var(--text-secondary);font-style:italic}.capital-info[data-v-691908b6]{display:flex;flex-direction:column;gap:.125rem}.capital-main[data-v-691908b6]{display:flex;align-items:center;gap:.375rem}.capital-icon[data-v-691908b6]{font-size:.875rem;opacity:.7}.capital-names[data-v-691908b6]{display:flex;flex-direction:column;gap:.125rem}.capital-name[data-v-691908b6]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.capital-name-en[data-v-691908b6]{font-size:.75rem;color:var(--text-secondary);font-style:italic}.country-stats[data-v-691908b6]{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color);margin-top:.25rem}.stat-item[data-v-691908b6]{display:flex;align-items:center;gap:.25rem;flex:1}.stat-icon[data-v-691908b6]{font-size:.75rem;opacity:.7}.stat-value[data-v-691908b6]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.pagination[data-v-691908b6]{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--border-color);margin-top:1rem;margin-bottom:1rem}.no-pagination-spacer[data-v-691908b6]{height:2rem}.page-btn[data-v-691908b6]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:.375rem;transition:all .2s}.page-btn[data-v-691908b6]:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-color)}.page-btn[data-v-691908b6]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-691908b6]{color:var(--text-secondary);font-size:.875rem;min-width:4rem;text-align:center}.modal-body[data-v-691908b6]{padding:1.5rem}.modal-title[data-v-691908b6]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.modal-flag-section[data-v-691908b6]{display:flex;flex-direction:column;align-items:center;gap:.25rem}.flag-image-large[data-v-691908b6]{width:4rem;height:2.5rem;object-fit:cover;border-radius:.375rem;box-shadow:0 4px 8px #00000026;border:1px solid var(--border-color)}.title-text h3[data-v-691908b6]{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.title-text p[data-v-691908b6]{margin:.25rem 0 0;font-size:1rem;color:var(--text-secondary);font-style:italic}.country-info-grid[data-v-691908b6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.info-item[data-v-691908b6]{background:var(--bg-secondary);padding:1rem;border-radius:.5rem;border:1px solid var(--border-color)}.info-label[data-v-691908b6]{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-bottom:.5rem}.info-value[data-v-691908b6]{font-size:1rem;font-weight:500;color:var(--text-primary);display:flex;flex-direction:column;gap:.25rem}.info-value-en[data-v-691908b6]{font-size:.875rem;color:var(--text-secondary);font-style:italic;font-weight:400}.country-history[data-v-691908b6]{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color)}.history-label[data-v-691908b6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.history-content[data-v-691908b6]{font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.no-info[data-v-691908b6]{text-align:center;padding:2rem;color:var(--text-secondary)}.no-info p[data-v-691908b6]{margin:0;font-style:italic}@media(max-width:768px){.reference-content[data-v-691908b6]{padding:1rem 1rem 8rem}.advanced-filters[data-v-691908b6]{flex-direction:column;gap:.75rem;padding:0}.filter-group[data-v-691908b6]{min-width:auto}.sort-btn[data-v-691908b6]{margin-top:0;align-self:flex-start}.countries-grid[data-v-691908b6]{grid-template-columns:1fr;gap:.75rem}.country-card[data-v-691908b6]{padding:.875rem}.card-header[data-v-691908b6]{margin-bottom:.5rem}.card-content[data-v-691908b6],.country-main[data-v-691908b6]{gap:.5rem}.flag-image[data-v-691908b6]{width:2.5rem;height:1.75rem}.country-name[data-v-691908b6]{font-size:.9rem}.country-name-en[data-v-691908b6]{font-size:.75rem}.capital-name[data-v-691908b6]{font-size:.8rem}.capital-name-en[data-v-691908b6]{font-size:.7rem}.country-stats[data-v-691908b6]{gap:.5rem;padding-top:.375rem}.stat-value[data-v-691908b6]{font-size:.7rem}.country-info-grid[data-v-691908b6]{grid-template-columns:1fr;gap:.75rem}.flag-image-large[data-v-691908b6]{width:3.5rem;height:2.25rem}.title-text h3[data-v-691908b6]{font-size:1.25rem}}.emoji-reference[data-v-9fdcb846]{width:100%;height:100vh;display:flex;flex-direction:column}.converter-content[data-v-9fdcb846]{flex:1;overflow-y:auto;padding:1.5rem 0 4rem}.content-wrapper[data-v-9fdcb846]{max-width:1000px;margin:0 auto;padding:0 20px}.emoji-grid-container[data-v-9fdcb846]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:2rem}.emoji-grid[data-v-9fdcb846]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.emoji-item[data-v-9fdcb846]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);text-align:center}.emoji-item[data-v-9fdcb846]:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.emoji-symbol[data-v-9fdcb846]{font-size:32px;line-height:1}.emoji-name[data-v-9fdcb846]{font-size:12px;color:var(--text-secondary);font-weight:500;word-break:break-all}.no-results[data-v-9fdcb846]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center}.no-results-icon[data-v-9fdcb846]{font-size:48px;opacity:.5}.no-results p[data-v-9fdcb846]{margin:0;color:var(--text-secondary);font-size:16px}@media(max-width:768px){.converter-content[data-v-9fdcb846]{padding:16px}.emoji-grid[data-v-9fdcb846]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.emoji-item[data-v-9fdcb846]{padding:12px 6px}.emoji-symbol[data-v-9fdcb846]{font-size:28px}}@media(max-width:480px){.emoji-grid[data-v-9fdcb846]{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.emoji-symbol[data-v-9fdcb846]{font-size:24px}.emoji-name[data-v-9fdcb846]{font-size:11px}}[data-v-9fdcb846] .category-filter{display:flex;gap:.375rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.25rem}[data-v-9fdcb846] .category-filter::-webkit-scrollbar{display:none}[data-v-9fdcb846] .category-btn{padding:.5rem .875rem;font-size:.8125rem;white-space:nowrap;flex-shrink:0;min-width:fit-content}@media(max-width:768px){[data-v-9fdcb846] .category-btn{padding:.375rem .75rem;font-size:.75rem}}@media(max-width:480px){[data-v-9fdcb846] .category-btn{padding:.25rem .5rem;font-size:.7rem}}.ip-lookup[data-v-f18bcfbc]{width:100%;height:100vh;display:flex;flex-direction:column}.converter-content[data-v-f18bcfbc]{flex:1;overflow-y:auto;padding:1.5rem 0 6rem}.content-wrapper[data-v-f18bcfbc]{max-width:1000px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;gap:32px}.current-ip-section[data-v-f18bcfbc],.query-section[data-v-f18bcfbc],.history-section[data-v-f18bcfbc]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.section-header[data-v-f18bcfbc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:16px}.section-header h2[data-v-f18bcfbc]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.api-source-selector[data-v-f18bcfbc]{display:flex;align-items:center;gap:8px}.api-source-selector label[data-v-f18bcfbc]{font-size:14px;color:var(--text-secondary);white-space:nowrap}.select-wrapper[data-v-f18bcfbc]{position:relative;display:inline-block}.source-select[data-v-f18bcfbc]{appearance:none;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:6px 32px 6px 12px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:var(--transition);min-width:200px}.source-select[data-v-f18bcfbc]:hover{border-color:var(--primary-color)}.source-select[data-v-f18bcfbc]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.select-arrow[data-v-f18bcfbc]{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary)}.current-ip-section h2[data-v-f18bcfbc],.query-section h2[data-v-f18bcfbc],.history-section h2[data-v-f18bcfbc]{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.api-results[data-v-f18bcfbc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.ip-card[data-v-f18bcfbc]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;transition:var(--transition)}.ip-card.primary-source[data-v-f18bcfbc]{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color-alpha)}.loading-card[data-v-f18bcfbc]{position:relative;overflow:hidden}.source-header[data-v-f18bcfbc]{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.source-name[data-v-f18bcfbc]{font-weight:600;color:var(--text-primary);font-size:14px}.primary-badge[data-v-f18bcfbc]{background:var(--primary-color);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500}.error-badge[data-v-f18bcfbc]{background:var(--error-color);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500}.ip-main[data-v-f18bcfbc]{margin-bottom:16px}.ip-address-container[data-v-f18bcfbc]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ip-address[data-v-f18bcfbc]{font-size:20px;font-weight:600;color:var(--primary-color)}.copy-btn[data-v-f18bcfbc]{padding:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.copy-btn[data-v-f18bcfbc]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.error-info[data-v-f18bcfbc]{padding:12px;background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:var(--radius-sm)}.error-message[data-v-f18bcfbc]{font-size:14px;color:var(--error-color);margin-bottom:8px}.visit-link[data-v-f18bcfbc]{display:inline-block;padding:6px 12px;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-size:12px;font-weight:500;transition:var(--transition)}.visit-link[data-v-f18bcfbc]:hover{background:var(--primary-hover)}.ip-details[data-v-f18bcfbc]{display:flex;flex-direction:column;gap:8px}.detail-item[data-v-f18bcfbc]{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color)}.detail-item[data-v-f18bcfbc]:last-child{border-bottom:none}.label[data-v-f18bcfbc]{font-size:13px;color:var(--text-secondary);font-weight:500}.value[data-v-f18bcfbc]{font-size:13px;color:var(--text-primary);font-weight:500;text-align:right}.loading[data-v-f18bcfbc]{display:flex;align-items:center;gap:12px;padding:40px 20px;justify-content:center;color:var(--text-secondary)}.error[data-v-f18bcfbc]{display:flex;align-items:center;gap:12px;padding:20px;background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:var(--radius-md);color:var(--error-color)}.retry-btn[data-v-f18bcfbc]{padding:6px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:var(--transition)}.retry-btn[data-v-f18bcfbc]:hover{background:var(--primary-hover)}.query-form[data-v-f18bcfbc]{margin-bottom:24px}.input-group[data-v-f18bcfbc]{display:flex;gap:12px;margin-bottom:12px}.input-group input[data-v-f18bcfbc]{flex:1;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition)}.input-group input[data-v-f18bcfbc]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.input-group input[data-v-f18bcfbc]:disabled{opacity:.6;cursor:not-allowed}.query-btn[data-v-f18bcfbc]{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:var(--transition);min-width:80px;display:flex;align-items:center;justify-content:center}.query-btn[data-v-f18bcfbc]:hover:not(:disabled){background:var(--primary-hover)}.query-btn[data-v-f18bcfbc]:disabled{opacity:.6;cursor:not-allowed}.ip-examples[data-v-f18bcfbc]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ip-examples span[data-v-f18bcfbc]{font-size:14px;color:var(--text-secondary)}.example-btn[data-v-f18bcfbc]{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:12px;transition:var(--transition)}.example-btn[data-v-f18bcfbc]:hover{background:var(--bg-hover);color:var(--text-primary)}.query-result[data-v-f18bcfbc]{margin-top:20px}.history-list[data-v-f18bcfbc]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.history-item[data-v-f18bcfbc]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition)}.history-item[data-v-f18bcfbc]:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.history-content[data-v-f18bcfbc]{display:flex;align-items:center;gap:16px;flex:1;cursor:pointer}.history-ip[data-v-f18bcfbc]{font-weight:500;color:var(--primary-color);min-width:120px}.history-location[data-v-f18bcfbc]{flex:1;color:var(--text-secondary);font-size:14px}.history-time[data-v-f18bcfbc]{font-size:12px;color:var(--text-muted)}.clear-history-btn[data-v-f18bcfbc]{padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:14px;transition:var(--transition)}.clear-history-btn[data-v-f18bcfbc]:hover{background:var(--bg-hover);color:var(--text-primary)}.spinner[data-v-f18bcfbc]{width:20px;height:20px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin-f18bcfbc 1s linear infinite}.spinner.small[data-v-f18bcfbc]{width:16px;height:16px}@keyframes spin-f18bcfbc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton-text[data-v-f18bcfbc]{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-hover) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading-f18bcfbc 1.5s infinite;border-radius:var(--radius-sm);height:16px;width:80px}.skeleton-content[data-v-f18bcfbc]{padding:4px 0}.skeleton-ip[data-v-f18bcfbc]{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-hover) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading-f18bcfbc 1.5s infinite;border-radius:var(--radius-sm);height:24px;width:140px;margin-bottom:8px}.skeleton-location[data-v-f18bcfbc]{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-hover) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading-f18bcfbc 1.5s infinite;border-radius:var(--radius-sm);height:16px;width:100px;margin-bottom:16px}.skeleton-details[data-v-f18bcfbc]{display:flex;flex-direction:column;gap:8px}.skeleton-detail-item[data-v-f18bcfbc]{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-hover) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading-f18bcfbc 1.5s infinite;border-radius:var(--radius-sm);height:14px;width:100%}.skeleton-detail-item[data-v-f18bcfbc]:nth-child(1){width:90%}.skeleton-detail-item[data-v-f18bcfbc]:nth-child(2){width:75%}.skeleton-detail-item[data-v-f18bcfbc]:nth-child(3){width:85%}@keyframes skeleton-loading-f18bcfbc{0%{background-position:-200% 0}to{background-position:200% 0}}@media(max-width:768px){.converter-content[data-v-f18bcfbc]{padding:16px 0 6rem}.content-wrapper[data-v-f18bcfbc]{gap:24px;padding:0 16px}.current-ip-section[data-v-f18bcfbc],.query-section[data-v-f18bcfbc],.history-section[data-v-f18bcfbc]{padding:16px}.section-header[data-v-f18bcfbc]{flex-direction:column;align-items:flex-start;gap:12px}.api-source-selector[data-v-f18bcfbc]{width:100%;justify-content:space-between}.source-select[data-v-f18bcfbc]{min-width:180px;flex:1}.api-results[data-v-f18bcfbc]{grid-template-columns:1fr}.input-group[data-v-f18bcfbc]{flex-direction:column}.history-content[data-v-f18bcfbc]{flex-direction:column;align-items:flex-start;gap:8px}.history-ip[data-v-f18bcfbc]{min-width:auto}.copy-btn[data-v-f18bcfbc]{min-width:28px;height:28px}}@media(max-width:480px){.ip-examples[data-v-f18bcfbc]{flex-direction:column;align-items:flex-start}.example-btn[data-v-f18bcfbc]{padding:6px 12px}}.settings-overlay[data-v-3e57a101]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.settings-modal[data-v-3e57a101]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:85vh;overflow:hidden;box-shadow:var(--shadow-xl);display:flex;flex-direction:column}.settings-header[data-v-3e57a101]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.settings-content[data-v-3e57a101]{flex:1;overflow-y:auto;min-height:0}.settings-header h2[data-v-3e57a101]{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.close-btn[data-v-3e57a101]{width:32px;height:32px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.close-btn[data-v-3e57a101]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.app-container[data-v-3e57a101]{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.main-content[data-v-3e57a101]{flex:1;display:flex;min-height:0}.content-area[data-v-3e57a101]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.main-content[data-v-3e57a101]>*:not(.content-area):not(.navigation){flex:1;width:100%;min-width:0} diff --git a/docs/assets/style-U17luIT5.css b/docs/assets/style-U17luIT5.css deleted file mode 100644 index 33a2fcd..0000000 --- a/docs/assets/style-U17luIT5.css +++ /dev/null @@ -1 +0,0 @@ -:root,:root.dark,:root[data-theme=dark]{--primary-color: #6366f1;--primary-color-dark: #4f46e5;--primary-color-alpha: rgba(99, 102, 241, .1);--primary-hover: #4f46e5;--primary-light: #818cf8;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-alpha: rgba(99, 102, 241, .1);--bg-primary: #0f172a;--bg-secondary: #1e293b;--bg-tertiary: #334155;--bg-quaternary: #475569;--bg-card: #1e293b;--bg-hover: #475569;--bg-error: #1e1b1b;--text-primary: #f1f5f9;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--text-tertiary: #64748b;--text-error: #fca5a5;--border-color: #334155;--border-hover: #475569;--border-error: #7f1d1d;--success-color: #10b981;--success-color-dark: #059669;--success-color-alpha: rgba(16, 185, 129, .1);--warning-color: #f59e0b;--warning-color-dark: #d97706;--warning-color-alpha: rgba(245, 158, 11, .1);--error-color: #ef4444;--error-color-dark: #dc2626;--error-color-alpha: rgba(239, 68, 68, .1);--color-error: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1)}:root.light,:root[data-theme=light]{--primary-color: #6366f1;--primary-color-dark: #4f46e5;--primary-color-alpha: rgba(99, 102, 241, .1);--primary-hover: #4f46e5;--primary-light: #818cf8;--color-primary: #6366f1;--color-primary-hover: #4f46e5;--color-primary-alpha: rgba(99, 102, 241, .1);--bg-primary: #ffffff;--bg-secondary: #f8fafc;--bg-tertiary: #f1f5f9;--bg-quaternary: #e2e8f0;--bg-card: #ffffff;--bg-hover: #e2e8f0;--bg-error: #fef2f2;--text-primary: #0f172a;--text-secondary: #334155;--text-muted: #64748b;--text-tertiary: #94a3b8;--text-error: #dc2626;--border-color: #e2e8f0;--border-hover: #cbd5e1;--border-error: #fecaca;--success-color: #10b981;--success-color-dark: #059669;--success-color-alpha: rgba(16, 185, 129, .1);--warning-color: #f59e0b;--warning-color-dark: #d97706;--warning-color-alpha: rgba(245, 158, 11, .1);--error-color: #ef4444;--error-color-dark: #dc2626;--error-color-alpha: rgba(239, 68, 68, .1);--color-error: #ef4444;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .25)}:root{--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--transition: all .2s cubic-bezier(.4, 0, .2, 1);--transition-fast: all .15s cubic-bezier(.4, 0, .2, 1);--transition-slow: all .3s cubic-bezier(.4, 0, .2, 1)}*{margin:0;padding:0;box-sizing:border-box}html,body{width:100%;height:100%;overflow:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-primary);color:var(--text-primary);transition:var(--transition)}button{font-family:inherit}.action-btn-small,.quick-btn,.control-btn,.convert-btn,.swap-btn,.now-btn,.parse-btn,.add-btn,.file-action-btn,.url-safe-btn{font-weight:500!important;border-width:1px!important}:root.light .action-btn-small,:root.light .quick-btn,:root.light .swap-btn,:root.light .now-btn{color:var(--text-primary)!important;border-color:var(--border-hover)!important}:root.light .action-btn-small:hover,:root.light .quick-btn:hover,:root.light .swap-btn:hover,:root.light .now-btn:hover{border-color:var(--primary-color)!important;box-shadow:0 2px 4px #6366f133!important}#app{width:100%;height:100%}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:var(--radius-sm)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-sm);transition:var(--transition)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}::selection{background:var(--primary-color);color:#fff}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes bounce{0%,20%,53%,80%,to{transform:translateZ(0)}40%,43%{transform:translate3d(0,-8px,0)}70%{transform:translate3d(0,-4px,0)}90%{transform:translate3d(0,-2px,0)}}.fade-in{animation:fadeIn .3s ease-out}.slide-in{animation:slideIn .3s ease-out}.pulse{animation:pulse 2s infinite}.spin{animation:spin 1s linear infinite}.bounce{animation:bounce 1s ease-in-out}*,*:before,*:after{transition:background-color var(--transition),border-color var(--transition),color var(--transition),box-shadow var(--transition),opacity var(--transition)}.no-transition,.no-transition *{transition:none!important}html{transition:background-color var(--transition-slow)}body{transition:background-color var(--transition-slow),color var(--transition-slow)}:root[data-theme=light] .card-background{background:linear-gradient(135deg,#6366f108,#6366f114)!important}:root[data-theme=light] .status-dot.ready{background:#059669;box-shadow:0 0 8px #0596694d}:root[data-theme=light] .status-dot.development{background:#d97706;box-shadow:0 0 8px #d977064d}:root,:root.dark,:root[data-theme=dark]{--hljs-bg: transparent;--hljs-color: #abb2bf;--hljs-keyword: #c678dd;--hljs-string: #98c379;--hljs-number: #d19a66;--hljs-literal: #56b6c2;--hljs-punctuation: #abb2bf;--hljs-attr: #e06c75}:root.light,:root[data-theme=light]{--hljs-bg: transparent;--hljs-color: #383a42;--hljs-keyword: #a626a4;--hljs-string: #50a14f;--hljs-number: #986801;--hljs-literal: #0184bc;--hljs-punctuation: #383a42;--hljs-attr: #e45649}.hljs{background:var(--hljs-bg)!important;color:var(--hljs-color)!important}.hljs-number{color:var(--hljs-number)!important}.hljs-literal{color:var(--hljs-literal)!important}.hljs-keyword{color:var(--hljs-keyword)!important}.hljs-punctuation{color:var(--hljs-punctuation)!important}.hljs-attr{color:var(--hljs-attr)!important}.hljs-attr,.hljs-name{color:var(--hljs-attr)!important;font-weight:500}.hljs-string{color:var(--hljs-string)!important}.hljs-number{color:var(--hljs-number)!important;font-weight:500}.hljs-literal{color:var(--hljs-literal)!important;font-weight:600}@media(max-width:768px){html{font-size:14px}}@media(max-width:480px){html{font-size:13px}}:root,:root.dark,:root[data-theme=dark]{--jsoneditor-bg: #1e293b;--jsoneditor-bg-secondary: #334155;--jsoneditor-text: #f1f5f9;--jsoneditor-text-secondary: #cbd5e1;--jsoneditor-border: #475569;--jsoneditor-hover: #475569;--jsoneditor-selected: #6366f1}:root.light,:root[data-theme=light]{--jsoneditor-bg: #ffffff;--jsoneditor-bg-secondary: #f8fafc;--jsoneditor-text: #0f172a;--jsoneditor-text-secondary: #64748b;--jsoneditor-border: #e2e8f0;--jsoneditor-hover: #f1f5f9;--jsoneditor-selected: #6366f1}.jsoneditor{background:var(--jsoneditor-bg)!important;border:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text)!important}.jsoneditor-tree,.jsoneditor-outer{background:var(--jsoneditor-bg)!important;background-image:none!important}.jsoneditor-tree table,.jsoneditor-tree td{background:transparent!important;background-image:none!important}.jsoneditor-menu{background:var(--jsoneditor-bg-secondary)!important;border-bottom:1px solid var(--jsoneditor-border)!important}.jsoneditor-tree{background:var(--jsoneditor-bg)!important;color:var(--jsoneditor-text)!important}.jsoneditor-field,.jsoneditor-value,.jsoneditor-readonly{color:var(--jsoneditor-text)!important}.jsoneditor-field[contenteditable=true]:focus,.jsoneditor-value[contenteditable=true]:focus{background:var(--jsoneditor-hover)!important;outline:1px solid var(--jsoneditor-selected)!important}.jsoneditor-tree button.jsoneditor-button{background:var(--jsoneditor-bg-secondary)!important;border:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text)!important}.jsoneditor-tree button.jsoneditor-button:hover{background:var(--jsoneditor-hover)!important}.jsoneditor-tree .jsoneditor-selected{background:#6366f11a!important}.jsoneditor-tree .jsoneditor-highlight{background:#6366f133!important}.jsoneditor-contextmenu{background:var(--jsoneditor-bg)!important;border:1px solid var(--jsoneditor-border)!important;box-shadow:var(--shadow-lg)!important}.jsoneditor-contextmenu .jsoneditor-menu li button{background:transparent!important;color:var(--jsoneditor-text)!important}.jsoneditor-contextmenu .jsoneditor-menu li button:hover{background:var(--jsoneditor-hover)!important}.jsoneditor-search{background:var(--jsoneditor-bg-secondary)!important;border:1px solid var(--jsoneditor-border)!important}.jsoneditor-search input{background:var(--jsoneditor-bg)!important;border:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text)!important}.jsoneditor-search input:focus{border-color:var(--jsoneditor-selected)!important;outline:none!important}.jsoneditor-statusbar{background:var(--jsoneditor-bg-secondary)!important;border-top:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text-secondary)!important}.jsoneditor-code .ace_editor{background:var(--jsoneditor-bg)!important;color:var(--jsoneditor-text)!important}.jsoneditor-code .ace_gutter{background:var(--jsoneditor-bg-secondary)!important;color:var(--jsoneditor-text-secondary)!important}.jsoneditor-code .ace_gutter-active-line{background:var(--jsoneditor-hover)!important}.jsoneditor-code .ace_cursor{color:var(--jsoneditor-text)!important}.jsoneditor-code .ace_selection{background:#6366f133!important}.jsoneditor-form{background:var(--jsoneditor-bg)!important}.jsoneditor-form .jsoneditor-field,.jsoneditor-form .jsoneditor-value{background:var(--jsoneditor-bg)!important;border:1px solid var(--jsoneditor-border)!important;color:var(--jsoneditor-text)!important}.jsoneditor-form .jsoneditor-field:focus,.jsoneditor-form .jsoneditor-value:focus{border-color:var(--jsoneditor-selected)!important;outline:none!important}.jsoneditor ::-webkit-scrollbar{width:8px;height:8px}.jsoneditor ::-webkit-scrollbar-track{background:var(--jsoneditor-bg-secondary)}.jsoneditor ::-webkit-scrollbar-thumb{background:var(--jsoneditor-border);border-radius:4px}.jsoneditor ::-webkit-scrollbar-thumb:hover{background:var(--jsoneditor-hover)}.jsoneditor-tree .jsoneditor-button.jsoneditor-collapsed:before,.jsoneditor-tree .jsoneditor-button.jsoneditor-expanded:before{color:var(--jsoneditor-text-secondary)!important}.jsoneditor-tree .jsoneditor-separator{color:var(--jsoneditor-text-secondary)!important}.jsoneditor-validation-errors{background:var(--jsoneditor-bg)!important;border:1px solid #ef4444!important;color:#ef4444!important}.jsoneditor-validation-error{background:#ef44441a!important}.jsoneditor-tree-inner{background:var(--jsoneditor-bg)!important;background-image:none!important}.jsoneditor-tree .jsoneditor-tree-inner{background:var(--jsoneditor-bg)!important}.jsoneditor table,.jsoneditor tbody,.jsoneditor tr,.jsoneditor td{background:transparent!important;background-image:none!important}.jsoneditor-tree .jsoneditor-tree-inner{padding:8px!important}.jsoneditor-tree .jsoneditor-tree-inner table{border-collapse:collapse!important}.jsoneditor-tree .jsoneditor-tree-inner td{border:none!important;padding:2px 4px!important}.json-editor *,.jsoneditor *,.jsoneditor-tree *,.jsoneditor-outer *,.jsoneditor-tree-inner *{background-image:none!important}.jsoneditor-tree{background:var(--jsoneditor-bg)!important;background-image:none!important;background-repeat:no-repeat!important;background-size:auto!important;background-position:0 0!important}.json-editor-container .jsoneditor{background:var(--jsoneditor-bg)!important;background-image:none!important}.jsoneditor-tree table,.jsoneditor-tree tbody,.jsoneditor-tree tr,.jsoneditor-tree td,.jsoneditor-tree th{background:transparent!important;background-image:none!important;background-color:transparent!important}.json-editor-element .jsoneditor{width:100%!important;height:100%!important;position:absolute!important;inset:0!important}.json-editor-element .jsoneditor-outer{width:100%!important;height:100%!important}.json-editor-element .jsoneditor-tree{width:100%!important;height:calc(100% - 40px)!important}.json-editor-element .jsoneditor{width:100%!important;height:500px!important;border:1px solid var(--border-color)!important}:root{--primary-color: #3b82f6;--primary-hover: #2563eb;--danger-color: #ef4444;--danger-hover: #dc2626;--success-color: #10b981;--warning-color: #f59e0b;--bg-color: #ffffff;--bg-secondary: #f8fafc;--bg-hover: #f1f5f9;--text-color: #1e293b;--text-secondary: #64748b;--text-muted: #94a3b8;--border-color: #e2e8f0;--border-hover: #cbd5e1;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1)}[data-theme=dark]{--bg-color: #0f172a;--bg-secondary: #1e293b;--bg-hover: #334155;--text-color: #f8fafc;--text-secondary: #cbd5e1;--text-muted: #94a3b8;--border-color: #334155;--border-hover: #475569}.input-field{width:100%;padding:.75rem 1rem;border:1px solid var(--border-color);border-radius:.5rem;background:var(--bg-color);color:var(--text-color);font-size:.9rem;transition:all .2s ease;resize:vertical;min-height:2.5rem}.input-field:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.input-field:disabled{background:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.input-field.readonly{background:var(--bg-secondary);cursor:default}.textarea-field{min-height:8rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;line-height:1.5}.input-output-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media(max-width:768px){.input-output-grid{grid-template-columns:1fr}}.form-group{margin-bottom:1rem}.form-label{display:block;font-size:.875rem;font-weight:500;color:var(--text-color);margin-bottom:.5rem}.form-help{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem}.status-indicator{display:flex;align-items:center;gap:.5rem;font-size:.875rem;padding:.5rem .75rem;border-radius:.375rem}.status-success{background:#10b9811a;color:var(--success-color);border:1px solid rgb(16 185 129 / .2)}.status-error{background:#ef44441a;color:var(--danger-color);border:1px solid rgb(239 68 68 / .2)}.status-warning{background:#f59e0b1a;color:var(--warning-color);border:1px solid rgb(245 158 11 / .2)}.loading-spinner{display:inline-block;width:1rem;height:1rem;border:2px solid var(--border-color);border-radius:50%;border-top-color:var(--primary-color);animation:spin 1s ease-in-out infinite}@keyframes spin{to{transform:rotate(360deg)}}.tooltip{position:relative}.tooltip:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text-color);color:var(--bg-color);padding:.5rem .75rem;border-radius:.375rem;font-size:.75rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}.tooltip:hover:after{opacity:1}.hidden-mobile{display:block}@media(max-width:768px){.hidden-mobile{display:none}}.hidden-desktop{display:none}@media(max-width:768px){.hidden-desktop{display:block}}.navigation[data-v-c1f3591a]{width:240px;background:var(--bg-secondary);border-right:1px solid var(--border-color);display:flex;flex-direction:column;height:100%;position:relative}.nav-content[data-v-c1f3591a]{flex:1;padding:24px 16px;overflow-y:auto}.nav-list[data-v-c1f3591a]{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:8px}.nav-item-content[data-v-c1f3591a]{display:flex;align-items:center;padding:16px 20px;cursor:pointer;border-radius:var(--radius-lg);position:relative;background:transparent;border:1px solid transparent}.nav-item:hover .nav-item-content[data-v-c1f3591a]{background:var(--bg-tertiary);border-color:var(--border-color)}.nav-item.active .nav-item-content[data-v-c1f3591a]{background:linear-gradient(135deg,var(--primary-color),var(--primary-hover));border-color:var(--primary-light);box-shadow:var(--shadow-lg)}.nav-icon[data-v-c1f3591a]{font-size:20px;margin-right:16px;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.nav-name[data-v-c1f3591a]{font-size:15px;font-weight:600;color:var(--text-secondary);flex:1}.nav-item:hover .nav-name[data-v-c1f3591a]{color:var(--text-primary)}.nav-item.active .nav-name[data-v-c1f3591a]{color:#fff;font-weight:700}.active-indicator[data-v-c1f3591a]{position:absolute;right:12px;width:6px;height:6px;background:#fff;border-radius:50%;box-shadow:0 0 8px #ffffff80}.nav-footer[data-v-c1f3591a]{padding:16px;border-top:1px solid var(--border-color);background:var(--bg-tertiary)}.footer-buttons[data-v-c1f3591a]{display:flex;gap:12px}.footer-btn[data-v-c1f3591a]{flex:1;display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:transparent;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:13px;min-height:36px}.footer-btn[data-v-c1f3591a]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.footer-icon[data-v-c1f3591a]{font-size:14px}.footer-text[data-v-c1f3591a]{font-weight:500}@media(max-width:768px){.navigation[data-v-c1f3591a]{width:200px}.nav-item-content[data-v-c1f3591a]{padding:12px 16px}.nav-name[data-v-c1f3591a]{font-size:14px}.footer-btn[data-v-c1f3591a]{padding:6px 8px;font-size:12px;min-height:32px}.footer-icon[data-v-c1f3591a]{font-size:13px}}@media(max-width:640px){.navigation[data-v-c1f3591a]{width:60px}.nav-name[data-v-c1f3591a]{display:none}.nav-item-content[data-v-c1f3591a]{justify-content:center;padding:12px}.nav-icon[data-v-c1f3591a]{margin-right:0}.footer-buttons[data-v-c1f3591a]{flex-direction:column;gap:4px}.footer-text[data-v-c1f3591a]{display:none}.footer-btn[data-v-c1f3591a]{justify-content:center;padding:6px;min-height:28px}}.function-card[data-v-0829ad7f]{position:relative;background:var(--bg-card);border:1px solid var(--border-color);border-radius:16px;cursor:pointer;transition:all .2s ease;overflow:hidden;height:100px;box-shadow:0 2px 8px #0000000a}.function-card[data-v-0829ad7f]:hover{transform:translateY(-2px);box-shadow:0 8px 25px #0000001f;border-color:var(--border-hover)}.function-card[data-v-0829ad7f]:active{transform:translateY(-1px)}.status-badge[data-v-0829ad7f]{position:absolute;top:0;right:0;z-index:3;padding:6px 12px;font-size:10px;font-weight:600;letter-spacing:.02em;color:#fff;border-top-right-radius:16px;border-bottom-left-radius:12px;transform-origin:top right;box-shadow:0 2px 8px #00000026;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1;min-width:40px;height:24px}.card-content[data-v-0829ad7f]{padding:20px;height:100%;display:flex;align-items:center;gap:16px}.icon-circle[data-v-0829ad7f]{width:56px;height:56px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .3s ease}.card-icon[data-v-0829ad7f]{font-size:24px;transition:all .3s ease}.function-card:hover .icon-circle[data-v-0829ad7f]{transform:scale(1.05)}.content-area[data-v-0829ad7f]{flex:1;min-width:0}.card-title[data-v-0829ad7f]{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--text-primary);line-height:1.3}.card-description[data-v-0829ad7f]{margin:0;font-size:13px;color:var(--text-secondary);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}@media(max-width:640px){.function-card[data-v-0829ad7f]{height:90px}.card-content[data-v-0829ad7f]{padding:16px;gap:12px}.icon-circle[data-v-0829ad7f]{width:44px;height:44px}.card-icon[data-v-0829ad7f]{font-size:20px}.card-title[data-v-0829ad7f]{font-size:14px}.card-description[data-v-0829ad7f]{font-size:12px}.status-badge[data-v-0829ad7f]{padding:4px 8px;font-size:9px;min-width:32px;height:20px;border-bottom-left-radius:10px}}.card-grid[data-v-d17ea0f2]{flex:1;display:flex;flex-direction:column;height:100%;background:var(--bg-primary)}.grid-header[data-v-d17ea0f2]{padding:32px 32px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:24px}.header-content[data-v-d17ea0f2]{justify-self:start}.header-spacer[data-v-d17ea0f2]{justify-self:end;width:0}.search-container[data-v-d17ea0f2]{justify-self:center;width:480px;position:relative}.search-box[data-v-d17ea0f2]{position:relative;display:flex;align-items:center;background:var(--bg-primary);border:2px solid transparent;border-radius:24px;padding:0 24px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f;backdrop-filter:blur(8px)}.search-box[data-v-d17ea0f2]:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.search-box[data-v-d17ea0f2]:focus-within{border-color:var(--primary-color);box-shadow:0 0 0 4px #6366f11a,0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;transform:translateY(-1px)}.search-icon[data-v-d17ea0f2]{color:var(--text-muted);margin-right:16px;flex-shrink:0;transition:color .2s ease}.search-box:focus-within .search-icon[data-v-d17ea0f2]{color:var(--primary-color)}.search-input[data-v-d17ea0f2]{flex:1;background:transparent;border:none;outline:none;padding:16px 0;color:var(--text-primary);font-size:16px;font-weight:400;width:100%;letter-spacing:.01em}.search-input[data-v-d17ea0f2]::placeholder{color:var(--text-muted);font-weight:400;transition:color .2s ease}.search-box:focus-within .search-input[data-v-d17ea0f2]::placeholder{color:#6366f199}.clear-search[data-v-d17ea0f2]{background:var(--bg-tertiary);border:none;color:var(--text-muted);cursor:pointer;padding:8px;border-radius:12px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;margin-left:12px;opacity:.7}.clear-search[data-v-d17ea0f2]:hover{background:var(--border-color);color:var(--text-primary);opacity:1;transform:scale(1.05)}.search-results[data-v-d17ea0f2]{position:absolute;top:calc(100% + 16px);left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:20px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;z-index:1000;max-height:420px;overflow:hidden;backdrop-filter:blur(12px);animation:searchResultsIn-d17ea0f2 .2s cubic-bezier(.4,0,.2,1)}@keyframes searchResultsIn-d17ea0f2{0%{opacity:0;transform:translateY(-8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.search-result-item[data-v-d17ea0f2]{display:flex;align-items:center;padding:16px 20px;cursor:pointer;transition:all .15s ease;border-bottom:1px solid rgba(255,255,255,.05);position:relative}.search-result-item[data-v-d17ea0f2]:last-child{border-bottom:none}.search-result-item[data-v-d17ea0f2]:hover,.search-result-item.active[data-v-d17ea0f2]{background:linear-gradient(135deg,#6366f114,#6366f10a);transform:translate(4px)}.search-result-item.active[data-v-d17ea0f2]:before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(135deg,var(--primary-color),var(--primary-light));border-radius:0 2px 2px 0}.result-icon[data-v-d17ea0f2]{font-size:20px;margin-right:16px;flex-shrink:0;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-secondary);border-radius:12px;transition:all .2s ease}.search-result-item:hover .result-icon[data-v-d17ea0f2],.search-result-item.active .result-icon[data-v-d17ea0f2]{background:#6366f11a;transform:scale(1.05)}.result-content[data-v-d17ea0f2]{flex:1;min-width:0}.result-title[data-v-d17ea0f2]{font-size:15px;font-weight:600;color:var(--text-primary);margin-bottom:4px;line-height:1.4}.result-description[data-v-d17ea0f2]{font-size:13px;color:var(--text-muted);line-height:1.4;opacity:.8}.result-category[data-v-d17ea0f2]{font-size:11px;color:var(--primary-color);background:#6366f11a;padding:4px 8px;border-radius:8px;flex-shrink:0;margin-left:12px;font-weight:500;letter-spacing:.02em}.search-more[data-v-d17ea0f2]{padding:16px 20px;text-align:center;font-size:13px;color:var(--text-muted);background:var(--bg-secondary);border-top:1px solid var(--border-color);font-weight:500}.grid-title[data-v-d17ea0f2]{margin:0 0 8px;font-size:28px;color:var(--text-primary);font-weight:700;background:linear-gradient(135deg,var(--text-primary),var(--text-secondary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.grid-subtitle[data-v-d17ea0f2]{margin:0;font-size:16px;color:var(--text-muted);font-weight:500}.cards-container[data-v-d17ea0f2]{flex:1;padding:32px;overflow-y:auto;position:relative}.cards-grid[data-v-d17ea0f2]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:20px;max-width:1200px;margin:0 auto}.loading-overlay[data-v-d17ea0f2]{position:absolute;inset:0;background:#0f172acc;backdrop-filter:blur(4px);display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:10}.loading-spinner[data-v-d17ea0f2]{width:40px;height:40px;border:3px solid var(--border-color);border-top:3px solid var(--primary-color);border-radius:50%;animation:spin-d17ea0f2 1s linear infinite;margin-bottom:16px}.loading-text[data-v-d17ea0f2]{color:var(--text-secondary);font-size:16px;font-weight:500;margin:0}@keyframes spin-d17ea0f2{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:1024px){.cards-grid[data-v-d17ea0f2]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}.cards-container[data-v-d17ea0f2]{padding:24px}.grid-header[data-v-d17ea0f2]{padding:24px;grid-template-columns:1fr;gap:24px;text-align:center}.header-content[data-v-d17ea0f2]{justify-self:center}.header-spacer[data-v-d17ea0f2]{display:none}.search-container[data-v-d17ea0f2]{width:100%;max-width:480px;justify-self:center}}@media(max-width:640px){.search-container[data-v-d17ea0f2]{width:100%;max-width:none;padding:0 8px}.search-box[data-v-d17ea0f2]{padding:0 20px}.search-input[data-v-d17ea0f2]{padding:14px 0;font-size:16px}.search-results[data-v-d17ea0f2]{border-radius:16px;margin:0 8px;left:-8px;right:-8px}.result-icon[data-v-d17ea0f2]{width:36px;height:36px;font-size:18px}}@media(max-width:640px){.cards-grid[data-v-d17ea0f2]{grid-template-columns:1fr;gap:12px}.cards-container[data-v-d17ea0f2],.grid-header[data-v-d17ea0f2]{padding:16px}.grid-title[data-v-d17ea0f2]{font-size:24px}.grid-subtitle[data-v-d17ea0f2]{font-size:14px}}.theme-toggle-wrapper[data-v-e95a7d3b]{position:relative}.theme-toggle[data-v-e95a7d3b]{width:28px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.theme-toggle[data-v-e95a7d3b]:hover{background:var(--border-color);color:var(--text-primary)}.icon[data-v-e95a7d3b]{color:var(--text-secondary);transition:var(--transition)}.theme-toggle:hover .icon[data-v-e95a7d3b]{color:var(--text-primary)}.sun-icon[data-v-e95a7d3b]{color:#f59e0b}.moon-icon[data-v-e95a7d3b]{color:#64748b}[data-theme=dark] .moon-icon[data-v-e95a7d3b]{color:#e2e8f0}.theme-menu[data-v-e95a7d3b]{position:absolute;top:100%;right:0;margin-top:8px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);min-width:160px;z-index:1000;overflow:hidden}.menu-item[data-v-e95a7d3b]{display:flex;align-items:center;gap:8px;padding:12px 16px;cursor:pointer;transition:var(--transition);font-size:14px;color:var(--text-secondary)}.menu-item[data-v-e95a7d3b]:hover{background:var(--bg-hover);color:var(--text-primary)}.menu-item.active[data-v-e95a7d3b]{background:var(--primary-color-alpha);color:var(--primary-color)}.menu-item svg[data-v-e95a7d3b]{flex-shrink:0}.menu-item span[data-v-e95a7d3b]{flex:1;font-weight:500}.menu-item small[data-v-e95a7d3b]{font-size:12px;color:var(--text-muted);font-weight:400}.menu-item.active small[data-v-e95a7d3b]{color:var(--primary-color);opacity:.8}.header[data-v-cc11a75f]{height:64px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;backdrop-filter:blur(10px);position:relative;z-index:10}.header-left[data-v-cc11a75f]{display:flex;align-items:center;gap:24px}.logo[data-v-cc11a75f]{display:flex;align-items:center;gap:8px;cursor:pointer;padding:2px 4px;border-radius:var(--radius-sm)}.logo-icon[data-v-cc11a75f]{width:28px;height:28px;border-radius:var(--radius-md);display:flex;align-items:center;justify-content:center;padding:4px}.logo-icon img[data-v-cc11a75f]{width:20px;height:20px;object-fit:contain}.logo-text[data-v-cc11a75f]{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.breadcrumb[data-v-cc11a75f]{display:flex;align-items:center}.breadcrumb-text[data-v-cc11a75f]{font-size:14px;color:var(--text-muted);font-weight:500}.header-center[data-v-cc11a75f]{flex:1;display:flex;justify-content:center}.header-right[data-v-cc11a75f]{display:flex;align-items:center;gap:8px;min-width:0;flex-shrink:0}.github-star-btn[data-v-cc11a75f]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);text-decoration:none;font-size:12px;font-weight:500;white-space:nowrap}.github-star-btn svg[data-v-cc11a75f]{width:12px;height:12px}.star-badge[data-v-cc11a75f]{height:20px;border-radius:var(--radius-sm)}.tab-info[data-v-cc11a75f]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:8px 16px;text-align:center;min-width:200px;max-width:100%}.tab-title[data-v-cc11a75f]{font-size:14px;font-weight:600;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tab-url[data-v-cc11a75f]{font-size:12px;color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.notification-container[data-v-c2f08414]{position:fixed;bottom:1rem;right:1rem;z-index:9999;display:flex;flex-direction:column;gap:.75rem;max-width:400px;pointer-events:none}.notification[data-v-c2f08414]{display:flex;align-items:flex-start;gap:.75rem;padding:1rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:.75rem;box-shadow:var(--shadow-lg);pointer-events:auto;min-width:300px;backdrop-filter:blur(10px)}.notification-success .notification-icon[data-v-c2f08414]{color:var(--success-color)}.notification-error .notification-icon[data-v-c2f08414]{color:var(--danger-color)}.notification-warning .notification-icon[data-v-c2f08414]{color:var(--warning-color)}.notification-info .notification-icon[data-v-c2f08414]{color:var(--primary-color)}.notification-icon[data-v-c2f08414]{flex-shrink:0;margin-top:.125rem}.notification-content[data-v-c2f08414]{flex:1;min-width:0}.notification-title[data-v-c2f08414]{font-weight:600;font-size:.875rem;color:var(--text-color);margin-bottom:.25rem}.notification-message[data-v-c2f08414]{font-size:.875rem;color:var(--text-secondary);line-height:1.4;word-break:break-word}.notification-actions[data-v-c2f08414]{display:flex;gap:.5rem;margin-top:.75rem}.notification-action[data-v-c2f08414]{padding:.375rem .75rem;border-radius:.375rem;font-size:.75rem;font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.action-primary[data-v-c2f08414]{background:var(--primary-color);color:#fff}.action-primary[data-v-c2f08414]:hover{background:var(--primary-hover)}.action-secondary[data-v-c2f08414]{background:var(--bg-secondary);color:var(--text-color);border-color:var(--border-color)}.action-secondary[data-v-c2f08414]:hover{background:var(--bg-hover)}.notification-close[data-v-c2f08414]{flex-shrink:0;padding:.25rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:.25rem;transition:all .2s ease}.notification-close[data-v-c2f08414]:hover{background:var(--bg-secondary);color:var(--text-color)}.notification-enter-active[data-v-c2f08414],.notification-leave-active[data-v-c2f08414]{transition:all .3s ease}.notification-enter-from[data-v-c2f08414],.notification-leave-to[data-v-c2f08414]{transform:translateY(100%);opacity:0}.notification-move[data-v-c2f08414]{transition:transform .3s ease}@media(max-width:768px){.notification-container[data-v-c2f08414]{left:1rem;right:1rem;max-width:none}.notification[data-v-c2f08414]{min-width:auto}}.formatter-header[data-v-ef05a5f1]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary)}.back-btn[data-v-ef05a5f1]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:14px}.back-btn[data-v-ef05a5f1]:hover{background:var(--border-color);color:var(--text-primary)}.formatter-title[data-v-ef05a5f1]{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.formatter-actions[data-v-ef05a5f1]{display:flex;gap:8px}.action-btn[data-v-1ae41ac3]{width:36px;height:36px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.action-btn[data-v-1ae41ac3]:hover:not(:disabled){background:var(--border-color);color:var(--text-primary)}.action-btn[data-v-1ae41ac3]:disabled{opacity:.5;cursor:not-allowed}.json-node[data-v-00fc00b1]{font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5}.json-line[data-v-00fc00b1]{display:flex;align-items:center;min-height:21px;padding:1px 0;position:relative;cursor:pointer}.json-line[data-v-00fc00b1]:hover{background:#0000000d}.json-actions[data-v-00fc00b1]{position:absolute;right:8px;display:flex;gap:4px;background:var(--bg-primary);padding:2px;border-radius:var(--radius-sm);box-shadow:0 2px 8px #00000026;z-index:10}.action-btn[data-v-00fc00b1]{width:20px;height:20px;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.copy-btn[data-v-00fc00b1]{background:#e3f2fd;color:#1976d2}.copy-btn[data-v-00fc00b1]:hover{background:#bbdefb}.delete-btn[data-v-00fc00b1]{background:#ffebee;color:#d32f2f}.delete-btn[data-v-00fc00b1]:hover{background:#ffcdd2}.json-indent[data-v-00fc00b1]{flex-shrink:0}.json-toggle[data-v-00fc00b1]{width:16px;color:var(--text-muted);cursor:pointer;user-select:none;transition:transform .2s ease}.json-toggle.collapsed[data-v-00fc00b1]{transform:rotate(-90deg)}.json-key[data-v-00fc00b1]{color:#0969da;margin-right:4px}.json-bracket[data-v-00fc00b1]{color:var(--text-primary);font-weight:700}.json-collapsed-info[data-v-00fc00b1]{color:var(--text-muted);font-style:italic;margin:0 8px}.json-value[data-v-00fc00b1]{margin-left:4px}.json-value.string[data-v-00fc00b1]{color:#032f62}.json-value.number[data-v-00fc00b1]{color:#0550ae}.json-value.boolean[data-v-00fc00b1]{color:#8250df}.json-value.null[data-v-00fc00b1]{color:#6f42c1}.json-comma[data-v-00fc00b1]{color:var(--text-muted)}.json-leaf .json-line[data-v-00fc00b1]{cursor:pointer}.json-leaf .json-line[data-v-00fc00b1]:hover{background:#0000000d}.json-formatter[data-v-f7834aac]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.formatter-content[data-v-f7834aac]{flex:1;display:grid;grid-template-columns:45fr 55fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-f7834aac],.output-section[data-v-f7834aac]{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.section-header[data-v-f7834aac]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px;box-sizing:border-box}.section-header h3[data-v-f7834aac]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.result-controls[data-v-f7834aac]{display:flex;align-items:center;gap:16px}.view-mode-toggle[data-v-f7834aac]{display:flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.mode-btn[data-v-f7834aac]{padding:4px 12px;background:var(--bg-primary);border:none;color:var(--text-secondary);font-size:12px;cursor:pointer;transition:var(--transition)}.mode-btn[data-v-f7834aac]:first-child{border-right:1px solid var(--border-color)}.mode-btn[data-v-f7834aac]:hover{background:var(--bg-secondary);color:var(--text-primary)}.mode-btn.active[data-v-f7834aac]{background:var(--primary-color);color:#fff}.auto-format-indicator[data-v-f7834aac]{display:flex;align-items:center;gap:4px;color:var(--primary-color);font-weight:500}.auto-format-indicator svg[data-v-f7834aac]{animation:spin-f7834aac 1s linear infinite}.format-hint[data-v-f7834aac]{color:var(--text-muted);font-style:italic}@keyframes spin-f7834aac{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.section-actions[data-v-f7834aac]{display:flex;align-items:center;gap:12px}.button-group[data-v-f7834aac]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.group-btn[data-v-f7834aac]{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}.group-btn[data-v-f7834aac]:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.group-btn[data-v-f7834aac]:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.group-btn[data-v-f7834aac]:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-btn[data-v-f7834aac]:active{background:var(--bg-tertiary)}.json-input[data-v-f7834aac]{flex:1;padding:20px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;resize:none;outline:none}.json-input[data-v-f7834aac]::placeholder{color:var(--text-muted)}.error-message[data-v-f7834aac]{padding:12px 20px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:14px}.json-output-container[data-v-f7834aac]{flex:1;overflow:auto}.json-output-wrapper[data-v-f7834aac]{display:flex;flex-direction:column;height:100%}.json-tree-view[data-v-f7834aac],.json-text-view[data-v-f7834aac]{display:flex;height:100%;overflow:hidden}.line-numbers[data-v-f7834aac]{background:var(--bg-tertiary);border-right:1px solid var(--border-color);padding:20px 8px 20px 12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;color:var(--text-muted);user-select:none;min-width:40px;text-align:right;overflow-y:auto;overflow-x:hidden;flex-shrink:0;max-height:100%}.line-number[data-v-f7834aac]{height:21px}.json-tree-container[data-v-f7834aac]{flex:1;padding:20px;background:var(--bg-primary);color:var(--text-primary);overflow:auto}.json-output[data-v-f7834aac]{flex:1;width:100%;padding:20px;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-all;overflow:auto}.output-placeholder[data-v-f7834aac]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.result-info[data-v-f7834aac]{display:flex;gap:8px;font-size:12px;color:var(--text-muted)}.stat-item[data-v-f7834aac]{padding:2px 6px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.stat-item.simple[data-v-f7834aac]{background:#22c55e1a;color:#22c55e}.stat-item.medium[data-v-f7834aac]{background:#fbbf241a;color:#fbbf24}.stat-item.complex[data-v-f7834aac]{background:#ef44441a;color:#ef4444}[data-v-f7834aac] .hljs-attr{color:#0969da}[data-v-f7834aac] .hljs-string{color:#032f62}[data-v-f7834aac] .hljs-number{color:#0550ae}[data-v-f7834aac] .hljs-literal{color:#8250df}@media(max-width:768px){.formatter-content[data-v-f7834aac]{grid-template-columns:1fr}.button-group[data-v-f7834aac]{flex-wrap:wrap}}.excel-json-converter[data-v-3e659011]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.mode-toggle[data-v-3e659011]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-3e659011]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-3e659011]:last-child{border-right:none}.mode-btn.active[data-v-3e659011]{background:var(--primary-color);color:#fff}.mode-btn[data-v-3e659011]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.converter-content[data-v-3e659011]{flex:1;display:grid;grid-template-columns:4fr 6fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-3e659011],.output-section[data-v-3e659011]{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.excel-json-converter .section-header[data-v-3e659011]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px;box-sizing:border-box}.input-status[data-v-3e659011]{flex:1;display:flex;justify-content:center}.section-header h3[data-v-3e659011]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.section-actions[data-v-3e659011],.export-actions[data-v-3e659011]{display:flex;align-items:center;gap:8px;height:32px}.button-group[data-v-3e659011]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.group-btn[data-v-3e659011]{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}.group-btn[data-v-3e659011]:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.group-btn[data-v-3e659011]:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.group-btn[data-v-3e659011]:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-btn[data-v-3e659011]:active{background:var(--bg-tertiary)}.upload-btn[data-v-3e659011]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--primary-color);color:#fff;border:1px solid var(--primary-color);border-radius:var(--radius-sm);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition)}.upload-btn[data-v-3e659011]:hover{background:var(--primary-color-dark, #4f46e5)}.format-select[data-v-3e659011]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;height:36px;box-sizing:border-box}.json-input[data-v-3e659011]{flex:1;padding:20px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;resize:none;outline:none}.json-input[data-v-3e659011]::placeholder{color:var(--text-muted)}.upload-area[data-v-3e659011]{flex:1;margin:20px;border:2px dashed var(--border-color);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;transition:var(--transition);background:var(--bg-secondary)}.upload-area[data-v-3e659011]:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.upload-placeholder[data-v-3e659011]{text-align:center;padding:40px 20px;color:var(--text-muted)}.upload-placeholder svg[data-v-3e659011]{margin-bottom:16px;opacity:.5}.upload-placeholder h4[data-v-3e659011]{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.upload-placeholder p[data-v-3e659011]{margin:4px 0;font-size:14px}.file-types[data-v-3e659011]{font-size:12px;opacity:.7}.file-info[data-v-3e659011]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin:20px}.file-details[data-v-3e659011]{display:flex;align-items:center;gap:12px}.file-text[data-v-3e659011]{display:flex;flex-direction:column}.file-name[data-v-3e659011]{font-size:14px;font-weight:500;color:var(--text-primary)}.file-size[data-v-3e659011]{font-size:12px;color:var(--text-muted)}.remove-file-btn[data-v-3e659011]{width:24px;height:24px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;transition:var(--transition)}.remove-file-btn[data-v-3e659011]:hover{background:var(--error-color);color:#fff}.json-output-container[data-v-3e659011]{flex:1;overflow:auto;padding:20px}.json-output[data-v-3e659011]{height:100%;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:auto}.json-text[data-v-3e659011]{margin:0;padding:20px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:13px;line-height:1.5;color:var(--text-primary);background:var(--bg-secondary);white-space:pre-wrap;word-wrap:break-word}.output-placeholder[data-v-3e659011]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.output-placeholder svg[data-v-3e659011]{margin-bottom:16px;opacity:.5}.error-message[data-v-3e659011]{padding:12px 20px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:14px}.preview-container[data-v-3e659011]{flex:1;overflow:auto;padding:20px}.data-preview[data-v-3e659011]{height:100%}.preview-info[data-v-3e659011]{display:flex;gap:12px;margin-bottom:16px}.info-item[data-v-3e659011]{padding:4px 8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:12px;color:var(--text-muted)}.table-container[data-v-3e659011]{border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.preview-table[data-v-3e659011]{width:100%;border-collapse:collapse;font-size:13px}.preview-table th[data-v-3e659011]{background:var(--bg-secondary);padding:12px 8px;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color)}.preview-table td[data-v-3e659011]{padding:10px 8px;border-bottom:1px solid var(--border-color);color:var(--text-secondary);max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preview-table tr:last-child td[data-v-3e659011]{border-bottom:none}.more-rows[data-v-3e659011]{padding:12px;text-align:center;color:var(--text-muted);font-size:12px;background:var(--bg-secondary)}.preview-placeholder[data-v-3e659011]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center}.preview-placeholder svg[data-v-3e659011]{margin-bottom:16px;opacity:.5}@media(max-width:768px){.converter-content[data-v-3e659011]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.postman-json-converter[data-v-299922a2]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.mode-toggle[data-v-299922a2]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-299922a2]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-299922a2]:last-child{border-right:none}.mode-btn.active[data-v-299922a2]{background:var(--primary-color);color:#fff}.mode-btn[data-v-299922a2]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.converter-content[data-v-299922a2]{flex:1;display:grid;grid-template-columns:4fr 6fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-299922a2],.output-section[data-v-299922a2]{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.postman-json-converter .section-header[data-v-299922a2]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px;box-sizing:border-box}.section-header h3[data-v-299922a2]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.section-actions[data-v-299922a2]{display:flex;align-items:center;gap:8px;height:32px;flex-wrap:nowrap}.result-info[data-v-299922a2]{display:flex;gap:6px;font-size:11px;color:var(--text-muted);white-space:nowrap}.stat-item[data-v-299922a2]{padding:1px 4px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:11px;line-height:1.2}.button-group[data-v-299922a2]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.group-btn[data-v-299922a2]{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}.group-btn[data-v-299922a2]:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.group-btn[data-v-299922a2]:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.group-btn[data-v-299922a2]:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-btn[data-v-299922a2]:active{background:var(--bg-tertiary)}.code-textarea[data-v-299922a2]{flex:1;padding:20px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;resize:none;outline:none}.code-textarea[data-v-299922a2]::placeholder{color:var(--text-muted)}.error-message[data-v-299922a2]{padding:12px 20px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:14px}.output-container[data-v-299922a2]{flex:1;overflow:auto}.code-output[data-v-299922a2]{width:100%;height:100%;padding:20px;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.output-placeholder[data-v-299922a2]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:40px 20px}.output-placeholder svg[data-v-299922a2]{margin-bottom:16px;opacity:.5}@media(max-width:768px){.converter-content[data-v-299922a2]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}}.php-json-converter[data-v-55900acb]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.mode-toggle[data-v-55900acb]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-55900acb]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-55900acb]:last-child{border-right:none}.mode-btn.active[data-v-55900acb]{background:var(--primary-color);color:#fff}.mode-btn[data-v-55900acb]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.converter-layout[data-v-55900acb]{flex:1;display:grid;grid-template-columns:4fr 6fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-55900acb],.output-section[data-v-55900acb]{background:var(--bg-primary);display:flex;flex-direction:column;min-height:0}.section-header[data-v-55900acb]{display:flex;align-items:center;justify-content:space-between;padding:8px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:48px;box-sizing:border-box}.section-header h3[data-v-55900acb]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.section-actions[data-v-55900acb]{display:flex;align-items:center;gap:8px}.result-info[data-v-55900acb]{display:flex;gap:6px;font-size:11px;color:var(--text-muted);white-space:nowrap}.stat-item[data-v-55900acb]{padding:1px 4px;background:var(--bg-tertiary);border-radius:var(--radius-sm);font-size:11px;line-height:1.2}.button-group[data-v-55900acb]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.group-btn[data-v-55900acb]{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}.group-btn[data-v-55900acb]:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}.group-btn[data-v-55900acb]:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}.group-btn[data-v-55900acb]:hover{background:var(--bg-secondary);color:var(--text-primary)}.group-btn[data-v-55900acb]:active{background:var(--bg-tertiary)}.code-textarea[data-v-55900acb]{flex:1;padding:20px;border:none;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;resize:none;outline:none}.code-textarea[data-v-55900acb]::placeholder{color:var(--text-muted)}.error-message[data-v-55900acb]{padding:12px 20px;background:#ef44441a;border-top:1px solid rgba(239,68,68,.2);color:#ef4444;font-size:14px}.output-container[data-v-55900acb]{flex:1;overflow:auto}.output-placeholder[data-v-55900acb]{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:var(--text-muted);text-align:center;padding:40px 20px}.output-placeholder svg[data-v-55900acb]{margin-bottom:16px;opacity:.5}.code-output[data-v-55900acb]{width:100%;height:100%;padding:20px;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.5;white-space:pre-wrap;word-break:break-all}.code-output code[data-v-55900acb]{background:none!important;padding:0!important}@media(max-width:768px){.converter-layout[data-v-55900acb]{grid-template-columns:1fr;grid-template-rows:1fr 1fr}.tool-header[data-v-55900acb]{flex-direction:column;gap:12px;align-items:stretch;padding:16px}.mode-toggle[data-v-55900acb]{justify-content:center}.section-header[data-v-55900acb]{flex-direction:column;align-items:flex-start;gap:8px;min-height:auto;padding:12px 16px}}.timestamp-converter[data-v-f063e3d0]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.converter-content[data-v-f063e3d0]{flex:1;padding:20px;overflow-y:auto;max-width:800px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-f063e3d0]::-webkit-scrollbar{display:none}.current-time-section[data-v-f063e3d0]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;padding:20px;margin-bottom:20px}.section-header[data-v-f063e3d0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;min-height:48px;box-sizing:border-box}.section-header h3[data-v-f063e3d0]{margin:0;font-size:16px;font-weight:600;color:#333}.section-info[data-v-f063e3d0]{font-size:12px;color:#666}.refresh-btn[data-v-f063e3d0]{width:32px;height:32px;background:#fff;border:1px solid #ddd;border-radius:4px;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.refresh-btn[data-v-f063e3d0]:hover{background:#f5f5f5;color:#333}.current-time-display[data-v-f063e3d0]{display:flex;flex-direction:column;gap:12px}.time-row[data-v-f063e3d0],.timestamp-row[data-v-f063e3d0]{display:flex;align-items:center;gap:12px}.time-row label[data-v-f063e3d0],.timestamp-row label[data-v-f063e3d0]{min-width:140px;font-size:14px;color:#333;margin:0}.time-value[data-v-f063e3d0]{display:flex;align-items:center;gap:8px;flex:1}.timestamp-values[data-v-f063e3d0]{display:flex;gap:20px;flex:1}.timestamp-item[data-v-f063e3d0]{display:flex;align-items:center;gap:8px}.time-input-readonly[data-v-f063e3d0],.timestamp-input-readonly[data-v-f063e3d0]{padding:8px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-family:Courier New,monospace;font-size:13px;min-width:160px}.unit[data-v-f063e3d0]{font-size:12px;color:#666;min-width:24px}.copy-btn[data-v-f063e3d0]{width:24px;height:24px;background:transparent;border:none;color:#666;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.copy-btn[data-v-f063e3d0]:hover{background:#f5f5f5;color:#333}.conversion-section[data-v-f063e3d0]{background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:16px;overflow:hidden}.conversion-section .section-header[data-v-f063e3d0]{background:#fff;border-bottom:1px solid #e9ecef;padding:12px 20px;margin:0}.conversion-section .section-header h3[data-v-f063e3d0]{font-size:14px;font-weight:500;color:#333}.conversion-row[data-v-f063e3d0]{padding:20px;display:grid;grid-template-columns:1fr auto auto 1fr;gap:12px;align-items:end;min-height:70px}.input-group[data-v-f063e3d0]{display:flex;flex-direction:column}.input-group label[data-v-f063e3d0]{margin-bottom:6px;font-size:12px;color:#666;white-space:nowrap}.datetime-input-wrapper[data-v-f063e3d0]{position:relative;display:flex;align-items:center}.conversion-input[data-v-f063e3d0]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:14px;transition:border-color .2s;height:40px;box-sizing:border-box;flex:1}.conversion-input[data-v-f063e3d0]:focus{outline:none;border-color:#007bff}.datetime-picker-btn[data-v-f063e3d0]{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;background:transparent;border:none;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s;z-index:3}.datetime-picker-btn[data-v-f063e3d0]:hover{background:#007bff1a}.datetime-picker[data-v-f063e3d0]{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:24px;height:24px;opacity:0;pointer-events:none;z-index:1}.datetime-picker.picker-visible[data-v-f063e3d0]{opacity:1;pointer-events:auto;width:200px;height:40px;right:40px;background:#fff;border:1px solid #007bff;border-radius:4px;padding:8px;box-shadow:0 2px 8px #00000026}.unit-select[data-v-f063e3d0]{display:flex;align-items:end}.unit-dropdown[data-v-f063e3d0]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;background:#fff;color:#333;font-size:14px;cursor:pointer;min-width:80px;height:40px;box-sizing:border-box}.convert-btn[data-v-f063e3d0]{padding:10px 20px;background:#007bff;border:none;border-radius:4px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s;height:40px;box-sizing:border-box;align-self:end}.convert-btn[data-v-f063e3d0]:hover{background:#0056b3}.result-display[data-v-f063e3d0]{display:flex;flex-direction:column}.result-with-copy[data-v-f063e3d0]{display:flex;align-items:center;gap:8px}.result-with-copy .result-input[data-v-f063e3d0]{flex:1}.result-input[data-v-f063e3d0]{padding:10px 12px;border:1px solid #ddd;border-radius:4px;background:#f8f9fa;color:#333;font-family:Courier New,monospace;font-size:13px;height:40px;box-sizing:border-box}.result-input.placeholder[data-v-f063e3d0]{color:#999;font-style:italic;font-family:inherit}.quick-actions[data-v-f063e3d0]{display:flex;gap:8px;flex-wrap:wrap;justify-content:center;padding:16px;background:#f8f9fa;border:1px solid #e9ecef;border-radius:8px;margin-bottom:20px}.quick-btn[data-v-f063e3d0]{padding:6px 12px;background:#fff;border:1px solid #ddd;border-radius:4px;color:#333;font-size:12px;cursor:pointer;transition:all .2s}.quick-btn[data-v-f063e3d0]:hover{background:#e9ecef;border-color:#adb5bd}.world-time-section[data-v-f063e3d0]{margin-top:8px}.world-time-container[data-v-f063e3d0]{padding:24px;background:#f8f9fa}.world-time-grid[data-v-f063e3d0]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;align-items:start}.world-time-item[data-v-f063e3d0]{background:#fff;border:1px solid #ddd;border-radius:8px;padding:18px;position:relative;transition:all .2s;min-height:130px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden}.world-time-item[data-v-f063e3d0]:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.timezone-header[data-v-f063e3d0]{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;padding-right:32px}.city-info[data-v-f063e3d0]{display:flex;flex-direction:column;gap:2px}.city-name[data-v-f063e3d0]{font-size:16px;font-weight:600;color:#333}.country-name[data-v-f063e3d0]{font-size:12px;color:#666}.timezone-offset[data-v-f063e3d0]{font-size:11px;color:#999;background:#f8f9fa;padding:4px 8px;border-radius:4px;font-family:Courier New,monospace;border:1px solid #e9ecef;white-space:nowrap;max-width:80px;text-align:center}.timezone-time[data-v-f063e3d0]{display:flex;flex-direction:column;gap:6px;margin-top:8px}.time-display[data-v-f063e3d0]{font-size:26px;font-weight:700;color:#007bff;font-family:Courier New,monospace;line-height:1.2}.date-display[data-v-f063e3d0]{font-size:14px;color:#666;font-family:Courier New,monospace;line-height:1.2}.world-time-item .copy-btn[data-v-f063e3d0]{position:absolute;top:12px;right:12px;width:28px;height:28px;opacity:0;transition:all .2s;background:#fffffff2;border-radius:6px;border:1px solid #e0e0e0;box-shadow:0 1px 3px #0000001a;z-index:10}.world-time-item:hover .copy-btn[data-v-f063e3d0]{opacity:1;transform:scale(1.05)}.world-time-item .copy-btn[data-v-f063e3d0]:hover{background:#f0f8ff;border-color:#007bff;box-shadow:0 2px 6px #007bff33}@media(max-width:1200px){.world-time-grid[data-v-f063e3d0]{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}}@media(max-width:768px){.world-time-grid[data-v-f063e3d0]{grid-template-columns:1fr;gap:16px}.world-time-item[data-v-f063e3d0]{min-height:100px}.conversion-row[data-v-f063e3d0]{grid-template-columns:1fr;gap:16px}.unit-select[data-v-f063e3d0]{justify-self:start}.convert-btn[data-v-f063e3d0]{justify-self:start;width:fit-content}.timestamp-values[data-v-f063e3d0]{flex-direction:column;gap:12px}.quick-actions[data-v-f063e3d0]{justify-content:flex-start}.converter-content[data-v-f063e3d0]{padding:16px}}.date-calculator[data-v-1b4d3e91]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.calculator-content[data-v-1b4d3e91]{flex:1;padding:20px;overflow-y:auto;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.calculator-content[data-v-1b4d3e91]::-webkit-scrollbar{display:none}.calculation-section[data-v-1b4d3e91]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);margin-bottom:20px;overflow:hidden;box-shadow:0 2px 8px #0000000a}.section-header[data-v-1b4d3e91]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);min-height:48px;box-sizing:border-box}.section-header h3[data-v-1b4d3e91]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.section-info[data-v-1b4d3e91]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-1b4d3e91]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.date-interval-container[data-v-1b4d3e91]{padding:20px}.input-cards[data-v-1b4d3e91]{display:flex;gap:16px;align-items:stretch;margin-bottom:20px}.input-card[data-v-1b4d3e91]{flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:var(--transition)}.input-card[data-v-1b4d3e91]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-rgb),.1)}.card-header[data-v-1b4d3e91]{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.card-header label[data-v-1b4d3e91]{font-size:14px;font-weight:600;color:var(--text-primary);margin:0}.quick-actions[data-v-1b4d3e91]{display:flex;gap:4px}.date-input[data-v-1b4d3e91],.time-input[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition);height:36px;box-sizing:border-box}.date-input[data-v-1b4d3e91]:focus,.time-input[data-v-1b4d3e91]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.date-input[data-v-1b4d3e91]:hover,.time-input[data-v-1b4d3e91]:hover{border-color:var(--primary-color)}.quick-btn[data-v-1b4d3e91]{padding:4px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:var(--transition);height:24px;display:flex;align-items:center;justify-content:center}.quick-btn[data-v-1b4d3e91]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.amount-input[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition);height:36px;box-sizing:border-box;width:100%}.amount-input[data-v-1b4d3e91]:hover{border-color:var(--primary-color)}.quick-operations[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:16px}.quick-op-btn[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:12px;cursor:pointer;transition:var(--transition);height:32px;display:flex;align-items:center;justify-content:center;font-weight:500}.quick-op-btn[data-v-1b4d3e91]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:0 2px 8px rgba(var(--primary-rgb),.2)}.quick-op-btn.add[data-v-1b4d3e91]{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border-color:#10b981}.quick-op-btn.subtract[data-v-1b4d3e91]{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border-color:#ef4444}.quick-op-btn.add[data-v-1b4d3e91]:hover,.quick-op-btn.subtract[data-v-1b4d3e91]:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.date-time-inputs[data-v-1b4d3e91]{display:flex;flex-direction:column;gap:8px}.separator[data-v-1b4d3e91]{display:flex;align-items:center;justify-content:center;color:var(--text-muted);min-width:40px}.result-summary[data-v-1b4d3e91]{margin-bottom:16px}.summary-item[data-v-1b4d3e91]{display:flex;flex-direction:column;gap:8px;padding:16px;background:linear-gradient(135deg,var(--primary-color),#667eea);border-radius:var(--radius-md);color:#fff;text-align:center}.summary-label[data-v-1b4d3e91]{font-size:12px;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.summary-value[data-v-1b4d3e91]{font-size:18px;font-weight:700;font-family:var(--font-mono)}.result-grid.compact[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px}.result-grid.compact .result-item[data-v-1b4d3e91]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);text-align:center;transition:var(--transition)}.result-grid.compact .result-item[data-v-1b4d3e91]:hover{border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.15)}.result-unit[data-v-1b4d3e91]{font-size:11px;color:var(--text-muted);font-weight:500}.interval-result[data-v-1b4d3e91],.arithmetic-result[data-v-1b4d3e91],.special-result[data-v-1b4d3e91]{margin-top:16px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.result-grid[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;margin-bottom:12px}.result-item[data-v-1b4d3e91]{display:flex;flex-direction:column;gap:4px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);position:relative;transition:var(--transition)}.result-item[data-v-1b4d3e91]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px rgba(var(--primary-rgb),.1)}.result-item.large[data-v-1b4d3e91]{grid-column:1 / -1;flex-direction:row;align-items:center;justify-content:space-between;padding:16px}.result-label[data-v-1b4d3e91]{font-size:12px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px}.result-value[data-v-1b4d3e91]{font-size:16px;color:var(--text-primary);font-weight:600;font-family:var(--font-mono)}.detailed-result[data-v-1b4d3e91]{margin-top:12px}.copy-btn[data-v-1b4d3e91]{width:24px;height:24px;background:transparent;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);transition:var(--transition);margin-left:8px}.copy-btn[data-v-1b4d3e91]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.date-arithmetic-container[data-v-1b4d3e91]{padding:24px}.base-date-group[data-v-1b4d3e91]{margin-bottom:20px}.base-date-group label[data-v-1b4d3e91]{display:block;margin-bottom:8px;font-size:14px;font-weight:500;color:var(--text-primary)}.date-input-wrapper[data-v-1b4d3e91]{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.date-input-wrapper .date-input[data-v-1b4d3e91],.date-input-wrapper .time-input[data-v-1b4d3e91]{flex:1;min-width:140px}.date-input-wrapper .quick-btn[data-v-1b4d3e91]{flex-shrink:0;padding:8px 16px;height:36px;font-size:14px}.arithmetic-controls[data-v-1b4d3e91]{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px;margin-bottom:24px}.operation-group[data-v-1b4d3e91],.amount-group[data-v-1b4d3e91],.unit-group[data-v-1b4d3e91]{display:flex;flex-direction:column;gap:8px}.operation-group label[data-v-1b4d3e91],.amount-group label[data-v-1b4d3e91],.unit-group label[data-v-1b4d3e91]{font-size:14px;font-weight:500;color:var(--text-primary)}.quick-arithmetic-buttons[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:20px;padding:16px;background:var(--bg-tertiary);border-radius:var(--radius-md);border:1px solid var(--border-color)}.quick-arithmetic-buttons .quick-btn[data-v-1b4d3e91]{padding:10px 16px;height:40px;font-size:14px;font-weight:500;border-radius:var(--radius-md);transition:all .2s ease}.quick-arithmetic-buttons .quick-btn[data-v-1b4d3e91]:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.operation-select[data-v-1b4d3e91],.unit-select[data-v-1b4d3e91],.special-type-select[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;cursor:pointer;height:36px;box-sizing:border-box;transition:var(--transition)}.operation-select[data-v-1b4d3e91]:focus,.unit-select[data-v-1b4d3e91]:focus,.special-type-select[data-v-1b4d3e91]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.amount-input[data-v-1b4d3e91]{padding:8px 12px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition);height:36px;box-sizing:border-box}.amount-input[data-v-1b4d3e91]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px rgba(var(--primary-rgb),.1)}.quick-arithmetic-buttons[data-v-1b4d3e91]{display:grid;grid-template-columns:repeat(auto-fit,minmax(70px,1fr));gap:6px;margin-bottom:16px}.result-details[data-v-1b4d3e91]{display:flex;gap:12px;flex-wrap:wrap}.detail-item[data-v-1b4d3e91]{display:flex;align-items:center;gap:6px;padding:6px 10px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-size:13px;color:var(--text-secondary)}.special-dates-container[data-v-1b4d3e91]{padding:20px}.special-date-group[data-v-1b4d3e91]{margin-bottom:16px}.special-date-group label[data-v-1b4d3e91]{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.birthday-info[data-v-1b4d3e91]{margin-top:12px}@media(max-width:768px){.calculator-content[data-v-1b4d3e91],.date-interval-container[data-v-1b4d3e91],.date-arithmetic-container[data-v-1b4d3e91],.special-dates-container[data-v-1b4d3e91]{padding:16px}.input-cards[data-v-1b4d3e91]{flex-direction:column;gap:12px}.separator[data-v-1b4d3e91]{transform:rotate(90deg);min-height:20px;min-width:auto}.arithmetic-controls[data-v-1b4d3e91]{grid-template-columns:1fr;gap:12px}.result-grid[data-v-1b4d3e91]{grid-template-columns:1fr}.result-grid.compact[data-v-1b4d3e91]{grid-template-columns:repeat(2,1fr)}.date-arithmetic-container[data-v-1b4d3e91]{padding:20px 16px}.quick-arithmetic-buttons[data-v-1b4d3e91]{grid-template-columns:repeat(2,1fr);gap:10px;padding:12px}.quick-arithmetic-buttons .quick-btn[data-v-1b4d3e91]{padding:12px 8px;font-size:13px}.date-input-wrapper[data-v-1b4d3e91]{flex-direction:column;align-items:stretch}.result-item.large[data-v-1b4d3e91]{flex-direction:column;align-items:stretch;gap:8px}.result-details[data-v-1b4d3e91]{flex-direction:column}}.countdown-timer[data-v-3d360bda]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.timer-content[data-v-3d360bda]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:900px;margin:0 auto;width:100%;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.timer-content[data-v-3d360bda]::-webkit-scrollbar{display:none}.quick-timer-section[data-v-3d360bda],.target-timer-section[data-v-3d360bda],.multiple-timers-section[data-v-3d360bda]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-header[data-v-3d360bda]{margin-bottom:1.5rem;height:48px;display:flex;align-items:center}.section-title h3[data-v-3d360bda]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-subtitle[data-v-3d360bda]{font-size:.875rem;color:var(--text-secondary);margin:0}.quick-timer-container[data-v-3d360bda],.timer-setup[data-v-3d360bda]{display:flex;flex-direction:column;gap:1.5rem}.time-inputs-row[data-v-3d360bda]{display:flex;align-items:center;justify-content:space-between;gap:3rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2.5rem 3rem}.time-input-group[data-v-3d360bda]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.time-input-group label[data-v-3d360bda]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.time-number-input[data-v-3d360bda]{width:5rem;padding:1rem .75rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:1.25rem;font-weight:600;text-align:center;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all .2s ease}.time-number-input[data-v-3d360bda]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.time-separator[data-v-3d360bda]{font-size:2rem;font-weight:600;color:var(--text-secondary);margin:0 1rem}.quick-presets[data-v-3d360bda]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between}.preset-btn[data-v-3d360bda]{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.preset-btn[data-v-3d360bda]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.timer-title-input[data-v-3d360bda]{width:100%;padding:.875rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.timer-title-input[data-v-3d360bda]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.timer-display-card[data-v-3d360bda]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.display-header[data-v-3d360bda]{display:flex;justify-content:flex-end;margin-bottom:-.5rem}.timer-display-card[data-v-3d360bda]:fullscreen{background:var(--bg-primary);border:none;border-radius:0;padding:2rem;justify-content:center;align-items:center;min-height:100vh;display:flex;flex-direction:column}.timer-display-card:fullscreen .countdown-display[data-v-3d360bda]{width:100%;height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative}.timer-display-card:fullscreen .time-units[data-v-3d360bda]{gap:6rem;margin-bottom:0;flex:0 0 auto}.timer-display-card:fullscreen .time-unit[data-v-3d360bda]{min-width:auto}.timer-display-card:fullscreen .time-value[data-v-3d360bda]{font-size:12rem!important;font-weight:900!important;line-height:.9!important}.timer-display-card:fullscreen .time-value.milliseconds[data-v-3d360bda]{font-size:8rem!important;font-weight:800!important}.timer-display-card:fullscreen .time-label[data-v-3d360bda]{font-size:2.5rem!important;margin-top:1rem!important;font-weight:600!important}.timer-display-card:fullscreen .timer-status[data-v-3d360bda]{font-size:3rem!important;font-weight:600!important;margin-top:3rem!important;flex:0 0 auto}.timer-display-card:fullscreen .timer-controls[data-v-3d360bda]{position:absolute;bottom:4rem;left:50%;transform:translate(-50%);gap:2rem;flex:0 0 auto}.timer-display-card:fullscreen .control-btn[data-v-3d360bda]{padding:1.5rem 3rem;font-size:1.5rem;border-radius:1rem}.countdown-display[data-v-3d360bda]{text-align:center}.time-units[data-v-3d360bda]{display:flex;align-items:center;justify-content:center;gap:3rem;margin-bottom:2rem}.time-unit[data-v-3d360bda]{display:flex;flex-direction:column;align-items:center;min-width:8rem}.time-value[data-v-3d360bda]{font-size:6rem;font-weight:800;color:var(--primary-color);line-height:1;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.time-value.milliseconds[data-v-3d360bda]{font-size:3.5rem;font-weight:700;color:var(--text-secondary)}.countdown-display.large .time-value[data-v-3d360bda]{font-size:7rem;font-weight:900}.countdown-display.compact .time-value[data-v-3d360bda]{font-size:3rem;font-weight:700}.time-label[data-v-3d360bda]{font-size:.75rem;color:var(--text-secondary);margin-top:.25rem;font-weight:500}.timer-status[data-v-3d360bda]{font-size:.875rem;color:var(--text-secondary);font-weight:500}.timer-status.expired[data-v-3d360bda]{color:var(--error-color);font-weight:600}.timer-status.running[data-v-3d360bda]{color:var(--success-color);font-weight:600}.timer-controls[data-v-3d360bda]{display:flex;gap:1rem;justify-content:center;align-items:center}.control-btn[data-v-3d360bda]{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;border:2px solid transparent}.control-btn[data-v-3d360bda]:disabled{opacity:.5;cursor:not-allowed;transform:none}.control-btn.start[data-v-3d360bda]{background:var(--success-color);color:#fff;border-color:var(--success-color)}.control-btn.start[data-v-3d360bda]:hover:not(:disabled){background:var(--success-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--success-color-alpha)}.control-btn.pause[data-v-3d360bda]{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.control-btn.pause[data-v-3d360bda]:hover:not(:disabled){background:var(--warning-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--warning-color-alpha)}.control-btn.reset[data-v-3d360bda]{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.control-btn.reset[data-v-3d360bda]:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.control-btn.fullscreen[data-v-3d360bda]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.control-btn.fullscreen[data-v-3d360bda]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-color-alpha)}.target-timer-container[data-v-3d360bda]{display:flex;flex-direction:column;gap:2rem}.target-setup[data-v-3d360bda]{display:flex;flex-direction:column;gap:1.5rem}.datetime-inputs[data-v-3d360bda]{display:flex;gap:1rem}.input-group[data-v-3d360bda]{flex:1;display:flex;flex-direction:column;gap:.5rem}.input-group label[data-v-3d360bda]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.date-input[data-v-3d360bda],.time-input[data-v-3d360bda]{padding:.875rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all .2s ease}.date-input[data-v-3d360bda]:focus,.time-input[data-v-3d360bda]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.quick-targets[data-v-3d360bda]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.target-display-card[data-v-3d360bda]{background:linear-gradient(135deg,var(--primary-color-alpha) 0%,var(--success-color-alpha) 100%);border:1px solid var(--primary-color);border-radius:1rem;padding:2rem}.display-title[data-v-3d360bda]{font-size:1.125rem;font-weight:600;color:var(--text-primary);text-align:center;margin-bottom:1rem}.multiple-timers-container[data-v-3d360bda]{display:flex;flex-direction:column;gap:1.5rem}.add-timer-card[data-v-3d360bda]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;display:flex;flex-direction:column;gap:1rem}.add-timer-inputs[data-v-3d360bda]{display:flex;flex-direction:column;gap:1rem}.add-timer-btn[data-v-3d360bda]{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;align-self:center}.add-timer-btn[data-v-3d360bda]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-color-alpha)}.timers-grid[data-v-3d360bda]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem}.timer-card[data-v-3d360bda]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;transition:all .2s ease}.timer-card-header[data-v-3d360bda]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.timer-card-header h4[data-v-3d360bda]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.remove-btn[data-v-3d360bda]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--error-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease}.remove-btn[data-v-3d360bda]:hover{background:var(--error-color-dark);transform:translateY(-1px)}@media(max-width:768px){.timer-content[data-v-3d360bda]{padding:1rem 1rem 4rem;gap:1.5rem}.quick-timer-section[data-v-3d360bda],.target-timer-section[data-v-3d360bda],.multiple-timers-section[data-v-3d360bda]{padding:1.5rem}.time-inputs-row[data-v-3d360bda]{flex-direction:column;gap:.75rem;padding:1rem}.time-separator[data-v-3d360bda]{display:none}.timer-display-card[data-v-3d360bda]{padding:1.5rem}.time-units[data-v-3d360bda]{gap:.5rem;flex-wrap:wrap;justify-content:center}.time-value[data-v-3d360bda]{font-size:2rem}.time-value.milliseconds[data-v-3d360bda]{font-size:1.25rem}.countdown-display.large .time-value[data-v-3d360bda]{font-size:2.5rem}.timer-controls[data-v-3d360bda]{flex-direction:column;gap:.5rem}.timers-grid[data-v-3d360bda]{grid-template-columns:1fr}.quick-presets[data-v-3d360bda],.quick-targets[data-v-3d360bda]{justify-content:flex-start}.timer-display-card:fullscreen .countdown-display[data-v-3d360bda]{height:100vh;padding:2rem 1rem}.timer-display-card:fullscreen .time-value[data-v-3d360bda]{font-size:8rem!important}.timer-display-card:fullscreen .time-value.milliseconds[data-v-3d360bda]{font-size:5rem!important}.timer-display-card:fullscreen .time-label[data-v-3d360bda]{font-size:1.8rem!important}.timer-display-card:fullscreen .timer-status[data-v-3d360bda]{font-size:2rem!important;margin-top:2rem!important}.timer-display-card:fullscreen .time-units[data-v-3d360bda]{gap:3rem;flex-wrap:wrap}.timer-display-card:fullscreen .timer-controls[data-v-3d360bda]{bottom:2rem;gap:1rem}.timer-display-card:fullscreen .control-btn[data-v-3d360bda]{padding:1rem 2rem;font-size:1.2rem}}@media(max-width:480px){.time-number-input[data-v-3d360bda]{width:3rem;font-size:1rem}.time-value[data-v-3d360bda]{font-size:1.5rem}.time-value.milliseconds[data-v-3d360bda]{font-size:1rem}.countdown-display.large .time-value[data-v-3d360bda]{font-size:2rem}.time-units[data-v-3d360bda]{gap:.25rem}.message-toast[data-v-3d360bda]{bottom:1rem;right:1rem;left:1rem}}.stopwatch[data-v-ed06e668]{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.converter-header[data-v-ed06e668]{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);box-shadow:var(--shadow-sm)}.header-actions[data-v-ed06e668]{display:flex;gap:.75rem;margin-left:auto}.header-export-btn[data-v-ed06e668],.header-clear-btn[data-v-ed06e668]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border:none;border-radius:var(--radius-md);font-size:.875rem;cursor:pointer;transition:var(--transition)}.header-export-btn[data-v-ed06e668]{background:var(--primary-color);color:#fff}.header-export-btn[data-v-ed06e668]:hover{background:var(--primary-hover)}.header-clear-btn[data-v-ed06e668]{background:var(--error-color);color:#fff}.header-clear-btn[data-v-ed06e668]:hover{background:var(--error-color-dark)}.back-btn[data-v-ed06e668]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:.875rem}.back-btn[data-v-ed06e668]:hover{background:var(--bg-hover);color:var(--text-primary)}.converter-title[data-v-ed06e668]{font-size:1.5rem;font-weight:600;margin:0;color:var(--text-primary)}.converter-content[data-v-ed06e668]{flex:1;display:flex;flex-direction:column;padding:2rem 2rem 4rem;overflow-y:auto;min-height:0}.stopwatch-container[data-v-ed06e668]{width:100%;max-width:800px;margin:0 auto;display:flex;flex-direction:column}.main-stopwatch-area[data-v-ed06e668]{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;margin-bottom:2rem}.timer-display-card[data-v-ed06e668]{display:flex;flex-direction:column;align-items:center;margin-bottom:3rem}.time-display[data-v-ed06e668]{display:flex;align-items:center;justify-content:center;padding:6rem 5rem;background:var(--bg-card);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--border-color);min-height:300px;margin-bottom:3rem}.timer-display-card[data-v-ed06e668]:fullscreen{background:var(--bg-primary);border:none;border-radius:0;padding:2rem;justify-content:center;align-items:center;min-height:100vh;display:flex;flex-direction:column;gap:4rem}.timer-display-card:fullscreen .time-display[data-v-ed06e668]{background:transparent;box-shadow:none;border:none;margin-bottom:0;padding:2rem}.timer-display-card:fullscreen .time-content[data-v-ed06e668]{display:flex;justify-content:center;align-items:center}.timer-display-card:fullscreen .main-time[data-v-ed06e668]{font-size:12rem!important;font-weight:300!important;color:var(--text-primary)}.timer-display-card:fullscreen .milliseconds[data-v-ed06e668]{font-size:6rem!important;font-weight:300!important;color:var(--text-secondary)}.timer-display-card:fullscreen .control-buttons[data-v-ed06e668]{gap:2rem}.timer-display-card:fullscreen .control-btn[data-v-ed06e668]{padding:1.5rem 3rem;font-size:1.2rem;min-width:150px}.time-content[data-v-ed06e668]{display:flex;align-items:baseline;justify-content:center}.main-time[data-v-ed06e668]{font-size:7.2rem;font-weight:300;color:var(--text-primary);font-family:Courier New,monospace;line-height:1}.milliseconds[data-v-ed06e668]{font-size:3.6rem;font-weight:300;color:var(--text-secondary);font-family:Courier New,monospace;margin-left:.6rem}.control-buttons[data-v-ed06e668]{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap}.control-btn[data-v-ed06e668]{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;border:none;border-radius:var(--radius-lg);font-size:1rem;font-weight:500;cursor:pointer;transition:var(--transition);min-width:120px;justify-content:center}.start-btn[data-v-ed06e668],.resume-btn[data-v-ed06e668]{background:var(--success-color);color:#fff}.start-btn[data-v-ed06e668]:hover,.resume-btn[data-v-ed06e668]:hover{background:var(--success-color-dark);transform:translateY(-1px)}.pause-btn[data-v-ed06e668]{background:var(--warning-color);color:#fff}.pause-btn[data-v-ed06e668]:hover{background:var(--warning-color-dark);transform:translateY(-1px)}.lap-btn[data-v-ed06e668]{background:var(--primary-color);color:#fff}.lap-btn[data-v-ed06e668]:hover{background:var(--primary-hover);transform:translateY(-1px)}.reset-btn[data-v-ed06e668]{background:var(--error-color);color:#fff}.reset-btn[data-v-ed06e668]:hover{background:var(--error-color-dark);transform:translateY(-1px)}.fullscreen-btn[data-v-ed06e668]{background:var(--primary-color);color:#fff}.fullscreen-btn[data-v-ed06e668]:hover{background:var(--primary-hover);transform:translateY(-1px)}.section-title[data-v-ed06e668]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 1.5rem}.laps-section[data-v-ed06e668]{margin-bottom:3rem}.laps-container[data-v-ed06e668]{background:var(--bg-card);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm);border:1px solid var(--border-color)}.laps-header[data-v-ed06e668]{display:grid;grid-template-columns:80px 1fr 1fr 1.2fr;gap:1rem;padding:1rem 1.5rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-weight:600;color:var(--text-secondary);font-size:.875rem}.laps-list[data-v-ed06e668]{max-height:300px;overflow-y:auto}.lap-item[data-v-ed06e668]{display:grid;grid-template-columns:80px 1fr 1fr 1.2fr;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);font-family:Courier New,monospace;transition:var(--transition)}.lap-item[data-v-ed06e668]:hover{background:var(--bg-hover)}.lap-item[data-v-ed06e668]:last-child{border-bottom:none}.lap-item.fastest[data-v-ed06e668]{background:var(--success-color-alpha);color:var(--success-color)}.lap-item.slowest[data-v-ed06e668]{background:var(--error-color-alpha);color:var(--error-color)}.lap-number[data-v-ed06e668]{font-weight:600;color:var(--text-secondary)}.lap-timestamp[data-v-ed06e668]{font-size:.8rem;color:var(--text-tertiary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.stats-section[data-v-ed06e668]{margin-bottom:3rem}.stats-grid[data-v-ed06e668]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.stat-item[data-v-ed06e668]{background:var(--bg-card);padding:1.5rem;border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-color);text-align:center}.stat-label[data-v-ed06e668]{font-size:.875rem;color:var(--text-secondary);margin-bottom:.5rem}.stat-value[data-v-ed06e668]{font-size:1.5rem;font-weight:600;color:var(--text-primary);font-family:Courier New,monospace}@media(max-width:1024px)and (min-width:769px){.lap-timestamp[data-v-ed06e668]{font-size:.75rem}.laps-header[data-v-ed06e668],.lap-item[data-v-ed06e668]{grid-template-columns:70px 1fr 1fr 1fr;gap:.75rem}}@media(max-width:768px){.converter-content[data-v-ed06e668]{padding:1rem 1rem 3rem}.main-stopwatch-area[data-v-ed06e668]{min-height:60vh}.timer-display-card .time-display[data-v-ed06e668]{padding:4.8rem 3rem;min-height:240px}.timer-display-card[data-v-ed06e668]:fullscreen{gap:3rem}.timer-display-card:fullscreen .main-time[data-v-ed06e668]{font-size:8rem!important}.timer-display-card:fullscreen .milliseconds[data-v-ed06e668]{font-size:4rem!important}.timer-display-card:fullscreen .control-buttons[data-v-ed06e668]{gap:1rem;flex-wrap:wrap}.timer-display-card:fullscreen .control-btn[data-v-ed06e668]{padding:1rem 2rem;font-size:1rem;min-width:120px}.main-time[data-v-ed06e668]{font-size:4.8rem}.milliseconds[data-v-ed06e668]{font-size:2.6rem}.control-buttons[data-v-ed06e668]{gap:.5rem}.control-btn[data-v-ed06e668]{padding:.75rem 1rem;min-width:100px;font-size:.875rem}.laps-header[data-v-ed06e668],.lap-item[data-v-ed06e668]{grid-template-columns:50px 1fr 1fr;padding:.75rem 1rem;font-size:.875rem}.lap-timestamp[data-v-ed06e668]{display:none}.stats-grid[data-v-ed06e668]{grid-template-columns:1fr}}.clock[data-v-5830a910]{width:100%;height:100vh;display:flex;flex-direction:column;font-family:Courier New,SF Mono,Monaco,monospace;position:relative;overflow:hidden;background:#000}.clock.style-minimal[data-v-5830a910]{background:#f5f5f7}.clock.style-digital[data-v-5830a910]{background:#000}.clock.style-analog[data-v-5830a910]{background:linear-gradient(135deg,#e3f2fd,#bbdefb)}.clock.style-card[data-v-5830a910]{background:linear-gradient(135deg,#1e3c72,#2a5298)}.clock.style-immersive[data-v-5830a910]{background:linear-gradient(135deg,#0c0c0c,#1a1a1a)}.clock.fullscreen[data-v-5830a910],.clock[data-v-5830a910]:fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.converter-content[data-v-5830a910]{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:0;position:relative}.digital-display[data-v-5830a910]{border-radius:1rem;padding:2rem;position:relative;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}.digital-display.minimal[data-v-5830a910]{background:#fff;border:none;box-shadow:0 4px 20px #0000001a;width:fit-content;min-width:0}.digital-display.minimal .time-digits[data-v-5830a910]{color:#1d1d1f;text-shadow:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:300}.digital-display.minimal .digit-group[data-v-5830a910]{background:transparent;border:none}.digital-display.minimal .separator[data-v-5830a910]{color:#1d1d1f;text-shadow:none}.digital-display.minimal .ampm[data-v-5830a910]{color:#86868b;text-shadow:none;background:transparent;border:none}.digital-display.minimal .date-display[data-v-5830a910]{color:#86868b}.digital-display.minimal .date-line[data-v-5830a910],.digital-display.minimal .lunar-line[data-v-5830a910],.digital-display.minimal .weekday-line[data-v-5830a910]{color:#86868b;text-shadow:none;background:transparent;border:none}.digital-display.digital[data-v-5830a910]{background:#0a0a0a;border:3px solid #333;box-shadow:inset 0 0 20px #000c,0 0 30px #00ff001a;width:fit-content;min-width:0}.digital-display.digital[data-v-5830a910]:hover{box-shadow:inset 0 0 20px #000c,0 0 40px #0f03}.digital-display.digital[data-v-5830a910]:before{content:"";position:absolute;inset:0;background:linear-gradient(45deg,transparent 49%,rgba(0,255,0,.03) 50%,transparent 51%);pointer-events:none;border-radius:.7rem}.digital-display.digital .time-digits[data-v-5830a910]{color:#0f0;text-shadow:0 0 10px #00ff00,0 0 20px #00ff00,0 0 30px #00ff00;font-family:Courier New,SF Mono,monospace}.digital-display.digital .digit-group[data-v-5830a910]{background:#00ff000d;border:1px solid rgba(0,255,0,.2)}.digital-display.digital .separator[data-v-5830a910]{color:#0f0;text-shadow:0 0 10px #00ff00,0 0 20px #00ff00}.digital-display.digital .ampm[data-v-5830a910]{color:#0c0;text-shadow:0 0 8px #00cc00,0 0 16px #00cc00;background:#00ff000d;border:1px solid rgba(0,255,0,.2)}.digital-display.digital .date-display[data-v-5830a910]{color:#0a0}.digital-display.digital .date-line[data-v-5830a910]{text-shadow:0 0 8px #00aa00}.digital-display.digital .lunar-line[data-v-5830a910]{color:#080;text-shadow:0 0 6px #008800;background:#00ff0008;border:1px solid rgba(0,255,0,.1)}.digital-display.digital .weekday-line[data-v-5830a910]{color:#060;text-shadow:0 0 6px #006600}.digital-display.analog[data-v-5830a910]{background:radial-gradient(circle at center,#fff,#f8f9fa 60%,#e9ecef 85%,#dee2e6);border:20px solid #2c3e50;border-radius:50%;width:600px;height:600px;display:flex;flex-direction:column;justify-content:center;align-items:center;position:relative;box-shadow:0 0 0 8px #34495e,0 0 0 12px #2c3e50,0 20px 60px #0000004d,inset 0 0 100px #0000000d;min-height:auto}.digital-display.analog[data-v-5830a910]:before{content:"";position:absolute;inset:-30px;border:4px solid #1a252f;border-radius:50%;box-shadow:0 0 0 2px #34495e,0 10px 30px #0003}.digital-display.analog[data-v-5830a910]:after{content:"";position:absolute;inset:40px;border:1px solid rgba(0,0,0,.1);border-radius:50%}.hour-tick[data-v-5830a910]{position:absolute;top:0;left:50%;width:0;height:50%;transform-origin:center bottom}.hour-tick[data-v-5830a910]:before{content:"";position:absolute;top:10px;left:50%;width:6px;height:25px;background:#2c3e50;transform:translate(-50%);border-radius:3px}.tick-number[data-v-5830a910]{position:absolute;top:40px;left:50%;width:35px;height:35px;text-align:center;line-height:35px;font-size:32px;font-weight:700;color:#2c3e50;font-family:Times New Roman,serif;transform:translate(-50%);margin-left:-17.5px}.minute-tick[data-v-5830a910]{position:absolute;top:0;left:50%;width:2px;height:50%;transform-origin:center bottom}.minute-tick[data-v-5830a910]:before{content:"";position:absolute;top:10px;left:50%;width:2px;height:12px;background:#7f8c8d;transform:translate(-50%)}.date-window[data-v-5830a910]{position:absolute;right:120px;top:50%;transform:translateY(-50%);width:32px;height:20px;background:#fff;border:1px solid #666;border-radius:2px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #0000001a,0 1px 2px #0000004d;z-index:1}.day-window[data-v-5830a910]{position:absolute;right:160px;top:50%;transform:translateY(-50%);width:32px;height:20px;background:#fff;border:1px solid #666;border-radius:2px;display:flex;align-items:center;justify-content:center;box-shadow:inset 0 0 0 1px #0000001a,0 1px 2px #0000004d;z-index:1}.date-number[data-v-5830a910]{font-size:14px;font-weight:700;color:#000;font-family:Arial,Helvetica,sans-serif;line-height:1}.day-text[data-v-5830a910]{font-size:10px;font-weight:700;color:#000;font-family:Arial,Helvetica,sans-serif;line-height:1;text-transform:uppercase;letter-spacing:.2px}.clock-hour-hand[data-v-5830a910],.clock-minute-hand[data-v-5830a910],.clock-second-hand[data-v-5830a910]{position:absolute;left:50%;top:50%;transform-origin:center bottom}.clock-hour-hand[data-v-5830a910]{width:8px;height:150px;background:#2c3e50;margin-left:-4px;margin-top:-150px;z-index:3;border-radius:4px;box-shadow:0 2px 4px #0000004d}.clock-minute-hand[data-v-5830a910]{width:4px;height:200px;background:#2c3e50;margin-left:-2px;margin-top:-200px;z-index:2;border-radius:2px;box-shadow:0 2px 4px #0000004d}.clock-second-hand[data-v-5830a910]{width:2px;height:220px;background:#e74c3c;margin-left:-1px;margin-top:-220px;z-index:4;border-radius:1px}.clock-center[data-v-5830a910]{position:absolute;top:50%;left:50%;width:14px;height:14px;background:#2c3e50;border-radius:50%;transform:translate(-50%,-50%);z-index:5;box-shadow:0 2px 4px #0000004d}.digital-display.card[data-v-5830a910]{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:24px;box-shadow:0 20px 60px #667eea66,0 8px 32px #0000001a;backdrop-filter:blur(20px);position:relative;overflow:hidden;width:fit-content;min-width:0}.digital-display.card[data-v-5830a910]:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(255,255,255,.2) 0%,transparent 50%),linear-gradient(135deg,#ffffff1a,#ffffff0d);border-radius:24px;pointer-events:none}.digital-display.card .time-digits[data-v-5830a910]{color:#fff;text-shadow:none;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:200;letter-spacing:-.02em}.digital-display.card .digit-group[data-v-5830a910]{background:transparent;border:none}.digital-display.card .separator[data-v-5830a910]{color:#fffc;text-shadow:none}.digital-display.card .ampm[data-v-5830a910]{color:#ffffffb3;text-shadow:none;background:transparent;border:none;font-weight:300}.digital-display.card .date-display[data-v-5830a910]{color:#fffc;margin-top:1rem}.digital-display.card .date-line[data-v-5830a910]{text-shadow:none;font-weight:300;font-size:1.1em}.digital-display.card .lunar-line[data-v-5830a910]{color:#fff9;text-shadow:none;background:transparent;border:none;font-weight:300;font-size:.9em;margin-top:.5rem}.digital-display.card .weekday-line[data-v-5830a910]{color:#fff9;text-shadow:none;font-weight:300;text-transform:capitalize}.digital-display.immersive[data-v-5830a910]{background:transparent;border:none;box-shadow:none;padding:1rem}.digital-display.immersive .time-digits[data-v-5830a910]{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5),0 0 40px rgba(255,255,255,.3);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:100}.digital-display.immersive .digit-group[data-v-5830a910]{background:transparent;border:none}.digital-display.immersive .separator[data-v-5830a910]{color:#fff;text-shadow:0 0 20px rgba(255,255,255,.5),0 0 40px rgba(255,255,255,.3)}.digital-display.immersive .ampm[data-v-5830a910]{color:#ffffffb3;text-shadow:0 0 15px rgba(255,255,255,.4);background:transparent;border:none;font-size:clamp(2rem,5vw,4rem)}.digital-display.immersive .date-display[data-v-5830a910]{color:#fff9;font-size:clamp(1.2rem,3vw,2rem)}.digital-display.immersive .date-line[data-v-5830a910],.digital-display.immersive .lunar-line[data-v-5830a910],.digital-display.immersive .weekday-line[data-v-5830a910]{color:#fff9;text-shadow:0 0 10px rgba(255,255,255,.3);background:transparent;border:none}.time-display[data-v-5830a910]{display:flex;align-items:center;justify-content:center;gap:1rem;width:100%;padding:0 2rem}.time-digits[data-v-5830a910]{display:flex;align-items:center;justify-content:center;font-size:clamp(4rem,12vw,8rem);font-weight:700;letter-spacing:.1em;font-family:Courier New,SF Mono,Monaco,Consolas,monospace;white-space:nowrap;flex-wrap:nowrap;line-height:1;height:100%}.digit-group[data-v-5830a910]{display:inline-flex;align-items:center;justify-content:center;width:2.5ch;height:1.2em;text-align:center;border-radius:.2em;padding:0;flex-shrink:0;line-height:1}.digit-group.milliseconds[data-v-5830a910]{font-size:.8em;opacity:.8;width:4ch;height:1.2em;flex-shrink:0}.separator[data-v-5830a910]{margin:0;flex-shrink:0;width:.6ch;text-align:center;display:inline-flex;align-items:center;justify-content:center;line-height:1}.separator.milliseconds[data-v-5830a910]{font-size:.8em;opacity:.8;width:.5ch}.separator.blink[data-v-5830a910]{animation:blink-5830a910 1s infinite}@keyframes blink-5830a910{0%,50%{opacity:1}51%,to{opacity:.3}}.ampm[data-v-5830a910]{font-size:clamp(1.5rem,4vw,2.5rem);font-weight:700;margin-left:1rem;padding:.2em .4em;border-radius:.3em}.date-display[data-v-5830a910]{text-align:center;font-size:clamp(1rem,2.5vw,1.5rem);margin-top:2rem}.date-line[data-v-5830a910]{margin-bottom:.5rem;font-weight:500}.lunar-line[data-v-5830a910]{margin-bottom:.5rem;font-size:.9em;padding:.3em .8em;border-radius:1em;display:inline-block}.weekday-line[data-v-5830a910]{font-size:.8em;text-transform:uppercase;letter-spacing:.2em}.clock.fullscreen .converter-content[data-v-5830a910],.clock:fullscreen .converter-content[data-v-5830a910]{padding:0!important;justify-content:center!important;align-items:center!important;width:100vw!important;height:100vh!important;display:flex!important;flex-direction:column!important}.clock.fullscreen .digital-display[data-v-5830a910],.clock:fullscreen .digital-display[data-v-5830a910]{padding:0!important;width:auto!important;height:auto!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-height:auto!important;flex-shrink:0!important;flex-grow:0!important;border-radius:initial!important;background:transparent!important;box-shadow:none!important}.clock.fullscreen .digital-display.digital[data-v-5830a910],.clock:fullscreen .digital-display.digital[data-v-5830a910]{border:none;background:transparent;box-shadow:none}.clock.fullscreen .digital-display.digital[data-v-5830a910]:before,.clock:fullscreen .digital-display.digital[data-v-5830a910]:before{display:none}.clock.fullscreen .digital-display.analog[data-v-5830a910],.clock:fullscreen .digital-display.analog[data-v-5830a910]{background:radial-gradient(circle at center,#fff,#f8f9fa 60%,#e9ecef 85%,#dee2e6)!important;border:30px solid #2c3e50!important;border-radius:50%!important;width:800px!important;height:800px!important;min-width:800px!important;min-height:800px!important;max-width:800px!important;max-height:800px!important;display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;position:relative!important;box-shadow:0 0 0 10px #34495e,0 0 0 15px #2c3e50,0 30px 80px #0000004d,inset 0 0 120px #0000000d!important;min-height:auto!important;flex-shrink:0!important;flex-grow:0!important;transform:none!important;box-sizing:content-box!important}.clock.fullscreen .digital-display.analog[data-v-5830a910]:before,.clock:fullscreen .digital-display.analog[data-v-5830a910]:before{content:""!important;position:absolute!important;inset:-40px!important;border:5px solid #1a252f!important;border-radius:50%!important;box-shadow:0 0 0 3px #34495e,0 15px 40px #0003!important}.clock.fullscreen .digital-display.analog[data-v-5830a910]:after,.clock:fullscreen .digital-display.analog[data-v-5830a910]:after{content:""!important;position:absolute!important;inset:50px!important;border:1px solid rgba(0,0,0,.1)!important;border-radius:50%!important}.clock.fullscreen .digital-display.analog .tick-number[data-v-5830a910],.clock:fullscreen .digital-display.analog .tick-number[data-v-5830a910]{font-size:42px!important;width:50px!important;height:50px!important;line-height:50px!important;top:53px!important;margin-left:-25px!important}.clock.fullscreen .digital-display.analog .hour-tick[data-v-5830a910]:before,.clock:fullscreen .digital-display.analog .hour-tick[data-v-5830a910]:before{top:13px!important;width:8px!important;height:33px!important;border-radius:4px!important}.clock.fullscreen .digital-display.analog .minute-tick[data-v-5830a910]:before,.clock:fullscreen .digital-display.analog .minute-tick[data-v-5830a910]:before{top:13px!important;width:3px!important;height:16px!important}.clock.fullscreen .digital-display.analog .date-window[data-v-5830a910],.clock:fullscreen .digital-display.analog .date-window[data-v-5830a910]{right:160px!important;width:42px!important;height:26px!important;border-radius:3px!important}.clock.fullscreen .digital-display.analog .day-window[data-v-5830a910],.clock:fullscreen .digital-display.analog .day-window[data-v-5830a910]{right:213px!important;width:42px!important;height:26px!important;border-radius:3px!important}.clock.fullscreen .digital-display.analog .date-number[data-v-5830a910],.clock:fullscreen .digital-display.analog .date-number[data-v-5830a910]{font-size:18px!important}.clock.fullscreen .digital-display.analog .day-text[data-v-5830a910],.clock:fullscreen .digital-display.analog .day-text[data-v-5830a910]{font-size:13px!important}.clock.fullscreen .digital-display.analog .clock-hour-hand[data-v-5830a910],.clock:fullscreen .digital-display.analog .clock-hour-hand[data-v-5830a910]{width:11px!important;height:200px!important;margin-left:-5.5px!important;margin-top:-200px!important;border-radius:5.5px!important}.clock.fullscreen .digital-display.analog .clock-minute-hand[data-v-5830a910],.clock:fullscreen .digital-display.analog .clock-minute-hand[data-v-5830a910]{width:5px!important;height:267px!important;margin-left:-2.5px!important;margin-top:-267px!important;border-radius:2.5px!important}.clock.fullscreen .digital-display.analog .clock-second-hand[data-v-5830a910],.clock:fullscreen .digital-display.analog .clock-second-hand[data-v-5830a910]{width:3px!important;height:293px!important;margin-left:-1.5px!important;margin-top:-293px!important;border-radius:1.5px!important}.clock.fullscreen .digital-display.analog .clock-center[data-v-5830a910],.clock:fullscreen .digital-display.analog .clock-center[data-v-5830a910]{width:18px!important;height:18px!important}.clock.fullscreen .time-digits[data-v-5830a910],.clock:fullscreen .time-digits[data-v-5830a910]{font-size:clamp(6rem,15vw,12rem);white-space:nowrap;overflow:visible}.clock.fullscreen .ampm[data-v-5830a910],.clock:fullscreen .ampm[data-v-5830a910]{font-size:clamp(2rem,6vw,4rem)}.clock.fullscreen .date-display[data-v-5830a910],.clock:fullscreen .date-display[data-v-5830a910]{font-size:clamp(1.5rem,4vw,2.5rem);margin-top:2rem}.digital-display.digital[data-v-5830a910]:after{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,#00ff00,transparent);animation:scan-5830a910 3s linear infinite;opacity:.3}@keyframes scan-5830a910{0%{transform:translateY(0)}to{transform:translateY(400px)}}@media(max-width:768px){.converter-content[data-v-5830a910]{padding:1rem}.digital-display[data-v-5830a910]{padding:2rem 1rem}.digital-display.analog[data-v-5830a910]{width:300px;height:300px;border-width:6px}.time-digits[data-v-5830a910]{font-size:clamp(2.5rem,12vw,5rem)}}@media(max-width:480px){.digital-display[data-v-5830a910]{padding:1.5rem .5rem}.digital-display.analog[data-v-5830a910]{width:250px;height:250px;border-width:4px}.time-digits[data-v-5830a910]{font-size:clamp(2rem,10vw,4rem)}}.timezone-converter[data-v-66da35c0]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-66da35c0]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:900px;margin:0 auto;width:100%;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-66da35c0]::-webkit-scrollbar{display:none}.world-clock-section[data-v-66da35c0],.quick-convert-section[data-v-66da35c0],.meeting-planner-section[data-v-66da35c0]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-header[data-v-66da35c0]{margin-bottom:1.5rem;height:48px;display:flex;align-items:center}.section-title h3[data-v-66da35c0]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-subtitle[data-v-66da35c0]{font-size:.875rem;color:var(--text-secondary);margin:0}.world-clock-grid[data-v-66da35c0]{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.75rem}.clock-card[data-v-66da35c0]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;transition:all .2s ease;cursor:pointer;position:relative;overflow:hidden}.clock-card[data-v-66da35c0]:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#ff6b6b,#4ecdc4,#45b7d1,#96ceb4,#feca57);opacity:0;transition:opacity .2s ease}.clock-card[data-v-66da35c0]:nth-child(4n+1):before{background:linear-gradient(90deg,#ff6b6b,#ff8e8e)}.clock-card[data-v-66da35c0]:nth-child(4n+2):before{background:linear-gradient(90deg,#4ecdc4,#6ed3d0)}.clock-card[data-v-66da35c0]:nth-child(4n+3):before{background:linear-gradient(90deg,#45b7d1,#6bc5d8)}.clock-card[data-v-66da35c0]:nth-child(4n+4):before{background:linear-gradient(90deg,#96ceb4,#a8d5c4)}.clock-header[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.city-name[data-v-66da35c0]{font-size:.8125rem;font-weight:500;color:var(--primary-color)}.timezone-code[data-v-66da35c0]{font-size:.6875rem;color:var(--success-color);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:600}.time-display[data-v-66da35c0]{text-align:center}.time-value[data-v-66da35c0]{font-size:1.25rem;font-weight:600;color:var(--primary-color);font-family:Monaco,Menlo,Ubuntu Mono,monospace;margin-bottom:.125rem;display:block}.date-value[data-v-66da35c0]{font-size:.6875rem;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace}.quick-convert-container[data-v-66da35c0]{display:flex;flex-direction:column;gap:1.5rem}.convert-card[data-v-66da35c0]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.convert-inputs[data-v-66da35c0]{display:flex;align-items:center;gap:1.5rem;justify-content:center}.timezone-selector[data-v-66da35c0]{flex:1;max-width:300px}.timezone-selector label[data-v-66da35c0]{display:block;font-size:.875rem;font-weight:500;color:var(--text-primary);margin-bottom:.5rem}.timezone-input-group[data-v-66da35c0]{position:relative}.timezone-select[data-v-66da35c0]{width:100%;padding:.5rem .75rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.timezone-select[data-v-66da35c0]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.convert-arrow[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--primary-color);color:#fff;border-radius:50%;flex-shrink:0}.datetime-inputs[data-v-66da35c0]{display:flex;align-items:end;gap:1.5rem;justify-content:center}.datetime-group[data-v-66da35c0]{display:flex;gap:1rem}.input-wrapper[data-v-66da35c0]{display:flex;flex-direction:column;gap:.5rem}.input-wrapper label[data-v-66da35c0]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.date-input[data-v-66da35c0],.time-input[data-v-66da35c0]{padding:.5rem .75rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;transition:all .2s ease;min-width:140px}.date-input[data-v-66da35c0]:focus,.time-input[data-v-66da35c0]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.convert-actions[data-v-66da35c0]{display:flex;gap:.75rem}.now-btn[data-v-66da35c0],.convert-btn[data-v-66da35c0]{display:flex;align-items:center;gap:.5rem;padding:.875rem 1.5rem;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;border:2px solid transparent}.now-btn[data-v-66da35c0]{background:var(--bg-primary);color:var(--text-primary);border-color:var(--border-color)}.now-btn[data-v-66da35c0]:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.convert-btn[data-v-66da35c0]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.convert-btn[data-v-66da35c0]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-color-alpha)}.conversion-result[data-v-66da35c0]{background:linear-gradient(135deg,var(--success-color-alpha) 0%,var(--primary-color-alpha) 100%);border:1px solid var(--success-color);border-radius:1rem;padding:2rem}.result-header[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.result-header h4[data-v-66da35c0]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.copy-btn[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.copy-btn[data-v-66da35c0]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.result-items[data-v-66da35c0]{display:flex;align-items:center;gap:1.5rem;margin-bottom:1rem}.result-item[data-v-66da35c0]{flex:1;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.25rem;text-align:center}.result-item.source[data-v-66da35c0]{border-left:4px solid var(--warning-color)}.result-item.target[data-v-66da35c0]{border-left:4px solid var(--success-color)}.result-label[data-v-66da35c0]{font-size:.75rem;color:var(--text-secondary);font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.result-value[data-v-66da35c0]{font-size:.875rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500}.result-arrow[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;color:var(--primary-color)}.time-difference[data-v-66da35c0]{text-align:center;padding:1rem;background:var(--bg-primary);border-radius:.75rem;border:1px solid var(--border-color)}.diff-label[data-v-66da35c0]{font-size:.875rem;color:var(--text-secondary);margin-right:.5rem}.diff-value[data-v-66da35c0]{font-size:1rem;color:var(--primary-color);font-weight:600;font-family:Monaco,Menlo,Ubuntu Mono,monospace}.meeting-planner-container[data-v-66da35c0]{display:flex;flex-direction:column;gap:1.5rem}.meeting-setup[data-v-66da35c0]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.meeting-basic-info[data-v-66da35c0]{margin-bottom:1rem}.meeting-datetime[data-v-66da35c0]{display:flex;gap:1rem;flex-wrap:wrap}.participants-section[data-v-66da35c0]{border-top:1px solid var(--border-color);padding-top:1.5rem}.participants-header[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.participants-header label[data-v-66da35c0]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.add-participant-btn[data-v-66da35c0]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--success-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.add-participant-btn[data-v-66da35c0]:hover{background:var(--success-color-dark);transform:translateY(-1px)}.participants-list[data-v-66da35c0]{display:flex;flex-direction:column;gap:.75rem}.participant-item[data-v-66da35c0]{display:flex;gap:.5rem;align-items:center;padding:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.75rem}.participant-name[data-v-66da35c0]{flex:1;min-width:120px;padding:.5rem .75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.participant-name[data-v-66da35c0]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.remove-participant-btn[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--error-color);color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease;flex-shrink:0}.remove-participant-btn[data-v-66da35c0]:hover{background:var(--error-color-dark);transform:translateY(-1px)}.plan-meeting-btn[data-v-66da35c0]{display:flex;align-items:center;gap:.5rem;padding:1rem 2rem;background:var(--primary-color);color:#fff;border:none;border-radius:.75rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;align-self:center}.plan-meeting-btn[data-v-66da35c0]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:0 4px 12px var(--primary-color-alpha)}.meeting-plan[data-v-66da35c0]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem}.plan-header[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.plan-header h4[data-v-66da35c0]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.copy-plan-btn[data-v-66da35c0]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.copy-plan-btn[data-v-66da35c0]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px)}.plan-content[data-v-66da35c0]{display:flex;flex-direction:column;gap:1rem}.plan-item[data-v-66da35c0]{display:flex;align-items:center;justify-content:space-between;padding:1.25rem;background:var(--bg-primary);border-radius:.75rem;border-left:4px solid var(--border-color);transition:all .2s ease}.plan-item.host[data-v-66da35c0]{border-left-color:var(--primary-color);background:var(--primary-color-alpha)}.plan-item.good[data-v-66da35c0]{border-left-color:var(--success-color)}.plan-item.warning[data-v-66da35c0]{border-left-color:var(--warning-color)}.plan-item.bad[data-v-66da35c0]{border-left-color:var(--error-color)}.plan-participant[data-v-66da35c0]{display:flex;align-items:center;gap:1rem;flex:1}.participant-info[data-v-66da35c0]{display:flex;flex-direction:column;gap:.25rem}.participant-info .participant-name[data-v-66da35c0]{font-size:.875rem;font-weight:600;color:var(--text-primary);background:none;border:none;padding:0}.participant-timezone[data-v-66da35c0]{font-size:.75rem;color:var(--text-secondary)}.participant-status[data-v-66da35c0]{margin-left:auto}.status-badge[data-v-66da35c0]{font-size:.75rem;font-weight:500;padding:.375rem .75rem;border-radius:1rem}.status-badge.good[data-v-66da35c0]{background:var(--success-color-alpha);color:var(--success-color)}.status-badge.warning[data-v-66da35c0]{background:var(--warning-color-alpha);color:var(--warning-color)}.status-badge.bad[data-v-66da35c0]{background:var(--error-color-alpha);color:var(--error-color)}.status-badge.host[data-v-66da35c0]{background:var(--primary-color-alpha);color:var(--primary-color)}.plan-time[data-v-66da35c0]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.plan-datetime[data-v-66da35c0]{font-size:.875rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-weight:500}@media(max-width:1024px){.convert-inputs[data-v-66da35c0]{flex-direction:column;gap:1rem}.convert-arrow[data-v-66da35c0]{transform:rotate(90deg)}.datetime-inputs[data-v-66da35c0]{flex-direction:column;align-items:stretch}.datetime-group[data-v-66da35c0]{justify-content:center}.result-items[data-v-66da35c0]{flex-direction:column}.result-arrow[data-v-66da35c0]{transform:rotate(90deg)}.meeting-datetime[data-v-66da35c0]{flex-direction:column}}@media(max-width:768px){.converter-content[data-v-66da35c0]{padding:1rem 1rem 4rem;gap:1.5rem}.world-clock-section[data-v-66da35c0],.quick-convert-section[data-v-66da35c0],.meeting-planner-section[data-v-66da35c0]{padding:1.5rem}.world-clock-grid[data-v-66da35c0]{grid-template-columns:1fr}.convert-card[data-v-66da35c0],.meeting-setup[data-v-66da35c0]{padding:1.5rem}.participant-item[data-v-66da35c0]{flex-direction:column;align-items:stretch;gap:.75rem}.plan-item[data-v-66da35c0]{flex-direction:column;align-items:stretch;gap:1rem}.plan-participant[data-v-66da35c0]{justify-content:space-between}.plan-time[data-v-66da35c0]{align-items:flex-start}.time-value[data-v-66da35c0]{font-size:1.75rem}.datetime-group[data-v-66da35c0],.convert-actions[data-v-66da35c0]{flex-direction:column}}@media(max-width:480px){.converter-content[data-v-66da35c0]{padding:1rem 1rem 5rem}.section-title h3[data-v-66da35c0]{font-size:1.125rem}.clock-card[data-v-66da35c0]{padding:1.25rem}.time-value[data-v-66da35c0]{font-size:1.5rem}.message-toast[data-v-66da35c0]{bottom:1rem;right:1rem;left:1rem}}.base64-converter[data-v-bc649345]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-bc649345]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-bc649345]::-webkit-scrollbar{display:none}.converter-section[data-v-bc649345]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.section-header[data-v-bc649345]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.section-header h3[data-v-bc649345]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-bc649345]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-bc649345]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.text-converter-container[data-v-bc649345]{display:flex;flex-direction:column;gap:1.5rem}.input-output-grid[data-v-bc649345]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-section[data-v-bc649345],.output-section[data-v-bc649345]{display:flex;flex-direction:column;gap:.75rem}.section-title[data-v-bc649345]{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:500;color:var(--text-primary)}.section-actions[data-v-bc649345]{display:flex;gap:.5rem}.action-btn-small[data-v-bc649345]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.action-btn-small[data-v-bc649345]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.text-input[data-v-bc649345],.text-output[data-v-bc649345]{width:100%;height:200px;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:150px}.text-input[data-v-bc649345]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.text-output[data-v-bc649345]{background:var(--bg-quaternary)}.input-info[data-v-bc649345],.output-info[data-v-bc649345]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.input-info span[data-v-bc649345],.output-info span[data-v-bc649345]{padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:.25rem}.converter-actions[data-v-bc649345]{display:flex;gap:.75rem;justify-content:center}.converter-options[data-v-bc649345]{display:flex;justify-content:center;margin:1rem 0}.option-checkbox[data-v-bc649345]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;color:var(--text-primary)}.option-checkbox input[type=checkbox][data-v-bc649345]{width:1rem;height:1rem;accent-color:var(--primary-color);cursor:pointer}.option-checkbox .checkmark[data-v-bc649345]{user-select:none}.convert-btn[data-v-bc649345]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.convert-btn.encode[data-v-bc649345]{background:var(--success-color);color:#fff;border-color:var(--success-color)}.convert-btn.encode[data-v-bc649345]:hover{background:var(--success-color-dark);border-color:var(--success-color-dark)}.convert-btn.decode[data-v-bc649345]{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.convert-btn.decode[data-v-bc649345]:hover{background:var(--warning-color-dark);border-color:var(--warning-color-dark)}.swap-btn[data-v-bc649345]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.swap-btn[data-v-bc649345]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.file-converter-container[data-v-bc649345]{display:flex;flex-direction:column;gap:1.5rem}.file-upload-area[data-v-bc649345]{border:2px dashed var(--border-color);border-radius:.75rem;padding:2rem;text-align:center;transition:all .2s ease;cursor:pointer}.file-upload-area[data-v-bc649345]:hover{border-color:var(--primary-color);background:var(--primary-color-alpha)}.file-input[data-v-bc649345]{display:none}.upload-content[data-v-bc649345]{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.upload-content svg[data-v-bc649345]{color:var(--text-tertiary)}.upload-text[data-v-bc649345]{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0}.upload-hint[data-v-bc649345]{font-size:.875rem;color:var(--text-secondary);margin:0}.file-info[data-v-bc649345]{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem}.file-details[data-v-bc649345]{display:flex;align-items:center;gap:1rem}.file-icon[data-v-bc649345]{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--primary-color-alpha);border-radius:.5rem;color:var(--primary-color)}.file-meta[data-v-bc649345]{flex:1;display:flex;flex-direction:column;gap:.25rem}.file-name[data-v-bc649345]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.file-size[data-v-bc649345],.file-type[data-v-bc649345]{font-size:.75rem;color:var(--text-secondary)}.remove-file-btn[data-v-bc649345]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--error-color);color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.remove-file-btn[data-v-bc649345]:hover{background:var(--error-color-dark)}.file-actions[data-v-bc649345]{display:flex;gap:.75rem}.file-action-btn[data-v-bc649345]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.file-action-btn[data-v-bc649345]:hover:not(:disabled){background:var(--primary-color-dark)}.file-action-btn[data-v-bc649345]:disabled{opacity:.6;cursor:not-allowed}.file-result[data-v-bc649345]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.result-header[data-v-bc649345]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.result-header h4[data-v-bc649345]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.result-actions[data-v-bc649345]{display:flex;gap:.5rem}.file-result-text[data-v-bc649345]{width:100%;height:150px;padding:.75rem;background:var(--bg-quaternary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.75rem;font-family:Courier New,monospace;resize:vertical;min-height:100px}.result-info[data-v-bc649345]{display:flex;justify-content:space-between;margin-top:.75rem;font-size:.75rem;color:var(--text-secondary)}.result-info span[data-v-bc649345]{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:.25rem}@media(max-width:768px){.converter-content[data-v-bc649345]{padding:1rem;gap:1.5rem}.converter-section[data-v-bc649345]{padding:1rem}.input-output-grid[data-v-bc649345]{grid-template-columns:1fr}.converter-actions[data-v-bc649345]{flex-direction:column}.file-details[data-v-bc649345]{flex-direction:column;align-items:flex-start;gap:.75rem}.file-actions[data-v-bc649345]{flex-direction:column}.text-input[data-v-bc649345],.text-output[data-v-bc649345],.file-result-text[data-v-bc649345]{height:150px}}.url-converter[data-v-d86d8d60]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-d86d8d60]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem;max-width:1200px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-d86d8d60]::-webkit-scrollbar{display:none}.converter-section[data-v-d86d8d60]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.section-header[data-v-d86d8d60]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.section-header h3[data-v-d86d8d60]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-d86d8d60]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-d86d8d60]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.url-converter-container[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1.5rem}.input-output-grid[data-v-d86d8d60]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-section[data-v-d86d8d60],.output-section[data-v-d86d8d60]{display:flex;flex-direction:column;gap:.75rem}.section-title[data-v-d86d8d60]{display:flex;align-items:center;justify-content:space-between;font-size:.875rem;font-weight:500;color:var(--text-primary)}.section-actions[data-v-d86d8d60]{display:flex;gap:.5rem}.action-btn-small[data-v-d86d8d60]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.action-btn-small[data-v-d86d8d60]:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.action-btn-small[data-v-d86d8d60]:disabled{opacity:.5;cursor:not-allowed}.text-input[data-v-d86d8d60],.text-output[data-v-d86d8d60]{width:100%;height:200px;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:150px}.text-input[data-v-d86d8d60]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.text-output[data-v-d86d8d60]{background:var(--bg-quaternary)}.input-info[data-v-d86d8d60],.output-info[data-v-d86d8d60]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.char-count[data-v-d86d8d60]{padding:.25rem .5rem;background:var(--bg-tertiary);border-radius:.25rem}.url-valid[data-v-d86d8d60]{padding:.25rem .5rem;border-radius:.25rem;font-weight:500}.url-valid.valid[data-v-d86d8d60]{background:var(--success-color);color:#fff}.url-valid.invalid[data-v-d86d8d60]{background:var(--error-color);color:#fff}.url-valid[data-v-d86d8d60]:not(.valid):not(.invalid){background:var(--warning-color);color:#fff}.converter-actions[data-v-d86d8d60]{display:flex;gap:.75rem;justify-content:center}.convert-btn[data-v-d86d8d60]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.convert-btn.encode[data-v-d86d8d60]{background:var(--success-color);color:#fff;border-color:var(--success-color)}.convert-btn.encode[data-v-d86d8d60]:hover{background:var(--success-color-dark);border-color:var(--success-color-dark)}.convert-btn.decode[data-v-d86d8d60]{background:var(--warning-color);color:#fff;border-color:var(--warning-color)}.convert-btn.decode[data-v-d86d8d60]:hover{background:var(--warning-color-dark);border-color:var(--warning-color-dark)}.swap-btn[data-v-d86d8d60]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.swap-btn[data-v-d86d8d60]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.url-parser-container[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1.5rem}.parser-input[data-v-d86d8d60]{display:flex;flex-direction:column;gap:.5rem}.parser-input label[data-v-d86d8d60]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.input-with-button[data-v-d86d8d60]{display:flex;gap:.75rem}.url-input[data-v-d86d8d60]{flex:1;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.url-input[data-v-d86d8d60]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.parse-btn[data-v-d86d8d60]{padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.parse-btn[data-v-d86d8d60]:hover{background:var(--primary-color-dark)}.url-components[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1.5rem}.component-grid[data-v-d86d8d60]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.component-item[data-v-d86d8d60]{display:flex;flex-direction:column;gap:.5rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem}.component-item label[data-v-d86d8d60]{font-size:.75rem;font-weight:500;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.component-value[data-v-d86d8d60]{font-size:.875rem;color:var(--text-primary);font-family:Courier New,monospace;word-break:break-all}.url-params[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1rem}.params-header[data-v-d86d8d60]{display:flex;align-items:center;justify-content:space-between}.params-header h4[data-v-d86d8d60]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.copy-params-btn[data-v-d86d8d60]{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.75rem}.copy-params-btn[data-v-d86d8d60]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.params-list[data-v-d86d8d60]{display:flex;flex-direction:column;gap:.5rem}.param-item[data-v-d86d8d60]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem}.param-key[data-v-d86d8d60]{font-weight:500;color:var(--primary-color);font-family:Courier New,monospace}.param-separator[data-v-d86d8d60]{color:var(--text-secondary)}.param-value[data-v-d86d8d60]{flex:1;color:var(--text-primary);font-family:Courier New,monospace;word-break:break-all}.copy-param-btn[data-v-d86d8d60]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.copy-param-btn[data-v-d86d8d60]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.char-reference[data-v-d86d8d60]{display:flex;flex-direction:column;gap:1rem}.char-grid[data-v-d86d8d60]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.char-item[data-v-d86d8d60]{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease}.char-item[data-v-d86d8d60]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px rgba(var(--primary-rgb),.2)}.char-original[data-v-d86d8d60]{font-size:1.25rem;font-weight:600;font-family:Courier New,monospace}.char-encoded[data-v-d86d8d60]{font-size:.75rem;font-family:Courier New,monospace;color:var(--text-secondary)}.char-item:hover .char-encoded[data-v-d86d8d60]{color:#fffc}.char-description[data-v-d86d8d60]{font-size:.625rem;color:var(--text-tertiary);text-align:center}.char-item:hover .char-description[data-v-d86d8d60]{color:#ffffffb3}@media(max-width:768px){.converter-content[data-v-d86d8d60]{padding:1rem;gap:1.5rem}.converter-section[data-v-d86d8d60]{padding:1rem}.input-output-grid[data-v-d86d8d60]{grid-template-columns:1fr}.converter-actions[data-v-d86d8d60],.input-with-button[data-v-d86d8d60]{flex-direction:column}.component-grid[data-v-d86d8d60]{grid-template-columns:1fr}.char-grid[data-v-d86d8d60]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.params-header[data-v-d86d8d60]{flex-direction:column;align-items:stretch;gap:.5rem}.text-input[data-v-d86d8d60],.text-output[data-v-d86d8d60]{height:150px}}.hash-generator[data-v-87e684ca]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.generator-content[data-v-87e684ca]{flex:1;overflow-y:auto;padding:1.5rem;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.generator-content[data-v-87e684ca]::-webkit-scrollbar{display:none}.generator-section[data-v-87e684ca]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.section-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-87e684ca]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-87e684ca]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-87e684ca]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.text-hash-container[data-v-87e684ca]{display:grid;grid-template-columns:1fr 1.2fr;gap:2rem;align-items:start}.input-section[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem;height:fit-content;position:sticky;top:0}.input-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between}.input-header label[data-v-87e684ca]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.input-actions[data-v-87e684ca]{display:flex;gap:.5rem}.action-btn-small[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-weight:500}.action-btn-small[data-v-87e684ca]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.case-text[data-v-87e684ca]{font-size:.75rem;font-weight:600;font-family:monospace}.text-input[data-v-87e684ca]{width:100%;height:300px;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:200px;transition:all .2s ease}.text-input[data-v-87e684ca]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.input-info[data-v-87e684ca]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary);margin-top:.5rem}.char-count[data-v-87e684ca],.byte-count[data-v-87e684ca]{padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem;border:1px solid var(--border-color)}.hash-results[data-v-87e684ca]{display:flex;flex-direction:column;gap:1rem}.results-title[data-v-87e684ca]{display:flex;flex-direction:column;gap:.5rem;margin-bottom:.5rem}.results-title h4[data-v-87e684ca]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.results-divider[data-v-87e684ca]{height:2px;background:linear-gradient(to right,var(--primary-color),var(--primary-color-alpha),transparent);border-radius:1px}.hash-grid[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem}.hash-result-item[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem}.hash-header[data-v-87e684ca]{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.hash-info[data-v-87e684ca]{display:flex;flex-direction:column;gap:.375rem;flex:1}.hash-type[data-v-87e684ca]{font-size:.875rem;font-weight:700;color:var(--primary-color);background:var(--primary-color-alpha);padding:.25rem .625rem;border-radius:.375rem;display:inline-block;width:fit-content}.hash-description[data-v-87e684ca]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.hash-actions[data-v-87e684ca]{display:flex;gap:.5rem;flex-shrink:0}.copy-hash-btn[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.copy-hash-btn[data-v-87e684ca]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:scale(1.05)}.hash-value[data-v-87e684ca]{font-family:Courier New,monospace;font-size:.8rem;color:var(--text-primary);background:var(--bg-secondary);padding:.75rem;border-radius:.5rem;word-break:break-all;margin-bottom:.75rem;min-height:2.5rem;display:flex;align-items:center;line-height:1.4;border:1px solid var(--border-color);position:relative}.hash-value[data-v-87e684ca]:empty:before{content:"请输入文本";color:var(--text-secondary);font-style:italic}.hash-meta[data-v-87e684ca]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.hash-length[data-v-87e684ca],.hash-format[data-v-87e684ca]{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:.25rem;border:1px solid var(--border-color);font-weight:500}.file-hash-container[data-v-87e684ca]{display:flex;flex-direction:column;gap:1.5rem}.file-upload-area[data-v-87e684ca]{position:relative;border:2px dashed var(--border-color);border-radius:.75rem;padding:2rem;text-align:center;transition:all .2s ease;cursor:pointer}.file-upload-area[data-v-87e684ca]:hover{border-color:var(--primary-color);background:var(--primary-color-alpha)}.file-input[data-v-87e684ca]{position:absolute;opacity:0;pointer-events:none}.upload-content[data-v-87e684ca]{display:flex;flex-direction:column;align-items:center;gap:1rem}.upload-content svg[data-v-87e684ca]{color:var(--text-secondary)}.upload-text[data-v-87e684ca]{font-size:1rem;font-weight:500;color:var(--text-primary);margin:0}.upload-hint[data-v-87e684ca]{font-size:.875rem;color:var(--text-secondary);margin:0}.file-info[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.file-details[data-v-87e684ca]{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.file-icon[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:3rem;height:3rem;background:var(--primary-color-alpha);border-radius:.5rem;color:var(--primary-color)}.file-meta[data-v-87e684ca]{flex:1;display:flex;flex-direction:column;gap:.25rem}.file-name[data-v-87e684ca]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.file-size[data-v-87e684ca],.file-type[data-v-87e684ca]{font-size:.75rem;color:var(--text-secondary)}.remove-file-btn[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--error-color);color:#fff;border:none;border-radius:.375rem;cursor:pointer;transition:all .2s ease}.remove-file-btn[data-v-87e684ca]:hover{background:var(--error-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.file-actions[data-v-87e684ca]{display:flex;gap:.75rem;margin-bottom:1rem}.file-action-btn[data-v-87e684ca]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.file-action-btn[data-v-87e684ca]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.file-action-btn[data-v-87e684ca]:disabled{opacity:.6;cursor:not-allowed}.file-hash-results[data-v-87e684ca]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem}.results-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.results-header h4[data-v-87e684ca]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.export-results-btn[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.export-results-btn[data-v-87e684ca]:hover{background:var(--success-color);color:#fff;border-color:var(--success-color)}.file-hash-list[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem}.file-hash-item[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem}.file-hash-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.file-hash-type[data-v-87e684ca]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.copy-file-hash-btn[data-v-87e684ca]{display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.copy-file-hash-btn[data-v-87e684ca]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.file-hash-value[data-v-87e684ca]{font-family:Courier New,monospace;font-size:.75rem;color:var(--text-primary);word-break:break-all}.hash-verify-container[data-v-87e684ca]{display:flex;flex-direction:column;gap:1.5rem}.verify-form[data-v-87e684ca]{display:grid;grid-template-columns:2fr 1fr 2fr;gap:1rem}.verify-input-group[data-v-87e684ca]{display:flex;flex-direction:column;gap:.5rem}.verify-input-group label[data-v-87e684ca]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.verify-input[data-v-87e684ca]{height:140px;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:100px}.verify-input[data-v-87e684ca]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.hash-type-select[data-v-87e684ca],.expected-hash-input[data-v-87e684ca]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.hash-type-select[data-v-87e684ca]:focus,.expected-hash-input[data-v-87e684ca]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.expected-hash-input[data-v-87e684ca]{font-family:Courier New,monospace}.verify-result[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.verify-result-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.verify-result-header h4[data-v-87e684ca]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.verify-status[data-v-87e684ca]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.verify-status.match[data-v-87e684ca]{background:var(--success-color-alpha);color:var(--success-color)}.verify-status.mismatch[data-v-87e684ca]{background:var(--error-color-alpha);color:var(--error-color)}.verify-details[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem}.verify-detail-item[data-v-87e684ca]{display:flex;align-items:center;gap:1rem}.verify-label[data-v-87e684ca]{font-size:.875rem;font-weight:500;color:var(--text-primary);min-width:5rem}.verify-value[data-v-87e684ca]{flex:1;font-family:Courier New,monospace;font-size:.75rem;padding:.5rem;border-radius:.375rem;word-break:break-all}.verify-value.computed[data-v-87e684ca]{background:var(--bg-secondary);color:var(--text-primary)}.verify-value.expected[data-v-87e684ca]{background:var(--bg-secondary);color:var(--text-secondary)}.algorithm-info[data-v-87e684ca]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.algorithm-grid[data-v-87e684ca]{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem}.algorithm-card[data-v-87e684ca]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.25rem;transition:all .2s ease}.algorithm-card[data-v-87e684ca]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.algorithm-header[data-v-87e684ca]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.algorithm-header h4[data-v-87e684ca]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.algorithm-length[data-v-87e684ca]{font-size:.75rem;color:var(--primary-color);background:var(--primary-color-alpha);padding:.25rem .5rem;border-radius:.375rem;font-weight:500}.algorithm-description[data-v-87e684ca]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.algorithm-features[data-v-87e684ca]{display:flex;flex-direction:column;gap:.75rem}.feature-item[data-v-87e684ca]{display:flex;align-items:center;gap:.75rem}.feature-label[data-v-87e684ca]{font-size:.75rem;font-weight:500;color:var(--text-primary);min-width:3rem}.security-level[data-v-87e684ca],.speed-level[data-v-87e684ca]{display:flex;align-items:center;gap:.5rem;flex:1}.security-bar[data-v-87e684ca],.speed-bar[data-v-87e684ca]{height:.25rem;border-radius:.125rem;flex:1;max-width:4rem}.security-level.low .security-bar[data-v-87e684ca]{background:var(--error-color)}.security-level.medium .security-bar[data-v-87e684ca]{background:var(--warning-color)}.security-level.high .security-bar[data-v-87e684ca]{background:var(--success-color)}.security-level.very-high .security-bar[data-v-87e684ca]{background:var(--primary-color)}.speed-level.high .speed-bar[data-v-87e684ca]{background:var(--success-color)}.speed-level.medium .speed-bar[data-v-87e684ca]{background:var(--warning-color)}.security-level span[data-v-87e684ca],.speed-level span[data-v-87e684ca]{font-size:.75rem;color:var(--text-secondary)}.feature-value[data-v-87e684ca]{font-size:.75rem;color:var(--text-secondary);flex:1}@media(max-width:1200px){.text-hash-container[data-v-87e684ca]{grid-template-columns:1fr 1fr;gap:1.5rem}}@media(max-width:1024px){.generator-content[data-v-87e684ca]{padding:1.25rem;gap:1.5rem}.text-hash-container[data-v-87e684ca]{grid-template-columns:1fr;gap:1.5rem}.input-section[data-v-87e684ca]{position:static}.text-input[data-v-87e684ca]{height:200px}.hash-grid[data-v-87e684ca]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.hash-result-item[data-v-87e684ca]{padding:1rem}}@media(max-width:768px){.generator-content[data-v-87e684ca]{padding:1rem;gap:1.25rem}.generator-section[data-v-87e684ca]{padding:1rem}.text-hash-container[data-v-87e684ca]{grid-template-columns:1fr;gap:1rem}.hash-grid[data-v-87e684ca]{grid-template-columns:1fr;gap:.75rem}.hash-result-item[data-v-87e684ca]{padding:.875rem}.hash-header[data-v-87e684ca]{flex-direction:column;align-items:flex-start;gap:.75rem}.hash-actions[data-v-87e684ca]{align-self:flex-end}.text-input[data-v-87e684ca]{height:150px;min-height:100px}.verify-form[data-v-87e684ca]{grid-template-columns:1fr;gap:1rem}.algorithm-grid[data-v-87e684ca]{grid-template-columns:1fr}.file-details[data-v-87e684ca]{flex-direction:column;align-items:flex-start;gap:.75rem}.file-actions[data-v-87e684ca]{flex-direction:column}.verify-detail-item[data-v-87e684ca]{flex-direction:column;align-items:flex-start;gap:.5rem}.verify-label[data-v-87e684ca]{min-width:auto}}@media(max-width:480px){.generator-content[data-v-87e684ca]{padding:.75rem;gap:1rem}.generator-section[data-v-87e684ca],.hash-result-item[data-v-87e684ca]{padding:.75rem}.hash-type[data-v-87e684ca]{font-size:.875rem;padding:.25rem .5rem}.hash-value[data-v-87e684ca]{padding:.75rem;font-size:.75rem}.input-info[data-v-87e684ca]{flex-direction:column;gap:.5rem}}.password-generator[data-v-4e7bfff2]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.generator-content[data-v-4e7bfff2]{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:20px;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.generator-content[data-v-4e7bfff2]::-webkit-scrollbar{display:none}.generator-section[data-v-4e7bfff2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.section-header[data-v-4e7bfff2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.section-header h3[data-v-4e7bfff2]{font-size:18px;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-4e7bfff2]{display:flex;align-items:center;gap:8px}.info-text[data-v-4e7bfff2]{font-size:14px;color:var(--text-secondary)}.password-strength[data-v-4e7bfff2]{display:flex;align-items:center;gap:12px}.strength-indicator[data-v-4e7bfff2]{width:100px;height:8px;background:var(--bg-tertiary);border-radius:4px;overflow:hidden}.strength-bar[data-v-4e7bfff2]{height:100%;transition:all .3s ease;border-radius:4px}.password-strength.very-weak .strength-bar[data-v-4e7bfff2]{background:var(--error-color)}.password-strength.weak .strength-bar[data-v-4e7bfff2]{background:#ff6b35}.password-strength.medium .strength-bar[data-v-4e7bfff2]{background:var(--warning-color)}.password-strength.strong .strength-bar[data-v-4e7bfff2]{background:#4ade80}.password-strength.very-strong .strength-bar[data-v-4e7bfff2]{background:var(--success-color)}.strength-text[data-v-4e7bfff2]{font-size:14px;font-weight:500}.password-strength.very-weak .strength-text[data-v-4e7bfff2]{color:var(--error-color)}.password-strength.weak .strength-text[data-v-4e7bfff2]{color:#ff6b35}.password-strength.medium .strength-text[data-v-4e7bfff2]{color:var(--warning-color)}.password-strength.strong .strength-text[data-v-4e7bfff2]{color:#4ade80}.password-strength.very-strong .strength-text[data-v-4e7bfff2]{color:var(--success-color)}.password-settings[data-v-4e7bfff2],.settings-grid[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:20px}.setting-group[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:12px}.setting-label[data-v-4e7bfff2]{font-size:16px;font-weight:600;color:var(--text-primary)}.length-controls[data-v-4e7bfff2]{display:flex;align-items:center;gap:16px}.length-slider[data-v-4e7bfff2]{flex:1;height:6px;background:var(--bg-tertiary);border-radius:3px;outline:none;-webkit-appearance:none;appearance:none}.length-slider[data-v-4e7bfff2]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;background:var(--primary-color);border-radius:50%;cursor:pointer}.length-slider[data-v-4e7bfff2]::-moz-range-thumb{width:20px;height:20px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.length-input[data-v-4e7bfff2]{width:80px;padding:8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);text-align:center;font-size:14px}.length-input[data-v-4e7bfff2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.character-options[data-v-4e7bfff2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:8px}.checkbox-label[data-v-4e7bfff2]{display:flex;align-items:flex-start;gap:8px;cursor:pointer;padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;transition:all .2s ease}.checkbox-label[data-v-4e7bfff2]:hover{border-color:var(--primary-color);background:var(--primary-color-alpha)}.checkbox-label input[type=checkbox][data-v-4e7bfff2]{margin:0;transform:scale(1.2);flex-shrink:0}.checkbox-content[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:2px;flex:1}.checkbox-text[data-v-4e7bfff2]{font-size:13px;font-weight:500;color:var(--text-primary)}.character-preview[data-v-4e7bfff2]{font-size:11px;color:var(--text-secondary);font-family:Courier New,monospace;word-break:break-all;line-height:1.2}.quick-presets h4[data-v-4e7bfff2]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 16px}.preset-buttons[data-v-4e7bfff2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}.preset-btn[data-v-4e7bfff2]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;text-align:center}.preset-btn[data-v-4e7bfff2]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.preset-name[data-v-4e7bfff2]{font-size:14px;font-weight:600}.preset-desc[data-v-4e7bfff2]{font-size:12px;opacity:.8}.password-result[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:16px}.password-display[data-v-4e7bfff2]{display:flex;align-items:center;gap:12px;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:8px;padding:16px;transition:all .2s ease}.password-display[data-v-4e7bfff2]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha)}.password-value[data-v-4e7bfff2]{flex:1;font-family:Courier New,monospace;font-size:18px;font-weight:600;color:var(--text-primary);word-break:break-all;line-height:1.5;min-height:1.5em}.password-value.password-hidden[data-v-4e7bfff2]{letter-spacing:.2em}.password-actions[data-v-4e7bfff2]{display:flex;gap:8px}.password-action-btn[data-v-4e7bfff2]{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.password-action-btn[data-v-4e7bfff2]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-md)}.password-info[data-v-4e7bfff2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px}.info-item[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:4px;padding:16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;text-align:center}.info-label[data-v-4e7bfff2]{font-size:12px;color:var(--text-secondary);font-weight:500}.info-value[data-v-4e7bfff2]{font-size:16px;color:var(--text-primary);font-weight:600}.batch-generator[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:16px}.batch-controls[data-v-4e7bfff2]{display:flex;align-items:end;gap:16px}.batch-input-group[data-v-4e7bfff2]{display:flex;flex-direction:column;gap:8px}.batch-input-group label[data-v-4e7bfff2]{font-size:14px;font-weight:500;color:var(--text-primary)}.batch-count-input[data-v-4e7bfff2]{width:100px;padding:12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);text-align:center;font-size:14px}.batch-count-input[data-v-4e7bfff2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.batch-generate-btn[data-v-4e7bfff2],.batch-export-btn[data-v-4e7bfff2]{display:flex;align-items:center;gap:8px;padding:12px 24px;border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.batch-generate-btn[data-v-4e7bfff2]{background:var(--primary-color);color:#fff}.batch-generate-btn[data-v-4e7bfff2]:hover{background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.batch-export-btn[data-v-4e7bfff2]{background:var(--success-color);color:#fff}.batch-export-btn[data-v-4e7bfff2]:hover:not(:disabled){background:var(--success-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.batch-export-btn[data-v-4e7bfff2]:disabled{opacity:.5;cursor:not-allowed}.batch-results[data-v-4e7bfff2]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.batch-header[data-v-4e7bfff2]{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.batch-header h4[data-v-4e7bfff2]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0}.clear-batch-btn[data-v-4e7bfff2]{display:flex;align-items:center;gap:8px;padding:8px 16px;background:var(--error-color);color:#fff;border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;font-size:14px}.clear-batch-btn[data-v-4e7bfff2]:hover{background:var(--error-color-dark)}.batch-password-list[data-v-4e7bfff2]{max-height:300px;overflow-y:auto;margin-bottom:16px;scrollbar-width:none;-ms-overflow-style:none}.batch-password-list[data-v-4e7bfff2]::-webkit-scrollbar{display:none}.batch-password-item[data-v-4e7bfff2]{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;margin-bottom:8px}.batch-password-index[data-v-4e7bfff2]{font-size:14px;color:var(--text-secondary);font-weight:500;min-width:32px}.batch-password-value[data-v-4e7bfff2]{flex:1;font-family:Courier New,monospace;font-size:14px;color:var(--text-primary);word-break:break-all}.batch-password-value.password-hidden[data-v-4e7bfff2]{letter-spacing:.1em}.copy-batch-password-btn[data-v-4e7bfff2]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.copy-batch-password-btn[data-v-4e7bfff2]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.batch-actions[data-v-4e7bfff2]{display:flex;gap:12px;justify-content:center}.toggle-batch-visibility-btn[data-v-4e7bfff2],.copy-all-btn[data-v-4e7bfff2]{display:flex;align-items:center;gap:8px;padding:12px 16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:14px;font-weight:500}.toggle-batch-visibility-btn[data-v-4e7bfff2]:hover,.copy-all-btn[data-v-4e7bfff2]:hover{background:var(--bg-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.security-tips[data-v-4e7bfff2]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:16px}.tips-grid[data-v-4e7bfff2]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px}.tip-card[data-v-4e7bfff2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;text-align:center;transition:all .2s ease}.tip-card[data-v-4e7bfff2]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.tip-icon[data-v-4e7bfff2]{font-size:32px;margin-bottom:12px}.tip-card h4[data-v-4e7bfff2]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0 0 12px}.tip-card p[data-v-4e7bfff2]{font-size:14px;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:768px){.generator-content[data-v-4e7bfff2]{padding:16px;gap:24px}.generator-section[data-v-4e7bfff2]{padding:16px}.character-options[data-v-4e7bfff2]{grid-template-columns:1fr}.settings-grid[data-v-4e7bfff2]{flex-direction:column}.length-controls[data-v-4e7bfff2]{flex-direction:column;align-items:stretch}.preset-buttons[data-v-4e7bfff2]{grid-template-columns:repeat(2,1fr)}.password-display[data-v-4e7bfff2]{flex-direction:column;align-items:stretch;gap:16px}.password-actions[data-v-4e7bfff2]{justify-content:center}.batch-controls[data-v-4e7bfff2]{flex-direction:column;align-items:stretch}.batch-actions[data-v-4e7bfff2]{flex-direction:column}.tips-grid[data-v-4e7bfff2]{grid-template-columns:1fr}}.rsa-generator[data-v-7ba029c7]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.generator-content[data-v-7ba029c7]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.generator-content[data-v-7ba029c7]::-webkit-scrollbar{display:none}.generator-section[data-v-7ba029c7]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.section-header[data-v-7ba029c7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-7ba029c7]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-7ba029c7]{font-size:.875rem;color:var(--text-secondary);padding:.25rem .75rem;background:var(--bg-tertiary);border-radius:.375rem}.key-config[data-v-7ba029c7]{display:flex;flex-direction:column;gap:1.5rem}.config-row[data-v-7ba029c7]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.config-group[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.5rem}.config-group label[data-v-7ba029c7]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.key-size-select[data-v-7ba029c7],.format-select[data-v-7ba029c7],.usage-select[data-v-7ba029c7]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.key-size-select[data-v-7ba029c7]:focus,.format-select[data-v-7ba029c7]:focus,.usage-select[data-v-7ba029c7]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.password-label[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem;cursor:pointer;user-select:none}.password-checkbox[data-v-7ba029c7]{width:1rem;height:1rem;accent-color:var(--primary-color)}.password-input-container[data-v-7ba029c7]{position:relative;display:flex;align-items:center}.password-input-container.disabled[data-v-7ba029c7]{opacity:.5}.password-input[data-v-7ba029c7]{flex:1;padding:.75rem 3rem .75rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem}.password-input[data-v-7ba029c7]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.password-input[data-v-7ba029c7]:disabled{cursor:not-allowed;opacity:.6}.password-toggle-btn[data-v-7ba029c7]{position:absolute;right:.5rem;display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;border-radius:.25rem;transition:all .2s ease}.password-toggle-btn[data-v-7ba029c7]:hover:not(:disabled){background:var(--bg-hover);color:var(--text-primary)}.password-toggle-btn[data-v-7ba029c7]:disabled{cursor:not-allowed;opacity:.4}.password-hint[data-v-7ba029c7]{margin-top:.25rem}.hint-text[data-v-7ba029c7]{font-size:.75rem;color:var(--text-secondary);font-style:italic}.password-strength[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.5rem}.password-strength.disabled[data-v-7ba029c7]{opacity:.5}.strength-bar[data-v-7ba029c7]{height:.25rem;background:var(--bg-tertiary);border-radius:.125rem;overflow:hidden}.strength-fill[data-v-7ba029c7]{height:100%;transition:all .3s ease;border-radius:.125rem}.strength-fill.weak[data-v-7ba029c7]{background:var(--error-color)}.strength-fill.medium[data-v-7ba029c7]{background:var(--warning-color)}.strength-fill.strong[data-v-7ba029c7]{background:var(--success-color)}.strength-fill.very-strong[data-v-7ba029c7]{background:var(--primary-color)}.strength-text[data-v-7ba029c7]{font-size:.75rem;font-weight:500}.strength-text.weak[data-v-7ba029c7]{color:var(--error-color)}.strength-text.medium[data-v-7ba029c7]{color:var(--warning-color)}.strength-text.strong[data-v-7ba029c7]{color:var(--success-color)}.strength-text.very-strong[data-v-7ba029c7]{color:var(--primary-color)}.generate-actions[data-v-7ba029c7]{display:flex;gap:1rem}.generate-btn[data-v-7ba029c7],.quick-generate-btn[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.generate-btn[data-v-7ba029c7]{background:var(--primary-color);color:#fff}.generate-btn[data-v-7ba029c7]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.generate-btn[data-v-7ba029c7]:disabled{opacity:.6;cursor:not-allowed}.quick-generate-btn[data-v-7ba029c7]{background:var(--success-color);color:#fff}.quick-generate-btn[data-v-7ba029c7]:hover:not(:disabled){background:var(--success-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.quick-generate-btn[data-v-7ba029c7]:disabled{opacity:.6;cursor:not-allowed}.key-results[data-v-7ba029c7]{display:flex;flex-direction:column;gap:1.5rem}.key-result-container[data-v-7ba029c7]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;width:100%}.key-result-item[data-v-7ba029c7]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;transition:all .2s ease}.key-result-item[data-v-7ba029c7]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha)}.key-header[data-v-7ba029c7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.key-info[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.25rem}.key-type-container[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.key-type[data-v-7ba029c7]{font-size:1rem;font-weight:600;color:var(--primary-color);background:var(--primary-color-alpha);padding:.25rem .5rem;border-radius:.375rem;display:inline-block;width:fit-content}.password-protected-badge[data-v-7ba029c7]{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;color:var(--success-color);background:var(--success-color-alpha);padding:.2rem .4rem;border-radius:.25rem}.key-description[data-v-7ba029c7]{font-size:.75rem;color:var(--text-secondary)}.key-actions[data-v-7ba029c7]{display:flex;gap:.5rem}.copy-key-btn[data-v-7ba029c7],.download-key-btn[data-v-7ba029c7]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.copy-key-btn[data-v-7ba029c7]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.download-key-btn[data-v-7ba029c7]:hover{background:var(--success-color);color:#fff;border-color:var(--success-color)}.key-value[data-v-7ba029c7]{font-family:Courier New,monospace;font-size:.75rem;color:var(--text-primary);background:var(--bg-secondary);padding:1rem;border-radius:.5rem;word-break:break-all;margin-bottom:1rem;min-height:10rem;max-height:14rem;overflow-y:auto;line-height:1.4;white-space:pre-wrap;position:relative;scrollbar-width:none;-ms-overflow-style:none}.key-value[data-v-7ba029c7]::-webkit-scrollbar{display:none}.key-value.private-key.blurred[data-v-7ba029c7]{filter:blur(4px);user-select:none}.privacy-overlay[data-v-7ba029c7]{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0000001a;cursor:pointer;gap:.5rem;color:var(--text-secondary);font-size:.875rem;font-weight:500}.privacy-overlay[data-v-7ba029c7]:hover{background:#0003}.key-meta[data-v-7ba029c7]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.key-length[data-v-7ba029c7],.key-format[data-v-7ba029c7]{padding:.25rem .5rem;background:var(--bg-secondary);border-radius:.25rem}.key-verify-container[data-v-7ba029c7]{display:flex;flex-direction:column;gap:1.5rem}.verify-form[data-v-7ba029c7]{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.verify-input-group[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.5rem}.verify-input-group label[data-v-7ba029c7]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.verify-input[data-v-7ba029c7]{height:120px;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.75rem;font-family:Courier New,monospace;resize:vertical;min-height:80px}.verify-input[data-v-7ba029c7]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.verify-result[data-v-7ba029c7]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.verify-result-header[data-v-7ba029c7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.verify-result-header h4[data-v-7ba029c7]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.verify-status[data-v-7ba029c7]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;font-weight:500}.verify-status.valid[data-v-7ba029c7]{background:var(--success-color-alpha);color:var(--success-color)}.verify-status.invalid[data-v-7ba029c7]{background:var(--error-color-alpha);color:var(--error-color)}.verify-details[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.75rem}.verify-detail-item[data-v-7ba029c7]{display:flex;align-items:center;gap:1rem}.verify-label[data-v-7ba029c7]{font-size:.875rem;font-weight:500;color:var(--text-primary);min-width:5rem}.verify-value[data-v-7ba029c7]{font-size:.875rem;padding:.25rem .5rem;border-radius:.25rem}.verify-value.valid[data-v-7ba029c7]{background:var(--success-color-alpha);color:var(--success-color)}.verify-value.invalid[data-v-7ba029c7]{background:var(--error-color-alpha);color:var(--error-color)}.algorithm-info[data-v-7ba029c7]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.algorithm-grid[data-v-7ba029c7]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.algorithm-card[data-v-7ba029c7]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;transition:all .2s ease}.algorithm-card[data-v-7ba029c7]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.algorithm-header[data-v-7ba029c7]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.algorithm-header h4[data-v-7ba029c7]{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0}.algorithm-icon[data-v-7ba029c7]{font-size:1.25rem}.algorithm-description[data-v-7ba029c7]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.algorithm-features[data-v-7ba029c7]{display:flex;flex-direction:column;gap:.5rem}.feature-item[data-v-7ba029c7]{display:flex;align-items:flex-start;gap:.5rem}.feature-bullet[data-v-7ba029c7]{color:var(--primary-color);font-weight:700;margin-top:.1rem}.feature-text[data-v-7ba029c7]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}@media(max-width:1024px){.config-row[data-v-7ba029c7],.verify-form[data-v-7ba029c7],.algorithm-grid[data-v-7ba029c7],.key-result-container[data-v-7ba029c7]{grid-template-columns:1fr}}@media(max-width:768px){.generator-content[data-v-7ba029c7]{padding:1rem;gap:1.5rem}.generator-section[data-v-7ba029c7]{padding:1rem}.generate-actions[data-v-7ba029c7]{flex-direction:column}.key-header[data-v-7ba029c7]{flex-direction:column;align-items:flex-start;gap:1rem}.verify-detail-item[data-v-7ba029c7]{flex-direction:column;align-items:flex-start;gap:.5rem}.verify-label[data-v-7ba029c7]{min-width:auto}}.code-formatter[data-v-1f23f000]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.language-selector[data-v-1f23f000]{display:flex;align-items:center;gap:.5rem}.language-select[data-v-1f23f000]{padding:.5rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:.875rem}.formatter-content[data-v-1f23f000]{flex:1;display:flex;flex-direction:column;padding:0 1rem 1rem;overflow-y:auto;min-height:0}.main-workspace[data-v-1f23f000]{flex:1;display:grid;grid-template-columns:1fr 1px 1fr;gap:1rem;margin-bottom:1rem;overflow:hidden;min-height:400px}.input-section[data-v-1f23f000],.output-section[data-v-1f23f000]{display:flex;flex-direction:column;overflow:hidden}.divider[data-v-1f23f000]{background:var(--border-color)}.section-header[data-v-1f23f000]{display:flex;align-items:center;justify-content:space-between;padding:.25rem 0;border-bottom:1px solid var(--border-color);margin-bottom:.5rem;flex-shrink:0;height:48px}.section-header h3[data-v-1f23f000]{font-size:.75rem;font-weight:600;margin:0;color:var(--text-primary)}.header-right[data-v-1f23f000]{display:flex;align-items:center;gap:.75rem}.operation-buttons[data-v-1f23f000]{display:flex;align-items:center;border:1px solid var(--border-color);border-radius:.375rem;overflow:hidden;height:32px}.operation-btn[data-v-1f23f000]{padding:0 .75rem;border:none;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s ease;border-right:1px solid var(--border-color);height:100%;display:flex;align-items:center;justify-content:center}.operation-btn[data-v-1f23f000]:last-child{border-right:none}.operation-btn[data-v-1f23f000]:disabled{opacity:.5;cursor:not-allowed}.operation-btn[data-v-1f23f000]:hover:not(:disabled){background:var(--bg-secondary)}.format-btn[data-v-1f23f000]:hover:not(:disabled){background:var(--primary-color);color:#fff}.minify-btn[data-v-1f23f000]:hover:not(:disabled){background:var(--success-color);color:#fff}.validate-btn[data-v-1f23f000]:hover:not(:disabled){background:var(--error-color);color:#fff}.import-btn[data-v-1f23f000]{padding:0 .75rem;height:32px;border:1px solid var(--border-color);border-radius:.375rem;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;font-size:.75rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.import-btn[data-v-1f23f000]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.code-editor[data-v-1f23f000]{flex:1;position:relative;background:var(--bg-primary);border:none;border-radius:0;overflow:hidden}.code-input[data-v-1f23f000],.code-output[data-v-1f23f000]{width:100%;height:100%;padding:1rem 1rem 1rem 3rem;background:transparent;border:none;color:var(--text-primary);font-size:.875rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1.5;resize:none;outline:none;tab-size:4}.line-numbers[data-v-1f23f000]{position:absolute;top:0;left:0;width:2.5rem;height:100%;background:var(--bg-tertiary);border-right:1px solid var(--border-color);padding:1rem .5rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;font-size:.75rem;line-height:1.5;color:var(--text-secondary);user-select:none;overflow:hidden}.line-number[data-v-1f23f000]{text-align:right;padding-right:.5rem;height:1.3em}.empty-output[data-v-1f23f000]{height:100%;display:flex;align-items:center;justify-content:center;background:var(--bg-primary)}.empty-content[data-v-1f23f000]{text-align:center;padding:2rem;max-width:280px}.empty-icon[data-v-1f23f000]{margin-bottom:1rem;opacity:.5;color:var(--text-secondary)}.empty-content h4[data-v-1f23f000]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.empty-content p[data-v-1f23f000]{font-size:.875rem;color:var(--text-secondary);margin:0;line-height:1.4}.section-footer[data-v-1f23f000]{padding:.5rem 0;border-top:1px solid var(--border-color);margin-top:.5rem;flex-shrink:0}.stats-info[data-v-1f23f000]{display:flex;gap:1rem;flex-wrap:wrap}.stat-item[data-v-1f23f000]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.stat-item.compression[data-v-1f23f000]{color:var(--success-color);font-weight:600}.config-section[data-v-1f23f000]{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.config-section label[data-v-1f23f000]{font-size:.75rem;font-weight:500;color:var(--text-primary);white-space:nowrap}.config-select[data-v-1f23f000]{padding:.25rem .375rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.25rem;color:var(--text-primary);font-size:.75rem}.feature-description[data-v-1f23f000]{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;margin-top:.5rem;flex-shrink:0}.description-content[data-v-1f23f000]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.feature-item[data-v-1f23f000]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.feature-item strong[data-v-1f23f000]{color:var(--text-primary);font-weight:600}@media(max-width:1024px){.main-workspace[data-v-1f23f000]{grid-template-columns:1fr;grid-template-rows:1fr 1px 1fr;gap:.5rem;min-height:300px}.divider[data-v-1f23f000]{height:1px;width:100%}.toolbar[data-v-1f23f000]{flex-direction:column;gap:1rem;align-items:stretch}.operation-buttons[data-v-1f23f000]{justify-content:center}.description-content[data-v-1f23f000]{grid-template-columns:repeat(2,1fr);gap:.75rem}}@media(max-width:768px){.formatter-content[data-v-1f23f000]{padding:.5rem}.formatter-header[data-v-1f23f000]{flex-direction:column;gap:1rem;align-items:stretch;padding:1rem}.main-workspace[data-v-1f23f000]{min-height:250px}.operation-buttons[data-v-1f23f000]{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.config-section[data-v-1f23f000]{justify-content:center;flex-wrap:wrap}.description-content[data-v-1f23f000]{grid-template-columns:1fr;gap:.5rem}}.qr-generator[data-v-ed92a709]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.generator-content[data-v-ed92a709]{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-color);min-height:0}.input-section[data-v-ed92a709],.preview-section[data-v-ed92a709]{background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden;position:relative}.input-section[data-v-ed92a709]{overflow-y:auto;padding-bottom:20px;width:100%;max-width:100%;box-sizing:border-box}.section-header[data-v-ed92a709]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0;height:52px;box-sizing:border-box}.section-header h3[data-v-ed92a709]{margin:0;font-size:15px;font-weight:600;color:var(--text-primary)}.type-selector[data-v-ed92a709]{display:flex;gap:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;overflow:hidden;height:26px}.type-btn[data-v-ed92a709]{display:flex;align-items:center;gap:2px;padding:0 6px;background:transparent;border:none;border-right:1px solid var(--border-color);color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:9px;white-space:nowrap;flex-shrink:0;height:26px}.type-btn[data-v-ed92a709]:last-child{border-right:none}.type-btn[data-v-ed92a709]:hover{background:var(--bg-hover);color:var(--text-primary)}.type-btn.active[data-v-ed92a709]{background:var(--primary-color);color:#fff}.type-icon[data-v-ed92a709]{font-size:16px}.type-name[data-v-ed92a709]{font-size:10px;font-weight:500}.content-area[data-v-ed92a709]{padding:20px;overflow:visible;margin-bottom:16px}.input-form[data-v-ed92a709]{height:100%;display:flex;flex-direction:column;gap:16px}.form-label[data-v-ed92a709]{display:block;margin-bottom:6px;font-size:14px;font-weight:500;color:var(--text-primary)}.form-textarea[data-v-ed92a709],.form-input[data-v-ed92a709],.form-select[data-v-ed92a709]{width:100%;padding:10px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:14px;transition:all .2s ease}.form-textarea[data-v-ed92a709]{min-height:120px;resize:vertical}.form-textarea[data-v-ed92a709]:focus,.form-input[data-v-ed92a709]:focus,.form-select[data-v-ed92a709]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.form-group[data-v-ed92a709]{display:flex;flex-direction:column;gap:4px}.input-form .form-group[data-v-ed92a709]:last-child{margin-bottom:0}.input-form .map-selector[data-v-ed92a709]{margin-top:-4px}.map-selector[data-v-ed92a709]{margin:0}.map-header[data-v-ed92a709]{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.map-controls[data-v-ed92a709]{display:flex;gap:6px;align-items:center}.search-wrapper[data-v-ed92a709]{position:relative;flex:1}.location-format-wrapper[data-v-ed92a709]{margin-left:8px;flex-shrink:0}.format-select[data-v-ed92a709]{padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;min-width:100px;height:36px;box-sizing:border-box}.search-input[data-v-ed92a709]{flex:1;padding:8px 12px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;width:100%}.suggestions-dropdown[data-v-ed92a709]{position:absolute;top:100%;left:0;right:0;background:var(--bg-primary);border:1px solid var(--border-color);border-top:none;border-radius:0 0 6px 6px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 4px 12px #0000001a}.suggestion-item[data-v-ed92a709]{padding:8px 12px;cursor:pointer;border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.suggestion-item[data-v-ed92a709]:last-child{border-bottom:none}.suggestion-item[data-v-ed92a709]:hover{background:var(--bg-hover)}.suggestion-title[data-v-ed92a709]{font-size:13px;font-weight:500;color:var(--text-primary);margin-bottom:2px}.suggestion-address[data-v-ed92a709]{font-size:11px;color:var(--text-secondary)}.search-btn[data-v-ed92a709],.location-btn[data-v-ed92a709]{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:12px}.search-btn[data-v-ed92a709]:hover,.location-btn[data-v-ed92a709]:hover{background:var(--primary-color);color:#fff}.map-container[data-v-ed92a709]{position:relative;width:100%;height:300px;border:1px solid var(--border-color);border-radius:8px;overflow:hidden;background:var(--bg-secondary)}.map-canvas[data-v-ed92a709]{width:100%;height:100%}.map-loading[data-v-ed92a709]{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:var(--bg-secondary)}.loading-text[data-v-ed92a709]{font-size:13px;color:var(--text-secondary)}.location-info[data-v-ed92a709]{margin-top:12px;padding:12px;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.location-item[data-v-ed92a709]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.location-item[data-v-ed92a709]:last-child{margin-bottom:0}.location-label[data-v-ed92a709]{font-size:12px;color:var(--text-secondary);font-weight:500}.location-value[data-v-ed92a709]{font-size:12px;color:var(--text-primary);font-family:monospace}.preview-container[data-v-ed92a709]{flex:1;display:flex;align-items:center;justify-content:center;padding:40px}.qr-display[data-v-ed92a709]{display:flex;flex-direction:column;align-items:center;gap:16px}.qr-wrapper[data-v-ed92a709]{display:flex;align-items:center;justify-content:center;padding:16px;background:#fff;border-radius:8px;box-shadow:0 2px 12px #00000014}.qr-image[data-v-ed92a709]{max-width:100%;max-height:300px;border-radius:4px}.qr-info[data-v-ed92a709]{text-align:center;max-width:300px}.qr-content[data-v-ed92a709]{font-size:13px;color:var(--text-primary);font-weight:500;word-break:break-all;line-height:1.3;margin-bottom:12px}.qr-stats[data-v-ed92a709]{display:flex;flex-direction:column;gap:4px;margin-bottom:12px;padding:8px;background:var(--bg-tertiary);border-radius:6px;border:1px solid var(--border-color)}.stat-item[data-v-ed92a709]{display:flex;justify-content:space-between;align-items:center}.stat-label[data-v-ed92a709]{font-size:11px;color:var(--text-secondary);font-weight:500}.stat-value[data-v-ed92a709]{font-size:11px;color:var(--text-primary);font-weight:600;font-family:monospace}.scan-tip[data-v-ed92a709]{font-size:12px;color:var(--primary-color);font-weight:600;background:var(--primary-color-alpha);border:1px solid var(--primary-color);border-radius:4px;padding:6px 10px;line-height:1.3;text-align:center;white-space:nowrap;flex-shrink:0}.test-link-btn[data-v-ed92a709]{padding:6px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:12px;cursor:pointer;transition:all .2s ease}.test-link-btn[data-v-ed92a709]:hover{background:var(--primary-color-dark)}.preview-placeholder[data-v-ed92a709]{display:flex;flex-direction:column;align-items:center;gap:16px;color:var(--text-secondary);text-align:center}.preview-placeholder h4[data-v-ed92a709]{margin:0;font-size:16px}.preview-placeholder p[data-v-ed92a709]{margin:0;font-size:13px}.settings-panel[data-v-ed92a709]{padding:12px 20px 20px;margin-top:16px;border-top:1px solid var(--border-color);background:var(--bg-secondary);width:100%;box-sizing:border-box;position:relative;left:0;right:auto}.settings-panel h3[data-v-ed92a709]{margin:0 0 16px;font-size:14px;font-weight:600;color:var(--text-primary)}.settings-section[data-v-ed92a709]{margin-bottom:16px}.section-title[data-v-ed92a709]{margin:0 0 8px;font-size:12px;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);padding-bottom:4px}.preset-grid[data-v-ed92a709]{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-top:4px}.preset-btn[data-v-ed92a709]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 6px;border:1px solid var(--border-color);border-radius:6px;background:var(--bg-primary);color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:10px}.preset-btn[data-v-ed92a709]:hover{border-color:var(--primary-color);background:var(--bg-hover)}.preset-preview[data-v-ed92a709]{width:24px;height:24px;border:1px solid var(--border-color);border-radius:3px;position:relative}.preset-preview.preset-classic[data-v-ed92a709]{background:linear-gradient(45deg,#000 25%,transparent 25%),linear-gradient(-45deg,#000 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#000 75%),linear-gradient(-45deg,transparent 75%,#000 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0px}.preset-preview.preset-modern[data-v-ed92a709]{background:radial-gradient(circle,#2563eb 30%,transparent 30%);background-size:4px 4px}.preset-preview.preset-artistic[data-v-ed92a709]{background:#7c3aed;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.preset-preview.preset-minimal[data-v-ed92a709]{background:#374151;border-radius:6px}.preset-name[data-v-ed92a709]{font-size:9px;color:var(--text-secondary);text-align:center;line-height:1}.style-grid[data-v-ed92a709]{display:flex;flex-direction:column;gap:8px}.style-row[data-v-ed92a709]{display:grid;grid-template-columns:1fr 1fr;gap:8px}.style-item[data-v-ed92a709]{display:flex;flex-direction:column;gap:4px}.style-label[data-v-ed92a709]{font-size:11px;font-weight:500;color:var(--text-primary)}.color-picker-wrapper[data-v-ed92a709]{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);cursor:pointer;position:relative}.color-picker-wrapper[data-v-ed92a709]:hover{border-color:var(--primary-color)}.color-preview[data-v-ed92a709]{width:16px;height:16px;border-radius:2px;border:1px solid var(--border-color);cursor:pointer}.color-input-hidden[data-v-ed92a709]{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer}.style-select-wrapper[data-v-ed92a709]{display:flex;align-items:center;gap:6px;padding:4px 8px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);cursor:pointer}.shape-preview[data-v-ed92a709]{width:16px;height:16px;border:1px solid var(--border-color)}.shape-preview.square[data-v-ed92a709]{background:#000}.eye-pattern-grid[data-v-ed92a709]{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin-top:4px}.eye-pattern-item[data-v-ed92a709]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px 4px;border:1px solid var(--border-color);border-radius:4px;cursor:pointer;transition:all .2s ease;background:var(--bg-primary)}.eye-pattern-item[data-v-ed92a709]:hover{border-color:var(--primary-color);background:var(--bg-hover)}.eye-pattern-item.active[data-v-ed92a709]{border-color:var(--primary-color);background:var(--primary-color-alpha)}.pattern-preview[data-v-ed92a709]{width:20px;height:20px;border:1px solid var(--border-color);border-radius:2px;background:var(--text-primary);position:relative}.pattern-preview.pattern-normal[data-v-ed92a709]{background:#000}.pattern-preview.pattern-liquid[data-v-ed92a709]{background:linear-gradient(45deg,#000 25%,#333 25% 50%,#000 50% 75%,#333 75%);background-size:4px 4px}.pattern-preview.pattern-round-liquid[data-v-ed92a709]{background:radial-gradient(circle,#000 30%,#333 70%)}.pattern-preview.pattern-stripe[data-v-ed92a709]{background:repeating-linear-gradient(0deg,#000 0px 2px,#666 2px 4px)}.pattern-preview.pattern-horizontal[data-v-ed92a709]{background:repeating-linear-gradient(0deg,#000 0px,#000 3px,transparent 3px,transparent 6px)}.pattern-preview.pattern-vertical[data-v-ed92a709]{background:repeating-linear-gradient(90deg,#000 0px,#000 3px,transparent 3px,transparent 6px)}.pattern-preview.pattern-tile[data-v-ed92a709]{background:linear-gradient(45deg,#000 25%,transparent 25%),linear-gradient(-45deg,#000 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#000 75%),linear-gradient(-45deg,transparent 75%,#000 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0px}.pattern-preview.pattern-big-dot[data-v-ed92a709]{background:radial-gradient(circle,#000 40%,transparent 40%);background-size:6px 6px}.pattern-preview.pattern-small-dot[data-v-ed92a709]{background:radial-gradient(circle,#000 30%,transparent 30%);background-size:4px 4px}.pattern-preview.pattern-star[data-v-ed92a709]{background:#000;clip-path:polygon(50% 0%,61% 35%,98% 35%,68% 57%,79% 91%,50% 70%,21% 91%,32% 57%,2% 35%,39% 35%)}.pattern-preview.pattern-fine-star[data-v-ed92a709]{background:#000;clip-path:polygon(50% 0%,55% 40%,100% 40%,65% 65%,80% 100%,50% 80%,20% 100%,35% 65%,0% 40%,45% 40%)}.pattern-preview.pattern-grid[data-v-ed92a709]{background:linear-gradient(to right,#000 1px,transparent 1px),linear-gradient(to bottom,#000 1px,transparent 1px);background-size:4px 4px}.pattern-preview.pattern-diamond[data-v-ed92a709]{background:#000;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.pattern-preview.pattern-small-square[data-v-ed92a709]{background:radial-gradient(circle at 25% 25%,#000 20%,transparent 20%),radial-gradient(circle at 75% 75%,#000 20%,transparent 20%);background-size:8px 8px}.pattern-preview.pattern-custom[data-v-ed92a709]{background:linear-gradient(45deg,var(--primary-color),var(--primary-color-dark))}.pattern-name[data-v-ed92a709]{font-size:9px;color:var(--text-secondary);text-align:center;line-height:1}.shape-preview.dot-square[data-v-ed92a709]{background:#000}.shape-preview.dot-circle[data-v-ed92a709]{background:#000;border-radius:50%}.shape-preview.dot-rounded[data-v-ed92a709]{background:#000;border-radius:3px}.shape-preview.dot-horizontal[data-v-ed92a709]{background:repeating-linear-gradient(0deg,#000 0px,#000 2px,transparent 2px,transparent 4px)}.shape-preview.dot-vertical[data-v-ed92a709]{background:repeating-linear-gradient(90deg,#000 0px,#000 2px,transparent 2px,transparent 4px)}.shape-preview.dot-diamond[data-v-ed92a709]{background:#000;transform:rotate(45deg)}.shape-preview.eye-square[data-v-ed92a709]{background:#000;position:relative}.shape-preview.eye-square[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff}.shape-preview.eye-circle[data-v-ed92a709]{background:#000;border-radius:50%;position:relative}.shape-preview.eye-circle[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50%}.shape-preview.eye-rounded[data-v-ed92a709]{background:#000;border-radius:3px;position:relative}.shape-preview.eye-rounded[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:1px}.shape-preview.eye-leaf[data-v-ed92a709]{background:#000;border-radius:50% 0;position:relative}.shape-preview.eye-leaf[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:#fff;border-radius:50% 0}.eye-color-options[data-v-ed92a709]{display:flex;gap:12px}.eye-color-option[data-v-ed92a709]{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px}.eye-color-option input[type=radio][data-v-ed92a709]{display:none}.checkmark[data-v-ed92a709]{width:12px;height:12px;border:1px solid var(--border-color);border-radius:50%;position:relative}.eye-color-option input[type=radio]:checked+.checkmark[data-v-ed92a709]{background:var(--primary-color);border-color:var(--primary-color)}.eye-color-option input[type=radio]:checked+.checkmark[data-v-ed92a709]:after{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:4px;height:4px;background:#fff;border-radius:50%}.style-item.full-width[data-v-ed92a709]{grid-column:1 / -1}.style-select[data-v-ed92a709],.style-input[data-v-ed92a709]{padding:4px 6px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-primary);color:var(--text-primary);font-size:11px}.full-width-select[data-v-ed92a709]{width:100%;padding:6px 8px;font-size:12px}.logo-controls[data-v-ed92a709]{display:flex;flex-direction:column;gap:8px}.logo-upload-btn[data-v-ed92a709]{display:flex;align-items:center;justify-content:center;gap:6px;padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:11px}.logo-upload-btn[data-v-ed92a709]:hover{background:var(--bg-hover);border-color:var(--primary-color)}.logo-preview[data-v-ed92a709]{display:flex;align-items:center;gap:8px;padding:6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px}.logo-image[data-v-ed92a709]{width:20px;height:20px;object-fit:contain;border-radius:2px;background:#fff}.logo-info[data-v-ed92a709]{flex:1;display:flex;align-items:center;justify-content:space-between}.logo-name[data-v-ed92a709]{font-size:10px;color:var(--text-primary);font-weight:500}.logo-remove-btn[data-v-ed92a709]{padding:2px 6px;background:var(--error-color);color:#fff;border:none;border-radius:3px;font-size:9px;cursor:pointer;transition:all .2s ease}.logo-remove-btn[data-v-ed92a709]:hover{background:var(--error-color-dark)}.logo-size-control[data-v-ed92a709]{margin-top:6px}.logo-size-label[data-v-ed92a709]{display:block;font-size:10px;color:var(--text-secondary);margin-bottom:4px}.logo-slider[data-v-ed92a709]{width:100%;height:3px;background:var(--bg-primary);border-radius:2px;outline:none;cursor:pointer}.logo-slider[data-v-ed92a709]::-webkit-slider-thumb{appearance:none;width:10px;height:10px;background:var(--primary-color);border-radius:50%;cursor:pointer}.logo-slider[data-v-ed92a709]::-moz-range-thumb{width:10px;height:10px;background:var(--primary-color);border-radius:50%;cursor:pointer;border:none}.crontab-generator[data-v-d47453ad]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.generator-content[data-v-d47453ad]{flex:1;display:grid;grid-template-columns:3fr 2fr;gap:1px;background:var(--border-color);min-height:600px;overflow:hidden}.config-section[data-v-d47453ad],.result-section[data-v-d47453ad]{background:var(--bg-primary);display:flex;flex-direction:column;height:100%;overflow:hidden}.section-header[data-v-d47453ad]{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);min-height:44px;box-sizing:border-box}.section-header h3[data-v-d47453ad]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.mode-toggle[data-v-d47453ad]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-d47453ad]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-d47453ad]:last-child{border-right:none}.mode-btn[data-v-d47453ad]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.mode-btn.active[data-v-d47453ad]{background:var(--primary-color);color:#fff}.visual-config[data-v-d47453ad]{flex:1;padding:20px;overflow-y:auto}.config-grid[data-v-d47453ad]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;margin-bottom:24px;padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.config-item[data-v-d47453ad]{display:flex;flex-direction:column;gap:8px}.config-label[data-v-d47453ad]{font-size:12px;font-weight:600;color:var(--text-primary);margin-bottom:4px}.config-select-compact[data-v-d47453ad]{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:11px;cursor:pointer;width:100%}.config-input-compact[data-v-d47453ad]{padding:6px 8px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:11px;width:100%}.config-input-tiny[data-v-d47453ad]{padding:4px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:11px;width:50px}.interval-compact[data-v-d47453ad],.range-compact[data-v-d47453ad]{display:flex;align-items:center;gap:4px;font-size:11px;color:var(--text-secondary)}.config-select-tiny[data-v-d47453ad]{padding:4px 6px;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:10px;cursor:pointer;width:50px}.presets-section[data-v-d47453ad]{margin-bottom:24px}.presets-title[data-v-d47453ad]{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.presets-grid[data-v-d47453ad]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.preset-btn[data-v-d47453ad]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 8px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);text-align:center}.preset-btn[data-v-d47453ad]:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-1px)}.preset-name[data-v-d47453ad]{font-size:12px;font-weight:600;color:var(--text-primary)}.preset-desc[data-v-d47453ad]{font-size:10px;color:var(--text-secondary);line-height:1.3}.preset-cron[data-v-d47453ad]{font-size:9px;color:var(--text-muted);font-family:monospace;background:var(--bg-tertiary);padding:2px 4px;border-radius:var(--radius-sm);margin-top:2px}.manual-config[data-v-d47453ad]{flex:1;padding:20px;overflow-y:auto}.manual-input-section[data-v-d47453ad]{display:flex;flex-direction:column;gap:12px}.section-label[data-v-d47453ad]{font-size:13px;font-weight:500;color:var(--text-primary)}.cron-input-wrapper[data-v-d47453ad]{display:flex;gap:8px;align-items:center}.cron-input[data-v-d47453ad]{flex:1;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;font-family:monospace;transition:var(--transition)}.cron-input[data-v-d47453ad]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.cron-format-help[data-v-d47453ad]{padding:8px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.format-text[data-v-d47453ad]{font-size:11px;color:var(--text-secondary)}.result-section[data-v-d47453ad]{background:var(--bg-primary);display:flex;flex-direction:column;height:100%;overflow:hidden}.result-content[data-v-d47453ad]{flex:1;padding:20px;overflow-y:auto;display:flex;flex-direction:column;gap:24px}.result-actions[data-v-d47453ad]{display:flex;gap:8px;align-items:center}.cron-display[data-v-d47453ad]{padding:16px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md)}.cron-expression[data-v-d47453ad]{margin-bottom:12px}.cron-label[data-v-d47453ad]{font-size:13px;font-weight:500;color:var(--text-secondary)}.cron-code[data-v-d47453ad]{display:inline-block;margin-left:8px;padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:monospace;font-size:14px;color:var(--primary-color);font-weight:600}.cron-description[data-v-d47453ad]{display:flex;align-items:flex-start;gap:8px}.desc-label[data-v-d47453ad]{font-size:13px;font-weight:500;color:var(--text-secondary);flex-shrink:0}.desc-text[data-v-d47453ad]{font-size:13px;color:var(--text-primary);line-height:1.4}.field-explanation h4[data-v-d47453ad],.next-execution h4[data-v-d47453ad]{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.field-grid[data-v-d47453ad]{display:grid;grid-template-columns:1fr;gap:8px}.field-item[data-v-d47453ad]{display:grid;grid-template-columns:60px 80px 1fr;gap:12px;align-items:center;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.field-name[data-v-d47453ad]{font-size:12px;font-weight:500;color:var(--text-secondary)}.field-value[data-v-d47453ad]{font-size:12px;font-family:monospace;color:var(--primary-color);font-weight:600}.field-desc[data-v-d47453ad]{font-size:11px;color:var(--text-muted)}.execution-list[data-v-d47453ad]{display:flex;flex-direction:column;gap:6px}.execution-item[data-v-d47453ad]{padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm)}.execution-time[data-v-d47453ad]{font-size:12px;color:var(--text-primary);font-family:monospace}@media(max-width:768px){.generator-content[data-v-d47453ad]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.config-grid[data-v-d47453ad]{grid-template-columns:1fr;gap:12px}.presets-grid[data-v-d47453ad]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.field-item[data-v-d47453ad]{grid-template-columns:1fr;gap:4px;text-align:center}}@media(max-width:480px){.config-grid[data-v-d47453ad]{padding:12px}.presets-grid[data-v-d47453ad]{grid-template-columns:1fr 1fr}.preset-btn[data-v-d47453ad]{padding:8px 6px}.preset-name[data-v-d47453ad]{font-size:11px}.preset-desc[data-v-d47453ad]{font-size:9px}.preset-cron[data-v-d47453ad]{font-size:8px}}.base-converter[data-v-c516d8c8]{width:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.converter-content[data-v-c516d8c8]{flex:1;display:flex;flex-direction:column;padding:24px 24px 80px;gap:24px;max-width:1000px;margin:0 auto;width:100%;min-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-c516d8c8]::-webkit-scrollbar{display:none}.convert-section[data-v-c516d8c8]{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex-shrink:0}.input-panel[data-v-c516d8c8],.results-panel[data-v-c516d8c8]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.section-header[data-v-c516d8c8]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box}.section-header h3[data-v-c516d8c8]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.click-tip[data-v-c516d8c8]{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--primary-color-light);border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:12px;font-weight:500}.click-tip svg[data-v-c516d8c8]{flex-shrink:0}.base-selector[data-v-c516d8c8]{display:flex;align-items:center;gap:8px}.base-select[data-v-c516d8c8]{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:12px;min-width:140px}.input-area[data-v-c516d8c8]{padding:20px;display:flex;flex-direction:column;gap:12px}.number-input[data-v-c516d8c8]{width:100%;padding:12px 16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;font-family:var(--font-mono);font-weight:500;transition:var(--transition)}.number-input[data-v-c516d8c8]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-light)}.input-info[data-v-c516d8c8]{display:flex;flex-direction:column;gap:4px}.input-hint[data-v-c516d8c8]{font-size:12px;color:var(--text-secondary);font-style:italic}.base-info[data-v-c516d8c8]{font-size:12px;color:var(--primary-color);font-weight:500;font-family:var(--font-mono)}.examples-area[data-v-c516d8c8]{padding:20px;border-top:1px solid var(--border-color)}.examples-header[data-v-c516d8c8]{margin-bottom:12px}.examples-header h4[data-v-c516d8c8]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.examples-grid[data-v-c516d8c8]{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.example-item[data-v-c516d8c8]{display:flex;flex-direction:column;align-items:center;gap:4px;padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition)}.example-item[data-v-c516d8c8]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-label[data-v-c516d8c8]{font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--primary-color)}.example-desc[data-v-c516d8c8]{font-size:10px;color:var(--text-secondary);font-weight:500}.results-list[data-v-c516d8c8]{padding:20px;display:flex;flex-direction:column;gap:12px}.result-row[data-v-c516d8c8]{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);cursor:pointer}.result-row[data-v-c516d8c8]:hover{background:var(--bg-hover);transform:translateY(-1px)}.result-row.active[data-v-c516d8c8]{border-color:var(--primary-color);background:var(--primary-color-light)}.result-info[data-v-c516d8c8]{display:flex;flex-direction:column;gap:4px;min-width:100px;flex-shrink:0}.result-label[data-v-c516d8c8]{display:flex;align-items:center;gap:8px}.base-name[data-v-c516d8c8]{font-size:14px;font-weight:600;color:var(--text-primary)}.base-code[data-v-c516d8c8]{font-size:10px;font-weight:500;color:var(--text-secondary);background:var(--bg-tertiary);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.active-indicator[data-v-c516d8c8]{font-size:10px;font-weight:600;color:#fff;background:var(--primary-color);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.result-desc[data-v-c516d8c8]{font-size:10px;color:var(--text-secondary);line-height:1.3}.result-content[data-v-c516d8c8]{flex:1;display:flex;align-items:center}.result-input[data-v-c516d8c8]{flex:1;width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.result-input[data-v-c516d8c8]:hover{border-color:var(--primary-color)}.result-input[data-v-c516d8c8]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.help-section[data-v-c516d8c8]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.help-header[data-v-c516d8c8]{padding:12px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box;display:flex;align-items:center}.help-header h3[data-v-c516d8c8]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.help-content[data-v-c516d8c8]{padding:20px}.help-grid[data-v-c516d8c8]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.help-card[data-v-c516d8c8]:last-child{grid-column:1 / -1}.help-card[data-v-c516d8c8]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:var(--transition)}.help-card[data-v-c516d8c8]:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.help-icon[data-v-c516d8c8]{font-size:20px;margin-bottom:8px;flex-shrink:0}.help-header-inline[data-v-c516d8c8]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.help-header-inline .help-icon[data-v-c516d8c8]{margin-bottom:0}.help-header-inline h4[data-v-c516d8c8]{margin:0}.help-card h4[data-v-c516d8c8]{font-size:14px;font-weight:600;margin:0;color:var(--text-primary);flex:1}.help-card p[data-v-c516d8c8]{font-size:12px;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:768px){.converter-content[data-v-c516d8c8]{padding:16px 16px 80px;gap:16px}.convert-section[data-v-c516d8c8]{grid-template-columns:1fr;gap:16px}.examples-grid[data-v-c516d8c8]{grid-template-columns:repeat(2,1fr);gap:8px}.help-grid[data-v-c516d8c8]{grid-template-columns:1fr;gap:12px}.result-row[data-v-c516d8c8]{flex-direction:column;align-items:stretch;gap:12px}.result-info[data-v-c516d8c8]{min-width:auto}.section-header[data-v-c516d8c8]{flex-direction:column;gap:12px;align-items:stretch;height:auto;padding:16px 20px}.base-selector[data-v-c516d8c8]{justify-content:space-between}}.button-group[data-v-8b57e320]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}[data-v-8b57e320] .group-btn{padding:6px 12px;background:var(--bg-primary);border:none;border-right:1px solid var(--border-color);border-radius:0;color:var(--text-secondary);font-size:12px;font-weight:500;cursor:pointer;transition:var(--transition);min-width:60px;text-align:center}[data-v-8b57e320] .group-btn:first-child{border-top-left-radius:var(--radius-sm);border-bottom-left-radius:var(--radius-sm)}[data-v-8b57e320] .group-btn:last-child{border-top-right-radius:var(--radius-sm);border-bottom-right-radius:var(--radius-sm);border-right:none}[data-v-8b57e320] .group-btn:hover{background:var(--bg-secondary);color:var(--text-primary)}[data-v-8b57e320] .group-btn:active{background:var(--bg-tertiary)}.text-encoder[data-v-52eddbc9]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.encoding-selector[data-v-52eddbc9]{display:flex;align-items:center;gap:.5rem}.encoding-select[data-v-52eddbc9]{padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);font-size:.875rem}.encoding-select[data-v-52eddbc9]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.encoder-content[data-v-52eddbc9]{flex:1;display:flex;flex-direction:column;padding:1.5rem;overflow:hidden}.main-workspace[data-v-52eddbc9]{flex:1;display:grid;grid-template-columns:1fr 1px 1fr;gap:1.5rem;margin-bottom:1.5rem;overflow:hidden;min-height:400px}.input-section[data-v-52eddbc9],.output-section[data-v-52eddbc9]{display:flex;flex-direction:column;overflow:hidden}.divider[data-v-52eddbc9]{background:var(--border-color)}.section-header[data-v-52eddbc9]{display:flex;align-items:center;justify-content:space-between;padding-bottom:.5rem;border-bottom:1px solid var(--border-color);margin-bottom:.5rem;flex-shrink:0;gap:1rem;min-height:3rem}.section-header h3[data-v-52eddbc9]{font-size:.875rem;font-weight:600;margin:0;color:var(--text-primary);white-space:nowrap}.quick-examples[data-v-52eddbc9]{display:flex;gap:.5rem;align-items:center}.header-placeholder[data-v-52eddbc9]{height:2rem;min-width:1px}.header-actions[data-v-52eddbc9]{display:flex;gap:.5rem}.action-btn-small[data-v-52eddbc9]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.action-btn-small[data-v-52eddbc9]:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.action-btn-small[data-v-52eddbc9]:disabled{opacity:.5;cursor:not-allowed}.text-editor[data-v-52eddbc9]{flex:1;position:relative;background:var(--bg-primary);border:none;border-radius:0;overflow:hidden}.text-input[data-v-52eddbc9],.text-output[data-v-52eddbc9]{width:100%;height:100%;padding:1rem;background:transparent;border:none;color:var(--text-primary);font-size:.875rem;font-family:JetBrains Mono,Fira Code,Courier New,monospace;line-height:1.5;resize:none;outline:none}.text-input[data-v-52eddbc9]:focus{outline:none}.section-footer[data-v-52eddbc9]{padding-top:.75rem;border-top:1px solid var(--border-color);margin-top:.75rem;flex-shrink:0}.stats-info[data-v-52eddbc9]{display:flex;gap:1rem;flex-wrap:wrap}.stat-item[data-v-52eddbc9]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.stat-item.compression[data-v-52eddbc9]{color:var(--success-color);font-weight:600}.feature-description[data-v-52eddbc9]{padding:.75rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;flex-shrink:0}.description-content[data-v-52eddbc9]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.feature-item[data-v-52eddbc9]{font-size:.75rem;color:var(--text-secondary);line-height:1.4}.feature-item strong[data-v-52eddbc9]{color:var(--text-primary);font-weight:600}@media(max-width:1024px){.main-workspace[data-v-52eddbc9]{grid-template-columns:1fr;grid-template-rows:1fr 1px 1fr;gap:1rem;min-height:300px}.divider[data-v-52eddbc9]{height:1px;width:100%}.description-content[data-v-52eddbc9]{grid-template-columns:repeat(2,1fr);gap:.75rem}.quick-examples-inline[data-v-52eddbc9],[data-v-52eddbc9] .button-group{flex-wrap:wrap}}@media(max-width:768px){.encoder-content[data-v-52eddbc9]{padding:1rem}.main-workspace[data-v-52eddbc9]{min-height:250px;gap:.75rem}.description-content[data-v-52eddbc9]{grid-template-columns:1fr;gap:.5rem}.header-left[data-v-52eddbc9]{flex-direction:column;align-items:flex-start;gap:.75rem}.quick-examples-inline[data-v-52eddbc9]{gap:.375rem}[data-v-52eddbc9] .group-btn{font-size:.6875rem;padding:.25rem .5rem;min-width:50px}}.string-counter[data-v-df989333]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.counter-content[data-v-df989333]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%}.input-section[data-v-df989333],.stats-section[data-v-df989333],.analysis-section[data-v-df989333],.detailed-analysis-section[data-v-df989333],.help-section[data-v-df989333]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.section-header[data-v-df989333]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-df989333]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.quick-actions[data-v-df989333]{display:flex;gap:.5rem}.quick-btn[data-v-df989333]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem}.quick-btn[data-v-df989333]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.file-info[data-v-df989333]{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem;margin-bottom:1rem}.file-name[data-v-df989333]{color:var(--text-primary);font-weight:500}.file-size[data-v-df989333]{color:var(--text-secondary)}.text-input[data-v-df989333]{width:100%;min-height:200px;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;line-height:1.5;resize:vertical;font-family:Courier New,monospace;transition:all .2s ease}.text-input[data-v-df989333]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.text-input[data-v-df989333]::placeholder{color:var(--text-secondary)}.stats-grid[data-v-df989333]{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.stat-card[data-v-df989333]{display:flex;align-items:center;gap:1rem;padding:1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;transition:all .2s ease}.stat-card[data-v-df989333]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.stat-card.primary[data-v-df989333]{border-color:var(--primary-color);background:var(--primary-color-alpha)}.stat-icon[data-v-df989333]{font-size:1.5rem;flex-shrink:0}.stat-content[data-v-df989333]{flex:1;display:flex;flex-direction:column;gap:.25rem}.stat-label[data-v-df989333]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.stat-value[data-v-df989333]{font-size:1.5rem;color:var(--text-primary);font-weight:700}.stat-desc[data-v-df989333]{font-size:.75rem;color:var(--text-secondary)}.analysis-grid[data-v-df989333]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.analysis-card[data-v-df989333]{padding:1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.75rem;transition:all .2s ease}.analysis-card[data-v-df989333]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px var(--primary-color-alpha)}.analysis-card h4[data-v-df989333]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.analysis-item[data-v-df989333]{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid var(--border-color)}.analysis-item[data-v-df989333]:last-child{border-bottom:none}.analysis-label[data-v-df989333]{font-size:.875rem;color:var(--text-secondary)}.analysis-value[data-v-df989333]{font-size:.875rem;color:var(--text-primary);font-weight:600}.complexity-score.very-high[data-v-df989333]{color:#dc2626;font-weight:700}.complexity-score.high[data-v-df989333]{color:#ea580c;font-weight:700}.complexity-score.medium[data-v-df989333]{color:#d97706;font-weight:700}.complexity-score.low[data-v-df989333]{color:#65a30d;font-weight:700}.complexity-score.very-low[data-v-df989333]{color:#16a34a;font-weight:700}.features-grid[data-v-df989333]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.feature-card[data-v-df989333]{text-align:center;padding:1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;transition:all .2s ease}.feature-card[data-v-df989333]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--primary-color)}.feature-icon[data-v-df989333]{font-size:2.5rem;margin-bottom:.75rem;display:block}.feature-card h4[data-v-df989333]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.feature-card p[data-v-df989333]{font-size:.875rem;color:var(--text-secondary);line-height:1.4;margin:0}.message-toast[data-v-df989333]{position:fixed;bottom:2rem;right:2rem;padding:.75rem 1.5rem;border-radius:.5rem;font-size:.875rem;font-weight:500;z-index:1000;animation:slideIn-df989333 .3s ease}.message-toast.success[data-v-df989333]{background:var(--success-color);color:#fff}.message-toast.error[data-v-df989333]{background:var(--error-color);color:#fff}@keyframes slideIn-df989333{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:1024px){.stats-grid[data-v-df989333]{grid-template-columns:repeat(2,1fr)}.analysis-grid[data-v-df989333]{grid-template-columns:repeat(auto-fit,minmax(280px,1fr))}.features-grid[data-v-df989333]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.counter-content[data-v-df989333]{padding:1rem;gap:1.5rem}.input-section[data-v-df989333],.stats-section[data-v-df989333],.analysis-section[data-v-df989333],.detailed-analysis-section[data-v-df989333],.help-section[data-v-df989333]{padding:1rem}.stats-grid[data-v-df989333]{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat-card[data-v-df989333]{padding:1rem;flex-direction:column;text-align:center;gap:.75rem}.stat-content[data-v-df989333]{align-items:center}.analysis-grid[data-v-df989333]{grid-template-columns:1fr;gap:1rem}.analysis-card[data-v-df989333]{padding:1rem}.quick-actions[data-v-df989333]{flex-direction:column;gap:.25rem}.quick-btn[data-v-df989333]{padding:.375rem .5rem;font-size:.75rem}.features-grid[data-v-df989333]{grid-template-columns:1fr;gap:.75rem}.feature-card[data-v-df989333]{padding:1rem}.feature-icon[data-v-df989333]{font-size:2rem;margin-bottom:.5rem}.message-toast[data-v-df989333]{bottom:1rem;right:1rem;left:1rem}}@media(max-width:480px){.counter-content[data-v-df989333]{padding:.75rem;gap:1rem}.input-section[data-v-df989333],.stats-section[data-v-df989333],.analysis-section[data-v-df989333],.detailed-analysis-section[data-v-df989333],.help-section[data-v-df989333]{padding:.75rem}.text-input[data-v-df989333]{min-height:150px;padding:.75rem}.stats-grid[data-v-df989333]{grid-template-columns:1fr}.stat-value[data-v-df989333]{font-size:1.25rem}.section-header[data-v-df989333]{flex-direction:column;align-items:flex-start;gap:1rem}.quick-actions[data-v-df989333]{flex-direction:row;flex-wrap:wrap;gap:.5rem}}.mode-toggle[data-v-a9038348]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-a9038348]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-a9038348]:last-child{border-right:none}.mode-btn.active[data-v-a9038348]{background:var(--primary-color);color:#fff}.mode-btn[data-v-a9038348]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.php-serializer[data-v-a9038348]{width:100%;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.serializer-content[data-v-a9038348]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.serializer-content[data-v-a9038348]::-webkit-scrollbar{display:none}.converter-content[data-v-a9038348]::-webkit-scrollbar{display:none;min-height:0}.convert-section[data-v-a9038348]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-panel[data-v-a9038348],.output-panel[data-v-a9038348]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column}.section-header[data-v-a9038348]{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;height:auto;min-height:60px;display:flex;flex-direction:column;gap:.75rem}.section-title[data-v-a9038348]{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%}.section-title h3[data-v-a9038348]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.panel-info[data-v-a9038348]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.char-count[data-v-a9038348]{padding:.25rem .6rem;background:var(--primary-color-alpha);color:var(--primary-color);border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap}.input-hint[data-v-a9038348]{font-size:.75rem;color:var(--text-secondary)}.format-selector[data-v-a9038348]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-primary)}.format-btn[data-v-a9038348]{padding:.375rem .75rem;background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:28px;box-sizing:border-box}.format-btn[data-v-a9038348]:last-child{border-right:none}.format-btn.active[data-v-a9038348]{background:var(--primary-color);color:#fff}.format-btn[data-v-a9038348]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.panel-content[data-v-a9038348]{position:relative;display:flex;flex-direction:column;flex:1}.data-input[data-v-a9038348],.data-output[data-v-a9038348]{width:100%;min-height:280px;padding:1.5rem;background:var(--bg-primary);border:none;color:var(--text-primary);font-size:.875rem;line-height:1.6;resize:vertical;font-family:Consolas,Monaco,Courier New,monospace;box-sizing:border-box;flex:1}.data-input[data-v-a9038348]:focus,.data-output[data-v-a9038348]:focus{outline:none}.data-input[data-v-a9038348]::placeholder,.data-output[data-v-a9038348]::placeholder{color:var(--text-secondary)}.examples-section[data-v-a9038348],.help-section[data-v-a9038348]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.examples-header[data-v-a9038348],.help-header[data-v-a9038348]{margin-bottom:1rem}.examples-header h3[data-v-a9038348],.help-header h3[data-v-a9038348]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.examples-grid[data-v-a9038348]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.example-btn[data-v-a9038348]{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.875rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.example-btn[data-v-a9038348]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-title[data-v-a9038348]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.example-preview[data-v-a9038348]{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.help-content[data-v-a9038348]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.help-grid[data-v-a9038348]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.help-card[data-v-a9038348]{text-align:center;padding:1rem}.help-icon[data-v-a9038348]{font-size:2rem;margin-bottom:.75rem}.help-card h4[data-v-a9038348]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.help-card p[data-v-a9038348]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:1024px){.convert-section[data-v-a9038348]{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:768px){.serializer-content[data-v-a9038348]{padding:1rem 1rem 4rem;gap:1.5rem}.examples-section[data-v-a9038348],.help-section[data-v-a9038348]{padding:1.25rem}.section-header[data-v-a9038348]{padding:1rem;min-height:70px}.section-title[data-v-a9038348]{flex-wrap:wrap;gap:.5rem}.section-title h3[data-v-a9038348]{font-size:1rem}.data-input[data-v-a9038348],.data-output[data-v-a9038348]{min-height:200px;padding:1rem;font-size:.875rem}.examples-grid[data-v-a9038348]{grid-template-columns:repeat(2,1fr)}.help-grid[data-v-a9038348]{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:480px){.examples-grid[data-v-a9038348]{grid-template-columns:1fr}.help-grid[data-v-a9038348]{grid-template-columns:1fr;gap:1rem}}.text-replacer[data-v-0665c6f6]{width:100%;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.replacer-content[data-v-0665c6f6]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-0665c6f6]::-webkit-scrollbar{display:none;min-height:0}.settings-section[data-v-0665c6f6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.settings-header[data-v-0665c6f6]{margin-bottom:1rem}.settings-header h3[data-v-0665c6f6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.settings-grid[data-v-0665c6f6]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.setting-group[data-v-0665c6f6]{display:flex;flex-direction:column;gap:.5rem}.setting-label[data-v-0665c6f6]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.input-wrapper[data-v-0665c6f6]{position:relative}.search-input[data-v-0665c6f6],.replace-input[data-v-0665c6f6]{width:100%;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;box-sizing:border-box}.search-input[data-v-0665c6f6]:focus,.replace-input[data-v-0665c6f6]:focus{outline:none;border-color:var(--primary-color)}.search-input[data-v-0665c6f6]::placeholder,.replace-input[data-v-0665c6f6]::placeholder{color:var(--text-secondary)}.options-section[data-v-0665c6f6]{border-top:1px solid var(--border-color);padding-top:1.5rem}.options-grid[data-v-0665c6f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.option-item[data-v-0665c6f6]{display:flex;align-items:flex-start;gap:.75rem;cursor:pointer;padding:.75rem;background:var(--bg-tertiary);border-radius:.5rem;border:1px solid var(--border-color);transition:all .2s ease}.option-item[data-v-0665c6f6]:hover{background:var(--bg-hover);border-color:var(--primary-color)}.option-item input[type=checkbox][data-v-0665c6f6]{margin:0;accent-color:var(--primary-color)}.option-content[data-v-0665c6f6]{display:flex;flex-direction:column;gap:.25rem}.option-title[data-v-0665c6f6]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.option-desc[data-v-0665c6f6]{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.text-section[data-v-0665c6f6]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.input-panel[data-v-0665c6f6],.output-panel[data-v-0665c6f6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column}.section-header[data-v-0665c6f6]{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;height:48px;display:flex;align-items:center;justify-content:space-between}.section-title[data-v-0665c6f6]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1;width:100%}.section-title h3[data-v-0665c6f6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.panel-info[data-v-0665c6f6]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.char-count[data-v-0665c6f6],.match-count[data-v-0665c6f6]{padding:.25rem .6rem;background:var(--primary-color-alpha);color:var(--primary-color);border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap}.result-count[data-v-0665c6f6]{padding:.25rem .6rem;background:var(--success-color);color:#fff;border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap}.no-change[data-v-0665c6f6]{padding:.25rem .6rem;background:var(--warning-color);color:#fff;border-radius:.375rem;font-size:.75rem;font-weight:500;white-space:nowrap}.panel-content[data-v-0665c6f6]{position:relative;display:flex;flex-direction:column;flex:1}.text-input[data-v-0665c6f6],.text-output[data-v-0665c6f6]{width:100%;min-height:240px;padding:1.5rem;background:var(--bg-primary);border:none;color:var(--text-primary);font-size:.875rem;line-height:1.6;resize:vertical;font-family:Consolas,Monaco,Courier New,monospace;box-sizing:border-box;flex:1}.text-input[data-v-0665c6f6]:focus,.text-output[data-v-0665c6f6]:focus{outline:none}.text-input[data-v-0665c6f6]::placeholder,.text-output[data-v-0665c6f6]::placeholder{color:var(--text-secondary)}.matches-section[data-v-0665c6f6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.matches-header[data-v-0665c6f6]{margin-bottom:1rem}.matches-header h3[data-v-0665c6f6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.matches-subtitle[data-v-0665c6f6]{font-size:.75rem;color:var(--text-secondary);font-weight:400;margin-left:.5rem}.matches-list[data-v-0665c6f6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:.75rem}.match-item[data-v-0665c6f6]{display:flex;align-items:center;gap:.75rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;font-size:.875rem}.match-index[data-v-0665c6f6]{background:var(--primary-color);color:#fff;padding:.25rem .5rem;border-radius:.25rem;font-size:.75rem;font-weight:600;min-width:24px;text-align:center}.match-text[data-v-0665c6f6]{font-family:Consolas,Monaco,Courier New,monospace;background:var(--bg-primary);padding:.25rem .5rem;border-radius:.25rem;flex:1;word-break:break-all}.match-position[data-v-0665c6f6]{font-size:.75rem;color:var(--text-secondary)}.more-matches[data-v-0665c6f6]{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.875rem;background:var(--bg-tertiary);border-radius:.5rem;margin-top:1rem}.examples-section[data-v-0665c6f6],.help-section[data-v-0665c6f6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.examples-header[data-v-0665c6f6],.help-header[data-v-0665c6f6]{margin-bottom:1rem}.examples-header h3[data-v-0665c6f6],.help-header h3[data-v-0665c6f6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.examples-grid[data-v-0665c6f6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.example-btn[data-v-0665c6f6]{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.875rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.example-btn[data-v-0665c6f6]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-title[data-v-0665c6f6]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.example-preview[data-v-0665c6f6]{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.help-content[data-v-0665c6f6]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.help-grid[data-v-0665c6f6]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.help-card[data-v-0665c6f6]{text-align:center;padding:1rem}.help-icon[data-v-0665c6f6]{font-size:2rem;margin-bottom:.75rem}.help-card h4[data-v-0665c6f6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.help-card p[data-v-0665c6f6]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}@media(max-width:1024px){.text-section[data-v-0665c6f6]{grid-template-columns:1fr;gap:1.5rem}.settings-grid[data-v-0665c6f6]{grid-template-columns:1fr}}@media(max-width:768px){.replacer-content[data-v-0665c6f6]{padding:1rem 1rem 4rem;gap:1.5rem}.settings-section[data-v-0665c6f6],.matches-section[data-v-0665c6f6],.examples-section[data-v-0665c6f6],.help-section[data-v-0665c6f6]{padding:1.25rem}.section-title[data-v-0665c6f6]{flex-wrap:wrap;min-width:0;gap:.5rem}.section-title h3[data-v-0665c6f6]{font-size:1rem}.text-input[data-v-0665c6f6],.text-output[data-v-0665c6f6]{min-height:180px;padding:1rem;font-size:.875rem}.matches-list[data-v-0665c6f6]{grid-template-columns:1fr}.examples-grid[data-v-0665c6f6]{grid-template-columns:repeat(2,1fr)}.help-grid[data-v-0665c6f6]{grid-template-columns:repeat(2,1fr);gap:1rem}.options-grid[data-v-0665c6f6]{grid-template-columns:1fr}}@media(max-width:480px){.examples-grid[data-v-0665c6f6]{grid-template-columns:1fr}.help-grid[data-v-0665c6f6]{grid-template-columns:1fr;gap:1rem}}.mode-toggle[data-v-2a39e6d6]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-2a39e6d6]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-2a39e6d6]:last-child{border-right:none}.mode-btn.active[data-v-2a39e6d6]{background:var(--primary-color);color:#fff}.mode-btn[data-v-2a39e6d6]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.chinese-converter[data-v-2a39e6d6]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-2a39e6d6]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-2a39e6d6]::-webkit-scrollbar{display:none;min-height:0}.convert-section[data-v-2a39e6d6],.details-section[data-v-2a39e6d6],.examples-section[data-v-2a39e6d6],.help-section[data-v-2a39e6d6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-header[data-v-2a39e6d6]{margin-bottom:1.5rem;height:48px;display:flex;align-items:center;justify-content:space-between}.help-header[data-v-2a39e6d6]{margin-bottom:1rem}.help-header h3[data-v-2a39e6d6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.details-header[data-v-2a39e6d6]{margin-bottom:1rem}.details-header h3[data-v-2a39e6d6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.details-subtitle[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);font-weight:400;margin-left:.5rem}.section-title h3[data-v-2a39e6d6]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-subtitle[data-v-2a39e6d6]{font-size:.875rem;color:var(--text-secondary);margin:0}.section-actions[data-v-2a39e6d6]{display:flex;gap:.5rem;flex-shrink:0}.convert-section[data-v-2a39e6d6]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:0;background:transparent;border:none;box-shadow:none}.input-panel[data-v-2a39e6d6],.output-panel[data-v-2a39e6d6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d;display:flex;flex-direction:column}.input-panel .section-header[data-v-2a39e6d6],.output-panel .section-header[data-v-2a39e6d6]{background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);padding:1rem 1.5rem;margin-bottom:0;height:48px;display:flex;align-items:center;justify-content:space-between}.section-title[data-v-2a39e6d6]{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:1;width:100%}.section-title h3[data-v-2a39e6d6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem;white-space:nowrap}.standard-selector[data-v-2a39e6d6]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;background:var(--bg-primary)}.standard-btn[data-v-2a39e6d6]{padding:.375rem .75rem;background:transparent;border:none;color:var(--text-secondary);font-size:.75rem;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:28px;box-sizing:border-box}.standard-btn[data-v-2a39e6d6]:last-child{border-right:none}.standard-btn.active[data-v-2a39e6d6]{background:var(--primary-color);color:#fff}.standard-btn[data-v-2a39e6d6]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.panel-content[data-v-2a39e6d6]{position:relative;display:flex;flex-direction:column;flex:1}.text-input[data-v-2a39e6d6],.text-output[data-v-2a39e6d6]{width:100%;min-height:240px;padding:1.5rem;background:var(--bg-primary);border:none;color:var(--text-primary);font-size:.875rem;line-height:1.6;resize:vertical;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif;box-sizing:border-box;flex:1}.text-input[data-v-2a39e6d6]:focus,.text-output[data-v-2a39e6d6]:focus{outline:none;background:var(--bg-primary)}.text-input[data-v-2a39e6d6]::placeholder,.text-output[data-v-2a39e6d6]::placeholder{color:var(--text-secondary)}.text-output[data-v-2a39e6d6]{background:var(--bg-primary);color:var(--text-primary)}.stats-info[data-v-2a39e6d6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:1rem;margin-bottom:1.5rem;padding:1rem;background:var(--bg-tertiary);border-radius:.5rem;border:1px solid var(--border-color)}.stat-item[data-v-2a39e6d6]{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}.stat-label[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.stat-value[data-v-2a39e6d6]{font-size:1.25rem;font-weight:600;color:var(--primary-color)}.stat-value.no-conversion[data-v-2a39e6d6]{color:var(--warning-color);font-size:.875rem}.conversion-details h4[data-v-2a39e6d6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.details-list[data-v-2a39e6d6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.detail-item[data-v-2a39e6d6]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;font-size:.875rem}.original-char[data-v-2a39e6d6],.converted-char[data-v-2a39e6d6]{font-size:1.125rem;font-weight:600;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,PingFang SC,Hiragino Sans GB,Microsoft YaHei,sans-serif}.original-char[data-v-2a39e6d6]{color:var(--warning-color)}.converted-char[data-v-2a39e6d6]{color:var(--success-color)}.char-count[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);margin-left:auto}.more-details[data-v-2a39e6d6]{text-align:center;padding:1rem;color:var(--text-secondary);font-size:.875rem;background:var(--bg-tertiary);border-radius:.5rem;margin-top:1rem}.examples-section[data-v-2a39e6d6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:1.5rem;box-shadow:0 2px 8px #0000000d}.examples-header[data-v-2a39e6d6]{margin-bottom:1rem}.examples-header h3[data-v-2a39e6d6]{font-size:1.1rem;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:.5rem}.examples-grid[data-v-2a39e6d6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem}.example-btn[data-v-2a39e6d6]{display:flex;flex-direction:column;align-items:center;gap:.375rem;padding:.875rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;cursor:pointer;transition:all .2s ease;text-align:center}.example-btn[data-v-2a39e6d6]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-title[data-v-2a39e6d6]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.example-preview[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);line-height:1.3}.help-content[data-v-2a39e6d6]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.help-grid[data-v-2a39e6d6]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.5rem}.help-card[data-v-2a39e6d6]{text-align:center;padding:1rem}.help-icon[data-v-2a39e6d6]{font-size:2rem;margin-bottom:.75rem}.help-card h4[data-v-2a39e6d6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.help-card p[data-v-2a39e6d6]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0}.opencc-info[data-v-2a39e6d6]{margin-top:2rem;padding:1.5rem;background:var(--success-color-alpha);border:1px solid var(--success-color);border-radius:.5rem}.opencc-info h4[data-v-2a39e6d6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.opencc-info p[data-v-2a39e6d6]{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin:0 0 1rem}.opencc-info ul[data-v-2a39e6d6]{margin:0 0 1rem 1.5rem;padding:0}.opencc-info li[data-v-2a39e6d6]{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin-bottom:.5rem}.opencc-info strong[data-v-2a39e6d6]{color:var(--success-color);font-weight:600}.notice-text[data-v-2a39e6d6]{font-size:.75rem;color:var(--text-secondary);font-style:italic;margin:0}@media(max-width:1024px){.convert-section[data-v-2a39e6d6]{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:768px){.converter-content[data-v-2a39e6d6]{padding:1rem 1rem 4rem;gap:1.5rem}.details-section[data-v-2a39e6d6],.examples-section[data-v-2a39e6d6],.help-section[data-v-2a39e6d6]{padding:1.25rem}.input-panel .section-header[data-v-2a39e6d6],.output-panel .section-header[data-v-2a39e6d6]{padding:1rem;height:auto;min-height:48px;flex-wrap:wrap;gap:.5rem}.section-title[data-v-2a39e6d6]{flex-wrap:wrap;min-width:0;gap:.5rem}.section-title h3[data-v-2a39e6d6]{font-size:1rem}.standard-selector[data-v-2a39e6d6]{order:2;width:100%;justify-content:center}.text-input[data-v-2a39e6d6],.text-output[data-v-2a39e6d6]{min-height:180px;padding:1rem;font-size:.875rem}.details-list[data-v-2a39e6d6]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.5rem}.examples-grid[data-v-2a39e6d6]{grid-template-columns:repeat(2,1fr)}.help-grid[data-v-2a39e6d6]{grid-template-columns:repeat(2,1fr);gap:1rem}}@media(max-width:480px){.examples-grid[data-v-2a39e6d6],.details-list[data-v-2a39e6d6]{grid-template-columns:1fr}.help-grid[data-v-2a39e6d6]{grid-template-columns:1fr;gap:1rem}}.ascii-lookup-wrapper[data-v-bb888ead]{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary)}.content-wrapper[data-v-bb888ead]{flex:1;overflow-y:auto;padding-bottom:60px}.lookup-content[data-v-bb888ead]{flex:1;display:grid;grid-template-columns:400px 1fr;gap:24px;padding:24px;overflow:hidden;max-width:1000px;margin:0 auto;width:100%}.main-content[data-v-bb888ead]{display:flex;flex-direction:column;gap:20px;overflow-y:auto}.query-section[data-v-bb888ead]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.result-section[data-v-bb888ead]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.section-header[data-v-bb888ead]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-tertiary)}.section-header h3[data-v-bb888ead]{margin:0;font-size:16px;font-weight:600;color:var(--text-primary)}.mode-toggle[data-v-bb888ead],.table-controls[data-v-bb888ead]{display:flex;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.mode-btn[data-v-bb888ead],.filter-btn[data-v-bb888ead]{padding:6px 12px;background:transparent;border:none;color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:12px;font-weight:500;border-right:1px solid var(--border-color)}.mode-btn[data-v-bb888ead]:last-child,.filter-btn[data-v-bb888ead]:last-child{border-right:none}.mode-btn[data-v-bb888ead]:hover,.filter-btn[data-v-bb888ead]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.mode-btn.active[data-v-bb888ead],.filter-btn.active[data-v-bb888ead]{background:var(--primary-color);color:#fff}.query-content[data-v-bb888ead]{padding:20px}.input-section[data-v-bb888ead]{margin-bottom:16px}.input-label[data-v-bb888ead]{display:block;margin-bottom:6px;font-size:13px;font-weight:500;color:var(--text-primary)}.input-wrapper[data-v-bb888ead]{position:relative;display:flex;align-items:center}.char-input[data-v-bb888ead],.code-input[data-v-bb888ead]{flex:1;padding:10px 14px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition)}.char-input[data-v-bb888ead]{text-align:center;font-size:20px;font-weight:600;padding:12px 14px}.char-input[data-v-bb888ead]:focus,.code-input[data-v-bb888ead]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.clear-btn[data-v-bb888ead]{position:absolute;right:8px;width:28px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.clear-btn[data-v-bb888ead]:hover{background:var(--border-color);color:var(--text-primary)}.quick-chars[data-v-bb888ead],.quick-codes[data-v-bb888ead]{display:flex;flex-direction:column;gap:8px}.quick-label[data-v-bb888ead]{font-size:12px;color:var(--text-secondary);font-weight:500}.char-buttons[data-v-bb888ead],.code-buttons[data-v-bb888ead]{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}.char-btn[data-v-bb888ead],.code-btn[data-v-bb888ead]{padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:var(--transition);font-size:11px;font-weight:500;text-align:center}.char-btn[data-v-bb888ead]:hover,.code-btn[data-v-bb888ead]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.result-card[data-v-bb888ead]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden}.result-header[data-v-bb888ead]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color)}.result-header h4[data-v-bb888ead]{margin:0;font-size:13px;font-weight:600;color:var(--text-primary)}.copy-result-btn[data-v-bb888ead]{display:flex;align-items:center;gap:4px;padding:4px 8px;background:var(--primary-color);color:#fff;border:1px solid var(--primary-color);border-radius:var(--radius-sm);font-size:11px;font-weight:500;cursor:pointer;transition:var(--transition)}.copy-result-btn[data-v-bb888ead]:hover{background:var(--primary-color-dark, #4f46e5)}.result-content[data-v-bb888ead]{padding:16px}.result-grid[data-v-bb888ead]{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}.result-item[data-v-bb888ead]{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-tertiary);border-radius:var(--radius-sm);text-align:center}.result-label[data-v-bb888ead]{font-size:11px;color:var(--text-secondary);font-weight:500}.result-value[data-v-bb888ead]{font-size:13px;color:var(--text-primary);font-weight:600}.char-value[data-v-bb888ead]{font-size:16px;padding:4px 6px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);font-family:monospace;min-width:40px;text-align:center}.code-value[data-v-bb888ead],.hex-value[data-v-bb888ead],.binary-value[data-v-bb888ead]{font-family:monospace;font-size:12px}.result-description[data-v-bb888ead]{display:flex;flex-direction:column;gap:4px;padding:8px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}.desc-label[data-v-bb888ead]{font-size:11px;color:var(--text-secondary);font-weight:500}.desc-value[data-v-bb888ead]{font-size:12px;color:var(--primary-color);font-weight:500}.ascii-table-section[data-v-bb888ead]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;height:600px}.ascii-table[data-v-bb888ead]{flex:1;overflow-y:auto;min-height:0}.table-header[data-v-bb888ead]{display:grid;grid-template-columns:70px 70px 90px 1fr;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:1}.header-cell[data-v-bb888ead]{padding:10px 12px;font-size:12px;font-weight:600;color:var(--text-primary);border-right:1px solid var(--border-color)}.header-cell[data-v-bb888ead]:last-child{border-right:none}.table-body[data-v-bb888ead]{display:flex;flex-direction:column}.table-row[data-v-bb888ead]{display:grid;grid-template-columns:70px 70px 90px 1fr;cursor:pointer;transition:var(--transition);border-bottom:1px solid var(--border-color)}.table-row[data-v-bb888ead]:hover{background:var(--bg-tertiary)}.table-row.highlighted[data-v-bb888ead]{background:#6366f11a;border-color:var(--primary-color)}.table-row.control[data-v-bb888ead]{background:#ef44440d}.table-row.control[data-v-bb888ead]:hover{background:#ef44441a}.table-cell[data-v-bb888ead]{padding:8px 12px;font-size:12px;border-right:1px solid var(--border-color);display:flex;align-items:center}.table-cell[data-v-bb888ead]:last-child{border-right:none}.code-cell[data-v-bb888ead],.hex-cell[data-v-bb888ead]{font-family:monospace;font-weight:600;color:var(--primary-color);justify-content:center}.char-cell[data-v-bb888ead]{justify-content:center}.char-display[data-v-bb888ead]{font-size:11px;font-weight:600;padding:2px 4px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);min-width:20px;text-align:center;font-family:monospace}.table-row.control .char-display[data-v-bb888ead]{background:#ef44441a;border-color:#ef44444d;color:#dc2626;font-size:10px}.desc-cell[data-v-bb888ead]{color:var(--text-secondary);font-size:11px}.help-section[data-v-bb888ead]{max-width:1000px;margin:32px auto;padding:0 24px}.help-section h3[data-v-bb888ead]{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.help-grid[data-v-bb888ead]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.help-card[data-v-bb888ead]{background:var(--bg-secondary);border-radius:var(--radius-lg);padding:20px;border:1px solid var(--border-color);text-align:center;transition:var(--transition)}.help-card[data-v-bb888ead]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.help-icon[data-v-bb888ead]{font-size:32px;margin-bottom:12px}.help-card h4[data-v-bb888ead]{margin:0 0 8px;font-size:16px;font-weight:600;color:var(--text-primary)}.help-card p[data-v-bb888ead]{margin:0;font-size:14px;color:var(--text-secondary);line-height:1.5}@media(max-width:1024px){.lookup-content[data-v-bb888ead]{grid-template-columns:1fr;grid-template-rows:auto 1fr;gap:16px;padding:16px}.main-content[data-v-bb888ead]{order:1}.ascii-table-section[data-v-bb888ead]{order:2;min-height:400px}}@media(max-width:768px){.section-header[data-v-bb888ead]{flex-direction:column;gap:12px;align-items:stretch;padding:16px}.query-content[data-v-bb888ead]{padding:16px}.char-buttons[data-v-bb888ead],.code-buttons[data-v-bb888ead]{grid-template-columns:repeat(3,1fr)}.result-grid[data-v-bb888ead]{grid-template-columns:1fr;gap:8px}.table-header[data-v-bb888ead],.table-row[data-v-bb888ead]{grid-template-columns:50px 50px 70px 1fr}.table-cell[data-v-bb888ead]{padding:6px 8px;font-size:11px}.char-input[data-v-bb888ead]{font-size:16px}.help-section[data-v-bb888ead]{padding:0 16px;margin:32px auto}.help-grid[data-v-bb888ead]{grid-template-columns:1fr}}@media(max-width:480px){.lookup-content[data-v-bb888ead]{padding:12px;gap:12px}.char-buttons[data-v-bb888ead],.code-buttons[data-v-bb888ead]{grid-template-columns:repeat(2,1fr)}.table-header[data-v-bb888ead],.table-row[data-v-bb888ead]{grid-template-columns:45px 45px 60px 1fr}.table-cell[data-v-bb888ead]{padding:4px 6px;font-size:10px}.header-cell[data-v-bb888ead]{padding:8px 6px;font-size:11px}.help-section[data-v-bb888ead]{padding:0 12px;margin:32px auto}}.unit-converter[data-v-c52f9f53]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary)}.converter-content[data-v-c52f9f53]{flex:1;padding:24px;overflow-y:auto;display:flex;flex-direction:column;gap:24px;max-width:1000px;margin:0 auto;width:100%;min-height:0}.category-selector[data-v-c52f9f53]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:16px;flex-shrink:0;display:flex;align-items:center;gap:12px}.scroll-btn[data-v-c52f9f53]{width:32px;height:32px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.scroll-btn[data-v-c52f9f53]:hover:not(:disabled){background:var(--bg-tertiary);color:var(--text-primary);border-color:var(--primary-color)}.scroll-btn[data-v-c52f9f53]:disabled{opacity:.3;cursor:not-allowed}.category-tabs-container[data-v-c52f9f53]{flex:1;position:relative;min-width:0}.category-tabs[data-v-c52f9f53]{display:flex;gap:8px;overflow-x:auto;scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;padding:2px 8px 2px 2px;width:100%;box-sizing:border-box}.category-tabs[data-v-c52f9f53]::-webkit-scrollbar{display:none}.category-tab[data-v-c52f9f53]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:8px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);white-space:nowrap;flex-shrink:0;width:64px;height:64px;box-sizing:border-box}.category-tab[data-v-c52f9f53]:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.category-tab.active[data-v-c52f9f53]{border-color:var(--primary-color);background:var(--primary-color);color:#fff}.tab-icon[data-v-c52f9f53]{font-size:20px;line-height:1}.tab-label[data-v-c52f9f53]{font-size:10px;font-weight:500;line-height:1;text-align:center}.examples-section[data-v-c52f9f53]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.section-header[data-v-c52f9f53]{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box}.section-header h3[data-v-c52f9f53]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.conversions-grid[data-v-c52f9f53]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px;padding:16px}.conversion-item[data-v-c52f9f53]{padding:12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);display:block;width:100%;box-sizing:border-box}.conversion-item[data-v-c52f9f53]:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.conversion-label[data-v-c52f9f53]{font-weight:600;color:var(--text-primary);margin-bottom:2px;font-size:13px}.conversion-formula[data-v-c52f9f53]{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono)}.no-conversions[data-v-c52f9f53]{grid-column:1 / -1;text-align:center;padding:40px 20px;color:var(--text-secondary);font-style:italic}.converter-main[data-v-c52f9f53]{display:flex;flex-direction:column;gap:24px;flex-shrink:0}.conversion-panel[data-v-c52f9f53]{display:grid;grid-template-columns:1fr auto 1fr;gap:24px;align-items:start}.input-section[data-v-c52f9f53],.output-section[data-v-c52f9f53]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.unit-selector[data-v-c52f9f53]{display:flex;align-items:center;gap:8px}.unit-select[data-v-c52f9f53]{padding:8px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:14px;cursor:pointer;min-width:180px}.input-area[data-v-c52f9f53],.output-area[data-v-c52f9f53]{padding:20px;display:flex;flex-direction:column;gap:12px}.value-input[data-v-c52f9f53],.value-output[data-v-c52f9f53]{padding:16px 20px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:18px;font-family:var(--font-mono);font-weight:500;transition:var(--transition)}.value-input[data-v-c52f9f53]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.value-output[data-v-c52f9f53]{background:var(--bg-tertiary);cursor:default}.input-info[data-v-c52f9f53],.output-info[data-v-c52f9f53]{margin-top:8px;padding:8px 4px;display:flex;align-items:center;justify-content:center;min-height:32px;height:32px}.unit-info[data-v-c52f9f53]{font-size:12px;color:var(--text-secondary);font-style:italic;word-wrap:break-word;overflow-wrap:break-word;text-align:center;line-height:1.2}.conversion-arrow[data-v-c52f9f53]{display:flex;align-items:center;justify-content:center;padding-top:60px}.formula-section[data-v-c52f9f53]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;flex-shrink:0}.formula-header[data-v-c52f9f53]{margin-bottom:16px}.formula-header h3[data-v-c52f9f53]{font-size:16px;font-weight:600;color:var(--text-primary);margin:0;display:flex;align-items:center;gap:8px}.formula-content[data-v-c52f9f53]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px}.formula-info[data-v-c52f9f53]{display:flex;flex-direction:column;gap:12px}.formula-text[data-v-c52f9f53]{font-family:var(--font-mono);font-size:16px;color:var(--text-primary);background:var(--bg-primary);padding:12px 16px;border-radius:var(--radius-md);border:1px solid var(--border-color);word-wrap:break-word;overflow-wrap:break-word}.formula-example[data-v-c52f9f53]{font-size:14px;color:var(--text-secondary);font-style:italic;word-wrap:break-word;overflow-wrap:break-word;text-align:center}@media(max-width:1024px){.conversion-panel[data-v-c52f9f53]{grid-template-columns:1fr;gap:20px}.conversion-arrow[data-v-c52f9f53]{padding-top:0;order:2}.output-section[data-v-c52f9f53]{order:3}}@media(max-width:768px){.converter-content[data-v-c52f9f53]{padding:16px;gap:20px}.category-tab[data-v-c52f9f53]{width:56px;height:56px;padding:6px;gap:2px}.tab-icon[data-v-c52f9f53]{font-size:18px}.tab-label[data-v-c52f9f53]{font-size:9px}.conversions-grid[data-v-c52f9f53]{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));padding:12px;gap:6px}.conversion-item[data-v-c52f9f53]{padding:10px}.conversion-label[data-v-c52f9f53]{font-size:12px}.conversion-formula[data-v-c52f9f53]{font-size:10px}.unit-select[data-v-c52f9f53]{min-width:150px;font-size:12px}.value-input[data-v-c52f9f53],.value-output[data-v-c52f9f53]{font-size:16px;padding:12px 16px}}.number-converter[data-v-8533b6b2]{width:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.converter-content[data-v-8533b6b2]{flex:1;display:flex;flex-direction:column;padding:24px 24px 80px;gap:24px;max-width:1000px;margin:0 auto;width:100%;min-height:calc(100vh - 80px);overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-8533b6b2]::-webkit-scrollbar{display:none}.section-header[data-v-8533b6b2]{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box}.section-header h3[data-v-8533b6b2]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.click-tip[data-v-8533b6b2]{display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--primary-color-light);border:1px solid var(--primary-color);border-radius:var(--radius-sm);color:var(--primary-color);font-size:12px;font-weight:500}.click-tip svg[data-v-8533b6b2]{flex-shrink:0}.examples-grid[data-v-8533b6b2]{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:0}.example-item[data-v-8533b6b2]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:12px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;min-height:60px;text-align:center;transition:var(--transition)}.example-item[data-v-8533b6b2]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.example-number[data-v-8533b6b2]{font-size:14px;font-weight:600;font-family:var(--font-mono);color:var(--primary-color);line-height:1.2}.example-roman[data-v-8533b6b2]{font-size:11px;color:var(--text-secondary);font-weight:500;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.convert-section[data-v-8533b6b2]{display:grid;grid-template-columns:1fr 1fr;gap:24px;flex-shrink:0}.input-panel[data-v-8533b6b2],.results-panel[data-v-8533b6b2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden}.input-type-selector[data-v-8533b6b2]{display:flex;gap:4px}.type-btn[data-v-8533b6b2]{padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:12px;cursor:pointer;transition:var(--transition);min-width:60px;text-transform:uppercase}.type-btn[data-v-8533b6b2]:hover{background:var(--bg-hover);color:var(--text-primary)}.type-btn.active[data-v-8533b6b2]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.input-area[data-v-8533b6b2]{padding:20px;display:flex;flex-direction:column;gap:12px}.input-container[data-v-8533b6b2]{display:flex;align-items:center;gap:8px}.number-input[data-v-8533b6b2]{flex:1;padding:12px 16px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:16px;font-family:var(--font-mono);font-weight:500;transition:var(--transition)}.number-input[data-v-8533b6b2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-light)}.input-hint[data-v-8533b6b2]{font-size:12px;color:var(--text-secondary);font-style:italic}.examples-area[data-v-8533b6b2]{padding:20px;border-top:1px solid var(--border-color)}.examples-title[data-v-8533b6b2]{margin:0 0 12px;font-size:14px;font-weight:600;color:var(--text-primary)}.results-list[data-v-8533b6b2]{padding:20px;display:flex;flex-direction:column;gap:12px}.result-row[data-v-8533b6b2]{display:flex;align-items:center;gap:16px;padding:12px;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition);cursor:pointer}.result-row[data-v-8533b6b2]:hover{background:var(--bg-hover);transform:translateY(-1px)}.result-row.active[data-v-8533b6b2]{border-color:var(--primary-color);background:var(--primary-color-light)}.result-info[data-v-8533b6b2]{display:flex;flex-direction:column;gap:4px;min-width:120px;flex-shrink:0}.result-label[data-v-8533b6b2]{display:flex;align-items:center;gap:8px}.result-icon[data-v-8533b6b2]{font-size:16px}.result-name[data-v-8533b6b2]{font-size:14px;font-weight:600;color:var(--text-primary)}.active-indicator[data-v-8533b6b2]{font-size:10px;font-weight:600;color:#fff;background:var(--primary-color);padding:2px 6px;border-radius:var(--radius-sm);font-family:var(--font-mono)}.result-desc[data-v-8533b6b2]{font-size:10px;color:var(--text-secondary);line-height:1.3}.result-content[data-v-8533b6b2]{flex:1;display:flex;align-items:center}.result-input[data-v-8533b6b2]{flex:1;width:100%;padding:8px 12px;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-mono);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.result-input[data-v-8533b6b2]:hover{border-color:var(--primary-color)}.result-input[data-v-8533b6b2]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-light)}.help-section[data-v-8533b6b2]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;flex-shrink:0}.help-header[data-v-8533b6b2]{padding:12px 20px;background:var(--bg-tertiary);border-bottom:1px solid var(--border-color);height:48px;box-sizing:border-box;display:flex;align-items:center}.help-header h3[data-v-8533b6b2]{margin:0;font-size:14px;font-weight:600;color:var(--text-primary)}.help-content[data-v-8533b6b2]{padding:20px}.help-grid[data-v-8533b6b2]{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.help-card[data-v-8533b6b2]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:16px;transition:var(--transition)}.help-card[data-v-8533b6b2]:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:0 4px 12px var(--shadow-color)}.help-icon[data-v-8533b6b2]{font-size:20px;margin-bottom:8px;flex-shrink:0}.help-header-inline[data-v-8533b6b2]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.help-header-inline .help-icon[data-v-8533b6b2]{margin-bottom:0}.help-header-inline h4[data-v-8533b6b2]{margin:0}.help-card h4[data-v-8533b6b2]{font-size:14px;font-weight:600;margin:0;color:var(--text-primary);flex:1}.symbols-list[data-v-8533b6b2]{display:grid;grid-template-columns:repeat(2,1fr);gap:4px;margin-top:8px}.symbol-item[data-v-8533b6b2]{font-size:11px;color:var(--text-secondary);font-family:var(--font-mono);padding:2px 4px;background:var(--bg-tertiary);border-radius:var(--radius-sm)}@media(max-width:768px){.converter-content[data-v-8533b6b2]{padding:16px 16px 80px;gap:16px}.convert-section[data-v-8533b6b2]{grid-template-columns:1fr;gap:16px}.examples-grid[data-v-8533b6b2]{grid-template-columns:repeat(2,1fr);gap:8px}.help-grid[data-v-8533b6b2]{grid-template-columns:1fr;gap:12px}.result-row[data-v-8533b6b2]{flex-direction:column;align-items:stretch;gap:12px}.result-info[data-v-8533b6b2]{min-width:auto}.section-header[data-v-8533b6b2]{flex-direction:column;gap:12px;align-items:stretch;height:auto;padding:16px 20px}.input-type-selector[data-v-8533b6b2]{justify-content:space-between}.symbols-list[data-v-8533b6b2]{grid-template-columns:1fr}}.search-section[data-v-04e124c0]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.search-container[data-v-04e124c0]{display:flex;flex-direction:column;gap:1.5rem}.search-input-wrapper[data-v-04e124c0]{position:relative;display:flex;align-items:center}.search-icon[data-v-04e124c0]{position:absolute;left:1rem;color:var(--text-secondary);z-index:1}.search-input[data-v-04e124c0]{width:100%;padding:1rem 1rem 1rem 2.5rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:var(--transition);box-sizing:border-box}.search-input[data-v-04e124c0]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.clear-search-btn[data-v-04e124c0]{position:absolute;right:1rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.clear-search-btn[data-v-04e124c0]:hover{background:var(--border-color);color:var(--text-primary)}.category-filter[data-v-04e124c0]{display:flex;gap:.5rem;flex-wrap:wrap}.category-btn[data-v-04e124c0]{padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.category-btn[data-v-04e124c0]:hover{background:var(--border-color);color:var(--text-primary)}.category-btn.active[data-v-04e124c0]{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.filter-count[data-v-04e124c0]{font-size:.75rem;opacity:.8}@media(max-width:768px){.search-section[data-v-04e124c0]{padding:1.5rem}.search-container[data-v-04e124c0]{gap:1rem}.search-input[data-v-04e124c0]{padding:.875rem .875rem .875rem 2.25rem;font-size:.875rem}.search-icon[data-v-04e124c0]{left:.875rem}.clear-search-btn[data-v-04e124c0]{right:.875rem}.category-btn[data-v-04e124c0]{padding:.625rem 1rem;font-size:.8rem}}@media(max-width:480px){.search-section[data-v-04e124c0]{padding:1rem}.category-filter[data-v-04e124c0]{gap:.375rem}.category-btn[data-v-04e124c0]{padding:.5rem .75rem;font-size:.75rem}}.scroll-to-top-btn[data-v-ca8072fe]{position:fixed;bottom:2rem;right:2rem;z-index:1000;display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--primary-color);color:#fff;border:none;border-radius:50%;cursor:pointer;box-shadow:var(--shadow-lg);transition:all .3s ease;backdrop-filter:blur(10px);min-width:3rem;min-height:3rem;justify-content:center}.scroll-to-top-btn[data-v-ca8072fe]:hover{background:var(--primary-hover);transform:translateY(-2px);box-shadow:0 8px 25px #3b82f64d}.scroll-to-top-btn.scrolling[data-v-ca8072fe]{pointer-events:none;opacity:.8}.scroll-to-top-btn[data-position=bottom-left][data-v-ca8072fe]{left:2rem;right:auto}.scroll-to-top-btn[data-position=bottom-center][data-v-ca8072fe]{left:50%;right:auto;transform:translate(-50%)}.scroll-text[data-v-ca8072fe]{font-size:.75rem;font-weight:500;white-space:nowrap}.scroll-to-top-btn[data-v-ca8072fe]:has(.scroll-text){border-radius:2rem;padding:.75rem 1rem}.rotating[data-v-ca8072fe]{animation:rotate-ca8072fe 1s linear infinite}@keyframes rotate-ca8072fe{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.scroll-to-top-enter-active[data-v-ca8072fe],.scroll-to-top-leave-active[data-v-ca8072fe]{transition:all .3s ease}.scroll-to-top-enter-from[data-v-ca8072fe],.scroll-to-top-leave-to[data-v-ca8072fe]{opacity:0;transform:translateY(100%) scale(.8)}@media(max-width:768px){.scroll-to-top-btn[data-v-ca8072fe]{bottom:1rem;right:1rem;min-width:2.5rem;min-height:2.5rem;padding:.5rem}.scroll-to-top-btn svg[data-v-ca8072fe]{width:18px;height:18px}.scroll-text[data-v-ca8072fe]{font-size:.7rem}}[data-theme=dark] .scroll-to-top-btn[data-v-ca8072fe]{background:var(--bg-secondary);color:var(--text-color);border:1px solid var(--border-color)}[data-theme=dark] .scroll-to-top-btn[data-v-ca8072fe]:hover{background:var(--bg-hover);box-shadow:0 8px 25px #0000004d}.modal-overlay[data-v-277974ec]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.modal[data-v-277974ec]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;width:var(--v576693a0);max-width:var(--v14dc03d0);max-height:var(--ba4269d6)}.modal-header[data-v-277974ec]{display:flex;align-items:center;justify-content:space-between;padding:1rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.modal-title[data-v-277974ec]{font-size:1.125rem;font-weight:600;margin:0;color:var(--text-primary)}.close-btn[data-v-277974ec]{width:32px;height:32px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.close-btn[data-v-277974ec]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-content[data-v-277974ec]{flex:1;overflow-y:auto;min-height:0}.modal-footer[data-v-277974ec]{padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-primary);flex-shrink:0}.modal-enter-active[data-v-277974ec],.modal-leave-active[data-v-277974ec]{transition:all .3s ease}.modal-enter-from[data-v-277974ec],.modal-leave-to[data-v-277974ec]{opacity:0}.modal-enter-from .modal[data-v-277974ec],.modal-leave-to .modal[data-v-277974ec]{transform:translateY(20px) scale(.95)}@media(max-width:768px){.modal[data-v-277974ec]{width:95%!important;max-height:85vh!important}.modal-header[data-v-277974ec]{padding:1rem 1.5rem}.modal-content[data-v-277974ec]{padding:1.5rem}.modal-footer[data-v-277974ec]{padding:1rem 1.5rem}}.color-reference[data-v-513f0198]{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.converter-content[data-v-513f0198]{flex:1;padding:2rem 2rem 6rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;min-height:calc(100vh - 120px);scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-513f0198]::-webkit-scrollbar{display:none}.colors-grid[data-v-513f0198]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.color-card[data-v-513f0198]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:var(--transition);box-shadow:var(--shadow-sm)}.color-card[data-v-513f0198]:hover{border-color:var(--primary-color);box-shadow:var(--shadow-md);transform:translateY(-1px)}.color-preview[data-v-513f0198]{width:100%;height:80px;border-bottom:1px solid var(--border-color)}.color-info[data-v-513f0198]{padding:1rem}.color-name[data-v-513f0198]{font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.25rem}.color-hex[data-v-513f0198]{font-size:.75rem;color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,monospace}.color-details[data-v-513f0198]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.section-title[data-v-513f0198]{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;color:var(--text-primary)}.details-content[data-v-513f0198]{display:grid;grid-template-columns:200px 1fr;gap:2rem;align-items:start}.color-display[data-v-513f0198]{display:flex;flex-direction:column;align-items:center;gap:1rem}.large-preview[data-v-513f0198]{width:150px;height:150px;border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.color-name-large[data-v-513f0198]{font-size:1rem;font-weight:600;color:var(--text-primary);text-align:center}.color-formats[data-v-513f0198]{display:flex;flex-direction:column;gap:1rem}.format-item[data-v-513f0198]{display:flex;flex-direction:column;gap:.5rem}.format-item label[data-v-513f0198]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.format-value[data-v-513f0198]{display:flex;align-items:center;gap:.5rem}.format-input[data-v-513f0198]{flex:1;padding:.75rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem}.color-details-content[data-v-513f0198]{padding:1.25rem;display:grid;grid-template-columns:100px 1fr;gap:1.25rem;align-items:start}.color-display[data-v-513f0198]{display:flex;flex-direction:column;align-items:center;gap:.5rem}.large-preview[data-v-513f0198]{width:80px;height:80px;border-radius:var(--radius-md);border:1px solid var(--border-color);box-shadow:var(--shadow-md)}.color-name-large[data-v-513f0198]{font-size:.75rem;font-weight:600;color:var(--text-primary);text-align:center;line-height:1.2}.color-formats[data-v-513f0198]{display:flex;flex-direction:column;gap:.75rem}.format-row[data-v-513f0198]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.format-item[data-v-513f0198]{display:flex;flex-direction:column;gap:.375rem}.format-item label[data-v-513f0198]{font-size:.7rem;font-weight:600;color:var(--text-primary);text-transform:uppercase;letter-spacing:.5px}.format-value[data-v-513f0198]{display:flex;align-items:center;gap:.375rem}.format-input[data-v-513f0198]{flex:1;padding:.375rem .5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.7rem;min-width:0}@media(max-width:768px){.converter-content[data-v-513f0198]{padding:1rem 1rem 4rem;gap:1.5rem}.color-details[data-v-513f0198]{padding:1.5rem}.colors-grid[data-v-513f0198]{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.details-content[data-v-513f0198]{grid-template-columns:1fr;gap:1.5rem}.color-display[data-v-513f0198]{flex-direction:row;justify-content:center}.large-preview[data-v-513f0198]{width:100px;height:100px}.color-details-content[data-v-513f0198]{padding:1rem;grid-template-columns:1fr;gap:1rem}.color-display[data-v-513f0198]{flex-direction:row;justify-content:center;gap:1rem}.large-preview[data-v-513f0198]{width:80px;height:80px}.color-name-large[data-v-513f0198]{font-size:.75rem}.format-row[data-v-513f0198]{grid-template-columns:1fr;gap:.75rem}.format-input[data-v-513f0198]{font-size:.7rem;padding:.4rem .6rem}}.mode-toggle[data-v-8184150c]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-8184150c]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-8184150c]:last-child{border-right:none}.mode-btn.active[data-v-8184150c]{background:var(--primary-color);color:#fff}.mode-btn[data-v-8184150c]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.jwt-generator[data-v-8184150c]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.converter-content[data-v-8184150c]{flex:1;padding:1.5rem 1.5rem 3rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;min-height:0;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-8184150c]::-webkit-scrollbar{display:none}.mode-section[data-v-8184150c],.config-section[data-v-8184150c],.input-section[data-v-8184150c],.result-section[data-v-8184150c],.decode-result-section[data-v-8184150c],.error-section[data-v-8184150c]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:1rem;padding:2rem;box-shadow:0 2px 8px #0000000d}.section-header[data-v-8184150c]{margin-bottom:1.5rem;height:48px;display:flex;align-items:center;justify-content:space-between}.section-title h3[data-v-8184150c]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem;display:flex;align-items:center;gap:.5rem}.section-subtitle[data-v-8184150c]{font-size:.875rem;color:var(--text-secondary);margin:0}.generate-section[data-v-8184150c],.decode-section[data-v-8184150c]{display:flex;flex-direction:column;gap:2rem}.config-grid[data-v-8184150c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:1rem}.config-item[data-v-8184150c]{display:flex;flex-direction:column;gap:.75rem}.config-item label[data-v-8184150c]{font-size:.875rem;font-weight:600;color:var(--text-primary)}.config-input[data-v-8184150c],.config-select[data-v-8184150c]{padding:.875rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-size:.875rem;transition:all .2s}.config-input[data-v-8184150c]:focus,.config-select[data-v-8184150c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.custom-payload[data-v-8184150c]{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.custom-payload label[data-v-8184150c]{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.payload-textarea[data-v-8184150c]{width:100%;padding:1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;resize:vertical;transition:all .2s;box-sizing:border-box;line-height:1.5}.payload-textarea[data-v-8184150c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.secret-input-wrapper[data-v-8184150c]{display:flex;align-items:center;gap:.75rem;margin-top:.5rem}.secret-input[data-v-8184150c]{flex:1;padding:.875rem 1rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;transition:all .2s}.secret-input[data-v-8184150c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.toggle-secret-btn[data-v-8184150c],.generate-secret-btn[data-v-8184150c]{display:flex;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-secondary);cursor:pointer;transition:all .2s}.toggle-secret-btn[data-v-8184150c]:hover,.generate-secret-btn[data-v-8184150c]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-color)}.generate-actions[data-v-8184150c]{display:flex;justify-content:center;margin:2.5rem 0;padding:1.5rem 0}.generate-btn[data-v-8184150c]{display:flex;align-items:center;gap:.75rem;padding:1.25rem 2.5rem;background:var(--primary-color);border:none;border-radius:1rem;color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s;box-shadow:0 4px 12px var(--primary-color-alpha)}.generate-btn[data-v-8184150c]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-2px);box-shadow:0 6px 16px var(--primary-color-alpha)}.generate-btn[data-v-8184150c]:disabled{background:var(--text-disabled);cursor:not-allowed;transform:none;box-shadow:none}.jwt-parts[data-v-8184150c]{display:flex;align-items:center;gap:1rem;margin-bottom:2.5rem;padding:1.5rem;background:var(--bg-tertiary);border-radius:1rem;overflow-x:auto;border:1px solid var(--border-color)}.jwt-part[data-v-8184150c]{display:flex;flex-direction:column;align-items:center;gap:.75rem;min-width:140px}.part-label[data-v-8184150c]{font-size:.75rem;font-weight:700;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em}.part-content[data-v-8184150c]{padding:.75rem 1rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.5rem;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.75rem;color:var(--text-primary);word-break:break-all;text-align:center;max-width:140px;box-shadow:0 1px 3px #0000001a}.header-part .part-content[data-v-8184150c]{border-color:var(--error-color);background:var(--error-color-alpha);color:var(--error-color)}.payload-part .part-content[data-v-8184150c]{border-color:var(--warning-color);background:var(--warning-color-alpha);color:var(--warning-color)}.signature-part .part-content[data-v-8184150c]{border-color:var(--success-color);background:var(--success-color-alpha);color:var(--success-color)}.jwt-separator[data-v-8184150c]{font-size:1.75rem;font-weight:700;color:var(--text-secondary);margin:0 .5rem}.jwt-full[data-v-8184150c]{margin-top:2rem;padding-top:2rem;border-top:1px solid var(--border-color)}.jwt-full label[data-v-8184150c]{display:block;font-size:.875rem;font-weight:600;color:var(--text-primary);margin-bottom:.75rem}.jwt-output[data-v-8184150c]{position:relative}.jwt-textarea[data-v-8184150c]{width:100%;height:140px;padding:1.25rem 3.5rem 1.25rem 1.25rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;resize:vertical;box-sizing:border-box;line-height:1.5}.copy-btn[data-v-8184150c]{position:absolute;top:1rem;right:1rem;display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:.5rem;color:var(--text-secondary);cursor:pointer;transition:all .2s;box-shadow:0 1px 3px #0000001a}.copy-btn[data-v-8184150c]:hover{background:var(--bg-hover);color:var(--text-primary);border-color:var(--primary-color)}.jwt-input-wrapper[data-v-8184150c]{position:relative;margin-top:.5rem}.jwt-input[data-v-8184150c]{width:100%;padding:1.25rem;background:var(--bg-tertiary);border:2px solid var(--border-color);border-radius:.75rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;resize:vertical;transition:all .2s;box-sizing:border-box;line-height:1.5}.jwt-input[data-v-8184150c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.decode-result-card[data-v-8184150c]{margin-bottom:1.5rem;border:2px solid var(--border-color);border-radius:1rem;overflow:hidden;box-shadow:0 2px 8px #0000000d}.decode-result-card[data-v-8184150c]:last-child{margin-bottom:0}.card-header[data-v-8184150c]{display:flex;justify-content:space-between;align-items:center;padding:1.25rem 1.75rem;background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.card-title[data-v-8184150c]{font-size:1rem;font-weight:600;color:var(--text-primary)}.json-content[data-v-8184150c]{padding:1.75rem;margin:0;background:var(--bg-primary);color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto}.token-info[data-v-8184150c]{margin-top:2.5rem;padding:2rem;background:var(--bg-tertiary);border-radius:1rem;border:1px solid var(--border-color)}.token-info h4[data-v-8184150c]{margin:0 0 1.5rem;font-size:1.125rem;font-weight:600;color:var(--text-primary);padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.info-grid[data-v-8184150c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.info-item[data-v-8184150c]{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;background:var(--bg-primary);border-radius:.75rem;border:1px solid var(--border-color);box-shadow:0 1px 3px #0000000d}.info-label[data-v-8184150c]{font-size:.875rem;font-weight:600;color:var(--text-secondary)}.info-value[data-v-8184150c]{font-size:.875rem;color:var(--text-primary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;text-align:right;max-width:150px;word-break:break-all}.info-value.expired[data-v-8184150c]{color:var(--error-color);font-weight:600}.error-message[data-v-8184150c]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.5rem;background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:.75rem;color:var(--error-color);font-size:.875rem}@media(max-width:768px){.converter-content[data-v-8184150c]{padding:1rem 1rem 4rem;gap:1.5rem}.mode-section[data-v-8184150c],.config-section[data-v-8184150c],.input-section[data-v-8184150c],.result-section[data-v-8184150c],.decode-result-section[data-v-8184150c],.error-section[data-v-8184150c]{padding:1.5rem}.config-grid[data-v-8184150c]{grid-template-columns:1fr}.jwt-parts[data-v-8184150c]{flex-direction:column;align-items:stretch}.jwt-part[data-v-8184150c]{min-width:auto}.part-content[data-v-8184150c]{max-width:none}.jwt-separator[data-v-8184150c]{align-self:center;transform:rotate(90deg)}.info-grid[data-v-8184150c]{grid-template-columns:1fr}.secret-input-wrapper[data-v-8184150c]{flex-direction:column;align-items:stretch}.toggle-secret-btn[data-v-8184150c],.generate-secret-btn[data-v-8184150c]{width:100%;height:2.5rem}}.image-base64-converter[data-v-0890d2c1]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.mode-toggle[data-v-0890d2c1]{display:inline-flex;border:1px solid var(--border-color);border-radius:var(--radius-md);overflow:hidden;background:var(--bg-primary)}.mode-btn[data-v-0890d2c1]{padding:8px 16px;background:transparent;border:none;color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition);border-right:1px solid var(--border-color);height:36px;box-sizing:border-box}.mode-btn[data-v-0890d2c1]:last-child{border-right:none}.mode-btn.active[data-v-0890d2c1]{background:var(--primary-color);color:#fff}.mode-btn[data-v-0890d2c1]:hover:not(.active){background:var(--bg-secondary);color:var(--text-primary)}.formatter-actions[data-v-0890d2c1]{display:flex;gap:.5rem}.converter-content[data-v-0890d2c1]{flex:1;padding:1.5rem;overflow:hidden;display:flex;flex-direction:column}.main-workspace[data-v-0890d2c1]{flex:1;display:grid;grid-template-columns:1fr 1px 1fr;gap:1.5rem;overflow:hidden;min-height:0}.left-panel[data-v-0890d2c1],.right-panel[data-v-0890d2c1]{display:flex;flex-direction:column;overflow:hidden;min-height:0}.divider[data-v-0890d2c1]{background:var(--border-color);width:1px}.upload-section[data-v-0890d2c1],.input-section[data-v-0890d2c1],.result-section[data-v-0890d2c1],.decoded-result-section[data-v-0890d2c1]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;flex:1;overflow:hidden}.section-header[data-v-0890d2c1]{display:flex;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color);flex-shrink:0}.section-header h3[data-v-0890d2c1]{font-size:1rem;font-weight:600;margin:0;color:var(--text-primary)}.upload-area[data-v-0890d2c1]{border:2px dashed var(--border-color);border-radius:.75rem;padding:1.5rem;text-align:center;cursor:pointer;transition:all .2s;flex:1;display:flex;align-items:center;justify-content:center;min-height:300px;background:var(--bg-primary)}.upload-area[data-v-0890d2c1]:hover{border-color:var(--primary-color);background:var(--bg-tertiary)}.upload-placeholder[data-v-0890d2c1]{display:flex;flex-direction:column;align-items:center;gap:1rem;color:var(--text-secondary)}.upload-placeholder svg[data-v-0890d2c1]{color:var(--text-muted)}.upload-placeholder p[data-v-0890d2c1]{margin:0;font-size:1rem;font-weight:500}.upload-hint[data-v-0890d2c1]{font-size:.875rem!important;color:var(--text-muted)!important}.image-preview[data-v-0890d2c1]{display:flex;flex-direction:column;align-items:center;gap:1rem;width:100%}.image-preview img[data-v-0890d2c1]{max-width:100%;max-height:300px;border-radius:.5rem;box-shadow:0 4px 12px #0000001a}.image-info[data-v-0890d2c1]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.info-item[data-v-0890d2c1]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;background:var(--bg-tertiary);border-radius:.375rem;font-size:.875rem;border:1px solid var(--border-color)}.label[data-v-0890d2c1]{font-weight:600;color:var(--text-primary)}.value[data-v-0890d2c1]{color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,monospace}.base64-input-area[data-v-0890d2c1],.base64-output[data-v-0890d2c1]{flex:1;display:flex;flex-direction:column}.base64-input[data-v-0890d2c1],.base64-textarea[data-v-0890d2c1]{width:100%;flex:1;padding:1rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;resize:none;transition:all .2s;box-sizing:border-box;line-height:1.5;min-height:300px;outline:none}.base64-input[data-v-0890d2c1]:focus,.base64-textarea[data-v-0890d2c1]:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.decoded-image-container[data-v-0890d2c1]{display:flex;flex-direction:column;align-items:center;gap:1rem;flex:1}.decoded-image[data-v-0890d2c1]{max-width:100%;max-height:400px;border-radius:.5rem;box-shadow:0 4px 12px #0000001a}.decoded-info[data-v-0890d2c1]{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center}.result-stats[data-v-0890d2c1]{display:flex;gap:1rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-color);flex-wrap:wrap;flex-shrink:0}.stat-item[data-v-0890d2c1]{font-size:.875rem;color:var(--text-secondary);font-weight:500}.result-placeholder[data-v-0890d2c1]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--text-muted);text-align:center;flex:1;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:2rem}.result-placeholder svg[data-v-0890d2c1]{color:var(--text-muted)}.result-placeholder p[data-v-0890d2c1]{margin:0;font-size:1rem;font-weight:500}.error-section[data-v-0890d2c1]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.error-message[data-v-0890d2c1]{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--error-bg);border:1px solid var(--error-border);border-radius:.5rem;color:var(--error-color);font-size:.875rem}@media(max-width:1024px){.main-workspace[data-v-0890d2c1]{grid-template-columns:1fr;grid-template-rows:1fr 1px 1fr;gap:1rem}.divider[data-v-0890d2c1]{height:1px;width:100%}}@media(max-width:768px){.converter-content[data-v-0890d2c1],.upload-section[data-v-0890d2c1],.input-section[data-v-0890d2c1],.result-section[data-v-0890d2c1],.decoded-result-section[data-v-0890d2c1]{padding:1rem}.upload-area[data-v-0890d2c1]{padding:1rem;min-height:200px}.image-info[data-v-0890d2c1],.decoded-info[data-v-0890d2c1]{flex-direction:column;align-items:center}.result-stats[data-v-0890d2c1]{flex-direction:column;gap:.5rem}.mode-btn[data-v-0890d2c1]{font-size:.8125rem;padding:.625rem .875rem}}.surname-lookup[data-v-2c0c0a94]{width:100%;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.converter-content[data-v-2c0c0a94]{flex:1;padding:2rem 2rem 6rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;min-height:calc(100vh - 120px);scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-2c0c0a94]::-webkit-scrollbar{display:none}.copy-btn-corner-small[data-v-2c0c0a94],.back-to-list-btn[data-v-2c0c0a94]{display:flex;align-items:center;justify-content:center;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1)}.copy-btn-corner-small[data-v-2c0c0a94]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff;transform:scale(1.1)}.results-section[data-v-2c0c0a94],.overview-section[data-v-2c0c0a94]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm)}.section-title[data-v-2c0c0a94]{font-size:1.25rem;font-weight:600;margin:0 0 1.5rem;color:var(--text-primary);padding-bottom:.75rem;border-bottom:2px solid var(--border-color)}.ranking-grid[data-v-2c0c0a94]{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}.ranking-item[data-v-2c0c0a94]{position:relative;display:flex;flex-direction:column;padding:16px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-lg);cursor:pointer;transition:var(--transition);overflow:hidden;min-height:120px}.ranking-item[data-v-2c0c0a94]:hover{background:var(--bg-secondary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.copy-btn-corner-small[data-v-2c0c0a94]{position:absolute!important;top:8px!important;right:8px!important;width:24px!important;height:24px!important;opacity:0;transform:translateY(-4px);transition:all .3s cubic-bezier(.4,0,.2,1);z-index:2}.ranking-item:hover .copy-btn-corner-small[data-v-2c0c0a94]{opacity:1;transform:translateY(0)}.ranking-header[data-v-2c0c0a94]{display:flex;justify-content:flex-start;margin-bottom:8px}.ranking-number[data-v-2c0c0a94]{display:inline-flex;align-items:center;justify-content:center;min-width:28px;height:20px;padding:0 8px;background:var(--bg-tertiary);border-radius:10px;font-size:11px;font-weight:600;color:var(--text-secondary);border:1px solid var(--border-color)}.ranking-item:hover .ranking-number[data-v-2c0c0a94]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ranking-main[data-v-2c0c0a94]{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;margin:8px 0}.ranking-pinyin[data-v-2c0c0a94]{font-size:10px;color:var(--text-secondary);font-weight:500;font-style:italic;text-align:center;opacity:.8;margin-bottom:2px}.ranking-item:hover .ranking-pinyin[data-v-2c0c0a94]{color:var(--primary-color);opacity:1}.ranking-surname[data-v-2c0c0a94]{font-size:28px;font-weight:700;color:var(--text-primary);line-height:1;text-align:center}.ranking-item:hover .ranking-surname[data-v-2c0c0a94]{color:var(--primary-color)}.ranking-footer[data-v-2c0c0a94]{display:flex;justify-content:center;margin-top:auto}.ranking-population[data-v-2c0c0a94]{font-size:10px;color:var(--text-secondary);font-weight:500;padding:4px 8px;background:var(--bg-tertiary);border-radius:8px;border:1px solid var(--border-color)}.ranking-item:hover .ranking-population[data-v-2c0c0a94]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.ranking-item.rank-first[data-v-2c0c0a94]{background:linear-gradient(135deg,gold,#ffed4e);border-color:#f59e0b;box-shadow:0 4px 12px #f59e0b4d}.ranking-item.rank-first .ranking-number[data-v-2c0c0a94]{background:linear-gradient(135deg,#dc2626,#ef4444);color:#fff;border-color:#dc2626;font-weight:700}.ranking-item.rank-first .ranking-surname[data-v-2c0c0a94]{color:#92400e}.ranking-item.rank-first .ranking-pinyin[data-v-2c0c0a94]{color:#a16207}.ranking-item.rank-first .ranking-population[data-v-2c0c0a94]{background:#92400e;color:#fff;border-color:#92400e}.ranking-item.rank-second[data-v-2c0c0a94]{background:linear-gradient(135deg,#e5e7eb,#f3f4f6);border-color:#9ca3af;box-shadow:0 4px 12px #9ca3af4d}.ranking-item.rank-second .ranking-number[data-v-2c0c0a94]{background:linear-gradient(135deg,#6b7280,#9ca3af);color:#fff;border-color:#6b7280;font-weight:700}.ranking-item.rank-second .ranking-surname[data-v-2c0c0a94]{color:#374151}.ranking-item.rank-second .ranking-pinyin[data-v-2c0c0a94]{color:#6b7280}.ranking-item.rank-second .ranking-population[data-v-2c0c0a94]{background:#6b7280;color:#fff;border-color:#6b7280}.ranking-item.rank-third[data-v-2c0c0a94]{background:linear-gradient(135deg,#cd7f32,#d4a574);border-color:#b45309;box-shadow:0 4px 12px #b453094d}.ranking-item.rank-third .ranking-number[data-v-2c0c0a94]{background:linear-gradient(135deg,#92400e,#b45309);color:#fff;border-color:#92400e;font-weight:700}.ranking-item.rank-third .ranking-surname[data-v-2c0c0a94]{color:#78350f}.ranking-item.rank-third .ranking-pinyin[data-v-2c0c0a94]{color:#92400e}.ranking-item.rank-third .ranking-population[data-v-2c0c0a94]{background:#78350f;color:#fff;border-color:#78350f}.ranking-item.rank-top-ten[data-v-2c0c0a94]{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f633}.ranking-item.rank-top-ten .ranking-number[data-v-2c0c0a94]{background:linear-gradient(135deg,#3b82f6,#60a5fa);color:#fff;border-color:#3b82f6;font-weight:600}.ranking-item.rank-top-ten .ranking-surname[data-v-2c0c0a94]{color:#1e40af}.ranking-item.rank-top-ten .ranking-pinyin[data-v-2c0c0a94]{color:#3b82f6}.ranking-item.rank-top-ten .ranking-population[data-v-2c0c0a94]{background:#3b82f6;color:#fff;border-color:#3b82f6}.no-results[data-v-2c0c0a94]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;text-align:center;color:var(--text-secondary)}.no-results svg[data-v-2c0c0a94]{margin-bottom:1rem}.no-results h3[data-v-2c0c0a94]{margin:0 0 .5rem;color:var(--text-primary)}.no-results p[data-v-2c0c0a94]{margin:0;font-size:.875rem}.detail-section[data-v-2c0c0a94]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.detail-card[data-v-2c0c0a94]{display:flex;flex-direction:column}.detail-header[data-v-2c0c0a94]{background:linear-gradient(135deg,var(--primary-color) 0%,#1d4ed8 100%);color:#fff;padding:2rem;display:flex;flex-direction:column;gap:1rem;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.back-to-list-btn[data-v-2c0c0a94]{align-self:flex-start!important;background:#fff3!important;border:1px solid rgba(255,255,255,.3)!important;color:#fff!important}.back-to-list-btn[data-v-2c0c0a94]:hover{background:#ffffff4d!important;border-color:#ffffff80!important}.surname-title[data-v-2c0c0a94]{display:flex;align-items:center;gap:1.5rem}.surname-main[data-v-2c0c0a94]{display:flex;flex-direction:column;align-items:flex-start;gap:.5rem}.surname-char[data-v-2c0c0a94]{font-size:3rem;font-weight:700}.surname-pinyin[data-v-2c0c0a94]{display:flex;align-items:center;gap:.5rem;background:#ffffff26;padding:.5rem 1rem;border-radius:1rem}.pinyin-text[data-v-2c0c0a94]{font-size:1.125rem;font-weight:500;color:#ffffffe6}.surname-meta[data-v-2c0c0a94]{display:flex;flex-direction:column;gap:.5rem}.rank-badge[data-v-2c0c0a94],.population-badge[data-v-2c0c0a94]{padding:.25rem .75rem;background:#fff3;border-radius:1rem;font-size:.875rem;font-weight:500}.detail-content[data-v-2c0c0a94]{padding:2rem;display:flex;flex-direction:column;gap:2rem}.info-grid[data-v-2c0c0a94]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.info-item[data-v-2c0c0a94]{display:flex;flex-direction:column;gap:.5rem}.info-label[data-v-2c0c0a94]{font-size:.875rem;color:var(--text-secondary);font-weight:600}.info-value[data-v-2c0c0a94]{font-size:1rem;color:var(--text-primary);font-weight:500}.description-section h4[data-v-2c0c0a94],.celebrities-section h4[data-v-2c0c0a94]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem}.description-text[data-v-2c0c0a94]{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.celebrities-list[data-v-2c0c0a94]{display:flex;flex-wrap:wrap;gap:.5rem}.celebrity-tag[data-v-2c0c0a94]{padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:1rem;font-size:.875rem;color:var(--text-secondary)}@media(max-width:768px){.converter-content[data-v-2c0c0a94]{padding:1rem 1rem 5rem;gap:1.5rem}.search-section[data-v-2c0c0a94],.results-section[data-v-2c0c0a94],.overview-section[data-v-2c0c0a94],.detail-content[data-v-2c0c0a94],.detail-header[data-v-2c0c0a94]{padding:1.5rem}.info-grid[data-v-2c0c0a94]{grid-template-columns:1fr}.surname-title[data-v-2c0c0a94]{flex-direction:column;align-items:center;text-align:center;gap:1rem}.surname-main[data-v-2c0c0a94]{align-items:center}.ranking-grid[data-v-2c0c0a94]{grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}.ranking-item[data-v-2c0c0a94]{min-height:100px;padding:12px 8px}.ranking-surname[data-v-2c0c0a94]{font-size:24px}.copy-btn-corner-small[data-v-2c0c0a94]{width:20px!important;height:20px!important;top:6px!important;right:6px!important}}.regex-tester-wrapper[data-v-f1c75a9e]{width:100%;height:100vh;display:flex;flex-direction:column}.regex-tester-content[data-v-f1c75a9e]{max-width:1000px;margin:0 auto;padding:1rem;display:flex;flex-direction:column;gap:1rem;flex:1;overflow-y:auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.regex-tester-content[data-v-f1c75a9e]::-webkit-scrollbar{display:none}.main-content[data-v-f1c75a9e]{display:flex;gap:1rem;flex:1;align-items:flex-start}.left-section[data-v-f1c75a9e]{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a;flex:1;width:400px;display:flex;flex-direction:column;gap:1.25rem;height:fit-content}.right-section[data-v-f1c75a9e]{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a;flex:0 0 300px;overflow-y:auto;max-height:70vh;scrollbar-width:none;-ms-overflow-style:none}.right-section[data-v-f1c75a9e]::-webkit-scrollbar{display:none}.section-title[data-v-f1c75a9e]{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:#1e293b}.subsection-title[data-v-f1c75a9e]{font-size:.9rem;font-weight:600;margin:0 0 .75rem;color:#1e293b}.regex-input-section[data-v-f1c75a9e]{flex-shrink:0;margin-bottom:0}.regex-input-wrapper[data-v-f1c75a9e]{margin-bottom:1rem}.regex-input-container[data-v-f1c75a9e]{display:flex;align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;padding:.375rem;transition:border-color .2s}.regex-input-container[data-v-f1c75a9e]:focus-within{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.regex-delimiter[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace;font-size:1.25rem;color:#64748b;padding:0 .5rem}.regex-input[data-v-f1c75a9e]{flex:1;padding:.625rem;border:none;outline:none;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;color:#1e293b}.flags-input[data-v-f1c75a9e]{width:55px;padding:.625rem .375rem;border:none;outline:none;font-family:JetBrains Mono,Fira Code,monospace;font-size:.9rem;color:#1e293b;text-align:center}.regex-hint[data-v-f1c75a9e]{display:flex;align-items:center;gap:.5rem;margin-top:.625rem;font-size:.8rem;color:#64748b}.flag-btn[data-v-f1c75a9e]{padding:.25rem .5rem;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:.375rem;color:#475569;cursor:pointer;transition:all .2s;font-family:monospace;font-size:.75rem}.flag-btn[data-v-f1c75a9e]:hover{background:#e2e8f0}.flag-btn.active[data-v-f1c75a9e]{background:#3b82f6;color:#fff;border-color:#3b82f6}.test-text-section[data-v-f1c75a9e]{flex-shrink:0;margin-bottom:0}.test-textarea[data-v-f1c75a9e]{width:100%;padding:.875rem;border:2px solid #e2e8f0;border-radius:.5rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;color:#1e293b;resize:vertical;transition:border-color .2s;box-sizing:border-box}.test-textarea[data-v-f1c75a9e]:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.match-status[data-v-f1c75a9e]{flex-shrink:0;margin-bottom:0}.status-indicator[data-v-f1c75a9e]{display:flex;align-items:center;gap:.5rem;padding:.875rem;border-radius:.375rem;font-weight:500}.status-indicator.success[data-v-f1c75a9e]{background:#dcfce7;color:#166534}.status-indicator.error[data-v-f1c75a9e]{background:#fef2f2;color:#dc2626}.status-indicator.warning[data-v-f1c75a9e]{background:#fefce8;color:#ca8a04}.status-indicator.info[data-v-f1c75a9e]{background:#f0f9ff;color:#0369a1}.matches-list[data-v-f1c75a9e]{margin-bottom:.75rem}.matches-table-container[data-v-f1c75a9e]{max-height:220px;overflow-y:auto;border:1px solid #e2e8f0;border-radius:.375rem}.matches-table[data-v-f1c75a9e]{width:100%;border-collapse:collapse;font-size:.8rem}.matches-table th[data-v-f1c75a9e]{background:#f8fafc;padding:.5rem .75rem;text-align:left;font-weight:600;color:#374151;border-bottom:1px solid #e2e8f0;font-size:.75rem}.matches-table td[data-v-f1c75a9e]{padding:.5rem .75rem;border-bottom:1px solid #f1f5f9;vertical-align:top}.matches-table tr:last-child td[data-v-f1c75a9e]{border-bottom:none}.matches-table tr[data-v-f1c75a9e]:hover{background:#f9fafb}.match-content-cell[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace;color:#1e293b;word-break:break-all;max-width:200px}.match-position-cell[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace;color:#64748b;white-space:nowrap}.match-groups-cell[data-v-f1c75a9e]{font-size:.75rem;color:#64748b;max-width:150px}.groups-info[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace}.no-groups[data-v-f1c75a9e]{color:#9ca3af;font-style:italic}.highlighted-text[data-v-f1c75a9e]{flex:1;min-height:0}.highlight-container[data-v-f1c75a9e]{background:#f8fafc;border:1px solid #e2e8f0;border-radius:.375rem;padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.85rem;line-height:1.6;white-space:pre-wrap;word-break:break-all;max-height:220px;overflow-y:auto}[data-v-f1c75a9e] .regex-match{background:#fef3c7;color:#92400e;padding:.125rem .25rem;border-radius:.25rem;font-weight:600}.examples-grid[data-v-f1c75a9e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.4rem}.example-btn[data-v-f1c75a9e]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.375rem .25rem;background:#fff;border:1px solid #e2e8f0;border-radius:.25rem;cursor:pointer;transition:all .2s;min-height:38px;font-size:.7rem}.example-btn[data-v-f1c75a9e]:hover{border-color:#3b82f6;background:#f8fafc;box-shadow:0 1px 3px #0000001a}.example-name[data-v-f1c75a9e]{font-size:.7rem;font-weight:600;color:#1e293b;text-align:center;line-height:1.2}.reference-section[data-v-f1c75a9e]{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;padding:2rem;box-shadow:0 1px 3px #0000001a;margin-bottom:100px}.reference-content[data-v-f1c75a9e]{display:grid;grid-template-columns:repeat(4,1fr);gap:1.25rem}.reference-group h4[data-v-f1c75a9e]{font-size:.95rem;font-weight:600;margin:0 0 .75rem;color:#1e293b}.reference-list[data-v-f1c75a9e]{display:flex;flex-direction:column;gap:.375rem}.reference-item[data-v-f1c75a9e]{display:flex;align-items:center;gap:.875rem;padding:.5rem;background:#f8fafc;border-radius:.375rem}.reference-item code[data-v-f1c75a9e]{font-family:JetBrains Mono,Fira Code,monospace;background:#e2e8f0;padding:.25rem .5rem;border-radius:.25rem;font-size:.85rem;color:#1e293b;min-width:55px;text-align:center}.reference-item span[data-v-f1c75a9e]{font-size:.85rem;color:#475569}@media(max-width:768px){.regex-tester-content[data-v-f1c75a9e]{padding:1rem;gap:1.5rem}.main-content[data-v-f1c75a9e]{flex-direction:column;gap:1.5rem}.left-section[data-v-f1c75a9e],.right-section[data-v-f1c75a9e]{padding:1.5rem;width:auto}.reference-content[data-v-f1c75a9e]{grid-template-columns:1fr}.examples-grid[data-v-f1c75a9e]{grid-template-columns:repeat(auto-fill,minmax(70px,1fr));gap:.3rem}.example-btn[data-v-f1c75a9e]{min-height:40px;padding:.3rem .15rem;font-size:.65rem}}.api-tester[data-v-7a13705b]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.formatter-actions[data-v-7a13705b]{display:flex;gap:.5rem}.tester-content[data-v-7a13705b]{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--border-color);overflow:hidden}.request-section[data-v-7a13705b],.response-section[data-v-7a13705b]{background:var(--bg-primary);display:flex;flex-direction:column;overflow:hidden}.request-header[data-v-7a13705b],.response-header[data-v-7a13705b]{padding:1.5rem;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);display:flex;align-items:center;justify-content:space-between;min-height:88px}.header-content[data-v-7a13705b]{display:flex;align-items:center;gap:.75rem;flex:1}.header-icon[data-v-7a13705b]{width:40px;height:40px;background:var(--primary-color-alpha);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.header-text h3[data-v-7a13705b]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.header-text p[data-v-7a13705b]{margin:0;font-size:.8125rem;color:var(--text-muted)}.example-buttons[data-v-7a13705b]{display:flex;align-items:center}.method-badge[data-v-7a13705b]{font-size:.625rem;font-weight:700;padding:.125rem .25rem;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.5px;margin-right:.375rem}.method-badge.get[data-v-7a13705b]{background:var(--success-color);color:#fff}.method-badge.post[data-v-7a13705b]{background:#3b82f6;color:#fff}.request-content[data-v-7a13705b]{flex:1;padding:1.25rem;overflow-y:auto}.request-line[data-v-7a13705b]{display:flex;gap:.75rem;margin-bottom:1.5rem;align-items:stretch}.method-select[data-v-7a13705b]{width:120px;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition)}.method-select[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.url-input[data-v-7a13705b]{flex:1;padding:.875rem 1rem;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-primary);font-size:.875rem;transition:var(--transition)}.url-input[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha);background:var(--bg-primary)}.send-btn[data-v-7a13705b]{padding:.875rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:600;cursor:pointer;transition:var(--transition);display:flex;align-items:center;gap:.5rem;min-width:140px;justify-content:center}.send-btn[data-v-7a13705b]:hover:not(:disabled){background:var(--primary-hover);transform:translateY(-1px)}.send-btn[data-v-7a13705b]:disabled{opacity:.6;cursor:not-allowed;transform:none}.send-btn.get[data-v-7a13705b]{background:var(--success-color)}.send-btn.post[data-v-7a13705b]{background:#3b82f6}.send-btn.put[data-v-7a13705b]{background:#f59e0b}.send-btn.delete[data-v-7a13705b]{background:var(--error-color)}.loading-icon[data-v-7a13705b]{animation:spin-7a13705b 1s linear infinite}.config-section[data-v-7a13705b]{margin-bottom:1.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem}.section-header[data-v-7a13705b]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.section-header h4[data-v-7a13705b]{margin:0;font-size:.9375rem;font-weight:600;color:var(--text-primary)}.add-btn[data-v-7a13705b]{display:flex;align-items:center;gap:.375rem;padding:.5rem .875rem;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.8125rem;font-weight:500;cursor:pointer;transition:var(--transition)}.add-btn[data-v-7a13705b]:hover{background:var(--primary-hover);transform:translateY(-1px)}.body-type-select[data-v-7a13705b]{padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-tertiary);color:var(--text-primary);font-size:.8125rem;cursor:pointer}.headers-list[data-v-7a13705b],.params-list[data-v-7a13705b],.form-list[data-v-7a13705b]{display:flex;flex-direction:column;gap:.5rem}.header-row[data-v-7a13705b],.param-row[data-v-7a13705b],.form-row[data-v-7a13705b]{display:flex;align-items:center;gap:.5rem}.header-key[data-v-7a13705b],.header-value[data-v-7a13705b],.param-key[data-v-7a13705b],.param-value[data-v-7a13705b],.form-key[data-v-7a13705b],.form-value[data-v-7a13705b]{flex:1;padding:.5rem .75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;transition:var(--transition)}.header-key[data-v-7a13705b]:focus,.header-value[data-v-7a13705b]:focus,.param-key[data-v-7a13705b]:focus,.param-value[data-v-7a13705b]:focus,.form-key[data-v-7a13705b]:focus,.form-value[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.separator[data-v-7a13705b]{color:var(--text-muted);font-weight:600;font-size:.875rem}.remove-btn[data-v-7a13705b]{width:24px;height:24px;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition);flex-shrink:0}.remove-btn[data-v-7a13705b]:hover{background:var(--error-color-dark);transform:scale(1.1)}.json-textarea[data-v-7a13705b],.xml-textarea[data-v-7a13705b],.raw-textarea[data-v-7a13705b]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;font-family:JetBrains Mono,Fira Code,monospace;resize:vertical;min-height:120px;line-height:1.5}.json-textarea[data-v-7a13705b]:focus,.xml-textarea[data-v-7a13705b]:focus,.raw-textarea[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.json-actions[data-v-7a13705b],.xml-actions[data-v-7a13705b]{display:flex;gap:.5rem;margin-top:.5rem}.format-btn[data-v-7a13705b],.minify-btn[data-v-7a13705b]{padding:.375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.75rem;cursor:pointer;transition:var(--transition)}.format-btn[data-v-7a13705b]:hover,.minify-btn[data-v-7a13705b]:hover{background:var(--border-color);color:var(--text-primary)}.response-info[data-v-7a13705b]{display:flex;align-items:center;gap:1rem}.status-badge[data-v-7a13705b]{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-radius:var(--radius-md);font-weight:600;font-size:.8125rem;border:1px solid}.status-badge.success[data-v-7a13705b]{background:var(--success-color-alpha);color:var(--success-color);border-color:var(--success-color)}.status-badge.redirect[data-v-7a13705b]{background:var(--warning-color-alpha);color:var(--warning-color);border-color:var(--warning-color)}.status-badge.client-error[data-v-7a13705b],.status-badge.server-error[data-v-7a13705b]{background:var(--error-color-alpha);color:var(--error-color);border-color:var(--error-color)}.status-code[data-v-7a13705b]{font-weight:700}.meta-info[data-v-7a13705b]{font-size:.75rem;color:var(--text-muted);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:var(--radius-sm)}.response-content[data-v-7a13705b]{flex:1;overflow:hidden}.response-body[data-v-7a13705b]{padding:1.25rem;height:100%;overflow-y:auto}.error-message[data-v-7a13705b]{background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:var(--radius-md);padding:1rem}.error-title[data-v-7a13705b]{font-weight:600;color:var(--error-color);margin-bottom:.5rem}.error-detail[data-v-7a13705b]{color:var(--error-color);font-size:.875rem;white-space:pre-line}.response-pre[data-v-7a13705b]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:1rem;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;color:var(--text-primary);white-space:pre-wrap;word-break:break-all;margin:0;overflow-x:auto;line-height:1.5}.empty-response[data-v-7a13705b]{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--text-muted);padding:2.5rem;text-align:center}.empty-icon[data-v-7a13705b]{margin-bottom:1rem;opacity:.5}.empty-text[data-v-7a13705b]{font-size:.875rem;margin-bottom:.5rem}.empty-hint[data-v-7a13705b]{font-size:.75rem;opacity:.8}@keyframes spin-7a13705b{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.file-upload[data-v-7a13705b]{margin-bottom:1rem}.file-input[data-v-7a13705b]{display:none}.file-label[data-v-7a13705b]{display:flex;align-items:center;gap:.75rem;padding:1rem;border:2px dashed var(--border-color);border-radius:var(--radius-md);background:var(--bg-tertiary);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:.875rem}.file-label[data-v-7a13705b]:hover{border-color:var(--primary-color);background:var(--primary-color-alpha);color:var(--primary-color)}.file-info[data-v-7a13705b]{display:flex;align-items:center;justify-content:space-between;padding:.75rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);margin-top:.5rem}.file-details[data-v-7a13705b]{display:flex;flex-direction:column;gap:.25rem}.file-name[data-v-7a13705b]{font-weight:600;color:var(--text-primary);font-size:.875rem}.file-size[data-v-7a13705b],.file-type[data-v-7a13705b]{font-size:.75rem;color:var(--text-muted)}.remove-file-btn[data-v-7a13705b]{width:32px;height:32px;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.remove-file-btn[data-v-7a13705b]:hover{background:var(--error-color-dark);transform:scale(1.1)}.form-mode-toggle[data-v-7a13705b]{display:flex;gap:4px;margin-bottom:1rem;background:var(--bg-tertiary);padding:4px;border-radius:var(--radius-md);border:1px solid var(--border-color)}.mode-btn[data-v-7a13705b]{flex:1;padding:.5rem .75rem;background:transparent;border:none;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:.8125rem;font-weight:500;cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;gap:.375rem}.mode-btn[data-v-7a13705b]:hover{background:var(--bg-primary);color:var(--text-primary)}.mode-btn.active[data-v-7a13705b]{background:var(--primary-color);color:#fff;box-shadow:0 1px 2px #0000001a}.form-mode[data-v-7a13705b],.bulk-mode[data-v-7a13705b]{margin-top:.5rem}.bulk-textarea[data-v-7a13705b]{width:100%;padding:.75rem;border:1px solid var(--border-color);border-radius:var(--radius-sm);background:var(--bg-primary);color:var(--text-primary);font-size:.8125rem;font-family:JetBrains Mono,Fira Code,monospace;resize:vertical;min-height:120px;line-height:1.5}.bulk-textarea[data-v-7a13705b]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 2px var(--primary-color-alpha)}.bulk-actions[data-v-7a13705b]{display:flex;gap:.5rem;margin-top:.5rem}.clear-btn[data-v-7a13705b]{padding:.375rem .75rem;background:var(--error-color);color:#fff;border:none;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;transition:var(--transition)}.clear-btn[data-v-7a13705b]:hover{background:var(--error-color-dark);transform:translateY(-1px)}@media(max-width:1024px){.tester-content[data-v-7a13705b]{grid-template-columns:1fr;grid-template-rows:auto 1fr}.request-section[data-v-7a13705b]{max-height:50vh}}@media(max-width:640px){.request-line[data-v-7a13705b]{flex-direction:column}.method-select[data-v-7a13705b]{width:100%}.header-row[data-v-7a13705b],.param-row[data-v-7a13705b],.form-row[data-v-7a13705b]{flex-direction:column;align-items:stretch;gap:.25rem}.separator[data-v-7a13705b]{display:none}.remove-btn[data-v-7a13705b]{align-self:flex-end;width:100%;margin-top:.25rem}}.text-compare[data-v-f6762626]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.compare-content[data-v-f6762626]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.compare-content[data-v-f6762626]::-webkit-scrollbar{display:none}.compare-section[data-v-f6762626]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem}.section-header[data-v-f6762626]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-f6762626]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-f6762626]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-f6762626]{font-size:.875rem;color:var(--text-secondary)}.compare-container[data-v-f6762626]{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-bottom:1.5rem}.text-panel[data-v-f6762626]{display:flex;flex-direction:column;gap:.75rem}.panel-header[data-v-f6762626]{display:flex;align-items:center;justify-content:space-between}.panel-header h4[data-v-f6762626]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.panel-actions[data-v-f6762626]{display:flex;gap:.5rem}.upload-btn[data-v-f6762626],.paste-btn[data-v-f6762626],.clear-btn[data-v-f6762626]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.upload-btn[data-v-f6762626]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.paste-btn[data-v-f6762626]:hover{background:var(--success-color);color:#fff;border-color:var(--success-color)}.clear-btn[data-v-f6762626]:hover{background:var(--error-color);color:#fff;border-color:var(--error-color)}.file-info[data-v-f6762626]{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.375rem;font-size:.875rem}.file-name[data-v-f6762626]{color:var(--text-primary);font-weight:500}.file-size[data-v-f6762626]{color:var(--text-secondary)}.text-input[data-v-f6762626]{width:100%;height:300px;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;font-family:Courier New,monospace;resize:vertical;min-height:200px;transition:all .2s ease}.text-input[data-v-f6762626]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.text-stats[data-v-f6762626]{display:flex;justify-content:space-between;font-size:.75rem;color:var(--text-secondary)}.compare-options[data-v-f6762626]{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem}.option-group[data-v-f6762626]{display:flex;gap:1.5rem}.checkbox-label[data-v-f6762626]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox][data-v-f6762626]{width:1rem;height:1rem;accent-color:var(--primary-color)}.compare-btn[data-v-f6762626]{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.5rem;background:var(--primary-color);color:#fff;border:none;border-radius:.5rem;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.compare-btn[data-v-f6762626]:hover:not(:disabled){background:var(--primary-color-dark);transform:translateY(-1px);box-shadow:var(--shadow-md)}.compare-btn[data-v-f6762626]:disabled{opacity:.5;cursor:not-allowed}.result-container[data-v-f6762626]{display:flex;flex-direction:column;gap:1.5rem}.result-summary[data-v-f6762626]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;padding:1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem}.summary-item[data-v-f6762626]{display:flex;flex-direction:column;gap:.25rem}.summary-label[data-v-f6762626]{font-size:.875rem;color:var(--text-secondary)}.summary-value[data-v-f6762626]{font-size:1.25rem;font-weight:600;color:var(--text-primary)}.summary-value.high[data-v-f6762626]{color:var(--success-color)}.summary-value.medium[data-v-f6762626]{color:var(--warning-color)}.summary-value.low[data-v-f6762626]{color:var(--error-color)}.summary-value.very-low[data-v-f6762626]{color:var(--error-color-dark)}.summary-value.added[data-v-f6762626]{color:var(--success-color)}.summary-value.removed[data-v-f6762626]{color:var(--error-color)}.diff-view[data-v-f6762626]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;overflow:hidden}.diff-header[data-v-f6762626]{display:flex;align-items:center;justify-content:space-between;padding:1rem;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);flex-wrap:wrap;gap:1rem}.diff-header h4[data-v-f6762626]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.view-options[data-v-f6762626]{display:flex;gap:.25rem;background:var(--bg-primary);border-radius:.375rem;padding:.25rem}.view-btn[data-v-f6762626]{padding:.375rem .75rem;background:transparent;border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:.75rem;font-weight:500}.view-btn[data-v-f6762626]:hover{background:var(--bg-hover);color:var(--text-primary)}.view-btn.active[data-v-f6762626]{background:var(--primary-color);color:#fff}.diff-legend[data-v-f6762626]{display:flex;gap:1rem}.legend-item[data-v-f6762626]{display:flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500}.legend-item.added[data-v-f6762626]{color:var(--success-color)}.legend-item.removed[data-v-f6762626]{color:var(--error-color)}.legend-item.modified[data-v-f6762626]{color:var(--warning-color)}.diff-content[data-v-f6762626]{max-height:400px;overflow-y:auto}.diff-content.unified .diff-line[data-v-f6762626]{display:flex;align-items:center;padding:.5rem 1rem;font-family:Courier New,monospace;font-size:.875rem;border-bottom:1px solid var(--border-color);position:relative}.diff-content.split[data-v-f6762626]{display:flex;flex-direction:column;font-family:Courier New,monospace;font-size:.875rem}.split-header[data-v-f6762626]{display:flex;background:var(--bg-tertiary);border-bottom:2px solid var(--border-color)}.split-title[data-v-f6762626]{flex:1;padding:.75rem 1rem;font-weight:600;color:var(--text-primary);text-align:center;border-right:1px solid var(--border-color)}.split-title[data-v-f6762626]:last-child{border-right:none}.split-body[data-v-f6762626]{flex:1;overflow-y:auto}.diff-pair[data-v-f6762626]{display:flex;border-bottom:1px solid var(--border-color)}.diff-side[data-v-f6762626]{flex:1;display:flex;align-items:flex-start;padding:.25rem .5rem;min-height:1.5rem;border-right:1px solid var(--border-color)}.diff-side[data-v-f6762626]:last-child{border-right:none}.diff-side.added[data-v-f6762626]{background:#22c55e1a;border-left:3px solid var(--success-color)}.diff-side.removed[data-v-f6762626]{background:#ef44441a;border-left:3px solid var(--error-color)}.diff-side.unchanged[data-v-f6762626]{background:transparent}.diff-side.empty[data-v-f6762626]{background:var(--bg-secondary)}.diff-side .line-number[data-v-f6762626]{width:2.5rem;margin-right:.5rem;text-align:right;color:var(--text-secondary);font-size:.75rem;flex-shrink:0}.diff-side .line-content[data-v-f6762626]{flex:1;white-space:pre-wrap;word-break:break-all}.diff-side .line-content.empty[data-v-f6762626]{height:1.2rem}.diff-line[data-v-f6762626]{display:flex;align-items:center;padding:.5rem 1rem;font-family:Courier New,monospace;font-size:.875rem;border-bottom:1px solid var(--border-color);position:relative}.diff-line.added[data-v-f6762626]{background:#22c55e1a;border-left:3px solid var(--success-color)}.diff-line.removed[data-v-f6762626]{background:#ef44441a;border-left:3px solid var(--error-color)}.diff-line.modified[data-v-f6762626]{background:#f59e0b1a;border-left:3px solid var(--warning-color)}.line-number[data-v-f6762626]{min-width:3rem;color:var(--text-secondary);font-size:.75rem}.line-prefix[data-v-f6762626]{min-width:1.5rem;font-weight:700;font-size:1rem}.diff-line.added .line-prefix[data-v-f6762626]{color:#28a745}.diff-line.removed .line-prefix[data-v-f6762626]{color:#dc3545}.diff-line.modified .line-prefix[data-v-f6762626]{color:#ffc107}.line-content[data-v-f6762626]{flex:1;word-break:break-all}.help-section[data-v-f6762626]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1.5rem;display:flex;flex-direction:column;gap:1.5rem}.features-grid[data-v-f6762626]{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}.feature-card[data-v-f6762626]{text-align:center;padding:1.25rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;transition:all .2s ease}.feature-card[data-v-f6762626]:hover{transform:translateY(-2px);box-shadow:var(--shadow-md)}.feature-icon[data-v-f6762626]{font-size:2.5rem;margin-bottom:.75rem;display:block}.feature-card h4[data-v-f6762626]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .5rem}.feature-card p[data-v-f6762626]{font-size:.875rem;color:var(--text-secondary);line-height:1.4;margin:0}.diff-info[data-v-f6762626]{padding:1.5rem;background:var(--primary-color-alpha);border:1px solid var(--primary-color);border-radius:.5rem}.diff-info h4[data-v-f6762626]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;display:flex;align-items:center;gap:.5rem}.diff-info p[data-v-f6762626]{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin:0 0 1.25rem}.diff-info a[data-v-f6762626]{color:var(--primary-color);text-decoration:none;font-weight:500}.diff-info a[data-v-f6762626]:hover{text-decoration:underline}.tech-features[data-v-f6762626]{margin-bottom:1.25rem}.feature-row[data-v-f6762626]{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.75rem;font-size:.875rem;line-height:1.4}.feature-row[data-v-f6762626]:last-child{margin-bottom:0}.feature-label[data-v-f6762626]{font-weight:600;color:var(--text-primary);white-space:nowrap;min-width:fit-content}.feature-desc[data-v-f6762626]{color:var(--text-primary);flex:1}.tech-highlights[data-v-f6762626]{display:flex;flex-wrap:wrap;gap:.5rem}.tech-tag[data-v-f6762626]{padding:.25rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.25rem;font-size:.75rem;color:var(--text-secondary);font-weight:500}@media(max-width:768px){.features-grid[data-v-f6762626]{grid-template-columns:repeat(2,1fr);gap:.75rem}.feature-card[data-v-f6762626]{padding:1rem}.feature-icon[data-v-f6762626]{font-size:2rem;margin-bottom:.5rem}}@media(max-width:480px){.features-grid[data-v-f6762626]{grid-template-columns:1fr}}.message-toast[data-v-f6762626]{position:fixed;bottom:2rem;right:2rem;padding:.75rem 1.5rem;border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:500;z-index:1000;animation:slideIn-f6762626 .3s ease}.message-toast.success[data-v-f6762626]{background:var(--success-color)}.message-toast.error[data-v-f6762626]{background:var(--error-color)}@keyframes slideIn-f6762626{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:1024px){.compare-container[data-v-f6762626]{grid-template-columns:1fr;gap:1rem}.result-summary[data-v-f6762626]{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.compare-content[data-v-f6762626]{padding:1rem;gap:1.5rem}.compare-section[data-v-f6762626]{padding:1rem}.option-group[data-v-f6762626]{flex-direction:column;gap:.75rem}.compare-options[data-v-f6762626]{flex-direction:column;gap:1rem;align-items:stretch}.result-summary[data-v-f6762626]{grid-template-columns:1fr}.diff-legend[data-v-f6762626]{flex-direction:column;gap:.5rem}}@media(max-width:480px){.compare-content[data-v-f6762626]{padding:.75rem;gap:1rem}.compare-section[data-v-f6762626]{padding:.75rem}.text-input[data-v-f6762626]{height:200px;min-height:150px}}.mime-type-reference[data-v-d9717f03]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.converter-content[data-v-d9717f03]{flex:1;padding:2rem;overflow-y:auto;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-d9717f03]::-webkit-scrollbar{display:none}.search-section[data-v-d9717f03]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow-sm);margin-bottom:2rem}.search-container[data-v-d9717f03]{display:flex;flex-direction:column;gap:1.5rem}.search-input-wrapper[data-v-d9717f03]{position:relative;display:flex;align-items:center}.search-icon[data-v-d9717f03]{position:absolute;left:1rem;color:var(--text-secondary);z-index:1}.search-input[data-v-d9717f03]{width:100%;padding:1rem 1rem 1rem 2.5rem;background:var(--bg-primary);border:2px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:1rem;transition:var(--transition);box-sizing:border-box}.search-input[data-v-d9717f03]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.clear-search-btn[data-v-d9717f03]{position:absolute;right:1rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-tertiary);border:none;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.clear-search-btn[data-v-d9717f03]:hover{background:var(--border-color);color:var(--text-primary)}.category-filter[data-v-d9717f03]{display:flex;gap:.5rem;flex-wrap:wrap}.category-btn[data-v-d9717f03]{padding:.75rem 1.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:.875rem;font-weight:500}.category-btn[data-v-d9717f03]:hover{background:var(--border-color);color:var(--text-primary)}.category-btn.active[data-v-d9717f03]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.mime-table-section[data-v-d9717f03]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-sm)}.table-header[data-v-d9717f03]{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid var(--border-color);background:var(--bg-primary)}.table-header h3[data-v-d9717f03]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.table-info[data-v-d9717f03]{display:flex;align-items:center;gap:.5rem}.info-text[data-v-d9717f03]{font-size:.875rem;color:var(--text-secondary);font-weight:500}.table-container[data-v-d9717f03]{overflow-x:auto}.mime-table[data-v-d9717f03]{width:100%;border-collapse:collapse}.mime-table th[data-v-d9717f03]{background:var(--bg-tertiary);padding:1rem 1.5rem;text-align:left;font-weight:600;color:var(--text-primary);border-bottom:1px solid var(--border-color);font-size:.875rem;white-space:nowrap}.mime-table td[data-v-d9717f03]{padding:1rem 1.5rem;border-bottom:1px solid var(--border-color);font-size:.875rem;vertical-align:middle}.mime-row[data-v-d9717f03]:hover{background:var(--bg-tertiary)}.extension-cell .extension[data-v-d9717f03]{display:inline-block;padding:.375rem .75rem;background:var(--primary-color);color:#fff;border-radius:var(--radius-md);font-weight:600;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem}.mime-cell .mime-type[data-v-d9717f03]{background:var(--bg-tertiary);padding:.375rem .75rem;border-radius:var(--radius-md);font-family:JetBrains Mono,Fira Code,monospace;font-size:.8rem;color:var(--text-primary);border:1px solid var(--border-color)}.description-cell .description[data-v-d9717f03]{color:var(--text-secondary);line-height:1.4}.action-cell[data-v-d9717f03]{text-align:center}.copy-btn-table[data-v-d9717f03]{width:32px!important;height:32px!important}.copy-btn-table[data-v-d9717f03]{display:flex;align-items:center;justify-content:center;width:28px;height:28px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition)}.copy-btn-table[data-v-d9717f03]:hover{background:var(--primary-color);border-color:var(--primary-color);color:#fff}.pagination[data-v-d9717f03]{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--border-color);background:var(--bg-primary)}.page-btn[data-v-d9717f03]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:var(--transition)}.page-btn[data-v-d9717f03]:hover:not(:disabled){background:var(--primary-color);color:#fff;border-color:var(--primary-color);transform:translateY(-1px);box-shadow:var(--shadow-sm)}.page-btn[data-v-d9717f03]:disabled{opacity:.5;cursor:not-allowed;background:var(--bg-tertiary)}.page-info[data-v-d9717f03]{font-size:.875rem;color:var(--text-secondary);font-weight:500;padding:0 1rem}@media(max-width:1024px){.converter-content[data-v-d9717f03]{padding:1.5rem 1.5rem 5rem}.mime-table th[data-v-d9717f03],.mime-table td[data-v-d9717f03]{padding:.75rem 1rem}.table-header[data-v-d9717f03]{padding:1.25rem 1.5rem}}@media(max-width:768px){.converter-content[data-v-d9717f03]{padding:1rem 1rem 4rem;gap:1.5rem}.search-section[data-v-d9717f03]{padding:1.5rem}.table-header[data-v-d9717f03]{padding:1rem;flex-direction:column;gap:.75rem;align-items:flex-start}.category-filter[data-v-d9717f03]{justify-content:center}.category-btn[data-v-d9717f03]{padding:.5rem 1rem;font-size:.8rem}.mime-table[data-v-d9717f03]{font-size:.8rem}.mime-table th[data-v-d9717f03],.mime-table td[data-v-d9717f03]{padding:.75rem}.extension-cell .extension[data-v-d9717f03],.mime-cell .mime-type[data-v-d9717f03]{font-size:.75rem;padding:.25rem .5rem}.pagination[data-v-d9717f03]{padding:1rem}}@media(max-width:480px){.converter-content[data-v-d9717f03]{padding:.75rem .75rem 3rem}.search-section[data-v-d9717f03]{padding:1rem}.search-container[data-v-d9717f03]{gap:1rem}.category-btn[data-v-d9717f03]{padding:.375rem .75rem;font-size:.75rem}.table-header h3[data-v-d9717f03]{font-size:1.125rem}.mime-table th[data-v-d9717f03],.mime-table td[data-v-d9717f03]{padding:.5rem}.mime-table th[data-v-d9717f03]:nth-child(3),.mime-table td[data-v-d9717f03]:nth-child(3){display:none}}.dynasty-query[data-v-06a5dc0c]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.dynasty-content[data-v-06a5dc0c]{flex:1;overflow-y:auto;padding:1.5rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.dynasty-content[data-v-06a5dc0c]::-webkit-scrollbar{display:none}.section-header[data-v-06a5dc0c]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem}.section-header h3[data-v-06a5dc0c]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.section-info[data-v-06a5dc0c]{display:flex;align-items:center;gap:1rem}.info-text[data-v-06a5dc0c]{font-size:.875rem;color:var(--text-secondary)}.search-container[data-v-06a5dc0c]{display:flex;flex-direction:column;gap:1rem}.search-input-wrapper[data-v-06a5dc0c]{position:relative;display:flex;align-items:center}.search-icon[data-v-06a5dc0c]{position:absolute;left:1rem;color:var(--text-secondary);z-index:1}.search-input[data-v-06a5dc0c]{width:100%;padding:.75rem 1rem .75rem 2.5rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);font-size:.875rem;transition:all .2s ease}.search-input[data-v-06a5dc0c]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.clear-search-btn[data-v-06a5dc0c]{position:absolute;right:.75rem;display:flex;align-items:center;justify-content:center;width:1.5rem;height:1.5rem;background:var(--bg-tertiary);border:none;border-radius:.25rem;color:var(--text-secondary);cursor:pointer;transition:all .2s ease}.clear-search-btn[data-v-06a5dc0c]:hover{background:var(--bg-hover);color:var(--text-primary)}.period-filter[data-v-06a5dc0c]{display:flex;gap:.5rem;flex-wrap:wrap}.period-btn[data-v-06a5dc0c]{padding:.5rem 1rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500}.period-btn[data-v-06a5dc0c]:hover{background:var(--bg-hover)}.period-btn.active[data-v-06a5dc0c]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.timeline-container[data-v-06a5dc0c]{padding:0}.timeline[data-v-06a5dc0c]{position:relative}.timeline-item[data-v-06a5dc0c]{display:flex;margin-bottom:2rem;cursor:pointer;transition:all .3s ease}.timeline-item[data-v-06a5dc0c]:hover{transform:translate(4px)}.timeline-marker[data-v-06a5dc0c]{display:flex;flex-direction:column;align-items:center;margin-right:1.5rem;flex-shrink:0}.timeline-dot[data-v-06a5dc0c]{width:1rem;height:1rem;border-radius:50%;background:#dc2626;border:3px solid white;box-shadow:0 0 0 3px #e2e8f0;flex-shrink:0;z-index:2}.timeline-line[data-v-06a5dc0c]{width:2px;flex:1;background:linear-gradient(to bottom,#e2e8f0,transparent);margin-top:.5rem;min-height:3rem}.timeline-item:last-child .timeline-line[data-v-06a5dc0c]{display:none}.timeline-content[data-v-06a5dc0c]{flex:1;min-width:0}.dynasty-card[data-v-06a5dc0c]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;transition:all .2s ease}.dynasty-card[data-v-06a5dc0c]:hover{background:var(--bg-hover)}.timeline-item.highlight .dynasty-card[data-v-06a5dc0c]{border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha);animation:highlightPulse-06a5dc0c 2s ease-in-out}@keyframes highlightPulse-06a5dc0c{0%,to{box-shadow:0 0 0 3px var(--primary-color-alpha)}50%{box-shadow:0 0 0 6px var(--primary-color-alpha)}}.dynasty-header[data-v-06a5dc0c]{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto auto;gap:.5rem;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid #f1f5f9}.dynasty-main[data-v-06a5dc0c]{grid-column:1;grid-row:1;display:flex;flex-direction:column;gap:.125rem}.dynasty-name[data-v-06a5dc0c]{font-size:1.25rem;font-weight:700;color:#1e293b;margin:0;background:linear-gradient(135deg,#3b82f6,#8b5cf6);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1.2}.dynasty-basic[data-v-06a5dc0c]{grid-column:2;grid-row:1;display:flex;flex-direction:column;align-items:flex-end;gap:.125rem}.dynasty-years[data-v-06a5dc0c]{font-size:.875rem;font-weight:600;color:#dc2626}.dynasty-duration[data-v-06a5dc0c]{font-size:.8rem;color:#059669;background:#ecfdf5;padding:.125rem .5rem;border-radius:.375rem;font-weight:500}.dynasty-info[data-v-06a5dc0c]{grid-column:1 / -1;grid-row:2;display:flex;gap:1rem;font-size:.8rem}.dynasty-founder[data-v-06a5dc0c]{grid-column:1 / -1;grid-row:3;font-size:.8rem;color:#64748b;font-weight:500}.dynasty-capital[data-v-06a5dc0c]{color:#475569;font-weight:500}.emperors-count[data-v-06a5dc0c]{color:#7c3aed;font-weight:600}.dynasty-description[data-v-06a5dc0c]{font-size:.875rem;color:#64748b;line-height:1.6}.dynasty-detail[data-v-06a5dc0c]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;overflow:hidden}.detail-header[data-v-06a5dc0c]{display:flex;align-items:center;gap:1rem;padding:1.5rem;border-bottom:1px solid var(--border-color)}.back-detail-btn[data-v-06a5dc0c]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease;font-size:.875rem}.back-detail-btn[data-v-06a5dc0c]:hover{background:var(--bg-hover)}.detail-header h3[data-v-06a5dc0c]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.detail-content[data-v-06a5dc0c]{padding:1.5rem}.detail-grid[data-v-06a5dc0c]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem}.detail-card[data-v-06a5dc0c]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem}.detail-card h4[data-v-06a5dc0c]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.detail-item[data-v-06a5dc0c]{display:flex;margin-bottom:.75rem;font-size:.875rem}.detail-item .label[data-v-06a5dc0c]{min-width:6rem;color:var(--text-secondary);font-weight:500}.detail-item .value[data-v-06a5dc0c]{color:var(--text-primary);font-weight:600}.dynasty-description[data-v-06a5dc0c]{color:var(--text-primary);line-height:1.6;margin:0;white-space:pre-line}.achievements-section[data-v-06a5dc0c]{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border-color)}.achievements-section h5[data-v-06a5dc0c]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.achievements-list[data-v-06a5dc0c]{list-style:none;padding:0;margin:0}.achievements-list li[data-v-06a5dc0c]{padding:.5rem 0;border-bottom:1px solid var(--border-color);color:var(--text-primary)}.achievements-list li[data-v-06a5dc0c]:last-child{border-bottom:none}.achievements-list li[data-v-06a5dc0c]:before{content:"✓";color:var(--success-color);font-weight:700;margin-right:.5rem}.emperors-card[data-v-06a5dc0c]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1.5rem;margin-top:1.5rem}.emperors-card h4[data-v-06a5dc0c]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 1rem;border-bottom:2px solid var(--primary-color);padding-bottom:.5rem}.emperors-table-container[data-v-06a5dc0c]{overflow-x:auto;border-radius:.5rem;border:1px solid #e2e8f0}.emperors-table[data-v-06a5dc0c]{width:100%;border-collapse:collapse;font-size:.875rem;background:#fff}.emperors-table thead[data-v-06a5dc0c]{background:linear-gradient(135deg,#f8fafc,#f1f5f9)}.emperors-table th[data-v-06a5dc0c]{padding:.75rem .5rem;text-align:left;font-weight:600;color:#374151;border-bottom:2px solid #e5e7eb;white-space:nowrap}.emperors-table td[data-v-06a5dc0c]{padding:.75rem .5rem;border-bottom:1px solid #f3f4f6;vertical-align:top}.emperors-table tbody tr[data-v-06a5dc0c]:hover{background:#f9fafb}.emperors-table tbody tr:last-child td[data-v-06a5dc0c]{border-bottom:none}.emperor-index[data-v-06a5dc0c]{text-align:center;font-weight:600;color:#6b7280;width:3rem}.emperor-name-table[data-v-06a5dc0c]{font-weight:600;color:#1f2937;min-width:5rem}.emperor-birth-death[data-v-06a5dc0c]{color:#6b7280;font-size:.8rem;min-width:8rem}.emperor-age[data-v-06a5dc0c]{color:#059669;font-weight:500;min-width:4rem}.emperor-title-table[data-v-06a5dc0c]{color:#4b5563;font-weight:500;min-width:6rem}.emperor-reign-table[data-v-06a5dc0c]{color:#6b7280;font-size:.8rem;min-width:8rem}.emperor-years-table[data-v-06a5dc0c]{text-align:center;color:#dc2626;font-weight:600;width:4rem}.emperor-era-table[data-v-06a5dc0c]{color:#7c3aed;font-size:.8rem;line-height:1.4;max-width:12rem;word-break:break-all}@media(max-width:1024px){.detail-grid[data-v-06a5dc0c]{grid-template-columns:1fr}.dynasty-header[data-v-06a5dc0c]{grid-template-columns:1fr;grid-template-rows:auto auto auto auto;gap:.5rem}.dynasty-main[data-v-06a5dc0c]{grid-column:1;grid-row:1}.dynasty-basic[data-v-06a5dc0c]{grid-column:1;grid-row:2;align-items:flex-start}.dynasty-info[data-v-06a5dc0c]{grid-column:1;grid-row:3;flex-direction:column;gap:.25rem}.dynasty-founder[data-v-06a5dc0c]{grid-column:1;grid-row:4}}@media(max-width:768px){.timeline-marker[data-v-06a5dc0c]{margin-right:1rem}.dynasty-card[data-v-06a5dc0c]{padding:1rem}.dynasty-name[data-v-06a5dc0c]{font-size:1.25rem}.emperors-table[data-v-06a5dc0c]{font-size:.75rem}.emperors-table th[data-v-06a5dc0c],.emperors-table td[data-v-06a5dc0c]{padding:.5rem .25rem}}@media(max-width:480px){.timeline-marker[data-v-06a5dc0c]{margin-right:.75rem}.timeline-dot[data-v-06a5dc0c]{width:.75rem;height:.75rem}.dynasty-card[data-v-06a5dc0c]{padding:.75rem}.dynasty-name[data-v-06a5dc0c]{font-size:1.125rem}.emperors-table[data-v-06a5dc0c]{font-size:.7rem}.emperors-table th[data-v-06a5dc0c],.emperors-table td[data-v-06a5dc0c]{padding:.375rem .25rem}.emperors-table th[data-v-06a5dc0c]:first-child,.emperors-table td[data-v-06a5dc0c]:first-child,.emperors-table th[data-v-06a5dc0c]:nth-child(3),.emperors-table td[data-v-06a5dc0c]:nth-child(3),.emperors-table th[data-v-06a5dc0c]:nth-child(7),.emperors-table td[data-v-06a5dc0c]:nth-child(7){display:none}}.uuid-generator[data-v-8df3160f]{width:100%;height:100%;display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary);overflow:hidden}.formatter-actions[data-v-8df3160f]{display:flex;gap:.5rem}.generator-content[data-v-8df3160f]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:2rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.generator-content[data-v-8df3160f]::-webkit-scrollbar{display:none}.generator-section[data-v-8df3160f]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.section-header[data-v-8df3160f]{display:flex;align-items:center;margin-bottom:1.5rem}.header-content[data-v-8df3160f]{display:flex;align-items:center;gap:.75rem;flex:1}.header-icon[data-v-8df3160f]{width:40px;height:40px;background:var(--primary-color-alpha);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;color:var(--primary-color);flex-shrink:0}.header-text h3[data-v-8df3160f]{margin:0 0 .25rem;font-size:1.125rem;font-weight:600;color:var(--text-primary)}.header-text p[data-v-8df3160f]{margin:0;font-size:.8125rem;color:var(--text-muted)}.uuid-container[data-v-8df3160f]{display:grid;grid-template-columns:350px 1fr;gap:2rem;align-items:start}.uuid-controls[data-v-8df3160f]{display:flex;flex-direction:column;gap:1.5rem}.uuid-results[data-v-8df3160f]{display:flex;flex-direction:column;gap:1rem;align-self:start}.control-group[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.control-group label[data-v-8df3160f]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.version-select[data-v-8df3160f]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;cursor:pointer;transition:var(--transition)}.version-select[data-v-8df3160f]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.quantity-controls[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.quantity-buttons[data-v-8df3160f]{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem}.quantity-btn[data-v-8df3160f]{padding:.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);cursor:pointer;transition:var(--transition);font-size:.875rem}.quantity-btn[data-v-8df3160f]:hover{background:var(--bg-hover)}.quantity-btn.active[data-v-8df3160f]{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.quantity-input[data-v-8df3160f]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;transition:var(--transition)}.quantity-input[data-v-8df3160f]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.format-options[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.checkbox-label[data-v-8df3160f]{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.checkbox-label input[type=checkbox][data-v-8df3160f]{width:1rem;height:1rem;accent-color:var(--primary-color)}.generate-actions[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.generate-btn[data-v-8df3160f]{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1rem;border:none;border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);font-size:.875rem;font-weight:500;background:var(--primary-color);color:#fff}.generate-btn[data-v-8df3160f]:hover{background:var(--primary-hover);transform:translateY(-1px)}.results-header[data-v-8df3160f]{display:flex;align-items:center;justify-content:space-between}.results-header h4[data-v-8df3160f]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary)}.count-info[data-v-8df3160f]{font-size:.875rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .75rem;border-radius:var(--radius-sm);border:1px solid var(--border-color)}.empty-state[data-v-8df3160f]{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;text-align:center;color:var(--text-muted)}.empty-state svg[data-v-8df3160f]{margin-bottom:1rem;opacity:.5}.empty-state p[data-v-8df3160f]{margin:0;font-size:.875rem}.uuid-list[data-v-8df3160f]{display:flex;flex-direction:column;gap:.5rem;max-height:380px;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.uuid-list[data-v-8df3160f]::-webkit-scrollbar{display:none}.uuid-item[data-v-8df3160f]{display:flex;align-items:center;gap:.75rem;padding:.4375rem .75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition)}.uuid-item[data-v-8df3160f]:hover{border-color:var(--primary-color);box-shadow:0 2px 8px var(--primary-color-alpha)}.uuid-index[data-v-8df3160f]{font-size:.75rem;color:var(--text-muted);min-width:2rem;text-align:center;background:var(--bg-secondary);padding:.25rem .5rem;border-radius:var(--radius-sm)}.uuid-value[data-v-8df3160f]{flex:1;font-family:JetBrains Mono,Fira Code,monospace;font-size:.875rem;color:var(--text-primary);word-break:break-all}.copy-uuid-btn[data-v-8df3160f]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-primary);cursor:pointer;transition:var(--transition);flex-shrink:0}.copy-uuid-btn[data-v-8df3160f]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.uuid-validator[data-v-8df3160f]{display:flex;flex-direction:column;gap:1.5rem}.validator-input[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.validator-input label[data-v-8df3160f]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.validate-input[data-v-8df3160f]{padding:.75rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-primary);font-size:.875rem;font-family:JetBrains Mono,Fira Code,monospace;transition:var(--transition)}.validate-input[data-v-8df3160f]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.validation-result[data-v-8df3160f]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.5rem}.validation-header[data-v-8df3160f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.validation-header h4[data-v-8df3160f]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0}.validation-status[data-v-8df3160f]{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;border-radius:var(--radius-md);font-size:.875rem;font-weight:500}.validation-status.valid[data-v-8df3160f]{background:var(--success-color-alpha);color:var(--success-color)}.validation-status.invalid[data-v-8df3160f]{background:var(--error-color-alpha);color:var(--error-color)}.validation-details[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.detail-item[data-v-8df3160f]{display:flex;align-items:center;gap:1rem}.detail-label[data-v-8df3160f]{font-size:.875rem;font-weight:500;color:var(--text-primary);min-width:5rem}.detail-value[data-v-8df3160f]{flex:1;font-size:.875rem;color:var(--text-secondary);font-family:JetBrains Mono,Fira Code,monospace}.uuid-info[data-v-8df3160f]{margin-top:0}.info-grid[data-v-8df3160f]{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}.info-card[data-v-8df3160f]{background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:1.25rem;transition:var(--transition)}.info-card[data-v-8df3160f]:hover{border-color:var(--primary-color);box-shadow:0 4px 12px var(--primary-color-alpha);transform:translateY(-2px)}.info-header[data-v-8df3160f]{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.info-header h4[data-v-8df3160f]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0}.info-badge[data-v-8df3160f]{font-size:.75rem;padding:.25rem .5rem;border-radius:var(--radius-sm);font-weight:500}.info-badge.legacy[data-v-8df3160f]{background:var(--warning-color-alpha);color:var(--warning-color)}.info-badge.recommended[data-v-8df3160f]{background:var(--success-color-alpha);color:var(--success-color)}.info-badge.modern[data-v-8df3160f]{background:var(--primary-color-alpha);color:var(--primary-color)}.info-description[data-v-8df3160f]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin-bottom:1rem}.info-features[data-v-8df3160f]{display:flex;flex-direction:column;gap:.75rem}.feature-item[data-v-8df3160f]{display:flex;align-items:center;gap:.75rem}.feature-label[data-v-8df3160f]{font-size:.75rem;font-weight:500;color:var(--text-primary);min-width:4rem}.feature-level[data-v-8df3160f]{display:flex;align-items:center;gap:.5rem;flex:1}.feature-bar[data-v-8df3160f]{height:.25rem;border-radius:var(--radius-sm);flex:1;max-width:4rem}.feature-level.high .feature-bar[data-v-8df3160f]{background:var(--success-color)}.feature-level.very-high .feature-bar[data-v-8df3160f]{background:var(--primary-color)}.feature-level.medium .feature-bar[data-v-8df3160f]{background:var(--warning-color)}.feature-level span[data-v-8df3160f]{font-size:.75rem;color:var(--text-secondary)}.feature-value[data-v-8df3160f]{font-size:.75rem;color:var(--text-secondary);flex:1}@media(max-width:1024px){.uuid-container[data-v-8df3160f]{grid-template-columns:1fr;gap:1.5rem}.info-grid[data-v-8df3160f]{grid-template-columns:1fr}}@media(max-width:768px){.generator-content[data-v-8df3160f]{padding:1rem;gap:1.5rem}.generator-section[data-v-8df3160f]{padding:1rem}.copy-actions[data-v-8df3160f]{flex-direction:column}.copy-all-btn[data-v-8df3160f],.copy-json-btn[data-v-8df3160f]{flex:none}}@media(max-width:480px){.generator-content[data-v-8df3160f]{padding:.75rem;gap:1rem}.generator-section[data-v-8df3160f]{padding:.75rem}.uuid-item[data-v-8df3160f]{flex-direction:column;align-items:flex-start;gap:.5rem}.uuid-index[data-v-8df3160f]{align-self:flex-start}.copy-uuid-btn[data-v-8df3160f]{align-self:flex-end}.format-options[data-v-8df3160f]{flex-direction:column;gap:.5rem}}.programming-languages[data-v-badf73b1]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);color:var(--text-primary)}.converter-content[data-v-badf73b1]{flex:1;padding:1.5rem;overflow-y:auto;display:flex;flex-direction:column;gap:1.5rem;max-width:1000px;margin:0 auto;width:100%;scrollbar-width:none;-ms-overflow-style:none}.converter-content[data-v-badf73b1]::-webkit-scrollbar{display:none}.action-btn[data-v-badf73b1]{display:flex;align-items:center;justify-content:center;width:2.5rem;height:2.5rem;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;color:var(--text-primary);cursor:pointer;transition:all .2s ease}.action-btn[data-v-badf73b1]:hover{background:var(--bg-hover);transform:translateY(-1px)}.languages-list[data-v-badf73b1]{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem}.language-card[data-v-badf73b1]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.5rem;padding:.75rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;min-height:180px}.language-card[data-v-badf73b1]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color)}.language-header[data-v-badf73b1]{display:flex;align-items:flex-start;gap:.5rem;margin-bottom:.5rem}.language-icon[data-v-badf73b1]{width:2rem;height:2rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;font-weight:700;color:#fff;font-size:.625rem;flex-shrink:0}.language-icon.large[data-v-badf73b1]{width:4rem;height:4rem;font-size:1.125rem}.language-info[data-v-badf73b1]{flex:1}.language-name[data-v-badf73b1]{font-size:.875rem;font-weight:600;color:var(--text-primary);margin:0 0 .125rem}.language-description[data-v-badf73b1]{font-size:.75rem;color:var(--text-secondary);margin:0;line-height:1.3}.language-meta[data-v-badf73b1]{display:flex;flex-direction:column;align-items:flex-end;gap:.375rem}.language-year[data-v-badf73b1]{font-size:.75rem;color:var(--text-secondary);background:var(--bg-tertiary);padding:.25rem .5rem;border-radius:.25rem}.language-tags[data-v-badf73b1]{display:flex;gap:.25rem;flex-wrap:wrap}.tag[data-v-badf73b1]{font-size:.625rem;padding:.125rem .375rem;border-radius:.25rem;font-weight:500}.tag.popular[data-v-badf73b1]{background:#ef44441a;color:#ef4444}.tag.web[data-v-badf73b1]{background:#10b9811a;color:#10b981}.tag.mobile[data-v-badf73b1]{background:#6366f11a;color:#6366f1}.tag.system[data-v-badf73b1]{background:#f59e0b1a;color:#f59e0b}.language-stats[data-v-badf73b1]{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color)}.stat-item[data-v-badf73b1]{display:flex;align-items:center;gap:.5rem;padding:.125rem 0}.stat-label[data-v-badf73b1]{font-size:.75rem;color:var(--text-secondary);min-width:3rem}.difficulty-bar[data-v-badf73b1],.popularity-bar[data-v-badf73b1]{flex:1;height:.375rem;background:var(--bg-tertiary);border-radius:.25rem;overflow:hidden;border:1px solid var(--border-color)}.difficulty-fill[data-v-badf73b1],.popularity-fill[data-v-badf73b1]{height:100%;transition:width .3s ease}.stat-value[data-v-badf73b1]{font-size:.75rem;color:var(--text-primary);font-weight:500;min-width:2.5rem;text-align:right}.modal-body-content[data-v-badf73b1]{padding:1rem}.modal-header[data-v-badf73b1]{display:flex;align-items:center;justify-content:space-between;padding-bottom:1rem;border-bottom:1px solid var(--border-color);margin-bottom:1rem}.modal-title-section[data-v-badf73b1]{display:flex;align-items:center;gap:.75rem}.modal-title-section h2[data-v-badf73b1]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0}.modal-subtitle[data-v-badf73b1]{font-size:.8rem;color:var(--text-secondary);margin:.25rem 0 0}.close-btn[data-v-badf73b1]{width:2rem;height:2rem;background:none;border:none;border-radius:.375rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.close-btn[data-v-badf73b1]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.modal-content[data-v-badf73b1]{display:flex;flex-direction:column;gap:1.5rem}.modal-section h3[data-v-badf73b1]{font-size:1rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.info-grid[data-v-badf73b1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.75rem}.info-item[data-v-badf73b1]{display:flex;flex-direction:column;gap:.25rem}.info-label[data-v-badf73b1]{font-size:.7rem;color:var(--text-secondary);font-weight:500}.info-value[data-v-badf73b1]{font-size:.8rem;color:var(--text-primary)}.features-list[data-v-badf73b1]{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:.5rem}.features-list li[data-v-badf73b1]{padding:.375rem 0;border-bottom:1px solid var(--border-color);font-size:.8rem;color:var(--text-primary)}.features-list li[data-v-badf73b1]:last-child{border-bottom:none}.use-cases[data-v-badf73b1]{display:flex;flex-wrap:wrap;gap:.375rem}.use-case-tag[data-v-badf73b1]{padding:.375rem .75rem;background:var(--primary-color-alpha);color:var(--primary-color);border-radius:.375rem;font-size:.75rem;font-weight:500}.resources-grid[data-v-badf73b1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem}.resource-link[data-v-badf73b1]{display:flex;align-items:center;gap:.5rem;padding:.75rem;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:.375rem;text-decoration:none;color:var(--text-primary);transition:all .2s ease}.resource-link[data-v-badf73b1]:hover{background:var(--bg-hover);border-color:var(--primary-color);transform:translateY(-1px)}.resource-icon[data-v-badf73b1]{font-size:1rem}.resource-name[data-v-badf73b1]{flex:1;font-size:.8rem;font-weight:500}.ranking-sources-section[data-v-badf73b1]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:2rem;margin-top:1rem}.section-header[data-v-badf73b1]{margin-bottom:1.5rem}.section-header h3[data-v-badf73b1]{font-size:1.25rem;font-weight:600;color:var(--text-primary);margin:0 0 .75rem}.section-description[data-v-badf73b1]{font-size:.875rem;color:var(--text-secondary);line-height:1.6;margin:0}.ranking-sources-grid[data-v-badf73b1]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem}.ranking-source-card[data-v-badf73b1]{display:flex;flex-direction:column;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--text-primary);transition:all .2s ease;min-height:160px}.ranking-source-card[data-v-badf73b1]:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg);border-color:var(--primary-color);background:var(--bg-hover)}.source-header[data-v-badf73b1]{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.source-icon[data-v-badf73b1]{width:2.5rem;height:2.5rem;border-radius:.375rem;display:flex;align-items:center;justify-content:center;font-size:1rem;color:#fff;flex-shrink:0}.source-info[data-v-badf73b1]{flex:1}.source-info h4[data-v-badf73b1]{font-size:1.125rem;font-weight:600;color:var(--text-primary);margin:0 0 .25rem}.source-url[data-v-badf73b1]{font-size:.75rem;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace;background:var(--bg-primary);padding:.125rem .375rem;border-radius:.25rem;border:1px solid var(--border-color)}.source-description[data-v-badf73b1]{font-size:.875rem;color:var(--text-secondary);line-height:1.5;margin:0 0 1rem;flex:1}.source-features[data-v-badf73b1]{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:auto}.feature-tag[data-v-badf73b1]{font-size:.75rem;padding:.25rem .5rem;background:var(--primary-color-alpha);color:var(--primary-color);border-radius:.25rem;font-weight:500}.ranking-note[data-v-badf73b1]{background:var(--warning-color-alpha);border:1px solid var(--warning-color);border-radius:.5rem;padding:1.25rem;margin-top:1.5rem}.ranking-note p[data-v-badf73b1]{font-size:.875rem;color:var(--text-primary);line-height:1.5;margin:0}.ranking-note strong[data-v-badf73b1]{color:var(--warning-color);font-weight:600}@media(max-width:768px){.converter-content[data-v-badf73b1]{padding:1rem}.languages-list[data-v-badf73b1]{grid-template-columns:1fr}.language-header[data-v-badf73b1]{flex-direction:column;align-items:flex-start;gap:.75rem}.language-meta[data-v-badf73b1]{align-items:flex-start;flex-direction:row;justify-content:space-between;width:100%}.info-grid[data-v-badf73b1],.resources-grid[data-v-badf73b1]{grid-template-columns:1fr}.ranking-sources-section[data-v-badf73b1]{padding:1.5rem}.ranking-sources-grid[data-v-badf73b1]{grid-template-columns:1fr;gap:1rem}.ranking-source-card[data-v-badf73b1]{padding:1.25rem;min-height:auto}.source-header[data-v-badf73b1]{gap:.75rem}.source-icon[data-v-badf73b1]{width:2.5rem;height:2.5rem;font-size:1rem}.source-info h4[data-v-badf73b1]{font-size:1rem}.ranking-note[data-v-badf73b1]{padding:1rem}}.markdown-editor[data-v-e0f0e04b]{width:100%;height:100dvh;height:calc(100vh - 60px);display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.editor-container[data-v-e0f0e04b]{flex:1;display:flex;flex-direction:column;overflow:hidden}.editor-panes[data-v-e0f0e04b]{display:flex;flex:1;min-height:0}.editor-pane[data-v-e0f0e04b],.preview-pane[data-v-e0f0e04b]{flex:1;display:flex;flex-direction:column;min-height:0}.editor-content[data-v-e0f0e04b]{flex:1;display:flex;position:relative;min-height:0}.line-numbers[data-v-e0f0e04b]{width:50px;background:var(--bg-secondary);border-right:1px solid var(--border-color);color:var(--text-muted);font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6;padding:16px 8px 16px 0;text-align:right;user-select:none;overflow:hidden;flex-shrink:0}.line-number[data-v-e0f0e04b]{height:22.4px;display:flex;align-items:center;justify-content:flex-end;padding-right:8px}.preview-pane[data-v-e0f0e04b]{border-left:1px solid var(--border-color)}.pane-header[data-v-e0f0e04b]{padding:8px 16px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);font-size:12px;font-weight:500;color:var(--text-secondary);letter-spacing:.05em;display:flex;align-items:center;gap:16px}.pane-header>span[data-v-e0f0e04b]{text-transform:uppercase}.sample-btn[data-v-e0f0e04b]{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;font-size:11px;font-weight:500}.sample-btn[data-v-e0f0e04b]:hover{background:var(--primary-bg-light);border-color:var(--primary-color);color:var(--primary-color)}.sample-btn:hover svg[data-v-e0f0e04b]{color:var(--primary-color)}.editor-toolbar[data-v-e0f0e04b]{display:flex;align-items:center;gap:4px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;height:40px;box-sizing:border-box}.toolbar-btn[data-v-e0f0e04b]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text-secondary);cursor:pointer;transition:all .15s ease;font-size:11px;font-weight:600}.toolbar-btn[data-v-e0f0e04b]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.toolbar-btn[data-v-e0f0e04b]:active{background:var(--bg-secondary);transform:scale(.95)}.toolbar-divider[data-v-e0f0e04b]{width:1px;height:20px;background:var(--border-color);margin:0 4px}.emoji-wrapper[data-v-e0f0e04b],.table-wrapper[data-v-e0f0e04b],.code-block-wrapper[data-v-e0f0e04b],.datetime-wrapper[data-v-e0f0e04b]{position:relative}.toolbar-btn.active[data-v-e0f0e04b]{background:var(--bg-secondary);color:var(--text-primary)}.toolbar-btn.preview-toggle.active[data-v-e0f0e04b]{background:var(--primary-bg-light);color:var(--primary-color)}.toolbar-btn.preview-toggle[data-v-e0f0e04b]:hover{background:var(--bg-tertiary);color:var(--primary-color)}.emoji-menu[data-v-e0f0e04b]{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;margin-top:4px;width:280px}.emoji-categories[data-v-e0f0e04b]{display:flex;border-bottom:1px solid var(--border-color);padding:8px;gap:4px}.emoji-category-btn[data-v-e0f0e04b]{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .15s ease}.emoji-category-btn[data-v-e0f0e04b]:hover{background:var(--bg-tertiary)}.emoji-category-btn.active[data-v-e0f0e04b]{background:var(--bg-secondary)}.emoji-grid[data-v-e0f0e04b]{display:grid;grid-template-columns:repeat(8,1fr);gap:4px;padding:12px;max-height:200px;overflow-y:auto}.emoji-item[data-v-e0f0e04b]{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;cursor:pointer;font-size:16px;transition:background-color .15s ease}.emoji-item[data-v-e0f0e04b]:hover{background:var(--bg-tertiary)}.table-menu[data-v-e0f0e04b]{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;margin-top:4px;padding:12px}.table-size-selector[data-v-e0f0e04b]{display:flex;flex-direction:column;align-items:center;gap:8px}.table-grid[data-v-e0f0e04b]{display:flex;flex-direction:column;gap:2px}.table-row[data-v-e0f0e04b]{display:flex;gap:2px}.table-cell[data-v-e0f0e04b]{width:16px;height:16px;border:1px solid var(--border-color);cursor:pointer;transition:all .15s ease}.table-cell[data-v-e0f0e04b]:hover,.table-cell.active[data-v-e0f0e04b]{background:var(--primary-color);border-color:var(--primary-color)}.table-info[data-v-e0f0e04b]{font-size:12px;color:var(--text-secondary);font-weight:500;text-align:center;min-width:80px}.code-block-menu[data-v-e0f0e04b]{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;min-width:120px;max-height:200px;overflow-y:auto;margin-top:4px}.code-lang-item[data-v-e0f0e04b]{padding:8px 12px;cursor:pointer;font-size:12px;color:var(--text-primary);transition:background-color .15s ease}.code-lang-item[data-v-e0f0e04b]:hover{background:var(--bg-tertiary)}.code-lang-item[data-v-e0f0e04b]:first-child{border-radius:6px 6px 0 0}.code-lang-item[data-v-e0f0e04b]:last-child{border-radius:0 0 6px 6px}.preview-toolbar[data-v-e0f0e04b]{display:flex;align-items:center;justify-content:center;gap:4px;padding:6px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;height:40px;box-sizing:border-box}.preview-info[data-v-e0f0e04b]{font-size:11px;color:var(--text-muted);font-weight:500}.editor-textarea[data-v-e0f0e04b]{flex:1;border:none;outline:none;padding:16px 16px 16px 12px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:14px;line-height:1.6;color:var(--text-primary);background:var(--bg-primary);resize:none;margin:0}.editor-textarea[data-v-e0f0e04b]::placeholder{color:var(--text-muted)}.preview-content[data-v-e0f0e04b]{flex:1;padding:16px;overflow-y:auto;background:var(--bg-primary);color:var(--text-primary);line-height:1.6}.preview-content[data-v-e0f0e04b] h1{font-size:2em;font-weight:700;margin:0 0 16px;color:var(--text-primary);border-bottom:2px solid var(--border-color);padding-bottom:8px}.preview-content[data-v-e0f0e04b] h2{font-size:1.5em;font-weight:600;margin:24px 0 12px;color:var(--text-primary)}.preview-content[data-v-e0f0e04b] h3{font-size:1.25em;font-weight:600;margin:20px 0 8px;color:var(--text-primary)}.preview-content[data-v-e0f0e04b] p{margin:0 0 12px;color:var(--text-primary)}.preview-content[data-v-e0f0e04b] ul,.preview-content[data-v-e0f0e04b] ol{margin:0 0 12px;padding-left:24px}.preview-content[data-v-e0f0e04b] li{margin:4px 0}.preview-content[data-v-e0f0e04b] code{background:var(--bg-tertiary);color:var(--primary-color);padding:2px 4px;border-radius:3px;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9em}.preview-content[data-v-e0f0e04b] pre{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:6px;padding:12px;margin:12px 0;overflow-x:auto}.preview-content[data-v-e0f0e04b] pre code{background:none;color:var(--text-primary);padding:0}.preview-content[data-v-e0f0e04b] blockquote{border-left:4px solid var(--border-color);background:var(--bg-secondary);margin:12px 0;padding:8px 16px;color:var(--text-secondary)}.preview-content[data-v-e0f0e04b] table{width:100%;border-collapse:collapse;margin:12px 0}.preview-content[data-v-e0f0e04b] th,.preview-content[data-v-e0f0e04b] td{border:1px solid var(--border-color);padding:8px 12px;text-align:left}.preview-content[data-v-e0f0e04b] th{background:var(--bg-secondary);font-weight:600}.preview-content[data-v-e0f0e04b] a{color:var(--primary-color);text-decoration:none}.preview-content[data-v-e0f0e04b] a:hover{text-decoration:underline}.preview-content[data-v-e0f0e04b] hr{border:none;border-top:1px solid var(--border-color);margin:24px 0}.preview-content[data-v-e0f0e04b] strong{font-weight:600;color:var(--text-primary)}.preview-content[data-v-e0f0e04b] em{font-style:italic}.preview-content[data-v-e0f0e04b] del{text-decoration:line-through;color:var(--text-secondary)}.preview-content[data-v-e0f0e04b] img{max-width:100%;height:auto;border-radius:var(--radius-md);margin:1em 0}.datetime-menu[data-v-e0f0e04b]{position:absolute;top:100%;left:0;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:6px;box-shadow:var(--shadow-lg);z-index:1000;min-width:200px;margin-top:4px}.datetime-item[data-v-e0f0e04b]{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;cursor:pointer;transition:background-color .15s ease;border-bottom:1px solid var(--bg-tertiary)}.datetime-item[data-v-e0f0e04b]:last-child{border-bottom:none;border-radius:0 0 6px 6px}.datetime-item[data-v-e0f0e04b]:first-child{border-radius:6px 6px 0 0}.datetime-item[data-v-e0f0e04b]:hover{background:var(--bg-tertiary)}.datetime-label[data-v-e0f0e04b]{font-size:12px;color:var(--text-primary);font-weight:500}.datetime-preview[data-v-e0f0e04b]{font-size:11px;color:var(--text-secondary);font-family:Monaco,Menlo,Ubuntu Mono,monospace}@media(max-width:768px){.editor-panes[data-v-e0f0e04b]{flex-direction:column}.editor-toolbar[data-v-e0f0e04b]{flex-wrap:wrap;gap:2px}.toolbar-btn[data-v-e0f0e04b]{width:24px;height:24px}.pane-header[data-v-e0f0e04b]{padding:8px 12px;font-size:12px}.editor-textarea[data-v-e0f0e04b],.preview-content[data-v-e0f0e04b]{padding:12px;font-size:13px}}.table-of-contents[data-v-e0f0e04b]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:8px;padding:16px;margin:16px 0;max-width:100%}.toc-title[data-v-e0f0e04b]{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.toc-list[data-v-e0f0e04b]{list-style:none;padding:0;margin:0}.toc-list li[data-v-e0f0e04b]{margin:4px 0}.toc-level-1[data-v-e0f0e04b]{margin-left:0}.toc-level-2[data-v-e0f0e04b]{margin-left:16px}.toc-level-3[data-v-e0f0e04b]{margin-left:32px}.toc-level-4[data-v-e0f0e04b]{margin-left:48px}.toc-level-5[data-v-e0f0e04b]{margin-left:64px}.toc-level-6[data-v-e0f0e04b]{margin-left:80px}.toc-link[data-v-e0f0e04b]{color:var(--text-secondary);text-decoration:none;font-size:14px;line-height:1.5;display:block;padding:2px 0;transition:color .2s ease}.toc-link[data-v-e0f0e04b]:hover{color:var(--primary-color);text-decoration:underline}.toc-empty[data-v-e0f0e04b]{color:var(--text-tertiary);font-style:italic;text-align:center;padding:20px}.preview-content h1[data-v-e0f0e04b],.preview-content h2[data-v-e0f0e04b],.preview-content h3[data-v-e0f0e04b],.preview-content h4[data-v-e0f0e04b],.preview-content h5[data-v-e0f0e04b],.preview-content h6[data-v-e0f0e04b]{scroll-margin-top:20px}.preview-content h1[data-v-e0f0e04b]:target,.preview-content h2[data-v-e0f0e04b]:target,.preview-content h3[data-v-e0f0e04b]:target,.preview-content h4[data-v-e0f0e04b]:target,.preview-content h5[data-v-e0f0e04b]:target,.preview-content h6[data-v-e0f0e04b]:target{background-color:var(--highlight-bg);padding:4px 8px;margin:-4px -8px;border-radius:4px;animation:highlight-fade-e0f0e04b 2s ease-out}@keyframes highlight-fade-e0f0e04b{0%{background-color:var(--primary-color-light)}to{background-color:transparent}}.teleprompter[data-v-825672ef]{width:100%;height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden;background:var(--bg-primary)}.teleprompter.fullscreen[data-v-825672ef],.teleprompter[data-v-825672ef]:fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.converter-content[data-v-825672ef]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.formatter-actions[data-v-825672ef]{display:flex;gap:.5rem}.control-panel[data-v-825672ef]{padding:20px;background:var(--bg-secondary);border-bottom:1px solid var(--border-color);display:flex;gap:30px;align-items:center;flex-wrap:wrap}.control-group[data-v-825672ef]{display:flex;align-items:center;gap:10px}.control-group label[data-v-825672ef]{font-size:14px;color:var(--text-secondary);min-width:60px}.control-action-btn[data-v-825672ef]{padding:4px 12px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);font-size:12px;margin-right:8px}.control-action-btn[data-v-825672ef]:hover{background:var(--border-color);color:var(--text-primary)}.speed-slider[data-v-825672ef],.font-slider[data-v-825672ef]{width:100px;height:4px;background:var(--border-color);border-radius:2px;outline:none;cursor:pointer}.speed-value[data-v-825672ef],.font-value[data-v-825672ef]{font-size:12px;color:var(--text-secondary);min-width:30px;text-align:center}.color-picker[data-v-825672ef]{width:40px;height:30px;border:1px solid var(--border-color);border-radius:var(--radius-sm);cursor:pointer;background:none}.text-input-area[data-v-825672ef]{padding:20px;background:var(--bg-primary)}.script-textarea[data-v-825672ef]{width:100%;min-height:150px;padding:16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-secondary);color:var(--text-primary);font-size:14px;line-height:1.6;resize:vertical;font-family:inherit}.script-textarea[data-v-825672ef]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #3b82f61a}.teleprompter-display[data-v-825672ef]{flex:1;position:relative;overflow:hidden;background:#000;color:#fff;cursor:pointer;min-height:400px;height:100%}.teleprompter-display.mirrored[data-v-825672ef]{transform:scaleX(-1)}.teleprompter-display.vertical-flipped[data-v-825672ef]{transform:scaleY(-1)}.teleprompter-display.mirrored.vertical-flipped[data-v-825672ef]{transform:scaleX(-1) scaleY(-1)}.scrolling-text[data-v-825672ef]{position:absolute;top:0;left:0;right:0;transition:none;padding:0 40px;width:100%;box-sizing:border-box}.scrolling-text.playing[data-v-825672ef]{transition:transform .05s linear}.text-content[data-v-825672ef]{text-align:center;line-height:1.8;word-wrap:break-word}.text-content p[data-v-825672ef]{margin:0 0 1.5em;padding:0}.text-end[data-v-825672ef]{text-align:center;margin-top:100px;opacity:.7;font-style:italic}.focus-overlay-local[data-v-825672ef]{position:absolute;inset:0;pointer-events:none;z-index:100;display:flex;flex-direction:column}.overlay-top[data-v-825672ef]{flex:1;background:linear-gradient(to bottom,#000c,#0009 60%,#0006 80%,#0003 95%,#0000)}.reading-zone[data-v-825672ef]{background:transparent;position:relative;border-top:1px solid rgba(255,255,255,.3);border-bottom:1px solid rgba(255,255,255,.3);box-shadow:inset 0 1px 4px #ffffff1a,inset 0 -1px 4px #ffffff1a,0 0 15px #ffffff1a}.reading-zone[data-v-825672ef]:before{content:"";position:absolute;top:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%)}.reading-zone[data-v-825672ef]:after{content:"";position:absolute;bottom:-1px;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.5) 50%,transparent 100%)}.overlay-bottom[data-v-825672ef]{flex:1;background:linear-gradient(to top,#000c,#0009 60%,#0006 80%,#0003 95%,#0000)}.fullscreen-controls[data-v-825672ef]{position:fixed;bottom:20px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:12px;background:#000000d9;padding:12px 20px;border-radius:50px;backdrop-filter:blur(10px);z-index:10001;border:1px solid rgba(255,255,255,.1)}.fs-control-btn[data-v-825672ef]{padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.fs-control-btn[data-v-825672ef]:hover{background:#fff3;border-color:#fff6}.fs-control-btn.active[data-v-825672ef]{background:#3b82f64d;border-color:#3b82f680;color:#60a5fa}@media(max-width:768px){.control-panel[data-v-825672ef]{flex-direction:column;gap:15px;align-items:stretch}.control-group[data-v-825672ef]{justify-content:space-between}.input-actions[data-v-825672ef]{flex-wrap:wrap}.scrolling-text[data-v-825672ef]{padding:0 20px}.fullscreen-controls[data-v-825672ef]{flex-wrap:wrap;gap:10px}}.teleprompter.fullscreen .converter-content[data-v-825672ef],.teleprompter:fullscreen .converter-content[data-v-825672ef]{height:100vh}.teleprompter.fullscreen .teleprompter-display[data-v-825672ef],.teleprompter:fullscreen .teleprompter-display[data-v-825672ef]{height:100vh}.screen-test[data-v-5d31f4cf]{width:100%;height:100vh;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow:hidden;background:var(--bg-primary)}.screen-test.fullscreen[data-v-5d31f4cf],.screen-test[data-v-5d31f4cf]:fullscreen{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:9999}.converter-content[data-v-5d31f4cf]{flex:1;display:flex;flex-direction:column;overflow:hidden;min-height:0}.main-content-area[data-v-5d31f4cf]{flex:1;display:flex;overflow:hidden;min-height:0}.test-controls[data-v-5d31f4cf]{width:320px;flex-shrink:0;padding:16px;background:var(--bg-secondary);border-right:1px solid var(--border-color);overflow-y:auto}.controls-container[data-v-5d31f4cf]{display:flex;flex-direction:column;gap:16px;max-width:400px}.control-panel[data-v-5d31f4cf]{background:var(--bg-primary);padding:16px;border-radius:6px;border:1px solid var(--border-color);width:100%;display:flex;flex-direction:column}.control-panel[data-v-5d31f4cf]:first-child{flex:1;min-height:0}.control-panel h4[data-v-5d31f4cf]{margin:0 0 12px;font-size:15px;font-weight:600;color:var(--text-primary)}.suite-select[data-v-5d31f4cf],.test-select[data-v-5d31f4cf]{width:100%;max-width:200px;padding:8px 10px;border:1px solid var(--border-color);border-radius:4px;background:var(--bg-secondary);color:var(--text-primary);font-size:13px;margin-bottom:12px}.duration-setting[data-v-5d31f4cf]{margin-bottom:12px}.duration-setting label[data-v-5d31f4cf]{display:block;margin-bottom:6px;font-size:13px;color:var(--text-secondary)}.duration-range[data-v-5d31f4cf]{width:100%;height:4px;background:var(--border-color);border-radius:2px;outline:none;cursor:pointer}.auto-buttons[data-v-5d31f4cf],.manual-buttons[data-v-5d31f4cf]{display:flex;gap:8px;margin-bottom:12px}.start-btn[data-v-5d31f4cf]{flex:1;padding:10px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.start-btn[data-v-5d31f4cf]:hover:not(:disabled){background:var(--primary-color-dark)}.start-btn[data-v-5d31f4cf]:disabled{opacity:.6;cursor:not-allowed}.stop-btn[data-v-5d31f4cf]{padding:10px 12px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.stop-btn[data-v-5d31f4cf]:hover{background:#dc2626}.nav-button[data-v-5d31f4cf]{flex:none;min-width:80px;padding:8px 16px;background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);border-radius:4px;font-size:13px;cursor:pointer;transition:all .2s}.nav-button[data-v-5d31f4cf]:hover:not(:disabled){background:var(--border-color)}.nav-button[data-v-5d31f4cf]:disabled{opacity:.5;cursor:not-allowed}.shortcuts[data-v-5d31f4cf]{margin-top:8px}.shortcuts small[data-v-5d31f4cf]{color:var(--text-secondary);font-size:11px}.test-hints[data-v-5d31f4cf]{margin-top:12px;padding:12px 14px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color);min-height:80px;flex:1}.hint-section strong[data-v-5d31f4cf]{color:var(--text-primary);font-size:13px;font-weight:600;display:block;margin:8px 0}.hint-section p strong[data-v-5d31f4cf]{padding:8px 12px;border:2px solid var(--primary-color);border-radius:4px;background:rgba(var(--primary-color-rgb),.1);display:inline-block}.hint-section p[data-v-5d31f4cf]{margin:0;font-size:12px;color:var(--text-secondary);line-height:1.5;word-wrap:break-word;overflow-wrap:break-word}.hint-section p strong[data-v-5d31f4cf]{display:inline;margin:8px 0}.hint-section p[data-v-5d31f4cf]:has(strong){margin:8px 0}.auto-test-config[data-v-5d31f4cf]{margin-bottom:12px}.suite-selection[data-v-5d31f4cf]{margin-bottom:10px}.suite-selection label[data-v-5d31f4cf]{display:block;margin-bottom:4px;font-size:12px;color:var(--text-secondary);font-weight:500}.auto-test-status[data-v-5d31f4cf]{margin-top:12px;padding:10px 12px;background:var(--bg-secondary);border-radius:4px;border:1px solid var(--border-color)}.status-info[data-v-5d31f4cf]{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.status-info strong[data-v-5d31f4cf]{font-size:13px;color:var(--text-primary)}.progress-info[data-v-5d31f4cf]{font-size:12px;color:var(--text-secondary);background:var(--bg-primary);padding:2px 6px;border-radius:3px;border:1px solid var(--border-color)}.countdown-info[data-v-5d31f4cf]{font-size:12px;color:var(--text-secondary);text-align:center}.test-display[data-v-5d31f4cf]{flex:1;position:relative;cursor:pointer;display:flex;align-items:center;justify-content:center;overflow:hidden;min-height:0;padding-bottom:40px;box-sizing:border-box}.screen-test.fullscreen .test-display[data-v-5d31f4cf],.screen-test:fullscreen .test-display[data-v-5d31f4cf]{padding-bottom:0}.test-display.stability-test[data-v-5d31f4cf]{align-items:stretch;justify-content:stretch}.test-info[data-v-5d31f4cf]{position:absolute;top:20px;left:20px;background:#000c;color:#fff;padding:15px 20px;border-radius:8px;font-size:14px;z-index:10}.test-info h3[data-v-5d31f4cf]{margin:0 0 8px;font-size:16px}.test-info p[data-v-5d31f4cf]{margin:4px 0}.fullscreen-controls[data-v-5d31f4cf]{position:fixed;bottom:30px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:15px;background:#000000d9;padding:15px 25px;border-radius:50px;backdrop-filter:blur(10px);z-index:10001;border:1px solid rgba(255,255,255,.1)}.fs-control-btn[data-v-5d31f4cf]{padding:10px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:50%;color:#fff;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;justify-content:center;width:44px;height:44px}.fs-control-btn[data-v-5d31f4cf]:hover{background:#fff3;border-color:#fff6}.test-name[data-v-5d31f4cf]{color:#fff;font-size:14px;font-weight:500;text-align:center}.test-info-fs[data-v-5d31f4cf]{display:flex;flex-direction:column;align-items:center;gap:5px}.auto-progress[data-v-5d31f4cf]{font-size:12px;color:#fffc}.pattern-info[data-v-5d31f4cf]{color:#fff;font-size:14px;font-weight:500;padding:4px 8px;border:1px solid white;border-radius:3px}@media(max-width:768px){.main-content-area[data-v-5d31f4cf]{flex-direction:column}.test-controls[data-v-5d31f4cf]{width:100%;border-right:none;border-bottom:1px solid var(--border-color)}.control-panel[data-v-5d31f4cf]{min-width:auto;max-width:none}.test-controls[data-v-5d31f4cf],.control-panel[data-v-5d31f4cf]{padding:16px}.fullscreen-controls[data-v-5d31f4cf]{flex-wrap:wrap;gap:10px;bottom:20px;padding:12px 20px}}.color-bars-test[data-v-5d31f4cf]{width:100%;height:100%;display:flex;flex-direction:column}.color-bar[data-v-5d31f4cf]{flex:1;width:100%}.geometry-test[data-v-5d31f4cf]{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center;background:#f0f0f0}.shapes[data-v-5d31f4cf]{display:grid;grid-template-columns:repeat(2,1fr);gap:40px;margin-bottom:40px}.shape[data-v-5d31f4cf]{width:80px;height:80px;border:2px solid #333}.circle[data-v-5d31f4cf]{border-radius:50%}.triangle[data-v-5d31f4cf]{width:0;height:0;border-left:40px solid transparent;border-right:40px solid transparent;border-bottom:80px solid #333;border-top:none}.diamond[data-v-5d31f4cf]{transform:rotate(45deg)}.lines[data-v-5d31f4cf]{position:absolute;inset:0;pointer-events:none}.line[data-v-5d31f4cf]{position:absolute;background:#333}.horizontal[data-v-5d31f4cf]{top:50%;left:10%;right:10%;height:2px}.vertical[data-v-5d31f4cf]{left:50%;top:10%;bottom:10%;width:2px}.diagonal1[data-v-5d31f4cf]{top:10%;left:10%;width:80%;height:2px;transform-origin:left;transform:rotate(45deg)}.diagonal2[data-v-5d31f4cf]{top:10%;right:10%;width:80%;height:2px;transform-origin:right;transform:rotate(-45deg)}.contrast-test-professional[data-v-5d31f4cf]{width:100%;height:100%;display:flex;align-items:stretch;justify-content:stretch;padding:10px 10px 50px;background:#fff}.screen-test.fullscreen .contrast-test-professional[data-v-5d31f4cf],.screen-test:fullscreen .contrast-test-professional[data-v-5d31f4cf]{padding:10px}.brightness-test[data-v-5d31f4cf]{width:100%;height:calc(100% - 40px);display:flex;flex-direction:column;align-items:stretch;justify-content:stretch;padding:10px;background:#f0f0f0;box-sizing:border-box}.screen-test.fullscreen .brightness-test[data-v-5d31f4cf],.screen-test:fullscreen .brightness-test[data-v-5d31f4cf]{height:100%}.brightness-gradient[data-v-5d31f4cf]{flex:1;background:linear-gradient(to right,#000,#fff);margin-bottom:10px}.brightness-levels[data-v-5d31f4cf]{display:flex;gap:1px;flex:1}.brightness-block[data-v-5d31f4cf]{flex:1;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#333}.gray-scale-grid[data-v-5d31f4cf]{width:100%;height:calc(100% - 20px);display:flex;flex-direction:column;gap:2px}.screen-test.fullscreen .gray-scale-grid[data-v-5d31f4cf],.screen-test:fullscreen .gray-scale-grid[data-v-5d31f4cf]{height:100%}.gray-row[data-v-5d31f4cf]{flex:1;display:flex;width:100%;gap:2px}.gray-block[data-v-5d31f4cf]{flex:1;position:relative;display:flex;align-items:center;justify-content:center}.gray-label[data-v-5d31f4cf]{text-align:center;font-size:12px;font-weight:700;color:#000}.percentage[data-v-5d31f4cf]{font-size:13px;margin-bottom:3px}.rgb-value[data-v-5d31f4cf]{font-size:11px;opacity:.8}.saturation-test[data-v-5d31f4cf]{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:10px 10px 40px;background:#f0f0f0}.saturation-bars[data-v-5d31f4cf]{display:flex;flex-direction:column;gap:8px;width:100%;height:100%}.saturation-bar[data-v-5d31f4cf]{display:flex;gap:1px;flex:1}.saturation-block[data-v-5d31f4cf]{flex:1;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;color:#fff;text-shadow:1px 1px 2px rgba(0,0,0,.7);border:1px solid rgba(255,255,255,.3);min-height:60px}.screen-test.fullscreen .saturation-test[data-v-5d31f4cf],.screen-test:fullscreen .saturation-test[data-v-5d31f4cf]{padding:10px}.micro-pattern-test[data-v-5d31f4cf]{width:100%;height:100%;display:flex;align-items:stretch;justify-content:stretch;background:#f0f0f0;box-sizing:border-box}.screen-test.fullscreen .micro-pattern-test[data-v-5d31f4cf],.screen-test:fullscreen .micro-pattern-test[data-v-5d31f4cf]{height:100%}.micro-patterns[data-v-5d31f4cf]{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:10px;width:100%;height:100%}.pattern-display[data-v-5d31f4cf]{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;height:100%;gap:20px;position:relative}.pattern-section[data-v-5d31f4cf]{display:flex;flex-direction:column;align-items:center;justify-content:center}.pattern-title[data-v-5d31f4cf]{font-weight:700;color:#333;font-size:16px;flex-shrink:0}.pattern-counter[data-v-5d31f4cf]{font-size:14px;color:#666;flex-shrink:0;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}.micro-grid-1px[data-v-5d31f4cf],.micro-grid-2px[data-v-5d31f4cf],.micro-lines[data-v-5d31f4cf],.micro-checkerboard[data-v-5d31f4cf]{flex:1;width:100%;background-color:#fff}.micro-grid-1px[data-v-5d31f4cf]{background-image:linear-gradient(rgba(0,0,0,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,1) 1px,transparent 1px);background-size:2px 2px}.micro-grid-2px[data-v-5d31f4cf]{background-image:linear-gradient(rgba(0,0,0,1) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,1) 1px,transparent 1px);background-size:4px 4px}.micro-lines[data-v-5d31f4cf]{background-image:repeating-linear-gradient(0deg,#000 0px 1px,#fff 1px 2px);background-size:100% 2px}.micro-checkerboard[data-v-5d31f4cf]{background-image:linear-gradient(45deg,#000 25%,transparent 25%),linear-gradient(-45deg,#000 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#000 75%),linear-gradient(-45deg,transparent 75%,#000 75%);background-size:4px 4px;background-position:0 0,0 2px,2px -2px,-2px 0px}@media(max-width:768px){.micro-patterns[data-v-5d31f4cf]{grid-template-columns:1fr;gap:20px}.micro-grid-1px[data-v-5d31f4cf],.micro-grid-2px[data-v-5d31f4cf],.micro-lines[data-v-5d31f4cf],.micro-checkerboard[data-v-5d31f4cf]{width:250px;height:250px}}.settings-container[data-v-67123926]{height:100%;overflow-y:auto;background:var(--bg-primary)}.settings-content[data-v-67123926]{padding:24px;max-width:800px;margin:0 auto}.settings-section[data-v-67123926]{margin-bottom:32px;background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px}.section-title[data-v-67123926]{display:flex;align-items:center;gap:12px;margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.section-icon[data-v-67123926]{font-size:20px}.setting-item[data-v-67123926]{display:flex;align-items:center;justify-content:space-between;padding:16px 0;border-bottom:1px solid var(--border-color)}.setting-item[data-v-67123926]:last-child{border-bottom:none;padding-bottom:0}.setting-info[data-v-67123926]{flex:1}.setting-label[data-v-67123926]{display:block;font-size:16px;font-weight:500;color:var(--text-primary);margin-bottom:4px}.setting-desc[data-v-67123926]{font-size:14px;color:var(--text-secondary);line-height:1.4}.setting-control[data-v-67123926]{flex-shrink:0;margin-left:24px}.setting-select[data-v-67123926]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:8px 12px;color:var(--text-primary);font-size:14px;min-width:120px;cursor:pointer;transition:var(--transition)}.setting-select[data-v-67123926]:hover{border-color:var(--border-hover)}.setting-select[data-v-67123926]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px #6366f11a}.toggle-switch[data-v-67123926]{position:relative;display:inline-block;width:48px;height:24px;cursor:pointer}.toggle-switch input[data-v-67123926]{opacity:0;width:0;height:0}.toggle-slider[data-v-67123926]{position:absolute;cursor:pointer;inset:0;background:var(--bg-tertiary);border:1px solid var(--border-color);transition:var(--transition);border-radius:24px}.toggle-slider[data-v-67123926]:before{position:absolute;content:"";height:18px;width:18px;left:2px;bottom:2px;background:#fff;transition:var(--transition);border-radius:50%;box-shadow:0 2px 4px #0000001a}input:checked+.toggle-slider[data-v-67123926]{background:var(--primary-color);border-color:var(--primary-color)}input:checked+.toggle-slider[data-v-67123926]:before{transform:translate(24px)}.action-btn[data-v-67123926]{display:flex;align-items:center;gap:8px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);padding:8px 16px;font-size:14px;font-weight:500;cursor:pointer;transition:var(--transition)}.action-btn[data-v-67123926]:hover{background:var(--primary-hover);transform:translateY(-1px)}.action-btn.danger[data-v-67123926]{background:var(--danger-color)}.action-btn.danger[data-v-67123926]:hover{background:var(--danger-hover)}.about-info[data-v-67123926]{display:flex;flex-direction:column;gap:16px}.about-item[data-v-67123926]{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border-color)}.about-item[data-v-67123926]:last-child{border-bottom:none;padding-bottom:0}.about-label[data-v-67123926]{font-size:14px;color:var(--text-secondary);font-weight:500}.about-value[data-v-67123926]{font-size:14px;color:var(--text-primary);font-weight:500}.about-link[data-v-67123926]{display:flex;align-items:center;gap:6px;color:var(--primary-color);text-decoration:none;font-size:14px;font-weight:500;transition:var(--transition)}.about-link[data-v-67123926]:hover{color:var(--primary-hover);text-decoration:underline}@media(max-width:640px){.settings-content[data-v-67123926]{padding:16px}.settings-section[data-v-67123926]{padding:16px;margin-bottom:16px}.setting-item[data-v-67123926]{flex-direction:column;align-items:flex-start;gap:12px}.setting-control[data-v-67123926]{margin-left:0;width:100%}.setting-select[data-v-67123926]{width:100%}.about-item[data-v-67123926]{flex-direction:column;align-items:flex-start;gap:8px}}.countries-capitals[data-v-691908b6]{display:flex;flex-direction:column;height:100%;width:100%;background:var(--bg-primary)}.content-wrapper[data-v-691908b6]{flex:1;overflow-y:auto;display:flex;justify-content:center;padding-bottom:8rem}.reference-content[data-v-691908b6]{max-width:1000px;width:100%;padding:1.5rem 1.5rem 3rem}.countries-section[data-v-691908b6]{margin-bottom:4rem}.advanced-filters[data-v-691908b6]{display:flex;align-items:center;gap:1rem;padding:0}.filter-group[data-v-691908b6]{display:flex;align-items:center;gap:.5rem;min-width:auto}.filter-label[data-v-691908b6]{font-size:.75rem;font-weight:500;color:var(--text-secondary);white-space:nowrap}.filter-select[data-v-691908b6]{padding:.25rem .375rem;border:1px solid var(--border-color);border-radius:.25rem;background:var(--bg-primary);color:var(--text-primary);font-size:.75rem;transition:all .2s}.filter-select[data-v-691908b6]:focus{outline:none;border-color:var(--accent-color);box-shadow:0 0 0 1px #3b82f61a}.sort-btn[data-v-691908b6]{padding:.25rem .375rem;border:1px solid var(--border-color);border-radius:.25rem;background:var(--bg-primary);color:var(--text-primary);font-size:1rem;font-weight:700;cursor:pointer;transition:all .2s;min-width:2rem;display:flex;align-items:center;justify-content:center;margin-top:0}.sort-btn[data-v-691908b6]:hover{background:var(--bg-tertiary);border-color:var(--accent-color)}.sort-btn.desc[data-v-691908b6]{background:var(--accent-color)!important;color:#fff!important;border-color:var(--accent-color)!important}.section-header[data-v-691908b6]{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.75rem;border-bottom:1px solid var(--border-color)}.header-left[data-v-691908b6]{display:flex;align-items:center;gap:1rem}.header-left h3[data-v-691908b6]{margin:0;font-size:1.25rem;font-weight:600;color:var(--text-primary)}.section-info[data-v-691908b6]{display:flex;align-items:center;gap:1rem}.info-text[data-v-691908b6]{font-size:.875rem;color:var(--text-secondary)}.countries-grid[data-v-691908b6]{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1rem;margin-bottom:2rem}.country-card[data-v-691908b6]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:.75rem;padding:1rem;transition:all .2s ease;cursor:pointer}.country-card[data-v-691908b6]:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a;border-color:var(--accent-color)}.card-header[data-v-691908b6]{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.country-index[data-v-691908b6]{display:flex;align-items:center;justify-content:center;width:1.75rem;height:1.75rem;background:var(--accent-color);color:#fff;border-radius:50%;font-size:.75rem;font-weight:600}.country-region[data-v-691908b6]{background:var(--bg-tertiary);color:var(--text-secondary);padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:500}.card-content[data-v-691908b6]{display:flex;flex-direction:column;gap:.75rem}.country-main[data-v-691908b6]{display:flex;align-items:flex-start;gap:.75rem}.country-flag-section[data-v-691908b6]{flex-shrink:0}.flag-image[data-v-691908b6]{width:3rem;height:2rem;object-fit:cover;border-radius:.25rem;box-shadow:0 2px 4px #0000001a;border:1px solid var(--border-color)}.country-details[data-v-691908b6]{flex:1;display:flex;flex-direction:column;gap:.5rem}.country-names[data-v-691908b6]{display:flex;flex-direction:column;gap:.125rem}.country-name[data-v-691908b6]{margin:0;font-size:1rem;font-weight:600;color:var(--text-primary);line-height:1.3}.country-name-en[data-v-691908b6]{margin:0;font-size:.8rem;color:var(--text-secondary);font-style:italic}.capital-info[data-v-691908b6]{display:flex;flex-direction:column;gap:.125rem}.capital-main[data-v-691908b6]{display:flex;align-items:center;gap:.375rem}.capital-icon[data-v-691908b6]{font-size:.875rem;opacity:.7}.capital-names[data-v-691908b6]{display:flex;flex-direction:column;gap:.125rem}.capital-name[data-v-691908b6]{font-size:.875rem;font-weight:500;color:var(--text-primary)}.capital-name-en[data-v-691908b6]{font-size:.75rem;color:var(--text-secondary);font-style:italic}.country-stats[data-v-691908b6]{display:flex;gap:.75rem;padding-top:.5rem;border-top:1px solid var(--border-color);margin-top:.25rem}.stat-item[data-v-691908b6]{display:flex;align-items:center;gap:.25rem;flex:1}.stat-icon[data-v-691908b6]{font-size:.75rem;opacity:.7}.stat-value[data-v-691908b6]{font-size:.75rem;color:var(--text-secondary);font-weight:500}.pagination[data-v-691908b6]{display:flex;align-items:center;justify-content:center;gap:1rem;padding:1rem 0;border-top:1px solid var(--border-color);margin-top:1rem;margin-bottom:1rem}.no-pagination-spacer[data-v-691908b6]{height:2rem}.page-btn[data-v-691908b6]{display:flex;align-items:center;justify-content:center;width:2rem;height:2rem;background:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);cursor:pointer;border-radius:.375rem;transition:all .2s}.page-btn[data-v-691908b6]:hover:not(:disabled){background:var(--bg-tertiary);border-color:var(--accent-color)}.page-btn[data-v-691908b6]:disabled{opacity:.5;cursor:not-allowed}.page-info[data-v-691908b6]{color:var(--text-secondary);font-size:.875rem;min-width:4rem;text-align:center}.modal-body[data-v-691908b6]{padding:1.5rem}.modal-title[data-v-691908b6]{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.modal-flag-section[data-v-691908b6]{display:flex;flex-direction:column;align-items:center;gap:.25rem}.flag-image-large[data-v-691908b6]{width:4rem;height:2.5rem;object-fit:cover;border-radius:.375rem;box-shadow:0 4px 8px #00000026;border:1px solid var(--border-color)}.title-text h3[data-v-691908b6]{margin:0;font-size:1.5rem;font-weight:600;color:var(--text-primary)}.title-text p[data-v-691908b6]{margin:.25rem 0 0;font-size:1rem;color:var(--text-secondary);font-style:italic}.country-info-grid[data-v-691908b6]{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1.5rem}.info-item[data-v-691908b6]{background:var(--bg-secondary);padding:1rem;border-radius:.5rem;border:1px solid var(--border-color)}.info-label[data-v-691908b6]{font-size:.75rem;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-weight:500;margin-bottom:.5rem}.info-value[data-v-691908b6]{font-size:1rem;font-weight:500;color:var(--text-primary);display:flex;flex-direction:column;gap:.25rem}.info-value-en[data-v-691908b6]{font-size:.875rem;color:var(--text-secondary);font-style:italic;font-weight:400}.country-history[data-v-691908b6]{background:var(--bg-secondary);padding:1.5rem;border-radius:.75rem;border:1px solid var(--border-color)}.history-label[data-v-691908b6]{font-size:1rem;font-weight:600;color:var(--text-primary);margin-bottom:1rem}.history-content[data-v-691908b6]{font-size:.95rem;line-height:1.6;color:var(--text-secondary)}.no-info[data-v-691908b6]{text-align:center;padding:2rem;color:var(--text-secondary)}.no-info p[data-v-691908b6]{margin:0;font-style:italic}@media(max-width:768px){.reference-content[data-v-691908b6]{padding:1rem 1rem 8rem}.advanced-filters[data-v-691908b6]{flex-direction:column;gap:.75rem;padding:0}.filter-group[data-v-691908b6]{min-width:auto}.sort-btn[data-v-691908b6]{margin-top:0;align-self:flex-start}.countries-grid[data-v-691908b6]{grid-template-columns:1fr;gap:.75rem}.country-card[data-v-691908b6]{padding:.875rem}.card-header[data-v-691908b6]{margin-bottom:.5rem}.card-content[data-v-691908b6],.country-main[data-v-691908b6]{gap:.5rem}.flag-image[data-v-691908b6]{width:2.5rem;height:1.75rem}.country-name[data-v-691908b6]{font-size:.9rem}.country-name-en[data-v-691908b6]{font-size:.75rem}.capital-name[data-v-691908b6]{font-size:.8rem}.capital-name-en[data-v-691908b6]{font-size:.7rem}.country-stats[data-v-691908b6]{gap:.5rem;padding-top:.375rem}.stat-value[data-v-691908b6]{font-size:.7rem}.country-info-grid[data-v-691908b6]{grid-template-columns:1fr;gap:.75rem}.flag-image-large[data-v-691908b6]{width:3.5rem;height:2.25rem}.title-text h3[data-v-691908b6]{font-size:1.25rem}}.emoji-reference[data-v-9fdcb846]{width:100%;height:100vh;display:flex;flex-direction:column}.converter-content[data-v-9fdcb846]{flex:1;overflow-y:auto;padding:1.5rem 0 4rem}.content-wrapper[data-v-9fdcb846]{max-width:1000px;margin:0 auto;padding:0 20px}.emoji-grid-container[data-v-9fdcb846]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:2rem}.emoji-grid[data-v-9fdcb846]{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:12px}.emoji-item[data-v-9fdcb846]{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);cursor:pointer;transition:var(--transition);text-align:center}.emoji-item[data-v-9fdcb846]:hover{background:var(--bg-tertiary);border-color:var(--primary-color);transform:translateY(-2px);box-shadow:var(--shadow-md)}.emoji-symbol[data-v-9fdcb846]{font-size:32px;line-height:1}.emoji-name[data-v-9fdcb846]{font-size:12px;color:var(--text-secondary);font-weight:500;word-break:break-all}.no-results[data-v-9fdcb846]{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:60px 20px;text-align:center}.no-results-icon[data-v-9fdcb846]{font-size:48px;opacity:.5}.no-results p[data-v-9fdcb846]{margin:0;color:var(--text-secondary);font-size:16px}@media(max-width:768px){.converter-content[data-v-9fdcb846]{padding:16px}.emoji-grid[data-v-9fdcb846]{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px}.emoji-item[data-v-9fdcb846]{padding:12px 6px}.emoji-symbol[data-v-9fdcb846]{font-size:28px}}@media(max-width:480px){.emoji-grid[data-v-9fdcb846]{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}.emoji-symbol[data-v-9fdcb846]{font-size:24px}.emoji-name[data-v-9fdcb846]{font-size:11px}}[data-v-9fdcb846] .category-filter{display:flex;gap:.375rem;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;padding-bottom:.25rem}[data-v-9fdcb846] .category-filter::-webkit-scrollbar{display:none}[data-v-9fdcb846] .category-btn{padding:.5rem .875rem;font-size:.8125rem;white-space:nowrap;flex-shrink:0;min-width:fit-content}@media(max-width:768px){[data-v-9fdcb846] .category-btn{padding:.375rem .75rem;font-size:.75rem}}@media(max-width:480px){[data-v-9fdcb846] .category-btn{padding:.25rem .5rem;font-size:.7rem}}.ip-lookup[data-v-f18bcfbc]{width:100%;height:100vh;display:flex;flex-direction:column}.converter-content[data-v-f18bcfbc]{flex:1;overflow-y:auto;padding:1.5rem 0 6rem}.content-wrapper[data-v-f18bcfbc]{max-width:1000px;margin:0 auto;padding:0 20px;display:flex;flex-direction:column;gap:32px}.current-ip-section[data-v-f18bcfbc],.query-section[data-v-f18bcfbc],.history-section[data-v-f18bcfbc]{background:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-lg);padding:24px;box-shadow:var(--shadow-sm)}.section-header[data-v-f18bcfbc]{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:16px}.section-header h2[data-v-f18bcfbc]{margin:0;font-size:18px;font-weight:600;color:var(--text-primary)}.api-source-selector[data-v-f18bcfbc]{display:flex;align-items:center;gap:8px}.api-source-selector label[data-v-f18bcfbc]{font-size:14px;color:var(--text-secondary);white-space:nowrap}.select-wrapper[data-v-f18bcfbc]{position:relative;display:inline-block}.source-select[data-v-f18bcfbc]{appearance:none;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:6px 32px 6px 12px;font-size:14px;color:var(--text-primary);cursor:pointer;transition:var(--transition);min-width:200px}.source-select[data-v-f18bcfbc]:hover{border-color:var(--primary-color)}.source-select[data-v-f18bcfbc]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.select-arrow[data-v-f18bcfbc]{position:absolute;right:8px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--text-secondary)}.current-ip-section h2[data-v-f18bcfbc],.query-section h2[data-v-f18bcfbc],.history-section h2[data-v-f18bcfbc]{margin:0 0 20px;font-size:18px;font-weight:600;color:var(--text-primary)}.api-results[data-v-f18bcfbc]{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:16px}.ip-card[data-v-f18bcfbc]{background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);padding:20px;transition:var(--transition)}.ip-card.primary-source[data-v-f18bcfbc]{border-color:var(--primary-color);box-shadow:0 0 0 1px var(--primary-color-alpha)}.loading-card[data-v-f18bcfbc]{position:relative;overflow:hidden}.source-header[data-v-f18bcfbc]{display:flex;align-items:center;gap:8px;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.source-name[data-v-f18bcfbc]{font-weight:600;color:var(--text-primary);font-size:14px}.primary-badge[data-v-f18bcfbc]{background:var(--primary-color);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500}.error-badge[data-v-f18bcfbc]{background:var(--error-color);color:#fff;padding:2px 8px;border-radius:var(--radius-sm);font-size:12px;font-weight:500}.ip-main[data-v-f18bcfbc]{margin-bottom:16px}.ip-address-container[data-v-f18bcfbc]{display:flex;align-items:center;gap:8px;margin-bottom:4px}.ip-address[data-v-f18bcfbc]{font-size:20px;font-weight:600;color:var(--primary-color)}.copy-btn[data-v-f18bcfbc]{padding:4px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;transition:var(--transition);display:flex;align-items:center;justify-content:center;min-width:24px;height:24px}.copy-btn[data-v-f18bcfbc]:hover{background:var(--primary-color);color:#fff;border-color:var(--primary-color)}.error-info[data-v-f18bcfbc]{padding:12px;background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:var(--radius-sm)}.error-message[data-v-f18bcfbc]{font-size:14px;color:var(--error-color);margin-bottom:8px}.visit-link[data-v-f18bcfbc]{display:inline-block;padding:6px 12px;background:var(--primary-color);color:#fff;text-decoration:none;border-radius:var(--radius-sm);font-size:12px;font-weight:500;transition:var(--transition)}.visit-link[data-v-f18bcfbc]:hover{background:var(--primary-hover)}.ip-details[data-v-f18bcfbc]{display:flex;flex-direction:column;gap:8px}.detail-item[data-v-f18bcfbc]{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid var(--border-color)}.detail-item[data-v-f18bcfbc]:last-child{border-bottom:none}.label[data-v-f18bcfbc]{font-size:13px;color:var(--text-secondary);font-weight:500}.value[data-v-f18bcfbc]{font-size:13px;color:var(--text-primary);font-weight:500;text-align:right}.loading[data-v-f18bcfbc]{display:flex;align-items:center;gap:12px;padding:40px 20px;justify-content:center;color:var(--text-secondary)}.error[data-v-f18bcfbc]{display:flex;align-items:center;gap:12px;padding:20px;background:var(--error-color-alpha);border:1px solid var(--error-color);border-radius:var(--radius-md);color:var(--error-color)}.retry-btn[data-v-f18bcfbc]{padding:6px 12px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12px;transition:var(--transition)}.retry-btn[data-v-f18bcfbc]:hover{background:var(--primary-hover)}.query-form[data-v-f18bcfbc]{margin-bottom:24px}.input-group[data-v-f18bcfbc]{display:flex;gap:12px;margin-bottom:12px}.input-group input[data-v-f18bcfbc]{flex:1;padding:12px 16px;border:1px solid var(--border-color);border-radius:var(--radius-md);background:var(--bg-primary);color:var(--text-primary);font-size:14px;transition:var(--transition)}.input-group input[data-v-f18bcfbc]:focus{outline:none;border-color:var(--primary-color);box-shadow:0 0 0 3px var(--primary-color-alpha)}.input-group input[data-v-f18bcfbc]:disabled{opacity:.6;cursor:not-allowed}.query-btn[data-v-f18bcfbc]{padding:12px 24px;background:var(--primary-color);color:#fff;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:14px;font-weight:500;transition:var(--transition);min-width:80px;display:flex;align-items:center;justify-content:center}.query-btn[data-v-f18bcfbc]:hover:not(:disabled){background:var(--primary-hover)}.query-btn[data-v-f18bcfbc]:disabled{opacity:.6;cursor:not-allowed}.ip-examples[data-v-f18bcfbc]{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ip-examples span[data-v-f18bcfbc]{font-size:14px;color:var(--text-secondary)}.example-btn[data-v-f18bcfbc]{padding:4px 8px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;font-size:12px;transition:var(--transition)}.example-btn[data-v-f18bcfbc]:hover{background:var(--bg-hover);color:var(--text-primary)}.query-result[data-v-f18bcfbc]{margin-top:20px}.history-list[data-v-f18bcfbc]{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}.history-item[data-v-f18bcfbc]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:var(--bg-primary);border:1px solid var(--border-color);border-radius:var(--radius-md);transition:var(--transition)}.history-item[data-v-f18bcfbc]:hover{background:var(--bg-tertiary);border-color:var(--primary-color)}.history-content[data-v-f18bcfbc]{display:flex;align-items:center;gap:16px;flex:1;cursor:pointer}.history-ip[data-v-f18bcfbc]{font-weight:500;color:var(--primary-color);min-width:120px}.history-location[data-v-f18bcfbc]{flex:1;color:var(--text-secondary);font-size:14px}.history-time[data-v-f18bcfbc]{font-size:12px;color:var(--text-muted)}.clear-history-btn[data-v-f18bcfbc]{padding:8px 16px;background:var(--bg-tertiary);border:1px solid var(--border-color);border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;font-size:14px;transition:var(--transition)}.clear-history-btn[data-v-f18bcfbc]:hover{background:var(--bg-hover);color:var(--text-primary)}.spinner[data-v-f18bcfbc]{width:20px;height:20px;border:2px solid var(--border-color);border-top:2px solid var(--primary-color);border-radius:50%;animation:spin-f18bcfbc 1s linear infinite}.spinner.small[data-v-f18bcfbc]{width:16px;height:16px}@keyframes spin-f18bcfbc{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.skeleton-text[data-v-f18bcfbc]{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-hover) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading-f18bcfbc 1.5s infinite;border-radius:var(--radius-sm);height:16px;width:80px}.skeleton-content[data-v-f18bcfbc]{padding:4px 0}.skeleton-ip[data-v-f18bcfbc]{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-hover) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading-f18bcfbc 1.5s infinite;border-radius:var(--radius-sm);height:24px;width:140px;margin-bottom:8px}.skeleton-location[data-v-f18bcfbc]{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-hover) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading-f18bcfbc 1.5s infinite;border-radius:var(--radius-sm);height:16px;width:100px;margin-bottom:16px}.skeleton-details[data-v-f18bcfbc]{display:flex;flex-direction:column;gap:8px}.skeleton-detail-item[data-v-f18bcfbc]{background:linear-gradient(90deg,var(--border-color) 25%,var(--bg-hover) 50%,var(--border-color) 75%);background-size:200% 100%;animation:skeleton-loading-f18bcfbc 1.5s infinite;border-radius:var(--radius-sm);height:14px;width:100%}.skeleton-detail-item[data-v-f18bcfbc]:nth-child(1){width:90%}.skeleton-detail-item[data-v-f18bcfbc]:nth-child(2){width:75%}.skeleton-detail-item[data-v-f18bcfbc]:nth-child(3){width:85%}@keyframes skeleton-loading-f18bcfbc{0%{background-position:-200% 0}to{background-position:200% 0}}@media(max-width:768px){.converter-content[data-v-f18bcfbc]{padding:16px 0 6rem}.content-wrapper[data-v-f18bcfbc]{gap:24px;padding:0 16px}.current-ip-section[data-v-f18bcfbc],.query-section[data-v-f18bcfbc],.history-section[data-v-f18bcfbc]{padding:16px}.section-header[data-v-f18bcfbc]{flex-direction:column;align-items:flex-start;gap:12px}.api-source-selector[data-v-f18bcfbc]{width:100%;justify-content:space-between}.source-select[data-v-f18bcfbc]{min-width:180px;flex:1}.api-results[data-v-f18bcfbc]{grid-template-columns:1fr}.input-group[data-v-f18bcfbc]{flex-direction:column}.history-content[data-v-f18bcfbc]{flex-direction:column;align-items:flex-start;gap:8px}.history-ip[data-v-f18bcfbc]{min-width:auto}.copy-btn[data-v-f18bcfbc]{min-width:28px;height:28px}}@media(max-width:480px){.ip-examples[data-v-f18bcfbc]{flex-direction:column;align-items:flex-start}.example-btn[data-v-f18bcfbc]{padding:6px 12px}}.settings-overlay[data-v-3e57a101]{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;backdrop-filter:blur(4px)}.settings-modal[data-v-3e57a101]{background:var(--bg-card);border:1px solid var(--border-color);border-radius:var(--radius-lg);width:90%;max-width:800px;max-height:85vh;overflow:hidden;box-shadow:var(--shadow-xl);display:flex;flex-direction:column}.settings-header[data-v-3e57a101]{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--border-color);background:var(--bg-secondary);flex-shrink:0}.settings-content[data-v-3e57a101]{flex:1;overflow-y:auto;min-height:0}.settings-header h2[data-v-3e57a101]{margin:0;font-size:20px;font-weight:600;color:var(--text-primary)}.close-btn[data-v-3e57a101]{width:32px;height:32px;background:none;border:none;border-radius:var(--radius-md);color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}.close-btn[data-v-3e57a101]:hover{background:var(--bg-tertiary);color:var(--text-primary)}.app-container[data-v-3e57a101]{width:100vw;height:100vh;display:flex;flex-direction:column;background:var(--bg-primary);overflow:hidden}.main-content[data-v-3e57a101]{flex:1;display:flex;min-height:0}.content-area[data-v-3e57a101]{flex:1;display:flex;flex-direction:column;min-width:0;background:var(--bg-primary)}.main-content[data-v-3e57a101]>*:not(.content-area):not(.navigation){flex:1;width:100%;min-width:0} diff --git a/docs/index.html b/docs/index.html index 6483e50..64427b5 100644 --- a/docs/index.html +++ b/docs/index.html @@ -6,8 +6,8 @@ Toolbox - 现代化工具箱 - - + + diff --git a/src/components/JsonFormatter.vue b/src/components/JsonFormatter.vue index b4303f5..216cdee 100644 --- a/src/components/JsonFormatter.vue +++ b/src/components/JsonFormatter.vue @@ -22,9 +22,9 @@ 自动格式化中... - +
    @@ -86,12 +86,14 @@
    -
    -
    - {{ index + 1 }} -
    -
    -
    +
    @@ -104,7 +106,7 @@