diff --git a/THIRD_PARTY.txt b/THIRD_PARTY.txt index a43eda02..d32b551c 100644 --- a/THIRD_PARTY.txt +++ b/THIRD_PARTY.txt @@ -1836,7 +1836,7 @@ https://cdnjs.cloudflare.com/ajax/libs/vue/3.4.21/vue.global.prod.js https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/8.27.2/vue-i18n.min.js https://cdnjs.cloudflare.com/ajax/libs/vue-i18n/9.9.1/vue-i18n.cjs.min.js https://cdnjs.cloudflare.com/ajax/libs/vue-router/3.6.5/vue-router.min.js -https://cdnjs.cloudflare.com/ajax/libs/vue-router/4.2.5/vue-router.global.min.js +https://cdnjs.cloudflare.com/ajax/libs/vue-router/4.3.0/vue-router.global.min.js https://cdnjs.cloudflare.com/ajax/libs/vuex/3.6.2/vuex.min.js https://cdnjs.cloudflare.com/ajax/libs/vuex/4.1.0/vuex.cjs.min.js https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.1/jquery.waypoints.min.js diff --git a/modules/internal/targets.js b/modules/internal/targets.js index 18809076..d5d38c03 100644 --- a/modules/internal/targets.js +++ b/modules/internal/targets.js @@ -494,7 +494,7 @@ targets.setLastVersion = function (type, version) { if (type.startsWith('/vue-match-media/1.')) return '1.0.3'; if (type.startsWith('/vue-resource/1.')) return '1.5.3'; if (type.startsWith('/vue-router/3.')) return '3.6.5'; - if (type.startsWith('/vue-router/4.')) return '4.2.5'; + if (type.startsWith('/vue-router/4.')) return '4.3.0'; if (type.startsWith('/vuex/3.')) return '3.6.2'; if (type.startsWith('/vuex/4.')) return '4.1.0'; if (type.startsWith('/waypoints/4.')) return '4.0.1'; diff --git a/pages/updates/updates.html b/pages/updates/updates.html index 0f5fa13e..390f93d4 100644 --- a/pages/updates/updates.html +++ b/pages/updates/updates.html @@ -34,6 +34,7 @@
  • video.js v8.11.1 -> v8.11.5
  • backbone.js v1.5.0 -> v1.6.0
  • swagger-ui v5.11.2 -> v5.11.8
  • +
  • vue-router v4.2.5 -> v4.3.0
  • diff --git a/resources/vue-router/4.2.5/vue-router.global.min.jsm b/resources/vue-router/4.2.5/vue-router.global.min.jsm deleted file mode 100644 index 9e3abf06..00000000 --- a/resources/vue-router/4.2.5/vue-router.global.min.jsm +++ /dev/null @@ -1,11 +0,0 @@ -var VueRouter=function(e,N){"use strict";const M="undefined"!=typeof window;function p(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const U=Object.assign;function D(e,t){const n={};for(const r in t){const o=t[r];n[r]=B(o)?o.map(e):e(o)}return n}const V=()=>{},B=Array.isArray;function W(e){var t=Array.from(arguments).slice(1);console.warn.apply(console,["[Vue Router warn]: "+e].concat(t))}const o=/\/$/,c=e=>e.replace(o,"");function q(e,t,n="/"){let r,o={},a="",i="";var s=t.indexOf("#");let l=t.indexOf("?");return-1<(l=se===n[t]):1===e.length&&e[0]===n}var F,d,t;(t=F=F||{}).pop="pop",t.push="push",(t=d=d||{}).back="back",t.forward="forward";t.unknown="";function g(e){if(!e)if(M){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),c(e)}const y=/^[^#]+#/;function b(e,t){return e.replace(y,"#")+t}const K=()=>({left:window.pageXOffset,top:window.pageYOffset});function se(t){let e;if("el"in t){const a=t.el;var n="string"==typeof a&&a.startsWith("#");if(!("string"!=typeof t.el||n&&document.getElementById(t.el.slice(1))))try{var r=document.querySelector(t.el);if(n&&r)return void W(`The selector "${t.el}" should be passed as "el: document.querySelector('${t.el}')" because it starts with "#".`)}catch(e){return void W(`The selector "${t.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`)}r="string"==typeof a?n?document.getElementById(a.slice(1)):document.querySelector(a):a;if(!r)return void W(`Couldn't find element using selector "${t.el}" returned by scrollBehavior.`);e=(n=r,r=t,o=document.documentElement.getBoundingClientRect(),n=n.getBoundingClientRect(),{behavior:r.behavior,left:n.left-o.left-(r.left||0),top:n.top-o.top-(r.top||0)})}else e=t;var o;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.pageXOffset,null!=e.top?e.top:window.pageYOffset)}function le(e,t){return(history.state?history.state.position-t:-1)+e}const Q=new Map;let w=()=>location.protocol+"//"+location.host;function _(t,n){const{pathname:e,search:r,hash:o}=n;n=t.indexOf("#");if(-1{var t=_(a,location);const n=s.value;var r=i.value;let o=0;if(e){if(s.value=t,i.value=e,u&&u===n)return void(u=null);o=r?e.position-r.position:0}else l(t);c.forEach(e=>{e(s.value,n,{delta:o,type:F.pop,direction:o?0{var e=c.indexOf(t);-1t.location.value}),Object.defineProperty(e,"state",{enumerable:!0,get:()=>t.state.value}),e}function ce(e){return"string"==typeof e||"symbol"==typeof e}const H={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},R=Symbol("navigation failure"),x=(e.NavigationFailureType=void 0,(t=e.NavigationFailureType||(e.NavigationFailureType={}))[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated",{[1]({location:e,currentLocation:t}){return`No match for - `+JSON.stringify(e)+(t?"\nwhile being at\n"+JSON.stringify(t):"")},2({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${function(e){if("string"==typeof e)return e;if("path"in e)return e.path;const t={};for(const n of P)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}(t)}" via a navigation guard.`},4({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},8({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},16({from:e}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}});function z(e,t){return U(new Error(x[e](t)),{type:e,[R]:!0},t)}function J(e,t){return e instanceof Error&&R in e&&(null==t||!!(e.type&t))}const P=["params","query","hash"];const S="[^/]+?",j={sensitive:!1,strict:!1,start:!0,end:!0},A=/[.+*?^${}()[\]/\\]/g;function I(c,e){var r=U({},j,e);const t=[];let o=r.start?"^":"";const a=[];for(const h of c){const p=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let n=0;nt.length?1===t.length&&80===t[0]?1:-1:0}(r[n],o[n]);if(a)return a;n++}if(1===Math.abs(o.length-r.length)){if(L(r))return 1;if(L(o))return-1}return o.length-r.length}function L(e){var t=e[e.length-1];return 0e===n||t(n,e))}(f,y[e]));)e++;y.splice(e,0,f),f.record.name&&!me(f)&&b.set(f.record.name,f)}}return u?()=>{_(u)}:V}function _(e){if(ce(e)){const n=b.get(e);n&&(b.delete(e),y.splice(y.indexOf(n),1),n.children.forEach(_),n.alias.forEach(_))}else{var t=y.indexOf(e);-1w(e)),{addRoute:w,resolve:function(e,t){let n,r={},o,a;if("name"in e&&e.name){if(!(n=b.get(e.name)))throw z(1,{location:e});{const l=Object.keys(e.params||{}).filter(t=>!n.keys.find(e=>e.name===t));l.length&&W(`Discarded invalid param(s) "${l.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)}a=n.record.name,r=U(fe(t.params,n.keys.filter(e=>!e.optional).map(e=>e.name)),e.params&&fe(e.params,n.keys.map(e=>e.name))),o=n.stringify(r)}else if("path"in e)(o=e.path).startsWith("/")||W(`The Matcher cannot resolve relative paths but received "${o}". Unless you directly called \`matcher.resolve("${o}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`),(n=y.find(e=>e.re.test(o)))&&(r=n.parse(o),a=n.record.name);else{if(!(n=t.name?b.get(t.name):y.find(e=>e.re.test(t.path))))throw z(1,{location:e,currentLocation:t});a=n.record.name,r=U({},t.params,e.params),o=n.stringify(r)}const i=[];let s=n;for(;s;)i.unshift(s.record),s=s.parent;return{name:a,path:o,params:r,matched:i,meta:i.reduce((e,t)=>U(e,t.meta),{})}},removeRoute:_,getRoutes:function(){return y},getRecordMatcher:function(e){return b.get(e)}}}function fe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function me(e){for(;e;){if(e.record.aliasOf)return 1;e=e.parent}}function ve(e,t){const n={};for(const r in e)n[r]=(r in t?t:e)[r];return n}function k(e,t){return e.name===t.name&&e.optional===t.optional&&e.repeatable===t.repeatable}const ge=/#/g,ye=/&/g,be=/\//g,we=/=/g,_e=/\?/g,ke=/\+/g,Ee=/%5B/g,$e=/%5D/g,Ce=/%5E/g,Oe=/%60/g,Re=/%7B/g,xe=/%7C/g,Pe=/%7D/g,Se=/%20/g;function Y(e){return encodeURI(""+e).replace(xe,"|").replace(Ee,"[").replace($e,"]")}function a(e){return Y(e).replace(ke,"%2B").replace(Se,"+").replace(ge,"%23").replace(ye,"%26").replace(Oe,"`").replace(Re,"{").replace(Pe,"}").replace(Ce,"^")}function je(e){return null==e?"":Y(e).replace(ge,"%23").replace(_e,"%3F").replace(be,"%2F")}function X(t){try{return decodeURIComponent(""+t)}catch(e){W(`Error decoding "${t}". Using original value`)}return""+t}function Ae(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let e=0;ee&&a(e)):[r&&a(r)];o.forEach(e=>{void 0!==e&&(n+=(n.length?"&":"")+t,null!=e&&(n+="="+e))})}}return n}const i=Symbol("router view location matched"),s=Symbol("router view depth"),ee=Symbol("router"),te=Symbol("route location"),ne=Symbol("router view location");function re(){let n=[];return{add:function(t){return n.push(t),()=>{var e=n.indexOf(t);-1n.slice(),reset:function(){n=[]}}}function Ie(e,t,n){var r=()=>{e[t].delete(n)};N.onUnmounted(r),N.onDeactivated(r),N.onActivated(()=>{e[t].add(n)}),e[t].add(n)}function oe(i,s,l,c,u){const d=c&&(c.enterCallbacks[u]=c.enterCallbacks[u]||[]);return()=>new Promise((n,r)=>{const t=e=>{var t;!1===e?r(z(4,{from:l,to:s})):e instanceof Error?r(e):"string"==typeof(t=e)||t&&"object"==typeof t?r(z(2,{from:s,to:e})):(d&&c.enterCallbacks[u]===d&&"function"==typeof e&&d.push(e),n())};var e=i.call(c&&c.instances[u],s,l,function(e,t,n){let r=0;return function(){1==r++&&W(`The "next" callback was called more than once in one navigation guard when going from "${n.fullPath}" to "${t.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`),e._called=!0,1===r&&e.apply(null,arguments)}}(t,s,l));let o=Promise.resolve(e);if(i.length<3&&(o=o.then(t)),2t._called?e:(W(a),Promise.reject(new Error("Invalid navigation guard"))));else if(void 0!==e&&!t._called)return W(a),void r(new Error("Invalid navigation guard"))}o.catch(e=>r(e))})}function ae(e,n,r,o){const a=[];for(const s of e){s.components||s.children.length||W(`Record with path "${s.path}" is either missing a "component(s)"`+' or "children" property.');for(const l in s.components){let t=s.components[l];if(!t||"object"!=typeof t&&"function"!=typeof t)throw W(`Component "${l}" in record with path "${s.path}" is not`+` a valid component. Received "${String(t)}".`),new Error("Invalid route component");if("then"in t){W(`Component "${l}" in record with path "${s.path}" is a `+"Promise instead of a function that returns a Promise. Did you "+`write "import('./MyPage.vue')" instead of `+`"() => import('./MyPage.vue')" ? This will break in `+"production if not fixed.");const c=t;t=()=>c}else t.__asyncLoader&&!t.__warnedDefineAsync&&(t.__warnedDefineAsync=!0,W(`Component "${l}" in record with path "${s.path}" is defined `+'using "defineAsyncComponent()". '+`Write "() => import('./MyPage.vue')" instead of `+`"defineAsyncComponent(() => import('./MyPage.vue'))".`));if("beforeRouteEnter"===n||s.instances[l])if("object"==typeof(i=t)||"displayName"in i||"props"in i||"__vccOpts"in i){i=(t.__vccOpts||t)[n];i&&a.push(oe(i,r,o,s,l))}else{let e=t();"catch"in e||(W(`Component "${l}" in record with path "${s.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`),e=Promise.resolve(e)),a.push(()=>e.then(e=>{if(!e)return Promise.reject(new Error(`Couldn't resolve component "${l}" at "${s.path}"`));e=p(e)?e.default:e,e=((s.components[l]=e).__vccOpts||e)[n];return e&&oe(e,r,o,s,l)()}))}}}var i;return a}function l(t){const n=N.inject(ee),i=N.inject(te),s=N.computed(()=>n.resolve(N.unref(t.to))),e=N.computed(()=>{var e=s.value["matched"],t=e["length"],n=e[t-1];const r=i.matched;if(!n||!r.length)return-1;var o=r.findIndex(G.bind(null,n));if(-1-1e!==o[t]))return!1}return!0}(i.params,s.value.params)),o=N.computed(()=>-1{l.route=s.value,l.isActive=r.value,l.isExactActive=o.value},{flush:"post"})}}return{route:s,href:N.computed(()=>s.value.href),isActive:r,isExactActive:o,navigate:function(e={}){return function(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){var t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),1}}(e)?n[N.unref(t.replace)?"replace":"push"](N.unref(t.to)).catch(V):Promise.resolve()}}}const Te=N.defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:l,setup(t,{slots:n}){const r=N.reactive(l(t)),e=N.inject(ee)["options"],o=N.computed(()=>({[Ne(t.activeClass,e.linkActiveClass,"router-link-active")]:r.isActive,[Ne(t.exactActiveClass,e.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{var e=n.default&&n.default(r);return t.custom?e:N.h("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},e)}}});function Le(e){return e?(e.aliasOf||e).path:""}const Ne=(e,t,n)=>null!=e?e:null!=t?t:n;function Me(e,t){if(!e)return null;e=e(t);return 1===e.length?e[0]:e}const Ue=N.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(c,{attrs:u,slots:d}){{const n=N.getCurrentInstance(),o=n.parent&&n.parent.type.name,a=n.parent&&n.parent.subTree&&n.parent.subTree.type;var e;o&&("KeepAlive"===o||o.includes("Transition"))&&"object"==typeof a&&"RouterView"===a.name&&W(' can no longer be used directly inside or .\nUse slot props instead:\n\n\n'+` <${e="KeepAlive"===o?"keep-alive":"transition"}> -`+` -`+` -`+"")}const t=N.inject(ne),h=N.computed(()=>c.route||t.value),r=N.inject(s,0),p=N.computed(()=>{let e=N.unref(r);for(var t,n=h.value["matched"];(t=n[e])&&!t.components;)e++;return e}),f=N.computed(()=>h.value.matched[p.value]),m=(N.provide(s,N.computed(()=>p.value+1)),N.provide(i,f),N.provide(ne,h),N.ref());return N.watch(()=>[m.value,f.value,c.name],([t,e,n],[r,o])=>{e&&(e.instances[n]=t,o&&o!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=o.leaveGuards),e.updateGuards.size||(e.updateGuards=o.updateGuards))),!t||!e||o&&G(e,o)&&r||(e.enterCallbacks[n]||[]).forEach(e=>e(t))},{flush:"post"}),()=>{var e=h.value;const t=c.name,n=f.value;var r=n&&n.components[t];if(!r)return Me(d.default,{Component:r,route:e});const o=n.props[t];var a=o?!0===o?e.params:"function"==typeof o?o(e):o:null;const i=N.h(r,U({},a,u,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(n.instances[t]=null)},ref:m}));if(M&&i.ref){const s={depth:p.value,name:n.name,path:n.path,meta:n.meta},l=B(i.ref)?i.ref.map(e=>e.i):[i.ref.i];l.forEach(e=>{e.__vrv_devtools=s})}return Me(d.default,{Component:i,route:e})||i}}});function De(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}}const Ve="function"==typeof Proxy,Be="devtools-plugin:setup";let n,r;function We(){return void 0!==n||("undefined"!=typeof window&&window.performance?(n=!0,r=window.performance):"undefined"!=typeof global&&null!=(e=global.perf_hooks)&&e.performance?(n=!0,r=global.perf_hooks.performance):n=!1),(n?r:Date).now();var e}class qe{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const l in e.settings){var r=e.settings[l];n[l]=r.defaultValue}const o="__vue-devtools-plugin-settings__"+e.id;let a=Object.assign({},n);try{var i=localStorage.getItem(o),s=JSON.parse(i);Object.assign(a,s)}catch(e){}this.fallbacks={getSettings(){return a},setSettings(e){try{localStorage.setItem(o,JSON.stringify(e))}catch(e){}a=e},now(){return We()}},t&&t.on("plugin:settings:set",(e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)}),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,n)=>this.target?this.target[n]:"on"===n?this.proxiedOn:Object.keys(this.fallbacks).includes(n)?(...e)=>(this.targetQueue.push({method:n,args:e,resolve:()=>{}}),this.fallbacks[n](...e)):(...t)=>new Promise(e=>{this.targetQueue.push({method:n,args:t,resolve:e})})})}async setRealTarget(e){this.target=e;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function Ge(e,t){var n=e;const r=De(),o=De().__VUE_DEVTOOLS_GLOBAL_HOOK__;var a=Ve&&n.enableEarlyProxy;if(!o||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&a){a=a?new qe(n,o):null;const i=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];i.push({pluginDescriptor:n,setupFn:t,proxy:a}),a&&t(a.proxiedTarget)}else o.emit(Be,e,t)}function u(e,t){var n=U({},e,{matched:e.matched.map(e=>{{var t=e,n=["instances","children","aliasOf"];const r={};for(const o in t)n.includes(o)||(r[o]=t[o]);return r}})});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function h(e){return{_custom:{display:e}}}let Fe=0;function Ke(s,l,c){if(!l.__hasDevtools){l.__hasDevtools=!0;const e=Fe++;Ge({id:"org.vuejs.router"+(e?"."+e:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:s},o=>{"function"!=typeof o.now&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),o.on.inspectComponent((e,t)=>{e.instanceData&&e.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:u(l.currentRoute.value,"Current Route")})}),o.on.visitComponentTree(({treeNode:r,componentInstance:e})=>{if(e.__vrv_devtools){const t=e.__vrv_devtools;r.tags.push({label:(t.name?t.name.toString()+": ":"")+t.path,textColor:0,tooltip:"This component is rendered by <router-view>",backgroundColor:Qe})}B(e.__vrl_devtools)&&(e.__devtoolsApi=o,e.__vrl_devtools.forEach(e=>{let t=Ye,n="";e.isExactActive?(t=ze,n="This is exactly active"):e.isActive&&(t=He,n="This link is active"),r.tags.push({label:e.route.path,textColor:0,tooltip:n,backgroundColor:t})}))}),N.watch(l.currentRoute,()=>{t(),o.notifyComponentUpdate(),o.sendInspectorTree(r),o.sendInspectorState(r)});const a="router:navigations:"+e;o.addTimelineLayer({id:a,label:`Router${e?" "+e:""} Navigations`,color:4237508}),l.onError((e,t)=>{o.addTimelineEvent({layerId:a,event:{title:"Error during Navigation",subtitle:t.fullPath,logType:"error",time:o.now(),data:{error:e},groupId:t.meta.__navigationId}})});let n=0;l.beforeEach((e,t)=>{t={guard:h("beforeEach"),from:u(t,"Current Location during this navigation"),to:u(e,"Target location")};Object.defineProperty(e.meta,"__navigationId",{value:n++}),o.addTimelineEvent({layerId:a,event:{time:o.now(),title:"Start of navigation",subtitle:e.fullPath,data:t,groupId:e.meta.__navigationId}})}),l.afterEach((e,t,n)=>{const r={guard:h("afterEach")};n?(r.failure={_custom:{type:Error,readOnly:!0,display:n?n.message:"",tooltip:"Navigation Failure",value:n}},r.status=h("❌")):r.status=h("✅"),r.from=u(t,"Current Location during this navigation"),r.to=u(e,"Target location"),o.addTimelineEvent({layerId:a,event:{title:"End of navigation",subtitle:e.fullPath,time:o.now(),data:r,logType:n?"warning":"default",groupId:e.meta.__navigationId}})});const r="router-inspector:"+e;function t(){if(i){const t=i;let e=c.getRoutes().filter(e=>!e.parent||!e.parent.record.components);e.forEach(nt),(e=t.filter?e.filter(e=>function t(e,n){const r=String(e.re).match(tt);e.__vd_match=!1;if(!r||r.length<3)return!1;const o=new RegExp(r[1].replace(/\$$/,""),r[2]);if(o.test(n))return e.children.forEach(e=>t(e,n)),("/"!==e.record.path||"/"===n)&&(e.__vd_match=e.re.test(n),!0);const a=e.record.path.toLowerCase();const i=X(a);if(!n.startsWith("/")&&(i.includes(n)||a.includes(n)))return!0;if(i.startsWith(n)||a.startsWith(n))return!0;if(e.record.name&&String(e.record.name).includes(n))return!0;return e.children.some(e=>t(e,n))}(e,t.filter.toLowerCase())):e).forEach(e=>function t(n,r){const e=r.matched.length&&G(r.matched[r.matched.length-1],n.record);n.__vd_exactActive=n.__vd_active=e;e||(n.__vd_active=r.matched.some(e=>G(e,n.record)));n.children.forEach(e=>t(e,r))}(e,l.currentRoute.value)),t.rootNodes=e.map(Ze)}}o.addInspector({id:r,label:"Routes"+(e?" "+e:""),icon:"book",treeFilterPlaceholder:"Search routes"});let i;o.on.getInspectorTree(e=>{(i=e).app===s&&e.inspectorId===r&&t()}),o.on.getInspectorState(t=>{if(t.app===s&&t.inspectorId===r){const n=c.getRoutes();var e=n.find(e=>e.record.__vd_id===t.nodeId);e&&(t.state={options:function(e){const t=e["record"],n=[{editable:!1,key:"path",value:t.path}];null!=t.name&&n.push({editable:!1,key:"name",value:t.name});n.push({editable:!1,key:"regexp",value:e.re}),e.keys.length&&n.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:e.keys.map(e=>""+e.name+function(e){return e.optional?e.repeatable?"*":"?":e.repeatable?"+":""}(e)).join(" "),tooltip:"Param keys",value:e.keys}}});null!=t.redirect&&n.push({editable:!1,key:"redirect",value:t.redirect});e.alias.length&&n.push({editable:!1,key:"aliases",value:e.alias.map(e=>e.record.path)});Object.keys(e.record.meta).length&&n.push({editable:!1,key:"meta",value:e.record.meta});return n.push({key:"score",editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map(e=>e.join(", ")).join(" | "),tooltip:"Score used to sort routes",value:e.score}}}),n}(e)})}}),o.sendInspectorTree(r),o.sendInspectorState(r)})}}const Qe=15485081,He=2450411,ze=8702998,Je=2282478,Ye=16486972,Xe=6710886;function Ze(e){const t=[],n=e["record"];null!=n.name&&t.push({label:String(n.name),textColor:0,backgroundColor:Je}),n.aliasOf&&t.push({label:"alias",textColor:0,backgroundColor:Ye}),e.__vd_match&&t.push({label:"matches",textColor:0,backgroundColor:Qe}),e.__vd_exactActive&&t.push({label:"exact",textColor:0,backgroundColor:ze}),e.__vd_active&&t.push({label:"active",textColor:0,backgroundColor:He}),n.redirect&&t.push({label:"string"==typeof n.redirect?"redirect: "+n.redirect:"redirects",textColor:16777215,backgroundColor:Xe});let r=n.__vd_id;return null==r&&(r=String(et++),n.__vd_id=r),{id:r,label:n.path,tags:t,children:e.children.map(Ze)}}let et=0;const tt=/^\/(.*)\/([a-z]*)$/;function nt(e){e.__vd_match=!1,e.children.forEach(nt)}return e.RouterLink=Te,e.RouterView=Ue,e.START_LOCATION=H,e.createMemoryHistory=function(e=""){let l=[],c=[""],u=0;function n(e){++u!==c.length&&c.splice(u),c.push(e)}return e={location:"",state:{},base:e=g(e),createHref:b.bind(null,e),replace(e){c.splice(u--,1),n(e)},push(e,t){n(e)},listen(t){return l.push(t),()=>{var e=l.indexOf(t);-1c[u]}),e},e.createRouter=function(l){const c=pe(l.routes,l),u=l.parseQuery||Ae,d=l.stringifyQuery||Z,h=l.history;if(!h)throw new Error('Provide the "history" option when calling "createRouter()": https://next.router.vuejs.org/api/#history.');const p=re(),f=re(),e=re(),m=N.shallowRef(H);let v=H;M&&l.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const g=D.bind(null,e=>""+e),y=D.bind(null,je),b=D.bind(null,X);function w(e,t){if(t=U({},t||m.value),"string"==typeof e){var n=q(u,e,t.path);const o=c.resolve({path:n.path},t),i=h.createHref(n.fullPath);return i.startsWith("//")?W(`Location "${e}" resolved to "${i}". A resolved location cannot start with multiple slashes.`):o.matched.length||W(`No match found for location with path "${e}"`),U(n,o,{params:b(o.params),hash:X(n.hash),redirectedFrom:void 0,href:i})}let r;if("path"in e)"params"in e&&!("name"in e)&&Object.keys(e.params).length&&W(`Path "${e.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`),r=U({},e,{path:q(u,e.path,t.path).path});else{const s=U({},e.params);for(const l in s)null==s[l]&&delete s[l];r=U({},e,{params:y(s)}),t.params=y(t.params)}const o=c.resolve(r,t),a=e.hash||"";a&&!a.startsWith("#")&&W(`A \`hash\` should always start with the character "#". Replace "${a}" with "#${a}".`),o.params=g(b(o.params));n=d,t=U({},e,{hash:Y(a).replace(Re,"{").replace(Pe,"}").replace(Ce,"^"),path:o.path}),n=t.query?n(t.query):"";t=t.path+(n&&"?")+n+(t.hash||"");const i=h.createHref(t);return i.startsWith("//")?W(`Location "${e}" resolved to "${i}". A resolved location cannot start with multiple slashes.`):o.matched.length||W(`No match found for location with path "${"path"in e?e.path:e}"`),U({fullPath:t,hash:a,query:d===Z?function(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=B(r)?r.map(e=>null==e?null:""+e):null==r?r:""+r)}return t}(e.query):e.query||{}},o,{redirectedFrom:void 0,href:i})}function _(e){return"string"==typeof e?q(u,e,m.value.path):U({},e)}function k(e,t){if(v!==e)return z(8,{from:t,to:e})}function o(e){return $(e)}function E(t){var n=t.matched[t.matched.length-1];if(n&&n.redirect){const r=n["redirect"];let e="function"==typeof r?r(t):r;if("string"==typeof e&&((e=e.includes("?")||e.includes("#")?e=_(e):{path:e}).params={}),"path"in e||"name"in e)return U({query:t.query,hash:t.hash,params:"path"in e?{}:t.params},e);throw W(`Invalid redirect found: -${JSON.stringify(e,null,2)} - when navigating to "${t.fullPath}". A redirect must contain a name or path. This will break in production.`),new Error("Invalid redirect")}}function $(e,t){var n=v=w(e);const r=m.value,o=e.state,a=e.force,i=!0===e.replace;e=E(n);if(e)return $(U(_(e),{state:"object"==typeof e?U({},o,e.state):o,force:a,replace:i}),t||n);const s=n;s.redirectedFrom=t;let l;return!a&&ie(d,r,n)&&(l=z(16,{to:s,from:r}),j(r,r,!0,!1)),(l?Promise.resolve(l):C(s,r)).catch(e=>J(e)?J(e,2)?e:S(e):P(e,s,r)).then(e=>{if(e){if(J(e,2))return ie(d,w(e.to),s)&&t&&30<(t._count=t._count?t._count+1:1)?(W(`Detected a possibly infinite redirection in a navigation guard when going from "${r.fullPath}" to "${s.fullPath}". Aborting to avoid a Stack Overflow. - Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`),Promise.reject(new Error("Infinite redirect in navigation guard"))):$(U({replace:i},_(e.to),{state:"object"==typeof e.to?U({},o,e.to.state):o,force:a}),t||s)}else e=R(s,r,!0,i,o);return O(s,r,e),e})}function a(e){const t=I.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function C(n,r){let o;const[e,t,a]=function(t,n){const r=[],o=[],a=[],i=Math.max(n.matched.length,t.matched.length);for(let e=0;eG(e,s))?o:r).push(s),t.matched[e]);!l||n.matched.find(e=>G(e,l))||a.push(l)}return[r,o,a]}(n,r);o=ae(e.reverse(),"beforeRouteLeave",n,r);for(const s of e)s.leaveGuards.forEach(e=>{o.push(oe(e,n,r))});const i=function(e,t){return(e=k(e,t))?Promise.reject(e):Promise.resolve()}.bind(null,n,r);return o.push(i),L(o).then(()=>{o=[];for(const e of p.list())o.push(oe(e,n,r));return o.push(i),L(o)}).then(()=>{o=ae(t,"beforeRouteUpdate",n,r);for(const e of t)e.updateGuards.forEach(e=>{o.push(oe(e,n,r))});return o.push(i),L(o)}).then(()=>{o=[];for(const e of a)if(e.beforeEnter)if(B(e.beforeEnter))for(const t of e.beforeEnter)o.push(oe(t,n,r));else o.push(oe(e.beforeEnter,n,r));return o.push(i),L(o)}).then(()=>(n.matched.forEach(e=>e.enterCallbacks={}),(o=ae(a,"beforeRouteEnter",n,r)).push(i),L(o))).then(()=>{o=[];for(const e of f.list())o.push(oe(e,n,r));return o.push(i),L(o)}).catch(e=>J(e,8)?e:Promise.reject(e))}function O(t,n,r){e.list().forEach(e=>a(()=>e(t,n,r)))}function R(e,t,n,r,o){var a=k(e,t);if(a)return a;var a=t===H,i=M?history.state:{};n&&(r||a?h.replace(e.fullPath,U({scroll:a&&i&&i.scroll},o)):h.push(e.fullPath,o)),j(m.value=e,t,n,a),S()}let i;function t(){i=i||h.listen((e,t,n)=>{if(T.listening){const o=w(e);var r,e=E(o);if(e)$(U(e,{replace:!0}),o).catch(V);else{v=o;const a=m.value;M&&(e=le(a.fullPath,n.delta),r=K(),Q.set(e,r)),C(o,a).catch(e=>J(e,12)?e:J(e,2)?($(e.to,o).then(e=>{J(e,20)&&!n.delta&&n.type===F.pop&&h.go(-1,!1)}).catch(V),Promise.reject()):(n.delta&&h.go(-n.delta,!1),P(e,o,a))).then(e=>{(e=e||R(o,a,!1))&&(n.delta&&!J(e,8)?h.go(-n.delta,!1):n.type===F.pop&&J(e,20)&&h.go(-1,!1)),O(o,a,e)}).catch(V)}}})}let r=re(),s=re(),x;function P(t,n,r){S(t);const e=s.list();return e.length?e.forEach(e=>e(t,n,r)):(W("uncaught error during route navigation:"),console.error(t)),Promise.reject(t)}function S(n){return x||(x=!n,t(),r.list().forEach(([e,t])=>n?t(n):e()),r.reset()),n}function j(t,n,e,r){const o=l["scrollBehavior"];if(!M||!o)return Promise.resolve();const a=!e&&(i=le(t.fullPath,0),s=Q.get(i),Q.delete(i),s)||(r||!e)&&history.state&&history.state.scroll||null;var i,s;N.nextTick().then(()=>o(t,n,a)).then(e=>e&&se(e)).catch(e=>P(e,t,n))}const n=e=>h.go(e);let A;const I=new Set,T={currentRoute:m,listening:!0,addRoute:function(e,t){let n,r;return r=ce(e)?(n=c.getRecordMatcher(e),t):e,c.addRoute(r,n)},removeRoute:function(e){var t=c.getRecordMatcher(e);t?c.removeRoute(t):W(`Cannot remove non-existent route "${String(e)}"`)},hasRoute:function(e){return!!c.getRecordMatcher(e)},getRoutes:function(){return c.getRoutes().map(e=>e.record)},resolve:w,options:l,push:o,replace:function(e){return o(U(_(e),{replace:!0}))},go:n,back:()=>n(-1),forward:()=>n(1),beforeEach:p.add,beforeResolve:f.add,afterEach:e.add,onError:s.add,isReady:function(){return x&&m.value!==H?Promise.resolve():new Promise((e,t)=>{r.add([e,t])})},install(e){e.component("RouterLink",Te),e.component("RouterView",Ue),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>N.unref(m)}),M&&!A&&m.value===H&&(A=!0,o(h.location).catch(e=>{W("Unexpected error when starting the router:",e)}));var t={};for(const r in H)Object.defineProperty(t,r,{get:()=>m.value[r],enumerable:!0});e.provide(ee,this),e.provide(te,N.shallowReactive(t)),e.provide(ne,m);const n=e.unmount;I.add(e),e.unmount=function(){I.delete(e),I.size<1&&(v=H,i&&i(),i=null,m.value=H,A=!1,x=!1),n()},M&&Ke(e,this,c)}};function L(e){return e.reduce((e,t)=>e.then(()=>a(t)),Promise.resolve())}return T},e.createRouterMatcher=pe,e.createWebHashHistory=function(e){return(e=location.host?e||location.pathname+location.search:"").includes("#")||(e+="#"),e.endsWith("#/")||e.endsWith("#")||W(`A hash base must end with a "#": -"${e}" should be "${e.replace(/#.*$/,"#")}".`),O(e)},e.createWebHistory=O,e.isNavigationFailure=J,e.loadRouteLocation=function(e){return e.matched.every(e=>e.redirect)?Promise.reject(new Error("Cannot load a route that redirects.")):Promise.all(e.matched.map(r=>r.components&&Promise.all(Object.keys(r.components).reduce((e,t)=>{const n=r.components[t];return"function"!=typeof n||"displayName"in n||e.push(n().then(e=>{if(!e)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${r.path}". Ensure you passed a function that returns a promise.`));e=p(e)?e.default:e;r.components[t]=e})),e},[])))).then(()=>e)},e.matchedRouteKey=i,e.onBeforeRouteLeave=function(e){var t;N.getCurrentInstance()?(t=N.inject(i,{}).value)?Ie(t,"leaveGuards",e):W("No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?"):W("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function")},e.onBeforeRouteUpdate=function(e){var t;N.getCurrentInstance()?(t=N.inject(i,{}).value)?Ie(t,"updateGuards",e):W("No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?"):W("getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function")},e.parseQuery=Ae,e.routeLocationKey=te,e.routerKey=ee,e.routerViewLocationKey=ne,e.stringifyQuery=Z,e.useLink=l,e.useRoute=function(){return N.inject(te)},e.useRouter=function(){return N.inject(ee)},e.viewDepthKey=s,e}({},Vue); \ No newline at end of file diff --git a/resources/vue-router/4.3.0/vue-router.global.min.jsm b/resources/vue-router/4.3.0/vue-router.global.min.jsm new file mode 100644 index 00000000..1adafdcd --- /dev/null +++ b/resources/vue-router/4.3.0/vue-router.global.min.jsm @@ -0,0 +1,11 @@ +var VueRouter=function(e,N){"use strict";const M="undefined"!=typeof document;function p(e){return e.__esModule||"Module"===e[Symbol.toStringTag]}const U=Object.assign;function D(e,t){const n={};for(const r in t){const o=t[r];n[r]=B(o)?o.map(e):e(o)}return n}const V=()=>{},B=Array.isArray;function W(e){var t=Array.from(arguments).slice(1);console.warn.apply(console,["[Vue Router warn]: "+e].concat(t))}const o=/#/g,c=/&/g,f=/\//g,m=/=/g,v=/\?/g,g=/\+/g,y=/%5B/g,b=/%5D/g,ie=/%5E/g,w=/%60/g,se=/%7B/g,_=/%7C/g,le=/%7D/g,E=/%20/g;function q(e){return encodeURI(""+e).replace(_,"|").replace(y,"[").replace(b,"]")}function a(e){return q(e).replace(g,"%2B").replace(E,"+").replace(o,"%23").replace(c,"%26").replace(w,"`").replace(se,"{").replace(le,"}").replace(ie,"^")}function ce(e){return null==e?"":q(e).replace(o,"%23").replace(v,"%3F").replace(f,"%2F")}function G(t){try{return decodeURIComponent(""+t)}catch(e){W(`Error decoding "${t}". Using original value`)}return""+t}const $=/\/$/,C=e=>e.replace($,"");function F(e,t,n="/"){let r,o={},a="",i="";var s=t.indexOf("#");let l=t.indexOf("?");return-1<(l=se===n[t]):1===e.length&&e[0]===n}var Q,d,t;(t=Q=Q||{}).pop="pop",t.push="push",(t=d=d||{}).back="back",t.forward="forward";t.unknown="";function O(e){if(!e)if(M){const t=document.querySelector("base");e=(e=t&&t.getAttribute("href")||"/").replace(/^\w+:\/\/[^\/]+/,"")}else e="/";return"/"!==e[0]&&"#"!==e[0]&&(e="/"+e),C(e)}const S=/^[^#]+#/;function j(e,t){return e.replace(S,"#")+t}const H=()=>({left:window.scrollX,top:window.scrollY});function de(t){let e;if("el"in t){const a=t.el;var n="string"==typeof a&&a.startsWith("#");if(!("string"!=typeof t.el||n&&document.getElementById(t.el.slice(1))))try{var r=document.querySelector(t.el);if(n&&r)return void W(`The selector "${t.el}" should be passed as "el: document.querySelector('${t.el}')" because it starts with "#".`)}catch(e){return void W(`The selector "${t.el}" is invalid. If you are using an id selector, make sure to escape it. You can find more information about escaping characters in selectors at https://mathiasbynens.be/notes/css-escapes or use CSS.escape (https://developer.mozilla.org/en-US/docs/Web/API/CSS/escape).`)}r="string"==typeof a?n?document.getElementById(a.slice(1)):document.querySelector(a):a;if(!r)return void W(`Couldn't find element using selector "${t.el}" returned by scrollBehavior.`);e=(n=r,r=t,o=document.documentElement.getBoundingClientRect(),n=n.getBoundingClientRect(),{behavior:r.behavior,left:n.left-o.left-(r.left||0),top:n.top-o.top-(r.top||0)})}else e=t;var o;"scrollBehavior"in document.documentElement.style?window.scrollTo(e):window.scrollTo(null!=e.left?e.left:window.scrollX,null!=e.top?e.top:window.scrollY)}function he(e,t){return(history.state?history.state.position-t:-1)+e}const z=new Map;let A=()=>location.protocol+"//"+location.host;function I(t,n){const{pathname:e,search:r,hash:o}=n;n=t.indexOf("#");if(-1{var t=I(a,location);const n=s.value;var r=i.value;let o=0;if(e){if(s.value=t,i.value=e,u&&u===n)return void(u=null);o=r?e.position-r.position:0}else l(t);c.forEach(e=>{e(s.value,n,{delta:o,type:Q.pop,direction:o?0{var e=c.indexOf(t);-1t.location.value}),Object.defineProperty(e,"state",{enumerable:!0,get:()=>t.state.value}),e}function me(e){return"string"==typeof e||"symbol"==typeof e}const J={path:"/",name:void 0,params:{},query:{},hash:"",fullPath:"/",matched:[],meta:{},redirectedFrom:void 0},ve=Symbol("navigation failure"),ge=(e.NavigationFailureType=void 0,(t=e.NavigationFailureType||(e.NavigationFailureType={}))[t.aborted=4]="aborted",t[t.cancelled=8]="cancelled",t[t.duplicated=16]="duplicated",{[1]({location:e,currentLocation:t}){return`No match for + `+JSON.stringify(e)+(t?"\nwhile being at\n"+JSON.stringify(t):"")},2({from:e,to:t}){return`Redirected from "${e.fullPath}" to "${function(e){if("string"==typeof e)return e;if(null!=e.path)return e.path;const t={};for(const n of ye)n in e&&(t[n]=e[n]);return JSON.stringify(t,null,2)}(t)}" via a navigation guard.`},4({from:e,to:t}){return`Navigation aborted from "${e.fullPath}" to "${t.fullPath}" via a navigation guard.`},8({from:e,to:t}){return`Navigation cancelled from "${e.fullPath}" to "${t.fullPath}" with a new navigation.`},16({from:e}){return`Avoided redundant navigation to current location: "${e.fullPath}".`}});function Y(e,t){return U(new Error(ge[e](t)),{type:e,[ve]:!0},t)}function X(e,t){return e instanceof Error&&ve in e&&(null==t||!!(e.type&t))}const ye=["params","query","hash"];const be={sensitive:!1,strict:!1,start:!0,end:!0},we=/[.+*?^${}()[\]/\\]/g;function _e(c,e){var r=U({},be,e);const t=[];let o=r.start?"^":"";const a=[];for(const h of c){const p=h.length?[]:[90];r.strict&&!h.length&&(o+="/");for(let n=0;nt.length?1===t.length&&80===t[0]?1:-1:0}(r[n],o[n]);if(a)return a;n++}if(1===Math.abs(o.length-r.length)){if(Ee(r))return 1;if(Ee(o))return-1}return o.length-r.length}function Ee(e){var t=e[e.length-1];return 0e===n||t(n,e))}(f,y[e]));)e++;y.splice(e,0,f),f.record.name&&!Oe(f)&&b.set(f.record.name,f)}}return u?()=>{_(u)}:V}function _(e){if(me(e)){const n=b.get(e);n&&(b.delete(e),y.splice(y.indexOf(n),1),n.children.forEach(_),n.alias.forEach(_))}else{var t=y.indexOf(e);-1w(e)),{addRoute:w,resolve:function(e,t){let n,r={},o,a;if("name"in e&&e.name){if(!(n=b.get(e.name)))throw Y(1,{location:e});{const l=Object.keys(e.params||{}).filter(t=>!n.keys.find(e=>e.name===t));l.length&&W(`Discarded invalid param(s) "${l.join('", "')}" when navigating. See https://github.com/vuejs/router/blob/main/packages/router/CHANGELOG.md#414-2022-08-22 for more details.`)}a=n.record.name,r=U(Pe(t.params,n.keys.filter(e=>!e.optional).concat(n.parent?n.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&Pe(e.params,n.keys.map(e=>e.name))),o=n.stringify(r)}else if(null!=e.path)(o=e.path).startsWith("/")||W(`The Matcher cannot resolve relative paths but received "${o}". Unless you directly called \`matcher.resolve("${o}")\`, this is probably a bug in vue-router. Please open an issue at https://github.com/vuejs/router/issues/new/choose.`),(n=y.find(e=>e.re.test(o)))&&(r=n.parse(o),a=n.record.name);else{if(!(n=t.name?b.get(t.name):y.find(e=>e.re.test(t.path))))throw Y(1,{location:e,currentLocation:t});a=n.record.name,r=U({},t.params,e.params),o=n.stringify(r)}const i=[];let s=n;for(;s;)i.unshift(s.record),s=s.parent;return{name:a,path:o,params:r,matched:i,meta:i.reduce((e,t)=>U(e,t.meta),{})}},removeRoute:_,getRoutes:function(){return y},getRecordMatcher:function(e){return b.get(e)}}}function Pe(e,t){const n={};for(const r of t)r in e&&(n[r]=e[r]);return n}function Oe(e){for(;e;){if(e.record.aliasOf)return 1;e=e.parent}}function Se(e,t){const n={};for(const r in e)n[r]=(r in t?t:e)[r];return n}function k(e,t){return e.name===t.name&&e.optional===t.optional&&e.repeatable===t.repeatable}function je(e){const t={};if(""===e||"?"===e)return t;const n=("?"===e[0]?e.slice(1):e).split("&");for(let e=0;ee&&a(e)):[r&&a(r)];o.forEach(e=>{void 0!==e&&(n+=(n.length?"&":"")+t,null!=e&&(n+="="+e))})}}return n}const i=Symbol("router view location matched"),s=Symbol("router view depth"),ee=Symbol("router"),te=Symbol("route location"),ne=Symbol("router view location");function re(){let n=[];return{add:function(t){return n.push(t),()=>{var e=n.indexOf(t);-1n.slice(),reset:function(){n=[]}}}function Ae(e,t,n){var r=()=>{e[t].delete(n)};N.onUnmounted(r),N.onDeactivated(r),N.onActivated(()=>{e[t].add(n)}),e[t].add(n)}function oe(i,s,l,c,u,d=e=>e()){const h=c&&(c.enterCallbacks[u]=c.enterCallbacks[u]||[]);return()=>new Promise((n,r)=>{const t=e=>{var t;!1===e?r(Y(4,{from:l,to:s})):e instanceof Error?r(e):"string"==typeof(t=e)||t&&"object"==typeof t?r(Y(2,{from:s,to:e})):(h&&c.enterCallbacks[u]===h&&"function"==typeof e&&h.push(e),n())};var e=d(()=>i.call(c&&c.instances[u],s,l,function(e,t,n){let r=0;return function(){1==r++&&W(`The "next" callback was called more than once in one navigation guard when going from "${n.fullPath}" to "${t.fullPath}". It should be called exactly one time in each navigation guard. This will fail in production.`),e._called=!0,1===r&&e.apply(null,arguments)}}(t,s,l)));let o=Promise.resolve(e);if(i.length<3&&(o=o.then(t)),2t._called?e:(W(a),Promise.reject(new Error("Invalid navigation guard"))));else if(void 0!==e&&!t._called)return W(a),void r(new Error("Invalid navigation guard"))}o.catch(e=>r(e))})}function ae(e,n,r,o,a=e=>e()){const i=[];for(const l of e){l.components||l.children.length||W(`Record with path "${l.path}" is either missing a "component(s)"`+' or "children" property.');for(const c in l.components){let t=l.components[c];if(!t||"object"!=typeof t&&"function"!=typeof t)throw W(`Component "${c}" in record with path "${l.path}" is not`+` a valid component. Received "${String(t)}".`),new Error("Invalid route component");if("then"in t){W(`Component "${c}" in record with path "${l.path}" is a `+"Promise instead of a function that returns a Promise. Did you "+`write "import('./MyPage.vue')" instead of `+`"() => import('./MyPage.vue')" ? This will break in `+"production if not fixed.");const u=t;t=()=>u}else t.__asyncLoader&&!t.__warnedDefineAsync&&(t.__warnedDefineAsync=!0,W(`Component "${c}" in record with path "${l.path}" is defined `+'using "defineAsyncComponent()". '+`Write "() => import('./MyPage.vue')" instead of `+`"defineAsyncComponent(() => import('./MyPage.vue'))".`));if("beforeRouteEnter"===n||l.instances[c])if("object"==typeof(s=t)||"displayName"in s||"props"in s||"__vccOpts"in s){s=(t.__vccOpts||t)[n];s&&i.push(oe(s,r,o,l,c,a))}else{let e=t();"catch"in e||(W(`Component "${c}" in record with path "${l.path}" is a function that does not return a Promise. If you were passing a functional component, make sure to add a "displayName" to the component. This will break in production if not fixed.`),e=Promise.resolve(e)),i.push(()=>e.then(e=>{if(!e)return Promise.reject(new Error(`Couldn't resolve component "${c}" at "${l.path}"`));e=p(e)?e.default:e,e=((l.components[c]=e).__vccOpts||e)[n];return e&&oe(e,r,o,l,c,a)()}))}}}var s;return i}function l(t){const n=N.inject(ee),i=N.inject(te),s=N.computed(()=>n.resolve(N.unref(t.to))),e=N.computed(()=>{var e=s.value["matched"],t=e["length"],n=e[t-1];const r=i.matched;if(!n||!r.length)return-1;var o=r.findIndex(K.bind(null,n));if(-1-1e!==o[t]))return!1}return!0}(i.params,s.value.params)),o=N.computed(()=>-1{l.route=s.value,l.isActive=r.value,l.isExactActive=o.value},{flush:"post"})}}return{route:s,href:N.computed(()=>s.value.href),isActive:r,isExactActive:o,navigate:function(e={}){return function(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey||e.defaultPrevented||void 0!==e.button&&0!==e.button)){if(e.currentTarget&&e.currentTarget.getAttribute){var t=e.currentTarget.getAttribute("target");if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),1}}(e)?n[N.unref(t.replace)?"replace":"push"](N.unref(t.to)).catch(V):Promise.resolve()}}}const Ie=N.defineComponent({name:"RouterLink",compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:"page"}},useLink:l,setup(t,{slots:n}){const r=N.reactive(l(t)),e=N.inject(ee)["options"],o=N.computed(()=>({[Le(t.activeClass,e.linkActiveClass,"router-link-active")]:r.isActive,[Le(t.exactActiveClass,e.linkExactActiveClass,"router-link-exact-active")]:r.isExactActive}));return()=>{var e=n.default&&n.default(r);return t.custom?e:N.h("a",{"aria-current":r.isExactActive?t.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:o.value},e)}}});function Te(e){return e?(e.aliasOf||e).path:""}const Le=(e,t,n)=>null!=e?e:null!=t?t:n;function Ne(e,t){if(!e)return null;e=e(t);return 1===e.length?e[0]:e}const Me=N.defineComponent({name:"RouterView",inheritAttrs:!1,props:{name:{type:String,default:"default"},route:Object},compatConfig:{MODE:3},setup(c,{attrs:u,slots:d}){{const n=N.getCurrentInstance(),o=n.parent&&n.parent.type.name,a=n.parent&&n.parent.subTree&&n.parent.subTree.type;var e;o&&("KeepAlive"===o||o.includes("Transition"))&&"object"==typeof a&&"RouterView"===a.name&&W(' can no longer be used directly inside or .\nUse slot props instead:\n\n\n'+` <${e="KeepAlive"===o?"keep-alive":"transition"}> +`+` +`+` +`+"")}const t=N.inject(ne),h=N.computed(()=>c.route||t.value),r=N.inject(s,0),p=N.computed(()=>{let e=N.unref(r);for(var t,n=h.value["matched"];(t=n[e])&&!t.components;)e++;return e}),f=N.computed(()=>h.value.matched[p.value]),m=(N.provide(s,N.computed(()=>p.value+1)),N.provide(i,f),N.provide(ne,h),N.ref());return N.watch(()=>[m.value,f.value,c.name],([t,e,n],[r,o])=>{e&&(e.instances[n]=t,o&&o!==e&&t&&t===r&&(e.leaveGuards.size||(e.leaveGuards=o.leaveGuards),e.updateGuards.size||(e.updateGuards=o.updateGuards))),!t||!e||o&&K(e,o)&&r||(e.enterCallbacks[n]||[]).forEach(e=>e(t))},{flush:"post"}),()=>{var e=h.value;const t=c.name,n=f.value;var r=n&&n.components[t];if(!r)return Ne(d.default,{Component:r,route:e});const o=n.props[t];var a=o?!0===o?e.params:"function"==typeof o?o(e):o:null;const i=N.h(r,U({},a,u,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(n.instances[t]=null)},ref:m}));if(M&&i.ref){const s={depth:p.value,name:n.name,path:n.path,meta:n.meta},l=B(i.ref)?i.ref.map(e=>e.i):[i.ref.i];l.forEach(e=>{e.__vrv_devtools=s})}return Ne(d.default,{Component:i,route:e})||i}}});function Ue(){return"undefined"!=typeof navigator&&"undefined"!=typeof window?window:"undefined"!=typeof global?global:{}}const De="function"==typeof Proxy,Ve="devtools-plugin:setup";let n,r;function Be(){return void 0!==n||("undefined"!=typeof window&&window.performance?(n=!0,r=window.performance):"undefined"!=typeof global&&null!=(e=global.perf_hooks)&&e.performance?(n=!0,r=global.perf_hooks.performance):n=!1),(n?r:Date).now();var e}class We{constructor(e,t){this.target=null,this.targetQueue=[],this.onQueue=[],this.plugin=e,this.hook=t;const n={};if(e.settings)for(const l in e.settings){var r=e.settings[l];n[l]=r.defaultValue}const o="__vue-devtools-plugin-settings__"+e.id;let a=Object.assign({},n);try{var i=localStorage.getItem(o),s=JSON.parse(i);Object.assign(a,s)}catch(e){}this.fallbacks={getSettings(){return a},setSettings(e){try{localStorage.setItem(o,JSON.stringify(e))}catch(e){}a=e},now(){return Be()}},t&&t.on("plugin:settings:set",(e,t)=>{e===this.plugin.id&&this.fallbacks.setSettings(t)}),this.proxiedOn=new Proxy({},{get:(e,t)=>this.target?this.target.on[t]:(...e)=>{this.onQueue.push({method:t,args:e})}}),this.proxiedTarget=new Proxy({},{get:(e,n)=>this.target?this.target[n]:"on"===n?this.proxiedOn:Object.keys(this.fallbacks).includes(n)?(...e)=>(this.targetQueue.push({method:n,args:e,resolve:()=>{}}),this.fallbacks[n](...e)):(...t)=>new Promise(e=>{this.targetQueue.push({method:n,args:t,resolve:e})})})}async setRealTarget(e){this.target=e;for(const t of this.onQueue)this.target.on[t.method](...t.args);for(const n of this.targetQueue)n.resolve(await this.target[n.method](...n.args))}}function qe(e,t){var n=e;const r=Ue(),o=Ue().__VUE_DEVTOOLS_GLOBAL_HOOK__;var a=De&&n.enableEarlyProxy;if(!o||!r.__VUE_DEVTOOLS_PLUGIN_API_AVAILABLE__&&a){a=a?new We(n,o):null;const i=r.__VUE_DEVTOOLS_PLUGINS__=r.__VUE_DEVTOOLS_PLUGINS__||[];i.push({pluginDescriptor:n,setupFn:t,proxy:a}),a&&t(a.proxiedTarget)}else o.emit(Ve,e,t)}function u(e,t){var n=U({},e,{matched:e.matched.map(e=>{{var t=e,n=["instances","children","aliasOf"];const r={};for(const o in t)n.includes(o)||(r[o]=t[o]);return r}})});return{_custom:{type:null,readOnly:!0,display:e.fullPath,tooltip:t,value:n}}}function h(e){return{_custom:{display:e}}}let Ge=0;function Fe(s,l,c){if(!l.__hasDevtools){l.__hasDevtools=!0;const e=Ge++;qe({id:"org.vuejs.router"+(e?"."+e:""),label:"Vue Router",packageName:"vue-router",homepage:"https://router.vuejs.org",logo:"https://router.vuejs.org/logo.png",componentStateTypes:["Routing"],app:s},o=>{"function"!=typeof o.now&&console.warn("[Vue Router]: You seem to be using an outdated version of Vue Devtools. Are you still using the Beta release instead of the stable one? You can find the links at https://devtools.vuejs.org/guide/installation.html."),o.on.inspectComponent((e,t)=>{e.instanceData&&e.instanceData.state.push({type:"Routing",key:"$route",editable:!1,value:u(l.currentRoute.value,"Current Route")})}),o.on.visitComponentTree(({treeNode:r,componentInstance:e})=>{if(e.__vrv_devtools){const t=e.__vrv_devtools;r.tags.push({label:(t.name?t.name.toString()+": ":"")+t.path,textColor:0,tooltip:"This component is rendered by <router-view>",backgroundColor:Ke})}B(e.__vrl_devtools)&&(e.__devtoolsApi=o,e.__vrl_devtools.forEach(e=>{let t=Je,n="";e.isExactActive?(t=He,n="This is exactly active"):e.isActive&&(t=Qe,n="This link is active"),r.tags.push({label:e.route.path,textColor:0,tooltip:n,backgroundColor:t})}))}),N.watch(l.currentRoute,()=>{t(),o.notifyComponentUpdate(),o.sendInspectorTree(r),o.sendInspectorState(r)});const a="router:navigations:"+e;o.addTimelineLayer({id:a,label:`Router${e?" "+e:""} Navigations`,color:4237508}),l.onError((e,t)=>{o.addTimelineEvent({layerId:a,event:{title:"Error during Navigation",subtitle:t.fullPath,logType:"error",time:o.now(),data:{error:e},groupId:t.meta.__navigationId}})});let n=0;l.beforeEach((e,t)=>{t={guard:h("beforeEach"),from:u(t,"Current Location during this navigation"),to:u(e,"Target location")};Object.defineProperty(e.meta,"__navigationId",{value:n++}),o.addTimelineEvent({layerId:a,event:{time:o.now(),title:"Start of navigation",subtitle:e.fullPath,data:t,groupId:e.meta.__navigationId}})}),l.afterEach((e,t,n)=>{const r={guard:h("afterEach")};n?(r.failure={_custom:{type:Error,readOnly:!0,display:n?n.message:"",tooltip:"Navigation Failure",value:n}},r.status=h("❌")):r.status=h("✅"),r.from=u(t,"Current Location during this navigation"),r.to=u(e,"Target location"),o.addTimelineEvent({layerId:a,event:{title:"End of navigation",subtitle:e.fullPath,time:o.now(),data:r,logType:n?"warning":"default",groupId:e.meta.__navigationId}})});const r="router-inspector:"+e;function t(){if(i){const t=i;let e=c.getRoutes().filter(e=>!e.parent||!e.parent.record.components);e.forEach(tt),(e=t.filter?e.filter(e=>function t(e,n){const r=String(e.re).match(et);e.__vd_match=!1;if(!r||r.length<3)return!1;const o=new RegExp(r[1].replace(/\$$/,""),r[2]);if(o.test(n))return e.children.forEach(e=>t(e,n)),("/"!==e.record.path||"/"===n)&&(e.__vd_match=e.re.test(n),!0);const a=e.record.path.toLowerCase();const i=G(a);if(!n.startsWith("/")&&(i.includes(n)||a.includes(n)))return!0;if(i.startsWith(n)||a.startsWith(n))return!0;if(e.record.name&&String(e.record.name).includes(n))return!0;return e.children.some(e=>t(e,n))}(e,t.filter.toLowerCase())):e).forEach(e=>function t(n,r){const e=r.matched.length&&K(r.matched[r.matched.length-1],n.record);n.__vd_exactActive=n.__vd_active=e;e||(n.__vd_active=r.matched.some(e=>K(e,n.record)));n.children.forEach(e=>t(e,r))}(e,l.currentRoute.value)),t.rootNodes=e.map(Xe)}}o.addInspector({id:r,label:"Routes"+(e?" "+e:""),icon:"book",treeFilterPlaceholder:"Search routes"});let i;o.on.getInspectorTree(e=>{(i=e).app===s&&e.inspectorId===r&&t()}),o.on.getInspectorState(t=>{if(t.app===s&&t.inspectorId===r){const n=c.getRoutes();var e=n.find(e=>e.record.__vd_id===t.nodeId);e&&(t.state={options:function(e){const t=e["record"],n=[{editable:!1,key:"path",value:t.path}];null!=t.name&&n.push({editable:!1,key:"name",value:t.name});n.push({editable:!1,key:"regexp",value:e.re}),e.keys.length&&n.push({editable:!1,key:"keys",value:{_custom:{type:null,readOnly:!0,display:e.keys.map(e=>""+e.name+function(e){return e.optional?e.repeatable?"*":"?":e.repeatable?"+":""}(e)).join(" "),tooltip:"Param keys",value:e.keys}}});null!=t.redirect&&n.push({editable:!1,key:"redirect",value:t.redirect});e.alias.length&&n.push({editable:!1,key:"aliases",value:e.alias.map(e=>e.record.path)});Object.keys(e.record.meta).length&&n.push({editable:!1,key:"meta",value:e.record.meta});return n.push({key:"score",editable:!1,value:{_custom:{type:null,readOnly:!0,display:e.score.map(e=>e.join(", ")).join(" | "),tooltip:"Score used to sort routes",value:e.score}}}),n}(e)})}}),o.sendInspectorTree(r),o.sendInspectorState(r)})}}const Ke=15485081,Qe=2450411,He=8702998,ze=2282478,Je=16486972,Ye=6710886;function Xe(e){const t=[],n=e["record"];null!=n.name&&t.push({label:String(n.name),textColor:0,backgroundColor:ze}),n.aliasOf&&t.push({label:"alias",textColor:0,backgroundColor:Je}),e.__vd_match&&t.push({label:"matches",textColor:0,backgroundColor:Ke}),e.__vd_exactActive&&t.push({label:"exact",textColor:0,backgroundColor:He}),e.__vd_active&&t.push({label:"active",textColor:0,backgroundColor:Qe}),n.redirect&&t.push({label:"string"==typeof n.redirect?"redirect: "+n.redirect:"redirects",textColor:16777215,backgroundColor:Ye});let r=n.__vd_id;return null==r&&(r=String(Ze++),n.__vd_id=r),{id:r,label:n.path,tags:t,children:e.children.map(Xe)}}let Ze=0;const et=/^\/(.*)\/([a-z]*)$/;function tt(e){e.__vd_match=!1,e.children.forEach(tt)}return e.RouterLink=Ie,e.RouterView=Me,e.START_LOCATION=J,e.createMemoryHistory=function(e=""){let l=[],c=[""],u=0;function n(e){++u!==c.length&&c.splice(u),c.push(e)}return e={location:"",state:{},base:e=O(e),createHref:j.bind(null,e),replace(e){c.splice(u--,1),n(e)},push(e,t){n(e)},listen(t){return l.push(t),()=>{var e=l.indexOf(t);-1c[u]}),e},e.createRouter=function(l){const c=xe(l.routes,l),u=l.parseQuery||je,d=l.stringifyQuery||Z,h=l.history;if(!h)throw new Error('Provide the "history" option when calling "createRouter()": https://next.router.vuejs.org/api/#history.');const p=re(),f=re(),e=re(),m=N.shallowRef(J);let v=J;M&&l.scrollBehavior&&"scrollRestoration"in history&&(history.scrollRestoration="manual");const g=D.bind(null,e=>""+e),y=D.bind(null,ce),b=D.bind(null,G);function w(e,t){if(t=U({},t||m.value),"string"==typeof e){var n=F(u,e,t.path);const o=c.resolve({path:n.path},t),i=h.createHref(n.fullPath);return i.startsWith("//")?W(`Location "${e}" resolved to "${i}". A resolved location cannot start with multiple slashes.`):o.matched.length||W(`No match found for location with path "${e}"`),U(n,o,{params:b(o.params),hash:G(n.hash),redirectedFrom:void 0,href:i})}let r;if(null!=e.path)"params"in e&&!("name"in e)&&Object.keys(e.params).length&&W(`Path "${e.path}" was passed with params but they will be ignored. Use a named route alongside params instead.`),r=U({},e,{path:F(u,e.path,t.path).path});else{const s=U({},e.params);for(const l in s)null==s[l]&&delete s[l];r=U({},e,{params:y(s)}),t.params=y(t.params)}const o=c.resolve(r,t),a=e.hash||"";a&&!a.startsWith("#")&&W(`A \`hash\` should always start with the character "#". Replace "${a}" with "#${a}".`),o.params=g(b(o.params));n=d,t=U({},e,{hash:q(a).replace(se,"{").replace(le,"}").replace(ie,"^"),path:o.path}),n=t.query?n(t.query):"";t=t.path+(n&&"?")+n+(t.hash||"");const i=h.createHref(t);return i.startsWith("//")?W(`Location "${e}" resolved to "${i}". A resolved location cannot start with multiple slashes.`):o.matched.length||W(`No match found for location with path "${null!=e.path?e.path:e}"`),U({fullPath:t,hash:a,query:d===Z?function(e){const t={};for(const n in e){const r=e[n];void 0!==r&&(t[n]=B(r)?r.map(e=>null==e?null:""+e):null==r?r:""+r)}return t}(e.query):e.query||{}},o,{redirectedFrom:void 0,href:i})}function _(e){return"string"==typeof e?F(u,e,m.value.path):U({},e)}function k(e,t){if(v!==e)return Y(8,{from:t,to:e})}function o(e){return $(e)}function E(t){var n=t.matched[t.matched.length-1];if(n&&n.redirect){const r=n["redirect"];let e="function"==typeof r?r(t):r;if("string"==typeof e&&((e=e.includes("?")||e.includes("#")?e=_(e):{path:e}).params={}),null!=e.path||"name"in e)return U({query:t.query,hash:t.hash,params:null!=e.path?{}:t.params},e);throw W(`Invalid redirect found: +${JSON.stringify(e,null,2)} + when navigating to "${t.fullPath}". A redirect must contain a name or path. This will break in production.`),new Error("Invalid redirect")}}function $(e,t){var n=v=w(e);const r=m.value,o=e.state,a=e.force,i=!0===e.replace;e=E(n);if(e)return $(U(_(e),{state:"object"==typeof e?U({},o,e.state):o,force:a,replace:i}),t||n);const s=n;s.redirectedFrom=t;let l;return!a&&ue(d,r,n)&&(l=Y(16,{to:s,from:r}),j(r,r,!0,!1)),(l?Promise.resolve(l):R(s,r)).catch(e=>X(e)?X(e,2)?e:S(e):O(e,s,r)).then(e=>{if(e){if(X(e,2))return ue(d,w(e.to),s)&&t&&30<(t._count=t._count?t._count+1:1)?(W(`Detected a possibly infinite redirection in a navigation guard when going from "${r.fullPath}" to "${s.fullPath}". Aborting to avoid a Stack Overflow. + Are you always returning a new location within a navigation guard? That would lead to this error. Only return when redirecting or aborting, that should fix this. This might break in production if not fixed.`),Promise.reject(new Error("Infinite redirect in navigation guard"))):$(U({replace:i},_(e.to),{state:"object"==typeof e.to?U({},o,e.to.state):o,force:a}),t||s)}else e=P(s,r,!0,i,o);return x(s,r,e),e})}function C(e){const t=I.values().next().value;return t&&"function"==typeof t.runWithContext?t.runWithContext(e):e()}function R(n,r){let o;const[e,t,a]=function(t,n){const r=[],o=[],a=[],i=Math.max(n.matched.length,t.matched.length);for(let e=0;eK(e,s))?o:r).push(s),t.matched[e]);!l||n.matched.find(e=>K(e,l))||a.push(l)}return[r,o,a]}(n,r);o=ae(e.reverse(),"beforeRouteLeave",n,r);for(const s of e)s.leaveGuards.forEach(e=>{o.push(oe(e,n,r))});const i=function(e,t){return(e=k(e,t))?Promise.reject(e):Promise.resolve()}.bind(null,n,r);return o.push(i),L(o).then(()=>{o=[];for(const e of p.list())o.push(oe(e,n,r));return o.push(i),L(o)}).then(()=>{o=ae(t,"beforeRouteUpdate",n,r);for(const e of t)e.updateGuards.forEach(e=>{o.push(oe(e,n,r))});return o.push(i),L(o)}).then(()=>{o=[];for(const e of a)if(e.beforeEnter)if(B(e.beforeEnter))for(const t of e.beforeEnter)o.push(oe(t,n,r));else o.push(oe(e.beforeEnter,n,r));return o.push(i),L(o)}).then(()=>(n.matched.forEach(e=>e.enterCallbacks={}),(o=ae(a,"beforeRouteEnter",n,r,C)).push(i),L(o))).then(()=>{o=[];for(const e of f.list())o.push(oe(e,n,r));return o.push(i),L(o)}).catch(e=>X(e,8)?e:Promise.reject(e))}function x(t,n,r){e.list().forEach(e=>C(()=>e(t,n,r)))}function P(e,t,n,r,o){var a=k(e,t);if(a)return a;var a=t===J,i=M?history.state:{};n&&(r||a?h.replace(e.fullPath,U({scroll:a&&i&&i.scroll},o)):h.push(e.fullPath,o)),j(m.value=e,t,n,a),S()}let a;function t(){a=a||h.listen((e,t,n)=>{if(T.listening){const o=w(e);var r,e=E(o);if(e)$(U(e,{replace:!0}),o).catch(V);else{v=o;const a=m.value;M&&(e=he(a.fullPath,n.delta),r=H(),z.set(e,r)),R(o,a).catch(e=>X(e,12)?e:X(e,2)?($(e.to,o).then(e=>{X(e,20)&&!n.delta&&n.type===Q.pop&&h.go(-1,!1)}).catch(V),Promise.reject()):(n.delta&&h.go(-n.delta,!1),O(e,o,a))).then(e=>{(e=e||P(o,a,!1))&&(n.delta&&!X(e,8)?h.go(-n.delta,!1):n.type===Q.pop&&X(e,20)&&h.go(-1,!1)),x(o,a,e)}).catch(V)}}})}let r=re(),i=re(),s;function O(t,n,r){S(t);const e=i.list();return e.length?e.forEach(e=>e(t,n,r)):(W("uncaught error during route navigation:"),console.error(t)),Promise.reject(t)}function S(n){return s||(s=!n,t(),r.list().forEach(([e,t])=>n?t(n):e()),r.reset()),n}function j(t,n,e,r){const o=l["scrollBehavior"];if(!M||!o)return Promise.resolve();const a=!e&&(i=he(t.fullPath,0),s=z.get(i),z.delete(i),s)||(r||!e)&&history.state&&history.state.scroll||null;var i,s;N.nextTick().then(()=>o(t,n,a)).then(e=>e&&de(e)).catch(e=>O(e,t,n))}const n=e=>h.go(e);let A;const I=new Set,T={currentRoute:m,listening:!0,addRoute:function(e,t){let n,r;return r=me(e)?(n=c.getRecordMatcher(e),t):e,c.addRoute(r,n)},removeRoute:function(e){var t=c.getRecordMatcher(e);t?c.removeRoute(t):W(`Cannot remove non-existent route "${String(e)}"`)},hasRoute:function(e){return!!c.getRecordMatcher(e)},getRoutes:function(){return c.getRoutes().map(e=>e.record)},resolve:w,options:l,push:o,replace:function(e){return o(U(_(e),{replace:!0}))},go:n,back:()=>n(-1),forward:()=>n(1),beforeEach:p.add,beforeResolve:f.add,afterEach:e.add,onError:i.add,isReady:function(){return s&&m.value!==J?Promise.resolve():new Promise((e,t)=>{r.add([e,t])})},install(e){e.component("RouterLink",Ie),e.component("RouterView",Me),e.config.globalProperties.$router=this,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>N.unref(m)}),M&&!A&&m.value===J&&(A=!0,o(h.location).catch(e=>{W("Unexpected error when starting the router:",e)}));var t={};for(const r in J)Object.defineProperty(t,r,{get:()=>m.value[r],enumerable:!0});e.provide(ee,this),e.provide(te,N.shallowReactive(t)),e.provide(ne,m);const n=e.unmount;I.add(e),e.unmount=function(){I.delete(e),I.size<1&&(v=J,a&&a(),a=null,m.value=J,A=!1,s=!1),n()},M&&Fe(e,this,c)}};function L(e){return e.reduce((e,t)=>e.then(()=>C(t)),Promise.resolve())}return T},e.createRouterMatcher=xe,e.createWebHashHistory=function(e){return(e=location.host?e||location.pathname+location.search:"").includes("#")||(e+="#"),e.endsWith("#/")||e.endsWith("#")||W(`A hash base must end with a "#": +"${e}" should be "${e.replace(/#.*$/,"#")}".`),fe(e)},e.createWebHistory=fe,e.isNavigationFailure=X,e.loadRouteLocation=function(e){return e.matched.every(e=>e.redirect)?Promise.reject(new Error("Cannot load a route that redirects.")):Promise.all(e.matched.map(r=>r.components&&Promise.all(Object.keys(r.components).reduce((e,t)=>{const n=r.components[t];return"function"!=typeof n||"displayName"in n||e.push(n().then(e=>{if(!e)return Promise.reject(new Error(`Couldn't resolve component "${t}" at "${r.path}". Ensure you passed a function that returns a promise.`));e=p(e)?e.default:e;r.components[t]=e})),e},[])))).then(()=>e)},e.matchedRouteKey=i,e.onBeforeRouteLeave=function(e){var t;N.getCurrentInstance()?(t=N.inject(i,{}).value)?Ae(t,"leaveGuards",e):W("No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?"):W("getCurrentInstance() returned null. onBeforeRouteLeave() must be called at the top of a setup function")},e.onBeforeRouteUpdate=function(e){var t;N.getCurrentInstance()?(t=N.inject(i,{}).value)?Ae(t,"updateGuards",e):W("No active route record was found when calling `onBeforeRouteUpdate()`. Make sure you call this function inside a component child of . Maybe you called it inside of App.vue?"):W("getCurrentInstance() returned null. onBeforeRouteUpdate() must be called at the top of a setup function")},e.parseQuery=je,e.routeLocationKey=te,e.routerKey=ee,e.routerViewLocationKey=ne,e.stringifyQuery=Z,e.useLink=l,e.useRoute=function(){return N.inject(te)},e.useRouter=function(){return N.inject(ee)},e.viewDepthKey=s,e}({},Vue); \ No newline at end of file