diff --git a/docs/README.md b/docs/README.md new file mode 100644 index 00000000..d1f7699f --- /dev/null +++ b/docs/README.md @@ -0,0 +1,262 @@ +--- +search: english +--- + +# vue-chartjs +**vue-chartjs** is a wrapper for [Chart.js](https://github.com/chartjs/Chart.js) in vue. You can easily create reuseable chart components. + +## Introduction +`vue-chartjs` let you use chart.js without much hassle inside vue. It's perfect for people who need simple charts up and running as fast as possible. + +It abstracts the basic logic but exposes the chart.js object to give you the most possible flexibility. + +## Installation +If you are working with Vue.js 2+ simple run: + +`yarn add vue-chartjs -S` + +If you are using vue 1.x please use the `legancy` tag. However the vue 1 version is not maintained anymore. + +`yarn add vue-chartjs@legacy -S` + +## Quick Start + +You need to import the base chart and extend it. This gives much more flexibility when working with different data. +You can encapsulate your components and use props to pass data or you can directly imput them inside the component. However this way, your component is not reuseable. + +You can import the whole package or each module individual. + +```javascript +// CommitChart.js +import { Bar } from 'vue-chartjs' + +export default Bar.extend({ + mounted () { + // Overwriting base render method with actual data. + this.renderChart(data, options) + } +}) +``` + +You can pass the `renderChart()` method, two arguments: + +- Data object +- Options object + +### Data object + +The data object looks like this: + +```javascript +{ + labels: ['January', 'February'], + datasets: [ + { + label: 'GitHub Commits', + backgroundColor: '#f87979', + data: [40, 20] + } + ] +} +``` + +For more information take a look at the [Chart.js](http://www.chartjs.org/docs/#chart-configuration-chart-data) docs. + +## Props + +There are some basic props defined in the BaseCharts. Because you `extend()` them, they are *invisible*, but you can overwrite them: + +| Prop | Description | +|---|---| +| width | chart width | +| height | chart height | +| id | id of the canvas | + + +## Examples + +Here are some exmaples + +### Chart with props + +You can create the data and options props to pass data to the chart. + +```javascript +// LineChart.js +import { Line } from 'vue-chartjs' + +export default Line.extend({ + props: ['data', 'options'], + mounted () { + this.renderChart(this.data, this.options) + } +}) +``` + +After you add your component you can use it: + +```html + +``` + +If you want to overwrite the width and height: + +```html + + +``` + +

+ Please keep in mind, that you have to set `responsive: false` to be able to set a fix `width` and `height. +

+ +### Chart with local data + +```javascript +import {Bar} from 'vue-chartjs' + +export default Bar.extend({ + data () { + return { + datacollection: { + labels: ['January', 'February'], + datasets: [ + { + label: 'Data One', + backgroundColor: '#f87979', + data: [40, 20] + } + ] + } + } + } + mounted () { + this.renderChart(this.datacollection, {responsive: true, maintainAspectRatio: false}) + } +}) +``` + +### Reusebale Components + +If you want to keep your chart components reuseable, it's the best to add a wrapper to them. This way the chart component is only responsable for the pure data representation and the wrapper component for the logic behind it. There are many different usecases and it is different if you're running a Single Page Application or integrate it in for example laravel. + +## Reactive Data + +Chart.js does not provide a live update if you change the datasets. However `vue-chartjs` provides two mixins to achive this. + +- `reactiveProp` +- `reactiveData` + +Both mixins to actually the same. Most of the time you will use `reactiveProp`. It extends the logic of your chart component and automatically creates a prop names `chartData` and add a `vue watch` on this prop. On data change, it will either call `update()` if only the data inside the datasets has changed or `renderChart()` if new datasets were added. + +`reactiveData` simply creates a local chartData variable which is not a prop! And add a watcher. +This is only usefull, if you need single purpose charts and make an API call inside your chart component. + +```javascript +data () { + return { + chartData: null + } +} +``` + +### Example + +**LineChart.js** +```javascript +import { Line, mixins } from 'vue-chartjs' +const { reactiveProp } = mixins + +export default Line.extend({ + mixins: [reactiveProp], + props: ['options'], + mounted () { + // this.chartData is created in the mixin + this.renderChart(this.chartData, this.options) + } +}) +``` + +**RandomChart.vue** + +```javascript + + + + + +``` + +## Chart.js object + +Sometimes you need more control over chart.js. Thats why you can access the chart.js instance over `this._chart` + +## Available Charts + +### Bar Chart +

+ The bar chart has an **optional** third parameter, which is the type. + The default type is `bar` but you can pass `horizontalBar` if you want horizontal bars. + + `renderChart (data, options, type) {}` + +

+ +### Line Chart +### Doughnut +### Pie +### Radar +### Polar Area +### Bubble diff --git a/docs/config.js b/docs/config.js new file mode 100644 index 00000000..7a2f229a --- /dev/null +++ b/docs/config.js @@ -0,0 +1,3 @@ +self.$config = { + // config... +} diff --git a/docs/dist/vue-chartjs.js b/docs/dist/vue-chartjs.js deleted file mode 100644 index 9b17711c..00000000 --- a/docs/dist/vue-chartjs.js +++ /dev/null @@ -1,22 +0,0 @@ -!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define([],t):"object"==typeof exports?exports.VueChartJs=t():e.VueChartJs=t()}(this,function(){return function(e){function t(a){if(n[a])return n[a].exports;var r=n[a]={exports:{},id:a,loaded:!1};return e[a].call(r.exports,r,r.exports,t),r.loaded=!0,r.exports}var n={};return t.m=e,t.c=n,t.p="/",t(0)}([function(e,t,n){"use strict";function a(e){return e&&e.__esModule?e:{default:e}}var r=n(6),i=a(r),o=n(401),s=a(o);new i.default({components:{App:s.default}}).$mount("#app")},function(e,t,n){(function(e){!function(t,n){e.exports=n()}(this,function(){"use strict";function t(){return ga.apply(null,arguments)}function a(e){ga=e}function r(e){return e instanceof Array||"[object Array]"===Object.prototype.toString.call(e)}function i(e){return null!=e&&"[object Object]"===Object.prototype.toString.call(e)}function o(e){var t;for(t in e)return!1;return!0}function s(e){return"number"==typeof e||"[object Number]"===Object.prototype.toString.call(e)}function d(e){return e instanceof Date||"[object Date]"===Object.prototype.toString.call(e)}function u(e,t){var n,a=[];for(n=0;n0)for(n in Ma)a=Ma[n],r=t[a],g(r)||(e[a]=r);return e}function y(e){v(this,e),this._d=new Date(null!=e._d?e._d.getTime():NaN),this.isValid()||(this._d=new Date(NaN)),ba===!1&&(ba=!0,t.updateOffset(this),ba=!1)}function M(e){return e instanceof y||null!=e&&null!=e._isAMomentObject}function b(e){return e<0?Math.ceil(e)||0:Math.floor(e)}function L(e){var t=+e,n=0;return 0!==t&&isFinite(t)&&(n=b(t)),n}function k(e,t,n){var a,r=Math.min(e.length,t.length),i=Math.abs(e.length-t.length),o=0;for(a=0;a0?"future":"past"];return D(n)?n(t):n.replace(/%s/i,t)}function I(e,t){var n=e.toLowerCase();Ha[n]=Ha[n+"s"]=Ha[t]=e}function W(e){return"string"==typeof e?Ha[e]||Ha[e.toLowerCase()]:void 0}function E(e){var t,n,a={};for(n in e)l(e,n)&&(t=W(n),t&&(a[t]=e[n]));return a}function R(e,t){Ca[e]=t}function z(e){var t=[];for(var n in e)t.push({unit:n,priority:Ca[n]});return t.sort(function(e,t){return e.priority-t.priority}),t}function N(e,n){return function(a){return null!=a?(B(this,e,a),t.updateOffset(this,n),this):V(this,e)}}function V(e,t){return e.isValid()?e._d["get"+(e._isUTC?"UTC":"")+t]():NaN}function B(e,t,n){e.isValid()&&e._d["set"+(e._isUTC?"UTC":"")+t](n)}function $(e){return e=W(e),D(this[e])?this[e]():this}function J(e,t){if("object"==typeof e){e=E(e);for(var n=z(e),a=0;a=0;return(i?n?"+":"":"-")+Math.pow(10,Math.max(0,r)).toString().substr(1)+a}function q(e,t,n,a){var r=a;"string"==typeof a&&(r=function(){return this[a]()}),e&&(Ia[e]=r),t&&(Ia[t[0]]=function(){return U(r.apply(this,arguments),t[1],t[2])}),n&&(Ia[n]=function(){return this.localeData().ordinal(r.apply(this,arguments),e)})}function G(e){return e.match(/\[[\s\S]/)?e.replace(/^\[|\]$/g,""):e.replace(/\\/g,"")}function K(e){var t,n,a=e.match(Pa);for(t=0,n=a.length;t=0&&Oa.test(e);)e=e.replace(Oa,n),Oa.lastIndex=0,a-=1;return e}function Q(e,t,n){tr[e]=D(t)?t:function(e,a){return e&&n?n:t}}function ee(e,t){return l(tr,e)?tr[e](t._strict,t._locale):new RegExp(te(e))}function te(e){return ne(e.replace("\\","").replace(/\\(\[)|\\(\])|\[([^\]\[]*)\]|\\(.)/g,function(e,t,n,a,r){return t||n||a||r}))}function ne(e){return e.replace(/[-\/\\^$*+?.()|[\]{}]/g,"\\$&")}function ae(e,t){var n,a=t;for("string"==typeof e&&(e=[e]),s(t)&&(a=function(e,n){n[t]=L(e)}),n=0;n=0&&isFinite(s.getFullYear())&&s.setFullYear(e),s}function be(e){var t=new Date(Date.UTC.apply(null,arguments));return e<100&&e>=0&&isFinite(t.getUTCFullYear())&&t.setUTCFullYear(e),t}function Le(e,t,n){var a=7+t-n,r=(7+be(e,0,a).getUTCDay()-t)%7;return-r+a-1}function ke(e,t,n,a,r){var i,o,s=(7+n-a)%7,d=Le(e,a,r),u=1+7*(t-1)+s+d;return u<=0?(i=e-1,o=ge(i)+u):u>ge(e)?(i=e+1,o=u-ge(e)):(i=e,o=u),{year:i,dayOfYear:o}}function xe(e,t,n){var a,r,i=Le(e.year(),t,n),o=Math.floor((e.dayOfYear()-i-1)/7)+1;return o<1?(r=e.year()-1,a=o+Ye(r,t,n)):o>Ye(e.year(),t,n)?(a=o-Ye(e.year(),t,n),r=e.year()+1):(r=e.year(),a=o),{week:a,year:r}}function Ye(e,t,n){var a=Le(e,t,n),r=Le(e+1,t,n);return(ge(e)-a+r)/7}function we(e){return xe(e,this._week.dow,this._week.doy).week}function De(){return this._week.dow}function Te(){return this._week.doy}function Se(e){var t=this.localeData().week(this);return null==e?t:this.add(7*(e-t),"d")}function je(e){var t=xe(this,1,4).week;return null==e?t:this.add(7*(e-t),"d")}function Ae(e,t){return"string"!=typeof e?e:isNaN(e)?(e=t.weekdaysParse(e),"number"==typeof e?e:null):parseInt(e,10)}function He(e,t){return"string"==typeof e?t.weekdaysParse(e)%7||7:isNaN(e)?null:e}function Ce(e,t){return e?r(this._weekdays)?this._weekdays[e.day()]:this._weekdays[this._weekdays.isFormat.test(t)?"format":"standalone"][e.day()]:this._weekdays}function Pe(e){return e?this._weekdaysShort[e.day()]:this._weekdaysShort}function Oe(e){return e?this._weekdaysMin[e.day()]:this._weekdaysMin}function Fe(e,t,n){var a,r,i,o=e.toLocaleLowerCase();if(!this._weekdaysParse)for(this._weekdaysParse=[],this._shortWeekdaysParse=[],this._minWeekdaysParse=[],a=0;a<7;++a)i=h([2e3,1]).day(a),this._minWeekdaysParse[a]=this.weekdaysMin(i,"").toLocaleLowerCase(),this._shortWeekdaysParse[a]=this.weekdaysShort(i,"").toLocaleLowerCase(),this._weekdaysParse[a]=this.weekdays(i,"").toLocaleLowerCase();return n?"dddd"===t?(r=hr.call(this._weekdaysParse,o),r!==-1?r:null):"ddd"===t?(r=hr.call(this._shortWeekdaysParse,o),r!==-1?r:null):(r=hr.call(this._minWeekdaysParse,o),r!==-1?r:null):"dddd"===t?(r=hr.call(this._weekdaysParse,o),r!==-1?r:(r=hr.call(this._shortWeekdaysParse,o),r!==-1?r:(r=hr.call(this._minWeekdaysParse,o),r!==-1?r:null))):"ddd"===t?(r=hr.call(this._shortWeekdaysParse,o),r!==-1?r:(r=hr.call(this._weekdaysParse,o),r!==-1?r:(r=hr.call(this._minWeekdaysParse,o),r!==-1?r:null))):(r=hr.call(this._minWeekdaysParse,o),r!==-1?r:(r=hr.call(this._weekdaysParse,o),r!==-1?r:(r=hr.call(this._shortWeekdaysParse,o),r!==-1?r:null)))}function Ie(e,t,n){var a,r,i;if(this._weekdaysParseExact)return Fe.call(this,e,t,n);for(this._weekdaysParse||(this._weekdaysParse=[],this._minWeekdaysParse=[],this._shortWeekdaysParse=[],this._fullWeekdaysParse=[]),a=0;a<7;a++){if(r=h([2e3,1]).day(a),n&&!this._fullWeekdaysParse[a]&&(this._fullWeekdaysParse[a]=new RegExp("^"+this.weekdays(r,"").replace(".",".?")+"$","i"),this._shortWeekdaysParse[a]=new RegExp("^"+this.weekdaysShort(r,"").replace(".",".?")+"$","i"),this._minWeekdaysParse[a]=new RegExp("^"+this.weekdaysMin(r,"").replace(".",".?")+"$","i")),this._weekdaysParse[a]||(i="^"+this.weekdays(r,"")+"|^"+this.weekdaysShort(r,"")+"|^"+this.weekdaysMin(r,""),this._weekdaysParse[a]=new RegExp(i.replace(".",""),"i")),n&&"dddd"===t&&this._fullWeekdaysParse[a].test(e))return a;if(n&&"ddd"===t&&this._shortWeekdaysParse[a].test(e))return a;if(n&&"dd"===t&&this._minWeekdaysParse[a].test(e))return a;if(!n&&this._weekdaysParse[a].test(e))return a}}function We(e){if(!this.isValid())return null!=e?this:NaN;var t=this._isUTC?this._d.getUTCDay():this._d.getDay();return null!=e?(e=Ae(e,this.localeData()),this.add(e-t,"d")):t}function Ee(e){if(!this.isValid())return null!=e?this:NaN;var t=(this.day()+7-this.localeData()._week.dow)%7;return null==e?t:this.add(e-t,"d")}function Re(e){if(!this.isValid())return null!=e?this:NaN;if(null!=e){var t=He(e,this.localeData());return this.day(this.day()%7?t:t-7)}return this.day()||7}function ze(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysStrictRegex:this._weekdaysRegex):(l(this,"_weekdaysRegex")||(this._weekdaysRegex=kr),this._weekdaysStrictRegex&&e?this._weekdaysStrictRegex:this._weekdaysRegex)}function Ne(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex):(l(this,"_weekdaysShortRegex")||(this._weekdaysShortRegex=xr),this._weekdaysShortStrictRegex&&e?this._weekdaysShortStrictRegex:this._weekdaysShortRegex)}function Ve(e){return this._weekdaysParseExact?(l(this,"_weekdaysRegex")||Be.call(this),e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex):(l(this,"_weekdaysMinRegex")||(this._weekdaysMinRegex=Yr),this._weekdaysMinStrictRegex&&e?this._weekdaysMinStrictRegex:this._weekdaysMinRegex)}function Be(){function e(e,t){return t.length-e.length}var t,n,a,r,i,o=[],s=[],d=[],u=[];for(t=0;t<7;t++)n=h([2e3,1]).day(t),a=this.weekdaysMin(n,""),r=this.weekdaysShort(n,""),i=this.weekdays(n,""),o.push(a),s.push(r),d.push(i),u.push(a),u.push(r),u.push(i);for(o.sort(e),s.sort(e),d.sort(e),u.sort(e),t=0;t<7;t++)s[t]=ne(s[t]),d[t]=ne(d[t]),u[t]=ne(u[t]);this._weekdaysRegex=new RegExp("^("+u.join("|")+")","i"),this._weekdaysShortRegex=this._weekdaysRegex,this._weekdaysMinRegex=this._weekdaysRegex,this._weekdaysStrictRegex=new RegExp("^("+d.join("|")+")","i"),this._weekdaysShortStrictRegex=new RegExp("^("+s.join("|")+")","i"),this._weekdaysMinStrictRegex=new RegExp("^("+o.join("|")+")","i")}function $e(){return this.hours()%12||12}function Je(){return this.hours()||24}function Ue(e,t){q(e,0,0,function(){return this.localeData().meridiem(this.hours(),this.minutes(),t)})}function qe(e,t){return t._meridiemParse}function Ge(e){return"p"===(e+"").toLowerCase().charAt(0)}function Ke(e,t,n){return e>11?n?"pm":"PM":n?"am":"AM"}function Ze(e){return e?e.toLowerCase().replace("_","-"):e}function Xe(e){for(var t,n,a,r,i=0;i0;){if(a=Qe(r.slice(0,t).join("-")))return a;if(n&&n.length>=t&&k(r,n,!0)>=t-1)break;t--}i++}return null}function Qe(t){var a=null;if(!jr[t]&&"undefined"!=typeof e&&e&&e.exports)try{a=wr._abbr,n(400)("./"+t),et(a)}catch(e){}return jr[t]}function et(e,t){var n;return e&&(n=g(t)?at(e):tt(e,t),n&&(wr=n)),wr._abbr}function tt(e,t){if(null!==t){var n=Sr;if(t.abbr=e,null!=jr[e])w("defineLocaleOverride","use moment.updateLocale(localeName, config) to change an existing locale. moment.defineLocale(localeName, config) should only be used for creating a new locale See http://momentjs.com/guides/#/warnings/define-locale/ for more info."),n=jr[e]._config;else if(null!=t.parentLocale){if(null==jr[t.parentLocale])return Ar[t.parentLocale]||(Ar[t.parentLocale]=[]),Ar[t.parentLocale].push({name:e,config:t}),null;n=jr[t.parentLocale]._config}return jr[e]=new j(S(n,t)),Ar[e]&&Ar[e].forEach(function(e){tt(e.name,e.config)}),et(e),jr[e]}return delete jr[e],null}function nt(e,t){if(null!=t){var n,a=Sr;null!=jr[e]&&(a=jr[e]._config),t=S(a,t),n=new j(t),n.parentLocale=jr[e],jr[e]=n,et(e)}else null!=jr[e]&&(null!=jr[e].parentLocale?jr[e]=jr[e].parentLocale:null!=jr[e]&&delete jr[e]);return jr[e]}function at(e){var t;if(e&&e._locale&&e._locale._abbr&&(e=e._locale._abbr),!e)return wr;if(!r(e)){if(t=Qe(e))return t;e=[e]}return Xe(e)}function rt(){return Ya(jr)}function it(e){var t,n=e._a;return n&&_(e).overflow===-2&&(t=n[rr]<0||n[rr]>11?rr:n[ir]<1||n[ir]>oe(n[ar],n[rr])?ir:n[or]<0||n[or]>24||24===n[or]&&(0!==n[sr]||0!==n[dr]||0!==n[ur])?or:n[sr]<0||n[sr]>59?sr:n[dr]<0||n[dr]>59?dr:n[ur]<0||n[ur]>999?ur:-1,_(e)._overflowDayOfYear&&(tir)&&(t=ir),_(e)._overflowWeeks&&t===-1&&(t=lr),_(e)._overflowWeekday&&t===-1&&(t=cr),_(e).overflow=t),e}function ot(e){var t,n,a,r,i,o,s=e._i,d=Hr.exec(s)||Cr.exec(s);if(d){for(_(e).iso=!0,t=0,n=Or.length;tge(r)&&(_(e)._overflowDayOfYear=!0),n=be(r,0,e._dayOfYear),e._a[rr]=n.getUTCMonth(),e._a[ir]=n.getUTCDate()),t=0;t<3&&null==e._a[t];++t)e._a[t]=i[t]=a[t];for(;t<7;t++)e._a[t]=i[t]=null==e._a[t]?2===t?1:0:e._a[t];24===e._a[or]&&0===e._a[sr]&&0===e._a[dr]&&0===e._a[ur]&&(e._nextDay=!0,e._a[or]=0),e._d=(e._useUTC?be:Me).apply(null,i),null!=e._tzm&&e._d.setUTCMinutes(e._d.getUTCMinutes()-e._tzm),e._nextDay&&(e._a[or]=24)}}function ct(e){var t,n,a,r,i,o,s,d;if(t=e._w,null!=t.GG||null!=t.W||null!=t.E)i=1,o=4,n=dt(t.GG,e._a[ar],xe(Mt(),1,4).year),a=dt(t.W,1),r=dt(t.E,1),(r<1||r>7)&&(d=!0);else{i=e._locale._week.dow,o=e._locale._week.doy;var u=xe(Mt(),i,o);n=dt(t.gg,e._a[ar],u.year),a=dt(t.w,u.week),null!=t.d?(r=t.d,(r<0||r>6)&&(d=!0)):null!=t.e?(r=t.e+i,(t.e<0||t.e>6)&&(d=!0)):r=i}a<1||a>Ye(n,i,o)?_(e)._overflowWeeks=!0:null!=d?_(e)._overflowWeekday=!0:(s=ke(n,a,r,i,o),e._a[ar]=s.year,e._dayOfYear=s.dayOfYear)}function ht(e){if(e._f===t.ISO_8601)return void ot(e);e._a=[],_(e).empty=!0;var n,a,r,i,o,s=""+e._i,d=s.length,u=0;for(r=X(e._f,e._locale).match(Pa)||[],n=0;n0&&_(e).unusedInput.push(o),s=s.slice(s.indexOf(a)+a.length),u+=a.length),Ia[i]?(a?_(e).empty=!1:_(e).unusedTokens.push(i),ie(i,a,e)):e._strict&&!a&&_(e).unusedTokens.push(i);_(e).charsLeftOver=d-u,s.length>0&&_(e).unusedInput.push(s),e._a[or]<=12&&_(e).bigHour===!0&&e._a[or]>0&&(_(e).bigHour=void 0),_(e).parsedDateParts=e._a.slice(0),_(e).meridiem=e._meridiem,e._a[or]=ft(e._locale,e._a[or],e._meridiem),lt(e),it(e)}function ft(e,t,n){var a;return null==n?t:null!=e.meridiemHour?e.meridiemHour(t,n):null!=e.isPM?(a=e.isPM(n),a&&t<12&&(t+=12),a||12!==t||(t=0),t):t}function _t(e){var t,n,a,r,i;if(0===e._f.length)return _(e).invalidFormat=!0,void(e._d=new Date(NaN));for(r=0;rthis.clone().month(0).utcOffset()||this.utcOffset()>this.clone().month(5).utcOffset()}function Wt(){if(!g(this._isDSTShifted))return this._isDSTShifted;var e={};if(v(e,this),e=gt(e),e._a){var t=e._isUTC?h(e._a):Mt(e._a);this._isDSTShifted=this.isValid()&&k(e._a,t.toArray())>0}else this._isDSTShifted=!1;return this._isDSTShifted}function Et(){return!!this.isValid()&&!this._isUTC}function Rt(){return!!this.isValid()&&this._isUTC}function zt(){return!!this.isValid()&&(this._isUTC&&0===this._offset)}function Nt(e,t){var n,a,r,i=e,o=null;return Yt(e)?i={ms:e._milliseconds,d:e._days,M:e._months}:s(e)?(i={},t?i[t]=e:i.milliseconds=e):(o=Nr.exec(e))?(n="-"===o[1]?-1:1,i={y:0,d:L(o[ir])*n,h:L(o[or])*n,m:L(o[sr])*n,s:L(o[dr])*n,ms:L(wt(1e3*o[ur]))*n}):(o=Vr.exec(e))?(n="-"===o[1]?-1:1,i={y:Vt(o[2],n),M:Vt(o[3],n),w:Vt(o[4],n),d:Vt(o[5],n),h:Vt(o[6],n),m:Vt(o[7],n),s:Vt(o[8],n)}):null==i?i={}:"object"==typeof i&&("from"in i||"to"in i)&&(r=$t(Mt(i.from),Mt(i.to)),i={},i.ms=r.milliseconds,i.M=r.months),a=new xt(i),Yt(e)&&l(e,"_locale")&&(a._locale=e._locale),a}function Vt(e,t){var n=e&&parseFloat(e.replace(",","."));return(isNaN(n)?0:n)*t}function Bt(e,t){var n={milliseconds:0,months:0};return n.months=t.month()-e.month()+12*(t.year()-e.year()),e.clone().add(n.months,"M").isAfter(t)&&--n.months,n.milliseconds=+t-+e.clone().add(n.months,"M"),n}function $t(e,t){var n;return e.isValid()&&t.isValid()?(t=St(t,e),e.isBefore(t)?n=Bt(e,t):(n=Bt(t,e),n.milliseconds=-n.milliseconds,n.months=-n.months),n):{milliseconds:0,months:0}}function Jt(e,t){return function(n,a){var r,i;return null===a||isNaN(+a)||(w(t,"moment()."+t+"(period, number) is deprecated. Please use moment()."+t+"(number, period). See http://momentjs.com/guides/#/warnings/add-inverted-param/ for more info."),i=n,n=a,a=i),n="string"==typeof n?+n:n,r=Nt(n,a),Ut(this,r,e),this}}function Ut(e,n,a,r){var i=n._milliseconds,o=wt(n._days),s=wt(n._months);e.isValid()&&(r=null==r||r,i&&e._d.setTime(e._d.valueOf()+i*a),o&&B(e,"Date",V(e,"Date")+o*a),s&&ce(e,V(e,"Month")+s*a),r&&t.updateOffset(e,o||s))}function qt(e,t){var n=e.diff(t,"days",!0);return n<-6?"sameElse":n<-1?"lastWeek":n<0?"lastDay":n<1?"sameDay":n<2?"nextDay":n<7?"nextWeek":"sameElse"}function Gt(e,n){var a=e||Mt(),r=St(a,this).startOf("day"),i=t.calendarFormat(this,r)||"sameElse",o=n&&(D(n[i])?n[i].call(this,a):n[i]);return this.format(o||this.localeData().calendar(i,this,Mt(a)))}function Kt(){return new y(this)}function Zt(e,t){var n=M(e)?e:Mt(e);return!(!this.isValid()||!n.isValid())&&(t=W(g(t)?"millisecond":t),"millisecond"===t?this.valueOf()>n.valueOf():n.valueOf()i&&(t=i),Pn.call(this,e,t,n,a,r))}function Pn(e,t,n,a,r){var i=ke(e,t,n,a,r),o=be(i.year,0,i.dayOfYear);return this.year(o.getUTCFullYear()),this.month(o.getUTCMonth()),this.date(o.getUTCDate()),this}function On(e){return null==e?Math.ceil((this.month()+1)/3):this.month(3*(e-1)+this.month()%3)}function Fn(e){var t=Math.round((this.clone().startOf("day")-this.clone().startOf("year"))/864e5)+1;return null==e?t:this.add(e-t,"d"); -}function In(e,t){t[ur]=L(1e3*("0."+e))}function Wn(){return this._isUTC?"UTC":""}function En(){return this._isUTC?"Coordinated Universal Time":""}function Rn(e){return Mt(1e3*e)}function zn(){return Mt.apply(null,arguments).parseZone()}function Nn(e){return e}function Vn(e,t,n,a){var r=at(),i=h().set(a,t);return r[n](i,e)}function Bn(e,t,n){if(s(e)&&(t=e,e=void 0),e=e||"",null!=t)return Vn(e,t,n,"month");var a,r=[];for(a=0;a<12;a++)r[a]=Vn(e,a,n,"month");return r}function $n(e,t,n,a){"boolean"==typeof e?(s(t)&&(n=t,t=void 0),t=t||""):(t=e,n=t,e=!1,s(t)&&(n=t,t=void 0),t=t||"");var r=at(),i=e?r._week.dow:0;if(null!=n)return Vn(t,(n+i)%7,a,"day");var o,d=[];for(o=0;o<7;o++)d[o]=Vn(t,(o+i)%7,a,"day");return d}function Jn(e,t){return Bn(e,t,"months")}function Un(e,t){return Bn(e,t,"monthsShort")}function qn(e,t,n){return $n(e,t,n,"weekdays")}function Gn(e,t,n){return $n(e,t,n,"weekdaysShort")}function Kn(e,t,n){return $n(e,t,n,"weekdaysMin")}function Zn(){var e=this._data;return this._milliseconds=ei(this._milliseconds),this._days=ei(this._days),this._months=ei(this._months),e.milliseconds=ei(e.milliseconds),e.seconds=ei(e.seconds),e.minutes=ei(e.minutes),e.hours=ei(e.hours),e.months=ei(e.months),e.years=ei(e.years),this}function Xn(e,t,n,a){var r=Nt(t,n);return e._milliseconds+=a*r._milliseconds,e._days+=a*r._days,e._months+=a*r._months,e._bubble()}function Qn(e,t){return Xn(this,e,t,1)}function ea(e,t){return Xn(this,e,t,-1)}function ta(e){return e<0?Math.floor(e):Math.ceil(e)}function na(){var e,t,n,a,r,i=this._milliseconds,o=this._days,s=this._months,d=this._data;return i>=0&&o>=0&&s>=0||i<=0&&o<=0&&s<=0||(i+=864e5*ta(ra(s)+o),o=0,s=0),d.milliseconds=i%1e3,e=b(i/1e3),d.seconds=e%60,t=b(e/60),d.minutes=t%60,n=b(t/60),d.hours=n%24,o+=b(n/24),r=b(aa(o)),s+=r,o-=ta(ra(r)),a=b(s/12),s%=12,d.days=o,d.months=s,d.years=a,this}function aa(e){return 4800*e/146097}function ra(e){return 146097*e/4800}function ia(e){var t,n,a=this._milliseconds;if(e=W(e),"month"===e||"year"===e)return t=this._days+a/864e5,n=this._months+aa(t),"month"===e?n:n/12;switch(t=this._days+Math.round(ra(this._months)),e){case"week":return t/7+a/6048e5;case"day":return t+a/864e5;case"hour":return 24*t+a/36e5;case"minute":return 1440*t+a/6e4;case"second":return 86400*t+a/1e3;case"millisecond":return Math.floor(864e5*t)+a;default:throw new Error("Unknown unit "+e)}}function oa(){return this._milliseconds+864e5*this._days+this._months%12*2592e6+31536e6*L(this._months/12)}function sa(e){return function(){return this.as(e)}}function da(e){return e=W(e),this[e+"s"]()}function ua(e){return function(){return this._data[e]}}function la(){return b(this.days()/7)}function ca(e,t,n,a,r){return r.relativeTime(t||1,!!n,e,a)}function ha(e,t,n){var a=Nt(e).abs(),r=pi(a.as("s")),i=pi(a.as("m")),o=pi(a.as("h")),s=pi(a.as("d")),d=pi(a.as("M")),u=pi(a.as("y")),l=r0,l[4]=n,ca.apply(null,l)}function fa(e){return void 0===e?pi:"function"==typeof e&&(pi=e,!0)}function _a(e,t){return void 0!==gi[e]&&(void 0===t?gi[e]:(gi[e]=t,!0))}function ma(e){var t=this.localeData(),n=ha(this,!e,t);return e&&(n=t.pastFuture(+this,n)),t.postformat(n)}function pa(){var e,t,n,a=vi(this._milliseconds)/1e3,r=vi(this._days),i=vi(this._months);e=b(a/60),t=b(e/60),a%=60,e%=60,n=b(i/12),i%=12;var o=n,s=i,d=r,u=t,l=e,c=a,h=this.asSeconds();return h?(h<0?"-":"")+"P"+(o?o+"Y":"")+(s?s+"M":"")+(d?d+"D":"")+(u||l||c?"T":"")+(u?u+"H":"")+(l?l+"M":"")+(c?c+"S":""):"P0D"}var ga,va;va=Array.prototype.some?Array.prototype.some:function(e){for(var t=Object(this),n=t.length>>>0,a=0;a68?1900:2e3)};var vr=N("FullYear",!0);q("w",["ww",2],"wo","week"),q("W",["WW",2],"Wo","isoWeek"),I("week","w"),I("isoWeek","W"),R("week",5),R("isoWeek",5),Q("w",Va),Q("ww",Va,Ea),Q("W",Va),Q("WW",Va,Ea),re(["w","ww","W","WW"],function(e,t,n,a){t[a.substr(0,1)]=L(e)});var yr={dow:0,doy:6};q("d",0,"do","day"),q("dd",0,0,function(e){return this.localeData().weekdaysMin(this,e)}),q("ddd",0,0,function(e){return this.localeData().weekdaysShort(this,e)}),q("dddd",0,0,function(e){return this.localeData().weekdays(this,e)}),q("e",0,0,"weekday"),q("E",0,0,"isoWeekday"),I("day","d"),I("weekday","e"),I("isoWeekday","E"),R("day",11),R("weekday",11),R("isoWeekday",11),Q("d",Va),Q("e",Va),Q("E",Va),Q("dd",function(e,t){return t.weekdaysMinRegex(e)}),Q("ddd",function(e,t){return t.weekdaysShortRegex(e)}),Q("dddd",function(e,t){return t.weekdaysRegex(e)}),re(["dd","ddd","dddd"],function(e,t,n,a){var r=n._locale.weekdaysParse(e,a,n._strict);null!=r?t.d=r:_(n).invalidWeekday=e}),re(["d","e","E"],function(e,t,n,a){t[a]=L(e)});var Mr="Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),br="Sun_Mon_Tue_Wed_Thu_Fri_Sat".split("_"),Lr="Su_Mo_Tu_We_Th_Fr_Sa".split("_"),kr=er,xr=er,Yr=er;q("H",["HH",2],0,"hour"),q("h",["hh",2],0,$e),q("k",["kk",2],0,Je),q("hmm",0,0,function(){return""+$e.apply(this)+U(this.minutes(),2)}),q("hmmss",0,0,function(){return""+$e.apply(this)+U(this.minutes(),2)+U(this.seconds(),2)}),q("Hmm",0,0,function(){return""+this.hours()+U(this.minutes(),2)}),q("Hmmss",0,0,function(){return""+this.hours()+U(this.minutes(),2)+U(this.seconds(),2)}),Ue("a",!0),Ue("A",!1),I("hour","h"),R("hour",13),Q("a",qe),Q("A",qe),Q("H",Va),Q("h",Va),Q("HH",Va,Ea),Q("hh",Va,Ea),Q("hmm",Ba),Q("hmmss",$a),Q("Hmm",Ba),Q("Hmmss",$a),ae(["H","HH"],or),ae(["a","A"],function(e,t,n){n._isPm=n._locale.isPM(e),n._meridiem=e}),ae(["h","hh"],function(e,t,n){t[or]=L(e),_(n).bigHour=!0}),ae("hmm",function(e,t,n){var a=e.length-2;t[or]=L(e.substr(0,a)),t[sr]=L(e.substr(a)),_(n).bigHour=!0}),ae("hmmss",function(e,t,n){var a=e.length-4,r=e.length-2;t[or]=L(e.substr(0,a)),t[sr]=L(e.substr(a,2)),t[dr]=L(e.substr(r)),_(n).bigHour=!0}),ae("Hmm",function(e,t,n){var a=e.length-2;t[or]=L(e.substr(0,a)),t[sr]=L(e.substr(a))}),ae("Hmmss",function(e,t,n){var a=e.length-4,r=e.length-2;t[or]=L(e.substr(0,a)),t[sr]=L(e.substr(a,2)),t[dr]=L(e.substr(r))});var wr,Dr=/[ap]\.?m?\.?/i,Tr=N("Hours",!0),Sr={calendar:wa,longDateFormat:Da,invalidDate:Ta,ordinal:Sa,ordinalParse:ja,relativeTime:Aa,months:_r,monthsShort:mr,week:yr,weekdays:Mr,weekdaysMin:Lr,weekdaysShort:br,meridiemParse:Dr},jr={},Ar={},Hr=/^\s*((?:[+-]\d{6}|\d{4})-(?:\d\d-\d\d|W\d\d-\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?::\d\d(?::\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Cr=/^\s*((?:[+-]\d{6}|\d{4})(?:\d\d\d\d|W\d\d\d|W\d\d|\d\d\d|\d\d))(?:(T| )(\d\d(?:\d\d(?:\d\d(?:[.,]\d+)?)?)?)([\+\-]\d\d(?::?\d\d)?|\s*Z)?)?$/,Pr=/Z|[+-]\d\d(?::?\d\d)?/,Or=[["YYYYYY-MM-DD",/[+-]\d{6}-\d\d-\d\d/],["YYYY-MM-DD",/\d{4}-\d\d-\d\d/],["GGGG-[W]WW-E",/\d{4}-W\d\d-\d/],["GGGG-[W]WW",/\d{4}-W\d\d/,!1],["YYYY-DDD",/\d{4}-\d{3}/],["YYYY-MM",/\d{4}-\d\d/,!1],["YYYYYYMMDD",/[+-]\d{10}/],["YYYYMMDD",/\d{8}/],["GGGG[W]WWE",/\d{4}W\d{3}/],["GGGG[W]WW",/\d{4}W\d{2}/,!1],["YYYYDDD",/\d{7}/]],Fr=[["HH:mm:ss.SSSS",/\d\d:\d\d:\d\d\.\d+/],["HH:mm:ss,SSSS",/\d\d:\d\d:\d\d,\d+/],["HH:mm:ss",/\d\d:\d\d:\d\d/],["HH:mm",/\d\d:\d\d/],["HHmmss.SSSS",/\d\d\d\d\d\d\.\d+/],["HHmmss,SSSS",/\d\d\d\d\d\d,\d+/],["HHmmss",/\d\d\d\d\d\d/],["HHmm",/\d\d\d\d/],["HH",/\d\d/]],Ir=/^\/?Date\((\-?\d+)/i;t.createFromInputFallback=Y("value provided is not in a recognized ISO format. moment construction falls back to js Date(), which is not reliable across all browsers and versions. Non ISO date formats are discouraged and will be removed in an upcoming major release. Please refer to http://momentjs.com/guides/#/warnings/js-date/ for more info.",function(e){e._d=new Date(e._i+(e._useUTC?" UTC":""))}),t.ISO_8601=function(){};var Wr=Y("moment().min is deprecated, use moment.max instead. http://momentjs.com/guides/#/warnings/min-max/",function(){var e=Mt.apply(null,arguments);return this.isValid()&&e.isValid()?ethis?this:e:p()}),Rr=function(){return Date.now?Date.now():+new Date};Dt("Z",":"),Dt("ZZ",""),Q("Z",Xa),Q("ZZ",Xa),ae(["Z","ZZ"],function(e,t,n){n._useUTC=!0,n._tzm=Tt(Xa,e)});var zr=/([\+\-]|\d\d)/gi;t.updateOffset=function(){};var Nr=/^(\-)?(?:(\d*)[. ])?(\d+)\:(\d+)(?:\:(\d+)(\.\d*)?)?$/,Vr=/^(-)?P(?:(-?[0-9,.]*)Y)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)W)?(?:(-?[0-9,.]*)D)?(?:T(?:(-?[0-9,.]*)H)?(?:(-?[0-9,.]*)M)?(?:(-?[0-9,.]*)S)?)?$/;Nt.fn=xt.prototype;var Br=Jt(1,"add"),$r=Jt(-1,"subtract");t.defaultFormat="YYYY-MM-DDTHH:mm:ssZ",t.defaultFormatUtc="YYYY-MM-DDTHH:mm:ss[Z]";var Jr=Y("moment().lang() is deprecated. Instead, use moment().localeData() to get the language configuration. Use moment().locale() to change languages.",function(e){return void 0===e?this.localeData():this.locale(e)});q(0,["gg",2],0,function(){return this.weekYear()%100}),q(0,["GG",2],0,function(){return this.isoWeekYear()%100}),Tn("gggg","weekYear"),Tn("ggggg","weekYear"),Tn("GGGG","isoWeekYear"),Tn("GGGGG","isoWeekYear"),I("weekYear","gg"),I("isoWeekYear","GG"),R("weekYear",1),R("isoWeekYear",1),Q("G",Ka),Q("g",Ka),Q("GG",Va,Ea),Q("gg",Va,Ea),Q("GGGG",Ua,za),Q("gggg",Ua,za),Q("GGGGG",qa,Na),Q("ggggg",qa,Na),re(["gggg","ggggg","GGGG","GGGGG"],function(e,t,n,a){t[a.substr(0,2)]=L(e)}),re(["gg","GG"],function(e,n,a,r){n[r]=t.parseTwoDigitYear(e)}),q("Q",0,"Qo","quarter"),I("quarter","Q"),R("quarter",7),Q("Q",Wa),ae("Q",function(e,t){t[rr]=3*(L(e)-1)}),q("D",["DD",2],"Do","date"),I("date","D"),R("date",9),Q("D",Va),Q("DD",Va,Ea),Q("Do",function(e,t){return e?t._ordinalParse:t._ordinalParseLenient}),ae(["D","DD"],ir),ae("Do",function(e,t){t[ir]=L(e.match(Va)[0],10)});var Ur=N("Date",!0);q("DDD",["DDDD",3],"DDDo","dayOfYear"),I("dayOfYear","DDD"),R("dayOfYear",4),Q("DDD",Ja),Q("DDDD",Ra),ae(["DDD","DDDD"],function(e,t,n){n._dayOfYear=L(e)}),q("m",["mm",2],0,"minute"),I("minute","m"),R("minute",14),Q("m",Va),Q("mm",Va,Ea),ae(["m","mm"],sr);var qr=N("Minutes",!1);q("s",["ss",2],0,"second"),I("second","s"),R("second",15),Q("s",Va),Q("ss",Va,Ea),ae(["s","ss"],dr);var Gr=N("Seconds",!1);q("S",0,0,function(){return~~(this.millisecond()/100)}),q(0,["SS",2],0,function(){return~~(this.millisecond()/10)}),q(0,["SSS",3],0,"millisecond"),q(0,["SSSS",4],0,function(){return 10*this.millisecond()}),q(0,["SSSSS",5],0,function(){return 100*this.millisecond()}),q(0,["SSSSSS",6],0,function(){return 1e3*this.millisecond()}),q(0,["SSSSSSS",7],0,function(){return 1e4*this.millisecond()}),q(0,["SSSSSSSS",8],0,function(){return 1e5*this.millisecond()}),q(0,["SSSSSSSSS",9],0,function(){return 1e6*this.millisecond()}),I("millisecond","ms"),R("millisecond",16),Q("S",Ja,Wa),Q("SS",Ja,Ea),Q("SSS",Ja,Ra);var Kr;for(Kr="SSSS";Kr.length<=9;Kr+="S")Q(Kr,Ga);for(Kr="S";Kr.length<=9;Kr+="S")ae(Kr,In);var Zr=N("Milliseconds",!1);q("z",0,0,"zoneAbbr"),q("zz",0,0,"zoneName");var Xr=y.prototype;Xr.add=Br,Xr.calendar=Gt,Xr.clone=Kt,Xr.diff=an,Xr.endOf=gn,Xr.format=un,Xr.from=ln,Xr.fromNow=cn,Xr.to=hn,Xr.toNow=fn,Xr.get=$,Xr.invalidAt=wn,Xr.isAfter=Zt,Xr.isBefore=Xt,Xr.isBetween=Qt,Xr.isSame=en,Xr.isSameOrAfter=tn,Xr.isSameOrBefore=nn,Xr.isValid=xn,Xr.lang=Jr,Xr.locale=_n,Xr.localeData=mn,Xr.max=Er,Xr.min=Wr,Xr.parsingFlags=Yn,Xr.set=J,Xr.startOf=pn,Xr.subtract=$r,Xr.toArray=bn,Xr.toObject=Ln,Xr.toDate=Mn,Xr.toISOString=sn,Xr.inspect=dn,Xr.toJSON=kn,Xr.toString=on,Xr.unix=yn,Xr.valueOf=vn,Xr.creationData=Dn,Xr.year=vr,Xr.isLeapYear=ye,Xr.weekYear=Sn,Xr.isoWeekYear=jn,Xr.quarter=Xr.quarters=On,Xr.month=he,Xr.daysInMonth=fe,Xr.week=Xr.weeks=Se,Xr.isoWeek=Xr.isoWeeks=je,Xr.weeksInYear=Hn,Xr.isoWeeksInYear=An,Xr.date=Ur,Xr.day=Xr.days=We,Xr.weekday=Ee,Xr.isoWeekday=Re,Xr.dayOfYear=Fn,Xr.hour=Xr.hours=Tr,Xr.minute=Xr.minutes=qr,Xr.second=Xr.seconds=Gr,Xr.millisecond=Xr.milliseconds=Zr,Xr.utcOffset=At,Xr.utc=Ct,Xr.local=Pt,Xr.parseZone=Ot,Xr.hasAlignedHourOffset=Ft,Xr.isDST=It,Xr.isLocal=Et,Xr.isUtcOffset=Rt,Xr.isUtc=zt,Xr.isUTC=zt,Xr.zoneAbbr=Wn,Xr.zoneName=En,Xr.dates=Y("dates accessor is deprecated. Use date instead.",Ur),Xr.months=Y("months accessor is deprecated. Use month instead",he),Xr.years=Y("years accessor is deprecated. Use year instead",vr),Xr.zone=Y("moment().zone is deprecated, use moment().utcOffset instead. http://momentjs.com/guides/#/warnings/zone/",Ht),Xr.isDSTShifted=Y("isDSTShifted is deprecated. See http://momentjs.com/guides/#/warnings/dst-shifted/ for more information",Wt);var Qr=j.prototype;Qr.calendar=A,Qr.longDateFormat=H,Qr.invalidDate=C,Qr.ordinal=P,Qr.preparse=Nn,Qr.postformat=Nn,Qr.relativeTime=O,Qr.pastFuture=F,Qr.set=T,Qr.months=se,Qr.monthsShort=de,Qr.monthsParse=le,Qr.monthsRegex=me,Qr.monthsShortRegex=_e,Qr.week=we,Qr.firstDayOfYear=Te,Qr.firstDayOfWeek=De,Qr.weekdays=Ce,Qr.weekdaysMin=Oe,Qr.weekdaysShort=Pe,Qr.weekdaysParse=Ie,Qr.weekdaysRegex=ze,Qr.weekdaysShortRegex=Ne,Qr.weekdaysMinRegex=Ve,Qr.isPM=Ge,Qr.meridiem=Ke,et("en",{ordinalParse:/\d{1,2}(th|st|nd|rd)/,ordinal:function(e){var t=e%10,n=1===L(e%100/10)?"th":1===t?"st":2===t?"nd":3===t?"rd":"th";return e+n}}),t.lang=Y("moment.lang is deprecated. Use moment.locale instead.",et),t.langData=Y("moment.langData is deprecated. Use moment.localeData instead.",at);var ei=Math.abs,ti=sa("ms"),ni=sa("s"),ai=sa("m"),ri=sa("h"),ii=sa("d"),oi=sa("w"),si=sa("M"),di=sa("y"),ui=ua("milliseconds"),li=ua("seconds"),ci=ua("minutes"),hi=ua("hours"),fi=ua("days"),_i=ua("months"),mi=ua("years"),pi=Math.round,gi={s:45,m:45,h:22,d:26,M:11},vi=Math.abs,yi=xt.prototype;return yi.abs=Zn,yi.add=Qn,yi.subtract=ea,yi.as=ia,yi.asMilliseconds=ti,yi.asSeconds=ni,yi.asMinutes=ai,yi.asHours=ri,yi.asDays=ii,yi.asWeeks=oi,yi.asMonths=si,yi.asYears=di,yi.valueOf=oa,yi._bubble=na,yi.get=da,yi.milliseconds=ui,yi.seconds=li,yi.minutes=ci,yi.hours=hi,yi.days=fi,yi.weeks=la,yi.months=_i,yi.years=mi,yi.humanize=ma,yi.toISOString=pa,yi.toString=pa,yi.toJSON=pa,yi.locale=_n,yi.localeData=mn,yi.toIsoString=Y("toIsoString() is deprecated. Please use toISOString() instead (notice the capitals)",pa),yi.lang=Jr,q("X",0,0,"unix"),q("x",0,0,"valueOf"),Q("x",Ka),Q("X",Qa),ae("X",function(e,t,n){n._d=new Date(1e3*parseFloat(e,10))}),ae("x",function(e,t,n){n._d=new Date(L(e))}),t.version="2.17.1",a(Mt),t.fn=Xr,t.min=Lt,t.max=kt,t.now=Rr,t.utc=h,t.unix=Rn,t.months=Jn,t.isDate=d,t.locale=et,t.invalid=p,t.duration=Nt,t.isMoment=M,t.weekdays=qn,t.parseZone=zn,t.localeData=at,t.isDuration=Yt,t.monthsShort=Un,t.weekdaysMin=Kn,t.defineLocale=tt,t.updateLocale=nt,t.locales=rt,t.weekdaysShort=Gn,t.normalizeUnits=W,t.relativeTimeRounding=fa,t.relativeTimeThreshold=_a,t.calendarFormat=qt,t.prototype=Xr,t})}).call(t,n(32)(e))},function(e,t,n){var a=n(78),r="object"==typeof self&&self&&self.Object===Object&&self,i=a||r||Function("return this")();e.exports=i},function(e,t){var n=Array.isArray;e.exports=n},function(e,t){function n(e){var t=typeof e;return null!=e&&("object"==t||"function"==t)}e.exports=n},function(e,t){function n(e){return null!=e&&"object"==typeof e}e.exports=n},function(e,t,n){(function(t){/*! - * Vue.js v2.1.4 - * (c) 2014-2016 Evan You - * Released under the MIT License. - */ -!function(t,n){e.exports=n()}(this,function(){"use strict";function e(e){return null==e?"":"object"==typeof e?JSON.stringify(e,null,2):String(e)}function n(e){var t=parseFloat(e,10);return t||0===t?t:e}function a(e,t){for(var n=Object.create(null),a=e.split(","),r=0;r-1)return e.splice(n,1)}}function i(e,t){return Qa.call(e,t)}function o(e){return"string"==typeof e||"number"==typeof e}function s(e){var t=Object.create(null);return function(n){var a=t[n];return a||(t[n]=e(n))}}function d(e,t){function n(n){var a=arguments.length;return a?a>1?e.apply(t,arguments):e.call(t,n):e.call(t)}return n._length=e.length,n}function u(e,t){t=t||0;for(var n=e.length-t,a=new Array(n);n--;)a[n]=e[n+t];return a}function l(e,t){for(var n in t)e[n]=t[n];return e}function c(e){return null!==e&&"object"==typeof e}function h(e){return ir.call(e)===or}function f(e){for(var t={},n=0;ndr._maxUpdateCount)){Lr("You may have an infinite update loop "+(e.user?'in watcher with expression "'+e.expression+'"':"in a component render function."),e.vm);break}}yr&&dr.devtools&&yr.emit("flush"),$()}function U(e){var t=e.id;if(null==Br[t]){if(Br[t]=!0,Ur){for(var n=Vr.length-1;n>=0&&Vr[n].id>e.id;)n--;Vr.splice(Math.max(n,qr)+1,0,e)}else Vr.push(e);Jr||(Jr=!0,Mr(J))}}function q(e){Zr.clear(),G(e,Zr)}function G(e,t){var n,a,r=Array.isArray(e);if((r||c(e))&&Object.isExtensible(e)){if(e.__ob__){var i=e.__ob__.dep.id;if(t.has(i))return;t.add(i)}if(r)for(n=e.length;n--;)G(e[n],t);else for(a=Object.keys(e),n=a.length;n--;)G(e[a[n]],t)}}function K(e){e._watchers=[],Z(e),te(e),X(e),Q(e),ne(e)}function Z(e){var t=e.$options.props;if(t){var n=e.$options.propsData||{},a=e.$options._propKeys=Object.keys(t),r=!e.$parent;Ar.shouldConvert=r;for(var i=function(r){var i=a[r];Xr[i]&&Lr('"'+i+'" is a reserved attribute and cannot be used as component prop.',e),D(e,i,E(i,t,n,e),function(){e.$parent&&!Ar.isSettingProps&&Lr("Avoid mutating a prop directly since the value will be overwritten whenever the parent component re-renders. Instead, use a data or computed property based on the prop's value. Prop being mutated: \""+i+'"',e)})},o=0;o1?u(n):n;for(var a=u(arguments,1),r=0,i=n.length;r-1:e.test(t)}function Ue(e){var t={};t.get=function(){return dr},t.set=function(){Lr("Do not replace the Vue.config object, set individual fields instead.")},Object.defineProperty(e,"config",t),e.util=Fr,e.set=T,e.delete=S,e.nextTick=Mr,e.options=Object.create(null),dr._assetTypes.forEach(function(t){e.options[t+"s"]=Object.create(null)}),e.options._base=e,l(e.options.components,di),Ne(e),Ve(e),Be(e),$e(e)}function qe(e){for(var t=e.data,n=e,a=e;a.child;)a=a.child._vnode,a.data&&(t=Ge(a.data,t));for(;n=n.parent;)n.data&&(t=Ge(t,n.data));return Ke(t)}function Ge(e,t){return{staticClass:Ze(e.staticClass,t.staticClass),class:e.class?[e.class,t.class]:t.class}}function Ke(e){var t=e.class,n=e.staticClass;return n||t?Ze(n,Xe(t)):""}function Ze(e,t){return e?t?e+" "+t:e:t||""}function Xe(e){var t="";if(!e)return t;if("string"==typeof e)return e;if(Array.isArray(e)){for(var n,a=0,r=e.length;a-1?Li[e]=t.constructor===window.HTMLUnknownElement||t.constructor===window.HTMLElement:Li[e]=/HTMLUnknownElement/.test(t.toString())}function tt(e){if("string"==typeof e){var t=e;if(e=document.querySelector(e),!e)return Lr("Cannot find element: "+t),document.createElement("div")}return e}function nt(e,t){var n=document.createElement(e);return"select"!==e?n:(t.data&&t.data.attrs&&"multiple"in t.data.attrs&&n.setAttribute("multiple","multiple"),n)}function at(e,t){return document.createElementNS(gi[e],t)}function rt(e){return document.createTextNode(e)}function it(e){return document.createComment(e)}function ot(e,t,n){e.insertBefore(t,n)}function st(e,t){e.removeChild(t)}function dt(e,t){e.appendChild(t)}function ut(e){return e.parentNode}function lt(e){return e.nextSibling}function ct(e){return e.tagName}function ht(e,t){e.textContent=t}function ft(e){return e.childNodes}function _t(e,t,n){e.setAttribute(t,n)}function mt(e,t){var n=e.data.ref;if(n){var a=e.context,i=e.child||e.elm,o=a.$refs;t?Array.isArray(o[n])?r(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 pt(e){return null==e}function gt(e){return null!=e}function vt(e,t){return e.key===t.key&&e.tag===t.tag&&e.isComment===t.isComment&&!e.data==!t.data}function yt(e,t,n){var a,r,i={};for(a=t;a<=n;++a)r=e[a].key,gt(r)&&(i[r]=a);return i}function Mt(t){function n(e){return new ei(T.tagName(e).toLowerCase(),{},[],void 0,e)}function a(e,t){function n(){0===--n.listeners&&r(e)}return n.listeners=t,n}function r(e){var t=T.parentNode(e);t&&T.removeChild(t,e)}function i(e,t,n,a,r){if(e.isRootInsert=!r,!s(e,t,n,a)){var i=e.data,o=e.children,d=e.tag;gt(d)?(i&&i.pre&&S++,S||e.ns||dr.ignoredElements&&dr.ignoredElements.indexOf(d)>-1||!dr.isUnknownElement(d)||Lr("Unknown custom element: <"+d+'> - did you register the component correctly? For recursive components, make sure to provide the "name" option.',e.context),e.elm=e.ns?T.createElementNS(e.ns,d):T.createElement(d,e),_(e),l(e,o,t),gt(i)&&h(e,t),u(n,e.elm,a),i&&i.pre&&S--):e.isComment?(e.elm=T.createComment(e.text),u(n,e.elm,a)):(e.elm=T.createTextNode(e.text),u(n,e.elm,a))}}function s(e,t,n,a){var r=e.data;if(gt(r)){var i=gt(e.child)&&r.keepAlive;if(gt(r=r.hook)&>(r=r.init)&&r(e,!1,n,a),gt(e.child))return f(e,t),i&&d(e,t,n,a),!0}}function d(e,t,n,a){for(var r,i=e;i.child;)if(i=i.child._vnode,gt(r=i.data)&>(r=r.transition)){for(r=0;rh?(u=pt(n[p+1])?null:n[p+1].elm,m(e,u,n,c,p,a)):c>p&&g(e,t,l,h)}function M(e,t,n,a){if(e!==t){if(t.isStatic&&e.isStatic&&t.key===e.key&&(t.isCloned||t.isOnce))return t.elm=e.elm,void(t.child=e.child);var r,i=t.data,o=gt(i);o&>(r=i.hook)&>(r=r.prepatch)&&r(e,t);var s=t.elm=e.elm,d=e.children,u=t.children;if(o&&c(t)){for(r=0;r, or missing . Bailing hydration and performing full client-side render.")}e=n(e)}if(d=e.elm,u=T.parentNode(d),i(t,h,u,T.nextSibling(d)),t.parent){for(var _=t.parent;_;)_.elm=t.elm,_=_.parent;if(c(t))for(var m=0;m-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 Ot(e,t){if(t&&t.trim())if(e.classList)t.indexOf(" ")>-1?t.split(/\s+/).forEach(function(t){return e.classList.remove(t)}):e.classList.remove(t);else{for(var n=" "+e.getAttribute("class")+" ",a=" "+t+" ";n.indexOf(a)>=0;)n=n.replace(a," ");e.setAttribute("class",n.trim())}}function Ft(e){qi(function(){qi(e)})}function It(e,t){(e._transitionClasses||(e._transitionClasses=[])).push(t),Pt(e,t)}function Wt(e,t){e._transitionClasses&&r(e._transitionClasses,t),Ot(e,t)}function Et(e,t,n){var a=Rt(e,t),r=a.type,i=a.timeout,o=a.propCount;if(!r)return n();var s=r===Ni?$i:Ui,d=0,u=function(){e.removeEventListener(s,l),n()},l=function(t){t.target===e&&++d>=o&&u()};setTimeout(function(){d0&&(n=Ni,l=o,c=i.length):t===Vi?u>0&&(n=Vi,l=u,c=d.length):(l=Math.max(o,u),n=l>0?o>u?Ni:Vi:null,c=n?n===Ni?i.length:d.length:0);var h=n===Ni&&Gi.test(a[Bi+"Property"]);return{type:n,timeout:l,propCount:c,hasTransform:h}}function zt(e,t){for(;e.length1,T=t._enterCb=Jt(function(){w&&Wt(t,b),T.cancelled?(w&&Wt(t,M),Y&&Y(t)):x&&x(t),t._enterCb=null});e.data.show||de(e.data.hook||(e.data.hook={}),"insert",function(){var n=t.parentNode,a=n&&n._pending&&n._pending[e.key];a&&a.context===e.context&&a.tag===e.tag&&a.elm._leaveCb&&a.elm._leaveCb(),k&&k(t,T)},"transition-insert"),L&&L(t),w&&(It(t,M),It(t,b),Ft(function(){Wt(t,M),T.cancelled||D||Et(t,r,T)})),e.data.show&&k&&k(t,T),w||D||T()}}}function Bt(e,t){function n(){p.cancelled||(e.data.show||((a.parentNode._pending||(a.parentNode._pending={}))[e.key]=e),u&&u(a),_&&(It(a,s),It(a,d),Ft(function(){Wt(a,s),p.cancelled||m||Et(a,o,p)})),l&&l(a,p),_||m||p())}var a=e.elm;a._enterCb&&(a._enterCb.cancelled=!0,a._enterCb());var r=$t(e.data.transition);if(!r)return t();if(!a._leaveCb&&1===a.nodeType){var i=r.css,o=r.type,s=r.leaveClass,d=r.leaveActiveClass,u=r.beforeLeave,l=r.leave,c=r.afterLeave,h=r.leaveCancelled,f=r.delayLeave,_=i!==!1&&!_r,m=l&&(l._length||l.length)>1,p=a._leaveCb=Jt(function(){a.parentNode&&a.parentNode._pending&&(a.parentNode._pending[e.key]=null),_&&Wt(a,d),p.cancelled?(_&&Wt(a,s),h&&h(a)):(t(),c&&c(a)),a._leaveCb=null});f?f(n):n()}}function $t(e){if(e){if("object"==typeof e){var t={};return e.css!==!1&&l(t,Ki(e.name||"v")),l(t,e),t}return"string"==typeof e?Ki(e):void 0}}function Jt(e){var t=!1;return function(){t||(t=!0,e())}}function Ut(e,t){t.data.show||Vt(t)}function qt(e,t,n){var a=t.value,r=e.multiple;if(r&&!Array.isArray(a))return void Lr(':\nv-model does not support dynamic input types. Use v-if branches instead.'),"select"===i?za(e,a,r):"input"===i&&"checkbox"===o?Wa(e,a,r):"input"===i&&"radio"===o?Ea(e,a,r):Ra(e,a,r),!0}function Wa(e,t,n){null!=e.attrsMap.checked&&Xo("<"+e.tag+' v-model="'+t+"\" checked>:\ninline checked attributes will be ignored when using v-model. Declare initial values in the component's data option instead.");var a=n&&n.number,r=Ln(e,"value")||"null",i=Ln(e,"true-value")||"true",o=Ln(e,"false-value")||"false";vn(e,"checked","Array.isArray("+t+")?_i("+t+","+r+")>-1:_q("+t+","+i+")"),bn(e,"change","var $$a="+t+",$$el=$event.target,$$c=$$el.checked?("+i+"):("+o+");if(Array.isArray($$a)){var $$v="+(a?"_n("+r+")":r)+",$$i=_i($$a,$$v);if($$c){$$i<0&&("+t+"=$$a.concat($$v))}else{$$i>-1&&("+t+"=$$a.slice(0,$$i).concat($$a.slice($$i+1)))}}else{"+t+"=$$c}",null,!0)}function Ea(e,t,n){null!=e.attrsMap.checked&&Xo("<"+e.tag+' v-model="'+t+"\" checked>:\ninline checked attributes will be ignored when using v-model. Declare initial values in the component's data option instead.");var a=n&&n.number,r=Ln(e,"value")||"null";r=a?"_n("+r+")":r,vn(e,"checked","_q("+t+","+r+")"),bn(e,"change",Va(t,r),null,!0)}function Ra(e,t,n){"input"===e.tag&&e.attrsMap.value&&Xo("<"+e.tag+' v-model="'+t+'" value="'+e.attrsMap.value+"\">:\ninline value attributes will be ignored when using v-model. Declare initial values in the component's data option instead."),"textarea"===e.tag&&e.children.length&&Xo('