!function(){function n(v){return function(n,t,r,e){t=O(t,e,4);for(var u=!E(n)&&A.keys(n),i=(u||n).length,o=0<v?0:i-1,c=(arguments.length<3&&(r=n[u?u[o]:o],o+=v),n),a=t,f=r,l=u,s=o,p=i;0<=s&&s<p;s+=v){var h=l?l[s]:s;f=a(f,c[h],h,c)}return f}}function t(i){return function(n,t,r){t=k(t,r);for(var e=S(n),u=0<i?0:e-1;0<=u&&u<e;u+=i)if(t(n[u],u,n))return u;return-1}}function r(i,o,c){return function(n,t,r){var e=0,u=S(n);if("number"==typeof r)0<i?e=0<=r?r:Math.max(r+u,e):u=0<=r?Math.min(r+1,u):r+u+1;else if(c&&r&&u)return n[r=c(n,t)]===t?r:-1;if(t!=t)return 0<=(r=o(g.call(n,e,u),A.isNaN))?r+e:-1;for(r=0<i?e:u-1;0<=r&&r<u;r+=i)if(n[r]===t)return r;return-1}}function e(n,t){var r=N.length,e=n.constructor,u=A.isFunction(e)&&e.prototype||v,i="constructor";for(A.has(n,i)&&!A.contains(t,i)&&t.push(i);r--;)(i=N[r])in n&&n[i]!==u[i]&&!A.contains(t,i)&&t.push(i)}function u(a,f){return function(n){var t=arguments.length;if(!(t<2||null==n))for(var r=1;r<t;r++)for(var e=arguments[r],u=a(e),i=u.length,o=0;o<i;o++){var c=u[o];f&&void 0!==n[c]||(n[c]=e[c])}return n}}function i(t){return function(n){return null==n?void 0:n[t]}}function o(i){return function(r,e,n){var u={};return e=k(e,n),A.each(r,function(n,t){t=e(n,t,r);i(u,n,t)}),u}}function c(n,t,r,e,u){return e instanceof t?(e=F(n.prototype),t=n.apply(e,u),A.isObject(t)?t:e):n.apply(r,u)}function a(t){function r(n){return t[n]}var n="(?:"+A.keys(t).join("|")+")",e=RegExp(n),u=RegExp(n,"g");return function(n){return e.test(n=null==n?"":""+n)?n.replace(u,r):n}}function f(n){return"\\"+z[n]}function l(n,t){return n._chain?A(t).chain():t}var s=this,p=s._,h=Array.prototype,v=Object.prototype,y=Function.prototype,d=h.push,g=h.slice,m=v.toString,R=v.hasOwnProperty,b=Array.isArray,x=Object.keys,_=y.bind,j=Object.create,w=function(){},A=function(n){return n instanceof A?n:this instanceof A?void(this._wrapped=n):new A(n)},O=("undefined"!=typeof exports?(exports="undefined"!=typeof module&&module.exports?module.exports=A:exports)._=A:s._=A,A.VERSION="1.8.3",function(u,i,n){if(void 0===i)return u;switch(null==n?3:n){case 1:return function(n){return u.call(i,n)};case 2:return function(n,t){return u.call(i,n,t)};case 3:return function(n,t,r){return u.call(i,n,t,r)};case 4:return function(n,t,r,e){return u.call(i,n,t,r,e)}}return function(){return u.apply(i,arguments)}}),k=function(n,t,r){return null==n?A.identity:A.isFunction(n)?O(n,t,r):A.isObject(n)?A.matcher(n):A.property(n)},F=(A.iteratee=function(n,t){return k(n,t,1/0)},function(n){if(!A.isObject(n))return{};if(j)return j(n);w.prototype=n;n=new w;return w.prototype=null,n}),q=Math.pow(2,53)-1,S=i("length"),E=function(n){n=S(n);return"number"==typeof n&&0<=n&&n<=q},M=(A.each=A.forEach=function(n,t,r){if(t=O(t,r),E(n))for(u=0,i=n.length;u<i;u++)t(n[u],u,n);else for(var e=A.keys(n),u=0,i=e.length;u<i;u++)t(n[e[u]],e[u],n);return n},A.map=A.collect=function(n,t,r){t=k(t,r);for(var e=!E(n)&&A.keys(n),u=(e||n).length,i=Array(u),o=0;o<u;o++){var c=e?e[o]:o;i[o]=t(n[c],c,n)}return i},A.reduce=A.foldl=A.inject=n(1),A.reduceRight=A.foldr=n(-1),A.find=A.detect=function(n,t,r){t=E(n)?A.findIndex(n,t,r):A.findKey(n,t,r);return void 0!==t&&-1!==t?n[t]:void 0},A.filter=A.select=function(n,e,t){var u=[];return e=k(e,t),A.each(n,function(n,t,r){e(n,t,r)&&u.push(n)}),u},A.reject=function(n,t,r){return A.filter(n,A.negate(k(t)),r)},A.every=A.all=function(n,t,r){t=k(t,r);for(var e=!E(n)&&A.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(!t(n[o],o,n))return!1}return!0},A.some=A.any=function(n,t,r){t=k(t,r);for(var e=!E(n)&&A.keys(n),u=(e||n).length,i=0;i<u;i++){var o=e?e[i]:i;if(t(n[o],o,n))return!0}return!1},A.contains=A.includes=A.include=function(n,t,r,e){return E(n)||(n=A.values(n)),0<=A.indexOf(n,t,r="number"==typeof r&&!e?r:0)},A.invoke=function(n,r){var e=g.call(arguments,2),u=A.isFunction(r);return A.map(n,function(n){var t=u?r:n[r];return null==t?t:t.apply(n,e)})},A.pluck=function(n,t){return A.map(n,A.property(t))},A.where=function(n,t){return A.filter(n,A.matcher(t))},A.findWhere=function(n,t){return A.find(n,A.matcher(t))},A.max=function(n,e,t){var r,u,i=-1/0,o=-1/0;if(null==e&&null!=n)for(var c=0,a=(n=E(n)?n:A.values(n)).length;c<a;c++)r=n[c],i<r&&(i=r);else e=k(e,t),A.each(n,function(n,t,r){u=e(n,t,r),(o<u||u===-1/0&&i===-1/0)&&(i=n,o=u)});return i},A.min=function(n,e,t){var r,u,i=1/0,o=1/0;if(null==e&&null!=n)for(var c=0,a=(n=E(n)?n:A.values(n)).length;c<a;c++)(r=n[c])<i&&(i=r);else e=k(e,t),A.each(n,function(n,t,r){((u=e(n,t,r))<o||1/0===u&&1/0===i)&&(i=n,o=u)});return i},A.shuffle=function(n){for(var t,r=E(n)?n:A.values(n),e=r.length,u=Array(e),i=0;i<e;i++)(t=A.random(0,i))!==i&&(u[i]=u[t]),u[t]=r[i];return u},A.sample=function(n,t,r){return null==t||r?(n=E(n)?n:A.values(n))[A.random(n.length-1)]:A.shuffle(n).slice(0,Math.max(0,t))},A.sortBy=function(n,e,t){return e=k(e,t),A.pluck(A.map(n,function(n,t,r){return{value:n,index:t,criteria:e(n,t,r)}}).sort(function(n,t){var r=n.criteria,e=t.criteria;if(r!==e){if(e<r||void 0===r)return 1;if(r<e||void 0===e)return-1}return n.index-t.index}),"value")},A.groupBy=o(function(n,t,r){A.has(n,r)?n[r].push(t):n[r]=[t]}),A.indexBy=o(function(n,t,r){n[r]=t}),A.countBy=o(function(n,t,r){A.has(n,r)?n[r]++:n[r]=1}),A.toArray=function(n){return n?A.isArray(n)?g.call(n):E(n)?A.map(n,A.identity):A.values(n):[]},A.size=function(n){return null==n?0:(E(n)?n:A.keys(n)).length},A.partition=function(n,e,t){e=k(e,t);var u=[],i=[];return A.each(n,function(n,t,r){(e(n,t,r)?u:i).push(n)}),[u,i]},A.first=A.head=A.take=function(n,t,r){return null==n?void 0:null==t||r?n[0]:A.initial(n,n.length-t)},A.initial=function(n,t,r){return g.call(n,0,Math.max(0,n.length-(null==t||r?1:t)))},A.last=function(n,t,r){return null==n?void 0:null==t||r?n[n.length-1]:A.rest(n,Math.max(0,n.length-t))},A.rest=A.tail=A.drop=function(n,t,r){return g.call(n,null==t||r?1:t)},A.compact=function(n){return A.filter(n,A.identity)},function(n,t,r,e){for(var u=[],i=0,o=e||0,c=S(n);o<c;o++){var a=n[o];if(E(a)&&(A.isArray(a)||A.isArguments(a))){var f=0,l=(a=t?a:M(a,t,r)).length;for(u.length+=l;f<l;)u[i++]=a[f++]}else r||(u[i++]=a)}return u}),I=(A.flatten=function(n,t){return M(n,t,!1)},A.without=function(n){return A.difference(n,g.call(arguments,1))},A.uniq=A.unique=function(n,t,r,e){A.isBoolean(t)||(e=r,r=t,t=!1),null!=r&&(r=k(r,e));for(var u=[],i=[],o=0,c=S(n);o<c;o++){var a=n[o],f=r?r(a,o,n):a;t?(o&&i===f||u.push(a),i=f):r?A.contains(i,f)||(i.push(f),u.push(a)):A.contains(u,a)||u.push(a)}return u},A.union=function(){return A.uniq(M(arguments,!0,!0))},A.intersection=function(n){for(var t=[],r=arguments.length,e=0,u=S(n);e<u;e++){var i=n[e];if(!A.contains(t,i)){for(var o=1;o<r&&A.contains(arguments[o],i);o++);o===r&&t.push(i)}}return t},A.difference=function(n){var t=M(arguments,!0,!0,1);return A.filter(n,function(n){return!A.contains(t,n)})},A.zip=function(){return A.unzip(arguments)},A.unzip=function(n){for(var t=n&&A.max(n,S).length||0,r=Array(t),e=0;e<t;e++)r[e]=A.pluck(n,e);return r},A.object=function(n,t){for(var r={},e=0,u=S(n);e<u;e++)t?r[n[e]]=t[e]:r[n[e][0]]=n[e][1];return r},A.findIndex=t(1),A.findLastIndex=t(-1),A.sortedIndex=function(n,t,r,e){for(var u=(r=k(r,e,1))(t),i=0,o=S(n);i<o;){var c=Math.floor((i+o)/2);r(n[c])<u?i=c+1:o=c}return i},A.indexOf=r(1,A.findIndex,A.sortedIndex),A.lastIndexOf=r(-1,A.findLastIndex),A.range=function(n,t,r){null==t&&(t=n||0,n=0),r=r||1;for(var e=Math.max(Math.ceil((t-n)/r),0),u=Array(e),i=0;i<e;i++,n+=r)u[i]=n;return u},A.bind=function(n,t){if(_&&n.bind===_)return _.apply(n,g.call(arguments,1));var r,e;if(A.isFunction(n))return r=g.call(arguments,2),e=function(){return c(n,e,t,this,r.concat(g.call(arguments)))};throw new TypeError("Bind must be called on a function")},A.partial=function(u){function i(){for(var n=0,t=o.length,r=Array(t),e=0;e<t;e++)r[e]=o[e]===A?arguments[n++]:o[e];for(;n<arguments.length;)r.push(arguments[n++]);return c(u,i,this,this,r)}var o=g.call(arguments,1);return i},A.bindAll=function(n){var t,r,e=arguments.length;if(e<=1)throw new Error("bindAll must be passed function names");for(t=1;t<e;t++)n[r=arguments[t]]=A.bind(n[r],n);return n},A.memoize=function(e,u){function i(n){var t=i.cache,r=""+(u?u.apply(this,arguments):n);return A.has(t,r)||(t[r]=e.apply(this,arguments)),t[r]}return i.cache={},i},A.delay=function(n,t){var r=g.call(arguments,2);return setTimeout(function(){return n.apply(null,r)},t)},A.defer=A.partial(A.delay,A,1),A.throttle=function(r,e,u){function i(){l=!1===u.leading?0:A.now(),f=null,a=r.apply(o,c),f||(o=c=null)}var o,c,a,f=null,l=0;u=u||{};return function(){var n=A.now(),t=(l||!1!==u.leading||(l=n),e-(n-l));return o=this,c=arguments,t<=0||e<t?(f&&(clearTimeout(f),f=null),l=n,a=r.apply(o,c),f||(o=c=null)):f||!1===u.trailing||(f=setTimeout(i,t)),a}},A.debounce=function(t,r,e){function u(){var n=A.now()-a;n<r&&0<=n?i=setTimeout(u,r-n):(i=null,e||(f=t.apply(c,o),i)||(c=o=null))}var i,o,c,a,f;return function(){c=this,o=arguments,a=A.now();var n=e&&!i;return i=i||setTimeout(u,r),n&&(f=t.apply(c,o),c=o=null),f}},A.wrap=function(n,t){return A.partial(t,n)},A.negate=function(n){return function(){return!n.apply(this,arguments)}},A.compose=function(){var r=arguments,e=r.length-1;return function(){for(var n=e,t=r[e].apply(this,arguments);n--;)t=r[n].call(this,t);return t}},A.after=function(n,t){return function(){return--n<1?t.apply(this,arguments):void 0}},A.before=function(n,t){var r;return function(){return 0<--n&&(r=t.apply(this,arguments)),n<=1&&(t=null),r}},A.once=A.partial(A.before,2),!{toString:null}.propertyIsEnumerable("toString")),N=["valueOf","isPrototypeOf","toString","propertyIsEnumerable","hasOwnProperty","toLocaleString"],B=(A.keys=function(n){if(!A.isObject(n))return[];if(x)return x(n);var t,r=[];for(t in n)A.has(n,t)&&r.push(t);return I&&e(n,r),r},A.allKeys=function(n){if(!A.isObject(n))return[];var t,r=[];for(t in n)r.push(t);return I&&e(n,r),r},A.values=function(n){for(var t=A.keys(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=n[t[u]];return e},A.mapObject=function(n,t,r){t=k(t,r);for(var e,u=A.keys(n),i=u.length,o={},c=0;c<i;c++)o[e=u[c]]=t(n[e],e,n);return o},A.pairs=function(n){for(var t=A.keys(n),r=t.length,e=Array(r),u=0;u<r;u++)e[u]=[t[u],n[t[u]]];return e},A.invert=function(n){for(var t={},r=A.keys(n),e=0,u=r.length;e<u;e++)t[n[r[e]]]=r[e];return t},A.functions=A.methods=function(n){var t,r=[];for(t in n)A.isFunction(n[t])&&r.push(t);return r.sort()},A.extend=u(A.allKeys),A.extendOwn=A.assign=u(A.keys),A.findKey=function(n,t,r){t=k(t,r);for(var e,u=A.keys(n),i=0,o=u.length;i<o;i++)if(t(n[e=u[i]],e,n))return e},A.pick=function(n,t,r){var e,u,i={},o=n;if(null!=o){A.isFunction(t)?(u=A.allKeys(o),e=O(t,r)):(u=M(arguments,!1,!1,1),e=function(n,t,r){return t in r},o=Object(o));for(var c=0,a=u.length;c<a;c++){var f=u[c],l=o[f];e(l,f,o)&&(i[f]=l)}}return i},A.omit=function(n,t,r){var e;return t=A.isFunction(t)?A.negate(t):(e=A.map(M(arguments,!1,!1,1),String),function(n,t){return!A.contains(e,t)}),A.pick(n,t,r)},A.defaults=u(A.allKeys,!0),A.create=function(n,t){n=F(n);return t&&A.extendOwn(n,t),n},A.clone=function(n){return A.isObject(n)?A.isArray(n)?n.slice():A.extend({},n):n},A.tap=function(n,t){return t(n),n},A.isMatch=function(n,t){var r=A.keys(t),e=r.length;if(null==n)return!e;for(var u=Object(n),i=0;i<e;i++){var o=r[i];if(t[o]!==u[o]||!(o in u))return!1}return!0},function(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;if(null==n||null==t)return n===t;n instanceof A&&(n=n._wrapped),t instanceof A&&(t=t._wrapped);var u=m.call(n);if(u!==m.call(t))return!1;switch(u){case"[object RegExp]":case"[object String]":return""+n==""+t;case"[object Number]":return+n!=+n?+t!=+t:0==+n?1/+n==1/t:+n==+t;case"[object Date]":case"[object Boolean]":return+n==+t}u="[object Array]"===u;if(!u){if("object"!=typeof n||"object"!=typeof t)return!1;var i=n.constructor,o=t.constructor;if(i!==o&&!(A.isFunction(i)&&i instanceof i&&A.isFunction(o)&&o instanceof o)&&"constructor"in n&&"constructor"in t)return!1}e=e||[];for(var c=(r=r||[]).length;c--;)if(r[c]===n)return e[c]===t;if(r.push(n),e.push(t),u){if((c=n.length)!==t.length)return!1;for(;c--;)if(!B(n[c],t[c],r,e))return!1}else{var a,f=A.keys(n),c=f.length;if(A.keys(t).length!==c)return!1;for(;c--;)if(a=f[c],!A.has(t,a)||!B(n[a],t[a],r,e))return!1}return r.pop(),e.pop(),!0}),y=(A.isEqual=function(n,t){return B(n,t)},A.isEmpty=function(n){return null==n||(E(n)&&(A.isArray(n)||A.isString(n)||A.isArguments(n))?0===n.length:0===A.keys(n).length)},A.isElement=function(n){return!(!n||1!==n.nodeType)},A.isArray=b||function(n){return"[object Array]"===m.call(n)},A.isObject=function(n){var t=typeof n;return"function"==t||"object"==t&&!!n},A.each(["Arguments","Function","String","Number","Date","RegExp","Error"],function(t){A["is"+t]=function(n){return m.call(n)==="[object "+t+"]"}}),A.isArguments(arguments)||(A.isArguments=function(n){return A.has(n,"callee")}),"function"!=typeof/./&&"object"!=typeof Int8Array&&(A.isFunction=function(n){return"function"==typeof n||!1}),A.isFinite=function(n){return isFinite(n)&&!isNaN(parseFloat(n))},A.isNaN=function(n){return A.isNumber(n)&&n!==+n},A.isBoolean=function(n){return!0===n||!1===n||"[object Boolean]"===m.call(n)},A.isNull=function(n){return null===n},A.isUndefined=function(n){return void 0===n},A.has=function(n,t){return null!=n&&R.call(n,t)},A.noConflict=function(){return s._=p,this},A.identity=function(n){return n},A.constant=function(n){return function(){return n}},A.noop=function(){},A.property=i,A.propertyOf=function(t){return null==t?function(){}:function(n){return t[n]}},A.matcher=A.matches=function(t){return t=A.extendOwn({},t),function(n){return A.isMatch(n,t)}},A.times=function(n,t,r){var e=Array(Math.max(0,n));t=O(t,r,1);for(var u=0;u<n;u++)e[u]=t(u);return e},A.random=function(n,t){return null==t&&(t=n,n=0),n+Math.floor(Math.random()*(t-n+1))},A.now=Date.now||function(){return(new Date).getTime()},{"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"}),b=A.invert(y),K=(A.escape=a(y),A.unescape=a(b),A.result=function(n,t,r){t=null==n?void 0:n[t];return A.isFunction(t=void 0===t?r:t)?t.call(n):t},0),T=(A.uniqueId=function(n){var t=++K+"";return n?n+t:t},A.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g},/(.)^/),z={"'":"'","\\":"\\","\r":"r","\n":"n","\u2028":"u2028","\u2029":"u2029"},D=/\\|'|\r|\n|\u2028|\u2029/g;A.template=function(i,n,t){n=A.defaults({},n=!n&&t?t:n,A.templateSettings);var t=RegExp([(n.escape||T).source,(n.interpolate||T).source,(n.evaluate||T).source].join("|")+"|$","g"),o=0,c="__p+='";i.replace(t,function(n,t,r,e,u){return c+=i.slice(o,u).replace(D,f),o=u+n.length,t?c+="'+\n((__t=("+t+"))==null?'':_.escape(__t))+\n'":r?c+="'+\n((__t=("+r+"))==null?'':__t)+\n'":e&&(c+="';\n"+e+"\n__p+='"),n}),c+="';\n",c="var __t,__p='',__j=Array.prototype.join,print=function(){__p+=__j.call(arguments,'');};\n"+(c=n.variable?c:"with(obj||{}){\n"+c+"}\n")+"return __p;\n";try{var r=new Function(n.variable||"obj","_",c)}catch(n){throw n.source=c,n}function e(n){return r.call(this,n,A)}t=n.variable||"obj";return e.source="function("+t+"){\n"+c+"}",e},A.chain=function(n){n=A(n);return n._chain=!0,n};A.mixin=function(r){A.each(A.functions(r),function(n){var t=A[n]=r[n];A.prototype[n]=function(){var n=[this._wrapped];return d.apply(n,arguments),l(this,t.apply(A,n))}})},A.mixin(A),A.each(["pop","push","reverse","shift","sort","splice","unshift"],function(t){var r=h[t];A.prototype[t]=function(){var n=this._wrapped;return r.apply(n,arguments),"shift"!==t&&"splice"!==t||0!==n.length||delete n[0],l(this,n)}}),A.each(["concat","join","slice"],function(n){var t=h[n];A.prototype[n]=function(){return l(this,t.apply(this._wrapped,arguments))}}),A.prototype.value=function(){return this._wrapped},A.prototype.valueOf=A.prototype.toJSON=A.prototype.value,A.prototype.toString=function(){return""+this._wrapped},"function"==typeof define&&define.amd&&define("underscore",[],function(){return A})}.call(this);