@fox-js/fox 3.0.1-9 → 3.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/libs/index.cjs.js CHANGED
@@ -1,3 +1,3 @@
1
1
  "use strict";/*!
2
- * fox v3.0.0 Wed Nov 02 2022 21:13:26 GMT+0800 (中国标准时间)
3
- */Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const g=require("vue"),wr=Array.isArray,Vr=r=>nt(r)==="[object Map]",Br=r=>nt(r)==="[object Set]",Wr=r=>r instanceof Date,S=r=>typeof r=="function",kr=r=>typeof r=="string",zr=r=>typeof r=="symbol",br=r=>r!==null&&typeof r=="object",Jr=r=>br(r)&&S(r.then)&&S(r.catch),Gr=Object.prototype.toString,nt=r=>Gr.call(r),Ze=r=>nt(r)==="[object Object]",Qr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Dt(r){return r.__esModule||Qr&&r[Symbol.toStringTag]==="Module"}const Xr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function E(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,n=r.length,s=!1;for(typeof e=="boolean"&&(s=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<n;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[t];for(let o in i){let l=e[o],a=i[o];if(l!==a)if(s===!0&&a&&typeof a=="object"){let f;Array.isArray(a)?f=l&&Array.isArray(l)?l:[]:f=l&&typeof l=="object"?l:{},e[o]=E(s,f,a)}else a!==void 0&&(e[o]=a)}}return e}function Oe(r,e,t=!1){if(!t)E(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s in e){let i=r[s],o=e[s];if(i!==o)if(typeof o=="object"){if(!Array.isArray(o)&&!Ze(o))continue;i=Oe(i,o,t),r[s]=i}else{if(typeof o=="function")continue;r[s]=o}}const n=Object.getOwnPropertySymbols(e);for(let s of n){let i=r[s],o=e[s];if(i!==o)if(typeof o=="object"){if(!Array.isArray(o)&&!Ze(o))continue;i=Oe(i,o,t),r[s]=i}else{if(typeof o=="function")continue;r[s]=o}}}return r}class ee{static seed=new Date().getTime();static get(){let e=++ee.seed;return e>=Number.MAX_VALUE&&(ee.seed=0),e}}const at=Xr?Promise.resolve():null;function $e(r,...e){at!==null?e&&e.length>0?at.then(()=>{r(e)}):at.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Ut(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":Boolean(r)}function Yr(r){return typeof r=="number"?r:Number(r)}const Zr={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Object]":"object"};function Le(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Zr[t]||"object"}function xr(r){return r&&typeof r=="object"&&"setInterval"in r}function Vt(r){let e=!!r&&"length"in r&&r.length,t=Le(r);return t==="function"||xr(r)?!1:t==="array"||e===0||typeof e=="number"&&e>0&&e-1 in r}function Rr(r,e){let t=+e.length,n=0,s=r.length;for(;n<t;n++)r[s++]=e[n];return r.length=s,r}function en(r,e=[]){let t=e;return r!=null&&(Vt(Object(r))?Rr(t,typeof r=="string"?[r]:r):t.push(r)),t}function tn(r,e,t){if(Vt(r))Reflect.apply([].forEach,r,[e]);else for(let n in r)if(t&&r.hasOwnProperty(n)){if(Reflect.apply(e,r,[r[n]])===!1)break}else if(Reflect.apply(e,r,[r[n]])===!1)break;return r}function et(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Le(r),n=Le(e);if(t!==n)return!1;if(t==="object"){let s=Object.keys(r),i=Object.keys(e);if(s.length!==i.length)return!1;for(let o=0;o<s.length;o++){let l=s[o],a=r[l],f=e[l];if(!et(a,f))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let s=0;s<r.length;s++){let i=r[s],o=e[s];if(!et(i,o))return!1}return!0}return!1}const tr=Symbol("idKey"),ae=Symbol("valueKey"),C=Symbol("childrenKey"),Q=Symbol("growKey");class Sr{[Q]=!0;[tr];[ae]=g.ref();[C]=new Map;constructor(e){this[tr]=e}}class rn{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[Q];let n=e[C].get(t);if(n)return Me(n);if(e[Q])return n=Wt(t),n[Q]=e[Q],e[C].set(t,n),Me(n)}set(e,t,n){return t=="value"?(e[ae].value=n,!0):t==="grow"?(e[Q]=Ut(n),!0):n==null?(e[C].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[C].delete(t),!0)}}const Bt="__proxy__";function Wt(r){let e=new Sr(r);return Reflect.set(e,Bt,new Proxy(e,new rn)),e}function Me(r){return Reflect.get(r,Bt)}class Cr extends Sr{constructor(){super("__root__")}put(...e){let t=e.length;if(t<2)return console.error("\u53C2\u6570\u81F3\u5C11\u5305\u62EC\u4E00\u4E2A(key, value)"),!1;let n=this;for(let s=0;s<t-1;s++){let i=e[s],o;n[C].has(i)?o=n[C].get(i):(o=Wt(i),n[C].set(i,o)),n=o}return n[ae].value=e[t-1],!0}get(...e){let t=e.length;if(t===0)return;let n=this;for(let s=0;s<t;s++){let i=e[s];if(n[C].has(i))n=n[C].get(i);else return}return n[ae].value}remove(...e){let t=e.length;if(t==0)return!1;let n=this;for(let i=0;i<t-1;i++){let o=e[i];if(n[C].has(o))n=n[C].get(o);else return!1}let s=e[t-1];return n[C].has(s)?(n[C].delete(s),!0):!1}contains(...e){let t=e.length;if(t==0)return!1;let n=this;for(let i=0;i<t-1;i++){let o=e[i];if(n[C].has(o))n=n[C].get(o);else return!1}let s=e[t-1];return n[C].has(s)}clear(){this[C].clear()}}const nn=["put","get","contains","remove","clear"];function rr(r){return nn.includes(r)}class sn{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[Q];if(t===C)return e[C];if(typeof t=="string"&&rr(t))return e[t];let n=String(t),s=e[C].get(n);if(s)return Me(s);if(e[Q])return s=Wt(n),s[Q]=e[Q],e[C].set(n,s),Me(s)}set(e,t,n){return t=="value"?(e[ae].value=n,!0):t==="grow"?(e[Q]=Ut(n),!0):rr(t)?!1:n==null?(e[C].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[C].delete(t),!0)}}function on(){let r=new Cr,e=new sn,t=new Proxy(r,e);return Object.assign({put(...s){return Reflect.apply(r.put,r,s)},get(...s){return Reflect.apply(r.get,r,s)},remove(...s){return Reflect.apply(r.remove,r,s)},contains(...s){return Reflect.apply(r.contains,r,s)},clear(){return Reflect.apply(r.clear,r,[])}},t),Reflect.set(r,Bt,t),r}let _t=new Proxy(Cr,{construct(r,...e){let t=on();return Me(t)}});const Z="default",Pr=Symbol("sync"),I=Symbol("resolveRoute");function nr(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function ln(r){let e=r.src;return new Promise((t,n)=>{const s=nr(l=>{Dt(l)&&(l=l.default),r.component=l,console.debug("success load async module"),t()}),i=nr(l=>{console.debug("reject load async module"),n(l)});let o;try{o=e(s,i)}catch(l){i(l)}if(o)if(typeof o.then=="function")o.then(s,i);else{const l=o.component;l&&typeof l.then=="function"&&l.then(s,i)}})}class an{name;level;rootName;rootIndex=0;constructor(e,t,n,s){this.name=e,this.level=t,this.rootName=n,this.rootIndex=s}}class tt{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){let t=new tt(e.to,e.from),n=e.data??{};return E(!0,t.data,n),t}}class ${path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??Z}!${e}`}name;root;params;query;matched;meta;success;error;destroy;opsType;updateType;viewTagAttrs;index;active;slot;session;static clone(e,t){let n=new $;return Oe(n,e,t),n}static isSame(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!==t.path||e.name&&e.name!==t.name||e.root!==t.root||e.index!==t.index)}static isSameForRouteModel(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!=t.path||e.name&&e.name!=t.name)}static from(e){let t=new $;if(e==null)return t;let n=t;for(let i in e){let o=e[i];n[i]=o}const s=Object.getOwnPropertySymbols(e);if(Array.isArray(s)&&s.length>0)for(let i of s)n[i]=e[i];return t}}class un{id;name;props;meta;src;component;constructor(e,t,n,s){this.id=ee.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=n,this.meta=s}get isResolved(){return this.component!==void 0}resolve(){return ln(this)}}class ir{models=[]}class ut{path;match;redirect;name;layers=[]}const D=Symbol("chainKey"),M=Symbol("cursorKey"),ft=Symbol("$persistentModeKey"),F=Symbol("statusKey"),X=Symbol("argsKey"),Ne=Symbol("exArgsKey"),fe=Symbol("successFnsKey"),Se=Symbol("errorFnsKey"),ie=Symbol("sessionKey"),Y=Symbol("_go");class Ie{[D]=[];[M]=0;[ft]=!1;[F]="Free";[X]=[];[Ne]=[];[fe]=[];[Se]=[];[ie];get session(){return this[ie]}constructor(e,t=!1){this[ie]=e,this[ft]=t}[Y](e,...t){let n=this[F];if(this[F]="Busy",this[M]+=e,this[M]<0&&(this[M]=0),this[X]=t,n==="Exception"||n==="Reject"){let l=[{session:this[ie]},...this[Ne]];for(;this[Se].length>0;)try{let a=this[Se].shift();typeof a=="function"&&$e(()=>{Reflect.apply(a,{},l)})}catch(a){console.error(a.message,a)}return this[F]=n,this[D]=[],this[M]=0,this}else if(n==="Finished"||this[M]>=this[D].length){let l=[{session:this[ie]},...this[X]];for(;this[fe].length>0;){let a=this[fe].shift();typeof a=="function"&&$e(()=>{Reflect.apply(a,{},l)})}return this[F]="Free",this}if(this[M]>=this[D].length)return this[F]="Free",this;let s=this[D][this[M]];this[ft]||(this[D].splice(0,this[M]+1),this[M]=-1);let i=this[M]+1;try{let o=!1,l={go:(a,...f)=>{o||(o=!0,Reflect.apply(this[Y],this,[a,...f]))},resolve:(...a)=>{o||(o=!0,Reflect.apply(this[Y],this,[1,...a]))},reject:(...a)=>{o||(o=!0,Reflect.apply(this.reject,this,[...a]))},insert:a=>{o||(this[D].splice(i,0,a),i++)},session:this[ie]};$e(()=>{Reflect.apply(s,{},[l,...this[X]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[Y],this,[e,...t])}finish(...e){return this[F]="Finished",this[X]=e,Reflect.apply(this[Y],this,[0])}reject(...e){return this[F]="Reject",this[Ne]=e,Reflect.apply(this[Y],this,[0])}throw(...e){return this[F]="Exception",this[Ne]=e,Reflect.apply(this[Y],this,[0])}reset(...e){this[F]="Busy",this[X]=e,this[D]=[],this[M]=0;let n=[{session:this[ie]},...this[X]];for(;this[fe].length>0;){let s=this[fe].shift();$e(()=>{Reflect.apply(s,this,n)})}return this[F]="Free",this}post(e){return this[F]==="Reject"||this[F]==="Exception"?this:(Array.isArray(e)?this[D]=[...this[D],...e]:this[D].push(e),this[F]==="Busy"?this:(Reflect.apply(this[Y],this,[0,...this[X]]),this))}wait(e,t){return e&&typeof e=="function"&&this[fe].push(e),t&&typeof t=="function"&&this[Se].push(t),this[F]==="Busy"?this:(Reflect.apply(this[Y],this,[0,...this[X]]),this)}exception(e){return e&&typeof e=="function"&&this[Se].push(e),this[F]==="Busy"?this:Reflect.apply(this[Y],this,[0,...this[X]])}isFinish(){return this[F]=="Reject"||this[F]=="Free"&&this[M]>=this[D].length}}const ce=Symbol("registerKey");class fn{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class qt{[ce]=new Map;constructor(){}on(e,t,n=!1){let s=this[ce].get(e);s||(s=new Array,this[ce].set(e,s));let i=n===!0?1:0,o=new fn(t,i);return s.push(o),this}off(e,t){if(!t)return this[ce].delete(e),this;let n=this[ce].get(e);if(n){for(let s=0;s<n.length;s++)if(n[s].callback===t){n.splice(s,1);break}}return this}bind(e,t,n=!1){return this.on(e,t,n)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let n=e[t-1];if(typeof n!="function")return console.error("callback can not benn empty"),this;let s=t-1,i=new Array(s),o=[].splice.call(e,0,s);for(let l=0;l<o.length;l++)this.once(o[l],a=>{i[l]=a,s-=1,s==0&&Reflect.apply(n,{},i)});return this}emit(e,...t){let n=this[ce].get(e);if(!n)return this;for(let s=0;s<n.length;){let i=n[s];if(i.policy==1?n.splice(s,1):s++,typeof i.callback=="function")try{$e(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}function cn(r,e="text"){e=e.trim().toLowerCase();let t="";if(e.indexOf("application/x-www-form-urlencoded")===0)if(typeof r=="object")for(let n in r){let s=r[n];if(Array.isArray(s))for(let i=0;i<s.length;i++){let o=`${encodeURIComponent(n)}=${encodeURIComponent(s[i])}`;t.length>0&&(t+="&"),t+=o}else{let i=`${encodeURIComponent(n)}=${encodeURIComponent(s)}`;t.length>0&&(t+="&"),t+=i}}else t=r;else e.indexOf("text")===0?typeof r=="object"?t=JSON.stringify(r):t=r:e.indexOf("application/json")===0&&typeof r=="object"?t=JSON.stringify(r):t=r;return t}function hn(r,e,t="text"){if(e==null)return r;t=t.trim().toLowerCase();let n="";if(t.indexOf("application/x-www-form-urlencoded")===0||t.indexOf("application/json")===0)if(typeof e=="object")for(let s in e){let i=e[s];if(Array.isArray(i))for(let o=0;o<i.length;o++){let l=`${encodeURIComponent(s)}=${encodeURIComponent(i[o])}`;n.length>0&&(n+="&"),n+=l}else{let o=`${encodeURIComponent(s)}=${encodeURIComponent(i)}`;n.length>0&&(n+="&"),n+=o}}else n=e;else n=e;return n.length>0&&(r.indexOf("?")===-1?r=`${r}?${n}`:r=`${r}&${n}`),r}const dn={method:"POST",headers:{"Content-Type":"application/json; charset=UTF-8"},mode:"cors",credentials:"same-origin",cache:"default",redirect:"follow",keepalive:!0},ve=new Map;async function kt(r){let{id:e,method:t="POST",url:n,headers:s={},data:i,processData:o=!0,timeout:l=-1}=r;if(e&&ve.has(e))throw new Error("resubmit");t=t.toUpperCase();let{contentType:a="application/json; charset=UTF-8"}=s,f=E(!0,{...dn},{method:t,headers:s});if(t==="GET"?n=hn(n,i,a):(o&&(i=cn(i,a)),f.body=i),e||l>0){e||(e=`fetch_${ee.get()}`);const u=new AbortController;f.signal=u.signal;let c={timer:null,controller:u};if(l>0){const h=setTimeout(()=>{c.timer&&c.controller.abort()},l);c.timer=h}ve.set(e,c)}try{let u=await fetch(n,f),c={};u.headers.forEach((y,v)=>{c[y]=v});let h,d=c["content-type"]??"";return d.indexOf("application/json")!==-1?h=await u.json():d.indexOf("text")!=-1?h=await u.text():h=await u.blob(),{ok:u.ok,status:u.status,statusText:u.statusText,headers:c,data:h,response:u}}catch(u){throw u}finally{if(e){let u=ve.get(e);u&&(u.timer&&(clearTimeout(u.timer),u.timer=null),ve.delete(e))}}}function yn(r){let e=ve.get(r);return e?(e.timer&&(clearTimeout(e.timer),e.timer=null),e.controller.abort(),ve.delete(r),!0):!1}const Ce=Symbol("registerKey");class pn{[Ce]=new Map;constructor(){}set(e,t){this[Ce].set(e,t)}get(e){return this[Ce].get(e)}has(e){return this[Ce].has(e)}delete(e){return this[Ce].delete(e)}}const $t=Symbol("lc");function Qe(r,e=!1){let t=r,n=t[$t];if(!n)if(e)n=new pn,t[$t]=n;else return null;return n}function Ar(r,e){let t=r;for(;t!==null;){let n=t[$t];if(n&&n.has(e))return n.get(e);t=t.$parent}return null}function sr(r){if(Array.isArray(r.children)&&r.children.length>0){let e=r.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return Qe(e.component.proxy,!1)}return null}const rt=Symbol("hooksKey");function mn(r){let e=r.get(rt);e||(e=[],r.set(rt,e))}function or(r,e){let t=r.get(rt);if(t!=null)for(let n=t.length-1;n>=0;n--){let s=t[n];if(s.type===e)try{Reflect.apply(s.hook,s.target,[])}catch(i){console.error(i.message,i)}}}var Ot=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Ot||{});class vn{type;hook;target;constructor(e,t,n){this.target=n,this.hook=t,this.type=e}}function gn(r,e,t,n){let s=new vn(e,t,n);return r.push(s),!0}function wn(r,e,t,n){let s=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===n){s=i;break}}return s!=-1?(r.splice(s,1),!0):!1}function Er(r){return(e,t)=>{let n;if(t)n=t;else{let i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}n=i.proxy}let s=Ar(n,rt);if(s==null){console.warn("can not get hooks context");return}g.onUnmounted(()=>{wn(s,r,e,n)}),gn(s,r,e,n)}}let bn=Er("a"),xn=Er("da");function Rn(){let r=new $;return r.path="",r.name="",r.params={},r.index=-1,g.shallowReactive(r)}const Lt=Symbol("routeKey");function ct(r,e){let t=r.get(Lt);if(t){let n={path:"",name:"",params:{},index:-1,session:{}};Object.assign(n,e),Object.assign(t,n)}else t=Rn(),Object.assign(t,e),r.set(Lt,t)}function Fr(r){let e=Ar(r,Lt);return e??null}const it=Symbol("rk"),ht=Symbol("vd"),lr=Symbol("rv"),dt=Symbol("rvi"),ar=Symbol("pv"),yt=Symbol("pvi");function Sn(r){for(var e=[],t=0;t<r.length;){var n=r[t];if(n==="*"||n==="+"||n==="?"){e.push({type:"MODIFIER",index:t,value:r[t++]});continue}if(n==="\\"){e.push({type:"ESCAPED_CHAR",index:t++,value:r[t++]});continue}if(n==="{"){e.push({type:"OPEN",index:t,value:r[t++]});continue}if(n==="}"){e.push({type:"CLOSE",index:t,value:r[t++]});continue}if(n===":"){for(var s="",i=t+1;i<r.length;){var o=r.charCodeAt(i);if(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122||o===95){s+=r[i++];continue}break}if(!s)throw new TypeError("Missing parameter name at ".concat(t));e.push({type:"NAME",index:t,value:s}),t=i;continue}if(n==="("){var l=1,a="",i=t+1;if(r[i]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(i));for(;i<r.length;){if(r[i]==="\\"){a+=r[i++]+r[i++];continue}if(r[i]===")"){if(l--,l===0){i++;break}}else if(r[i]==="("&&(l++,r[i+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(i));a+=r[i++]}if(l)throw new TypeError("Unbalanced pattern at ".concat(t));if(!a)throw new TypeError("Missing pattern at ".concat(t));e.push({type:"PATTERN",index:t,value:a}),t=i;continue}e.push({type:"CHAR",index:t,value:r[t++]})}return e.push({type:"END",index:t,value:""}),e}function Tr(r,e){e===void 0&&(e={});for(var t=Sn(r),n=e.prefixes,s=n===void 0?"./":n,i="[^".concat(me(e.delimiter||"/#?"),"]+?"),o=[],l=0,a=0,f="",u=function(R){if(a<t.length&&t[a].type===R)return t[a++].value},c=function(R){var q=u(R);if(q!==void 0)return q;var K=t[a],_=K.type,L=K.index;throw new TypeError("Unexpected ".concat(_," at ").concat(L,", expected ").concat(R))},h=function(){for(var R="",q;q=u("CHAR")||u("ESCAPED_CHAR");)R+=q;return R};a<t.length;){var d=u("CHAR"),y=u("NAME"),v=u("PATTERN");if(y||v){var p=d||"";s.indexOf(p)===-1&&(f+=p,p=""),f&&(o.push(f),f=""),o.push({name:y||l++,prefix:p,suffix:"",pattern:v||i,modifier:u("MODIFIER")||""});continue}var m=d||u("ESCAPED_CHAR");if(m){f+=m;continue}f&&(o.push(f),f="");var b=u("OPEN");if(b){var p=h(),j=u("NAME")||"",x=u("PATTERN")||"",P=h();c("CLOSE"),o.push({name:j||(x?l++:""),pattern:j&&!x?i:x,prefix:p,suffix:P,modifier:u("MODIFIER")||""});continue}c("END")}return o}function Cn(r,e){return Pn(Tr(r,e),e)}function Pn(r,e){e===void 0&&(e={});var t=zt(e),n=e.encode,s=n===void 0?function(a){return a}:n,i=e.validate,o=i===void 0?!0:i,l=r.map(function(a){if(typeof a=="object")return new RegExp("^(?:".concat(a.pattern,")$"),t)});return function(a){for(var f="",u=0;u<r.length;u++){var c=r[u];if(typeof c=="string"){f+=c;continue}var h=a?a[c.name]:void 0,d=c.modifier==="?"||c.modifier==="*",y=c.modifier==="*"||c.modifier==="+";if(Array.isArray(h)){if(!y)throw new TypeError('Expected "'.concat(c.name,'" to not repeat, but got an array'));if(h.length===0){if(d)continue;throw new TypeError('Expected "'.concat(c.name,'" to not be empty'))}for(var v=0;v<h.length;v++){var p=s(h[v],c);if(o&&!l[u].test(p))throw new TypeError('Expected all "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(p,'"'));f+=c.prefix+p+c.suffix}continue}if(typeof h=="string"||typeof h=="number"){var p=s(String(h),c);if(o&&!l[u].test(p))throw new TypeError('Expected "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(p,'"'));f+=c.prefix+p+c.suffix;continue}if(!d){var m=y?"an array":"a string";throw new TypeError('Expected "'.concat(c.name,'" to be ').concat(m))}}return f}}function An(r,e){var t=[],n=jr(r,t,e);return En(n,t,e)}function En(r,e,t){t===void 0&&(t={});var n=t.decode,s=n===void 0?function(i){return i}:n;return function(i){var o=r.exec(i);if(!o)return!1;for(var l=o[0],a=o.index,f=Object.create(null),u=function(h){if(o[h]===void 0)return"continue";var d=e[h-1];d.modifier==="*"||d.modifier==="+"?f[d.name]=o[h].split(d.prefix+d.suffix).map(function(y){return s(y,d)}):f[d.name]=s(o[h],d)},c=1;c<o.length;c++)u(c);return{path:l,index:a,params:f}}}function me(r){return r.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function zt(r){return r&&r.sensitive?"":"i"}function Fn(r,e){if(!e)return r;for(var t=/\((?:\?<(.*?)>)?(?!\?)/g,n=0,s=t.exec(r.source);s;)e.push({name:s[1]||n++,prefix:"",suffix:"",modifier:"",pattern:""}),s=t.exec(r.source);return r}function Tn(r,e,t){var n=r.map(function(s){return jr(s,e,t).source});return new RegExp("(?:".concat(n.join("|"),")"),zt(t))}function jn(r,e,t){return Kn(Tr(r,t),e,t)}function Kn(r,e,t){t===void 0&&(t={});for(var n=t.strict,s=n===void 0?!1:n,i=t.start,o=i===void 0?!0:i,l=t.end,a=l===void 0?!0:l,f=t.encode,u=f===void 0?function(L){return L}:f,c=t.delimiter,h=c===void 0?"/#?":c,d=t.endsWith,y=d===void 0?"":d,v="[".concat(me(y),"]|$"),p="[".concat(me(h),"]"),m=o?"^":"",b=0,j=r;b<j.length;b++){var x=j[b];if(typeof x=="string")m+=me(u(x));else{var P=me(u(x.prefix)),R=me(u(x.suffix));if(x.pattern)if(e&&e.push(x),P||R)if(x.modifier==="+"||x.modifier==="*"){var q=x.modifier==="*"?"?":"";m+="(?:".concat(P,"((?:").concat(x.pattern,")(?:").concat(R).concat(P,"(?:").concat(x.pattern,"))*)").concat(R,")").concat(q)}else m+="(?:".concat(P,"(").concat(x.pattern,")").concat(R,")").concat(x.modifier);else x.modifier==="+"||x.modifier==="*"?m+="((?:".concat(x.pattern,")").concat(x.modifier,")"):m+="(".concat(x.pattern,")").concat(x.modifier);else m+="(?:".concat(P).concat(R,")").concat(x.modifier)}}if(a)s||(m+="".concat(p,"?")),m+=t.endsWith?"(?=".concat(v,")"):"$";else{var K=r[r.length-1],_=typeof K=="string"?p.indexOf(K[K.length-1])>-1:K===void 0;s||(m+="(?:".concat(p,"(?=").concat(v,"))?")),_||(m+="(?=".concat(p,"|").concat(v,")"))}return new RegExp(m,zt(t))}function jr(r,e,t){return r instanceof RegExp?Fn(r,e):Array.isArray(r)?Tn(r,e,t):jn(r,e,t)}var A=(r=>(r[r.Push=0]="Push",r[r.Replace=1]="Replace",r[r.Put=2]="Put",r[r.Append=3]="Append",r[r.Open=4]="Open",r))(A||{}),Xe=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(Xe||{});const G=Symbol("rootKey"),J=Symbol("rootNodeKey"),le=Symbol("parentNodeKey"),Ye=Symbol("nameKey");class te{instance=null;model;route;active=!0;index=0;constructor(e,t,n=0,s=!0){this.route=e,this.model=t,this.index=n,this.active=s}}class Pe{scope=null;set compensation(e){this.scope!==null&&this.scope.stop(),this.scope=g.effectScope(),this.scope.run(()=>{g.watch(this.slots,()=>{let t=!1;try{t=e()}catch(n){console.error(n)}t&&this.scope!==null&&(this.scope.stop(),this.scope=null)})})}_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[Ye];[G];[J]=null;[le]=null;get name(){return this[Ye]}constructor(e,t,n){this[Ye]=e,this[G]=t,n&&(this[J]=n)}}class U{view;index;level;constructor(e,t,n){this.view=e,this.index=t,this.level=n}static include(e,t){for(let n=0;n<e.length;n++){let s=e[n];if(s.view===t.view&&(t.index==-1||s.index===t.index)&&s.level===t.level)return!0}return!1}}class pt{views=[]}class _n{layers=[]}class qn{time;route}class $n{forbidTime=300;submitRecorder=new qn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const we=typeof window<"u",N=function(){return window},Ae=function(){return window.document};function On(r){let e=r,t=e.lastIndexOf("/");return t>0&&t<e.length-1?e=e.substring(0,t+1):t===0&&e.indexOf(".")!==-1?e="/":t===-1&&(e.indexOf(".")==-1?e=`/${e}/`:e="/"),e.indexOf("/")!==0&&(e=`/${e}`),e}function Ln(){if(!we)return"/";let r=N().location,e=`${r.protocol}//${r.host}`;return e+=On(r.pathname),e}function Mt(r,e,t){r.addEventListener?r.addEventListener(e,t,!1):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function It(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}let mt=Ln();class Mn{cache=new Map;constructor(){}async get(e,t=-1){if(this.cache.has(e))return this.cache.get(e);let n=await kt({url:e,method:"GET",timeout:t,heaaders:{"content-type":"text/plain"}});if(n.ok)return this.cache.set(e,n.data),n.data;throw Error(n.statusText)}remove(e){this.cache.delete(e)}}var z=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(z||{});class In{exports;status;id;src}class Nn{register=new Map;constructor(){}get(e){return this.register.get(e)}put(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t}contains(e){return this.register.has(e)}clear(){this.register.clear()}}class Hn{head;isOldWebKit;moduleManager=new Nn;resource=new Mn;options;_query;set query(e){this._query=e}get query(){return this._query}constructor(e={}){const t=Ae();this.head=t.head||t.getElementsByTagName("head")[0]||t.documentElement,this.isOldWebKit=+navigator.userAgent.replace(/.*(?:AppleWebKit|AndroidWebKit)\/(\d+).*/,"$1")<536,this.options=e,this.options.paths||(this.options.paths={}),this.options.alias||(this.options.alias={})}ensure(...e){let t=[],n=e.length-1,s={};typeof e[n]=="object"&&(Object.assign(s,e[n]),n--);let i=null;typeof e[n]=="function"&&(i=e[n],n--);for(let a=0;a<=n;a++)if(Array.isArray(e[a])){let f=e[a];for(let u=0;u<f.length;u++)f[u]!==void 0&&t.push(this.resolvePath(f[u]))}else{let f=e[a].split(",");for(let u=0;u<f.length;u++)f[u]!==void 0&&t.push(this.resolvePath(f[u]))}let o=new Dn(t.length,(a,f)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},f)}catch(u){console.error(u.message,u)}else try{console.error(a),typeof i=="function"&&Reflect.apply(i,{},[])}catch(u){console.error(u.message,u)}}),l=new Ie;for(let a=0;a<t.length;a++){let f=new Un(a,t[a],s,o);this.mount(l,f)}return this}remove(...e){let t=[],n=e.length-1,s={};typeof e[n]=="object"&&(Object.assign(s,e[n]),n--);let i=null;typeof e[n]=="function"&&(i=e[n],n--);for(let o=0;o<=n;o++)if(Array.isArray(e[o])){let l=e[o];for(let a=0;a<l.length;a++)l[a]!==void 0&&t.push(this.resolvePath(l[a]))}else{let l=e[o].split(",");for(let a=0;a<l.length;a++)l[a]!==void 0&&t.push(this.resolvePath(l[a]))}return t.forEach(o=>{this.unmount(o,s)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){const n=Ae();if(this.isNaturePath(t.src,"js")){let i=t.params.jsPoint;i||(i=this.head),this.mountJS(e,t,i);return}else if(this.isNaturePath(t.src,"css")){let i=t.params.cssPoint;i||(i=this.head),this.mountCSS(e,t,i);return}else if(this.isNaturePath(t.src,"html")){let i=t.params.htmlPoint;i||(i=n.body),this.mountHTML(e,t,i);return}let s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let i=t.params.jsPoint;i||(i=this.head),this.mountJS(e,t,i);return}else if(s==="css"){let i=t.params.cssPoint;i||(i=this.head),this.mountCSS(e,t,i);return}else{let i=t.params.htmlPoint;i||(i=n.body),this.mountHTML(e,t,i);return}}mountHTML(e,t,n){e.post(s=>{let i=t.params.timeout??this.options.timeout??3e4,o=t.src;this.resource.get(o,i).then(l=>{n.innerHTML=l,t.progress.work(!0,t.index,l),s.resolve()},l=>{console.error(l),t.progress.work(!1,t.index,null),s.reject()})})}mountCSS(e,t,n){e.post(s=>{const i=Ae(),o=t.src,l=i.createElement("link"),a="onload"in l;if(this.isOldWebKit||!a){const u={timeout:this.options.time||3e3,time:0,isOldWebKit:this.isOldWebKit,success:()=>{t.progress.work(!0,t.index,t.src),s.resolve()},error:()=>{try{n.removeChild(l)}catch(c){console.error(c.message,c)}t.progress.work(!1,t.index,null),s.resolve()}};setTimeout(()=>{Kr(l,u)},1)}else l.onload=()=>{l.onload=l.onerror=null,t.progress.work(!0,t.index,t.src),s.resolve()},l.onerror=()=>{try{n.removeChild(l)}catch(u){console.error(u.message,u)}l.onload=l.onerror=null,t.progress.work(!1,t.index,null),s.reject()};let f=i.getElementById(o);f&&f.parentNode&&f.parentNode.removeChild(f),l.rel="stylesheet",l.type="text/css",l.id=o,l.href=o,n.appendChild(l)})}mountJS(e,t,n){e.post(s=>{let i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==z.Defined||o.status==z.Loaded)){if(o.exports){t.progress.work(!0,t.index,o.exports),s.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),s.resolve();return}}o=new In,o.id=i,o.src=i,o.status=z.Loading,this.moduleManager.put(i,o);const a=Ae().createElement("script");if("onload"in a)a.onload=()=>{a.onload=a.onerror=null,o.status==z.Loading&&(o.status=z.Loaded,t.progress.work(!0,t.index,i)),s.resolve()},a.onerror=()=>{try{n.removeChild(a)}catch(c){console.error(c.message,c)}a.onload=a.onerror=null,t.progress.work(!1,t.index,null),s.reject()};else{let c=a;c.onreadystatechange=()=>{/loaded|complete/.test(c.readyState)&&(c.onreadystatechange=null,o.status==z.Loading&&(o.status=z.Loaded,t.progress.work(!0,t.index,i)),s.resolve())}}a.defer=!0,a.src=i;let u=N();u.define=this.createDefine(o,t),n.appendChild(a)})}unmount(e,t={}){const n=Ae(),s=this.getFileNamePostfix(e);if(s==="js"||s.length===0){const i=n.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(s==="css"){const i=n.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}else{this.resource.remove(e);let i=t.htmlPoint;i||(i=n.body),i.innerHTML="";return}}trimEmptyElement(e){let t=[];for(let n=0;n<e.length;n++){let s=e[n].trim();s.length!==0&&t.push(s)}return t}createDefine(e,t){let n=this,s=function(...i){e.status=z.Defining;let o,l,a,f=i.length;f===1?(a=i[0],o=void 0):f===2?(a=i[1],Array.isArray(i[0])?(l=n.trimEmptyElement(i[0]),o=void 0):l=void 0):(o=i[0],l=n.trimEmptyElement(i[1]),a=i[2]),o&&(e.id=o,n.options.alias[o]=e.src),l&&l.length>0?n.ensure(l,(...u)=>{typeof a=="function"?e.exports=Reflect.apply(a,e,u):e.exports=a,e.status=z.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof a=="function"?e.exports=Reflect.apply(a,e,[]):e.exports=a,e.status=z.Defined,t.progress.work(!0,t.index,e.exports))};return s.amd=!0,s}resolvePath(e){try{if(this.isNaturePath(e,"all"))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let n=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&t!=="html"&&(e+=".js"),n.length>0&&(e+=`?${n}`)):n.length>0&&(e+=`&${n}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let n in e){let s=`${e[n]}`;t+=`${encodeURIComponent(n)}=${encodeURIComponent(s)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let n=e.lastIndexOf(".",t);return n==-1?"":e.substring(n+1,t)}isNaturePath(e,t){if(this.options.nature==null)return!1;if(t==="all"||t==="js"){let n=this.options.nature.js;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}if(t==="all"||t==="css"){let n=this.options.nature.css;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}if(t==="all"||t==="html"){let n=this.options.nature.html;if(n!==void 0)for(let s=0;s<n.length;s++){let i=n[s];if(e.indexOf(i)===0)return!0}}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return mt+e.slice(1);if(e.indexOf("./")==0)return mt+e.slice(2);if(t){let s=this.options.alias[e];if(!s){let i=e.indexOf("/");if(i==-1)s=e;else{let o=e.slice(0,i),l=this.options.paths[o];l?s=l+e.slice(i):s=e}}return this.parserPath(s,!1)}return mt+e}}function Kr(r,e){let t=r.sheet,n=!1;if(e.isOldWebKit)t&&(n=!0);else if(t)try{t.cssRules&&(n=!0)}catch(s){s.name==="NS_ERROR_DOM_SECURITY_ERR"&&(n=!0)}setTimeout(()=>{e.time+=20,n?e.success():e.time>e.timeout?e.error():Kr(r,e)},20)}class Dn{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,n){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(n)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(s){console.error(s.message,s)}}isOK(){return this.status}}class Un{index;src;params;progress;constructor(e,t,n,s){this.index=e,this.src=t,this.params=n,this.progress=s}}const ge=Symbol("_notifyChange");class Vn{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const He=Symbol("ignoreHistoryChangeOnceKey"),ur=Symbol("_navigateFirstRoute"),De=Symbol("_getRouteMark"),fr=Symbol("_getUrlSearch"),vt=Symbol("_generateLocation"),Ee=Symbol("_setRouteMarkRecorder"),cr="Symbol(_fox_restore_point)";function gt(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}class _r{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[He]=!1;constructor(e="hash",t="",n="",s=!0,i=!0,o=!1,l){this.mode=e,this.base=t,this.query=n,this.firstNavigate=s,this.historyMonitor=i,this.traceless=o,this.storage=l??N().sessionStorage}init(e=!0){const t=N();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(this[He]){this[He]=!1;return}if(gt(this.historyMonitor)){const n=t.history.state;this[ge](n);try{let s=[];if(typeof n=="string"?s=JSON.parse(n):s=n,Array.isArray(s)&&s.length>0){const i=this[De]()??"/";this[Ee](i,s)}}catch{}}}),Mt(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ur](),Promise.resolve()}destroy(){if(this.historyChange){const e=N();It(e,"popstate",this.historyChange)}}[ur](){let e=this[De]()??"/";const t=this.storage.getItem(cr);if(t)try{const o=JSON.parse(t);if(o.mark===e){this[ge](o.routes);return}}catch{}const n=e.indexOf("!");let s;n!=-1?s=e.substring(n+1):s=e;const i=new $;i.path=s,i.query=this[fr](),this[ge]([i])}[Ee](e,t){try{const n={mark:e,routes:t},s=JSON.stringify(n);this.storage.setItem(cr,s)}catch(n){console.error(n.message,n)}}setRestorePoint(e){const t=this[De]()??"/";this[Ee](t,e)}[ge](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[De](){const e=N();if(this.mode==="path"){let t=e.location.pathname;return this.base&&t.indexOf(this.base)===0&&(t=t.substring(this.base.length)),t}else{const t=e.location.hash,n=t.indexOf("#");if(n!=-1)return t.substring(n+1)}return null}[fr](){return N().location.search}listen(e){this.changeHandler=e}go(e,t=!0){const n=N();this[He]=!t,n.history.go(e)}push(e){let t=this[vt](e.currentRoute);gt(this.traceless,e.currentRoute)||N().history.pushState(e.routes,"",t),this[Ee](e.currentRoute.fullPath,e.routes)}replace(e){let t=this[vt](e.currentRoute);gt(this.traceless,e.currentRoute)||N().history.replaceState(e.routes,"",t),this[Ee](e.currentRoute.fullPath,e.routes)}[vt](e){const t=N();let n="";if(e.query){let l="";if(typeof e.query=="object")for(let a in e.query){let f=encodeURIComponent(e.query[a]),u=`${encodeURIComponent(a)}=${f}`;l.length>0&&(l+="&"),l+=u}else l=e.query;this.query?(n=`${this.query}&${l}`,n.charAt(0)!=="?"&&(n=`?${n}`)):n=`?${l}`}const s=t.location;let i=e.fullPath;i.startsWith(Z)&&(i=i.substring(Z.length+1));let o;return n?this.mode=="path"?o=`${this.base}/${i}${n}`:o=`${s.pathname}${n}#${i}`:this.mode=="path"?o=`${this.base}/${i}`:o=`${s.pathname}#${i}`,`${s.origin}${o}`}}function Bn(r=!0,e=null,t="",n=!0,s=!1,i){return e!==null&&(e=N().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new _r("path",e??"",t,r,n,s,i)}function qr(r=!0,e="",t=!0,n=!1,s){return new _r("hash","",e,r,t,n,s)}class Wn{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}listen(e){this.changeHandler=e}[ge](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!0){if(this.queue.length==0||this.cursor<=0||this.cursor>=this.queue.length-1)return;let n=this.cursor+e;if(n<0?n=0:n>this.queue.length-1&&(n=this.queue.length-1),n!=this.cursor&&(this.cursor=n,t)){const s=this.queue[n];this[ge](s.routes)}}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}}function $r(r="",e=50){return new Wn(r,e)}const Ue=Symbol("_constructRouteModel"),Ve=Symbol("_findRouteModel"),wt=Symbol("_findRootView"),hr=Symbol("_getFirstView"),se=Symbol("_removeView"),dr=Symbol("_buildPage"),yr=Symbol("_resolveComponent"),pr=Symbol("_update"),re=Symbol("_merge"),bt=Symbol("_handleHistoryChange"),Be=Symbol("_handleRouteUpdated"),We=Symbol("routeUpdatedCallback"),w=Symbol("currentRoutes"),he=Symbol("current"),mr=Symbol("_addRouteRecorder"),de=Symbol("_removeRouteRecorder"),xt=Symbol("_cloneRouteRecorder"),O=Symbol("_handleError"),ke=Symbol("errorCallback"),V=Symbol("registerKey"),ze=Symbol("notFoundKey"),Rt=Symbol("notFoundPathKey"),B=Symbol("forestKey"),T=Symbol("historyKey"),Fe=Symbol("beforeFiltersKey"),Te=Symbol("afterFiltersKey"),je=Symbol("destroyFiltersKey"),ye=Symbol("mainDispatcherKey"),St=Symbol("initKey"),Je=Symbol("requireKey"),oe=Symbol("readyKey"),Ct=Symbol("readyHandlersKey"),Ge=Symbol("_markReady"),vr=Symbol("_createNextFn"),Pt=Symbol("_start"),At=Symbol("_before"),Et=Symbol("_after"),gr=Symbol("_destroy"),Ft=Symbol("_load"),Ke=Symbol("_unload"),Tt=Symbol("_loadDependency"),jt=Symbol("resolvedModulesKey"),_e=Symbol("resolveDependencyKey"),qe=Symbol("routerGuardKey");function kn(r){return r.layers.length==0||r.layers[0].views.length==0}function zn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(n=>{if(!(n==null||n==null))if(typeof n.meta=="object"){let s=E(!0,{},n.meta);e.push(s)}else n.meta&&e.push(n.meta)})}),e}class Jn{[V]=new Array;[ze];[Rt]="*";[oe]=!1;[Ct]=[];[B]=new _n;[T];[w]=new Array;[ke]=null;[We]=null;[Fe]=new Array;[Te]=new Array;[je]=new Array;[ye]=new Ie;[jt]=new Map;[_e]=null;[qe]=new $n;[St]=!1;[he]=g.ref(null);[Je]=null;get require(){return we?(this[Je]||(this[Je]=new Hn),this[Je]):null}get current(){return this[he].value}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[T]=e.history:this[T]=we?qr():$r(),this[T]?.listen(async n=>{let s=!0;try{if(typeof n=="string"){let i=this[I](n);i&&await this[bt]([i])}else await this[bt](n)}catch(i){console.error(i.message,i),s=!1}this[oe]===!1&&this[Ge](s)})}[O](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[ke]=="function")try{this[ke](e,t)}catch{}console.error(e)}init(){this[St]!==!0&&(this[T]?.init(!this[oe]),this[St]=!0)}isReady(){return this[oe]?Promise.resolve():new Promise((e,t)=>{this[Ct].push([e,t])})}[Ge](e){this[oe]=!0,this[Ct].forEach(([t,n])=>{try{e?t():n()}catch(s){console.error(s.message,s)}})}[bt](e){try{if(!e){let o=[...this[w]].reverse();return this[Ke](o),we&&N().location.reload(),Promise.resolve()}let t=null,n=[],s=[],i=0;for(;i<e.length&&i<this[w].length&&$.isSame(e[i],this[w][i]);i++)e[i].opsType===A.Open&&e[i].active===!0&&e[i].active!==this[w][i].active&&(t=e[i]);if(i<e.length&&(n=e.slice(i)),i<this[w].length&&(s=this[w].slice(i).reverse()),s.length==0&&n.length==0){if(t!==null)return this.restore([t])}else if(s.length>0){if(this[Ke](s)){if(n.length>0)return this.restore(n);if(t!==null)return this.restore([t])}}else return this.restore(n)}catch(t){this[O](t)}return Promise.resolve()}[Be](e){if(e)this[he].value=e;else{let t=this[w].length;t>0?this[he].value=this[w][t-1]:this[he].value=null}if(typeof this[We]=="function")try{this[We](this[he].value)}catch{}}[mr](e,t=-1){t<0||t>=this[w].length?this[w].push(e):this[w].splice(t,0,e)}[xt](){let e=[];for(let t of this[w]){let n=$.clone(t,!0);e.push(n)}return e}[de](e){if(this[w]==null)return;let t=-1;for(let n=0;n<this[w].length;n++)if($.isSame(this[w][n],e)){t=n;break}if(t!=-1){let n=this[w][t];this[w].splice(t,1),this[gr](n,n.session)}}set historyMonitor(e){this[T]&&(this[T].historyMonitor=e)}get historyMonitor(){return this[T]?this[T].historyMonitor:!1}set traceless(e){this[T]&&(this[T].traceless=e)}get traceless(){return this[T]?this[T].traceless:!1}setRestorePoint(){const e=this[xt]();this[T]?.setRestorePoint(e)}onRouteUpdated(e){this[We]=e}onError(e){this[ke]=e}beforeEach(e){this[Fe].push(e)}removeBeforeEach(e){const t=this[Fe].indexOf(e);return t!==-1?(this[Fe].splice(t,1),!0):!1}afterEach(e){this[Te].push(e)}removeAfterEach(e){const t=this[Te].indexOf(e);return t!==-1?(this[Te].splice(t,1),!0):!1}destroyEach(e){this[je].push(e)}removeDestroyEach(e){const t=this[je].indexOf(e);return t!==-1?(this[je].splice(t,1),!0):!1}setResolveDependency(e){this[_e]=e}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Rt]){this.setNotFoundRoute(e);return}const n=this[Ue](e);if(t==-1)this[V]=[...this[V],...n];else for(let s=n.length-1;s>=0;s--)this[V].splice(t,0,n[s])}removeRoute(e){const t=this[I](e);if(t===null)return console.warn("route\u683C\u5F0F\u9519\u8BEF",e),!1;for(let n=0;n<this[V].length;n++){const s=this[V][n];if(t?.path&&s.path===t.path)return this[V].splice(n,1),!0;if(t?.name&&s.name===t.name)return this[V].splice(n,1),!0}return!1}hasRoute(e){const t=this[I](e);return t===null?(console.warn("route\u683C\u5F0F\u9519\u8BEF",e),!1):this[V].findIndex(s=>{if(t?.path&&s.path===t.path||t?.name&&s.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Rt]=e}setNotFoundRoute(e){const t=this[Ue](e);this[ze]=t[0]}getRoutes(){return[...this[V]]}[Ue](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let n=e.components??(e.component&&{"":e.component});if(n==null){let l=new ut;return l.path=t,l.redirect=e.redirect,[l]}let s=[];for(let l in n){let a=n[l];l.length===0&&(l=Z);let f=new un(l,a,e.props,e.meta);s.push(f)}let i=!1,o=[];if(e.children)for(let l of e.children){let a=this[Ue](l);for(let f of a){let u=new ut;u.name=f.name,f.path&&f.path.length>0?t!=="/"?u.path=`${t}${f.path}`:u.path=f.path:(i=!0,u.path=t);let c=new ir;c.models=[...s],u.layers=[c,...f.layers],o.push(u)}}if(!i){let l=new ir;l.models=s;let a=new ut;a.name=e.name,a.path=t,a.layers=[l],o.splice(0,0,a)}return o}[Ve](e){let t=e.route;try{for(let n of this[V])if(t.path&&n.path){let s=n.match;s||(s=n.match=An(n.path));let i=s(t.path);if(!i)continue;if(n.redirect){let o=new $;E(!0,o,t),o.path=n.redirect;let l={route:o,find:void 0};return this[Ve](l)?(e.route=l.route,e.find=l.find,!0):!1}if(t.params=t.params??{},E(!0,t.params,i.params),t.query){let o=t.query;if(typeof o=="string"){let l={},a=o.split("&");for(let f of a){let u=f.split("=");if(u.length!==2)continue;let c=decodeURIComponent(u[0].trim()),h=decodeURIComponent(u[1].trim());l[c]=h}E(!0,t.params,l)}else typeof o=="object"&&E(!0,t.params,o)}return e.find=n,!0}else if(t.name===n.name){t.params=t.params??{};let s=Cn(n.path);return t.path=s(t.params),e.find=n,!0}}catch(n){console.error(n.message,n),typeof t.error=="function"&&t.error(n.message)}return!1}[I](e){let t=null;if(Array.isArray(e))if(t=new $,typeof e[0]=="object")t=$.from(e[0]);else for(let n=0;n<e.length;n++)n===0?e[n].charAt(0)==="/"?t.path=e[n]:t.name=e[n]:n===1?t.params=e[n]:n===2?t.root=e[n]:n===3&&E(!1,t,e[n]);else typeof e=="object"?t=$.from(e):typeof e=="string"&&(t=new $,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let n=t.path.indexOf("?");n!==-1&&n<t.path.length-1&&(t.query=t.path.substring(n+1),t.path=t.path.substring(0,n))}t.root=t.root??Z,t.opsType=t.opsType??this.options.defaultOperationType??A.Push}return t}push(...e){let t=this[I](e);return t?(t.opsType=t.opsType||A.Push,this.to(t)):(this[O]("resolve route fail",t),this)}put(...e){let t=this[I](e);return t?(t.opsType=A.Put,this.to(t)):(this[O]("resolve route fail",t),this)}replace(...e){let t=this[I](e);return t?(t.opsType=A.Replace,this.to(t)):(this[O]("resolve route fail",t),this)}append(...e){let t=this[I](e);return t?(t.opsType=A.Append,this.to(t)):(this[O]("resolve route fail",t),this)}remove(e){return new Promise(t=>{this[ye].post(n=>{try{if(this[w].length===0){n.resolve(),t(!1);return}let s=-1,i,o=[];if(e){if(e.root?i=e.root:i=this[w][0].root??Z,e.all)for(let a=this[w].length-1;a>0;a--){let f=this[w][a];f.opsType===A.Append&&f.root===i&&(o.splice(0,0,f),s=a-1)}else if(e.until)for(let a=this[w].length-1;a>0;a--){let f=this[w][a];if(f.opsType===A.Append&&f.root===i){if(e.until.charAt(0)==="/"&&e.until===f.path){s=a;break}else if(e.until===f.name){s=a;break}o.splice(0,0,f)}}}else{i=Z;let a=this[hr](this[B]);a&&(i=a.name);for(let f=this[w].length-1;f>0;f--){let u=this[w][f];if(u.opsType===A.Append&&u.root===i){o.push(u),s=f-1;break}}}if(o.length===0){let a="can not find route";console.warn(a),n.resolve(a),t(!1);return}let l=0;if(this[w].forEach(a=>{a.opsType!==A.Put&&l++}),this[Ke](o)){let a=0;this[w].forEach(u=>{u.opsType!==A.Put&&a++});const f=a-l;this[T]?.go(f,!1),n.resolve(),t(!0)}}catch(s){this[O](s),n.resolve(),t(!1)}})})}open(...e){let t=this[I](e);return t?(t.opsType=A.Open,this.to(t)):(this[O]("resolve route fail",t),this)}close(e){return this[ye].post(t=>{try{let n=this[I](e);if(!n){t.reject("resolve route fail");return}let s=[];for(let i=0;i<this[w].length;i++){let o=this[w][i];if(o.root===n.root){if(!n.path&&!n.name){s.push(o);continue}if(n.path&&n.path===o.path){s.push(o);break}else if(n.name&&n.name===o.name){s.push(o);break}}}if(s.length===0){t.resolve();return}this[Ke](s)&&this[Be](),t.resolve()}catch(n){this[O](n),t.resolve()}}),this}to(...e){let t=this[I](e);if(!t)return this[O]("resolve route fail",t),this;console.debug("route to",t.path,t.root);let n=this[qe].acquire(t);return n==null?(this[O]("route forbid",t),this):(this[ye].post(s=>{try{let i=this[Pt](t);this[At](i),!i.session?.routeModel&&this[_e]&&this[Tt](i),this[Ft](i),this[Et](i),i.wait((o,l)=>{let a=o.session.to;try{let f=$.clone(a,!0);const u=new Vn(f,this[xt]());a.opsType===A.Replace?this[T]?.replace(u):this[T]?.push(u)}catch(f){console.error(f.message,f)}if(this[qe].release(n),this[Be](a),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(f){console.error(f.message,f)}this[oe]===!1&&this[Ge](!0),s.resolve()},(o,l)=>{this[qe].release(n),l!==null&&this[O](l,t),this[oe]===!1&&this[Ge](!1),s.resolve()})}catch(i){this[qe].release(n),this[O](i,t),s.resolve()}}),this)}back(e=1){this[T]?.go(-e)}[vr](e){return(t,n)=>{if(typeof t=="boolean")t?e.resolve():e.reject(n??null);else if(t){let s=this[I](t);if(s){let i=e.session.to;s.success=i.success,s.error=i.error,e.session.to=s,e.session.routeModel=null,e.resolve()}else e.reject("route resolve fail")}else e.resolve()}}[Pt](e){let t=this[w].length>0?this[w][0]:void 0,n=new tt(e,t),s={route:e,find:null};return this[Ve](s),s.find&&(n.routeModel=s.find,e.matched=zn(s.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=s.find.layers[0].models[0].meta)),new Ie(n)}[At](e){for(let t of this[Fe])e.post(n=>{let s=this[vr](n);Reflect.apply(t,{},[n.session.to,n.session.from,s,n.session])})}[Et](e){e.post(t=>{for(let n of this[Te])try{Reflect.apply(n,{},[t.session.to,t.session.from,t.session])}catch(s){console.error(s.message,s)}t.resolve()})}[gr](e,t){for(let n of this[je])try{Reflect.apply(n,{},[e,t])}catch(s){console.error(s.message,s)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[Tt](e){let t=e.session,n=Reflect.apply(this[_e],this,[t?.to]);if(n==null)return;Array.isArray(n)||(n=[n]);let s=[];for(let i of n)this[jt].has(i)||s.push(i);s.length!==0&&e.post(i=>{this.require.ensure(s,(...o)=>{if(!o){i.reject();return}for(let l of o){if(!l)continue;let a;Dt(l)?a=l.default:a=l,Array.isArray(a)&&this.addRoutes(a)}for(let l of s)this[jt].set(l,!0);i.resolve()})})}[Ft](e){e.post(t=>{let n=t.session.to,s=t.session.routeModel;if(s==null){let o={route:n,find:null};if(this[Ve](o))s=o.find,t.session.routeModel=s;else if(this[ze])s=this[ze];else{t.reject(`not find route model, path:${n.path??n.name}`);return}}let i=tt.from(t.session);this[dr](n,s,i).then(o=>{this[B],t.resolve()},o=>{t.reject(o)})})}[Ke](e){if(e.length==0)return!0;let t=this[B],n=[];for(let s of e){let i=this[wt](t,s);i!=null&&n.push({...i,route:s})}if(n.length==0){let s="can not find view index";return this[O](s),!1}for(let s of n.reverse())this[se](t,{x:s.x,y:s.y},[s.route.index??0],!0);return!0}[wt](e,t){let n=t.root??Z,s;for(let i=0;i<e.layers.length;i++){let o=e.layers[i];for(let l=o.views.length-1;l>=0;l--){let a=o.views[l];if(a[G]&&a[Ye]===n)return s={x:l,y:i},s}}return null}[hr](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[se](e,t,n=null,s=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,l=[],a=!1,f=i.slots.value;for(let c=f.length-1;c>=0;c--){let h=f[c];(n==null||n.indexOf(h.index)!=-1)&&(h.route&&i[G]&&(this[de](h.route),h.active===!0&&h.route.opsType==A.Append&&(a=!0)),l.push(new U(i,h.index,t.y)),f.splice(c,1))}if(f.length==0)s?i.slots.value=[...f]:e.layers[t.y].views.splice(t.x,1);else{if(a){let c=f.length-1,h=f[c];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=[...f]}e.layers[t.y].views.length==0&&(o=!0);let u=t.y+1;for(;u<e.layers.length;u++){let c=e.layers[u].views,h=[];for(let d=c.length-1;(o||l.length>0)&&d>=0;d--){let y=c[d];if(y[le]&&(o||U.include(l,y[le]))){let v=y.slots.value;for(let p=v.length-1;p>=0;p--){let m=v[p];m.route&&y[G]&&this[de](m.route),h.push(new U(y,m.index,u)),v.splice(p,1)}e.layers[u].views.splice(d,1)}}l=h,e.layers[u].views.length==0&&(o=!0)}}restore(e){if(!e||this[V].length==0){let t=this[B];if(t.layers.length>0){let n=t.layers[0].views;n.length>0&&(n[0].slots.value=[])}return this[w]=[],this[Be](),Promise.resolve()}else return new Promise((n,s)=>{for(let i=0;i<e.length;i++){let o=e[i];this[ye].post(l=>{let a=this[Pt](o);this[At](a),!a.session?.routeModel&&this[_e]&&this[Tt](a),this[Ft](a),this[Et](a),a.wait((f,u)=>{l.resolve()},(f,u)=>{u!==null&&this[O](u),l.resolve()})})}this[ye].post(i=>{i.resolve(),n()})})}[dr](e,t,n){let s=e.updateType??Xe.Part;return this[yr](t).then(()=>{this[pr](t,e,n,s)})}[yr](e){let t=[];for(let n=0;n<e.layers.length;n++){let s=e.layers[n];for(let i=0;i<s.models.length;i++){let o=s.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[pr](e,t,n,s){if(e.layers[0].models.length!==1)return Promise.reject("illegal route structure(multil root node)");const i=e.layers[0].models[0];let o=this[B],l=kn(o),a=t.root??Z,f;!l&&s==Xe.Part&&(f=this[wt](o,t));let u,c=0;if(f==null||f==null)if(l||s===Xe.All){if(o.layers.length==0&&(o.layers[0]=new pt),o.layers[0].views.length==0){let h=t.root??Z;u=new Pe(h,!0,null),o.layers[0].views=[u]}else u=o.layers[0].views[0];f={x:0,y:0}}else{let h=t.slot;if(!h)return Promise.reject("can not rebuild view(because not route slot)");let d=h.level;if(d>o.layers.length)return Promise.reject("can not insert view(override level)");let y;if(h.rootName){let v=o.layers[d-1];for(let p of v.views){if(p[G]&&p.name===h.rootName){y=new U(p,h.rootIndex??0,d-1);break}if(p[J]&&p[J].view.name===h.rootName&&p[J].index===h.rootIndex){y=p[J];break}}}if(!y)return Promise.reject("can not insert view(not find root node ref)");u=new Pe(a,!0,y),o.layers[d].views.push(u),f={x:o.layers[d].views.length-1,y:d}}else u=o.layers[f.y].views[f.x];if(c=f.y,u[G]=!0,t.opsType===A.Append){t.index=ee.get();let h=u.slots.value;if(h.length>0){let m=h[h.length-1];m.active=!1,m.route&&(m.route.active=m.active)}let d=new te(t,i,t.index,!0);u.slots.value=[...h,d];let y=c+1,v=1,p=new U(u,t.index,c);this[re](o,y,e,v,p)}else if(t.opsType===A.Open){let h=u.slots.value,d=!1;for(let y of h){if(y.route!==null&&$.isSameForRouteModel(y.route,t)){if(y.active==!0)return t.index=y.index,t.active=y.active,y.route=t,Promise.resolve();y.active=!0,d=!0,t.index=y.index,t.active=y.active,y.route=t,this[de](y.route)}else y.active=!1;y.route&&(y.route.active=y.active)}if(!d){t.index=ee.get(),t.active=!0;let y=new te(t,i,t.index,!0);h.push(y);let v=c+1,p=1,m=new U(u,t.index,c);this[re](o,v,e,p,m)}u.slots.value=[...h]}else{let h=u.slots.value;if(h.length==0){t.index=ee.get(),u.slots.value=[new te(t,i,t.index)];let d=c+1,y=1,v=new U(u,t.index,c);this[re](o,d,e,y,v)}else{let d=h[0];if(d.model!==i){this[se](o,f,null,!0),t.index=ee.get(),u.slots.value=[new te(t,i,t.index)];let y=c+1,v=1,p=new U(u,t.index,c);this[re](o,y,e,v,p)}else{d.route!==null&&this[de](d.route);let y=[];for(let j=1;j<h.length;j++)y.push(h[j].index);y.length>0&&this[se](o,f,y,!0),t.index=d.index,d.route=t;let v=[new U(u,t.index,c)],p=c+1,m=1,b=new U(u,t.index,c);for(;v.length>0&&p<o.layers.length&&m<e.layers.length;p++,m++){let j=[];for(let P=0;P<o.layers[p].views.length;P++){let R=o.layers[p].views[P];R[le]&&U.include(v,R[le])&&j.unshift(P)}let x=[];for(let P of j){let R=o.layers[p].views[P],q=e.layers[m].models,K;for(let _=0;_<q.length;_++)if(R.name===q[_].name){K=q[_];break}if(!K)this[se](o,{x:P,y:p},null,!1);else{let _=R.slots.value;if(_.length==0){let L=0;R.slots.value=[new te(null,K,L)];let W=p+1,k=m+1;this[re](o,W,e,k,b)}else{let L=_[0];if(L.model!==K){this[se](o,{x:P,y:p},null,!0),R.slots.value=[new te(null,K,0)];let W=p+1,k=m+1;this[re](o,W,e,k,b)}else{R[G]&&L.route!==null&&this[de](L.route);let W=[];for(let k=1;k<_.length;k++)W.push(_[k].index);W.length>0&&this[se](o,{x:P,y:p},W,!0),x.push(new U(R,L.index,p))}}R[G]=!1}}v=x}this[re](o,p,e,m,b)}}}if(u&&u[J]){let h=u[J];h&&(t.slot=new an(a,c,h?.view.name,h?.index??0))}n.to=void 0,n.routeModel=void 0,t.session=n,this[mr](t)}[re](e,t,n,s,i){let o=s,l=t;for(;l<e.layers.length&&o<n.layers.length;l++,o++){let a=e.layers[l].views;for(let f of n.layers[o].models){let u=new Pe(f.name,!1,i),c=new te(null,f);u.slots.value=[c],a.push(u)}}for(;o<n.layers.length;o++){let a=new pt;a.views=[];for(let f of n.layers[o].models){let u=new Pe(f.name,!1,i),c=new te(null,f);u.slots.value=[c],a.views.push(u)}e.layers.push(a)}}[Pr](e,t,n,s,i,o){if(t<0||t>this[B].layers.length)return null;if(t<this[B].layers.length){let u=this[B].layers[t],c=null;for(let h of u.views){let d=!1;if(n!==null?(d=h.name===e&&h[J]?.view===n,d&&s!==-1&&(d=h[J]?.index===s)):d=h.name===e,!!d){i!==null&&(h[le]={view:i,index:o,level:t-1}),c=h;break}}if(c!==null)return c}let l=null,a=null;i!==null&&(i[G]?l={view:i,index:o,level:t-1}:l=i[J],a={view:i,index:o,level:t-1});let f=new Pe(e,!0,l);if(f[le]=a,t==this[B].layers.length){let u=new pt;u.views=[f],this[B].layers.push(u)}else this[B].layers[t].views.push(f);return f}}const Gn="fox-router-view",Qn="fox-router-link";function Or(r,e=!1){let t=null;return e?t=r.showFromClass??r.enterFromClass:t=r.enterFromClass,t||(t=r.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function Lr(r,e=!1){let t=null;return e?t=r.showActiveClass??r.enterActiveClass:t=r.enterActiveClass,t||(t=r.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function Xn(r,e=!1){let t=null;return e?t=r.showToClass??r.enterToClass:t=r.enterToClass,t||(t=r.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function Yn(r,e=!1){let t=null;return e?t=r.hideFromClass??r.leaveFromClass:t=r.leaveFromClass,t||(t=r.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function Zn(r,e=!1){let t=null;return e?t=r.hideActiveClass??r.leaveActiveClass:t=r.leaveActiveClass,t||(t=r.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function ei(r,e=!1){let t=null;return e?t=r.hideToClass??r.leaveToClass:t=r.leaveToClass,t||(t=r.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function ti(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function ri(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function ni(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function ii(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function si(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function oi(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function li(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function Jt(r){let e,t=r.duration;return typeof t=="object"?e={enter:t.enter??-1,leave:t.leave??-1,show:t.show??-1,hide:t.hide??-1}:(typeof t=="string"&&(t=t.length==0?-1:Number(t)),e={enter:t,leave:t,show:t,hide:t}),e}function be(r,e){r.classList.contains(e)||r.classList.add(e)}function xe(r,e){r.classList.remove(e)}const ai=we&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function Gt(r){ai(r)}function H(r,e,t){!S(e)||(r==null&&(r={}),Reflect.apply(e,r,t))}function Mr(r,e,t,n=-1,s,i,o,l){if(S(i)){if(s!==void 0&&s>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,n]),S(l)&&Reflect.apply(l,r,[])},s);return}const a=["animationend","transitionend"],f=u=>{a.forEach(c=>{It(e,c,f)}),Reflect.apply(i,r,[e,t,n]),l&&Reflect.apply(l,r,[])};a.forEach(u=>{Mt(e,u,f)})}if(S(o)){const a="animationcancel",f=u=>{Reflect.apply(o,r,[e,t,n]),It(e,a,f)};Mt(e,a,f)}}function Qt(r){return!we||r===null?!1:r.opsType===A.Append||r.opsType===A.Open}function Ir(r,e,t,n={},s,i=-1){if(e||Qt(s)){const o=Or(n,e);o&&be(t,o);const l=Lr(n,e);l&&be(t,l);const a=ti(n,e);H(r,a,[t,e,s,i])}}function Nr(r,e,t,n={},s,i,o,l){if(!Qt(i)&&!e){S(l)&&l(r,l,[t]);return}const a=Or(n,e),f=Lr(n,e),u=Xn(n,e),c=ri(n,e),h=ni(n,e),d=ii(n,e);Gt(()=>{Mr(r,t,i,o,s,()=>{f&&xe(t,f),u&&xe(t,u),S(h)&&H(r,h,[t,e,i,o]),S(l)&&l(r,l,[t])},()=>{S(d)&&H(r,d,[t,e,i,o])}),a&&xe(t,a),u&&be(t,u),S(c)&&H(r,c,[t,e,i,o])})}function Hr(r,e,t,n={},s,i,o,l,a){if(!Qt(o)&&!e){!e&&S(i)&&i();return}const f=Yn(n,e),u=Zn(n,e),c=ei(n,e),h=si(n,e),d=oi(n,e),y=li(n,e);f&&be(t,f),u&&be(t,u),S(h)&&H(r,h,[t,e,o,l]),Gt(()=>{Mr(r,t,o,l,s,()=>{u&&xe(t,u),c&&xe(t,c),S(d)&&H(r,d,[t,e,o,l]),S(a)&&H(r,a,[t]),!e&&S(i)&&i()},()=>{S(y)&&H(r,y,[t,e,o,l]),S(a)&&H(r,a,[t]),!e&&S(i)&&i()}),f&&xe(t,f),c&&be(t,c)})}function Nt(r,e={},t,n=-1){const s=e.mode??"default",i=Jt(e);return{mode:s,persisted:!1,beforeEnter:l=>{Ir(r,!1,l,e,t,n)},enter:l=>{Nr(r,!1,l,e,i.enter,t,n)},leave:(l,a)=>{Hr(r,!1,l,e,i.leave,a,t,n)},clone:l=>Nt(r,e,t,n)}}function Dr(r){return r.el}function ui(r,e,t={},n,s,i,o){if(i){const l=Dr(e);if(l==null)return;const a=Jt(t);Ir(r,!0,l,t,n,s),Nr(r,!0,l,t,a.show,n,s,f=>{S(o)&&H(r,o,[f])})}else S(o)&&H(r,o,[])}function fi(r,e,t={},n,s,i,o){if(i){const l=Dr(e);if(l==null)return;const a=Jt(t);Hr(r,!0,l,t,a.hide,null,n,s,f=>{S(o)&&H(r,o,[f])})}else S(o)&&H(r,o,[])}function ci(r,e={}){Gt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function ne(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Kt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}class hi{node;state;constructor(e,t){this.node=e,this.state=t}}const Ht=g.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,required:!1,default:"default"},modelSlot:{type:[Object],required:!1},multi:{type:Boolean,required:!1,default:!1},tag:{type:[String,Object,Function],required:!1,default:"div"},viewTag:{type:[String,Object,Function],required:!1,default:"div"},viewTagProps:{type:[Object,Function],required:!1,default(){return{}}},viewClass:{type:[String,Function],required:!1},viewActiveClass:{type:[String,Function],required:!1},viewInactiveClass:{type:[String,Function],required:!1},transition:{type:[Boolean,String,Function],required:!1,default:!1},transitionName:{type:String,required:!1},enterFromClass:{type:String,required:!1},enterActiveClass:{type:String,required:!1},enterToClass:{type:String,required:!1},leaveFromClass:{type:String,required:!1},leaveActiveClass:{type:String,required:!1},leaveToClass:{type:String,required:!1},showFromClass:{type:String,required:!1},showActiveClass:{type:String,required:!1},showToClass:{type:String,required:!1},hideFromClass:{type:String,required:!1},hideActiveClass:{type:String,required:!1},hideToClass:{type:String,required:!1},beforeEnter:{type:Function,required:!1},enter:{type:Function,required:!1},afterEnter:{type:Function,required:!1},enterCancelled:{type:Function,required:!1},beforeLeave:{type:Function,required:!1},leave:{type:Function,required:!1},afterLeave:{type:Function,required:!1},leaveCancelled:{type:Function,required:!1},beforeShow:{type:Function,required:!1},show:{type:Function,required:!1},afterShow:{type:Function,required:!1},showCancelled:{type:Function,required:!1},beforeHide:{type:Function,required:!1},hide:{type:Function,required:!1},afterHide:{type:Function,required:!1},hideCancelled:{type:Function,required:!1}},setup(r,e){const t=g.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const n=r.multi===!0,s=g.inject(it,null),i=g.inject(ht,0),o=g.inject(lr,null),l=g.inject(dt,-1);let a=null;const f=r.modelSlot;if(f){g.provide(ht,i+1),g.provide(dt,f.index),g.provide(yt,f.index);const c=f.route;if(!c){console.warn("child view render error, route not exist");return}const h=Qe(t.proxy,!0);mn(h),ct(h,c)}else{if(s==null){console.error("router is not been injected");return}const c=r.name,h=g.inject(ar,null),d=g.inject(yt,0);if(a=s[Pr](c,i,o,l,h,d),a===null)return;if(g.provide(ar,a),a[G]===!0&&g.provide(lr,a),!n){g.provide(dt,-1),g.provide(ht,i+1),g.provide(yt,-1);const v=a.slots.value;if(v.length>0){const p=v[0].route;if(p){const m=Qe(t.proxy,!0);ct(m,p)}}else{const p=Qe(t.proxy,!0);a.compensation=()=>{const m=a.slots.value;if(m.length>0){const b=m[0].route;return b&&ct(p,b),!0}return!1}}}}const u={value:new Map};return g.onUnmounted(()=>{u.value&&u.value.clear()}),()=>{if(n){const c=new Map,h=[],d=a?.slots.value,y=[];for(let m=0;m<d.length;m++){const b=d[m],j=`${r.name}-${b.index}`,x=ne(r.transition,b.route,m)??!0,P={modelSlot:b};let R;e.slots.default?R=g.h(Ht,P,{default:e.slots.default}):R=g.h(Ht,P);const q={},K=ne(r.viewClass,b.route,m);typeof K=="string"&&K.length>0&&(q[K]=!0);const _=ne(r.viewActiveClass,b.route,m),L=ne(r.viewInactiveClass,b.route,m),W=u.value.get(j);if(typeof _=="string"&&_.length>0&&(q[_]=b.active),typeof L=="string"&&L.length>0&&(q[L]=!b.active),W&&b.active!==W.state){const ue=W.node;b.active?y.unshift(()=>{const lt=()=>{let Re=sr(ue);Re!=null&&or(Re,Ot.ACTIVATED)};ui(t,ue,r,b.route,m,x,lt)}):y.push(()=>{const lt=()=>{const Re=sr(ue);Re!=null&&or(Re,Ot.DEACTIVATED)};fi(t,ue,r,b.route,m,x,lt)})}const k={class:q,key:j},st=ne(r.viewTagProps,b.route,m);st!==null&&typeof st=="object"&&E(!0,k,st),b.route?.viewTagAttrs&&typeof b.route?.viewTagAttrs=="object"&&E(!0,k,b.route.viewTagAttrs);const Ur=ne(r.viewTag,b.route,m),ot=g.h(Ur,k,{default:()=>[R]});if(c.set(j,new hi(ot,b.active)),u.value.delete(j),x){const ue=Nt(t,r,b.route,m);ot.transition=ue}h.push(ot)}u.value.forEach(m=>{m.node.transition=null}),u.value=c,ci(y,t);const v=ne(r.tag,null,-1),p={};return Object.assign(p,e.attrs),g.h(v,p,{default:()=>h})}else if(f!=null){const c=f.model,h={};c.props&&(typeof c.props=="object"?E(!1,h,c.props):c.props===!0&&typeof f.route?.params=="object"&&E(!1,h,f.route?.params));const d=g.h(c.component,h);return Kt(e.slots.default,{Component:d,route:f.route})??d}else{const c=a.slots.value;if(c.length>0){const h=c[0],d=h.model,y={};d.props&&(typeof d.props=="object"?E(!1,y,d.props):d.props===!0&&typeof h.route?.params=="object"&&E(!1,y,h.route?.params));const v=g.h(d.component,y);if(ne(r.transition,h.route,-1)??!0){const m=Nt(t,r,h.route,-1);v.transition=m}return Kt(e.slots.default,{Component:v,route:h.route})??v}else return Kt(e.slots.fallback,{})}}}});function di(r){if(!(r.metaKey||r.altKey||r.ctrlKey||r.shiftKey)&&!r.defaultPrevented&&!(r.button!=null&&r.button!==0)){if(r.currentTarget&&r.currentTarget.getAttribute){const e=r.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return r.preventDefault&&r.preventDefault(),!0}}function yi(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function pi(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function pe(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let mi=g.defineComponent({name:"RouterLink",inheritAttrs:!1,props:{tag:{type:[String,Object,Function],required:!1,default:"a"},to:{type:[String,Object,Function],required:!0},root:{type:String},activeClass:{type:[String,Function],required:!1,default:"fox-router-link-active"},exact:{type:[String,Boolean,Function],required:!1},exactActiveClass:{type:[String,Function],required:!1,default:"fox-router-link-exact-active"},event:{type:[String,Function],required:!1,default:"onClick"}},setup(r,e){const t=g.inject(it,null);return()=>{let n=pe(r.to,null),s=pe(r.tag,n);if(s==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[I](n),r.root&&(i.root=r.root),o=t.current);let l={},a=pe(r.activeClass,i);if(typeof a=="string"&&a.length>0&&(l[a]=pi(i,o)),pe(r.exact,i)===!0){let h=pe(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(l[h]=yi(i,o))}let u={class:l};(s==="a"||s==="A")&&(u.href=i?.path??i?.name??"#"),E(!0,u,e.attrs);let c=pe(r.event,i);if(typeof c=="string"){const h=d=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}di(d)&&t.to(i)};u[c]=h}return g.h(s,u,e.slots)}}}),vi={get each(){return tn},get type(){return Le},get isFunction(){return S},get isArray(){return wr},get isArrayLike(){return Vt},get makeArray(){return en},get merge(){return Rr},get isWindow(){return xr},get isPlainObject(){return Ze},get isEqual(){return et}};const Xt=Symbol("fk"),Yt=Symbol("fbk"),Zt=Symbol("fepk");function gi(r={}){const e=new Jn(r),t=new _t,n=new qt,s={...vi,get router(){return e},get bus(){return t},get Bus(){return _t},get eventproxy(){return n},get EventProxy(){return qt},get EventChain(){return Ie},get require(){return e.require},get request(){return kt},get extend(){return E},get clone(){return Oe},install(i){i.provide(it,e),i.provide(Xt,s),i.provide(Yt,t),i.provide(Zt,n),i.component(Gn,Ht),i.component(Qn,mi),Reflect.defineProperty(i.config.globalProperties,"$fox",{get(){return s}}),Reflect.defineProperty(i.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(i.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(i.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(i.config.globalProperties,"$eventProxy",{get(){return n}}),i.config.globalProperties.$fox_on=function(o,l,a=!1){n.on(o,l,a)},i.config.globalProperties.$fox_off=function(o,l){n.off(o,l)},i.config.globalProperties.$fox_once=function(o,l){n.once(o,l)},i.config.globalProperties.$fox_all=function(...o){let l=n;Reflect.apply(l.all,l,o)},i.config.globalProperties.$fox_trigger=function(o,...l){let a=n;Reflect.apply(a.trigger,a,[o,...l])},i.config.globalProperties.$fox_emit=function(o,...l){let a=n;Reflect.apply(a.trigger,a,[o,...l])},i.mixin({computed:{$route(){return Fr(this)}}}),e.init()}};return s}function er(r){return r?r.$router:g.inject(it)}function wi(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?Fr(r):null}function bi(r){return r?r.$fox:g.inject(Xt)}function xi(r){return r?r.$bus:g.inject(Yt)}function Ri(r){return r?r.$eventProxy:g.inject(Zt)}function Si(r){const e=er(),t=(n,s,i)=>{try{Reflect.apply(r,{},[n,s])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function Ci(r){const e=er(),t=(n,s,i)=>{try{Reflect.apply(r,{},[n,s])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=_t;exports.EventChain=Ie;exports.EventProxy=qt;exports.Route=$;exports.cancel=yn;exports.clone=Oe;exports.createFox=gi;exports.createMemoryHistory=$r;exports.createWebHashHistory=qr;exports.createWebHistory=Bn;exports.extend=E;exports.foxBusKey=Yt;exports.foxEventProxyKey=Zt;exports.foxKey=Xt;exports.isArray=wr;exports.isDate=Wr;exports.isESModule=Dt;exports.isEqual=et;exports.isFunction=S;exports.isMap=Vr;exports.isObject=br;exports.isPlainObject=Ze;exports.isPromise=Jr;exports.isSet=Br;exports.isString=kr;exports.isSymbol=zr;exports.onAfterRouteUpdate=Ci;exports.onBeforeRouteUpdate=Si;exports.onFoxActivated=bn;exports.onFoxDeactivated=xn;exports.request=kt;exports.sessionKey=ie;exports.toBoolean=Ut;exports.toNumber=Yr;exports.toTypeString=nt;exports.typeOf=Le;exports.useBus=xi;exports.useEventProxy=Ri;exports.useFox=bi;exports.useRoute=wi;exports.useRouter=er;
2
+ * fox v3.1.0 Sun Mar 10 2024 23:48:35 GMT+0800 (中国标准时间)
3
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const w=require("vue"),Se=typeof window<"u",q=function(){return window},He=function(){return window.document};function Jr(s){let e=s,t=e.lastIndexOf("/");return t>0&&t<e.length-1?e=e.substring(0,t+1):t===0&&e.indexOf(".")!==-1?e="/":t===-1&&(e.indexOf(".")==-1?e=`/${e}/`:e="/"),e.indexOf("/")!==0&&(e=`/${e}`),e}function ft(){if(!Se)return"/";let s=q().location,e=`${s.protocol}//${s.host}`;return e+=Jr(s.pathname),e}function Tt(s,e,t){s.addEventListener?s.addEventListener(e,t,!1):s.attachEvent?s.attachEvent(`on${e}`,t):s[`on${e}`]=t}function $t(s,e,t){s.removeEventListener?s.removeEventListener(e,t):s.detachEvent?s.detachEvent(`on${e}`,t):s[`on${e}`]=null}const Gr=Array.isArray,Qr=s=>nt(s)==="[object Map]",Xr=s=>nt(s)==="[object Set]",Yr=s=>s instanceof Date,R=s=>typeof s=="function",Zr=s=>typeof s=="string",es=s=>typeof s=="symbol",xr=s=>s!==null&&typeof s=="object",ts=s=>xr(s)&&R(s.then)&&R(s.catch),Rr=s=>s==null,rs=Object.prototype.toString,nt=s=>rs.call(s),Sr=s=>nt(s)==="[object Object]",ss=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Ht(s){return s.__esModule||ss&&s[Symbol.toStringTag]==="Module"}const ns=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function K(...s){let e=s[0]!==void 0&&s[0]!==null?s[0]:{},t=1,r=s.length,n=!1;for(typeof e=="boolean"&&(n=e,e=s[t]??{},t++),typeof e!="object"&&(e={});t<r;t++)if(s[t]!==null&&s[t]!==void 0){let i=s[t];for(let o in i){let a=e[o],l=i[o];if(a!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=a&&Array.isArray(a)?a:[]:u=a&&typeof a=="object"?a:{},e[o]=K(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function it(s,e,t=!1){if(!t)K(!0,s,e);else{if(typeof e!="object")return{};typeof s!="object"&&(s={});for(let r of Reflect.ownKeys(e)){let n=s[r],i=e[r];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!Sr(i))continue;n=it(n,i,t),s[r]=n}else{if(typeof i=="function")continue;s[r]=i}}}return s}class le{static seed=new Date().getTime();static get(){let e=++le.seed;return e>=Number.MAX_VALUE&&(le.seed=0),e}}const ct=ns?Promise.resolve():null;function Me(s,...e){ct!==null?e&&e.length>0?ct.then(()=>{s(e)}):ct.then(s):e&&e.length>0?setTimeout(()=>{s(e)}):setTimeout(s)}function Dt(s){return s==null?!1:typeof s=="boolean"?s:typeof s=="string"?s.toLocaleLowerCase()==="true":!!s}function is(s){return typeof s=="number"?s:Number(s)}const os={"[object Boolean]":"boolean","[object Number]":"number","[object String]":"string","[object Function]":"function","[object Array]":"array","[object Date]":"date","[object RegExp]":"regExp","[object Object]":"object"};function jt(s){let t=Object.prototype.toString.call(s);return s==null?String(s):os[t]||"object"}function qt(s,e){if(s==e)return!0;if(s===void 0||e===void 0)return!1;let t=jt(s),r=jt(e);if(t!==r)return!1;if(t==="object"){let n=Object.keys(s),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=s[a],u=e[a];if(!qt(l,u))return!1}return!0}else if(t==="array"){if(s.length!==e.length)return!1;for(let n=0;n<s.length;n++){let i=s[n],o=e[n];if(!qt(i,o))return!1}return!0}return!1}const Pr=s=>{const e={};for(let t of Reflect.ownKeys(s)){let r=s[t];r&&!Array.isArray(r)&&typeof r=="object"&&(r=Pr(r)),typeof t=="symbol"?e[String(t)]=r:e[t]=r}return e},ls=/^Symbol\((.*)\)$/,Cr=s=>{const e={};for(let t of Reflect.ownKeys(s)){let r=s[t];r&&!Array.isArray(r)&&typeof r=="object"&&(r=Cr(r));const n=ls.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=r}else e[t]=r}return e},Zt=Symbol("idKey"),ye=Symbol("valueKey"),S=Symbol("childrenKey"),Q=Symbol("growKey");class Ar{[Q]=!0;[Zt];[ye]=w.ref();[S]=new Map;constructor(e){this[Zt]=e}}class as{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[Q];let r=e[S].get(t);if(r)return Ie(r);if(e[Q])return r=Vt(t),r[Q]=e[Q],e[S].set(t,r),Ie(r)}set(e,t,r){return t=="value"?(e[ye].value=r,!0):t==="grow"?(e[Q]=Dt(r),!0):r==null?(e[S].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[S].delete(t),!0)}}const Ut="__proxy__";function Vt(s){const e=new Ar(s);return Reflect.set(e,Ut,new Proxy(e,new as)),e}function Ie(s){return Reflect.get(s,Ut)}class us{name="";persistPolicy="momery";storage;initFlag=!1;state={};constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="momery"&&Rr(e.name))throw new Error("name can not be empty, where persistPolicy is not momery.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"momery",this.storage=e.storage}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy)return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(Se){const t=q();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="momery")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,r=JSON.stringify(this.state??{});e.setItem(t,r)}removeState(){if(!this.persistPolicy||this.persistPolicy==="momery")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="momery")return;let t=this.getStorage();if(t===null)return;const r=`_bus_${this.name}`,n=t.getItem(r);n&&(this.state=JSON.parse(n),Reflect.ownKeys(this.state).forEach(o=>{if(typeof o!="string")return;const a=this.state[o],l=o.split(/\//g);l.push(a),Reflect.apply(e.put,e,l)}))}put(e){if(this.initFlag&&this.persistPolicy!=="momery")try{const t=e.length,r=e.slice(0,t-1).join("/"),n=e[t-1];this.state[r]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="momery")try{const t=e.length,r=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===r||o.startsWith(r)||(n[o]=this.state[o]))}),this.state=n,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}}class Er extends Ar{_persistHandler;constructor(e={}){super("__root__"),this._persistHandler=new us(e),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let r=this;for(let n=0;n<t-1;n++){let i=e[n],o;r[S].has(i)?o=r[S].get(i):(o=Vt(i),r[S].set(i,o)),r=o}return r[ye].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let r=this;for(let n=0;n<t;n++){let i=e[n];if(r[S].has(i))r=r[S].get(i);else return}return r[ye].value}remove(...e){let t=e.length;if(t==0)return!1;let r=this;for(let i=0;i<t-1;i++){const o=e[i];if(r[S].has(o))r=r[S].get(o);else return!1}const n=e[t-1];return r[S].has(n)?(r[S].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let r=this;for(let i=0;i<t-1;i++){let o=e[i];if(r[S].has(o))r=r[S].get(o);else return!1}const n=e[t-1];return r[S].has(n)}clear(){this[S].clear(),this._persistHandler.clear()}}const fs=["put","get","contains","remove","clear","_persistHandler"];function er(s){return fs.includes(s)}class cs{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[Q];if(t===S)return e[S];if(typeof t=="string"&&er(t))return e[t];let r=String(t),n=e[S].get(r);if(n)return Ie(n);if(e[Q])return n=Vt(r),n[Q]=e[Q],e[S].set(r,n),Ie(n)}set(e,t,r){return t=="value"?(e[ye].value=r,!0):t==="grow"?(e[Q]=Dt(r),!0):er(t)?!1:r==null?(e[S].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[S].delete(t),!0)}}function hs(s){const e=new Er(s),t=new cs,r=new Proxy(e,t);return Reflect.set(e,Ut,r),e}const Ot=new Proxy(Er,{construct(s,e){const t=hs(e[0]??{});return Ie(t)}}),te="default",Fr=Symbol("sync"),D=Symbol("resolveRoute");function tr(s){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(s,{},t)}}function ys(s){let e=s.src;return new Promise((t,r)=>{const n=tr(a=>{Ht(a)&&(a=a.default),s.component=a,console.debug("success load async module"),t()}),i=tr(a=>{console.debug("reject load async module"),r(a)});let o;try{o=e(n,i)}catch(a){i(a)}if(o)if(typeof o.then=="function")o.then(n,i);else{const a=o.component;a&&typeof a.then=="function"&&a.then(n,i)}})}class ds{name;level;rootName;rootIndex=0;constructor(e,t,r,n){this.name=e,this.level=t,this.rootName=r,this.rootIndex=n}}class tt{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){let t=new tt(e.to,e.from),r=e.data??{};return K(!0,t.data,r),t}}class P{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??te}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;session;static clone(e,t){let r=new P;return it(r,e,t),r}static isSame(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!==t.path||e.name&&e.name!==t.name||e.root!==t.root||e.index!==t.index)}static isSameForRouteModel(e,t){return e===t?!0:!(e==null||t==null||e.path&&e.path!=t.path||e.name&&e.name!=t.name)}static from(e){let t=new P;if(e==null)return t;let r=t;for(let i in e){let o=e[i];r[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)r[i]=e[i];return t}}class ps{id;name;props;meta;src;component;constructor(e,t,r,n){this.id=le.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=r,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return ys(this)}}class rr{models=[]}class ht{path;match;redirect;name;layers=[]}var j=(s=>(s[s.Push=0]="Push",s[s.Replace=1]="Replace",s[s.Put=2]="Put",s[s.Append=3]="Append",s[s.Open=4]="Open",s))(j||{});const U=Symbol("chainKey"),H=Symbol("cursorKey"),yt=Symbol("$persistentModeKey"),_=Symbol("statusKey"),Z=Symbol("argsKey"),De=Symbol("exArgsKey"),de=Symbol("successFnsKey"),Ae=Symbol("errorFnsKey"),oe=Symbol("sessionKey"),ee=Symbol("_go");class Ne{[U]=[];[H]=0;[yt]=!1;[_]="Free";[Z]=[];[De]=[];[de]=[];[Ae]=[];[oe];get session(){return this[oe]}constructor(e,t=!1){this[oe]=e,this[yt]=t}[ee](e,...t){let r=this[_];if(this[_]="Busy",this[H]+=e,this[H]<0&&(this[H]=0),this[Z]=t,r==="Exception"||r==="Reject"){let a=[{session:this[oe]},...this[De]];for(;this[Ae].length>0;)try{let l=this[Ae].shift();typeof l=="function"&&Me(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[_]=r,this[U]=[],this[H]=0,this}else if(r==="Finished"||this[H]>=this[U].length){let a=[{session:this[oe]},...this[Z]];for(;this[de].length>0;){let l=this[de].shift();typeof l=="function"&&Me(()=>{Reflect.apply(l,{},a)})}return this[_]="Free",this}if(this[H]>=this[U].length)return this[_]="Free",this;let n=this[U][this[H]];this[yt]||(this[U].splice(0,this[H]+1),this[H]=-1);let i=this[H]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[ee],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[ee],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[U].splice(i,0,l),i++)},session:this[oe]};Me(()=>{Reflect.apply(n,{},[a,...this[Z]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[ee],this,[e,...t])}finish(...e){return this[_]="Finished",this[Z]=e,Reflect.apply(this[ee],this,[0])}reject(...e){return this[_]="Reject",this[De]=e,Reflect.apply(this[ee],this,[0])}throw(...e){return this[_]="Exception",this[De]=e,Reflect.apply(this[ee],this,[0])}reset(...e){this[_]="Busy",this[Z]=e,this[U]=[],this[H]=0;let r=[{session:this[oe]},...this[Z]];for(;this[de].length>0;){let n=this[de].shift();Me(()=>{Reflect.apply(n,this,r)})}return this[_]="Free",this}post(e){return this[_]==="Reject"||this[_]==="Exception"?this:(Array.isArray(e)?this[U]=[...this[U],...e]:this[U].push(e),this[_]==="Busy"?this:(Reflect.apply(this[ee],this,[0,...this[Z]]),this))}wait(e,t){return e&&typeof e=="function"&&this[de].push(e),t&&typeof t=="function"&&this[Ae].push(t),this[_]==="Busy"?this:(Reflect.apply(this[ee],this,[0,...this[Z]]),this)}exception(e){return e&&typeof e=="function"&&this[Ae].push(e),this[_]==="Busy"?this:Reflect.apply(this[ee],this,[0,...this[Z]])}isFinish(){return this[_]=="Reject"||this[_]=="Free"&&this[H]>=this[U].length}}const pe=Symbol("registerKey");class ms{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Lt{[pe]=new Map;constructor(){}on(e,t,r=!1){let n=this[pe].get(e);n||(n=new Array,this[pe].set(e,n));let i=r===!0?1:0,o=new ms(t,i);return n.push(o),this}off(e,t){if(!t)return this[pe].delete(e),this;let r=this[pe].get(e);if(r){for(let n=0;n<r.length;n++)if(r[n].callback===t){r.splice(n,1);break}}return this}bind(e,t,r=!1){return this.on(e,t,r)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let r=e[t-1];if(typeof r!="function")return console.error("callback can not benn empty"),this;let n=t-1,i=new Array(n),o=[].splice.call(e,0,n);for(let a=0;a<o.length;a++)this.once(o[a],l=>{i[a]=l,n-=1,n==0&&Reflect.apply(r,{},i)});return this}emit(e,...t){let r=this[pe].get(e);if(!r)return this;for(let n=0;n<r.length;){let i=r[n];if(i.policy==1?r.splice(n,1):n++,typeof i.callback=="function")try{Me(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}const Ee=Symbol("registerKey");class vs{[Ee]=new Map;constructor(){}set(e,t){this[Ee].set(e,t)}get(e){return this[Ee].get(e)}has(e){return this[Ee].has(e)}delete(e){return this[Ee].delete(e)}}const he=Symbol("lc");function rt(s,e=!1){let t=s;if(Reflect.has(t,he))return t[he];if(e){const r=new vs;return t[he]=r,r}return null}function _r(s,e=!1){let t=null,r=s;for(;r&&!(Reflect.has(r,he)&&(t=r[he],t));)r=r.$parent;if(!t&&e){const n=s;n&&n.$parent&&(t=rt(n.$parent,e))}return t}function Bt(s,e){let t=s;for(;t;){if(Reflect.has(t,he)){const r=t[he];if(r.has(e))return r.get(e)}t=t.$parent}return null}function gs(s,e,t){_r(s,!0)?.set(e,t)}function ws(s,e){_r(s,!0)?.delete(e)}function sr(s){if(Array.isArray(s.children)&&s.children.length>0){let e=s.children[0];if(e!=null&&e.component!=null&&e.component.proxy!=null)return rt(e.component.proxy,!1)}return null}const st=Symbol("hooksKey");function bs(s){let e=s.get(st);e||(e=[],s.set(st,e))}function nr(s,e){let t=s.get(st);if(t!=null)for(let r=t.length-1;r>=0;r--){let n=t[r];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var Mt=(s=>(s.DEACTIVATED="da",s.ACTIVATED="a",s))(Mt||{});class xs{type;hook;target;constructor(e,t,r){this.target=r,this.hook=t,this.type=e}}function Rs(s,e,t,r){let n=new xs(e,t,r);return s.push(n),!0}function Ss(s,e,t,r){let n=-1;for(let i=0;i<s.length;i++){let o=s[i];if(o.type===e&&o.hook===t&&o.target===r){n=i;break}}return n!=-1?(s.splice(n,1),!0):!1}function Kr(s){return(e,t)=>{let r;if(t)r=t;else{const i=w.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}r=i.proxy}const n=Bt(r,st);if(n==null){console.warn("hooks context not found");return}w.onUnmounted(()=>{Ss(n,s,e,r)}),Rs(n,s,e,r)}}const Ps=Kr("a"),Cs=Kr("da"),Tr=Symbol("routeKey");function ir(s,e){s.set(Tr,e)}function kt(s){let e=Bt(s,Tr);return typeof e=="function"?e():e??null}const ot=Symbol("rk"),dt=Symbol("vd"),or=Symbol("rv"),pt=Symbol("rvi"),lr=Symbol("pv"),mt=Symbol("pvi");function As(s){for(var e=[],t=0;t<s.length;){var r=s[t];if(r==="*"||r==="+"||r==="?"){e.push({type:"MODIFIER",index:t,value:s[t++]});continue}if(r==="\\"){e.push({type:"ESCAPED_CHAR",index:t++,value:s[t++]});continue}if(r==="{"){e.push({type:"OPEN",index:t,value:s[t++]});continue}if(r==="}"){e.push({type:"CLOSE",index:t,value:s[t++]});continue}if(r===":"){for(var n="",i=t+1;i<s.length;){var o=s.charCodeAt(i);if(o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122||o===95){n+=s[i++];continue}break}if(!n)throw new TypeError("Missing parameter name at ".concat(t));e.push({type:"NAME",index:t,value:n}),t=i;continue}if(r==="("){var a=1,l="",i=t+1;if(s[i]==="?")throw new TypeError('Pattern cannot start with "?" at '.concat(i));for(;i<s.length;){if(s[i]==="\\"){l+=s[i++]+s[i++];continue}if(s[i]===")"){if(a--,a===0){i++;break}}else if(s[i]==="("&&(a++,s[i+1]!=="?"))throw new TypeError("Capturing groups are not allowed at ".concat(i));l+=s[i++]}if(a)throw new TypeError("Unbalanced pattern at ".concat(t));if(!l)throw new TypeError("Missing pattern at ".concat(t));e.push({type:"PATTERN",index:t,value:l}),t=i;continue}e.push({type:"CHAR",index:t,value:s[t++]})}return e.push({type:"END",index:t,value:""}),e}function $r(s,e){e===void 0&&(e={});for(var t=As(s),r=e.prefixes,n=r===void 0?"./":r,i="[^".concat(be(e.delimiter||"/#?"),"]+?"),o=[],a=0,l=0,u="",f=function(F){if(l<t.length&&t[l].type===F)return t[l++].value},c=function(F){var C=f(F);if(C!==void 0)return C;var A=t[l],W=A.type,I=A.index;throw new TypeError("Unexpected ".concat(W," at ").concat(I,", expected ").concat(F))},h=function(){for(var F="",C;C=f("CHAR")||f("ESCAPED_CHAR");)F+=C;return F};l<t.length;){var y=f("CHAR"),d=f("NAME"),m=f("PATTERN");if(d||m){var p=y||"";n.indexOf(p)===-1&&(u+=p,p=""),u&&(o.push(u),u=""),o.push({name:d||a++,prefix:p,suffix:"",pattern:m||i,modifier:f("MODIFIER")||""});continue}var v=y||f("ESCAPED_CHAR");if(v){u+=v;continue}u&&(o.push(u),u="");var g=f("OPEN");if(g){var p=h(),T=f("NAME")||"",x=f("PATTERN")||"",$=h();c("CLOSE"),o.push({name:T||(x?a++:""),pattern:T&&!x?i:x,prefix:p,suffix:$,modifier:f("MODIFIER")||""});continue}c("END")}return o}function Es(s,e){return Fs($r(s,e),e)}function Fs(s,e){e===void 0&&(e={});var t=Wt(e),r=e.encode,n=r===void 0?function(l){return l}:r,i=e.validate,o=i===void 0?!0:i,a=s.map(function(l){if(typeof l=="object")return new RegExp("^(?:".concat(l.pattern,")$"),t)});return function(l){for(var u="",f=0;f<s.length;f++){var c=s[f];if(typeof c=="string"){u+=c;continue}var h=l?l[c.name]:void 0,y=c.modifier==="?"||c.modifier==="*",d=c.modifier==="*"||c.modifier==="+";if(Array.isArray(h)){if(!d)throw new TypeError('Expected "'.concat(c.name,'" to not repeat, but got an array'));if(h.length===0){if(y)continue;throw new TypeError('Expected "'.concat(c.name,'" to not be empty'))}for(var m=0;m<h.length;m++){var p=n(h[m],c);if(o&&!a[f].test(p))throw new TypeError('Expected all "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(p,'"'));u+=c.prefix+p+c.suffix}continue}if(typeof h=="string"||typeof h=="number"){var p=n(String(h),c);if(o&&!a[f].test(p))throw new TypeError('Expected "'.concat(c.name,'" to match "').concat(c.pattern,'", but got "').concat(p,'"'));u+=c.prefix+p+c.suffix;continue}if(!y){var v=d?"an array":"a string";throw new TypeError('Expected "'.concat(c.name,'" to be ').concat(v))}}return u}}function _s(s,e){var t=[],r=jr(s,t,e);return Ks(r,t,e)}function Ks(s,e,t){t===void 0&&(t={});var r=t.decode,n=r===void 0?function(i){return i}:r;return function(i){var o=s.exec(i);if(!o)return!1;for(var a=o[0],l=o.index,u=Object.create(null),f=function(h){if(o[h]===void 0)return"continue";var y=e[h-1];y.modifier==="*"||y.modifier==="+"?u[y.name]=o[h].split(y.prefix+y.suffix).map(function(d){return n(d,y)}):u[y.name]=n(o[h],y)},c=1;c<o.length;c++)f(c);return{path:a,index:l,params:u}}}function be(s){return s.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function Wt(s){return s&&s.sensitive?"":"i"}function Ts(s,e){if(!e)return s;for(var t=/\((?:\?<(.*?)>)?(?!\?)/g,r=0,n=t.exec(s.source);n;)e.push({name:n[1]||r++,prefix:"",suffix:"",modifier:"",pattern:""}),n=t.exec(s.source);return s}function $s(s,e,t){var r=s.map(function(n){return jr(n,e,t).source});return new RegExp("(?:".concat(r.join("|"),")"),Wt(t))}function js(s,e,t){return qs($r(s,t),e,t)}function qs(s,e,t){t===void 0&&(t={});for(var r=t.strict,n=r===void 0?!1:r,i=t.start,o=i===void 0?!0:i,a=t.end,l=a===void 0?!0:a,u=t.encode,f=u===void 0?function(I){return I}:u,c=t.delimiter,h=c===void 0?"/#?":c,y=t.endsWith,d=y===void 0?"":y,m="[".concat(be(d),"]|$"),p="[".concat(be(h),"]"),v=o?"^":"",g=0,T=s;g<T.length;g++){var x=T[g];if(typeof x=="string")v+=be(f(x));else{var $=be(f(x.prefix)),F=be(f(x.suffix));if(x.pattern)if(e&&e.push(x),$||F)if(x.modifier==="+"||x.modifier==="*"){var C=x.modifier==="*"?"?":"";v+="(?:".concat($,"((?:").concat(x.pattern,")(?:").concat(F).concat($,"(?:").concat(x.pattern,"))*)").concat(F,")").concat(C)}else v+="(?:".concat($,"(").concat(x.pattern,")").concat(F,")").concat(x.modifier);else x.modifier==="+"||x.modifier==="*"?v+="((?:".concat(x.pattern,")").concat(x.modifier,")"):v+="(".concat(x.pattern,")").concat(x.modifier);else v+="(?:".concat($).concat(F,")").concat(x.modifier)}}if(l)n||(v+="".concat(p,"?")),v+=t.endsWith?"(?=".concat(m,")"):"$";else{var A=s[s.length-1],W=typeof A=="string"?p.indexOf(A[A.length-1])>-1:A===void 0;n||(v+="(?:".concat(p,"(?=").concat(m,"))?")),W||(v+="(?=".concat(p,"|").concat(m,")"))}return new RegExp(v,Wt(t))}function jr(s,e,t){return s instanceof RegExp?Ts(s,e):Array.isArray(s)?$s(s,e,t):js(s,e,t)}var Ye=(s=>(s[s.Part=0]="Part",s[s.All=1]="All",s))(Ye||{});const G=Symbol("rootKey"),J=Symbol("rootNodeKey"),ce=Symbol("parentNodeKey"),Ze=Symbol("nameKey");class se{instance=null;model;route;active=!0;index=0;constructor(e,t,r=0,n=!0){this.route=e,this.model=t,this.index=r,this.active=n}}class Fe{_slots;get slots(){return this._slots==null&&(this._slots=w.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[Ze];[G];[J]=null;[ce]=null;get name(){return this[Ze]}constructor(e,t,r){this[Ze]=e,this[G]=t,r&&(this[J]=r)}}class V{view;index;level;constructor(e,t,r){this.view=e,this.index=t,this.level=r}static include(e,t){for(let r=0;r<e.length;r++){let n=e[r];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class vt{views=[]}class Os{layers=[]}class Ls{time;route}class Ms{forbidTime=300;submitRecorder=new Ls;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const xe=Symbol("_notifyChange");class ar{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const ae=Symbol("historyChangeConsumerKey"),ur=Symbol("_navigateFirstRoute"),Ue=Symbol("_getRouteMark"),gt=Symbol("_getUrlSearch"),wt=Symbol("_generateLocation"),Ve=Symbol("_setRouteMarkRecorder"),_e=Symbol("beforeRestoreFiltersKey"),fr=Symbol("_beforeRestore"),cr="Symbol(_fox_restore_point)";function Ke(s,...e){return typeof s=="function"?Reflect.apply(s,null,[...e]):s}function hr(s){if(!Array.isArray(s))return!1;if(s.length===0)return!0;const e=s[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class qr{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[ae]=!1;[_e]=new Array;backTimeout=320;constructor(e="hash",t="",r="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=r,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??q().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=q();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[ae]=="function"){const r=this[ae]();if(this[ae]=!1,r)return}else if(this[ae]===!0){this[ae]=!1;return}if(Ke(this.historyMonitor)){const r=t.history.state;this[xe](r);try{let n=[];if(typeof r=="string"?n=JSON.parse(r):n=r,Array.isArray(n)&&n.length>0){const i=this[Ue]()??"/";this[Ve](i,n)}}catch{}}}),Tt(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ur](),Promise.resolve()}destroy(){if(this.historyChange){const e=q();$t(e,"popstate",this.historyChange)}}[fr](e,t,r,n){for(let i of this[_e])try{const o=Reflect.apply(i,{},[e,t,r,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[_e].push(e)}removeBeforeRestoreEach(e){const t=this[_e].indexOf(e);return t!==-1?(this[_e].splice(t,1),!0):!1}[ur](){const e=this[Ue]()??"/",t=this.storage.getItem(cr);if(t)try{const o=JSON.parse(t);if(o.mark===e&&Array.isArray(o.routes)&&o.routes.length>0){const a=o.routes.filter((l,u)=>(l.params=l.params?Cr(l.params):{},this[fr](l,u,e,o.routes)));if(a.length>0){const l=this[gt](),u=a.length-1;a[u].query=l||a[u].query,this[xe](a);return}}}catch{}const r=e.indexOf("!");let n;r!=-1?n=e.substring(r+1):n=e;const i=new P;i.path=n,i.query=this[gt](),this[xe]([i])}[Ve](e,t){try{t.forEach(i=>{i.params=i.params?Pr(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(cr,n)}catch(r){console.error(r.message,r)}}setRestorePoint(e){const t=this[Ue]()??"/";this[Ve](t,e)}[xe](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[Ue](){const e=q();if(this.mode==="path"){let t=e.location.pathname;return this.base&&t.indexOf(this.base)===0&&(t=t.substring(this.base.length)),t}else{const t=e.location.hash,r=t.indexOf("#");if(r!=-1)return t.substring(r+1)}return null}[gt](){let t=q().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const r=q();this[ae]=t,r.history.go(e)}goBack(e,t){const r=q(),n=r.history.state;if(hr(n)&&n.length>0){let i=!1;for(let f=n.length-1;f>=0;f--){const c=P.from(n[f]);if(!(c.historyUpdatePolicy==="traceless"||Ke(this.traceless,c))&&P.isSame(c,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{r.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const c=q().history.state;if(hr(c)&&c.length>0){let h=c.length;const y=c[h-1],d=P.from(y);if(P.isSame(d,e))return t(),!0;if(h>0){let m=!1;for(let p=h-1;p>=0;p--){const v=P.from(c[p]);if(!(v.traceless===!0||Ke(this.traceless,v))&&P.isSame(v,e)){m=!0;break}}return m?(setTimeout(()=>{a=setTimeout(l,o),this.go(-1,u)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(l,o),this.go(-1,u)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[Ve](t,e.routes)}push(e){const t=this[wt](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Ke(this.traceless,e.currentRoute)&&q().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[wt](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Ke(this.traceless,e.currentRoute))&&q().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[wt](e){const t=q();let r="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),f=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=f}else a=e.query;this.query?(r=a.length>0?`${this.query}&${a}`:this.query,r.length>0&&r.charAt(0)!=="?"&&(r=`?${r}`)):a.length>0&&(r=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(te)&&(i=i.substring(te.length+1));let o;return r?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${r}`:o=`${this.base}/${i}${r}`:o=`${n.pathname}${r}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function Is(s=!0,e=null,t="",r=!0,n=!1,i){return e!==null&&(e=q().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new qr("path",e??"",t,s,r,n,i)}function Or(s=!0,e="",t=!0,r=!1,n){return new qr("hash","",e,s,t,r,n)}class Ns{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}beforeRestoreEach(e){}removeBeforeRestoreEach(e){return!1}listen(e){this.changeHandler=e}[xe](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let r=this.cursor+e;if(r<0?r=0:r>this.queue.length-1&&(r=this.queue.length-1),r!=this.cursor){this.cursor=r;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[r];this[xe](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let r=0;if(e===null)r=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(P.isSame(i.currentRoute,e))break;r++}if(r===0){t();return}this.go(-r,()=>(t(),!0))}setRouteMark(e){}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}}function Lr(s="",e=50){return new Ns(s,e)}const Be=Symbol("_constructRouteModel"),ke=Symbol("_findRouteModel"),bt=Symbol("_findRootView"),yr=Symbol("_getFirstView"),ue=Symbol("_removeView"),dr=Symbol("_buildPage"),pr=Symbol("_resolveComponent"),mr=Symbol("_update"),ne=Symbol("_merge"),xt=Symbol("_handleHistoryChange"),We=Symbol("_handleRouteUpdated"),ze=Symbol("routeUpdatedCallback"),b=Symbol("currentRoutes"),me=Symbol("current"),vr=Symbol("_addRouteRecorder"),Te=Symbol("_removeRouteRecorder"),Je=Symbol("_cloneRouteRecorder"),O=Symbol("_handleError"),Ge=Symbol("errorCallback"),B=Symbol("registerKey"),Qe=Symbol("notFoundKey"),Rt=Symbol("notFoundPathKey"),k=Symbol("forestKey"),E=Symbol("historyKey"),$e=Symbol("beforeFiltersKey"),je=Symbol("afterFiltersKey"),qe=Symbol("destroyFiltersKey"),St=Symbol("propsFilterKey"),ve=Symbol("mainDispatcherKey"),Pt=Symbol("initKey"),fe=Symbol("readyKey"),Ct=Symbol("readyHandlersKey"),Xe=Symbol("_markReady"),gr=Symbol("_createNextFn"),At=Symbol("_start"),Et=Symbol("_before"),Ft=Symbol("_after"),wr=Symbol("_destroy"),_t=Symbol("_load"),Oe=Symbol("_unload"),Le=Symbol("routerGuardKey");function Hs(s){return s.layers.length==0||s.layers[0].views.length==0}function Ds(s){let e=[];return s.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(r=>{if(!(r==null||r==null))if(typeof r.meta=="object"){let n=K(!0,{},r.meta);e.push(n)}else r.meta&&e.push(r.meta)})}),e}class Us{[B]=new Array;[Qe];[Rt]="*";[fe]=!1;[Ct]=[];[k]=new Os;[E];[b]=new Array;[Ge]=null;[ze]=null;[$e]=new Array;[je]=new Array;[qe]=new Array;[St]=null;[ve]=new Ne;[Le]=new Ms;[Pt]=!1;[me]=w.ref(null);get current(){return this[me].value}options;constructor(e){this.options=e??{},this.options.notFoundPath&&this.setNotFoundPath(this.options.notFoundPath);let t=this.options.routes||[];this.addRoutes(t),this.options.notFound&&this.setNotFoundRoute(this.options.notFound),e.history?this[E]=e.history:this[E]=Se?Or():Lr(),this[E]?.listen(async r=>{let n=!0;try{if(typeof r=="string"){const i=this[D](r);i&&await this[xt]([i])}else await this[xt](r)}catch(i){console.error(i.message,i),n=!1}this[fe]===!1&&this[Xe](n)})}[O](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[Ge]=="function")try{this[Ge](e,t)}catch{}console.error(e)}init(){this[Pt]!==!0&&(this[E]?.init(!this[fe]),this[Pt]=!0)}isReady(){return this[fe]?Promise.resolve():new Promise((e,t)=>{this[Ct].push([e,t])})}[Xe](e){this[fe]=!0,this[Ct].forEach(([t,r])=>{try{e?t():r()}catch(n){console.error(n.message,n)}})}[xt](e){try{if(!e){let o=[...this[b]].reverse();return this[Oe](o),Se&&q().location.reload(),Promise.resolve()}let t=null,r=[],n=[],i=0;for(;i<e.length&&i<this[b].length&&P.isSame(e[i],this[b][i]);i++)e[i].active===!0&&e[i].active!==this[b][i].active&&(t=e[i]);if(i<e.length&&(r=e.slice(i)),i<this[b].length&&(n=this[b].slice(i).reverse()),n.length===0&&r.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Oe](n)){if(r.length>0)return this.restore(r);if(t!==null)return this.restore([t])}}else return this.restore(r)}catch(t){this[O](t)}return Promise.resolve()}[We](e){if(e)this[me].value=e;else{let t=this[b].length;t>0?this[me].value=this[b][t-1]:this[me].value=null}if(typeof this[ze]=="function")try{this[ze](this[me].value)}catch{}}[vr](e){if(e.opsType===j.Open){let t=!1;const r=this[b].length-1;for(let n=r;n>=0;n--){const i=this[b][n];if(e.root==i.root){if(e.path===i.path){this[b].splice(n,1,e),t=!0;continue}e.active&&(i.active=!1)}}t||this[b].push(e)}else this[b].push(e)}[Je](){let e=[];for(let t of this[b]){let r=P.clone(t,!0);e.push(r)}return e}[Te](e){if(!this[b])return;let t=-1;for(let r=0;r<this[b].length;r++)if(P.isSame(this[b][r],e)){t=r;break}if(t!=-1){let r=this[b][t];this[b].splice(t,1),this[wr](r,r.session)}}set historyMonitor(e){this[E]&&(this[E].historyMonitor=e)}get historyMonitor(){return this[E]?this[E].historyMonitor:!1}set traceless(e){this[E]&&(this[E].traceless=e)}get traceless(){return this[E]?this[E].traceless:!1}set propsFilter(e){this[St]=e}get propsFilter(){return this[St]}setRestorePoint(){const e=this[Je]();this[E]?.setRestorePoint(e)}onRouteUpdated(e){this[ze]=e}onError(e){this[Ge]=e}beforeEach(e){this[$e].push(e)}removeBeforeEach(e){const t=this[$e].indexOf(e);return t!==-1?(this[$e].splice(t,1),!0):!1}afterEach(e){this[je].push(e)}removeAfterEach(e){const t=this[je].indexOf(e);return t!==-1?(this[je].splice(t,1),!0):!1}destroyEach(e){this[qe].push(e)}removeDestroyEach(e){const t=this[qe].indexOf(e);return t!==-1?(this[qe].splice(t,1),!0):!1}beforeRestoreEach(e){this[E]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[E]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Rt]){this.setNotFoundRoute(e);return}const r=this[Be](e);if(t==-1)this[B]=[...this[B],...r];else for(let n=r.length-1;n>=0;n--)this[B].splice(t,0,r[n])}removeRoute(e){const t=this[D](e);if(t===null)return console.warn("route格式错误",e),!1;for(let r=0;r<this[B].length;r++){const n=this[B][r];if(t?.path&&n.path===t.path)return this[B].splice(r,1),!0;if(t?.name&&n.name===t.name)return this[B].splice(r,1),!0}return!1}hasRoute(e){const t=this[D](e);return t===null?(console.warn("route格式错误",e),!1):this[B].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Rt]=e}setNotFoundRoute(e){const t=this[Be](e);this[Qe]=t[0]}getRoutes(){return[...this[B]]}[Be](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let r=e.components??(e.component&&{"":e.component});if(r==null){const a=new ht;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in r){let l=r[a];a.length===0&&(a=te);let u=new ps(a,l,e.props,e.meta);n.push(u)}let i=!1,o=[];if(e.children)for(let a of e.children){let l=this[Be](a);for(let u of l){let f=new ht;f.name=u.name,u.path&&u.path.length>0?t!=="/"?f.path=`${t}${u.path}`:f.path=u.path:(i=!0,f.path=t);let c=new rr;c.models=[...n],f.layers=[c,...u.layers],o.push(f)}}if(!i){const a=new rr;a.models=n;const l=new ht;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[ke](e){const t=e.route;try{for(let r of this[B]){const n=t.template??t.path,i=t.template??t.name;if(n&&r.path){let o=r.match;o||(o=r.match=_s(r.path));const a=o(n);if(!a)continue;if(r.redirect){const l=new P;K(!0,l,t),l.path=r.redirect;const u={route:l,find:void 0};return this[ke](u)?(e.route=u.route,e.find=u.find,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0):!1}if(t.params=t.params??{},K(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},f=l.split("&");for(let c of f){const h=c.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}K(!0,t.params,u)}else typeof l=="object"&&K(!0,t.params,l)}return e.find=r,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===r.name){t.params=t.params??{};const o=Es(r.path);return t.path=o(t.params),e.find=r,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(r){console.error(r.message,r),typeof t.error=="function"&&t.error(r.message)}return!1}[D](e){let t=null;if(Array.isArray(e))if(t=new P,typeof e[0]=="object")t=P.from(e[0]);else for(let r=0;r<e.length;r++)r===0?e[r].charAt(0)==="/"?t.path=e[r]:t.name=e[r]:r===1?t.params=e[r]:r===2?t.root=e[r]:r===3&&K(!1,t,e[r]);else typeof e=="object"?t=P.from(e):typeof e=="string"&&(t=new P,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let r=t.path.indexOf("?");r!==-1&&r<t.path.length-1&&(t.query=t.path.substring(r+1),t.path=t.path.substring(0,r))}t.root=t.root??te,t.opsType=t.opsType??this.options.defaultOperationType??j.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[D](e);return t?(t.opsType=j.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[O]("resolve route fail",t),this)}put(...e){const t=this[D](e);return t?(t.opsType=j.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[O]("resolve route fail",t),this)}replace(...e){const t=this[D](e);return t?(t.opsType=j.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[O]("resolve route fail",t),this)}append(...e){const t=this[D](e);return t?(t.opsType=j.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[O]("resolve route fail",t),this)}remove(e,t){return new Promise(r=>{this[ve].post(n=>{try{if(this[b].length===0){n.resolve(),r(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[b][0].root??te,e.all)for(let u=this[b].length-1;u>0;u--){let f=this[b][u];f.opsType===j.Append&&f.root===o&&(a.splice(0,0,f),i=u-1)}else if(e.until)for(let u=this[b].length-1;u>0;u--){let f=this[b][u];if(f.opsType===j.Append&&f.root===o){if(e.until.charAt(0)==="/"&&e.until===f.path){i=u;break}else if(e.until===f.name){i=u;break}a.splice(0,0,f)}}}else{o=te;let u=this[yr](this[k]);u&&(o=u.name);for(let f=this[b].length-1;f>0;f--){let c=this[b][f];if(c.opsType===j.Append&&c.root===o){a.push(c),i=f-1;break}}}if(a.length===0){let u="can not find route";console.warn(u),n.resolve(u),r(!1);return}let l=null;if(i!==-1&&(l=this[b][i]),this[Oe](a)){if(t===!1)return n.resolve(),r(!0),!0;const u=()=>(n.resolve(),r(!0),!0),f=this[b].length;if(l&&P.isSame(l,this[b][f-1])){this[E]?.goBack(l,u);return}u()}}catch(i){this[O](i),n.resolve(),r(!1)}})})}open(...e){let t=this[D](e);return t?(t.opsType=j.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[O]("resolve route fail",t),this)}close(e){return this[ve].post(t=>{try{let r=this[D](e);if(!r){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[b].length;i++){let o=this[b][i];if(o.root===r.root){if(!r.path&&!r.name){n.push(o);continue}if(r.path&&r.path===o.path){n.push(o);break}else if(r.name&&r.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Oe](n)&&this[We](),t.resolve()}catch(r){this[O](r),t.resolve()}}),this}to(...e){let t=this[D](e);if(!t)return this[O]("resolve route fail",t),this;let r=this[Le].acquire(t);return r==null?(this[O]("route forbid",t),this):(this[ve].post(n=>{try{let i=this[At](t);this[Et](i),this[_t](i),this[Ft](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=P.clone(l,!0);const f=new ar(u,this[Je]());l.historyUpdatePolicy==="replace"?this[E]?.replace(f):l.historyUpdatePolicy==="traceless"?this[E]?.setRouteMark(f):this[E]?.push(f)}catch(u){console.error(u.message,u)}if(this[Le].release(r),this[We](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[fe]===!1&&this[Xe](!0),n.resolve()},(o,a)=>{this[Le].release(r),a!==null&&this[O](a,t),this[fe]===!1&&this[Xe](!1),n.resolve()})}catch(i){this[Le].release(r),this[O](i,t),n.resolve()}}),this)}back(e=1){this[E]?.go(-e,!1)}[gr](e){return(t,r)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(r??null);else if(t){const n=this[D](t);if(n){const i=e.session.to;n.success=i.success,n.error=i.error,e.session.to=n,e.session.redirect=!0,e.session.routeModel=null,e.resolve()}else e.session.redirect=!1,e.reject("route resolve fail")}else e.session.redirect=!1,e.resolve()}}[At](e){let t=this[b].length>0?this[b][0]:void 0,r=new tt(e,t),n={route:e,find:null};return this[ke](n),n.find&&(r.routeModel=n.find,e.matched=Ds(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new Ne(r)}[Et](e){for(let t of this[$e])e.post(r=>{const n=this[gr](r);Reflect.apply(t,{},[r.session.to,r.session.from,n,r.session])})}[Ft](e){e.post(t=>{for(let r of this[je])try{Reflect.apply(r,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[wr](e,t){for(let r of this[qe])try{Reflect.apply(r,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[_t](e){e.post(t=>{let r=t.session.to,n=t.session.routeModel;if(n==null){let o={route:r,find:null};if(this[ke](o))n=o.find,t.session.routeModel=n;else if(this[Qe])n=this[Qe];else{t.reject(`not find route model, path:${r.path??r.name}`);return}}let i=tt.from(t.session);this[dr](r,n,i).then(o=>{this[k],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Oe](e){if(e.length==0)return!0;let t=this[k],r=[];for(let n of e){let i=this[bt](t,n);i!=null&&r.push({...i,route:n})}if(r.length==0){let n="can not find view index";return this[O](n),!1}for(let n of r.reverse())this[ue](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[bt](e,t){const r=t.root??te;let n;for(let i=0;i<e.layers.length;i++){const o=e.layers[i];for(let a=o.views.length-1;a>=0;a--){const l=o.views[a];if(l[G]&&l[Ze]===r)return n={x:a,y:i},n}}return null}[yr](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ue](e,t,r=null,n=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let i=e.layers[t.y].views[t.x],o=!1,a=[],l=!1,u=[...i.slots.value];for(let c=u.length-1;c>=0;c--){let h=u[c];(!r||r.indexOf(h.index)!=-1)&&(h.route&&i[G]&&(this[Te](h.route),h.active===!0&&h.route.opsType==j.Append&&(l=!0)),a.push(new V(i,h.index,t.y)),u.splice(c,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let c=u.length-1,h=u[c];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let f=t.y+1;for(;f<e.layers.length;f++){let c=e.layers[f].views,h=[];for(let y=c.length-1;(o||a.length>0)&&y>=0;y--){let d=c[y];if(d[ce]&&(o||V.include(a,d[ce]))){let m=d.slots.value;for(let p=m.length-1;p>=0;p--){let v=m[p];v.route&&d[G]&&this[Te](v.route),h.push(new V(d,v.index,f)),m.splice(p,1)}e.layers[f].views.splice(y,1)}}a=h,e.layers[f].views.length==0&&(o=!0)}}restore(e){if(!e||this[B].length==0){let t=this[k];if(t.layers.length>0){let r=t.layers[0].views;r.length>0&&(r[0].slots.value=[])}return this[b]=[],this[We](),Promise.resolve()}else return new Promise((r,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[ve].post(u=>{const f=this[At](l);this[Et](f),this[_t](f),this[Ft](f),f.wait((c,h)=>{i=c.session.to,o=c.session.redirect,u.resolve()},(c,h)=>{i=null,h!==null&&this[O](h),u.resolve()})})}this[ve].post(a=>{if(i&&o===!0){const l=P.clone(i,!0),u=new ar(l,this[Je]());this[E]?.replace(u)}a.resolve(),r()})})}[dr](e,t,r){const n=e.updateType??Ye.Part;return this[pr](t).then(()=>{const o=this[mr](t,e,r,n);if(o.status==="error")throw Error(o.message);return o})}[pr](e){let t=[];for(let r=0;r<e.layers.length;r++){let n=e.layers[r];for(let i=0;i<n.models.length;i++){let o=n.models[i];o.isResolved||t.push(o.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[mr](e,t,r,n){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const i=e.layers[0].models[0];let o=this[k],a=Hs(o),l=t.root??te,u;!a&&n==Ye.Part&&(u=this[bt](o,t));let f,c=0;if(u==null||u==null)if(a||n===Ye.All){if(o.layers.length==0&&(o.layers[0]=new vt),o.layers[0].views.length==0){let h=t.root??te;f=new Fe(h,!0,null),o.layers[0].views=[f]}else f=o.layers[0].views[0];u={x:0,y:0}}else{let h=t.slot;if(!h)return{status:"error",message:"can not rebuild view(because not route slot)"};let y=h.level;if(y>o.layers.length)return{status:"error",message:"can not insert view(override level)"};let d;if(h.rootName){let m=o.layers[y-1];for(let p of m.views){if(p[G]&&p.name===h.rootName){d=new V(p,h.rootIndex??0,y-1);break}if(p[J]&&p[J].view.name===h.rootName&&p[J].index===h.rootIndex){d=p[J];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};f=new Fe(l,!0,d),o.layers[y].views.push(f),u={x:o.layers[y].views.length-1,y}}else f=o.layers[u.y].views[u.x];if(c=u.y,f[G]=!0,t.opsType===j.Append){t.index=t.index??le.get(),t.active=!0;let h=f.slots.value;if(h.length>0){let v=h[h.length-1];v.active=!1,v.route&&(v.route.active=v.active)}let y=new se(t,i,t.index,!0);f.slots.value=[...h,y];let d=c+1,m=1,p=new V(f,t.index,c);this[ne](o,d,e,m,p)}else if(t.opsType===j.Open){let h=f.slots.value;const y=t.active??!0;let d=!1;for(let m of h){if(m.route!==null&&P.isSameForRouteModel(m.route,t)){if(m.active===y)return t.index=m.index,t.active=y,m.route=t,{status:"no-change",message:""};m.active=y,d=!0,t.index=m.index,t.active=y,m.route=t}else y&&(m.active=!1);m.route&&(m.route.active=m.active)}if(!d){t.index=t.index??le.get(),t.active=y;let m=new se(t,i,t.index,y);h.push(m);let p=c+1,v=1,g=new V(f,t.index,c);this[ne](o,p,e,v,g)}f.slots.value=[...h]}else{let h=f.slots.value;if(h.length==0){t.index=t.index??le.get(),t.active=!0,f.slots.value=[new se(t,i,t.index)];let y=c+1,d=1,m=new V(f,t.index,c);this[ne](o,y,e,d,m)}else{let y=h[0];if(y.model!==i){this[ue](o,u,null,!0),t.index=t.index??le.get(),t.active=!0,f.slots.value=[new se(t,i,t.index)];let d=c+1,m=1,p=new V(f,t.index,c);this[ne](o,d,e,m,p)}else{y.route!==null&&this[Te](y.route);let d=!1;const m=t.active??!0;y.active!==m&&(y.active=m,d=!0),t.active=m,t.index=y.index,y.route=t;let p=[];for(let $=1;$<h.length;$++)p.push(h[$].index);p.length>0?this[ue](o,u,p,!0):d&&(f.slots.value=[...h]);let v=[new V(f,t.index,c)],g=c+1,T=1,x=new V(f,t.index,c);for(;v.length>0&&g<o.layers.length&&T<e.layers.length;g++,T++){let $=[];for(let C=0;C<o.layers[g].views.length;C++){let A=o.layers[g].views[C];A[ce]&&V.include(v,A[ce])&&$.unshift(C)}let F=[];for(let C of $){let A=o.layers[g].views[C],W=e.layers[T].models,I;for(let N=0;N<W.length;N++)if(A.name===W[N].name){I=W[N];break}if(!I)this[ue](o,{x:C,y:g},null,!1);else{let N=A.slots.value;if(N.length==0){let X=0;A.slots.value=[new se(null,I,X)];let z=g+1,re=T+1;this[ne](o,z,e,re,x)}else{let X=N[0];if(X.model!==I){this[ue](o,{x:C,y:g},null,!0),A.slots.value=[new se(null,I,0)];let z=g+1,re=T+1;this[ne](o,z,e,re,x)}else{A[G]&&X.route!==null&&this[Te](X.route);let z=[];for(let re=1;re<N.length;re++)z.push(N[re].index);z.length>0&&this[ue](o,{x:C,y:g},z,!0),F.push(new V(A,X.index,g))}}A[G]=!1}}v=F}this[ne](o,g,e,T,x)}}}if(f&&f[J]){let h=f[J];h&&(t.slot=new ds(l,c,h?.view.name,h?.index??0))}return r.to=void 0,r.routeModel=void 0,t.session=r,this[vr](t),{status:"success",message:""}}[ne](e,t,r,n,i){let o=n,a=t;for(;a<e.layers.length&&o<r.layers.length;a++,o++){let l=e.layers[a].views;for(let u of r.layers[o].models){let f=new Fe(u.name,!1,i),c=new se(null,u);f.slots.value=[c],l.push(f)}}for(;o<r.layers.length;o++){let l=new vt;l.views=[];for(let u of r.layers[o].models){let f=new Fe(u.name,!1,i),c=new se(null,u);f.slots.value=[c],l.views.push(f)}e.layers.push(l)}}[Fr](e,t,r,n,i,o){if(t<0||t>this[k].layers.length)return null;if(t<this[k].layers.length){let f=this[k].layers[t],c=null;for(let h of f.views){let y=!1;if(r!==null?(y=h.name===e&&h[J]?.view===r,y&&n!==-1&&(y=h[J]?.index===n)):y=h.name===e,!!y){i!==null&&(h[ce]={view:i,index:o,level:t-1}),c=h;break}}if(c!==null)return c}let a=null,l=null;i!==null&&(i[G]?a={view:i,index:o,level:t-1}:a=i[J],l={view:i,index:o,level:t-1});let u=new Fe(e,!0,a);if(u[ce]=l,t==this[k].layers.length){let f=new vt;f.views=[u],this[k].layers.push(f)}else this[k].layers[t].views.push(u);return u}}const Vs="fox-router-view",Bs="fox-router-link";function Mr(s,e=!1){let t=null;return e?t=s.showFromClass??s.enterFromClass:t=s.enterFromClass,t||(t=s.transitionName,t?e?`${t}-show-from`:`${t}-enter-from`:null)}function Ir(s,e=!1){let t=null;return e?t=s.showActiveClass??s.enterActiveClass:t=s.enterActiveClass,t||(t=s.transitionName,t?e?`${t}-show-active`:`${t}-enter-active`:null)}function ks(s,e=!1){let t=null;return e?t=s.showToClass??s.enterToClass:t=s.enterToClass,t||(t=s.transitionName,t?e?`${t}-show-to`:`${t}-enter-to`:null)}function Nr(s,e=!1){let t=null;return e?t=s.hideFromClass??s.leaveFromClass:t=s.leaveFromClass,t||(t=s.transitionName,t?e?`${t}-hide-from`:`${t}-leave-from`:null)}function Hr(s,e=!1){let t=null;return e?t=s.hideActiveClass??s.leaveActiveClass:t=s.leaveActiveClass,t||(t=s.transitionName,t?e?`${t}-hide-active`:`${t}-leave-active`:null)}function Ws(s,e=!1){let t=null;return e?t=s.hideToClass??s.leaveToClass:t=s.leaveToClass,t||(t=s.transitionName,t?e?`${t}-hide-to`:`${t}-leave-to`:null)}function zs(s,e=!1){let t=null;return e?t=s.beforeShow??s.beforeEnter:t=s.beforeEnter,t}function Js(s,e=!1){let t=null;return e?t=s.show??s.enter:t=s.enter,t}function Gs(s,e=!1){let t=null;return e?t=s.afterShow??s.afterEnter:t=s.afterEnter,t}function Qs(s,e=!1){let t=null;return e?t=s.showCancelled??s.enterCancelled:t=s.enterCancelled,t}function Xs(s,e=!1){let t=null;return e?t=s.beforeHide??s.beforeLeave:t=s.beforeLeave,t}function Ys(s,e=!1){let t=null;return e?t=s.hide??s.leave:t=s.leave,t}function Zs(s,e=!1){let t=null;return e?t=s.afterHide??s.afterLeave:t=s.afterLeave,t}function en(s,e=!1){let t=null;return e?t=s.hideCancelled??s.leaveCancelled:t=s.leaveCancelled,t}function zt(s){let e,t=s.duration;return typeof t=="object"?e={enter:t.enter??-1,leave:t.leave??-1,show:t.show??-1,hide:t.hide??-1}:(typeof t=="string"&&(t=t.length==0?-1:Number(t)),e={enter:t,leave:t,show:t,hide:t}),e}function Pe(s,e){s.classList.contains(e)||s.classList.add(e)}function Re(s,e){s.classList.remove(e)}const tn=Se&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function Jt(s){tn(s)}function M(s,e,t){R(e)&&(s==null&&(s={}),Reflect.apply(e,s,t))}function Dr(s,e,t,r=-1,n,i,o,a){if(R(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,s,[e,t,r]),R(a)&&Reflect.apply(a,s,[])},n);return}const l=["animationend","transitionend"],u=f=>{l.forEach(c=>{$t(e,c,u)}),Reflect.apply(i,s,[e,t,r]),a&&Reflect.apply(a,s,[])};l.forEach(f=>{Tt(e,f,u)})}if(R(o)){const l="animationcancel",u=f=>{Reflect.apply(o,s,[e,t,r]),$t(e,l,u)};Tt(e,l,u)}}function lt(s){return!Se||s===null?!1:s.opsType===j.Append||s.opsType===j.Open}function Ur(s,e,t,r={},n,i=-1){if(e||lt(n)){const o=Mr(r,e);o&&Pe(t,o);const a=Ir(r,e);a&&Pe(t,a);const l=zs(r,e);M(s,l,[t,e,n,i])}}function Vr(s,e,t,r={},n,i,o,a){if(!lt(i)&&!e){R(a)&&a(s,a,[t]);return}const l=Mr(r,e),u=Ir(r,e),f=ks(r,e),c=Js(r,e),h=Gs(r,e),y=Qs(r,e);if(!l&&!u&&!f&&!c){R(a)&&a(s,a,[t]);return}Jt(()=>{Dr(s,t,i,o,n,()=>{u&&Re(t,u),f&&Re(t,f),R(h)&&M(s,h,[t,e,i,o]),R(a)&&a(s,a,[t])},()=>{R(y)&&M(s,y,[t,e,i,o])}),l&&Re(t,l),f&&Pe(t,f),R(c)&&M(s,c,[t,e,i,o])})}function Br(s,e,t,r={},n,i=-1){if(e||lt(n)){const o=Nr(r,e);o&&Pe(t,o);const a=Hr(r,e);a&&Pe(t,a);const l=Xs(r,e);M(s,l,[t,e,n,i])}}function kr(s,e,t,r={},n,i,o,a,l){if(!lt(o)&&!e){!e&&R(i)&&i();return}const u=Nr(r,e),f=Hr(r,e),c=Ws(r,e),h=Ys(r,e),y=Zs(r,e),d=en(r,e);if(!u&&!f&&!c&&!h){!e&&R(i)&&i();return}R(h)&&M(s,h,[t,e,o,a]),Jt(()=>{Dr(s,t,o,a,n,()=>{f&&Re(t,f),c&&Re(t,c),R(y)&&M(s,y,[t,e,o,a]),R(l)&&M(s,l,[t]),!e&&R(i)&&i()},()=>{R(d)&&M(s,d,[t,e,o,a]),R(l)&&M(s,l,[t]),!e&&R(i)&&i()}),u&&Re(t,u),c&&Pe(t,c)})}function It(s,e={},t,r=-1){const n=e.mode??"default",i=zt(e);return{mode:n,persisted:!1,beforeEnter:a=>{Ur(s,!1,a,e,t,r)},enter:a=>{Vr(s,!1,a,e,i.enter,t,r)},leave:(a,l)=>{Br(s,!1,a,e,t,r),kr(s,!1,a,e,i.leave,l,t,r)},clone:a=>It(s,e,t,r)}}function Wr(s){return s.el}function rn(s,e,t={},r,n,i,o){if(i){const a=Wr(e);if(a==null)return;const l=zt(t);Ur(s,!0,a,t,r,n),Vr(s,!0,a,t,l.show,r,n,u=>{R(o)&&M(s,o,[u])})}else R(o)&&M(s,o,[])}function sn(s,e,t={},r,n,i,o){if(i){const a=Wr(e);if(a==null)return;const l=zt(t);Br(s,!0,a,t,r,n),kr(s,!0,a,t,l.hide,null,r,n,u=>{R(o)&&M(s,o,[u])})}else R(o)&&M(s,o,[])}function nn(s,e={}){Jt(()=>{for(let t=0;t<s.length;t++)Reflect.apply(s[t],e,[])})}function ie(s,e,t){return typeof s=="function"?Reflect.apply(s,{},[e,t]):s}function Kt(s,e){if(!s)return null;const t=s(e);return t.length===1?t[0]:t}function ge(s,e){return typeof e=="function"?e(s):s}class on{node;state;constructor(e,t){this.node=e,this.state=t}}const Nt=w.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,required:!1,default:"default"},modelSlot:{type:[Object],required:!1},multi:{type:Boolean,required:!1,default:!1},tag:{type:[String,Object,Function],required:!1,default:"div"},viewTag:{type:[String,Object,Function],required:!1,default:"div"},viewTagProps:{type:[Object,Function],required:!1,default(){return{}}},viewClass:{type:[String,Function],required:!1},viewActiveClass:{type:[String,Function],required:!1},viewInactiveClass:{type:[String,Function],required:!1},transition:{type:[Boolean,String,Function],required:!1,default:!1},transitionName:{type:String,required:!1},enterFromClass:{type:String,required:!1},enterActiveClass:{type:String,required:!1},enterToClass:{type:String,required:!1},leaveFromClass:{type:String,required:!1},leaveActiveClass:{type:String,required:!1},leaveToClass:{type:String,required:!1},showFromClass:{type:String,required:!1},showActiveClass:{type:String,required:!1},showToClass:{type:String,required:!1},hideFromClass:{type:String,required:!1},hideActiveClass:{type:String,required:!1},hideToClass:{type:String,required:!1},beforeEnter:{type:Function,required:!1},enter:{type:Function,required:!1},afterEnter:{type:Function,required:!1},enterCancelled:{type:Function,required:!1},beforeLeave:{type:Function,required:!1},leave:{type:Function,required:!1},afterLeave:{type:Function,required:!1},leaveCancelled:{type:Function,required:!1},beforeShow:{type:Function,required:!1},show:{type:Function,required:!1},afterShow:{type:Function,required:!1},showCancelled:{type:Function,required:!1},beforeHide:{type:Function,required:!1},hide:{type:Function,required:!1},afterHide:{type:Function,required:!1},hideCancelled:{type:Function,required:!1}},setup(s,e){const t=w.getCurrentInstance();if(t===null||t.proxy===null){console.error("instance or instance.proxy not exist");return}const r=s.multi===!0,n=w.inject(ot,null),i=w.inject(dt,0),o=w.inject(or,null),a=w.inject(pt,-1);let l=null;const u=s.modelSlot;if(u){if(w.provide(dt,i+1),w.provide(pt,u.index),w.provide(mt,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=rt(t.proxy,!0);bs(h),ir(h,()=>u.route??null)}else{if(n==null){console.error("router is not been injected");return}const c=s.name,h=w.inject(lr,null),y=w.inject(mt,0);if(l=n[Fr](c,i,o,a,h,y),l===null)return;w.provide(lr,l);const d=l[G]===!0;if(d&&w.provide(or,l),!r&&(w.provide(pt,-1),w.provide(dt,i+1),w.provide(mt,-1),d)){const m=rt(t.proxy,!0);ir(m,()=>{const p=l.slots.value;return p.length>0?p[0].route:null})}}const f={value:new Map};return w.onUnmounted(()=>{f.value&&f.value.clear()}),()=>{if(r){const c=new Map,h=[],y=l?.slots.value,d=[];for(let v=0;v<y.length;v++){const g=y[v],T=`${s.name}_${g.index}`,x=ie(s.transition,g.route,v)??!0,$={modelSlot:g};let F;e.slots.default?F=w.h(Nt,$,{default:e.slots.default}):F=w.h(Nt,$);const C={},A=ie(s.viewClass,g.route,v);typeof A=="string"&&A.length>0&&(C[A]=!0);const W=ie(s.viewActiveClass,g.route,v),I=ie(s.viewInactiveClass,g.route,v),N=f.value.get(T);if(typeof W=="string"&&W.length>0&&(C[W]=g.active),typeof I=="string"&&I.length>0&&(C[I]=!g.active),N&&g.active!==N.state){const Y=N.node;g.active?d.unshift(()=>{const ut=()=>{let Ce=sr(Y);Ce!=null&&nr(Ce,Mt.ACTIVATED)};rn(t,Y,s,g.route,v,x,ut)}):d.push(()=>{const ut=()=>{const Ce=sr(Y);Ce!=null&&nr(Ce,Mt.DEACTIVATED)};sn(t,Y,s,g.route,v,x,ut)})}const X={class:C,key:T},z=ie(s.viewTagProps,g.route,v);if(z!==null&&typeof z=="object"){const Y=ge(z,n?.propsFilter);K(!0,X,Y)}if(g.route?.viewTagAttrs&&typeof g.route?.viewTagAttrs=="object"){const Y=ge(g.route.viewTagAttrs,n?.propsFilter);K(!0,X,Y)}const re=ie(s.viewTag,g.route,v),at=w.h(re,X,{default:()=>[F]});if(c.set(T,new on(at,g.active)),f.value.delete(T),x){const Y=It(t,s,g.route,v);at.transition=Y}h.push(at)}f.value=c,nn(d,t);const m=ie(s.tag,null,-1),p={};return Object.assign(p,e.attrs),w.h(m,p,{default:()=>h})}else if(u!=null){const c=u.model,h={};if(c.props){if(typeof c.props=="object"){const d=ge(c.props,n?.propsFilter);K(!1,h,d)}else if(c.props===!0&&typeof u.route?.params=="object"){const d=ge(u.route.params,n?.propsFilter);K(!1,h,d)}}const y=w.h(c.component,h);return Kt(e.slots.default,{Component:y,route:u.route})??y}else{const c=l.slots.value;if(c.length>0){const h=c[0],y=h.route??(t.proxy&&kt(t.proxy))??null,d=h.model,m={};if(d.props){if(typeof d.props=="object"){const g=ge(d.props,n?.propsFilter);K(!1,m,g)}else if(d.props===!0&&typeof y?.params=="object"){const g=ge(y.params,n?.propsFilter);K(!1,m,g)}}const p=w.h(d.component,m);if(ie(s.transition,y,-1)??!0){const g=It(t,s,y,-1);p.transition=g}return Kt(e.slots.default,{Component:p,route:y})??p}else return Kt(e.slots.fallback,{})}}}});function ln(s){if(!(s.metaKey||s.altKey||s.ctrlKey||s.shiftKey)&&!s.defaultPrevented&&!(s.button!=null&&s.button!==0)){if(s.currentTarget&&s.currentTarget.getAttribute){const e=s.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(e))return}return s.preventDefault&&s.preventDefault(),!0}}function an(s,e){return s==null||e==null?!1:!!(s===e||s.path&&s.path===e.path||s.name&&s.name===e.name)}function un(s,e){return s==null||e==null?!1:!!(s.path&&e.path&&e.path.startsWith(s.path)||s.name&&s.name==e.name)}function we(s,e){return typeof s=="function"?Reflect.apply(s,{},[e]):s}let fn=w.defineComponent({name:"RouterLink",inheritAttrs:!1,props:{tag:{type:[String,Object,Function],required:!1,default:"a"},to:{type:[String,Object,Function],required:!0},root:{type:String},activeClass:{type:[String,Function],required:!1,default:"fox-router-link-active"},exact:{type:[String,Boolean,Function],required:!1},exactActiveClass:{type:[String,Function],required:!1,default:"fox-router-link-exact-active"},event:{type:[String,Function],required:!1,default:"onClick"}},setup(s,e){const t=w.inject(ot,null);return()=>{let r=we(s.to,null),n=we(s.tag,r);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[D](r),s.root&&(i.root=s.root),o=t.current);let a={},l=we(s.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=un(i,o)),we(s.exact,i)===!0){let h=we(s.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=an(i,o))}let f={class:a};(n==="a"||n==="A")&&(f.href=i?.path??i?.name??"#"),K(!0,f,e.attrs);let c=we(s.event,i);if(typeof c=="string"){const h=y=>{if(t==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}ln(y)&&t.to(i)};f[c]=h}return w.h(n,f,e.slots)}}});var L=(s=>(s[s.Loading=0]="Loading",s[s.Loaded=1]="Loaded",s[s.Defining=2]="Defining",s[s.Defined=3]="Defined",s))(L||{}),et=(s=>(s[s.normal=0]="normal",s[s.factory=1]="factory",s))(et||{});class cn{register=new Map;constructor(){}get(e){return this.register.get(e)??null}set(e,t){this.register.set(e,t)}remove(e){let t=this.register.get(e);return this.register.delete(e),t??null}has(e){return this.register.has(e)}clear(){this.register.clear()}}class br{moduleManager=new cn;options={paths:{},alias:{},nature:[],timeout:3e3};set paths(e){this.options.paths=e}get paths(){return this.options.paths}set alias(e){this.options.alias=e}get alias(){return this.options.alias}set naturePaths(e){this.options.nature=e}get naturePaths(){return this.options.nature}set timeout(e){this.options.timeout=e}get timeout(){return this.options.timeout}_query;set query(e){this._query=e}get query(){return this._query}get head(){return He().head}constructor(){}setModule(e,t){const r={id:e,src:"",status:L.Defined};typeof t=="function"?(r.exports=t,r.type=et.factory):r.exports=t,this.moduleManager.set(e,r)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let r=e.length-1;const n={};typeof e[r]=="object"&&(Object.assign(n,e[r]),r--);let i=null;typeof e[r]=="function"&&(i=e[r],r--);for(let l=0;l<=r;l++)if(Array.isArray(e[l])){let u=e[l];for(let f=0;f<u.length;f++)u[f]&&t.push(this.resolvePath(u[f]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let f=0;f<u.length;f++)u[f]&&t.push(this.resolvePath(u[f]))}const o=new hn(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(f){console.error(f.message,f)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(f){console.error(f.message,f)}}),a=new Ne;for(let l=0;l<t.length;l++){const u=new yn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],r=e.length-1,n={};typeof e[r]=="object"&&(Object.assign(n,e[r]),r--);let i=null;typeof e[r]=="function"&&(i=e[r],r--);for(let o=0;o<=r;o++)if(Array.isArray(e[o])){let a=e[o];for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}else{let a=e[o].split(",");for(let l=0;l<a.length;l++)a[l]&&t.push(this.resolvePath(a[l]))}return t.forEach(o=>{this.unmount(o,n)}),typeof i=="function"&&Reflect.apply(i,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(n=>{t.progress.work(!0,t.index,"exports"),n.resolve()});return}else if(t.src==="module"){e.post(n=>{t.progress.work(!0,t.index,"module"),n.resolve()});return}if(this.isNaturePath(t.src)){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(this.isNaturePath(t.src)){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}let r=this.getFileNamePostfix(t.src);if(r==="js"||r.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(r==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,r){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==L.Defined||o.status==L.Loaded)&&o.exports){o.type===et.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}const a=He(),l=a.createElement("link");if(Reflect.has(l,"onload"))l.onload=()=>{l.onload=null,l.onerror=null,t.progress.work(!0,t.index,t.src),n.resolve()},l.onerror=()=>{try{r.removeChild(l)}catch(c){console.error(c.message,c)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const c={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{r.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{zr(l,c)},1)}let f=a.getElementById(i);f&&f.parentNode&&f.parentNode.removeChild(f),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,r.appendChild(l)})}mountJS(e,t,r){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==L.Defined||o.status==L.Loaded)){if(o.exports){o.type===et.factory&&typeof o.exports=="function"?t.progress.work(!0,t.index,o.exports()):t.progress.work(!0,t.index,o.exports),n.resolve();return}if(document.querySelector(`script[src='${i}`)){t.progress.work(!0,t.index,o.exports),n.resolve();return}}o={id:i,src:i,status:L.Loading},this.moduleManager.set(i,o);const l=He().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===L.Loading&&(o.status=L.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{r.removeChild(l)}catch(c){console.error(c.message,c)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const c=l;c.onreadystatechange=()=>{/loaded|complete/.test(c.readyState)&&(c.onreadystatechange=null,o.status==L.Loading&&(o.status=L.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const f=q();f.define=this.createDefine(o,t),r.appendChild(l)})}unmount(e,t={}){const r=He(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=r.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=r.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let r=0;r<e.length;r++){if(e[r]===void 0||e[r]===null)continue;const n=e[r].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const r=this,n=function(...i){e.status=L.Defining;let o,a,l,u=i.length;u===1?(l=i[0],o=void 0):u===2?(l=i[1],Array.isArray(i[0])?(a=r.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=r.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,r.options.alias[o]=e.src),a&&a.length>0?r.ensure(a,(...f)=>{const c=f.map(h=>h==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):h==="module"?e:h);if(typeof l=="function"){const h=Reflect.apply(l,e,c);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=L.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=L.Defined,t.progress.work(!0,t.index,e.exports))};return n.amd=!0,n}resolvePath(e){try{if(e==="exports"||e==="module"||this.isNaturePath(e))return e;e=this.parserPath(e,!0);let t=this.getFileNamePostfix(e);t=t.toLowerCase();let r=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),r.length>0&&(e+=`?${r}`)):r.length>0&&(e+=`&${r}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let r in e){let n=`${e[r]}`;t+=`${encodeURIComponent(r)}=${encodeURIComponent(n)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let r=e.lastIndexOf(".",t);return r==-1?"":e.substring(r+1,t)}isNaturePath(e){if(!this.options.nature)return!1;if(typeof this.options.nature=="function")return this.options.nature(e);const t=this.options.nature;if(t&&Array.isArray(t))for(let r=0;r<t.length;r++){const n=t[r];if(e.indexOf(n)===0)return!0}return!1}parserPath(e,t){if(e.indexOf("http://")==0||e.indexOf("https://")==0||e.indexOf("file:///")==0)return e;if(e.indexOf("/")==0)return`${ft()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${ft()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${q().location.protocol}${e}`;if(t){let n=this.options.alias[e];if(!n){let i=e.indexOf("/");if(i==-1)n=e;else{let o=e.slice(0,i),a=this.options.paths[o];a?n=a+e.slice(i):n=e}}return this.parserPath(n,!1)}return`${ft()}${e}`}}function zr(s,e){let t=s.sheet,r=!1;if(e.isOldWebKit)t&&(r=!0);else if(t)try{t.cssRules&&(r=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(r=!0)}setTimeout(()=>{e.time+=20,r?e.success():e.timeout>e.timeout?e.error():zr(s,e)},20)}class hn{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,r){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(r)),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(n){console.error(n.message,n)}}isOK(){return this.status}}class yn{index;src;params;progress;constructor(e,t,r,n){this.index=e,this.src=t,this.params=r,this.progress=n}}const Gt=Symbol("fk"),Qt=Symbol("fbk"),Xt=Symbol("fepk");function dn(s={}){const e=new Us(s),t=new Ot,r=new Lt,n=new br,i={get router(){return e},get bus(){return t},get Bus(){return Ot},get EventProxy(){return Lt},get eventproxy(){return r},get EventChain(){return Ne},get Require(){return br},get require(){return n},get extend(){return K},get clone(){return it},get isESModule(){return Ht},install(o){o.provide(ot,e),o.provide(Gt,i),o.provide(Qt,t),o.provide(Xt,r),o.component(Vs,Nt),o.component(Bs,fn),Reflect.defineProperty(o.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(o.config.globalProperties,"$router",{get(){return e}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$bus",{get(){return t}}),Reflect.defineProperty(o.config.globalProperties,"$eventProxy",{get(){return r}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){r.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){r.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){r.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=r;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=r;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=r;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return kt(this)}}}),e.init()}};return i}function Yt(s){return s?s.$router:w.inject(ot)}function pn(s){return s||(s=w.getCurrentInstance()?.proxy??void 0),s?kt(s):null}function mn(s){return s?s.$fox:w.inject(Gt)}function vn(s){return s?s.$bus:w.inject(Qt)}function gn(s){return s?s.$eventProxy:w.inject(Xt)}function wn(s){const e=Yt(),t=(r,n,i)=>{try{Reflect.apply(s,{},[r,n])}catch(o){console.error(o)}i()};e.beforeEach(t),w.onUnmounted(()=>{e.removeBeforeEach(t)})}function bn(s){const e=Yt(),t=(r,n,i)=>{try{Reflect.apply(s,{},[r,n])}catch(o){console.error(o)}i()};e.afterEach(t),w.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=Ot;exports.EventChain=Ne;exports.EventProxy=Lt;exports.OperationType=j;exports.Route=P;exports.clone=it;exports.createFox=dn;exports.createMemoryHistory=Lr;exports.createWebHashHistory=Or;exports.createWebHistory=Is;exports.deleteContextValue=ws;exports.extend=K;exports.foxBusKey=Qt;exports.foxEventProxyKey=Xt;exports.foxKey=Gt;exports.injectContextValue=Bt;exports.isArray=Gr;exports.isDate=Yr;exports.isESModule=Ht;exports.isEqual=qt;exports.isFunction=R;exports.isMap=Qr;exports.isNil=Rr;exports.isObject=xr;exports.isPlainObject=Sr;exports.isPromise=ts;exports.isSet=Xr;exports.isString=Zr;exports.isSymbol=es;exports.onAfterRouteUpdate=bn;exports.onBeforeRouteUpdate=wn;exports.onFoxActivated=Ps;exports.onFoxInactivated=Cs;exports.provideContextValue=gs;exports.sessionKey=oe;exports.toBoolean=Dt;exports.toNumber=is;exports.toTypeString=nt;exports.typeOf=jt;exports.useBus=vn;exports.useEventProxy=gn;exports.useFox=mn;exports.useRoute=pn;exports.useRouter=Yt;