@fox-js/fox 3.1.1-7 → 3.1.1-8

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.1.0 Tue Oct 08 2024 15:04:13 GMT+0800 (中国标准时间)
3
- */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("vue"),he=typeof window<"u",$=function(){return window},Ve=function(){return window.document};function hr(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 wt(){if(!he)return"/";let r=$().location,e=`${r.protocol}//${r.host}`;return e+=hr(r.pathname),e}function at(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function zt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const Je=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},yr=Array.isArray,dr=r=>ht(r)==="[object Map]",pr=r=>ht(r)==="[object Set]",mr=r=>r instanceof Date,x=r=>typeof r=="function",gr=r=>typeof r=="string",vr=r=>typeof r=="symbol",_s=r=>r!==null&&typeof r=="object",wr=r=>_s(r)&&x(r.then)&&x(r.catch),Ue=r=>r==null,br=Object.prototype.toString,ht=r=>br.call(r),Ks=r=>ht(r)==="[object Object]",xr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Gt(r){return r.__esModule||xr&&r[Symbol.toStringTag]==="Module"}const Rr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function F(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[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]=F(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function yt(r,e,t=!1){if(!t)F(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!Ks(i))continue;n=yt(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class ie{static seed=new Date().getTime();static get(){let e=++ie.seed;return e>=Number.MAX_VALUE&&(ie.seed=0),e}}const bt=Rr?Promise.resolve():null;function Ie(r,...e){bt!==null?e&&e.length>0?bt.then(()=>{r(e)}):bt.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Sr(r){return typeof r=="number"?r:Number(r)}const Pr={"[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 Dt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Pr[t]||"object"}function Ht(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Dt(r),s=Dt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ht(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ht(i,o))return!1}return!0}return!1}const js=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=js(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Cr=/^Symbol\((.*)\)$/,qs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=qs(s));const n=Cr.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function Ls(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const us=Symbol("idKey"),ye=Symbol("valueKey"),R=Symbol("childrenKey"),J=Symbol("growKey");class ks{[J]=!0;[us];[ye]=g.ref();[R]=new Map;constructor(e){this[us]=e}}class Er{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];let s=e[R].get(t);if(s)return De(s);if(e[J])return s=Yt(t),s[J]=e[J],e[R].set(t,s),De(s)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):s==null?(e[R].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[R].delete(t),!0)}}const Qt="__proxy__";function Yt(r){const e=new ks(r);return Reflect.set(e,Qt,new Proxy(e,new Er)),e}function De(r){return Reflect.get(r,Qt)}let $r=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}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(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")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==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(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 Os extends ks{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new $r(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[R].has(i)?o=s[R].get(i):(o=Yt(i),s[R].set(i,o)),s=o}return s[ye].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[R].has(i))s=s[R].get(i);else return}return s[ye].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)?(s[R].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)}clear(){this[R].clear(),this._persistHandler.clear()}}const Fr=["put","get","contains","remove","clear","_persistHandler"];function cs(r){return Fr.includes(r)}class Ar{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];if(t===R)return e[R];if(typeof t=="string"&&cs(t))return e[t];const s=String(t);let n=e[R].get(s);if(n)return De(n);if(e[J])return n=Yt(s),n[J]=e[J],e[R].set(s,n),De(n)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):cs(t)?!1:s==null?(e[R].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[R].delete(t),!0)}}function Tr(r,e){const t=new Os(r,e),s=new Ar,n=new Proxy(t,s);return Reflect.set(t,Qt,n),t}const Ut=new Proxy(Os,{construct(r,e){const t=e[0]??{},s=e[1],n=Tr(t,s);return De(n)}}),Zt=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class Ms{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy)return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||Zt(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function Is(r,e,t){const s=new Ms(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Ue(h)||(c[f]=h)}Zt(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=Ls(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function _r(r,e){return Is(!1,r,e)}function Kr(r,e){return Is(!0,r,e)}function jr(r,e){const t=new Ms(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Ue(f)||(u[c]=f)}Zt(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=Ls(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function qr(r,e){return jr(r,e)}const X="default",Ns=Symbol("sync"),O=Symbol("resolveRoute");function fs(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function Lr(r){let e=r.src;return new Promise((t,s)=>{const n=fs(a=>{Gt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=fs(a=>{console.debug("reject load async module"),s(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 kr{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class Re{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new Re(e.to,e.from),s=e.data??{};return F(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class S{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??X}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new S;return yt(s,e,t),s}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 S;if(e==null)return t;let s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Or{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=ie.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return Lr(this)}}class hs{models=[]}class xt{path;match;redirect;name;layers=[]}var E=(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))(E||{});const Ds="FoxBeforeEnter",Hs="FoxEnter",Us="FoxLeave",Bs="FoxLeave",ut="FoxLeaveEnd",I=Symbol("chainKey"),k=Symbol("cursorKey"),Rt=Symbol("$persistentModeKey"),C=Symbol("statusKey"),z=Symbol("argsKey"),We=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),Fe=Symbol("errorFnsKey"),ne=Symbol("sessionKey"),G=Symbol("_go");class He{[I]=[];[k]=0;[Rt]=!1;[C]="Free";[z]=[];[We]=[];[ge]=[];[Fe]=[];[ne];get session(){return this[ne]}constructor(e,t=!1){this[ne]=e,this[Rt]=t}[G](e,...t){let s=this[C];if(this[C]="Busy",this[k]+=e,this[k]<0&&(this[k]=0),this[z]=t,s==="Exception"||s==="Reject"){let a=[{session:this[ne]},...this[We]];for(;this[Fe].length>0;)try{let l=this[Fe].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[C]=s,this[I]=[],this[k]=0,this}else if(s==="Finished"||this[k]>=this[I].length){let a=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}return this[C]="Free",this}if(this[k]>=this[I].length)return this[C]="Free",this;let n=this[I][this[k]];this[Rt]||(this[I].splice(0,this[k]+1),this[k]=-1);let i=this[k]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[G],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[G],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[ne]};Ie(()=>{Reflect.apply(n,{},[a,...this[z]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[G],this,[e,...t])}finish(...e){return this[C]="Finished",this[z]=e,Reflect.apply(this[G],this,[0])}reject(...e){return this[C]="Reject",this[We]=e,Reflect.apply(this[G],this,[0])}throw(...e){return this[C]="Exception",this[We]=e,Reflect.apply(this[G],this,[0])}reset(...e){this[C]="Busy",this[z]=e,this[I]=[],this[k]=0;let s=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let n=this[ge].shift();Ie(()=>{Reflect.apply(n,this,s)})}return this[C]="Free",this}post(e){return this[C]==="Reject"||this[C]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[Fe].push(t),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this)}exception(e){return e&&typeof e=="function"&&this[Fe].push(e),this[C]==="Busy"?this:Reflect.apply(this[G],this,[0,...this[z]])}isFinish(){return this[C]=="Reject"||this[C]=="Free"&&this[k]>=this[I].length}}const ve=Symbol("registerKey");class Mr{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Bt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Mr(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}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 s=e[t-1];if(typeof s!="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(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ie(()=>{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 Ae=Symbol("registerKey");class Ir{[Ae]=new Map;constructor(){}set(e,t){this[Ae].set(e,t)}get(e){return this[Ae].get(e)}has(e){return this[Ae].has(e)}delete(e){return this[Ae].delete(e)}}const fe=Symbol("lc");function ct(r,e=!1){let t=r;if(Reflect.has(t,fe))return t[fe];if(e){const s=new Ir;return t[fe]=s,s}return null}function Vs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,fe)&&(t=s[fe],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=ct(n.$parent,e))}return t}function es(r,e){let t=r;for(;t;){if(Reflect.has(t,fe)){const s=t[fe];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Nr(r,e,t){Vs(r,!0)?.set(e,t)}function Dr(r,e){Vs(r,!0)?.delete(e)}function ys(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 ct(e.component.proxy,!1)}return null}const ft=Symbol("hooksKey");function Hr(r){let e=r.get(ft);e||(e=[],r.set(ft,e))}function ds(r,e){let t=r.get(ft);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var Vt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Vt||{});class Ur{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Br(r,e,t,s){let n=new Ur(e,t,s);return r.push(n),!0}function Vr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function Js(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=es(s,ft);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Vr(n,r,e,s)}),Br(n,r,e,s)}}const Jr=Js("a"),Wr=Js("da"),Ws=Symbol("routeKey");function ps(r,e){r.set(Ws,e)}function ts(r){let e=es(r,Ws);return typeof e=="function"?e():e??null}const dt=Symbol("rk"),St=Symbol("vd"),ms=Symbol("rv"),Pt=Symbol("rvi"),gs=Symbol("pv"),Ct=Symbol("pvi");var de={};Object.defineProperty(de,"__esModule",{value:!0});de.TokenData=void 0;de.parse=pt;var zr=de.compile=tn,Gr=de.match=nn;de.pathToRegexp=an;const Xr="/",ss=r=>r,Qr=/^\p{XID_Continue}$/u,Ne="https://git.new/pathToRegexpError",Yr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function Zr(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Yr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Qr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new en(t)}class en{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${Ne}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Be{constructor(e,t){this.tokens=e,this.delimiter=t}}de.TokenData=Be;function pt(r,e={}){const{encodePath:t=ss,delimiter:s=t(Xr)}=e,n=[],i=Zr(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${Ne}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${Ce(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),p=i.text(),m=i.tryConsume(";")&&i.text();i.consume("}");const w=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(p),pattern:d,modifier:w,separator:m});continue}i.consume("END");break}while(!0);return new Be(n,s)}function tn(r,e={}){const t=r instanceof Be?r:pt(r,e);return rn(t,e)}function sn(r,e){if(typeof r=="string")return()=>r;const t=e||ss,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function rn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=zs(e),a=rs(s,r.delimiter),l=Xs(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=sn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const p=h(d);if(!y.test(p))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(p)}`);return p}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function nn(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Be?r:pt(r,e),i=rs(s,n.delimiter),o=[],a=Gs(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||ss});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let p=1;p<f.length;p++){if(f[p]===void 0)continue;const m=o[p-1],w=l[p-1];d[m.name]=w(f[p])}return{path:h,index:y,params:d}}}function Ce(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function on(r,e){const t=Ce(r);return e?`(?:${t})+(?!${t})`:t}function rs(r,e){if(!r)return Ce;const t=new RegExp(`(?:(?!${Ce(e)}).)+|(.)`,"g");return s=>s.replace(t,on)}function zs(r){return r.sensitive?"":"i"}function Gs(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=zs(t),u=rs(n,r.delimiter),c=Xs(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${Ce(r.delimiter)}|$)`,new RegExp(f,l)}function Xs(r,e,t,s,n){const i=`(?:(?!${Ce(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),p=e(f);if(l.name){const m=l.pattern?`(?:${l.pattern})`:i,w=ln(m,l.name,s);if(a||(a=Et(w,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${Ne}`);if(a=!n||Et(w,f),o="",t.push(l),y==="+"||y==="*"){const v=y==="*"?"?":"",_=e(h);if(!_)throw new TypeError(`Missing separator for "${l.name}": ${Ne}`);if(a||(a=!n||Et(w,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${Ne}`);return a=!n,`(?:${d}(${m}(?:${_}${m})*)${p})${v}`}return`(?:${d}(${m})${p})${y}`}return`(?:${d}${p})${y}`})}function ln(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Et(r,e){return e?!r.test(e):!1}function an(r,e={}){const t=r instanceof Be?r:pt(r,e),s=[],n=Gs(t,s,e);return Object.assign(n,{keys:s})}var it=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(it||{});const V=Symbol("rootKey"),B=Symbol("rootNodeKey"),ce=Symbol("parentNodeKey"),ot=Symbol("nameKey");class te{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class Te{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[ot];[V];[B]=null;[ce]=null;get name(){return this[ot]}constructor(e,t,s){this[ot]=e,this[V]=t,s&&(this[B]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class $t{views=[]}class un{layers=[]}class cn{time;route}class fn{forbidTime=300;submitRecorder=new cn;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 Se=Symbol("_notifyChange");class vs{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const le=Symbol("historyChangeConsumerKey"),ws=Symbol("_navigateFirstRoute"),ze=Symbol("_getRouteMark"),Ft=Symbol("_getUrlSearch"),At=Symbol("_generateLocation"),Ge=Symbol("_setRouteMarkRecorder"),_e=Symbol("beforeRestoreFiltersKey"),bs=Symbol("_beforeRestore"),xs="Symbol(_fox_restore_point)";function Ke(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Rs(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Qs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[le]=!1;[_e]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??$().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=$();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[le]=="function"){const s=this[le]();if(this[le]=!1,s)return}else if(this[le]===!0){this[le]=!1;return}if(Ke(this.historyMonitor)){const s=t.history.state;this[Se](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[ze]()??"/";this[Ge](i,n)}}catch{}}}),at(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ws](),Promise.resolve()}destroy(){if(this.historyChange){const e=$();zt(e,"popstate",this.historyChange)}}[bs](e,t,s,n){for(let i of this[_e])try{const o=Reflect.apply(i,{},[e,t,s,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}[ws](){const e=this[ze]()??"/",t=this.storage.getItem(xs);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?qs(l.params):{},this[bs](l,u,e,o.routes)));if(a.length>0){const l=this[Ft](),u=a.length-1;a[u].query=l||a[u].query,this[Se](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new S;i.path=n,i.query=this[Ft](),this[Se]([i])}[Ge](e,t){try{t.forEach(i=>{i.params=i.params?js(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(xs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[ze]()??"/";this[Ge](t,e)}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[ze](){const e=$();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,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ft](){let t=$().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=$();this[le]=t,s.history.go(e)}goBack(e,t){const s=$(),n=s.history.state;if(Rs(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=S.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Ke(this.traceless,f))&&S.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=$().history.state;if(Rs(f)&&f.length>0){let h=f.length;const y=f[h-1],d=S.from(y);if(S.isSame(d,e))return t(),!0;if(h>0){let p=!1;for(let m=h-1;m>=0;m--){const w=S.from(f[m]);if(!(w.traceless===!0||Ke(this.traceless,w))&&S.isSame(w,e)){p=!0;break}}return p?(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[Ge](t,e.routes)}push(e){const t=this[At](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Ke(this.traceless,e.currentRoute)&&$().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[At](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Ke(this.traceless,e.currentRoute))&&$().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[At](e){const t=$();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(X)&&(i=i.substring(X.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function hn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=$().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Qs("path",e??"",t,r,s,n,i)}function Ys(r=!0,e="",t=!0,s=!1,n){return new Qs("hash","",e,r,t,s,n)}class yn{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}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[Se](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(S.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(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 Zs(r="",e=50){return new yn(r,e)}const Xe=Symbol("_constructRouteModel"),Qe=Symbol("_findRouteModel"),Tt=Symbol("_findRootView"),Ss=Symbol("_getFirstView"),ae=Symbol("_removeView"),Ps=Symbol("_buildPage"),Cs=Symbol("_resolveComponent"),Es=Symbol("_update"),se=Symbol("_merge"),_t=Symbol("_handleHistoryChange"),Ye=Symbol("_handleRouteUpdated"),Ze=Symbol("routeUpdatedCallback"),b=Symbol("currentRoutes"),et=Symbol("routeSessionCacheKey"),$s=Symbol("_addRouteRecorder"),je=Symbol("_removeRouteRecorder"),tt=Symbol("_cloneRouteRecorder"),T=Symbol("_handleError"),st=Symbol("errorCallback"),D=Symbol("registerKey"),rt=Symbol("notFoundKey"),Kt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),P=Symbol("historyKey"),qe=Symbol("beforeFiltersKey"),Le=Symbol("afterFiltersKey"),ke=Symbol("destroyFiltersKey"),jt=Symbol("propsFilterKey"),we=Symbol("mainDispatcherKey"),qt=Symbol("initKey"),ue=Symbol("readyKey"),Lt=Symbol("readyHandlersKey"),nt=Symbol("_markReady"),Fs=Symbol("_createNextFn"),kt=Symbol("_start"),Ot=Symbol("_before"),Mt=Symbol("_after"),As=Symbol("_destroy"),It=Symbol("_load"),Oe=Symbol("_unload"),Me=Symbol("routerGuardKey");function dn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=F(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class mn{[D]=new Array;[rt];[Kt]="*";[ue]=!1;[Lt]=[];[H]=new un;[P];[b]=new Array;[et]=new WeakMap;[st]=null;[Ze]=null;[qe]=new Array;[Le]=new Array;[ke]=new Array;[jt]=null;[we]=new He;[Me]=new fn;[qt]=!1;get current(){const e=this[b].length;return e>0?this[b][e-1]:null}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[P]=e.history:this[P]=he?Ys():Zs(),this[P]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[O](s);i&&await this[_t]([i])}else await this[_t](s)}catch(i){console.error(i.message,i),n=!1}this[ue]===!1&&this[nt](n)})}[T](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[st]=="function")try{this[st](e,t)}catch{}console.error(e)}init(){this[qt]!==!0&&(this[P]?.init(!this[ue]),this[qt]=!0)}isReady(){return this[ue]?Promise.resolve():new Promise((e,t)=>{this[Lt].push([e,t])})}[nt](e){this[ue]=!0,this[Lt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[_t](e){try{if(!e){let o=[...this[b]].reverse();return this[Oe](o),he&&$().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[b].length&&S.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&&(s=e.slice(i)),i<this[b].length&&(n=this[b].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Oe](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[T](t)}return Promise.resolve()}[Ye](e=null){if(e||(e=this.current),typeof this[Ze]=="function")try{this[Ze](e)}catch{}}[$s](e,t){if(e.opsType===E.Open){let s=!1;const n=this[b].length-1;for(let i=n;i>=0;i--){const o=this[b][i];if(e.root==o.root){if(e.path===o.path){this[b].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[b].push(e)}else this[b].push(e);this[et].set(e,t)}[tt](){let e=[];for(let t of this[b]){let s=S.clone(t,!0);e.push(s)}return e}[je](e){if(!this[b])return;let t=-1;for(let s=0;s<this[b].length;s++)if(S.isSame(this[b][s],e)){t=s;break}if(t!=-1){let s=this[b][t];this[b].splice(t,1);const n=this[et].get(s);this[et].delete(s),this[As](s,n)}}set historyMonitor(e){this[P]&&(this[P].historyMonitor=e)}get historyMonitor(){return this[P]?this[P].historyMonitor:!1}set traceless(e){this[P]&&(this[P].traceless=e)}get traceless(){return this[P]?this[P].traceless:!1}set propsFilter(e){this[jt]=e}get propsFilter(){return this[jt]}setRestorePoint(){const e=this[tt]();this[P]?.setRestorePoint(e)}onRouteUpdated(e){this[Ze]=e}onError(e){this[st]=e}beforeEach(e){this[qe].push(e)}removeBeforeEach(e){const t=this[qe].indexOf(e);return t!==-1?(this[qe].splice(t,1),!0):!1}afterEach(e){this[Le].push(e)}removeAfterEach(e){const t=this[Le].indexOf(e);return t!==-1?(this[Le].splice(t,1),!0):!1}destroyEach(e){this[ke].push(e)}removeDestroyEach(e){const t=this[ke].indexOf(e);return t!==-1?(this[ke].splice(t,1),!0):!1}beforeRestoreEach(e){this[P]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[P]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Kt]){this.setNotFoundRoute(e);return}const s=this[Xe](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[O](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[O](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Kt]=e}setNotFoundRoute(e){const t=this[Xe](e);this[rt]=t[0]}getRoutes(){return[...this[D]]}[Xe](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new xt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=X);let u=new Or(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[Xe](a);for(let u of l){let c=new xt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new hs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new hs;a.models=n;const l=new xt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[Qe](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Gr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new S;F(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[Qe](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??{},F(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}F(!0,t.params,u)}else typeof l=="object"&&F(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=zr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[O](e){let t=null;if(Array.isArray(e))if(t=new S,typeof e[0]=="object")t=S.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&F(!1,t,e[s]);else typeof e=="object"?t=S.from(e):typeof e=="string"&&(t=new S,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??X,t.opsType=t.opsType??this.options.defaultOperationType??E.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[O](e);return t?(t.opsType=E.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}put(...e){const t=this[O](e);return t?(t.opsType=E.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[T]("resolve route fail",t),this)}replace(...e){const t=this[O](e);return t?(t.opsType=E.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[T]("resolve route fail",t),this)}append(...e){const t=this[O](e);return t?(t.opsType=E.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[we].post(n=>{try{if(this[b].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[b][0].root??X,e.all)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];c.opsType===E.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=X;let u=this[Ss](this[H]);u&&(o=u.name);for(let c=this[b].length-1;c>0;c--){let f=this[b][c];if(f.opsType===E.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[b][i]),this[Oe](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[b].length;if(l&&S.isSame(l,this[b][c-1])){this[P]?.goBack(l,u);return}u()}}catch(i){this[T](i),n.resolve(),s(!1)}})})}open(...e){let t=this[O](e);return t?(t.opsType=E.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}close(e){return this[we].post(t=>{try{let s=this[O](e);if(!s){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===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Oe](n)&&this[Ye](),t.resolve()}catch(s){this[T](s),t.resolve()}}),this}to(...e){let t=this[O](e);if(!t)return this[T]("resolve route fail",t),this;let s=this[Me].acquire(t);return s==null?(this[T]("route forbid",t),this):(this[we].post(n=>{try{let i=this[kt](t);this[Ot](i),this[It](i),this[Mt](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=S.clone(l,!0);const c=new vs(u,this[tt]());l.historyUpdatePolicy==="replace"?this[P]?.replace(c):l.historyUpdatePolicy==="traceless"?this[P]?.setRouteMark(c):this[P]?.push(c)}catch(u){console.error(u.message,u)}if(Re.clear(o.session),this[Me].release(s),this[Ye](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[ue]===!1&&this[nt](!0),i=null,n.resolve()},(o,a)=>{this[Me].release(s),a!==null&&this[T](a,t),this[ue]===!1&&this[nt](!1),Re.clear(o.session),i=null,n.resolve()})}catch(i){this[Me].release(s),this[T](i,t),n.resolve()}}),this)}back(e=1){this[P]?.go(-e,!1)}[Fs](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[O](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()}}[kt](e){const t=this[b].length>0?this[b][this[b].length-1]:void 0,s=new Re(e,t),n={route:e,find:null};return this[Qe](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new He(s)}[Ot](e){for(let t of this[qe])e.post(s=>{const n=this[Fs](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Mt](e){e.post(t=>{for(let s of this[Le])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[As](e,t){for(let s of this[ke])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[It](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[Qe](o))n=o.find,t.session.routeModel=n;else if(this[rt])n=this[rt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=Re.from(t.session);this[Ps](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Oe](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Tt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[T]("can not find view index"),!1;for(let n of s.reverse())this[ae](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Tt](e,t){const s=t.root??X;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[V]&&l[ot]===s)return n={x:a,y:i},n}}return null}[Ss](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ae](e,t,s=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 f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[je](h.route),h.active===!0&&h.route.opsType==E.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[ce]&&(o||N.include(a,d[ce]))){let p=d.slots.value;for(let m=p.length-1;m>=0;m--){let w=p[m];w.route&&d[V]&&this[je](w.route),h.push(new N(d,w.index,c)),p.splice(m,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[b]=[],this[Ye](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[we].post(u=>{const c=this[kt](l);this[Ot](c),this[It](c),this[Mt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[T](h),u.resolve()})})}this[we].post(a=>{if(i&&o===!0){const l=S.clone(i,!0),u=new vs(l,this[tt]());this[P]?.replace(u)}a.resolve(),s()})})}[Ps](e,t,s){const n=e.updateType??it.Part;return this[Cs](t).then(()=>{const o=this[Es](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Cs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];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()}[Es](e,t,s,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[H],a=dn(o),l=t.root??X,u;!a&&n==it.Part&&(u=this[Tt](o,t));let c,f=0;if(u==null||u==null)if(a||n===it.All){if(o.layers.length==0&&(o.layers[0]=new $t),o.layers[0].views.length==0){let h=t.root??X;c=new Te(h,!0,null),o.layers[0].views=[c]}else c=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 p=o.layers[y-1];for(let m of p.views){if(m[V]&&m.name===h.rootName){d=new N(m,h.rootIndex??0,y-1);break}if(m[B]&&m[B].view.name===h.rootName&&m[B].index===h.rootIndex){d=m[B];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new Te(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===E.Append){t.index=t.index??ie.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let w=h[h.length-1];w.active=!1,w.route&&(w.route.active=w.active)}let y=new te(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else if(t.opsType===E.Open){let h=c.slots.value;const y=t.active??!0;let d=!1;for(let p of h){if(p.route!==null&&S.isSameForRouteModel(p.route,t)){if(p.active===y)return t.index=p.index,t.active=y,p.route=t,{status:"no-change",message:""};p.active=y,d=!0,t.index=p.index,t.active=y,p.route=t}else y&&(p.active=!1);p.route&&(p.route.active=p.active)}if(!d){t.index=t.index??ie.get(),t.active=y;let p=new te(t,i,t.index,y);h.push(p);let m=f+1,w=1,v=new N(c,t.index,f);this[se](o,m,e,w,v)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let y=f+1,d=1,p=new N(c,t.index,f);this[se](o,y,e,d,p)}else{let y=h[0];if(y.model!==i){this[ae](o,u,null,!0),t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else{y.route!==null&&this[je](y.route);let d=!1;const p=t.active??!0;y.active!==p&&(y.active=p,d=!0),t.active=p,t.index=y.index,y.route=t;let m=[];for(let Q=1;Q<h.length;Q++)m.push(h[Q].index);m.length>0?this[ae](o,u,m,!0):d&&(c.slots.value=[...h]);let w=[new N(c,t.index,f)],v=f+1,_=1,ee=new N(c,t.index,f);for(;w.length>0&&v<o.layers.length&&_<e.layers.length;v++,_++){let Q=[];for(let K=0;K<o.layers[v].views.length;K++){let j=o.layers[v].views[K];j[ce]&&N.include(w,j[ce])&&Q.unshift(K)}let pe=[];for(let K of Q){let j=o.layers[v].views[K],oe=e.layers[_].models,Y;for(let L=0;L<oe.length;L++)if(j.name===oe[L].name){Y=oe[L];break}if(!Y)this[ae](o,{x:K,y:v},null,!1);else{let L=j.slots.value;if(L.length==0){let W=0;j.slots.value=[new te(null,Y,W)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{let W=L[0];if(W.model!==Y){this[ae](o,{x:K,y:v},null,!0),j.slots.value=[new te(null,Y,0)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{j[V]&&W.route!==null&&this[je](W.route);let U=[];for(let Z=1;Z<L.length;Z++)U.push(L[Z].index);U.length>0&&this[ae](o,{x:K,y:v},U,!0),pe.push(new N(j,W.index,v))}}j[V]=!1}}w=pe}this[se](o,v,e,_,ee)}}}if(c&&c[B]){let h=c[B];h&&(t.slot=new kr(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[$s](t,s),{status:"success",message:""}}[se](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new $t;l.views=[];for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Ns](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[B]?.view===s,y&&n!==-1&&(y=h[B]?.index===n)):y=h.name===e,!!y){i!==null&&(h[ce]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[B],l={view:i,index:o,level:t-1});let u=new Te(e,!0,a);if(u[ce]=l,t==this[H].layers.length){let c=new $t;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const gn="fox-router-view",vn="fox-router-link";function er(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 tr(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 wn(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 sr(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 rr(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 bn(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 xn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function Rn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Sn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Pn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function Cn(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function En(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function $n(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function Fn(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ns(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 Ee(r,e){r.classList.contains(e)||r.classList.add(e)}function Pe(r,e){r.classList.remove(e)}const An=he&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function mt(r){An(r)}function A(r,e,t){x(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)zt(e,c.type,c.listener);l=[]};if(x(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),x(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",ut],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{at(e,h,f),l.push({type:h,listener:f})})}if(x(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};at(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!he||r===null?!1:r.opsType===E.Append||r.opsType===E.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Ee(t,o);const a=tr(s,e);a&&Ee(t,a);const l=xn(s,e);A(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){x(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=wn(s,e),f=Rn(s,e),h=Sn(s,e),y=Pn(s,e);if(!l&&!u&&!c&&!f){x(a)&&a(r,a,[t]);return}mt(()=>{nr(r,t,i,o,n,()=>{u&&Pe(t,u),c&&Pe(t,c),x(h)&&A(r,h,[t,e,i,o]),x(a)&&a(r,a,[t])},()=>{x(y)&&A(r,y,[t,e,i,o])}),l&&Pe(t,l),c&&Ee(t,c),x(f)&&A(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Ee(t,o);const a=rr(s,e);a&&Ee(t,a);const l=Cn(s,e);A(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=bn(s,e),h=En(s,e),y=$n(s,e),d=Fn(s,e);if(!u&&!c&&!f&&!h){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}mt(()=>{nr(r,t,o,a,n,()=>{c&&Pe(t,c),f&&Pe(t,f),x(y)&&A(r,y,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()},()=>{x(d)&&A(r,d,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()}),u&&Pe(t,u),f&&Ee(t,f),x(h)&&A(r,h,[t,e,o,a])})}function Jt(r,e,t={},s,n=-1){const i=t.mode??"default",o=ns(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>Jt(r,e,t,s,n)}}function ur(r){return r.el}function Tn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function Kn(r,e={}){mt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{Je(Ds,{},a)},enter:a=>{Je(Hs,{},a)},leave:(a,l)=>{Je(Us,{},a),mt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(zt(a,ut,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};at(a,ut,u),Je(Bs,{},a)})},clone:a=>cr(r,e,t,s,n)}}function re(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Nt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function be(r,e){return typeof e=="function"?e(r):r}class jn{node;state;constructor(e,t){this.node=e,this.state=t}}const Wt=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 s=r.multi===!0,n=g.inject(dt,null),i=g.inject(St,0),o=g.inject(ms,null),a=g.inject(Pt,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(St,i+1),g.provide(Pt,u.index),g.provide(Ct,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=ct(t.proxy,!0);Hr(h),ps(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(gs,null),y=g.inject(Ct,0);if(l=n[Ns](f,i,o,a,h,y),l===null)return;g.provide(gs,l);const d=l[V]===!0;if(d&&g.provide(ms,l),!s&&(g.provide(Pt,-1),g.provide(St,i+1),g.provide(Ct,-1),d)){const p=ct(t.proxy,!0);ps(p,()=>{const m=l.slots.value;return m.length>0?m[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let w=0;w<y.length;w++){const v=y[w],_=`${r.name}_${v.index}`,ee=re(r.transition,v.route,w)??!0,Q={modelSlot:v};let pe;e.slots.default?pe=g.h(Wt,Q,{default:e.slots.default}):pe=g.h(Wt,Q);const K={},j=re(r.viewClass,v.route,w);typeof j=="string"&&j.length>0&&(K[j]=!0);const oe=re(r.viewActiveClass,v.route,w),Y=re(r.viewInactiveClass,v.route,w),L=c.value.get(_);if(typeof oe=="string"&&oe.length>0&&(K[oe]=v.active),typeof Y=="string"&&Y.length>0&&(K[Y]=!v.active),L&&v.active!==L.state){const M=L.node;v.active?d.unshift(()=>{const vt=()=>{let $e=ys(M);$e!=null&&ds($e,Vt.ACTIVATED)};Tn(t,M,r,v.route,w,ee,vt)}):d.push(()=>{const vt=()=>{const $e=ys(M);$e!=null&&ds($e,Vt.DEACTIVATED)};_n(t,M,r,v.route,w,ee,vt)})}const W={class:K,key:_},U=re(r.viewTagProps,v.route,w);if(U!==null&&typeof U=="object"){const M=be(U,n?.propsFilter);F(!0,W,M)}if(v.route?.viewTagAttrs&&typeof v.route?.viewTagAttrs=="object"){const M=be(v.route.viewTagAttrs,n?.propsFilter);F(!0,W,M)}const Z=re(r.viewTag,v.route,w),me=g.h(Z,W,{default:()=>[pe]});if(f.set(_,new jn(me,v.active)),c.value.delete(_),ee===!0){const M=Jt(t,me,r,v.route,w);me.transition=M}else if(ee==="custom"){const M=cr(t,me,r,v.route,w);me.transition=M}h.push(me)}c.value=f,Kn(d,t);const p=re(r.tag,null,-1),m={};return Object.assign(m,e.attrs),g.h(p,m,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=be(f.props,n?.propsFilter);F(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=be(u.route.params,n?.propsFilter);F(!1,h,d)}}const y=g.h(f.component,h);return Nt(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&ts(t.proxy))??null,d=h.model,p={};if(d.props){if(typeof d.props=="object"){const v=be(d.props,n?.propsFilter);F(!1,p,v)}else if(d.props===!0&&typeof y?.params=="object"){const v=be(y.params,n?.propsFilter);F(!1,p,v)}}const m=g.h(d.component,p);if(re(r.transition,y,-1)??!0){const v=Jt(t,m,r,y,-1);m.transition=v}return Nt(e.slots.default,{Component:m,route:y})??m}else return Nt(e.slots.fallback,{})}}}});function qn(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 Ln(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function kn(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function xe(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let On=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(dt,null);return()=>{let s=xe(r.to,null),n=xe(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[O](s),r.root&&(i.root=r.root),o=t.current);let a={},l=xe(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=kn(i,o)),xe(r.exact,i)===!0){let h=xe(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=Ln(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),F(!0,c,e.attrs);let f=xe(r.event,i);if(typeof f=="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}qn(y)&&t.to(i)};c[f]=h}return g.h(n,c,e.slots)}}});var q=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(q||{}),lt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(lt||{});class Mn{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 Ts{moduleManager=new Mn;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 Ve().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:q.Defined};typeof t=="function"?(s.exports=t,s.type=lt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new In(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new He;for(let l=0;l<t.length;l++){const u=new Nn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;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 s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)&&o.exports){o.type===lt.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=Ve(),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{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{fr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)){if(o.exports){o.type===lt.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:q.Loading},this.moduleManager.set(i,o);const l=Ve().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=$();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Ve(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=q.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=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.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,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=q.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=q.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 s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${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 s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+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 s=0;s<t.length;s++){const n=t[s];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`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${$().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`${wt()}${e}`}}function fr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():fr(r,e)},20)}class In{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,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),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 Nn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Dn(r={}){const e=new mn(r),t=new Ut,s=new Bt,n=new Ts,i={get router(){return e},get bus(){return t},get Bus(){return Ut},get EventProxy(){return Bt},get eventproxy(){return s},get EventChain(){return He},get Require(){return Ts},get require(){return n},get extend(){return F},get clone(){return yt},get isESModule(){return Gt},install(o){o.provide(dt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(gn,Wt),o.component(vn,On),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 s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return ts(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(dt)}function Hn(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?ts(r):null}function Un(r){return r?r.$fox:g.inject(is)}function Bn(r){return r?r.$bus:g.inject(os)}function Vn(r){return r?r.$eventProxy:g.inject(ls)}function Jn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=Ut;exports.EventChain=He;exports.EventProxy=Bt;exports.FoxBeforeEnter=Ds;exports.FoxBeforeLeave=Us;exports.FoxEnter=Hs;exports.FoxLeave=Bs;exports.FoxLeaveEnd=ut;exports.OperationType=E;exports.Route=S;exports.clone=yt;exports.createFox=Dn;exports.createMemoryHistory=Zs;exports.createWebHashHistory=Ys;exports.createWebHistory=hn;exports.deleteContextValue=Dr;exports.extend=F;exports.foxBusKey=os;exports.foxEventProxyKey=ls;exports.foxKey=is;exports.injectContextValue=es;exports.isArray=yr;exports.isDate=mr;exports.isESModule=Gt;exports.isEqual=Ht;exports.isFunction=x;exports.isMap=dr;exports.isNil=Ue;exports.isObject=_s;exports.isPlainObject=Ks;exports.isPromise=wr;exports.isSet=pr;exports.isString=gr;exports.isSymbol=vr;exports.onAfterRouteUpdate=Wn;exports.onBeforeRouteUpdate=Jn;exports.onFoxActivated=Jr;exports.onFoxInactivated=Wr;exports.provideContextValue=Nr;exports.rawState=qr;exports.reactiveState=_r;exports.sessionKey=ne;exports.shallowReactiveState=Kr;exports.toBoolean=Xt;exports.toNumber=Sr;exports.toTypeString=ht;exports.typeOf=Dt;exports.useBus=Bn;exports.useEventProxy=Vn;exports.useFox=Un;exports.useRoute=Hn;exports.useRouter=as;
2
+ * fox v3.1.0 Fri Oct 18 2024 19:32:13 GMT+0800 (中国标准时间)
3
+ */Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("vue"),he=typeof window<"u",$=function(){return window},Ve=function(){return window.document};function hr(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 wt(){if(!he)return"/";let r=$().location,e=`${r.protocol}//${r.host}`;return e+=hr(r.pathname),e}function at(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function zt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const Je=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},yr=Array.isArray,dr=r=>ht(r)==="[object Map]",pr=r=>ht(r)==="[object Set]",mr=r=>r instanceof Date,x=r=>typeof r=="function",gr=r=>typeof r=="string",vr=r=>typeof r=="symbol",_s=r=>r!==null&&typeof r=="object",wr=r=>_s(r)&&x(r.then)&&x(r.catch),Ue=r=>r==null,br=Object.prototype.toString,ht=r=>br.call(r),Ks=r=>ht(r)==="[object Object]",xr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Gt(r){return r.__esModule||xr&&r[Symbol.toStringTag]==="Module"}const Rr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function F(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[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]=F(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function yt(r,e,t=!1){if(!t)F(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!Ks(i))continue;n=yt(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class ie{static seed=new Date().getTime();static get(){let e=++ie.seed;return e>=Number.MAX_VALUE&&(ie.seed=0),e}}const bt=Rr?Promise.resolve():null;function Ie(r,...e){bt!==null?e&&e.length>0?bt.then(()=>{r(e)}):bt.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Sr(r){return typeof r=="number"?r:Number(r)}const Pr={"[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 Dt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Pr[t]||"object"}function Ht(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Dt(r),s=Dt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ht(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ht(i,o))return!1}return!0}return!1}const js=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=js(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Cr=/^Symbol\((.*)\)$/,qs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=qs(s));const n=Cr.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function Ls(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const us=Symbol("idKey"),ye=Symbol("valueKey"),R=Symbol("childrenKey"),J=Symbol("growKey");class ks{[J]=!0;[us];[ye]=g.ref();[R]=new Map;constructor(e){this[us]=e}}class Er{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];let s=e[R].get(t);if(s)return De(s);if(e[J])return s=Yt(t),s[J]=e[J],e[R].set(t,s),De(s)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):s==null?(e[R].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[R].delete(t),!0)}}const Qt="__proxy__";function Yt(r){const e=new ks(r);return Reflect.set(e,Qt,new Proxy(e,new Er)),e}function De(r){return Reflect.get(r,Qt)}let $r=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")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==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(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 Os extends ks{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new $r(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[R].has(i)?o=s[R].get(i):(o=Yt(i),s[R].set(i,o)),s=o}return s[ye].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[R].has(i))s=s[R].get(i);else return}return s[ye].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)?(s[R].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[R].has(o))s=s[R].get(o);else return!1}const n=e[t-1];return s[R].has(n)}clear(){this[R].clear(),this._persistHandler.clear()}}const Fr=["put","get","contains","remove","clear","_persistHandler"];function cs(r){return Fr.includes(r)}class Ar{get(e,t){if(t=="value")return e[ye].value;if(t==="grow")return e[J];if(t===R)return e[R];if(typeof t=="string"&&cs(t))return e[t];const s=String(t);let n=e[R].get(s);if(n)return De(n);if(e[J])return n=Yt(s),n[J]=e[J],e[R].set(s,n),De(n)}set(e,t,s){return t=="value"?(e[ye].value=s,!0):t==="grow"?(e[J]=Xt(s),!0):cs(t)?!1:s==null?(e[R].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[R].delete(t),!0)}}function Tr(r,e){const t=new Os(r,e),s=new Ar,n=new Proxy(t,s);return Reflect.set(t,Qt,n),t}const Ut=new Proxy(Os,{construct(r,e){const t=e[0]??{},s=e[1],n=Tr(t,s);return De(n)}}),Zt=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class Ms{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Ue(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(he){const t=$();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||Zt(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function Is(r,e,t){const s=new Ms(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Ue(h)||(c[f]=h)}Zt(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=Ls(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function _r(r,e){return Is(!1,r,e)}function Kr(r,e){return Is(!0,r,e)}function jr(r,e){const t=new Ms(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Ue(f)||(u[c]=f)}Zt(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=Ls(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function qr(r,e){return jr(r,e)}const X="default",Ns=Symbol("sync"),O=Symbol("resolveRoute");function fs(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function Lr(r){let e=r.src;return new Promise((t,s)=>{const n=fs(a=>{Gt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=fs(a=>{console.debug("reject load async module"),s(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 kr{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class Re{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new Re(e.to,e.from),s=e.data??{};return F(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class S{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??X}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new S;return yt(s,e,t),s}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 S;if(e==null)return t;let s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Or{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=ie.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return Lr(this)}}class hs{models=[]}class xt{path;match;redirect;name;layers=[]}var E=(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))(E||{});const Ds="FoxBeforeEnter",Hs="FoxEnter",Us="FoxLeave",Bs="FoxLeave",ut="FoxLeaveEnd",I=Symbol("chainKey"),k=Symbol("cursorKey"),Rt=Symbol("$persistentModeKey"),C=Symbol("statusKey"),z=Symbol("argsKey"),We=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),Fe=Symbol("errorFnsKey"),ne=Symbol("sessionKey"),G=Symbol("_go");class He{[I]=[];[k]=0;[Rt]=!1;[C]="Free";[z]=[];[We]=[];[ge]=[];[Fe]=[];[ne];get session(){return this[ne]}constructor(e,t=!1){this[ne]=e,this[Rt]=t}[G](e,...t){let s=this[C];if(this[C]="Busy",this[k]+=e,this[k]<0&&(this[k]=0),this[z]=t,s==="Exception"||s==="Reject"){let a=[{session:this[ne]},...this[We]];for(;this[Fe].length>0;)try{let l=this[Fe].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[C]=s,this[I]=[],this[k]=0,this}else if(s==="Finished"||this[k]>=this[I].length){let a=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ie(()=>{Reflect.apply(l,{},a)})}return this[C]="Free",this}if(this[k]>=this[I].length)return this[C]="Free",this;let n=this[I][this[k]];this[Rt]||(this[I].splice(0,this[k]+1),this[k]=-1);let i=this[k]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[G],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[G],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[ne]};Ie(()=>{Reflect.apply(n,{},[a,...this[z]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[G],this,[e,...t])}finish(...e){return this[C]="Finished",this[z]=e,Reflect.apply(this[G],this,[0])}reject(...e){return this[C]="Reject",this[We]=e,Reflect.apply(this[G],this,[0])}throw(...e){return this[C]="Exception",this[We]=e,Reflect.apply(this[G],this,[0])}reset(...e){this[C]="Busy",this[z]=e,this[I]=[],this[k]=0;let s=[{session:this[ne]},...this[z]];for(;this[ge].length>0;){let n=this[ge].shift();Ie(()=>{Reflect.apply(n,this,s)})}return this[C]="Free",this}post(e){return this[C]==="Reject"||this[C]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[Fe].push(t),this[C]==="Busy"?this:(Reflect.apply(this[G],this,[0,...this[z]]),this)}exception(e){return e&&typeof e=="function"&&this[Fe].push(e),this[C]==="Busy"?this:Reflect.apply(this[G],this,[0,...this[z]])}isFinish(){return this[C]=="Reject"||this[C]=="Free"&&this[k]>=this[I].length}}const ve=Symbol("registerKey");class Mr{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Bt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Mr(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}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 s=e[t-1];if(typeof s!="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(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ie(()=>{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 Ae=Symbol("registerKey");class Ir{[Ae]=new Map;constructor(){}set(e,t){this[Ae].set(e,t)}get(e){return this[Ae].get(e)}has(e){return this[Ae].has(e)}delete(e){return this[Ae].delete(e)}}const fe=Symbol("lc");function ct(r,e=!1){let t=r;if(Reflect.has(t,fe))return t[fe];if(e){const s=new Ir;return t[fe]=s,s}return null}function Vs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,fe)&&(t=s[fe],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=ct(n.$parent,e))}return t}function es(r,e){let t=r;for(;t;){if(Reflect.has(t,fe)){const s=t[fe];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Nr(r,e,t){Vs(r,!0)?.set(e,t)}function Dr(r,e){Vs(r,!0)?.delete(e)}function ys(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 ct(e.component.proxy,!1)}return null}const ft=Symbol("hooksKey");function Hr(r){let e=r.get(ft);e||(e=[],r.set(ft,e))}function ds(r,e){let t=r.get(ft);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var Vt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Vt||{});class Ur{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Br(r,e,t,s){let n=new Ur(e,t,s);return r.push(n),!0}function Vr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function Js(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=es(s,ft);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Vr(n,r,e,s)}),Br(n,r,e,s)}}const Jr=Js("a"),Wr=Js("da"),Ws=Symbol("routeKey");function ps(r,e){r.set(Ws,e)}function ts(r){let e=es(r,Ws);return typeof e=="function"?e():e??null}const dt=Symbol("rk"),St=Symbol("vd"),ms=Symbol("rv"),Pt=Symbol("rvi"),gs=Symbol("pv"),Ct=Symbol("pvi");var de={};Object.defineProperty(de,"__esModule",{value:!0});de.TokenData=void 0;de.parse=pt;var zr=de.compile=tn,Gr=de.match=nn;de.pathToRegexp=an;const Xr="/",ss=r=>r,Qr=/^\p{XID_Continue}$/u,Ne="https://git.new/pathToRegexpError",Yr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function Zr(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Yr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Qr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new en(t)}class en{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${Ne}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Be{constructor(e,t){this.tokens=e,this.delimiter=t}}de.TokenData=Be;function pt(r,e={}){const{encodePath:t=ss,delimiter:s=t(Xr)}=e,n=[],i=Zr(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${Ne}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${Ce(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),p=i.text(),m=i.tryConsume(";")&&i.text();i.consume("}");const w=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(p),pattern:d,modifier:w,separator:m});continue}i.consume("END");break}while(!0);return new Be(n,s)}function tn(r,e={}){const t=r instanceof Be?r:pt(r,e);return rn(t,e)}function sn(r,e){if(typeof r=="string")return()=>r;const t=e||ss,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function rn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=zs(e),a=rs(s,r.delimiter),l=Xs(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=sn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const p=h(d);if(!y.test(p))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(p)}`);return p}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function nn(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Be?r:pt(r,e),i=rs(s,n.delimiter),o=[],a=Gs(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||ss});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let p=1;p<f.length;p++){if(f[p]===void 0)continue;const m=o[p-1],w=l[p-1];d[m.name]=w(f[p])}return{path:h,index:y,params:d}}}function Ce(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function on(r,e){const t=Ce(r);return e?`(?:${t})+(?!${t})`:t}function rs(r,e){if(!r)return Ce;const t=new RegExp(`(?:(?!${Ce(e)}).)+|(.)`,"g");return s=>s.replace(t,on)}function zs(r){return r.sensitive?"":"i"}function Gs(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=zs(t),u=rs(n,r.delimiter),c=Xs(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${Ce(r.delimiter)}|$)`,new RegExp(f,l)}function Xs(r,e,t,s,n){const i=`(?:(?!${Ce(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),p=e(f);if(l.name){const m=l.pattern?`(?:${l.pattern})`:i,w=ln(m,l.name,s);if(a||(a=Et(w,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${Ne}`);if(a=!n||Et(w,f),o="",t.push(l),y==="+"||y==="*"){const v=y==="*"?"?":"",_=e(h);if(!_)throw new TypeError(`Missing separator for "${l.name}": ${Ne}`);if(a||(a=!n||Et(w,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${Ne}`);return a=!n,`(?:${d}(${m}(?:${_}${m})*)${p})${v}`}return`(?:${d}(${m})${p})${y}`}return`(?:${d}${p})${y}`})}function ln(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Et(r,e){return e?!r.test(e):!1}function an(r,e={}){const t=r instanceof Be?r:pt(r,e),s=[],n=Gs(t,s,e);return Object.assign(n,{keys:s})}var it=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(it||{});const V=Symbol("rootKey"),B=Symbol("rootNodeKey"),ce=Symbol("parentNodeKey"),ot=Symbol("nameKey");class te{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class Te{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[ot];[V];[B]=null;[ce]=null;get name(){return this[ot]}constructor(e,t,s){this[ot]=e,this[V]=t,s&&(this[B]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class $t{views=[]}class un{layers=[]}class cn{time;route}class fn{forbidTime=300;submitRecorder=new cn;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 Se=Symbol("_notifyChange");class vs{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const le=Symbol("historyChangeConsumerKey"),ws=Symbol("_navigateFirstRoute"),ze=Symbol("_getRouteMark"),Ft=Symbol("_getUrlSearch"),At=Symbol("_generateLocation"),Ge=Symbol("_setRouteMarkRecorder"),_e=Symbol("beforeRestoreFiltersKey"),bs=Symbol("_beforeRestore"),xs="Symbol(_fox_restore_point)";function Ke(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Rs(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Qs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[le]=!1;[_e]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??$().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=$();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[le]=="function"){const s=this[le]();if(this[le]=!1,s)return}else if(this[le]===!0){this[le]=!1;return}if(Ke(this.historyMonitor)){const s=t.history.state;this[Se](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[ze]()??"/";this[Ge](i,n)}}catch{}}}),at(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ws](),Promise.resolve()}destroy(){if(this.historyChange){const e=$();zt(e,"popstate",this.historyChange)}}[bs](e,t,s,n){for(let i of this[_e])try{const o=Reflect.apply(i,{},[e,t,s,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}[ws](){const e=this[ze]()??"/",t=this.storage.getItem(xs);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?qs(l.params):{},this[bs](l,u,e,o.routes)));if(a.length>0){const l=this[Ft](),u=a.length-1;a[u].query=l||a[u].query,this[Se](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new S;i.path=n,i.query=this[Ft](),this[Se]([i])}[Ge](e,t){try{t.forEach(i=>{i.params=i.params?js(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(xs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[ze]()??"/";this[Ge](t,e)}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[ze](){const e=$();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,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ft](){let t=$().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=$();this[le]=t,s.history.go(e)}goBack(e,t){const s=$(),n=s.history.state;if(Rs(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=S.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Ke(this.traceless,f))&&S.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=$().history.state;if(Rs(f)&&f.length>0){let h=f.length;const y=f[h-1],d=S.from(y);if(S.isSame(d,e))return t(),!0;if(h>0){let p=!1;for(let m=h-1;m>=0;m--){const w=S.from(f[m]);if(!(w.traceless===!0||Ke(this.traceless,w))&&S.isSame(w,e)){p=!0;break}}return p?(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[Ge](t,e.routes)}push(e){const t=this[At](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Ke(this.traceless,e.currentRoute)&&$().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[At](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Ke(this.traceless,e.currentRoute))&&$().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[At](e){const t=$();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(X)&&(i=i.substring(X.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function hn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=$().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Qs("path",e??"",t,r,s,n,i)}function Ys(r=!0,e="",t=!0,s=!1,n){return new Qs("hash","",e,r,t,s,n)}class yn{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}[Se](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[Se](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(S.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(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 Zs(r="",e=50){return new yn(r,e)}const Xe=Symbol("_constructRouteModel"),Qe=Symbol("_findRouteModel"),Tt=Symbol("_findRootView"),Ss=Symbol("_getFirstView"),ae=Symbol("_removeView"),Ps=Symbol("_buildPage"),Cs=Symbol("_resolveComponent"),Es=Symbol("_update"),se=Symbol("_merge"),_t=Symbol("_handleHistoryChange"),Ye=Symbol("_handleRouteUpdated"),Ze=Symbol("routeUpdatedCallback"),b=Symbol("currentRoutes"),et=Symbol("routeSessionCacheKey"),$s=Symbol("_addRouteRecorder"),je=Symbol("_removeRouteRecorder"),tt=Symbol("_cloneRouteRecorder"),T=Symbol("_handleError"),st=Symbol("errorCallback"),D=Symbol("registerKey"),rt=Symbol("notFoundKey"),Kt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),P=Symbol("historyKey"),qe=Symbol("beforeFiltersKey"),Le=Symbol("afterFiltersKey"),ke=Symbol("destroyFiltersKey"),jt=Symbol("propsFilterKey"),we=Symbol("mainDispatcherKey"),qt=Symbol("initKey"),ue=Symbol("readyKey"),Lt=Symbol("readyHandlersKey"),nt=Symbol("_markReady"),Fs=Symbol("_createNextFn"),kt=Symbol("_start"),Ot=Symbol("_before"),Mt=Symbol("_after"),As=Symbol("_destroy"),It=Symbol("_load"),Oe=Symbol("_unload"),Me=Symbol("routerGuardKey");function dn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=F(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class mn{[D]=new Array;[rt];[Kt]="*";[ue]=!1;[Lt]=[];[H]=new un;[P];[b]=new Array;[et]=new WeakMap;[st]=null;[Ze]=null;[qe]=new Array;[Le]=new Array;[ke]=new Array;[jt]=null;[we]=new He;[Me]=new fn;[qt]=!1;get current(){const e=this[b].length;return e>0?this[b][e-1]:null}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[P]=e.history:this[P]=he?Ys():Zs(),this[P]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[O](s);i&&await this[_t]([i])}else await this[_t](s)}catch(i){console.error(i.message,i),n=!1}this[ue]===!1&&this[nt](n)})}[T](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[st]=="function")try{this[st](e,t)}catch{}console.error(e)}init(){this[qt]!==!0&&(this[P]?.init(!this[ue]),this[qt]=!0)}isReady(){return this[ue]?Promise.resolve():new Promise((e,t)=>{this[Lt].push([e,t])})}[nt](e){this[ue]=!0,this[Lt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[_t](e){try{if(!e){let o=[...this[b]].reverse();return this[Oe](o),he&&$().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[b].length&&S.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&&(s=e.slice(i)),i<this[b].length&&(n=this[b].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Oe](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[T](t)}return Promise.resolve()}[Ye](e=null){if(e||(e=this.current),typeof this[Ze]=="function")try{this[Ze](e)}catch{}}[$s](e,t){if(e.opsType===E.Open){let s=!1;const n=this[b].length-1;for(let i=n;i>=0;i--){const o=this[b][i];if(e.root==o.root){if(e.path===o.path){this[b].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[b].push(e)}else this[b].push(e);this[et].set(e,t)}[tt](){let e=[];for(let t of this[b]){let s=S.clone(t,!0);e.push(s)}return e}[je](e){if(!this[b])return;let t=-1;for(let s=0;s<this[b].length;s++)if(S.isSame(this[b][s],e)){t=s;break}if(t!=-1){let s=this[b][t];this[b].splice(t,1);const n=this[et].get(s);this[et].delete(s),this[As](s,n)}}set historyMonitor(e){this[P]&&(this[P].historyMonitor=e)}get historyMonitor(){return this[P]?this[P].historyMonitor:!1}set traceless(e){this[P]&&(this[P].traceless=e)}get traceless(){return this[P]?this[P].traceless:!1}set propsFilter(e){this[jt]=e}get propsFilter(){return this[jt]}setRestorePoint(){const e=this[tt]();this[P]?.setRestorePoint(e)}onRouteUpdated(e){this[Ze]=e}onError(e){this[st]=e}beforeEach(e){this[qe].push(e)}removeBeforeEach(e){const t=this[qe].indexOf(e);return t!==-1?(this[qe].splice(t,1),!0):!1}afterEach(e){this[Le].push(e)}removeAfterEach(e){const t=this[Le].indexOf(e);return t!==-1?(this[Le].splice(t,1),!0):!1}destroyEach(e){this[ke].push(e)}removeDestroyEach(e){const t=this[ke].indexOf(e);return t!==-1?(this[ke].splice(t,1),!0):!1}beforeRestoreEach(e){this[P]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[P]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Kt]){this.setNotFoundRoute(e);return}const s=this[Xe](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[O](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[O](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Kt]=e}setNotFoundRoute(e){const t=this[Xe](e);this[rt]=t[0]}getRoutes(){return[...this[D]]}[Xe](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new xt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=X);let u=new Or(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[Xe](a);for(let u of l){let c=new xt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new hs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new hs;a.models=n;const l=new xt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[Qe](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Gr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new S;F(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[Qe](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??{},F(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}F(!0,t.params,u)}else typeof l=="object"&&F(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=zr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[O](e){let t=null;if(Array.isArray(e))if(t=new S,typeof e[0]=="object")t=S.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&F(!1,t,e[s]);else typeof e=="object"?t=S.from(e):typeof e=="string"&&(t=new S,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??X,t.opsType=t.opsType??this.options.defaultOperationType??E.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[O](e);return t?(t.opsType=E.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}put(...e){const t=this[O](e);return t?(t.opsType=E.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[T]("resolve route fail",t),this)}replace(...e){const t=this[O](e);return t?(t.opsType=E.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[T]("resolve route fail",t),this)}append(...e){const t=this[O](e);return t?(t.opsType=E.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[we].post(n=>{try{if(this[b].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[b][0].root??X,e.all)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];c.opsType===E.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===E.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=X;let u=this[Ss](this[H]);u&&(o=u.name);for(let c=this[b].length-1;c>0;c--){let f=this[b][c];if(f.opsType===E.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[b][i]),this[Oe](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[b].length;if(l&&S.isSame(l,this[b][c-1])){this[P]?.goBack(l,u);return}u()}}catch(i){this[T](i),n.resolve(),s(!1)}})})}open(...e){let t=this[O](e);return t?(t.opsType=E.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[T]("resolve route fail",t),this)}close(e){return this[we].post(t=>{try{let s=this[O](e);if(!s){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===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Oe](n)&&this[Ye](),t.resolve()}catch(s){this[T](s),t.resolve()}}),this}to(...e){let t=this[O](e);if(!t)return this[T]("resolve route fail",t),this;let s=this[Me].acquire(t);return s==null?(this[T]("route forbid",t),this):(this[we].post(n=>{try{let i=this[kt](t);this[Ot](i),this[It](i),this[Mt](i),i.wait((o,a)=>{const l=o.session.to;if(o.session.updateResult&&o.session.updateResult.status==="success")try{let u=S.clone(l,!0);const c=new vs(u,this[tt]());l.historyUpdatePolicy==="replace"?this[P]?.replace(c):l.historyUpdatePolicy==="traceless"?this[P]?.setRouteMark(c):this[P]?.push(c)}catch(u){console.error(u.message,u)}if(Re.clear(o.session),this[Me].release(s),this[Ye](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[ue]===!1&&this[nt](!0),i=null,n.resolve()},(o,a)=>{this[Me].release(s),a!==null&&this[T](a,t),this[ue]===!1&&this[nt](!1),Re.clear(o.session),i=null,n.resolve()})}catch(i){this[Me].release(s),this[T](i,t),n.resolve()}}),this)}back(e=1){this[P]?.go(-e,!1)}[Fs](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[O](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()}}[kt](e){const t=this[b].length>0?this[b][this[b].length-1]:void 0,s=new Re(e,t),n={route:e,find:null};return this[Qe](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new He(s)}[Ot](e){for(let t of this[qe])e.post(s=>{const n=this[Fs](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Mt](e){e.post(t=>{for(let s of this[Le])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[As](e,t){for(let s of this[ke])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[It](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[Qe](o))n=o.find,t.session.routeModel=n;else if(this[rt])n=this[rt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=Re.from(t.session);this[Ps](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Oe](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Tt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[T]("can not find view index"),!1;for(let n of s.reverse())this[ae](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Tt](e,t){const s=t.root??X;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[V]&&l[ot]===s)return n={x:a,y:i},n}}return null}[Ss](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ae](e,t,s=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 f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[je](h.route),h.active===!0&&h.route.opsType==E.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[ce]&&(o||N.include(a,d[ce]))){let p=d.slots.value;for(let m=p.length-1;m>=0;m--){let w=p[m];w.route&&d[V]&&this[je](w.route),h.push(new N(d,w.index,c)),p.splice(m,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[b]=[],this[Ye](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[we].post(u=>{const c=this[kt](l);this[Ot](c),this[It](c),this[Mt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[T](h),u.resolve()})})}this[we].post(a=>{if(i&&o===!0){const l=S.clone(i,!0),u=new vs(l,this[tt]());this[P]?.replace(u)}a.resolve(),s()})})}[Ps](e,t,s){const n=e.updateType??it.Part;return this[Cs](t).then(()=>{const o=this[Es](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Cs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];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()}[Es](e,t,s,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[H],a=dn(o),l=t.root??X,u;!a&&n==it.Part&&(u=this[Tt](o,t));let c,f=0;if(u==null||u==null)if(a||n===it.All){if(o.layers.length==0&&(o.layers[0]=new $t),o.layers[0].views.length==0){let h=t.root??X;c=new Te(h,!0,null),o.layers[0].views=[c]}else c=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 p=o.layers[y-1];for(let m of p.views){if(m[V]&&m.name===h.rootName){d=new N(m,h.rootIndex??0,y-1);break}if(m[B]&&m[B].view.name===h.rootName&&m[B].index===h.rootIndex){d=m[B];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new Te(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===E.Append){t.index=t.index??ie.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let w=h[h.length-1];w.active=!1,w.route&&(w.route.active=w.active)}let y=new te(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else if(t.opsType===E.Open){let h=c.slots.value;const y=t.active??!0;let d=!1;for(let p of h){if(p.route!==null&&S.isSameForRouteModel(p.route,t)){if(p.active===y)return t.index=p.index,t.active=y,p.route=t,{status:"no-change",message:""};p.active=y,d=!0,t.index=p.index,t.active=y,p.route=t}else y&&(p.active=!1);p.route&&(p.route.active=p.active)}if(!d){t.index=t.index??ie.get(),t.active=y;let p=new te(t,i,t.index,y);h.push(p);let m=f+1,w=1,v=new N(c,t.index,f);this[se](o,m,e,w,v)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let y=f+1,d=1,p=new N(c,t.index,f);this[se](o,y,e,d,p)}else{let y=h[0];if(y.model!==i){this[ae](o,u,null,!0),t.index=t.index??ie.get(),t.active=!0,c.slots.value=[new te(t,i,t.index)];let d=f+1,p=1,m=new N(c,t.index,f);this[se](o,d,e,p,m)}else{y.route!==null&&this[je](y.route);let d=!1;const p=t.active??!0;y.active!==p&&(y.active=p,d=!0),t.active=p,t.index=y.index,y.route=t;let m=[];for(let Q=1;Q<h.length;Q++)m.push(h[Q].index);m.length>0?this[ae](o,u,m,!0):d&&(c.slots.value=[...h]);let w=[new N(c,t.index,f)],v=f+1,_=1,ee=new N(c,t.index,f);for(;w.length>0&&v<o.layers.length&&_<e.layers.length;v++,_++){let Q=[];for(let K=0;K<o.layers[v].views.length;K++){let j=o.layers[v].views[K];j[ce]&&N.include(w,j[ce])&&Q.unshift(K)}let pe=[];for(let K of Q){let j=o.layers[v].views[K],oe=e.layers[_].models,Y;for(let L=0;L<oe.length;L++)if(j.name===oe[L].name){Y=oe[L];break}if(!Y)this[ae](o,{x:K,y:v},null,!1);else{let L=j.slots.value;if(L.length==0){let W=0;j.slots.value=[new te(null,Y,W)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{let W=L[0];if(W.model!==Y){this[ae](o,{x:K,y:v},null,!0),j.slots.value=[new te(null,Y,0)];let U=v+1,Z=_+1;this[se](o,U,e,Z,ee)}else{j[V]&&W.route!==null&&this[je](W.route);let U=[];for(let Z=1;Z<L.length;Z++)U.push(L[Z].index);U.length>0&&this[ae](o,{x:K,y:v},U,!0),pe.push(new N(j,W.index,v))}}j[V]=!1}}w=pe}this[se](o,v,e,_,ee)}}}if(c&&c[B]){let h=c[B];h&&(t.slot=new kr(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[$s](t,s),{status:"success",message:""}}[se](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new $t;l.views=[];for(let u of s.layers[o].models){let c=new Te(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Ns](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[B]?.view===s,y&&n!==-1&&(y=h[B]?.index===n)):y=h.name===e,!!y){i!==null&&(h[ce]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[B],l={view:i,index:o,level:t-1});let u=new Te(e,!0,a);if(u[ce]=l,t==this[H].layers.length){let c=new $t;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const gn="fox-router-view",vn="fox-router-link";function er(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 tr(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 wn(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 sr(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 rr(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 bn(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 xn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function Rn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Sn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Pn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function Cn(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function En(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function $n(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function Fn(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ns(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 Ee(r,e){r.classList.contains(e)||r.classList.add(e)}function Pe(r,e){r.classList.remove(e)}const An=he&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function mt(r){An(r)}function A(r,e,t){x(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)zt(e,c.type,c.listener);l=[]};if(x(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),x(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",ut],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{at(e,h,f),l.push({type:h,listener:f})})}if(x(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};at(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!he||r===null?!1:r.opsType===E.Append||r.opsType===E.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Ee(t,o);const a=tr(s,e);a&&Ee(t,a);const l=xn(s,e);A(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){x(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=wn(s,e),f=Rn(s,e),h=Sn(s,e),y=Pn(s,e);if(!l&&!u&&!c&&!f){x(a)&&a(r,a,[t]);return}mt(()=>{nr(r,t,i,o,n,()=>{u&&Pe(t,u),c&&Pe(t,c),x(h)&&A(r,h,[t,e,i,o]),x(a)&&a(r,a,[t])},()=>{x(y)&&A(r,y,[t,e,i,o])}),l&&Pe(t,l),c&&Ee(t,c),x(f)&&A(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Ee(t,o);const a=rr(s,e);a&&Ee(t,a);const l=Cn(s,e);A(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=bn(s,e),h=En(s,e),y=$n(s,e),d=Fn(s,e);if(!u&&!c&&!f&&!h){x(l)&&A(r,l,[t]),!e&&x(i)&&i();return}mt(()=>{nr(r,t,o,a,n,()=>{c&&Pe(t,c),f&&Pe(t,f),x(y)&&A(r,y,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()},()=>{x(d)&&A(r,d,[t,e,o,a]),x(l)&&A(r,l,[t]),!e&&x(i)&&i()}),u&&Pe(t,u),f&&Ee(t,f),x(h)&&A(r,h,[t,e,o,a])})}function Jt(r,e,t={},s,n=-1){const i=t.mode??"default",o=ns(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>Jt(r,e,t,s,n)}}function ur(r){return r.el}function Tn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ns(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{x(o)&&A(r,o,[u])})}else x(o)&&A(r,o,[])}function Kn(r,e={}){mt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{Je(Ds,{},a)},enter:a=>{Je(Hs,{},a)},leave:(a,l)=>{Je(Us,{},a),mt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(zt(a,ut,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};at(a,ut,u),Je(Bs,{},a)})},clone:a=>cr(r,e,t,s,n)}}function re(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function Nt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function be(r,e){return typeof e=="function"?e(r):r}class jn{node;state;constructor(e,t){this.node=e,this.state=t}}const Wt=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 s=r.multi===!0,n=g.inject(dt,null),i=g.inject(St,0),o=g.inject(ms,null),a=g.inject(Pt,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(St,i+1),g.provide(Pt,u.index),g.provide(Ct,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=ct(t.proxy,!0);Hr(h),ps(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(gs,null),y=g.inject(Ct,0);if(l=n[Ns](f,i,o,a,h,y),l===null)return;g.provide(gs,l);const d=l[V]===!0;if(d&&g.provide(ms,l),!s&&(g.provide(Pt,-1),g.provide(St,i+1),g.provide(Ct,-1),d)){const p=ct(t.proxy,!0);ps(p,()=>{const m=l.slots.value;return m.length>0?m[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let w=0;w<y.length;w++){const v=y[w],_=`${r.name}_${v.index}`,ee=re(r.transition,v.route,w)??!0,Q={modelSlot:v};let pe;e.slots.default?pe=g.h(Wt,Q,{default:e.slots.default}):pe=g.h(Wt,Q);const K={},j=re(r.viewClass,v.route,w);typeof j=="string"&&j.length>0&&(K[j]=!0);const oe=re(r.viewActiveClass,v.route,w),Y=re(r.viewInactiveClass,v.route,w),L=c.value.get(_);if(typeof oe=="string"&&oe.length>0&&(K[oe]=v.active),typeof Y=="string"&&Y.length>0&&(K[Y]=!v.active),L&&v.active!==L.state){const M=L.node;v.active?d.unshift(()=>{const vt=()=>{let $e=ys(M);$e!=null&&ds($e,Vt.ACTIVATED)};Tn(t,M,r,v.route,w,ee,vt)}):d.push(()=>{const vt=()=>{const $e=ys(M);$e!=null&&ds($e,Vt.DEACTIVATED)};_n(t,M,r,v.route,w,ee,vt)})}const W={class:K,key:_},U=re(r.viewTagProps,v.route,w);if(U!==null&&typeof U=="object"){const M=be(U,n?.propsFilter);F(!0,W,M)}if(v.route?.viewTagAttrs&&typeof v.route?.viewTagAttrs=="object"){const M=be(v.route.viewTagAttrs,n?.propsFilter);F(!0,W,M)}const Z=re(r.viewTag,v.route,w),me=g.h(Z,W,{default:()=>[pe]});if(f.set(_,new jn(me,v.active)),c.value.delete(_),ee===!0){const M=Jt(t,me,r,v.route,w);me.transition=M}else if(ee==="custom"){const M=cr(t,me,r,v.route,w);me.transition=M}h.push(me)}c.value=f,Kn(d,t);const p=re(r.tag,null,-1),m={};return Object.assign(m,e.attrs),g.h(p,m,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=be(f.props,n?.propsFilter);F(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=be(u.route.params,n?.propsFilter);F(!1,h,d)}}const y=g.h(f.component,h);return Nt(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&ts(t.proxy))??null,d=h.model,p={};if(d.props){if(typeof d.props=="object"){const v=be(d.props,n?.propsFilter);F(!1,p,v)}else if(d.props===!0&&typeof y?.params=="object"){const v=be(y.params,n?.propsFilter);F(!1,p,v)}}const m=g.h(d.component,p);if(re(r.transition,y,-1)??!0){const v=Jt(t,m,r,y,-1);m.transition=v}return Nt(e.slots.default,{Component:m,route:y})??m}else return Nt(e.slots.fallback,{})}}}});function qn(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 Ln(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function kn(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function xe(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let On=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(dt,null);return()=>{let s=xe(r.to,null),n=xe(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[O](s),r.root&&(i.root=r.root),o=t.current);let a={},l=xe(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=kn(i,o)),xe(r.exact,i)===!0){let h=xe(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=Ln(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),F(!0,c,e.attrs);let f=xe(r.event,i);if(typeof f=="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}qn(y)&&t.to(i)};c[f]=h}return g.h(n,c,e.slots)}}});var q=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(q||{}),lt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(lt||{});class Mn{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 Ts{moduleManager=new Mn;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 Ve().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:q.Defined};typeof t=="function"?(s.exports=t,s.type=lt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new In(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new He;for(let l=0;l<t.length;l++){const u=new Nn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;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 s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)&&o.exports){o.type===lt.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=Ve(),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{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{fr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==q.Defined||o.status==q.Loaded)){if(o.exports){o.type===lt.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:q.Loading},this.moduleManager.set(i,o);const l=Ve().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==q.Loading&&(o.status=q.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=$();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Ve(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=q.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=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.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,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=q.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=q.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 s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${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 s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+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 s=0;s<t.length;s++){const n=t[s];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`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${$().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`${wt()}${e}`}}function fr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():fr(r,e)},20)}class In{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,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),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 Nn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Dn(r={}){const e=new mn(r),t=new Ut,s=new Bt,n=new Ts,i={get router(){return e},get bus(){return t},get Bus(){return Ut},get EventProxy(){return Bt},get eventproxy(){return s},get EventChain(){return He},get Require(){return Ts},get require(){return n},get extend(){return F},get clone(){return yt},get isESModule(){return Gt},install(o){o.provide(dt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(gn,Wt),o.component(vn,On),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 s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return ts(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(dt)}function Hn(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?ts(r):null}function Un(r){return r?r.$fox:g.inject(is)}function Bn(r){return r?r.$bus:g.inject(os)}function Vn(r){return r?r.$eventProxy:g.inject(ls)}function Jn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}exports.Bus=Ut;exports.EventChain=He;exports.EventProxy=Bt;exports.FoxBeforeEnter=Ds;exports.FoxBeforeLeave=Us;exports.FoxEnter=Hs;exports.FoxLeave=Bs;exports.FoxLeaveEnd=ut;exports.OperationType=E;exports.Route=S;exports.clone=yt;exports.createFox=Dn;exports.createMemoryHistory=Zs;exports.createWebHashHistory=Ys;exports.createWebHistory=hn;exports.deleteContextValue=Dr;exports.extend=F;exports.foxBusKey=os;exports.foxEventProxyKey=ls;exports.foxKey=is;exports.injectContextValue=es;exports.isArray=yr;exports.isDate=mr;exports.isESModule=Gt;exports.isEqual=Ht;exports.isFunction=x;exports.isMap=dr;exports.isNil=Ue;exports.isObject=_s;exports.isPlainObject=Ks;exports.isPromise=wr;exports.isSet=pr;exports.isString=gr;exports.isSymbol=vr;exports.onAfterRouteUpdate=Wn;exports.onBeforeRouteUpdate=Jn;exports.onFoxActivated=Jr;exports.onFoxInactivated=Wr;exports.provideContextValue=Nr;exports.rawState=qr;exports.reactiveState=_r;exports.sessionKey=ne;exports.shallowReactiveState=Kr;exports.toBoolean=Xt;exports.toNumber=Sr;exports.toTypeString=ht;exports.typeOf=Dt;exports.useBus=Bn;exports.useEventProxy=Vn;exports.useFox=Un;exports.useRoute=Hn;exports.useRouter=as;
@@ -445,7 +445,7 @@ export declare interface Fox {
445
445
  * 安装
446
446
  * @param app
447
447
  */
448
- install(app: App): void;
448
+ install(app: App<Element>): void;
449
449
  }
450
450
 
451
451
  /**
@@ -473,8 +473,7 @@ export declare const FoxEnter = "FoxEnter";
473
473
  */
474
474
  export declare const foxEventProxyKey: FoxInjectionKey<EventProxy>;
475
475
 
476
- declare interface FoxInjectionKey<T> extends InjectionKey<T> {
477
- }
476
+ declare type FoxInjectionKey<T> = InjectionKey<T>;
478
477
 
479
478
  /**
480
479
  * 全局Fox
@@ -831,14 +830,18 @@ declare const parentNodeKey: unique symbol;
831
830
  declare const persistentModeKey: unique symbol;
832
831
 
833
832
  /**
834
- * 持久化策略
833
+ * 持久化参数
835
834
  */
836
- declare type PersistPolicy = 'memory' | 'session' | 'local' | 'custom';
835
+ declare type PersistOptions = {
836
+ name?: string;
837
+ persistPolicy?: PersistPolicy;
838
+ storage?: Storage_2;
839
+ };
837
840
 
838
841
  /**
839
842
  * 持久化策略
840
843
  */
841
- declare type PersistPolicy_2 = 'memory' | 'session' | 'local' | 'custom';
844
+ declare type PersistPolicy = 'memory' | 'session' | 'local' | 'custom';
842
845
 
843
846
  /**
844
847
  * 属性函数
@@ -872,7 +875,7 @@ declare type Proxy_2 = ComponentPublicInstance | null;
872
875
  * @param options
873
876
  * @returns
874
877
  */
875
- export declare function rawState<T extends Record<string, any>>(state: T, options?: StateOptions): T;
878
+ export declare function rawState<T extends Record<string, any>>(state: T, options?: StatePersistOptions): T;
876
879
 
877
880
  /**
878
881
  * reactive state
@@ -880,7 +883,7 @@ export declare function rawState<T extends Record<string, any>>(state: T, option
880
883
  * @param options
881
884
  * @returns
882
885
  */
883
- export declare function reactiveState<T extends Record<string, any>>(state: T, options?: StateOptions): T;
886
+ export declare function reactiveState<T extends Record<string, any>>(state: T, options?: StatePersistOptions): T;
884
887
 
885
888
  declare const readyHandlersKey: unique symbol;
886
889
 
@@ -1785,7 +1788,7 @@ export declare const sessionKey: unique symbol;
1785
1788
  * @param options
1786
1789
  * @returns
1787
1790
  */
1788
- export declare function shallowReactiveState<T extends Record<string, any>>(state: T, options?: StateOptions): T;
1791
+ export declare function shallowReactiveState<T extends Record<string, any>>(state: T, options?: StatePersistOptions): T;
1789
1792
 
1790
1793
  /**
1791
1794
  * 插槽
@@ -1821,14 +1824,19 @@ declare const _start: unique symbol;
1821
1824
  /**
1822
1825
  * state参数
1823
1826
  */
1824
- export declare type StateOptions = {
1827
+ export declare type StatePersistOptions = {
1825
1828
  name?: string;
1826
- persistPolicy?: PersistPolicy_2;
1829
+ persistPolicy?: StatePersistPolicy;
1827
1830
  storage?: Storage;
1828
1831
  debounce?: boolean;
1829
1832
  debounceDelay?: number;
1830
1833
  };
1831
1834
 
1835
+ /**
1836
+ * 持久化策略
1837
+ */
1838
+ declare type StatePersistPolicy = 'memory' | 'session' | 'local' | 'custom';
1839
+
1832
1840
  declare const statusKey: unique symbol;
1833
1841
 
1834
1842
  /**
@@ -1933,7 +1941,7 @@ declare class TreeImpl extends TreeNodeImpl implements Tree {
1933
1941
  /**
1934
1942
  * 默认构造函数
1935
1943
  */
1936
- constructor(options?: TreeOptions, defaultState?: Record<string, any>);
1944
+ constructor(options?: PersistOptions, defaultState?: Record<string, any>);
1937
1945
  /**
1938
1946
  * 加入数据
1939
1947
  * @param args
@@ -2005,15 +2013,6 @@ declare class TreeNodeImpl implements TreeNode {
2005
2013
  constructor(id: string);
2006
2014
  }
2007
2015
 
2008
- /**
2009
- * Tree参数
2010
- */
2011
- declare type TreeOptions = {
2012
- name?: string;
2013
- persistPolicy?: PersistPolicy;
2014
- storage?: Storage_2;
2015
- };
2016
-
2017
2016
  /**
2018
2017
  * 判断类型
2019
2018
  * @param obj
package/libs/index.esm.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { ref as cr, shallowReactive as fr, reactive as hr, effectScope as yr, watch as dr, toRaw as Dt, getCurrentInstance as Jt, onUnmounted as ht, shallowRef as pr, defineComponent as Fs, inject as B, provide as te, h as fe } from "vue";
2
2
  /*!
3
- * fox v3.1.0 Tue Oct 08 2024 15:04:13 GMT+0800 (中国标准时间)
3
+ * fox v3.1.0 Fri Oct 18 2024 19:32:13 GMT+0800 (中国标准时间)
4
4
  */
5
5
  const de = typeof window < "u", $ = function() {
6
6
  return window;
@@ -272,7 +272,6 @@ let $r = class {
272
272
  state = {};
273
273
  /**
274
274
  * 构造函数
275
- * @param tree
276
275
  * @param options
277
276
  * @param defaultValue
278
277
  */
@@ -293,7 +292,7 @@ let $r = class {
293
292
  * @returns
294
293
  */
295
294
  getStorage() {
296
- if (!this.persistPolicy)
295
+ if (!this.persistPolicy || this.persistPolicy === "memory")
297
296
  return null;
298
297
  let e = null;
299
298
  if (this.persistPolicy === "custom")
@@ -572,7 +571,7 @@ class Os {
572
571
  * @returns
573
572
  */
574
573
  getStorage() {
575
- if (!this.persistPolicy)
574
+ if (!this.persistPolicy || this.persistPolicy === "memory")
576
575
  return null;
577
576
  let e = null;
578
577
  if (this.persistPolicy === "custom")
package/libs/index.umd.js CHANGED
@@ -1,3 +1,3 @@
1
1
  (function(p,g){typeof exports=="object"&&typeof module<"u"?g(exports,require("vue")):typeof define=="function"&&define.amd?define(["exports","vue"],g):(p=typeof globalThis<"u"?globalThis:p||self,g(p.Fox={},p.Vue))})(this,function(p,g){"use strict";/*!
2
- * fox v3.1.0 Tue Oct 08 2024 15:04:13 GMT+0800 (中国标准时间)
3
- */const le=typeof window<"u",E=function(){return window},Je=function(){return window.document};function yr(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 wt(){if(!le)return"/";let r=E().location,e=`${r.protocol}//${r.host}`;return e+=yr(r.pathname),e}function We(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function bt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const ze=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},dr=Array.isArray,mr=r=>Ge(r)==="[object Map]",pr=r=>Ge(r)==="[object Set]",gr=r=>r instanceof Date,S=r=>typeof r=="function",vr=r=>typeof r=="string",wr=r=>typeof r=="symbol",cs=r=>r!==null&&typeof r=="object",br=r=>cs(r)&&S(r.then)&&S(r.catch),Fe=r=>r==null,Rr=Object.prototype.toString,Ge=r=>Rr.call(r),fs=r=>Ge(r)==="[object Object]",Sr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Rt(r){return r.__esModule||Sr&&r[Symbol.toStringTag]==="Module"}const xr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function $(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[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]=$(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function Xe(r,e,t=!1){if(!t)$(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!fs(i))continue;n=Xe(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class te{static seed=new Date().getTime();static get(){let e=++te.seed;return e>=Number.MAX_VALUE&&(te.seed=0),e}}const St=xr?Promise.resolve():null;function Ae(r,...e){St!==null?e&&e.length>0?St.then(()=>{r(e)}):St.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Pr(r){return typeof r=="number"?r:Number(r)}const Cr={"[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 Pt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Cr[t]||"object"}function Ct(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Pt(r),s=Pt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ct(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ct(i,o))return!1}return!0}return!1}const hs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=hs(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Er=/^Symbol\((.*)\)$/,ys=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=ys(s));const n=Er.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function ds(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const ms=Symbol("idKey"),ae=Symbol("valueKey"),x=Symbol("childrenKey"),B=Symbol("growKey");class ps{[B]=!0;[ms];[ae]=g.ref();[x]=new Map;constructor(e){this[ms]=e}}class $r{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[B];let s=e[x].get(t);if(s)return Te(s);if(e[B])return s=$t(t),s[B]=e[B],e[x].set(t,s),Te(s)}set(e,t,s){return t=="value"?(e[ae].value=s,!0):t==="grow"?(e[B]=xt(s),!0):s==null?(e[x].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[x].delete(t),!0)}}const Et="__proxy__";function $t(r){const e=new ps(r);return Reflect.set(e,Et,new Proxy(e,new $r)),e}function Te(r){return Reflect.get(r,Et)}let Fr=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Fe(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}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(le){const t=E();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")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==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(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 gs extends ps{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new Fr(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[x].has(i)?o=s[x].get(i):(o=$t(i),s[x].set(i,o)),s=o}return s[ae].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[x].has(i))s=s[x].get(i);else return}return s[ae].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[x].has(o))s=s[x].get(o);else return!1}const n=e[t-1];return s[x].has(n)?(s[x].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[x].has(o))s=s[x].get(o);else return!1}const n=e[t-1];return s[x].has(n)}clear(){this[x].clear(),this._persistHandler.clear()}}const Ar=["put","get","contains","remove","clear","_persistHandler"];function vs(r){return Ar.includes(r)}class Tr{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[B];if(t===x)return e[x];if(typeof t=="string"&&vs(t))return e[t];const s=String(t);let n=e[x].get(s);if(n)return Te(n);if(e[B])return n=$t(s),n[B]=e[B],e[x].set(s,n),Te(n)}set(e,t,s){return t=="value"?(e[ae].value=s,!0):t==="grow"?(e[B]=xt(s),!0):vs(t)?!1:s==null?(e[x].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[x].delete(t),!0)}}function _r(r,e){const t=new gs(r,e),s=new Tr,n=new Proxy(t,s);return Reflect.set(t,Et,n),t}const Ft=new Proxy(gs,{construct(r,e){const t=e[0]??{},s=e[1],n=_r(t,s);return Te(n)}}),At=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class ws{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Fe(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy)return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(le){const t=E();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||At(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function bs(r,e,t){const s=new ws(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Fe(h)||(c[f]=h)}At(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=ds(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function Kr(r,e){return bs(!1,r,e)}function jr(r,e){return bs(!0,r,e)}function qr(r,e){const t=new ws(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Fe(f)||(u[c]=f)}At(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=ds(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function Lr(r,e){return qr(r,e)}const z="default",Rs=Symbol("sync"),k=Symbol("resolveRoute");function Ss(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function kr(r){let e=r.src;return new Promise((t,s)=>{const n=Ss(a=>{Rt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=Ss(a=>{console.debug("reject load async module"),s(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 Or{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class pe{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new pe(e.to,e.from),s=e.data??{};return $(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class P{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??z}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new P;return Xe(s,e,t),s}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 s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Mr{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=te.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return kr(this)}}class xs{models=[]}class Tt{path;match;redirect;name;layers=[]}var F=(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))(F||{});const Ps="FoxBeforeEnter",Cs="FoxEnter",Es="FoxLeave",$s="FoxLeave",Qe="FoxLeaveEnd",I=Symbol("chainKey"),O=Symbol("cursorKey"),_t=Symbol("$persistentModeKey"),A=Symbol("statusKey"),G=Symbol("argsKey"),Ye=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),_e=Symbol("errorFnsKey"),se=Symbol("sessionKey"),X=Symbol("_go");class Ke{[I]=[];[O]=0;[_t]=!1;[A]="Free";[G]=[];[Ye]=[];[ge]=[];[_e]=[];[se];get session(){return this[se]}constructor(e,t=!1){this[se]=e,this[_t]=t}[X](e,...t){let s=this[A];if(this[A]="Busy",this[O]+=e,this[O]<0&&(this[O]=0),this[G]=t,s==="Exception"||s==="Reject"){let a=[{session:this[se]},...this[Ye]];for(;this[_e].length>0;)try{let l=this[_e].shift();typeof l=="function"&&Ae(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[A]=s,this[I]=[],this[O]=0,this}else if(s==="Finished"||this[O]>=this[I].length){let a=[{session:this[se]},...this[G]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ae(()=>{Reflect.apply(l,{},a)})}return this[A]="Free",this}if(this[O]>=this[I].length)return this[A]="Free",this;let n=this[I][this[O]];this[_t]||(this[I].splice(0,this[O]+1),this[O]=-1);let i=this[O]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[X],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[X],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[se]};Ae(()=>{Reflect.apply(n,{},[a,...this[G]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[X],this,[e,...t])}finish(...e){return this[A]="Finished",this[G]=e,Reflect.apply(this[X],this,[0])}reject(...e){return this[A]="Reject",this[Ye]=e,Reflect.apply(this[X],this,[0])}throw(...e){return this[A]="Exception",this[Ye]=e,Reflect.apply(this[X],this,[0])}reset(...e){this[A]="Busy",this[G]=e,this[I]=[],this[O]=0;let s=[{session:this[se]},...this[G]];for(;this[ge].length>0;){let n=this[ge].shift();Ae(()=>{Reflect.apply(n,this,s)})}return this[A]="Free",this}post(e){return this[A]==="Reject"||this[A]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[A]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[_e].push(t),this[A]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this)}exception(e){return e&&typeof e=="function"&&this[_e].push(e),this[A]==="Busy"?this:Reflect.apply(this[X],this,[0,...this[G]])}isFinish(){return this[A]=="Reject"||this[A]=="Free"&&this[O]>=this[I].length}}const ve=Symbol("registerKey");class Ir{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Kt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Ir(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}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 s=e[t-1];if(typeof s!="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(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ae(()=>{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 je=Symbol("registerKey");class Nr{[je]=new Map;constructor(){}set(e,t){this[je].set(e,t)}get(e){return this[je].get(e)}has(e){return this[je].has(e)}delete(e){return this[je].delete(e)}}const ue=Symbol("lc");function Ze(r,e=!1){let t=r;if(Reflect.has(t,ue))return t[ue];if(e){const s=new Nr;return t[ue]=s,s}return null}function Fs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,ue)&&(t=s[ue],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=Ze(n.$parent,e))}return t}function jt(r,e){let t=r;for(;t;){if(Reflect.has(t,ue)){const s=t[ue];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Dr(r,e,t){Fs(r,!0)?.set(e,t)}function Hr(r,e){Fs(r,!0)?.delete(e)}function As(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 Ze(e.component.proxy,!1)}return null}const et=Symbol("hooksKey");function Ur(r){let e=r.get(et);e||(e=[],r.set(et,e))}function Ts(r,e){let t=r.get(et);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var qt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(qt||{});class Br{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Vr(r,e,t,s){let n=new Br(e,t,s);return r.push(n),!0}function Jr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function _s(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=jt(s,et);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Jr(n,r,e,s)}),Vr(n,r,e,s)}}const Wr=_s("a"),zr=_s("da"),Ks=Symbol("routeKey");function js(r,e){r.set(Ks,e)}function Lt(r){let e=jt(r,Ks);return typeof e=="function"?e():e??null}const tt=Symbol("rk"),kt=Symbol("vd"),qs=Symbol("rv"),Ot=Symbol("rvi"),Ls=Symbol("pv"),Mt=Symbol("pvi");var ce={};Object.defineProperty(ce,"__esModule",{value:!0}),ce.TokenData=void 0,ce.parse=st;var Gr=ce.compile=sn,Xr=ce.match=on;ce.pathToRegexp=un;const Qr="/",It=r=>r,Yr=/^\p{XID_Continue}$/u,qe="https://git.new/pathToRegexpError",Zr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function en(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Zr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Yr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new tn(t)}class tn{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${qe}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Le{constructor(e,t){this.tokens=e,this.delimiter=t}}ce.TokenData=Le;function st(r,e={}){const{encodePath:t=It,delimiter:s=t(Qr)}=e,n=[],i=en(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${qe}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${we(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),m=i.text(),v=i.tryConsume(";")&&i.text();i.consume("}");const b=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(m),pattern:d,modifier:b,separator:v});continue}i.consume("END");break}while(!0);return new Le(n,s)}function sn(r,e={}){const t=r instanceof Le?r:st(r,e);return nn(t,e)}function rn(r,e){if(typeof r=="string")return()=>r;const t=e||It,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function nn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=ks(e),a=Nt(s,r.delimiter),l=Ms(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=rn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const m=h(d);if(!y.test(m))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(m)}`);return m}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function on(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Le?r:st(r,e),i=Nt(s,n.delimiter),o=[],a=Os(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||It});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let m=1;m<f.length;m++){if(f[m]===void 0)continue;const v=o[m-1],b=l[m-1];d[v.name]=b(f[m])}return{path:h,index:y,params:d}}}function we(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function ln(r,e){const t=we(r);return e?`(?:${t})+(?!${t})`:t}function Nt(r,e){if(!r)return we;const t=new RegExp(`(?:(?!${we(e)}).)+|(.)`,"g");return s=>s.replace(t,ln)}function ks(r){return r.sensitive?"":"i"}function Os(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=ks(t),u=Nt(n,r.delimiter),c=Ms(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${we(r.delimiter)}|$)`,new RegExp(f,l)}function Ms(r,e,t,s,n){const i=`(?:(?!${we(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),m=e(f);if(l.name){const v=l.pattern?`(?:${l.pattern})`:i,b=an(v,l.name,s);if(a||(a=Dt(b,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${qe}`);if(a=!n||Dt(b,f),o="",t.push(l),y==="+"||y==="*"){const w=y==="*"?"?":"",j=e(h);if(!j)throw new TypeError(`Missing separator for "${l.name}": ${qe}`);if(a||(a=!n||Dt(b,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${qe}`);return a=!n,`(?:${d}(${v}(?:${j}${v})*)${m})${w}`}return`(?:${d}(${v})${m})${y}`}return`(?:${d}${m})${y}`})}function an(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Dt(r,e){return e?!r.test(e):!1}function un(r,e={}){const t=r instanceof Le?r:st(r,e),s=[],n=Os(t,s,e);return Object.assign(n,{keys:s})}var rt=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(rt||{});const V=Symbol("rootKey"),J=Symbol("rootNodeKey"),fe=Symbol("parentNodeKey"),nt=Symbol("nameKey");class re{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class ke{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[nt];[V];[J]=null;[fe]=null;get name(){return this[nt]}constructor(e,t,s){this[nt]=e,this[V]=t,s&&(this[J]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class Ht{views=[]}class cn{layers=[]}class fn{time;route}class hn{forbidTime=300;submitRecorder=new fn;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 be=Symbol("_notifyChange");class Is{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const he=Symbol("historyChangeConsumerKey"),Ns=Symbol("_navigateFirstRoute"),it=Symbol("_getRouteMark"),Ut=Symbol("_getUrlSearch"),Bt=Symbol("_generateLocation"),ot=Symbol("_setRouteMarkRecorder"),Oe=Symbol("beforeRestoreFiltersKey"),Ds=Symbol("_beforeRestore"),Hs="Symbol(_fox_restore_point)";function Me(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Us(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Bs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[he]=!1;[Oe]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??E().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=E();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[he]=="function"){const s=this[he]();if(this[he]=!1,s)return}else if(this[he]===!0){this[he]=!1;return}if(Me(this.historyMonitor)){const s=t.history.state;this[be](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[it]()??"/";this[ot](i,n)}}catch{}}}),We(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[Ns](),Promise.resolve()}destroy(){if(this.historyChange){const e=E();bt(e,"popstate",this.historyChange)}}[Ds](e,t,s,n){for(let i of this[Oe])try{const o=Reflect.apply(i,{},[e,t,s,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[Oe].push(e)}removeBeforeRestoreEach(e){const t=this[Oe].indexOf(e);return t!==-1?(this[Oe].splice(t,1),!0):!1}[Ns](){const e=this[it]()??"/",t=this.storage.getItem(Hs);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?ys(l.params):{},this[Ds](l,u,e,o.routes)));if(a.length>0){const l=this[Ut](),u=a.length-1;a[u].query=l||a[u].query,this[be](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new P;i.path=n,i.query=this[Ut](),this[be]([i])}[ot](e,t){try{t.forEach(i=>{i.params=i.params?hs(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(Hs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[it]()??"/";this[ot](t,e)}[be](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[it](){const e=E();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,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ut](){let t=E().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=E();this[he]=t,s.history.go(e)}goBack(e,t){const s=E(),n=s.history.state;if(Us(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=P.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Me(this.traceless,f))&&P.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=E().history.state;if(Us(f)&&f.length>0){let h=f.length;const y=f[h-1],d=P.from(y);if(P.isSame(d,e))return t(),!0;if(h>0){let m=!1;for(let v=h-1;v>=0;v--){const b=P.from(f[v]);if(!(b.traceless===!0||Me(this.traceless,b))&&P.isSame(b,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[ot](t,e.routes)}push(e){const t=this[Bt](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Me(this.traceless,e.currentRoute)&&E().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[Bt](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Me(this.traceless,e.currentRoute))&&E().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[Bt](e){const t=E();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(z)&&(i=i.substring(z.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function yn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=E().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Bs("path",e??"",t,r,s,n,i)}function Vs(r=!0,e="",t=!0,s=!1,n){return new Bs("hash","",e,r,t,s,n)}class dn{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}[be](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[be](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(P.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(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 Js(r="",e=50){return new dn(r,e)}function Gn(r){}const lt=Symbol("_constructRouteModel"),at=Symbol("_findRouteModel"),Vt=Symbol("_findRootView"),Ws=Symbol("_getFirstView"),ye=Symbol("_removeView"),zs=Symbol("_buildPage"),Gs=Symbol("_resolveComponent"),Xs=Symbol("_update"),ne=Symbol("_merge"),Jt=Symbol("_handleHistoryChange"),ut=Symbol("_handleRouteUpdated"),ct=Symbol("routeUpdatedCallback"),R=Symbol("currentRoutes"),ft=Symbol("routeSessionCacheKey"),Qs=Symbol("_addRouteRecorder"),Ie=Symbol("_removeRouteRecorder"),ht=Symbol("_cloneRouteRecorder"),_=Symbol("_handleError"),yt=Symbol("errorCallback"),D=Symbol("registerKey"),dt=Symbol("notFoundKey"),Wt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),C=Symbol("historyKey"),Ne=Symbol("beforeFiltersKey"),De=Symbol("afterFiltersKey"),He=Symbol("destroyFiltersKey"),zt=Symbol("propsFilterKey"),Re=Symbol("mainDispatcherKey"),Gt=Symbol("initKey"),de=Symbol("readyKey"),Xt=Symbol("readyHandlersKey"),mt=Symbol("_markReady"),Ys=Symbol("_createNextFn"),Qt=Symbol("_start"),Yt=Symbol("_before"),Zt=Symbol("_after"),Zs=Symbol("_destroy"),es=Symbol("_load"),Ue=Symbol("_unload"),Be=Symbol("routerGuardKey");function mn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=$(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class gn{[D]=new Array;[dt];[Wt]="*";[de]=!1;[Xt]=[];[H]=new cn;[C];[R]=new Array;[ft]=new WeakMap;[yt]=null;[ct]=null;[Ne]=new Array;[De]=new Array;[He]=new Array;[zt]=null;[Re]=new Ke;[Be]=new hn;[Gt]=!1;get current(){const e=this[R].length;return e>0?this[R][e-1]:null}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[C]=e.history:this[C]=le?Vs():Js(),this[C]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[k](s);i&&await this[Jt]([i])}else await this[Jt](s)}catch(i){console.error(i.message,i),n=!1}this[de]===!1&&this[mt](n)})}[_](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[yt]=="function")try{this[yt](e,t)}catch{}console.error(e)}init(){this[Gt]!==!0&&(this[C]?.init(!this[de]),this[Gt]=!0)}isReady(){return this[de]?Promise.resolve():new Promise((e,t)=>{this[Xt].push([e,t])})}[mt](e){this[de]=!0,this[Xt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[Jt](e){try{if(!e){let o=[...this[R]].reverse();return this[Ue](o),le&&E().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[R].length&&P.isSame(e[i],this[R][i]);i++)e[i].active===!0&&e[i].active!==this[R][i].active&&(t=e[i]);if(i<e.length&&(s=e.slice(i)),i<this[R].length&&(n=this[R].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Ue](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[_](t)}return Promise.resolve()}[ut](e=null){if(e||(e=this.current),typeof this[ct]=="function")try{this[ct](e)}catch{}}[Qs](e,t){if(e.opsType===F.Open){let s=!1;const n=this[R].length-1;for(let i=n;i>=0;i--){const o=this[R][i];if(e.root==o.root){if(e.path===o.path){this[R].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[R].push(e)}else this[R].push(e);this[ft].set(e,t)}[ht](){let e=[];for(let t of this[R]){let s=P.clone(t,!0);e.push(s)}return e}[Ie](e){if(!this[R])return;let t=-1;for(let s=0;s<this[R].length;s++)if(P.isSame(this[R][s],e)){t=s;break}if(t!=-1){let s=this[R][t];this[R].splice(t,1);const n=this[ft].get(s);this[ft].delete(s),this[Zs](s,n)}}set historyMonitor(e){this[C]&&(this[C].historyMonitor=e)}get historyMonitor(){return this[C]?this[C].historyMonitor:!1}set traceless(e){this[C]&&(this[C].traceless=e)}get traceless(){return this[C]?this[C].traceless:!1}set propsFilter(e){this[zt]=e}get propsFilter(){return this[zt]}setRestorePoint(){const e=this[ht]();this[C]?.setRestorePoint(e)}onRouteUpdated(e){this[ct]=e}onError(e){this[yt]=e}beforeEach(e){this[Ne].push(e)}removeBeforeEach(e){const t=this[Ne].indexOf(e);return t!==-1?(this[Ne].splice(t,1),!0):!1}afterEach(e){this[De].push(e)}removeAfterEach(e){const t=this[De].indexOf(e);return t!==-1?(this[De].splice(t,1),!0):!1}destroyEach(e){this[He].push(e)}removeDestroyEach(e){const t=this[He].indexOf(e);return t!==-1?(this[He].splice(t,1),!0):!1}beforeRestoreEach(e){this[C]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[C]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Wt]){this.setNotFoundRoute(e);return}const s=this[lt](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[k](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[k](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Wt]=e}setNotFoundRoute(e){const t=this[lt](e);this[dt]=t[0]}getRoutes(){return[...this[D]]}[lt](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new Tt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=z);let u=new Mr(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[lt](a);for(let u of l){let c=new Tt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new xs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new xs;a.models=n;const l=new Tt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[at](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Xr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new P;$(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[at](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??{},$(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}$(!0,t.params,u)}else typeof l=="object"&&$(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=Gr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[k](e){let t=null;if(Array.isArray(e))if(t=new P,typeof e[0]=="object")t=P.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&$(!1,t,e[s]);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 s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??z,t.opsType=t.opsType??this.options.defaultOperationType??F.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[k](e);return t?(t.opsType=F.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}put(...e){const t=this[k](e);return t?(t.opsType=F.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[_]("resolve route fail",t),this)}replace(...e){const t=this[k](e);return t?(t.opsType=F.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[_]("resolve route fail",t),this)}append(...e){const t=this[k](e);return t?(t.opsType=F.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[Re].post(n=>{try{if(this[R].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[R][0].root??z,e.all)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];c.opsType===F.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];if(c.opsType===F.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];if(c.opsType===F.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=z;let u=this[Ws](this[H]);u&&(o=u.name);for(let c=this[R].length-1;c>0;c--){let f=this[R][c];if(f.opsType===F.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[R][i]),this[Ue](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[R].length;if(l&&P.isSame(l,this[R][c-1])){this[C]?.goBack(l,u);return}u()}}catch(i){this[_](i),n.resolve(),s(!1)}})})}open(...e){let t=this[k](e);return t?(t.opsType=F.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}close(e){return this[Re].post(t=>{try{let s=this[k](e);if(!s){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[R].length;i++){let o=this[R][i];if(o.root===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Ue](n)&&this[ut](),t.resolve()}catch(s){this[_](s),t.resolve()}}),this}to(...e){let t=this[k](e);if(!t)return this[_]("resolve route fail",t),this;let s=this[Be].acquire(t);return s==null?(this[_]("route forbid",t),this):(this[Re].post(n=>{try{let i=this[Qt](t);this[Yt](i),this[es](i),this[Zt](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 c=new Is(u,this[ht]());l.historyUpdatePolicy==="replace"?this[C]?.replace(c):l.historyUpdatePolicy==="traceless"?this[C]?.setRouteMark(c):this[C]?.push(c)}catch(u){console.error(u.message,u)}if(pe.clear(o.session),this[Be].release(s),this[ut](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[de]===!1&&this[mt](!0),i=null,n.resolve()},(o,a)=>{this[Be].release(s),a!==null&&this[_](a,t),this[de]===!1&&this[mt](!1),pe.clear(o.session),i=null,n.resolve()})}catch(i){this[Be].release(s),this[_](i,t),n.resolve()}}),this)}back(e=1){this[C]?.go(-e,!1)}[Ys](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[k](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()}}[Qt](e){const t=this[R].length>0?this[R][this[R].length-1]:void 0,s=new pe(e,t),n={route:e,find:null};return this[at](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new Ke(s)}[Yt](e){for(let t of this[Ne])e.post(s=>{const n=this[Ys](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Zt](e){e.post(t=>{for(let s of this[De])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[Zs](e,t){for(let s of this[He])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[es](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[at](o))n=o.find,t.session.routeModel=n;else if(this[dt])n=this[dt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=pe.from(t.session);this[zs](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Ue](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Vt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[_]("can not find view index"),!1;for(let n of s.reverse())this[ye](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Vt](e,t){const s=t.root??z;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[V]&&l[nt]===s)return n={x:a,y:i},n}}return null}[Ws](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ye](e,t,s=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 f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[Ie](h.route),h.active===!0&&h.route.opsType==F.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[fe]&&(o||N.include(a,d[fe]))){let m=d.slots.value;for(let v=m.length-1;v>=0;v--){let b=m[v];b.route&&d[V]&&this[Ie](b.route),h.push(new N(d,b.index,c)),m.splice(v,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[R]=[],this[ut](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[Re].post(u=>{const c=this[Qt](l);this[Yt](c),this[es](c),this[Zt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[_](h),u.resolve()})})}this[Re].post(a=>{if(i&&o===!0){const l=P.clone(i,!0),u=new Is(l,this[ht]());this[C]?.replace(u)}a.resolve(),s()})})}[zs](e,t,s){const n=e.updateType??rt.Part;return this[Gs](t).then(()=>{const o=this[Xs](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Gs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];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()}[Xs](e,t,s,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[H],a=mn(o),l=t.root??z,u;!a&&n==rt.Part&&(u=this[Vt](o,t));let c,f=0;if(u==null||u==null)if(a||n===rt.All){if(o.layers.length==0&&(o.layers[0]=new Ht),o.layers[0].views.length==0){let h=t.root??z;c=new ke(h,!0,null),o.layers[0].views=[c]}else c=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 v of m.views){if(v[V]&&v.name===h.rootName){d=new N(v,h.rootIndex??0,y-1);break}if(v[J]&&v[J].view.name===h.rootName&&v[J].index===h.rootIndex){d=v[J];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new ke(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===F.Append){t.index=t.index??te.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let b=h[h.length-1];b.active=!1,b.route&&(b.route.active=b.active)}let y=new re(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,m=1,v=new N(c,t.index,f);this[ne](o,d,e,m,v)}else if(t.opsType===F.Open){let h=c.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??te.get(),t.active=y;let m=new re(t,i,t.index,y);h.push(m);let v=f+1,b=1,w=new N(c,t.index,f);this[ne](o,v,e,b,w)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??te.get(),t.active=!0,c.slots.value=[new re(t,i,t.index)];let y=f+1,d=1,m=new N(c,t.index,f);this[ne](o,y,e,d,m)}else{let y=h[0];if(y.model!==i){this[ye](o,u,null,!0),t.index=t.index??te.get(),t.active=!0,c.slots.value=[new re(t,i,t.index)];let d=f+1,m=1,v=new N(c,t.index,f);this[ne](o,d,e,m,v)}else{y.route!==null&&this[Ie](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 v=[];for(let Y=1;Y<h.length;Y++)v.push(h[Y].index);v.length>0?this[ye](o,u,v,!0):d&&(c.slots.value=[...h]);let b=[new N(c,t.index,f)],w=f+1,j=1,oe=new N(c,t.index,f);for(;b.length>0&&w<o.layers.length&&j<e.layers.length;w++,j++){let Y=[];for(let q=0;q<o.layers[w].views.length;q++){let L=o.layers[w].views[q];L[fe]&&N.include(b,L[fe])&&Y.unshift(q)}let Ee=[];for(let q of Y){let L=o.layers[w].views[q],me=e.layers[j].models,Z;for(let M=0;M<me.length;M++)if(L.name===me[M].name){Z=me[M];break}if(!Z)this[ye](o,{x:q,y:w},null,!1);else{let M=L.slots.value;if(M.length==0){let Q=0;L.slots.value=[new re(null,Z,Q)];let W=w+1,ee=j+1;this[ne](o,W,e,ee,oe)}else{let Q=M[0];if(Q.model!==Z){this[ye](o,{x:q,y:w},null,!0),L.slots.value=[new re(null,Z,0)];let W=w+1,ee=j+1;this[ne](o,W,e,ee,oe)}else{L[V]&&Q.route!==null&&this[Ie](Q.route);let W=[];for(let ee=1;ee<M.length;ee++)W.push(M[ee].index);W.length>0&&this[ye](o,{x:q,y:w},W,!0),Ee.push(new N(L,Q.index,w))}}L[V]=!1}}b=Ee}this[ne](o,w,e,j,oe)}}}if(c&&c[J]){let h=c[J];h&&(t.slot=new Or(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[Qs](t,s),{status:"success",message:""}}[ne](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),f=new re(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new Ht;l.views=[];for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),f=new re(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Rs](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[J]?.view===s,y&&n!==-1&&(y=h[J]?.index===n)):y=h.name===e,!!y){i!==null&&(h[fe]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[J],l={view:i,index:o,level:t-1});let u=new ke(e,!0,a);if(u[fe]=l,t==this[H].layers.length){let c=new Ht;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const vn="fox-router-view",wn="fox-router-link";function er(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 tr(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 bn(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 sr(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 rr(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 Rn(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 Sn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function xn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Pn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Cn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function En(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function $n(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function Fn(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function An(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ts(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 Se(r,e){r.classList.contains(e)||r.classList.add(e)}function xe(r,e){r.classList.remove(e)}const Tn=le&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function pt(r){Tn(r)}function T(r,e,t){S(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)bt(e,c.type,c.listener);l=[]};if(S(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),S(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",Qe],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{We(e,h,f),l.push({type:h,listener:f})})}if(S(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};We(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!le||r===null?!1:r.opsType===F.Append||r.opsType===F.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Se(t,o);const a=tr(s,e);a&&Se(t,a);const l=Sn(s,e);T(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){S(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=bn(s,e),f=xn(s,e),h=Pn(s,e),y=Cn(s,e);if(!l&&!u&&!c&&!f){S(a)&&a(r,a,[t]);return}pt(()=>{nr(r,t,i,o,n,()=>{u&&xe(t,u),c&&xe(t,c),S(h)&&T(r,h,[t,e,i,o]),S(a)&&a(r,a,[t])},()=>{S(y)&&T(r,y,[t,e,i,o])}),l&&xe(t,l),c&&Se(t,c),S(f)&&T(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Se(t,o);const a=rr(s,e);a&&Se(t,a);const l=En(s,e);T(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){S(l)&&T(r,l,[t]),!e&&S(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=Rn(s,e),h=$n(s,e),y=Fn(s,e),d=An(s,e);if(!u&&!c&&!f&&!h){S(l)&&T(r,l,[t]),!e&&S(i)&&i();return}pt(()=>{nr(r,t,o,a,n,()=>{c&&xe(t,c),f&&xe(t,f),S(y)&&T(r,y,[t,e,o,a]),S(l)&&T(r,l,[t]),!e&&S(i)&&i()},()=>{S(d)&&T(r,d,[t,e,o,a]),S(l)&&T(r,l,[t]),!e&&S(i)&&i()}),u&&xe(t,u),f&&Se(t,f),S(h)&&T(r,h,[t,e,o,a])})}function ss(r,e,t={},s,n=-1){const i=t.mode??"default",o=ts(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>ss(r,e,t,s,n)}}function ur(r){return r.el}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ts(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{S(o)&&T(r,o,[u])})}else S(o)&&T(r,o,[])}function Kn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ts(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{S(o)&&T(r,o,[u])})}else S(o)&&T(r,o,[])}function jn(r,e={}){pt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{ze(Ps,{},a)},enter:a=>{ze(Cs,{},a)},leave:(a,l)=>{ze(Es,{},a),pt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(bt(a,Qe,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};We(a,Qe,u),ze($s,{},a)})},clone:a=>cr(r,e,t,s,n)}}function ie(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function rs(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function Pe(r,e){return typeof e=="function"?e(r):r}class qn{node;state;constructor(e,t){this.node=e,this.state=t}}const ns=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 s=r.multi===!0,n=g.inject(tt,null),i=g.inject(kt,0),o=g.inject(qs,null),a=g.inject(Ot,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(kt,i+1),g.provide(Ot,u.index),g.provide(Mt,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=Ze(t.proxy,!0);Ur(h),js(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(Ls,null),y=g.inject(Mt,0);if(l=n[Rs](f,i,o,a,h,y),l===null)return;g.provide(Ls,l);const d=l[V]===!0;if(d&&g.provide(qs,l),!s&&(g.provide(Ot,-1),g.provide(kt,i+1),g.provide(Mt,-1),d)){const m=Ze(t.proxy,!0);js(m,()=>{const v=l.slots.value;return v.length>0?v[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let b=0;b<y.length;b++){const w=y[b],j=`${r.name}_${w.index}`,oe=ie(r.transition,w.route,b)??!0,Y={modelSlot:w};let Ee;e.slots.default?Ee=g.h(ns,Y,{default:e.slots.default}):Ee=g.h(ns,Y);const q={},L=ie(r.viewClass,w.route,b);typeof L=="string"&&L.length>0&&(q[L]=!0);const me=ie(r.viewActiveClass,w.route,b),Z=ie(r.viewInactiveClass,w.route,b),M=c.value.get(j);if(typeof me=="string"&&me.length>0&&(q[me]=w.active),typeof Z=="string"&&Z.length>0&&(q[Z]=!w.active),M&&w.active!==M.state){const U=M.node;w.active?d.unshift(()=>{const us=()=>{let Ve=As(U);Ve!=null&&Ts(Ve,qt.ACTIVATED)};_n(t,U,r,w.route,b,oe,us)}):d.push(()=>{const us=()=>{const Ve=As(U);Ve!=null&&Ts(Ve,qt.DEACTIVATED)};Kn(t,U,r,w.route,b,oe,us)})}const Q={class:q,key:j},W=ie(r.viewTagProps,w.route,b);if(W!==null&&typeof W=="object"){const U=Pe(W,n?.propsFilter);$(!0,Q,U)}if(w.route?.viewTagAttrs&&typeof w.route?.viewTagAttrs=="object"){const U=Pe(w.route.viewTagAttrs,n?.propsFilter);$(!0,Q,U)}const ee=ie(r.viewTag,w.route,b),$e=g.h(ee,Q,{default:()=>[Ee]});if(f.set(j,new qn($e,w.active)),c.value.delete(j),oe===!0){const U=ss(t,$e,r,w.route,b);$e.transition=U}else if(oe==="custom"){const U=cr(t,$e,r,w.route,b);$e.transition=U}h.push($e)}c.value=f,jn(d,t);const m=ie(r.tag,null,-1),v={};return Object.assign(v,e.attrs),g.h(m,v,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=Pe(f.props,n?.propsFilter);$(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=Pe(u.route.params,n?.propsFilter);$(!1,h,d)}}const y=g.h(f.component,h);return rs(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&Lt(t.proxy))??null,d=h.model,m={};if(d.props){if(typeof d.props=="object"){const w=Pe(d.props,n?.propsFilter);$(!1,m,w)}else if(d.props===!0&&typeof y?.params=="object"){const w=Pe(y.params,n?.propsFilter);$(!1,m,w)}}const v=g.h(d.component,m);if(ie(r.transition,y,-1)??!0){const w=ss(t,v,r,y,-1);v.transition=w}return rs(e.slots.default,{Component:v,route:y})??v}else return rs(e.slots.fallback,{})}}}});function Ln(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 kn(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function On(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function Ce(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let Mn=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(tt,null);return()=>{let s=Ce(r.to,null),n=Ce(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[k](s),r.root&&(i.root=r.root),o=t.current);let a={},l=Ce(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=On(i,o)),Ce(r.exact,i)===!0){let h=Ce(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=kn(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),$(!0,c,e.attrs);let f=Ce(r.event,i);if(typeof f=="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)};c[f]=h}return g.h(n,c,e.slots)}}});var K=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(K||{}),vt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(vt||{});class In{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 fr{moduleManager=new In;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 Je().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:K.Defined};typeof t=="function"?(s.exports=t,s.type=vt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new Nn(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new Ke;for(let l=0;l<t.length;l++){const u=new Dn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;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 s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==K.Defined||o.status==K.Loaded)&&o.exports){o.type===vt.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=Je(),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{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{hr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==K.Defined||o.status==K.Loaded)){if(o.exports){o.type===vt.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:K.Loading},this.moduleManager.set(i,o);const l=Je().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===K.Loading&&(o.status=K.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==K.Loading&&(o.status=K.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=E();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Je(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=K.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=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.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,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=K.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=K.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 s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${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 s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+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 s=0;s<t.length;s++){const n=t[s];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`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${E().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`${wt()}${e}`}}function hr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():hr(r,e)},20)}class Nn{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,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),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 Dn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Hn(r={}){const e=new gn(r),t=new Ft,s=new Kt,n=new fr,i={get router(){return e},get bus(){return t},get Bus(){return Ft},get EventProxy(){return Kt},get eventproxy(){return s},get EventChain(){return Ke},get Require(){return fr},get require(){return n},get extend(){return $},get clone(){return Xe},get isESModule(){return Rt},install(o){o.provide(tt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(vn,ns),o.component(wn,Mn),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 s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return Lt(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(tt)}function Un(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?Lt(r):null}function Bn(r){return r?r.$fox:g.inject(is)}function Vn(r){return r?r.$bus:g.inject(os)}function Jn(r){return r?r.$eventProxy:g.inject(ls)}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function zn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}p.Bus=Ft,p.EventChain=Ke,p.EventProxy=Kt,p.FoxBeforeEnter=Ps,p.FoxBeforeLeave=Es,p.FoxEnter=Cs,p.FoxLeave=$s,p.FoxLeaveEnd=Qe,p.OperationType=F,p.Route=P,p.clone=Xe,p.createFox=Hn,p.createMemoryHistory=Js,p.createWebHashHistory=Vs,p.createWebHistory=yn,p.deleteContextValue=Hr,p.extend=$,p.foxBusKey=os,p.foxEventProxyKey=ls,p.foxKey=is,p.injectContextValue=jt,p.isArray=dr,p.isDate=gr,p.isESModule=Rt,p.isEqual=Ct,p.isFunction=S,p.isMap=mr,p.isNil=Fe,p.isObject=cs,p.isPlainObject=fs,p.isPromise=br,p.isSet=pr,p.isString=vr,p.isSymbol=wr,p.onAfterRouteUpdate=zn,p.onBeforeRouteUpdate=Wn,p.onFoxActivated=Wr,p.onFoxInactivated=zr,p.provideContextValue=Dr,p.rawState=Lr,p.reactiveState=Kr,p.sessionKey=se,p.shallowReactiveState=jr,p.toBoolean=xt,p.toNumber=Pr,p.toTypeString=Ge,p.typeOf=Pt,p.useBus=Vn,p.useEventProxy=Jn,p.useFox=Bn,p.useRoute=Un,p.useRouter=as,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
2
+ * fox v3.1.0 Fri Oct 18 2024 19:32:13 GMT+0800 (中国标准时间)
3
+ */const le=typeof window<"u",E=function(){return window},Je=function(){return window.document};function yr(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 wt(){if(!le)return"/";let r=E().location,e=`${r.protocol}//${r.host}`;return e+=yr(r.pathname),e}function We(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function bt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const ze=(r,e,t)=>{e=e??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in e)a==="bubbles"?n=!!e[a]:a==="cancelable"?i=!!e[a]:s[a]=e[a];s.initEvent(r,n,i),(t??document).dispatchEvent(s)},dr=Array.isArray,mr=r=>Ge(r)==="[object Map]",pr=r=>Ge(r)==="[object Set]",gr=r=>r instanceof Date,S=r=>typeof r=="function",vr=r=>typeof r=="string",wr=r=>typeof r=="symbol",cs=r=>r!==null&&typeof r=="object",br=r=>cs(r)&&S(r.then)&&S(r.catch),Fe=r=>r==null,Rr=Object.prototype.toString,Ge=r=>Rr.call(r),fs=r=>Ge(r)==="[object Object]",Sr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Rt(r){return r.__esModule||Sr&&r[Symbol.toStringTag]==="Module"}const xr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function $(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,s=r.length,n=!1;for(typeof e=="boolean"&&(n=e,e=r[t]??{},t++),typeof e!="object"&&(e={});t<s;t++)if(r[t]!==null&&r[t]!==void 0){let i=r[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]=$(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function Xe(r,e,t=!1){if(!t)$(!0,r,e);else{if(typeof e!="object")return{};typeof r!="object"&&(r={});for(let s of Reflect.ownKeys(e)){let n=r[s],i=e[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!fs(i))continue;n=Xe(n,i,t),r[s]=n}else{if(typeof i=="function")continue;r[s]=i}}}return r}class te{static seed=new Date().getTime();static get(){let e=++te.seed;return e>=Number.MAX_VALUE&&(te.seed=0),e}}const St=xr?Promise.resolve():null;function Ae(r,...e){St!==null?e&&e.length>0?St.then(()=>{r(e)}):St.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function xt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function Pr(r){return typeof r=="number"?r:Number(r)}const Cr={"[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 Pt(r){let t=Object.prototype.toString.call(r);return r==null?String(r):Cr[t]||"object"}function Ct(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=Pt(r),s=Pt(e);if(t!==s)return!1;if(t==="object"){let n=Object.keys(r),i=Object.keys(e);if(n.length!==i.length)return!1;for(let o=0;o<n.length;o++){let a=n[o],l=r[a],u=e[a];if(!Ct(l,u))return!1}return!0}else if(t==="array"){if(r.length!==e.length)return!1;for(let n=0;n<r.length;n++){let i=r[n],o=e[n];if(!Ct(i,o))return!1}return!0}return!1}const hs=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=hs(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},Er=/^Symbol\((.*)\)$/,ys=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=ys(s));const n=Er.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function ds(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const ms=Symbol("idKey"),ae=Symbol("valueKey"),x=Symbol("childrenKey"),B=Symbol("growKey");class ps{[B]=!0;[ms];[ae]=g.ref();[x]=new Map;constructor(e){this[ms]=e}}class $r{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[B];let s=e[x].get(t);if(s)return Te(s);if(e[B])return s=$t(t),s[B]=e[B],e[x].set(t,s),Te(s)}set(e,t,s){return t=="value"?(e[ae].value=s,!0):t==="grow"?(e[B]=xt(s),!0):s==null?(e[x].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[x].delete(t),!0)}}const Et="__proxy__";function $t(r){const e=new ps(r);return Reflect.set(e,Et,new Proxy(e,new $r)),e}function Te(r){return Reflect.get(r,Et)}let Fr=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Fe(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage,t&&typeof t=="object"&&Object.assign(this.state,t)}init(e){this.restore(e),this.initFlag=!0}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(le){const t=E();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null||!this.state)return;const t=`_bus_${this.name}`,s=JSON.stringify(this.state??{});e.setItem(t,s)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")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==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_bus_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(this.state,i),Reflect.ownKeys(this.state).forEach(a=>{if(typeof a!="string")return;const l=this.state[a],u=a.split(/\//g);u.push(l),Reflect.apply(e.put,e,u)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n=e[t-1];this.state[s]=n,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,s=e.slice(0,t-1).join("/"),n={};Reflect.ownKeys(this.state).forEach(o=>{typeof o=="string"&&(o===s||o.startsWith(s)||(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 gs extends ps{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new Fr(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let s=this;for(let n=0;n<t-1;n++){let i=e[n],o;s[x].has(i)?o=s[x].get(i):(o=$t(i),s[x].set(i,o)),s=o}return s[ae].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let s=this;for(let n=0;n<t;n++){let i=e[n];if(s[x].has(i))s=s[x].get(i);else return}return s[ae].value}remove(...e){let t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){const o=e[i];if(s[x].has(o))s=s[x].get(o);else return!1}const n=e[t-1];return s[x].has(n)?(s[x].delete(n),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let s=this;for(let i=0;i<t-1;i++){let o=e[i];if(s[x].has(o))s=s[x].get(o);else return!1}const n=e[t-1];return s[x].has(n)}clear(){this[x].clear(),this._persistHandler.clear()}}const Ar=["put","get","contains","remove","clear","_persistHandler"];function vs(r){return Ar.includes(r)}class Tr{get(e,t){if(t=="value")return e[ae].value;if(t==="grow")return e[B];if(t===x)return e[x];if(typeof t=="string"&&vs(t))return e[t];const s=String(t);let n=e[x].get(s);if(n)return Te(n);if(e[B])return n=$t(s),n[B]=e[B],e[x].set(s,n),Te(n)}set(e,t,s){return t=="value"?(e[ae].value=s,!0):t==="grow"?(e[B]=xt(s),!0):vs(t)?!1:s==null?(e[x].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[x].delete(t),!0)}}function _r(r,e){const t=new gs(r,e),s=new Tr,n=new Proxy(t,s);return Reflect.set(t,Et,n),t}const Ft=new Proxy(gs,{construct(r,e){const t=e[0]??{},s=e[1],n=_r(t,s);return Te(n)}}),At=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class ws{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&Fe(e.name))throw new Error("name can not be empty, where persistPolicy is not memory.");this.name=e.name??"",this.persistPolicy=e.persistPolicy??"memory",this.storage=e.storage}getStorage(){if(!this.persistPolicy||this.persistPolicy==="memory")return null;let e=null;if(this.persistPolicy==="custom")e=this.storage;else if(le){const t=E();e=this.persistPolicy==="session"?t.sessionStorage:t.localStorage}return e}saveState(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null||At(e))return;const s=`_state_${this.name}`,n=JSON.stringify(e??{});t.setItem(s,n)}removeState(){if(!this.persistPolicy||this.persistPolicy==="memory")return;let e=this.getStorage();if(e===null)return;const t=`_state_${this.name}`;e.removeItem(t)}restore(e){if(!this.persistPolicy||this.persistPolicy==="memory")return;let t=this.getStorage();if(t===null)return;const s=`_state_${this.name}`,n=t.getItem(s);if(n){const i=JSON.parse(n);Object.assign(e,i)}}}function bs(r,e,t){const s=new ws(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];Fe(h)||(c[f]=h)}At(c)?s.removeState():s.saveState(c)};let i=null;if(t&&t.debounce===!1)i=n;else{const l=t&&t.debounceDelay?t.debounceDelay:250;i=ds(n,l)}const o=r?g.shallowReactive(e):g.reactive(e);return g.effectScope(!0).run(()=>{g.watch(o,l=>{const u=g.toRaw(l);i(u)})}),o}function Kr(r,e){return bs(!1,r,e)}function jr(r,e){return bs(!0,r,e)}function qr(r,e){const t=new ws(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];Fe(f)||(u[c]=f)}At(u)?t.removeState():t.saveState(u)};let n=null;if(e&&e.debounce===!1)n=s;else{const a=e&&e.debounceDelay?e.debounceDelay:250;n=ds(s,a)}const i={get(a,l){return a[l]},set(a,l,u){return a[l]=u,n(a),!0}};return new Proxy(r,i)}function Lr(r,e){return qr(r,e)}const z="default",Rs=Symbol("sync"),k=Symbol("resolveRoute");function Ss(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function kr(r){let e=r.src;return new Promise((t,s)=>{const n=Ss(a=>{Rt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=Ss(a=>{console.debug("reject load async module"),s(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 Or{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class pe{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new pe(e.to,e.from),s=e.data??{};return $(!0,t.data,s),t}static clear(e){for(let t in e)e[t]=void 0}}class P{path;get fullPath(){const e=this.path??`/${this.name}`;return`${this.root??z}!${e}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(e,t){let s=new P;return Xe(s,e,t),s}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 s=t;for(let i in e){let o=e[i];s[i]=o}const n=Object.getOwnPropertySymbols(e);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=e[i];return t}}class Mr{id;name;props;meta;src;component;constructor(e,t,s,n){this.id=te.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s,this.meta=n}get isResolved(){return this.component!==void 0}resolve(){return kr(this)}}class xs{models=[]}class Tt{path;match;redirect;name;layers=[]}var F=(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))(F||{});const Ps="FoxBeforeEnter",Cs="FoxEnter",Es="FoxLeave",$s="FoxLeave",Qe="FoxLeaveEnd",I=Symbol("chainKey"),O=Symbol("cursorKey"),_t=Symbol("$persistentModeKey"),A=Symbol("statusKey"),G=Symbol("argsKey"),Ye=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),_e=Symbol("errorFnsKey"),se=Symbol("sessionKey"),X=Symbol("_go");class Ke{[I]=[];[O]=0;[_t]=!1;[A]="Free";[G]=[];[Ye]=[];[ge]=[];[_e]=[];[se];get session(){return this[se]}constructor(e,t=!1){this[se]=e,this[_t]=t}[X](e,...t){let s=this[A];if(this[A]="Busy",this[O]+=e,this[O]<0&&(this[O]=0),this[G]=t,s==="Exception"||s==="Reject"){let a=[{session:this[se]},...this[Ye]];for(;this[_e].length>0;)try{let l=this[_e].shift();typeof l=="function"&&Ae(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[A]=s,this[I]=[],this[O]=0,this}else if(s==="Finished"||this[O]>=this[I].length){let a=[{session:this[se]},...this[G]];for(;this[ge].length>0;){let l=this[ge].shift();typeof l=="function"&&Ae(()=>{Reflect.apply(l,{},a)})}return this[A]="Free",this}if(this[O]>=this[I].length)return this[A]="Free",this;let n=this[I][this[O]];this[_t]||(this[I].splice(0,this[O]+1),this[O]=-1);let i=this[O]+1;try{let o=!1,a={go:(l,...u)=>{o||(o=!0,Reflect.apply(this[X],this,[l,...u]))},resolve:(...l)=>{o||(o=!0,Reflect.apply(this[X],this,[1,...l]))},reject:(...l)=>{o||(o=!0,Reflect.apply(this.reject,this,[...l]))},insert:l=>{o||(this[I].splice(i,0,l),i++)},session:this[se]};Ae(()=>{Reflect.apply(n,{},[a,...this[G]])})}catch(o){this.throw(o)}return this}go(e,...t){return Reflect.apply(this[X],this,[e,...t])}finish(...e){return this[A]="Finished",this[G]=e,Reflect.apply(this[X],this,[0])}reject(...e){return this[A]="Reject",this[Ye]=e,Reflect.apply(this[X],this,[0])}throw(...e){return this[A]="Exception",this[Ye]=e,Reflect.apply(this[X],this,[0])}reset(...e){this[A]="Busy",this[G]=e,this[I]=[],this[O]=0;let s=[{session:this[se]},...this[G]];for(;this[ge].length>0;){let n=this[ge].shift();Ae(()=>{Reflect.apply(n,this,s)})}return this[A]="Free",this}post(e){return this[A]==="Reject"||this[A]==="Exception"?this:(Array.isArray(e)?this[I]=[...this[I],...e]:this[I].push(e),this[A]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[_e].push(t),this[A]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this)}exception(e){return e&&typeof e=="function"&&this[_e].push(e),this[A]==="Busy"?this:Reflect.apply(this[X],this,[0,...this[G]])}isFinish(){return this[A]=="Reject"||this[A]=="Free"&&this[O]>=this[I].length}}const ve=Symbol("registerKey");class Ir{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Kt{[ve]=new Map;constructor(){}on(e,t,s=!1){let n=this[ve].get(e);n||(n=new Array,this[ve].set(e,n));let i=s===!0?1:0,o=new Ir(t,i);return n.push(o),this}off(e,t){if(!t)return this[ve].delete(e),this;let s=this[ve].get(e);if(s){for(let n=0;n<s.length;n++)if(s[n].callback===t){s.splice(n,1);break}}return this}bind(e,t,s=!1){return this.on(e,t,s)}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 s=e[t-1];if(typeof s!="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(s,{},i)});return this}emit(e,...t){let s=this[ve].get(e);if(!s)return this;for(let n=0;n<s.length;){let i=s[n];if(i.policy==1?s.splice(n,1):n++,typeof i.callback=="function")try{Ae(()=>{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 je=Symbol("registerKey");class Nr{[je]=new Map;constructor(){}set(e,t){this[je].set(e,t)}get(e){return this[je].get(e)}has(e){return this[je].has(e)}delete(e){return this[je].delete(e)}}const ue=Symbol("lc");function Ze(r,e=!1){let t=r;if(Reflect.has(t,ue))return t[ue];if(e){const s=new Nr;return t[ue]=s,s}return null}function Fs(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,ue)&&(t=s[ue],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=Ze(n.$parent,e))}return t}function jt(r,e){let t=r;for(;t;){if(Reflect.has(t,ue)){const s=t[ue];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Dr(r,e,t){Fs(r,!0)?.set(e,t)}function Hr(r,e){Fs(r,!0)?.delete(e)}function As(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 Ze(e.component.proxy,!1)}return null}const et=Symbol("hooksKey");function Ur(r){let e=r.get(et);e||(e=[],r.set(et,e))}function Ts(r,e){let t=r.get(et);if(t!=null)for(let s=t.length-1;s>=0;s--){let n=t[s];if(n.type===e)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var qt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(qt||{});class Br{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function Vr(r,e,t,s){let n=new Br(e,t,s);return r.push(n),!0}function Jr(r,e,t,s){let n=-1;for(let i=0;i<r.length;i++){let o=r[i];if(o.type===e&&o.hook===t&&o.target===s){n=i;break}}return n!=-1?(r.splice(n,1),!0):!1}function _s(r){return(e,t)=>{let s;if(t)s=t;else{const i=g.getCurrentInstance();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=jt(s,et);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Jr(n,r,e,s)}),Vr(n,r,e,s)}}const Wr=_s("a"),zr=_s("da"),Ks=Symbol("routeKey");function js(r,e){r.set(Ks,e)}function Lt(r){let e=jt(r,Ks);return typeof e=="function"?e():e??null}const tt=Symbol("rk"),kt=Symbol("vd"),qs=Symbol("rv"),Ot=Symbol("rvi"),Ls=Symbol("pv"),Mt=Symbol("pvi");var ce={};Object.defineProperty(ce,"__esModule",{value:!0}),ce.TokenData=void 0,ce.parse=st;var Gr=ce.compile=sn,Xr=ce.match=on;ce.pathToRegexp=un;const Qr="/",It=r=>r,Yr=/^\p{XID_Continue}$/u,qe="https://git.new/pathToRegexpError",Zr={"!":"!","@":"@",";":";",",":",","*":"*","+":"+","?":"?","{":"{","}":"}"};function en(r){const e=[...r],t=[];let s=0;for(;s<e.length;){const n=e[s],i=Zr[n];if(i){t.push({type:i,index:s++,value:n});continue}if(n==="\\"){t.push({type:"ESCAPED",index:s++,value:e[s++]});continue}if(n===":"){let o="";for(;Yr.test(e[++s]);)o+=e[s];if(!o)throw new TypeError(`Missing parameter name at ${s}`);t.push({type:"NAME",index:s,value:o});continue}if(n==="("){const o=s++;let a=1,l="";if(e[s]==="?")throw new TypeError(`Pattern cannot start with "?" at ${s}`);for(;s<e.length;){if(e[s]==="\\"){l+=e[s++]+e[s++];continue}if(e[s]===")"){if(a--,a===0){s++;break}}else if(e[s]==="("&&(a++,e[s+1]!=="?"))throw new TypeError(`Capturing groups are not allowed at ${s}`);l+=e[s++]}if(a)throw new TypeError(`Unbalanced pattern at ${o}`);if(!l)throw new TypeError(`Missing pattern at ${o}`);t.push({type:"PATTERN",index:s,value:l});continue}t.push({type:"CHAR",index:s,value:e[s++]})}return t.push({type:"END",index:s,value:""}),new tn(t)}class tn{constructor(e){this.tokens=e,this.index=0}peek(){return this.tokens[this.index]}tryConsume(e){const t=this.peek();if(t.type===e)return this.index++,t.value}consume(e){const t=this.tryConsume(e);if(t!==void 0)return t;const{type:s,index:n}=this.peek();throw new TypeError(`Unexpected ${s} at ${n}, expected ${e}: ${qe}`)}text(){let e="",t;for(;t=this.tryConsume("CHAR")||this.tryConsume("ESCAPED");)e+=t;return e}modifier(){return this.tryConsume("?")||this.tryConsume("*")||this.tryConsume("+")}}class Le{constructor(e,t){this.tokens=e,this.delimiter=t}}ce.TokenData=Le;function st(r,e={}){const{encodePath:t=It,delimiter:s=t(Qr)}=e,n=[],i=en(r);let o=0;do{const a=i.text();a&&n.push(t(a));const l=i.tryConsume("NAME"),u=i.tryConsume("PATTERN");if(l||u){n.push({name:l||String(o++),pattern:u});const h=i.peek();if(h.type==="*")throw new TypeError(`Unexpected * at ${h.index}, you probably want \`/*\` or \`{/:foo}*\`: ${qe}`);continue}if(i.tryConsume("*")){n.push({name:String(o++),pattern:`(?:(?!${we(s)}).)*`,modifier:"*",separator:s});continue}if(i.tryConsume("{")){const h=i.text(),y=i.tryConsume("NAME"),d=i.tryConsume("PATTERN"),m=i.text(),v=i.tryConsume(";")&&i.text();i.consume("}");const b=i.modifier();n.push({name:y||(d?String(o++):""),prefix:t(h),suffix:t(m),pattern:d,modifier:b,separator:v});continue}i.consume("END");break}while(!0);return new Le(n,s)}function sn(r,e={}){const t=r instanceof Le?r:st(r,e);return nn(t,e)}function rn(r,e){if(typeof r=="string")return()=>r;const t=e||It,s=r.modifier==="+"||r.modifier==="*",n=r.modifier==="?"||r.modifier==="*",{prefix:i="",suffix:o="",separator:a=o+i}=r;if(e&&s){const u=(f,h)=>{if(typeof f!="string")throw new TypeError(`Expected "${r.name}/${h}" to be a string`);return t(f)},c=f=>{if(!Array.isArray(f))throw new TypeError(`Expected "${r.name}" to be an array`);return f.length===0?"":i+f.map(u).join(a)+o};return n?f=>{const h=f[r.name];return h==null?"":h.length?c(h):""}:f=>{const h=f[r.name];return c(h)}}const l=u=>{if(typeof u!="string")throw new TypeError(`Expected "${r.name}" to be a string`);return i+t(u)+o};return n?u=>{const c=u[r.name];return c==null?"":l(c)}:u=>{const c=u[r.name];return l(c)}}function nn(r,e){const{encode:t=encodeURIComponent,loose:s=!0,validate:n=!0,strict:i=!1}=e,o=ks(e),a=Nt(s,r.delimiter),l=Ms(r,a,[],o,i),u=r.tokens.map((c,f)=>{const h=rn(c,t);if(!n||typeof c=="string")return h;const y=new RegExp(`^${l[f]}$`,o);return d=>{const m=h(d);if(!y.test(m))throw new TypeError(`Invalid value for "${c.name}": ${JSON.stringify(m)}`);return m}});return function(f={}){let h="";for(const y of u)h+=y(f);return h}}function on(r,e={}){const{decode:t=decodeURIComponent,loose:s=!0}=e,n=r instanceof Le?r:st(r,e),i=Nt(s,n.delimiter),o=[],a=Os(n,o,e),l=o.map(u=>{if(t&&(u.modifier==="+"||u.modifier==="*")){const{prefix:c="",suffix:f="",separator:h=f+c}=u,y=new RegExp(i(h),"g");return d=>d.split(y).map(t)}return t||It});return function(c){const f=a.exec(c);if(!f)return!1;const{0:h,index:y}=f,d=Object.create(null);for(let m=1;m<f.length;m++){if(f[m]===void 0)continue;const v=o[m-1],b=l[m-1];d[v.name]=b(f[m])}return{path:h,index:y,params:d}}}function we(r){return r.replace(/([.+*?^${}()[\]|/\\])/g,"\\$1")}function ln(r,e){const t=we(r);return e?`(?:${t})+(?!${t})`:t}function Nt(r,e){if(!r)return we;const t=new RegExp(`(?:(?!${we(e)}).)+|(.)`,"g");return s=>s.replace(t,ln)}function ks(r){return r.sensitive?"":"i"}function Os(r,e,t){const{trailing:s=!0,loose:n=!0,start:i=!0,end:o=!0,strict:a=!1}=t,l=ks(t),u=Nt(n,r.delimiter),c=Ms(r,u,e,l,a);let f=i?"^":"";return f+=c.join(""),s&&(f+=`(?:${u(r.delimiter)})?`),f+=o?"$":`(?=${we(r.delimiter)}|$)`,new RegExp(f,l)}function Ms(r,e,t,s,n){const i=`(?:(?!${we(r.delimiter)}).)+?`;let o="",a=!0;return r.tokens.map((l,u)=>{if(typeof l=="string")return o=l,e(l);const{prefix:c="",suffix:f="",separator:h=f+c,modifier:y=""}=l,d=e(c),m=e(f);if(l.name){const v=l.pattern?`(?:${l.pattern})`:i,b=an(v,l.name,s);if(a||(a=Dt(b,c||o)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}": ${qe}`);if(a=!n||Dt(b,f),o="",t.push(l),y==="+"||y==="*"){const w=y==="*"?"?":"",j=e(h);if(!j)throw new TypeError(`Missing separator for "${l.name}": ${qe}`);if(a||(a=!n||Dt(b,h)),!a)throw new TypeError(`Ambiguous pattern for "${l.name}" separator: ${qe}`);return a=!n,`(?:${d}(${v}(?:${j}${v})*)${m})${w}`}return`(?:${d}(${v})${m})${y}`}return`(?:${d}${m})${y}`})}function an(r,e,t){try{return new RegExp(`^${r}$`,t)}catch(s){throw new TypeError(`Invalid pattern for "${e}": ${s.message}`)}}function Dt(r,e){return e?!r.test(e):!1}function un(r,e={}){const t=r instanceof Le?r:st(r,e),s=[],n=Os(t,s,e);return Object.assign(n,{keys:s})}var rt=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(rt||{});const V=Symbol("rootKey"),J=Symbol("rootNodeKey"),fe=Symbol("parentNodeKey"),nt=Symbol("nameKey");class re{instance=null;model;route;active=!0;index=0;constructor(e,t,s=0,n=!0){this.route=e,this.model=t,this.index=s,this.active=n}}class ke{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[nt];[V];[J]=null;[fe]=null;get name(){return this[nt]}constructor(e,t,s){this[nt]=e,this[V]=t,s&&(this[J]=s)}}class N{view;index;level;constructor(e,t,s){this.view=e,this.index=t,this.level=s}static include(e,t){for(let s=0;s<e.length;s++){let n=e[s];if(n.view===t.view&&(t.index==-1||n.index===t.index)&&n.level===t.level)return!0}return!1}}class Ht{views=[]}class cn{layers=[]}class fn{time;route}class hn{forbidTime=300;submitRecorder=new fn;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 be=Symbol("_notifyChange");class Is{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const he=Symbol("historyChangeConsumerKey"),Ns=Symbol("_navigateFirstRoute"),it=Symbol("_getRouteMark"),Ut=Symbol("_getUrlSearch"),Bt=Symbol("_generateLocation"),ot=Symbol("_setRouteMarkRecorder"),Oe=Symbol("beforeRestoreFiltersKey"),Ds=Symbol("_beforeRestore"),Hs="Symbol(_fox_restore_point)";function Me(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function Us(r){if(!Array.isArray(r))return!1;if(r.length===0)return!0;const e=r[0];return!!(Reflect.has(e,"path")&&Reflect.has(e,"root"))}class Bs{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[he]=!1;[Oe]=new Array;backTimeout=320;constructor(e="hash",t="",s="",n=!0,i=!0,o=!1,a,l){this.mode=e,this.base=t,this.query=s,this.firstNavigate=n,this.historyMonitor=i,this.traceless=o,this.storage=a??E().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=E();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[he]=="function"){const s=this[he]();if(this[he]=!1,s)return}else if(this[he]===!0){this[he]=!1;return}if(Me(this.historyMonitor)){const s=t.history.state;this[be](s);try{let n=[];if(typeof s=="string"?n=JSON.parse(s):n=s,Array.isArray(n)&&n.length>0){const i=this[it]()??"/";this[ot](i,n)}}catch{}}}),We(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[Ns](),Promise.resolve()}destroy(){if(this.historyChange){const e=E();bt(e,"popstate",this.historyChange)}}[Ds](e,t,s,n){for(let i of this[Oe])try{const o=Reflect.apply(i,{},[e,t,s,n]);if(o===!1)return o}catch(o){console.error(o.message,o)}return!0}beforeRestoreEach(e){this[Oe].push(e)}removeBeforeRestoreEach(e){const t=this[Oe].indexOf(e);return t!==-1?(this[Oe].splice(t,1),!0):!1}[Ns](){const e=this[it]()??"/",t=this.storage.getItem(Hs);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?ys(l.params):{},this[Ds](l,u,e,o.routes)));if(a.length>0){const l=this[Ut](),u=a.length-1;a[u].query=l||a[u].query,this[be](a);return}}}catch{}const s=e.indexOf("!");let n;s!=-1?n=e.substring(s+1):n=e;const i=new P;i.path=n,i.query=this[Ut](),this[be]([i])}[ot](e,t){try{t.forEach(i=>{i.params=i.params?hs(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(Hs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[it]()??"/";this[ot](t,e)}[be](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[it](){const e=E();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,s=t.indexOf("#");if(s!=-1)return t.substring(s+1)}return null}[Ut](){let t=E().location.search;return t.length>0&&t.indexOf("?")===0&&(t=t.substring(1)),t}listen(e){this.changeHandler=e}go(e,t=!1){const s=E();this[he]=t,s.history.go(e)}goBack(e,t){const s=E(),n=s.history.state;if(Us(n)&&n.length>0){let i=!1;for(let c=n.length-1;c>=0;c--){const f=P.from(n[c]);if(!(f.historyUpdatePolicy==="traceless"||Me(this.traceless,f))&&P.isSame(f,e)){i=!0;break}}if(!i){t();return}const o=this.backTimeout;let a=null;const l=()=>{s.history.go(-1),a=setTimeout(l,o)},u=()=>{clearTimeout(a);const f=E().history.state;if(Us(f)&&f.length>0){let h=f.length;const y=f[h-1],d=P.from(y);if(P.isSame(d,e))return t(),!0;if(h>0){let m=!1;for(let v=h-1;v>=0;v--){const b=P.from(f[v]);if(!(b.traceless===!0||Me(this.traceless,b))&&P.isSame(b,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[ot](t,e.routes)}push(e){const t=this[Bt](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Me(this.traceless,e.currentRoute)&&E().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[Bt](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Me(this.traceless,e.currentRoute))&&E().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[Bt](e){const t=E();let s="";if(e.query){let a="";if(typeof e.query=="object")for(let l of Reflect.ownKeys(e.query)){let u=encodeURIComponent(e.query[l]),c=`${encodeURIComponent(String(l))}=${u}`;a.length>0&&(a+="&"),a+=c}else a=e.query;this.query?(s=a.length>0?`${this.query}&${a}`:this.query,s.length>0&&s.charAt(0)!=="?"&&(s=`?${s}`)):a.length>0&&(s=`?${a}`)}const n=t.location;let i=e.alias??e.fullPath;i.startsWith(z)&&(i=i.substring(z.length+1));let o;return s?this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}${s}`:o=`${this.base}/${i}${s}`:o=`${n.pathname}${s}#${i}`:this.mode=="path"?i.indexOf("/")===0?o=`${this.base}${i}`:o=`${this.base}/${i}`:o=`${n.pathname}#${i}`,`${n.origin}${o}`}}function yn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=E().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new Bs("path",e??"",t,r,s,n,i)}function Vs(r=!0,e="",t=!0,s=!1,n){return new Bs("hash","",e,r,t,s,n)}class dn{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}[be](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let s=this.cursor+e;if(s<0?s=0:s>this.queue.length-1&&(s=this.queue.length-1),s!=this.cursor){this.cursor=s;let n=!1;if(typeof t=="function"?n=t():n=t,!n){const i=this.queue[s];this[be](i.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let s=0;if(e===null)s=this.cursor+1;else for(let n=this.cursor;n>=0;n--){const i=this.queue[n];if(P.isSame(i.currentRoute,e))break;s++}if(s===0){t();return}this.go(-s,()=>(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 Js(r="",e=50){return new dn(r,e)}function Gn(r){}const lt=Symbol("_constructRouteModel"),at=Symbol("_findRouteModel"),Vt=Symbol("_findRootView"),Ws=Symbol("_getFirstView"),ye=Symbol("_removeView"),zs=Symbol("_buildPage"),Gs=Symbol("_resolveComponent"),Xs=Symbol("_update"),ne=Symbol("_merge"),Jt=Symbol("_handleHistoryChange"),ut=Symbol("_handleRouteUpdated"),ct=Symbol("routeUpdatedCallback"),R=Symbol("currentRoutes"),ft=Symbol("routeSessionCacheKey"),Qs=Symbol("_addRouteRecorder"),Ie=Symbol("_removeRouteRecorder"),ht=Symbol("_cloneRouteRecorder"),_=Symbol("_handleError"),yt=Symbol("errorCallback"),D=Symbol("registerKey"),dt=Symbol("notFoundKey"),Wt=Symbol("notFoundPathKey"),H=Symbol("forestKey"),C=Symbol("historyKey"),Ne=Symbol("beforeFiltersKey"),De=Symbol("afterFiltersKey"),He=Symbol("destroyFiltersKey"),zt=Symbol("propsFilterKey"),Re=Symbol("mainDispatcherKey"),Gt=Symbol("initKey"),de=Symbol("readyKey"),Xt=Symbol("readyHandlersKey"),mt=Symbol("_markReady"),Ys=Symbol("_createNextFn"),Qt=Symbol("_start"),Yt=Symbol("_before"),Zt=Symbol("_after"),Zs=Symbol("_destroy"),es=Symbol("_load"),Ue=Symbol("_unload"),Be=Symbol("routerGuardKey");function mn(r){return r.layers.length==0||r.layers[0].views.length==0}function pn(r){let e=[];return r.layers.forEach(t=>{t.models==null||t.models==null||t.models.forEach(s=>{if(!(s==null||s==null))if(typeof s.meta=="object"){let n=$(!0,{},s.meta);e.push(n)}else s.meta&&e.push(s.meta)})}),e}class gn{[D]=new Array;[dt];[Wt]="*";[de]=!1;[Xt]=[];[H]=new cn;[C];[R]=new Array;[ft]=new WeakMap;[yt]=null;[ct]=null;[Ne]=new Array;[De]=new Array;[He]=new Array;[zt]=null;[Re]=new Ke;[Be]=new hn;[Gt]=!1;get current(){const e=this[R].length;return e>0?this[R][e-1]:null}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[C]=e.history:this[C]=le?Vs():Js(),this[C]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[k](s);i&&await this[Jt]([i])}else await this[Jt](s)}catch(i){console.error(i.message,i),n=!1}this[de]===!1&&this[mt](n)})}[_](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[yt]=="function")try{this[yt](e,t)}catch{}console.error(e)}init(){this[Gt]!==!0&&(this[C]?.init(!this[de]),this[Gt]=!0)}isReady(){return this[de]?Promise.resolve():new Promise((e,t)=>{this[Xt].push([e,t])})}[mt](e){this[de]=!0,this[Xt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[Jt](e){try{if(!e){let o=[...this[R]].reverse();return this[Ue](o),le&&E().location.reload(),Promise.resolve()}let t=null,s=[],n=[],i=0;for(;i<e.length&&i<this[R].length&&P.isSame(e[i],this[R][i]);i++)e[i].active===!0&&e[i].active!==this[R][i].active&&(t=e[i]);if(i<e.length&&(s=e.slice(i)),i<this[R].length&&(n=this[R].slice(i).reverse()),n.length===0&&s.length===0){if(t!==null)return this.restore([t])}else if(n.length>0){if(this[Ue](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[_](t)}return Promise.resolve()}[ut](e=null){if(e||(e=this.current),typeof this[ct]=="function")try{this[ct](e)}catch{}}[Qs](e,t){if(e.opsType===F.Open){let s=!1;const n=this[R].length-1;for(let i=n;i>=0;i--){const o=this[R][i];if(e.root==o.root){if(e.path===o.path){this[R].splice(i,1,e),s=!0;continue}e.active&&(o.active=!1)}}s||this[R].push(e)}else this[R].push(e);this[ft].set(e,t)}[ht](){let e=[];for(let t of this[R]){let s=P.clone(t,!0);e.push(s)}return e}[Ie](e){if(!this[R])return;let t=-1;for(let s=0;s<this[R].length;s++)if(P.isSame(this[R][s],e)){t=s;break}if(t!=-1){let s=this[R][t];this[R].splice(t,1);const n=this[ft].get(s);this[ft].delete(s),this[Zs](s,n)}}set historyMonitor(e){this[C]&&(this[C].historyMonitor=e)}get historyMonitor(){return this[C]?this[C].historyMonitor:!1}set traceless(e){this[C]&&(this[C].traceless=e)}get traceless(){return this[C]?this[C].traceless:!1}set propsFilter(e){this[zt]=e}get propsFilter(){return this[zt]}setRestorePoint(){const e=this[ht]();this[C]?.setRestorePoint(e)}onRouteUpdated(e){this[ct]=e}onError(e){this[yt]=e}beforeEach(e){this[Ne].push(e)}removeBeforeEach(e){const t=this[Ne].indexOf(e);return t!==-1?(this[Ne].splice(t,1),!0):!1}afterEach(e){this[De].push(e)}removeAfterEach(e){const t=this[De].indexOf(e);return t!==-1?(this[De].splice(t,1),!0):!1}destroyEach(e){this[He].push(e)}removeDestroyEach(e){const t=this[He].indexOf(e);return t!==-1?(this[He].splice(t,1),!0):!1}beforeRestoreEach(e){this[C]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[C]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[Wt]){this.setNotFoundRoute(e);return}const s=this[lt](e);if(t==-1)this[D]=[...this[D],...s];else for(let n=s.length-1;n>=0;n--)this[D].splice(t,0,s[n])}removeRoute(e){const t=this[k](e);if(t===null)return console.warn("route格式错误",e),!1;for(let s=0;s<this[D].length;s++){const n=this[D][s];if(t?.path&&n.path===t.path)return this[D].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[D].splice(s,1),!0}return!1}hasRoute(e){const t=this[k](e);return t===null?(console.warn("route格式错误",e),!1):this[D].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[Wt]=e}setNotFoundRoute(e){const t=this[lt](e);this[dt]=t[0]}getRoutes(){return[...this[D]]}[lt](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(s==null){const a=new Tt;return a.path=t,a.redirect=e.redirect,[a]}let n=[];for(let a in s){let l=s[a];a.length===0&&(a=z);let u=new Mr(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[lt](a);for(let u of l){let c=new Tt;c.name=u.name,u.path&&u.path.length>0?t!=="/"?c.path=`${t}${u.path}`:c.path=u.path:(i=!0,c.path=t);let f=new xs;f.models=[...n],c.layers=[f,...u.layers],o.push(c)}}if(!i){const a=new xs;a.models=n;const l=new Tt;l.name=e.name,l.path=t,l.layers=[a],o.splice(0,0,l)}return o}[at](e){const t=e.route;try{for(let s of this[D]){const n=t.template??t.path,i=t.template??t.name;if(n&&s.path){let o=s.match;o||(o=s.match=Xr(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new P;$(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[at](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??{},$(!0,t.params,a.params),t.query){const l=t.query;if(typeof l=="string"){const u={},c=l.split("&");for(let f of c){const h=f.split("=");if(h.length!==2)continue;const y=decodeURIComponent(h[0].trim()),d=decodeURIComponent(h[1].trim());u[y]=d}$(!0,t.params,u)}else typeof l=="object"&&$(!0,t.params,l)}return e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(i===s.name){t.params=t.params??{};const o=Gr(s.path);return t.path=o(t.params),e.find=s,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}}catch(s){console.error(s.message,s),typeof t.error=="function"&&t.error(s.message)}return!1}[k](e){let t=null;if(Array.isArray(e))if(t=new P,typeof e[0]=="object")t=P.from(e[0]);else for(let s=0;s<e.length;s++)s===0?e[s].charAt(0)==="/"?t.path=e[s]:t.name=e[s]:s===1?t.params=e[s]:s===2?t.root=e[s]:s===3&&$(!1,t,e[s]);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 s=t.path.indexOf("?");s!==-1&&s<t.path.length-1&&(t.query=t.path.substring(s+1),t.path=t.path.substring(0,s))}t.root=t.root??z,t.opsType=t.opsType??this.options.defaultOperationType??F.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[k](e);return t?(t.opsType=F.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}put(...e){const t=this[k](e);return t?(t.opsType=F.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[_]("resolve route fail",t),this)}replace(...e){const t=this[k](e);return t?(t.opsType=F.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[_]("resolve route fail",t),this)}append(...e){const t=this[k](e);return t?(t.opsType=F.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[Re].post(n=>{try{if(this[R].length===0){n.resolve(),s(!1);return}let i=-1,o,a=[];if(e){if(e.root?o=e.root:o=this[R][0].root??z,e.all)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];c.opsType===F.Append&&c.root===o&&(a.splice(0,0,c),i=u-1)}else if(e.until)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];if(c.opsType===F.Append&&c.root===o){if(e.until.charAt(0)==="/"&&e.until===c.path){i=u;break}else if(e.until===c.name){i=u;break}a.splice(0,0,c)}}else if(e.to)for(let u=this[R].length-1;u>0;u--){let c=this[R][u];if(c.opsType===F.Append&&c.root===o){if(a.splice(0,0,c),e.to.charAt(0)==="/"&&e.to===c.path){i=u-1;break}else if(e.to===c.name){i=u-1;break}}}}else{o=z;let u=this[Ws](this[H]);u&&(o=u.name);for(let c=this[R].length-1;c>0;c--){let f=this[R][c];if(f.opsType===F.Append&&f.root===o){a.push(f),i=c-1;break}}}if(i===-1||a.length===0){let u="can not find route";console.warn(u),n.resolve(u),s(!1);return}let l=null;if(i!==-1&&(l=this[R][i]),this[Ue](a)){if(t===!1)return n.resolve(),s(!0),!0;const u=()=>(n.resolve(),s(!0),!0),c=this[R].length;if(l&&P.isSame(l,this[R][c-1])){this[C]?.goBack(l,u);return}u()}}catch(i){this[_](i),n.resolve(),s(!1)}})})}open(...e){let t=this[k](e);return t?(t.opsType=F.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[_]("resolve route fail",t),this)}close(e){return this[Re].post(t=>{try{let s=this[k](e);if(!s){t.reject("resolve route fail");return}let n=[];for(let i=0;i<this[R].length;i++){let o=this[R][i];if(o.root===s.root){if(!s.path&&!s.name){n.push(o);continue}if(s.path&&s.path===o.path){n.push(o);break}else if(s.name&&s.name===o.name){n.push(o);break}}}if(n.length===0){t.resolve();return}this[Ue](n)&&this[ut](),t.resolve()}catch(s){this[_](s),t.resolve()}}),this}to(...e){let t=this[k](e);if(!t)return this[_]("resolve route fail",t),this;let s=this[Be].acquire(t);return s==null?(this[_]("route forbid",t),this):(this[Re].post(n=>{try{let i=this[Qt](t);this[Yt](i),this[es](i),this[Zt](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 c=new Is(u,this[ht]());l.historyUpdatePolicy==="replace"?this[C]?.replace(c):l.historyUpdatePolicy==="traceless"?this[C]?.setRouteMark(c):this[C]?.push(c)}catch(u){console.error(u.message,u)}if(pe.clear(o.session),this[Be].release(s),this[ut](l),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[de]===!1&&this[mt](!0),i=null,n.resolve()},(o,a)=>{this[Be].release(s),a!==null&&this[_](a,t),this[de]===!1&&this[mt](!1),pe.clear(o.session),i=null,n.resolve()})}catch(i){this[Be].release(s),this[_](i,t),n.resolve()}}),this)}back(e=1){this[C]?.go(-e,!1)}[Ys](e){return(t,s)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(s??null);else if(t){const n=this[k](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()}}[Qt](e){const t=this[R].length>0?this[R][this[R].length-1]:void 0,s=new pe(e,t),n={route:e,find:null};return this[at](n),n.find&&(s.routeModel=n.find,e.matched=pn(n.find),Array.isArray(e.matched)&&e.matched.length>0&&(e.meta=n.find.layers[0].models[0].meta)),new Ke(s)}[Yt](e){for(let t of this[Ne])e.post(s=>{const n=this[Ys](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Zt](e){e.post(t=>{for(let s of this[De])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[Zs](e,t){for(let s of this[He])try{Reflect.apply(s,{},[e,t])}catch(n){console.error(n.message,n)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[es](e){e.post(t=>{const s=t.session.to;let n=t.session.routeModel;if(n==null){let o={route:s,find:null};if(this[at](o))n=o.find,t.session.routeModel=n;else if(this[dt])n=this[dt];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=pe.from(t.session);this[zs](s,n,i).then(o=>{this[H],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Ue](e){if(e.length==0)return!0;let t=this[H],s=[];for(let n of e){let i=this[Vt](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[_]("can not find view index"),!1;for(let n of s.reverse())this[ye](t,{x:n.x,y:n.y},[n.route.index??0],!0);return!0}[Vt](e,t){const s=t.root??z;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[V]&&l[nt]===s)return n={x:a,y:i},n}}return null}[Ws](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[ye](e,t,s=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 f=u.length-1;f>=0;f--){let h=u[f];(!s||s.indexOf(h.index)!=-1)&&(h.route&&i[V]&&(this[Ie](h.route),h.active===!0&&h.route.opsType==F.Append&&(l=!0)),a.push(new N(i,h.index,t.y)),u.splice(f,1))}if(u.length==0)n?i.slots.value=u:e.layers[t.y].views.splice(t.x,1);else{if(l){let f=u.length-1,h=u[f];h.active=!0,h.route&&(h.route.active=h.active)}i.slots.value=u}e.layers[t.y].views.length==0&&(o=!0);let c=t.y+1;for(;c<e.layers.length;c++){let f=e.layers[c].views,h=[];for(let y=f.length-1;(o||a.length>0)&&y>=0;y--){let d=f[y];if(d[fe]&&(o||N.include(a,d[fe]))){let m=d.slots.value;for(let v=m.length-1;v>=0;v--){let b=m[v];b.route&&d[V]&&this[Ie](b.route),h.push(new N(d,b.index,c)),m.splice(v,1)}e.layers[c].views.splice(y,1)}}a=h,e.layers[c].views.length==0&&(o=!0)}}restore(e){if(!e||this[D].length==0){let t=this[H];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[R]=[],this[ut](),Promise.resolve()}else return new Promise((s,n)=>{let i=null,o=!1;for(let a=0;a<e.length;a++){const l=e[a];this[Re].post(u=>{const c=this[Qt](l);this[Yt](c),this[es](c),this[Zt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[_](h),u.resolve()})})}this[Re].post(a=>{if(i&&o===!0){const l=P.clone(i,!0),u=new Is(l,this[ht]());this[C]?.replace(u)}a.resolve(),s()})})}[zs](e,t,s){const n=e.updateType??rt.Part;return this[Gs](t).then(()=>{const o=this[Xs](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[Gs](e){let t=[];for(let s=0;s<e.layers.length;s++){let n=e.layers[s];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()}[Xs](e,t,s,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[H],a=mn(o),l=t.root??z,u;!a&&n==rt.Part&&(u=this[Vt](o,t));let c,f=0;if(u==null||u==null)if(a||n===rt.All){if(o.layers.length==0&&(o.layers[0]=new Ht),o.layers[0].views.length==0){let h=t.root??z;c=new ke(h,!0,null),o.layers[0].views=[c]}else c=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 v of m.views){if(v[V]&&v.name===h.rootName){d=new N(v,h.rootIndex??0,y-1);break}if(v[J]&&v[J].view.name===h.rootName&&v[J].index===h.rootIndex){d=v[J];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new ke(l,!0,d),o.layers[y].views.push(c),u={x:o.layers[y].views.length-1,y}}else c=o.layers[u.y].views[u.x];if(f=u.y,c[V]=!0,t.opsType===F.Append){t.index=t.index??te.get(),t.active=!0;let h=c.slots.value;if(h.length>0){let b=h[h.length-1];b.active=!1,b.route&&(b.route.active=b.active)}let y=new re(t,i,t.index,!0);c.slots.value=[...h,y];let d=f+1,m=1,v=new N(c,t.index,f);this[ne](o,d,e,m,v)}else if(t.opsType===F.Open){let h=c.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??te.get(),t.active=y;let m=new re(t,i,t.index,y);h.push(m);let v=f+1,b=1,w=new N(c,t.index,f);this[ne](o,v,e,b,w)}c.slots.value=[...h]}else{let h=c.slots.value;if(h.length==0){t.index=t.index??te.get(),t.active=!0,c.slots.value=[new re(t,i,t.index)];let y=f+1,d=1,m=new N(c,t.index,f);this[ne](o,y,e,d,m)}else{let y=h[0];if(y.model!==i){this[ye](o,u,null,!0),t.index=t.index??te.get(),t.active=!0,c.slots.value=[new re(t,i,t.index)];let d=f+1,m=1,v=new N(c,t.index,f);this[ne](o,d,e,m,v)}else{y.route!==null&&this[Ie](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 v=[];for(let Y=1;Y<h.length;Y++)v.push(h[Y].index);v.length>0?this[ye](o,u,v,!0):d&&(c.slots.value=[...h]);let b=[new N(c,t.index,f)],w=f+1,j=1,oe=new N(c,t.index,f);for(;b.length>0&&w<o.layers.length&&j<e.layers.length;w++,j++){let Y=[];for(let q=0;q<o.layers[w].views.length;q++){let L=o.layers[w].views[q];L[fe]&&N.include(b,L[fe])&&Y.unshift(q)}let Ee=[];for(let q of Y){let L=o.layers[w].views[q],me=e.layers[j].models,Z;for(let M=0;M<me.length;M++)if(L.name===me[M].name){Z=me[M];break}if(!Z)this[ye](o,{x:q,y:w},null,!1);else{let M=L.slots.value;if(M.length==0){let Q=0;L.slots.value=[new re(null,Z,Q)];let W=w+1,ee=j+1;this[ne](o,W,e,ee,oe)}else{let Q=M[0];if(Q.model!==Z){this[ye](o,{x:q,y:w},null,!0),L.slots.value=[new re(null,Z,0)];let W=w+1,ee=j+1;this[ne](o,W,e,ee,oe)}else{L[V]&&Q.route!==null&&this[Ie](Q.route);let W=[];for(let ee=1;ee<M.length;ee++)W.push(M[ee].index);W.length>0&&this[ye](o,{x:q,y:w},W,!0),Ee.push(new N(L,Q.index,w))}}L[V]=!1}}b=Ee}this[ne](o,w,e,j,oe)}}}if(c&&c[J]){let h=c[J];h&&(t.slot=new Or(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[Qs](t,s),{status:"success",message:""}}[ne](e,t,s,n,i){let o=n,a=t;for(;a<e.layers.length&&o<s.layers.length;a++,o++){let l=e.layers[a].views;for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),f=new re(null,u);c.slots.value=[f],l.push(c)}}for(;o<s.layers.length;o++){let l=new Ht;l.views=[];for(let u of s.layers[o].models){let c=new ke(u.name,!1,i),f=new re(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[Rs](e,t,s,n,i,o){if(t<0||t>this[H].layers.length)return null;if(t<this[H].layers.length){let c=this[H].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[J]?.view===s,y&&n!==-1&&(y=h[J]?.index===n)):y=h.name===e,!!y){i!==null&&(h[fe]={view:i,index:o,level:t-1}),f=h;break}}if(f!==null)return f}let a=null,l=null;i!==null&&(i[V]?a={view:i,index:o,level:t-1}:a=i[J],l={view:i,index:o,level:t-1});let u=new ke(e,!0,a);if(u[fe]=l,t==this[H].layers.length){let c=new Ht;c.views=[u],this[H].layers.push(c)}else this[H].layers[t].views.push(u);return u}}const vn="fox-router-view",wn="fox-router-link";function er(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 tr(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 bn(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 sr(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 rr(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 Rn(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 Sn(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function xn(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Pn(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Cn(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function En(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function $n(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function Fn(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function An(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function ts(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 Se(r,e){r.classList.contains(e)||r.classList.add(e)}function xe(r,e){r.classList.remove(e)}const Tn=le&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function pt(r){Tn(r)}function T(r,e,t){S(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function nr(r,e,t,s=-1,n,i,o,a){let l=[];const u=()=>{for(let c of l)bt(e,c.type,c.listener);l=[]};if(S(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s]),S(a)&&Reflect.apply(a,r,[])},n);return}const c=["animationend","transitionend",Qe],f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(i,r,[e,t,s]))};c.forEach(h=>{We(e,h,f),l.push({type:h,listener:f})})}if(S(o)){const c="animationcancel",f=h=>{const y=h.target||h.srcElement,d=h.currentTarget;y===d&&(u(),Reflect.apply(o,r,[e,t,s]))};We(e,c,f),l.push({type:c,listener:f})}}function gt(r){return!le||r===null?!1:r.opsType===F.Append||r.opsType===F.Open}function ir(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=er(s,e);o&&Se(t,o);const a=tr(s,e);a&&Se(t,a);const l=Sn(s,e);T(r,l,[t,e,n,i])}}function or(r,e,t,s={},n,i,o,a){if(!gt(i)&&!e){S(a)&&a(r,a,[t]);return}const l=er(s,e),u=tr(s,e),c=bn(s,e),f=xn(s,e),h=Pn(s,e),y=Cn(s,e);if(!l&&!u&&!c&&!f){S(a)&&a(r,a,[t]);return}pt(()=>{nr(r,t,i,o,n,()=>{u&&xe(t,u),c&&xe(t,c),S(h)&&T(r,h,[t,e,i,o]),S(a)&&a(r,a,[t])},()=>{S(y)&&T(r,y,[t,e,i,o])}),l&&xe(t,l),c&&Se(t,c),S(f)&&T(r,f,[t,e,i,o])})}function lr(r,e,t,s={},n,i=-1){if(e||gt(n)){const o=sr(s,e);o&&Se(t,o);const a=rr(s,e);a&&Se(t,a);const l=En(s,e);T(r,l,[t,e,n,i])}}function ar(r,e,t,s={},n,i,o,a,l){if(!gt(o)&&!e){S(l)&&T(r,l,[t]),!e&&S(i)&&i();return}const u=sr(s,e),c=rr(s,e),f=Rn(s,e),h=$n(s,e),y=Fn(s,e),d=An(s,e);if(!u&&!c&&!f&&!h){S(l)&&T(r,l,[t]),!e&&S(i)&&i();return}pt(()=>{nr(r,t,o,a,n,()=>{c&&xe(t,c),f&&xe(t,f),S(y)&&T(r,y,[t,e,o,a]),S(l)&&T(r,l,[t]),!e&&S(i)&&i()},()=>{S(d)&&T(r,d,[t,e,o,a]),S(l)&&T(r,l,[t]),!e&&S(i)&&i()}),u&&xe(t,u),f&&Se(t,f),S(h)&&T(r,h,[t,e,o,a])})}function ss(r,e,t={},s,n=-1){const i=t.mode??"default",o=ts(t);return{mode:i,persisted:!1,beforeEnter:l=>{ir(r,!1,l,t,s,n)},enter:l=>{or(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{lr(r,!1,l,t,s,n),ar(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>ss(r,e,t,s,n)}}function ur(r){return r.el}function _n(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ts(t);ir(r,!0,a,t,s,n),or(r,!0,a,t,l.show,s,n,u=>{S(o)&&T(r,o,[u])})}else S(o)&&T(r,o,[])}function Kn(r,e,t={},s,n,i,o){if(i===!0){const a=ur(e);if(a==null)return;const l=ts(t);lr(r,!0,a,t,s,n),ar(r,!0,a,t,l.hide,null,s,n,u=>{S(o)&&T(r,o,[u])})}else S(o)&&T(r,o,[])}function jn(r,e={}){pt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function cr(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{ze(Ps,{},a)},enter:a=>{ze(Cs,{},a)},leave:(a,l)=>{ze(Es,{},a),pt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(bt(a,Qe,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};We(a,Qe,u),ze($s,{},a)})},clone:a=>cr(r,e,t,s,n)}}function ie(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function rs(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function Pe(r,e){return typeof e=="function"?e(r):r}class qn{node;state;constructor(e,t){this.node=e,this.state=t}}const ns=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 s=r.multi===!0,n=g.inject(tt,null),i=g.inject(kt,0),o=g.inject(qs,null),a=g.inject(Ot,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(kt,i+1),g.provide(Ot,u.index),g.provide(Mt,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=Ze(t.proxy,!0);Ur(h),js(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(Ls,null),y=g.inject(Mt,0);if(l=n[Rs](f,i,o,a,h,y),l===null)return;g.provide(Ls,l);const d=l[V]===!0;if(d&&g.provide(qs,l),!s&&(g.provide(Ot,-1),g.provide(kt,i+1),g.provide(Mt,-1),d)){const m=Ze(t.proxy,!0);js(m,()=>{const v=l.slots.value;return v.length>0?v[0].route:null})}}const c={value:new Map};return g.onUnmounted(()=>{if(c.value&&c.value.clear(),u){const f=u;f.route=null,f.model=null,f.instance=null,u=void 0}}),()=>{if(s){const f=new Map,h=[],y=l?.slots.value,d=[];for(let b=0;b<y.length;b++){const w=y[b],j=`${r.name}_${w.index}`,oe=ie(r.transition,w.route,b)??!0,Y={modelSlot:w};let Ee;e.slots.default?Ee=g.h(ns,Y,{default:e.slots.default}):Ee=g.h(ns,Y);const q={},L=ie(r.viewClass,w.route,b);typeof L=="string"&&L.length>0&&(q[L]=!0);const me=ie(r.viewActiveClass,w.route,b),Z=ie(r.viewInactiveClass,w.route,b),M=c.value.get(j);if(typeof me=="string"&&me.length>0&&(q[me]=w.active),typeof Z=="string"&&Z.length>0&&(q[Z]=!w.active),M&&w.active!==M.state){const U=M.node;w.active?d.unshift(()=>{const us=()=>{let Ve=As(U);Ve!=null&&Ts(Ve,qt.ACTIVATED)};_n(t,U,r,w.route,b,oe,us)}):d.push(()=>{const us=()=>{const Ve=As(U);Ve!=null&&Ts(Ve,qt.DEACTIVATED)};Kn(t,U,r,w.route,b,oe,us)})}const Q={class:q,key:j},W=ie(r.viewTagProps,w.route,b);if(W!==null&&typeof W=="object"){const U=Pe(W,n?.propsFilter);$(!0,Q,U)}if(w.route?.viewTagAttrs&&typeof w.route?.viewTagAttrs=="object"){const U=Pe(w.route.viewTagAttrs,n?.propsFilter);$(!0,Q,U)}const ee=ie(r.viewTag,w.route,b),$e=g.h(ee,Q,{default:()=>[Ee]});if(f.set(j,new qn($e,w.active)),c.value.delete(j),oe===!0){const U=ss(t,$e,r,w.route,b);$e.transition=U}else if(oe==="custom"){const U=cr(t,$e,r,w.route,b);$e.transition=U}h.push($e)}c.value=f,jn(d,t);const m=ie(r.tag,null,-1),v={};return Object.assign(v,e.attrs),g.h(m,v,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=Pe(f.props,n?.propsFilter);$(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=Pe(u.route.params,n?.propsFilter);$(!1,h,d)}}const y=g.h(f.component,h);return rs(e.slots.default,{Component:y,route:u.route})??y}else{const f=l.slots.value;if(f.length>0){const h=f[0],y=h.route??(t.proxy&&Lt(t.proxy))??null,d=h.model,m={};if(d.props){if(typeof d.props=="object"){const w=Pe(d.props,n?.propsFilter);$(!1,m,w)}else if(d.props===!0&&typeof y?.params=="object"){const w=Pe(y.params,n?.propsFilter);$(!1,m,w)}}const v=g.h(d.component,m);if(ie(r.transition,y,-1)??!0){const w=ss(t,v,r,y,-1);v.transition=w}return rs(e.slots.default,{Component:v,route:y})??v}else return rs(e.slots.fallback,{})}}}});function Ln(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 kn(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function On(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function Ce(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let Mn=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(tt,null);return()=>{let s=Ce(r.to,null),n=Ce(r.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,o=null;t!==null&&(i=t[k](s),r.root&&(i.root=r.root),o=t.current);let a={},l=Ce(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=On(i,o)),Ce(r.exact,i)===!0){let h=Ce(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=kn(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),$(!0,c,e.attrs);let f=Ce(r.event,i);if(typeof f=="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)};c[f]=h}return g.h(n,c,e.slots)}}});var K=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(K||{}),vt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(vt||{});class In{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 fr{moduleManager=new In;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 Je().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:K.Defined};typeof t=="function"?(s.exports=t,s.type=vt.factory):s.exports=t,this.moduleManager.set(e,s)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let s=e.length-1;const n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let l=0;l<=s;l++)if(Array.isArray(e[l])){let u=e[l];for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}else if(typeof e[l]=="string"){let u=e[l].split(",");for(let c=0;c<u.length;c++)u[c]&&t.push(this.resolvePath(u[c]))}const o=new Nn(t.length,(l,u)=>{if(o.isOK())try{typeof i=="function"&&Reflect.apply(i,{},u)}catch(c){console.error(c.message,c)}else try{console.error(l),typeof i=="function"&&Reflect.apply(i,{},[])}catch(c){console.error(c.message,c)}}),a=new Ke;for(let l=0;l<t.length;l++){const u=new Dn(l,t[l],n,o);this.mount(a,u)}return this}remove(...e){let t=[],s=e.length-1,n={};typeof e[s]=="object"&&(Object.assign(n,e[s]),s--);let i=null;typeof e[s]=="function"&&(i=e[s],s--);for(let o=0;o<=s;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 s=this.getFileNamePostfix(t.src);if(s==="js"||s.length===0){let n=t.params.jsPoint;n||(n=this.head),this.mountJS(e,t,n);return}else if(s==="css"){let n=t.params.cssPoint;n||(n=this.head),this.mountCSS(e,t,n);return}}mountCSS(e,t,s){e.post(n=>{const i=t.src,o=this.moduleManager.get(i);if(o&&(o.status==K.Defined||o.status==K.Loaded)&&o.exports){o.type===vt.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=Je(),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{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,t.progress.work(!1,t.index,null),n.reject()};else{const f={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),n.resolve()},error:()=>{try{s.removeChild(l)}catch(h){console.error(h.message,h)}t.progress.work(!1,t.index,null),n.resolve()}};setTimeout(()=>{hr(l,f)},1)}let c=a.getElementById(i);c&&c.parentNode&&c.parentNode.removeChild(c),l.rel="stylesheet",l.type="text/css",l.id=i,l.href=i,s.appendChild(l)})}mountJS(e,t,s){e.post(n=>{const i=t.src;let o=this.moduleManager.get(i);if(o&&(o.status==K.Defined||o.status==K.Loaded)){if(o.exports){o.type===vt.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:K.Loading},this.moduleManager.set(i,o);const l=Je().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===K.Loading&&(o.status=K.Loaded,t.progress.work(!0,t.index,i)),n.resolve()},l.onerror=()=>{try{s.removeChild(l)}catch(f){console.error(f.message,f)}l.onload=null,l.onerror=null,this.moduleManager.remove(i),t.progress.work(!1,t.index,null),n.resolve()};else{const f=l;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,o.status==K.Loading&&(o.status=K.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=E();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Je(),n=this.getFileNamePostfix(e);if(n==="js"||n.length===0){const i=s.querySelector(`script[src="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i),this.moduleManager.remove(e);return}else if(n==="css"){const i=s.querySelector(`style[href="${e}"]`);i&&i.parentNode&&i.parentNode.removeChild(i);return}}trimEmptyElement(e){let t=[];for(let s=0;s<e.length;s++){if(e[s]===void 0||e[s]===null)continue;const n=e[s].trim();n.length!==0&&t.push(n)}return t}createDefine(e,t){const s=this,n=function(...i){e.status=K.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=s.trimEmptyElement(i[0]),o=void 0):a=void 0):(o=i[0],a=s.trimEmptyElement(i[1]),l=i[2]),o&&(e.id=o,s.options.alias[o]=e.src),a&&a.length>0?s.ensure(a,(...c)=>{const f=c.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,f);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=K.Defined,t.progress.work(!0,t.index,e.exports)}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=K.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 s=this.createSearch(this.query);return e.indexOf("?")==-1?(t!=="js"&&t!=="css"&&(e+=".js"),s.length>0&&(e+=`?${s}`)):s.length>0&&(e+=`&${s}`),e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let s in e){let n=`${e[s]}`;t+=`${encodeURIComponent(s)}=${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 s=e.lastIndexOf(".",t);return s==-1?"":e.substring(s+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 s=0;s<t.length;s++){const n=t[s];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`${wt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${wt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${E().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`${wt()}${e}`}}function hr(r,e){let t=r.sheet,s=!1;if(e.isOldWebKit)t&&(s=!0);else if(t)try{t.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{e.time+=20,s?e.success():e.timeout>e.timeout?e.error():hr(r,e)},20)}class Nn{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,s){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values.push(s)),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 Dn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const is=Symbol("fk"),os=Symbol("fbk"),ls=Symbol("fepk");function Hn(r={}){const e=new gn(r),t=new Ft,s=new Kt,n=new fr,i={get router(){return e},get bus(){return t},get Bus(){return Ft},get EventProxy(){return Kt},get eventproxy(){return s},get EventChain(){return Ke},get Require(){return fr},get require(){return n},get extend(){return $},get clone(){return Xe},get isESModule(){return Rt},install(o){o.provide(tt,e),o.provide(is,i),o.provide(os,t),o.provide(ls,s),o.component(vn,ns),o.component(wn,Mn),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 s}}),o.config.globalProperties.$fox_on=function(a,l,u=!1){s.on(a,l,u)},o.config.globalProperties.$fox_off=function(a,l){s.off(a,l)},o.config.globalProperties.$fox_once=function(a,l){s.once(a,l)},o.config.globalProperties.$fox_all=function(...a){let l=s;Reflect.apply(l.all,l,a)},o.config.globalProperties.$fox_trigger=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.config.globalProperties.$fox_emit=function(a,...l){let u=s;Reflect.apply(u.trigger,u,[a,...l])},o.mixin({computed:{$route(){return Lt(this)}}}),e.init()}};return i}function as(r){return r?r.$router:g.inject(tt)}function Un(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?Lt(r):null}function Bn(r){return r?r.$fox:g.inject(is)}function Vn(r){return r?r.$bus:g.inject(os)}function Jn(r){return r?r.$eventProxy:g.inject(ls)}function Wn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.beforeEach(t),g.onUnmounted(()=>{e.removeBeforeEach(t)})}function zn(r){const e=as(),t=(s,n,i)=>{try{Reflect.apply(r,{},[s,n])}catch(o){console.error(o)}i()};e.afterEach(t),g.onUnmounted(()=>{e.removeAfterEach(t)})}p.Bus=Ft,p.EventChain=Ke,p.EventProxy=Kt,p.FoxBeforeEnter=Ps,p.FoxBeforeLeave=Es,p.FoxEnter=Cs,p.FoxLeave=$s,p.FoxLeaveEnd=Qe,p.OperationType=F,p.Route=P,p.clone=Xe,p.createFox=Hn,p.createMemoryHistory=Js,p.createWebHashHistory=Vs,p.createWebHistory=yn,p.deleteContextValue=Hr,p.extend=$,p.foxBusKey=os,p.foxEventProxyKey=ls,p.foxKey=is,p.injectContextValue=jt,p.isArray=dr,p.isDate=gr,p.isESModule=Rt,p.isEqual=Ct,p.isFunction=S,p.isMap=mr,p.isNil=Fe,p.isObject=cs,p.isPlainObject=fs,p.isPromise=br,p.isSet=pr,p.isString=vr,p.isSymbol=wr,p.onAfterRouteUpdate=zn,p.onBeforeRouteUpdate=Wn,p.onFoxActivated=Wr,p.onFoxInactivated=zr,p.provideContextValue=Dr,p.rawState=Lr,p.reactiveState=Kr,p.sessionKey=se,p.shallowReactiveState=jr,p.toBoolean=xt,p.toNumber=Pr,p.toTypeString=Ge,p.typeOf=Pt,p.useBus=Vn,p.useEventProxy=Jn,p.useFox=Bn,p.useRoute=Un,p.useRouter=as,Object.defineProperty(p,Symbol.toStringTag,{value:"Module"})});
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@fox-js/fox",
3
3
  "type": "module",
4
- "version": "3.1.1-7",
4
+ "version": "3.1.1-8",
5
5
  "description": "Fox Router and commons Utils",
6
6
  "author": "jiangcheng",
7
7
  "keywords": [