@fox-js/fox 3.1.1-20 → 3.1.1-21

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 +1 @@
1
- "use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const g=require("vue"),ye=typeof window<"u",A=function(){return window},Be=function(){return window.document};function ir(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 pt(){if(!ye)return"/";let r=A().location,e=`${r.protocol}//${r.host}`;return e+=ir(r.pathname),e}function it(r,e,t,s=!1){r.addEventListener?r.addEventListener(e,t,s):r.attachEvent?r.attachEvent(`on${e}`,t):r[`on${e}`]=t}function Vt(r,e,t){r.removeEventListener?r.removeEventListener(e,t):r.detachEvent?r.detachEvent(`on${e}`,t):r[`on${e}`]=null}const Ue=(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)},Mt=Array.isArray,or=r=>ct(r)==="[object Map]",lr=r=>ct(r)==="[object Set]",ar=r=>r instanceof Date,R=r=>typeof r=="function",ur=r=>typeof r=="string",cr=r=>typeof r=="symbol",Cs=r=>r!==null&&typeof r=="object",fr=r=>Cs(r)&&R(r.then)&&R(r.catch),De=r=>r==null,hr=Object.prototype.toString,ct=r=>hr.call(r),As=r=>ct(r)==="[object Object]",yr=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function zt(r){return r.__esModule||yr&&r[Symbol.toStringTag]==="Module"}const dr=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function E(...r){let e=r[0]!==void 0&&r[0]!==null?r[0]:{},t=1,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]=E(n,u,l)}else l!==void 0&&(e[o]=l)}}return e}function ft(r,e,t=!1){if(!t)E(!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)&&!As(i))continue;n=ft(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 gt=dr?Promise.resolve():null;function Me(r,...e){gt!==null?e&&e.length>0?gt.then(()=>{r(e)}):gt.then(r):e&&e.length>0?setTimeout(()=>{r(e)}):setTimeout(r)}function Wt(r){return r==null?!1:typeof r=="boolean"?r:typeof r=="string"?r.toLocaleLowerCase()==="true":!!r}function mr(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 It(r){let t=Object.prototype.toString.call(r);return r==null?String(r):pr[t]||"object"}function Nt(r,e){if(r==e)return!0;if(r===void 0||e===void 0)return!1;let t=It(r),s=It(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(!Nt(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(!Nt(i,o))return!1}return!0}return!1}const Es=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=Es(s)),typeof t=="symbol"?e[String(t)]=s:e[t]=s}return e},gr=/^Symbol\((.*)\)$/,$s=r=>{const e={};for(let t of Reflect.ownKeys(r)){let s=r[t];s&&!Array.isArray(s)&&typeof s=="object"&&(s=$s(s));const n=gr.exec(t);if(n&&n[1]){const i=Symbol.for(n[1]);e[i]=s}else e[t]=s}return e};function _s(r,e){let t=null;return function(...s){t&&clearTimeout(t),t=setTimeout(()=>{t=null,Reflect.apply(r,null,[...s])},e)}}const ns=Symbol("idKey"),de=Symbol("valueKey"),x=Symbol("childrenKey"),z=Symbol("growKey");class Ks{[z]=!0;[ns];[de]=g.ref();[x]=new Map;constructor(e){this[ns]=e}}class vr{get(e,t){if(t=="value")return e[de].value;if(t==="grow")return e[z];let s=e[x].get(t);if(s)return Ne(s);if(e[z])return s=Gt(t),s[z]=e[z],e[x].set(t,s),Ne(s)}set(e,t,s){return t=="value"?(e[de].value=s,!0):t==="grow"?(e[z]=Wt(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 Jt="__proxy__";function Gt(r){const e=new Ks(r);return Reflect.set(e,Jt,new Proxy(e,new vr)),e}function Ne(r){return Reflect.get(r,Jt)}let wr=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&De(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(ye){const t=A();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 js extends Ks{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new wr(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=Gt(i),s[x].set(i,o)),s=o}return s[de].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[de].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 br=["put","get","contains","remove","clear","_persistHandler"];function is(r){return br.includes(r)}class Rr{get(e,t){if(t=="value")return e[de].value;if(t==="grow")return e[z];if(t===x)return e[x];if(typeof t=="string"&&is(t))return e[t];const s=String(t);let n=e[x].get(s);if(n)return Ne(n);if(e[z])return n=Gt(s),n[z]=e[z],e[x].set(s,n),Ne(n)}set(e,t,s){return t=="value"?(e[de].value=s,!0):t==="grow"?(e[z]=Wt(s),!0):is(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 Sr(r,e){const t=new js(r,e),s=new Rr,n=new Proxy(t,s);return Reflect.set(t,Jt,n),t}const Ht=new Proxy(js,{construct(r,e){const t=e[0]??{},s=e[1],n=Sr(t,s);return Ne(n)}}),Xt=r=>!r||typeof r!="object"?!0:Reflect.ownKeys(r).length===0;class qs{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&De(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(ye){const t=A();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||Xt(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 Ts(r,e,t){const s=new qs(t);s.restore(e);const n=l=>{const u=g.toRaw(l),c={};for(let f in u){const h=u[f];De(h)||(c[f]=h)}Xt(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=_s(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 xr(r,e){return Ts(!1,r,e)}function Pr(r,e){return Ts(!0,r,e)}function Fr(r,e){const t=new qs(e);t.restore(r);const s=a=>{const l=g.toRaw(a),u={};for(let c in l){const f=l[c];De(f)||(u[c]=f)}Xt(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=_s(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 Cr(r,e){return Fr(r,e)}const Q="default",ks=Symbol("sync"),O=Symbol("normalizeRoute");function os(r){let e=!1;return function(...t){if(!e)return e=!0,Reflect.apply(r,{},t)}}function Ar(r){let e=r.src;return new Promise((t,s)=>{const n=os(a=>{zt(a)&&(a=a.default),r.component=a,console.debug("success load async module"),t()}),i=os(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 Er{name;level;rootName;rootIndex=0;constructor(e,t,s,n){this.name=e,this.level=t,this.rootName=s,this.rootIndex=n}}class Se{to;routeModel;from;data={};constructor(e,t){this.to=e,this.from=t}static from(e){const t=new Se(e.to,e.from),s=e.data??{};return E(!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??Q}!${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 ft(s,e,t),s}static isSame(e,t){return!e||!t?!1:e===t?!0:e.root!==t.root||e.index!==t.index?!1:e.path&&t.path&&e.path===t.path?!0:!!(e.name&&t.name&&e.name===t.name)}static isSamePathForRoute(e,t){return!e||!t?!1:e===t||e.path&&t.path&&e.path===t.path?!0:!!(e.name&&t.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 $r{id;name;props;src;component;constructor(e,t,s){this.id=ie.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=s}get isResolved(){return this.component!==void 0}resolve(){return Ar(this)}}class ls{models=[]}class vt{path;match;redirect;name;meta;matchedRoutes;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 Ls="FoxBeforeEnter",Os="FoxEnter",Ms="FoxLeave",Is="FoxLeave",ot="FoxLeaveEnd",ht=Symbol("rk"),wt=Symbol("vd"),as=Symbol("rv"),bt=Symbol("rvi"),us=Symbol("pv"),Rt=Symbol("pvi"),Ae=Symbol("registerKey");class _r{[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 he=Symbol("lc");function lt(r,e=!1){let t=r;if(Reflect.has(t,he))return t[he];if(e){const s=new _r;return t[he]=s,s}return null}function Ns(r,e=!1){let t=null,s=r;for(;s&&!(Reflect.has(s,he)&&(t=s[he],t));)s=s.$parent;if(!t&&e){const n=r;n&&n.$parent&&(t=lt(n.$parent,e))}return t}function Qt(r,e){let t=r;for(;t;){if(Reflect.has(t,he)){const s=t[he];if(s.has(e))return s.get(e)}t=t.$parent}return null}function Kr(r,e,t){Ns(r,!0)?.set(e,t)}function jr(r,e){Ns(r,!0)?.delete(e)}function cs(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 lt(e.component.proxy,!1)}return null}const at=Symbol("hooksKey");function qr(r){let e=r.get(at);e||(e=[],r.set(at,e))}function fs(r,e){let t=r.get(at);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 Dt=(r=>(r.DEACTIVATED="da",r.ACTIVATED="a",r))(Dt||{});class Tr{type;hook;target;constructor(e,t,s){this.target=s,this.hook=t,this.type=e}}function kr(r,e,t,s){let n=new Tr(e,t,s);return r.push(n),!0}function Lr(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 Hs(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=Qt(s,at);if(n==null){console.warn("hooks context not found");return}g.onUnmounted(()=>{Lr(n,r,e,s)}),kr(n,r,e,s)}}const Or=Hs("a"),Mr=Hs("da"),Ds=Symbol("routeKey");function hs(r,e){r.set(Ds,e)}function Yt(r){let e=Qt(r,Ds);return typeof e=="function"?e():e??null}function Bs(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 Us(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 Ir(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 Vs(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 zs(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 Nr(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 Hr(r,e=!1){let t=null;return e?t=r.beforeShow??r.beforeEnter:t=r.beforeEnter,t}function Dr(r,e=!1){let t=null;return e?t=r.show??r.enter:t=r.enter,t}function Br(r,e=!1){let t=null;return e?t=r.afterShow??r.afterEnter:t=r.afterEnter,t}function Ur(r,e=!1){let t=null;return e?t=r.showCancelled??r.enterCancelled:t=r.enterCancelled,t}function Vr(r,e=!1){let t=null;return e?t=r.beforeHide??r.beforeLeave:t=r.beforeLeave,t}function zr(r,e=!1){let t=null;return e?t=r.hide??r.leave:t=r.leave,t}function Wr(r,e=!1){let t=null;return e?t=r.afterHide??r.afterLeave:t=r.afterLeave,t}function Jr(r,e=!1){let t=null;return e?t=r.hideCancelled??r.leaveCancelled:t=r.leaveCancelled,t}function Zt(r){let e,t=r.transitionDuration;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 Fe(r,e){r.classList.contains(e)||r.classList.add(e)}function Pe(r,e){r.classList.remove(e)}const Gr=ye&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function yt(r){Gr(r)}function _(r,e,t){R(e)&&(r==null&&(r={}),Reflect.apply(e,r,t))}function Ws(r,e,t,s=-1,n,i,o){let a=[];const l=()=>{for(let u of a)Vt(e,u.type,u.listener);a=[]};if(R(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,r,[e,t,s])},n);return}const u=["animationend","transitionend",ot],c=f=>{const h=f.target||f.srcElement,y=f.currentTarget;h===y&&(l(),Reflect.apply(i,r,[e,t,s]))};u.forEach(f=>{it(e,f,c),a.push({type:f,listener:c})})}if(R(o)){const u="animationcancel",c=f=>{const h=f.target||f.srcElement,y=f.currentTarget;h===y&&(l(),Reflect.apply(o,r,[e,t,s]))};it(e,u,c),a.push({type:u,listener:c})}}function dt(r){return!ye||r===null?!1:r.opsType===F.Append||r.opsType===F.Open}function Js(r,e,t,s={},n,i=-1){if(e||dt(n)){const o=Bs(s,e);o&&Fe(t,o);const a=Us(s,e);a&&Fe(t,a);const l=Hr(s,e);_(r,l,[t,e,n,i])}}function Gs(r,e,t,s={},n,i,o,a){if(!dt(i)&&!e){R(a)&&a(r,a,[t]);return}const l=Bs(s,e),u=Us(s,e),c=Ir(s,e),f=Dr(s,e),h=Br(s,e),y=Ur(s,e);if(!l&&!u&&!c&&!f){R(a)&&a(r,a,[t]);return}yt(()=>{Ws(r,t,i,o,n,()=>{u&&Pe(t,u),c&&Pe(t,c),R(h)&&_(r,h,[t,e,i,o]),R(a)&&a(r,a,[t])},()=>{R(y)&&_(r,y,[t,e,i,o])}),l&&Pe(t,l),c&&Fe(t,c),R(f)&&_(r,f,[t,e,i,o])})}function Xs(r,e,t,s={},n,i=-1){if(e||dt(n)){const o=Vs(s,e);o&&Fe(t,o);const a=zs(s,e);a&&Fe(t,a);const l=Vr(s,e);_(r,l,[t,e,n,i])}}function Qs(r,e,t,s={},n,i,o,a,l){if(!dt(o)&&!e){R(l)&&_(r,l,[t]),!e&&R(i)&&i();return}const u=Vs(s,e),c=zs(s,e),f=Nr(s,e),h=zr(s,e),y=Wr(s,e),d=Jr(s,e);if(!u&&!c&&!f&&!h){R(l)&&_(r,l,[t]),!e&&R(i)&&i();return}yt(()=>{Ws(r,t,o,a,n,()=>{try{c&&Pe(t,c),f&&Pe(t,f),R(y)&&_(r,y,[t,e,o,a]),R(l)&&_(r,l,[t])}finally{!e&&R(i)&&i()}},()=>{try{R(d)&&_(r,d,[t,e,o,a]),R(l)&&_(r,l,[t])}finally{!e&&R(i)&&i()}}),u&&Pe(t,u),f&&Fe(t,f),R(h)&&_(r,h,[t,e,o,a])})}function Bt(r,e,t={},s,n=-1){const i=t.mode??"default",o=Zt(t);return{mode:i,persisted:!1,beforeEnter:l=>{Js(r,!1,l,t,s,n)},enter:l=>{Gs(r,!1,l,t,o.enter,s,n)},leave:(l,u)=>{Xs(r,!1,l,t,s,n),Qs(r,!1,l,t,o.leave,u,s,n,()=>{e.transition=null,e=null})},clone:l=>Bt(r,e,t,s,n)}}function Ys(r){return r.el}function Xr(r,e,t={},s,n,i,o){if(i===!0){const a=Ys(e);if(a==null)return;const l=Zt(t);Js(r,!0,a,t,s,n),Gs(r,!0,a,t,l.show,s,n,u=>{R(o)&&_(r,o,[u])})}else R(o)&&_(r,o,[])}function Qr(r,e,t={},s,n,i,o){if(i===!0){const a=Ys(e);if(a==null)return;const l=Zt(t);Xs(r,!0,a,t,s,n),Qs(r,!0,a,t,l.hide,null,s,n,u=>{R(o)&&_(r,o,[u])})}else R(o)&&_(r,o,[])}function Yr(r,e={}){yt(()=>{for(let t=0;t<r.length;t++)Reflect.apply(r[t],e,[])})}function Zs(r,e,t={},s,n=-1){return{mode:t.mode??"default",persisted:!1,beforeEnter:a=>{Ue(Ls,{},a)},enter:a=>{Ue(Os,{},a)},leave:(a,l)=>{Ue(Ms,{},a),yt(()=>{const u=c=>{const f=c.target||c.srcElement,h=c.currentTarget;f===h&&(Vt(a,ot,u),l&&Reflect.apply(l,r,[]),e.transition=null,e=null)};it(a,ot,u),Ue(Is,{},a)})},clone:a=>Zs(r,e,t,s,n)}}const V=Symbol("rootKey"),U=Symbol("rootNodeKey"),fe=Symbol("parentNodeKey"),st=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 Ee{_slots;get slots(){return this._slots==null&&(this._slots=g.shallowRef([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[st];[V];[U]=null;[fe]=null;get name(){return this[st]}constructor(e,t,s){this[st]=e,this[V]=t,s&&(this[U]=s)}}class I{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 St{views=[]}class Zr{layers=[]}function se(r,e,t){return typeof r=="function"?Reflect.apply(r,{},[e,t]):r}function xt(r,e){if(!r)return null;const t=r(e);return t.length===1?t[0]:t}function ge(r,e){return typeof e=="function"?e(r):r}class en{node;state;constructor(e,t){this.node=e,this.state=t}}const ut=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},transitionDuration:{type:[String,Number,Object],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(ht,null),i=g.inject(wt,0),o=g.inject(as,null),a=g.inject(bt,-1);let l=null,u=r.modelSlot;if(u){if(g.provide(wt,i+1),g.provide(bt,u.index),g.provide(Rt,u.index),!u.route){console.warn("child view render error, route not exist");return}const h=lt(t.proxy,!0);qr(h),hs(h,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const f=r.name,h=g.inject(us,null),y=g.inject(Rt,0);if(l=n[ks](f,i,o,a,h,y),l===null)return;g.provide(us,l);const d=l[V]===!0;if(d&&g.provide(as,l),!s&&(g.provide(bt,-1),g.provide(wt,i+1),g.provide(Rt,-1),d)){const p=lt(t.proxy,!0);hs(p,()=>{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 w=0;w<y.length;w++){const m=y[w],$=`${r.name}_${m.index}`,W=se(r.transition,m.route,w)??!0,Y={modelSlot:m};let me;e.slots.default?me=g.h(ut,Y,{default:e.slots.default}):me=g.h(ut,Y);const j={},q=se(r.viewClass,m.route,w);typeof q=="string"&&q.length>0&&(j[q]=!0);const oe=se(r.viewActiveClass,m.route,w),Z=se(r.viewInactiveClass,m.route,w),k=c.value.get($);if(typeof oe=="string"&&oe.length>0&&(j[oe]=m.active),typeof Z=="string"&&Z.length>0&&(j[Z]=!m.active),k&&m.active!==k.state){const M=k.node;m.active?d.unshift(()=>{const mt=()=>{let Ce=cs(M);Ce!=null&&fs(Ce,Dt.ACTIVATED)};Xr(t,M,r,m.route,w,W,mt)}):d.push(()=>{const mt=()=>{const Ce=cs(M);Ce!=null&&fs(Ce,Dt.DEACTIVATED)};Qr(t,M,r,m.route,w,W,mt)})}const J={class:j,key:$},D=se(r.viewTagProps,m.route,w);if(D!==null&&typeof D=="object"){const M=ge(D,n?.propsFilter);E(!0,J,M)}if(m.route?.viewTagAttrs&&typeof m.route?.viewTagAttrs=="object"){const M=ge(m.route.viewTagAttrs,n?.propsFilter);E(!0,J,M)}const ee=se(r.viewTag,m.route,w),pe=g.h(ee,J,{default:()=>[me]});if(f.set($,new en(pe,m.active)),c.value.delete($),W===!0){const M=Bt(t,pe,r,m.route,w);pe.transition=M}else if(W==="custom"){const M=Zs(t,pe,r,m.route,w);pe.transition=M}h.push(pe)}c.value=f,Yr(d,t);const p=se(r.tag,null,-1),v={};return Object.assign(v,e.attrs),g.h(p,v,{default:()=>h})}else if(u!=null){const f=u.model,h={};if(f.props){if(typeof f.props=="object"){const d=ge(f.props,n?.propsFilter);E(!1,h,d)}else if(f.props===!0&&typeof u.route?.params=="object"){const d=ge(u.route.params,n?.propsFilter);E(!1,h,d)}}const y=g.h(f.component,h);return xt(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&&Yt(t.proxy))??null,d=h.model,p={};if(d.props){if(typeof d.props=="object"){const m=ge(d.props,n?.propsFilter);E(!1,p,m)}else if(d.props===!0&&typeof y?.params=="object"){const m=ge(y.params,n?.propsFilter);E(!1,p,m)}}const v=g.h(d.component,p);if(se(r.transition,y,-1)??!0){const m=Bt(t,v,r,y,-1);v.transition=m}return xt(e.slots.default,{Component:v,route:y})??v}else return xt(e.slots.fallback,{})}}}});function tn(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 sn(r,e){return r==null||e==null?!1:!!(r===e||r.path&&r.path===e.path||r.name&&r.name===e.name)}function rn(r,e){return r==null||e==null?!1:!!(r.path&&e.path&&e.path.startsWith(r.path)||r.name&&r.name==e.name)}function ve(r,e){return typeof r=="function"?Reflect.apply(r,{},[e]):r}let er=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(ht,null);return()=>{let s=ve(r.to,null),n=ve(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.currentRoute.value);let a={},l=ve(r.activeClass,i);if(typeof l=="string"&&l.length>0&&(a[l]=rn(i,o)),ve(r.exact,i)===!0){let h=ve(r.exactActiveClass,i);typeof h=="string"&&h.length>0&&(a[h]=sn(i,o))}let c={class:a};(n==="a"||n==="A")&&(c.href=i?.path??i?.name??"#"),E(!0,c,e.attrs);let f=ve(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}tn(y)&&t.to(i)};c[f]=h}return g.h(n,c,e.slots)}}});const N=Symbol("chainKey"),L=Symbol("cursorKey"),Pt=Symbol("$persistentModeKey"),C=Symbol("statusKey"),G=Symbol("argsKey"),Ve=Symbol("exArgsKey"),we=Symbol("successFnsKey"),$e=Symbol("errorFnsKey"),ne=Symbol("sessionKey"),X=Symbol("_go");class He{[N]=[];[L]=0;[Pt]=!1;[C]="Free";[G]=[];[Ve]=[];[we]=[];[$e]=[];[ne];get session(){return this[ne]}constructor(e,t=!1){this[ne]=e,this[Pt]=t}[X](e,...t){let s=this[C];if(this[C]="Busy",this[L]+=e,this[L]<0&&(this[L]=0),this[G]=t,s==="Exception"||s==="Reject"){let a=[{session:this[ne]},...this[Ve]];for(;this[$e].length>0;)try{let l=this[$e].shift();typeof l=="function"&&Me(()=>{Reflect.apply(l,{},a)})}catch(l){console.error(l.message,l)}return this[C]=s,this[N]=[],this[L]=0,this}else if(s==="Finished"||this[L]>=this[N].length){let a=[{session:this[ne]},...this[G]];for(;this[we].length>0;){let l=this[we].shift();typeof l=="function"&&Me(()=>{Reflect.apply(l,{},a)})}return this[C]="Free",this}if(this[L]>=this[N].length)return this[C]="Free",this;let n=this[N][this[L]];this[Pt]||(this[N].splice(0,this[L]+1),this[L]=-1);let i=this[L]+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[N].splice(i,0,l),i++)},session:this[ne]};Me(()=>{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[C]="Finished",this[G]=e,Reflect.apply(this[X],this,[0])}reject(...e){return this[C]="Reject",this[Ve]=e,Reflect.apply(this[X],this,[0])}throw(...e){return this[C]="Exception",this[Ve]=e,Reflect.apply(this[X],this,[0])}reset(...e){this[C]="Busy",this[G]=e,this[N]=[],this[L]=0;let s=[{session:this[ne]},...this[G]];for(;this[we].length>0;){let n=this[we].shift();Me(()=>{Reflect.apply(n,this,s)})}return this[C]="Free",this}post(e){return this[C]==="Reject"||this[C]==="Exception"?this:(Array.isArray(e)?this[N]=[...this[N],...e]:this[N].push(e),this[C]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this))}wait(e,t){return e&&typeof e=="function"&&this[we].push(e),t&&typeof t=="function"&&this[$e].push(t),this[C]==="Busy"?this:(Reflect.apply(this[X],this,[0,...this[G]]),this)}exception(e){return e&&typeof e=="function"&&this[$e].push(e),this[C]==="Busy"?this:Reflect.apply(this[X],this,[0,...this[G]])}isFinish(){return this[C]=="Reject"||this[C]=="Free"&&this[L]>=this[N].length}}const be=Symbol("registerKey");class nn{policy;callback;constructor(e,t){this.callback=e,this.policy=t}}class Ut{[be]=new Map;constructor(){}on(e,t,s=!1){let n=this[be].get(e);n||(n=new Array,this[be].set(e,n));let i=s===!0?1:0,o=new nn(t,i);return n.push(o),this}off(e,t){if(!t)return this[be].delete(e),this;let s=this[be].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[be].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{Me(()=>{Reflect.apply(i.callback,{},t)})}catch(o){console.error(o.message,o)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}}var Ie=(r=>(r[r.Static=0]="Static",r[r.Param=1]="Param",r[r.Group=2]="Group",r))(Ie||{});const on={type:0,value:""},ln=/[a-zA-Z0-9_]/;function an(r){if(!r)return[[]];if(r==="/")return[[on]];if(!r.startsWith("/"))throw new Error(`Invalid path "${r}"`);function e(y){throw new Error(`ERR (${t})/"${u}": ${y}`)}let t=0,s=t;const n=[];let i;function o(){i&&n.push(i),i=[]}let a=0,l,u="",c="";function f(){u&&(t===0?i.push({type:0,value:u}):t===1||t===2||t===3?(i.length>1&&(l==="*"||l==="+")&&e(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:1,value:u,regexp:c,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):e("Invalid state to consume buffer"),u="")}function h(){u+=l}for(;a<r.length;){if(l=r[a++],l==="\\"&&t!==2){s=t,t=4;continue}switch(t){case 0:l==="/"?(u&&f(),o()):l===":"?(f(),t=1):h();break;case 4:h(),t=s;break;case 1:l==="("?t=2:ln.test(l)?h():(f(),t=0,l!=="*"&&l!=="?"&&l!=="+"&&a--);break;case 2:l===")"?c[c.length-1]=="\\"?c=c.slice(0,-1)+l:t=3:c+=l;break;case 3:f(),t=0,l!=="*"&&l!=="?"&&l!=="+"&&a--,c="";break;default:e("Unknown state");break}}return t===2&&e(`Unfinished custom RegExp for param "${u}"`),f(),o(),n}const ys="[^/]+?",un={sensitive:!1,strict:!1,start:!0,end:!0},cn=/[.+*?^${}()[\]/\\]/g;function fn(r,e){const t=E(!0,{},un,e),s=[];let n=t.start?"^":"";const i=[];for(const u of r){const c=u.length?[]:[90];t.strict&&!u.length&&(n+="/");for(let f=0;f<u.length;f++){const h=u[f];let y=40+(t.sensitive?.25:0);if(h.type===Ie.Static)f||(n+="/"),n+=h.value.replace(cn,"\\$&"),y+=40;else if(h.type===Ie.Param){const{value:d,repeatable:p,optional:v,regexp:w}=h;i.push({name:d,repeatable:p,optional:v});const m=w||ys;if(m!==ys){y+=10;try{new RegExp(`(${m})`)}catch(W){throw new Error(`Invalid custom RegExp for param "${d}" (${m}): `+W.message)}}let $=p?`((?:${m})(?:/(?:${m}))*)`:`(${m})`;f||($=v&&u.length<2?`(?:/${$})`:"/"+$),v&&($+="?"),n+=$,y+=20,v&&(y+=-8),p&&(y+=-20),m===".*"&&(y+=-50)}c.push(y)}s.push(c)}if(t.strict&&t.end){const u=s.length-1;s[u][s[u].length-1]+=.7000000000000001}t.strict||(n+="/?"),t.end?n+="$":t.strict&&!n.endsWith("/")&&(n+="(?:/|$)");const o=new RegExp(n,t.sensitive?"":"i");function a(u){const c=u.match(o),f={};if(!c)return null;for(let h=1;h<c.length;h++){const y=c[h]||"",d=i[h-1];f[d.name]=y&&d.repeatable?y.split("/"):y}return f}function l(u){let c="",f=!1;for(const h of r){(!f||!c.endsWith("/"))&&(c+="/"),f=!1;for(const y of h)if(y.type===Ie.Static)c+=y.value;else if(y.type===Ie.Param){const{value:d,repeatable:p,optional:v}=y,w=d in u?u[d]:"";if(Mt(w)&&!p)throw new Error(`Provided param "${d}" is an array but it is not repeatable (* or + modifiers)`);const m=Mt(w)?w.join("/"):w;if(!m)if(v)h.length<2&&(c.endsWith("/")?c=c.slice(0,-1):f=!0);else throw new Error(`Missing required param "${d}"`);c+=m}}return c||"/"}return{re:o,score:s,keys:i,parse:a,stringify:l}}function hn(r,e){const t=fn(an(r),e);return function(s){const n=t.parse(s);return n?{path:s,params:n}:null}}var rt=(r=>(r[r.Part=0]="Part",r[r.All=1]="All",r))(rt||{});class yn{time;route}class dn{forbidTime=300;submitRecorder=new yn;isSameRoute(e,t){return e==null||t==null?!1:e.name===t.name&&e.path===t.path&&e.root===t.root}acquire(e){let t=new Date().getTime();if(this.isSameRoute(e,this.submitRecorder.route)&&this.submitRecorder.time&&t-this.submitRecorder.time<=this.forbidTime){this.submitRecorder.time=t;return}return this.submitRecorder.route=e,this.submitRecorder.time=t,t}release(e){this.submitRecorder.time===e&&(this.submitRecorder.route=void 0)}}const xe=Symbol("_notifyChange");class ds{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}}const le=Symbol("historyChangeConsumerKey"),ms=Symbol("_navigateFirstRoute"),ze=Symbol("_getRouteMark"),Ft=Symbol("_getUrlSearch"),Ct=Symbol("_generateLocation"),We=Symbol("_setRouteMarkRecorder"),_e=Symbol("beforeRestoreFiltersKey"),ps=Symbol("_beforeRestore"),gs="Symbol(_fox_restore_point)";function Ke(r,...e){return typeof r=="function"?Reflect.apply(r,null,[...e]):r}function vs(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 tr{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??A().sessionStorage,this.backTimeout=l??320}init(e=!0){const t=A();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[xe](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[We](i,n)}}catch{}}}),it(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[ms](),Promise.resolve()}destroy(){if(this.historyChange){const e=A();Vt(e,"popstate",this.historyChange)}}[ps](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}[ms](){const e=this[ze]()??"/",t=this.storage.getItem(gs);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?$s(l.params):{},this[ps](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[xe](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[xe]([i])}[We](e,t){try{t.forEach(i=>{i.params=i.params?Es(i.params):{}});const n=JSON.stringify({mark:e,routes:t});this.storage.setItem(gs,n)}catch(s){console.error(s.message,s)}}setRestorePoint(e){const t=this[ze]()??"/";this[We](t,e)}[xe](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[ze](){const e=A();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=A().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=A();this[le]=t,s.history.go(e)}goBack(e,t){const s=A(),n=s.history.state;if(vs(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=A().history.state;if(vs(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 v=h-1;v>=0;v--){const w=S.from(f[v]);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[We](t,e.routes)}push(e){const t=this[Ct](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!Ke(this.traceless,e.currentRoute)&&A().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[Ct](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!Ke(this.traceless,e.currentRoute))&&A().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[Ct](e){const t=A();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(Q)&&(i=i.substring(Q.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 mn(r=!0,e=null,t="",s=!0,n=!1,i){return e!==null&&(e=A().location.pathname),e&&e.endsWith("/")&&(e=e.substring(0,e.length-1)),new tr("path",e??"",t,r,s,n,i)}function sr(r=!0,e="",t=!0,s=!1,n){return new tr("hash","",e,r,t,s,n)}class pn{maxSize=50;cursor=-1;queue=[];changeHandler;base;historyMonitor=!1;traceless=!1;constructor(e,t=50){this.base=e,this.maxSize=t}init(e=!0){return Promise.resolve()}destroy(){this.queue=[]}beforeRestoreEach(e){}removeBeforeRestoreEach(e){return!1}listen(e){this.changeHandler=e}[xe](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let 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[xe](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 rr(r="",e=50){return new pn(r,e)}const Je=Symbol("_constructRouteModel"),Ge=Symbol("_findRouteModel"),At=Symbol("_findRootView"),gn=Symbol("_getFirstView"),ae=Symbol("_removeView"),ws=Symbol("_buildPage"),bs=Symbol("_resolveComponent"),Rs=Symbol("_update"),re=Symbol("_merge"),Et=Symbol("_handleHistoryChange"),ue=Symbol("_handleRouteUpdated"),Xe=Symbol("routeUpdatedCallback"),$t=Symbol("currentRoute"),b=Symbol("currentRoutes"),Qe=Symbol("routeSessionCacheKey"),Ss=Symbol("_addRouteRecorder"),je=Symbol("_removeRouteRecorder"),Ye=Symbol("_cloneRouteRecorder"),K=Symbol("_handleError"),Ze=Symbol("errorCallback"),H=Symbol("registerKey"),et=Symbol("notFoundKey"),_t=Symbol("notFoundPathKey"),B=Symbol("forestKey"),P=Symbol("historyKey"),qe=Symbol("beforeFiltersKey"),Te=Symbol("afterFiltersKey"),ke=Symbol("destroyFiltersKey"),Kt=Symbol("propsFilterKey"),Re=Symbol("mainDispatcherKey"),jt=Symbol("initKey"),ce=Symbol("readyKey"),qt=Symbol("readyHandlersKey"),tt=Symbol("_markReady"),xs=Symbol("_createNextFn"),Tt=Symbol("_start"),kt=Symbol("_before"),Lt=Symbol("_after"),Ps=Symbol("_destroy"),Ot=Symbol("_load"),Le=Symbol("_unload"),Oe=Symbol("routerGuardKey");function vn(r){return r.layers.length==0||r.layers[0].views.length==0}class wn{[H]=new Array;[et];[_t]="*";[ce]=!1;[qt]=[];[B]=new Zr;[P];[b]=new Array;[$t]=g.shallowRef(null);[Qe]=new WeakMap;[Ze]=null;[Xe]=null;[qe]=new Array;[Te]=new Array;[ke]=new Array;[Kt]=null;[Re]=new He;[Oe]=new dn;[jt]=!1;get currentRoute(){return g.readonly(this[$t])}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]=ye?sr():rr(),this[P]?.listen(async s=>{let n=!0;try{if(typeof s=="string"){const i=this[O](s);i&&await this[Et]([i])}else await this[Et](s)}catch(i){console.error(i.message,i),n=!1}this[ce]===!1&&this[tt](n)})}[K](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[Ze]=="function")try{this[Ze](e,t)}catch{}console.error(e)}init(){this[jt]!==!0&&(this[P]?.init(!this[ce]),this[jt]=!0)}isReady(){return this[ce]?Promise.resolve():new Promise((e,t)=>{this[qt].push([e,t])})}[tt](e){this[ce]=!0,this[qt].forEach(([t,s])=>{try{e?t():s()}catch(n){console.error(n.message,n)}})}[Et](e){try{if(!e){let o=[...this[b]].reverse();return this[Le](o),ye&&A().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[Le](n)){if(s.length>0)return this.restore(s);if(t!==null)return this.restore([t])}}else return this.restore(s)}catch(t){this[K](t)}return Promise.resolve()}[ue](e=null){if(this[$t].value=e,typeof this[Xe]=="function")try{this[Xe](e)}catch{}}[Ss](e,t){if(e.opsType===F.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[Qe].set(e,t),this[ue](e)}[Ye](){let e=[];for(let t of this[b]){let s=S.clone(t,!0);e.push(s)}return e}[je](e){if(!this[b]){this[ue](null);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){const s=this[b][t];this[b].splice(t,1);const n=this[Qe].get(s);if(this[Qe].delete(s),this[Ps](s,n),s.opsType===F.Append){const i=this[b].length-1;this[ue](this[b][i]??null)}else this[ue](null)}else this[ue](null)}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[Kt]=e}get propsFilter(){return this[Kt]}setRestorePoint(){const e=this[Ye]();this[P]?.setRestorePoint(e)}onRouteUpdated(e){this[Xe]=e}onError(e){this[Ze]=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[Te].push(e)}removeAfterEach(e){const t=this[Te].indexOf(e);return t!==-1?(this[Te].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[_t]){this.setNotFoundRoute(e);return}const s=this[Je](e);if(t==-1)this[H]=[...this[H],...s];else for(let n=s.length-1;n>=0;n--)this[H].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[H].length;s++){const n=this[H][s];if(t?.path&&n.path===t.path)return this[H].splice(s,1),!0;if(t?.name&&n.name===t.name)return this[H].splice(s,1),!0}return!1}hasRoute(e){const t=this[O](e);return t===null?(console.warn("route格式错误",e),!1):this[H].findIndex(n=>{if(t?.path&&n.path===t.path||t?.name&&n.name===t.name)return!0})!==-1}setNotFoundPath(e){this[_t]=e}setNotFoundRoute(e){const t=this[Je](e);this[et]=t[0]}getRoutes(){return[...this[H]]}[Je](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let s=e.components??(e.component&&{"":e.component});if(!s){const l=new vt;return l.path=t,l.redirect=e.redirect,[l]}const n=new S;n.path=t,n.name=e.name,n.meta=e.meta;let i=[];for(let l in s){const u=s[l];l.length===0&&(l=Q);const c=new $r(l,u,e.props);i.push(c)}let o=!1,a=[];if(e.children)for(let l of e.children){const u=this[Je](l);for(let c of u){let f=new vt;f.name=c.name,c.path&&c.path.length>0?t!=="/"?f.path=`${t}${c.path}`:f.path=c.path:(o=!0,f.path=t);let h=new ls;h.models=[...i],f.layers=[h,...c.layers];const y=c.matchedRoutes??[];f.matchedRoutes=[n,...y],a.push(f)}}if(!o){const l=new ls;l.models=i;const u=new vt;u.name=e.name,u.path=t,u.matchedRoutes=[n],u.layers=[l],a.splice(0,0,u)}return a}[Ge](e){const t=e.route;try{for(let s of this[H]){const n=t.path?t.template??t.path:null,i=t.name?t.template??t.name:null;if(n&&s.path){let o=s.match;o||(o=s.match=hn(s.path));const a=o(n);if(!a)continue;if(s.redirect){const l=new S;E(!0,l,t),l.path=s.redirect;const u={route:l,find:void 0};return this[Ge](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??{},E(!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}E(!0,t.params,u)}else typeof l=="object"&&E(!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)return 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&&E(!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??Q,t.opsType=t.opsType??this.options.defaultOperationType??F.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[O](e);return t?(t.opsType=F.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[K]("resolve route fail",t),this)}put(...e){const t=this[O](e);return t?(t.opsType=F.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[K]("resolve route fail",t),this)}replace(...e){const t=this[O](e);return t?(t.opsType=F.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[K]("resolve route fail",t),this)}append(...e){const t=this[O](e);return t?(t.opsType=F.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[K]("resolve route fail",t),this)}remove(e,t){return new Promise(s=>{this[Re].post(n=>{try{if(this[b].length===0){n.resolve(),s(!1);return}let i=-1,o=null,a=[];if(e){if(o=e.root??null,e.all)for(let u=this[b].length-1;u>0;u--){const c=this[b][u];if(c.opsType===F.Append){const f=c.root??Q;if(o&&o!==f)continue;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===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[b].length-1;u>0;u--){const c=this[b][u];if(c.opsType===F.Append){const f=c.root??Q;if(o&&o!==f)continue;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 for(let u=this[b].length-1;u>0;u--){let c=this[b][u];if(c.opsType===F.Append){a.push(c),i=u-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[Le](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[K](i),n.resolve(),s(!1)}})})}open(...e){let t=this[O](e);return t?(t.opsType=F.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[K]("resolve route fail",t),this)}close(e){return this[Re].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[Le](n),t.resolve()}catch(s){this[K](s),t.resolve()}}),this}to(...e){let t=this[O](e);if(!t)return this[K]("resolve route fail",t),this;let s=this[Oe].acquire(t);return s==null?(this[K]("route forbid",t),this):(this[Re].post(n=>{try{let i=this[Tt](t);this[kt](i),this[Ot](i),this[Lt](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 ds(u,this[Ye]());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(Se.clear(o.session),this[Oe].release(s),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(u){console.error(u.message,u)}this[ce]===!1&&this[tt](!0),i=null,n.resolve()},(o,a)=>{this[Oe].release(s),a!==null&&this[K](a,t),this[ce]===!1&&this[tt](!1),Se.clear(o.session),i=null,n.resolve()})}catch(i){this[Oe].release(s),this[K](i,t),n.resolve()}}),this)}back(e=1){this[P]?.go(-e,!1)}[xs](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()}}[Tt](e){const t=this[b].length>0?this[b][this[b].length-1]:void 0,s=new Se(e,t),n={route:e,find:null};if(this[Ge](n),n.find){s.routeModel=n.find,e.matched=n.find.matchedRoutes??[];const o={};if(Array.isArray(n.find?.matchedRoutes))for(let a=0;a<n.find.matchedRoutes.length;a++){const l=n.find.matchedRoutes[a];l.meta&&typeof l.meta=="object"&&Object.assign(o,l.meta)}e.meta&&typeof e.meta=="object"&&Object.assign(o,e.meta),e.meta=o}return new He(s)}[kt](e){for(let t of this[qe])e.post(s=>{const n=this[xs](s);Reflect.apply(t,{},[s.session.to,s.session.from,n,s.session])})}[Lt](e){e.post(t=>{for(let s of this[Te])try{Reflect.apply(s,{},[t.session.to,t.session.from,t.session])}catch(n){console.error(n.message,n)}t.resolve()})}[Ps](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,[])}[Ot](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[Ge](o))n=o.find,t.session.routeModel=n;else if(this[et])n=this[et];else{t.reject(`not find route model, path:${s.path??s.name}`);return}}const i=Se.from(t.session);this[ws](s,n,i).then(o=>{this[B],t.session.updateResult=o??{status:"success",message:""},t.resolve()},o=>{t.reject(o)})})}[Le](e){if(e.length==0)return!0;let t=this[B],s=[];for(let n of e){let i=this[At](t,n);i!=null&&s.push({...i,route:n})}if(s.length==0)return this[K]("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}[At](e,t){const s=t.root??Q;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[st]===s)return n={x:a,y:i},n}}return null}[gn](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==F.Append&&(l=!0)),a.push(new I(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||I.include(a,d[fe]))){let p=d.slots.value;for(let v=p.length-1;v>=0;v--){let w=p[v];w.route&&d[V]&&this[je](w.route),h.push(new I(d,w.index,c)),p.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[H].length==0){let t=this[B];if(t.layers.length>0){let s=t.layers[0].views;s.length>0&&(s[0].slots.value=[])}return this[b]=[],this[ue](null),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[Tt](l);this[kt](c),this[Ot](c),this[Lt](c),c.wait((f,h)=>{i=f.session.to,o=f.session.redirect,u.resolve()},(f,h)=>{i=null,h!==null&&this[K](h),u.resolve()})})}this[Re].post(a=>{if(i&&o===!0){const l=S.clone(i,!0),u=new ds(l,this[Ye]());this[P]?.replace(u)}a.resolve(),s()})})}[ws](e,t,s){const n=e.updateType??rt.Part;return this[bs](t).then(()=>{const o=this[Rs](t,e,s,n);if(o.status==="error")throw Error(o.message);return o})}[bs](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()}[Rs](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[B],a=vn(o),l=t.root??Q,u;!a&&n==rt.Part&&(u=this[At](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 St),o.layers[0].views.length==0){let h=t.root??Q;c=new Ee(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 v of p.views){if(v[V]&&v.name===h.rootName){d=new I(v,h.rootIndex??0,y-1);break}if(v[U]&&v[U].view.name===h.rootName&&v[U].index===h.rootIndex){d=v[U];break}}}if(!d)return{status:"error",message:"can not insert view(not find root node ref)"};c=new Ee(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??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,v=new I(c,t.index,f);this[re](o,d,e,p,v)}else if(t.opsType===F.Open){let h=c.slots.value;const y=t.active??!0;let d=!1;for(let p of h){if(p.route!==null&&S.isSamePathForRoute(p.route,t)){if(p.active===y)return t.index=p.index,t.active=y,p.route=t,{status:"noChange",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 v=f+1,w=1,m=new I(c,t.index,f);this[re](o,v,e,w,m)}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 I(c,t.index,f);this[re](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,v=new I(c,t.index,f);this[re](o,d,e,p,v)}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 v=[];for(let Y=1;Y<h.length;Y++)v.push(h[Y].index);v.length>0?this[ae](o,u,v,!0):d&&(c.slots.value=[...h]);let w=[new I(c,t.index,f)],m=f+1,$=1,W=new I(c,t.index,f);for(;w.length>0&&m<o.layers.length&&$<e.layers.length;m++,$++){let Y=[];for(let j=0;j<o.layers[m].views.length;j++){let q=o.layers[m].views[j];q[fe]&&I.include(w,q[fe])&&Y.unshift(j)}let me=[];for(let j of Y){let q=o.layers[m].views[j],oe=e.layers[$].models,Z;for(let k=0;k<oe.length;k++)if(q.name===oe[k].name){Z=oe[k];break}if(!Z)this[ae](o,{x:j,y:m},null,!1);else{let k=q.slots.value;if(k.length==0){let J=0;q.slots.value=[new te(null,Z,J)];let D=m+1,ee=$+1;this[re](o,D,e,ee,W)}else{let J=k[0];if(J.model!==Z){this[ae](o,{x:j,y:m},null,!0),q.slots.value=[new te(null,Z,0)];let D=m+1,ee=$+1;this[re](o,D,e,ee,W)}else{q[V]&&J.route!==null&&this[je](J.route);let D=[];for(let ee=1;ee<k.length;ee++)D.push(k[ee].index);D.length>0&&this[ae](o,{x:j,y:m},D,!0),me.push(new I(q,J.index,m))}}q[V]=!1}}w=me}this[re](o,m,e,$,W)}}}if(c&&c[U]){let h=c[U];h&&(t.slot=new Er(l,f,h?.view.name,h?.index??0))}return s.to=void 0,s.routeModel=void 0,this[Ss](t,s),{status:"success",message:""}}[re](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 Ee(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 St;l.views=[];for(let u of s.layers[o].models){let c=new Ee(u.name,!1,i),f=new te(null,u);c.slots.value=[f],l.views.push(c)}e.layers.push(l)}}[ks](e,t,s,n,i,o){if(t<0||t>this[B].layers.length)return null;if(t<this[B].layers.length){let c=this[B].layers[t],f=null;for(let h of c.views){let y=!1;if(s!==null?(y=h.name===e&&h[U]?.view===s,y&&n!==-1&&(y=h[U]?.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[U],l={view:i,index:o,level:t-1});let u=new Ee(e,!0,a);if(u[fe]=l,t==this[B].layers.length){let c=new St;c.views=[u],this[B].layers.push(c)}else this[B].layers[t].views.push(u);return u}}const bn="fox-router-view",Rn="fox-router-link";var T=(r=>(r[r.Loading=0]="Loading",r[r.Loaded=1]="Loaded",r[r.Defining=2]="Defining",r[r.Defined=3]="Defined",r))(T||{}),nt=(r=>(r[r.normal=0]="normal",r[r.factory=1]="factory",r))(nt||{});class Sn{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 Fs{moduleManager=new Sn;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 Be().head}constructor(){}setModule(e,t){const s={id:e,src:"",status:T.Defined};typeof t=="function"?(s.exports=t,s.type=nt.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 xn(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 Pn(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==T.Defined||o.status==T.Loaded)&&o.exports){o.type===nt.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=Be(),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(()=>{nr(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==T.Defined||o.status==T.Loaded)){if(o.exports){o.type===nt.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:T.Loading},this.moduleManager.set(i,o);const l=Be().createElement("script");if("onload"in l)l.onload=()=>{l.onload=null,l.onerror=null,o.status===T.Loading&&(o.status=T.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==T.Loading&&(o.status=T.Loaded,t.progress.work(!0,t.index,i)),n.resolve())}}l.defer=!0,l.src=i;const c=A();c.define=this.createDefine(o,t),s.appendChild(l)})}unmount(e,t={}){const s=Be(),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=T.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)=>{try{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=T.Defined,t.progress.work(!0,t.index,e.exports)}catch(f){console.error(f),t.progress.work(!1,t.index,[])}}):(typeof l=="function"?e.exports=Reflect.apply(l,e,[]):e.exports=l,e.status=T.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`${pt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${pt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${A().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`${pt()}${e}`}}function nr(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():nr(r,e)},20)}class xn{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[t]=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 Pn{index;src;params;progress;constructor(e,t,s,n){this.index=e,this.src=t,this.params=s,this.progress=n}}const es=Symbol("fk"),ts=Symbol("fbk"),ss=Symbol("fepk");function Fn(r={}){const e=new wn(r),t=new Ht,s=new Ut,n=new Fs,i={get router(){return e},get bus(){return t},get Bus(){return Ht},get EventProxy(){return Ut},get eventproxy(){return s},get EventChain(){return He},get Require(){return Fs},get require(){return n},get extend(){return E},get clone(){return ft},get isESModule(){return zt},install(o){o.provide(ht,e),o.provide(es,i),o.provide(ts,t),o.provide(ss,s),o.component(bn,ut),o.component(Rn,er),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 Yt(this)}}}),e.init()}};return i}function rs(r){return r?r.$router:g.inject(ht)}function Cn(r){return r||(r=g.getCurrentInstance()?.proxy??void 0),r?Yt(r):null}function An(r){return r?r.$fox:g.inject(es)}function En(r){return r?r.$bus:g.inject(ts)}function $n(r){return r?r.$eventProxy:g.inject(ss)}function _n(r){const e=rs(),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 Kn(r){const e=rs(),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=Ht;exports.EventChain=He;exports.EventProxy=Ut;exports.FoxBeforeEnter=Ls;exports.FoxBeforeLeave=Ms;exports.FoxEnter=Os;exports.FoxLeave=Is;exports.FoxLeaveEnd=ot;exports.OperationType=F;exports.Route=S;exports.RouterLink=er;exports.RouterView=ut;exports.clone=ft;exports.createFox=Fn;exports.createMemoryHistory=rr;exports.createWebHashHistory=sr;exports.createWebHistory=mn;exports.deleteContextValue=jr;exports.extend=E;exports.foxBusKey=ts;exports.foxEventProxyKey=ss;exports.foxKey=es;exports.injectContextValue=Qt;exports.isArray=Mt;exports.isDate=ar;exports.isESModule=zt;exports.isEqual=Nt;exports.isFunction=R;exports.isMap=or;exports.isNil=De;exports.isObject=Cs;exports.isPlainObject=As;exports.isPromise=fr;exports.isSet=lr;exports.isString=ur;exports.isSymbol=cr;exports.onAfterRouteUpdate=Kn;exports.onBeforeRouteUpdate=_n;exports.onFoxActivated=Or;exports.onFoxInactivated=Mr;exports.provideContextValue=Kr;exports.rawState=Cr;exports.reactiveState=xr;exports.sessionKey=ne;exports.shallowReactiveState=Pr;exports.toBoolean=Wt;exports.toNumber=mr;exports.toTypeString=ct;exports.typeOf=It;exports.useBus=En;exports.useEventProxy=$n;exports.useFox=An;exports.useRoute=Cn;exports.useRouter=rs;
1
+ Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});let m=require("vue");var ye=typeof window<"u",_=function(){return window},He=function(){return window.document};function cs(e){let t=e,r=t.lastIndexOf("/");return r>0&&r<t.length-1?t=t.substring(0,r+1):r===0&&t.indexOf(".")!==-1?t="/":r===-1&&(t.indexOf(".")==-1?t=`/${t}/`:t="/"),t.indexOf("/")!==0&&(t=`/${t}`),t}function pt(){if(!ye)return"/";let e=_().location,t=`${e.protocol}//${e.host}`;return t+=cs(e.pathname),t}function nt(e,t,r,s=!1){e.addEventListener?e.addEventListener(t,r,s):e.attachEvent?e.attachEvent(`on${t}`,r):e[`on${t}`]=r}function Gt(e,t,r){e.removeEventListener?e.removeEventListener(t,r):e.detachEvent?e.detachEvent(`on${t}`,r):e[`on${t}`]=null}var Ue=(e,t,r)=>{t=t??{bubbles:!1,cancelable:!1,detail:void 0};const s=document.createEvent("Events");let n=!0,i=!0;for(let a in t)a==="bubbles"?n=!!t[a]:a==="cancelable"?i=!!t[a]:s[a]=t[a];s.initEvent(e,n,i),(r??document).dispatchEvent(s)},Dt=Array.isArray,hs=e=>ct(e)==="[object Map]",ys=e=>ct(e)==="[object Set]",ds=e=>e instanceof Date,R=e=>typeof e=="function",ms=e=>typeof e=="string",vs=e=>typeof e=="symbol",$r=e=>e!==null&&typeof e=="object",ps=e=>$r(e)&&R(e.then)&&R(e.catch),De=e=>e==null,gs=Object.prototype.toString,ct=e=>gs.call(e),Kr=e=>ct(e)==="[object Object]",bs=typeof Symbol=="function"&&typeof Symbol.toStringTag=="symbol";function Xt(e){return e.__esModule||bs&&e[Symbol.toStringTag]==="Module"}var ws=typeof Promise<"u"&&Promise.toString().indexOf("[native code]")!==-1;function $(...e){let t=e[0]!==void 0&&e[0]!==null?e[0]:{},r=1,s=e.length,n=!1;for(typeof t=="boolean"&&(n=t,t=e[r]??{},r++),typeof t!="object"&&(t={});r<s;r++)if(e[r]!==null&&e[r]!==void 0){let i=e[r];for(let a in i){let o=t[a],l=i[a];if(o!==l)if(n===!0&&l&&typeof l=="object"){let u;Array.isArray(l)?u=o&&Array.isArray(o)?o:[]:u=o&&typeof o=="object"?o:{},t[a]=$(n,u,l)}else l!==void 0&&(t[a]=l)}}return t}function ht(e,t,r=!1){if(!r)$(!0,e,t);else{if(typeof t!="object")return{};typeof e!="object"&&(e={});for(let s of Reflect.ownKeys(t)){let n=e[s],i=t[s];if(n!==i)if(typeof i=="object"){if(!Array.isArray(i)&&!Kr(i))continue;n=ht(n,i,r),e[s]=n}else{if(typeof i=="function")continue;e[s]=i}}}return e}var ke=class Nt{static seed=new Date().getTime();static get(){let t=++Nt.seed;return t>=Number.MAX_VALUE&&(Nt.seed=0),t}},gt=ws?Promise.resolve():null;function Ie(e,...t){gt!==null?t&&t.length>0?gt.then(()=>{e(t)}):gt.then(e):t&&t.length>0?setTimeout(()=>{e(t)}):setTimeout(e)}function Qt(e){return e==null?!1:typeof e=="boolean"?e:typeof e=="string"?e.toLocaleLowerCase()==="true":!!e}function Rs(e){return typeof e=="number"?e:Number(e)}var Ss={"[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 Ht(e){let t=Object.prototype.toString.call(e);return e==null?String(e):Ss[t]||"object"}function Ut(e,t){if(e==t)return!0;if(e===void 0||t===void 0)return!1;let r=Ht(e);if(r!==Ht(t))return!1;if(r==="object"){let s=Object.keys(e),n=Object.keys(t);if(s.length!==n.length)return!1;for(let i=0;i<s.length;i++){let a=s[i],o=e[a],l=t[a];if(!Ut(o,l))return!1}return!0}else if(r==="array"){if(e.length!==t.length)return!1;for(let s=0;s<e.length;s++){let n=e[s],i=t[s];if(!Ut(n,i))return!1}return!0}return!1}var jr=e=>{const t={};for(let r of Reflect.ownKeys(e)){let s=e[r];s&&!Array.isArray(s)&&typeof s=="object"&&(s=jr(s)),typeof r=="symbol"?t[String(r)]=s:t[r]=s}return t},xs=/^Symbol\((.*)\)$/,qr=e=>{const t={};for(let r of Reflect.ownKeys(e)){let s=e[r];s&&!Array.isArray(s)&&typeof s=="object"&&(s=qr(s));const n=xs.exec(r);if(n&&n[1]){const i=Symbol.for(n[1]);t[i]=s}else t[r]=s}return t};function Lr(e,t){let r=null;return function(...s){r&&clearTimeout(r),r=setTimeout(()=>{r=null,Reflect.apply(e,null,[...s])},t)}}var ar=Symbol("idKey"),de=Symbol("valueKey"),S=Symbol("childrenKey"),X=Symbol("growKey"),Tr=class{[X]=!0;[ar];[de]=(0,m.ref)();[S]=new Map;constructor(e){this[ar]=e}},Ps=class{get(e,t){if(t=="value")return e[de].value;if(t==="grow")return e[X];let r=e[S].get(t);if(r)return Me(r);if(e[X])return r=Zt(t),r[X]=e[X],e[S].set(t,r),Me(r)}set(e,t,r){return t=="value"?(e[de].value=r,!0):t==="grow"?(e[X]=Qt(r),!0):r==null?(e[S].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[S].delete(t),!0)}},Yt="__proxy__";function Zt(e){const t=new Tr(e);return Reflect.set(t,Yt,new Proxy(t,new Ps)),t}function Me(e){return Reflect.get(e,Yt)}var Es=class{name="";persistPolicy="memory";storage;initFlag=!1;state={};constructor(e={},t){if(e.persistPolicy&&e.persistPolicy!=="memory"&&De(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(ye){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}`,r=JSON.stringify(this.state??{});e.setItem(t,r)}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 r=`_bus_${this.name}`,s=t.getItem(r);if(s){const n=JSON.parse(s);Object.assign(this.state,n),Reflect.ownKeys(this.state).forEach(i=>{if(typeof i!="string")return;const a=this.state[i],o=i.split(/\//g);o.push(a),Reflect.apply(e.put,e,o)})}}put(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,r=e.slice(0,t-1).join("/"),s=e[t-1];this.state[r]=s,this.saveState()}catch(t){console.error(t)}}remove(e){if(this.initFlag&&this.persistPolicy!=="memory")try{const t=e.length,r=e.slice(0,t-1).join("/"),s={};Reflect.ownKeys(this.state).forEach(n=>{typeof n=="string"&&(n===r||n.startsWith(r)||(s[n]=this.state[n]))}),this.state=s,this.saveState()}catch(t){console.error(t)}}clear(){if(this.initFlag)try{this.state={},this.removeState()}catch(e){console.error(e)}}},Or=class extends Tr{_persistHandler;constructor(e={},t){super("__root__"),this._persistHandler=new Es(e,t),this._persistHandler.init(this)}put(...e){let t=e.length;if(t<2)return console.error("参数至少包括一个(key, value)"),!1;let r=this;for(let s=0;s<t-1;s++){let n=e[s],i;r[S].has(n)?i=r[S].get(n):(i=Zt(n),r[S].set(n,i)),r=i}return r[de].value=e[t-1],this._persistHandler.put(e),!0}get(...e){let t=e.length;if(t===0)return;let r=this;for(let s=0;s<t;s++){let n=e[s];if(r[S].has(n))r=r[S].get(n);else return}return r[de].value}remove(...e){let t=e.length;if(t==0)return!1;let r=this;for(let n=0;n<t-1;n++){const i=e[n];if(r[S].has(i))r=r[S].get(i);else return!1}const s=e[t-1];return r[S].has(s)?(r[S].delete(s),this._persistHandler.remove(e),!0):!1}contains(...e){const t=e.length;if(t==0)return!1;let r=this;for(let n=0;n<t-1;n++){let i=e[n];if(r[S].has(i))r=r[S].get(i);else return!1}const s=e[t-1];return r[S].has(s)}clear(){this[S].clear(),this._persistHandler.clear()}},Cs=["put","get","contains","remove","clear","_persistHandler"];function ur(e){return Cs.includes(e)}var Fs=class{get(e,t){if(t=="value")return e[de].value;if(t==="grow")return e[X];if(t===S)return e[S];if(typeof t=="string"&&ur(t))return e[t];const r=String(t);let s=e[S].get(r);if(s)return Me(s);if(e[X])return s=Zt(r),s[X]=e[X],e[S].set(r,s),Me(s)}set(e,t,r){return t=="value"?(e[de].value=r,!0):t==="grow"?(e[X]=Qt(r),!0):ur(t)?!1:r==null?(e[S].delete(t),!0):(console.error(`illegal property:${t}`),!1)}deleteProperty(e,t){return t==="value"||t=="grow"?(console.error(`can not delete property:${String(t)}`),!1):(e[S].delete(t),!0)}};function As(e,t){const r=new Or(e,t),s=new Fs,n=new Proxy(r,s);return Reflect.set(r,Yt,n),r}var Vt=new Proxy(Or,{construct(e,t){const r=t[0]??{},s=t[1];return Me(As(r,s))}}),er=e=>!e||typeof e!="object"?!0:Reflect.ownKeys(e).length===0,kr=class{name="";persistPolicy="memory";storage;constructor(e={}){if(e.persistPolicy&&e.persistPolicy!=="memory"&&De(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(ye){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||er(e))return;const r=`_state_${this.name}`,s=JSON.stringify(e??{});t.setItem(r,s)}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 r=`_state_${this.name}`,s=t.getItem(r);if(s){const n=JSON.parse(s);Object.assign(e,n)}}};function Ir(e,t,r){const s=new kr(r);s.restore(t);const n=o=>{const l=(0,m.toRaw)(o),u={};for(let f in l){const c=l[f];De(c)||(u[f]=c)}er(u)?s.removeState():s.saveState(u)};let i=null;r&&r.debounce===!1?i=n:i=Lr(n,r&&r.debounceDelay?r.debounceDelay:250);const a=e?(0,m.shallowReactive)(t):(0,m.reactive)(t);return(0,m.effectScope)(!0).run(()=>{(0,m.watch)(a,o=>{const l=(0,m.toRaw)(o);i(l)})}),a}function _s(e,t){return Ir(!1,e,t)}function $s(e,t){return Ir(!0,e,t)}function Ks(e,t){const r=new kr(t);r.restore(e);const s=i=>{const a=(0,m.toRaw)(i),o={};for(let l in a){const u=a[l];De(u)||(o[l]=u)}er(o)?r.removeState():r.saveState(o)};let n=null;return t&&t.debounce===!1?n=s:n=Lr(s,t&&t.debounceDelay?t.debounceDelay:250),new Proxy(e,{get(i,a){return i[a]},set(i,a,o){return i[a]=o,n(i),!0}})}function js(e,t){return Ks(e,t)}var Mr="default",Br=Symbol("sync"),B=Symbol("normalizeRoute");function fr(e){let t=!1;return function(...r){if(!t)return t=!0,Reflect.apply(e,{},r)}}function qs(e){let t=e.src;return new Promise((r,s)=>{const n=fr(o=>{Xt(o)&&(o=o.default),e.component=o,console.debug("success load async module"),r()}),i=fr(o=>{`${o}`,console.debug("reject load async module"),s(o)});let a;try{a=t(n,i)}catch(o){i(o)}if(a)if(typeof a.then=="function")a.then(n,i);else{const o=a.component;o&&typeof o.then=="function"&&o.then(n,i)}})}var Ls=class{name;level;rootName;rootIndex=0;constructor(e,t,r,s){this.name=e,this.level=t,this.rootName=r,this.rootIndex=s}},Ve=class Dr{to;routeModel;from;data={};constructor(t,r){this.to=t,this.from=r}static from(t){const r=new Dr(t.to,t.from),s=t.data??{};return $(!0,r.data,s),r}static clear(t){for(let r in t)t[r]=void 0}},P=class Wt{path;get fullPath(){const t=this.path??`/${this.name}`;return`${this.root??"default"}!${t}`}alias;name;root;params;query;traceless;template;matched;meta;success;error;destroy;opsType;updateType;historyUpdatePolicy;viewTagAttrs;index;active;slot;static clone(t,r){let s=new Wt;return ht(s,t,r),s}static isSame(t,r){return!t||!r?!1:t===r?!0:t.root!==r.root||t.index!==r.index?!1:t.path&&r.path&&t.path===r.path?!0:!!(t.name&&r.name&&t.name===r.name)}static isSamePathForRoute(t,r){return!t||!r?!1:t===r||t.path&&r.path&&t.path===r.path?!0:!!(t.name&&r.name&&t.name===r.name)}static from(t){let r=new Wt;if(t==null)return r;let s=r;for(let i in t)s[i]=t[i];const n=Object.getOwnPropertySymbols(t);if(Array.isArray(n)&&n.length>0)for(let i of n)s[i]=t[i];return r}},Ts=class{id;name;props;src;component;constructor(e,t,r){this.id=ke.get(),this.name=e,this.src=t,typeof t!="function"&&(this.component=t),this.props=r}get isResolved(){return this.component!==void 0}resolve(){return qs(this)}},cr=class{models=[]},bt=class{path;match;redirect;name;meta;matchedRoutes;layers=[]},A=(function(e){return e[e.Push=0]="Push",e[e.Replace=1]="Replace",e[e.Put=2]="Put",e[e.Append=3]="Append",e[e.Open=4]="Open",e})({}),Nr="FoxBeforeEnter",Hr="FoxEnter",Ur="FoxLeave",Vr="FoxLeave",ot="FoxLeaveEnd",yt=Symbol("rk"),wt=Symbol("vd"),hr=Symbol("rv"),Rt=Symbol("rvi"),yr=Symbol("pv"),St=Symbol("pvi"),Ce=Symbol("registerKey"),Os=class{[Ce]=new Map;constructor(){}set(e,t){this[Ce].set(e,t)}get(e){return this[Ce].get(e)}has(e){return this[Ce].has(e)}delete(e){return this[Ce].delete(e)}},he=Symbol("lc");function lt(e,t=!1){let r=e;if(Reflect.has(r,he))return r[he];if(t){const s=new Os;return r[he]=s,s}return null}function Wr(e,t=!1){let r=null,s=e;for(;s&&!(Reflect.has(s,he)&&(r=s[he],r));)s=s.$parent;if(!r&&t){const n=e;n&&n.$parent&&(r=lt(n.$parent,t))}return r}function tr(e,t){let r=e;for(;r;){if(Reflect.has(r,he)){const s=r[he];if(s.has(t))return s.get(t)}r=r.$parent}return null}function ks(e,t,r){Wr(e,!0)?.set(t,r)}function Is(e,t){Wr(e,!0)?.delete(t)}function dr(e){if(Array.isArray(e.children)&&e.children.length>0){let t=e.children[0];if(t!=null&&t.component!=null&&t.component.proxy!=null)return lt(t.component.proxy,!1)}return null}var at=Symbol("hooksKey");function Ms(e){let t=e.get(at);t||(t=[],e.set(at,t))}function mr(e,t){let r=e.get(at);if(r!=null)for(let s=r.length-1;s>=0;s--){let n=r[s];if(n.type===t)try{Reflect.apply(n.hook,n.target,[])}catch(i){console.error(i.message,i)}}}var ut=(function(e){return e.DEACTIVATED="da",e.ACTIVATED="a",e})({}),Bs=class{type;hook;target;constructor(e,t,r){this.target=r,this.hook=t,this.type=e}};function Ds(e,t,r,s){let n=new Bs(t,r,s);return e.push(n),!0}function Ns(e,t,r,s){let n=-1;for(let i=0;i<e.length;i++){let a=e[i];if(a.type===t&&a.hook===r&&a.target===s){n=i;break}}return n!=-1?(e.splice(n,1),!0):!1}function Jr(e){return(t,r)=>{let s;if(r)s=r;else{const i=(0,m.getCurrentInstance)();if(i==null||i.proxy==null){console.error("can not get current instance or proxy");return}s=i.proxy}const n=tr(s,at);if(n==null){console.warn("hooks context not found");return}(0,m.onUnmounted)(()=>{Ns(n,e,t,s)}),Ds(n,e,t,s)}}var Hs=Jr(ut.ACTIVATED),Us=Jr(ut.DEACTIVATED),zr=Symbol("routeKey");function vr(e,t){e.set(zr,t)}function rr(e){let t=tr(e,zr);return typeof t=="function"?t():t??null}function Gr(e,t=!1){let r=null;return t?r=e.showFromClass??e.enterFromClass:r=e.enterFromClass,r||(r=e.transitionName,r?t?`${r}-show-from`:`${r}-enter-from`:null)}function Xr(e,t=!1){let r=null;return t?r=e.showActiveClass??e.enterActiveClass:r=e.enterActiveClass,r||(r=e.transitionName,r?t?`${r}-show-active`:`${r}-enter-active`:null)}function Vs(e,t=!1){let r=null;return t?r=e.showToClass??e.enterToClass:r=e.enterToClass,r||(r=e.transitionName,r?t?`${r}-show-to`:`${r}-enter-to`:null)}function Qr(e,t=!1){let r=null;return t?r=e.hideFromClass??e.leaveFromClass:r=e.leaveFromClass,r||(r=e.transitionName,r?t?`${r}-hide-from`:`${r}-leave-from`:null)}function Yr(e,t=!1){let r=null;return t?r=e.hideActiveClass??e.leaveActiveClass:r=e.leaveActiveClass,r||(r=e.transitionName,r?t?`${r}-hide-active`:`${r}-leave-active`:null)}function Ws(e,t=!1){let r=null;return t?r=e.hideToClass??e.leaveToClass:r=e.leaveToClass,r||(r=e.transitionName,r?t?`${r}-hide-to`:`${r}-leave-to`:null)}function Js(e,t=!1){let r=null;return t?r=e.beforeShow??e.beforeEnter:r=e.beforeEnter,r}function zs(e,t=!1){let r=null;return t?r=e.show??e.enter:r=e.enter,r}function Gs(e,t=!1){let r=null;return t?r=e.afterShow??e.afterEnter:r=e.afterEnter,r}function Xs(e,t=!1){let r=null;return t?r=e.showCancelled??e.enterCancelled:r=e.enterCancelled,r}function Qs(e,t=!1){let r=null;return t?r=e.beforeHide??e.beforeLeave:r=e.beforeLeave,r}function Ys(e,t=!1){let r=null;return t?r=e.hide??e.leave:r=e.leave,r}function Zs(e,t=!1){let r=null;return t?r=e.afterHide??e.afterLeave:r=e.afterLeave,r}function ei(e,t=!1){let r=null;return t?r=e.hideCancelled??e.leaveCancelled:r=e.leaveCancelled,r}function sr(e){let t,r=e.transitionDuration;return typeof r=="object"?t={enter:r.enter??-1,leave:r.leave??-1,show:r.show??-1,hide:r.hide??-1}:(typeof r=="string"&&(r=r.length==0?-1:Number(r)),t={enter:r,leave:r,show:r,hide:r}),t}function xe(e,t){e.classList.contains(t)||e.classList.add(t)}function Se(e,t){e.classList.remove(t)}var ti=ye&&window.requestAnimationFrame?window.requestAnimationFrame.bind(window):setTimeout;function dt(e){ti(e)}function K(e,t,r){R(t)&&(e==null&&(e={}),Reflect.apply(t,e,r))}function Zr(e,t,r,s=-1,n,i,a){let o=[];const l=()=>{for(let u of o)Gt(t,u.type,u.listener);o=[]};if(R(i)){if(n!==void 0&&n>=0){setTimeout(()=>{Reflect.apply(i,e,[t,r,s])},n);return}const u=["animationend","transitionend",ot],f=c=>{(c.target||c.srcElement)===c.currentTarget&&(l(),Reflect.apply(i,e,[t,r,s]))};u.forEach(c=>{nt(t,c,f),o.push({type:c,listener:f})})}if(R(a)){const u="animationcancel",f=c=>{(c.target||c.srcElement)===c.currentTarget&&(l(),Reflect.apply(a,e,[t,r,s]))};nt(t,u,f),o.push({type:u,listener:f})}}function mt(e){return!ye||e===null?!1:e.opsType===A.Append||e.opsType===A.Open}function es(e,t,r,s={},n,i=-1){if(t||mt(n)){const a=Gr(s,t);a&&xe(r,a);const o=Xr(s,t);o&&xe(r,o),K(e,Js(s,t),[r,t,n,i])}}function ts(e,t,r,s={},n,i,a,o){if(!mt(i)&&!t){R(o)&&o(e,o,[r]);return}const l=Gr(s,t),u=Xr(s,t),f=Vs(s,t),c=zs(s,t),h=Gs(s,t),y=Xs(s,t);if(!l&&!u&&!f&&!c){R(o)&&o(e,o,[r]);return}dt(()=>{Zr(e,r,i,a,n,()=>{u&&Se(r,u),f&&Se(r,f),R(h)&&K(e,h,[r,t,i,a]),R(o)&&o(e,o,[r])},()=>{R(y)&&K(e,y,[r,t,i,a])}),l&&Se(r,l),f&&xe(r,f),R(c)&&K(e,c,[r,t,i,a])})}function rs(e,t,r,s={},n,i=-1){if(t||mt(n)){const a=Qr(s,t);a&&xe(r,a);const o=Yr(s,t);o&&xe(r,o),K(e,Qs(s,t),[r,t,n,i])}}function ss(e,t,r,s={},n,i,a,o,l){if(!mt(a)&&!t){R(l)&&K(e,l,[r]),!t&&R(i)&&i();return}const u=Qr(s,t),f=Yr(s,t),c=Ws(s,t),h=Ys(s,t),y=Zs(s,t),d=ei(s,t);if(!u&&!f&&!c&&!h){R(l)&&K(e,l,[r]),!t&&R(i)&&i();return}dt(()=>{Zr(e,r,a,o,n,()=>{try{f&&Se(r,f),c&&Se(r,c),R(y)&&K(e,y,[r,t,a,o]),R(l)&&K(e,l,[r])}finally{!t&&R(i)&&i()}},()=>{try{R(d)&&K(e,d,[r,t,a,o]),R(l)&&K(e,l,[r])}finally{!t&&R(i)&&i()}}),u&&Se(r,u),c&&xe(r,c),R(h)&&K(e,h,[r,t,a,o])})}function Jt(e,t,r={},s,n=-1){const i=r.mode??"default",a=sr(r);return{mode:i,persisted:!1,beforeEnter:o=>{es(e,!1,o,r,s,n)},enter:o=>{ts(e,!1,o,r,a.enter,s,n)},leave:(o,l)=>{rs(e,!1,o,r,s,n),ss(e,!1,o,r,a.leave,l,s,n,()=>{t.transition=null,t=null})},clone:o=>Jt(e,t,r,s,n)}}function is(e){return e.el}function ri(e,t,r={},s,n,i,a){if(i===!0){const o=is(t);if(o==null)return;const l=sr(r);es(e,!0,o,r,s,n),ts(e,!0,o,r,l.show,s,n,u=>{R(a)&&K(e,a,[u])})}else R(a)&&K(e,a,[])}function si(e,t,r={},s,n,i,a){if(i===!0){const o=is(t);if(o==null)return;const l=sr(r);rs(e,!0,o,r,s,n),ss(e,!0,o,r,l.hide,null,s,n,u=>{R(a)&&K(e,a,[u])})}else R(a)&&K(e,a,[])}function ii(e,t={}){dt(()=>{for(let r=0;r<e.length;r++)Reflect.apply(e[r],t,[])})}function ns(e,t,r={},s,n=-1){return{mode:r.mode??"default",persisted:!1,beforeEnter:i=>{Ue(Nr,{},i)},enter:i=>{Ue(Hr,{},i)},leave:(i,a)=>{Ue(Ur,{},i),dt(()=>{const o=l=>{(l.target||l.srcElement)===l.currentTarget&&(Gt(i,ot,o),a&&Reflect.apply(a,e,[]),t.transition=null,t=null)};nt(i,ot,o),Ue(Vr,{},i)})},clone:i=>ns(e,t,r,s,n)}}var G=Symbol("rootKey"),z=Symbol("rootNodeKey"),fe=Symbol("parentNodeKey"),st=Symbol("nameKey"),te=class{instance=null;model;route;active=!0;index=0;constructor(e,t,r=0,s=!0){this.route=e,this.model=t,this.index=r,this.active=s}},Fe=class{_slots;get slots(){return this._slots==null&&(this._slots=(0,m.shallowRef)([])),this._slots}get empty(){return this._slots==null||this._slots.value.length==0}[st];[G];[z]=null;[fe]=null;get name(){return this[st]}constructor(e,t,r){this[st]=e,this[G]=t,r&&(this[z]=r)}},D=class{view;index;level;constructor(e,t,r){this.view=e,this.index=t,this.level=r}static include(e,t){for(let r=0;r<e.length;r++){let s=e[r];if(s.view===t.view&&(t.index==-1||s.index===t.index)&&s.level===t.level)return!0}return!1}},xt=class{views=[]},ni=class{layers=[]};function re(e,t,r){return typeof e=="function"?Reflect.apply(e,{},[t,r]):e}function Pt(e,t){if(!e)return null;const r=e(t);return r.length===1?r[0]:r}function ve(e,t){return typeof t=="function"?t(e):e}var oi=class{node;state;constructor(e,t){this.node=e,this.state=t}},ft=(0,m.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},transitionDuration:{type:[String,Number,Object],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(e,t){const r=(0,m.getCurrentInstance)();if(r===null||r.proxy===null){console.error("instance or instance.proxy not exist");return}const s=e.multi===!0,n=(0,m.inject)(yt,null),i=(0,m.inject)(wt,0),a=(0,m.inject)(hr,null),o=(0,m.inject)(Rt,-1);let l=null,u=e.modelSlot;if(u){if((0,m.provide)(wt,i+1),(0,m.provide)(Rt,u.index),(0,m.provide)(St,u.index),!u.route){console.warn("child view render error, route not exist");return}const c=lt(r.proxy,!0);Ms(c),vr(c,()=>u?.route??null)}else{if(n==null){console.error("router is not been injected");return}const c=e.name,h=(0,m.inject)(yr,null),y=(0,m.inject)(St,0);if(l=n[Br](c,i,a,o,h,y),l===null)return;(0,m.provide)(yr,l);const d=l[G]===!0;d&&(0,m.provide)(hr,l),s||((0,m.provide)(Rt,-1),(0,m.provide)(wt,i+1),(0,m.provide)(St,-1),d&&vr(lt(r.proxy,!0),()=>{const v=l.slots.value;return v.length>0?v[0].route:null}))}const f={value:new Map};return(0,m.onUnmounted)(()=>{if(f.value&&f.value.clear(),u){const c=u;c.route=null,c.model=null,c.instance=null,u=void 0}}),()=>{if(s){const c=new Map,h=[],y=l?.slots.value,d=[];for(let b=0;b<y.length;b++){const p=y[b],L=`${e.name}_${p.index}`,T=re(e.transition,p.route,b)??!0,Pe={modelSlot:p};let O;t.slots.default?O=(0,m.h)(ft,Pe,{default:t.slots.default}):O=(0,m.h)(ft,Pe);const j={},ne=re(e.viewClass,p.route,b);typeof ne=="string"&&ne.length>0&&(j[ne]=!0);const ee=re(e.viewActiveClass,p.route,b),k=re(e.viewInactiveClass,p.route,b),Q=f.value.get(L);if(typeof ee=="string"&&ee.length>0&&(j[ee]=p.active),typeof k=="string"&&k.length>0&&(j[k]=!p.active),Q&&p.active!==Q.state){const Ne=Q.node;p.active?d.unshift(()=>{const vt=()=>{let Ee=dr(Ne);Ee!=null&&mr(Ee,ut.ACTIVATED)};ri(r,Ne,e,p.route,b,T,vt)}):d.push(()=>{const vt=()=>{const Ee=dr(Ne);Ee!=null&&mr(Ee,ut.DEACTIVATED)};si(r,Ne,e,p.route,b,T,vt)})}const U={class:j,key:L},V=re(e.viewTagProps,p.route,b);V!==null&&typeof V=="object"&&$(!0,U,ve(V,n?.propsFilter)),p.route?.viewTagAttrs&&typeof p.route?.viewTagAttrs=="object"&&$(!0,U,ve(p.route.viewTagAttrs,n?.propsFilter));const me=(0,m.h)(re(e.viewTag,p.route,b),U,{default:()=>[O]});c.set(L,new oi(me,p.active)),f.value.delete(L),T===!0?me.transition=Jt(r,me,e,p.route,b):T==="custom"&&(me.transition=ns(r,me,e,p.route,b)),h.push(me)}f.value=c,ii(d,r);const v=re(e.tag,null,-1),w={};return Object.assign(w,t.attrs),(0,m.h)(v,w,{default:()=>h})}else if(u!=null){const c=u.model,h={};c.props&&(typeof c.props=="object"?$(!1,h,ve(c.props,n?.propsFilter)):c.props===!0&&typeof u.route?.params=="object"&&$(!1,h,ve(u.route.params,n?.propsFilter)));const y=(0,m.h)(c.component,h);return Pt(t.slots.default,{Component:y,route:u.route})??y}else{const c=l.slots.value;if(c.length>0){const h=c[0],y=h.route??(r.proxy&&rr(r.proxy))??null,d=h.model,v={};d.props&&(typeof d.props=="object"?$(!1,v,ve(d.props,n?.propsFilter)):d.props===!0&&typeof y?.params=="object"&&$(!1,v,ve(y.params,n?.propsFilter)));const w=(0,m.h)(d.component,v);return(re(e.transition,y,-1)??!0)&&(w.transition=Jt(r,w,e,y,-1)),Pt(t.slots.default,{Component:w,route:y})??w}else return Pt(t.slots.fallback,{})}}}});function li(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!=null&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){const t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function ai(e,t){return e==null||t==null?!1:!!(e===t||e.path&&e.path===t.path||e.name&&e.name===t.name)}function ui(e,t){return e==null||t==null?!1:!!(e.path&&t.path&&t.path.startsWith(e.path)||e.name&&e.name==t.name)}function pe(e,t){return typeof e=="function"?Reflect.apply(e,{},[t]):e}var os=(0,m.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(e,t){const r=(0,m.inject)(yt,null);return()=>{let s=pe(e.to,null),n=pe(e.tag,s);if(n==null){console.warn("can not resolve link tag");return}let i=null,a=null;r!==null&&(i=r[B](s),e.root&&(i.root=e.root),a=r.currentRoute.value);let o={},l=pe(e.activeClass,i);if(typeof l=="string"&&l.length>0&&(o[l]=ui(i,a)),pe(e.exact,i)===!0){let c=pe(e.exactActiveClass,i);typeof c=="string"&&c.length>0&&(o[c]=ai(i,a))}let u={class:o};(n==="a"||n==="A")&&(u.href=i?.path??i?.name??"#"),$(!0,u,t.attrs);let f=pe(e.event,i);if(typeof f=="string"){const c=h=>{if(r==null){console.warn("router is not been injected");return}if(i==null){console.warn("route is not been resolved");return}li(h)&&r.to(i)};u[f]=c}return(0,m.h)(n,u,t.slots)}}}),E=(function(e){return e.Busy="Busy",e.Free="Free",e.Reject="Reject",e.Exception="Exception",e.Finished="Finished",e})(E||{}),N=Symbol("chainKey"),I=Symbol("cursorKey"),Et=Symbol("$persistentModeKey"),F=Symbol("statusKey"),Y=Symbol("argsKey"),We=Symbol("exArgsKey"),ge=Symbol("successFnsKey"),Ae=Symbol("errorFnsKey"),ie=Symbol("sessionKey"),Z=Symbol("_go"),Be=class{[N]=[];[I]=0;[Et]=!1;[F]=E.Free;[Y]=[];[We]=[];[ge]=[];[Ae]=[];[ie];get session(){return this[ie]}constructor(e,t=!1){this[ie]=e,this[Et]=t}[Z](e,...t){let r=this[F];if(this[F]=E.Busy,this[I]+=e,this[I]<0&&(this[I]=0),this[Y]=t,r===E.Exception||r===E.Reject){let i=[{session:this[ie]},...this[We]];for(;this[Ae].length>0;)try{let a=this[Ae].shift();typeof a=="function"&&Ie(()=>{Reflect.apply(a,{},i)})}catch(a){console.error(a.message,a)}return this[F]=r,this[N]=[],this[I]=0,this}else if(r===E.Finished||this[I]>=this[N].length){let i=[{session:this[ie]},...this[Y]];for(;this[ge].length>0;){let a=this[ge].shift();typeof a=="function"&&Ie(()=>{Reflect.apply(a,{},i)})}return this[F]=E.Free,this}if(this[I]>=this[N].length)return this[F]=E.Free,this;let s=this[N][this[I]];this[Et]||(this[N].splice(0,this[I]+1),this[I]=-1);let n=this[I]+1;try{let i=!1,a={go:(o,...l)=>{i||(i=!0,Reflect.apply(this[Z],this,[o,...l]))},resolve:(...o)=>{i||(i=!0,Reflect.apply(this[Z],this,[1,...o]))},reject:(...o)=>{i||(i=!0,Reflect.apply(this.reject,this,[...o]))},insert:o=>{i||(this[N].splice(n,0,o),n++)},session:this[ie]};Ie(()=>{Reflect.apply(s,{},[a,...this[Y]])})}catch(i){this.throw(i)}return this}go(e,...t){return Reflect.apply(this[Z],this,[e,...t])}finish(...e){return this[F]=E.Finished,this[Y]=e,Reflect.apply(this[Z],this,[0])}reject(...e){return this[F]=E.Reject,this[We]=e,Reflect.apply(this[Z],this,[0])}throw(...e){return this[F]=E.Exception,this[We]=e,Reflect.apply(this[Z],this,[0])}reset(...e){this[F]=E.Busy,this[Y]=e,this[N]=[],this[I]=0;let t=[{session:this[ie]},...this[Y]];for(;this[ge].length>0;){let r=this[ge].shift();Ie(()=>{Reflect.apply(r,this,t)})}return this[F]=E.Free,this}post(e){return this[F]===E.Reject||this[F]===E.Exception?this:(Array.isArray(e)?this[N]=[...this[N],...e]:this[N].push(e),this[F]===E.Busy?this:(Reflect.apply(this[Z],this,[0,...this[Y]]),this))}wait(e,t){return e&&typeof e=="function"&&this[ge].push(e),t&&typeof t=="function"&&this[Ae].push(t),this[F]===E.Busy?this:(Reflect.apply(this[Z],this,[0,...this[Y]]),this)}exception(e){return e&&typeof e=="function"&&this[Ae].push(e),this[F]===E.Busy?this:Reflect.apply(this[Z],this,[0,...this[Y]])}isFinish(){return this[F]==E.Reject||this[F]==E.Free&&this[I]>=this[N].length}},it=(function(e){return e[e.limitless=0]="limitless",e[e.once=1]="once",e})(it||{}),be=Symbol("registerKey"),fi=class{policy;callback;constructor(e,t){this.callback=e,this.policy=t}},zt=class{[be]=new Map;constructor(){}on(e,t,r=!1){let s=this[be].get(e);s||(s=new Array,this[be].set(e,s));let n=new fi(t,r===!0?it.once:it.limitless);return s.push(n),this}off(e,t){if(!t)return this[be].delete(e),this;let r=this[be].get(e);if(r){for(let s=0;s<r.length;s++)if(r[s].callback===t){r.splice(s,1);break}}return this}bind(e,t,r=!1){return this.on(e,t,r)}unbind(e,t){return this.off(e,t)}once(e,t){return this.on(e,t,!0)}all(...e){let t=e.length;if(t<1)return this;let r=e[t-1];if(typeof r!="function")return console.error("callback can not benn empty"),this;let s=t-1,n=new Array(s),i=[].splice.call(e,0,s);for(let a=0;a<i.length;a++)this.once(i[a],o=>{n[a]=o,s-=1,s==0&&Reflect.apply(r,{},n)});return this}emit(e,...t){let r=this[be].get(e);if(!r)return this;for(let s=0;s<r.length;){let n=r[s];if(n.policy==it.once?r.splice(s,1):s++,typeof n.callback=="function")try{Ie(()=>{Reflect.apply(n.callback,{},t)})}catch(i){console.error(i.message,i)}}return this}trigger(e,...t){return Reflect.apply(this.emit,this,[e,...t])}},ce=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.Group=2]="Group",e})({}),C=(function(e){return e[e.Static=0]="Static",e[e.Param=1]="Param",e[e.ParamRegExp=2]="ParamRegExp",e[e.ParamRegExpEnd=3]="ParamRegExpEnd",e[e.EscapeNext=4]="EscapeNext",e})(C||{}),ci={type:ce.Static,value:""},hi=/[a-zA-Z0-9_]/;function yi(e){if(!e)return[[]];if(e==="/")return[[ci]];if(!e.startsWith("/"))throw new Error(`Invalid path "${e}"`);function t(y){throw new Error(`ERR (${r})/"${u}": ${y}`)}let r=C.Static,s=r;const n=[];let i;function a(){i&&n.push(i),i=[]}let o=0,l,u="",f="";function c(){u&&(r===C.Static?i.push({type:ce.Static,value:u}):r===C.Param||r===C.ParamRegExp||r===C.ParamRegExpEnd?(i.length>1&&(l==="*"||l==="+")&&t(`A repeatable param (${u}) must be alone in its segment. eg: '/:ids+.`),i.push({type:ce.Param,value:u,regexp:f,repeatable:l==="*"||l==="+",optional:l==="*"||l==="?"})):t("Invalid state to consume buffer"),u="")}function h(){u+=l}for(;o<e.length;){if(l=e[o++],l==="\\"&&r!==C.ParamRegExp){s=r,r=C.EscapeNext;continue}switch(r){case C.Static:l==="/"?(u&&c(),a()):l===":"?(c(),r=C.Param):h();break;case C.EscapeNext:h(),r=s;break;case C.Param:l==="("?r=C.ParamRegExp:hi.test(l)?h():(c(),r=C.Static,l!=="*"&&l!=="?"&&l!=="+"&&o--);break;case C.ParamRegExp:l===")"?f[f.length-1]=="\\"?f=f.slice(0,-1)+l:r=C.ParamRegExpEnd:f+=l;break;case C.ParamRegExpEnd:c(),r=C.Static,l!=="*"&&l!=="?"&&l!=="+"&&o--,f="";break;default:t("Unknown state");break}}return r===C.ParamRegExp&&t(`Unfinished custom RegExp for param "${u}"`),c(),a(),n}var pr="[^/]+?",di={sensitive:!1,strict:!1,start:!0,end:!0},J=(function(e){return e[e._multiplier=10]="_multiplier",e[e.Root=90]="Root",e[e.Segment=40]="Segment",e[e.SubSegment=30]="SubSegment",e[e.Static=40]="Static",e[e.Dynamic=20]="Dynamic",e[e.BonusCustomRegExp=10]="BonusCustomRegExp",e[e.BonusWildcard=-50]="BonusWildcard",e[e.BonusRepeatable=-20]="BonusRepeatable",e[e.BonusOptional=-8]="BonusOptional",e[e.BonusStrict=.7000000000000001]="BonusStrict",e[e.BonusCaseSensitive=.25]="BonusCaseSensitive",e})(J||{}),mi=/[.+*?^${}()[\]/\\]/g;function vi(e,t){const r=$(!0,{},di,t),s=[];let n=r.start?"^":"";const i=[];for(const u of e){const f=u.length?[]:[J.Root];r.strict&&!u.length&&(n+="/");for(let c=0;c<u.length;c++){const h=u[c];let y=J.Segment+(r.sensitive?J.BonusCaseSensitive:0);if(h.type===ce.Static)c||(n+="/"),n+=h.value.replace(mi,"\\$&"),y+=J.Static;else if(h.type===ce.Param){const{value:d,repeatable:v,optional:w,regexp:b}=h;i.push({name:d,repeatable:v,optional:w});const p=b||pr;if(p!==pr){y+=J.BonusCustomRegExp;try{new RegExp(`(${p})`)}catch(T){throw new Error(`Invalid custom RegExp for param "${d}" (${p}): `+T.message)}}let L=v?`((?:${p})(?:/(?:${p}))*)`:`(${p})`;c||(L=w&&u.length<2?`(?:/${L})`:"/"+L),w&&(L+="?"),n+=L,y+=J.Dynamic,w&&(y+=J.BonusOptional),v&&(y+=J.BonusRepeatable),p===".*"&&(y+=J.BonusWildcard)}f.push(y)}s.push(f)}if(r.strict&&r.end){const u=s.length-1;s[u][s[u].length-1]+=J.BonusStrict}r.strict||(n+="/?"),r.end?n+="$":r.strict&&!n.endsWith("/")&&(n+="(?:/|$)");const a=new RegExp(n,r.sensitive?"":"i");function o(u){const f=u.match(a),c={};if(!f)return null;for(let h=1;h<f.length;h++){const y=f[h]||"",d=i[h-1];c[d.name]=y&&d.repeatable?y.split("/"):y}return c}function l(u){let f="",c=!1;for(const h of e){(!c||!f.endsWith("/"))&&(f+="/"),c=!1;for(const y of h)if(y.type===ce.Static)f+=y.value;else if(y.type===ce.Param){const{value:d,repeatable:v,optional:w}=y,b=d in u?u[d]:"";if(Dt(b)&&!v)throw new Error(`Provided param "${d}" is an array but it is not repeatable (* or + modifiers)`);const p=Dt(b)?b.join("/"):b;if(!p)if(w)h.length<2&&(f.endsWith("/")?f=f.slice(0,-1):c=!0);else throw new Error(`Missing required param "${d}"`);f+=p}}return f||"/"}return{re:a,score:s,keys:i,parse:o,stringify:l}}function pi(e,t){const r=vi(yi(e),t);return function(s){const n=r.parse(s);return n?{path:s,params:n}:null}}var Ct=(function(e){return e[e.Part=0]="Part",e[e.All=1]="All",e})({}),gi=class{time;route},bi=class{forbidTime=300;submitRecorder=new gi;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)}},Re=Symbol("_notifyChange"),gr=class{currentRoute;routes;constructor(e,t){this.currentRoute=e,this.routes=t}},oe=Symbol("historyChangeConsumerKey"),br=Symbol("_navigateFirstRoute"),Je=Symbol("_getRouteMark"),Ft=Symbol("_getUrlSearch"),At=Symbol("_generateLocation"),ze=Symbol("_setRouteMarkRecorder"),_e=Symbol("beforeRestoreFiltersKey"),wr=Symbol("_beforeRestore"),Rr="Symbol(_fox_restore_point)";function $e(e,...t){return typeof e=="function"?Reflect.apply(e,null,[...t]):e}function Sr(e){if(!Array.isArray(e))return!1;if(e.length===0)return!0;const t=e[0];return!!(Reflect.has(t,"path")&&Reflect.has(t,"root"))}var ls=class{base;storage;mode;query;firstNavigate=!0;historyMonitor;traceless=!1;changeHandler;historyChange;[oe]=!1;[_e]=new Array;backTimeout=320;constructor(e="hash",t="",r="",s=!0,n=!0,i=!1,a,o){this.mode=e,this.base=t,this.query=r,this.firstNavigate=s,this.historyMonitor=n,this.traceless=i,this.storage=a??_().sessionStorage,this.backTimeout=o??320}init(e=!0){const t=_();return typeof this.historyChange!="function"&&(this.historyChange=()=>{if(typeof this[oe]=="function"){const r=this[oe]();if(this[oe]=!1,r)return}else if(this[oe]===!0){this[oe]=!1;return}if($e(this.historyMonitor)){const r=t.history.state;this[Re](r);try{let s=[];if(typeof r=="string"?s=JSON.parse(r):s=r,Array.isArray(s)&&s.length>0){const n=this[Je]()??"/";this[ze](n,s)}}catch{}}}),nt(t,"popstate",this.historyChange),this.firstNavigate&&e&&this[br](),Promise.resolve()}destroy(){this.historyChange&&Gt(_(),"popstate",this.historyChange)}[wr](e,t,r,s){for(let n of this[_e])try{const i=Reflect.apply(n,{},[e,t,r,s]);if(i===!1)return i}catch(i){console.error(i.message,i)}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}[br](){const e=this[Je]()??"/",t=this.storage.getItem(Rr);if(t)try{const i=JSON.parse(t);if(i.mark===e&&Array.isArray(i.routes)&&i.routes.length>0){const a=i.routes.filter((o,l)=>(o.params=o.params?qr(o.params):{},this[wr](o,l,e,i.routes)));if(a.length>0){const o=this[Ft](),l=a.length-1;a[l].query=o||a[l].query,this[Re](a);return}}}catch{}const r=e.indexOf("!");let s;r!=-1?s=e.substring(r+1):s=e;const n=new P;n.path=s,n.query=this[Ft](),this[Re]([n])}[ze](e,t){try{t.forEach(n=>{n.params=n.params?jr(n.params):{}});const s=JSON.stringify({mark:e,routes:t});this.storage.setItem(Rr,s)}catch(r){console.error(r.message,r)}}setRestorePoint(e){const t=this[Je]()??"/";this[ze](t,e)}[Re](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}[Je](){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,r=t.indexOf("#");if(r!=-1)return t.substring(r+1)}return null}[Ft](){let e=_().location.search;return e.length>0&&e.indexOf("?")===0&&(e=e.substring(1)),e}listen(e){this.changeHandler=e}go(e,t=!1){const r=_();this[oe]=t,r.history.go(e)}goBack(e,t){const r=_(),s=r.history.state;if(Sr(s)&&s.length>0){let n=!1;for(let u=s.length-1;u>=0;u--){const f=P.from(s[u]);if(!(f.historyUpdatePolicy==="traceless"||$e(this.traceless,f))&&P.isSame(f,e)){n=!0;break}}if(!n){t();return}const i=this.backTimeout;let a=null;const o=()=>{r.history.go(-1),a=setTimeout(o,i)},l=()=>{clearTimeout(a);const u=_().history.state;if(Sr(u)&&u.length>0){let f=u.length;const c=u[f-1],h=P.from(c);if(P.isSame(h,e))return t(),!0;if(f>0){let y=!1;for(let d=f-1;d>=0;d--){const v=P.from(u[d]);if(!(v.traceless===!0||$e(this.traceless,v))&&P.isSame(v,e)){y=!0;break}}return y?(setTimeout(()=>{a=setTimeout(o,i),this.go(-1,l)},0),!0):(t(),!0)}}return t(),!0};a=setTimeout(o,i),this.go(-1,l)}else t()}setRouteMark(e){const t=e.currentRoute.fullPath;this[ze](t,e.routes)}push(e){const t=this[At](e.currentRoute);e.currentRoute.historyUpdatePolicy!=="traceless"&&!$e(this.traceless,e.currentRoute)&&_().history.pushState(e.routes,"",t),this.setRouteMark(e)}replace(e){const t=this[At](e.currentRoute);(e.currentRoute.historyUpdatePolicy!=="traceless"||!$e(this.traceless,e.currentRoute))&&_().history.replaceState(e.routes,"",t),this.setRouteMark(e)}[At](e){const t=_();let r="";if(e.query){let a="";if(typeof e.query=="object")for(let o of Reflect.ownKeys(e.query)){let l=encodeURIComponent(e.query[o]),u=`${encodeURIComponent(String(o))}=${l}`;a.length>0&&(a+="&"),a+=u}else a=e.query;this.query?(r=a.length>0?`${this.query}&${a}`:this.query,r.length>0&&r.charAt(0)!=="?"&&(r=`?${r}`)):a.length>0&&(r=`?${a}`)}const s=t.location;let n=e.alias??e.fullPath;n.startsWith("default")&&(n=n.substring(Mr.length+1));let i;return r?this.mode=="path"?n.indexOf("/")===0?i=`${this.base}${n}${r}`:i=`${this.base}/${n}${r}`:i=`${s.pathname}${r}#${n}`:this.mode=="path"?n.indexOf("/")===0?i=`${this.base}${n}`:i=`${this.base}/${n}`:i=`${s.pathname}#${n}`,`${s.origin}${i}`}};function wi(e=!0,t=null,r="",s=!0,n=!1,i){return t!==null&&(t=_().location.pathname),t&&t.endsWith("/")&&(t=t.substring(0,t.length-1)),new ls("path",t??"",r,e,s,n,i)}function as(e=!0,t="",r=!0,s=!1,n){return new ls("hash","",t,e,r,s,n)}var Ri=class{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}[Re](e){typeof this.changeHandler=="function"&&this.changeHandler(e)}go(e,t=!1){if(this.queue.length==0||this.cursor<=0)return;let r=this.cursor+e;if(r<0?r=0:r>this.queue.length-1&&(r=this.queue.length-1),r!=this.cursor){this.cursor=r;let s=!1;if(typeof t=="function"?s=t():s=t,!s){const n=this.queue[r];this[Re](n.routes)}}}goBack(e,t){if(this.queue.length==0||this.cursor<=0)return;let r=0;if(e===null)r=this.cursor+1;else for(let s=this.cursor;s>=0;s--){const n=this.queue[s];if(P.isSame(n.currentRoute,e))break;r++}if(r===0){t();return}this.go(-r,()=>(t(),!0))}setRouteMark(e){}push(e){this.queue.length>=this.maxSize&&this.queue.splice(0,1),this.queue.push(e),this.cursor=this.queue.length-1}replace(e){let t=this.queue.length-this.cursor;this.queue.splice(this.cursor,t),this.queue[this.cursor]=e}setRestorePoint(e){}};function us(e="",t=50){return new Ri(e,t)}var Ge=Symbol("_constructRouteModel"),Xe=Symbol("_findRouteModel"),_t=Symbol("_findRootView"),Si=Symbol("_getFirstView"),le=Symbol("_removeView"),xr=Symbol("_buildPage"),Pr=Symbol("_resolveComponent"),Er=Symbol("_update"),se=Symbol("_merge"),$t=Symbol("_handleHistoryChange"),ae=Symbol("_handleRouteUpdated"),Qe=Symbol("routeUpdatedCallback"),Kt=Symbol("currentRoute"),g=Symbol("currentRoutes"),Ye=Symbol("routeSessionCacheKey"),Cr=Symbol("_addRouteRecorder"),Ke=Symbol("_removeRouteRecorder"),Ze=Symbol("_cloneRouteRecorder"),q=Symbol("_handleError"),et=Symbol("errorCallback"),H=Symbol("registerKey"),tt=Symbol("notFoundKey"),jt=Symbol("notFoundPathKey"),W=Symbol("forestKey"),x=Symbol("historyKey"),je=Symbol("beforeFiltersKey"),qe=Symbol("afterFiltersKey"),Le=Symbol("destroyFiltersKey"),qt=Symbol("propsFilterKey"),we=Symbol("mainDispatcherKey"),Lt=Symbol("initKey"),ue=Symbol("readyKey"),Tt=Symbol("readyHandlersKey"),rt=Symbol("_markReady"),Fr=Symbol("_createNextFn"),Ot=Symbol("_start"),kt=Symbol("_before"),It=Symbol("_after"),Ar=Symbol("_destroy"),Mt=Symbol("_load"),Te=Symbol("_unload"),Oe=Symbol("routerGuardKey"),ki=Symbol.for("loadViewModel");function xi(e){return e.layers.length==0||e.layers[0].views.length==0}var Pi=class{[H]=new Array;[tt];[jt]="*";[ue]=!1;[Tt]=[];[W]=new ni;[x];[g]=new Array;[Kt]=(0,m.shallowRef)(null);[Ye]=new WeakMap;[et]=null;[Qe]=null;[je]=new Array;[qe]=new Array;[Le]=new Array;[qt]=null;[we]=new Be;[Oe]=new bi;[Lt]=!1;get currentRoute(){return(0,m.readonly)(this[Kt])}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[x]=e.history:this[x]=ye?as():us(),this[x]?.listen(async r=>{let s=!0;try{if(typeof r=="string"){const n=this[B](r);n&&await this[$t]([n])}else await this[$t](r)}catch(n){console.error(n.message,n),s=!1}this[ue]===!1&&this[rt](s)})}[q](e="error",t){if(t&&typeof t.error=="function")try{t.error(e)}catch{}if(typeof this[et]=="function")try{this[et](e,t)}catch{}console.error(e)}init(){this[Lt]!==!0&&(this[x]?.init(!this[ue]),this[Lt]=!0)}isReady(){return this[ue]?Promise.resolve():new Promise((e,t)=>{this[Tt].push([e,t])})}[rt](e){this[ue]=!0,this[Tt].forEach(([t,r])=>{try{e?t():r()}catch(s){console.error(s.message,s)}})}[$t](e){try{if(!e){let i=[...this[g]].reverse();return this[Te](i),ye&&_().location.reload(),Promise.resolve()}let t=null,r=[],s=[],n=0;for(;n<e.length&&n<this[g].length&&P.isSame(e[n],this[g][n]);n++)e[n].active===!0&&e[n].active!==this[g][n].active&&(t=e[n]);if(n<e.length&&(r=e.slice(n)),n<this[g].length&&(s=this[g].slice(n).reverse()),s.length===0&&r.length===0){if(t!==null)return this.restore([t])}else if(s.length>0){if(this[Te](s)){if(r.length>0)return this.restore(r);if(t!==null)return this.restore([t])}}else return this.restore(r)}catch(t){this[q](t)}return Promise.resolve()}[ae](e=null){if(this[Kt].value=e,typeof this[Qe]=="function")try{this[Qe](e)}catch{}}[Cr](e,t){if(e.opsType===A.Open){let r=!1;const s=this[g].length-1;for(let n=s;n>=0;n--){const i=this[g][n];if(e.root==i.root){if(e.path===i.path){this[g].splice(n,1,e),r=!0;continue}e.active&&(i.active=!1)}}r||this[g].push(e)}else this[g].push(e);this[Ye].set(e,t),this[ae](e)}[Ze](){let e=[];for(let t of this[g]){let r=P.clone(t,!0);e.push(r)}return e}[Ke](e){if(!this[g]){this[ae](null);return}let t=-1;for(let r=0;r<this[g].length;r++)if(P.isSame(this[g][r],e)){t=r;break}if(t!=-1){const r=this[g][t];this[g].splice(t,1);const s=this[Ye].get(r);if(this[Ye].delete(r),this[Ar](r,s),r.opsType===A.Append){const n=this[g].length-1;this[ae](this[g][n]??null)}else this[ae](null)}else this[ae](null)}set historyMonitor(e){this[x]&&(this[x].historyMonitor=e)}get historyMonitor(){return this[x]?this[x].historyMonitor:!1}set traceless(e){this[x]&&(this[x].traceless=e)}get traceless(){return this[x]?this[x].traceless:!1}set propsFilter(e){this[qt]=e}get propsFilter(){return this[qt]}setRestorePoint(){const e=this[Ze]();this[x]?.setRestorePoint(e)}onRouteUpdated(e){this[Qe]=e}onError(e){this[et]=e}beforeEach(e){this[je].push(e)}removeBeforeEach(e){const t=this[je].indexOf(e);return t!==-1?(this[je].splice(t,1),!0):!1}afterEach(e){this[qe].push(e)}removeAfterEach(e){const t=this[qe].indexOf(e);return t!==-1?(this[qe].splice(t,1),!0):!1}destroyEach(e){this[Le].push(e)}removeDestroyEach(e){const t=this[Le].indexOf(e);return t!==-1?(this[Le].splice(t,1),!0):!1}beforeRestoreEach(e){this[x]?.beforeRestoreEach(e)}removeBeforeRestoreEach(e){return this[x]?.removeBeforeRestoreEach(e)??!1}addRoutes(e){for(let t of e)this.addRoute(t)}addRoute(e,t=-1){if(e.path===this[jt]){this.setNotFoundRoute(e);return}const r=this[Ge](e);if(t==-1)this[H]=[...this[H],...r];else for(let s=r.length-1;s>=0;s--)this[H].splice(t,0,r[s])}removeRoute(e){const t=this[B](e);if(t===null)return console.warn("route格式错误",e),!1;for(let r=0;r<this[H].length;r++){const s=this[H][r];if(t?.path&&s.path===t.path)return this[H].splice(r,1),!0;if(t?.name&&s.name===t.name)return this[H].splice(r,1),!0}return!1}hasRoute(e){const t=this[B](e);return t===null?(console.warn("route格式错误",e),!1):this[H].findIndex(r=>{if(t?.path&&r.path===t.path||t?.name&&r.name===t.name)return!0})!==-1}setNotFoundPath(e){this[jt]=e}setNotFoundRoute(e){this[tt]=this[Ge](e)[0]}getRoutes(){return[...this[H]]}[Ge](e){let t=e.path??"";t.length>0&&t.charAt(0)!=="/"&&(t=`/${t}`);let r=e.components??(e.component&&{"":e.component});if(!r){const o=new bt;return o.path=t,o.redirect=e.redirect,[o]}const s=new P;s.path=t,s.name=e.name,s.meta=e.meta;let n=[];for(let o in r){const l=r[o];o.length===0&&(o=Mr);const u=new Ts(o,l,e.props);n.push(u)}let i=!1,a=[];if(e.children)for(let o of e.children){const l=this[Ge](o);for(let u of l){let f=new bt;f.name=u.name,u.path&&u.path.length>0?t!=="/"?f.path=`${t}${u.path}`:f.path=u.path:(i=!0,f.path=t);let c=new cr;c.models=[...n],f.layers=[c,...u.layers],f.matchedRoutes=[s,...u.matchedRoutes??[]],a.push(f)}}if(!i){const o=new cr;o.models=n;const l=new bt;l.name=e.name,l.path=t,l.matchedRoutes=[s],l.layers=[o],a.splice(0,0,l)}return a}[Xe](e){const t=e.route;try{for(let r of this[H]){const s=t.path?t.template??t.path:null,n=t.name?t.template??t.name:null;if(s&&r.path){let i=r.match;i||(i=r.match=pi(r.path));const a=i(s);if(!a)continue;if(r.redirect){const o=new P;$(!0,o,t),o.path=r.redirect;const l={route:o,find:void 0};return this[Xe](l)?(e.route=l.route,e.find=l.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 o=t.query;if(typeof o=="string"){const l={},u=o.split("&");for(let f of u){const c=f.split("=");if(c.length!==2)continue;const h=decodeURIComponent(c[0].trim());l[h]=decodeURIComponent(c[1].trim())}$(!0,t.params,l)}else typeof o=="object"&&$(!0,t.params,o)}return e.find=r,t.template&&e.find&&(e.find={...e.find},e.find.path=t.path),!0}else if(n===r.name)return e.find=r,t.template&&e.find&&(e.find={...e.find},e.find.name=t.name),!0}}catch(r){console.error(r.message,r),typeof t.error=="function"&&t.error(r.message)}return!1}[B](e){let t=null;if(Array.isArray(e))if(t=new P,typeof e[0]=="object")t=P.from(e[0]);else for(let r=0;r<e.length;r++)r===0?e[r].charAt(0)==="/"?t.path=e[r]:t.name=e[r]:r===1?t.params=e[r]:r===2?t.root=e[r]:r===3&&$(!1,t,e[r]);else typeof e=="object"?t=P.from(e):typeof e=="string"&&(t=new P,e.charAt(0)=="/"?t.path=e:t.name=e);if(t){if(t.path){let r=t.path.indexOf("?");r!==-1&&r<t.path.length-1&&(t.query=t.path.substring(r+1),t.path=t.path.substring(0,r))}t.root=t.root??"default",t.opsType=t.opsType??this.options.defaultOperationType??A.Push,t.traceless&&!t.historyUpdatePolicy&&(t.historyUpdatePolicy="traceless")}return t}push(...e){const t=this[B](e);return t?(t.opsType=A.Push,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[q]("resolve route fail",t),this)}put(...e){const t=this[B](e);return t?(t.opsType=A.Put,t.historyUpdatePolicy=t.historyUpdatePolicy??"traceless",this.to(t)):(this[q]("resolve route fail",t),this)}replace(...e){const t=this[B](e);return t?(t.opsType=A.Replace,t.historyUpdatePolicy=t.historyUpdatePolicy??"replace",this.to(t)):(this[q]("resolve route fail",t),this)}append(...e){const t=this[B](e);return t?(t.opsType=A.Append,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[q]("resolve route fail",t),this)}remove(e,t){return new Promise(r=>{this[we].post(s=>{try{if(this[g].length===0){s.resolve(),r(!1);return}let n=-1,i=null,a=[];if(e){if(i=e.root??null,e.all)for(let l=this[g].length-1;l>0;l--){const u=this[g][l];if(u.opsType===A.Append){const f=u.root??"default";if(i&&i!==f)continue;a.splice(0,0,u),n=l-1}}else if(e.until)for(let l=this[g].length-1;l>0;l--){let u=this[g][l];if(u.opsType===A.Append&&u.root===i){if(e.until.charAt(0)==="/"&&e.until===u.path){n=l;break}else if(e.until===u.name){n=l;break}a.splice(0,0,u)}}else if(e.to)for(let l=this[g].length-1;l>0;l--){const u=this[g][l];if(u.opsType===A.Append){const f=u.root??"default";if(i&&i!==f)continue;if(a.splice(0,0,u),e.to.charAt(0)==="/"&&e.to===u.path){n=l-1;break}else if(e.to===u.name){n=l-1;break}}}}else for(let l=this[g].length-1;l>0;l--){let u=this[g][l];if(u.opsType===A.Append){a.push(u),n=l-1;break}}if(n===-1||a.length===0){let l="can not find route";console.warn(l),s.resolve(l),r(!1);return}let o=null;if(n!==-1&&(o=this[g][n]),this[Te](a)){if(t===!1)return s.resolve(),r(!0),!0;const l=()=>(s.resolve(),r(!0),!0),u=this[g].length;if(o&&P.isSame(o,this[g][u-1])){this[x]?.goBack(o,l);return}l()}}catch(n){this[q](n),s.resolve(),r(!1)}})})}open(...e){let t=this[B](e);return t?(t.opsType=A.Open,t.historyUpdatePolicy=t.historyUpdatePolicy??"push",this.to(t)):(this[q]("resolve route fail",t),this)}close(e){return this[we].post(t=>{try{let r=this[B](e);if(!r){t.reject("resolve route fail");return}let s=[];for(let n=0;n<this[g].length;n++){let i=this[g][n];if(i.root===r.root){if(!r.path&&!r.name){s.push(i);continue}if(r.path&&r.path===i.path){s.push(i);break}else if(r.name&&r.name===i.name){s.push(i);break}}}if(s.length===0){t.resolve();return}this[Te](s),t.resolve()}catch(r){this[q](r),t.resolve()}}),this}to(...e){let t=this[B](e);if(!t)return this[q]("resolve route fail",t),this;let r=this[Oe].acquire(t);return r==null?(this[q]("route forbid",t),this):(this[we].post(s=>{try{let n=this[Ot](t);this[kt](n),this[Mt](n),this[It](n),n.wait((i,a)=>{const o=i.session.to;if(i.session.updateResult&&i.session.updateResult.status==="success")try{const l=new gr(P.clone(o,!0),this[Ze]());o.historyUpdatePolicy==="replace"?this[x]?.replace(l):o.historyUpdatePolicy==="traceless"?this[x]?.setRouteMark(l):this[x]?.push(l)}catch(l){console.error(l.message,l)}if(Ve.clear(i.session),this[Oe].release(r),typeof t.success=="function")try{Reflect.apply(t.success,{},[])}catch(l){console.error(l.message,l)}this[ue]===!1&&this[rt](!0),n=null,s.resolve()},(i,a)=>{this[Oe].release(r),a!==null&&this[q](a,t),this[ue]===!1&&this[rt](!1),Ve.clear(i.session),n=null,s.resolve()})}catch(n){this[Oe].release(r),this[q](n,t),s.resolve()}}),this)}back(e=1){this[x]?.go(-e,!1)}[Fr](e){return(t,r)=>{if(typeof t=="boolean")e.session.redirect=!1,t?e.resolve():e.reject(r??null);else if(t){const s=this[B](t);if(s){const n=e.session.to;s.success=n.success,s.error=n.error,e.session.to=s,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()}}[Ot](e){const t=new Ve(e,this[g].length>0?this[g][this[g].length-1]:void 0),r={route:e,find:null};if(this[Xe](r),r.find){t.routeModel=r.find,e.matched=r.find.matchedRoutes??[];const s={};if(Array.isArray(r.find?.matchedRoutes))for(let n=0;n<r.find.matchedRoutes.length;n++){const i=r.find.matchedRoutes[n];i.meta&&typeof i.meta=="object"&&Object.assign(s,i.meta)}e.meta&&typeof e.meta=="object"&&Object.assign(s,e.meta),e.meta=s}return new Be(t)}[kt](e){for(let t of this[je])e.post(r=>{const s=this[Fr](r);Reflect.apply(t,{},[r.session.to,r.session.from,s,r.session])})}[It](e){e.post(t=>{for(let r of this[qe])try{Reflect.apply(r,{},[t.session.to,t.session.from,t.session])}catch(s){console.error(s.message,s)}t.resolve()})}[Ar](e,t){for(let r of this[Le])try{Reflect.apply(r,{},[e,t])}catch(s){console.error(s.message,s)}typeof e.destroy=="function"&&Reflect.apply(e.destroy,e,[])}[Mt](e){e.post(t=>{const r=t.session.to;let s=t.session.routeModel;if(s==null){let i={route:r,find:null};if(this[Xe](i))s=i.find,t.session.routeModel=s;else if(this[tt])s=this[tt];else{t.reject(`not find route model, path:${r.path??r.name}`);return}}const n=Ve.from(t.session);this[xr](r,s,n).then(i=>{this[W],t.session.updateResult=i??{status:"success",message:""},t.resolve()},i=>{t.reject(i)})})}[Te](e){if(e.length==0)return!0;let t=this[W],r=[];for(let s of e){let n=this[_t](t,s);n!=null&&r.push({...n,route:s})}if(r.length==0)return this[q]("can not find view index"),!1;for(let s of r.reverse())this[le](t,{x:s.x,y:s.y},[s.route.index??0],!0);return!0}[_t](e,t){const r=t.root??"default";let s;for(let n=0;n<e.layers.length;n++){const i=e.layers[n];for(let a=i.views.length-1;a>=0;a--){const o=i.views[a];if(o[G]&&o[st]===r)return s={x:a,y:n},s}}return null}[Si](e){return e.layers.length>0&&e.layers[0].views.length>0?e.layers[0].views[0]:null}[le](e,t,r=null,s=!0){if(t.y>=e.layers.length||t.x>=e.layers[t.y].views.length)return;let n=e.layers[t.y].views[t.x],i=!1,a=[],o=!1,l=[...n.slots.value];for(let f=l.length-1;f>=0;f--){let c=l[f];(!r||r.indexOf(c.index)!=-1)&&(c.route&&n[G]&&(this[Ke](c.route),c.active===!0&&c.route.opsType==A.Append&&(o=!0)),a.push(new D(n,c.index,t.y)),l.splice(f,1))}if(l.length==0)s?n.slots.value=l:e.layers[t.y].views.splice(t.x,1);else{if(o){let f=l[l.length-1];f.active=!0,f.route&&(f.route.active=f.active)}n.slots.value=l}e.layers[t.y].views.length==0&&(i=!0);let u=t.y+1;for(;u<e.layers.length;u++){let f=e.layers[u].views,c=[];for(let h=f.length-1;(i||a.length>0)&&h>=0;h--){let y=f[h];if(y[fe]&&(i||D.include(a,y[fe]))){let d=y.slots.value;for(let v=d.length-1;v>=0;v--){let w=d[v];w.route&&y[G]&&this[Ke](w.route),c.push(new D(y,w.index,u)),d.splice(v,1)}e.layers[u].views.splice(h,1)}}a=c,e.layers[u].views.length==0&&(i=!0)}}restore(e){if(!e||this[H].length==0){let t=this[W];if(t.layers.length>0){let r=t.layers[0].views;r.length>0&&(r[0].slots.value=[])}return this[g]=[],this[ae](null),Promise.resolve()}else return new Promise((t,r)=>{let s=null,n=!1;for(let i=0;i<e.length;i++){const a=e[i];this[we].post(o=>{const l=this[Ot](a);this[kt](l),this[Mt](l),this[It](l),l.wait((u,f)=>{s=u.session.to,n=u.session.redirect,o.resolve()},(u,f)=>{s=null,f!==null&&this[q](f),o.resolve()})})}this[we].post(i=>{if(s&&n===!0){const a=new gr(P.clone(s,!0),this[Ze]());this[x]?.replace(a)}i.resolve(),t()})})}[xr](e,t,r){const s=e.updateType??Ct.Part;return this[Pr](t).then(()=>{const n=this[Er](t,e,r,s);if(n.status==="error")throw Error(n.message);return n})}[Pr](e){let t=[];for(let r=0;r<e.layers.length;r++){let s=e.layers[r];for(let n=0;n<s.models.length;n++){let i=s.models[n];i.isResolved||t.push(i.resolve())}}return t.length>0?Promise.all(t):Promise.resolve()}[Er](e,t,r,s){if(e.layers[0].models.length!==1)return{status:"error",message:"illegal route structure(multi root node)"};const n=e.layers[0].models[0];let i=this[W],a=xi(i),o=t.root??"default",l;!a&&s==Ct.Part&&(l=this[_t](i,t));let u,f=0;if(l==null||l==null)if(a||s===Ct.All)i.layers.length==0&&(i.layers[0]=new xt),i.layers[0].views.length==0?(u=new Fe(t.root??"default",!0,null),i.layers[0].views=[u]):u=i.layers[0].views[0],l={x:0,y:0};else{let c=t.slot;if(!c)return{status:"error",message:"can not rebuild view(because not route slot)"};let h=c.level;if(h>i.layers.length)return{status:"error",message:"can not insert view(override level)"};let y;if(c.rootName){let d=i.layers[h-1];for(let v of d.views){if(v[G]&&v.name===c.rootName){y=new D(v,c.rootIndex??0,h-1);break}if(v[z]&&v[z].view.name===c.rootName&&v[z].index===c.rootIndex){y=v[z];break}}}if(!y)return{status:"error",message:"can not insert view(not find root node ref)"};u=new Fe(o,!0,y),i.layers[h].views.push(u),l={x:i.layers[h].views.length-1,y:h}}else u=i.layers[l.y].views[l.x];if(f=l.y,u[G]=!0,t.opsType===A.Append){t.index=t.index??ke.get(),t.active=!0;let c=u.slots.value;if(c.length>0){let w=c[c.length-1];w.active=!1,w.route&&(w.route.active=w.active)}let h=new te(t,n,t.index,!0);u.slots.value=[...c,h];let y=f+1,d=1,v=new D(u,t.index,f);this[se](i,y,e,d,v)}else if(t.opsType===A.Open){let c=u.slots.value;const h=t.active??!0;let y=!1;for(let d of c){if(d.route!==null&&P.isSamePathForRoute(d.route,t)){if(d.active===h)return t.index=d.index,t.active=h,d.route=t,{status:"noChange",message:""};d.active=h,y=!0,t.index=d.index,t.active=h,d.route=t}else h&&(d.active=!1);d.route&&(d.route.active=d.active)}if(!y){t.index=t.index??ke.get(),t.active=h;let d=new te(t,n,t.index,h);c.push(d);let v=f+1,w=1,b=new D(u,t.index,f);this[se](i,v,e,w,b)}u.slots.value=[...c]}else{let c=u.slots.value;if(c.length==0){t.index=t.index??ke.get(),t.active=!0,u.slots.value=[new te(t,n,t.index)];let h=f+1,y=1,d=new D(u,t.index,f);this[se](i,h,e,y,d)}else{let h=c[0];if(h.model!==n){this[le](i,l,null,!0),t.index=t.index??ke.get(),t.active=!0,u.slots.value=[new te(t,n,t.index)];let y=f+1,d=1,v=new D(u,t.index,f);this[se](i,y,e,d,v)}else{h.route!==null&&this[Ke](h.route);let y=!1;const d=t.active??!0;h.active!==d&&(h.active=d,y=!0),t.active=d,t.index=h.index,h.route=t;let v=[];for(let T=1;T<c.length;T++)v.push(c[T].index);v.length>0?this[le](i,l,v,!0):y&&(u.slots.value=[...c]);let w=[new D(u,t.index,f)],b=f+1,p=1,L=new D(u,t.index,f);for(;w.length>0&&b<i.layers.length&&p<e.layers.length;b++,p++){let T=[];for(let O=0;O<i.layers[b].views.length;O++){let j=i.layers[b].views[O];j[fe]&&D.include(w,j[fe])&&T.unshift(O)}let Pe=[];for(let O of T){let j=i.layers[b].views[O],ne=e.layers[p].models,ee;for(let k=0;k<ne.length;k++)if(j.name===ne[k].name){ee=ne[k];break}if(!ee)this[le](i,{x:O,y:b},null,!1);else{let k=j.slots.value;if(k.length==0){let Q=0;j.slots.value=[new te(null,ee,Q)];let U=b+1,V=p+1;this[se](i,U,e,V,L)}else{let Q=k[0];if(Q.model!==ee){this[le](i,{x:O,y:b},null,!0),j.slots.value=[new te(null,ee,0)];let U=b+1,V=p+1;this[se](i,U,e,V,L)}else{j[G]&&Q.route!==null&&this[Ke](Q.route);let U=[];for(let V=1;V<k.length;V++)U.push(k[V].index);U.length>0&&this[le](i,{x:O,y:b},U,!0),Pe.push(new D(j,Q.index,b))}}j[G]=!1}}w=Pe}this[se](i,b,e,p,L)}}}if(u&&u[z]){let c=u[z];c&&(t.slot=new Ls(o,f,c?.view.name,c?.index??0))}return r.to=void 0,r.routeModel=void 0,this[Cr](t,r),{status:"success",message:""}}[se](e,t,r,s,n){let i=s,a=t;for(;a<e.layers.length&&i<r.layers.length;a++,i++){let o=e.layers[a].views;for(let l of r.layers[i].models){let u=new Fe(l.name,!1,n),f=new te(null,l);u.slots.value=[f],o.push(u)}}for(;i<r.layers.length;i++){let o=new xt;o.views=[];for(let l of r.layers[i].models){let u=new Fe(l.name,!1,n),f=new te(null,l);u.slots.value=[f],o.views.push(u)}e.layers.push(o)}}[Br](e,t,r,s,n,i){if(t<0||t>this[W].layers.length)return null;if(t<this[W].layers.length){let u=this[W].layers[t],f=null;for(let c of u.views){let h=!1;if(r!==null?(h=c.name===e&&c[z]?.view===r,h&&s!==-1&&(h=c[z]?.index===s)):h=c.name===e,!!h){n!==null&&(c[fe]={view:n,index:i,level:t-1}),f=c;break}}if(f!==null)return f}let a=null,o=null;n!==null&&(n[G]?a={view:n,index:i,level:t-1}:a=n[z],o={view:n,index:i,level:t-1});let l=new Fe(e,!0,a);if(l[fe]=o,t==this[W].layers.length){let u=new xt;u.views=[l],this[W].layers.push(u)}else this[W].layers[t].views.push(l);return l}},Ei="fox-router-view",Ci="fox-router-link",M=(function(e){return e[e.Loading=0]="Loading",e[e.Loaded=1]="Loaded",e[e.Defining=2]="Defining",e[e.Defined=3]="Defined",e})({}),Bt=(function(e){return e[e.normal=0]="normal",e[e.factory=1]="factory",e})({}),Fi=class{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()}},_r=class{moduleManager=new Fi;options={paths:{},alias:{},nature:[],timeout:3e3};set paths(e){this.options.paths=e}get paths(){return this.options.paths}set alias(e){this.options.alias=e}get alias(){return this.options.alias}set naturePaths(e){this.options.nature=e}get naturePaths(){return this.options.nature}set timeout(e){this.options.timeout=e}get timeout(){return this.options.timeout}_query;set query(e){this._query=e}get query(){return this._query}get head(){return He().head}constructor(){}setModule(e,t){const r={id:e,src:"",status:M.Defined};typeof t=="function"?(r.exports=t,r.type=Bt.factory):r.exports=t,this.moduleManager.set(e,r)}removeModule(e){this.moduleManager.remove(e)}ensure(...e){const t=[];let r=e.length-1;const s={};typeof e[r]=="object"&&(Object.assign(s,e[r]),r--);let n=null;typeof e[r]=="function"&&(n=e[r],r--);for(let o=0;o<=r;o++)if(Array.isArray(e[o])){let l=e[o];for(let u=0;u<l.length;u++)l[u]&&t.push(this.resolvePath(l[u]))}else if(typeof e[o]=="string"){let l=e[o].split(",");for(let u=0;u<l.length;u++)l[u]&&t.push(this.resolvePath(l[u]))}const i=new Ai(t.length,(o,l)=>{if(i.isOK())try{typeof n=="function"&&Reflect.apply(n,{},l)}catch(u){console.error(u.message,u)}else try{console.error(o),typeof n=="function"&&Reflect.apply(n,{},[])}catch(u){console.error(u.message,u)}}),a=new Be;for(let o=0;o<t.length;o++){const l=new _i(o,t[o],s,i);this.mount(a,l)}return this}remove(...e){let t=[],r=e.length-1,s={};typeof e[r]=="object"&&(Object.assign(s,e[r]),r--);let n=null;typeof e[r]=="function"&&(n=e[r],r--);for(let i=0;i<=r;i++)if(Array.isArray(e[i])){let a=e[i];for(let o=0;o<a.length;o++)a[o]&&t.push(this.resolvePath(a[o]))}else{let a=e[i].split(",");for(let o=0;o<a.length;o++)a[o]&&t.push(this.resolvePath(a[o]))}return t.forEach(i=>{this.unmount(i,s)}),typeof n=="function"&&Reflect.apply(n,{},[]),this}mount(e,t){if(t.src==="exports"){e.post(s=>{t.progress.work(!0,t.index,"exports"),s.resolve()});return}else if(t.src==="module"){e.post(s=>{t.progress.work(!0,t.index,"module"),s.resolve()});return}if(this.isNaturePath(t.src)){let s=t.params.jsPoint;s||(s=this.head),this.mountJS(e,t,s);return}else if(this.isNaturePath(t.src)){let s=t.params.cssPoint;s||(s=this.head),this.mountCSS(e,t,s);return}let r=this.getFileNamePostfix(t.src);if(r==="js"||r.length===0){let s=t.params.jsPoint;s||(s=this.head),this.mountJS(e,t,s);return}else if(r==="css"){let s=t.params.cssPoint;s||(s=this.head),this.mountCSS(e,t,s);return}}mountCSS(e,t,r){e.post(s=>{const n=t.src,i=this.moduleManager.get(n);if(i&&(i.status==M.Defined||i.status==M.Loaded)&&i.exports){i.type===Bt.factory&&typeof i.exports=="function"?t.progress.work(!0,t.index,i.exports()):t.progress.work(!0,t.index,i.exports),s.resolve();return}const a=He(),o=a.createElement("link");if(Reflect.has(o,"onload"))o.onload=()=>{o.onload=null,o.onerror=null,t.progress.work(!0,t.index,t.src),s.resolve()},o.onerror=()=>{try{r.removeChild(o)}catch(u){console.error(u.message,u)}o.onload=null,o.onerror=null,t.progress.work(!1,t.index,null),s.reject()};else{const u={timeout:this.options.timeout??3e3,time:0,success:()=>{t.progress.work(!0,t.index,t.src),s.resolve()},error:()=>{try{r.removeChild(o)}catch(f){console.error(f.message,f)}t.progress.work(!1,t.index,null),s.resolve()}};setTimeout(()=>{fs(o,u)},1)}let l=a.getElementById(n);l&&l.parentNode&&l.parentNode.removeChild(l),o.rel="stylesheet",o.type="text/css",o.id=n,o.href=n,r.appendChild(o)})}mountJS(e,t,r){e.post(s=>{const n=t.src;let i=this.moduleManager.get(n);if(i&&(i.status==M.Defined||i.status==M.Loaded)){if(i.exports){i.type===Bt.factory&&typeof i.exports=="function"?t.progress.work(!0,t.index,i.exports()):t.progress.work(!0,t.index,i.exports),s.resolve();return}if(document.querySelector(`script[src='${n}`)){t.progress.work(!0,t.index,i.exports),s.resolve();return}}i={id:n,src:n,status:M.Loading},this.moduleManager.set(n,i);const a=He().createElement("script");if("onload"in a)a.onload=()=>{a.onload=null,a.onerror=null,i.status===M.Loading&&(i.status=M.Loaded,t.progress.work(!0,t.index,n)),s.resolve()},a.onerror=()=>{try{r.removeChild(a)}catch(f){console.error(f.message,f)}a.onload=null,a.onerror=null,this.moduleManager.remove(n),t.progress.work(!1,t.index,null),s.resolve()};else{const f=a;f.onreadystatechange=()=>{/loaded|complete/.test(f.readyState)&&(f.onreadystatechange=null,i.status==M.Loading&&(i.status=M.Loaded,t.progress.work(!0,t.index,n)),s.resolve())}}a.defer=!0,a.src=n;const o=_(),l=this.createRequireLoad(),u=this.createDefine(i,l,t);o.require=l,o.define=u,r.appendChild(a)})}unmount(e,t={}){const r=He(),s=this.getFileNamePostfix(e);if(s==="js"||s.length===0){const n=r.querySelector(`script[src="${e}"]`);n&&n.parentNode&&n.parentNode.removeChild(n),this.moduleManager.remove(e);return}else if(s==="css"){const n=r.querySelector(`style[href="${e}"]`);n&&n.parentNode&&n.parentNode.removeChild(n);return}}trimEmptyElement(e){let t=[];for(let r=0;r<e.length;r++){if(e[r]===void 0||e[r]===null)continue;const s=e[r].trim();s.length!==0&&t.push(s)}return t}createDefine(e,t,r){const s=this,n=function(...i){e.status=M.Defining;let a,o,l,u=i.length;if(u===1?(l=i[0],a=void 0):u===2?(l=i[1],Array.isArray(i[0])?(o=s.trimEmptyElement(i[0]),a=void 0):o=void 0):(a=i[0],o=s.trimEmptyElement(i[1]),l=i[2]),a&&(e.id=a,s.options.alias[a]=e.src),o&&o.length>0)s.ensure(o,(...f)=>{try{const c=f.map(h=>h==="exports"?((!e.exports||typeof e.exports!="object")&&(e.exports={}),e.exports):h==="module"?e:h==="require"?t:h);if(typeof l=="function"){const h=Reflect.apply(l,e,c);h&&typeof h=="object"&&(e.exports=h)}else e.exports=l;e.status=M.Defined,r.progress.work(!0,r.index,e.exports)}catch(c){console.error(c),r.progress.work(!1,r.index,[])}});else{if(typeof l=="function"){const f=Reflect.apply(l,e,[]);f&&typeof f=="object"&&(e.exports=e.exports??{},Object.assign(e.exports,f))}else e.exports=l;e.status=M.Defined,r.progress.work(!0,r.index,e.exports)}};return n.amd=!0,n}createRequireLoad(){return e=>this.moduleManager.get(e)?.exports??null}resolvePath(e){try{return e}catch(t){throw console.error(`resolve path[${e}] fail`,t),t}}createSearch(e){let t="";if(e){for(let r in e){let s=`${e[r]}`;t+=`${encodeURIComponent(r)}=${encodeURIComponent(s)}&`}t.length>0&&(t=t.substring(0,t.length-1))}return t}getFileNamePostfix(e){let t=e.lastIndexOf("?");t==-1&&(t=e.length);let r=e.lastIndexOf(".",t);return r==-1?"":e.substring(r+1,t)}isNaturePath(e){if(!this.options.nature)return!1;if(typeof this.options.nature=="function")return this.options.nature(e);const t=this.options.nature;if(t&&Array.isArray(t))for(let r=0;r<t.length;r++){const s=t[r];if(e.indexOf(s)===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`${pt()}${e.slice(1)}`;if(e.indexOf("./")==0)return`${pt()}${e.slice(2)}`;if(e.indexOf("//")==0)return`${_().location.protocol}${e}`;if(t){let r=this.options.alias[e];if(!r){let s=e.indexOf("/");if(s==-1)r=e;else{let n=e.slice(0,s),i=this.options.paths[n];i?r=i+e.slice(s):r=e}}return this.parserPath(r,!1)}return`${pt()}${e}`}};function fs(e,t){let r=e.sheet,s=!1;if(t.isOldWebKit)r&&(s=!0);else if(r)try{r.cssRules&&(s=!0)}catch(n){n.name==="NS_ERROR_DOM_SECURITY_ERR"&&(s=!0)}setTimeout(()=>{t.time+=20,s?t.success():t.timeout>t.timeout?t.error():fs(e,t)},20)}var Ai=class{callback;values;status;size;lastIndex;constructor(e,t){this.size=e,this.callback=t,this.status=!0,this.values=[],this.lastIndex=-1}work(e,t,r){if(this.status=e,this.status===!0&&(this.lastIndex!==t&&this.size--,this.lastIndex=t,this.values[t]=r),this.size===0||this.status===!1)try{Reflect.apply(this.callback,this,[this.status,this.values])}catch(s){console.error(s.message,s)}}isOK(){return this.status}},_i=class{index;src;params;progress;constructor(e,t,r,s){this.index=e,this.src=t,this.params=r,this.progress=s}},ir=Symbol("fk"),nr=Symbol("fbk"),or=Symbol("fepk");function $i(e={}){const t=new Pi(e),r=new Vt,s=new zt,n=new _r,i={get router(){return t},get bus(){return r},get Bus(){return Vt},get EventProxy(){return zt},get eventproxy(){return s},get EventChain(){return Be},get Require(){return _r},get require(){return n},get extend(){return $},get clone(){return ht},get isESModule(){return Xt},install(a){a.provide(yt,t),a.provide(ir,i),a.provide(nr,r),a.provide(or,s),a.component(Ei,ft),a.component(Ci,os),Reflect.defineProperty(a.config.globalProperties,"$fox",{get(){return i}}),Reflect.defineProperty(a.config.globalProperties,"$router",{get(){return t}}),Reflect.defineProperty(a.config.globalProperties,"$bus",{get(){return r}}),Reflect.defineProperty(a.config.globalProperties,"$bus",{get(){return r}}),Reflect.defineProperty(a.config.globalProperties,"$eventProxy",{get(){return s}}),a.config.globalProperties.$fox_on=function(o,l,u=!1){s.on(o,l,u)},a.config.globalProperties.$fox_off=function(o,l){s.off(o,l)},a.config.globalProperties.$fox_once=function(o,l){s.once(o,l)},a.config.globalProperties.$fox_all=function(...o){let l=s;Reflect.apply(l.all,l,o)},a.config.globalProperties.$fox_trigger=function(o,...l){let u=s;Reflect.apply(u.trigger,u,[o,...l])},a.config.globalProperties.$fox_emit=function(o,...l){let u=s;Reflect.apply(u.trigger,u,[o,...l])},a.mixin({computed:{$route(){return rr(this)}}}),t.init()}};return i}function lr(e){return e?e.$router:(0,m.inject)(yt)}function Ki(e){return e||(e=(0,m.getCurrentInstance)()?.proxy??void 0),e?rr(e):null}function ji(e){return e?e.$fox:(0,m.inject)(ir)}function qi(e){return e?e.$bus:(0,m.inject)(nr)}function Li(e){return e?e.$eventProxy:(0,m.inject)(or)}function Ti(e){const t=lr(),r=(s,n,i)=>{try{Reflect.apply(e,{},[s,n])}catch(a){console.error(a)}i()};t.beforeEach(r),(0,m.onUnmounted)(()=>{t.removeBeforeEach(r)})}function Oi(e){const t=lr(),r=(s,n,i)=>{try{Reflect.apply(e,{},[s,n])}catch(a){console.error(a)}i()};t.afterEach(r),(0,m.onUnmounted)(()=>{t.removeAfterEach(r)})}exports.Bus=Vt;exports.EventChain=Be;exports.EventProxy=zt;exports.FoxBeforeEnter=Nr;exports.FoxBeforeLeave=Ur;exports.FoxEnter=Hr;exports.FoxLeave=Vr;exports.FoxLeaveEnd=ot;exports.OperationType=A;exports.Route=P;exports.RouterLink=os;exports.RouterView=ft;exports.clone=ht;exports.createFox=$i;exports.createMemoryHistory=us;exports.createWebHashHistory=as;exports.createWebHistory=wi;exports.deleteContextValue=Is;exports.extend=$;exports.foxBusKey=nr;exports.foxEventProxyKey=or;exports.foxKey=ir;exports.injectContextValue=tr;exports.isArray=Dt;exports.isDate=ds;exports.isESModule=Xt;exports.isEqual=Ut;exports.isFunction=R;exports.isMap=hs;exports.isNil=De;exports.isObject=$r;exports.isPlainObject=Kr;exports.isPromise=ps;exports.isSet=ys;exports.isString=ms;exports.isSymbol=vs;exports.onAfterRouteUpdate=Oi;exports.onBeforeRouteUpdate=Ti;exports.onFoxActivated=Hs;exports.onFoxInactivated=Us;exports.provideContextValue=ks;exports.rawState=js;exports.reactiveState=_s;exports.sessionKey=ie;exports.shallowReactiveState=$s;exports.toBoolean=Qt;exports.toNumber=Rs;exports.toTypeString=ct;exports.typeOf=Ht;exports.useBus=qi;exports.useEventProxy=Li;exports.useFox=ji;exports.useRoute=Ki;exports.useRouter=lr;
@@ -1032,10 +1032,16 @@ declare class Require {
1032
1032
  /**
1033
1033
  * 创建define函数
1034
1034
  * @param module
1035
+ * @param requireLoad
1035
1036
  * @param task
1036
1037
  * @returns
1037
1038
  */
1038
1039
  private createDefine;
1040
+ /**
1041
+ * 创建require 加载函数
1042
+ * @returns
1043
+ */
1044
+ private createRequireLoad;
1039
1045
  /**
1040
1046
  * 解析路径
1041
1047
  * @param uri