From 364c924c0832ec6d8e70dfcb6afe84d18ce5576d Mon Sep 17 00:00:00 2001 From: Vibou Date: Wed, 22 Nov 2017 09:38:33 +0100 Subject: [PATCH 1/7] Change events name from camelcase to kebab-case --- src/multipane.js | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/multipane.js b/src/multipane.js index a43bac8..7fe03c3 100644 --- a/src/multipane.js +++ b/src/multipane.js @@ -1,6 +1,10 @@ const LAYOUT_HORIZONTAL = 'horizontal'; const LAYOUT_VERTICAL = 'vertical'; +const PANE_RESIZE_START = 'pane-resize-start'; +const PANE_RESIZE = 'pane-resize'; +const PANE_RESIZE_STOP = 'pane-resize-stop'; + export default { name: 'multipane', @@ -78,7 +82,7 @@ export default { let size = resize(); // Trigger paneResizeStart event - self.$emit('paneResizeStart', pane, resizer, size); + self.$emit(PANE_RESIZE_START, pane, resizer, size); const onMouseMove = function({ pageX, pageY }) { size = @@ -86,7 +90,7 @@ export default { ? resize(initialPaneWidth, pageX - initialPageX) : resize(initialPaneHeight, pageY - initialPageY); - self.$emit('paneResize', pane, resizer, size); + self.$emit(PANE_RESIZE, pane, resizer, size); }; const onMouseUp = function() { @@ -102,7 +106,7 @@ export default { removeEventListener('mousemove', onMouseMove); removeEventListener('mouseup', onMouseUp); - self.$emit('paneResizeStop', pane, resizer, size); + self.$emit(PANE_RESIZE_STOP, pane, resizer, size); }; addEventListener('mousemove', onMouseMove); From e7a6540fc63ab9d8a2ee874d90f049a864af2a45 Mon Sep 17 00:00:00 2001 From: Vibou Date: Wed, 22 Nov 2017 09:42:11 +0100 Subject: [PATCH 2/7] Change version --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 53fecb5..2506951 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "vue-multipane", "description": "Resizable split panes for Vue.js.", - "version": "0.9.5", + "version": "0.9.6", "author": "Yan Sern ", "main": "dist/vue-multipane.js", "unpkg": "dist/vue-multipane.min.js", From e44a648c4947ef22acd5033e98265398eae3768b Mon Sep 17 00:00:00 2001 From: Vibou Date: Wed, 22 Nov 2017 09:57:45 +0100 Subject: [PATCH 3/7] 0.96 --- demo/main.js | 2 +- demo/manifest.js | 1 - dist/vue-multipane.esm.js | 1 - dist/vue-multipane.js | 10 +++++++--- dist/vue-multipane.min.js | 1 - 5 files changed, 8 insertions(+), 7 deletions(-) delete mode 100644 demo/manifest.js delete mode 100644 dist/vue-multipane.esm.js delete mode 100644 dist/vue-multipane.min.js diff --git a/demo/main.js b/demo/main.js index 6a7c50e..d39480f 100644 --- a/demo/main.js +++ b/demo/main.js @@ -1 +1 @@ -!function(e){function t(r){if(n[r])return n[r].exports;var i=n[r]={i:r,l:!1,exports:{}};return e[r].call(i.exports,i,i.exports,t),i.l=!0,i.exports}var n={};t.m=e,t.c=n,t.d=function(e,n,r){t.o(e,n)||Object.defineProperty(e,n,{configurable:!1,enumerable:!0,get:r})},t.n=function(e){var n=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(n,"a",n),n},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="",t(t.s=4)}([function(e,t){e.exports=function(e,t,n,r,i){var o,a=e=e||{},s=typeof e.default;"object"!==s&&"function"!==s||(o=e,a=e.default);var c="function"==typeof a?a.options:a;t&&(c.render=t.render,c.staticRenderFns=t.staticRenderFns),r&&(c._scopeId=r);var u;if(i?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(i)},c._ssrRegister=u):n&&(u=n),u){var l=c.functional,f=l?c.render:c.beforeCreate;l?c.render=function(e,t){return u.call(t),f(e,t)}:c.beforeCreate=f?[].concat(f,u):[u]}return{esModule:o,exports:a,options:c}}},function(e,t){function n(e,t){var n=e[1]||"",i=e[3];if(!i)return n;if(t&&"function"==typeof btoa){var o=r(i);return[n].concat(i.sources.map(function(e){return"/*# sourceURL="+i.sourceRoot+e+" */"})).concat([o]).join("\n")}return[n].join("\n")}function r(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var r=n(t,e);return t[2]?"@media "+t[2]+"{"+r+"}":r}).join("")},t.i=function(e,n){"string"==typeof e&&(e=[[null,e,""]]);for(var r={},i=0;in.parts.length&&(r.parts.length=n.parts.length)}else{for(var a=[],i=0;i=0&&Math.floor(t)===t&&isFinite(e)}function f(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function p(e){var t=parseFloat(e);return isNaN(t)?e:t}function d(e,t){for(var n=Object.create(null),r=e.split(","),i=0;i-1)return e.splice(n,1)}}function h(e,t){return Bi.call(e,t)}function m(e){var t=Object.create(null);return function(n){return t[n]||(t[n]=e(n))}}function g(e,t){function n(n){var r=arguments.length;return r?r>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function y(e,t){t=t||0;for(var n=e.length-t,r=new Array(n);n--;)r[n]=e[n+t];return r}function _(e,t){for(var n in t)e[n]=t[n];return e}function b(e){for(var t={},n=0;nVo&&Do[n].id>e.id;)n--;Do.splice(n+1,0,e)}else Do.push(e);Uo||(Uo=!0,Co(je))}}function Re(e){Jo.clear(),ze(e,Jo)}function ze(e,t){var n,r,i=Array.isArray(e);if((i||s(e))&&Object.isExtensible(e)){if(e.__ob__){var o=e.__ob__.dep.id;if(t.has(o))return;t.add(o)}if(i)for(n=e.length;n--;)ze(e[n],t);else for(r=Object.keys(e),n=r.length;n--;)ze(e[r[n]],t)}}function Ie(e,t,n){qo.get=function(){return this[t][n]},qo.set=function(e){this[t][n]=e},Object.defineProperty(e,n,qo)}function De(e){e._watchers=[];var t=e.$options;t.props&&Fe(e,t.props),t.methods&&Ke(e,t.methods),t.data?He(e):N(e._data={},!0),t.computed&&Be(e,t.computed),t.watch&&t.watch!==vo&&Je(e,t.watch)}function Fe(e,t){var n=e.$options.propsData||{},r=e._props={},i=e.$options._propKeys=[],o=!e.$parent;To.shouldConvert=o;for(var a in t)!function(o){i.push(o);var a=q(o,t,n,e);L(r,o,a),o in e||Ie(e,"_props",o)}(a);To.shouldConvert=!0}function He(e){var t=e.$options.data;t=e._data="function"==typeof t?Ue(t,e):t||{},c(t)||(t={});for(var n=Object.keys(t),r=e.$options.props,i=(e.$options.methods,n.length);i--;){var o=n[i];r&&h(r,o)||k(o)||Ie(e,"_data",o)}N(t,!0)}function Ue(e,t){try{return e.call(t)}catch(e){return S(e,t,"data()"),{}}}function Be(e,t){var n=e._computedWatchers=Object.create(null),r=_o();for(var i in t){var o=t[i],a="function"==typeof o?o:o.get;r||(n[i]=new Ko(e,a||x,x,Go)),i in e||Ve(e,i,o)}}function Ve(e,t,n){var r=!_o();"function"==typeof n?(qo.get=r?We(t):n,qo.set=x):(qo.get=n.get?r&&!1!==n.cache?We(t):n.get:x,qo.set=n.set?n.set:x),Object.defineProperty(e,t,qo)}function We(e){return function(){var t=this._computedWatchers&&this._computedWatchers[e];if(t)return t.dirty&&t.evaluate(),$o.target&&t.depend(),t.value}}function Ke(e,t){e.$options.props;for(var n in t)e[n]=null==t[n]?x:g(t[n],e)}function Je(e,t){for(var n in t){var r=t[n];if(Array.isArray(r))for(var i=0;i=0||n.indexOf(e[i])<0)&&r.push(e[i]);return r}return e}function wt(e){this._init(e)}function $t(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=y(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}function kt(e){e.mixin=function(e){return this.options=K(this.options,e),this}}function At(e){e.cid=0;var t=1;e.extend=function(e){e=e||{};var n=this,r=n.cid,i=e._Ctor||(e._Ctor={});if(i[r])return i[r];var o=e.name||n.options.name,a=function(e){this._init(e)};return a.prototype=Object.create(n.prototype),a.prototype.constructor=a,a.cid=t++,a.options=K(n.options,e),a.super=n,a.options.props&&Ot(a),a.options.computed&&St(a),a.extend=n.extend,a.mixin=n.mixin,a.use=n.use,Yi.forEach(function(e){a[e]=n[e]}),o&&(a.options.components[o]=a),a.superOptions=n.options,a.extendOptions=e,a.sealedOptions=_({},a.options),i[r]=a,a}}function Ot(e){var t=e.options.props;for(var n in t)Ie(e.prototype,"_props",n)}function St(e){var t=e.options.computed;for(var n in t)Ve(e.prototype,n,t[n])}function Tt(e){Yi.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&c(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}function Et(e){return e&&(e.Ctor.options.name||e.tag)}function jt(e,t){return Array.isArray(e)?e.indexOf(t)>-1:"string"==typeof e?e.split(",").indexOf(t)>-1:!!u(e)&&e.test(t)}function Mt(e,t,n){for(var r in e){var i=e[r];if(i){var o=Et(i.componentOptions);o&&!n(o)&&(i!==t&&Pt(i),e[r]=null)}}}function Pt(e){e&&e.componentInstance.$destroy()}function Nt(e){for(var t=e.data,n=e,i=e;r(i.componentInstance);)i=i.componentInstance._vnode,i.data&&(t=Lt(i.data,t));for(;r(n=n.parent);)n.data&&(t=Lt(t,n.data));return Rt(t.staticClass,t.class)}function Lt(e,t){return{staticClass:zt(e.staticClass,t.staticClass),class:r(e.class)?[e.class,t.class]:t.class}}function Rt(e,t){return r(e)||r(t)?zt(e,It(t)):""}function zt(e,t){return e?t?e+" "+t:e:t||""}function It(e){return Array.isArray(e)?Dt(e):s(e)?Ft(e):"string"==typeof e?e:""}function Dt(e){for(var t,n="",i=0,o=e.length;i-1?Oa[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Oa[e]=/HTMLUnknownElement/.test(t.toString())}function Bt(e){if("string"==typeof e){var t=document.querySelector(e);return t||document.createElement("div")}return e}function Vt(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)}function Wt(e,t){return document.createElementNS(Ca[e],t)}function Kt(e){return document.createTextNode(e)}function Jt(e){return document.createComment(e)}function qt(e,t,n){e.insertBefore(t,n)}function Gt(e,t){e.removeChild(t)}function Zt(e,t){e.appendChild(t)}function Xt(e){return e.parentNode}function Yt(e){return e.nextSibling}function Qt(e){return e.tagName}function en(e,t){e.textContent=t}function tn(e,t,n){e.setAttribute(t,n)}function nn(e,t){var n=e.data.ref;if(n){var r=e.context,i=e.componentInstance||e.elm,o=r.$refs;t?Array.isArray(o[n])?v(o[n],i):o[n]===i&&(o[n]=void 0):e.data.refInFor?Array.isArray(o[n])?o[n].indexOf(i)<0&&o[n].push(i):o[n]=[i]:o[n]=i}}function rn(e,t){return e.key===t.key&&(e.tag===t.tag&&e.isComment===t.isComment&&r(e.data)===r(t.data)&&on(e,t)||i(e.isAsyncPlaceholder)&&e.asyncFactory===t.asyncFactory&&n(t.asyncFactory.error))}function on(e,t){if("input"!==e.tag)return!0;var n,i=r(n=e.data)&&r(n=n.attrs)&&n.type,o=r(n=t.data)&&r(n=n.attrs)&&n.type;return i===o||Sa(i)&&Sa(o)}function an(e,t,n){var i,o,a={};for(i=t;i<=n;++i)o=e[i].key,r(o)&&(a[o]=i);return a}function sn(e,t){(e.data.directives||t.data.directives)&&cn(e,t)}function cn(e,t){var n,r,i,o=e===ja,a=t===ja,s=un(e.data.directives,e.context),c=un(t.data.directives,t.context),u=[],l=[];for(n in c)r=s[n],i=c[n],r?(i.oldValue=r.value,fn(i,"update",t,e),i.def&&i.def.componentUpdated&&l.push(i)):(fn(i,"bind",t,e),i.def&&i.def.inserted&&u.push(i));if(u.length){var f=function(){for(var n=0;n=0&&" "===(m=e.charAt(h));h--);m&&Ia.test(m)||(l=!0)}}else void 0===o?(v=i+1,o=e.slice(0,i).trim()):t();if(void 0===o?o=e.slice(0,i).trim():0!==v&&t(),a)for(i=0;i=ia}function En(e){return 34===e||39===e}function jn(e){var t=1;for(ca=sa;!Tn();)if(e=Sn(),En(e))Mn(e);else if(91===e&&t++,93===e&&t--,0===t){ua=sa;break}}function Mn(e){for(var t=e;!Tn()&&(e=Sn())!==t;);}function Pn(e,t,n){la=n;var r=t.value,i=t.modifiers,o=e.tag,a=e.attrsMap.type;if(e.component)return kn(e,r,i),!1;if("select"===o)Rn(e,r,i);else if("input"===o&&"checkbox"===a)Nn(e,r,i);else if("input"===o&&"radio"===a)Ln(e,r,i);else if("input"===o||"textarea"===o)zn(e,r,i);else if(!eo.isReservedTag(o))return kn(e,r,i),!1;return!0}function Nn(e,t,n){var r=n&&n.number,i=wn(e,"value")||"null",o=wn(e,"true-value")||"true",a=wn(e,"false-value")||"false";_n(e,"checked","Array.isArray("+t+")?_i("+t+","+i+")>-1"+("true"===o?":("+t+")":":_q("+t+","+o+")")),Cn(e,Fa,"var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+o+"):("+a+");if(Array.isArray($$a)){var $$v="+(r?"_n("+i+")":i)+",$$i=_i($$a,$$v);if($$el.checked){$$i<0&&("+t+"=$$a.concat([$$v]))}else{$$i>-1&&("+t+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+An(t,"$$c")+"}",null,!0)}function Ln(e,t,n){var r=n&&n.number,i=wn(e,"value")||"null";i=r?"_n("+i+")":i,_n(e,"checked","_q("+t+","+i+")"),Cn(e,Fa,An(t,i),null,!0)}function Rn(e,t,n){var r=n&&n.number,i='Array.prototype.filter.call($event.target.options,function(o){return o.selected}).map(function(o){var val = "_value" in o ? o._value : o.value;return '+(r?"_n(val)":"val")+"})",o="var $$selectedVal = "+i+";";o=o+" "+An(t,"$event.target.multiple ? $$selectedVal : $$selectedVal[0]"),Cn(e,"change",o,null,!0)}function zn(e,t,n){var r=e.attrsMap.type,i=n||{},o=i.lazy,a=i.number,s=i.trim,c=!o&&"range"!==r,u=o?"change":"range"===r?Da:"input",l="$event.target.value";s&&(l="$event.target.value.trim()"),a&&(l="_n("+l+")");var f=An(t,l);c&&(f="if($event.target.composing)return;"+f),_n(e,"value","("+t+")"),Cn(e,u,f,null,!0),(s||a)&&Cn(e,"blur","$forceUpdate()")}function In(e){var t;r(e[Da])&&(t=so?"change":"input",e[t]=[].concat(e[Da],e[t]||[]),delete e[Da]),r(e[Fa])&&(t=po?"click":"change",e[t]=[].concat(e[Fa],e[t]||[]),delete e[Fa])}function Dn(e,t,n,r,i){if(n){var o=t,a=fa;t=function(n){null!==(1===arguments.length?o(n):o.apply(null,arguments))&&Fn(e,t,r,a)}}fa.addEventListener(e,t,ho?{capture:r,passive:i}:r)}function Fn(e,t,n,r){(r||fa).removeEventListener(e,t,n)}function Hn(e,t){if(!n(e.data.on)||!n(t.data.on)){var r=t.data.on||{},i=e.data.on||{};fa=t.elm,In(r),re(r,i,Dn,Fn,t.context)}}function Un(e,t){if(!n(e.data.domProps)||!n(t.data.domProps)){var i,o,a=t.elm,s=e.data.domProps||{},c=t.data.domProps||{};r(c.__ob__)&&(c=t.data.domProps=_({},c));for(i in s)n(c[i])&&(a[i]="");for(i in c)if(o=c[i],"textContent"!==i&&"innerHTML"!==i||(t.children&&(t.children.length=0),o!==s[i]))if("value"===i){a._value=o;var u=n(o)?"":String(o);Bn(a,t,u)&&(a.value=u)}else a[i]=o}}function Bn(e,t,n){return!e.composing&&("option"===t.tag||Vn(e,n)||Wn(e,n))}function Vn(e,t){var n=!0;try{n=document.activeElement!==e}catch(e){}return n&&e.value!==t}function Wn(e,t){var n=e.value,i=e._vModifiers;return r(i)&&i.number?p(n)!==p(t):r(i)&&i.trim?n.trim()!==t.trim():n!==t}function Kn(e){var t=Jn(e.style);return e.staticStyle?_(e.staticStyle,t):t}function Jn(e){return Array.isArray(e)?b(e):"string"==typeof e?Ba(e):e}function qn(e,t){var n,r={};if(t)for(var i=e;i.componentInstance;)i=i.componentInstance._vnode,i.data&&(n=Kn(i.data))&&_(r,n);(n=Kn(e.data))&&_(r,n);for(var o=e;o=o.parent;)o.data&&(n=Kn(o.data))&&_(r,n);return r}function Gn(e,t){var i=t.data,o=e.data;if(!(n(i.staticStyle)&&n(i.style)&&n(o.staticStyle)&&n(o.style))){var a,s,c=t.elm,u=o.staticStyle,l=o.normalizedStyle||o.style||{},f=u||l,p=Jn(t.data.style)||{};t.data.normalizedStyle=r(p.__ob__)?_({},p):p;var d=qn(t,!0);for(s in f)n(d[s])&&Ka(c,s,"");for(s in d)(a=d[s])!==f[s]&&Ka(c,s,null==a?"":a)}}function Zn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.add(t)}):e.classList.add(t);else{var n=" "+(e.getAttribute("class")||"")+" ";n.indexOf(" "+t+" ")<0&&e.setAttribute("class",(n+t).trim())}}function Xn(e,t){if(t&&(t=t.trim()))if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t),e.classList.length||e.removeAttribute("class");else{for(var n=" "+(e.getAttribute("class")||"")+" ",r=" "+t+" ";n.indexOf(r)>=0;)n=n.replace(r," ");n=n.trim(),n?e.setAttribute("class",n):e.removeAttribute("class")}}function Yn(e){if(e){if("object"==typeof e){var t={};return!1!==e.css&&_(t,Za(e.name||"v")),_(t,e),t}return"string"==typeof e?Za(e):void 0}}function Qn(e){is(function(){is(e)})}function er(e,t){var n=e._transitionClasses||(e._transitionClasses=[]);n.indexOf(t)<0&&(n.push(t),Zn(e,t))}function tr(e,t){e._transitionClasses&&v(e._transitionClasses,t),Xn(e,t)}function nr(e,t,n){var r=rr(e,t),i=r.type,o=r.timeout,a=r.propCount;if(!i)return n();var s=i===Ya?ts:rs,c=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++c>=a&&u()};setTimeout(function(){c0&&(n=Ya,l=a,f=o.length):t===Qa?u>0&&(n=Qa,l=u,f=c.length):(l=Math.max(a,u),n=l>0?a>u?Ya:Qa:null,f=n?n===Ya?o.length:c.length:0),{type:n,timeout:l,propCount:f,hasTransform:n===Ya&&os.test(r[es+"Property"])}}function ir(e,t){for(;e.length1}function lr(e,t){!0!==t.data.show&&ar(t)}function fr(e,t,n){pr(e,t,n),(so||uo)&&setTimeout(function(){pr(e,t,n)},0)}function pr(e,t,n){var r=t.value,i=e.multiple;if(!i||Array.isArray(r)){for(var o,a,s=0,c=e.options.length;s-1,a.selected!==o&&(a.selected=o);else if(C(vr(a),r))return void(e.selectedIndex!==s&&(e.selectedIndex=s));i||(e.selectedIndex=-1)}}function dr(e,t){return t.every(function(t){return!C(t,e)})}function vr(e){return"_value"in e?e._value:e.value}function hr(e){e.target.composing=!0}function mr(e){e.target.composing&&(e.target.composing=!1,gr(e.target,"input"))}function gr(e,t){var n=document.createEvent("HTMLEvents");n.initEvent(t,!0,!0),e.dispatchEvent(n)}function yr(e){return!e.componentInstance||e.data&&e.data.transition?e:yr(e.componentInstance._vnode)}function _r(e){var t=e&&e.componentOptions;return t&&t.Ctor.options.abstract?_r(he(t.children)):e}function br(e){var t={},n=e.$options;for(var r in n.propsData)t[r]=e[r];var i=n._parentListeners;for(var o in i)t[Wi(o)]=i[o];return t}function xr(e,t){if(/\d-keep-alive$/.test(t.tag))return e("keep-alive",{props:t.componentOptions.propsData})}function Cr(e){for(;e=e.parent;)if(e.data.transition)return!0}function wr(e,t){return t.key===e.key&&t.tag===e.tag}function $r(e){e.elm._moveCb&&e.elm._moveCb(),e.elm._enterCb&&e.elm._enterCb()}function kr(e){e.data.newPos=e.elm.getBoundingClientRect()}function Ar(e){var t=e.data.pos,n=e.data.newPos,r=t.left-n.left,i=t.top-n.top;if(r||i){e.data.moved=!0;var o=e.elm.style;o.transform=o.WebkitTransform="translate("+r+"px,"+i+"px)",o.transitionDuration="0s"}}function Or(e,t){var n=t?Cs(t):bs;if(n.test(e)){for(var r,i,o=[],a=n.lastIndex=0;r=n.exec(e);){i=r.index,i>a&&o.push(JSON.stringify(e.slice(a,i)));var s=hn(r[1].trim());o.push("_s("+s+")"),a=i+r[0].length}return a=0&&a[i].lowerCasedTag!==s;i--);else i=0;if(i>=0){for(var c=a.length-1;c>=i;c--)t.end&&t.end(a[c].tag,n,r);a.length=i,o=i&&a[i-1].tag}else"br"===s?t.start&&t.start(e,[],!0,n,r):"p"===s&&(t.start&&t.start(e,[],!1,n,r),t.end&&t.end(e,n,r))}for(var i,o,a=[],s=t.expectHTML,c=t.isUnaryTag||Gi,u=t.canBeLeftOpenTag||Gi,l=0;e;){if(i=e,o&&Ys(o)){var f=0,p=o.toLowerCase(),d=Qs[p]||(Qs[p]=new RegExp("([\\s\\S]*?)(]*>)","i")),v=e.replace(d,function(e,n,r){return f=r.length,Ys(p)||"noscript"===p||(n=n.replace(//g,"$1").replace(//g,"$1")),ic(p,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});l+=e.length-v.length,e=v,r(p,l-f,l)}else{var h=e.indexOf("<");if(0===h){if(Ds.test(e)){var m=e.indexOf("--\x3e");if(m>=0){t.shouldKeepComment&&t.comment(e.substring(4,m)),n(m+3);continue}}if(Fs.test(e)){var g=e.indexOf("]>");if(g>=0){n(g+2);continue}}var y=e.match(Is);if(y){n(y[0].length);continue}var _=e.match(zs);if(_){var b=l;n(_[0].length),r(_[1],b,l);continue}var x=function(){var t=e.match(Ls);if(t){var r={tagName:t[1],attrs:[],start:l};n(t[0].length);for(var i,o;!(i=e.match(Rs))&&(o=e.match(Ms));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if(x){!function(e){var n=e.tagName,i=e.unarySlash;s&&("p"===o&&Ts(n)&&r(o),u(n)&&o===n&&r(n));for(var l=c(n)||!!i,f=e.attrs.length,p=new Array(f),d=0;d=0){for(w=e.slice(h);!(zs.test(w)||Ls.test(w)||Ds.test(w)||Fs.test(w)||($=w.indexOf("<",1))<0);)h+=$,w=e.slice(h);C=e.substring(0,h),n(h)}h<0&&(C=e,e=""),t.chars&&C&&t.chars(C)}if(e===i){t.chars&&t.chars(e);break}}r()}function Rr(e,t){function n(e){e.pre&&(s=!1),Js(e.tag)&&(c=!1)}Us=t.warn||gn,Js=t.isPreTag||Gi,qs=t.mustUseProp||Gi,Gs=t.getTagNamespace||Gi,Vs=yn(t.modules,"transformNode"),Ws=yn(t.modules,"preTransformNode"),Ks=yn(t.modules,"postTransformNode"),Bs=t.delimiters;var r,i,o=[],a=!1!==t.preserveWhitespace,s=!1,c=!1;return Lr(e,{warn:Us,expectHTML:t.expectHTML,isUnaryTag:t.isUnaryTag,canBeLeftOpenTag:t.canBeLeftOpenTag,shouldDecodeNewlines:t.shouldDecodeNewlines,shouldKeepComment:t.comments,start:function(e,a,u){var l=i&&i.ns||Gs(e);so&&"svg"===l&&(a=ti(a));var f={type:1,tag:e,attrsList:a,attrsMap:Yr(a),parent:i,children:[]};l&&(f.ns=l),ei(f)&&!_o()&&(f.forbidden=!0);for(var p=0;p0,uo=ao&&ao.indexOf("edge/")>0,lo=ao&&ao.indexOf("android")>0,fo=ao&&/iphone|ipad|ipod|ios/.test(ao),po=ao&&/chrome\/\d+/.test(ao)&&!uo,vo={}.watch,ho=!1;if(oo)try{var mo={};Object.defineProperty(mo,"passive",{get:function(){ho=!0}}),window.addEventListener("test-passive",null,mo)}catch(e){}var go,yo,_o=function(){return void 0===go&&(go=!oo&&void 0!==t&&"server"===t.process.env.VUE_ENV),go},bo=oo&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,xo="undefined"!=typeof Symbol&&T(Symbol)&&"undefined"!=typeof Reflect&&T(Reflect.ownKeys),Co=function(){function e(){r=!1;var e=n.slice(0);n.length=0;for(var t=0;t1?y(n):n;for(var r=y(arguments,1),i=0,o=n.length;i1&&(t[n[0].trim()]=n[1].trim())}}),t}),Va=/^--/,Wa=/\s*!important$/,Ka=function(e,t,n){if(Va.test(t))e.style.setProperty(t,n);else if(Wa.test(n))e.style.setProperty(t,n.replace(Wa,""),"important");else{var r=qa(t);if(Array.isArray(n))for(var i=0,o=n.length;iv?(f=n(i[g+1])?null:i[g+1].elm,y(e,f,i,d,g,o)):d>g&&b(e,t,p,v)}function w(e,t,n,i){for(var o=n;o',n.innerHTML.indexOf(t)>0}("\n"," "),bs=/\{\{((?:.|\n)+?)\}\}/g,xs=/[-.*+?^${}()|[\]\/\\]/g,Cs=m(function(e){var t=e[0].replace(xs,"\\$&"),n=e[1].replace(xs,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}),ws={staticKeys:["staticClass"],transformNode:Sr,genData:Tr},$s={staticKeys:["staticStyle"],transformNode:Er,genData:jr},ks=[ws,$s],As={model:Pn,text:Mr,html:Pr},Os=d("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),Ss=d("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Ts=d("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),Es={expectHTML:!0,modules:ks,directives:As,isPreTag:ka,isUnaryTag:Os,mustUseProp:ha,canBeLeftOpenTag:Ss,isReservedTag:Aa,getTagNamespace:Ht,staticKeys:function(e){return e.reduce(function(e,t){return e.concat(t.staticKeys||[])},[]).join(",")}(ks)},js={decode:function(e){return ys=ys||document.createElement("div"),ys.innerHTML=e,ys.textContent}},Ms=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,Ps="[a-zA-Z_][\\w\\-\\.]*",Ns="((?:"+Ps+"\\:)?"+Ps+")",Ls=new RegExp("^<"+Ns),Rs=/^\s*(\/?)>/,zs=new RegExp("^<\\/"+Ns+"[^>]*>"),Is=/^]+>/i,Ds=/^/g,"$1").replace(//g,"$1")),Zo(d,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});l+=e.length-v.length,e=v,r(d,l-f,l)}else{var h=e.indexOf("<");if(0===h){if(Mo.test(e)){var m=e.indexOf("--\x3e");if(m>=0){t.shouldKeepComment&&t.comment(e.substring(4,m)),n(m+3);continue}}if(jo.test(e)){var g=e.indexOf("]>");if(g>=0){n(g+2);continue}}var y=e.match(Eo);if(y){n(y[0].length);continue}var _=e.match(So);if(_){var b=l;n(_[0].length),r(_[1],b,l);continue}var x=function(){var t=e.match(Oo);if(t){var r={tagName:t[1],attrs:[],start:l};n(t[0].length);for(var i,o;!(i=e.match(To))&&(o=e.match($o));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if(x){!function(e){var n=e.tagName,i=e.unarySlash;s&&("p"===o&&Co(n)&&r(o),u(n)&&o===n&&r(n));for(var l=c(n)||!!i,f=e.attrs.length,d=new Array(f),p=0;p=0){for(C=e.slice(h);!(So.test(C)||Oo.test(C)||Mo.test(C)||jo.test(C)||($=C.indexOf("<",1))<0);)h+=$,C=e.slice(h);w=e.substring(0,h),n(h)}h<0&&(w=e,e=""),t.chars&&w&&t.chars(w)}if(e===i){t.chars&&t.chars(e);break}}r()}function un(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n':'
',Vo.innerHTML.indexOf(" ")>0}var Ln=Object.freeze({}),Pn=Object.prototype.toString,Rn=p("slot,component",!0),zn=p("key,ref,slot,slot-scope,is"),Dn=Object.prototype.hasOwnProperty,Fn=/-(\w)/g,Hn=m(function(e){return e.replace(Fn,function(e,t){return t?t.toUpperCase():""})}),Un=m(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),Bn=/\B([A-Z])/g,Vn=m(function(e){return e.replace(Bn,"-$1").toLowerCase()}),Wn=function(e,t,n){return!1},Kn=function(e){return e},Jn="data-server-rendered",qn=["component","directive","filter"],Gn=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Xn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Wn,isReservedAttr:Wn,isUnknownElement:Wn,getTagNamespace:x,parsePlatformTagName:Kn,mustUseProp:Wn,_lifecycleHooks:Gn},Zn=/[^\w.$]/,Yn="__proto__"in{},Qn="undefined"!=typeof window,er="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,tr=er&&WXEnvironment.platform.toLowerCase(),nr=Qn&&window.navigator.userAgent.toLowerCase(),rr=nr&&/msie|trident/.test(nr),ir=nr&&nr.indexOf("msie 9.0")>0,or=nr&&nr.indexOf("edge/")>0,ar=nr&&nr.indexOf("android")>0||"android"===tr,sr=nr&&/iphone|ipad|ipod|ios/.test(nr)||"ios"===tr,cr=(nr&&/chrome\/\d+/.test(nr),{}.watch),ur=!1;if(Qn)try{var lr={};Object.defineProperty(lr,"passive",{get:function(){ur=!0}}),window.addEventListener("test-passive",null,lr)}catch(e){}var fr,dr,pr=function(){return void 0===fr&&(fr=!Qn&&void 0!==t&&"server"===t.process.env.VUE_ENV),fr},vr=Qn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,hr="undefined"!=typeof Symbol&&O(Symbol)&&"undefined"!=typeof Reflect&&O(Reflect.ownKeys);dr="undefined"!=typeof Set&&O(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var mr=x,gr=0,yr=function(){this.id=gr++,this.subs=[]};yr.prototype.addSub=function(e){this.subs.push(e)},yr.prototype.removeSub=function(e){v(this.subs,e)},yr.prototype.depend=function(){yr.target&&yr.target.addDep(this)},yr.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;tJr&&Ur[n].id>e.id;)n--;Ur.splice(n+1,0,e)}else Ur.push(e);Wr||(Wr=!0,G(ge))}}(this)},Gr.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||s(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){W(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Gr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Gr.prototype.depend=function(){for(var e=this,t=this.deps.length;t--;)e.deps[t].depend()},Gr.prototype.teardown=function(){var e=this;if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var t=this.deps.length;t--;)e.deps[t].removeSub(e);this.active=!1}};var Xr={enumerable:!0,configurable:!0,get:x,set:x},Zr={lazy:!0};Ne(Le.prototype);var Yr={init:function(e,t,n,r){if(!e.componentInstance||e.componentInstance._isDestroyed){(e.componentInstance=function(e,t,n,r){var o=e.componentOptions,a={_isComponent:!0,parent:t,propsData:o.propsData,_componentTag:o.tag,_parentVnode:e,_parentListeners:o.listeners,_renderChildren:o.children,_parentElm:n||null,_refElm:r||null},s=e.data.inlineTemplate;return i(s)&&(a.render=s.render,a.staticRenderFns=s.staticRenderFns),new o.Ctor(a)}(e,Hr,n,r)).$mount(t?e.elm:void 0,t)}else if(e.data.keepAlive){var o=e;Yr.prepatch(o,o)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,i){var o=!!(i||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==Ln);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=i,e.$attrs=r.data&&r.data.attrs||Ln,e.$listeners=n||Ln,t&&e.$options.props){Ar.shouldConvert=!1;for(var a=e._props,s=e.$options._propKeys||[],c=0;c1?y(n):n;for(var r=y(arguments,1),i=0,o=n.length;iparseInt(this.max)&&Ke(c,u[0],u,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={};t.get=function(){return Xn},Object.defineProperty(e,"config",t),e.util={warn:mr,extend:_,mergeOptions:F,defineReactive:j},e.set=I,e.delete=N,e.nextTick=G,e.options=Object.create(null),qn.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,_(e.options.components,ii),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=y(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=F(this.options,e),this}}(e),Ue(e),function(e){qn.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&c(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(e)}(He),Object.defineProperty(He.prototype,"$isServer",{get:pr}),Object.defineProperty(He.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),He.version="2.5.8";var oi,ai,si,ci,ui,li,fi,di,pi,vi=p("style,class"),hi=p("input,textarea,option,select,progress"),mi=function(e,t,n){return"value"===n&&hi(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},gi=p("contenteditable,draggable,spellcheck"),yi=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),_i="http://www.w3.org/1999/xlink",bi=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},xi=function(e){return bi(e)?e.slice(6,e.length):""},wi=function(e){return null==e||!1===e},Ci={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},$i=p("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),ki=p("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Ai=function(e){return $i(e)||ki(e)},Oi=Object.create(null),Ti=p("text,number,password,search,email,tel,url"),Si=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(e,t){return document.createElementNS(Ci[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setAttribute:function(e,t,n){e.setAttribute(t,n)}}),Ei={create:function(e,t){Qe(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Qe(e,!0),Qe(t))},destroy:function(e){Qe(e,!0)}},Mi=new br("",{},[]),ji=["create","activate","update","remove","destroy"],Ii={create:nt,update:nt,destroy:function(e){nt(e,Mi)}},Ni=Object.create(null),Li=[Ei,Ii],Pi={create:ot,update:ot},Ri={create:st,update:st},zi=/[\w).+\-_$\]]/,Di="__r",Fi="__c",Hi={create:kt,update:kt},Ui={create:At,update:At},Bi=m(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}),Vi=/^--/,Wi=/\s*!important$/,Ki=function(e,t,n){if(Vi.test(t))e.style.setProperty(t,n);else if(Wi.test(n))e.style.setProperty(t,n.replace(Wi,""),"important");else{var r=qi(t);if(Array.isArray(n))for(var i=0,o=n.length;ip?v(e,r(o[y+1])?null:o[y+1].elm,o,d,y,a):d>y&&m(0,t,f,p)}function _(e,t,n,a){if(e!==t){var s=t.elm=e.elm;if(o(e.isAsyncPlaceholder))i(t.asyncFactory.resolved)?x(e.elm,t,n):t.isAsyncPlaceholder=!0;else if(o(t.isStatic)&&o(e.isStatic)&&t.key===e.key&&(o(t.isCloned)||o(t.isOnce)))t.componentInstance=e.componentInstance;else{var c,u=t.data;i(u)&&i(c=u.hook)&&i(c=c.prepatch)&&c(e,t);var f=e.children,d=t.children;if(i(u)&&l(t)){for(c=0;c<$.update.length;++c)$.update[c](e,t);i(c=u.hook)&&i(c=c.update)&&c(e,t)}r(t.text)?i(f)&&i(d)?f!==d&&y(s,f,d,n,a):i(d)?(i(e.text)&&A.setTextContent(s,""),v(s,null,d,0,d.length-1,n)):i(f)?m(0,f,0,f.length-1):i(e.text)&&A.setTextContent(s,""):e.text!==t.text&&A.setTextContent(s,t.text),i(u)&&i(c=u.hook)&&i(c=c.postpatch)&&c(e,t)}}}function b(e,t,n){if(o(n)&&i(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1?Oi[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Oi[e]=/HTMLUnknownElement/.test(t.toString())},_(He.options.directives,co),_(He.options.components,po),He.prototype.__patch__=Qn?ao:x,He.prototype.$mount=function(e,t){return e=e&&Qn?Ye(e):void 0,function(e,t,n){e.$el=t,e.$options.render||(e.$options.render=wr),me(e,"beforeMount");var r;return r=function(){e._update(e._render(),n)},e._watcher=new Gr(e,r,x),n=!1,null==e.$vnode&&(e._isMounted=!0,me(e,"mounted")),e}(this,e,t)},He.nextTick(function(){Xn.devtools&&vr&&vr.emit("init",He)},0);var vo,ho=/\{\{((?:.|\n)+?)\}\}/g,mo=/[-.*+?^${}()|[\]\/\\]/g,go=m(function(e){var t=e[0].replace(mo,"\\$&"),n=e[1].replace(mo,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}),yo={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=mt(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=ht(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}},_o={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=mt(e,"style");n&&(e.staticStyle=JSON.stringify(Bi(n)));var r=ht(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},bo={decode:function(e){return vo=vo||document.createElement("div"),vo.innerHTML=e,vo.textContent}},xo=p("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),wo=p("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Co=p("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),$o=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ko="[a-zA-Z_][\\w\\-\\.]*",Ao="((?:"+ko+"\\:)?"+ko+")",Oo=new RegExp("^<"+Ao),To=/^\s*(\/?)>/,So=new RegExp("^<\\/"+Ao+"[^>]*>"),Eo=/^]+>/i,Mo=/^/g,"$1").replace(//g,"$1")),Zo(d,n)&&(n=n.slice(1)),t.chars&&t.chars(n),""});l+=e.length-v.length,e=v,r(d,l-f,l)}else{var h=e.indexOf("<");if(0===h){if(Mo.test(e)){var m=e.indexOf("--\x3e");if(m>=0){t.shouldKeepComment&&t.comment(e.substring(4,m)),n(m+3);continue}}if(jo.test(e)){var g=e.indexOf("]>");if(g>=0){n(g+2);continue}}var y=e.match(Eo);if(y){n(y[0].length);continue}var _=e.match(So);if(_){var b=l;n(_[0].length),r(_[1],b,l);continue}var x=function(){var t=e.match(Oo);if(t){var r={tagName:t[1],attrs:[],start:l};n(t[0].length);for(var i,o;!(i=e.match(To))&&(o=e.match($o));)n(o[0].length),r.attrs.push(o);if(i)return r.unarySlash=i[1],n(i[0].length),r.end=l,r}}();if(x){!function(e){var n=e.tagName,i=e.unarySlash;s&&("p"===o&&Co(n)&&r(o),u(n)&&o===n&&r(n));for(var l=c(n)||!!i,f=e.attrs.length,d=new Array(f),p=0;p=0){for(C=e.slice(h);!(So.test(C)||Oo.test(C)||Mo.test(C)||jo.test(C)||($=C.indexOf("<",1))<0);)h+=$,C=e.slice(h);w=e.substring(0,h),n(h)}h<0&&(w=e,e=""),t.chars&&w&&t.chars(w)}if(e===i){t.chars&&t.chars(e);break}}r()}function un(e,t,n){return{type:1,tag:e,attrsList:t,attrsMap:function(e){for(var t={},n=0,r=e.length;n':'
',Vo.innerHTML.indexOf(" ")>0}var Ln=Object.freeze({}),Pn=Object.prototype.toString,Rn=p("slot,component",!0),zn=p("key,ref,slot,slot-scope,is"),Dn=Object.prototype.hasOwnProperty,Fn=/-(\w)/g,Hn=m(function(e){return e.replace(Fn,function(e,t){return t?t.toUpperCase():""})}),Un=m(function(e){return e.charAt(0).toUpperCase()+e.slice(1)}),Bn=/\B([A-Z])/g,Vn=m(function(e){return e.replace(Bn,"-$1").toLowerCase()}),Wn=function(e,t,n){return!1},Kn=function(e){return e},Jn="data-server-rendered",qn=["component","directive","filter"],Gn=["beforeCreate","created","beforeMount","mounted","beforeUpdate","updated","beforeDestroy","destroyed","activated","deactivated","errorCaptured"],Xn={optionMergeStrategies:Object.create(null),silent:!1,productionTip:!1,devtools:!1,performance:!1,errorHandler:null,warnHandler:null,ignoredElements:[],keyCodes:Object.create(null),isReservedTag:Wn,isReservedAttr:Wn,isUnknownElement:Wn,getTagNamespace:x,parsePlatformTagName:Kn,mustUseProp:Wn,_lifecycleHooks:Gn},Zn=/[^\w.$]/,Yn="__proto__"in{},Qn="undefined"!=typeof window,er="undefined"!=typeof WXEnvironment&&!!WXEnvironment.platform,tr=er&&WXEnvironment.platform.toLowerCase(),nr=Qn&&window.navigator.userAgent.toLowerCase(),rr=nr&&/msie|trident/.test(nr),ir=nr&&nr.indexOf("msie 9.0")>0,or=nr&&nr.indexOf("edge/")>0,ar=nr&&nr.indexOf("android")>0||"android"===tr,sr=nr&&/iphone|ipad|ipod|ios/.test(nr)||"ios"===tr,cr=(nr&&/chrome\/\d+/.test(nr),{}.watch),ur=!1;if(Qn)try{var lr={};Object.defineProperty(lr,"passive",{get:function(){ur=!0}}),window.addEventListener("test-passive",null,lr)}catch(e){}var fr,dr,pr=function(){return void 0===fr&&(fr=!Qn&&void 0!==t&&"server"===t.process.env.VUE_ENV),fr},vr=Qn&&window.__VUE_DEVTOOLS_GLOBAL_HOOK__,hr="undefined"!=typeof Symbol&&O(Symbol)&&"undefined"!=typeof Reflect&&O(Reflect.ownKeys);dr="undefined"!=typeof Set&&O(Set)?Set:function(){function e(){this.set=Object.create(null)}return e.prototype.has=function(e){return!0===this.set[e]},e.prototype.add=function(e){this.set[e]=!0},e.prototype.clear=function(){this.set=Object.create(null)},e}();var mr=x,gr=0,yr=function(){this.id=gr++,this.subs=[]};yr.prototype.addSub=function(e){this.subs.push(e)},yr.prototype.removeSub=function(e){v(this.subs,e)},yr.prototype.depend=function(){yr.target&&yr.target.addDep(this)},yr.prototype.notify=function(){for(var e=this.subs.slice(),t=0,n=e.length;tJr&&Ur[n].id>e.id;)n--;Ur.splice(n+1,0,e)}else Ur.push(e);Wr||(Wr=!0,G(ge))}}(this)},Gr.prototype.run=function(){if(this.active){var e=this.get();if(e!==this.value||s(e)||this.deep){var t=this.value;if(this.value=e,this.user)try{this.cb.call(this.vm,e,t)}catch(e){W(e,this.vm,'callback for watcher "'+this.expression+'"')}else this.cb.call(this.vm,e,t)}}},Gr.prototype.evaluate=function(){this.value=this.get(),this.dirty=!1},Gr.prototype.depend=function(){for(var e=this,t=this.deps.length;t--;)e.deps[t].depend()},Gr.prototype.teardown=function(){var e=this;if(this.active){this.vm._isBeingDestroyed||v(this.vm._watchers,this);for(var t=this.deps.length;t--;)e.deps[t].removeSub(e);this.active=!1}};var Xr={enumerable:!0,configurable:!0,get:x,set:x},Zr={lazy:!0};Ne(Le.prototype);var Yr={init:function(e,t,n,r){if(!e.componentInstance||e.componentInstance._isDestroyed){(e.componentInstance=function(e,t,n,r){var o=e.componentOptions,a={_isComponent:!0,parent:t,propsData:o.propsData,_componentTag:o.tag,_parentVnode:e,_parentListeners:o.listeners,_renderChildren:o.children,_parentElm:n||null,_refElm:r||null},s=e.data.inlineTemplate;return i(s)&&(a.render=s.render,a.staticRenderFns=s.staticRenderFns),new o.Ctor(a)}(e,Hr,n,r)).$mount(t?e.elm:void 0,t)}else if(e.data.keepAlive){var o=e;Yr.prepatch(o,o)}},prepatch:function(e,t){var n=t.componentOptions;!function(e,t,n,r,i){var o=!!(i||e.$options._renderChildren||r.data.scopedSlots||e.$scopedSlots!==Ln);if(e.$options._parentVnode=r,e.$vnode=r,e._vnode&&(e._vnode.parent=r),e.$options._renderChildren=i,e.$attrs=r.data&&r.data.attrs||Ln,e.$listeners=n||Ln,t&&e.$options.props){Ar.shouldConvert=!1;for(var a=e._props,s=e.$options._propKeys||[],c=0;c1?y(n):n;for(var r=y(arguments,1),i=0,o=n.length;iparseInt(this.max)&&Ke(c,u[0],u,this._vnode)),t.data.keepAlive=!0}return t||e&&e[0]}}};!function(e){var t={};t.get=function(){return Xn},Object.defineProperty(e,"config",t),e.util={warn:mr,extend:_,mergeOptions:F,defineReactive:j},e.set=I,e.delete=N,e.nextTick=G,e.options=Object.create(null),qn.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,_(e.options.components,ii),function(e){e.use=function(e){var t=this._installedPlugins||(this._installedPlugins=[]);if(t.indexOf(e)>-1)return this;var n=y(arguments,1);return n.unshift(this),"function"==typeof e.install?e.install.apply(e,n):"function"==typeof e&&e.apply(null,n),t.push(e),this}}(e),function(e){e.mixin=function(e){return this.options=F(this.options,e),this}}(e),Ue(e),function(e){qn.forEach(function(t){e[t]=function(e,n){return n?("component"===t&&c(n)&&(n.name=n.name||e,n=this.options._base.extend(n)),"directive"===t&&"function"==typeof n&&(n={bind:n,update:n}),this.options[t+"s"][e]=n,n):this.options[t+"s"][e]}})}(e)}(He),Object.defineProperty(He.prototype,"$isServer",{get:pr}),Object.defineProperty(He.prototype,"$ssrContext",{get:function(){return this.$vnode&&this.$vnode.ssrContext}}),He.version="2.5.8";var oi,ai,si,ci,ui,li,fi,di,pi,vi=p("style,class"),hi=p("input,textarea,option,select,progress"),mi=function(e,t,n){return"value"===n&&hi(e)&&"button"!==t||"selected"===n&&"option"===e||"checked"===n&&"input"===e||"muted"===n&&"video"===e},gi=p("contenteditable,draggable,spellcheck"),yi=p("allowfullscreen,async,autofocus,autoplay,checked,compact,controls,declare,default,defaultchecked,defaultmuted,defaultselected,defer,disabled,enabled,formnovalidate,hidden,indeterminate,inert,ismap,itemscope,loop,multiple,muted,nohref,noresize,noshade,novalidate,nowrap,open,pauseonexit,readonly,required,reversed,scoped,seamless,selected,sortable,translate,truespeed,typemustmatch,visible"),_i="http://www.w3.org/1999/xlink",bi=function(e){return":"===e.charAt(5)&&"xlink"===e.slice(0,5)},xi=function(e){return bi(e)?e.slice(6,e.length):""},wi=function(e){return null==e||!1===e},Ci={svg:"http://www.w3.org/2000/svg",math:"http://www.w3.org/1998/Math/MathML"},$i=p("html,body,base,head,link,meta,style,title,address,article,aside,footer,header,h1,h2,h3,h4,h5,h6,hgroup,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,rtc,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,menuitem,summary,content,element,shadow,template,blockquote,iframe,tfoot"),ki=p("svg,animate,circle,clippath,cursor,defs,desc,ellipse,filter,font-face,foreignObject,g,glyph,image,line,marker,mask,missing-glyph,path,pattern,polygon,polyline,rect,switch,symbol,text,textpath,tspan,use,view",!0),Ai=function(e){return $i(e)||ki(e)},Oi=Object.create(null),Ti=p("text,number,password,search,email,tel,url"),Si=Object.freeze({createElement:function(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&void 0!==t.data.attrs.multiple&&n.setAttribute("multiple","multiple"),n)},createElementNS:function(e,t){return document.createElementNS(Ci[e],t)},createTextNode:function(e){return document.createTextNode(e)},createComment:function(e){return document.createComment(e)},insertBefore:function(e,t,n){e.insertBefore(t,n)},removeChild:function(e,t){e.removeChild(t)},appendChild:function(e,t){e.appendChild(t)},parentNode:function(e){return e.parentNode},nextSibling:function(e){return e.nextSibling},tagName:function(e){return e.tagName},setTextContent:function(e,t){e.textContent=t},setAttribute:function(e,t,n){e.setAttribute(t,n)}}),Ei={create:function(e,t){Qe(t)},update:function(e,t){e.data.ref!==t.data.ref&&(Qe(e,!0),Qe(t))},destroy:function(e){Qe(e,!0)}},Mi=new br("",{},[]),ji=["create","activate","update","remove","destroy"],Ii={create:nt,update:nt,destroy:function(e){nt(e,Mi)}},Ni=Object.create(null),Li=[Ei,Ii],Pi={create:ot,update:ot},Ri={create:st,update:st},zi=/[\w).+\-_$\]]/,Di="__r",Fi="__c",Hi={create:kt,update:kt},Ui={create:At,update:At},Bi=m(function(e){var t={},n=/:(.+)/;return e.split(/;(?![^(]*\))/g).forEach(function(e){if(e){var r=e.split(n);r.length>1&&(t[r[0].trim()]=r[1].trim())}}),t}),Vi=/^--/,Wi=/\s*!important$/,Ki=function(e,t,n){if(Vi.test(t))e.style.setProperty(t,n);else if(Wi.test(n))e.style.setProperty(t,n.replace(Wi,""),"important");else{var r=qi(t);if(Array.isArray(n))for(var i=0,o=n.length;ip?v(e,r(o[y+1])?null:o[y+1].elm,o,d,y,a):d>y&&m(0,t,f,p)}function _(e,t,n,a){if(e!==t){var s=t.elm=e.elm;if(o(e.isAsyncPlaceholder))i(t.asyncFactory.resolved)?x(e.elm,t,n):t.isAsyncPlaceholder=!0;else if(o(t.isStatic)&&o(e.isStatic)&&t.key===e.key&&(o(t.isCloned)||o(t.isOnce)))t.componentInstance=e.componentInstance;else{var c,u=t.data;i(u)&&i(c=u.hook)&&i(c=c.prepatch)&&c(e,t);var f=e.children,d=t.children;if(i(u)&&l(t)){for(c=0;c<$.update.length;++c)$.update[c](e,t);i(c=u.hook)&&i(c=c.update)&&c(e,t)}r(t.text)?i(f)&&i(d)?f!==d&&y(s,f,d,n,a):i(d)?(i(e.text)&&A.setTextContent(s,""),v(s,null,d,0,d.length-1,n)):i(f)?m(0,f,0,f.length-1):i(e.text)&&A.setTextContent(s,""):e.text!==t.text&&A.setTextContent(s,t.text),i(u)&&i(c=u.hook)&&i(c=c.postpatch)&&c(e,t)}}}function b(e,t,n){if(o(n)&&i(e.parent))e.parent.data.pendingInsert=t;else for(var r=0;r-1?Oi[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Oi[e]=/HTMLUnknownElement/.test(t.toString())},_(He.options.directives,co),_(He.options.components,po),He.prototype.__patch__=Qn?ao:x,He.prototype.$mount=function(e,t){return e=e&&Qn?Ye(e):void 0,function(e,t,n){e.$el=t,e.$options.render||(e.$options.render=wr),me(e,"beforeMount");var r;return r=function(){e._update(e._render(),n)},e._watcher=new Gr(e,r,x),n=!1,null==e.$vnode&&(e._isMounted=!0,me(e,"mounted")),e}(this,e,t)},He.nextTick(function(){Xn.devtools&&vr&&vr.emit("init",He)},0);var vo,ho=/\{\{((?:.|\n)+?)\}\}/g,mo=/[-.*+?^${}()|[\]\/\\]/g,go=m(function(e){var t=e[0].replace(mo,"\\$&"),n=e[1].replace(mo,"\\$&");return new RegExp(t+"((?:.|\\n)+?)"+n,"g")}),yo={staticKeys:["staticClass"],transformNode:function(e,t){t.warn;var n=mt(e,"class");n&&(e.staticClass=JSON.stringify(n));var r=ht(e,"class",!1);r&&(e.classBinding=r)},genData:function(e){var t="";return e.staticClass&&(t+="staticClass:"+e.staticClass+","),e.classBinding&&(t+="class:"+e.classBinding+","),t}},_o={staticKeys:["staticStyle"],transformNode:function(e,t){t.warn;var n=mt(e,"style");n&&(e.staticStyle=JSON.stringify(Bi(n)));var r=ht(e,"style",!1);r&&(e.styleBinding=r)},genData:function(e){var t="";return e.staticStyle&&(t+="staticStyle:"+e.staticStyle+","),e.styleBinding&&(t+="style:("+e.styleBinding+"),"),t}},bo={decode:function(e){return vo=vo||document.createElement("div"),vo.innerHTML=e,vo.textContent}},xo=p("area,base,br,col,embed,frame,hr,img,input,isindex,keygen,link,meta,param,source,track,wbr"),wo=p("colgroup,dd,dt,li,options,p,td,tfoot,th,thead,tr,source"),Co=p("address,article,aside,base,blockquote,body,caption,col,colgroup,dd,details,dialog,div,dl,dt,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,head,header,hgroup,hr,html,legend,li,menuitem,meta,optgroup,option,param,rp,rt,source,style,summary,tbody,td,tfoot,th,thead,title,tr,track"),$o=/^\s*([^\s"'<>\/=]+)(?:\s*(=)\s*(?:"([^"]*)"+|'([^']*)'+|([^\s"'=<>`]+)))?/,ko="[a-zA-Z_][\\w\\-\\.]*",Ao="((?:"+ko+"\\:)?"+ko+")",Oo=new RegExp("^<"+Ao),To=/^\s*(\/?)>/,So=new RegExp("^<\\/"+Ao+"[^>]*>"),Eo=/^]+>/i,Mo=/^ ' : repeat(' ', 5 + i * 2)) + (Array.isArray(vm) + ? ((formatComponentName(vm[0])) + "... (" + (vm[1]) + " recursive calls)") + : formatComponentName(vm))); }) + .join('\n') + } else { + return ("\n\n(found in " + (formatComponentName(vm)) + ")") + } + }; +} + +/* */ + + +var uid = 0; + +/** + * A dep is an observable that can have multiple + * directives subscribing to it. + */ +var Dep = function Dep () { + this.id = uid++; + this.subs = []; +}; + +Dep.prototype.addSub = function addSub (sub) { + this.subs.push(sub); +}; + +Dep.prototype.removeSub = function removeSub (sub) { + remove(this.subs, sub); +}; + +Dep.prototype.depend = function depend () { + if (Dep.target) { + Dep.target.addDep(this); + } +}; + +Dep.prototype.notify = function notify () { + // stabilize the subscriber list first + var subs = this.subs.slice(); + for (var i = 0, l = subs.length; i < l; i++) { + subs[i].update(); + } +}; + +// the current target watcher being evaluated. +// this is globally unique because there could be only one +// watcher being evaluated at any time. +Dep.target = null; +var targetStack = []; + +function pushTarget (_target) { + if (Dep.target) { targetStack.push(Dep.target); } + Dep.target = _target; +} + +function popTarget () { + Dep.target = targetStack.pop(); +} + +/* */ + +var VNode = function VNode ( + tag, + data, + children, + text, + elm, + context, + componentOptions, + asyncFactory +) { + this.tag = tag; + this.data = data; + this.children = children; + this.text = text; + this.elm = elm; + this.ns = undefined; + this.context = context; + this.functionalContext = undefined; + this.functionalOptions = undefined; + this.functionalScopeId = undefined; + this.key = data && data.key; + this.componentOptions = componentOptions; + this.componentInstance = undefined; + this.parent = undefined; + this.raw = false; + this.isStatic = false; + this.isRootInsert = true; + this.isComment = false; + this.isCloned = false; + this.isOnce = false; + this.asyncFactory = asyncFactory; + this.asyncMeta = undefined; + this.isAsyncPlaceholder = false; +}; + +var prototypeAccessors = { child: { configurable: true } }; + +// DEPRECATED: alias for componentInstance for backwards compat. +/* istanbul ignore next */ +prototypeAccessors.child.get = function () { + return this.componentInstance +}; + +Object.defineProperties( VNode.prototype, prototypeAccessors ); + +var createEmptyVNode = function (text) { + if ( text === void 0 ) text = ''; + + var node = new VNode(); + node.text = text; + node.isComment = true; + return node +}; + +function createTextVNode (val) { + return new VNode(undefined, undefined, undefined, String(val)) +} + +// optimized shallow clone +// used for static nodes and slot nodes because they may be reused across +// multiple renders, cloning them avoids errors when DOM manipulations rely +// on their elm reference. +function cloneVNode (vnode, deep) { + var componentOptions = vnode.componentOptions; + var cloned = new VNode( + vnode.tag, + vnode.data, + vnode.children, + vnode.text, + vnode.elm, + vnode.context, + componentOptions, + vnode.asyncFactory + ); + cloned.ns = vnode.ns; + cloned.isStatic = vnode.isStatic; + cloned.key = vnode.key; + cloned.isComment = vnode.isComment; + cloned.isCloned = true; + if (deep) { + if (vnode.children) { + cloned.children = cloneVNodes(vnode.children, true); + } + if (componentOptions && componentOptions.children) { + componentOptions.children = cloneVNodes(componentOptions.children, true); + } + } + return cloned +} + +function cloneVNodes (vnodes, deep) { + var len = vnodes.length; + var res = new Array(len); + for (var i = 0; i < len; i++) { + res[i] = cloneVNode(vnodes[i], deep); + } + return res +} + +/* + * not type checking this file because flow doesn't play well with + * dynamically accessing methods on Array prototype + */ + +var arrayProto = Array.prototype; +var arrayMethods = Object.create(arrayProto);[ + 'push', + 'pop', + 'shift', + 'unshift', + 'splice', + 'sort', + 'reverse' +] +.forEach(function (method) { + // cache original method + var original = arrayProto[method]; + def(arrayMethods, method, function mutator () { + var args = [], len = arguments.length; + while ( len-- ) args[ len ] = arguments[ len ]; + + var result = original.apply(this, args); + var ob = this.__ob__; + var inserted; + switch (method) { + case 'push': + case 'unshift': + inserted = args; + break + case 'splice': + inserted = args.slice(2); + break + } + if (inserted) { ob.observeArray(inserted); } + // notify change + ob.dep.notify(); + return result + }); +}); + +/* */ + +var arrayKeys = Object.getOwnPropertyNames(arrayMethods); + +/** + * By default, when a reactive property is set, the new value is + * also converted to become reactive. However when passing down props, + * we don't want to force conversion because the value may be a nested value + * under a frozen data structure. Converting it would defeat the optimization. + */ +var observerState = { + shouldConvert: true +}; + +/** + * Observer class that are attached to each observed + * object. Once attached, the observer converts target + * object's property keys into getter/setters that + * collect dependencies and dispatches updates. + */ +var Observer = function Observer (value) { + this.value = value; + this.dep = new Dep(); + this.vmCount = 0; + def(value, '__ob__', this); + if (Array.isArray(value)) { + var augment = hasProto + ? protoAugment + : copyAugment; + augment(value, arrayMethods, arrayKeys); + this.observeArray(value); + } else { + this.walk(value); + } +}; + +/** + * Walk through each property and convert them into + * getter/setters. This method should only be called when + * value type is Object. + */ +Observer.prototype.walk = function walk (obj) { + var keys = Object.keys(obj); + for (var i = 0; i < keys.length; i++) { + defineReactive(obj, keys[i], obj[keys[i]]); + } +}; + +/** + * Observe a list of Array items. + */ +Observer.prototype.observeArray = function observeArray (items) { + for (var i = 0, l = items.length; i < l; i++) { + observe(items[i]); + } +}; + +// helpers + +/** + * Augment an target Object or Array by intercepting + * the prototype chain using __proto__ + */ +function protoAugment (target, src, keys) { + /* eslint-disable no-proto */ + target.__proto__ = src; + /* eslint-enable no-proto */ +} + +/** + * Augment an target Object or Array by defining + * hidden properties. + */ +/* istanbul ignore next */ +function copyAugment (target, src, keys) { + for (var i = 0, l = keys.length; i < l; i++) { + var key = keys[i]; + def(target, key, src[key]); + } +} + +/** + * Attempt to create an observer instance for a value, + * returns the new observer if successfully observed, + * or the existing observer if the value already has one. + */ +function observe (value, asRootData) { + if (!isObject(value) || value instanceof VNode) { + return + } + var ob; + if (hasOwn(value, '__ob__') && value.__ob__ instanceof Observer) { + ob = value.__ob__; + } else if ( + observerState.shouldConvert && + !isServerRendering() && + (Array.isArray(value) || isPlainObject(value)) && + Object.isExtensible(value) && + !value._isVue + ) { + ob = new Observer(value); + } + if (asRootData && ob) { + ob.vmCount++; + } + return ob +} + +/** + * Define a reactive property on an Object. + */ +function defineReactive ( + obj, + key, + val, + customSetter, + shallow +) { + var dep = new Dep(); + + var property = Object.getOwnPropertyDescriptor(obj, key); + if (property && property.configurable === false) { + return + } + + // cater for pre-defined getter/setters + var getter = property && property.get; + var setter = property && property.set; + + var childOb = !shallow && observe(val); + Object.defineProperty(obj, key, { + enumerable: true, + configurable: true, + get: function reactiveGetter () { + var value = getter ? getter.call(obj) : val; + if (Dep.target) { + dep.depend(); + if (childOb) { + childOb.dep.depend(); + if (Array.isArray(value)) { + dependArray(value); + } + } + } + return value + }, + set: function reactiveSetter (newVal) { + var value = getter ? getter.call(obj) : val; + /* eslint-disable no-self-compare */ + if (newVal === value || (newVal !== newVal && value !== value)) { + return + } + /* eslint-enable no-self-compare */ + if ("development" !== 'production' && customSetter) { + customSetter(); + } + if (setter) { + setter.call(obj, newVal); + } else { + val = newVal; + } + childOb = !shallow && observe(newVal); + dep.notify(); + } + }); +} + +/** + * Set a property on an object. Adds the new property and + * triggers change notification if the property doesn't + * already exist. + */ +function set (target, key, val) { + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.length = Math.max(target.length, key); + target.splice(key, 1, val); + return val + } + if (key in target && !(key in Object.prototype)) { + target[key] = val; + return val + } + var ob = (target).__ob__; + if (target._isVue || (ob && ob.vmCount)) { + "development" !== 'production' && warn( + 'Avoid adding reactive properties to a Vue instance or its root $data ' + + 'at runtime - declare it upfront in the data option.' + ); + return val + } + if (!ob) { + target[key] = val; + return val + } + defineReactive(ob.value, key, val); + ob.dep.notify(); + return val +} + +/** + * Delete a property and trigger change if necessary. + */ +function del (target, key) { + if (Array.isArray(target) && isValidArrayIndex(key)) { + target.splice(key, 1); + return + } + var ob = (target).__ob__; + if (target._isVue || (ob && ob.vmCount)) { + "development" !== 'production' && warn( + 'Avoid deleting properties on a Vue instance or its root $data ' + + '- just set it to null.' + ); + return + } + if (!hasOwn(target, key)) { + return + } + delete target[key]; + if (!ob) { + return + } + ob.dep.notify(); +} + +/** + * Collect dependencies on array elements when the array is touched, since + * we cannot intercept array element access like property getters. + */ +function dependArray (value) { + for (var e = (void 0), i = 0, l = value.length; i < l; i++) { + e = value[i]; + e && e.__ob__ && e.__ob__.dep.depend(); + if (Array.isArray(e)) { + dependArray(e); + } + } +} + +/* */ + +/** + * Option overwriting strategies are functions that handle + * how to merge a parent option value and a child option + * value into the final value. + */ +var strats = config.optionMergeStrategies; + +/** + * Options with restrictions + */ +if (true) { + strats.el = strats.propsData = function (parent, child, vm, key) { + if (!vm) { + warn( + "option \"" + key + "\" can only be used during instance " + + 'creation with the `new` keyword.' + ); + } + return defaultStrat(parent, child) + }; +} + +/** + * Helper that recursively merges two data objects together. + */ +function mergeData (to, from) { + if (!from) { return to } + var key, toVal, fromVal; + var keys = Object.keys(from); + for (var i = 0; i < keys.length; i++) { + key = keys[i]; + toVal = to[key]; + fromVal = from[key]; + if (!hasOwn(to, key)) { + set(to, key, fromVal); + } else if (isPlainObject(toVal) && isPlainObject(fromVal)) { + mergeData(toVal, fromVal); + } + } + return to +} + +/** + * Data + */ +function mergeDataOrFn ( + parentVal, + childVal, + vm +) { + if (!vm) { + // in a Vue.extend merge, both should be functions + if (!childVal) { + return parentVal + } + if (!parentVal) { + return childVal + } + // when parentVal & childVal are both present, + // we need to return a function that returns the + // merged result of both functions... no need to + // check if parentVal is a function here because + // it has to be a function to pass previous merges. + return function mergedDataFn () { + return mergeData( + typeof childVal === 'function' ? childVal.call(this) : childVal, + typeof parentVal === 'function' ? parentVal.call(this) : parentVal + ) + } + } else { + return function mergedInstanceDataFn () { + // instance merge + var instanceData = typeof childVal === 'function' + ? childVal.call(vm) + : childVal; + var defaultData = typeof parentVal === 'function' + ? parentVal.call(vm) + : parentVal; + if (instanceData) { + return mergeData(instanceData, defaultData) + } else { + return defaultData + } + } + } +} + +strats.data = function ( + parentVal, + childVal, + vm +) { + if (!vm) { + if (childVal && typeof childVal !== 'function') { + "development" !== 'production' && warn( + 'The "data" option should be a function ' + + 'that returns a per-instance value in component ' + + 'definitions.', + vm + ); + + return parentVal + } + return mergeDataOrFn(parentVal, childVal) + } + + return mergeDataOrFn(parentVal, childVal, vm) +}; + +/** + * Hooks and props are merged as arrays. + */ +function mergeHook ( + parentVal, + childVal +) { + return childVal + ? parentVal + ? parentVal.concat(childVal) + : Array.isArray(childVal) + ? childVal + : [childVal] + : parentVal +} + +LIFECYCLE_HOOKS.forEach(function (hook) { + strats[hook] = mergeHook; +}); + +/** + * Assets + * + * When a vm is present (instance creation), we need to do + * a three-way merge between constructor options, instance + * options and parent options. + */ +function mergeAssets ( + parentVal, + childVal, + vm, + key +) { + var res = Object.create(parentVal || null); + if (childVal) { + "development" !== 'production' && assertObjectType(key, childVal, vm); + return extend(res, childVal) + } else { + return res + } +} + +ASSET_TYPES.forEach(function (type) { + strats[type + 's'] = mergeAssets; +}); + +/** + * Watchers. + * + * Watchers hashes should not overwrite one + * another, so we merge them as arrays. + */ +strats.watch = function ( + parentVal, + childVal, + vm, + key +) { + // work around Firefox's Object.prototype.watch... + if (parentVal === nativeWatch) { parentVal = undefined; } + if (childVal === nativeWatch) { childVal = undefined; } + /* istanbul ignore if */ + if (!childVal) { return Object.create(parentVal || null) } + if (true) { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = {}; + extend(ret, parentVal); + for (var key$1 in childVal) { + var parent = ret[key$1]; + var child = childVal[key$1]; + if (parent && !Array.isArray(parent)) { + parent = [parent]; + } + ret[key$1] = parent + ? parent.concat(child) + : Array.isArray(child) ? child : [child]; + } + return ret +}; + +/** + * Other object hashes. + */ +strats.props = +strats.methods = +strats.inject = +strats.computed = function ( + parentVal, + childVal, + vm, + key +) { + if (childVal && "development" !== 'production') { + assertObjectType(key, childVal, vm); + } + if (!parentVal) { return childVal } + var ret = Object.create(null); + extend(ret, parentVal); + if (childVal) { extend(ret, childVal); } + return ret +}; +strats.provide = mergeDataOrFn; + +/** + * Default strategy. + */ +var defaultStrat = function (parentVal, childVal) { + return childVal === undefined + ? parentVal + : childVal +}; + +/** + * Validate component names + */ +function checkComponents (options) { + for (var key in options.components) { + var lower = key.toLowerCase(); + if (isBuiltInTag(lower) || config.isReservedTag(lower)) { + warn( + 'Do not use built-in or reserved HTML elements as component ' + + 'id: ' + key + ); + } + } +} + +/** + * Ensure all props option syntax are normalized into the + * Object-based format. + */ +function normalizeProps (options, vm) { + var props = options.props; + if (!props) { return } + var res = {}; + var i, val, name; + if (Array.isArray(props)) { + i = props.length; + while (i--) { + val = props[i]; + if (typeof val === 'string') { + name = camelize(val); + res[name] = { type: null }; + } else if (true) { + warn('props must be strings when using array syntax.'); + } + } + } else if (isPlainObject(props)) { + for (var key in props) { + val = props[key]; + name = camelize(key); + res[name] = isPlainObject(val) + ? val + : { type: val }; + } + } else if (true) { + warn( + "Invalid value for option \"props\": expected an Array or an Object, " + + "but got " + (toRawType(props)) + ".", + vm + ); + } + options.props = res; +} + +/** + * Normalize all injections into Object-based format + */ +function normalizeInject (options, vm) { + var inject = options.inject; + var normalized = options.inject = {}; + if (Array.isArray(inject)) { + for (var i = 0; i < inject.length; i++) { + normalized[inject[i]] = { from: inject[i] }; + } + } else if (isPlainObject(inject)) { + for (var key in inject) { + var val = inject[key]; + normalized[key] = isPlainObject(val) + ? extend({ from: key }, val) + : { from: val }; + } + } else if ("development" !== 'production' && inject) { + warn( + "Invalid value for option \"inject\": expected an Array or an Object, " + + "but got " + (toRawType(inject)) + ".", + vm + ); + } +} + +/** + * Normalize raw function directives into object format. + */ +function normalizeDirectives (options) { + var dirs = options.directives; + if (dirs) { + for (var key in dirs) { + var def = dirs[key]; + if (typeof def === 'function') { + dirs[key] = { bind: def, update: def }; + } + } + } +} + +function assertObjectType (name, value, vm) { + if (!isPlainObject(value)) { + warn( + "Invalid value for option \"" + name + "\": expected an Object, " + + "but got " + (toRawType(value)) + ".", + vm + ); + } +} + +/** + * Merge two option objects into a new one. + * Core utility used in both instantiation and inheritance. + */ +function mergeOptions ( + parent, + child, + vm +) { + if (true) { + checkComponents(child); + } + + if (typeof child === 'function') { + child = child.options; + } + + normalizeProps(child, vm); + normalizeInject(child, vm); + normalizeDirectives(child); + var extendsFrom = child.extends; + if (extendsFrom) { + parent = mergeOptions(parent, extendsFrom, vm); + } + if (child.mixins) { + for (var i = 0, l = child.mixins.length; i < l; i++) { + parent = mergeOptions(parent, child.mixins[i], vm); + } + } + var options = {}; + var key; + for (key in parent) { + mergeField(key); + } + for (key in child) { + if (!hasOwn(parent, key)) { + mergeField(key); + } + } + function mergeField (key) { + var strat = strats[key] || defaultStrat; + options[key] = strat(parent[key], child[key], vm, key); + } + return options +} + +/** + * Resolve an asset. + * This function is used because child instances need access + * to assets defined in its ancestor chain. + */ +function resolveAsset ( + options, + type, + id, + warnMissing +) { + /* istanbul ignore if */ + if (typeof id !== 'string') { + return + } + var assets = options[type]; + // check local registration variations first + if (hasOwn(assets, id)) { return assets[id] } + var camelizedId = camelize(id); + if (hasOwn(assets, camelizedId)) { return assets[camelizedId] } + var PascalCaseId = capitalize(camelizedId); + if (hasOwn(assets, PascalCaseId)) { return assets[PascalCaseId] } + // fallback to prototype chain + var res = assets[id] || assets[camelizedId] || assets[PascalCaseId]; + if ("development" !== 'production' && warnMissing && !res) { + warn( + 'Failed to resolve ' + type.slice(0, -1) + ': ' + id, + options + ); + } + return res +} + +/* */ + +function validateProp ( + key, + propOptions, + propsData, + vm +) { + var prop = propOptions[key]; + var absent = !hasOwn(propsData, key); + var value = propsData[key]; + // handle boolean props + if (isType(Boolean, prop.type)) { + if (absent && !hasOwn(prop, 'default')) { + value = false; + } else if (!isType(String, prop.type) && (value === '' || value === hyphenate(key))) { + value = true; + } + } + // check default value + if (value === undefined) { + value = getPropDefaultValue(vm, prop, key); + // since the default value is a fresh copy, + // make sure to observe it. + var prevShouldConvert = observerState.shouldConvert; + observerState.shouldConvert = true; + observe(value); + observerState.shouldConvert = prevShouldConvert; + } + if (true) { + assertProp(prop, key, value, vm, absent); + } + return value +} + +/** + * Get the default value of a prop. + */ +function getPropDefaultValue (vm, prop, key) { + // no default, return undefined + if (!hasOwn(prop, 'default')) { + return undefined + } + var def = prop.default; + // warn against non-factory defaults for Object & Array + if ("development" !== 'production' && isObject(def)) { + warn( + 'Invalid default value for prop "' + key + '": ' + + 'Props with type Object/Array must use a factory function ' + + 'to return the default value.', + vm + ); + } + // the raw prop value was also undefined from previous render, + // return previous default value to avoid unnecessary watcher trigger + if (vm && vm.$options.propsData && + vm.$options.propsData[key] === undefined && + vm._props[key] !== undefined + ) { + return vm._props[key] + } + // call factory function for non-Function types + // a value is Function if its prototype is function even across different execution context + return typeof def === 'function' && getType(prop.type) !== 'Function' + ? def.call(vm) + : def +} + +/** + * Assert whether a prop is valid. + */ +function assertProp ( + prop, + name, + value, + vm, + absent +) { + if (prop.required && absent) { + warn( + 'Missing required prop: "' + name + '"', + vm + ); + return + } + if (value == null && !prop.required) { + return + } + var type = prop.type; + var valid = !type || type === true; + var expectedTypes = []; + if (type) { + if (!Array.isArray(type)) { + type = [type]; + } + for (var i = 0; i < type.length && !valid; i++) { + var assertedType = assertType(value, type[i]); + expectedTypes.push(assertedType.expectedType || ''); + valid = assertedType.valid; + } + } + if (!valid) { + warn( + "Invalid prop: type check failed for prop \"" + name + "\"." + + " Expected " + (expectedTypes.map(capitalize).join(', ')) + + ", got " + (toRawType(value)) + ".", + vm + ); + return + } + var validator = prop.validator; + if (validator) { + if (!validator(value)) { + warn( + 'Invalid prop: custom validator check failed for prop "' + name + '".', + vm + ); + } + } +} + +var simpleCheckRE = /^(String|Number|Boolean|Function|Symbol)$/; + +function assertType (value, type) { + var valid; + var expectedType = getType(type); + if (simpleCheckRE.test(expectedType)) { + var t = typeof value; + valid = t === expectedType.toLowerCase(); + // for primitive wrapper objects + if (!valid && t === 'object') { + valid = value instanceof type; + } + } else if (expectedType === 'Object') { + valid = isPlainObject(value); + } else if (expectedType === 'Array') { + valid = Array.isArray(value); + } else { + valid = value instanceof type; + } + return { + valid: valid, + expectedType: expectedType + } +} + +/** + * Use function string name to check built-in types, + * because a simple equality check will fail when running + * across different vms / iframes. + */ +function getType (fn) { + var match = fn && fn.toString().match(/^\s*function (\w+)/); + return match ? match[1] : '' +} + +function isType (type, fn) { + if (!Array.isArray(fn)) { + return getType(fn) === getType(type) + } + for (var i = 0, len = fn.length; i < len; i++) { + if (getType(fn[i]) === getType(type)) { + return true + } + } + /* istanbul ignore next */ + return false +} + +/* */ + +function handleError (err, vm, info) { + if (vm) { + var cur = vm; + while ((cur = cur.$parent)) { + var hooks = cur.$options.errorCaptured; + if (hooks) { + for (var i = 0; i < hooks.length; i++) { + try { + var capture = hooks[i].call(cur, err, vm, info) === false; + if (capture) { return } + } catch (e) { + globalHandleError(e, cur, 'errorCaptured hook'); + } + } + } + } + } + globalHandleError(err, vm, info); +} + +function globalHandleError (err, vm, info) { + if (config.errorHandler) { + try { + return config.errorHandler.call(null, err, vm, info) + } catch (e) { + logError(e, null, 'config.errorHandler'); + } + } + logError(err, vm, info); +} + +function logError (err, vm, info) { + if (true) { + warn(("Error in " + info + ": \"" + (err.toString()) + "\""), vm); + } + /* istanbul ignore else */ + if ((inBrowser || inWeex) && typeof console !== 'undefined') { + console.error(err); + } else { + throw err + } +} + +/* */ +/* globals MessageChannel */ + +var callbacks = []; +var pending = false; + +function flushCallbacks () { + pending = false; + var copies = callbacks.slice(0); + callbacks.length = 0; + for (var i = 0; i < copies.length; i++) { + copies[i](); + } +} + +// Here we have async deferring wrappers using both micro and macro tasks. +// In < 2.4 we used micro tasks everywhere, but there are some scenarios where +// micro tasks have too high a priority and fires in between supposedly +// sequential events (e.g. #4521, #6690) or even between bubbling of the same +// event (#6566). However, using macro tasks everywhere also has subtle problems +// when state is changed right before repaint (e.g. #6813, out-in transitions). +// Here we use micro task by default, but expose a way to force macro task when +// needed (e.g. in event handlers attached by v-on). +var microTimerFunc; +var macroTimerFunc; +var useMacroTask = false; + +// Determine (macro) Task defer implementation. +// Technically setImmediate should be the ideal choice, but it's only available +// in IE. The only polyfill that consistently queues the callback after all DOM +// events triggered in the same loop is by using MessageChannel. +/* istanbul ignore if */ +if (typeof setImmediate !== 'undefined' && isNative(setImmediate)) { + macroTimerFunc = function () { + setImmediate(flushCallbacks); + }; +} else if (typeof MessageChannel !== 'undefined' && ( + isNative(MessageChannel) || + // PhantomJS + MessageChannel.toString() === '[object MessageChannelConstructor]' +)) { + var channel = new MessageChannel(); + var port = channel.port2; + channel.port1.onmessage = flushCallbacks; + macroTimerFunc = function () { + port.postMessage(1); + }; +} else { + /* istanbul ignore next */ + macroTimerFunc = function () { + setTimeout(flushCallbacks, 0); + }; +} + +// Determine MicroTask defer implementation. +/* istanbul ignore next, $flow-disable-line */ +if (typeof Promise !== 'undefined' && isNative(Promise)) { + var p = Promise.resolve(); + microTimerFunc = function () { + p.then(flushCallbacks); + // in problematic UIWebViews, Promise.then doesn't completely break, but + // it can get stuck in a weird state where callbacks are pushed into the + // microtask queue but the queue isn't being flushed, until the browser + // needs to do some other work, e.g. handle a timer. Therefore we can + // "force" the microtask queue to be flushed by adding an empty timer. + if (isIOS) { setTimeout(noop); } + }; +} else { + // fallback to macro + microTimerFunc = macroTimerFunc; +} + +/** + * Wrap a function so that if any code inside triggers state change, + * the changes are queued using a Task instead of a MicroTask. + */ +function withMacroTask (fn) { + return fn._withTask || (fn._withTask = function () { + useMacroTask = true; + var res = fn.apply(null, arguments); + useMacroTask = false; + return res + }) +} + +function nextTick (cb, ctx) { + var _resolve; + callbacks.push(function () { + if (cb) { + try { + cb.call(ctx); + } catch (e) { + handleError(e, ctx, 'nextTick'); + } + } else if (_resolve) { + _resolve(ctx); + } + }); + if (!pending) { + pending = true; + if (useMacroTask) { + macroTimerFunc(); + } else { + microTimerFunc(); + } + } + // $flow-disable-line + if (!cb && typeof Promise !== 'undefined') { + return new Promise(function (resolve) { + _resolve = resolve; + }) + } +} + +/* */ + +var mark; +var measure; + +if (true) { + var perf = inBrowser && window.performance; + /* istanbul ignore if */ + if ( + perf && + perf.mark && + perf.measure && + perf.clearMarks && + perf.clearMeasures + ) { + mark = function (tag) { return perf.mark(tag); }; + measure = function (name, startTag, endTag) { + perf.measure(name, startTag, endTag); + perf.clearMarks(startTag); + perf.clearMarks(endTag); + perf.clearMeasures(name); + }; + } +} + +/* not type checking this file because flow doesn't play well with Proxy */ + +var initProxy; + +if (true) { + var allowedGlobals = makeMap( + 'Infinity,undefined,NaN,isFinite,isNaN,' + + 'parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,' + + 'Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,' + + 'require' // for Webpack/Browserify + ); + + var warnNonPresent = function (target, key) { + warn( + "Property or method \"" + key + "\" is not defined on the instance but " + + 'referenced during render. Make sure that this property is reactive, ' + + 'either in the data option, or for class-based components, by ' + + 'initializing the property. ' + + 'See: https://vuejs.org/v2/guide/reactivity.html#Declaring-Reactive-Properties.', + target + ); + }; + + var hasProxy = + typeof Proxy !== 'undefined' && + Proxy.toString().match(/native code/); + + if (hasProxy) { + var isBuiltInModifier = makeMap('stop,prevent,self,ctrl,shift,alt,meta,exact'); + config.keyCodes = new Proxy(config.keyCodes, { + set: function set (target, key, value) { + if (isBuiltInModifier(key)) { + warn(("Avoid overwriting built-in modifier in config.keyCodes: ." + key)); + return false + } else { + target[key] = value; + return true + } + } + }); + } + + var hasHandler = { + has: function has (target, key) { + var has = key in target; + var isAllowed = allowedGlobals(key) || key.charAt(0) === '_'; + if (!has && !isAllowed) { + warnNonPresent(target, key); + } + return has || !isAllowed + } + }; + + var getHandler = { + get: function get (target, key) { + if (typeof key === 'string' && !(key in target)) { + warnNonPresent(target, key); + } + return target[key] + } + }; + + initProxy = function initProxy (vm) { + if (hasProxy) { + // determine which proxy handler to use + var options = vm.$options; + var handlers = options.render && options.render._withStripped + ? getHandler + : hasHandler; + vm._renderProxy = new Proxy(vm, handlers); + } else { + vm._renderProxy = vm; + } + }; +} + +/* */ + +var seenObjects = new _Set(); + +/** + * Recursively traverse an object to evoke all converted + * getters, so that every nested property inside the object + * is collected as a "deep" dependency. + */ +function traverse (val) { + _traverse(val, seenObjects); + seenObjects.clear(); +} + +function _traverse (val, seen) { + var i, keys; + var isA = Array.isArray(val); + if ((!isA && !isObject(val)) || Object.isFrozen(val)) { + return + } + if (val.__ob__) { + var depId = val.__ob__.dep.id; + if (seen.has(depId)) { + return + } + seen.add(depId); + } + if (isA) { + i = val.length; + while (i--) { _traverse(val[i], seen); } + } else { + keys = Object.keys(val); + i = keys.length; + while (i--) { _traverse(val[keys[i]], seen); } + } +} + +/* */ + +var normalizeEvent = cached(function (name) { + var passive = name.charAt(0) === '&'; + name = passive ? name.slice(1) : name; + var once$$1 = name.charAt(0) === '~'; // Prefixed last, checked first + name = once$$1 ? name.slice(1) : name; + var capture = name.charAt(0) === '!'; + name = capture ? name.slice(1) : name; + return { + name: name, + once: once$$1, + capture: capture, + passive: passive + } +}); + +function createFnInvoker (fns) { + function invoker () { + var arguments$1 = arguments; + + var fns = invoker.fns; + if (Array.isArray(fns)) { + var cloned = fns.slice(); + for (var i = 0; i < cloned.length; i++) { + cloned[i].apply(null, arguments$1); + } + } else { + // return handler return value for single handlers + return fns.apply(null, arguments) + } + } + invoker.fns = fns; + return invoker +} + +function updateListeners ( + on, + oldOn, + add, + remove$$1, + vm +) { + var name, cur, old, event; + for (name in on) { + cur = on[name]; + old = oldOn[name]; + event = normalizeEvent(name); + if (isUndef(cur)) { + "development" !== 'production' && warn( + "Invalid handler for event \"" + (event.name) + "\": got " + String(cur), + vm + ); + } else if (isUndef(old)) { + if (isUndef(cur.fns)) { + cur = on[name] = createFnInvoker(cur); + } + add(event.name, cur, event.once, event.capture, event.passive); + } else if (cur !== old) { + old.fns = cur; + on[name] = old; + } + } + for (name in oldOn) { + if (isUndef(on[name])) { + event = normalizeEvent(name); + remove$$1(event.name, oldOn[name], event.capture); + } + } +} + +/* */ + +function mergeVNodeHook (def, hookKey, hook) { + if (def instanceof VNode) { + def = def.data.hook || (def.data.hook = {}); + } + var invoker; + var oldHook = def[hookKey]; + + function wrappedHook () { + hook.apply(this, arguments); + // important: remove merged hook to ensure it's called only once + // and prevent memory leak + remove(invoker.fns, wrappedHook); + } + + if (isUndef(oldHook)) { + // no existing hook + invoker = createFnInvoker([wrappedHook]); + } else { + /* istanbul ignore if */ + if (isDef(oldHook.fns) && isTrue(oldHook.merged)) { + // already a merged invoker + invoker = oldHook; + invoker.fns.push(wrappedHook); + } else { + // existing plain hook + invoker = createFnInvoker([oldHook, wrappedHook]); + } + } + + invoker.merged = true; + def[hookKey] = invoker; +} + +/* */ + +function extractPropsFromVNodeData ( + data, + Ctor, + tag +) { + // we are only extracting raw values here. + // validation and default values are handled in the child + // component itself. + var propOptions = Ctor.options.props; + if (isUndef(propOptions)) { + return + } + var res = {}; + var attrs = data.attrs; + var props = data.props; + if (isDef(attrs) || isDef(props)) { + for (var key in propOptions) { + var altKey = hyphenate(key); + if (true) { + var keyInLowerCase = key.toLowerCase(); + if ( + key !== keyInLowerCase && + attrs && hasOwn(attrs, keyInLowerCase) + ) { + tip( + "Prop \"" + keyInLowerCase + "\" is passed to component " + + (formatComponentName(tag || Ctor)) + ", but the declared prop name is" + + " \"" + key + "\". " + + "Note that HTML attributes are case-insensitive and camelCased " + + "props need to use their kebab-case equivalents when using in-DOM " + + "templates. You should probably use \"" + altKey + "\" instead of \"" + key + "\"." + ); + } + } + checkProp(res, props, key, altKey, true) || + checkProp(res, attrs, key, altKey, false); + } + } + return res +} + +function checkProp ( + res, + hash, + key, + altKey, + preserve +) { + if (isDef(hash)) { + if (hasOwn(hash, key)) { + res[key] = hash[key]; + if (!preserve) { + delete hash[key]; + } + return true + } else if (hasOwn(hash, altKey)) { + res[key] = hash[altKey]; + if (!preserve) { + delete hash[altKey]; + } + return true + } + } + return false +} + +/* */ + +// The template compiler attempts to minimize the need for normalization by +// statically analyzing the template at compile time. +// +// For plain HTML markup, normalization can be completely skipped because the +// generated render function is guaranteed to return Array. There are +// two cases where extra normalization is needed: + +// 1. When the children contains components - because a functional component +// may return an Array instead of a single root. In this case, just a simple +// normalization is needed - if any child is an Array, we flatten the whole +// thing with Array.prototype.concat. It is guaranteed to be only 1-level deep +// because functional components already normalize their own children. +function simpleNormalizeChildren (children) { + for (var i = 0; i < children.length; i++) { + if (Array.isArray(children[i])) { + return Array.prototype.concat.apply([], children) + } + } + return children +} + +// 2. When the children contains constructs that always generated nested Arrays, +// e.g.