Ensure "Functions" methods throw if not provided a function and remove Adobe JS engine fix from compareAscending for modern builds.

Former-commit-id: 85f2c3579c33440d3f7351f5a0dfb1c09cd0cc7a
This commit is contained in:
John-David Dalton
2013-08-08 23:11:13 -07:00
parent 25c91b398a
commit 8fb9557520
9 changed files with 787 additions and 524 deletions

View File

@@ -3,34 +3,34 @@
* Lo-Dash 1.3.1 (Custom Build) lodash.com/license | Underscore.js 1.5.1 underscorejs.org/LICENSE
* Build: `lodash underscore exports="amd,commonjs,global,node" -o ./dist/lodash.underscore.js`
*/
;!function(n){function t(n,t){var r;if(n&&_t[typeof n])for(r in n)if(Ft.call(n,r)&&t(n[r],r,n)===ot)break}function r(n,t){var r;if(n&&_t[typeof n])for(r in n)if(t(n[r],r,n)===ot)break}function e(n){var t,r=[];if(!n||!_t[typeof n])return r;for(t in n)Ft.call(n,t)&&r.push(t);return r}function u(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++r<e;)if(n[r]===t)return r;return-1}function i(n,t){var r=n.m,e=t.m;if(n=n.l,t=t.l,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1
}return r<e?-1:1}function o(n){return"\\"+dt[n]}function a(){}function f(n){return n instanceof f?n:new c(n)}function c(n,t){this.__chain__=!!t,this.__wrapped__=n}function l(n,t,r){if(typeof n!="function")return Z;if(typeof t=="undefined")return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,i){return n.call(t,r,e,u,i)}}return Q(n,t)}function p(n,t,r,e){e=(e||0)-1;
for(var u=n?n.length:0,i=[];++e<u;){var o=n[e];o&&typeof o=="object"&&(Ht(o)||b(o))?Nt.apply(i,t?o:p(o,t,r)):r||i.push(o)}return i}function s(n,t,e,u){if(n===t)return 0!==n||1/n==1/t;if(n===n&&(!n||!_t[typeof n])&&(!t||!_t[typeof t]))return ut;if(n==et||t==et)return n===t;var i=Rt.call(n),o=Rt.call(t);if(i!=o)return ut;switch(i){case st:case vt:return+n==+t;case gt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case yt:case mt:return n==t+""}if(o=i==pt,!o){if(Ft.call(n,"__wrapped__")||t instanceof f)return s(n.__wrapped__||n,t.__wrapped__||t,e,u);
if(i!=ht)return ut;var i=n.constructor,a=t.constructor;if(i!=a&&(!E(i)||!(i instanceof i&&E(a)&&a instanceof a)))return ut}for(e||(e=[]),u||(u=[]),i=e.length;i--;)if(e[i]==n)return u[i]==t;var c=rt,l=0;if(e.push(n),u.push(t),o){if(l=t.length,c=l==n.length)for(;l--&&(c=s(n[l],t[l],e,u)););return c}return r(t,function(t,r,i){return Ft.call(i,r)?(l++,!(c=Ft.call(n,r)&&s(n[r],t,e,u))&&ot):void 0}),c&&r(n,function(n,t,r){return Ft.call(r,t)?!(c=-1<--l)&&ot:void 0}),c}function v(n,t,r){for(var e=-1,u=_(),i=n?n.length:0,o=[],a=r?[]:o;++e<i;){var f=n[e],c=r?r(f,e,n):f;
(t?!e||a[a.length-1]!==c:0>u(a,c))&&(r&&a.push(c),o.push(f))}return o}function g(n){return function(t,r,e){var u={};return r=X(r,e,3),q(t,function(t,e,i){e=r(t,e,i)+"",n(u,t,e,i)}),u}}function h(n,t,r,e){var u=[];if(!E(n))throw new TypeError;if(e||u.length||!(Gt.fastBind||Bt&&r.length))o=function(){var i=arguments,a=e?this:t;return(r.length||u.length)&&(kt.apply(i,r),Nt.apply(i,u)),this instanceof o?(a=y(n.prototype),i=n.apply(a,i),T(i)?i:a):n.apply(a,i)};else{var i=[n,t];Nt.apply(i,r);var o=Bt.call.apply(Bt,i)
}return o}function y(n){return T(n)?Dt(n):{}}function m(n){return Kt[n]}function _(){var n=(n=f.indexOf)===H?u:n;return n}function d(n){return Lt[n]}function b(n){return n&&typeof n=="object"?Rt.call(n)==lt:ut}function j(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)n[u]=e[u]}return n}function w(n){if(!n)return n;for(var t=1,r=arguments.length;t<r;t++){var e=arguments[t];if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function x(n){var t=[];
return r(n,function(n,r){E(n)&&t.push(r)}),t.sort()}function A(n){for(var t=-1,r=Jt(n),e=r.length,u={};++t<e;){var i=r[t];u[n[i]]=i}return u}function O(n){if(!n)return rt;if(Ht(n)||F(n))return!n.length;for(var t in n)if(Ft.call(n,t))return ut;return rt}function E(n){return typeof n=="function"}function T(n){return!(!n||!_t[typeof n])}function S(n){return typeof n=="number"||Rt.call(n)==gt}function F(n){return typeof n=="string"||Rt.call(n)==mt}function N(n){for(var t=-1,r=Jt(n),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];
return u}function R(n,r){var e=_(),u=n?n.length:0,i=ut;return u&&typeof u=="number"?i=-1<e(n,r):t(n,function(n){return(i=n===r)&&ot}),i}function k(n,r,e){var u=rt;r=X(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i&&(u=!!r(n[e],e,n)););else t(n,function(n,t,e){return!(u=!!r(n,t,e))&&ot});return u}function B(n,r,e){var u=[];r=X(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i;){var o=n[e];r(o,e,n)&&u.push(o)}else t(n,function(n,t,e){r(n,t,e)&&u.push(n)});return u}function D(n,r,e){r=X(r,e,3),e=-1;
var u=n?n.length:0;if(typeof u!="number"){var i;return t(n,function(n,t,e){return r(n,t,e)?(i=n,ot):void 0}),i}for(;++e<u;){var o=n[e];if(r(o,e,n))return o}}function q(n,r,e){var u=-1,i=n?n.length:0;if(r=r&&typeof e=="undefined"?r:l(r,e,3),typeof i=="number")for(;++u<i&&r(n[u],u,n)!==ot;);else t(n,r)}function M(n,t){var r=n?n.length:0;if(typeof r!="number")var e=Jt(n),r=e.length;q(n,function(u,i,o){return i=e?e[--r]:--r,t(n[i],i,o)===ut&&ot})}function $(n,r,e){var u=-1,i=n?n.length:0;if(r=X(r,e,3),typeof i=="number")for(var o=Array(i);++u<i;)o[u]=r(n[u],u,n);
else o=[],t(n,function(n,t,e){o[++u]=r(n,t,e)});return o}function I(n,t,r){var e=-1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=X(t,r,3),q(n,function(n,r,i){r=t(n,r,i),r>e&&(e=r,u=n)});else for(;++i<o;)r=n[i],r>u&&(u=r);return u}function W(n,t){var r=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++r<e;)u[r]=n[r][t];return u||$(n,t)}function z(n,r,e,u){if(!n)return e;var i=3>arguments.length;r=l(r,u,4);var o=-1,a=n.length;if(typeof a=="number")for(i&&(e=n[++o]);++o<a;)e=r(e,n[o],o,n);
else t(n,function(n,t,u){e=i?(i=ut,n):r(e,n,t,u)});return e}function C(n,t,r,e){var u=3>arguments.length;return t=l(t,e,4),M(n,function(n,e,i){r=u?(u=ut,n):t(r,n,e,i)}),r}function P(n,r,e){var u;r=X(r,e,3),e=-1;var i=n?n.length:0;if(typeof i=="number")for(;++e<i&&!(u=r(n[e],e,n)););else t(n,function(n,t,e){return(u=r(n,t,e))&&ot});return!!u}function U(n,t,r){return r&&O(t)?tt:(r?D:B)(n,t)}function V(n){for(var t=-1,r=_(),e=n.length,u=p(arguments,rt,rt,1),i=[];++t<e;){var o=n[t];0>r(u,o)&&i.push(o)
}return i}function G(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=et){var i=-1;for(t=X(t,r,3);++i<u&&t(n[i],i,n);)e++}else if(e=t,e==et||r)return n[0];return Pt.call(n,0,zt(Wt(0,e),u))}}function H(n,t,r){if(typeof r=="number"){var e=n?n.length:0;r=0>r?Wt(0,e+r):r||0}else if(r)return r=K(n,t),n[r]===t?r:-1;return n?u(n,t,r):-1}function J(n,t,r){if(typeof t!="number"&&t!=et){var e=0,u=-1,i=n?n.length:0;for(t=X(t,r,3);++u<i&&t(n[u],u,n);)e++}else e=t==et||r?1:Wt(0,t);return Pt.call(n,e)
}function K(n,t,r,e){var u=0,i=n?n.length:u;for(r=r?X(r,e,1):Z,t=r(t);u<i;)e=u+i>>>1,r(n[e])<t?u=e+1:i=e;return u}function L(n,t,r,e){return typeof t!="boolean"&&t!=et&&(e=r,r=e&&e[t]===n?tt:t,t=ut),r!=et&&(r=X(r,e,3)),v(n,t,r)}function Q(n,t){return h(n,t,Pt.call(arguments,2))}function X(n,t,r){var e=typeof n;if(n==et||"function"==e)return l(n,t,r);if("object"!=e)return function(t){return t[n]};var u=Jt(n);return function(t){for(var r=u.length,e=ut;r--&&(e=t[u[r]]===n[u[r]]););return e}}function Y(n,t,r){function e(){clearTimeout(s),clearTimeout(v),c=0,s=v=et
}function u(){var t=g&&(!h||1<c);e(),t&&(p!==ut&&(l=new Date),a=n.apply(f,o))}function i(){e(),(g||p!==t)&&(l=new Date,a=n.apply(f,o))}var o,a,f,c=0,l=0,p=ut,s=et,v=et,g=rt;if(t=Wt(0,t||0),r===rt)var h=rt,g=ut;else T(r)&&(h=r.leading,p="maxWait"in r&&Wt(t,r.maxWait||0),g="trailing"in r?r.trailing:g);return function(){if(o=arguments,f=this,c++,clearTimeout(v),p===ut)h&&2>c&&(a=n.apply(f,o));else{var r=new Date;!s&&!h&&(l=r);var e=p-(r-l);0<e?s||(s=setTimeout(i,e)):(clearTimeout(s),s=et,l=r,a=n.apply(f,o))
}return t!==p&&(v=setTimeout(u,t)),a}}function Z(n){return n}function nt(n){q(x(n),function(t){var r=f[t]=n[t];f.prototype[t]=function(){var n=[this.__wrapped__];return Nt.apply(n,arguments),n=r.apply(f,n),this.__chain__&&(n=new c(n),n.__chain__=rt),n}})}var tt,rt=!0,et=null,ut=!1,it=0,ot={},at=+new Date+"",ft=/($^)/,ct=/['\n\r\t\u2028\u2029\\]/g,lt="[object Arguments]",pt="[object Array]",st="[object Boolean]",vt="[object Date]",gt="[object Number]",ht="[object Object]",yt="[object RegExp]",mt="[object String]",_t={"boolean":ut,"function":rt,object:rt,number:ut,string:ut,undefined:ut},dt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},bt=_t[typeof exports]&&exports,jt=_t[typeof module]&&module&&module.exports==bt&&module,wt=_t[typeof global]&&global;
!wt||wt.global!==wt&&wt.window!==wt||(n=wt);var xt=[],At=Object.prototype,Ot=n._,Et=RegExp("^"+(At.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),Tt=Math.ceil,St=Math.floor,Ft=At.hasOwnProperty,Nt=xt.push,Rt=At.toString,kt=xt.unshift,Bt=Et.test(Bt=Rt.bind)&&Bt,Dt=Et.test(Dt=Object.create)&&Dt,qt=Et.test(qt=Array.isArray)&&qt,Mt=n.isFinite,$t=n.isNaN,It=Et.test(It=Object.keys)&&It,Wt=Math.max,zt=Math.min,Ct=Math.random,Pt=xt.slice,Ut=Et.test(n.attachEvent),Vt=Bt&&!/\n|true/.test(Bt+Ut);
c.prototype=f.prototype;var Gt={};!function(){var n={0:1,length:1};Gt.fastBind=Bt&&!Vt,Gt.spliceObjects=(xt.splice.call(n,0,1),!n[0])}(1),f.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},Dt||(y=function(n){if(T(n)){a.prototype=n;var t=new a;a.prototype=et}return t||{}}),b(arguments)||(b=function(n){return n&&typeof n=="object"?Ft.call(n,"callee"):ut});var Ht=qt||function(n){return n&&typeof n=="object"?Rt.call(n)==pt:ut},Jt=It?function(n){return T(n)?It(n):[]
}:e,Kt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"},Lt=A(Kt),Qt=RegExp("("+Jt(Lt).join("|")+")","g"),Xt=RegExp("["+Jt(Kt).join("")+"]","g");E(/x/)&&(E=function(n){return typeof n=="function"&&"[object Function]"==Rt.call(n)});var Yt=g(function(n,t,r){Ft.call(n,r)?n[r]++:n[r]=1}),Zt=g(function(n,t,r){(Ft.call(n,r)?n[r]:n[r]=[]).push(t)});f.after=function(n,t){return function(){return 1>--n?t.apply(this,arguments):void 0}},f.bind=Q,f.bindAll=function(n){for(var t=1<arguments.length?p(arguments,rt,ut,1):x(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=Q(n[u],n)}return n},f.chain=function(n){return n=new c(n),n.__chain__=rt,n},f.compact=function(n){for(var t=-1,r=n?n.length:0,e=[];++t<r;){var u=n[t];u&&e.push(u)}return e},f.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},f.countBy=Yt,f.debounce=Y,f.defaults=w,f.defer=function(n){var t=Pt.call(arguments,1);return setTimeout(function(){n.apply(tt,t)},1)},f.delay=function(n,t){var r=Pt.call(arguments,2);return setTimeout(function(){n.apply(tt,r)
},t)},f.difference=V,f.filter=B,f.flatten=function(n,t){return p(n,t)},f.forEach=q,f.functions=x,f.groupBy=Zt,f.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&t!=et){var i=u;for(t=X(t,r,3);i--&&t(n[i],i,n);)e++}else e=t==et||r?1:t||e;return Pt.call(n,0,zt(Wt(0,u-e),u))},f.intersection=function(n){var t=arguments,r=t.length,e=-1,u=_(),i=n?n.length:0,o=[];n:for(;++e<i;){var a=n[e];if(0>u(o,a)){for(var f=r;--f;)if(0>u(t[f],a))continue n;o.push(a)}}return o},f.invert=A,f.invoke=function(n,t){var r=Pt.call(arguments,2),e=-1,u=typeof t=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0);
return q(n,function(n){o[++e]=(u?t:n[t]).apply(n,r)}),o},f.keys=Jt,f.map=$,f.max=I,f.memoize=function(n,t){var r={};return function(){var e=at+(t?t.apply(this,arguments):arguments[0]);return Ft.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},f.min=function(n,t,r){var e=1/0,u=e,i=-1,o=n?n.length:0;if(t||typeof o!="number")t=X(t,r,3),q(n,function(n,r,i){r=t(n,r,i),r<e&&(e=r,u=n)});else for(;++i<o;)r=n[i],r<u&&(u=r);return u},f.omit=function(n){var t=_(),e=p(arguments,rt,ut,1),u={};return r(n,function(n,r){0>t(e,r)&&(u[r]=n)
}),u},f.once=function(n){var t,r;return function(){return t?r:(t=rt,r=n.apply(this,arguments),n=et,r)}},f.pairs=function(n){for(var t=-1,r=Jt(n),e=r.length,u=Array(e);++t<e;){var i=r[t];u[t]=[i,n[i]]}return u},f.partial=function(n){return h(n,et,Pt.call(arguments,1),rt)},f.pick=function(n){for(var t=-1,r=p(arguments,rt,ut,1),e=r.length,u={};++t<e;){var i=r[t];i in n&&(u[i]=n[i])}return u},f.pluck=W,f.range=function(n,t,r){n=+n||0,r=+r||1,t==et&&(t=n,n=0);var e=-1;t=Wt(0,Tt((t-n)/r));for(var u=Array(t);++e<t;)u[e]=n,n+=r;
return u},f.reject=function(n,t,r){return t=X(t,r,3),B(n,function(n,r,e){return!t(n,r,e)})},f.rest=J,f.shuffle=function(n){var t=-1,r=n?n.length:0,e=Array(typeof r=="number"?r:0);return q(n,function(n){var r=St(Ct()*(++t+1));e[t]=e[r],e[r]=n}),e},f.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,o=Array(typeof u=="number"?u:0);for(t=X(t,r,3),q(n,function(n,r,u){o[++e]={l:t(n,r,u),m:e,n:n}}),u=o.length,o.sort(i);u--;)o[u]=o[u].n;return o},f.tap=function(n,t){return t(n),n},f.throttle=function(n,t,r){var e=rt,u=rt;
return r===ut?e=ut:T(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),r={},r.leading=e,r.maxWait=t,r.trailing=u,Y(n,t,r)},f.times=function(n,t,r){for(var e=-1,u=Array(-1<n?n:0);++e<n;)u[e]=t.call(r,e);return u},f.toArray=function(n){return Ht(n)?Pt.call(n):n&&typeof n.length=="number"?$(n):N(n)},f.union=function(){return v(p(arguments,rt,rt))},f.uniq=L,f.values=N,f.where=U,f.without=function(n){return V(n,Pt.call(arguments,1))},f.wrap=function(n,t){return function(){var r=[n];return Nt.apply(r,arguments),t.apply(this,r)
}},f.zip=function(){for(var n=-1,t=I(W(arguments,"length")),r=Array(0>t?0:t);++n<t;)r[n]=W(arguments,n);return r},f.collect=$,f.drop=J,f.each=q,f.extend=j,f.methods=x,f.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var i=n[r];t?u[i]=t[r]:i&&(u[i[0]]=i[1])}return u},f.select=B,f.tail=J,f.unique=L,f.clone=function(n){return T(n)?Ht(n)?Pt.call(n):j({},n):n},f.contains=R,f.escape=function(n){return n==et?"":(n+"").replace(Xt,m)},f.every=k,f.find=D,f.has=function(n,t){return n?Ft.call(n,t):ut
},f.identity=Z,f.indexOf=H,f.isArguments=b,f.isArray=Ht,f.isBoolean=function(n){return n===rt||n===ut||Rt.call(n)==st},f.isDate=function(n){return n?typeof n=="object"&&Rt.call(n)==vt:ut},f.isElement=function(n){return n?1===n.nodeType:ut},f.isEmpty=O,f.isEqual=function(n,t){return s(n,t)},f.isFinite=function(n){return Mt(n)&&!$t(parseFloat(n))},f.isFunction=E,f.isNaN=function(n){return S(n)&&n!=+n},f.isNull=function(n){return n===et},f.isNumber=S,f.isObject=T,f.isRegExp=function(n){return n&&_t[typeof n]?Rt.call(n)==yt:ut
},f.isString=F,f.isUndefined=function(n){return typeof n=="undefined"},f.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Wt(0,e+r):zt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},f.mixin=nt,f.noConflict=function(){return n._=Ot,this},f.random=function(n,t){n==et&&t==et&&(t=1),n=+n||0,t==et?(t=n,n=0):t=+t||0;var r=Ct();return n%1||t%1?n+zt(r*(t-n+parseFloat("1e-"+((r+"").length-1))),t):n+St(r*(t-n+1))},f.reduce=z,f.reduceRight=C,f.result=function(n,t){var r=n?n[t]:tt;
return E(r)?n[t]():r},f.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Jt(n).length},f.some=P,f.sortedIndex=K,f.template=function(n,t,r){var e=f,u=e.templateSettings;n||(n=""),r=w({},r,u);var i=0,a="__p+='",u=r.variable;n.replace(RegExp((r.escape||ft).source+"|"+(r.interpolate||ft).source+"|"+(r.evaluate||ft).source+"|$","g"),function(t,r,e,u,f){return a+=n.slice(i,f).replace(ct,o),r&&(a+="'+_.escape("+r+")+'"),u&&(a+="';"+u+";__p+='"),e&&(a+="'+((__t=("+e+"))==null?'':__t)+'"),i=f+t.length,t
}),a+="';\n",u||(u="obj",a="with("+u+"||{}){"+a+"}"),a="function("+u+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+a+"return __p}";try{var c=Function("_","return "+a)(e)}catch(l){throw l.source=a,l}return t?c(t):(c.source=a,c)},f.unescape=function(n){return n==et?"":(n+"").replace(Qt,d)},f.uniqueId=function(n){var t=++it+"";return n?n+t:t},f.all=k,f.any=P,f.detect=D,f.findWhere=function(n,t){return U(n,t,rt)},f.foldl=z,f.foldr=C,f.include=R,f.inject=z,f.first=G,f.last=function(n,t,r){if(n){var e=0,u=n.length;
if(typeof t!="number"&&t!=et){var i=u;for(t=X(t,r,3);i--&&t(n[i],i,n);)e++}else if(e=t,e==et||r)return n[u-1];return Pt.call(n,Wt(0,u-e))}},f.take=G,f.head=G,nt(f),f.VERSION="1.3.1",f.prototype.chain=function(){return this.__chain__=rt,this},f.prototype.value=function(){return this.__wrapped__},q("pop push reverse shift sort splice unshift".split(" "),function(n){var t=xt[n];f.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),!Gt.spliceObjects&&0===n.length&&delete n[0],this
}}),q(["concat","join","slice"],function(n){var t=xt[n];f.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new c(n),n.__chain__=rt),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=f, define(function(){return f})):bt&&!bt.nodeType?jt?(jt.exports=f)._=f:bt._=f:n._=f}(this);
;!function(n){function r(n,r,t){t=(t||0)-1;for(var e=n?n.length:0;++t<e;)if(n[t]===r)return t;return-1}function t(n,r){var t=n.m,e=r.m;if(n=n.l,r=r.l,n!==r){if(n>r||typeof n=="undefined")return 1;if(n<r||typeof r=="undefined")return-1}return t<e?-1:t>e?1:0}function e(n){return"\\"+pr[n]}function u(n){return n instanceof u?n:new i(n)}function i(n,r){this.__chain__=!!r,this.__wrapped__=n}function o(n,r,t){if(typeof n!="function")return K;if(typeof r=="undefined")return n;switch(t){case 1:return function(t){return n.call(r,t)
};case 2:return function(t,e){return n.call(r,t,e)};case 3:return function(t,e,u){return n.call(r,t,e,u)};case 4:return function(t,e,u,i){return n.call(r,t,e,u,i)}}return G(n,r)}function a(n,r,t,e){e=(e||0)-1;for(var u=n?n.length:0,i=[];++e<u;){var o=n[e];o&&typeof o=="object"&&($r(o)||g(o))?jr.apply(i,r?o:a(o,r,t)):t||i.push(o)}return i}function f(n,r,t,e){if(n===r)return 0!==n||1/n==1/r;if(n===n&&(!n||!cr[typeof n])&&(!r||!cr[typeof r]))return!1;if(null==n||null==r)return n===r;var i=xr.call(n),o=xr.call(r);
if(i!=o)return!1;switch(i){case ur:case ir:return+n==+r;case or:return n!=+n?r!=+r:0==n?1/n==1/r:n==+r;case fr:case lr:return n==r+""}if(o=i==er,!o){if(wr.call(n,"__wrapped__")||r instanceof u)return f(n.__wrapped__||n,r.__wrapped__||r,t,e);if(i!=ar)return!1;var i=n.constructor,a=r.constructor;if(i!=a&&(!w(i)||!(i instanceof i&&w(a)&&a instanceof a)))return!1}for(t||(t=[]),e||(e=[]),i=t.length;i--;)if(t[i]==n)return e[i]==r;var l=!0,c=0;if(t.push(n),e.push(r),o){if(c=r.length,l=c==n.length)for(;c--&&(l=f(n[c],r[c],t,e)););return l
}return Vr(r,function(r,u,i){return wr.call(i,u)?(c++,!(l=wr.call(n,u)&&f(n[u],r,t,e))&&Y):void 0}),l&&Vr(n,function(n,r,t){return wr.call(t,r)?!(l=-1<--c)&&Y:void 0}),l}function l(n,r,t){for(var e=-1,u=v(),i=n?n.length:0,o=[],a=t?[]:o;++e<i;){var f=n[e],l=t?t(f,e,n):f;(r?!e||a[a.length-1]!==l:0>u(a,l))&&(t&&a.push(l),o.push(f))}return o}function c(n){return function(r,t,e){var u={};return t=H(t,e,3),N(r,function(r,e,i){e=t(r,e,i)+"",n(u,r,e,i)}),u}}function p(n,r,t,e,u,i){var o=1&r,a=2&r,f=4&r;if(!a&&!w(n))throw new TypeError;
var l=n&&n.__bindData__;return l?(o&&!(1&l[1])&&(l[4]=u),f&&!(4&l[1])&&(l[5]=i),t&&jr.apply(l[2]||(l[2]=[]),t),e&&jr.apply(l[3]||(l[3]=[]),e),l[1]|=r,p.apply(null,l)):(kr.call(arguments),a&&(u=n),bound)}function s(n){return zr[n]}function v(){var n=(n=u.indexOf)===C?r:n;return n}function h(n){return Cr[n]}function g(n){return n&&typeof n=="object"?xr.call(n)==tr:!1}function y(n){if(!n)return n;for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)n[u]=e[u]}return n}function m(n){if(!n)return n;
for(var r=1,t=arguments.length;r<t;r++){var e=arguments[r];if(e)for(var u in e)"undefined"==typeof n[u]&&(n[u]=e[u])}return n}function _(n){var r=[];return Vr(n,function(n,t){w(n)&&r.push(t)}),r.sort()}function d(n){for(var r=-1,t=Wr(n),e=t.length,u={};++r<e;){var i=t[r];u[n[i]]=i}return u}function b(n){if(!n)return!0;if($r(n)||E(n))return!n.length;for(var r in n)if(wr.call(n,r))return!1;return!0}function w(n){return typeof n=="function"}function j(n){return!(!n||!cr[typeof n])}function x(n){return typeof n=="number"||xr.call(n)==or
}function E(n){return typeof n=="string"||xr.call(n)==lr}function A(n){for(var r=-1,t=Wr(n),e=t.length,u=Array(e);++r<e;)u[r]=n[t[r]];return u}function T(n,r){var t=v(),e=n?n.length:0,u=!1;return e&&typeof e=="number"?u=-1<t(n,r):Gr(n,function(n){return(u=n===r)&&Y}),u}function O(n,r,t){var e=!0;r=H(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&(e=!!r(n[t],t,n)););else Gr(n,function(n,t,u){return!(e=!!r(n,t,u))&&Y});return e}function S(n,r,t){var e=[];r=H(r,t,3),t=-1;var u=n?n.length:0;
if(typeof u=="number")for(;++t<u;){var i=n[t];r(i,t,n)&&e.push(i)}else Gr(n,function(n,t,u){r(n,t,u)&&e.push(n)});return e}function F(n,r,t){r=H(r,t,3),t=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Gr(n,function(n,t,e){return r(n,t,e)?(u=n,Y):void 0}),u}for(;++t<e;){var i=n[t];if(r(i,t,n))return i}}function N(n,r,t){var e=-1,u=n?n.length:0;if(r=r&&typeof t=="undefined"?r:o(r,t,3),typeof u=="number")for(;++e<u&&r(n[e],e,n)!==Y;);else Gr(n,r)}function R(n,r){var t=n?n.length:0;if(typeof t!="number")var e=Wr(n),t=e.length;
N(n,function(u,i,o){return i=e?e[--t]:--t,false===r(n[i],i,o)&&Y})}function D(n,r,t){var e=-1,u=n?n.length:0;if(r=H(r,t,3),typeof u=="number")for(var i=Array(u);++e<u;)i[e]=r(n[e],e,n);else i=[],Gr(n,function(n,t,u){i[++e]=r(n,t,u)});return i}function k(n,r,t){var e=-1/0,u=e,i=-1,o=n?n.length:0;if(r||typeof o!="number")r=H(r,t,3),N(n,function(n,t,i){t=r(n,t,i),t>e&&(e=t,u=n)});else for(;++i<o;)t=n[i],t>u&&(u=t);return u}function B(n,r){var t=-1,e=n?n.length:0;if(typeof e=="number")for(var u=Array(e);++t<e;)u[t]=n[t][r];
return u||D(n,r)}function q(n,r,t,e){if(!n)return t;var u=3>arguments.length;r=o(r,e,4);var i=-1,a=n.length;if(typeof a=="number")for(u&&(t=n[++i]);++i<a;)t=r(t,n[i],i,n);else Gr(n,function(n,e,i){t=u?(u=!1,n):r(t,n,e,i)});return t}function M(n,r,t,e){var u=3>arguments.length;return r=o(r,e,4),R(n,function(n,e,i){t=u?(u=!1,n):r(t,n,e,i)}),t}function $(n,r,t){var e;r=H(r,t,3),t=-1;var u=n?n.length:0;if(typeof u=="number")for(;++t<u&&!(e=r(n[t],t,n)););else Gr(n,function(n,t,u){return(e=r(n,t,u))&&Y
});return!!e}function I(n,r,t){return t&&b(r)?Q:(t?F:S)(n,r)}function W(n){for(var r=-1,t=v(),e=n.length,u=a(arguments,!0,!0,1),i=[];++r<e;){var o=n[r];0>t(u,o)&&i.push(o)}return i}function z(n,r,t){if(n){var e=0,u=n.length;if(typeof r!="number"&&null!=r){var i=-1;for(r=H(r,t,3);++i<u&&r(n[i],i,n);)e++}else if(e=r,null==e||t)return n[0];return kr.call(n,0,Rr(Nr(0,e),u))}}function C(n,t,e){if(typeof e=="number"){var u=n?n.length:0;e=0>e?Nr(0,u+e):e||0}else if(e)return e=U(n,t),n[e]===t?e:-1;return n?r(n,t,e):-1
}function P(n,r,t){if(typeof r!="number"&&null!=r){var e=0,u=-1,i=n?n.length:0;for(r=H(r,t,3);++u<i&&r(n[u],u,n);)e++}else e=null==r||t?1:Nr(0,r);return kr.call(n,e)}function U(n,r,t,e){var u=0,i=n?n.length:u;for(t=t?H(t,e,1):K,r=t(r);u<i;)e=u+i>>>1,t(n[e])<r?u=e+1:i=e;return u}function V(n,r,t,e){return typeof r!="boolean"&&null!=r&&(e=t,t=e&&e[r]===n?Q:r,r=!1),null!=t&&(t=H(t,e,3)),l(n,r,t)}function G(n,r){return p(n,9,kr.call(arguments,2),null,r)}function H(n,r,t){var e=typeof n;if(null==n||"function"==e)return o(n,r,t);
if("object"!=e)return function(r){return r[n]};var u=Wr(n);return function(r){for(var t=u.length,e=!1;t--&&(e=r[u[t]]===n[u[t]]););return e}}function J(n,r,t){var e,u,i,o=0,a=0,f=!1,l=null,c=null,p=!0;if(!w(n))throw new TypeError;if(r=Nr(0,r||0),true===t)var s=!0,p=!1;else j(t)&&(s=t.leading,f="maxWait"in t&&Nr(r,t.maxWait||0),p="trailing"in t?t.trailing:p);var v=function(){clearTimeout(l),clearTimeout(c),o=0,l=c=null},h=function(){var r=p&&(!s||1<o);v(),r&&(false!==f&&(a=new Date),u=n.apply(i,e))},g=function(){v(),(p||f!==r)&&(a=new Date,u=n.apply(i,e))
};return function(){if(e=arguments,i=this,o++,clearTimeout(c),false===f)s&&2>o&&(u=n.apply(i,e));else{var t=new Date;!l&&!s&&(a=t);var p=f-(t-a);0<p?l||(l=setTimeout(g,p)):(clearTimeout(l),l=null,a=t,u=n.apply(i,e))}return r!==f&&(c=setTimeout(h,r)),u}}function K(n){return n}function L(n){N(_(n),function(r){var t=u[r]=n[r];u.prototype[r]=function(){var n=[this.__wrapped__];return jr.apply(n,arguments),n=t.apply(u,n),this.__chain__&&(n=new i(n),n.__chain__=!0),n}})}var Q,X=0,Y={},Z=+new Date+"",nr=/($^)/,rr=/['\n\r\t\u2028\u2029\\]/g,tr="[object Arguments]",er="[object Array]",ur="[object Boolean]",ir="[object Date]",or="[object Number]",ar="[object Object]",fr="[object RegExp]",lr="[object String]",cr={"boolean":!1,"function":!0,object:!0,number:!1,string:!1,undefined:!1},pr={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},sr=cr[typeof exports]&&exports,vr=cr[typeof module]&&module&&module.exports==sr&&module,hr=cr[typeof global]&&global;
!hr||hr.global!==hr&&hr.window!==hr||(n=hr);var gr=[],yr=Object.prototype,mr=n._,_r=RegExp("^"+(yr.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),dr=Math.ceil,br=Math.floor,wr=yr.hasOwnProperty,jr=gr.push,xr=yr.toString,Er=_r.test(Er=xr.bind)&&Er,Ar=_r.test(Ar=Object.create)&&Ar,Tr=_r.test(Tr=Array.isArray)&&Tr,Or=n.isFinite,Sr=n.isNaN,Fr=_r.test(Fr=Object.keys)&&Fr,Nr=Math.max,Rr=Math.min,Dr=Math.random,kr=gr.slice,Br=_r.test(n.attachEvent),qr=Er&&!/\n|true/.test(Er+Br);
i.prototype=u.prototype;var Mr={};!function(){var n={0:1,length:1};Mr.fastBind=Er&&!qr,Mr.spliceObjects=(gr.splice.call(n,0,1),!n[0])}(1),u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},g(arguments)||(g=function(n){return n&&typeof n=="object"?wr.call(n,"callee"):!1});var $r=Tr||function(n){return n&&typeof n=="object"?xr.call(n)==er:!1},Ir=function(n){var r,t=[];if(!n||!cr[typeof n])return t;for(r in n)wr.call(n,r)&&t.push(r);return t
},Wr=Fr?function(n){return j(n)?Fr(n):[]}:Ir,zr={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","/":"&#x2F;"},Cr=d(zr),Pr=RegExp("("+Wr(Cr).join("|")+")","g"),Ur=RegExp("["+Wr(zr).join("")+"]","g"),Vr=function(n,r){var t;if(!n||!cr[typeof n])return n;for(t in n)if(r(n[t],t,n)===Y)break;return n},Gr=function(n,r){var t;if(!n||!cr[typeof n])return n;for(t in n)if(wr.call(n,t)&&r(n[t],t,n)===Y)break;return n};w(/x/)&&(w=function(n){return typeof n=="function"&&"[object Function]"==xr.call(n)
});var Hr=c(function(n,r,t){wr.call(n,t)?n[t]++:n[t]=1}),Jr=c(function(n,r,t){(wr.call(n,t)?n[t]:n[t]=[]).push(r)});u.after=function(n,r){if(!w(r))throw new TypeError;return function(){return 1>--n?r.apply(this,arguments):void 0}},u.bind=G,u.bindAll=function(n){for(var r=1<arguments.length?a(arguments,!0,!1,1):_(n),t=-1,e=r.length;++t<e;){var u=r[t];n[u]=G(n[u],n)}return n},u.chain=function(n){return n=new i(n),n.__chain__=!0,n},u.compact=function(n){for(var r=-1,t=n?n.length:0,e=[];++r<t;){var u=n[r];
u&&e.push(u)}return e},u.compose=function(){for(var n=arguments,r=n.length||1;r--;)if(!w(n[r]))throw new TypeError;return function(){for(var r=arguments,t=n.length;t--;)r=[n[t].apply(this,r)];return r[0]}},u.countBy=Hr,u.debounce=J,u.defaults=m,u.defer=function(n){if(!w(n))throw new TypeError;var r=kr.call(arguments,1);return setTimeout(function(){n.apply(Q,r)},1)},u.delay=function(n,r){if(!w(n))throw new TypeError;var t=kr.call(arguments,2);return setTimeout(function(){n.apply(Q,t)},r)},u.difference=W,u.filter=S,u.flatten=function(n,r){return a(n,r)
},u.forEach=N,u.functions=_,u.groupBy=Jr,u.initial=function(n,r,t){if(!n)return[];var e=0,u=n.length;if(typeof r!="number"&&null!=r){var i=u;for(r=H(r,t,3);i--&&r(n[i],i,n);)e++}else e=null==r||t?1:r||e;return kr.call(n,0,Rr(Nr(0,u-e),u))},u.intersection=function(n){var r=arguments,t=r.length,e=-1,u=v(),i=n?n.length:0,o=[];n:for(;++e<i;){var a=n[e];if(0>u(o,a)){for(var f=t;--f;)if(0>u(r[f],a))continue n;o.push(a)}}return o},u.invert=d,u.invoke=function(n,r){var t=kr.call(arguments,2),e=-1,u=typeof r=="function",i=n?n.length:0,o=Array(typeof i=="number"?i:0);
return N(n,function(n){o[++e]=(u?r:n[r]).apply(n,t)}),o},u.keys=Wr,u.map=D,u.max=k,u.memoize=function(n,r){var t={};return function(){var e=Z+(r?r.apply(this,arguments):arguments[0]);return wr.call(t,e)?t[e]:t[e]=n.apply(this,arguments)}},u.min=function(n,r,t){var e=1/0,u=e,i=-1,o=n?n.length:0;if(r||typeof o!="number")r=H(r,t,3),N(n,function(n,t,i){t=r(n,t,i),t<e&&(e=t,u=n)});else for(;++i<o;)t=n[i],t<u&&(u=t);return u},u.omit=function(n){var r=v(),t=a(arguments,!0,!1,1),e={};return Vr(n,function(n,u){0>r(t,u)&&(e[u]=n)
}),e},u.once=function(n){var r,t;if(!w(n))throw new TypeError;return function(){return r?t:(r=!0,t=n.apply(this,arguments),n=null,t)}},u.pairs=function(n){for(var r=-1,t=Wr(n),e=t.length,u=Array(e);++r<e;){var i=t[r];u[r]=[i,n[i]]}return u},u.partial=function(n){return p(n,8,kr.call(arguments,1))},u.pick=function(n){for(var r=-1,t=a(arguments,!0,!1,1),e=t.length,u={};++r<e;){var i=t[r];i in n&&(u[i]=n[i])}return u},u.pluck=B,u.range=function(n,r,t){n=+n||0,t=+t||1,null==r&&(r=n,n=0);var e=-1;r=Nr(0,dr((r-n)/t));
for(var u=Array(r);++e<r;)u[e]=n,n+=t;return u},u.reject=function(n,r,t){return r=H(r,t,3),S(n,function(n,t,e){return!r(n,t,e)})},u.rest=P,u.shuffle=function(n){var r=-1,t=n?n.length:0,e=Array(typeof t=="number"?t:0);return N(n,function(n){var t=br(Dr()*(++r+1));e[r]=e[t],e[t]=n}),e},u.sortBy=function(n,r,e){var u=-1,i=n?n.length:0,o=Array(typeof i=="number"?i:0);for(r=H(r,e,3),N(n,function(n,t,e){o[++u]={l:r(n,t,e),m:u,n:n}}),i=o.length,o.sort(t);i--;)o[i]=o[i].n;return o},u.tap=function(n,r){return r(n),n
},u.throttle=function(n,r,t){var e=!0,u=!0;return false===t?e=!1:j(t)&&(e="leading"in t?t.leading:e,u="trailing"in t?t.trailing:u),t={},t.leading=e,t.maxWait=r,t.trailing=u,J(n,r,t)},u.times=function(n,r,t){for(var e=-1,u=Array(-1<n?n:0);++e<n;)u[e]=r.call(t,e);return u},u.toArray=function(n){return $r(n)?kr.call(n):n&&typeof n.length=="number"?D(n):A(n)},u.union=function(){return l(a(arguments,!0,!0))},u.uniq=V,u.values=A,u.where=I,u.without=function(n){return W(n,kr.call(arguments,1))},u.wrap=function(n,r){if(!w(r))throw new TypeError;
return function(){var t=[n];return jr.apply(t,arguments),r.apply(this,t)}},u.zip=function(){for(var n=-1,r=k(B(arguments,"length")),t=Array(0>r?0:r);++n<r;)t[n]=B(arguments,n);return t},u.collect=D,u.drop=P,u.each=N,u.extend=y,u.methods=_,u.object=function(n,r){for(var t=-1,e=n?n.length:0,u={};++t<e;){var i=n[t];r?u[i]=r[t]:i&&(u[i[0]]=i[1])}return u},u.select=S,u.tail=P,u.unique=V,u.clone=function(n){return j(n)?$r(n)?kr.call(n):y({},n):n},u.contains=T,u.escape=function(n){return null==n?"":(n+"").replace(Ur,s)
},u.every=O,u.find=F,u.has=function(n,r){return n?wr.call(n,r):!1},u.identity=K,u.indexOf=C,u.isArguments=g,u.isArray=$r,u.isBoolean=function(n){return true===n||false===n||xr.call(n)==ur},u.isDate=function(n){return n?typeof n=="object"&&xr.call(n)==ir:!1},u.isElement=function(n){return n?1===n.nodeType:!1},u.isEmpty=b,u.isEqual=function(n,r){return f(n,r)},u.isFinite=function(n){return Or(n)&&!Sr(parseFloat(n))},u.isFunction=w,u.isNaN=function(n){return x(n)&&n!=+n},u.isNull=function(n){return null===n
},u.isNumber=x,u.isObject=j,u.isRegExp=function(n){return n&&cr[typeof n]?xr.call(n)==fr:!1},u.isString=E,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,r,t){var e=n?n.length:0;for(typeof t=="number"&&(e=(0>t?Nr(0,e+t):Rr(t,e-1))+1);e--;)if(n[e]===r)return e;return-1},u.mixin=L,u.noConflict=function(){return n._=mr,this},u.random=function(n,r){null==n&&null==r&&(r=1),n=+n||0,null==r?(r=n,n=0):r=+r||0;var t=Dr();return n%1||r%1?n+Rr(t*(r-n+parseFloat("1e-"+((t+"").length-1))),r):n+br(t*(r-n+1))
},u.reduce=q,u.reduceRight=M,u.result=function(n,r){var t=n?n[r]:Q;return w(t)?n[r]():t},u.size=function(n){var r=n?n.length:0;return typeof r=="number"?r:Wr(n).length},u.some=$,u.sortedIndex=U,u.template=function(n,r,t){var i=u,o=i.templateSettings;n||(n=""),t=m({},t,o);var a=0,f="__p+='",o=t.variable;n.replace(RegExp((t.escape||nr).source+"|"+(t.interpolate||nr).source+"|"+(t.evaluate||nr).source+"|$","g"),function(r,t,u,i,o){return f+=n.slice(a,o).replace(rr,e),t&&(f+="'+_.escape("+t+")+'"),i&&(f+="';"+i+";__p+='"),u&&(f+="'+((__t=("+u+"))==null?'':__t)+'"),a=o+r.length,r
}),f+="';\n",o||(o="obj",f="with("+o+"||{}){"+f+"}"),f="function("+o+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+f+"return __p}";try{var l=Function("_","return "+f)(i)}catch(c){throw c.source=f,c}return r?l(r):(l.source=f,l)},u.unescape=function(n){return null==n?"":(n+"").replace(Pr,h)},u.uniqueId=function(n){var r=++X+"";return n?n+r:r},u.all=O,u.any=$,u.detect=F,u.findWhere=function(n,r){return I(n,r,!0)},u.foldl=q,u.foldr=M,u.include=T,u.inject=q,u.first=z,u.last=function(n,r,t){if(n){var e=0,u=n.length;
if(typeof r!="number"&&null!=r){var i=u;for(r=H(r,t,3);i--&&r(n[i],i,n);)e++}else if(e=r,null==e||t)return n[u-1];return kr.call(n,Nr(0,u-e))}},u.take=z,u.head=z,L(u),u.VERSION="1.3.1",u.prototype.chain=function(){return this.__chain__=!0,this},u.prototype.value=function(){return this.__wrapped__},N("pop push reverse shift sort splice unshift".split(" "),function(n){var r=gr[n];u.prototype[n]=function(){var n=this.__wrapped__;return r.apply(n,arguments),!Mr.spliceObjects&&0===n.length&&delete n[0],this
}}),N(["concat","join","slice"],function(n){var r=gr[n];u.prototype[n]=function(){var n=r.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new i(n),n.__chain__=!0),n}}),typeof define=="function"&&typeof define.amd=="object"&&define.amd?(n._=u, define(function(){return u})):sr&&!sr.nodeType?vr?(vr.exports=u)._=u:sr._=u:n._=u}(this);