Fix lodash underscore build.

Former-commit-id: 017208b28865b10b068ba4ae5e4a7baa9c01a80f
This commit is contained in:
John-David Dalton
2013-02-22 03:26:49 -08:00
parent e5433adf78
commit 1ad2c92324
4 changed files with 101 additions and 142 deletions

View File

@@ -367,8 +367,8 @@
// add `__chain__` checks to `_.mixin`
source = source.replace(matchFunction(source, 'mixin'), function(match) {
return match.replace(/^ *return new lodash.+/m, function() {
var indent = getIndent(match);
return match.replace(/^( *)return new lodash.+/m, function() {
var indent = arguments[1];
return indent + [
'',
'var result = func.apply(lodash, args);',
@@ -382,8 +382,7 @@
});
// replace wrapper `Array` method assignments
source = source.replace(/^(?: *\/\/.*\n)*( *)each\(\['[\s\S]+?\n\1}$/m, function(match) {
var indent = getIndent(match);
source = source.replace(/^(?: *\/\/.*\n)*( *)each\(\['[\s\S]+?\n\1}$/m, function(match, indent) {
return indent + [
'// add `Array` mutator functions to the wrapper',
"each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {",
@@ -1227,9 +1226,10 @@
* @returns {String} Returns the modified source.
*/
function removeHasObjectSpliceBug(source) {
return removeVar(source, 'hasObjectSpliceBug')
// remove `hasObjectSpliceBug` fix from the `Array` function mixins
.replace(/(?:\s*\/\/.*)*\n( *)if *\(hasObjectSpliceBug[\s\S]+?(?:{\s*}|\n\1})/, '');
source = removeVar(source, 'hasObjectSpliceBug')
// remove `hasObjectSpliceBug` fix from the `Array` function mixins
return source.replace(/(?:\s*\/\/.*)*\n( *)if *\(hasObjectSpliceBug[\s\S]+?(?:{\s*}|\n\1})/, '');
}
/**
@@ -1691,8 +1691,6 @@
});
}
if (isUnderscore) {
source = removeFunction(source, 'runInContext');
// replace `_.assign`
source = replaceFunction(source, 'assign', [
'function assign(object) {',
@@ -2088,14 +2086,15 @@
].join('\n'));
// add `_.findWhere`
source = source.replace(matchFunction(source, 'find'), function (match) {
source = source.replace(matchFunction(source, 'find'), function(match) {
var indent = getIndent(match);
return match + [
'',
'function findWhere(object, properties) {',
' return where(object, properties, true);',
'}',
''
].join('\n')
].join('\n' + indent);
});
source = source.replace(getMethodAssignments(source), function(match) {
@@ -2223,11 +2222,12 @@
// inline all functions defined with `createIterator`
_.functions(lodash).forEach(function(methodName) {
// strip leading underscores to match pseudo private functions
var reFunc = RegExp('(^ *var ' + methodName.replace(/^_/, '') + ' *= *)createIterator\\(((?:{|[a-zA-Z])[\\s\\S]+?)\\);\\n');
var reFunc = RegExp('^( *)(var ' + methodName.replace(/^_/, '') + ' *= *)createIterator\\(((?:{|[a-zA-Z])[\\s\\S]+?)\\);\\n', 'm');
if (reFunc.test(source)) {
// extract, format, and inject the compiled function's source code
source = source.replace(reFunc, function(match, captured) {
return captured + getFunctionSource(lodash[methodName], getIndent(captured)) + ';\n';
source = source.replace(reFunc, function(match, indent, left) {
return (indent + left) +
getFunctionSource(lodash[methodName], indent) + ';\n';
});
}
});
@@ -2393,9 +2393,9 @@
// simplify the `lodash` function
source = replaceFunction(source, 'lodash', [
' function lodash() {',
' // no operation performed',
' }'
'function lodash() {',
' // no operation performed',
'}'
].join('\n'));
// remove all `lodash.prototype` additions
@@ -2410,6 +2410,9 @@
source = removeVar(source, 'cloneableClasses');
source = removeVar(source, 'ctorByClass');
}
if (isRemoved(source, 'defer')) {
source = removeSetImmediate(source);
}
if (isRemoved(source, 'isArray')) {
source = removeVar(source, 'nativeIsArray');
}
@@ -2440,7 +2443,6 @@
source = removeHasEnumPrototype(source);
}
if (isRemoved(source, 'createIterator', 'bind', 'keys')) {
source = removeSetImmediate(source);
source = removeVar(source, 'isBindFast');
source = removeVar(source, 'isV8');
source = removeVar(source, 'nativeBind');

View File

@@ -246,36 +246,6 @@
/*--------------------------------------------------------------------------*/
/** Reusable iterator options for `assign` and `defaults` */
var defaultsIteratorOptions = {
'args': 'object, source, guard',
'top':
'var args = arguments,\n' +
' argsIndex = 0,\n' +
" argsLength = typeof guard == 'number' ? 2 : args.length;\n" +
'while (++argsIndex < argsLength) {\n' +
' iterable = args[argsIndex];\n' +
' if (iterable && objectTypes[typeof iterable]) {',
'loop': "if (typeof result[index] == 'undefined') result[index] = iterable[index]",
'bottom': ' }\n}'
};
/** Reusable iterator options shared by `each`, `forIn`, and `forOwn` */
var eachIteratorOptions = {
'args': 'collection, callback, thisArg',
'top': "callback = callback && typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg)",
'arrays': "typeof length == 'number'",
'loop': 'if (callback(iterable[index], index, collection) === false) return result'
};
/** Reusable iterator options for `forIn` and `forOwn` */
var forOwnIteratorOptions = {
'top': 'if (!objectTypes[typeof iterable]) return result;\n' + eachIteratorOptions.top,
'arrays': false
};
/*--------------------------------------------------------------------------*/
/**
* Used by `_.max` and `_.min` as the default `callback` when a given
* `collection` is a string value.
@@ -430,54 +400,6 @@
return func;
}
/**
* Creates compiled iteration functions.
*
* @private
* @param {Object} [options1, options2, ...] The compile options object(s).
* arrays - A string of code to determine if the iterable is an array or array-like.
* useHas - A boolean to specify using `hasOwnProperty` checks in the object loop.
* args - A string of comma separated arguments the iteration function will accept.
* top - A string of code to execute before the iteration branches.
* loop - A string of code to execute in the object loop.
* bottom - A string of code to execute after the iteration branches.
*
* @returns {Function} Returns the compiled function.
*/
function createIterator() {
var data = {
// support properties
// iterator options
'arrays': 'isArray(iterable)',
'bottom': '',
'loop': '',
'top': '',
'useHas': true
};
// merge options into a template data object
for (var object, index = 0; object = arguments[index]; index++) {
for (var key in object) {
data[key] = object[key];
}
}
var args = data.args;
data.firstArg = /^[^,]+/.exec(args)[0];
// create the function factory
var factory = Function(
'createCallback, hasOwnProperty, isArguments, isArray, isString, ' +
'objectTypes, nativeKeys',
'return function(' + args + ') {\n' + (data) + '\n}'
);
// return the compiled function
return factory(
createCallback, hasOwnProperty, isArguments, isArray, isString,
objectTypes, nativeKeys
);
}
/**
* A function compiled to iterate `arguments` objects, arrays, objects, and
* strings consistenly across environments, executing the `callback` for each
@@ -492,7 +414,24 @@
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array|Object|String} Returns `collection`.
*/
var each = createIterator(eachIteratorOptions);
var each = function (collection, callback, thisArg) {
var index, iterable = collection, result = iterable;
if (!iterable) return result;
callback = callback && typeof thisArg == 'undefined' ? callback : createCallback(callback, thisArg);
var length = iterable.length; index = -1;
if (typeof length == 'number') {
while (++index < length) {
if (callback(iterable[index], index, collection) === indicatorObject) return result
}
}
else {
for (index in iterable) {
if (hasOwnProperty.call(iterable, index)) {
if (callback(iterable[index], index, collection) === indicatorObject) return result;
}
}
}
};
/**
* Used by `template` to escape characters for inclusion in compiled
@@ -635,9 +574,17 @@
* });
* // => alerts 'name' and 'bark' (order is not guaranteed)
*/
var forIn = createIterator(eachIteratorOptions, forOwnIteratorOptions, {
'useHas': false
});
var forIn = function (collection, callback) {
var index, iterable = collection, result = iterable;
if (!iterable) return result;
if (!objectTypes[typeof iterable]) return result;
callback || (callback = identity);
for (index in iterable) {
if (callback(iterable[index], index, collection) === indicatorObject) return result;
}
return result
};
/**
* Iterates over an object's own enumerable properties, executing the `callback`
@@ -660,7 +607,19 @@
* });
* // => alerts '0', '1', and 'length' (order is not guaranteed)
*/
var forOwn = createIterator(eachIteratorOptions, forOwnIteratorOptions);
var forOwn = function (collection, callback) {
var index, iterable = collection, result = iterable;
if (!iterable) return result;
if (!objectTypes[typeof iterable]) return result;
callback || (callback = identity);
for (index in iterable) {
if (hasOwnProperty.call(iterable, index)) {
if (callback(iterable[index], index, collection) === indicatorObject) return result;
}
}
return result
};
/**
* Checks if `value` is an array.
@@ -1796,10 +1755,10 @@
return result;
}
function findWhere(object, properties) {
return where(object, properties, true);
}
function findWhere(object, properties) {
return where(object, properties, true);
}
/**
* Iterates over a `collection`, executing the `callback` for each element in
* the `collection`. The `callback` is bound to `thisArg` and invoked with three
@@ -3752,13 +3711,13 @@ function findWhere(object, properties) {
lodash.prototype[methodName] = function() {
var args = [this.__wrapped__];
push.apply(args, arguments);
var result = func.apply(lodash, args);
if (this.__chain__) {
result = new lodash(result);
result.__chain__ = true;
}
return result;
var result = func.apply(lodash, args);
if (this.__chain__) {
result = new lodash(result);
result.__chain__ = true;
}
return result;
};
});
}

View File

@@ -4,30 +4,31 @@
* Build: `lodash underscore -o ./dist/lodash.underscore.js`
* Underscore.js 1.4.4 underscorejs.org/LICENSE
*/
;(function(n,t){function r(n){return n&&typeof n=="object"&&n.__wrapped__?n:this instanceof r?(this.__wrapped__=n,void 0):new r(n)}function e(n,t){var r=n.b,e=t.b;if(n=n.a,t=t.a,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return r<e?-1:1}function u(n,t,r){function e(){var a=arguments,f=o?this:t;return u||(n=t[i]),r.length&&(a=a.length?(a=l(a),r.concat(a)):r),this instanceof e?(c.prototype=n.prototype,f=new c,c.prototype=J,a=n.apply(f,a),j(a)?a:f):n.apply(f,a)
}var u=b(n),o=!r,i=t;return o&&(r=t),u||(t=n),e}function o(n,t,r){if(n==J)return W;var e=typeof n;if("function"!=e){if("object"!=e)return function(t){return t[n]};var u=Pt(n);return function(t){for(var r=u.length,e=K;r--&&(e=t[u[r]]===n[u[r]]););return e}}return typeof t!="undefined"?1===r?function(r){return n.call(t,r)}:2===r?function(r,e){return n.call(t,r,e)}:4===r?function(r,e,u,o){return n.call(t,r,e,u,o)}:function(r,e,u){return n.call(t,r,e,u)}:n}function i(){for(var n,t={b:"l(n)",c:"",h:"",l:"",m:H},r=0;n=arguments[r];r++)for(var e in n)t[e]=n[e];
return n=t.a,t.d=/^[^,]+/.exec(n)[0],Function("f,i,k,l,m,r,p","return function("+n+"){"+t+"}")(o,jt,s,Ct,x,st,Nt)}function a(n){return"\\"+vt[n]}function f(n){return Ut[n]}function c(){}function l(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0);var e=-1;r=r-t||0;for(var u=Array(0>r?0:r);++e<r;)u[e]=n[t+e];return u}function p(n){return Vt[n]}function s(n){return At.call(n)==ut}function v(n){var t=[];return Tt(n,function(n,r){t.push(r)}),t}function h(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 g(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]==J&&(n[u]=e[u])}return n}function y(n){var t=[];return zt(n,function(n,r){b(n)&&t.push(r)}),t.sort()}function m(n){for(var t=-1,r=Pt(n),e=r.length,u={};++t<e;){var o=r[t];u[n[o]]=o}return u}function _(n){if(!n)return H;if(Ct(n)||x(n))return!n.length;for(var t in n)if(jt.call(n,t))return K;return H}function d(n,t,r,e){if(n===t)return 0!==n||1/n==1/t;
var u=typeof n,o=typeof t;if(n===n&&(!n||"function"!=u&&"object"!=u)&&(!t||"function"!=o&&"object"!=o))return K;if(n==J||t==J)return n===t;if(o=At.call(n),u=At.call(t),o!=u)return K;switch(o){case it:case at:return+n==+t;case ft:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case lt:case pt:return n==t+""}if(u=o==ot,!u){if(n.__wrapped__||t.__wrapped__)return d(n.__wrapped__||n,t.__wrapped__||t,r,e);if(o!=ct)return K;var o=n.constructor,i=t.constructor;if(o!=i&&(!b(o)||!(o instanceof o&&b(i)&&i instanceof i)))return K
}for(r||(r=[]),e||(e=[]),o=r.length;o--;)if(r[o]==n)return e[o]==t;var a=H,f=0;if(r.push(n),e.push(t),u){if(f=t.length,a=f==n.length)for(;f--&&(a=d(n[f],t[f],r,e)););return a}return zt(t,function(t,u,o){return jt.call(o,u)?(f++,!(a=jt.call(n,u)&&d(n[u],t,r,e))&&Z):void 0}),a&&zt(n,function(n,t,r){return jt.call(r,t)?!(a=-1<--f)&&Z:void 0}),a}function b(n){return typeof n=="function"}function j(n){return n?st[typeof n]:K}function w(n){return typeof n=="number"||At.call(n)==ft}function x(n){return typeof n=="string"||At.call(n)==pt
}function A(n){for(var t=-1,r=Pt(n),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];return u}function E(n,t){var r=K;return typeof(n?n.length:0)=="number"?r=-1<z(n,t):$t(n,function(n){return(r=n===t)&&Z}),r}function O(n,t,r){var e=H;if(t=o(t,r),Ct(n)){r=-1;for(var u=n.length;++r<u&&(e=!!t(n[r],r,n)););}else $t(n,function(n,r,u){return!(e=!!t(n,r,u))&&Z});return e}function F(n,t,r){var e=[];if(t=o(t,r),Ct(n)){r=-1;for(var u=n.length;++r<u;){var i=n[r];t(i,r,n)&&e.push(i)}}else $t(n,function(n,r,u){t(n,r,u)&&e.push(n)
});return e}function S(n,t,r){var e;return t=o(t,r),N(n,function(n,r,u){return t(n,r,u)?(e=n,Z):void 0}),e}function N(n,t,r){if(t&&typeof r=="undefined"&&Ct(n)){r=-1;for(var e=n.length;++r<e&&t(n[r],r,n)!==Z;);}else $t(n,t,r)}function k(n,t,r){var e=-1,u=n?n.length:0,i=Array(typeof u=="number"?u:0);if(t=o(t,r),Ct(n))for(;++e<u;)i[e]=t(n[e],e,n);else $t(n,function(n,r,u){i[++e]=t(n,r,u)});return i}function R(n,t,r){var e=-1/0,u=e;if(!t&&Ct(n)){r=-1;for(var i=n.length;++r<i;){var a=n[r];a>u&&(u=a)}}else t=o(t,r),$t(n,function(n,r,o){r=t(n,r,o),r>e&&(e=r,u=n)
});return u}function q(n,t,r,e){var u=3>arguments.length;if(t=o(t,e,4),Ct(n)){var i=-1,a=n.length;for(u&&(r=n[++i]);++i<a;)r=t(r,n[i],i,n)}else $t(n,function(n,e,o){r=u?(u=K,n):t(r,n,e,o)});return r}function I(n,t,r,e){var u=n?n.length:0,i=3>arguments.length;if(typeof u!="number")var a=Pt(n),u=a.length;return t=o(t,e,4),N(n,function(e,o,f){o=a?a[--u]:--u,r=i?(i=K,n[o]):t(r,n[o],o,f)}),r}function B(n,t,r){var e;if(t=o(t,r),Ct(n)){r=-1;for(var u=n.length;++r<u&&!(e=t(n[r],r,n)););}else $t(n,function(n,r,u){return(e=t(n,r,u))&&Z
});return!!e}function D(n,t,r){return r&&_(t)?J:(r?S:F)(n,t)}function M(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=J){var i=-1;for(t=o(t,r);++i<u&&t(n[i],i,n);)e++}else if(e=t,e==J||r)return n[0];return l(n,0,Rt(kt(0,e),u))}}function $(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];Ct(o)?wt.apply(u,t?o:$(o)):u.push(o)}return u}function z(n,t,r){var e=-1,u=n?n.length:0;if(typeof r=="number")e=(0>r?kt(0,u+r):r||0)-1;else if(r)return e=C(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;
return-1}function T(n,t,r){if(typeof t!="number"&&t!=J){var e=0,u=-1,i=n?n.length:0;for(t=o(t,r);++u<i&&t(n[u],u,n);)e++}else e=t==J||r?1:kt(0,t);return l(n,e)}function C(n,t,r,e){var u=0,i=n?n.length:u;for(r=r?o(r,e,1):W,t=r(t);u<i;)e=u+i>>>1,r(n[e])<t?u=e+1:i=e;return u}function P(n,t,r,e){var u=-1,i=n?n.length:0,a=[],f=a;for(typeof t=="function"&&(e=r,r=t,t=K),r&&(f=[],r=o(r,e));++u<i;){e=n[u];var c=r?r(e,u,n):e;(t?!u||f[f.length-1]!==c:0>z(f,c))&&(r&&f.push(c),a.push(e))}return a}function U(n,t){return It||Et&&2<arguments.length?Et.call.apply(Et,arguments):u(n,t,l(arguments,2))
}function V(n){var r=l(arguments,1);return xt(function(){n.apply(t,r)},1)}function W(n){return n}function G(n){N(y(n),function(t){var e=r[t]=n[t];r.prototype[t]=function(){var n=[this.__wrapped__];return wt.apply(n,arguments),n=e.apply(r,n),this.__chain__&&(n=new r(n),n.__chain__=H),n}})}var H=!0,J=null,K=!1,L=typeof exports=="object"&&exports,Q=typeof module=="object"&&module&&module.exports==L&&module,X=typeof global=="object"&&global;X.global===X&&(n=X);var Y=0,Z={},nt=/&(?:amp|lt|gt|quot|#39);/g,tt=/($^)/,rt=/[&<>"']/g,et=/['\n\r\t\u2028\u2029\\]/g,ut="[object Arguments]",ot="[object Array]",it="[object Boolean]",at="[object Date]",ft="[object Number]",ct="[object Object]",lt="[object RegExp]",pt="[object String]",st={"boolean":K,"function":H,object:H,number:K,string:K,undefined:K},vt={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},ht=[],X={},gt=n._,yt=RegExp("^"+(X.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),mt=Math.ceil,_t=n.clearTimeout,dt=ht.concat,bt=Math.floor,jt=X.hasOwnProperty,wt=ht.push,xt=n.setTimeout,At=X.toString,Et=yt.test(Et=l.bind)&&Et,Ot=yt.test(Ot=Array.isArray)&&Ot,Ft=n.isFinite,St=n.isNaN,Nt=yt.test(Nt=Object.keys)&&Nt,kt=Math.max,Rt=Math.min,qt=Math.random,X=!!n.attachEvent;
Function();var X=Et&&!/\n|true/.test(Et+X),It=Et&&!X,Bt=(Bt={0:1,length:1},ht.splice.call(Bt,0,1),Bt[0]),Dt=arguments.constructor==Object;r.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""};var yt={a:"e,d,x",l:"d=d&&typeof x=='undefined'?d:f(d,x)",b:"typeof o=='number'",h:"if(d(n[j],j,e)===false)return u"},Mt={l:"if(!r[typeof n])return u;"+yt.l,b:K},$t=i(yt);s(arguments)||(s=function(n){return n?jt.call(n,"callee"):K});var zt=i(yt,Mt,{m:K}),Tt=i(yt,Mt),Ct=Ot||function(n){return Dt&&n instanceof Array||At.call(n)==ot
},Pt=Nt?function(n){return j(n)?Nt(n):[]}:v,Ut={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Vt=m(Ut);b(/x/)&&(b=function(n){return n instanceof Function||"[object Function]"==At.call(n)});var Wt=k;X&&Q&&typeof setImmediate=="function"&&(V=U(setImmediate,n)),r.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},r.bind=U,r.bindAll=function(n){for(var t=dt.apply(ht,arguments),r=1<t.length?0:(t=y(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=U(n[u],n)
}return n},r.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},r.compose=function(){var n=arguments;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},r.countBy=function(n,t,r){var e={};return t=o(t,r),N(n,function(n,r,u){r=t(n,r,u)+"",jt.call(e,r)?e[r]++:e[r]=1}),e},r.debounce=function(n,t,r){function e(){a=J,r||(o=n.apply(i,u))}var u,o,i,a;return function(){var f=r&&!a;return u=arguments,i=this,_t(a),a=xt(e,t),f&&(o=n.apply(i,u)),o
}},r.defaults=g,r.defer=V,r.delay=function(n,r){var e=l(arguments,2);return xt(function(){n.apply(t,e)},r)},r.difference=function(n){for(var t=-1,r=n.length,e=dt.apply(ht,arguments),u=[];++t<r;){var o=n[t];0>z(e,o,r)&&u.push(o)}return u},r.filter=F,r.flatten=$,r.forEach=N,r.functions=y,r.groupBy=function(n,t,r){var e={};return t=o(t,r),N(n,function(n,r,u){r=t(n,r,u)+"",(jt.call(e,r)?e[r]:e[r]=[]).push(n)}),e},r.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&t!=J){var i=u;
for(t=o(t,r);i--&&t(n[i],i,n);)e++}else e=t==J||r?1:t||e;return l(n,0,Rt(kt(0,u-e),u))},r.intersection=function(n){var t=arguments,r=t.length,e=-1,u=n?n.length:0,o=[];n:for(;++e<u;){var i=n[e];if(0>z(o,i)){for(var a=r;--a;)if(0>z(t[a],i))continue n;o.push(i)}}return o},r.invert=m,r.invoke=function(n,t){var r=l(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},r.keys=Pt,r.map=k,r.max=R,r.memoize=function(n,t){var r={};
return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return jt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},r.min=function(n,t,r){var e=1/0,u=e;if(!t&&Ct(n)){r=-1;for(var i=n.length;++r<i;){var a=n[r];a<u&&(u=a)}}else t=o(t,r),$t(n,function(n,r,o){r=t(n,r,o),r<e&&(e=r,u=n)});return u},r.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var o=n[r];t?u[o]=t[r]:u[o[0]]=o[1]}return u},r.omit=function(n){var t=dt.apply(ht,arguments),r={};return zt(n,function(n,e){0>z(t,e,1)&&(r[e]=n)
}),r},r.once=function(n){var t,r;return function(){return t?r:(t=H,r=n.apply(this,arguments),n=J,r)}},r.pairs=function(n){for(var t=-1,r=Pt(n),e=r.length,u=Array(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},r.partial=function(n){return u(n,l(arguments,1))},r.pick=function(n){for(var t=0,r=dt.apply(ht,arguments),e=r.length,u={};++t<e;){var o=r[t];o in n&&(u[o]=n[o])}return u},r.pluck=Wt,r.range=function(n,t,r){n=+n||0,r=+r||1,t==J&&(t=n,n=0);var e=-1;t=kt(0,mt((t-n)/r));for(var u=Array(t);++e<t;)u[e]=n,n+=r;
return u},r.reject=function(n,t,r){return t=o(t,r),F(n,function(n,r,e){return!t(n,r,e)})},r.rest=T,r.shuffle=function(n){var t=-1,r=n?n.length:0,e=Array(typeof r=="number"?r:0);return N(n,function(n){var r=bt(qt()*(++t+1));e[t]=e[r],e[r]=n}),e},r.sortBy=function(n,t,r){var u=-1,i=n?n.length:0,a=Array(typeof i=="number"?i:0);for(t=o(t,r),N(n,function(n,r,e){a[++u]={a:t(n,r,e),b:u,c:n}}),i=a.length,a.sort(e);i--;)a[i]=a[i].c;return a},r.tap=function(n,t){return t(n),n},r.throttle=function(n,t){function r(){a=new Date,i=J,u=n.apply(o,e)
}var e,u,o,i,a=0;return function(){var f=new Date,c=t-(f-a);return e=arguments,o=this,0<c?i||(i=xt(r,c)):(_t(i),i=J,a=f,u=n.apply(o,e)),u}},r.times=function(n,t,r){n=+n||0;for(var e=-1,u=Array(n);++e<n;)u[e]=t.call(r,e);return u},r.toArray=function(n){return n&&typeof n.length=="number"?l(n):A(n)},r.union=function(){return P(dt.apply(ht,arguments))},r.uniq=P,r.values=A,r.where=D,r.without=function(n){for(var t=-1,r=n.length,e=[];++t<r;){var u=n[t];0>z(arguments,u,1)&&e.push(u)}return e},r.wrap=function(n,t){return function(){var r=[n];
return wt.apply(r,arguments),t.apply(this,r)}},r.zip=function(n){for(var t=-1,r=n?R(Wt(arguments,"length")):0,e=Array(r);++t<r;)e[t]=Wt(arguments,t);return e},r.collect=k,r.drop=T,r.each=N,r.extend=h,r.methods=y,r.select=F,r.tail=T,r.unique=P,r.clone=function(n){return j(n)?Ct(n)?l(n):h({},n):n},r.contains=E,r.escape=function(n){return n==J?"":(n+"").replace(rt,f)},r.every=O,r.find=S,r.findWhere=function(n,t){return D(n,t,H)},r.has=function(n,t){return n?jt.call(n,t):K},r.identity=W,r.indexOf=z,r.isArguments=s,r.isArray=Ct,r.isBoolean=function(n){return n===H||n===K||At.call(n)==it
},r.isDate=function(n){return n instanceof Date||At.call(n)==at},r.isElement=function(n){return n?1===n.nodeType:K},r.isEmpty=_,r.isEqual=d,r.isFinite=function(n){return Ft(n)&&!St(parseFloat(n))},r.isFunction=b,r.isNaN=function(n){return w(n)&&n!=+n},r.isNull=function(n){return n===J},r.isNumber=w,r.isObject=j,r.isRegExp=function(n){return n instanceof RegExp||At.call(n)==lt},r.isString=x,r.isUndefined=function(n){return typeof n=="undefined"},r.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?kt(0,e+r):Rt(r,e-1))+1);e--;)if(n[e]===t)return e;
return-1},r.mixin=G,r.noConflict=function(){return n._=gt,this},r.random=function(n,t){return n==J&&t==J&&(t=1),n=+n||0,t==J&&(t=n,n=0),n+bt(qt()*((+t||0)-n+1))},r.reduce=q,r.reduceRight=I,r.result=function(n,t){var r=n?n[t]:J;return b(r)?n[t]():r},r.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:Pt(n).length},r.some=B,r.sortedIndex=C,r.template=function(n,t,e){n||(n=""),e=g({},e,r.templateSettings);var u=0,o="__p+='",i=e.variable;n.replace(RegExp((e.escape||tt).source+"|"+(e.interpolate||tt).source+"|"+(e.evaluate||tt).source+"|$","g"),function(t,r,e,i,f){return o+=n.slice(u,f).replace(et,a),r&&(o+="'+_['escape']("+r+")+'"),i&&(o+="';"+i+";__p+='"),e&&(o+="'+((__t=("+e+"))==null?'':__t)+'"),u=f+t.length,t
}),o+="';\n",i||(i="obj",o="with("+i+"||{}){"+o+"}"),o="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}";try{var f=Function("_","return "+o)(r)}catch(c){throw c.source=o,c}return t?f(t):(f.source=o,f)},r.unescape=function(n){return n==J?"":(n+"").replace(nt,p)},r.uniqueId=function(n){var t=++Y+"";return n?n+t:t},r.all=O,r.any=B,r.detect=S,r.foldl=q,r.foldr=I,r.include=E,r.inject=q,r.first=M,r.last=function(n,t,r){if(n){var e=0,u=n.length;
if(typeof t!="number"&&t!=J){var i=u;for(t=o(t,r);i--&&t(n[i],i,n);)e++}else if(e=t,e==J||r)return n[u-1];return l(n,kt(0,u-e))}},r.take=M,r.head=M,r.chain=function(n){return n=new r(n),n.__chain__=H,n},r.VERSION="1.0.1",G(r),r.prototype.chain=function(){return this.__chain__=H,this},r.prototype.value=function(){return this.__wrapped__},$t("pop push reverse shift sort splice unshift".split(" "),function(n){var t=ht[n];r.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),Bt&&0===n.length&&delete n[0],this
}}),$t(["concat","join","slice"],function(n){var t=ht[n];r.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new r(n),n.__chain__=H),n}}),L?Q?(Q.exports=r)._=r:L._=r:n._=r})(this);
;(function(n,t){function r(n,t){var r;if(n&&vt[typeof n])for(r in t||(t=G),n)if(t(n[r],r,n)===nt)break}function e(n,t,r){if(n){t=t&&typeof r=="undefined"?t:a(t,r);var e=n.length;if(r=-1,typeof e=="number")for(;++r<e&&t(n[r],r,n)!==nt;);else for(r in n)if(wt.call(n,r)&&t(n[r],r,n)===nt)break}}function u(n){return n&&typeof n=="object"&&n.__wrapped__?n:this instanceof u?(this.__wrapped__=n,void 0):new u(n)}function o(n,t){var r=n.b,e=t.b;if(n=n.a,t=t.a,n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1
}return r<e?-1:1}function i(n,t,r){function e(){var a=arguments,f=o?this:t;return u||(n=t[i]),r.length&&(a=a.length?(a=p(a),r.concat(a)):r),this instanceof e?(l.prototype=n.prototype,f=new l,l.prototype=K,a=n.apply(f,a),w(a)?a:f):n.apply(f,a)}var u=j(n),o=!r,i=t;return o&&(r=t),u||(t=n),e}function a(n,t,r){if(n==K)return G;var e=typeof n;if("function"!=e){if("object"!=e)return function(t){return t[n]};var u=zt(n);return function(t){for(var r=u.length,e=L;r--&&(e=t[u[r]]===n[u[r]]););return e}}return typeof t!="undefined"?1===r?function(r){return n.call(t,r)
}:2===r?function(r,e){return n.call(t,r,e)}:4===r?function(r,e,u,o){return n.call(t,r,e,u,o)}:function(r,e,u){return n.call(t,r,e,u)}:n}function f(n){return"\\"+ht[n]}function c(n){return Tt[n]}function l(){}function p(n,t,r){t||(t=0),typeof r=="undefined"&&(r=n?n.length:0);var e=-1;r=r-t||0;for(var u=Array(0>r?0:r);++e<r;)u[e]=n[t+e];return u}function s(n){return Ct[n]}function v(n){return Et.call(n)==ot}function h(n){var t,r=[],e=function(n,t){r.push(t)};if(n&&vt[typeof n])for(t in e||(e=G),n)if(wt.call(n,t)&&e(n[t],t,n)===nt)break;
return r}function g(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 y(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]==K&&(n[u]=e[u])}return n}function m(n){var t=[];return r(n,function(n,r){j(n)&&t.push(r)}),t.sort()}function _(n){for(var t=-1,r=zt(n),e=r.length,u={};++t<e;){var o=r[t];u[n[o]]=o}return u}function d(n){if(!n)return J;if($t(n)||x(n))return!n.length;for(var t in n)if(wt.call(n,t))return L;
return J}function b(n,t,e,u){if(n===t)return 0!==n||1/n==1/t;var o=typeof n,i=typeof t;if(n===n&&(!n||"function"!=o&&"object"!=o)&&(!t||"function"!=i&&"object"!=i))return L;if(n==K||t==K)return n===t;if(i=Et.call(n),o=Et.call(t),i!=o)return L;switch(i){case at:case ft:return+n==+t;case ct:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case pt:case st:return n==t+""}if(o=i==it,!o){if(n.__wrapped__||t.__wrapped__)return b(n.__wrapped__||n,t.__wrapped__||t,e,u);if(i!=lt)return L;var i=n.constructor,a=t.constructor;
if(i!=a&&(!j(i)||!(i instanceof i&&j(a)&&a instanceof a)))return L}for(e||(e=[]),u||(u=[]),i=e.length;i--;)if(e[i]==n)return u[i]==t;var f=J,c=0;if(e.push(n),u.push(t),o){if(c=t.length,f=c==n.length)for(;c--&&(f=b(n[c],t[c],e,u)););return f}return r(t,function(t,r,o){return wt.call(o,r)?(c++,!(f=wt.call(n,r)&&b(n[r],t,e,u))&&nt):void 0}),f&&r(n,function(n,t,r){return wt.call(r,t)?!(f=-1<--c)&&nt:void 0}),f}function j(n){return typeof n=="function"}function w(n){return n?vt[typeof n]:L}function A(n){return typeof n=="number"||Et.call(n)==ct
}function x(n){return typeof n=="string"||Et.call(n)==st}function E(n){for(var t=-1,r=zt(n),e=r.length,u=Array(e);++t<e;)u[t]=n[r[t]];return u}function O(n,t){var r=L;return typeof(n?n.length:0)=="number"?r=-1<T(n,t):e(n,function(n){return(r=n===t)&&nt}),r}function S(n,t,r){var u=J;if(t=a(t,r),$t(n)){r=-1;for(var o=n.length;++r<o&&(u=!!t(n[r],r,n)););}else e(n,function(n,r,e){return!(u=!!t(n,r,e))&&nt});return u}function F(n,t,r){var u=[];if(t=a(t,r),$t(n)){r=-1;for(var o=n.length;++r<o;){var i=n[r];
t(i,r,n)&&u.push(i)}}else e(n,function(n,r,e){t(n,r,e)&&u.push(n)});return u}function N(n,t,r){var e;return t=a(t,r),k(n,function(n,r,u){return t(n,r,u)?(e=n,nt):void 0}),e}function k(n,t,r){if(t&&typeof r=="undefined"&&$t(n)){r=-1;for(var u=n.length;++r<u&&t(n[r],r,n)!==nt;);}else e(n,t,r)}function R(n,t,r){var u=-1,o=n?n.length:0,i=Array(typeof o=="number"?o:0);if(t=a(t,r),$t(n))for(;++u<o;)i[u]=t(n[u],u,n);else e(n,function(n,r,e){i[++u]=t(n,r,e)});return i}function q(n,t,r){var u=-1/0,o=u;if(!t&&$t(n)){r=-1;
for(var i=n.length;++r<i;){var f=n[r];f>o&&(o=f)}}else t=a(t,r),e(n,function(n,r,e){r=t(n,r,e),r>u&&(u=r,o=n)});return o}function I(n,t,r,u){var o=3>arguments.length;if(t=a(t,u,4),$t(n)){var i=-1,f=n.length;for(o&&(r=n[++i]);++i<f;)r=t(r,n[i],i,n)}else e(n,function(n,e,u){r=o?(o=L,n):t(r,n,e,u)});return r}function B(n,t,r,e){var u=n?n.length:0,o=3>arguments.length;if(typeof u!="number")var i=zt(n),u=i.length;return t=a(t,e,4),k(n,function(e,a,f){a=i?i[--u]:--u,r=o?(o=L,n[a]):t(r,n[a],a,f)}),r}function D(n,t,r){var u;
if(t=a(t,r),$t(n)){r=-1;for(var o=n.length;++r<o&&!(u=t(n[r],r,n)););}else e(n,function(n,r,e){return(u=t(n,r,e))&&nt});return!!u}function M(n,t,r){return r&&d(t)?K:(r?N:F)(n,t)}function $(n,t,r){if(n){var e=0,u=n.length;if(typeof t!="number"&&t!=K){var o=-1;for(t=a(t,r);++o<u&&t(n[o],o,n);)e++}else if(e=t,e==K||r)return n[0];return p(n,0,qt(Rt(0,e),u))}}function z(n,t){for(var r=-1,e=n?n.length:0,u=[];++r<e;){var o=n[r];$t(o)?At.apply(u,t?o:z(o)):u.push(o)}return u}function T(n,t,r){var e=-1,u=n?n.length:0;
if(typeof r=="number")e=(0>r?Rt(0,u+r):r||0)-1;else if(r)return e=P(n,t),n[e]===t?e:-1;for(;++e<u;)if(n[e]===t)return e;return-1}function C(n,t,r){if(typeof t!="number"&&t!=K){var e=0,u=-1,o=n?n.length:0;for(t=a(t,r);++u<o&&t(n[u],u,n);)e++}else e=t==K||r?1:Rt(0,t);return p(n,e)}function P(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?a(r,e,1):G,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;return u}function U(n,t,r,e){var u=-1,o=n?n.length:0,i=[],f=i;for(typeof t=="function"&&(e=r,r=t,t=L),r&&(f=[],r=a(r,e));++u<o;){e=n[u];
var c=r?r(e,u,n):e;(t?!u||f[f.length-1]!==c:0>T(f,c))&&(r&&f.push(c),i.push(e))}return i}function V(n,t){return Bt||Ot&&2<arguments.length?Ot.call.apply(Ot,arguments):i(n,t,p(arguments,2))}function W(n){var r=p(arguments,1);return xt(function(){n.apply(t,r)},1)}function G(n){return n}function H(n){k(m(n),function(t){var r=u[t]=n[t];u.prototype[t]=function(){var n=[this.__wrapped__];return At.apply(n,arguments),n=r.apply(u,n),this.__chain__&&(n=new u(n),n.__chain__=J),n}})}var J=!0,K=null,L=!1,Q=typeof exports=="object"&&exports,X=typeof module=="object"&&module&&module.exports==Q&&module,Y=typeof global=="object"&&global;
Y.global===Y&&(n=Y);var Z=0,nt={},tt=/&(?:amp|lt|gt|quot|#39);/g,rt=/($^)/,et=/[&<>"']/g,ut=/['\n\r\t\u2028\u2029\\]/g,ot="[object Arguments]",it="[object Array]",at="[object Boolean]",ft="[object Date]",ct="[object Number]",lt="[object Object]",pt="[object RegExp]",st="[object String]",vt={"boolean":L,"function":J,object:J,number:L,string:L,undefined:L},ht={"\\":"\\","'":"'","\n":"n","\r":"r"," ":"t","\u2028":"u2028","\u2029":"u2029"},gt=[],Y={},yt=n._,mt=RegExp("^"+(Y.valueOf+"").replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/valueOf|for [^\]]+/g,".+?")+"$"),_t=Math.ceil,dt=n.clearTimeout,bt=gt.concat,jt=Math.floor,wt=Y.hasOwnProperty,At=gt.push,xt=n.setTimeout,Et=Y.toString,Ot=mt.test(Ot=p.bind)&&Ot,St=mt.test(St=Array.isArray)&&St,Ft=n.isFinite,Nt=n.isNaN,kt=mt.test(kt=Object.keys)&&kt,Rt=Math.max,qt=Math.min,It=Math.random,Y=!!n.attachEvent;
Function();var Y=Ot&&!/\n|true/.test(Ot+Y),Bt=Ot&&!Y,Dt=(Dt={0:1,length:1},gt.splice.call(Dt,0,1),Dt[0]),Mt=arguments.constructor==Object;u.templateSettings={escape:/<%-([\s\S]+?)%>/g,evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,variable:""},v(arguments)||(v=function(n){return n?wt.call(n,"callee"):L});var $t=St||function(n){return Mt&&n instanceof Array||Et.call(n)==it},zt=kt?function(n){return w(n)?kt(n):[]}:h,Tt={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},Ct=_(Tt);
j(/x/)&&(j=function(n){return n instanceof Function||"[object Function]"==Et.call(n)});var Pt=R;Y&&X&&typeof setImmediate=="function"&&(W=V(setImmediate,n)),u.after=function(n,t){return 1>n?t():function(){return 1>--n?t.apply(this,arguments):void 0}},u.bind=V,u.bindAll=function(n){for(var t=bt.apply(gt,arguments),r=1<t.length?0:(t=m(n),-1),e=t.length;++r<e;){var u=t[r];n[u]=V(n[u],n)}return n},u.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},u.compose=function(){var n=arguments;
return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},u.countBy=function(n,t,r){var e={};return t=a(t,r),k(n,function(n,r,u){r=t(n,r,u)+"",wt.call(e,r)?e[r]++:e[r]=1}),e},u.debounce=function(n,t,r){function e(){a=K,r||(o=n.apply(i,u))}var u,o,i,a;return function(){var f=r&&!a;return u=arguments,i=this,dt(a),a=xt(e,t),f&&(o=n.apply(i,u)),o}},u.defaults=y,u.defer=W,u.delay=function(n,r){var e=p(arguments,2);return xt(function(){n.apply(t,e)},r)},u.difference=function(n){for(var t=-1,r=n.length,e=bt.apply(gt,arguments),u=[];++t<r;){var o=n[t];
0>T(e,o,r)&&u.push(o)}return u},u.filter=F,u.flatten=z,u.forEach=k,u.functions=m,u.groupBy=function(n,t,r){var e={};return t=a(t,r),k(n,function(n,r,u){r=t(n,r,u)+"",(wt.call(e,r)?e[r]:e[r]=[]).push(n)}),e},u.initial=function(n,t,r){if(!n)return[];var e=0,u=n.length;if(typeof t!="number"&&t!=K){var o=u;for(t=a(t,r);o--&&t(n[o],o,n);)e++}else e=t==K||r?1:t||e;return p(n,0,qt(Rt(0,u-e),u))},u.intersection=function(n){var t=arguments,r=t.length,e=-1,u=n?n.length:0,o=[];n:for(;++e<u;){var i=n[e];if(0>T(o,i)){for(var a=r;--a;)if(0>T(t[a],i))continue n;
o.push(i)}}return o},u.invert=_,u.invoke=function(n,t){var r=p(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=Array(typeof o=="number"?o:0);return k(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},u.keys=zt,u.map=R,u.max=q,u.memoize=function(n,t){var r={};return function(){var e=(t?t.apply(this,arguments):arguments[0])+"";return wt.call(r,e)?r[e]:r[e]=n.apply(this,arguments)}},u.min=function(n,t,r){var u=1/0,o=u;if(!t&&$t(n)){r=-1;for(var i=n.length;++r<i;){var f=n[r];f<o&&(o=f)}}else t=a(t,r),e(n,function(n,r,e){r=t(n,r,e),r<u&&(u=r,o=n)
});return o},u.object=function(n,t){for(var r=-1,e=n?n.length:0,u={};++r<e;){var o=n[r];t?u[o]=t[r]:u[o[0]]=o[1]}return u},u.omit=function(n){var t=bt.apply(gt,arguments),e={};return r(n,function(n,r){0>T(t,r,1)&&(e[r]=n)}),e},u.once=function(n){var t,r;return function(){return t?r:(t=J,r=n.apply(this,arguments),n=K,r)}},u.pairs=function(n){for(var t=-1,r=zt(n),e=r.length,u=Array(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},u.partial=function(n){return i(n,p(arguments,1))},u.pick=function(n){for(var t=0,r=bt.apply(gt,arguments),e=r.length,u={};++t<e;){var o=r[t];
o in n&&(u[o]=n[o])}return u},u.pluck=Pt,u.range=function(n,t,r){n=+n||0,r=+r||1,t==K&&(t=n,n=0);var e=-1;t=Rt(0,_t((t-n)/r));for(var u=Array(t);++e<t;)u[e]=n,n+=r;return u},u.reject=function(n,t,r){return t=a(t,r),F(n,function(n,r,e){return!t(n,r,e)})},u.rest=C,u.shuffle=function(n){var t=-1,r=n?n.length:0,e=Array(typeof r=="number"?r:0);return k(n,function(n){var r=jt(It()*(++t+1));e[t]=e[r],e[r]=n}),e},u.sortBy=function(n,t,r){var e=-1,u=n?n.length:0,i=Array(typeof u=="number"?u:0);for(t=a(t,r),k(n,function(n,r,u){i[++e]={a:t(n,r,u),b:e,c:n}
}),u=i.length,i.sort(o);u--;)i[u]=i[u].c;return i},u.tap=function(n,t){return t(n),n},u.throttle=function(n,t){function r(){a=new Date,i=K,u=n.apply(o,e)}var e,u,o,i,a=0;return function(){var f=new Date,c=t-(f-a);return e=arguments,o=this,0<c?i||(i=xt(r,c)):(dt(i),i=K,a=f,u=n.apply(o,e)),u}},u.times=function(n,t,r){n=+n||0;for(var e=-1,u=Array(n);++e<n;)u[e]=t.call(r,e);return u},u.toArray=function(n){return n&&typeof n.length=="number"?p(n):E(n)},u.union=function(){return U(bt.apply(gt,arguments))
},u.uniq=U,u.values=E,u.where=M,u.without=function(n){for(var t=-1,r=n.length,e=[];++t<r;){var u=n[t];0>T(arguments,u,1)&&e.push(u)}return e},u.wrap=function(n,t){return function(){var r=[n];return At.apply(r,arguments),t.apply(this,r)}},u.zip=function(n){for(var t=-1,r=n?q(Pt(arguments,"length")):0,e=Array(r);++t<r;)e[t]=Pt(arguments,t);return e},u.collect=R,u.drop=C,u.each=k,u.extend=g,u.methods=m,u.select=F,u.tail=C,u.unique=U,u.clone=function(n){return w(n)?$t(n)?p(n):g({},n):n},u.contains=O,u.escape=function(n){return n==K?"":(n+"").replace(et,c)
},u.every=S,u.find=N,u.findWhere=function(n,t){return M(n,t,J)},u.has=function(n,t){return n?wt.call(n,t):L},u.identity=G,u.indexOf=T,u.isArguments=v,u.isArray=$t,u.isBoolean=function(n){return n===J||n===L||Et.call(n)==at},u.isDate=function(n){return n instanceof Date||Et.call(n)==ft},u.isElement=function(n){return n?1===n.nodeType:L},u.isEmpty=d,u.isEqual=b,u.isFinite=function(n){return Ft(n)&&!Nt(parseFloat(n))},u.isFunction=j,u.isNaN=function(n){return A(n)&&n!=+n},u.isNull=function(n){return n===K
},u.isNumber=A,u.isObject=w,u.isRegExp=function(n){return n instanceof RegExp||Et.call(n)==pt},u.isString=x,u.isUndefined=function(n){return typeof n=="undefined"},u.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?Rt(0,e+r):qt(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},u.mixin=H,u.noConflict=function(){return n._=yt,this},u.random=function(n,t){return n==K&&t==K&&(t=1),n=+n||0,t==K&&(t=n,n=0),n+jt(It()*((+t||0)-n+1))},u.reduce=I,u.reduceRight=B,u.result=function(n,t){var r=n?n[t]:K;
return j(r)?n[t]():r},u.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:zt(n).length},u.some=D,u.sortedIndex=P,u.template=function(n,t,r){n||(n=""),r=y({},r,u.templateSettings);var e=0,o="__p+='",i=r.variable;n.replace(RegExp((r.escape||rt).source+"|"+(r.interpolate||rt).source+"|"+(r.evaluate||rt).source+"|$","g"),function(t,r,u,i,a){return o+=n.slice(e,a).replace(ut,f),r&&(o+="'+_['escape']("+r+")+'"),i&&(o+="';"+i+";__p+='"),u&&(o+="'+((__t=("+u+"))==null?'':__t)+'"),e=a+t.length,t
}),o+="';\n",i||(i="obj",o="with("+i+"||{}){"+o+"}"),o="function("+i+"){var __t,__p='',__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}"+o+"return __p}";try{var a=Function("_","return "+o)(u)}catch(c){throw c.source=o,c}return t?a(t):(a.source=o,a)},u.unescape=function(n){return n==K?"":(n+"").replace(tt,s)},u.uniqueId=function(n){var t=++Z+"";return n?n+t:t},u.all=S,u.any=D,u.detect=N,u.foldl=I,u.foldr=B,u.include=O,u.inject=I,u.first=$,u.last=function(n,t,r){if(n){var e=0,u=n.length;
if(typeof t!="number"&&t!=K){var o=u;for(t=a(t,r);o--&&t(n[o],o,n);)e++}else if(e=t,e==K||r)return n[u-1];return p(n,Rt(0,u-e))}},u.take=$,u.head=$,u.chain=function(n){return n=new u(n),n.__chain__=J,n},u.VERSION="1.0.1",H(u),u.prototype.chain=function(){return this.__chain__=J,this},u.prototype.value=function(){return this.__wrapped__},e("pop push reverse shift sort splice unshift".split(" "),function(n){var t=gt[n];u.prototype[n]=function(){var n=this.__wrapped__;return t.apply(n,arguments),Dt&&0===n.length&&delete n[0],this
}}),e(["concat","join","slice"],function(n){var t=gt[n];u.prototype[n]=function(){var n=t.apply(this.__wrapped__,arguments);return this.__chain__&&(n=new u(n),n.__chain__=J),n}}),Q?X?(X.exports=u)._=u:Q._=u:n._=u})(this);

View File

@@ -1302,9 +1302,6 @@
if (!exposeAssign) {
methodNames = _.without(methodNames, 'assign');
}
if (/utilities/.test(command) && /backbone|underscore/.test(command)) {
methodNames = _.without(methodNames, 'runInContext');
}
var lodash = context._ || {};
methodNames.forEach(function(methodName) {
testMethod(lodash, methodName, basename);