/** * @license * Lo-Dash 1.2.1 (Custom Build) lodash.com/license * Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js` * Underscore.js 1.4.4 underscorejs.org/LICENSE */ ;!function(n){function t(n){return n instanceof t?n:new l(n)}function r(n,t,r){r=(r||0)-1;for(var e=n.length;++rt||typeof n=="undefined")return 1;if(ne&&(e=r,u=n)}); else for(;++ou&&(u=r);return u}function k(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++rarguments.length;t=W(t,e,4);var o=-1,i=n.length;if(typeof i=="number")for(u&&(r=n[++o]);++oarguments.length;if(typeof u!="number")var i=$t(n),u=i.length;return t=W(t,e,4),N(n,function(e,a,f){a=i?i[--u]:--u,r=o?(o=!1,n[a]):t(r,n[a],a,f) }),r}function D(n,t,r){var e;t=W(t,r),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++rr(u,i)&&o.push(i)}return o}function $(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&null!=t){var o=-1;for(t=W(t,r);++oe?Ft(0,u+e):e||0}else if(e)return e=P(n,t),n[e]===t?e:-1;return n?r(n,t,e):-1}function C(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=W(t,r);++u>>1,r(n[e])o(l,c))&&(r&&l.push(c),a.push(e))}return a}function V(n,t){return Mt.fastBind||xt&&2"']/g,rt=/['\n\r\t\u2028\u2029\\]/g,et="[object Arguments]",ut="[object Array]",ot="[object Boolean]",it="[object Date]",at="[object Number]",ft="[object Object]",lt="[object RegExp]",ct="[object String]",pt={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},st={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},vt=Array.prototype,L=Object.prototype,gt=n._,ht=RegExp("^"+(L.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),yt=Math.ceil,mt=n.clearTimeout,_t=vt.concat,bt=Math.floor,dt=L.hasOwnProperty,jt=vt.push,wt=n.setTimeout,At=L.toString,xt=ht.test(xt=At.bind)&&xt,Ot=ht.test(Ot=Object.create)&&Ot,Et=ht.test(Et=Array.isArray)&&Et,St=n.isFinite,Nt=n.isNaN,Bt=ht.test(Bt=Object.keys)&&Bt,Ft=Math.max,kt=Math.min,qt=Math.random,Rt=vt.slice,L=ht.test(n.attachEvent),Dt=xt&&!/\n|true/.test(xt+L),Mt={}; !function(){var n={0:1,length:1};Mt.fastBind=xt&&!Dt,Mt.spliceObjects=(vt.splice.call(n,0,1),!n[0])}(1),t.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Ot||(o=function(n){if(d(n)){c.prototype=n;var t=new c;c.prototype=null}return t||{}}),l.prototype=t.prototype,s(arguments)||(s=function(n){return n?dt.call(n,"callee"):!1});var Tt=Et||function(n){return n?typeof n=="object"&&At.call(n)==ut:!1},Et=function(n){var t,r=[];if(!n||!pt[typeof n])return r; for(t in n)dt.call(n,t)&&r.push(t);return r},$t=Bt?function(n){return d(n)?Bt(n):[]}:Et,It={"&":"&","<":"<",">":">",'"':""","'":"'"},zt=y(It),Ct=function(n,t){var r;if(!n||!pt[typeof n])return n;for(r in n)if(t(n[r],r,n)===X)break;return n},Pt=function(n,t){var r;if(!n||!pt[typeof n])return n;for(r in n)if(dt.call(n,r)&&t(n[r],r,n)===X)break;return n};b(/x/)&&(b=function(n){return typeof n=="function"&&"[object Function]"==At.call(n)}),t.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0 }},t.bind=V,t.bindAll=function(n){for(var t=1u(i,a)){for(var l=r;--l;)if(0>u(t[l],a))continue n;i.push(a)}}return i},t.invert=y,t.invoke=function(n,t){var r=Rt.call(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0); return N(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},t.keys=$t,t.map=B,t.max=F,t.memoize=function(n,t){var r={};return function(){var e=Y+(t?t.apply(this,arguments):arguments[0]);return dt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},t.min=function(n,t,r){var e=1/0,u=e,o=-1,i=n?n.length:0;if(t||typeof i!="number")t=W(t,r),N(n,function(n,r,o){r=t(n,r,o),rt(r,u)&&(e[u]=n) }),e},t.once=function(n){var t,r;return function(){return t?r:(t=!0,r=n.apply(this,arguments),n=null,r)}},t.pairs=function(n){for(var t=-1,r=$t(n),e=r.length,u=Array(e);++tr?0:r);++tr?Ft(0,e+r):kt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},t.mixin=H,t.noConflict=function(){return n._=gt,this},t.random=function(n,t){null==n&&null==t&&(t=1),n=+n||0,null==t?(t=n,n=0):t=+t||0;var r=qt();return n%1||t%1?n+kt(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+bt(r*(t-n+1))},t.reduce=q,t.reduceRight=R,t.result=function(n,t){var r=n?n[t]:null; return b(r)?n[t]():r},t.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:$t(n).length},t.some=D,t.sortedIndex=P,t.template=function(n,r,e){var u=t.templateSettings;n||(n=""),e=g({},e,u);var o=0,i="__p+='",u=e.variable;n.replace(RegExp((e.escape||nt).source+"|"+(e.interpolate||nt).source+"|"+(e.evaluate||nt).source+"|$","g"),function(t,r,e,u,f){return i+=n.slice(o,f).replace(rt,a),r&&(i+="'+_['escape']("+r+")+'"),u&&(i+="';"+u+";__p+='"),e&&(i+="'+((__t=("+e+"))==null?'':__t)+'"),o=f+t.length,t }),i+="';\n",u||(u="obj",i="with("+u+"||{}){"+i+"}"),i="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+i+"return __p}";try{var f=Function("_","return "+i)(t)}catch(l){throw l.source=i,l}return r?f(r):(f.source=i,f)},t.unescape=function(n){return null==n?"":(n+"").replace(Z,p)},t.uniqueId=function(n){var t=++Q+"";return n?n+t:t},t.all=O,t.any=D,t.detect=S,t.findWhere=function(n,t){return M(n,t,!0)},t.foldl=q,t.foldr=R,t.include=x,t.inject=q,t.first=$,t.last=function(n,t,r){if(n){var e=0,u=n.length; if(typeof t!="number"&&null!=t){var o=u;for(t=W(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n[u-1];return Rt.call(n,Ft(0,u-e))}},t.take=$,t.head=$,t.VERSION="1.2.1",H(t),t.prototype.chain=function(){return this.__chain__=!0,this},t.prototype.value=function(){return this.__wrapped__},N("pop push reverse shift sort splice unshift".split(" "),function(n){var r=vt[n];t.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),!Mt.spliceObjects&&0===n.length&&delete n[0],this }}),N(["concat","join","slice"],function(n){var r=vt[n];t.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new l(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=t, define(function(){return t})):J&&!J.nodeType?K?(K.exports=t)._=t:J._=t:n._=t}(this);