Reduce objectTypes and indexTypes deps.

This commit is contained in:
John-David Dalton
2014-01-12 11:54:27 -08:00
parent bf2f0c38ed
commit a499fdbb13
7 changed files with 424 additions and 297 deletions

122
dist/lodash.compat.js vendored
View File

@@ -151,24 +151,10 @@
''': "'"
};
/** Used to determine if values are an indexes or keys */
var indexTypes = {
'boolean': false,
'function': false,
'object': false,
'number': true,
'string': true,
'undefined': false
};
/** Used to determine if values are of the language type Object */
var objectTypes = {
'boolean': false,
'function': true,
'object': true,
'number': false,
'string': false,
'undefined': false
'object': true
};
/** Used to escape characters for inclusion in compiled string literals */
@@ -1080,7 +1066,7 @@
var __p = 'var result = ' +
(obj.init) +
';\nif (!(object && objectTypes[typeof object])) {\n return result;\n}\n' +
';\nif (!isObject(object)) {\n return result;\n}\n' +
(obj.top) +
';';
if (support.nonEnumArgs) {
@@ -1543,8 +1529,8 @@
// exit early for unlike primitive values
if (a === a &&
!(a && objectTypes[type]) &&
!(b && objectTypes[otherType])) {
!(a && (type == 'function' || type == 'object')) &&
!(b && (otherType == 'function' || otherType == 'object'))) {
return false;
}
// exit early for `null` and `undefined` avoiding ES3's Function#call behavior
@@ -1943,14 +1929,14 @@
// create the function factory
var factory = Function(
'baseCreateCallback, errorClass, errorProto, hasOwnProperty, isArguments, ' +
'objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString',
'isObject, objectProto, nonEnumProps, stringClass, stringProto, toString',
'return function(' + options.args + ') {\n' + iteratorTemplate(options) + '\n}'
);
// return the compiled function
return factory(
baseCreateCallback, errorClass, errorProto, hasOwnProperty, isArguments,
objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString
isObject, objectProto, nonEnumProps, stringClass, stringProto, toString
);
}
@@ -2349,11 +2335,19 @@
* // => ['hoppy', 'baby puss', 'dino']
*/
function flatten(array, isShallow, callback, thisArg) {
var type = typeof isShallow;
// juggle arguments
if (typeof isShallow != 'boolean' && isShallow != null) {
if (type != 'boolean' && isShallow != null) {
thisArg = callback;
callback = (indexTypes[typeof isShallow] && thisArg && thisArg[isShallow] === array) ? null : isShallow;
callback = isShallow;
isShallow = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === array) {
callback = null;
}
}
if (callback != null) {
array = map(array, callback, thisArg);
@@ -3028,11 +3022,19 @@
* // => [{ 'x': 1 }, { 'x': 2 }]
*/
function uniq(array, isSorted, callback, thisArg) {
var type = typeof isSorted;
// juggle arguments
if (typeof isSorted != 'boolean' && isSorted != null) {
if (type != 'boolean' && isSorted != null) {
thisArg = callback;
callback = (indexTypes[typeof isSorted] && thisArg && thisArg[isSorted] === array) ? null : isSorted;
callback = isSorted;
isSorted = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === array) {
callback = null;
}
}
if (callback != null) {
callback = lodash.createCallback(callback, thisArg, 3);
@@ -3308,12 +3310,18 @@
var args = arguments,
index = -1,
props = baseFlatten(args, true, false, 1),
length = (indexTypes[typeof guard] && args[2] && args[2][guard] === collection) ? 1 : props.length,
result = Array(length);
length = props.length,
type = typeof guard;
// allows working with functions like `_.map` without using
// their `index` arguments
if ((type == 'number' || type == 'string') && args[2] && args[2][guard] === collection) {
length = 1;
}
if (support.unindexedChars && isString(collection)) {
collection = collection.split('');
}
var result = Array(length);
while(++index < length) {
result[index] = collection[props[index]];
}
@@ -3945,11 +3953,12 @@
*/
function max(collection, callback, thisArg) {
var computed = -Infinity,
result = computed;
result = computed,
type = typeof callback;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if (indexTypes[typeof callback] && thisArg && thisArg[callback] === collection) {
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === collection) {
callback = null;
}
if (callback == null && isArray(collection)) {
@@ -4020,11 +4029,12 @@
*/
function min(collection, callback, thisArg) {
var computed = Infinity,
result = computed;
result = computed,
type = typeof callback;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if (indexTypes[typeof callback] && thisArg && thisArg[callback] === collection) {
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === collection) {
callback = null;
}
if (callback == null && isArray(collection)) {
@@ -5157,8 +5167,14 @@
function assign(object, source, guard) {
var args = arguments,
argsIndex = 0,
argsLength = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
argsLength = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
argsLength = 2;
}
// juggle arguments
if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {
var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);
@@ -5222,11 +5238,19 @@
* // => 0
*/
function clone(value, isDeep, callback, thisArg) {
var type = typeof isDeep;
// juggle arguments
if (typeof isDeep != 'boolean' && isDeep != null) {
if (type != 'boolean' && isDeep != null) {
thisArg = callback;
callback = (indexTypes[typeof isDeep] && thisArg && thisArg[isDeep] === value) ? null : isDeep;
callback = isDeep;
isDeep = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === value) {
callback = null;
}
}
return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
}
@@ -5323,8 +5347,8 @@
* @category Objects
* @param {Object} object The destination object.
* @param {...Object} [source] The source objects.
* @param- {Object} [guard] Allows working with `_.reduce` without using its
* `key` and `object` arguments as sources.
* @param- {Object} [guard] Allows working with functions like `_.reduce`
* without using their `key` and `object` arguments as sources.
* @returns {Object} Returns the destination object.
* @example
*
@@ -5335,8 +5359,14 @@
function defaults(object, source, guard) {
var args = arguments,
argsIndex = 0,
argsLength = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
argsLength = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
argsLength = 2;
}
while (++argsIndex < argsLength) {
source = args[argsIndex];
if (isObject(source)) {
@@ -5950,7 +5980,8 @@
// http://es5.github.io/#x8
// and avoid a V8 bug
// http://code.google.com/p/v8/issues/detail?id=2291
return !!(value && objectTypes[typeof value]);
var type = typeof value;
return value && (type == 'function' || type == 'object') || false;
}
/**
@@ -6022,8 +6053,9 @@
* // => true
*/
function isNumber(value) {
return typeof value == 'number' ||
value && typeof value == 'object' && toString.call(value) == numberClass || false;
var type = typeof value;
return type == 'number' ||
value && type == 'object' && toString.call(value) == numberClass || false;
}
/**
@@ -6076,7 +6108,9 @@
* // => true
*/
function isRegExp(value) {
return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
var type = typeof value;
return value && (type == 'function' || type == 'object') &&
toString.call(value) == regexpClass || false;
}
/**
@@ -6240,8 +6274,14 @@
return object;
}
var args = arguments,
length = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
length = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
length = 2;
}
// juggle arguments
if (length > 3 && typeof args[length - 2] == 'function') {
var callback = baseCreateCallback(args[--length - 1], args[length--], 2);

View File

@@ -5,60 +5,60 @@
*/
;(function(){function n(n,t){if(n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return 0}function t(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++r<e;)if(n[r]===t)return r;return-1}function r(n,r){var e=typeof r;return n=n.h,"boolean"==e||null==r?n[r]?0:-1:("number"!=e&&"string"!=e&&(e="object"),n=(n=n[e])&&n["number"==e?r:"_"+r],"object"==e?n&&-1<t(n,r)?0:-1:n?0:-1)}function e(n){var t=this.h,r=typeof n;if("boolean"==r||null==n)t[n]=true;else{"number"!=r&&"string"!=r&&(r="object");
var e="number"==r?n:"_"+n,t=t[r]||(t[r]={});"object"==r?(r=t[e])?r.push(n):t[e]=[n]:t[e]=true}}function u(n){return n.charCodeAt(0)}function o(n,t){for(var r=-1,e=n.length;++r<e&&0<=t.indexOf(n.charAt(r)););return r}function a(n,t){for(var r=n.length;r--&&0<=t.indexOf(n.charAt(r)););return r}function i(t,r){return n(t.i,r.i)||t.j-r.j}function l(t,r){for(var e=t.i,u=r.i,o=-1,a=e.length;++o<a;){var i=n(e[o],u[o]);if(i)return i}return t.j-r.j}function f(n){var t=-1,r=n.length,u=n[0],o=n[r/2|0],a=n[r-1];
if(u&&typeof u=="object"&&o&&typeof o=="object"&&a&&typeof a=="object")return false;for(u=h(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=h(),o.g=n,o.h=u,o.push=e;++t<r;)o.push(n[t]);return o}function c(n){return it[n]}function p(n){return"\\"+pt[n]}function s(){return k.pop()||[]}function h(){return O.pop()||{g:null,h:null,i:null,"false":false,j:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,k:null}}function g(n){return typeof n.toString!="function"&&typeof(n+"")=="string"
}function v(n){n.length=0,k.length<A&&k.push(n)}function y(n){var t=n.h;t&&y(t),n.g=n.h=n.i=n.object=n.number=n.string=n.k=null,O.length<A&&O.push(n)}function m(n,t){return(n=null==n?"":n+"")?null==t?n.slice(_(n),w(n)+1):(t+="",n.slice(o(n,t),a(n,t)+1)):n}function d(n,t){return(n=null==n?"":n+"")?null==t?n.slice(_(n)):(t+="",n.slice(o(n,t))):n}function b(n,t){return(n=null==n?"":n+"")?null==t?n.slice(0,w(n)+1):(t+="",n.slice(0,a(n,t)+1)):n}function _(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);
if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break}return t}function w(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function j(n){return lt[n]}function x(n){function e(n){return n&&typeof n=="object"&&!le(n)&&Rr.call(n,"__wrapped__")?n:new o(n)}function o(n,t){this.__chain__=!!t,this.__wrapped__=n
}function a(n){function t(){if(e){var n=Et(e);Tr.apply(n,arguments)}if(this instanceof t){var o=w(r.prototype),n=r.apply(o,n||arguments);return nr(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return te(t,n),t}function _(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!nr(n))return n;var a=kr.call(n);if(!ut[a]||!ne.nodeClass&&g(n))return n;var i=Yr[a];switch(a){case J:case Q:return new i(+n);case nt:case et:return new i(n);case rt:return o=i(n.source,B.exec(n)),o.lastIndex=n.lastIndex,o
}if(a=le(n),t){var l=!e;e||(e=s()),u||(u=s());for(var f=e.length;f--;)if(e[f]==n)return u[f];o=a?i(n.length):{}}else o=a?Et(n):Xt({},n);return a&&(Rr.call(n,"index")&&(o.index=n.index),Rr.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(a?it:Ht)(n,function(n,a){o[a]=_(n,t,r,e,u)}),l&&(v(e),v(u)),o):o}function w(n){return nr(n)?Br(n):{}}function k(n,t,r){if(typeof n!="function")return ur;if(typeof t=="undefined"||!("prototype"in n))return n;var e=n.__bindData__;if(typeof e=="undefined"&&(ne.funcNames&&(e=!n.name),e=e||!ne.funcDecomp,!e)){var u=Ir.call(n);
ne.funcNames||(e=!W.test(u)),e||(e=M.test(u),te(n,e))}if(false===e||true!==e&&1&e[1])return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Ut(n,t)}function O(n){function t(){var n=l?a:this;if(u){var h=Et(u);Tr.apply(h,arguments)}return(o||c)&&(h||(h=Et(arguments)),o&&Tr.apply(h,o),c&&h.length<i)?(e|=16,O([r,p?e:-4&e,h,null,a,i])):(h||(h=arguments),f&&(r=n[s]),this instanceof t?(n=w(r.prototype),h=r.apply(n,h),nr(h)?h:n):r.apply(n,h))
}var r=n[0],e=n[1],u=n[2],o=n[3],a=n[4],i=n[5],l=1&e,f=2&e,c=4&e,p=8&e,s=r;return te(t,n),t}function A(n,e){var u=-1,o=_t(),a=n?n.length:0,i=a>=S&&o===t,l=[];if(i){var c=f(e);c?(o=r,e=c):i=false}for(;++u<a;)c=n[u],0>o(e,c)&&l.push(c);return i&&y(e),l}function it(n,t,r){var e=-1,u=n,o=n?n.length:0;if(t=t&&typeof r=="undefined"?t:k(t,r,3),typeof o=="number")for(ne.unindexedChars&&rr(u)&&(u=u.split(""));++e<o&&false!==t(u[e],e,n););else Ht(n,t);return n}function lt(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var a=n[e];
if(a&&typeof a=="object"&&typeof a.length=="number"&&(le(a)||xt(a))){t||(a=lt(a,t,r));var i=-1,l=a.length,f=o.length;for(o.length+=l;++i<l;)o[f++]=a[i]}else r||o.push(a)}return o}function pt(n,t,r,e,u,o){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;if(n===n&&!(n&&ct[typeof n]||t&&ct[typeof t]))return false;if(null==n||null==t)return n===t;var i=kr.call(n),l=kr.call(t);if(i==G&&(i=tt),l==G&&(l=tt),i!=l)return false;switch(i){case J:case Q:return+n==+t;case nt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;
case rt:case et:return n==mr(t)}if(l=i==H,!l){var f=Rr.call(n,"__wrapped__"),c=Rr.call(t,"__wrapped__");if(f||c)return pt(f?n.__wrapped__:n,c?t.__wrapped__:t,r,e,u,o);if(i!=tt||!ne.nodeClass&&(g(n)||g(t)))return false;if(i=!ne.argsObject&&xt(n)?vr:n.constructor,f=!ne.argsObject&&xt(t)?vr:t.constructor,i!=f&&!(Rr.call(n,"constructor")&&Rr.call(t,"constructor")||Zt(i)&&i instanceof i&&Zt(f)&&f instanceof f)&&"constructor"in n&&"constructor"in t)return false}for(i=!u,u||(u=s()),o||(o=s()),f=u.length;f--;)if(u[f]==n)return o[f]==t;
var p=0,a=true;if(u.push(n),o.push(t),l){if(f=n.length,p=t.length,(a=p==f)||e)for(;p--;)if(l=f,c=t[p],e)for(;l--&&!(a=pt(n[l],c,r,e,u,o)););else if(!(a=pt(n[p],c,r,e,u,o)))break}else ie(t,function(t,i,l){return Rr.call(l,i)?(p++,a=Rr.call(n,i)&&pt(n[i],t,r,e,u,o)):void 0}),a&&!e&&ie(n,function(n,t,r){return Rr.call(r,t)?a=-1<--p:void 0});return u.pop(),o.pop(),i&&(v(u),v(o)),a}function ht(n,t,r,e,u){(le(t)?Ft:Ht)(t,function(t,o){var a,i,l=t,f=n[o];if(t&&((i=le(t))||fe(t))){for(l=e.length;l--;)if(a=e[l]==t){f=u[l];
break}if(!a){var c;r&&(l=r(f,t),c=typeof l!="undefined")&&(f=l),c||(f=i?le(f)?f:[]:fe(f)?f:{}),e.push(t),u.push(f),c||ht(f,t,r,e,u)}}else r&&(l=r(f,t),typeof l=="undefined"&&(l=t)),typeof l!="undefined"&&(f=l);n[o]=f})}function gt(n,t){return n+Ar(Gr()*(t-n+1))}function vt(n,e,u){var o=-1,a=_t(),i=n?n.length:0,l=[],c=!e&&i>=S&&a===t,p=u||c?s():l;for(c&&(p=f(p),a=r);++o<i;){var h=n[o],g=u?u(h,o,n):h;(e?!o||p[p.length-1]!==g:0>a(p,g))&&((u||c)&&p.push(g),l.push(h))}return c?(v(p.g),y(p)):u&&v(p),l}function mt(n){return function(t,r,u){var o={};
if(r=e.createCallback(r,u,3),le(t)){u=-1;for(var a=t.length;++u<a;){var i=t[u];n(o,i,r(i,u,t),t)}}else it(t,function(t,e,u){n(o,t,r(t,e,u),u)});return o}}function dt(n,t,r,e,u,o){var i=1&t,l=4&t,f=16&t,c=32&t;if(!(2&t||Zt(n)))throw new dr;f&&!r.length&&(t&=-17,f=r=false),c&&!e.length&&(t&=-33,c=e=false);var p=n&&n.__bindData__;return p&&true!==p?(p=Et(p),p[2]&&(p[2]=Et(p[2])),p[3]&&(p[3]=Et(p[3])),!i||1&p[1]||(p[4]=u),!i&&1&p[1]&&(t|=8),!l||4&p[1]||(p[5]=o),f&&Tr.apply(p[2]||(p[2]=[]),r),c&&Fr.apply(p[3]||(p[3]=[]),e),p[1]|=t,dt.apply(null,p)):(1==t||17===t?a:O)([n,t,r,e,u,o])
}function bt(n){n.d=X;var t=sr,r="return function("+n.a+"){",e="var s="+n.b+";if(!(p&&r[typeof p])){return s}"+n.e+";";ne.nonEnumArgs&&(e+="var m=p.length;if(m&&j(p)){l=-1;while(++l<m){l+='';"+n.c+";}return s}"),ne.enumPrototypes&&(e+="var u=typeof p=='function';"),ne.enumErrorProps&&(e+="var t=p===g||p instanceof Error;");var u=[];if(ne.enumPrototypes&&u.push("!(u&&l=='prototype')"),ne.enumErrorProps&&u.push("!(t&&(l=='message'||l=='name'))"),e+="for(var l in p){",n.f&&u.push("h.call(p,l)"),u.length&&(e+="if("+u.join("&&")+"){"),e+=n.c+";",u.length&&(e+="}"),e+="}",ne.nonEnumShadows){for(e+="if(p!==q){var e=p.constructor,k=p===(e&&e.prototype),c=p===w?v:p===g?f:y.call(p),n=o[c];",u=0;7>u;u++)e+="l='"+n.d[u]+"';if((!(k&&n[l])&&h.call(p,l))",n.f||(e+="||(!n[l]&&p[l]!==q[l])"),e+="){"+n.c+"}";
e+="}"}return t("a,f,g,h,j,q,r,o,v,w,y",r+(e+"return s;")+"}")(k,Y,_r,Rr,xt,wr,ct,Zr,et,jr,kr)}function _t(){var n=(n=e.indexOf)===kt?t:n;return n}function wt(n){return typeof n=="function"&&Or.test(Ir.call(n))}function jt(n){var t,r;return!n||kr.call(n)!=tt||!Rr.call(n,"constructor")&&(t=n.constructor,Zt(t)&&!(t instanceof t))||!ne.argsClass&&xt(n)||!ne.nodeClass&&g(n)?false:ne.ownLast?(ie(n,function(n,t,e){return r=Rr.call(e,t),false}),false!==r):(ie(n,function(n,t){r=t}),typeof r=="undefined"||Rr.call(n,r))
}function xt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&kr.call(n)==G||false}function Ct(n,t,r){var u=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=-1;for(t=e.createCallback(t,r,3);++a<o&&t(n[a],a,n);)u++}else if(u=t,null==u||r)return n?n[0]:C;return Et(n,0,0<u?u:0)}function kt(n,r,e){if(typeof e=="number"){var u=n?n.length:0;e=0>e?Ur(0,u+e):e||0}else if(e)return e=St(n,r),n[e]===r?e:-1;return t(n,r,e)}function Ot(n,t,r){if(typeof t!="number"&&null!=t){var u=0,o=-1,a=n?n.length:0;
for(t=e.createCallback(t,r,3);++o<a&&t(n[o],o,n);)u++}else u=null==t||r?1:0<t?t:0;return Et(n,u)}function Et(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=Ur(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=Ur(u+r,0):r>u&&(r=u),u=r-t||0,r=fr(u);++e<u;)r[e]=n[t+e];return r}function St(n,t,r,u){var o=0,a=n?n.length:o;for(r=r?e.createCallback(r,u,1):ur,t=r(t);o<a;)u=o+a>>>1,r(n[u])<t?o=u+1:a=u;return o}function At(n,t,r,u){return typeof t!="boolean"&&null!=t&&(u=r,r=ft[typeof t]&&u&&u[t]===n?null:t,t=false),null!=r&&(r=e.createCallback(r,u,3)),vt(n,t,r)
}function It(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Bt(ae(n,"length")):0,e=fr(0>r?0:r);++t<r;)e[t]=ae(n,t);return e}function Nt(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||le(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Rt(){return this.__wrapped__}function Tt(n,t,r){var e=n?n.length:0;if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!le(n)&&rr(n))return Lr?Lr.call(n,t,r):-1<n.indexOf(t,r);var u=_t();
return r=(0>r?Ur(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,a=false;return it(n,function(n){return++o<r?void 0:!(a=n===t)}),a}function Pt(n,t,r){var u=true;if(t=e.createCallback(t,r,3),le(n)){r=-1;for(var o=n.length;++r<o&&(u=!!t(n[r],r,n)););}else it(n,function(n,r,e){return u=!!t(n,r,e)});return u}function Dt(n,t,r){var u=[];if(t=e.createCallback(t,r,3),le(n)){r=-1;for(var o=n.length;++r<o;){var a=n[r];t(a,r,n)&&u.push(a)}}else it(n,function(n,r,e){t(n,r,e)&&u.push(n)});return u}function qt(n,t,r){if(t=e.createCallback(t,r,3),!le(n)){var u;
return it(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}r=-1;for(var o=n.length;++r<o;){var a=n[r];if(t(a,r,n))return a}}function Ft(n,t,r){if(t&&typeof r=="undefined"&&le(n)){r=-1;for(var e=n.length;++r<e&&false!==t(n[r],r,n););}else it(n,t,r);return n}function $t(n,t,r){var e=n,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:k(t,r,3),le(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=ce(n),u=o.length;else ne.unindexedChars&&rr(n)&&(e=n.split(""));it(e,function(r,a){return a=o?o[--u]:--u,t(e[a],a,n)
})}return n}function Lt(n,t,r){var u=-1,o=n?n.length:0,a=fr(typeof o=="number"?o:0);if(t=e.createCallback(t,r,3),le(n))for(;++u<o;)a[u]=t(n[u],u,n);else it(n,function(n,r,e){a[++u]=t(n,r,e)});return a}function Bt(n,t,r){var o=-1/0,a=o;if(ft[typeof t]&&r&&r[t]===n&&(t=null),null==t&&le(n)){r=-1;for(var i=n.length;++r<i;){var l=n[r];l>a&&(a=l)}}else t=null==t&&rr(n)?u:e.createCallback(t,r,3),it(n,function(n,r,e){r=t(n,r,e),r>o&&(o=r,a=n)});return a}function Wt(n,t,r,u){var o=3>arguments.length;if(t=e.createCallback(t,u,4),le(n)){var a=-1,i=n.length;
for(o&&i&&(r=n[++a]);++a<i;)r=t(r,n[a],a,n)}else it(n,function(n,e,u){r=o?(o=false,n):t(r,n,e,u)});return r}function zt(n,t,r,u){var o=3>arguments.length;return t=e.createCallback(t,u,4),$t(n,function(n,e,u){r=o?(o=false,n):t(r,n,e,u)}),r}function Kt(n){var t=-1,r=n?n.length:0,e=fr(typeof r=="number"?r:0);return Ft(n,function(n){var r=gt(0,++t);e[t]=e[r],e[r]=n}),e}function Mt(n,t,r){var u;if(t=e.createCallback(t,r,3),le(n)){r=-1;for(var o=n.length;++r<o&&!(u=t(n[r],r,n)););}else it(n,function(n,r,e){return!(u=t(n,r,e))
});return!!u}function Ut(n,t){return 2<arguments.length?dt(n,17,Et(arguments,2),null,t):dt(n,1,null,null,t)}function Vt(n,t,r){function e(){c&&Sr(c),a=c=p=C,(g||h!==t)&&(s=ge(),i=n.apply(f,o),c||a||(o=f=null))}function u(){var r=t-(ge()-l);0<r?c=Dr(u,r):(a&&Sr(a),r=p,a=c=p=C,r&&(s=ge(),i=n.apply(f,o),c||a||(o=f=null)))}var o,a,i,l,f,c,p,s=0,h=false,g=true;if(!Zt(n))throw new dr;if(t=Ur(0,t)||0,true===r)var v=true,g=false;else nr(r)&&(v=r.leading,h="maxWait"in r&&(Ur(t,r.maxWait)||0),g="trailing"in r?r.trailing:g);
return function(){if(o=arguments,l=ge(),f=this,p=g&&(c||!v),false===h)var r=v&&!c;else{a||v||(s=l);var y=h-(l-s),m=0>=y;m?(a&&(a=Sr(a)),s=l,i=n.apply(f,o)):a||(a=Dr(e,y))}return m&&c?c=Sr(c):c||t===h||(c=Dr(u,t)),r&&(m=true,i=n.apply(f,o)),!m||c||a||(o=f=null),i}}function Xt(n,t,r){var e=arguments,u=0,o=ft[typeof r]&&e[3]&&e[3][r]===t?2:e.length;if(3<o&&"function"==typeof e[o-2])var a=k(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(a=e[--o]);for(;++u<o;)if(t=e[u],nr(t))for(var i=-1,l=ce(t),f=l.length;++i<f;){var c=l[i];
n[c]=a?a(n[c],t[c]):t[c]}return n}function Gt(n,t,r){for(var e=arguments,u=0,o=ft[typeof r]&&e[3]&&e[3][r]===t?2:e.length;++u<o;)if(t=e[u],nr(t))for(var a=-1,i=ce(t),l=i.length;++a<l;){var f=i[a];"undefined"==typeof n[f]&&(n[f]=t[f])}return n}function Ht(n,t,r){var e=-1,u=ce(n),o=u.length;for(t=t&&typeof r=="undefined"?t:k(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function Jt(n,t,r){var e=ce(n),u=e.length;for(t=k(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n}function Qt(n){var t=[];return ie(n,function(n,r){Zt(n)&&t.push(r)
}),t.sort()}function Yt(n){return n&&typeof n=="object"&&1===n.nodeType&&(ne.nodeClass?-1<kr.call(n).indexOf("Element"):g(n))||false}function Zt(n){return typeof n=="function"}function nr(n){return!(!n||!ct[typeof n])}function tr(n){return typeof n=="number"||n&&typeof n=="object"&&kr.call(n)==nt||false}function rr(n){return typeof n=="string"||n&&typeof n=="object"&&kr.call(n)==et||false}function er(n){for(var t=-1,r=ce(n),e=r.length,u=fr(e);++t<e;)u[t]=n[r[t]];return u}function ur(n){return n}function or(n){n||(n={});
var t=ce(n),r=t[0],e=n[r];return 1!=t.length||e!==e||nr(e)?function(r){for(var e=t.length,u=false;e--&&(u=pt(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function ar(n,t,r){var u=true,o=t&&Qt(t);t&&(r||o.length)||(null==r&&(r=t),t=n,n=e,o=Qt(t)),false===r?u=false:nr(r)&&"chain"in r&&(u=r.chain),r=-1;for(var a=Zt(n),i=o?o.length:0;++r<i;){var l=o[r],f=n[l]=t[l];a&&(n.prototype[l]=function(t){return function(){var r=this.__chain__,e=this.__wrapped__,o=[e];if(Tr.apply(o,arguments),o=t.apply(n,o),u||r){if(e===o&&nr(o))return this;
o=new n(o),o.__chain__=r}return o}}(f))}}function ir(){}function lr(n){return function(t){return t[n]}}n=n?yt.defaults(st.Object(),n,yt.pick(st,V)):st;var fr=n.Array,cr=n.Boolean,pr=n.Date,sr=n.Function,hr=n.Math,gr=n.Number,vr=n.Object,yr=n.RegExp,mr=n.String,dr=n.TypeError,br=fr.prototype,_r=n.Error.prototype,wr=vr.prototype,jr=mr.prototype,xr=(xr=n.window)&&xr.document,Cr=n._,kr=wr.toString,Or=yr("^"+mr(kr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Er=hr.ceil,Sr=n.clearTimeout,Ar=hr.floor,Ir=sr.prototype.toString,Nr=wt(Nr=vr.getPrototypeOf)&&Nr,Rr=wr.hasOwnProperty,Tr=br.push,Pr=wr.propertyIsEnumerable,Dr=n.setTimeout,qr=br.splice,Fr=br.unshift,$r=function(){try{var n={},t=wt(t=vr.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),Lr=wt(Lr=jr.contains)&&Lr,Br=wt(Br=vr.create)&&Br,Wr=wt(Wr=fr.isArray)&&Wr,zr=n.isFinite,Kr=n.isNaN,Mr=wt(Mr=vr.keys)&&Mr,Ur=hr.max,Vr=hr.min,Xr=n.parseInt,Gr=hr.random,Hr=wt(Hr=jr.trim)&&!Hr.call(I)&&Hr,Jr=wt(Jr=jr.trimLeft)&&!Jr.call(I)&&Jr,Qr=wt(Qr=jr.trimRight)&&!Qr.call(I)&&Qr,Yr={};Yr[H]=fr,Yr[J]=cr,Yr[Q]=pr,Yr[Z]=sr,Yr[tt]=vr,Yr[nt]=gr,Yr[rt]=yr,Yr[et]=mr;var Zr={};Zr[H]=Zr[Q]=Zr[nt]={constructor:true,toLocaleString:true,toString:true,valueOf:true},Zr[J]=Zr[et]={constructor:true,toString:true,valueOf:true},Zr[Y]=Zr[Z]=Zr[rt]={constructor:true,toString:true},Zr[tt]={constructor:true},function(){for(var n=X.length;n--;){var t,r=X[n];
for(t in Zr)Rr.call(Zr,t)&&!Rr.call(Zr[t],r)&&(Zr[t][r]=false)}}(),o.prototype=e.prototype;var ne=e.support={};!function(){function t(){this.x=1}var r={0:1,length:1},e=[];t.prototype={valueOf:1,y:1};for(var u in new t)e.push(u);for(u in arguments);ne.argsClass=kr.call(arguments)==G,ne.argsObject=arguments.constructor==vr&&!(arguments instanceof fr),ne.enumErrorProps=Pr.call(_r,"message")||Pr.call(_r,"name"),ne.enumPrototypes=Pr.call(t,"prototype"),ne.funcDecomp=!wt(n.WinRTError)&&M.test(x),ne.funcNames=typeof sr.name=="string",ne.nonEnumArgs=0!=u,ne.nonEnumShadows=!/valueOf/.test(e),ne.ownLast="x"!=e[0],ne.spliceObjects=(qr.call(r,0,1),!r[0]),ne.unindexedChars="xx"!="x"[0]+vr("x")[0];
try{ne.dom=11===xr.createDocumentFragment().nodeType}catch(o){ne.dom=false}try{ne.nodeClass=!(kr.call(undefined)==tt&&!({toString:0}+""))}catch(a){ne.nodeClass=true}}(1),e.templateSettings={escape:q,evaluate:F,interpolate:$,variable:"",imports:{_:e}},Br||(w=function(){function t(){}return function(r){if(nr(r)){t.prototype=r;var e=new t;t.prototype=null}return e||n.Object()}}());var te=$r?function(n,t){at.value=t,$r(n,"__bindData__",at)}:ir;ne.argsClass||(xt=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Rr.call(n,"callee")&&!Pr.call(n,"callee")||false
});var re=bt({a:"p",b:"[]",e:"",c:"s.push(l)",f:true}),ee=mt(function(n,t,r){Rr.call(n,r)?n[r]++:n[r]=1}),ue=mt(function(n,t,r){Rr.call(n,r)?n[r].push(t):n[r]=[t]}),oe=mt(function(n,t,r){n[r]=t}),ae=Lt,ie=bt({a:"p,b,x",b:"p",e:"b=b&&typeof x=='undefined'?b:a(b,x,3)",c:"if(b(p[l],l,p)===false){return s}",f:false}),le=Wr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&kr.call(n)==H||false};ne.dom||(Yt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!fe(n)||false}),Zt(/x/)&&(Zt=function(n){return typeof n=="function"&&kr.call(n)==Z
});var fe=Nr?function(n){if(!n||kr.call(n)!=tt||!ne.argsClass&&xt(n))return false;var t=n.valueOf,r=wt(t)&&(r=Nr(t))&&Nr(r);return r?n==r||Nr(n)==r:jt(n)}:jt,ce=Mr?function(n){return nr(n)?ne.enumPrototypes&&typeof n=="function"||ne.nonEnumArgs&&n.length&&xt(n)?re(n):Mr(n):[]}:re,pe=Hr?function(n,t){return null==n?"":null==t?Hr.call(n):m(n,t)}:m,se=Jr?function(n,t){return null==n?"":null==t?Jr.call(n):d(n,t)}:d,he=Qr?function(n,t){return null==n?"":null==t?Qr.call(n):b(n,t)}:b,ge=wt(ge=pr.now)&&ge||function(){return(new pr).getTime()
},ve=8==Xr(I+"08")?Xr:function(n,t){return n=pe(n),Xr(n,+t||(z.test(n)?16:10))};return e.after=function(n,t){if(!Zt(t))throw new dr;return function(){return 1>--n?t.apply(this,arguments):void 0}},e.assign=Xt,e.at=function(n,t){var r=arguments,e=-1,u=lt(r,true,false,1),r=ft[typeof t]&&r[2]&&r[2][t]===n?1:u.length,o=fr(r);for(ne.unindexedChars&&rr(n)&&(n=n.split(""));++e<r;)o[e]=n[u[e]];return o},e.bind=Ut,e.bindAll=function(n){for(var t=1<arguments.length?lt(arguments,true,false,1):Qt(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=dt(n[u],1,null,null,n)}return n},e.bindKey=function(n,t){return 2<arguments.length?dt(t,19,Et(arguments,2),null,n):dt(t,3,null,null,n)},e.chain=function(n){return n=new o(n),n.__chain__=true,n},e.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},e.compose=function(){for(var n=arguments,t=n.length;t--;)if(!Zt(n[t]))throw new dr;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},e.constant=function(n){return function(){return n
}},e.countBy=ee,e.create=function(n,t){var r=w(n);return t?Xt(r,t):r},e.createCallback=function(n,t,r){var e=typeof n;return null==n||"function"==e?k(n,t,r):"object"!=e?lr(n):or(n)},e.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,dt(n,4,null,null,null,t)},e.debounce=Vt,e.defaults=Gt,e.defer=function(n){if(!Zt(n))throw new dr;var t=Et(arguments,1);return Dr(function(){n.apply(C,t)},1)},e.delay=function(n,t){if(!Zt(n))throw new dr;var r=Et(arguments,2);return Dr(function(){n.apply(C,r)
},t)},e.difference=function(n){return A(n,lt(arguments,true,true,1))},e.filter=Dt,e.flatten=function(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=ft[typeof t]&&e&&e[t]===n?null:t,t=false),null!=r&&(n=Lt(n,r,e)),lt(n,t)},e.forEach=Ft,e.forEachRight=$t,e.forIn=ie,e.forInRight=function(n,t,r){var e=[];ie(n,function(n,t){e.push(t,n)});var u=e.length;for(t=k(t,r,3);u--&&false!==t(e[u--],e[u],n););return n},e.forOwn=Ht,e.forOwnRight=Jt,e.functions=Qt,e.groupBy=ue,e.indexBy=oe,e.initial=function(n,t,r){var u=0,o=n?n.length:0;
if(typeof t!="number"&&null!=t){var a=o;for(t=e.createCallback(t,r,3);a--&&t(n[a],a,n);)u++}else u=null==t||r?1:t||u;return u=o-u,Et(n,0,0<u?u:0)},e.intersection=function(){for(var n=[],e=-1,u=arguments.length,o=s(),a=_t(),i=a===t,l=s();++e<u;){var c=arguments[e];(le(c)||xt(c))&&(n.push(c),o.push(i&&c.length>=S&&f(e?n[e]:l)))}var i=n[0],p=-1,h=i?i.length:0,g=[];n:for(;++p<h;){var m=o[0],c=i[p];if(0>(m?r(m,c):a(l,c))){for(e=u,(m||l).push(c);--e;)if(m=o[e],0>(m?r(m,c):a(n[e],c)))continue n;g.push(c)
}}for(;u--;)(m=o[u])&&y(m);return v(o),v(l),g},e.invert=function(n,t){for(var r=-1,e=ce(n),u=e.length,o={};++r<u;){var a=e[r],i=n[a];t?Rr.call(o,i)?o[i].push(a):o[i]=[a]:o[i]=a}return o},e.invoke=function(n,t){var r=Et(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=fr(typeof o=="number"?o:0);return Ft(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},e.keys=ce,e.map=Lt,e.mapValues=function(n,t,r){var u={};return t=e.createCallback(t,r,3),Ht(n,function(n,r,e){u[r]=t(n,r,e)}),u},e.match=or,e.max=Bt,e.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):"_"+arguments[0];
return Rr.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!Zt(n))throw new dr;return r.cache={},r},e.merge=function(n,t,r){if(!nr(n))return n;var e=arguments,u=ft[typeof r]&&e[3]&&e[3][r]===t?2:e.length;if(3<u&&"function"==typeof e[u-2])var o=k(e[--u-1],e[u--],2);else 2<u&&"function"==typeof e[u-1]&&(o=e[--u]);for(var e=Et(arguments,1,u),a=-1,i=s(),l=s();++a<u;)ht(n,e[a],o,i,l);return v(i),v(l),n},e.min=function(n,t,r){var o=1/0,a=o;if(ft[typeof t]&&r&&r[t]===n&&(t=null),null==t&&le(n)){r=-1;for(var i=n.length;++r<i;){var l=n[r];
l<a&&(a=l)}}else t=null==t&&rr(n)?u:e.createCallback(t,r,3),it(n,function(n,r,e){r=t(n,r,e),r<o&&(o=r,a=n)});return a},e.omit=function(n,t,r){var u={};if(typeof t!="function"){var o=[];ie(n,function(n,t){o.push(t)});for(var o=A(o,lt(arguments,true,false,1)),a=-1,i=o.length;++a<i;){var l=o[a];u[l]=n[l]}}else t=e.createCallback(t,r,3),ie(n,function(n,r,e){t(n,r,e)||(u[r]=n)});return u},e.once=function(n){var t,r;if(!Zt(n))throw new dr;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)
}},e.pairs=function(n){for(var t=-1,r=ce(n),e=r.length,u=fr(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},e.partial=function(n){return dt(n,16,Et(arguments,1))},e.partialRight=function(n){return dt(n,32,null,Et(arguments,1))},e.pick=function(n,t,r){var u={};if(typeof t!="function")for(var o=-1,a=lt(arguments,true,false,1),i=nr(n)?a.length:0;++o<i;){var l=a[o];l in n&&(u[l]=n[l])}else t=e.createCallback(t,r,3),ie(n,function(n,r,e){t(n,r,e)&&(u[r]=n)});return u},e.pluck=ae,e.property=lr,e.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,a=t[r];++o<u;)n[o]===a&&(qr.call(n,o--,1),u--);
return n},e.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);var e=-1;t=Ur(0,Er((t-n)/(r||1)));for(var u=fr(t);++e<t;)u[e]=n,n+=r;return u},e.reject=function(n,t,r){return t=e.createCallback(t,r,3),Dt(n,function(n,r,e){return!t(n,r,e)})},e.remove=function(n,t,r){var u=-1,o=n?n.length:0,a=[];for(t=e.createCallback(t,r,3);++u<o;)r=n[u],t(r,u,n)&&(a.push(r),qr.call(n,u--,1),o--);return a},e.rest=Ot,e.shuffle=Kt,e.slice=Et,e.sortBy=function(n,t,r){var u=-1,o=t&&le(t),a=n?n.length:0,f=fr(typeof a=="number"?a:0);
for(o||(t=e.createCallback(t,r,3)),Ft(n,function(n,r,e){var a=f[++u]=h();a.j=u,a.k=n,a.i=o?Lt(t,function(t){return n[t]}):t(n,r,e)}),a=f.length,f.sort(o?l:i);a--;)n=f[a],f[a]=n.k,y(n);return f},e.tap=function(n,t,r){return t.call(r,n),n},e.throttle=function(n,t,r){var e=true,u=true;if(!Zt(n))throw new dr;return false===r?e=false:nr(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),ot.leading=e,ot.maxWait=t,ot.trailing=u,Vt(n,t,ot)},e.times=function(n,t,r){n=-1<(n=+n)?n:0;var e=-1,u=fr(n);for(t=k(t,r,1);++e<n;)u[e]=t(e);
return u},e.toArray=function(n){return n&&typeof n.length=="number"?ne.unindexedChars&&rr(n)?n.split(""):Et(n):er(n)},e.transform=function(n,t,r,u){var o=le(n);if(null==r)if(o)r=[];else{var a=n&&n.constructor;r=w(a&&a.prototype)}return t&&(t=e.createCallback(t,u,4),(o?it:Ht)(n,function(n,e,u){return t(r,n,e,u)})),r},e.union=function(){return vt(lt(arguments,true,true))},e.uniq=At,e.values=er,e.where=Dt,e.without=function(n){return A(n,Et(arguments,1))},e.wrap=function(n,t){return dt(t,16,[n])},e.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];
if(le(r)||xt(r))var e=e?A(e,r).concat(A(r,e)):r}return e?vt(e):[]},e.zip=It,e.zipObject=Nt,e.collect=Lt,e.drop=Ot,e.each=Ft,e.eachRight=$t,e.extend=Xt,e.methods=Qt,e.object=Nt,e.select=Dt,e.tail=Ot,e.unique=At,e.unzip=It,ar(Xt({},e)),e.capitalize=function(n){return null==n?"":(n=mr(n),n.charAt(0).toUpperCase()+n.slice(1))},e.clone=function(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=ft[typeof t]&&e&&e[t]===n?null:t,t=false),_(n,t,typeof r=="function"&&k(r,e,1))},e.cloneDeep=function(n,t,r){return _(n,true,typeof t=="function"&&k(t,r,1))
},e.contains=Tt,e.escape=function(n){return null==n?"":mr(n).replace(D,c)},e.every=Pt,e.find=qt,e.findIndex=function(n,t,r){var u=-1,o=n?n.length:0;for(t=e.createCallback(t,r,3);++u<o;)if(t(n[u],u,n))return u;return-1},e.findKey=function(n,t,r){var u;return t=e.createCallback(t,r,3),Ht(n,function(n,r,e){return t(n,r,e)?(u=r,false):void 0}),u},e.findLast=function(n,t,r){var u;return t=e.createCallback(t,r,3),$t(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u},e.findLastIndex=function(n,t,r){var u=n?n.length:0;
for(t=e.createCallback(t,r,3);u--;)if(t(n[u],u,n))return u;return-1},e.findLastKey=function(n,t,r){var u;return t=e.createCallback(t,r,3),Jt(n,function(n,r,e){return t(n,r,e)?(u=r,false):void 0}),u},e.has=function(n,t){return n?Rr.call(n,t):false},e.identity=ur,e.indexOf=kt,e.isArguments=xt,e.isArray=le,e.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&kr.call(n)==J||false},e.isDate=function(n){return n&&typeof n=="object"&&kr.call(n)==Q||false},e.isElement=Yt,e.isEmpty=function(n){var t=true;
if(!n)return t;var r=kr.call(n),e=n.length;return r==H||r==et||(ne.argsClass?r==G:xt(n))||r==tt&&typeof e=="number"&&Zt(n.splice)?!e:(Ht(n,function(){return t=false}),t)},e.isEqual=function(n,t,r,e){return pt(n,t,typeof r=="function"&&k(r,e,2))},e.isFinite=function(n){return zr(n)&&!Kr(parseFloat(n))},e.isFunction=Zt,e.isNaN=function(n){return tr(n)&&n!=+n},e.isNull=function(n){return null===n},e.isNumber=tr,e.isObject=nr,e.isPlainObject=fe,e.isRegExp=function(n){return n&&ct[typeof n]&&kr.call(n)==rt||false
},e.isString=rr,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?Ur(0,e+r):Vr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},e.mixin=ar,e.noConflict=function(){return n._=Cr,this},e.noop=ir,e.now=ge,e.parseInt=ve,e.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Gr(),Vr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):gt(n,t)
},e.reduce=Wt,e.reduceRight=zt,e.result=function(n,t){if(n){var r=n[t];return Zt(r)?n[t]():r}},e.runInContext=x,e.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:ce(n).length},e.some=Mt,e.sortedIndex=St,e.template=function(n,t,r){var u=e.templateSettings;n=mr(n||""),r=Gt({},r,u);var o,a=Gt({},r.imports,u.imports),u=ce(a),a=er(a),i=0,l=r.interpolate||K,f="__p+='",l=yr((r.escape||K).source+"|"+l.source+"|"+(l===$?L:K).source+"|"+(r.evaluate||K).source+"|$","g");n.replace(l,function(t,r,e,u,a,l){return e||(e=u),f+=n.slice(i,l).replace(U,p),r&&(f+="'+__e("+r+")+'"),a&&(o=true,f+="';"+a+";\n__p+='"),e&&(f+="'+((__t=("+e+"))==null?'':__t)+'"),i=l+t.length,t
}),f+="';",l=r=r.variable,l||(r="obj",f="with("+r+"){"+f+"}"),f=(o?f.replace(N,""):f).replace(R,"$1").replace(T,"$1;"),f="function("+r+"){"+(l?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}";try{var c=sr(u,"return "+f).apply(C,a)}catch(s){throw s.source=f,s}return t?c(t):(c.source=f,c)},e.trim=pe,e.trimLeft=se,e.trimRight=he,e.unescape=function(n){return null==n?"":(n=mr(n),0>n.indexOf(";")?n:n.replace(P,j))
},e.uniqueId=function(n){var t=++E;return mr(null==n?"":n)+t},e.all=Pt,e.any=Mt,e.detect=qt,e.findWhere=qt,e.foldl=Wt,e.foldr=zt,e.include=Tt,e.inject=Wt,ar(function(){var n={};return Ht(e,function(t,r){e.prototype[r]||(n[r]=t)}),n}(),false),e.first=Ct,e.last=function(n,t,r){var u=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=o;for(t=e.createCallback(t,r,3);a--&&t(n[a],a,n);)u++}else if(u=t,null==u||r)return n?n[o-1]:C;return u=o-u,Et(n,0<u?u:0)},e.sample=function(n,t,r){return n&&typeof n.length!="number"?n=er(n):ne.unindexedChars&&rr(n)&&(n=n.split("")),null==t||r?n?n[gt(0,n.length-1)]:C:(n=Kt(n),n.length=Vr(Ur(0,t),n.length),n)
},e.take=Ct,e.head=Ct,Ht(e,function(n,t){var r="sample"!==t;e.prototype[t]||(e.prototype[t]=function(t,e){var u=this.__chain__,a=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new o(a,u):a})}),e.VERSION="2.4.1",e.prototype.chain=function(){return this.__chain__=true,this},e.prototype.toString=function(){return mr(this.__wrapped__)},e.prototype.value=Rt,e.prototype.valueOf=Rt,it(["join","pop","shift"],function(n){var t=br[n];e.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);
return n?new o(r,n):r}}),it(["push","reverse","sort","unshift"],function(n){var t=br[n];e.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),it(["concat","splice"],function(n){var t=br[n];e.prototype[n]=function(){return new o(t.apply(this.__wrapped__,arguments),this.__chain__)}}),ne.spliceObjects||it(["pop","shift","splice"],function(n){var t=br[n],r="splice"==n;e.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new o(u,n):u
}}),e}var C,k=[],O=[],E=0,S=75,A=40,I=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",N=/\b__p\+='';/g,R=/\b(__p\+=)''\+/g,T=/(__e\(.*?\)|\b__t\))\+'';/g,P=/&(?:amp|lt|gt|quot|#39);/g,D=/[&<>"']/g,q=/<%-([\s\S]+?)%>/g,F=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,L=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,B=/\w*$/,W=/^\s*function[ \n\r\t]+\w/,z=/^0[xX]/,K=/($^)/,M=/\bthis\b/,U=/['\n\r\t\u2028\u2029\\]/g,V="Array Boolean Date Error Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),X="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),G="[object Arguments]",H="[object Array]",J="[object Boolean]",Q="[object Date]",Y="[object Error]",Z="[object Function]",nt="[object Number]",tt="[object Object]",rt="[object RegExp]",et="[object String]",ut={};
ut[Z]=false,ut[G]=ut[H]=ut[J]=ut[Q]=ut[nt]=ut[tt]=ut[rt]=ut[et]=true;var ot={leading:false,maxWait:0,trailing:false},at={configurable:false,enumerable:false,value:null,writable:false},it={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},lt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},ft={"boolean":false,"function":false,object:false,number:true,string:true,undefined:false},ct={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},pt={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},st=ct[typeof window]&&window||this,ht=ct[typeof exports]&&exports&&!exports.nodeType&&exports,gt=ct[typeof global]&&global;
!gt||gt.global!==gt&&gt.window!==gt||(st=gt);var vt=(gt=ct[typeof module]&&module&&!module.nodeType&&module)&&gt.exports===ht&&ht,yt=x();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(st._=yt, define(function(){return yt})):ht&&gt?vt?(gt.exports=yt)._=yt:ht._=yt:st._=yt}).call(this);
if(u&&typeof u=="object"&&o&&typeof o=="object"&&a&&typeof a=="object")return false;for(u=g(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=g(),o.g=n,o.h=u,o.push=e;++t<r;)o.push(n[t]);return o}function c(n){return it[n]}function s(n){return"\\"+ct[n]}function p(){return k.pop()||[]}function g(){return O.pop()||{g:null,h:null,i:null,"false":false,j:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,k:null}}function h(n){return typeof n.toString!="function"&&typeof(n+"")=="string"
}function v(n){n.length=0,k.length<S&&k.push(n)}function y(n){var t=n.h;t&&y(t),n.g=n.h=n.i=n.object=n.number=n.string=n.k=null,O.length<S&&O.push(n)}function m(n,t){return(n=null==n?"":n+"")?null==t?n.slice(_(n),w(n)+1):(t+="",n.slice(o(n,t),a(n,t)+1)):n}function d(n,t){return(n=null==n?"":n+"")?null==t?n.slice(_(n)):(t+="",n.slice(o(n,t))):n}function b(n,t){return(n=null==n?"":n+"")?null==t?n.slice(0,w(n)+1):(t+="",n.slice(0,a(n,t)+1)):n}function _(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);
if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break}return t}function w(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function j(n){return lt[n]}function x(n){function e(n){return n&&typeof n=="object"&&!ae(n)&&Ar.call(n,"__wrapped__")?n:new o(n)}function o(n,t){this.__chain__=!!t,this.__wrapped__=n
}function a(n){function t(){if(e){var n=kt(e);Ir.apply(n,arguments)}if(this instanceof t){var o=w(r.prototype),n=r.apply(o,n||arguments);return Yt(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return Zr(t,n),t}function _(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!Yt(n))return n;var a=xr.call(n);if(!ut[a]||!Yr.nodeClass&&h(n))return n;var i=Jr[a];switch(a){case J:case Q:return new i(+n);case nt:case et:return new i(n);case rt:return o=i(n.source,B.exec(n)),o.lastIndex=n.lastIndex,o
}if(a=ae(n),t){var l=!e;e||(e=p()),u||(u=p());for(var f=e.length;f--;)if(e[f]==n)return u[f];o=a?i(n.length):{}}else o=a?kt(n):Ut({},n);return a&&(Ar.call(n,"index")&&(o.index=n.index),Ar.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(a?it:Xt)(n,function(n,a){o[a]=_(n,t,r,e,u)}),l&&(v(e),v(u)),o):o}function w(n){return Yt(n)?$r(n):{}}function k(n,t,r){if(typeof n!="function")return rr;if(typeof t=="undefined"||!("prototype"in n))return n;var e=n.__bindData__;if(typeof e=="undefined"&&(Yr.funcNames&&(e=!n.name),e=e||!Yr.funcDecomp,!e)){var u=qr.call(n);
Yr.funcNames||(e=!W.test(u)),e||(e=M.test(u),Zr(n,e))}if(false===e||true!==e&&1&e[1])return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Kt(n,t)}function O(n){function t(){var n=l?a:this;if(u){var g=kt(u);Ir.apply(g,arguments)}return(o||c)&&(g||(g=kt(arguments)),o&&Ir.apply(g,o),c&&g.length<i)?(e|=16,O([r,s?e:-4&e,g,null,a,i])):(g||(g=arguments),f&&(r=n[p]),this instanceof t?(n=w(r.prototype),g=r.apply(n,g),Yt(g)?g:n):r.apply(n,g))
}var r=n[0],e=n[1],u=n[2],o=n[3],a=n[4],i=n[5],l=1&e,f=2&e,c=4&e,s=8&e,p=r;return Zr(t,n),t}function S(n,e){var u=-1,o=dt(),a=n?n.length:0,i=a>=q&&o===t,l=[];if(i){var c=f(e);c?(o=r,e=c):i=false}for(;++u<a;)c=n[u],0>o(e,c)&&l.push(c);return i&&y(e),l}function it(n,t,r){var e=-1,u=n,o=n?n.length:0;if(t=t&&typeof r=="undefined"?t:k(t,r,3),typeof o=="number")for(Yr.unindexedChars&&nr(u)&&(u=u.split(""));++e<o&&false!==t(u[e],e,n););else Xt(n,t);return n}function lt(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var a=n[e];
if(a&&typeof a=="object"&&typeof a.length=="number"&&(ae(a)||wt(a))){t||(a=lt(a,t,r));var i=-1,l=a.length,f=o.length;for(o.length+=l;++i<l;)o[f++]=a[i]}else r||o.push(a)}return o}function ft(n,t,r,e,u,o){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var i=typeof n,l=typeof t;if(n===n&&(!n||"function"!=i&&"object"!=i)&&(!t||"function"!=l&&"object"!=l))return false;if(null==n||null==t)return n===t;if(l=xr.call(n),i=xr.call(t),l==G&&(l=tt),i==G&&(i=tt),l!=i)return false;
switch(l){case J:case Q:return+n==+t;case nt:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case rt:case et:return n==vr(t)}if(i=l==H,!i){var f=Ar.call(n,"__wrapped__"),c=Ar.call(t,"__wrapped__");if(f||c)return ft(f?n.__wrapped__:n,c?t.__wrapped__:t,r,e,u,o);if(l!=tt||!Yr.nodeClass&&(h(n)||h(t)))return false;if(l=!Yr.argsObject&&wt(n)?gr:n.constructor,f=!Yr.argsObject&&wt(t)?gr:t.constructor,l!=f&&!(Ar.call(n,"constructor")&&Ar.call(t,"constructor")||Qt(l)&&l instanceof l&&Qt(f)&&f instanceof f)&&"constructor"in n&&"constructor"in t)return false
}for(l=!u,u||(u=p()),o||(o=p()),f=u.length;f--;)if(u[f]==n)return o[f]==t;var s=0,a=true;if(u.push(n),o.push(t),i){if(f=n.length,s=t.length,(a=s==f)||e)for(;s--;)if(i=f,c=t[s],e)for(;i--&&!(a=ft(n[i],c,r,e,u,o)););else if(!(a=ft(n[s],c,r,e,u,o)))break}else oe(t,function(t,i,l){return Ar.call(l,i)?(s++,a=Ar.call(n,i)&&ft(n[i],t,r,e,u,o)):void 0}),a&&!e&&oe(n,function(n,t,r){return Ar.call(r,t)?a=-1<--s:void 0});return u.pop(),o.pop(),l&&(v(u),v(o)),a}function ct(n,t,r,e,u){(ae(t)?Pt:Xt)(t,function(t,o){var a,i,l=t,f=n[o];
if(t&&((i=ae(t))||ie(t))){for(l=e.length;l--;)if(a=e[l]==t){f=u[l];break}if(!a){var c;r&&(l=r(f,t),c=typeof l!="undefined")&&(f=l),c||(f=i?ae(f)?f:[]:ie(f)?f:{}),e.push(t),u.push(f),c||ct(f,t,r,e,u)}}else r&&(l=r(f,t),typeof l=="undefined"&&(l=t)),typeof l!="undefined"&&(f=l);n[o]=f})}function pt(n,t){return n+Er(Vr()*(t-n+1))}function gt(n,e,u){var o=-1,a=dt(),i=n?n.length:0,l=[],c=!e&&i>=q&&a===t,s=u||c?p():l;for(c&&(s=f(s),a=r);++o<i;){var g=n[o],h=u?u(g,o,n):g;(e?!o||s[s.length-1]!==h:0>a(s,h))&&((u||c)&&s.push(h),l.push(g))
}return c?(v(s.g),y(s)):u&&v(s),l}function vt(n){return function(t,r,u){var o={};if(r=e.createCallback(r,u,3),ae(t)){u=-1;for(var a=t.length;++u<a;){var i=t[u];n(o,i,r(i,u,t),t)}}else it(t,function(t,e,u){n(o,t,r(t,e,u),u)});return o}}function yt(n,t,r,e,u,o){var i=1&t,l=4&t,f=16&t,c=32&t;if(!(2&t||Qt(n)))throw new yr;f&&!r.length&&(t&=-17,f=r=false),c&&!e.length&&(t&=-33,c=e=false);var s=n&&n.__bindData__;return s&&true!==s?(s=kt(s),s[2]&&(s[2]=kt(s[2])),s[3]&&(s[3]=kt(s[3])),!i||1&s[1]||(s[4]=u),!i&&1&s[1]&&(t|=8),!l||4&s[1]||(s[5]=o),f&&Ir.apply(s[2]||(s[2]=[]),r),c&&Pr.apply(s[3]||(s[3]=[]),e),s[1]|=t,yt.apply(null,s)):(1==t||17===t?a:O)([n,t,r,e,u,o])
}function mt(n){n.d=X;var t=cr,r="return function("+n.a+"){",e="var s="+n.b+";if(!k(q)){return s}"+n.e+";";Yr.nonEnumArgs&&(e+="var n=q.length;if(n&&j(q)){m=-1;while(++m<n){m+='';"+n.c+";}return s}"),Yr.enumPrototypes&&(e+="var u=typeof q=='function';"),Yr.enumErrorProps&&(e+="var t=q===g||q instanceof Error;");var u=[];if(Yr.enumPrototypes&&u.push("!(u&&m=='prototype')"),Yr.enumErrorProps&&u.push("!(t&&(m=='message'||m=='name'))"),e+="for(var m in q){",n.f&&u.push("h.call(q,m)"),u.length&&(e+="if("+u.join("&&")+"){"),e+=n.c+";",u.length&&(e+="}"),e+="}",Yr.nonEnumShadows){for(e+="if(q!==r){var e=q.constructor,l=q===(e&&e.prototype),c=q===w?v:q===g?f:y.call(q),o=p[c];",u=0;7>u;u++)e+="m='"+n.d[u]+"';if((!(l&&o[m])&&h.call(q,m))",n.f||(e+="||(!o[m]&&q[m]!==r[m])"),e+="){"+n.c+"}";
e+="}"}return t("a,f,g,h,j,k,r,p,v,w,y",r+(e+"return s;")+"}")(k,Y,dr,Ar,wt,Yt,br,Qr,et,_r,xr)}function dt(){var n=(n=e.indexOf)===xt?t:n;return n}function bt(n){return typeof n=="function"&&Cr.test(qr.call(n))}function _t(n){var t,r;return!n||xr.call(n)!=tt||!Ar.call(n,"constructor")&&(t=n.constructor,Qt(t)&&!(t instanceof t))||!Yr.argsClass&&wt(n)||!Yr.nodeClass&&h(n)?false:Yr.ownLast?(oe(n,function(n,t,e){return r=Ar.call(e,t),false}),false!==r):(oe(n,function(n,t){r=t}),typeof r=="undefined"||Ar.call(n,r))
}function wt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&xr.call(n)==G||false}function jt(n,t,r){var u=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=-1;for(t=e.createCallback(t,r,3);++a<o&&t(n[a],a,n);)u++}else if(u=t,null==u||r)return n?n[0]:C;return kt(n,0,0<u?u:0)}function xt(n,r,e){if(typeof e=="number"){var u=n?n.length:0;e=0>e?Kr(0,u+e):e||0}else if(e)return e=Ot(n,r),n[e]===r?e:-1;return t(n,r,e)}function Ct(n,t,r){if(typeof t!="number"&&null!=t){var u=0,o=-1,a=n?n.length:0;
for(t=e.createCallback(t,r,3);++o<a&&t(n[o],o,n);)u++}else u=null==t||r?1:0<t?t:0;return kt(n,u)}function kt(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=Kr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=Kr(u+r,0):r>u&&(r=u),u=r-t||0,r=ir(u);++e<u;)r[e]=n[t+e];return r}function Ot(n,t,r,u){var o=0,a=n?n.length:o;for(r=r?e.createCallback(r,u,1):rr,t=r(t);o<a;)u=o+a>>>1,r(n[u])<t?o=u+1:a=u;return o}function Et(n,t,r,u){var o=typeof t;return"boolean"!=o&&null!=t&&(u=r,r=t,t=false,"number"!=o&&"string"!=o||!u||u[r]!==n||(r=null)),null!=r&&(r=e.createCallback(r,u,3)),gt(n,t,r)
}function qt(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?$t(ue(n,"length")):0,e=ir(0>r?0:r);++t<r;)e[t]=ue(n,t);return e}function St(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||ae(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function At(){return this.__wrapped__}function It(n,t,r){var e=n?n.length:0;if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!ae(n)&&nr(n))return Fr?Fr.call(n,t,r):-1<n.indexOf(t,r);var u=dt();
return r=(0>r?Kr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,a=false;return it(n,function(n){return++o<r?void 0:!(a=n===t)}),a}function Nt(n,t,r){var u=true;if(t=e.createCallback(t,r,3),ae(n)){r=-1;for(var o=n.length;++r<o&&(u=!!t(n[r],r,n)););}else it(n,function(n,r,e){return u=!!t(n,r,e)});return u}function Rt(n,t,r){var u=[];if(t=e.createCallback(t,r,3),ae(n)){r=-1;for(var o=n.length;++r<o;){var a=n[r];t(a,r,n)&&u.push(a)}}else it(n,function(n,r,e){t(n,r,e)&&u.push(n)});return u}function Tt(n,t,r){if(t=e.createCallback(t,r,3),!ae(n)){var u;
return it(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}r=-1;for(var o=n.length;++r<o;){var a=n[r];if(t(a,r,n))return a}}function Pt(n,t,r){if(t&&typeof r=="undefined"&&ae(n)){r=-1;for(var e=n.length;++r<e&&false!==t(n[r],r,n););}else it(n,t,r);return n}function Dt(n,t,r){var e=n,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:k(t,r,3),ae(n))for(;u--&&false!==t(n[u],u,n););else{if(typeof u!="number")var o=le(n),u=o.length;else Yr.unindexedChars&&nr(n)&&(e=n.split(""));it(e,function(r,a){return a=o?o[--u]:--u,t(e[a],a,n)
})}return n}function Ft(n,t,r){var u=-1,o=n?n.length:0,a=ir(typeof o=="number"?o:0);if(t=e.createCallback(t,r,3),ae(n))for(;++u<o;)a[u]=t(n[u],u,n);else it(n,function(n,r,e){a[++u]=t(n,r,e)});return a}function $t(n,t,r){var o=-1/0,a=o,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&ae(n))for(r=-1,i=n.length;++r<i;){var l=n[r];l>a&&(a=l)}else t=null==t&&nr(n)?u:e.createCallback(t,r,3),it(n,function(n,r,e){r=t(n,r,e),r>o&&(o=r,a=n)});return a}function Lt(n,t,r,u){var o=3>arguments.length;
if(t=e.createCallback(t,u,4),ae(n)){var a=-1,i=n.length;for(o&&i&&(r=n[++a]);++a<i;)r=t(r,n[a],a,n)}else it(n,function(n,e,u){r=o?(o=false,n):t(r,n,e,u)});return r}function Bt(n,t,r,u){var o=3>arguments.length;return t=e.createCallback(t,u,4),Dt(n,function(n,e,u){r=o?(o=false,n):t(r,n,e,u)}),r}function Wt(n){var t=-1,r=n?n.length:0,e=ir(typeof r=="number"?r:0);return Pt(n,function(n){var r=pt(0,++t);e[t]=e[r],e[r]=n}),e}function zt(n,t,r){var u;if(t=e.createCallback(t,r,3),ae(n)){r=-1;for(var o=n.length;++r<o&&!(u=t(n[r],r,n)););}else it(n,function(n,r,e){return!(u=t(n,r,e))
});return!!u}function Kt(n,t){return 2<arguments.length?yt(n,17,kt(arguments,2),null,t):yt(n,1,null,null,t)}function Mt(n,t,r){function e(){c&&Or(c),a=c=s=C,(h||g!==t)&&(p=pe(),i=n.apply(f,o),c||a||(o=f=null))}function u(){var r=t-(pe()-l);0<r?c=Rr(u,r):(a&&Or(a),r=s,a=c=s=C,r&&(p=pe(),i=n.apply(f,o),c||a||(o=f=null)))}var o,a,i,l,f,c,s,p=0,g=false,h=true;if(!Qt(n))throw new yr;if(t=Kr(0,t)||0,true===r)var v=true,h=false;else Yt(r)&&(v=r.leading,g="maxWait"in r&&(Kr(t,r.maxWait)||0),h="trailing"in r?r.trailing:h);
return function(){if(o=arguments,l=pe(),f=this,s=h&&(c||!v),false===g)var r=v&&!c;else{a||v||(p=l);var y=g-(l-p),m=0>=y;m?(a&&(a=Or(a)),p=l,i=n.apply(f,o)):a||(a=Rr(e,y))}return m&&c?c=Or(c):c||t===g||(c=Rr(u,t)),r&&(m=true,i=n.apply(f,o)),!m||c||a||(o=f=null),i}}function Ut(n,t,r){var e=arguments,u=0,o=e.length,a=typeof r;if("number"!=a&&"string"!=a||!e[3]||e[3][r]!==t||(o=2),3<o&&"function"==typeof e[o-2])var i=k(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(i=e[--o]);for(;++u<o;)if(t=e[u],Yt(t))for(var a=-1,l=le(t),f=l.length;++a<f;){var c=l[a];
n[c]=i?i(n[c],t[c]):t[c]}return n}function Vt(n,t,r){var e=arguments,u=0,o=e.length,a=typeof r;for("number"!=a&&"string"!=a||!e[3]||e[3][r]!==t||(o=2);++u<o;)if(t=e[u],Yt(t))for(var a=-1,i=le(t),l=i.length;++a<l;){var f=i[a];"undefined"==typeof n[f]&&(n[f]=t[f])}return n}function Xt(n,t,r){var e=-1,u=le(n),o=u.length;for(t=t&&typeof r=="undefined"?t:k(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function Gt(n,t,r){var e=le(n),u=e.length;for(t=k(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n
}function Ht(n){var t=[];return oe(n,function(n,r){Qt(n)&&t.push(r)}),t.sort()}function Jt(n){return n&&typeof n=="object"&&1===n.nodeType&&(Yr.nodeClass?-1<xr.call(n).indexOf("Element"):h(n))||false}function Qt(n){return typeof n=="function"}function Yt(n){var t=typeof n;return n&&("function"==t||"object"==t)||false}function Zt(n){var t=typeof n;return"number"==t||n&&"object"==t&&xr.call(n)==nt||false}function nr(n){return typeof n=="string"||n&&typeof n=="object"&&xr.call(n)==et||false}function tr(n){for(var t=-1,r=le(n),e=r.length,u=ir(e);++t<e;)u[t]=n[r[t]];
return u}function rr(n){return n}function er(n){n||(n={});var t=le(n),r=t[0],e=n[r];return 1!=t.length||e!==e||Yt(e)?function(r){for(var e=t.length,u=false;e--&&(u=ft(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function ur(n,t,r){var u=true,o=t&&Ht(t);t&&(r||o.length)||(null==r&&(r=t),t=n,n=e,o=Ht(t)),false===r?u=false:Yt(r)&&"chain"in r&&(u=r.chain),r=-1;for(var a=Qt(n),i=o?o.length:0;++r<i;){var l=o[r],f=n[l]=t[l];a&&(n.prototype[l]=function(t){return function(){var r=this.__chain__,e=this.__wrapped__,o=[e];
if(Ir.apply(o,arguments),o=t.apply(n,o),u||r){if(e===o&&Yt(o))return this;o=new n(o),o.__chain__=r}return o}}(f))}}function or(){}function ar(n){return function(t){return t[n]}}n=n?ht.defaults(st.Object(),n,ht.pick(st,V)):st;var ir=n.Array,lr=n.Boolean,fr=n.Date,cr=n.Function,sr=n.Math,pr=n.Number,gr=n.Object,hr=n.RegExp,vr=n.String,yr=n.TypeError,mr=ir.prototype,dr=n.Error.prototype,br=gr.prototype,_r=vr.prototype,wr=(wr=n.window)&&wr.document,jr=n._,xr=br.toString,Cr=hr("^"+vr(xr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),kr=sr.ceil,Or=n.clearTimeout,Er=sr.floor,qr=cr.prototype.toString,Sr=bt(Sr=gr.getPrototypeOf)&&Sr,Ar=br.hasOwnProperty,Ir=mr.push,Nr=br.propertyIsEnumerable,Rr=n.setTimeout,Tr=mr.splice,Pr=mr.unshift,Dr=function(){try{var n={},t=bt(t=gr.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),Fr=bt(Fr=_r.contains)&&Fr,$r=bt($r=gr.create)&&$r,Lr=bt(Lr=ir.isArray)&&Lr,Br=n.isFinite,Wr=n.isNaN,zr=bt(zr=gr.keys)&&zr,Kr=sr.max,Mr=sr.min,Ur=n.parseInt,Vr=sr.random,Xr=bt(Xr=_r.trim)&&!Xr.call(A)&&Xr,Gr=bt(Gr=_r.trimLeft)&&!Gr.call(A)&&Gr,Hr=bt(Hr=_r.trimRight)&&!Hr.call(A)&&Hr,Jr={};Jr[H]=ir,Jr[J]=lr,Jr[Q]=fr,Jr[Z]=cr,Jr[tt]=gr,Jr[nt]=pr,Jr[rt]=hr,Jr[et]=vr;var Qr={};Qr[H]=Qr[Q]=Qr[nt]={constructor:true,toLocaleString:true,toString:true,valueOf:true},Qr[J]=Qr[et]={constructor:true,toString:true,valueOf:true},Qr[Y]=Qr[Z]=Qr[rt]={constructor:true,toString:true},Qr[tt]={constructor:true},function(){for(var n=X.length;n--;){var t,r=X[n];
for(t in Qr)Ar.call(Qr,t)&&!Ar.call(Qr[t],r)&&(Qr[t][r]=false)}}(),o.prototype=e.prototype;var Yr=e.support={};!function(){function t(){this.x=1}var r={0:1,length:1},e=[];t.prototype={valueOf:1,y:1};for(var u in new t)e.push(u);for(u in arguments);Yr.argsClass=xr.call(arguments)==G,Yr.argsObject=arguments.constructor==gr&&!(arguments instanceof ir),Yr.enumErrorProps=Nr.call(dr,"message")||Nr.call(dr,"name"),Yr.enumPrototypes=Nr.call(t,"prototype"),Yr.funcDecomp=!bt(n.WinRTError)&&M.test(x),Yr.funcNames=typeof cr.name=="string",Yr.nonEnumArgs=0!=u,Yr.nonEnumShadows=!/valueOf/.test(e),Yr.ownLast="x"!=e[0],Yr.spliceObjects=(Tr.call(r,0,1),!r[0]),Yr.unindexedChars="xx"!="x"[0]+gr("x")[0];
try{Yr.dom=11===wr.createDocumentFragment().nodeType}catch(o){Yr.dom=false}try{Yr.nodeClass=!(xr.call(undefined)==tt&&!({toString:0}+""))}catch(a){Yr.nodeClass=true}}(1),e.templateSettings={escape:D,evaluate:F,interpolate:$,variable:"",imports:{_:e}},$r||(w=function(){function t(){}return function(r){if(Yt(r)){t.prototype=r;var e=new t;t.prototype=null}return e||n.Object()}}());var Zr=Dr?function(n,t){at.value=t,Dr(n,"__bindData__",at)}:or;Yr.argsClass||(wt=function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&Ar.call(n,"callee")&&!Nr.call(n,"callee")||false
});var ne=mt({a:"q",b:"[]",e:"",c:"s.push(m)",f:true}),te=vt(function(n,t,r){Ar.call(n,r)?n[r]++:n[r]=1}),re=vt(function(n,t,r){Ar.call(n,r)?n[r].push(t):n[r]=[t]}),ee=vt(function(n,t,r){n[r]=t}),ue=Ft,oe=mt({a:"q,b,x",b:"q",e:"b=b&&typeof x=='undefined'?b:a(b,x,3)",c:"if(b(q[m],m,q)===false){return s}",f:false}),ae=Lr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&xr.call(n)==H||false};Yr.dom||(Jt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!ie(n)||false}),Qt(/x/)&&(Qt=function(n){return typeof n=="function"&&xr.call(n)==Z
});var ie=Sr?function(n){if(!n||xr.call(n)!=tt||!Yr.argsClass&&wt(n))return false;var t=n.valueOf,r=bt(t)&&(r=Sr(t))&&Sr(r);return r?n==r||Sr(n)==r:_t(n)}:_t,le=zr?function(n){return Yt(n)?Yr.enumPrototypes&&typeof n=="function"||Yr.nonEnumArgs&&n.length&&wt(n)?ne(n):zr(n):[]}:ne,fe=Xr?function(n,t){return null==n?"":null==t?Xr.call(n):m(n,t)}:m,ce=Gr?function(n,t){return null==n?"":null==t?Gr.call(n):d(n,t)}:d,se=Hr?function(n,t){return null==n?"":null==t?Hr.call(n):b(n,t)}:b,pe=bt(pe=fr.now)&&pe||function(){return(new fr).getTime()
},ge=8==Ur(A+"08")?Ur:function(n,t){return n=fe(n),Ur(n,+t||(z.test(n)?16:10))};return e.after=function(n,t){if(!Qt(t))throw new yr;return function(){return 1>--n?t.apply(this,arguments):void 0}},e.assign=Ut,e.at=function(n,t){var r=arguments,e=-1,u=lt(r,true,false,1),o=u.length,a=typeof t;for("number"!=a&&"string"!=a||!r[2]||r[2][t]!==n||(o=1),Yr.unindexedChars&&nr(n)&&(n=n.split("")),r=ir(o);++e<o;)r[e]=n[u[e]];return r},e.bind=Kt,e.bindAll=function(n){for(var t=1<arguments.length?lt(arguments,true,false,1):Ht(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=yt(n[u],1,null,null,n)}return n},e.bindKey=function(n,t){return 2<arguments.length?yt(t,19,kt(arguments,2),null,n):yt(t,3,null,null,n)},e.chain=function(n){return n=new o(n),n.__chain__=true,n},e.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},e.compose=function(){for(var n=arguments,t=n.length;t--;)if(!Qt(n[t]))throw new yr;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},e.constant=function(n){return function(){return n
}},e.countBy=te,e.create=function(n,t){var r=w(n);return t?Ut(r,t):r},e.createCallback=function(n,t,r){var e=typeof n;return null==n||"function"==e?k(n,t,r):"object"!=e?ar(n):er(n)},e.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,yt(n,4,null,null,null,t)},e.debounce=Mt,e.defaults=Vt,e.defer=function(n){if(!Qt(n))throw new yr;var t=kt(arguments,1);return Rr(function(){n.apply(C,t)},1)},e.delay=function(n,t){if(!Qt(n))throw new yr;var r=kt(arguments,2);return Rr(function(){n.apply(C,r)
},t)},e.difference=function(n){return S(n,lt(arguments,true,true,1))},e.filter=Rt,e.flatten=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(n=Ft(n,r,e)),lt(n,t)},e.forEach=Pt,e.forEachRight=Dt,e.forIn=oe,e.forInRight=function(n,t,r){var e=[];oe(n,function(n,t){e.push(t,n)});var u=e.length;for(t=k(t,r,3);u--&&false!==t(e[u--],e[u],n););return n},e.forOwn=Xt,e.forOwnRight=Gt,e.functions=Ht,e.groupBy=re,e.indexBy=ee,e.initial=function(n,t,r){var u=0,o=n?n.length:0;
if(typeof t!="number"&&null!=t){var a=o;for(t=e.createCallback(t,r,3);a--&&t(n[a],a,n);)u++}else u=null==t||r?1:t||u;return u=o-u,kt(n,0,0<u?u:0)},e.intersection=function(){for(var n=[],e=-1,u=arguments.length,o=p(),a=dt(),i=a===t,l=p();++e<u;){var c=arguments[e];(ae(c)||wt(c))&&(n.push(c),o.push(i&&c.length>=q&&f(e?n[e]:l)))}var i=n[0],s=-1,g=i?i.length:0,h=[];n:for(;++s<g;){var m=o[0],c=i[s];if(0>(m?r(m,c):a(l,c))){for(e=u,(m||l).push(c);--e;)if(m=o[e],0>(m?r(m,c):a(n[e],c)))continue n;h.push(c)
}}for(;u--;)(m=o[u])&&y(m);return v(o),v(l),h},e.invert=function(n,t){for(var r=-1,e=le(n),u=e.length,o={};++r<u;){var a=e[r],i=n[a];t?Ar.call(o,i)?o[i].push(a):o[i]=[a]:o[i]=a}return o},e.invoke=function(n,t){var r=kt(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,a=ir(typeof o=="number"?o:0);return Pt(n,function(n){a[++e]=(u?t:n[t]).apply(n,r)}),a},e.keys=le,e.map=Ft,e.mapValues=function(n,t,r){var u={};return t=e.createCallback(t,r,3),Xt(n,function(n,r,e){u[r]=t(n,r,e)}),u},e.match=er,e.max=$t,e.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):"_"+arguments[0];
return Ar.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!Qt(n))throw new yr;return r.cache={},r},e.merge=function(n,t,r){if(!Yt(n))return n;var e=arguments,u=e.length,o=typeof r;if("number"!=o&&"string"!=o||!e[3]||e[3][r]!==t||(u=2),3<u&&"function"==typeof e[u-2])var a=k(e[--u-1],e[u--],2);else 2<u&&"function"==typeof e[u-1]&&(a=e[--u]);for(var e=kt(arguments,1,u),o=-1,i=p(),l=p();++o<u;)ct(n,e[o],a,i,l);return v(i),v(l),n},e.min=function(n,t,r){var o=1/0,a=o,i=typeof t;if("number"!=i&&"string"!=i||!r||r[t]!==n||(t=null),null==t&&ae(n))for(r=-1,i=n.length;++r<i;){var l=n[r];
l<a&&(a=l)}else t=null==t&&nr(n)?u:e.createCallback(t,r,3),it(n,function(n,r,e){r=t(n,r,e),r<o&&(o=r,a=n)});return a},e.omit=function(n,t,r){var u={};if(typeof t!="function"){var o=[];oe(n,function(n,t){o.push(t)});for(var o=S(o,lt(arguments,true,false,1)),a=-1,i=o.length;++a<i;){var l=o[a];u[l]=n[l]}}else t=e.createCallback(t,r,3),oe(n,function(n,r,e){t(n,r,e)||(u[r]=n)});return u},e.once=function(n){var t,r;if(!Qt(n))throw new yr;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)
}},e.pairs=function(n){for(var t=-1,r=le(n),e=r.length,u=ir(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},e.partial=function(n){return yt(n,16,kt(arguments,1))},e.partialRight=function(n){return yt(n,32,null,kt(arguments,1))},e.pick=function(n,t,r){var u={};if(typeof t!="function")for(var o=-1,a=lt(arguments,true,false,1),i=Yt(n)?a.length:0;++o<i;){var l=a[o];l in n&&(u[l]=n[l])}else t=e.createCallback(t,r,3),oe(n,function(n,r,e){t(n,r,e)&&(u[r]=n)});return u},e.pluck=ue,e.property=ar,e.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,a=t[r];++o<u;)n[o]===a&&(Tr.call(n,o--,1),u--);
return n},e.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);var e=-1;t=Kr(0,kr((t-n)/(r||1)));for(var u=ir(t);++e<t;)u[e]=n,n+=r;return u},e.reject=function(n,t,r){return t=e.createCallback(t,r,3),Rt(n,function(n,r,e){return!t(n,r,e)})},e.remove=function(n,t,r){var u=-1,o=n?n.length:0,a=[];for(t=e.createCallback(t,r,3);++u<o;)r=n[u],t(r,u,n)&&(a.push(r),Tr.call(n,u--,1),o--);return a},e.rest=Ct,e.shuffle=Wt,e.slice=kt,e.sortBy=function(n,t,r){var u=-1,o=t&&ae(t),a=n?n.length:0,f=ir(typeof a=="number"?a:0);
for(o||(t=e.createCallback(t,r,3)),Pt(n,function(n,r,e){var a=f[++u]=g();a.j=u,a.k=n,a.i=o?Ft(t,function(t){return n[t]}):t(n,r,e)}),a=f.length,f.sort(o?l:i);a--;)n=f[a],f[a]=n.k,y(n);return f},e.tap=function(n,t,r){return t.call(r,n),n},e.throttle=function(n,t,r){var e=true,u=true;if(!Qt(n))throw new yr;return false===r?e=false:Yt(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),ot.leading=e,ot.maxWait=t,ot.trailing=u,Mt(n,t,ot)},e.times=function(n,t,r){n=-1<(n=+n)?n:0;var e=-1,u=ir(n);for(t=k(t,r,1);++e<n;)u[e]=t(e);
return u},e.toArray=function(n){return n&&typeof n.length=="number"?Yr.unindexedChars&&nr(n)?n.split(""):kt(n):tr(n)},e.transform=function(n,t,r,u){var o=ae(n);if(null==r)if(o)r=[];else{var a=n&&n.constructor;r=w(a&&a.prototype)}return t&&(t=e.createCallback(t,u,4),(o?it:Xt)(n,function(n,e,u){return t(r,n,e,u)})),r},e.union=function(){return gt(lt(arguments,true,true))},e.uniq=Et,e.values=tr,e.where=Rt,e.without=function(n){return S(n,kt(arguments,1))},e.wrap=function(n,t){return yt(t,16,[n])},e.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];
if(ae(r)||wt(r))var e=e?S(e,r).concat(S(r,e)):r}return e?gt(e):[]},e.zip=qt,e.zipObject=St,e.collect=Ft,e.drop=Ct,e.each=Pt,e.eachRight=Dt,e.extend=Ut,e.methods=Ht,e.object=St,e.select=Rt,e.tail=Ct,e.unique=Et,e.unzip=qt,ur(Ut({},e)),e.capitalize=function(n){return null==n?"":(n=vr(n),n.charAt(0).toUpperCase()+n.slice(1))},e.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),_(n,t,typeof r=="function"&&k(r,e,1))},e.cloneDeep=function(n,t,r){return _(n,true,typeof t=="function"&&k(t,r,1))
},e.contains=It,e.escape=function(n){return null==n?"":vr(n).replace(P,c)},e.every=Nt,e.find=Tt,e.findIndex=function(n,t,r){var u=-1,o=n?n.length:0;for(t=e.createCallback(t,r,3);++u<o;)if(t(n[u],u,n))return u;return-1},e.findKey=function(n,t,r){var u;return t=e.createCallback(t,r,3),Xt(n,function(n,r,e){return t(n,r,e)?(u=r,false):void 0}),u},e.findLast=function(n,t,r){var u;return t=e.createCallback(t,r,3),Dt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u},e.findLastIndex=function(n,t,r){var u=n?n.length:0;
for(t=e.createCallback(t,r,3);u--;)if(t(n[u],u,n))return u;return-1},e.findLastKey=function(n,t,r){var u;return t=e.createCallback(t,r,3),Gt(n,function(n,r,e){return t(n,r,e)?(u=r,false):void 0}),u},e.has=function(n,t){return n?Ar.call(n,t):false},e.identity=rr,e.indexOf=xt,e.isArguments=wt,e.isArray=ae,e.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&xr.call(n)==J||false},e.isDate=function(n){return n&&typeof n=="object"&&xr.call(n)==Q||false},e.isElement=Jt,e.isEmpty=function(n){var t=true;
if(!n)return t;var r=xr.call(n),e=n.length;return r==H||r==et||(Yr.argsClass?r==G:wt(n))||r==tt&&typeof e=="number"&&Qt(n.splice)?!e:(Xt(n,function(){return t=false}),t)},e.isEqual=function(n,t,r,e){return ft(n,t,typeof r=="function"&&k(r,e,2))},e.isFinite=function(n){return Br(n)&&!Wr(parseFloat(n))},e.isFunction=Qt,e.isNaN=function(n){return Zt(n)&&n!=+n},e.isNull=function(n){return null===n},e.isNumber=Zt,e.isObject=Yt,e.isPlainObject=ie,e.isRegExp=function(n){var t=typeof n;return n&&("function"==t||"object"==t)&&xr.call(n)==rt||false
},e.isString=nr,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?Kr(0,e+r):Mr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},e.mixin=ur,e.noConflict=function(){return n._=jr,this},e.noop=or,e.now=pe,e.parseInt=ge,e.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Vr(),Mr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):pt(n,t)
},e.reduce=Lt,e.reduceRight=Bt,e.result=function(n,t){if(n){var r=n[t];return Qt(r)?n[t]():r}},e.runInContext=x,e.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:le(n).length},e.some=zt,e.sortedIndex=Ot,e.template=function(n,t,r){var u=e.templateSettings;n=vr(n||""),r=Vt({},r,u);var o,a=Vt({},r.imports,u.imports),u=le(a),a=tr(a),i=0,l=r.interpolate||K,f="__p+='",l=hr((r.escape||K).source+"|"+l.source+"|"+(l===$?L:K).source+"|"+(r.evaluate||K).source+"|$","g");n.replace(l,function(t,r,e,u,a,l){return e||(e=u),f+=n.slice(i,l).replace(U,s),r&&(f+="'+__e("+r+")+'"),a&&(o=true,f+="';"+a+";\n__p+='"),e&&(f+="'+((__t=("+e+"))==null?'':__t)+'"),i=l+t.length,t
}),f+="';",l=r=r.variable,l||(r="obj",f="with("+r+"){"+f+"}"),f=(o?f.replace(I,""):f).replace(N,"$1").replace(R,"$1;"),f="function("+r+"){"+(l?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(o?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+f+"return __p}";try{var c=cr(u,"return "+f).apply(C,a)}catch(p){throw p.source=f,p}return t?c(t):(c.source=f,c)},e.trim=fe,e.trimLeft=ce,e.trimRight=se,e.unescape=function(n){return null==n?"":(n=vr(n),0>n.indexOf(";")?n:n.replace(T,j))
},e.uniqueId=function(n){var t=++E;return vr(null==n?"":n)+t},e.all=Nt,e.any=zt,e.detect=Tt,e.findWhere=Tt,e.foldl=Lt,e.foldr=Bt,e.include=It,e.inject=Lt,ur(function(){var n={};return Xt(e,function(t,r){e.prototype[r]||(n[r]=t)}),n}(),false),e.first=jt,e.last=function(n,t,r){var u=0,o=n?n.length:0;if(typeof t!="number"&&null!=t){var a=o;for(t=e.createCallback(t,r,3);a--&&t(n[a],a,n);)u++}else if(u=t,null==u||r)return n?n[o-1]:C;return u=o-u,kt(n,0<u?u:0)},e.sample=function(n,t,r){return n&&typeof n.length!="number"?n=tr(n):Yr.unindexedChars&&nr(n)&&(n=n.split("")),null==t||r?n?n[pt(0,n.length-1)]:C:(n=Wt(n),n.length=Mr(Kr(0,t),n.length),n)
},e.take=jt,e.head=jt,Xt(e,function(n,t){var r="sample"!==t;e.prototype[t]||(e.prototype[t]=function(t,e){var u=this.__chain__,a=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new o(a,u):a})}),e.VERSION="2.4.1",e.prototype.chain=function(){return this.__chain__=true,this},e.prototype.toString=function(){return vr(this.__wrapped__)},e.prototype.value=At,e.prototype.valueOf=At,it(["join","pop","shift"],function(n){var t=mr[n];e.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);
return n?new o(r,n):r}}),it(["push","reverse","sort","unshift"],function(n){var t=mr[n];e.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),it(["concat","splice"],function(n){var t=mr[n];e.prototype[n]=function(){return new o(t.apply(this.__wrapped__,arguments),this.__chain__)}}),Yr.spliceObjects||it(["pop","shift","splice"],function(n){var t=mr[n],r="splice"==n;e.prototype[n]=function(){var n=this.__chain__,e=this.__wrapped__,u=t.apply(e,arguments);return 0===e.length&&delete e[0],n||r?new o(u,n):u
}}),e}var C,k=[],O=[],E=0,q=75,S=40,A=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",I=/\b__p\+='';/g,N=/\b(__p\+=)''\+/g,R=/(__e\(.*?\)|\b__t\))\+'';/g,T=/&(?:amp|lt|gt|quot|#39);/g,P=/[&<>"']/g,D=/<%-([\s\S]+?)%>/g,F=/<%([\s\S]+?)%>/g,$=/<%=([\s\S]+?)%>/g,L=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,B=/\w*$/,W=/^\s*function[ \n\r\t]+\w/,z=/^0[xX]/,K=/($^)/,M=/\bthis\b/,U=/['\n\r\t\u2028\u2029\\]/g,V="Array Boolean Date Error Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),X="constructor hasOwnProperty isPrototypeOf propertyIsEnumerable toLocaleString toString valueOf".split(" "),G="[object Arguments]",H="[object Array]",J="[object Boolean]",Q="[object Date]",Y="[object Error]",Z="[object Function]",nt="[object Number]",tt="[object Object]",rt="[object RegExp]",et="[object String]",ut={};
ut[Z]=false,ut[G]=ut[H]=ut[J]=ut[Q]=ut[nt]=ut[tt]=ut[rt]=ut[et]=true;var ot={leading:false,maxWait:0,trailing:false},at={configurable:false,enumerable:false,value:null,writable:false},it={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},lt={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},ft={"function":true,object:true},ct={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},st=ft[typeof window]&&window||this,pt=ft[typeof exports]&&exports&&!exports.nodeType&&exports,gt=ft[typeof global]&&global;
!gt||gt.global!==gt&&gt.window!==gt||(st=gt);var gt=(ft=ft[typeof module]&&module&&!module.nodeType&&module)&&ft.exports===pt&&pt,ht=x();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(st._=ht, define(function(){return ht})):pt&&ft?gt?(ft.exports=ht)._=ht:pt._=ht:st._=ht}).call(this);

116
dist/lodash.js vendored
View File

@@ -144,24 +144,10 @@
'&#39;': "'"
};
/** Used to determine if values are an indexes or keys */
var indexTypes = {
'boolean': false,
'function': false,
'object': false,
'number': true,
'string': true,
'undefined': false
};
/** Used to determine if values are of the language type Object */
var objectTypes = {
'boolean': false,
'function': true,
'object': true,
'number': false,
'string': false,
'undefined': false
'object': true
};
/** Used to escape characters for inclusion in compiled string literals */
@@ -1285,8 +1271,8 @@
// exit early for unlike primitive values
if (a === a &&
!(a && objectTypes[type]) &&
!(b && objectTypes[otherType])) {
!(a && (type == 'function' || type == 'object')) &&
!(b && (otherType == 'function' || otherType == 'object'))) {
return false;
}
// exit early for `null` and `undefined` avoiding ES3's Function#call behavior
@@ -1766,7 +1752,7 @@
*/
var shimKeys = function(object) {
var result = [];
if (!(object && objectTypes[typeof object])) {
if (!isObject(object)) {
return result;
}
for (var key in object) {
@@ -2048,11 +2034,19 @@
* // => ['hoppy', 'baby puss', 'dino']
*/
function flatten(array, isShallow, callback, thisArg) {
var type = typeof isShallow;
// juggle arguments
if (typeof isShallow != 'boolean' && isShallow != null) {
if (type != 'boolean' && isShallow != null) {
thisArg = callback;
callback = (indexTypes[typeof isShallow] && thisArg && thisArg[isShallow] === array) ? null : isShallow;
callback = isShallow;
isShallow = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === array) {
callback = null;
}
}
if (callback != null) {
array = map(array, callback, thisArg);
@@ -2727,11 +2721,19 @@
* // => [{ 'x': 1 }, { 'x': 2 }]
*/
function uniq(array, isSorted, callback, thisArg) {
var type = typeof isSorted;
// juggle arguments
if (typeof isSorted != 'boolean' && isSorted != null) {
if (type != 'boolean' && isSorted != null) {
thisArg = callback;
callback = (indexTypes[typeof isSorted] && thisArg && thisArg[isSorted] === array) ? null : isSorted;
callback = isSorted;
isSorted = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === array) {
callback = null;
}
}
if (callback != null) {
callback = lodash.createCallback(callback, thisArg, 3);
@@ -3007,9 +3009,15 @@
var args = arguments,
index = -1,
props = baseFlatten(args, true, false, 1),
length = (indexTypes[typeof guard] && args[2] && args[2][guard] === collection) ? 1 : props.length,
result = Array(length);
length = props.length,
type = typeof guard;
// allows working with functions like `_.map` without using
// their `index` arguments
if ((type == 'number' || type == 'string') && args[2] && args[2][guard] === collection) {
length = 1;
}
var result = Array(length);
while(++index < length) {
result[index] = collection[props[index]];
}
@@ -3637,11 +3645,12 @@
*/
function max(collection, callback, thisArg) {
var computed = -Infinity,
result = computed;
result = computed,
type = typeof callback;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if (indexTypes[typeof callback] && thisArg && thisArg[callback] === collection) {
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === collection) {
callback = null;
}
if (callback == null && isArray(collection)) {
@@ -3712,11 +3721,12 @@
*/
function min(collection, callback, thisArg) {
var computed = Infinity,
result = computed;
result = computed,
type = typeof callback;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if (indexTypes[typeof callback] && thisArg && thisArg[callback] === collection) {
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === collection) {
callback = null;
}
if (callback == null && isArray(collection)) {
@@ -4845,8 +4855,14 @@
function assign(object, source, guard) {
var args = arguments,
argsIndex = 0,
argsLength = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
argsLength = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
argsLength = 2;
}
// juggle arguments
if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {
var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);
@@ -4910,11 +4926,19 @@
* // => 0
*/
function clone(value, isDeep, callback, thisArg) {
var type = typeof isDeep;
// juggle arguments
if (typeof isDeep != 'boolean' && isDeep != null) {
if (type != 'boolean' && isDeep != null) {
thisArg = callback;
callback = (indexTypes[typeof isDeep] && thisArg && thisArg[isDeep] === value) ? null : isDeep;
callback = isDeep;
isDeep = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === value) {
callback = null;
}
}
return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
}
@@ -5011,8 +5035,8 @@
* @category Objects
* @param {Object} object The destination object.
* @param {...Object} [source] The source objects.
* @param- {Object} [guard] Allows working with `_.reduce` without using its
* `key` and `object` arguments as sources.
* @param- {Object} [guard] Allows working with functions like `_.reduce`
* without using their `key` and `object` arguments as sources.
* @returns {Object} Returns the destination object.
* @example
*
@@ -5023,8 +5047,14 @@
function defaults(object, source, guard) {
var args = arguments,
argsIndex = 0,
argsLength = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
argsLength = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
argsLength = 2;
}
while (++argsIndex < argsLength) {
source = args[argsIndex];
if (isObject(source)) {
@@ -5182,7 +5212,7 @@
*/
var forIn = function(object, callback, thisArg) {
var result = object;
if (!(object && objectTypes[typeof object])) {
if (!isObject(object)) {
return result;
}
callback = callback && typeof thisArg == 'undefined' ? callback : baseCreateCallback(callback, thisArg, 3);
@@ -5637,7 +5667,8 @@
// http://es5.github.io/#x8
// and avoid a V8 bug
// http://code.google.com/p/v8/issues/detail?id=2291
return !!(value && objectTypes[typeof value]);
var type = typeof value;
return value && (type == 'function' || type == 'object') || false;
}
/**
@@ -5709,8 +5740,9 @@
* // => true
*/
function isNumber(value) {
return typeof value == 'number' ||
value && typeof value == 'object' && toString.call(value) == numberClass || false;
var type = typeof value;
return type == 'number' ||
value && type == 'object' && toString.call(value) == numberClass || false;
}
/**
@@ -5923,8 +5955,14 @@
return object;
}
var args = arguments,
length = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
length = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
length = 2;
}
// juggle arguments
if (length > 3 && typeof args[length - 2] == 'function') {
var callback = baseCreateCallback(args[--length - 1], args[length--], 2);

104
dist/lodash.min.js vendored
View File

@@ -5,55 +5,55 @@
*/
;(function(){function n(n,t){if(n!==t){if(n>t||typeof n=="undefined")return 1;if(n<t||typeof t=="undefined")return-1}return 0}function t(n,t,r){r=(r||0)-1;for(var e=n?n.length:0;++r<e;)if(n[r]===t)return r;return-1}function r(n,r){var e=typeof r;return n=n.h,"boolean"==e||null==r?n[r]?0:-1:("number"!=e&&"string"!=e&&(e="object"),n=(n=n[e])&&n["number"==e?r:"_"+r],"object"==e?n&&-1<t(n,r)?0:-1:n?0:-1)}function e(n){var t=this.h,r=typeof n;if("boolean"==r||null==n)t[n]=true;else{"number"!=r&&"string"!=r&&(r="object");
var e="number"==r?n:"_"+n,t=t[r]||(t[r]={});"object"==r?(r=t[e])?r.push(n):t[e]=[n]:t[e]=true}}function u(n){return n.charCodeAt(0)}function o(n,t){for(var r=-1,e=n.length;++r<e&&0<=t.indexOf(n.charAt(r)););return r}function i(n,t){for(var r=n.length;r--&&0<=t.indexOf(n.charAt(r)););return r}function a(t,r){return n(t.i,r.i)||t.j-r.j}function f(t,r){for(var e=t.i,u=r.i,o=-1,i=e.length;++o<i;){var a=n(e[o],u[o]);if(a)return a}return t.j-r.j}function l(n){var t=-1,r=n.length,u=n[0],o=n[r/2|0],i=n[r-1];
if(u&&typeof u=="object"&&o&&typeof o=="object"&&i&&typeof i=="object")return false;for(u=h(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=h(),o.g=n,o.h=u,o.push=e;++t<r;)o.push(n[t]);return o}function c(n){return ut[n]}function p(n){return"\\"+ft[n]}function s(){return x.pop()||[]}function h(){return C.pop()||{g:null,h:null,i:null,"false":false,j:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,k:null}}function g(n){n.length=0,x.length<E&&x.push(n)}function v(n){var t=n.h;
t&&v(t),n.g=n.h=n.i=n.object=n.number=n.string=n.k=null,C.length<E&&C.push(n)}function y(n,t){return(n=null==n?"":n+"")?null==t?n.slice(b(n),_(n)+1):(t+="",n.slice(o(n,t),i(n,t)+1)):n}function m(n,t){return(n=null==n?"":n+"")?null==t?n.slice(b(n)):(t+="",n.slice(o(n,t))):n}function d(n,t){return(n=null==n?"":n+"")?null==t?n.slice(0,_(n)+1):(t+="",n.slice(0,i(n,t)+1)):n}function b(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break
}return t}function _(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function w(n){return ot[n]}function j(n){function e(n,t,r){if(!n||!at[typeof n])return n;t=t&&typeof r=="undefined"?t:E(t,r,3);for(var e in n)if(false===t(n[e],e,n))break;return n}function o(n){var t=[];if(!n||!at[typeof n])return t;for(var r in n)Er.call(n,r)&&t.push(r);return t}function i(n){return n&&typeof n=="object"&&!te(n)&&Er.call(n,"__wrapped__")?n:new b(n)
}function b(n,t){this.__chain__=!!t,this.__wrapped__=n}function _(n){function t(){if(e){var n=xt(e);Nr.apply(n,arguments)}if(this instanceof t){var o=C(r.prototype),n=r.apply(o,n||arguments);return Qt(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return Jr(t,n),t}function x(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!Qt(n))return n;var i=wr.call(n);if(!tt[i])return n;var a=Xr[i];switch(i){case G:case H:return new a(+n);case Q:case nt:return new a(n);case Z:return o=a(n.source,W.exec(n)),o.lastIndex=n.lastIndex,o
}if(i=te(n),t){var f=!e;e||(e=s()),u||(u=s());for(var l=e.length;l--;)if(e[l]==n)return u[l];o=i?a(n.length):{}}else o=i?xt(n):Mt({},n);return i&&(Er.call(n,"index")&&(o.index=n.index),Er.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(i?Dt:Vt)(n,function(n,i){o[i]=x(n,t,r,e,u)}),f&&(g(e),g(u)),o):o}function C(n){return Qt(n)?Fr(n):{}}function E(n,t,r){if(typeof n!="function")return tr;if(typeof t=="undefined"||!("prototype"in n))return n;var e=n.__bindData__;if(typeof e=="undefined"&&(Gr.funcNames&&(e=!n.name),e=e||!Gr.funcDecomp,!e)){var u=Or.call(n);
Gr.funcNames||(e=!z.test(u)),e||(e=K.test(u),Jr(n,e))}if(false===e||true!==e&&1&e[1])return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return Pt(n,t)}function ut(n){function t(){var n=f?i:this;if(u){var h=xt(u);Nr.apply(h,arguments)}return(o||c)&&(h||(h=xt(arguments)),o&&Nr.apply(h,o),c&&h.length<a)?(e|=16,ut([r,p?e:-4&e,h,null,i,a])):(h||(h=arguments),l&&(r=n[s]),this instanceof t?(n=C(r.prototype),h=r.apply(n,h),Qt(h)?h:n):r.apply(n,h))
}var r=n[0],e=n[1],u=n[2],o=n[3],i=n[4],a=n[5],f=1&e,l=2&e,c=4&e,p=8&e,s=r;return Jr(t,n),t}function ot(n,e){var u=-1,o=mt(),i=n?n.length:0,a=i>=A&&o===t,f=[];if(a){var c=l(e);c?(o=r,e=c):a=false}for(;++u<i;)c=n[u],0>o(e,c)&&f.push(c);return a&&v(e),f}function ft(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(te(i)||_t(i))){t||(i=ft(i,t,r));var a=-1,f=i.length,l=o.length;for(o.length+=f;++a<f;)o[l++]=i[a]}else r||o.push(i)}return o
}function ct(n,t,r,u,o,i){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;if(n===n&&!(n&&at[typeof n]||t&&at[typeof t]))return false;if(null==n||null==t)return n===t;var f=wr.call(n),l=wr.call(t);if(f==V&&(f=Y),l==V&&(l=Y),f!=l)return false;switch(f){case G:case H:return+n==+t;case Q:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case Z:case nt:return n==gr(t)}if(l=f==X,!l){var c=Er.call(n,"__wrapped__"),p=Er.call(t,"__wrapped__");if(c||p)return ct(c?n.__wrapped__:n,p?t.__wrapped__:t,r,u,o,i);
if(f!=Y)return false;if(f=n.constructor,c=t.constructor,f!=c&&!(Er.call(n,"constructor")&&Er.call(t,"constructor")||Jt(f)&&f instanceof f&&Jt(c)&&c instanceof c)&&"constructor"in n&&"constructor"in t)return false}for(f=!o,o||(o=s()),i||(i=s()),c=o.length;c--;)if(o[c]==n)return i[c]==t;var h=0,a=true;if(o.push(n),i.push(t),l){if(c=n.length,h=t.length,(a=h==c)||u)for(;h--;)if(l=c,p=t[h],u)for(;l--&&!(a=ct(n[l],p,r,u,o,i)););else if(!(a=ct(n[h],p,r,u,o,i)))break}else e(t,function(t,e,f){return Er.call(f,e)?(h++,a=Er.call(n,e)&&ct(n[e],t,r,u,o,i)):void 0
}),a&&!u&&e(n,function(n,t,r){return Er.call(r,t)?a=-1<--h:void 0});return o.pop(),i.pop(),f&&(g(o),g(i)),a}function pt(n,t,r,e,u){(te(t)?Dt:Vt)(t,function(t,o){var i,a,f=t,l=n[o];if(t&&((a=te(t))||re(t))){for(f=e.length;f--;)if(i=e[f]==t){l=u[f];break}if(!i){var c;r&&(f=r(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?te(l)?l:[]:re(l)?l:{}),e.push(t),u.push(l),c||pt(l,t,r,e,u)}}else r&&(f=r(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);n[o]=l})}function st(n,t){return n+Cr(Kr()*(t-n+1))
}function gt(n,e,u){var o=-1,i=mt(),a=n?n.length:0,f=[],c=!e&&a>=A&&i===t,p=u||c?s():f;for(c&&(p=l(p),i=r);++o<a;){var h=n[o],y=u?u(h,o,n):h;(e?!o||p[p.length-1]!==y:0>i(p,y))&&((u||c)&&p.push(y),f.push(h))}return c?(g(p.g),v(p)):u&&g(p),f}function vt(n){return function(t,r,e){var u={};r=i.createCallback(r,e,3),e=-1;var o=t?t.length:0;if(typeof o=="number")for(;++e<o;){var a=t[e];n(u,a,r(a,e,t),t)}else Vt(t,function(t,e,o){n(u,t,r(t,e,o),o)});return u}}function yt(n,t,r,e,u,o){var i=1&t,a=4&t,f=16&t,l=32&t;
if(!(2&t||Jt(n)))throw new vr;f&&!r.length&&(t&=-17,f=r=false),l&&!e.length&&(t&=-33,l=e=false);var c=n&&n.__bindData__;return c&&true!==c?(c=xt(c),c[2]&&(c[2]=xt(c[2])),c[3]&&(c[3]=xt(c[3])),!i||1&c[1]||(c[4]=u),!i&&1&c[1]&&(t|=8),!a||4&c[1]||(c[5]=o),f&&Nr.apply(c[2]||(c[2]=[]),r),l&&Sr.apply(c[3]||(c[3]=[]),e),c[1]|=t,yt.apply(null,c)):(1==t||17===t?_:ut)([n,t,r,e,u,o])}function mt(){var n=(n=i.indexOf)===jt?t:n;return n}function dt(n){return typeof n=="function"&&jr.test(Or.call(n))}function bt(n){var t,r;
return n&&wr.call(n)==Y&&(Er.call(n,"constructor")||(t=n.constructor,!Jt(t)||t instanceof t))?(e(n,function(n,t){r=t}),typeof r=="undefined"||Er.call(n,r)):false}function _t(n){return n&&typeof n=="object"&&typeof n.length=="number"&&wr.call(n)==V||false}function wt(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=i.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[0]:k;return xt(n,0,0<e?e:0)}function jt(n,r,e){if(typeof e=="number"){var u=n?n.length:0;
e=0>e?zr(0,u+e):e||0}else if(e)return e=Ct(n,r),n[e]===r?e:-1;return t(n,r,e)}function kt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=i.createCallback(t,r,3);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:0<t?t:0;return xt(n,e)}function xt(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=zr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=zr(u+r,0):r>u&&(r=u),u=r-t||0,r=ir(u);++e<u;)r[e]=n[t+e];return r}function Ct(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?i.createCallback(r,e,1):tr,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;
return u}function Ot(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=it[typeof t]&&e&&e[t]===n?null:t,t=false),null!=r&&(r=i.createCallback(r,e,3)),gt(n,t,r)}function At(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Bt(ne(n,"length")):0,e=ir(0>r?0:r);++t<r;)e[t]=ne(n,t);return e}function Et(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||te(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function Nt(){return this.__wrapped__}function Rt(n,t,r){var e=n?n.length:0;
if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!te(n)&&Zt(n))return Dr?Dr.call(n,t,r):-1<n.indexOf(t,r);var u=mt();return r=(0>r?zr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,i=false;return Vt(n,function(n){return++o<r?void 0:!(i=n===t)}),i}function It(n,t,r){var e=true;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&(e=!!t(n[r],r,n)););else Vt(n,function(n,r,u){return e=!!t(n,r,u)});return e}function St(n,t,r){var e=[];t=i.createCallback(t,r,3),r=-1;
var u=n?n.length:0;if(typeof u=="number")for(;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}else Vt(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function Tt(n,t,r){t=i.createCallback(t,r,3),r=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Vt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}for(;++r<e;){var o=n[r];if(t(o,r,n))return o}}function Dt(n,t,r){var e=-1,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:E(t,r,3),typeof u=="number")for(;++e<u&&false!==t(n[e],e,n););else Vt(n,t);return n
}function Ft(n,t,r){var e=n?n.length:0;if(t=t&&typeof r=="undefined"?t:E(t,r,3),typeof e=="number")for(;e--&&false!==t(n[e],e,n););else{var u=ee(n),e=u.length;Vt(n,function(n,r,o){return r=u?u[--e]:--e,t(o[r],r,o)})}return n}function $t(n,t,r){var e=-1,u=n?n.length:0;if(t=i.createCallback(t,r,3),typeof u=="number")for(var o=ir(u);++e<u;)o[e]=t(n[e],e,n);else o=[],Vt(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function Bt(n,t,r){var e=-1/0,o=e;if(it[typeof t]&&r&&r[t]===n&&(t=null),null==t&&te(n)){r=-1;
for(var a=n.length;++r<a;){var f=n[r];f>o&&(o=f)}}else t=null==t&&Zt(n)?u:i.createCallback(t,r,3),Dt(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,o=n)});return o}function qt(n,t,r,e){var u=3>arguments.length;t=i.createCallback(t,e,4);var o=-1,a=n?n.length:0;if(typeof a=="number")for(u&&a&&(r=n[++o]);++o<a;)r=t(r,n[o],o,n);else Vt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)});return r}function Wt(n,t,r,e){var u=3>arguments.length;return t=i.createCallback(t,e,4),Ft(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)
}),r}function zt(n){var t=-1,r=n?n.length:0,e=ir(typeof r=="number"?r:0);return Dt(n,function(n){var r=st(0,++t);e[t]=e[r],e[r]=n}),e}function Lt(n,t,r){var e;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&!(e=t(n[r],r,n)););else Vt(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function Pt(n,t){return 2<arguments.length?yt(n,17,xt(arguments,2),null,t):yt(n,1,null,null,t)}function Kt(n,t,r){function e(){c&&xr(c),i=c=p=k,(g||h!==t)&&(s=ae(),a=n.apply(l,o),c||i||(o=l=null))
}function u(){var r=t-(ae()-f);0<r?c=Rr(u,r):(i&&xr(i),r=p,i=c=p=k,r&&(s=ae(),a=n.apply(l,o),c||i||(o=l=null)))}var o,i,a,f,l,c,p,s=0,h=false,g=true;if(!Jt(n))throw new vr;if(t=zr(0,t)||0,true===r)var v=true,g=false;else Qt(r)&&(v=r.leading,h="maxWait"in r&&(zr(t,r.maxWait)||0),g="trailing"in r?r.trailing:g);return function(){if(o=arguments,f=ae(),l=this,p=g&&(c||!v),false===h)var r=v&&!c;else{i||v||(s=f);var y=h-(f-s),m=0>=y;m?(i&&(i=xr(i)),s=f,a=n.apply(l,o)):i||(i=Rr(e,y))}return m&&c?c=xr(c):c||t===h||(c=Rr(u,t)),r&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a
}}function Mt(n,t,r){var e=arguments,u=0,o=it[typeof r]&&e[3]&&e[3][r]===t?2:e.length;if(3<o&&"function"==typeof e[o-2])var i=E(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(i=e[--o]);for(;++u<o;)if(t=e[u],Qt(t))for(var a=-1,f=ee(t),l=f.length;++a<l;){var c=f[a];n[c]=i?i(n[c],t[c]):t[c]}return n}function Ut(n,t,r){for(var e=arguments,u=0,o=it[typeof r]&&e[3]&&e[3][r]===t?2:e.length;++u<o;)if(t=e[u],Qt(t))for(var i=-1,a=ee(t),f=a.length;++i<f;){var l=a[i];"undefined"==typeof n[l]&&(n[l]=t[l])
}return n}function Vt(n,t,r){var e=-1,u=ee(n),o=u.length;for(t=t&&typeof r=="undefined"?t:E(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function Xt(n,t,r){var e=ee(n),u=e.length;for(t=E(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n}function Gt(n){var t=[];return e(n,function(n,r){Jt(n)&&t.push(r)}),t.sort()}function Ht(n){return n&&typeof n=="object"&&1===n.nodeType&&-1<wr.call(n).indexOf("Element")||false}function Jt(n){return typeof n=="function"}function Qt(n){return!(!n||!at[typeof n])}function Yt(n){return typeof n=="number"||n&&typeof n=="object"&&wr.call(n)==Q||false
}function Zt(n){return typeof n=="string"||n&&typeof n=="object"&&wr.call(n)==nt||false}function nr(n){for(var t=-1,r=ee(n),e=r.length,u=ir(e);++t<e;)u[t]=n[r[t]];return u}function tr(n){return n}function rr(n){n||(n={});var t=ee(n),r=t[0],e=n[r];return 1!=t.length||e!==e||Qt(e)?function(r){for(var e=t.length,u=false;e--&&(u=ct(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function er(n,t,r){var e=true,u=t&&Gt(t);t&&(r||u.length)||(null==r&&(r=t),t=n,n=i,u=Gt(t)),false===r?e=false:Qt(r)&&"chain"in r&&(e=r.chain),r=-1;
for(var o=Jt(n),a=u?u.length:0;++r<a;){var f=u[r],l=n[f]=t[f];o&&(n.prototype[f]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];if(Nr.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&Qt(o))return this;o=new n(o),o.__chain__=r}return o}}(l))}}function ur(){}function or(n){return function(t){return t[n]}}n=n?ht.defaults(lt.Object(),n,ht.pick(lt,U)):lt;var ir=n.Array,ar=n.Boolean,fr=n.Date,lr=n.Function,cr=n.Math,pr=n.Number,sr=n.Object,hr=n.RegExp,gr=n.String,vr=n.TypeError,yr=ir.prototype,mr=sr.prototype,dr=gr.prototype,br=(br=n.window)&&br.document,_r=n._,wr=mr.toString,jr=hr("^"+gr(wr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),kr=cr.ceil,xr=n.clearTimeout,Cr=cr.floor,Or=lr.prototype.toString,Ar=dt(Ar=sr.getPrototypeOf)&&Ar,Er=mr.hasOwnProperty,Nr=yr.push,Rr=n.setTimeout,Ir=yr.splice,Sr=yr.unshift,Tr=function(){try{var n={},t=dt(t=sr.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),Dr=dt(Dr=dr.contains)&&Dr,Fr=dt(Fr=sr.create)&&Fr,$r=dt($r=ir.isArray)&&$r,Br=n.isFinite,qr=n.isNaN,Wr=dt(Wr=sr.keys)&&Wr,zr=cr.max,Lr=cr.min,Pr=n.parseInt,Kr=cr.random,Mr=dt(Mr=dr.trim)&&!Mr.call(N)&&Mr,Ur=dt(Ur=dr.trimLeft)&&!Ur.call(N)&&Ur,Vr=dt(Vr=dr.trimRight)&&!Vr.call(N)&&Vr,Xr={};Xr[X]=ir,Xr[G]=ar,Xr[H]=fr,Xr[J]=lr,Xr[Y]=sr,Xr[Q]=pr,Xr[Z]=hr,Xr[nt]=gr,b.prototype=i.prototype;var Gr=i.support={};Gr.funcDecomp=!dt(n.WinRTError)&&K.test(j),Gr.funcNames=typeof lr.name=="string";
try{Gr.dom=11===br.createDocumentFragment().nodeType}catch(Hr){Gr.dom=false}i.templateSettings={escape:F,evaluate:$,interpolate:B,variable:"",imports:{_:i}},Fr||(C=function(){function t(){}return function(r){if(Qt(r)){t.prototype=r;var e=new t;t.prototype=null}return e||n.Object()}}());var Jr=Tr?function(n,t){et.value=t,Tr(n,"__bindData__",et)}:ur,Qr=vt(function(n,t,r){Er.call(n,r)?n[r]++:n[r]=1}),Yr=vt(function(n,t,r){Er.call(n,r)?n[r].push(t):n[r]=[t]}),Zr=vt(function(n,t,r){n[r]=t}),ne=$t,te=$r||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&wr.call(n)==X||false
};Gr.dom||(Ht=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!re(n)||false});var re=Ar?function(n){if(!n||wr.call(n)!=Y)return false;var t=n.valueOf,r=dt(t)&&(r=Ar(t))&&Ar(r);return r?n==r||Ar(n)==r:bt(n)}:bt,ee=Wr?function(n){return Qt(n)?Wr(n):[]}:o,ue=Mr?function(n,t){return null==n?"":null==t?Mr.call(n):y(n,t)}:y,oe=Ur?function(n,t){return null==n?"":null==t?Ur.call(n):m(n,t)}:m,ie=Vr?function(n,t){return null==n?"":null==t?Vr.call(n):d(n,t)}:d,ae=dt(ae=fr.now)&&ae||function(){return(new fr).getTime()
},fe=8==Pr(N+"08")?Pr:function(n,t){return n=ue(n),Pr(n,+t||(L.test(n)?16:10))};return i.after=function(n,t){if(!Jt(t))throw new vr;return function(){return 1>--n?t.apply(this,arguments):void 0}},i.assign=Mt,i.at=function(n,t){for(var r=arguments,e=-1,u=ft(r,true,false,1),r=it[typeof t]&&r[2]&&r[2][t]===n?1:u.length,o=ir(r);++e<r;)o[e]=n[u[e]];return o},i.bind=Pt,i.bindAll=function(n){for(var t=1<arguments.length?ft(arguments,true,false,1):Gt(n),r=-1,e=t.length;++r<e;){var u=t[r];n[u]=yt(n[u],1,null,null,n)
}return n},i.bindKey=function(n,t){return 2<arguments.length?yt(t,19,xt(arguments,2),null,n):yt(t,3,null,null,n)},i.chain=function(n){return n=new b(n),n.__chain__=true,n},i.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},i.compose=function(){for(var n=arguments,t=n.length;t--;)if(!Jt(n[t]))throw new vr;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},i.constant=function(n){return function(){return n}},i.countBy=Qr,i.create=function(n,t){var r=C(n);
return t?Mt(r,t):r},i.createCallback=function(n,t,r){var e=typeof n;return null==n||"function"==e?E(n,t,r):"object"!=e?or(n):rr(n)},i.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,yt(n,4,null,null,null,t)},i.debounce=Kt,i.defaults=Ut,i.defer=function(n){if(!Jt(n))throw new vr;var t=xt(arguments,1);return Rr(function(){n.apply(k,t)},1)},i.delay=function(n,t){if(!Jt(n))throw new vr;var r=xt(arguments,2);return Rr(function(){n.apply(k,r)},t)},i.difference=function(n){return ot(n,ft(arguments,true,true,1))
},i.filter=St,i.flatten=function(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=it[typeof t]&&e&&e[t]===n?null:t,t=false),null!=r&&(n=$t(n,r,e)),ft(n,t)},i.forEach=Dt,i.forEachRight=Ft,i.forIn=e,i.forInRight=function(n,t,r){var u=[];e(n,function(n,t){u.push(t,n)});var o=u.length;for(t=E(t,r,3);o--&&false!==t(u[o--],u[o],n););return n},i.forOwn=Vt,i.forOwnRight=Xt,i.functions=Gt,i.groupBy=Yr,i.indexBy=Zr,i.initial=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=i.createCallback(t,r,3);o--&&t(n[o],o,n);)e++
}else e=null==t||r?1:t||e;return e=u-e,xt(n,0,0<e?e:0)},i.intersection=function(){for(var n=[],e=-1,u=arguments.length,o=s(),i=mt(),a=i===t,f=s();++e<u;){var c=arguments[e];(te(c)||_t(c))&&(n.push(c),o.push(a&&c.length>=A&&l(e?n[e]:f)))}var a=n[0],p=-1,h=a?a.length:0,y=[];n:for(;++p<h;){var m=o[0],c=a[p];if(0>(m?r(m,c):i(f,c))){for(e=u,(m||f).push(c);--e;)if(m=o[e],0>(m?r(m,c):i(n[e],c)))continue n;y.push(c)}}for(;u--;)(m=o[u])&&v(m);return g(o),g(f),y},i.invert=function(n,t){for(var r=-1,e=ee(n),u=e.length,o={};++r<u;){var i=e[r],a=n[i];
t?Er.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},i.invoke=function(n,t){var r=xt(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=ir(typeof o=="number"?o:0);return Dt(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},i.keys=ee,i.map=$t,i.mapValues=function(n,t,r){var e={};return t=i.createCallback(t,r,3),Vt(n,function(n,r,u){e[r]=t(n,r,u)}),e},i.match=rr,i.max=Bt,i.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):"_"+arguments[0];return Er.call(e,u)?e[u]:e[u]=n.apply(this,arguments)
}if(!Jt(n))throw new vr;return r.cache={},r},i.merge=function(n,t,r){if(!Qt(n))return n;var e=arguments,u=it[typeof r]&&e[3]&&e[3][r]===t?2:e.length;if(3<u&&"function"==typeof e[u-2])var o=E(e[--u-1],e[u--],2);else 2<u&&"function"==typeof e[u-1]&&(o=e[--u]);for(var e=xt(arguments,1,u),i=-1,a=s(),f=s();++i<u;)pt(n,e[i],o,a,f);return g(a),g(f),n},i.min=function(n,t,r){var e=1/0,o=e;if(it[typeof t]&&r&&r[t]===n&&(t=null),null==t&&te(n)){r=-1;for(var a=n.length;++r<a;){var f=n[r];f<o&&(o=f)}}else t=null==t&&Zt(n)?u:i.createCallback(t,r,3),Dt(n,function(n,r,u){r=t(n,r,u),r<e&&(e=r,o=n)
});return o},i.omit=function(n,t,r){var u={};if(typeof t!="function"){var o=[];e(n,function(n,t){o.push(t)});for(var o=ot(o,ft(arguments,true,false,1)),a=-1,f=o.length;++a<f;){var l=o[a];u[l]=n[l]}}else t=i.createCallback(t,r,3),e(n,function(n,r,e){t(n,r,e)||(u[r]=n)});return u},i.once=function(n){var t,r;if(!Jt(n))throw new vr;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)}},i.pairs=function(n){for(var t=-1,r=ee(n),e=r.length,u=ir(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},i.partial=function(n){return yt(n,16,xt(arguments,1))
},i.partialRight=function(n){return yt(n,32,null,xt(arguments,1))},i.pick=function(n,t,r){var u={};if(typeof t!="function")for(var o=-1,a=ft(arguments,true,false,1),f=Qt(n)?a.length:0;++o<f;){var l=a[o];l in n&&(u[l]=n[l])}else t=i.createCallback(t,r,3),e(n,function(n,r,e){t(n,r,e)&&(u[r]=n)});return u},i.pluck=ne,i.property=or,i.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,i=t[r];++o<u;)n[o]===i&&(Ir.call(n,o--,1),u--);return n},i.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);
var e=-1;t=zr(0,kr((t-n)/(r||1)));for(var u=ir(t);++e<t;)u[e]=n,n+=r;return u},i.reject=function(n,t,r){return t=i.createCallback(t,r,3),St(n,function(n,r,e){return!t(n,r,e)})},i.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=i.createCallback(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),Ir.call(n,e--,1),u--);return o},i.rest=kt,i.shuffle=zt,i.slice=xt,i.sortBy=function(n,t,r){var e=-1,u=t&&te(t),o=n?n.length:0,l=ir(typeof o=="number"?o:0);for(u||(t=i.createCallback(t,r,3)),Dt(n,function(n,r,o){var i=l[++e]=h();
i.j=e,i.k=n,i.i=u?$t(t,function(t){return n[t]}):t(n,r,o)}),o=l.length,l.sort(u?f:a);o--;)n=l[o],l[o]=n.k,v(n);return l},i.tap=function(n,t,r){return t.call(r,n),n},i.throttle=function(n,t,r){var e=true,u=true;if(!Jt(n))throw new vr;return false===r?e=false:Qt(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),rt.leading=e,rt.maxWait=t,rt.trailing=u,Kt(n,t,rt)},i.times=function(n,t,r){n=-1<(n=+n)?n:0;var e=-1,u=ir(n);for(t=E(t,r,1);++e<n;)u[e]=t(e);return u},i.toArray=function(n){return n&&typeof n.length=="number"?xt(n):nr(n)
},i.transform=function(n,t,r,e){var u=te(n);if(null==r)if(u)r=[];else{var o=n&&n.constructor;r=C(o&&o.prototype)}return t&&(t=i.createCallback(t,e,4),(u?Dt:Vt)(n,function(n,e,u){return t(r,n,e,u)})),r},i.union=function(){return gt(ft(arguments,true,true))},i.uniq=Ot,i.values=nr,i.where=St,i.without=function(n){return ot(n,xt(arguments,1))},i.wrap=function(n,t){return yt(t,16,[n])},i.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];if(te(r)||_t(r))var e=e?ot(e,r).concat(ot(r,e)):r
}return e?gt(e):[]},i.zip=At,i.zipObject=Et,i.collect=$t,i.drop=kt,i.each=Dt,i.eachRight=Ft,i.extend=Mt,i.methods=Gt,i.object=Et,i.select=St,i.tail=kt,i.unique=Ot,i.unzip=At,er(Mt({},i)),i.capitalize=function(n){return null==n?"":(n=gr(n),n.charAt(0).toUpperCase()+n.slice(1))},i.clone=function(n,t,r,e){return typeof t!="boolean"&&null!=t&&(e=r,r=it[typeof t]&&e&&e[t]===n?null:t,t=false),x(n,t,typeof r=="function"&&E(r,e,1))},i.cloneDeep=function(n,t,r){return x(n,true,typeof t=="function"&&E(t,r,1))},i.contains=Rt,i.escape=function(n){return null==n?"":gr(n).replace(D,c)
},i.every=It,i.find=Tt,i.findIndex=function(n,t,r){var e=-1,u=n?n.length:0;for(t=i.createCallback(t,r,3);++e<u;)if(t(n[e],e,n))return e;return-1},i.findKey=function(n,t,r){var e;return t=i.createCallback(t,r,3),Vt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},i.findLast=function(n,t,r){var e;return t=i.createCallback(t,r,3),Ft(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e},i.findLastIndex=function(n,t,r){var e=n?n.length:0;for(t=i.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;
return-1},i.findLastKey=function(n,t,r){var e;return t=i.createCallback(t,r,3),Xt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},i.has=function(n,t){return n?Er.call(n,t):false},i.identity=tr,i.indexOf=jt,i.isArguments=_t,i.isArray=te,i.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&wr.call(n)==G||false},i.isDate=function(n){return n&&typeof n=="object"&&wr.call(n)==H||false},i.isElement=Ht,i.isEmpty=function(n){var t=true;if(!n)return t;var r=wr.call(n),e=n.length;return r==X||r==nt||r==V||r==Y&&typeof e=="number"&&Jt(n.splice)?!e:(Vt(n,function(){return t=false
}),t)},i.isEqual=function(n,t,r,e){return ct(n,t,typeof r=="function"&&E(r,e,2))},i.isFinite=function(n){return Br(n)&&!qr(parseFloat(n))},i.isFunction=Jt,i.isNaN=function(n){return Yt(n)&&n!=+n},i.isNull=function(n){return null===n},i.isNumber=Yt,i.isObject=Qt,i.isPlainObject=re,i.isRegExp=function(n){return n&&typeof n=="object"&&wr.call(n)==Z||false},i.isString=Zt,i.isUndefined=function(n){return typeof n=="undefined"},i.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?zr(0,e+r):Lr(r,e-1))+1);e--;)if(n[e]===t)return e;
return-1},i.mixin=er,i.noConflict=function(){return n._=_r,this},i.noop=ur,i.now=ae,i.parseInt=fe,i.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Kr(),Lr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):st(n,t)},i.reduce=qt,i.reduceRight=Wt,i.result=function(n,t){if(n){var r=n[t];return Jt(r)?n[t]():r}},i.runInContext=j,i.size=function(n){var t=n?n.length:0;
return typeof t=="number"?t:ee(n).length},i.some=Lt,i.sortedIndex=Ct,i.template=function(n,t,r){var e=i.templateSettings;n=gr(n||""),r=Ut({},r,e);var u,o=Ut({},r.imports,e.imports),e=ee(o),o=nr(o),a=0,f=r.interpolate||P,l="__p+='",f=hr((r.escape||P).source+"|"+f.source+"|"+(f===B?q:P).source+"|"+(r.evaluate||P).source+"|$","g");n.replace(f,function(t,r,e,o,i,f){return e||(e=o),l+=n.slice(a,f).replace(M,p),r&&(l+="'+__e("+r+")+'"),i&&(u=true,l+="';"+i+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),a=f+t.length,t
}),l+="';",f=r=r.variable,f||(r="obj",l="with("+r+"){"+l+"}"),l=(u?l.replace(R,""):l).replace(I,"$1").replace(S,"$1;"),l="function("+r+"){"+(f?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=lr(e,"return "+l).apply(k,o)}catch(s){throw s.source=l,s}return t?c(t):(c.source=l,c)},i.trim=ue,i.trimLeft=oe,i.trimRight=ie,i.unescape=function(n){return null==n?"":(n=gr(n),0>n.indexOf(";")?n:n.replace(T,w))
},i.uniqueId=function(n){var t=++O;return gr(null==n?"":n)+t},i.all=It,i.any=Lt,i.detect=Tt,i.findWhere=Tt,i.foldl=qt,i.foldr=Wt,i.include=Rt,i.inject=qt,er(function(){var n={};return Vt(i,function(t,r){i.prototype[r]||(n[r]=t)}),n}(),false),i.first=wt,i.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=i.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:k;return e=u-e,xt(n,0<e?e:0)},i.sample=function(n,t,r){return n&&typeof n.length!="number"&&(n=nr(n)),null==t||r?n?n[st(0,n.length-1)]:k:(n=zt(n),n.length=Lr(zr(0,t),n.length),n)
},i.take=wt,i.head=wt,Vt(i,function(n,t){var r="sample"!==t;i.prototype[t]||(i.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new b(o,u):o})}),i.VERSION="2.4.1",i.prototype.chain=function(){return this.__chain__=true,this},i.prototype.toString=function(){return gr(this.__wrapped__)},i.prototype.value=Nt,i.prototype.valueOf=Nt,Dt(["join","pop","shift"],function(n){var t=yr[n];i.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);
return n?new b(r,n):r}}),Dt(["push","reverse","sort","unshift"],function(n){var t=yr[n];i.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),Dt(["concat","splice"],function(n){var t=yr[n];i.prototype[n]=function(){return new b(t.apply(this.__wrapped__,arguments),this.__chain__)}}),i}var k,x=[],C=[],O=0,A=75,E=40,N=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",R=/\b__p\+='';/g,I=/\b(__p\+=)''\+/g,S=/(__e\(.*?\)|\b__t\))\+'';/g,T=/&(?:amp|lt|gt|quot|#39);/g,D=/[&<>"']/g,F=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,B=/<%=([\s\S]+?)%>/g,q=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,W=/\w*$/,z=/^\s*function[ \n\r\t]+\w/,L=/^0[xX]/,P=/($^)/,K=/\bthis\b/,M=/['\n\r\t\u2028\u2029\\]/g,U="Array Boolean Date Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),V="[object Arguments]",X="[object Array]",G="[object Boolean]",H="[object Date]",J="[object Function]",Q="[object Number]",Y="[object Object]",Z="[object RegExp]",nt="[object String]",tt={};
tt[J]=false,tt[V]=tt[X]=tt[G]=tt[H]=tt[Q]=tt[Y]=tt[Z]=tt[nt]=true;var rt={leading:false,maxWait:0,trailing:false},et={configurable:false,enumerable:false,value:null,writable:false},ut={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ot={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},it={"boolean":false,"function":false,object:false,number:true,string:true,undefined:false},at={"boolean":false,"function":true,object:true,number:false,string:false,undefined:false},ft={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},lt=at[typeof window]&&window||this,ct=at[typeof exports]&&exports&&!exports.nodeType&&exports,pt=at[typeof global]&&global;
!pt||pt.global!==pt&&pt.window!==pt||(lt=pt);var st=(pt=at[typeof module]&&module&&!module.nodeType&&module)&&pt.exports===ct&&ct,ht=j();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(lt._=ht, define(function(){return ht})):ct&&pt?st?(pt.exports=ht)._=ht:ct._=ht:lt._=ht}).call(this);
if(u&&typeof u=="object"&&o&&typeof o=="object"&&i&&typeof i=="object")return false;for(u=g(),u["false"]=u["null"]=u["true"]=u.undefined=false,o=g(),o.g=n,o.h=u,o.push=e;++t<r;)o.push(n[t]);return o}function c(n){return ut[n]}function p(n){return"\\"+at[n]}function s(){return x.pop()||[]}function g(){return C.pop()||{g:null,h:null,i:null,"false":false,j:0,"null":false,number:null,object:null,push:null,string:null,"true":false,undefined:false,k:null}}function h(n){n.length=0,x.length<E&&x.push(n)}function v(n){var t=n.h;
t&&v(t),n.g=n.h=n.i=n.object=n.number=n.string=n.k=null,C.length<E&&C.push(n)}function y(n,t){return(n=null==n?"":n+"")?null==t?n.slice(d(n),_(n)+1):(t+="",n.slice(o(n,t),i(n,t)+1)):n}function m(n,t){return(n=null==n?"":n+"")?null==t?n.slice(d(n)):(t+="",n.slice(o(n,t))):n}function b(n,t){return(n=null==n?"":n+"")?null==t?n.slice(0,_(n)+1):(t+="",n.slice(0,i(n,t)+1)):n}function d(n){for(var t=-1,r=n.length;++t<r;){var e=n.charCodeAt(t);if((160<e||9>e||13<e)&&32!=e&&160!=e&&5760!=e&&6158!=e&&(8192>e||8202<e&&8232!=e&&8233!=e&&8239!=e&&8287!=e&&12288!=e&&65279!=e))break
}return t}function _(n){for(var t=n.length;t--;){var r=n.charCodeAt(t);if((160<r||9>r||13<r)&&32!=r&&160!=r&&5760!=r&&6158!=r&&(8192>r||8202<r&&8232!=r&&8233!=r&&8239!=r&&8287!=r&&12288!=r&&65279!=r))break}return t}function w(n){return ot[n]}function j(n){function e(n,t,r){if(!Ht(n))return n;t=t&&typeof r=="undefined"?t:E(t,r,3);for(var e in n)if(false===t(n[e],e,n))break;return n}function o(n){var t=[];if(!Ht(n))return t;for(var r in n)Or.call(n,r)&&t.push(r);return t}function i(n){return n&&typeof n=="object"&&!Zr(n)&&Or.call(n,"__wrapped__")?n:new d(n)
}function d(n,t){this.__chain__=!!t,this.__wrapped__=n}function _(n){function t(){if(e){var n=jt(e);Ar.apply(n,arguments)}if(this instanceof t){var o=C(r.prototype),n=r.apply(o,n||arguments);return Ht(n)?n:o}return r.apply(u,n||arguments)}var r=n[0],e=n[2],u=n[4];return Gr(t,n),t}function x(n,t,r,e,u){if(r){var o=r(n);if(typeof o!="undefined")return o}if(!Ht(n))return n;var i=dr.call(n);if(!tt[i])return n;var a=Ur[i];switch(i){case G:case H:return new a(+n);case Q:case nt:return new a(n);case Z:return o=a(n.source,W.exec(n)),o.lastIndex=n.lastIndex,o
}if(i=Zr(n),t){var f=!e;e||(e=s()),u||(u=s());for(var l=e.length;l--;)if(e[l]==n)return u[l];o=i?a(n.length):{}}else o=i?jt(n):Pt({},n);return i&&(Or.call(n,"index")&&(o.index=n.index),Or.call(n,"input")&&(o.input=n.input)),t?(e.push(n),u.push(o),(i?St:Mt)(n,function(n,i){o[i]=x(n,t,r,e,u)}),f&&(h(e),h(u)),o):o}function C(n){return Ht(n)?Tr(n):{}}function E(n,t,r){if(typeof n!="function")return Zt;if(typeof t=="undefined"||!("prototype"in n))return n;var e=n.__bindData__;if(typeof e=="undefined"&&(Vr.funcNames&&(e=!n.name),e=e||!Vr.funcDecomp,!e)){var u=xr.call(n);
Vr.funcNames||(e=!z.test(u)),e||(e=K.test(u),Gr(n,e))}if(false===e||true!==e&&1&e[1])return n;switch(r){case 1:return function(r){return n.call(t,r)};case 2:return function(r,e){return n.call(t,r,e)};case 3:return function(r,e,u){return n.call(t,r,e,u)};case 4:return function(r,e,u,o){return n.call(t,r,e,u,o)}}return zt(n,t)}function ut(n){function t(){var n=f?i:this;if(u){var g=jt(u);Ar.apply(g,arguments)}return(o||c)&&(g||(g=jt(arguments)),o&&Ar.apply(g,o),c&&g.length<a)?(e|=16,ut([r,p?e:-4&e,g,null,i,a])):(g||(g=arguments),l&&(r=n[s]),this instanceof t?(n=C(r.prototype),g=r.apply(n,g),Ht(g)?g:n):r.apply(n,g))
}var r=n[0],e=n[1],u=n[2],o=n[3],i=n[4],a=n[5],f=1&e,l=2&e,c=4&e,p=8&e,s=r;return Gr(t,n),t}function ot(n,e){var u=-1,o=vt(),i=n?n.length:0,a=i>=A&&o===t,f=[];if(a){var c=l(e);c?(o=r,e=c):a=false}for(;++u<i;)c=n[u],0>o(e,c)&&f.push(c);return a&&v(e),f}function it(n,t,r,e){e=(e||0)-1;for(var u=n?n.length:0,o=[];++e<u;){var i=n[e];if(i&&typeof i=="object"&&typeof i.length=="number"&&(Zr(i)||bt(i))){t||(i=it(i,t,r));var a=-1,f=i.length,l=o.length;for(o.length+=f;++a<f;)o[l++]=i[a]}else r||o.push(i)}return o
}function at(n,t,r,u,o,i){if(r){var a=r(n,t);if(typeof a!="undefined")return!!a}if(n===t)return 0!==n||1/n==1/t;var f=typeof n,l=typeof t;if(n===n&&(!n||"function"!=f&&"object"!=f)&&(!t||"function"!=l&&"object"!=l))return false;if(null==n||null==t)return n===t;if(l=dr.call(n),f=dr.call(t),l==V&&(l=Y),f==V&&(f=Y),l!=f)return false;switch(l){case G:case H:return+n==+t;case Q:return n!=+n?t!=+t:0==n?1/n==1/t:n==+t;case Z:case nt:return n==sr(t)}if(f=l==X,!f){var c=Or.call(n,"__wrapped__"),p=Or.call(t,"__wrapped__");
if(c||p)return at(c?n.__wrapped__:n,p?t.__wrapped__:t,r,u,o,i);if(l!=Y)return false;if(l=n.constructor,c=t.constructor,l!=c&&!(Or.call(n,"constructor")&&Or.call(t,"constructor")||Gt(l)&&l instanceof l&&Gt(c)&&c instanceof c)&&"constructor"in n&&"constructor"in t)return false}for(l=!o,o||(o=s()),i||(i=s()),c=o.length;c--;)if(o[c]==n)return i[c]==t;var g=0,a=true;if(o.push(n),i.push(t),f){if(c=n.length,g=t.length,(a=g==c)||u)for(;g--;)if(f=c,p=t[g],u)for(;f--&&!(a=at(n[f],p,r,u,o,i)););else if(!(a=at(n[g],p,r,u,o,i)))break
}else e(t,function(t,e,f){return Or.call(f,e)?(g++,a=Or.call(n,e)&&at(n[e],t,r,u,o,i)):void 0}),a&&!u&&e(n,function(n,t,r){return Or.call(r,t)?a=-1<--g:void 0});return o.pop(),i.pop(),l&&(h(o),h(i)),a}function lt(n,t,r,e,u){(Zr(t)?St:Mt)(t,function(t,o){var i,a,f=t,l=n[o];if(t&&((a=Zr(t))||ne(t))){for(f=e.length;f--;)if(i=e[f]==t){l=u[f];break}if(!i){var c;r&&(f=r(l,t),c=typeof f!="undefined")&&(l=f),c||(l=a?Zr(l)?l:[]:ne(l)?l:{}),e.push(t),u.push(l),c||lt(l,t,r,e,u)}}else r&&(f=r(l,t),typeof f=="undefined"&&(f=t)),typeof f!="undefined"&&(l=f);
n[o]=l})}function ct(n,t){return n+kr(Lr()*(t-n+1))}function st(n,e,u){var o=-1,i=vt(),a=n?n.length:0,f=[],c=!e&&a>=A&&i===t,p=u||c?s():f;for(c&&(p=l(p),i=r);++o<a;){var g=n[o],y=u?u(g,o,n):g;(e?!o||p[p.length-1]!==y:0>i(p,y))&&((u||c)&&p.push(y),f.push(g))}return c?(h(p.g),v(p)):u&&h(p),f}function gt(n){return function(t,r,e){var u={};r=i.createCallback(r,e,3),e=-1;var o=t?t.length:0;if(typeof o=="number")for(;++e<o;){var a=t[e];n(u,a,r(a,e,t),t)}else Mt(t,function(t,e,o){n(u,t,r(t,e,o),o)});return u
}}function ht(n,t,r,e,u,o){var i=1&t,a=4&t,f=16&t,l=32&t;if(!(2&t||Gt(n)))throw new gr;f&&!r.length&&(t&=-17,f=r=false),l&&!e.length&&(t&=-33,l=e=false);var c=n&&n.__bindData__;return c&&true!==c?(c=jt(c),c[2]&&(c[2]=jt(c[2])),c[3]&&(c[3]=jt(c[3])),!i||1&c[1]||(c[4]=u),!i&&1&c[1]&&(t|=8),!a||4&c[1]||(c[5]=o),f&&Ar.apply(c[2]||(c[2]=[]),r),l&&Rr.apply(c[3]||(c[3]=[]),e),c[1]|=t,ht.apply(null,c)):(1==t||17===t?_:ut)([n,t,r,e,u,o])}function vt(){var n=(n=i.indexOf)===_t?t:n;return n}function yt(n){return typeof n=="function"&&_r.test(xr.call(n))
}function mt(n){var t,r;return n&&dr.call(n)==Y&&(Or.call(n,"constructor")||(t=n.constructor,!Gt(t)||t instanceof t))?(e(n,function(n,t){r=t}),typeof r=="undefined"||Or.call(n,r)):false}function bt(n){return n&&typeof n=="object"&&typeof n.length=="number"&&dr.call(n)==V||false}function dt(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=-1;for(t=i.createCallback(t,r,3);++o<u&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[0]:k;return jt(n,0,0<e?e:0)}function _t(n,r,e){if(typeof e=="number"){var u=n?n.length:0;
e=0>e?qr(0,u+e):e||0}else if(e)return e=kt(n,r),n[e]===r?e:-1;return t(n,r,e)}function wt(n,t,r){if(typeof t!="number"&&null!=t){var e=0,u=-1,o=n?n.length:0;for(t=i.createCallback(t,r,3);++u<o&&t(n[u],u,n);)e++}else e=null==t||r?1:0<t?t:0;return jt(n,e)}function jt(n,t,r){var e=-1,u=n?n.length:0;for(typeof t=="undefined"?t=0:0>t?t=qr(u+t,0):t>u&&(t=u),typeof r=="undefined"?r=u:0>r?r=qr(u+r,0):r>u&&(r=u),u=r-t||0,r=ur(u);++e<u;)r[e]=n[t+e];return r}function kt(n,t,r,e){var u=0,o=n?n.length:u;for(r=r?i.createCallback(r,e,1):Zt,t=r(t);u<o;)e=u+o>>>1,r(n[e])<t?u=e+1:o=e;
return u}function xt(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(r=i.createCallback(r,e,3)),st(n,t,r)}function Ct(){for(var n=1<arguments.length?arguments:arguments[0],t=-1,r=n?Ft(Yr(n,"length")):0,e=ur(0>r?0:r);++t<r;)e[t]=Yr(n,t);return e}function Ot(n,t){var r=-1,e=n?n.length:0,u={};for(t||!e||Zr(n[0])||(t=[]);++r<e;){var o=n[r];t?u[o]=t[r]:o&&(u[o[0]]=o[1])}return u}function At(){return this.__wrapped__}function Et(n,t,r){var e=n?n.length:0;
if(r=typeof r=="number"?r:0,typeof e=="number"){if(r>=e)return false;if(typeof n=="string"||!Zr(n)&&Qt(n))return Sr?Sr.call(n,t,r):-1<n.indexOf(t,r);var u=vt();return r=(0>r?qr(0,e+r):r)||0,-1<u(n,t,r)}var o=-1,i=false;return Mt(n,function(n){return++o<r?void 0:!(i=n===t)}),i}function Nt(n,t,r){var e=true;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&(e=!!t(n[r],r,n)););else Mt(n,function(n,r,u){return e=!!t(n,r,u)});return e}function Rt(n,t,r){var e=[];t=i.createCallback(t,r,3),r=-1;
var u=n?n.length:0;if(typeof u=="number")for(;++r<u;){var o=n[r];t(o,r,n)&&e.push(o)}else Mt(n,function(n,r,u){t(n,r,u)&&e.push(n)});return e}function It(n,t,r){t=i.createCallback(t,r,3),r=-1;var e=n?n.length:0;if(typeof e!="number"){var u;return Mt(n,function(n,r,e){return t(n,r,e)?(u=n,false):void 0}),u}for(;++r<e;){var o=n[r];if(t(o,r,n))return o}}function St(n,t,r){var e=-1,u=n?n.length:0;if(t=t&&typeof r=="undefined"?t:E(t,r,3),typeof u=="number")for(;++e<u&&false!==t(n[e],e,n););else Mt(n,t);return n
}function Tt(n,t,r){var e=n?n.length:0;if(t=t&&typeof r=="undefined"?t:E(t,r,3),typeof e=="number")for(;e--&&false!==t(n[e],e,n););else{var u=te(n),e=u.length;Mt(n,function(n,r,o){return r=u?u[--e]:--e,t(o[r],r,o)})}return n}function Dt(n,t,r){var e=-1,u=n?n.length:0;if(t=i.createCallback(t,r,3),typeof u=="number")for(var o=ur(u);++e<u;)o[e]=t(n[e],e,n);else o=[],Mt(n,function(n,r,u){o[++e]=t(n,r,u)});return o}function Ft(n,t,r){var e=-1/0,o=e,a=typeof t;if("number"!=a&&"string"!=a||!r||r[t]!==n||(t=null),null==t&&Zr(n))for(r=-1,a=n.length;++r<a;){var f=n[r];
f>o&&(o=f)}else t=null==t&&Qt(n)?u:i.createCallback(t,r,3),St(n,function(n,r,u){r=t(n,r,u),r>e&&(e=r,o=n)});return o}function $t(n,t,r,e){var u=3>arguments.length;t=i.createCallback(t,e,4);var o=-1,a=n?n.length:0;if(typeof a=="number")for(u&&a&&(r=n[++o]);++o<a;)r=t(r,n[o],o,n);else Mt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)});return r}function Bt(n,t,r,e){var u=3>arguments.length;return t=i.createCallback(t,e,4),Tt(n,function(n,e,o){r=u?(u=false,n):t(r,n,e,o)}),r}function qt(n){var t=-1,r=n?n.length:0,e=ur(typeof r=="number"?r:0);
return St(n,function(n){var r=ct(0,++t);e[t]=e[r],e[r]=n}),e}function Wt(n,t,r){var e;t=i.createCallback(t,r,3),r=-1;var u=n?n.length:0;if(typeof u=="number")for(;++r<u&&!(e=t(n[r],r,n)););else Mt(n,function(n,r,u){return!(e=t(n,r,u))});return!!e}function zt(n,t){return 2<arguments.length?ht(n,17,jt(arguments,2),null,t):ht(n,1,null,null,t)}function Lt(n,t,r){function e(){c&&jr(c),i=c=p=k,(h||g!==t)&&(s=oe(),a=n.apply(l,o),c||i||(o=l=null))}function u(){var r=t-(oe()-f);0<r?c=Er(u,r):(i&&jr(i),r=p,i=c=p=k,r&&(s=oe(),a=n.apply(l,o),c||i||(o=l=null)))
}var o,i,a,f,l,c,p,s=0,g=false,h=true;if(!Gt(n))throw new gr;if(t=qr(0,t)||0,true===r)var v=true,h=false;else Ht(r)&&(v=r.leading,g="maxWait"in r&&(qr(t,r.maxWait)||0),h="trailing"in r?r.trailing:h);return function(){if(o=arguments,f=oe(),l=this,p=h&&(c||!v),false===g)var r=v&&!c;else{i||v||(s=f);var y=g-(f-s),m=0>=y;m?(i&&(i=jr(i)),s=f,a=n.apply(l,o)):i||(i=Er(e,y))}return m&&c?c=jr(c):c||t===g||(c=Er(u,t)),r&&(m=true,a=n.apply(l,o)),!m||c||i||(o=l=null),a}}function Pt(n,t,r){var e=arguments,u=0,o=e.length,i=typeof r;
if("number"!=i&&"string"!=i||!e[3]||e[3][r]!==t||(o=2),3<o&&"function"==typeof e[o-2])var a=E(e[--o-1],e[o--],2);else 2<o&&"function"==typeof e[o-1]&&(a=e[--o]);for(;++u<o;)if(t=e[u],Ht(t))for(var i=-1,f=te(t),l=f.length;++i<l;){var c=f[i];n[c]=a?a(n[c],t[c]):t[c]}return n}function Kt(n,t,r){var e=arguments,u=0,o=e.length,i=typeof r;for("number"!=i&&"string"!=i||!e[3]||e[3][r]!==t||(o=2);++u<o;)if(t=e[u],Ht(t))for(var i=-1,a=te(t),f=a.length;++i<f;){var l=a[i];"undefined"==typeof n[l]&&(n[l]=t[l])
}return n}function Mt(n,t,r){var e=-1,u=te(n),o=u.length;for(t=t&&typeof r=="undefined"?t:E(t,r,3);++e<o&&(r=u[e],false!==t(n[r],r,n)););return n}function Ut(n,t,r){var e=te(n),u=e.length;for(t=E(t,r,3);u--&&(r=e[u],false!==t(n[r],r,n)););return n}function Vt(n){var t=[];return e(n,function(n,r){Gt(n)&&t.push(r)}),t.sort()}function Xt(n){return n&&typeof n=="object"&&1===n.nodeType&&-1<dr.call(n).indexOf("Element")||false}function Gt(n){return typeof n=="function"}function Ht(n){var t=typeof n;return n&&("function"==t||"object"==t)||false
}function Jt(n){var t=typeof n;return"number"==t||n&&"object"==t&&dr.call(n)==Q||false}function Qt(n){return typeof n=="string"||n&&typeof n=="object"&&dr.call(n)==nt||false}function Yt(n){for(var t=-1,r=te(n),e=r.length,u=ur(e);++t<e;)u[t]=n[r[t]];return u}function Zt(n){return n}function nr(n){n||(n={});var t=te(n),r=t[0],e=n[r];return 1!=t.length||e!==e||Ht(e)?function(r){for(var e=t.length,u=false;e--&&(u=at(r[t[e]],n[t[e]],null,true)););return u}:function(n){return n=n[r],e===n&&(0!==e||1/e==1/n)}}function tr(n,t,r){var e=true,u=t&&Vt(t);
t&&(r||u.length)||(null==r&&(r=t),t=n,n=i,u=Vt(t)),false===r?e=false:Ht(r)&&"chain"in r&&(e=r.chain),r=-1;for(var o=Gt(n),a=u?u.length:0;++r<a;){var f=u[r],l=n[f]=t[f];o&&(n.prototype[f]=function(t){return function(){var r=this.__chain__,u=this.__wrapped__,o=[u];if(Ar.apply(o,arguments),o=t.apply(n,o),e||r){if(u===o&&Ht(o))return this;o=new n(o),o.__chain__=r}return o}}(l))}}function rr(){}function er(n){return function(t){return t[n]}}n=n?pt.defaults(ft.Object(),n,pt.pick(ft,U)):ft;var ur=n.Array,or=n.Boolean,ir=n.Date,ar=n.Function,fr=n.Math,lr=n.Number,cr=n.Object,pr=n.RegExp,sr=n.String,gr=n.TypeError,hr=ur.prototype,vr=cr.prototype,yr=sr.prototype,mr=(mr=n.window)&&mr.document,br=n._,dr=vr.toString,_r=pr("^"+sr(dr).replace(/[.*+?^${}()|[\]\\]/g,"\\$&").replace(/toString|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),wr=fr.ceil,jr=n.clearTimeout,kr=fr.floor,xr=ar.prototype.toString,Cr=yt(Cr=cr.getPrototypeOf)&&Cr,Or=vr.hasOwnProperty,Ar=hr.push,Er=n.setTimeout,Nr=hr.splice,Rr=hr.unshift,Ir=function(){try{var n={},t=yt(t=cr.defineProperty)&&t,r=t(n,n,n)&&t
}catch(e){}return r}(),Sr=yt(Sr=yr.contains)&&Sr,Tr=yt(Tr=cr.create)&&Tr,Dr=yt(Dr=ur.isArray)&&Dr,Fr=n.isFinite,$r=n.isNaN,Br=yt(Br=cr.keys)&&Br,qr=fr.max,Wr=fr.min,zr=n.parseInt,Lr=fr.random,Pr=yt(Pr=yr.trim)&&!Pr.call(N)&&Pr,Kr=yt(Kr=yr.trimLeft)&&!Kr.call(N)&&Kr,Mr=yt(Mr=yr.trimRight)&&!Mr.call(N)&&Mr,Ur={};Ur[X]=ur,Ur[G]=or,Ur[H]=ir,Ur[J]=ar,Ur[Y]=cr,Ur[Q]=lr,Ur[Z]=pr,Ur[nt]=sr,d.prototype=i.prototype;var Vr=i.support={};Vr.funcDecomp=!yt(n.WinRTError)&&K.test(j),Vr.funcNames=typeof ar.name=="string";
try{Vr.dom=11===mr.createDocumentFragment().nodeType}catch(Xr){Vr.dom=false}i.templateSettings={escape:F,evaluate:$,interpolate:B,variable:"",imports:{_:i}},Tr||(C=function(){function t(){}return function(r){if(Ht(r)){t.prototype=r;var e=new t;t.prototype=null}return e||n.Object()}}());var Gr=Ir?function(n,t){et.value=t,Ir(n,"__bindData__",et)}:rr,Hr=gt(function(n,t,r){Or.call(n,r)?n[r]++:n[r]=1}),Jr=gt(function(n,t,r){Or.call(n,r)?n[r].push(t):n[r]=[t]}),Qr=gt(function(n,t,r){n[r]=t}),Yr=Dt,Zr=Dr||function(n){return n&&typeof n=="object"&&typeof n.length=="number"&&dr.call(n)==X||false
};Vr.dom||(Xt=function(n){return n&&typeof n=="object"&&1===n.nodeType&&!ne(n)||false});var ne=Cr?function(n){if(!n||dr.call(n)!=Y)return false;var t=n.valueOf,r=yt(t)&&(r=Cr(t))&&Cr(r);return r?n==r||Cr(n)==r:mt(n)}:mt,te=Br?function(n){return Ht(n)?Br(n):[]}:o,re=Pr?function(n,t){return null==n?"":null==t?Pr.call(n):y(n,t)}:y,ee=Kr?function(n,t){return null==n?"":null==t?Kr.call(n):m(n,t)}:m,ue=Mr?function(n,t){return null==n?"":null==t?Mr.call(n):b(n,t)}:b,oe=yt(oe=ir.now)&&oe||function(){return(new ir).getTime()
},ie=8==zr(N+"08")?zr:function(n,t){return n=re(n),zr(n,+t||(L.test(n)?16:10))};return i.after=function(n,t){if(!Gt(t))throw new gr;return function(){return 1>--n?t.apply(this,arguments):void 0}},i.assign=Pt,i.at=function(n,t){var r=arguments,e=-1,u=it(r,true,false,1),o=u.length,i=typeof t;for("number"!=i&&"string"!=i||!r[2]||r[2][t]!==n||(o=1),r=ur(o);++e<o;)r[e]=n[u[e]];return r},i.bind=zt,i.bindAll=function(n){for(var t=1<arguments.length?it(arguments,true,false,1):Vt(n),r=-1,e=t.length;++r<e;){var u=t[r];
n[u]=ht(n[u],1,null,null,n)}return n},i.bindKey=function(n,t){return 2<arguments.length?ht(t,19,jt(arguments,2),null,n):ht(t,3,null,null,n)},i.chain=function(n){return n=new d(n),n.__chain__=true,n},i.compact=function(n){for(var t=-1,r=n?n.length:0,e=0,u=[];++t<r;){var o=n[t];o&&(u[e++]=o)}return u},i.compose=function(){for(var n=arguments,t=n.length;t--;)if(!Gt(n[t]))throw new gr;return function(){for(var t=arguments,r=n.length;r--;)t=[n[r].apply(this,t)];return t[0]}},i.constant=function(n){return function(){return n
}},i.countBy=Hr,i.create=function(n,t){var r=C(n);return t?Pt(r,t):r},i.createCallback=function(n,t,r){var e=typeof n;return null==n||"function"==e?E(n,t,r):"object"!=e?er(n):nr(n)},i.curry=function(n,t){return t=typeof t=="number"?t:+t||n.length,ht(n,4,null,null,null,t)},i.debounce=Lt,i.defaults=Kt,i.defer=function(n){if(!Gt(n))throw new gr;var t=jt(arguments,1);return Er(function(){n.apply(k,t)},1)},i.delay=function(n,t){if(!Gt(n))throw new gr;var r=jt(arguments,2);return Er(function(){n.apply(k,r)
},t)},i.difference=function(n){return ot(n,it(arguments,true,true,1))},i.filter=Rt,i.flatten=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),null!=r&&(n=Dt(n,r,e)),it(n,t)},i.forEach=St,i.forEachRight=Tt,i.forIn=e,i.forInRight=function(n,t,r){var u=[];e(n,function(n,t){u.push(t,n)});var o=u.length;for(t=E(t,r,3);o--&&false!==t(u[o--],u[o],n););return n},i.forOwn=Mt,i.forOwnRight=Ut,i.functions=Vt,i.groupBy=Jr,i.indexBy=Qr,i.initial=function(n,t,r){var e=0,u=n?n.length:0;
if(typeof t!="number"&&null!=t){var o=u;for(t=i.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else e=null==t||r?1:t||e;return e=u-e,jt(n,0,0<e?e:0)},i.intersection=function(){for(var n=[],e=-1,u=arguments.length,o=s(),i=vt(),a=i===t,f=s();++e<u;){var c=arguments[e];(Zr(c)||bt(c))&&(n.push(c),o.push(a&&c.length>=A&&l(e?n[e]:f)))}var a=n[0],p=-1,g=a?a.length:0,y=[];n:for(;++p<g;){var m=o[0],c=a[p];if(0>(m?r(m,c):i(f,c))){for(e=u,(m||f).push(c);--e;)if(m=o[e],0>(m?r(m,c):i(n[e],c)))continue n;y.push(c)
}}for(;u--;)(m=o[u])&&v(m);return h(o),h(f),y},i.invert=function(n,t){for(var r=-1,e=te(n),u=e.length,o={};++r<u;){var i=e[r],a=n[i];t?Or.call(o,a)?o[a].push(i):o[a]=[i]:o[a]=i}return o},i.invoke=function(n,t){var r=jt(arguments,2),e=-1,u=typeof t=="function",o=n?n.length:0,i=ur(typeof o=="number"?o:0);return St(n,function(n){i[++e]=(u?t:n[t]).apply(n,r)}),i},i.keys=te,i.map=Dt,i.mapValues=function(n,t,r){var e={};return t=i.createCallback(t,r,3),Mt(n,function(n,r,u){e[r]=t(n,r,u)}),e},i.match=nr,i.max=Ft,i.memoize=function(n,t){function r(){var e=r.cache,u=t?t.apply(this,arguments):"_"+arguments[0];
return Or.call(e,u)?e[u]:e[u]=n.apply(this,arguments)}if(!Gt(n))throw new gr;return r.cache={},r},i.merge=function(n,t,r){if(!Ht(n))return n;var e=arguments,u=e.length,o=typeof r;if("number"!=o&&"string"!=o||!e[3]||e[3][r]!==t||(u=2),3<u&&"function"==typeof e[u-2])var i=E(e[--u-1],e[u--],2);else 2<u&&"function"==typeof e[u-1]&&(i=e[--u]);for(var e=jt(arguments,1,u),o=-1,a=s(),f=s();++o<u;)lt(n,e[o],i,a,f);return h(a),h(f),n},i.min=function(n,t,r){var e=1/0,o=e,a=typeof t;if("number"!=a&&"string"!=a||!r||r[t]!==n||(t=null),null==t&&Zr(n))for(r=-1,a=n.length;++r<a;){var f=n[r];
f<o&&(o=f)}else t=null==t&&Qt(n)?u:i.createCallback(t,r,3),St(n,function(n,r,u){r=t(n,r,u),r<e&&(e=r,o=n)});return o},i.omit=function(n,t,r){var u={};if(typeof t!="function"){var o=[];e(n,function(n,t){o.push(t)});for(var o=ot(o,it(arguments,true,false,1)),a=-1,f=o.length;++a<f;){var l=o[a];u[l]=n[l]}}else t=i.createCallback(t,r,3),e(n,function(n,r,e){t(n,r,e)||(u[r]=n)});return u},i.once=function(n){var t,r;if(!Gt(n))throw new gr;return function(){return t?r:(t=true,r=n.apply(this,arguments),n=null,r)}
},i.pairs=function(n){for(var t=-1,r=te(n),e=r.length,u=ur(e);++t<e;){var o=r[t];u[t]=[o,n[o]]}return u},i.partial=function(n){return ht(n,16,jt(arguments,1))},i.partialRight=function(n){return ht(n,32,null,jt(arguments,1))},i.pick=function(n,t,r){var u={};if(typeof t!="function")for(var o=-1,a=it(arguments,true,false,1),f=Ht(n)?a.length:0;++o<f;){var l=a[o];l in n&&(u[l]=n[l])}else t=i.createCallback(t,r,3),e(n,function(n,r,e){t(n,r,e)&&(u[r]=n)});return u},i.pluck=Yr,i.property=er,i.pull=function(n){for(var t=arguments,r=0,e=t.length,u=n?n.length:0;++r<e;)for(var o=-1,i=t[r];++o<u;)n[o]===i&&(Nr.call(n,o--,1),u--);
return n},i.range=function(n,t,r){n=+n||0,r=typeof r=="number"?r:+r||1,null==t&&(t=n,n=0);var e=-1;t=qr(0,wr((t-n)/(r||1)));for(var u=ur(t);++e<t;)u[e]=n,n+=r;return u},i.reject=function(n,t,r){return t=i.createCallback(t,r,3),Rt(n,function(n,r,e){return!t(n,r,e)})},i.remove=function(n,t,r){var e=-1,u=n?n.length:0,o=[];for(t=i.createCallback(t,r,3);++e<u;)r=n[e],t(r,e,n)&&(o.push(r),Nr.call(n,e--,1),u--);return o},i.rest=wt,i.shuffle=qt,i.slice=jt,i.sortBy=function(n,t,r){var e=-1,u=t&&Zr(t),o=n?n.length:0,l=ur(typeof o=="number"?o:0);
for(u||(t=i.createCallback(t,r,3)),St(n,function(n,r,o){var i=l[++e]=g();i.j=e,i.k=n,i.i=u?Dt(t,function(t){return n[t]}):t(n,r,o)}),o=l.length,l.sort(u?f:a);o--;)n=l[o],l[o]=n.k,v(n);return l},i.tap=function(n,t,r){return t.call(r,n),n},i.throttle=function(n,t,r){var e=true,u=true;if(!Gt(n))throw new gr;return false===r?e=false:Ht(r)&&(e="leading"in r?r.leading:e,u="trailing"in r?r.trailing:u),rt.leading=e,rt.maxWait=t,rt.trailing=u,Lt(n,t,rt)},i.times=function(n,t,r){n=-1<(n=+n)?n:0;var e=-1,u=ur(n);for(t=E(t,r,1);++e<n;)u[e]=t(e);
return u},i.toArray=function(n){return n&&typeof n.length=="number"?jt(n):Yt(n)},i.transform=function(n,t,r,e){var u=Zr(n);if(null==r)if(u)r=[];else{var o=n&&n.constructor;r=C(o&&o.prototype)}return t&&(t=i.createCallback(t,e,4),(u?St:Mt)(n,function(n,e,u){return t(r,n,e,u)})),r},i.union=function(){return st(it(arguments,true,true))},i.uniq=xt,i.values=Yt,i.where=Rt,i.without=function(n){return ot(n,jt(arguments,1))},i.wrap=function(n,t){return ht(t,16,[n])},i.xor=function(){for(var n=-1,t=arguments.length;++n<t;){var r=arguments[n];
if(Zr(r)||bt(r))var e=e?ot(e,r).concat(ot(r,e)):r}return e?st(e):[]},i.zip=Ct,i.zipObject=Ot,i.collect=Dt,i.drop=wt,i.each=St,i.eachRight=Tt,i.extend=Pt,i.methods=Vt,i.object=Ot,i.select=Rt,i.tail=wt,i.unique=xt,i.unzip=Ct,tr(Pt({},i)),i.capitalize=function(n){return null==n?"":(n=sr(n),n.charAt(0).toUpperCase()+n.slice(1))},i.clone=function(n,t,r,e){var u=typeof t;return"boolean"!=u&&null!=t&&(e=r,r=t,t=false,"number"!=u&&"string"!=u||!e||e[r]!==n||(r=null)),x(n,t,typeof r=="function"&&E(r,e,1))},i.cloneDeep=function(n,t,r){return x(n,true,typeof t=="function"&&E(t,r,1))
},i.contains=Et,i.escape=function(n){return null==n?"":sr(n).replace(D,c)},i.every=Nt,i.find=It,i.findIndex=function(n,t,r){var e=-1,u=n?n.length:0;for(t=i.createCallback(t,r,3);++e<u;)if(t(n[e],e,n))return e;return-1},i.findKey=function(n,t,r){var e;return t=i.createCallback(t,r,3),Mt(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},i.findLast=function(n,t,r){var e;return t=i.createCallback(t,r,3),Tt(n,function(n,r,u){return t(n,r,u)?(e=n,false):void 0}),e},i.findLastIndex=function(n,t,r){var e=n?n.length:0;
for(t=i.createCallback(t,r,3);e--;)if(t(n[e],e,n))return e;return-1},i.findLastKey=function(n,t,r){var e;return t=i.createCallback(t,r,3),Ut(n,function(n,r,u){return t(n,r,u)?(e=r,false):void 0}),e},i.has=function(n,t){return n?Or.call(n,t):false},i.identity=Zt,i.indexOf=_t,i.isArguments=bt,i.isArray=Zr,i.isBoolean=function(n){return true===n||false===n||n&&typeof n=="object"&&dr.call(n)==G||false},i.isDate=function(n){return n&&typeof n=="object"&&dr.call(n)==H||false},i.isElement=Xt,i.isEmpty=function(n){var t=true;
if(!n)return t;var r=dr.call(n),e=n.length;return r==X||r==nt||r==V||r==Y&&typeof e=="number"&&Gt(n.splice)?!e:(Mt(n,function(){return t=false}),t)},i.isEqual=function(n,t,r,e){return at(n,t,typeof r=="function"&&E(r,e,2))},i.isFinite=function(n){return Fr(n)&&!$r(parseFloat(n))},i.isFunction=Gt,i.isNaN=function(n){return Jt(n)&&n!=+n},i.isNull=function(n){return null===n},i.isNumber=Jt,i.isObject=Ht,i.isPlainObject=ne,i.isRegExp=function(n){return n&&typeof n=="object"&&dr.call(n)==Z||false},i.isString=Qt,i.isUndefined=function(n){return typeof n=="undefined"
},i.lastIndexOf=function(n,t,r){var e=n?n.length:0;for(typeof r=="number"&&(e=(0>r?qr(0,e+r):Wr(r,e-1))+1);e--;)if(n[e]===t)return e;return-1},i.mixin=tr,i.noConflict=function(){return n._=br,this},i.noop=rr,i.now=oe,i.parseInt=ie,i.random=function(n,t,r){var e=null==n,u=null==t;return null==r&&(u&&typeof n=="boolean"?(r=n,n=1):typeof t=="boolean"&&(r=t,u=true)),e&&u&&(t=1,u=false),n=+n||0,u?(t=n,n=0):t=+t||0,r||n%1||t%1?(r=Lr(),Wr(n+r*(t-n+parseFloat("1e-"+((r+"").length-1))),t)):ct(n,t)},i.reduce=$t,i.reduceRight=Bt,i.result=function(n,t){if(n){var r=n[t];
return Gt(r)?n[t]():r}},i.runInContext=j,i.size=function(n){var t=n?n.length:0;return typeof t=="number"?t:te(n).length},i.some=Wt,i.sortedIndex=kt,i.template=function(n,t,r){var e=i.templateSettings;n=sr(n||""),r=Kt({},r,e);var u,o=Kt({},r.imports,e.imports),e=te(o),o=Yt(o),a=0,f=r.interpolate||P,l="__p+='",f=pr((r.escape||P).source+"|"+f.source+"|"+(f===B?q:P).source+"|"+(r.evaluate||P).source+"|$","g");n.replace(f,function(t,r,e,o,i,f){return e||(e=o),l+=n.slice(a,f).replace(M,p),r&&(l+="'+__e("+r+")+'"),i&&(u=true,l+="';"+i+";\n__p+='"),e&&(l+="'+((__t=("+e+"))==null?'':__t)+'"),a=f+t.length,t
}),l+="';",f=r=r.variable,f||(r="obj",l="with("+r+"){"+l+"}"),l=(u?l.replace(R,""):l).replace(I,"$1").replace(S,"$1;"),l="function("+r+"){"+(f?"":r+"||("+r+"={});")+"var __t,__p='',__e=_.escape"+(u?",__j=Array.prototype.join;function print(){__p+=__j.call(arguments,'')}":";")+l+"return __p}";try{var c=ar(e,"return "+l).apply(k,o)}catch(s){throw s.source=l,s}return t?c(t):(c.source=l,c)},i.trim=re,i.trimLeft=ee,i.trimRight=ue,i.unescape=function(n){return null==n?"":(n=sr(n),0>n.indexOf(";")?n:n.replace(T,w))
},i.uniqueId=function(n){var t=++O;return sr(null==n?"":n)+t},i.all=Nt,i.any=Wt,i.detect=It,i.findWhere=It,i.foldl=$t,i.foldr=Bt,i.include=Et,i.inject=$t,tr(function(){var n={};return Mt(i,function(t,r){i.prototype[r]||(n[r]=t)}),n}(),false),i.first=dt,i.last=function(n,t,r){var e=0,u=n?n.length:0;if(typeof t!="number"&&null!=t){var o=u;for(t=i.createCallback(t,r,3);o--&&t(n[o],o,n);)e++}else if(e=t,null==e||r)return n?n[u-1]:k;return e=u-e,jt(n,0<e?e:0)},i.sample=function(n,t,r){return n&&typeof n.length!="number"&&(n=Yt(n)),null==t||r?n?n[ct(0,n.length-1)]:k:(n=qt(n),n.length=Wr(qr(0,t),n.length),n)
},i.take=dt,i.head=dt,Mt(i,function(n,t){var r="sample"!==t;i.prototype[t]||(i.prototype[t]=function(t,e){var u=this.__chain__,o=n(this.__wrapped__,t,e);return u||null!=t&&(!e||r&&typeof t=="function")?new d(o,u):o})}),i.VERSION="2.4.1",i.prototype.chain=function(){return this.__chain__=true,this},i.prototype.toString=function(){return sr(this.__wrapped__)},i.prototype.value=At,i.prototype.valueOf=At,St(["join","pop","shift"],function(n){var t=hr[n];i.prototype[n]=function(){var n=this.__chain__,r=t.apply(this.__wrapped__,arguments);
return n?new d(r,n):r}}),St(["push","reverse","sort","unshift"],function(n){var t=hr[n];i.prototype[n]=function(){return t.apply(this.__wrapped__,arguments),this}}),St(["concat","splice"],function(n){var t=hr[n];i.prototype[n]=function(){return new d(t.apply(this.__wrapped__,arguments),this.__chain__)}}),i}var k,x=[],C=[],O=0,A=75,E=40,N=" \t\x0B\f\xa0\ufeff\n\r\u2028\u2029\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000",R=/\b__p\+='';/g,I=/\b(__p\+=)''\+/g,S=/(__e\(.*?\)|\b__t\))\+'';/g,T=/&(?:amp|lt|gt|quot|#39);/g,D=/[&<>"']/g,F=/<%-([\s\S]+?)%>/g,$=/<%([\s\S]+?)%>/g,B=/<%=([\s\S]+?)%>/g,q=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,W=/\w*$/,z=/^\s*function[ \n\r\t]+\w/,L=/^0[xX]/,P=/($^)/,K=/\bthis\b/,M=/['\n\r\t\u2028\u2029\\]/g,U="Array Boolean Date Function Math Number Object RegExp String _ clearTimeout document isFinite isNaN parseInt setTimeout TypeError window WinRTError".split(" "),V="[object Arguments]",X="[object Array]",G="[object Boolean]",H="[object Date]",J="[object Function]",Q="[object Number]",Y="[object Object]",Z="[object RegExp]",nt="[object String]",tt={};
tt[J]=false,tt[V]=tt[X]=tt[G]=tt[H]=tt[Q]=tt[Y]=tt[Z]=tt[nt]=true;var rt={leading:false,maxWait:0,trailing:false},et={configurable:false,enumerable:false,value:null,writable:false},ut={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},ot={"&amp;":"&","&lt;":"<","&gt;":">","&quot;":'"',"&#39;":"'"},it={"function":true,object:true},at={"\\":"\\","'":"'","\n":"n","\r":"r","\t":"t","\u2028":"u2028","\u2029":"u2029"},ft=it[typeof window]&&window||this,lt=it[typeof exports]&&exports&&!exports.nodeType&&exports,ct=it[typeof global]&&global;
!ct||ct.global!==ct&&ct.window!==ct||(ft=ct);var ct=(it=it[typeof module]&&module&&!module.nodeType&&module)&&it.exports===lt&&lt,pt=j();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(ft._=pt, define(function(){return pt})):lt&&it?ct?(it.exports=pt)._=pt:lt._=pt:ft._=pt}).call(this);

View File

@@ -69,24 +69,10 @@
'&#x27;': "'"
};
/** Used to determine if values are an indexes or keys */
var indexTypes = {
'boolean': false,
'function': false,
'object': false,
'number': true,
'string': true,
'undefined': false
};
/** Used to determine if values are of the language type Object */
var objectTypes = {
'boolean': false,
'function': true,
'object': true,
'number': false,
'string': false,
'undefined': false
'object': true
};
/** Used to escape characters for inclusion in compiled string literals */
@@ -644,8 +630,8 @@
otherType = typeof b;
if (a === a &&
!(a && objectTypes[type]) &&
!(b && objectTypes[otherType])) {
!(a && (type == 'function' || type == 'object')) &&
!(b && (otherType == 'function' || otherType == 'object'))) {
return false;
}
if (a == null || b == null) {
@@ -938,7 +924,7 @@
*/
var shimKeys = function(object) {
var result = [];
if (!(object && objectTypes[typeof object])) {
if (!isObject(object)) {
return result;
}
for (var key in object) {
@@ -1682,11 +1668,19 @@
* // => [{ 'x': 1 }, { 'x': 2 }]
*/
function uniq(array, isSorted, callback, thisArg) {
var type = typeof isSorted;
// juggle arguments
if (typeof isSorted != 'boolean' && isSorted != null) {
if (type != 'boolean' && isSorted != null) {
thisArg = callback;
callback = (indexTypes[typeof isSorted] && thisArg && thisArg[isSorted] === array) ? null : isSorted;
callback = isSorted;
isSorted = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === array) {
callback = null;
}
}
if (callback != null) {
callback = createCallback(callback, thisArg, 3);
@@ -2486,11 +2480,12 @@
*/
function max(collection, callback, thisArg) {
var computed = -Infinity,
result = computed;
result = computed,
type = typeof callback;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if (indexTypes[typeof callback] && thisArg && thisArg[callback] === collection) {
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === collection) {
callback = null;
}
var index = -1,
@@ -2559,11 +2554,12 @@
*/
function min(collection, callback, thisArg) {
var computed = Infinity,
result = computed;
result = computed,
type = typeof callback;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if (indexTypes[typeof callback] && thisArg && thisArg[callback] === collection) {
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === collection) {
callback = null;
}
var index = -1,
@@ -3579,8 +3575,12 @@
}
var args = arguments,
argsIndex = 0,
argsLength = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
argsLength = args.length,
type = typeof guard;
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
argsLength = 2;
}
while (++argsIndex < argsLength) {
source = args[argsIndex];
if (source) {
@@ -3648,8 +3648,8 @@
* @category Objects
* @param {Object} object The destination object.
* @param {...Object} [source] The source objects.
* @param- {Object} [guard] Allows working with `_.reduce` without using its
* `key` and `object` arguments as sources.
* @param- {Object} [guard] Allows working with functions like `_.reduce`
* without using their `key` and `object` arguments as sources.
* @returns {Object} Returns the destination object.
* @example
*
@@ -3663,8 +3663,12 @@
}
var args = arguments,
argsIndex = 0,
argsLength = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
argsLength = args.length,
type = typeof guard;
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
argsLength = 2;
}
while (++argsIndex < argsLength) {
source = args[argsIndex];
if (source) {
@@ -3711,7 +3715,7 @@
*/
var forIn = function(object, callback) {
var result = object;
if (!(object && objectTypes[typeof object])) {
if (!isObject(object)) {
return result;
}
for (var key in object) {
@@ -4071,7 +4075,8 @@
// http://es5.github.io/#x8
// and avoid a V8 bug
// http://code.google.com/p/v8/issues/detail?id=2291
return !!(value && objectTypes[typeof value]);
var type = typeof value;
return value && (type == 'function' || type == 'object') || false;
}
/**
@@ -4143,8 +4148,9 @@
* // => true
*/
function isNumber(value) {
return typeof value == 'number' ||
value && typeof value == 'object' && toString.call(value) == numberClass || false;
var type = typeof value;
return type == 'number' ||
value && type == 'object' && toString.call(value) == numberClass || false;
}
/**
@@ -4161,7 +4167,9 @@
* // => true
*/
function isRegExp(value) {
return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
var type = typeof value;
return value && (type == 'function' || type == 'object') &&
toString.call(value) == regexpClass || false;
}
/**

View File

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

122
lodash.js
View File

@@ -150,24 +150,10 @@
'&#39;': "'"
};
/** Used to determine if values are an indexes or keys */
var indexTypes = {
'boolean': false,
'function': false,
'object': false,
'number': true,
'string': true,
'undefined': false
};
/** Used to determine if values are of the language type Object */
var objectTypes = {
'boolean': false,
'function': true,
'object': true,
'number': false,
'string': false,
'undefined': false
'object': true
};
/** Used to escape characters for inclusion in compiled string literals */
@@ -1080,7 +1066,7 @@
'var result = <%= init %>;\n' +
// exit early if the first argument is not an object
'if (!(object && objectTypes[typeof object])) {\n' +
"if (!isObject(object)) {\n" +
' return result;\n' +
'}\n' +
@@ -1559,8 +1545,8 @@
// exit early for unlike primitive values
if (a === a &&
!(a && objectTypes[type]) &&
!(b && objectTypes[otherType])) {
!(a && (type == 'function' || type == 'object')) &&
!(b && (otherType == 'function' || otherType == 'object'))) {
return false;
}
// exit early for `null` and `undefined` avoiding ES3's Function#call behavior
@@ -1960,14 +1946,14 @@
// create the function factory
var factory = Function(
'baseCreateCallback, errorClass, errorProto, hasOwnProperty, isArguments, ' +
'objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString',
'isObject, objectProto, nonEnumProps, stringClass, stringProto, toString',
'return function(' + options.args + ') {\n' + iteratorTemplate(options) + '\n}'
);
// return the compiled function
return factory(
baseCreateCallback, errorClass, errorProto, hasOwnProperty, isArguments,
objectProto, objectTypes, nonEnumProps, stringClass, stringProto, toString
isObject, objectProto, nonEnumProps, stringClass, stringProto, toString
);
}
@@ -2366,11 +2352,19 @@
* // => ['hoppy', 'baby puss', 'dino']
*/
function flatten(array, isShallow, callback, thisArg) {
var type = typeof isShallow;
// juggle arguments
if (typeof isShallow != 'boolean' && isShallow != null) {
if (type != 'boolean' && isShallow != null) {
thisArg = callback;
callback = (indexTypes[typeof isShallow] && thisArg && thisArg[isShallow] === array) ? null : isShallow;
callback = isShallow;
isShallow = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === array) {
callback = null;
}
}
if (callback != null) {
array = map(array, callback, thisArg);
@@ -3045,11 +3039,19 @@
* // => [{ 'x': 1 }, { 'x': 2 }]
*/
function uniq(array, isSorted, callback, thisArg) {
var type = typeof isSorted;
// juggle arguments
if (typeof isSorted != 'boolean' && isSorted != null) {
if (type != 'boolean' && isSorted != null) {
thisArg = callback;
callback = (indexTypes[typeof isSorted] && thisArg && thisArg[isSorted] === array) ? null : isSorted;
callback = isSorted;
isSorted = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === array) {
callback = null;
}
}
if (callback != null) {
callback = lodash.createCallback(callback, thisArg, 3);
@@ -3326,12 +3328,18 @@
var args = arguments,
index = -1,
props = baseFlatten(args, true, false, 1),
length = (indexTypes[typeof guard] && args[2] && args[2][guard] === collection) ? 1 : props.length,
result = Array(length);
length = props.length,
type = typeof guard;
// allows working with functions like `_.map` without using
// their `index` arguments
if ((type == 'number' || type == 'string') && args[2] && args[2][guard] === collection) {
length = 1;
}
if (support.unindexedChars && isString(collection)) {
collection = collection.split('');
}
var result = Array(length);
while(++index < length) {
result[index] = collection[props[index]];
}
@@ -3963,11 +3971,12 @@
*/
function max(collection, callback, thisArg) {
var computed = -Infinity,
result = computed;
result = computed,
type = typeof callback;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if (indexTypes[typeof callback] && thisArg && thisArg[callback] === collection) {
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === collection) {
callback = null;
}
if (callback == null && isArray(collection)) {
@@ -4038,11 +4047,12 @@
*/
function min(collection, callback, thisArg) {
var computed = Infinity,
result = computed;
result = computed,
type = typeof callback;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if (indexTypes[typeof callback] && thisArg && thisArg[callback] === collection) {
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === collection) {
callback = null;
}
if (callback == null && isArray(collection)) {
@@ -5176,8 +5186,14 @@
function assign(object, source, guard) {
var args = arguments,
argsIndex = 0,
argsLength = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
argsLength = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
argsLength = 2;
}
// juggle arguments
if (argsLength > 3 && typeof args[argsLength - 2] == 'function') {
var callback = baseCreateCallback(args[--argsLength - 1], args[argsLength--], 2);
@@ -5241,11 +5257,19 @@
* // => 0
*/
function clone(value, isDeep, callback, thisArg) {
var type = typeof isDeep;
// juggle arguments
if (typeof isDeep != 'boolean' && isDeep != null) {
if (type != 'boolean' && isDeep != null) {
thisArg = callback;
callback = (indexTypes[typeof isDeep] && thisArg && thisArg[isDeep] === value) ? null : isDeep;
callback = isDeep;
isDeep = false;
// allows working with functions like `_.map` without using
// their `index` argument as a callback
if ((type == 'number' || type == 'string') && thisArg && thisArg[callback] === value) {
callback = null;
}
}
return baseClone(value, isDeep, typeof callback == 'function' && baseCreateCallback(callback, thisArg, 1));
}
@@ -5342,8 +5366,8 @@
* @category Objects
* @param {Object} object The destination object.
* @param {...Object} [source] The source objects.
* @param- {Object} [guard] Allows working with `_.reduce` without using its
* `key` and `object` arguments as sources.
* @param- {Object} [guard] Allows working with functions like `_.reduce`
* without using their `key` and `object` arguments as sources.
* @returns {Object} Returns the destination object.
* @example
*
@@ -5354,8 +5378,14 @@
function defaults(object, source, guard) {
var args = arguments,
argsIndex = 0,
argsLength = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
argsLength = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
argsLength = 2;
}
while (++argsIndex < argsLength) {
source = args[argsIndex];
if (isObject(source)) {
@@ -5969,7 +5999,8 @@
// http://es5.github.io/#x8
// and avoid a V8 bug
// http://code.google.com/p/v8/issues/detail?id=2291
return !!(value && objectTypes[typeof value]);
var type = typeof value;
return value && (type == 'function' || type == 'object') || false;
}
/**
@@ -6041,8 +6072,9 @@
* // => true
*/
function isNumber(value) {
return typeof value == 'number' ||
value && typeof value == 'object' && toString.call(value) == numberClass || false;
var type = typeof value;
return type == 'number' ||
value && type == 'object' && toString.call(value) == numberClass || false;
}
/**
@@ -6095,7 +6127,9 @@
* // => true
*/
function isRegExp(value) {
return value && objectTypes[typeof value] && toString.call(value) == regexpClass || false;
var type = typeof value;
return value && (type == 'function' || type == 'object') &&
toString.call(value) == regexpClass || false;
}
/**
@@ -6259,8 +6293,14 @@
return object;
}
var args = arguments,
length = indexTypes[typeof guard] && args[3] && args[3][guard] === source ? 2 : args.length;
length = args.length,
type = typeof guard;
// allows working with functions like `_.reduce` without using their
// `key` and `object` arguments as sources
if ((type == 'number' || type == 'string') && args[3] && args[3][guard] === source) {
length = 2;
}
// juggle arguments
if (length > 3 && typeof args[length - 2] == 'function') {
var callback = baseCreateCallback(args[--length - 1], args[length--], 2);