Improve jsdoc syntax. [closes #334]

Former-commit-id: a6ab2e8ac7c5b8abd0e63ee025552d6452a3e0a2
This commit is contained in:
John-David Dalton
2013-08-25 13:01:41 -07:00
parent 4d7a1199ea
commit 83b5806cec
16 changed files with 2157 additions and 2184 deletions

342
build.js
View File

@@ -657,9 +657,9 @@
* Adds build `commands` to the copyright/license header of the `source`.
*
* @private
* @param {String} source The source to process.
* @param {Array} [commands=[]] An array of commands.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {array} [commands=[]] An array of commands.
* @returns {string} Returns the modified source.
*/
function addCommandsToHeader(source, commands) {
return source.replace(/(\/\**\n)( \*)( *@license[\s*]+)( *Lo-Dash [\w.-]+)(.*)/, function() {
@@ -698,9 +698,9 @@
* Adds support for Underscore style chaining to the `source`.
*
* @private
* @param {String} source The source to process.
* @param {Boolean} [isModularize=false] A flag to specify a modularize build
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {boolean} [isModularize=false] A flag to specify a modularize build
* @returns {string} Returns the modified source.
*/
function addUnderscoreChaining(source, isModularize) {
// remove `lodash.prototype.toString` and `lodash.prototype.valueOf` assignments
@@ -821,7 +821,7 @@
* Creates modules based on the provided build state.
*
* @private
* @param {Object} state The build state object.
* @param {object} state The build state object.
*/
function buildModule(state) {
var buildFuncs = state.buildFuncs,
@@ -1084,8 +1084,8 @@
* each template file's basename.
*
* @private
* @param {Object} state The build state object.
* @returns {String} Returns the compiled source.
* @param {object} state The build state object.
* @returns {string} Returns the compiled source.
*/
function buildTemplate(state) {
var pattern = state.templatePattern,
@@ -1164,8 +1164,8 @@
* Capitalizes a given string.
*
* @private
* @param {String} string The string to capitalize.
* @returns {String} Returns the capitalized string.
* @param {string} string The string to capitalize.
* @returns {string} Returns the capitalized string.
*/
function capitalize(string) {
return string[0].toUpperCase() + string.slice(1);
@@ -1175,8 +1175,8 @@
* Removes unnecessary semicolons and whitespace from compiled code.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function cleanupCompiled(source) {
return source
@@ -1188,8 +1188,8 @@
* Removes unnecessary comments, and whitespace.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function cleanupSource(source) {
return source
@@ -1217,7 +1217,7 @@
* The default callback used for `build` invocations.
*
* @private
* @param {Object} data The data for the given build.
* @param {object} data The data for the given build.
* gzip - The gzipped output of the built source
* outputPath - The path where the built source is to be written
* source - The built source output
@@ -1291,9 +1291,9 @@
* Gets the aliases associated with a given function name.
*
* @private
* @param {String} funcName The name of the function to get aliases for.
* @param {Object} [depMap] The dependency map used to validate aliases.
* @returns {Array} Returns an array of aliases.
* @param {string} funcName The name of the function to get aliases for.
* @param {object} [depMap] The dependency map used to validate aliases.
* @returns {array} Returns an array of aliases.
*/
function getAliases(funcName, depMap) {
var aliases = hasOwnProperty.call(realToAliasMap, funcName) && realToAliasMap[funcName];
@@ -1307,9 +1307,9 @@
* Gets the category of the given `identifier`.
*
* @private
* @param {String} identifier The identifier to query.
* @param {Object} [depMap] The dependency map used to resolve the identifier.
* @returns {String} Returns the identifier's category.
* @param {string} identifier The identifier to query.
* @param {object} [depMap] The dependency map used to resolve the identifier.
* @returns {string} Returns the identifier's category.
*/
function getCategory(identifier, depMap) {
identifier = getRealName(identifier, depMap);
@@ -1322,8 +1322,8 @@
* Gets the `createObject` fork from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the fork.
* @param {string} source The source to inspect.
* @returns {string} Returns the fork.
*/
function getCreateObjectFork(source) {
var result = source.match(/(?:\s*\/\/.*)*\n( *)if *\((?:!nativeCreate)[\s\S]+?\n *};\n\1}/);
@@ -1334,8 +1334,8 @@
* Gets the `_.defer` fork from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the fork.
* @param {string} source The source to inspect.
* @returns {string} Returns the fork.
*/
function getDeferFork(source) {
var result = source.match(/(?:\s*\/\/.*)*\n( *)if *\(isV8 *&& *freeModule[\s\S]+?\n\1}/);
@@ -1346,10 +1346,10 @@
* Gets an array of depenants for the given function name(s).
*
* @private
* @param {String} funcName A function name or array of function names.
* @param {Object} [depMap] The dependency map used to look up dependants.
* @param- {Array} [stackA=[]] Internally used track queried function names.
* @returns {Array} Returns an array of function dependants.
* @param {string} funcName A function name or array of function names.
* @param {object} [depMap] The dependency map used to look up dependants.
* @param- {array} [stackA=[]] Internally used track queried function names.
* @returns {array} Returns an array of function dependants.
*/
function getDependants(funcName, depMap, stack) {
var funcNames = _.isArray(funcName) ? funcName : [funcName];
@@ -1374,11 +1374,11 @@
* dependencies plus any additional detected sub-dependencies.
*
* @private
* @param {Array|String} funcName A function name or array of dependencies to query.
* @param {Object} [depMap] The dependency map used to look up dependants.
* @param {Boolean} [isShallow=false] A flag to indicate getting only the immediate dependencies.
* @param- {Array} [stackA=[]] Internally used track queried function names.
* @returns {Array} Returns an array of function dependencies.
* @param {(string|string[])} funcName A function name or array of dependencies to query.
* @param {object} [depMap] The dependency map used to look up dependants.
* @param {boolean} [isShallow=false] A flag to indicate getting only the immediate dependencies.
* @param- {array} [stackA=[]] Internally used track queried function names.
* @returns {array} Returns an array of function dependencies.
*/
function getDependencies(funcName, depMap, isShallow, stack) {
// juggle arguments
@@ -1419,9 +1419,9 @@
* Gets the formatted source of the given function.
*
* @private
* @param {Function} func The function to process.
* @param {Number|String} [indent=0] The level to indent.
* @returns {String} Returns the formatted source.
* @param {function} func The function to process.
* @param {(number|string)} [indent=0] The level to indent.
* @returns {string} Returns the formatted source.
*/
function getFunctionSource(func, indent) {
var source = func.source || (func + '');
@@ -1444,8 +1444,8 @@
* Gets the indent of the given function.
*
* @private
* @param {Function} func The function to process.
* @returns {String} Returns the indent.
* @param {function} func The function to process.
* @returns {string} Returns the indent.
*/
function getIndent(func) {
return /^ *(?=\S)/m.exec(func.source || func)[0];
@@ -1455,8 +1455,8 @@
* Gets the `_.isArguments` fork from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the fork.
* @param {string} source The source to inspect.
* @returns {string} Returns the fork.
*/
function getIsArgumentsFork(source) {
var result = source.match(/(?:\s*\/\/.*)*\n( *)if *\((?:!support\.argsClass|!isArguments)[\s\S]+?\n *};\n\1}/);
@@ -1467,8 +1467,8 @@
* Gets the `_.isArray` fork from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the fork.
* @param {string} source The source to inspect.
* @returns {string} Returns the fork.
*/
function getIsArrayFork(source) {
return matchFunction(source, 'isArray')
@@ -1480,8 +1480,8 @@
* Gets the `_.isFunction` fork from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the fork.
* @param {string} source The source to inspect.
* @returns {string} Returns the fork.
*/
function getIsFunctionFork(source) {
var result = source.match(/(?:\s*\/\/.*)*\n( *)if *\(isFunction\(\/x\/[\s\S]+?\n *};\n\1}/);
@@ -1492,8 +1492,8 @@
* Gets the Lo-Dash method assignments snippet from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the method assignments snippet.
* @param {string} source The source to inspect.
* @returns {string} Returns the method assignments snippet.
*/
function getMethodAssignments(source) {
var result = source.match(/\n\n(?:\s*\/\/.*)*\s*lodash\.\w+\s*=[\s\S]+lodash\.\w+\s=.+/);
@@ -1504,8 +1504,8 @@
* Gets the names of identifiers in `source` that belong to the given `category`.
*
* @private
* @param {String} category The category to filter by.
* @returns {Array} Returns a new array of names.
* @param {string} category The category to filter by.
* @returns {array} Returns a new array of names.
*/
function getNamesByCategory(category) {
return categoryMap[category] || [];
@@ -1515,9 +1515,9 @@
* Gets the real name, not alias, of a given function name.
*
* @private
* @param {String} funcName The name of the function to resolve.
* @param {Object} [depMap] The dependency map used to validate the real name.
* @returns {String} Returns the real function name.
* @param {string} funcName The name of the function to resolve.
* @param {object} [depMap] The dependency map used to validate the real name.
* @returns {string} Returns the real function name.
*/
function getRealName(funcName, depMap) {
return (
@@ -1531,8 +1531,8 @@
* Gets the `setBindData` fork from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the fork.
* @param {string} source The source to inspect.
* @returns {string} Returns the fork.
*/
function getSetBindDataFork(source) {
var result = matchFunction(source, 'setBindData').match(/!defineProperty[^:]+:\s*/);
@@ -1543,9 +1543,9 @@
* Creates a sorted array of all variables defined outside of Lo-Dash functions.
*
* @private
* @param {String} source The source to process.
* @param {Boolean} [isShallow=false] A flag to indicate looking for varaibles one closure deep.
* @returns {Array} Returns a new array of variable names.
* @param {string} source The source to process.
* @param {boolean} [isShallow=false] A flag to indicate looking for varaibles one closure deep.
* @returns {array} Returns a new array of variable names.
*/
function getVars(source, isShallow) {
var indentA = isShallow ? ' {2}' : ' {2,4}',
@@ -1577,10 +1577,10 @@
* Determines if a variable, of the given `varName`, is used in `source`.
*
* @private
* @param {String} source The source to process.
* @param {String} varName The name of the variable.
* @param {Boolean} [isShallow=false] A flag to indicate looking for varaibles one closure deep.
* @returns {Boolean} Returns `true` if the variable is used, else `false`.
* @param {string} source The source to process.
* @param {string} varName The name of the variable.
* @param {boolean} [isShallow=false] A flag to indicate looking for varaibles one closure deep.
* @returns {boolean} Returns `true` if the variable is used, else `false`.
*/
function isVarUsed(source, varName, isShallow) {
var match = matchVar(source, varName, isShallow);
@@ -1597,10 +1597,10 @@
* assignment and returns the matched snippet.
*
* @private
* @param {String} source The source to inspect.
* @param {String} funcName The name of the function to match.
* @param {Boolean} [leadingComments] A flag to indicate including leading comments.
* @returns {String} Returns the matched function snippet.
* @param {string} source The source to inspect.
* @param {string} funcName The name of the function to match.
* @param {boolean} [leadingComments] A flag to indicate including leading comments.
* @returns {string} Returns the matched function snippet.
*/
function matchFunction(source, funcName, leadingComments) {
var result = _.reduce([
@@ -1631,10 +1631,10 @@
* returns the matched snippet.
*
* @private
* @param {String} source The source to inspect.
* @param {String} propName The name of the property to match.
* @param {Boolean} [leadingComments] A flag to indicate including leading comments.
* @returns {String} Returns the matched property snippet.
* @param {string} source The source to inspect.
* @param {string} propName The name of the property to match.
* @param {boolean} [leadingComments] A flag to indicate including leading comments.
* @returns {string} Returns the matched property snippet.
*/
function matchProp(source, propName, leadingComments) {
var result = source.match(RegExp(
@@ -1652,10 +1652,10 @@
* the matched snippet.
*
* @private
* @param {String} source The source to inspect.
* @param {String} varName The name of the variable to match.
* @param {Boolean} [isShallow=false] A flag to indicate looking for varaibles one closure deep.
* @returns {String} Returns the matched variable snippet.
* @param {string} source The source to inspect.
* @param {string} varName The name of the variable to match.
* @param {boolean} [isShallow=false] A flag to indicate looking for varaibles one closure deep.
* @returns {string} Returns the matched variable snippet.
*/
function matchVar(source, varName, isShallow) {
var indentA = isShallow ? ' {2}' : ' {2,4}',
@@ -1689,8 +1689,8 @@
* Converts a comma separated options string into an array.
*
* @private
* @param {String} value The option to convert.
* @returns {Array} Returns the new converted array.
* @param {string} value The option to convert.
* @returns {array} Returns the new converted array.
*/
function optionToArray(value) {
return _.compact(_.isArray(value)
@@ -1703,9 +1703,9 @@
* Converts a comma separated options string into an array of function names.
*
* @private
* @param {String} value The option to convert.
* @param {Object} [depMap] The dependency map used to resolve real names.
* @returns {Array} Returns the new converted array.
* @param {string} value The option to convert.
* @param {object} [depMap] The dependency map used to resolve real names.
* @returns {array} Returns the new converted array.
*/
function optionToMethodsArray(value, depMap) {
depMap || (depMap = funcDependencyMap);
@@ -1719,8 +1719,8 @@
* Removes support for Lo-Dash wrapper chaining in `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeChaining(source) {
source = removeSpliceObjectsFix(source);
@@ -1753,8 +1753,8 @@
* Removes all comments from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeComments(source) {
return source.replace(/^ *(?:\/\*[^*]*\*+(?:[^\/][^*]*\*+)*\/|\/\/.+)\n/gm, '');
@@ -1764,8 +1764,8 @@
* Removes the `createObject` fork from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeCreateObjectFork(source) {
return source.replace(getCreateObjectFork(source), '');
@@ -1775,8 +1775,8 @@
* Removes the `_.defer` fork from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeDeferFork(source) {
return source.replace(getDeferFork(source), '');
@@ -1786,8 +1786,8 @@
* Removes ES5 specific optimizations from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeEsOptimization(source) {
// remove `__bindData__` logic and `setBindData` function calls from `createBound`
@@ -1811,9 +1811,9 @@
* Removes all references to `identifier` from `createIterator` in `source`.
*
* @private
* @param {String} source The source to process.
* @param {String} identifier The name of the variable or property to remove.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} identifier The name of the variable or property to remove.
* @returns {string} Returns the modified source.
*/
function removeFromCreateIterator(source, identifier) {
var snippet = matchFunction(source, 'createIterator');
@@ -1847,9 +1847,9 @@
* Removes all references to `identifier` from `getObject` in `source`.
*
* @private
* @param {String} source The source to process.
* @param {String} identifier The name of the property to remove.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} identifier The name of the property to remove.
* @returns {string} Returns the modified source.
*/
function removeFromGetObject(source, identifier) {
return source.replace(matchFunction(source, 'getObject'), function(match) {
@@ -1864,9 +1864,9 @@
* Removes all references to `identifier` from `releaseObject` in `source`.
*
* @private
* @param {String} source The source to process.
* @param {String} identifier The name of the property to remove.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} identifier The name of the property to remove.
* @returns {string} Returns the modified source.
*/
function removeFromReleaseObject(source, identifier) {
return source.replace(matchFunction(source, 'releaseObject'), function(match) {
@@ -1882,9 +1882,9 @@
* associated code from `source`.
*
* @private
* @param {String} source The source to process.
* @param {String} funcName The name of the function to remove.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} funcName The name of the function to remove.
* @returns {string} Returns the modified source.
*/
function removeFunction(source, funcName) {
var snippet;
@@ -1904,8 +1904,8 @@
* Removes all references to `getIndexOf` from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeGetIndexOf(source) {
source = removeFunction(source, 'getIndexOf');
@@ -1931,8 +1931,8 @@
* Removes the `_.isArguments` fork from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeIsArgumentsFork(source) {
return source.replace(getIsArgumentsFork(source), '');
@@ -1942,8 +1942,8 @@
* Removes the `_.isArray` fork from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeIsArrayFork(source) {
return source.replace(getIsArrayFork(source), '');
@@ -1953,8 +1953,8 @@
* Removes the `_.isFunction` fork from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeIsFunctionFork(source) {
return source.replace(getIsFunctionFork(source), '');
@@ -1964,8 +1964,8 @@
* Removes the `Object.keys` object iteration optimization from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeKeysOptimization(source) {
source = removeFromCreateIterator(source, 'keys');
@@ -1992,8 +1992,8 @@
* Removes all Lo-Dash assignments from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the modified source.
* @param {string} source The source to inspect.
* @returns {string} Returns the modified source.
*/
function removeAssignments(source) {
source = removeMethodAssignments(source);
@@ -2007,8 +2007,8 @@
* Removes the Lo-Dash method assignments snippet from `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the modified source.
* @param {string} source The source to inspect.
* @returns {string} Returns the modified source.
*/
function removeMethodAssignments(source) {
return source.replace(getMethodAssignments(source), '');
@@ -2018,9 +2018,9 @@
* Removes a Lo-Dash property, of the given `propName`, from `source`.
*
* @private
* @param {String} source The source to process.
* @param {String} propName The name of the property to remove.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} propName The name of the property to remove.
* @returns {string} Returns the modified source.
*/
function removeProp(source, propName) {
return source.replace(matchProp(source, propName, true), '');
@@ -2030,8 +2030,8 @@
* Removes all pseudo private Lo-Dash properties from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removePseudoPrivates(source) {
return source.replace(/^(?: *\/\/.*\s*)* *lodash\._\w+ *=[\s\S]+?;\n/gm, '');
@@ -2041,8 +2041,8 @@
* Removes all `runInContext` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeRunInContext(source) {
// replace reference in `reThis` assignment
@@ -2077,8 +2077,8 @@
* Removes the `setBindData` fork from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSetBindDataFork(source) {
return source = source.replace(matchFunction(source, 'isArray'), function(match) {
@@ -2091,8 +2091,8 @@
* snippet of `source`.
*
* @private
* @param {String} source The source to inspect.
* @returns {String} Returns the modified source.
* @param {string} source The source to inspect.
* @returns {string} Returns the modified source.
*/
function removeSpliceObjectsFix(source) {
return source.replace(/(?:\s*\/\/.*)*\n( *)if *\(!support\.spliceObjects[\s\S]+?(?:\{\s*}|\n\1})/, '');
@@ -2102,8 +2102,8 @@
* Removes all strings from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeStrings(source) {
return source.replace(/(["'])(?:(?!\1)[^\n\\]|\\.)*\1/g, '');
@@ -2113,8 +2113,8 @@
* Removes all `support.argsClass` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportArgsClass(source) {
source = removeSupportProp(source, 'argsClass');
@@ -2143,8 +2143,8 @@
* Removes all `support.argsObject` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportArgsObject(source) {
source = removeSupportProp(source, 'argsObject');
@@ -2161,8 +2161,8 @@
* Removes all `support.enumErrorProps` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportEnumErrorProps(source) {
source = removeSupportProp(source, 'enumErrorProps');
@@ -2181,8 +2181,8 @@
* Removes all `support.enumPrototypes` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportEnumPrototypes(source) {
source = removeSupportProp(source, 'enumPrototypes');
@@ -2208,8 +2208,8 @@
* Removes all `support.nodeClass` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportNodeClass(source) {
source = removeSupportProp(source, 'nodeClass');
@@ -2233,8 +2233,8 @@
* Removes all `support.nonEnumArgs` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportNonEnumArgs(source) {
source = removeSupportProp(source, 'nonEnumArgs');
@@ -2260,8 +2260,8 @@
* Removes all `support.nonEnumShadows` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportNonEnumShadows(source) {
source = removeFromCreateIterator(source, 'nonEnumProps');
@@ -2280,8 +2280,8 @@
* Removes all `support.ownLast` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportOwnLast(source) {
source = removeSupportProp(source, 'ownLast');
@@ -2298,8 +2298,8 @@
* Removes all `support.spliceObjects` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportSpliceObjects(source) {
source = removeSupportProp(source, 'spliceObjects');
@@ -2311,8 +2311,8 @@
* Removes all `support.unindexedChars` references from `source`.
*
* @private
* @param {String} source The source to process.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @returns {string} Returns the modified source.
*/
function removeSupportUnindexedChars(source) {
source = removeSupportProp(source, 'unindexedChars');
@@ -2341,9 +2341,9 @@
* Removes a given property from the `support` object in `source`.
*
* @private
* @param {String} source The source to process.
* @param {String} varName The name of the `support` property to remove.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} varName The name of the `support` property to remove.
* @returns {string} Returns the modified source.
*/
function removeSupportProp(source, propName) {
return source.replace(matchProp(source, 'support'), function(match) {
@@ -2363,9 +2363,9 @@
* Removes a variable, of the given `varName`, from `source`.
*
* @private
* @param {String} source The source to process.
* @param {String} varName The name of the variable to remove.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} varName The name of the variable to remove.
* @returns {string} Returns the modified source.
*/
function removeVar(source, varName) {
// simplify complex variable assignments
@@ -2413,9 +2413,9 @@
* Replaces the `funcName` function body in `source` with `funcValue`.
*
* @private
* @param {String} source The source to process.
* @param {String} varName The name of the function to replace.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} varName The name of the function to replace.
* @returns {string} Returns the modified source.
*/
function replaceFunction(source, funcName, funcValue) {
var snippet = matchFunction(source, funcName);
@@ -2435,9 +2435,9 @@
* Replaces the `support` object `propName` property value in `source` with `propValue`.
*
* @private
* @param {String} source The source to process.
* @param {String} varName The name of the `support` property to replace.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {string} varName The name of the `support` property to replace.
* @returns {string} Returns the modified source.
*/
function replaceSupportProp(source, propName, propValue) {
return source.replace(RegExp(
@@ -2456,9 +2456,9 @@
* Replaces the `varName` variable declaration value in `source` with `varValue`.
*
* @private
* @param {String} source The source to inspect.
* @param {String} varName The name of the variable to replace.
* @returns {String} Returns the modified source.
* @param {string} source The source to inspect.
* @param {string} varName The name of the variable to replace.
* @returns {string} Returns the modified source.
*/
function replaceVar(source, varName, varValue) {
// replace a variable that's not part of a declaration list
@@ -2488,9 +2488,9 @@
* Hard-codes the `strict` template option value for `iteratorTemplate`.
*
* @private
* @param {String} source The source to process.
* @param {Boolean} value The value to set.
* @returns {String} Returns the modified source.
* @param {string} source The source to process.
* @param {boolean} value The value to set.
* @returns {string} Returns the modified source.
*/
function setUseStrictOption(source, value) {
// inject or remove the "use strict" directive
@@ -2512,8 +2512,8 @@
*
* Note: For a list of commands see `displayHelp()` or run `lodash --help`.
*
* @param {Array|Object} [options=[]] An array of build commands or the state object.
* @param {Function} [callback=defaultBuildCallback] The function called or per build.
* @param {(array|object)} [options=[]] An array of build commands or the state object.
* @param {function} [callback=defaultBuildCallback] The function called or per build.
*/
function build(options, callback) {
options || (options = []);
@@ -3499,9 +3499,9 @@
' * @static',
' * @memberOf _',
' * @category Collections',
' * @param {Array|Object|String} collection The collection to iterate over.',
' * @param {Object} properties The object of property values to filter by.',
' * @returns {Mixed} Returns the found element, else `undefined`.',
' * @param {(array|object|string)} collection The collection to iterate over.',
' * @param {object} properties The object of property values to filter by.',
' * @returns {*} Returns the found element, else `undefined`.',
' * @example',
' *',
' * var food = [',

View File

@@ -72,12 +72,12 @@
* callback when finished. The `onComplete` callback is invoked with one
* argument; (outputSource).
*
* @param {Array|String} [source=''] The source to minify or array of commands.
* @param {(string|string[])} [source=''] The source to minify or array of commands.
* -o, --output - Write output to a given path/filename.
* -s, --silent - Skip status updates normally logged to the console.
* -t, --template - Applies template specific minifier options.
*
* @param {Object} [options={}] The options object.
* @param {object} [options={}] The options object.
* outputPath - Write output to a given path/filename.
* isSilent - Skip status updates normally logged to the console.
* isTemplate - Applies template specific minifier options.
@@ -205,8 +205,8 @@
*
* @private
* @constructor
* @param {String} source The source to minify.
* @param {Object} options The options object.
* @param {string} source The source to minify.
* @param {object} options The options object.
* outputPath - Write output to a given path/filename.
* isSilent - Skip status updates normally logged to the console.
* isTemplate - Applies template specific minifier options.
@@ -260,7 +260,7 @@
* `git hash-object path/to/dependency.tar.gz`.
*
* @private
* @param {Object} options The options object.
* @param {object} options The options object.
* id - The Git object ID of the `.tar.gz` file.
* onComplete - The function called once the extraction has finished.
* path - The path of the extraction directory.
@@ -333,7 +333,7 @@
* See https://code.google.com/p/closure-compiler/wiki/FAQ#What_are_the_recommended_Java_VM_command-line_options?.
*
* @private
* @param {Function} callback The function called once the options have been retrieved.
* @param {function} callback The function called once the options have been retrieved.
*/
function getJavaOptions(callback) {
var result = [];
@@ -352,8 +352,8 @@
* Resolves the source map path from the given output path.
*
* @private
* @param {String} outputPath The output path.
* @returns {String} Returns the source map path.
* @param {string} outputPath The output path.
* @returns {string} Returns the source map path.
*/
function getMapPath(outputPath) {
return path.join(path.dirname(outputPath), path.basename(outputPath, '.js') + '.map');
@@ -366,9 +366,9 @@
* minified result, and any exceptions encountered, to a `callback` function.
*
* @private
* @param {String} source The JavaScript source to minify.
* @param {String} mode The optimization mode.
* @param {Function} callback The function called once the process has completed.
* @param {string} source The JavaScript source to minify.
* @param {string} mode The optimization mode.
* @param {function} callback The function called once the process has completed.
*/
function closureCompile(source, mode, callback) {
var filePath = this.filePath,
@@ -466,9 +466,9 @@
* for symmetry.
*
* @private
* @param {String} source The JavaScript source to minify.
* @param {String} label The label to log.
* @param {Function} callback The function called once the process has completed.
* @param {string} source The JavaScript source to minify.
* @param {string} label The label to log.
* @param {function} callback The function called once the process has completed.
*/
function uglify(source, label, callback) {
if (!this.isSilent) {
@@ -520,9 +520,9 @@
* The Closure Compiler callback for simple optimizations.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {String} result The resulting minified source.
* @param {String} map The source map output.
* @param {object} [exception] The error object.
* @param {string} result The resulting minified source.
* @param {string} map The source map output.
*/
function onClosureSimpleCompile(exception, result, map) {
if (exception) {
@@ -540,7 +540,7 @@
* The Closure Compiler `gzip` callback for simple optimizations.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {object} [exception] The error object.
* @param {Buffer} result The resulting gzipped source.
*/
function onClosureSimpleGzip(exception, result) {
@@ -565,9 +565,9 @@
* The Closure Compiler callback for advanced optimizations.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {String} result The resulting minified source.
* @param {String} map The source map output.
* @param {object} [exception] The error object.
* @param {string} result The resulting minified source.
* @param {string} map The source map output.
*/
function onClosureAdvancedCompile(exception, result, map) {
if (exception) {
@@ -585,7 +585,7 @@
* The Closure Compiler `gzip` callback for advanced optimizations.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {object} [exception] The error object.
* @param {Buffer} result The resulting gzipped source.
*/
function onClosureAdvancedGzip(exception, result) {
@@ -610,8 +610,8 @@
* The UglifyJS callback.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {String} result The resulting minified source.
* @param {object} [exception] The error object.
* @param {string} result The resulting minified source.
*/
function onUglify(exception, result) {
if (exception) {
@@ -626,7 +626,7 @@
* The UglifyJS `gzip` callback.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {object} [exception] The error object.
* @param {Buffer} result The resulting gzipped source.
*/
function onUglifyGzip(exception, result) {
@@ -656,8 +656,8 @@
* The hybrid callback for simple optimizations.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {String} result The resulting minified source.
* @param {object} [exception] The error object.
* @param {string} result The resulting minified source.
*/
function onSimpleHybrid(exception, result) {
if (exception) {
@@ -672,7 +672,7 @@
* The hybrid `gzip` callback for simple optimizations.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {object} [exception] The error object.
* @param {Buffer} result The resulting gzipped source.
*/
function onSimpleHybridGzip(exception, result) {
@@ -697,8 +697,8 @@
* The hybrid callback for advanced optimizations.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {String} result The resulting minified source.
* @param {object} [exception] The error object.
* @param {string} result The resulting minified source.
*/
function onAdvancedHybrid(exception, result) {
if (exception) {
@@ -713,7 +713,7 @@
* The hybrid `gzip` callback for advanced optimizations.
*
* @private
* @param {Object|Undefined} exception The error object.
* @param {object} [exception] The error object.
* @param {Buffer} result The resulting gzipped source.
*/
function onAdvancedHybridGzip(exception, result) {

View File

@@ -20,8 +20,8 @@
* Post-process a given minified Lo-Dash `source`, preparing it for
* deployment.
*
* @param {String} source The source to process.
* @returns {String} Returns the processed source.
* @param {string} source The source to process.
* @returns {string} Returns the processed source.
*/
function postprocess(source) {
// correct overly aggressive Closure Compiler advanced optimization

View File

@@ -273,9 +273,9 @@
/**
* Pre-process a given Lo-Dash `source`, preparing it for minification.
*
* @param {String} [source=''] The source to process.
* @param {Object} [options={}] The options object.
* @returns {String} Returns the processed source.
* @param {string} [source=''] The source to process.
* @param {object} [options={}] The options object.
* @returns {string} Returns the processed source.
*/
function preprocess(source, options) {
source || (source = '');

View File

@@ -18,7 +18,7 @@
* The path separator.
*
* @memberOf util.path
* @type String
* @type string
*/
var sep = path.sep || (isWindows ? '\\' : '/');
@@ -26,7 +26,7 @@
* The escaped path separator used for inclusion in RegExp strings.
*
* @memberOf util.path
* @type String
* @type string
*/
var sepEscaped = sep.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
@@ -40,8 +40,8 @@
* directories and making parent directories as needed.
*
* @memberOf util.fs
* @param {String} dirname The path of the directory.
* @param {Number|String} [mode='0777'] The permission mode.
* @param {string} dirname The path of the directory.
* @param {(number|string)} [mode='0777'] The permission mode.
*/
function mkdirpSync(dirname, mode) {
// ensure relative paths are prefixed with `./`
@@ -64,7 +64,7 @@
/**
* The utility object.
*
* @type Object
* @type object
*/
var util = {
@@ -72,7 +72,7 @@
* The file system object.
*
* @memberOf util
* @type Object
* @type object
*/
'fs': _.defaults(_.cloneDeep(fs), {
'existsSync': fs.existsSync || path.existsSync,
@@ -83,7 +83,7 @@
* The path object.
*
* @memberOf util
* @type Object
* @type object
*/
'path': _.defaults(_.cloneDeep(path), {
'sep': sep,

994
dist/lodash.compat.js vendored

File diff suppressed because it is too large Load Diff

965
dist/lodash.js vendored

File diff suppressed because it is too large Load Diff

82
dist/lodash.min.js vendored
View File

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

File diff suppressed because it is too large Load Diff

View File

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

994
lodash.js

File diff suppressed because it is too large Load Diff

View File

@@ -20,8 +20,8 @@
*
* @private
* @param {Element} element The element.
* @param {String} eventName The name of the event.
* @param {Function} handler The event handler.
* @param {string} eventName The name of the event.
* @param {function} handler The event handler.
* @returns {Element} The element.
*/
function addListener(element, eventName, handler) {

View File

@@ -97,9 +97,9 @@
* it will be removed from the basename.
*
* @private
* @param {String} path The file path to inspect.
* @param {String} extension The extension to remove.
* @returns {String} Returns the basename.
* @param {string} path The file path to inspect.
* @param {string} extension The extension to remove.
* @returns {string} Returns the basename.
*/
function basename(filePath, extension) {
var result = (filePath || '').split(rePathSeparator).pop();
@@ -113,8 +113,8 @@
* See http://en.wikipedia.org/wiki/Geometric_mean#Relationship_with_arithmetic_mean_of_logarithms.
*
* @private
* @param {Array} array The array of values.
* @returns {Number} The geometric mean.
* @param {array} array The array of values.
* @returns {number} The geometric mean.
*/
function getGeometricMean(array) {
return Math.pow(Math.E, lodash.reduce(array, function(sum, x) {
@@ -127,8 +127,8 @@
* margin of error.
*
* @private
* @param {Object} bench The benchmark object.
* @returns {Number} Returns the adjusted Hz.
* @param {object} bench The benchmark object.
* @returns {number} Returns the adjusted Hz.
*/
function getHz(bench) {
var result = 1 / (bench.stats.mean + bench.stats.moe);
@@ -141,9 +141,9 @@
* types of "object", "function", or "unknown".
*
* @private
* @param {Mixed} object The owner of the property.
* @param {String} property The property to check.
* @returns {Boolean} Returns `true` if the property value is a non-primitive, else `false`.
* @param {*} object The owner of the property.
* @param {string} property The property to check.
* @returns {boolean} Returns `true` if the property value is a non-primitive, else `false`.
*/
function isHostType(object, property) {
if (object == null) {
@@ -157,7 +157,7 @@
* Logs text to the console.
*
* @private
* @param {String} text The text to log.
* @param {string} text The text to log.
*/
function log(text) {
console.log(text + '');

View File

@@ -331,8 +331,8 @@
* Capitalizes a given string.
*
* @private
* @param {String} string The string to capitalize.
* @returns {String} Returns the capitalized string.
* @param {string} string The string to capitalize.
* @returns {string} Returns the capitalized string.
*/
function capitalize(string) {
return string[0].toUpperCase() + string.slice(1);
@@ -342,7 +342,7 @@
* Creates a context object to use with `vm.runInContext`.
*
* @private
* @returns {Object} Returns a new context object.
* @returns {object} Returns a new context object.
*/
function createContext() {
return vm.createContext({
@@ -356,8 +356,8 @@
* Expands a list of function names to include real and alias names.
*
* @private
* @param {Array} funcNames The array of function names to expand.
* @returns {Array} Returns a new array of expanded function names.
* @param {array} funcNames The array of function names to expand.
* @returns {array} Returns a new array of expanded function names.
*/
function expandFuncNames(funcNames) {
return funcNames.reduce(function(result, funcName) {
@@ -371,8 +371,8 @@
* Gets the aliases associated with a given function name.
*
* @private
* @param {String} funcName The name of the function to get aliases for.
* @returns {Array} Returns an array of aliases.
* @param {string} funcName The name of the function to get aliases for.
* @returns {array} Returns an array of aliases.
*/
function getAliases(funcName) {
return realToAliasMap[funcName] || [];
@@ -382,8 +382,8 @@
* Gets the real name, not alias, of a given function name.
*
* @private
* @param {String} funcName The name of the function to resolve.
* @returns {String} Returns the real name.
* @param {string} funcName The name of the function to resolve.
* @returns {string} Returns the real name.
*/
function getRealName(funcName) {
return aliasToRealMap[funcName] || funcName;
@@ -393,9 +393,9 @@
* Tests if a given method can be called successfully.
*
* @private
* @param {Object} lodash The built Lo-Dash object.
* @param {String} funcName The name of the method to test.
* @param {String} message The unit test message.
* @param {object} lodash The built Lo-Dash object.
* @param {string} funcName The name of the method to test.
* @param {string} message The unit test message.
*/
function testMethod(lodash, methodName, message) {
var pass = true,

View File

@@ -20,8 +20,8 @@
*
* @private
* @param {Element} element The element.
* @param {String} eventName The name of the event.
* @param {Function} handler The event handler.
* @param {string} eventName The name of the event.
* @param {function} handler The event handler.
* @returns {Element} The element.
*/
function addListener(element, eventName, handler) {

View File

@@ -109,7 +109,7 @@
* Skips a given number of tests with a passing result.
*
* @private
* @param {Number} [count=1] The number of tests to skip.
* @param {number} [count=1] The number of tests to skip.
*/
function skipTest(count) {
count || (count = 1);