Remove internal each for modern and underscore builds.

Former-commit-id: d090f9d0a21f8086d9e34d1171dc046a93327bb8
This commit is contained in:
John-David Dalton
2013-03-13 07:56:15 -07:00
parent 3f7f8133df
commit 59f78c16b1
5 changed files with 134 additions and 145 deletions

View File

@@ -965,7 +965,7 @@
// remove function
if (funcName == 'runInContext') {
source = removeRunInContext(source, funcName);
} else if ((snippet = matchFunction(source, funcName))) {
} else if (funcName != 'each' && (snippet = matchFunction(source, funcName))) {
source = source.replace(snippet, '');
}
// grab the method assignments snippet
@@ -1720,11 +1720,6 @@
dependencyMap.isPlainObject = _.without(dependencyMap.isPlainObject, 'isArguments');
dependencyMap.keys = _.without(dependencyMap.keys, 'isArguments');
dependencyMap.reduceRight = _.without(dependencyMap.reduceRight, 'isString');
if (!isMobile) {
dependencyMap.max.push('forEach');
dependencyMap.min.push('forEach');
}
}
if (isUnderscore) {
dependencyMap.contains = _.without(dependencyMap.contains, 'isString');
@@ -1755,6 +1750,8 @@
dependencyMap.filter = _.without(dependencyMap.filter, 'isArray');
dependencyMap.forEach = _.without(dependencyMap.forEach, 'isArray');
dependencyMap.map = _.without(dependencyMap.map, 'isArray');
dependencyMap.max.push('forEach');
dependencyMap.min.push('forEach');
dependencyMap.reduce = _.without(dependencyMap.reduce, 'isArray');
}
}
@@ -1826,6 +1823,26 @@
if (!isMobile) {
source = removeSupportNonEnumArgs(source);
// replace `_.forEach`
source = replaceFunction(source, 'forEach', [
'function forEach(collection, callback, thisArg) {',
' var index = -1,',
' length = collection ? collection.length : 0;',
'',
" if (typeof length == 'number') {",
' callback = createCallback(callback, thisArg);',
' while (++index < length) {',
' if (callback(collection[index], index, collection) === false) {',
' break;',
' }',
' }',
' } else {',
' each(collection, callback, thisArg);',
' }',
' return collection;',
'}',
].join('\n'));
// replace `_.map`
source = replaceFunction(source, 'map', [
'function map(collection, callback, thisArg) {',
@@ -1849,13 +1866,13 @@
].join('\n'));
// replace `isArray(collection)` checks in "Collections" methods with simpler type checks
_.each(['every', 'filter', 'forEach', 'max', 'min', 'reduce'], function(methodName) {
_.each(['every', 'filter', 'max', 'min', 'reduce', 'some'], function(methodName) {
source = source.replace(matchFunction(source, methodName), function(match) {
if (methodName == 'reduce') {
match = match.replace(/^( *)var noaccum\b/m, '$1if (!collection) return accumulator;\n$&');
}
else if (!isUnderscore && /^(?:max|min)$/.test(methodName)) {
return match.replace(/\beach\(/, 'forEach(');
else if (/^(?:max|min)$/.test(methodName)) {
match = match.replace(/\beach\(/, 'forEach(');
}
return match.replace(/^(( *)if *\(.*?\bisArray\([^\)]+\).*?\) *{\n)(( *)var index[^;]+.+\n+)/m, function(snippet, statement, indent, vars) {
vars = vars
@@ -2377,6 +2394,17 @@
});
}
}
// replace `each` references with `forEach` and `forOwn`
if ((isUnderscore || (isModern && !isMobile)) &&
buildMethods.indexOf('forEach') > -1 &&
(buildMethods.indexOf('forOwn') > -1 || !exposeForOwn)
) {
source = source
.replace(matchFunction(source, 'each'), '')
.replace(/^ *lodash\._each *=.+\n/gm, '')
.replace(/\beach(?=\(collection)/g, 'forOwn')
.replace(/\beach(?=\(\[)/g, 'forEach');
}
vm.runInContext(source, context);
return context._;
}());
@@ -2520,7 +2548,9 @@
// remove chainability from `each` and `_.forEach`
_.each(['each', 'forEach'], function(methodName) {
source = source.replace(matchFunction(source, methodName), function(match) {
return match.replace(/\n *return .+?([};\s]+)$/, '$1');
return match
.replace(/\n *return .+?([};\s]+)$/, '$1')
.replace(/\b(return) +result\b/, '$1')
});
});
@@ -2683,7 +2713,7 @@
// remove all `lodash.prototype` additions
source = source
.replace(/(?:\s*\/\/.*)*\n( *)forOwn\(lodash, *function\(func, *methodName\)[\s\S]+?\n\1}.+/g, '')
.replace(/(?:\s*\/\/.*)*\n( *)each\(\['[\s\S]+?\n\1}.+/g, '')
.replace(/(?:\s*\/\/.*)*\n( *)(?:each|forEach)\(\['[\s\S]+?\n\1}.+/g, '')
.replace(/(?:\s*\/\/.*)*\n *lodash\.prototype.+/g, '');
}
// remove functions, variables, and snippets that the minifier may miss

57
dist/lodash.js vendored
View File

@@ -595,22 +595,6 @@
);
}
/**
* A function compiled to iterate `arguments` objects, arrays, objects, and
* strings consistenly across environments, executing the `callback` for each
* element in the `collection`. The `callback` is bound to `thisArg` and invoked
* with three arguments; (value, index|key, collection). Callbacks may exit
* iteration early by explicitly returning `false`.
*
* @private
* @type Function
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function} [callback=identity] The function called per iteration.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array|Object|String} Returns `collection`.
*/
var each = createIterator(eachIteratorOptions);
/**
* Used by `template` to escape characters for inclusion in compiled
* string literals.
@@ -2077,7 +2061,7 @@
: indexOf(collection, target, fromIndex)
) > -1;
} else {
each(collection, function(value) {
forOwn(collection, function(value) {
if (++index >= fromIndex) {
return !(result = value === target);
}
@@ -2185,7 +2169,7 @@
}
}
} else {
each(collection, function(value, index, collection) {
forOwn(collection, function(value, index, collection) {
return (result = !!callback(value, index, collection));
});
}
@@ -2247,7 +2231,7 @@
}
}
} else {
each(collection, function(value, index, collection) {
forOwn(collection, function(value, index, collection) {
if (callback(value, index, collection)) {
result.push(value);
}
@@ -2338,14 +2322,15 @@
var index = -1,
length = collection ? collection.length : 0;
if (callback && typeof thisArg == 'undefined' && typeof length == 'number') {
if (typeof length == 'number') {
callback = createCallback(callback, thisArg);
while (++index < length) {
if (callback(collection[index], index, collection) === false) {
break;
}
}
} else {
each(collection, callback, thisArg);
forOwn(collection, callback, thisArg);
}
return collection;
}
@@ -2481,7 +2466,7 @@
}
} else {
result = [];
each(collection, function(value, key, collection) {
forOwn(collection, function(value, key, collection) {
result[++index] = callback(value, key, collection);
});
}
@@ -2531,10 +2516,10 @@
var computed = -Infinity,
result = computed;
if (!callback && isArray(collection)) {
var index = -1,
length = collection.length;
var index = -1,
length = collection ? collection.length : 0;
if (!callback && typeof length == 'number') {
while (++index < length) {
var value = collection[index];
if (value > result) {
@@ -2600,10 +2585,10 @@
var computed = Infinity,
result = computed;
if (!callback && isArray(collection)) {
var index = -1,
length = collection.length;
var index = -1,
length = collection ? collection.length : 0;
if (!callback && typeof length == 'number') {
while (++index < length) {
var value = collection[index];
if (value < result) {
@@ -2694,7 +2679,7 @@
accumulator = callback(accumulator, collection[index], index, collection);
}
} else {
each(collection, function(value, index, collection) {
forOwn(collection, function(value, index, collection) {
accumulator = noaccum
? (noaccum = false, value)
: callback(accumulator, value, index, collection)
@@ -2885,17 +2870,17 @@
var result;
callback = lodash.createCallback(callback, thisArg);
if (isArray(collection)) {
var index = -1,
length = collection.length;
var index = -1,
length = collection ? collection.length : 0;
if (typeof length == 'number') {
while (++index < length) {
if ((result = callback(collection[index], index, collection))) {
break;
}
}
} else {
each(collection, function(value, index, collection) {
forOwn(collection, function(value, index, collection) {
return !(result = callback(value, index, collection));
});
}
@@ -5101,7 +5086,7 @@
lodash.prototype.valueOf = wrapperValueOf;
// add `Array` functions that return unwrapped values
each(['join', 'pop', 'shift'], function(methodName) {
forEach(['join', 'pop', 'shift'], function(methodName) {
var func = arrayRef[methodName];
lodash.prototype[methodName] = function() {
return func.apply(this.__wrapped__, arguments);
@@ -5109,7 +5094,7 @@
});
// add `Array` functions that return the wrapped value
each(['push', 'reverse', 'sort', 'unshift'], function(methodName) {
forEach(['push', 'reverse', 'sort', 'unshift'], function(methodName) {
var func = arrayRef[methodName];
lodash.prototype[methodName] = function() {
func.apply(this.__wrapped__, arguments);
@@ -5118,7 +5103,7 @@
});
// add `Array` functions that return new wrapped values
each(['concat', 'slice', 'splice'], function(methodName) {
forEach(['concat', 'slice', 'splice'], function(methodName) {
var func = arrayRef[methodName];
lodash.prototype[methodName] = function() {
return new lodashWrapper(func.apply(this.__wrapped__, arguments));

58
dist/lodash.min.js vendored
View File

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

View File

@@ -367,32 +367,6 @@
return bound;
}
/**
* A function compiled to iterate `arguments` objects, arrays, objects, and
* strings consistenly across environments, executing the `callback` for each
* element in the `collection`. The `callback` is bound to `thisArg` and invoked
* with three arguments; (value, index|key, collection). Callbacks may exit
* iteration early by explicitly returning `false`.
*
* @private
* @type Function
* @param {Array|Object|String} collection The collection to iterate over.
* @param {Function} [callback=identity] The function called per iteration.
* @param {Mixed} [thisArg] The `this` binding of `callback`.
* @returns {Array|Object|String} Returns `collection`.
*/
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);
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
* string literals.
@@ -1495,7 +1469,7 @@
if (typeof length == 'number') {
result = indexOf(collection, target) > -1;
} else {
each(collection, function(value) {
forOwn(collection, function(value) {
return (result = value === target) && indicatorObject;
});
}
@@ -1601,7 +1575,7 @@
}
}
} else {
each(collection, function(value, index, collection) {
forOwn(collection, function(value, index, collection) {
return !(result = !!callback(value, index, collection)) && indicatorObject;
});
}
@@ -1663,7 +1637,7 @@
}
}
} else {
each(collection, function(value, index, collection) {
forOwn(collection, function(value, index, collection) {
if (callback(value, index, collection)) {
result.push(value);
}
@@ -1758,14 +1732,15 @@
var index = -1,
length = collection ? collection.length : 0;
if (callback && typeof thisArg == 'undefined' && typeof length == 'number') {
if (typeof length == 'number') {
callback = createCallback(callback, thisArg);
while (++index < length) {
if (callback(collection[index], index, collection) === indicatorObject) {
break;
}
}
} else {
each(collection, callback, thisArg);
forOwn(collection, callback, thisArg);
};
}
@@ -1900,7 +1875,7 @@
}
} else {
result = [];
each(collection, function(value, key, collection) {
forOwn(collection, function(value, key, collection) {
result[++index] = callback(value, key, collection);
});
}
@@ -1963,7 +1938,7 @@
} else {
callback = createCallback(callback, thisArg);
each(collection, function(value, index, collection) {
forEach(collection, function(value, index, collection) {
var current = callback(value, index, collection);
if (current > computed) {
computed = current;
@@ -2030,7 +2005,7 @@
} else {
callback = createCallback(callback, thisArg);
each(collection, function(value, index, collection) {
forEach(collection, function(value, index, collection) {
var current = callback(value, index, collection);
if (current < computed) {
computed = current;
@@ -2109,7 +2084,7 @@
accumulator = callback(accumulator, collection[index], index, collection);
}
} else {
each(collection, function(value, index, collection) {
forOwn(collection, function(value, index, collection) {
accumulator = noaccum
? (noaccum = false, value)
: callback(accumulator, value, index, collection)
@@ -2300,17 +2275,17 @@
var result;
callback = createCallback(callback, thisArg);
if (isArray(collection)) {
var index = -1,
length = collection.length;
var index = -1,
length = collection ? collection.length : 0;
if (typeof length == 'number') {
while (++index < length) {
if ((result = callback(collection[index], index, collection))) {
break;
}
}
} else {
each(collection, function(value, index, collection) {
forOwn(collection, function(value, index, collection) {
return (result = callback(value, index, collection)) && indicatorObject;
});
}
@@ -4353,7 +4328,7 @@
lodash.prototype.value = wrapperValueOf;
// add `Array` mutator functions to the wrapper
each(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
forEach(['pop', 'push', 'reverse', 'shift', 'sort', 'splice', 'unshift'], function(methodName) {
var func = arrayRef[methodName];
lodash.prototype[methodName] = function() {
var value = this.__wrapped__;
@@ -4369,7 +4344,7 @@
});
// add `Array` accessor functions to the wrapper
each(['concat', 'join', 'slice'], function(methodName) {
forEach(['concat', 'join', 'slice'], function(methodName) {
var func = arrayRef[methodName];
lodash.prototype[methodName] = function() {
var value = this.__wrapped__,

View File

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