Full Code of jashkenas/underscore for AI

master 9374840c22e3 cached
378 files
5.7 MB
1.5M tokens
958 symbols
1 requests
Download .txt
Showing preview only (6,055K chars total). Download the full file or copy to clipboard to get everything.
Repository: jashkenas/underscore
Branch: master
Commit: 9374840c22e3
Files: 378
Total size: 5.7 MB

Directory structure:
gitextract_fa8odh1q/

├── .editorconfig
├── .eslintrc
├── .github/
│   ├── FUNDING.yml
│   ├── config/
│   │   └── codeql.yml
│   └── workflows/
│       └── codeql-analysis.yml
├── .gitignore
├── .travis.yml
├── CNAME
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── bower.json
├── docs/
│   ├── .eslintrc
│   ├── docco.css
│   ├── linked-esm.jst
│   ├── main.js
│   ├── modules/
│   │   ├── _baseCreate.html
│   │   ├── _baseIteratee.html
│   │   ├── _cb.html
│   │   ├── _chainResult.html
│   │   ├── _collectNonEnumProps.html
│   │   ├── _createAssigner.html
│   │   ├── _createEscaper.html
│   │   ├── _createIndexFinder.html
│   │   ├── _createPredicateIndexFinder.html
│   │   ├── _createReduce.html
│   │   ├── _createSizePropertyCheck.html
│   │   ├── _deepGet.html
│   │   ├── _escapeMap.html
│   │   ├── _executeBound.html
│   │   ├── _flatten.html
│   │   ├── _getByteLength.html
│   │   ├── _getLength.html
│   │   ├── _group.html
│   │   ├── _has.html
│   │   ├── _hasObjectTag.html
│   │   ├── _isArrayLike.html
│   │   ├── _isBufferLike.html
│   │   ├── _keyInObj.html
│   │   ├── _methodFingerprint.html
│   │   ├── _optimizeCb.html
│   │   ├── _setup.html
│   │   ├── _shallowProperty.html
│   │   ├── _stringTagBug.html
│   │   ├── _tagTester.html
│   │   ├── _toBufferView.html
│   │   ├── _toPath.html
│   │   ├── _unescapeMap.html
│   │   ├── after.html
│   │   ├── allKeys.html
│   │   ├── before.html
│   │   ├── bind.html
│   │   ├── bindAll.html
│   │   ├── chain.html
│   │   ├── chunk.html
│   │   ├── clone.html
│   │   ├── compact.html
│   │   ├── compose.html
│   │   ├── constant.html
│   │   ├── contains.html
│   │   ├── countBy.html
│   │   ├── create.html
│   │   ├── debounce.html
│   │   ├── defaults.html
│   │   ├── defer.html
│   │   ├── delay.html
│   │   ├── difference.html
│   │   ├── each.html
│   │   ├── escape.html
│   │   ├── every.html
│   │   ├── extend.html
│   │   ├── extendOwn.html
│   │   ├── filter.html
│   │   ├── find.html
│   │   ├── findIndex.html
│   │   ├── findKey.html
│   │   ├── findLastIndex.html
│   │   ├── findWhere.html
│   │   ├── first.html
│   │   ├── flatten.html
│   │   ├── functions.html
│   │   ├── get.html
│   │   ├── groupBy.html
│   │   ├── has.html
│   │   ├── identity.html
│   │   ├── index-all.html
│   │   ├── index-default.html
│   │   ├── index.html
│   │   ├── indexBy.html
│   │   ├── indexOf.html
│   │   ├── initial.html
│   │   ├── intersection.html
│   │   ├── invert.html
│   │   ├── invoke.html
│   │   ├── isArguments.html
│   │   ├── isArray.html
│   │   ├── isArrayBuffer.html
│   │   ├── isBoolean.html
│   │   ├── isDataView.html
│   │   ├── isDate.html
│   │   ├── isElement.html
│   │   ├── isEmpty.html
│   │   ├── isEqual.html
│   │   ├── isError.html
│   │   ├── isFinite.html
│   │   ├── isFunction.html
│   │   ├── isMap.html
│   │   ├── isMatch.html
│   │   ├── isNaN.html
│   │   ├── isNull.html
│   │   ├── isNumber.html
│   │   ├── isObject.html
│   │   ├── isRegExp.html
│   │   ├── isSet.html
│   │   ├── isString.html
│   │   ├── isSymbol.html
│   │   ├── isTypedArray.html
│   │   ├── isUndefined.html
│   │   ├── isWeakMap.html
│   │   ├── isWeakSet.html
│   │   ├── iteratee.html
│   │   ├── keys.html
│   │   ├── last.html
│   │   ├── lastIndexOf.html
│   │   ├── map.html
│   │   ├── mapObject.html
│   │   ├── matcher.html
│   │   ├── max.html
│   │   ├── memoize.html
│   │   ├── min.html
│   │   ├── mixin.html
│   │   ├── negate.html
│   │   ├── noop.html
│   │   ├── now.html
│   │   ├── object.html
│   │   ├── omit.html
│   │   ├── once.html
│   │   ├── pairs.html
│   │   ├── partial.html
│   │   ├── partition.html
│   │   ├── pick.html
│   │   ├── pluck.html
│   │   ├── property.html
│   │   ├── propertyOf.html
│   │   ├── random.html
│   │   ├── range.html
│   │   ├── reduce.html
│   │   ├── reduceRight.html
│   │   ├── reject.html
│   │   ├── rest.html
│   │   ├── restArguments.html
│   │   ├── result.html
│   │   ├── sample.html
│   │   ├── shuffle.html
│   │   ├── size.html
│   │   ├── some.html
│   │   ├── sortBy.html
│   │   ├── sortedIndex.html
│   │   ├── tap.html
│   │   ├── template.html
│   │   ├── templateSettings.html
│   │   ├── throttle.html
│   │   ├── times.html
│   │   ├── toArray.html
│   │   ├── toPath.html
│   │   ├── underscore-array-methods.html
│   │   ├── underscore.html
│   │   ├── unescape.html
│   │   ├── union.html
│   │   ├── uniq.html
│   │   ├── uniqueId.html
│   │   ├── unzip.html
│   │   ├── values.html
│   │   ├── where.html
│   │   ├── without.html
│   │   ├── wrap.html
│   │   └── zip.html
│   ├── public/
│   │   └── stylesheets/
│   │       └── normalize.css
│   └── underscore-esm.html
├── index.html
├── karma.conf-sauce.js
├── karma.conf.js
├── modules/
│   ├── .eslintrc
│   ├── _baseCreate.js
│   ├── _baseIteratee.js
│   ├── _cb.js
│   ├── _chainResult.js
│   ├── _collectNonEnumProps.js
│   ├── _createAssigner.js
│   ├── _createEscaper.js
│   ├── _createIndexFinder.js
│   ├── _createPredicateIndexFinder.js
│   ├── _createReduce.js
│   ├── _createSizePropertyCheck.js
│   ├── _deepGet.js
│   ├── _escapeMap.js
│   ├── _executeBound.js
│   ├── _flatten.js
│   ├── _getByteLength.js
│   ├── _getLength.js
│   ├── _group.js
│   ├── _has.js
│   ├── _hasObjectTag.js
│   ├── _isArrayLike.js
│   ├── _isBufferLike.js
│   ├── _keyInObj.js
│   ├── _methodFingerprint.js
│   ├── _optimizeCb.js
│   ├── _setup.js
│   ├── _shallowProperty.js
│   ├── _stringTagBug.js
│   ├── _tagTester.js
│   ├── _toBufferView.js
│   ├── _toPath.js
│   ├── _unescapeMap.js
│   ├── after.js
│   ├── allKeys.js
│   ├── before.js
│   ├── bind.js
│   ├── bindAll.js
│   ├── chain.js
│   ├── chunk.js
│   ├── clone.js
│   ├── compact.js
│   ├── compose.js
│   ├── constant.js
│   ├── contains.js
│   ├── countBy.js
│   ├── create.js
│   ├── debounce.js
│   ├── defaults.js
│   ├── defer.js
│   ├── delay.js
│   ├── difference.js
│   ├── each.js
│   ├── escape.js
│   ├── every.js
│   ├── extend.js
│   ├── extendOwn.js
│   ├── filter.js
│   ├── find.js
│   ├── findIndex.js
│   ├── findKey.js
│   ├── findLastIndex.js
│   ├── findWhere.js
│   ├── first.js
│   ├── flatten.js
│   ├── functions.js
│   ├── get.js
│   ├── groupBy.js
│   ├── has.js
│   ├── identity.js
│   ├── index-all.js
│   ├── index-default.js
│   ├── index.js
│   ├── indexBy.js
│   ├── indexOf.js
│   ├── initial.js
│   ├── intersection.js
│   ├── invert.js
│   ├── invoke.js
│   ├── isArguments.js
│   ├── isArray.js
│   ├── isArrayBuffer.js
│   ├── isBoolean.js
│   ├── isDataView.js
│   ├── isDate.js
│   ├── isElement.js
│   ├── isEmpty.js
│   ├── isEqual.js
│   ├── isError.js
│   ├── isFinite.js
│   ├── isFunction.js
│   ├── isMap.js
│   ├── isMatch.js
│   ├── isNaN.js
│   ├── isNull.js
│   ├── isNumber.js
│   ├── isObject.js
│   ├── isRegExp.js
│   ├── isSet.js
│   ├── isString.js
│   ├── isSymbol.js
│   ├── isTypedArray.js
│   ├── isUndefined.js
│   ├── isWeakMap.js
│   ├── isWeakSet.js
│   ├── iteratee.js
│   ├── keys.js
│   ├── last.js
│   ├── lastIndexOf.js
│   ├── map.js
│   ├── mapObject.js
│   ├── matcher.js
│   ├── max.js
│   ├── memoize.js
│   ├── min.js
│   ├── mixin.js
│   ├── negate.js
│   ├── noop.js
│   ├── now.js
│   ├── object.js
│   ├── omit.js
│   ├── once.js
│   ├── package.json
│   ├── pairs.js
│   ├── partial.js
│   ├── partition.js
│   ├── pick.js
│   ├── pluck.js
│   ├── property.js
│   ├── propertyOf.js
│   ├── random.js
│   ├── range.js
│   ├── reduce.js
│   ├── reduceRight.js
│   ├── reject.js
│   ├── rest.js
│   ├── restArguments.js
│   ├── result.js
│   ├── sample.js
│   ├── shuffle.js
│   ├── size.js
│   ├── some.js
│   ├── sortBy.js
│   ├── sortedIndex.js
│   ├── tap.js
│   ├── template.js
│   ├── templateSettings.js
│   ├── throttle.js
│   ├── times.js
│   ├── toArray.js
│   ├── toPath.js
│   ├── underscore-array-methods.js
│   ├── underscore.js
│   ├── unescape.js
│   ├── union.js
│   ├── uniq.js
│   ├── uniqueId.js
│   ├── unzip.js
│   ├── values.js
│   ├── where.js
│   ├── without.js
│   ├── wrap.js
│   └── zip.js
├── package.json
├── patches/
│   └── docco+0.8.0.patch
├── rollup.common.js
├── rollup.config.js
├── rollup.config2.js
├── test/
│   ├── .eslintrc
│   ├── arrays.js
│   ├── chaining.js
│   ├── collections.js
│   ├── cross-document.js
│   ├── functions.js
│   ├── index.html
│   ├── objects.js
│   ├── overrides.js
│   ├── qunit-setup.js
│   ├── treeshake.js
│   ├── utility.js
│   └── vendor/
│       ├── qunit.css
│       └── qunit.js
├── test-treeshake/
│   ├── map.js
│   ├── rollup.config.js
│   └── template.js
├── underscore-esm-min.js
├── underscore-esm.js
├── underscore-min.js
├── underscore-node-f.cjs
├── underscore-node.cjs
├── underscore-node.mjs
├── underscore-umd-min.js
├── underscore-umd.js
└── underscore.js

================================================
FILE CONTENTS
================================================

================================================
FILE: .editorconfig
================================================
# EditorConfig helps developers define and maintain consistent
# coding styles between different editors and IDEs
# editorconfig.org

root = true


[*]

indent_style = space
indent_size = 2
charset = utf-8
insert_final_newline = true
trim_trailing_whitespace = true

[**/package.json]
indent_size = 2


================================================
FILE: .eslintrc
================================================
{
  "env": {
    "browser": true,
    "node": true,
    "amd": true
  },
  "parserOptions": {
    "ecmaVersion": 3
  }
}


================================================
FILE: .github/FUNDING.yml
================================================
tidelift: "npm/underscore"
patreon: juliangonggrijp
github: [jgonggrijp]


================================================
FILE: .github/config/codeql.yml
================================================
paths:
  - 'modules/**'
  - 'test/**'
  - 'test-treeshake/**'
  - 'rollup*.js'
  - 'index.html'


================================================
FILE: .github/workflows/codeql-analysis.yml
================================================
# For most projects, this workflow file will not need changing; you simply need
# to commit it to your repository.
#
# You may wish to alter this file to override the set of languages analyzed,
# or to provide custom queries or build logic.
#
# ******** NOTE ********
# We have attempted to detect the languages in your repository. Please check
# the `language` matrix defined below to confirm you have the correct set of
# supported CodeQL languages.
#
name: "CodeQL"

on:
  push:
    branches: [ master ]
  pull_request:
    # The branches below must be a subset of the branches above
    branches: [ master ]
    paths:
      - 'modules/**'
      - 'test/**'
      - 'test-treeshake/**'
      - 'rollup*.js'
      - 'index.html'
  schedule:
    - cron: '16 8 * * 3'

jobs:
  analyze:
    name: Analyze
    runs-on: ubuntu-latest
    permissions:
      actions: read
      contents: read
      security-events: write

    strategy:
      fail-fast: false
      matrix:
        language: [ 'javascript' ]
        # CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python', 'ruby' ]
        # Learn more about CodeQL language support at
        # https://codeql.github.com/docs/codeql-overview/supported-languages-and-frameworks/

    steps:
    - name: Checkout repository
      uses: actions/checkout@v4

    # Initializes the CodeQL tools for scanning.
    - name: Initialize CodeQL
      uses: github/codeql-action/init@v3
      with:
        languages: ${{ matrix.language }}
        # If you wish to specify custom queries, you can do so here or in a config file.
        # By default, queries listed here will override any specified in a config file.
        # Prefix the list here with "+" to use these queries and those in the config file.
        # queries: ./path/to/local/query, your-org/your-repo/queries@main
        config-file: ./.github/config/codeql.yml

    # Autobuild attempts to build any compiled languages  (C/C++, C#, or Java).
    # If this step fails, then you should remove it and run the build manually (see below)
    - name: Autobuild
      uses: github/codeql-action/autobuild@v3

    # ℹ️ Command-line programs to run using the OS shell.
    # 📚 https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions

    # ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
    #    and modify them (or add more) to build your code if your project
    #    uses a compiled language

    #- run: |
    #   make bootstrap
    #   make release

    - name: Perform CodeQL Analysis
      uses: github/codeql-action/analyze@v3


================================================
FILE: .gitignore
================================================
raw
node_modules
*.log
*.idea
*.swp
nyc_output
coverage
test-treeshake/*-umd.js
amd
cjs
/underscore-node-*-pre*


================================================
FILE: .travis.yml
================================================
language: node_js
sudo: false
jobs:
  include:
    - node_js: 8
      env:
        - DOWNGRADE=true
        - EXTRA=false
    - node_js: 12
      env:
        - DOWNGRADE=false
        - EXTRA=false
    - node_js: 16
      env:
        - DOWNGRADE=false
        - EXTRA=true
before_install:
  - "[ $EXTRA = false ] || npm install -g karma-cli"
before_script:
  - "[ $EXTRA = false ] || npm install karma-sauce-launcher"
  - "[ $DOWNGRADE = false ] || npm install rollup@1"
script:
  - "[ $EXTRA = false ] || npm run lint"
  - npm run prepare-tests
  - "[ $EXTRA = false ] || npm run build-umd"
  - "[ $EXTRA = false ] || npm run build-esm"
  - "[ $EXTRA = false ] || npm run doc"
  - "[ $EXTRA = true ] || npm run test-node"
  - "[ $EXTRA = false ] || npm run coveralls"
  - "[ $EXTRA = false ] || npm run test-browser"
  - "[ $EXTRA = false ] || karma start karma.conf-sauce.js"
notifications:
  email: false
env:
  global:
  - NPM_CONFIG_PROGRESS="false"
  - secure: bDZSBQfqr21hCayjcZ20IxrV6+XGhxQPFIfwWqEKLrF93Gu8LLVjZRxXE/mE8I8N4Z5WtDNb4ZHrm/TTzmcPa5MuHgIxEdknQCncobH8oimwc83SHwEPk6okeNKl39VlCjvvnmoe/V/KpnknuYn3Rqghtl/Uv9KLpCwskwjTtcw=
  - secure: SRECgXuwcZTcD3GVxTS2bYNgRyye4vq6BLrV2PH9FyNenowsKQR2EwlC/dppc1Q8NWMgv79J/R96q9JOFh+mEH9L5dlBb2yhnGH8amVeM/ChAJHT/F8YktKM453uVpz5fR00QcCQDDUOx6Pvx374ID0OKNpWKAkQBWA9mPTsLnE=


================================================
FILE: CNAME
================================================
underscorejs.org


================================================
FILE: CODE_OF_CONDUCT.md
================================================
# Contributor Covenant Code of Conduct

## Our Pledge

In the interest of fostering an open and welcoming environment, we as
contributors and maintainers pledge to making participation in our project and
our community a harassment-free experience for everyone, regardless of age, body
size, disability, ethnicity, gender identity and expression, level of experience,
nationality, personal appearance, race, religion, or sexual identity and
orientation.

## Our Standards

Examples of behavior that contributes to creating a positive environment
include:

* Using welcoming and inclusive language
* Being respectful of differing viewpoints and experiences
* Gracefully accepting constructive criticism
* Focusing on what is best for the community
* Showing empathy towards other community members

Examples of unacceptable behavior by participants include:

* The use of sexualized language or imagery and unwelcome sexual attention or
advances
* Trolling, insulting/derogatory comments, and personal or political attacks
* Public or private harassment
* Publishing others' private information, such as a physical or electronic
  address, without explicit permission
* Other conduct which could reasonably be considered inappropriate in a
  professional setting

## Our Responsibilities

Project maintainers are responsible for clarifying the standards of acceptable
behavior and are expected to take appropriate and fair corrective action in
response to any instances of unacceptable behavior.

Project maintainers have the right and responsibility to remove, edit, or
reject comments, commits, code, wiki edits, issues, and other contributions
that are not aligned to this Code of Conduct, or to ban temporarily or
permanently any contributor for other behaviors that they deem inappropriate,
threatening, offensive, or harmful.

## Scope

This Code of Conduct applies both within project spaces and in public spaces
when an individual is representing the project or its community. Examples of
representing a project or community include using an official project e-mail
address, posting via an official social media account, or acting as an appointed
representative at an online or offline event. Representation of a project may be
further defined and clarified by project maintainers.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be
reported by contacting the project team at jashkenas@gmail.com. The project team
will review and investigate all complaints, and will respond in a way that it deems
appropriate to the circumstances. The project team is obligated to maintain
confidentiality with regard to the reporter of an incident.
Project maintainers who do not follow or enforce the Code of Conduct in good
faith may face temporary or permanent repercussions as determined by other
members of the project's leadership.

## Moderation

Edits of another user's comment must be clearly marked with "**edit**", the
moderator's username, and a timestamp for each occurrence. The only acceptable
reasons for editing another user's comment are:

1. to edit out violations of Our Pledge. These edits must include a rationale.
2. to direct future readers to a relevant point later in the conversation
   (usually the resolution). These edits must be append-only.

Deletion of another user's comment is only acceptable when the comment includes
no original value, such as "+1", ":+1:", or "me too".

## Self-Moderation

Edits of your own comment after someone has responded must be append-only and
clearly marked with "**edit**". Typographical and formatting fixes to your own
comment which do not affect its meaning are exempt from this requirement.
Deletion of your own comment is only acceptable before any later comments have
been posted.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant][homepage], version 1.4,
available at [https://contributor-covenant.org/version/1/4][version]

[homepage]: https://contributor-covenant.org
[version]: https://contributor-covenant.org/version/1/4/


================================================
FILE: CONTRIBUTING.md
================================================
## How to contribute to Underscore.js

* This project adheres to a [code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.

* Please do not open an issue to report a security issue. Consult the [security policy](SECURITY.md) on what to do instead.

* Before you open an issue or send a pull request, [search](https://github.com/jashkenas/underscore/issues) for previous discussions about the same feature or issue. Add to the earlier ticket if you find one.

* If you're proposing a new feature, make sure it isn't already implemented in [Underscore-Contrib](https://github.com/documentcloud/underscore-contrib).

* When contributing code, make sure that you edit the source code in the `modules/` directory. Also, run `npm install` before committing any changes to ensure that our commit hooks can do their work.

* Before sending a pull request for a feature, be sure to have [tests](https://underscorejs.org/test/).

* Use the same coding style as the rest of the [codebase](https://github.com/jashkenas/underscore/blob/master/modules/index.js).

* In your pull request, do not add documentation or re-build the minified `underscore-umd-min.js` file. We'll do those things before cutting a new release.

### "Help, cloning fails with `fatal: fsck error in packed object`"
This error is caused by zero-padded file modes in the commit history. As fixing this is highly destructive, we suggest ignoring these warnings. The simplest way is to instruct git to do so when cloning. For example, to clone from `jashkenas/underscore`, run the following command: `git clone --config transfer.fsckobjects=false git@github.com:jashkenas/underscore.git`. If cloning from a different user or organization, replace `jashkenas` with their name in the previous command.

================================================
FILE: LICENSE
================================================
Copyright (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.


================================================
FILE: README.md
================================================
                       __
                      /\ \                                                         __
     __  __    ___    \_\ \     __   _ __   ____    ___    ___   _ __    __       /\_\    ____
    /\ \/\ \ /' _ `\  /'_  \  /'__`\/\  __\/ ,__\  / ___\ / __`\/\  __\/'__`\     \/\ \  /',__\
    \ \ \_\ \/\ \/\ \/\ \ \ \/\  __/\ \ \//\__, `\/\ \__//\ \ \ \ \ \//\  __/  __  \ \ \/\__, `\
     \ \____/\ \_\ \_\ \___,_\ \____\\ \_\\/\____/\ \____\ \____/\ \_\\ \____\/\_\ _\ \ \/\____/
      \/___/  \/_/\/_/\/__,_ /\/____/ \/_/ \/___/  \/____/\/___/  \/_/ \/____/\/_//\ \_\ \/___/
                                                                                  \ \____/
                                                                                   \/___/

Underscore.js is a utility-belt library for JavaScript that provides
support for the usual functional suspects (each, map, reduce, filter...)
without extending any core JavaScript objects.

For Docs, License, Tests, and pre-packed downloads, see:
https://underscorejs.org

For support and questions, please consult
our [security policy](SECURITY.md),
[the gitter channel](https://gitter.im/jashkenas/underscore)
or [stackoverflow](https://stackoverflow.com/search?q=underscore.js)

Underscore is an open-sourced component of DocumentCloud:
https://github.com/documentcloud

Many thanks to our contributors:
https://github.com/jashkenas/underscore/contributors

You can support the project by donating on
[Patreon](https://patreon.com/juliangonggrijp).
Enterprise coverage is available as part of the
[Tidelift Subscription](https://tidelift.com/subscription/pkg/npm-underscore?utm_source=npm-underscore&utm_medium=referral&utm_campaign=enterprise).

This project adheres to a [code of conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code.


================================================
FILE: SECURITY.md
================================================
# Security Policy

## Supported Versions

We currently support the following versions of Underscore with security updates:

- the latest commit on the `master` branch (published as "edge" on the
  [project website][website]);
- the 1.x release tagged as [latest][npm-latest] on npm;
- any release tagged as [preview][npm-preview] on npm, if present.

[website]: https://underscorejs.org
[npm-latest]: https://www.npmjs.com/package/underscore/v/latest
[npm-preview]: https://www.npmjs.com/package/underscore/v/preview

## Reporting a Vulnerability

Please report security issues by sending an email to
dev@juliangonggrijp.com and jashkenas@gmail.com.

Do __not__ submit an issue ticket or pull request or otherwise publicly
disclose the issue.

After receiving your email, we will respond as soon as possible and indicate
what we plan to do.

## Disclosure policy

After confirming a vulnerability, we will generally release a security update
as soon as possible, including the minimum amount of information required for
software maintainers and system administrators to assess the urgency of the
update for their particular situation.

We postpone the publication of any further details such as code comments,
tests, commit history and diffs, in order to enable a substantial share of the
users to install the security fix before this time.

Upon publication of full details, we will credit the reporter if the reporter wishes to be publicly identified.


================================================
FILE: bower.json
================================================
{
  "name": "underscore",
  "main": "underscore-umd.js",
  "keywords": ["util", "functional", "server", "client", "browser"],
  "ignore" : ["docs", "test", "*.yml", "CNAME", "index.html", "favicon.ico", "CONTRIBUTING.md", ".*", "package.json", "karma.*"]
}


================================================
FILE: docs/.eslintrc
================================================
{
  "globals": {
      "_": true,
      "parserOptions": {},
      "rules": [],
  }
}


================================================
FILE: docs/docco.css
================================================
/*--------------------- Typography ----------------------------*/

@font-face {
    font-family: 'aller-light';
    src: url('public/fonts/aller-light.eot');
    src: url('public/fonts/aller-light.eot?#iefix') format('embedded-opentype'),
         url('public/fonts/aller-light.woff') format('woff'),
         url('public/fonts/aller-light.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'aller-bold';
    src: url('public/fonts/aller-bold.eot');
    src: url('public/fonts/aller-bold.eot?#iefix') format('embedded-opentype'),
         url('public/fonts/aller-bold.woff') format('woff'),
         url('public/fonts/aller-bold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'roboto-black';
    src: url('public/fonts/roboto-black.eot');
    src: url('public/fonts/roboto-black.eot?#iefix') format('embedded-opentype'),
         url('public/fonts/roboto-black.woff') format('woff'),
         url('public/fonts/roboto-black.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/*--------------------- Layout ----------------------------*/
html { height: 100%; }
body {
  font-family: "aller-light";
  font-size: 14px;
  line-height: 18px;
  color: #30404f;
  margin: 0; padding: 0;
  height:100%;
}
#container { min-height: 100%; }

a {
  color: #000;
}

b, strong {
  font-weight: normal;
  font-family: "aller-bold";
}

p {
  margin: 15px 0 0px;
}
  .annotation ul, .annotation ol {
    margin: 25px 0;
  }
    .annotation ul li, .annotation ol li {
      font-size: 14px;
      line-height: 18px;
      margin: 10px 0;
    }

h1, h2, h3, h4, h5, h6 {
  color: #112233;
  line-height: 1em;
  font-weight: normal;
  font-family: "roboto-black";
  text-transform: uppercase;
  margin: 30px 0 15px 0;
}

h1 {
  margin-top: 40px;
}
h2 {
  font-size: 1.26em;
}

hr {
  border: 0;
  background: 1px #ddd;
  height: 1px;
  margin: 20px 0;
}

pre, tt, code {
  font-size: 12px; line-height: 16px;
  font-family: Menlo, Monaco, Consolas, "Lucida Console", monospace;
  margin: 0; padding: 0;
}
  .annotation pre {
    display: block;
    margin: 0;
    padding: 7px 10px;
    background: #fcfcfc;
    -moz-box-shadow:    inset 0 0 10px rgba(0,0,0,0.1);
    -webkit-box-shadow: inset 0 0 10px rgba(0,0,0,0.1);
    box-shadow:         inset 0 0 10px rgba(0,0,0,0.1);
    overflow-x: auto;
  }
    .annotation pre code {
      border: 0;
      padding: 0;
      background: transparent;
    }


blockquote {
  border-left: 5px solid #ccc;
  margin: 0;
  padding: 1px 0 1px 1em;
}
  .sections blockquote p {
    font-family: Menlo, Consolas, Monaco, monospace;
    font-size: 12px; line-height: 16px;
    color: #999;
    margin: 10px 0 0;
    white-space: pre-wrap;
  }

ul.sections {
  list-style: none;
  padding:0 0 5px 0;;
  margin:0;
}

/*
  Force border-box so that % widths fit the parent
  container without overlap because of margin/padding.

  More Info : http://www.quirksmode.org/css/box.html
*/
ul.sections > li > div {
  -moz-box-sizing: border-box;    /* firefox */
  -ms-box-sizing: border-box;     /* ie */
  -webkit-box-sizing: border-box; /* webkit */
  -khtml-box-sizing: border-box;  /* konqueror */
  box-sizing: border-box;         /* css3 */
}


/*---------------------- Jump Page -----------------------------*/
#jump_to, #jump_page {
  margin: 0;
  background: white;
  -webkit-box-shadow: 0 0 25px #777; -moz-box-shadow: 0 0 25px #777;
  -webkit-border-bottom-left-radius: 5px; -moz-border-radius-bottomleft: 5px;
  font: 16px Arial;
  cursor: pointer;
  text-align: right;
  list-style: none;
}

#jump_to a {
  text-decoration: none;
}

#jump_to a.large {
  display: none;
}
#jump_to a.small {
  font-size: 22px;
  font-weight: bold;
  color: #676767;
}

#jump_to, #jump_wrapper {
  position: fixed;
  right: 0; top: 0;
  padding: 10px 15px;
  margin:0;
}

#jump_wrapper {
  display: none;
  padding:0;
}

#jump_to:hover #jump_wrapper {
  display: block;
}

#jump_page_wrapper{
  position: fixed;
  right: 0;
  top: 0;
  bottom: 0;
}

#jump_page {
  padding: 5px 0 3px;
  margin: 0 0 25px 25px;
  max-height: 100%;
  overflow: auto;
}

#jump_page .source {
  display: block;
  padding: 15px;
  text-decoration: none;
  border-top: 1px solid #eee;
}

#jump_page .source:hover {
  background: #f5f5ff;
}

#jump_page .source:first-child {
}

/*---------------------- Low resolutions (> 320px) ---------------------*/
@media only screen and (min-width: 320px) {
  .pilwrap { display: none; }

  ul.sections > li > div {
    display: block;
    padding:5px 10px 0 10px;
  }

  ul.sections > li > div.annotation ul, ul.sections > li > div.annotation ol {
    padding-left: 30px;
  }

  ul.sections > li > div.content {
    overflow-x:auto;
    -webkit-box-shadow: inset 0 0 5px #e5e5ee;
    box-shadow: inset 0 0 5px #e5e5ee;
    border: 1px solid #dedede;
    margin:5px 10px 5px 10px;
    padding-bottom: 5px;
  }

  ul.sections > li > div.annotation pre {
    margin: 7px 0 7px;
    padding-left: 15px;
  }

  ul.sections > li > div.annotation p tt, .annotation code {
    background: #f8f8ff;
    border: 1px solid #dedede;
    font-size: 12px;
    padding: 0 0.2em;
  }
}

/*----------------------  (> 481px) ---------------------*/
@media only screen and (min-width: 481px) {
  #container {
    position: relative;
  }
  body {
    background-color: #F5F5FF;
    font-size: 15px;
    line-height: 21px;
  }
  pre, tt, code {
    line-height: 18px;
  }
  p, ul, ol {
    margin: 0 0 15px;
  }


  #jump_to {
    padding: 5px 10px;
  }
  #jump_wrapper {
    padding: 0;
  }
  #jump_to, #jump_page {
    font: 10px Arial;
    text-transform: uppercase;
  }
  #jump_page .source {
    padding: 5px 10px;
  }
  #jump_to a.large {
    display: inline-block;
  }
  #jump_to a.small {
    display: none;
  }



  #background {
    position: absolute;
    top: 0; bottom: 0;
    width: 350px;
    background: #fff;
    border-right: 1px solid #e5e5ee;
    z-index: -1;
  }

  ul.sections > li > div.annotation ul, ul.sections > li > div.annotation ol {
    padding-left: 40px;
  }

  ul.sections > li {
    white-space: nowrap;
  }

  ul.sections > li > div {
    display: inline-block;
  }

  ul.sections > li > div.annotation {
    max-width: 350px;
    min-width: 350px;
    min-height: 5px;
    padding: 13px;
    overflow-x: hidden;
    white-space: normal;
    vertical-align: top;
    text-align: left;
  }
  ul.sections > li > div.annotation pre {
    margin: 15px 0 15px;
    padding-left: 15px;
  }

  ul.sections > li > div.content {
    padding: 13px;
    vertical-align: top;
    border: none;
    -webkit-box-shadow: none;
    box-shadow: none;
  }

  .pilwrap {
    position: relative;
    display: inline;
  }

  .pilcrow {
    font: 12px Arial;
    text-decoration: none;
    color: #454545;
    position: absolute;
    top: 3px; left: -20px;
    padding: 1px 2px;
    opacity: 0;
    -webkit-transition: opacity 0.2s linear;
  }
    .for-h1 .pilcrow {
      top: 47px;
    }
    .for-h2 .pilcrow, .for-h3 .pilcrow, .for-h4 .pilcrow {
      top: 35px;
    }

  ul.sections > li > div.annotation:hover .pilcrow {
    opacity: 1;
  }
}

/*---------------------- (> 1025px) ---------------------*/
@media only screen and (min-width: 1025px) {

  body {
    font-size: 16px;
    line-height: 24px;
  }

  #background {
    width: 525px;
  }
  ul.sections > li > div.annotation {
    max-width: 525px;
    min-width: 525px;
    padding: 10px 25px 1px 50px;
  }
  ul.sections > li > div.content {
    padding: 9px 15px 16px 25px;
  }
}

/*---------------------- Syntax Highlighting -----------------------------*/

td.linenos { background-color: #f0f0f0; padding-right: 10px; }
span.lineno { background-color: #f0f0f0; padding: 0 5px 0 5px; }
/*

github.com style (c) Vasily Polovnyov <vast@whiteants.net>

*/

pre code {
  display: block; padding: 0.5em;
  color: #000;
  background: #f8f8ff
}

pre .hljs-comment,
pre .hljs-template_comment,
pre .hljs-diff .hljs-header,
pre .hljs-javadoc {
  color: #408080;
  font-style: italic
}

pre .hljs-keyword,
pre .hljs-assignment,
pre .hljs-literal,
pre .hljs-css .hljs-rule .hljs-keyword,
pre .hljs-winutils,
pre .hljs-javascript .hljs-title,
pre .hljs-lisp .hljs-title,
pre .hljs-subst {
  color: #954121;
  /*font-weight: bold*/
}

pre .hljs-number,
pre .hljs-hexcolor {
  color: #40a070
}

pre .hljs-string,
pre .hljs-tag .hljs-value,
pre .hljs-phpdoc,
pre .hljs-tex .hljs-formula {
  color: #219161;
}

pre .hljs-title,
pre .hljs-id {
  color: #19469D;
}
pre .hljs-params {
  color: #00F;
}

pre .hljs-javascript .hljs-title,
pre .hljs-lisp .hljs-title,
pre .hljs-subst {
  font-weight: normal
}

pre .hljs-class .hljs-title,
pre .hljs-haskell .hljs-label,
pre .hljs-tex .hljs-command {
  color: #458;
  font-weight: bold
}

pre .hljs-tag,
pre .hljs-tag .hljs-title,
pre .hljs-rules .hljs-property,
pre .hljs-django .hljs-tag .hljs-keyword {
  color: #000080;
  font-weight: normal
}

pre .hljs-attribute,
pre .hljs-variable,
pre .hljs-instancevar,
pre .hljs-lisp .hljs-body {
  color: #008080
}

pre .hljs-regexp {
  color: #B68
}

pre .hljs-class {
  color: #458;
  font-weight: bold
}

pre .hljs-symbol,
pre .hljs-ruby .hljs-symbol .hljs-string,
pre .hljs-ruby .hljs-symbol .hljs-keyword,
pre .hljs-ruby .hljs-symbol .hljs-keymethods,
pre .hljs-lisp .hljs-keyword,
pre .hljs-tex .hljs-special,
pre .hljs-input_number {
  color: #990073
}

pre .hljs-builtin,
pre .hljs-constructor,
pre .hljs-built_in,
pre .hljs-lisp .hljs-title {
  color: #0086b3
}

pre .hljs-preprocessor,
pre .hljs-pi,
pre .hljs-doctype,
pre .hljs-shebang,
pre .hljs-cdata {
  color: #999;
  font-weight: bold
}

pre .hljs-deletion {
  background: #fdd
}

pre .hljs-addition {
  background: #dfd
}

pre .hljs-diff .hljs-change {
  background: #0086b3
}

pre .hljs-chunk {
  color: #aaa
}

pre .hljs-tex .hljs-formula {
  opacity: 0.5;
}


================================================
FILE: docs/linked-esm.jst
================================================
<% /*
  This is an extended version of the resources/parallel/docco.jst that is
  bundled with Docco 0.8.0.
  The license of the original file is available over here:
  https://github.com/jashkenas/docco/blob/master/LICENSE.
  The extension adds hyperlinking to javascript import statements.
*/ %>
<!DOCTYPE html>

<html>
<head>
  <title><%= title %></title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="<%= css %>" />
</head>
<body>
  <div id="container">
    <div id="background"></div>
    <% if (sources.length > 1) { %>
      <ul id="jump_to">
        <li>
          <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
          <a class="small" href="javascript:void(0);">+</a>
          <div id="jump_wrapper">
          <div id="jump_page_wrapper">
            <div id="jump_page">
              <% for (var i=0, l=sources.length; i<l; i++) { %>
                <% var source = sources[i]; %>
                <a class="source" href="<%= relative(destination(source)) %>">
                  <%= source %>
                </a>
              <% } %>
            </div>
          </div>
        </li>
      </ul>
    <% } %>
    <ul class="sections">
        <% if (!hasTitle) { %>
          <li id="title">
              <div class="annotation">
                  <h1><%= title %></h1>
              </div>
          </li>
        <% } %>
        <% for (var i=0, l=sections.length; i<l; i++) { %>
        <% var section = sections[i]; %>
        <li id="section-<%= i + 1 %>">
            <div class="annotation">
              <% heading = section.docsHtml.match(/^\s*<(h\d)>/) %>
              <div class="pilwrap <%= heading ? 'for-' + heading[1] : '' %>">
                <a class="pilcrow" href="#section-<%= i + 1 %>">&#182;</a>
              </div>
              <%= section.docsHtml %>
            </div>
            <% if (section.codeText.replace(/\s/gm, '') != '') { %>
            <div class="content"><%= section.codeHtml %></div>
            <% } %>
        </li>
        <% } %>
    </ul>
  </div>
  <% /* Start of hyperlinking extension */ %>
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
  <script>
    // We run a script at page load to inject the links after the fact.
    // It would be more elegant to do this at page generation time, but
    // unfortunately the docco infrastructure doesn't support this very well.
    // Highlighted code is passed along as an unparsed HTML string, which would
    // make this very tricky. In the script below, we exploit the fact that the
    // HTML has already been parsed by the browser.
    (function() {
      // Define a regex for stripping the .html extension from anchor hrefs.
      var extPattern = /\.html$/;
      // Collect all module paths that we have an HTML page for.
      var moduleMap = {};
      $('#jump_page a.source').each(function() {
        // Fortunately, translating anchor hrefs to ES module paths is easy,
        // because both systems work relative to the current file by default.
        var href = $(this).attr('href');
        var path = href.replace(extPattern, '').split('/');
        if (path[0] !== '..') path.unshift('.');
        var normPath = path.join('/');
        // Support both paths with and without extension.
        moduleMap[normPath] = moduleMap[normPath + '.js'] = href;
      });
      // Find all 'from' keywords followed by a string (ES6 import statements).
      $('.hljs-keyword').filter(function() {
        var text = $(this).text();
        return text === 'from' || text === 'import';
      }).next('.hljs-string').each(function() {
        // Finally, for each of these strings, replace it by a link if we have
        // a matching HTML page.
        var text = $(this).text();
        var quote = text[0];
        var path = text.slice(1, -1);
        var matchingDoc = moduleMap[path];
        if (!matchingDoc) return;
        $(this).html(
          quote + '<a href="' + matchingDoc + '">' + path + '</a>' + quote
        );
      });
    }());
  </script>
  <% /* End of hyperlinking extension */ %>
</body>
</html>


================================================
FILE: docs/main.js
================================================
(function() {
  var functions = document.querySelectorAll('[data-name]');
  var sections = document.querySelectorAll('.searchable_section');
  var searchInput = document.getElementById('function_filter');

  function searchValue() {
    return searchInput.value.trim().replace(/^_\.?/, '');
  }

  function strIn(a, b) {
    a = a.toLowerCase();
    b = b.toLowerCase();
    return b.indexOf(a) >= 0;
  }

  function doesMatch(element) {
    var name = element.getAttribute('data-name');
    var aliases = element.getAttribute('data-aliases') || '';
    var value = searchValue();
    return strIn(value, name) || strIn(value, aliases);
  }

  function filterElement(element) {
    element.style.display = doesMatch(element) ? '' : 'none';
  }

  function filterToc() {
    _.each(functions, filterElement);

    var emptySearch = searchValue() === '';

    // Hide the titles of empty sections
    _.each(sections, function(section) {
      var sectionFunctions = section.querySelectorAll('[data-name]');
      var showSection = emptySearch || _.some(sectionFunctions, doesMatch);
      section.style.display = showSection ? '' : 'none';
    });
  }

  function gotoFirst() {
    var firstFunction = _.find(functions, doesMatch);
    if (firstFunction) {
      window.location.hash = firstFunction.getAttribute('data-name');
      searchInput.focus();
    }
  }

  searchInput.addEventListener('input', filterToc, false);

  // Press "Enter" to jump to the first matching function
  searchInput.addEventListener('keypress', function(e) {
    if (e.which === 13) {
      gotoFirst();
    }
  });

  // Press "/" to search
  document.body.addEventListener('keyup', function(event) {
    if (191 === event.which) {
      searchInput.focus();
    }
  });
}());


================================================
FILE: docs/modules/_baseCreate.html
================================================

<!DOCTYPE html>

<html>
<head>
  <title>_baseCreate.js</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="../docco.css" />
</head>
<body>
  <div id="container">
    <div id="background"></div>
    
      <ul id="jump_to">
        <li>
          <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
          <a class="small" href="javascript:void(0);">+</a>
          <div id="jump_wrapper">
          <div id="jump_page_wrapper">
            <div id="jump_page">
              
                
                <a class="source" href="_baseCreate.html">
                  modules/_baseCreate.js
                </a>
              
                
                <a class="source" href="_baseIteratee.html">
                  modules/_baseIteratee.js
                </a>
              
                
                <a class="source" href="_cb.html">
                  modules/_cb.js
                </a>
              
                
                <a class="source" href="_chainResult.html">
                  modules/_chainResult.js
                </a>
              
                
                <a class="source" href="_collectNonEnumProps.html">
                  modules/_collectNonEnumProps.js
                </a>
              
                
                <a class="source" href="_createAssigner.html">
                  modules/_createAssigner.js
                </a>
              
                
                <a class="source" href="_createEscaper.html">
                  modules/_createEscaper.js
                </a>
              
                
                <a class="source" href="_createIndexFinder.html">
                  modules/_createIndexFinder.js
                </a>
              
                
                <a class="source" href="_createPredicateIndexFinder.html">
                  modules/_createPredicateIndexFinder.js
                </a>
              
                
                <a class="source" href="_createReduce.html">
                  modules/_createReduce.js
                </a>
              
                
                <a class="source" href="_createSizePropertyCheck.html">
                  modules/_createSizePropertyCheck.js
                </a>
              
                
                <a class="source" href="_deepGet.html">
                  modules/_deepGet.js
                </a>
              
                
                <a class="source" href="_escapeMap.html">
                  modules/_escapeMap.js
                </a>
              
                
                <a class="source" href="_executeBound.html">
                  modules/_executeBound.js
                </a>
              
                
                <a class="source" href="_flatten.html">
                  modules/_flatten.js
                </a>
              
                
                <a class="source" href="_getByteLength.html">
                  modules/_getByteLength.js
                </a>
              
                
                <a class="source" href="_getLength.html">
                  modules/_getLength.js
                </a>
              
                
                <a class="source" href="_group.html">
                  modules/_group.js
                </a>
              
                
                <a class="source" href="_has.html">
                  modules/_has.js
                </a>
              
                
                <a class="source" href="_hasObjectTag.html">
                  modules/_hasObjectTag.js
                </a>
              
                
                <a class="source" href="_isArrayLike.html">
                  modules/_isArrayLike.js
                </a>
              
                
                <a class="source" href="_isBufferLike.html">
                  modules/_isBufferLike.js
                </a>
              
                
                <a class="source" href="_keyInObj.html">
                  modules/_keyInObj.js
                </a>
              
                
                <a class="source" href="_methodFingerprint.html">
                  modules/_methodFingerprint.js
                </a>
              
                
                <a class="source" href="_optimizeCb.html">
                  modules/_optimizeCb.js
                </a>
              
                
                <a class="source" href="_setup.html">
                  modules/_setup.js
                </a>
              
                
                <a class="source" href="_shallowProperty.html">
                  modules/_shallowProperty.js
                </a>
              
                
                <a class="source" href="_stringTagBug.html">
                  modules/_stringTagBug.js
                </a>
              
                
                <a class="source" href="_tagTester.html">
                  modules/_tagTester.js
                </a>
              
                
                <a class="source" href="_toBufferView.html">
                  modules/_toBufferView.js
                </a>
              
                
                <a class="source" href="_toPath.html">
                  modules/_toPath.js
                </a>
              
                
                <a class="source" href="_unescapeMap.html">
                  modules/_unescapeMap.js
                </a>
              
                
                <a class="source" href="after.html">
                  modules/after.js
                </a>
              
                
                <a class="source" href="allKeys.html">
                  modules/allKeys.js
                </a>
              
                
                <a class="source" href="before.html">
                  modules/before.js
                </a>
              
                
                <a class="source" href="bind.html">
                  modules/bind.js
                </a>
              
                
                <a class="source" href="bindAll.html">
                  modules/bindAll.js
                </a>
              
                
                <a class="source" href="chain.html">
                  modules/chain.js
                </a>
              
                
                <a class="source" href="chunk.html">
                  modules/chunk.js
                </a>
              
                
                <a class="source" href="clone.html">
                  modules/clone.js
                </a>
              
                
                <a class="source" href="compact.html">
                  modules/compact.js
                </a>
              
                
                <a class="source" href="compose.html">
                  modules/compose.js
                </a>
              
                
                <a class="source" href="constant.html">
                  modules/constant.js
                </a>
              
                
                <a class="source" href="contains.html">
                  modules/contains.js
                </a>
              
                
                <a class="source" href="countBy.html">
                  modules/countBy.js
                </a>
              
                
                <a class="source" href="create.html">
                  modules/create.js
                </a>
              
                
                <a class="source" href="debounce.html">
                  modules/debounce.js
                </a>
              
                
                <a class="source" href="defaults.html">
                  modules/defaults.js
                </a>
              
                
                <a class="source" href="defer.html">
                  modules/defer.js
                </a>
              
                
                <a class="source" href="delay.html">
                  modules/delay.js
                </a>
              
                
                <a class="source" href="difference.html">
                  modules/difference.js
                </a>
              
                
                <a class="source" href="each.html">
                  modules/each.js
                </a>
              
                
                <a class="source" href="escape.html">
                  modules/escape.js
                </a>
              
                
                <a class="source" href="every.html">
                  modules/every.js
                </a>
              
                
                <a class="source" href="extend.html">
                  modules/extend.js
                </a>
              
                
                <a class="source" href="extendOwn.html">
                  modules/extendOwn.js
                </a>
              
                
                <a class="source" href="filter.html">
                  modules/filter.js
                </a>
              
                
                <a class="source" href="find.html">
                  modules/find.js
                </a>
              
                
                <a class="source" href="findIndex.html">
                  modules/findIndex.js
                </a>
              
                
                <a class="source" href="findKey.html">
                  modules/findKey.js
                </a>
              
                
                <a class="source" href="findLastIndex.html">
                  modules/findLastIndex.js
                </a>
              
                
                <a class="source" href="findWhere.html">
                  modules/findWhere.js
                </a>
              
                
                <a class="source" href="first.html">
                  modules/first.js
                </a>
              
                
                <a class="source" href="flatten.html">
                  modules/flatten.js
                </a>
              
                
                <a class="source" href="functions.html">
                  modules/functions.js
                </a>
              
                
                <a class="source" href="get.html">
                  modules/get.js
                </a>
              
                
                <a class="source" href="groupBy.html">
                  modules/groupBy.js
                </a>
              
                
                <a class="source" href="has.html">
                  modules/has.js
                </a>
              
                
                <a class="source" href="identity.html">
                  modules/identity.js
                </a>
              
                
                <a class="source" href="index-all.html">
                  modules/index-all.js
                </a>
              
                
                <a class="source" href="index-default.html">
                  modules/index-default.js
                </a>
              
                
                <a class="source" href="index.html">
                  modules/index.js
                </a>
              
                
                <a class="source" href="indexBy.html">
                  modules/indexBy.js
                </a>
              
                
                <a class="source" href="indexOf.html">
                  modules/indexOf.js
                </a>
              
                
                <a class="source" href="initial.html">
                  modules/initial.js
                </a>
              
                
                <a class="source" href="intersection.html">
                  modules/intersection.js
                </a>
              
                
                <a class="source" href="invert.html">
                  modules/invert.js
                </a>
              
                
                <a class="source" href="invoke.html">
                  modules/invoke.js
                </a>
              
                
                <a class="source" href="isArguments.html">
                  modules/isArguments.js
                </a>
              
                
                <a class="source" href="isArray.html">
                  modules/isArray.js
                </a>
              
                
                <a class="source" href="isArrayBuffer.html">
                  modules/isArrayBuffer.js
                </a>
              
                
                <a class="source" href="isBoolean.html">
                  modules/isBoolean.js
                </a>
              
                
                <a class="source" href="isDataView.html">
                  modules/isDataView.js
                </a>
              
                
                <a class="source" href="isDate.html">
                  modules/isDate.js
                </a>
              
                
                <a class="source" href="isElement.html">
                  modules/isElement.js
                </a>
              
                
                <a class="source" href="isEmpty.html">
                  modules/isEmpty.js
                </a>
              
                
                <a class="source" href="isEqual.html">
                  modules/isEqual.js
                </a>
              
                
                <a class="source" href="isError.html">
                  modules/isError.js
                </a>
              
                
                <a class="source" href="isFinite.html">
                  modules/isFinite.js
                </a>
              
                
                <a class="source" href="isFunction.html">
                  modules/isFunction.js
                </a>
              
                
                <a class="source" href="isMap.html">
                  modules/isMap.js
                </a>
              
                
                <a class="source" href="isMatch.html">
                  modules/isMatch.js
                </a>
              
                
                <a class="source" href="isNaN.html">
                  modules/isNaN.js
                </a>
              
                
                <a class="source" href="isNull.html">
                  modules/isNull.js
                </a>
              
                
                <a class="source" href="isNumber.html">
                  modules/isNumber.js
                </a>
              
                
                <a class="source" href="isObject.html">
                  modules/isObject.js
                </a>
              
                
                <a class="source" href="isRegExp.html">
                  modules/isRegExp.js
                </a>
              
                
                <a class="source" href="isSet.html">
                  modules/isSet.js
                </a>
              
                
                <a class="source" href="isString.html">
                  modules/isString.js
                </a>
              
                
                <a class="source" href="isSymbol.html">
                  modules/isSymbol.js
                </a>
              
                
                <a class="source" href="isTypedArray.html">
                  modules/isTypedArray.js
                </a>
              
                
                <a class="source" href="isUndefined.html">
                  modules/isUndefined.js
                </a>
              
                
                <a class="source" href="isWeakMap.html">
                  modules/isWeakMap.js
                </a>
              
                
                <a class="source" href="isWeakSet.html">
                  modules/isWeakSet.js
                </a>
              
                
                <a class="source" href="iteratee.html">
                  modules/iteratee.js
                </a>
              
                
                <a class="source" href="keys.html">
                  modules/keys.js
                </a>
              
                
                <a class="source" href="last.html">
                  modules/last.js
                </a>
              
                
                <a class="source" href="lastIndexOf.html">
                  modules/lastIndexOf.js
                </a>
              
                
                <a class="source" href="map.html">
                  modules/map.js
                </a>
              
                
                <a class="source" href="mapObject.html">
                  modules/mapObject.js
                </a>
              
                
                <a class="source" href="matcher.html">
                  modules/matcher.js
                </a>
              
                
                <a class="source" href="max.html">
                  modules/max.js
                </a>
              
                
                <a class="source" href="memoize.html">
                  modules/memoize.js
                </a>
              
                
                <a class="source" href="min.html">
                  modules/min.js
                </a>
              
                
                <a class="source" href="mixin.html">
                  modules/mixin.js
                </a>
              
                
                <a class="source" href="negate.html">
                  modules/negate.js
                </a>
              
                
                <a class="source" href="noop.html">
                  modules/noop.js
                </a>
              
                
                <a class="source" href="now.html">
                  modules/now.js
                </a>
              
                
                <a class="source" href="object.html">
                  modules/object.js
                </a>
              
                
                <a class="source" href="omit.html">
                  modules/omit.js
                </a>
              
                
                <a class="source" href="once.html">
                  modules/once.js
                </a>
              
                
                <a class="source" href="pairs.html">
                  modules/pairs.js
                </a>
              
                
                <a class="source" href="partial.html">
                  modules/partial.js
                </a>
              
                
                <a class="source" href="partition.html">
                  modules/partition.js
                </a>
              
                
                <a class="source" href="pick.html">
                  modules/pick.js
                </a>
              
                
                <a class="source" href="pluck.html">
                  modules/pluck.js
                </a>
              
                
                <a class="source" href="property.html">
                  modules/property.js
                </a>
              
                
                <a class="source" href="propertyOf.html">
                  modules/propertyOf.js
                </a>
              
                
                <a class="source" href="random.html">
                  modules/random.js
                </a>
              
                
                <a class="source" href="range.html">
                  modules/range.js
                </a>
              
                
                <a class="source" href="reduce.html">
                  modules/reduce.js
                </a>
              
                
                <a class="source" href="reduceRight.html">
                  modules/reduceRight.js
                </a>
              
                
                <a class="source" href="reject.html">
                  modules/reject.js
                </a>
              
                
                <a class="source" href="rest.html">
                  modules/rest.js
                </a>
              
                
                <a class="source" href="restArguments.html">
                  modules/restArguments.js
                </a>
              
                
                <a class="source" href="result.html">
                  modules/result.js
                </a>
              
                
                <a class="source" href="sample.html">
                  modules/sample.js
                </a>
              
                
                <a class="source" href="shuffle.html">
                  modules/shuffle.js
                </a>
              
                
                <a class="source" href="size.html">
                  modules/size.js
                </a>
              
                
                <a class="source" href="some.html">
                  modules/some.js
                </a>
              
                
                <a class="source" href="sortBy.html">
                  modules/sortBy.js
                </a>
              
                
                <a class="source" href="sortedIndex.html">
                  modules/sortedIndex.js
                </a>
              
                
                <a class="source" href="tap.html">
                  modules/tap.js
                </a>
              
                
                <a class="source" href="template.html">
                  modules/template.js
                </a>
              
                
                <a class="source" href="templateSettings.html">
                  modules/templateSettings.js
                </a>
              
                
                <a class="source" href="throttle.html">
                  modules/throttle.js
                </a>
              
                
                <a class="source" href="times.html">
                  modules/times.js
                </a>
              
                
                <a class="source" href="toArray.html">
                  modules/toArray.js
                </a>
              
                
                <a class="source" href="toPath.html">
                  modules/toPath.js
                </a>
              
                
                <a class="source" href="underscore-array-methods.html">
                  modules/underscore-array-methods.js
                </a>
              
                
                <a class="source" href="underscore.html">
                  modules/underscore.js
                </a>
              
                
                <a class="source" href="unescape.html">
                  modules/unescape.js
                </a>
              
                
                <a class="source" href="union.html">
                  modules/union.js
                </a>
              
                
                <a class="source" href="uniq.html">
                  modules/uniq.js
                </a>
              
                
                <a class="source" href="uniqueId.html">
                  modules/uniqueId.js
                </a>
              
                
                <a class="source" href="unzip.html">
                  modules/unzip.js
                </a>
              
                
                <a class="source" href="values.html">
                  modules/values.js
                </a>
              
                
                <a class="source" href="where.html">
                  modules/where.js
                </a>
              
                
                <a class="source" href="without.html">
                  modules/without.js
                </a>
              
                
                <a class="source" href="wrap.html">
                  modules/wrap.js
                </a>
              
                
                <a class="source" href="zip.html">
                  modules/zip.js
                </a>
              
            </div>
          </div>
        </li>
      </ul>
    
    <ul class="sections">
        
          <li id="title">
              <div class="annotation">
                  <h1>_baseCreate.js</h1>
              </div>
          </li>
        
        
        
        <li id="section-1">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-1">&#182;</a>
              </div>
              
            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">import</span> isObject <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./isObject.js&#x27;</span>;
<span class="hljs-keyword">import</span> { nativeCreate } <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./_setup.js&#x27;</span>;</pre></div></div>
            
        </li>
        
        
        <li id="section-2">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-2">&#182;</a>
              </div>
              <p>Create a naked function reference for surrogate-prototype-swapping.</p>

            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">function</span> <span class="hljs-title function_">ctor</span>(<span class="hljs-params"></span>) {
  <span class="hljs-keyword">return</span> <span class="hljs-keyword">function</span>(<span class="hljs-params"></span>){};
}</pre></div></div>
            
        </li>
        
        
        <li id="section-3">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-3">&#182;</a>
              </div>
              <p>An internal function for creating a new object that inherits from another.</p>

            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> <span class="hljs-keyword">function</span> <span class="hljs-title function_">baseCreate</span>(<span class="hljs-params">prototype</span>) {
  <span class="hljs-keyword">if</span> (!<span class="hljs-title function_">isObject</span>(prototype)) <span class="hljs-keyword">return</span> {};
  <span class="hljs-keyword">if</span> (nativeCreate) <span class="hljs-keyword">return</span> <span class="hljs-title function_">nativeCreate</span>(prototype);
  <span class="hljs-keyword">var</span> <span class="hljs-title class_">Ctor</span> = <span class="hljs-title function_">ctor</span>();
  <span class="hljs-title class_">Ctor</span>.<span class="hljs-property"><span class="hljs-keyword">prototype</span></span> = prototype;
  <span class="hljs-keyword">var</span> result = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Ctor</span>;
  <span class="hljs-title class_">Ctor</span>.<span class="hljs-property"><span class="hljs-keyword">prototype</span></span> = <span class="hljs-literal">null</span>;
  <span class="hljs-keyword">return</span> result;
}</pre></div></div>
            
        </li>
        
    </ul>
  </div>
  
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
  <script>
    // We run a script at page load to inject the links after the fact.
    // It would be more elegant to do this at page generation time, but
    // unfortunately the docco infrastructure doesn't support this very well.
    // Highlighted code is passed along as an unparsed HTML string, which would
    // make this very tricky. In the script below, we exploit the fact that the
    // HTML has already been parsed by the browser.
    (function() {
      // Define a regex for stripping the .html extension from anchor hrefs.
      var extPattern = /\.html$/;
      // Collect all module paths that we have an HTML page for.
      var moduleMap = {};
      $('#jump_page a.source').each(function() {
        // Fortunately, translating anchor hrefs to ES module paths is easy,
        // because both systems work relative to the current file by default.
        var href = $(this).attr('href');
        var path = href.replace(extPattern, '').split('/');
        if (path[0] !== '..') path.unshift('.');
        var normPath = path.join('/');
        // Support both paths with and without extension.
        moduleMap[normPath] = moduleMap[normPath + '.js'] = href;
      });
      // Find all 'from' keywords followed by a string (ES6 import statements).
      $('.hljs-keyword').filter(function() {
        var text = $(this).text();
        return text === 'from' || text === 'import';
      }).next('.hljs-string').each(function() {
        // Finally, for each of these strings, replace it by a link if we have
        // a matching HTML page.
        var text = $(this).text();
        var quote = text[0];
        var path = text.slice(1, -1);
        var matchingDoc = moduleMap[path];
        if (!matchingDoc) return;
        $(this).html(
          quote + '<a href="' + matchingDoc + '">' + path + '</a>' + quote
        );
      });
    }());
  </script>
  
</body>
</html>


================================================
FILE: docs/modules/_baseIteratee.html
================================================

<!DOCTYPE html>

<html>
<head>
  <title>_baseIteratee.js</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="../docco.css" />
</head>
<body>
  <div id="container">
    <div id="background"></div>
    
      <ul id="jump_to">
        <li>
          <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
          <a class="small" href="javascript:void(0);">+</a>
          <div id="jump_wrapper">
          <div id="jump_page_wrapper">
            <div id="jump_page">
              
                
                <a class="source" href="_baseCreate.html">
                  modules/_baseCreate.js
                </a>
              
                
                <a class="source" href="_baseIteratee.html">
                  modules/_baseIteratee.js
                </a>
              
                
                <a class="source" href="_cb.html">
                  modules/_cb.js
                </a>
              
                
                <a class="source" href="_chainResult.html">
                  modules/_chainResult.js
                </a>
              
                
                <a class="source" href="_collectNonEnumProps.html">
                  modules/_collectNonEnumProps.js
                </a>
              
                
                <a class="source" href="_createAssigner.html">
                  modules/_createAssigner.js
                </a>
              
                
                <a class="source" href="_createEscaper.html">
                  modules/_createEscaper.js
                </a>
              
                
                <a class="source" href="_createIndexFinder.html">
                  modules/_createIndexFinder.js
                </a>
              
                
                <a class="source" href="_createPredicateIndexFinder.html">
                  modules/_createPredicateIndexFinder.js
                </a>
              
                
                <a class="source" href="_createReduce.html">
                  modules/_createReduce.js
                </a>
              
                
                <a class="source" href="_createSizePropertyCheck.html">
                  modules/_createSizePropertyCheck.js
                </a>
              
                
                <a class="source" href="_deepGet.html">
                  modules/_deepGet.js
                </a>
              
                
                <a class="source" href="_escapeMap.html">
                  modules/_escapeMap.js
                </a>
              
                
                <a class="source" href="_executeBound.html">
                  modules/_executeBound.js
                </a>
              
                
                <a class="source" href="_flatten.html">
                  modules/_flatten.js
                </a>
              
                
                <a class="source" href="_getByteLength.html">
                  modules/_getByteLength.js
                </a>
              
                
                <a class="source" href="_getLength.html">
                  modules/_getLength.js
                </a>
              
                
                <a class="source" href="_group.html">
                  modules/_group.js
                </a>
              
                
                <a class="source" href="_has.html">
                  modules/_has.js
                </a>
              
                
                <a class="source" href="_hasObjectTag.html">
                  modules/_hasObjectTag.js
                </a>
              
                
                <a class="source" href="_isArrayLike.html">
                  modules/_isArrayLike.js
                </a>
              
                
                <a class="source" href="_isBufferLike.html">
                  modules/_isBufferLike.js
                </a>
              
                
                <a class="source" href="_keyInObj.html">
                  modules/_keyInObj.js
                </a>
              
                
                <a class="source" href="_methodFingerprint.html">
                  modules/_methodFingerprint.js
                </a>
              
                
                <a class="source" href="_optimizeCb.html">
                  modules/_optimizeCb.js
                </a>
              
                
                <a class="source" href="_setup.html">
                  modules/_setup.js
                </a>
              
                
                <a class="source" href="_shallowProperty.html">
                  modules/_shallowProperty.js
                </a>
              
                
                <a class="source" href="_stringTagBug.html">
                  modules/_stringTagBug.js
                </a>
              
                
                <a class="source" href="_tagTester.html">
                  modules/_tagTester.js
                </a>
              
                
                <a class="source" href="_toBufferView.html">
                  modules/_toBufferView.js
                </a>
              
                
                <a class="source" href="_toPath.html">
                  modules/_toPath.js
                </a>
              
                
                <a class="source" href="_unescapeMap.html">
                  modules/_unescapeMap.js
                </a>
              
                
                <a class="source" href="after.html">
                  modules/after.js
                </a>
              
                
                <a class="source" href="allKeys.html">
                  modules/allKeys.js
                </a>
              
                
                <a class="source" href="before.html">
                  modules/before.js
                </a>
              
                
                <a class="source" href="bind.html">
                  modules/bind.js
                </a>
              
                
                <a class="source" href="bindAll.html">
                  modules/bindAll.js
                </a>
              
                
                <a class="source" href="chain.html">
                  modules/chain.js
                </a>
              
                
                <a class="source" href="chunk.html">
                  modules/chunk.js
                </a>
              
                
                <a class="source" href="clone.html">
                  modules/clone.js
                </a>
              
                
                <a class="source" href="compact.html">
                  modules/compact.js
                </a>
              
                
                <a class="source" href="compose.html">
                  modules/compose.js
                </a>
              
                
                <a class="source" href="constant.html">
                  modules/constant.js
                </a>
              
                
                <a class="source" href="contains.html">
                  modules/contains.js
                </a>
              
                
                <a class="source" href="countBy.html">
                  modules/countBy.js
                </a>
              
                
                <a class="source" href="create.html">
                  modules/create.js
                </a>
              
                
                <a class="source" href="debounce.html">
                  modules/debounce.js
                </a>
              
                
                <a class="source" href="defaults.html">
                  modules/defaults.js
                </a>
              
                
                <a class="source" href="defer.html">
                  modules/defer.js
                </a>
              
                
                <a class="source" href="delay.html">
                  modules/delay.js
                </a>
              
                
                <a class="source" href="difference.html">
                  modules/difference.js
                </a>
              
                
                <a class="source" href="each.html">
                  modules/each.js
                </a>
              
                
                <a class="source" href="escape.html">
                  modules/escape.js
                </a>
              
                
                <a class="source" href="every.html">
                  modules/every.js
                </a>
              
                
                <a class="source" href="extend.html">
                  modules/extend.js
                </a>
              
                
                <a class="source" href="extendOwn.html">
                  modules/extendOwn.js
                </a>
              
                
                <a class="source" href="filter.html">
                  modules/filter.js
                </a>
              
                
                <a class="source" href="find.html">
                  modules/find.js
                </a>
              
                
                <a class="source" href="findIndex.html">
                  modules/findIndex.js
                </a>
              
                
                <a class="source" href="findKey.html">
                  modules/findKey.js
                </a>
              
                
                <a class="source" href="findLastIndex.html">
                  modules/findLastIndex.js
                </a>
              
                
                <a class="source" href="findWhere.html">
                  modules/findWhere.js
                </a>
              
                
                <a class="source" href="first.html">
                  modules/first.js
                </a>
              
                
                <a class="source" href="flatten.html">
                  modules/flatten.js
                </a>
              
                
                <a class="source" href="functions.html">
                  modules/functions.js
                </a>
              
                
                <a class="source" href="get.html">
                  modules/get.js
                </a>
              
                
                <a class="source" href="groupBy.html">
                  modules/groupBy.js
                </a>
              
                
                <a class="source" href="has.html">
                  modules/has.js
                </a>
              
                
                <a class="source" href="identity.html">
                  modules/identity.js
                </a>
              
                
                <a class="source" href="index-all.html">
                  modules/index-all.js
                </a>
              
                
                <a class="source" href="index-default.html">
                  modules/index-default.js
                </a>
              
                
                <a class="source" href="index.html">
                  modules/index.js
                </a>
              
                
                <a class="source" href="indexBy.html">
                  modules/indexBy.js
                </a>
              
                
                <a class="source" href="indexOf.html">
                  modules/indexOf.js
                </a>
              
                
                <a class="source" href="initial.html">
                  modules/initial.js
                </a>
              
                
                <a class="source" href="intersection.html">
                  modules/intersection.js
                </a>
              
                
                <a class="source" href="invert.html">
                  modules/invert.js
                </a>
              
                
                <a class="source" href="invoke.html">
                  modules/invoke.js
                </a>
              
                
                <a class="source" href="isArguments.html">
                  modules/isArguments.js
                </a>
              
                
                <a class="source" href="isArray.html">
                  modules/isArray.js
                </a>
              
                
                <a class="source" href="isArrayBuffer.html">
                  modules/isArrayBuffer.js
                </a>
              
                
                <a class="source" href="isBoolean.html">
                  modules/isBoolean.js
                </a>
              
                
                <a class="source" href="isDataView.html">
                  modules/isDataView.js
                </a>
              
                
                <a class="source" href="isDate.html">
                  modules/isDate.js
                </a>
              
                
                <a class="source" href="isElement.html">
                  modules/isElement.js
                </a>
              
                
                <a class="source" href="isEmpty.html">
                  modules/isEmpty.js
                </a>
              
                
                <a class="source" href="isEqual.html">
                  modules/isEqual.js
                </a>
              
                
                <a class="source" href="isError.html">
                  modules/isError.js
                </a>
              
                
                <a class="source" href="isFinite.html">
                  modules/isFinite.js
                </a>
              
                
                <a class="source" href="isFunction.html">
                  modules/isFunction.js
                </a>
              
                
                <a class="source" href="isMap.html">
                  modules/isMap.js
                </a>
              
                
                <a class="source" href="isMatch.html">
                  modules/isMatch.js
                </a>
              
                
                <a class="source" href="isNaN.html">
                  modules/isNaN.js
                </a>
              
                
                <a class="source" href="isNull.html">
                  modules/isNull.js
                </a>
              
                
                <a class="source" href="isNumber.html">
                  modules/isNumber.js
                </a>
              
                
                <a class="source" href="isObject.html">
                  modules/isObject.js
                </a>
              
                
                <a class="source" href="isRegExp.html">
                  modules/isRegExp.js
                </a>
              
                
                <a class="source" href="isSet.html">
                  modules/isSet.js
                </a>
              
                
                <a class="source" href="isString.html">
                  modules/isString.js
                </a>
              
                
                <a class="source" href="isSymbol.html">
                  modules/isSymbol.js
                </a>
              
                
                <a class="source" href="isTypedArray.html">
                  modules/isTypedArray.js
                </a>
              
                
                <a class="source" href="isUndefined.html">
                  modules/isUndefined.js
                </a>
              
                
                <a class="source" href="isWeakMap.html">
                  modules/isWeakMap.js
                </a>
              
                
                <a class="source" href="isWeakSet.html">
                  modules/isWeakSet.js
                </a>
              
                
                <a class="source" href="iteratee.html">
                  modules/iteratee.js
                </a>
              
                
                <a class="source" href="keys.html">
                  modules/keys.js
                </a>
              
                
                <a class="source" href="last.html">
                  modules/last.js
                </a>
              
                
                <a class="source" href="lastIndexOf.html">
                  modules/lastIndexOf.js
                </a>
              
                
                <a class="source" href="map.html">
                  modules/map.js
                </a>
              
                
                <a class="source" href="mapObject.html">
                  modules/mapObject.js
                </a>
              
                
                <a class="source" href="matcher.html">
                  modules/matcher.js
                </a>
              
                
                <a class="source" href="max.html">
                  modules/max.js
                </a>
              
                
                <a class="source" href="memoize.html">
                  modules/memoize.js
                </a>
              
                
                <a class="source" href="min.html">
                  modules/min.js
                </a>
              
                
                <a class="source" href="mixin.html">
                  modules/mixin.js
                </a>
              
                
                <a class="source" href="negate.html">
                  modules/negate.js
                </a>
              
                
                <a class="source" href="noop.html">
                  modules/noop.js
                </a>
              
                
                <a class="source" href="now.html">
                  modules/now.js
                </a>
              
                
                <a class="source" href="object.html">
                  modules/object.js
                </a>
              
                
                <a class="source" href="omit.html">
                  modules/omit.js
                </a>
              
                
                <a class="source" href="once.html">
                  modules/once.js
                </a>
              
                
                <a class="source" href="pairs.html">
                  modules/pairs.js
                </a>
              
                
                <a class="source" href="partial.html">
                  modules/partial.js
                </a>
              
                
                <a class="source" href="partition.html">
                  modules/partition.js
                </a>
              
                
                <a class="source" href="pick.html">
                  modules/pick.js
                </a>
              
                
                <a class="source" href="pluck.html">
                  modules/pluck.js
                </a>
              
                
                <a class="source" href="property.html">
                  modules/property.js
                </a>
              
                
                <a class="source" href="propertyOf.html">
                  modules/propertyOf.js
                </a>
              
                
                <a class="source" href="random.html">
                  modules/random.js
                </a>
              
                
                <a class="source" href="range.html">
                  modules/range.js
                </a>
              
                
                <a class="source" href="reduce.html">
                  modules/reduce.js
                </a>
              
                
                <a class="source" href="reduceRight.html">
                  modules/reduceRight.js
                </a>
              
                
                <a class="source" href="reject.html">
                  modules/reject.js
                </a>
              
                
                <a class="source" href="rest.html">
                  modules/rest.js
                </a>
              
                
                <a class="source" href="restArguments.html">
                  modules/restArguments.js
                </a>
              
                
                <a class="source" href="result.html">
                  modules/result.js
                </a>
              
                
                <a class="source" href="sample.html">
                  modules/sample.js
                </a>
              
                
                <a class="source" href="shuffle.html">
                  modules/shuffle.js
                </a>
              
                
                <a class="source" href="size.html">
                  modules/size.js
                </a>
              
                
                <a class="source" href="some.html">
                  modules/some.js
                </a>
              
                
                <a class="source" href="sortBy.html">
                  modules/sortBy.js
                </a>
              
                
                <a class="source" href="sortedIndex.html">
                  modules/sortedIndex.js
                </a>
              
                
                <a class="source" href="tap.html">
                  modules/tap.js
                </a>
              
                
                <a class="source" href="template.html">
                  modules/template.js
                </a>
              
                
                <a class="source" href="templateSettings.html">
                  modules/templateSettings.js
                </a>
              
                
                <a class="source" href="throttle.html">
                  modules/throttle.js
                </a>
              
                
                <a class="source" href="times.html">
                  modules/times.js
                </a>
              
                
                <a class="source" href="toArray.html">
                  modules/toArray.js
                </a>
              
                
                <a class="source" href="toPath.html">
                  modules/toPath.js
                </a>
              
                
                <a class="source" href="underscore-array-methods.html">
                  modules/underscore-array-methods.js
                </a>
              
                
                <a class="source" href="underscore.html">
                  modules/underscore.js
                </a>
              
                
                <a class="source" href="unescape.html">
                  modules/unescape.js
                </a>
              
                
                <a class="source" href="union.html">
                  modules/union.js
                </a>
              
                
                <a class="source" href="uniq.html">
                  modules/uniq.js
                </a>
              
                
                <a class="source" href="uniqueId.html">
                  modules/uniqueId.js
                </a>
              
                
                <a class="source" href="unzip.html">
                  modules/unzip.js
                </a>
              
                
                <a class="source" href="values.html">
                  modules/values.js
                </a>
              
                
                <a class="source" href="where.html">
                  modules/where.js
                </a>
              
                
                <a class="source" href="without.html">
                  modules/without.js
                </a>
              
                
                <a class="source" href="wrap.html">
                  modules/wrap.js
                </a>
              
                
                <a class="source" href="zip.html">
                  modules/zip.js
                </a>
              
            </div>
          </div>
        </li>
      </ul>
    
    <ul class="sections">
        
          <li id="title">
              <div class="annotation">
                  <h1>_baseIteratee.js</h1>
              </div>
          </li>
        
        
        
        <li id="section-1">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-1">&#182;</a>
              </div>
              
            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">import</span> identity <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./identity.js&#x27;</span>;
<span class="hljs-keyword">import</span> isFunction <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./isFunction.js&#x27;</span>;
<span class="hljs-keyword">import</span> isObject <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./isObject.js&#x27;</span>;
<span class="hljs-keyword">import</span> isArray <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./isArray.js&#x27;</span>;
<span class="hljs-keyword">import</span> matcher <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./matcher.js&#x27;</span>;
<span class="hljs-keyword">import</span> property <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./property.js&#x27;</span>;
<span class="hljs-keyword">import</span> optimizeCb <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./_optimizeCb.js&#x27;</span>;</pre></div></div>
            
        </li>
        
        
        <li id="section-2">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-2">&#182;</a>
              </div>
              <p>An internal function to generate callbacks that can be applied to each
element in a collection, returning the desired result — either <code>_.identity</code>,
an arbitrary callback, a property matcher, or a property accessor.</p>

            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> <span class="hljs-keyword">function</span> <span class="hljs-title function_">baseIteratee</span>(<span class="hljs-params">value, context, argCount</span>) {
  <span class="hljs-keyword">if</span> (value == <span class="hljs-literal">null</span>) <span class="hljs-keyword">return</span> identity;
  <span class="hljs-keyword">if</span> (<span class="hljs-title function_">isFunction</span>(value)) <span class="hljs-keyword">return</span> <span class="hljs-title function_">optimizeCb</span>(value, context, argCount);
  <span class="hljs-keyword">if</span> (<span class="hljs-title function_">isObject</span>(value) &amp;&amp; !<span class="hljs-title function_">isArray</span>(value)) <span class="hljs-keyword">return</span> <span class="hljs-title function_">matcher</span>(value);
  <span class="hljs-keyword">return</span> <span class="hljs-title function_">property</span>(value);
}</pre></div></div>
            
        </li>
        
    </ul>
  </div>
  
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
  <script>
    // We run a script at page load to inject the links after the fact.
    // It would be more elegant to do this at page generation time, but
    // unfortunately the docco infrastructure doesn't support this very well.
    // Highlighted code is passed along as an unparsed HTML string, which would
    // make this very tricky. In the script below, we exploit the fact that the
    // HTML has already been parsed by the browser.
    (function() {
      // Define a regex for stripping the .html extension from anchor hrefs.
      var extPattern = /\.html$/;
      // Collect all module paths that we have an HTML page for.
      var moduleMap = {};
      $('#jump_page a.source').each(function() {
        // Fortunately, translating anchor hrefs to ES module paths is easy,
        // because both systems work relative to the current file by default.
        var href = $(this).attr('href');
        var path = href.replace(extPattern, '').split('/');
        if (path[0] !== '..') path.unshift('.');
        var normPath = path.join('/');
        // Support both paths with and without extension.
        moduleMap[normPath] = moduleMap[normPath + '.js'] = href;
      });
      // Find all 'from' keywords followed by a string (ES6 import statements).
      $('.hljs-keyword').filter(function() {
        var text = $(this).text();
        return text === 'from' || text === 'import';
      }).next('.hljs-string').each(function() {
        // Finally, for each of these strings, replace it by a link if we have
        // a matching HTML page.
        var text = $(this).text();
        var quote = text[0];
        var path = text.slice(1, -1);
        var matchingDoc = moduleMap[path];
        if (!matchingDoc) return;
        $(this).html(
          quote + '<a href="' + matchingDoc + '">' + path + '</a>' + quote
        );
      });
    }());
  </script>
  
</body>
</html>


================================================
FILE: docs/modules/_cb.html
================================================

<!DOCTYPE html>

<html>
<head>
  <title>_cb.js</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="../docco.css" />
</head>
<body>
  <div id="container">
    <div id="background"></div>
    
      <ul id="jump_to">
        <li>
          <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
          <a class="small" href="javascript:void(0);">+</a>
          <div id="jump_wrapper">
          <div id="jump_page_wrapper">
            <div id="jump_page">
              
                
                <a class="source" href="_baseCreate.html">
                  modules/_baseCreate.js
                </a>
              
                
                <a class="source" href="_baseIteratee.html">
                  modules/_baseIteratee.js
                </a>
              
                
                <a class="source" href="_cb.html">
                  modules/_cb.js
                </a>
              
                
                <a class="source" href="_chainResult.html">
                  modules/_chainResult.js
                </a>
              
                
                <a class="source" href="_collectNonEnumProps.html">
                  modules/_collectNonEnumProps.js
                </a>
              
                
                <a class="source" href="_createAssigner.html">
                  modules/_createAssigner.js
                </a>
              
                
                <a class="source" href="_createEscaper.html">
                  modules/_createEscaper.js
                </a>
              
                
                <a class="source" href="_createIndexFinder.html">
                  modules/_createIndexFinder.js
                </a>
              
                
                <a class="source" href="_createPredicateIndexFinder.html">
                  modules/_createPredicateIndexFinder.js
                </a>
              
                
                <a class="source" href="_createReduce.html">
                  modules/_createReduce.js
                </a>
              
                
                <a class="source" href="_createSizePropertyCheck.html">
                  modules/_createSizePropertyCheck.js
                </a>
              
                
                <a class="source" href="_deepGet.html">
                  modules/_deepGet.js
                </a>
              
                
                <a class="source" href="_escapeMap.html">
                  modules/_escapeMap.js
                </a>
              
                
                <a class="source" href="_executeBound.html">
                  modules/_executeBound.js
                </a>
              
                
                <a class="source" href="_flatten.html">
                  modules/_flatten.js
                </a>
              
                
                <a class="source" href="_getByteLength.html">
                  modules/_getByteLength.js
                </a>
              
                
                <a class="source" href="_getLength.html">
                  modules/_getLength.js
                </a>
              
                
                <a class="source" href="_group.html">
                  modules/_group.js
                </a>
              
                
                <a class="source" href="_has.html">
                  modules/_has.js
                </a>
              
                
                <a class="source" href="_hasObjectTag.html">
                  modules/_hasObjectTag.js
                </a>
              
                
                <a class="source" href="_isArrayLike.html">
                  modules/_isArrayLike.js
                </a>
              
                
                <a class="source" href="_isBufferLike.html">
                  modules/_isBufferLike.js
                </a>
              
                
                <a class="source" href="_keyInObj.html">
                  modules/_keyInObj.js
                </a>
              
                
                <a class="source" href="_methodFingerprint.html">
                  modules/_methodFingerprint.js
                </a>
              
                
                <a class="source" href="_optimizeCb.html">
                  modules/_optimizeCb.js
                </a>
              
                
                <a class="source" href="_setup.html">
                  modules/_setup.js
                </a>
              
                
                <a class="source" href="_shallowProperty.html">
                  modules/_shallowProperty.js
                </a>
              
                
                <a class="source" href="_stringTagBug.html">
                  modules/_stringTagBug.js
                </a>
              
                
                <a class="source" href="_tagTester.html">
                  modules/_tagTester.js
                </a>
              
                
                <a class="source" href="_toBufferView.html">
                  modules/_toBufferView.js
                </a>
              
                
                <a class="source" href="_toPath.html">
                  modules/_toPath.js
                </a>
              
                
                <a class="source" href="_unescapeMap.html">
                  modules/_unescapeMap.js
                </a>
              
                
                <a class="source" href="after.html">
                  modules/after.js
                </a>
              
                
                <a class="source" href="allKeys.html">
                  modules/allKeys.js
                </a>
              
                
                <a class="source" href="before.html">
                  modules/before.js
                </a>
              
                
                <a class="source" href="bind.html">
                  modules/bind.js
                </a>
              
                
                <a class="source" href="bindAll.html">
                  modules/bindAll.js
                </a>
              
                
                <a class="source" href="chain.html">
                  modules/chain.js
                </a>
              
                
                <a class="source" href="chunk.html">
                  modules/chunk.js
                </a>
              
                
                <a class="source" href="clone.html">
                  modules/clone.js
                </a>
              
                
                <a class="source" href="compact.html">
                  modules/compact.js
                </a>
              
                
                <a class="source" href="compose.html">
                  modules/compose.js
                </a>
              
                
                <a class="source" href="constant.html">
                  modules/constant.js
                </a>
              
                
                <a class="source" href="contains.html">
                  modules/contains.js
                </a>
              
                
                <a class="source" href="countBy.html">
                  modules/countBy.js
                </a>
              
                
                <a class="source" href="create.html">
                  modules/create.js
                </a>
              
                
                <a class="source" href="debounce.html">
                  modules/debounce.js
                </a>
              
                
                <a class="source" href="defaults.html">
                  modules/defaults.js
                </a>
              
                
                <a class="source" href="defer.html">
                  modules/defer.js
                </a>
              
                
                <a class="source" href="delay.html">
                  modules/delay.js
                </a>
              
                
                <a class="source" href="difference.html">
                  modules/difference.js
                </a>
              
                
                <a class="source" href="each.html">
                  modules/each.js
                </a>
              
                
                <a class="source" href="escape.html">
                  modules/escape.js
                </a>
              
                
                <a class="source" href="every.html">
                  modules/every.js
                </a>
              
                
                <a class="source" href="extend.html">
                  modules/extend.js
                </a>
              
                
                <a class="source" href="extendOwn.html">
                  modules/extendOwn.js
                </a>
              
                
                <a class="source" href="filter.html">
                  modules/filter.js
                </a>
              
                
                <a class="source" href="find.html">
                  modules/find.js
                </a>
              
                
                <a class="source" href="findIndex.html">
                  modules/findIndex.js
                </a>
              
                
                <a class="source" href="findKey.html">
                  modules/findKey.js
                </a>
              
                
                <a class="source" href="findLastIndex.html">
                  modules/findLastIndex.js
                </a>
              
                
                <a class="source" href="findWhere.html">
                  modules/findWhere.js
                </a>
              
                
                <a class="source" href="first.html">
                  modules/first.js
                </a>
              
                
                <a class="source" href="flatten.html">
                  modules/flatten.js
                </a>
              
                
                <a class="source" href="functions.html">
                  modules/functions.js
                </a>
              
                
                <a class="source" href="get.html">
                  modules/get.js
                </a>
              
                
                <a class="source" href="groupBy.html">
                  modules/groupBy.js
                </a>
              
                
                <a class="source" href="has.html">
                  modules/has.js
                </a>
              
                
                <a class="source" href="identity.html">
                  modules/identity.js
                </a>
              
                
                <a class="source" href="index-all.html">
                  modules/index-all.js
                </a>
              
                
                <a class="source" href="index-default.html">
                  modules/index-default.js
                </a>
              
                
                <a class="source" href="index.html">
                  modules/index.js
                </a>
              
                
                <a class="source" href="indexBy.html">
                  modules/indexBy.js
                </a>
              
                
                <a class="source" href="indexOf.html">
                  modules/indexOf.js
                </a>
              
                
                <a class="source" href="initial.html">
                  modules/initial.js
                </a>
              
                
                <a class="source" href="intersection.html">
                  modules/intersection.js
                </a>
              
                
                <a class="source" href="invert.html">
                  modules/invert.js
                </a>
              
                
                <a class="source" href="invoke.html">
                  modules/invoke.js
                </a>
              
                
                <a class="source" href="isArguments.html">
                  modules/isArguments.js
                </a>
              
                
                <a class="source" href="isArray.html">
                  modules/isArray.js
                </a>
              
                
                <a class="source" href="isArrayBuffer.html">
                  modules/isArrayBuffer.js
                </a>
              
                
                <a class="source" href="isBoolean.html">
                  modules/isBoolean.js
                </a>
              
                
                <a class="source" href="isDataView.html">
                  modules/isDataView.js
                </a>
              
                
                <a class="source" href="isDate.html">
                  modules/isDate.js
                </a>
              
                
                <a class="source" href="isElement.html">
                  modules/isElement.js
                </a>
              
                
                <a class="source" href="isEmpty.html">
                  modules/isEmpty.js
                </a>
              
                
                <a class="source" href="isEqual.html">
                  modules/isEqual.js
                </a>
              
                
                <a class="source" href="isError.html">
                  modules/isError.js
                </a>
              
                
                <a class="source" href="isFinite.html">
                  modules/isFinite.js
                </a>
              
                
                <a class="source" href="isFunction.html">
                  modules/isFunction.js
                </a>
              
                
                <a class="source" href="isMap.html">
                  modules/isMap.js
                </a>
              
                
                <a class="source" href="isMatch.html">
                  modules/isMatch.js
                </a>
              
                
                <a class="source" href="isNaN.html">
                  modules/isNaN.js
                </a>
              
                
                <a class="source" href="isNull.html">
                  modules/isNull.js
                </a>
              
                
                <a class="source" href="isNumber.html">
                  modules/isNumber.js
                </a>
              
                
                <a class="source" href="isObject.html">
                  modules/isObject.js
                </a>
              
                
                <a class="source" href="isRegExp.html">
                  modules/isRegExp.js
                </a>
              
                
                <a class="source" href="isSet.html">
                  modules/isSet.js
                </a>
              
                
                <a class="source" href="isString.html">
                  modules/isString.js
                </a>
              
                
                <a class="source" href="isSymbol.html">
                  modules/isSymbol.js
                </a>
              
                
                <a class="source" href="isTypedArray.html">
                  modules/isTypedArray.js
                </a>
              
                
                <a class="source" href="isUndefined.html">
                  modules/isUndefined.js
                </a>
              
                
                <a class="source" href="isWeakMap.html">
                  modules/isWeakMap.js
                </a>
              
                
                <a class="source" href="isWeakSet.html">
                  modules/isWeakSet.js
                </a>
              
                
                <a class="source" href="iteratee.html">
                  modules/iteratee.js
                </a>
              
                
                <a class="source" href="keys.html">
                  modules/keys.js
                </a>
              
                
                <a class="source" href="last.html">
                  modules/last.js
                </a>
              
                
                <a class="source" href="lastIndexOf.html">
                  modules/lastIndexOf.js
                </a>
              
                
                <a class="source" href="map.html">
                  modules/map.js
                </a>
              
                
                <a class="source" href="mapObject.html">
                  modules/mapObject.js
                </a>
              
                
                <a class="source" href="matcher.html">
                  modules/matcher.js
                </a>
              
                
                <a class="source" href="max.html">
                  modules/max.js
                </a>
              
                
                <a class="source" href="memoize.html">
                  modules/memoize.js
                </a>
              
                
                <a class="source" href="min.html">
                  modules/min.js
                </a>
              
                
                <a class="source" href="mixin.html">
                  modules/mixin.js
                </a>
              
                
                <a class="source" href="negate.html">
                  modules/negate.js
                </a>
              
                
                <a class="source" href="noop.html">
                  modules/noop.js
                </a>
              
                
                <a class="source" href="now.html">
                  modules/now.js
                </a>
              
                
                <a class="source" href="object.html">
                  modules/object.js
                </a>
              
                
                <a class="source" href="omit.html">
                  modules/omit.js
                </a>
              
                
                <a class="source" href="once.html">
                  modules/once.js
                </a>
              
                
                <a class="source" href="pairs.html">
                  modules/pairs.js
                </a>
              
                
                <a class="source" href="partial.html">
                  modules/partial.js
                </a>
              
                
                <a class="source" href="partition.html">
                  modules/partition.js
                </a>
              
                
                <a class="source" href="pick.html">
                  modules/pick.js
                </a>
              
                
                <a class="source" href="pluck.html">
                  modules/pluck.js
                </a>
              
                
                <a class="source" href="property.html">
                  modules/property.js
                </a>
              
                
                <a class="source" href="propertyOf.html">
                  modules/propertyOf.js
                </a>
              
                
                <a class="source" href="random.html">
                  modules/random.js
                </a>
              
                
                <a class="source" href="range.html">
                  modules/range.js
                </a>
              
                
                <a class="source" href="reduce.html">
                  modules/reduce.js
                </a>
              
                
                <a class="source" href="reduceRight.html">
                  modules/reduceRight.js
                </a>
              
                
                <a class="source" href="reject.html">
                  modules/reject.js
                </a>
              
                
                <a class="source" href="rest.html">
                  modules/rest.js
                </a>
              
                
                <a class="source" href="restArguments.html">
                  modules/restArguments.js
                </a>
              
                
                <a class="source" href="result.html">
                  modules/result.js
                </a>
              
                
                <a class="source" href="sample.html">
                  modules/sample.js
                </a>
              
                
                <a class="source" href="shuffle.html">
                  modules/shuffle.js
                </a>
              
                
                <a class="source" href="size.html">
                  modules/size.js
                </a>
              
                
                <a class="source" href="some.html">
                  modules/some.js
                </a>
              
                
                <a class="source" href="sortBy.html">
                  modules/sortBy.js
                </a>
              
                
                <a class="source" href="sortedIndex.html">
                  modules/sortedIndex.js
                </a>
              
                
                <a class="source" href="tap.html">
                  modules/tap.js
                </a>
              
                
                <a class="source" href="template.html">
                  modules/template.js
                </a>
              
                
                <a class="source" href="templateSettings.html">
                  modules/templateSettings.js
                </a>
              
                
                <a class="source" href="throttle.html">
                  modules/throttle.js
                </a>
              
                
                <a class="source" href="times.html">
                  modules/times.js
                </a>
              
                
                <a class="source" href="toArray.html">
                  modules/toArray.js
                </a>
              
                
                <a class="source" href="toPath.html">
                  modules/toPath.js
                </a>
              
                
                <a class="source" href="underscore-array-methods.html">
                  modules/underscore-array-methods.js
                </a>
              
                
                <a class="source" href="underscore.html">
                  modules/underscore.js
                </a>
              
                
                <a class="source" href="unescape.html">
                  modules/unescape.js
                </a>
              
                
                <a class="source" href="union.html">
                  modules/union.js
                </a>
              
                
                <a class="source" href="uniq.html">
                  modules/uniq.js
                </a>
              
                
                <a class="source" href="uniqueId.html">
                  modules/uniqueId.js
                </a>
              
                
                <a class="source" href="unzip.html">
                  modules/unzip.js
                </a>
              
                
                <a class="source" href="values.html">
                  modules/values.js
                </a>
              
                
                <a class="source" href="where.html">
                  modules/where.js
                </a>
              
                
                <a class="source" href="without.html">
                  modules/without.js
                </a>
              
                
                <a class="source" href="wrap.html">
                  modules/wrap.js
                </a>
              
                
                <a class="source" href="zip.html">
                  modules/zip.js
                </a>
              
            </div>
          </div>
        </li>
      </ul>
    
    <ul class="sections">
        
          <li id="title">
              <div class="annotation">
                  <h1>_cb.js</h1>
              </div>
          </li>
        
        
        
        <li id="section-1">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-1">&#182;</a>
              </div>
              
            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">import</span> _ <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./underscore.js&#x27;</span>;
<span class="hljs-keyword">import</span> baseIteratee <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./_baseIteratee.js&#x27;</span>;
<span class="hljs-keyword">import</span> iteratee <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./iteratee.js&#x27;</span>;</pre></div></div>
            
        </li>
        
        
        <li id="section-2">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-2">&#182;</a>
              </div>
              <p>The function we call internally to generate a callback. It invokes
<code>_.iteratee</code> if overridden, otherwise <code>baseIteratee</code>.</p>

            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> <span class="hljs-keyword">function</span> <span class="hljs-title function_">cb</span>(<span class="hljs-params">value, context, argCount</span>) {
  <span class="hljs-keyword">if</span> (_.<span class="hljs-property">iteratee</span> !== iteratee) <span class="hljs-keyword">return</span> _.<span class="hljs-title function_">iteratee</span>(value, context);
  <span class="hljs-keyword">return</span> <span class="hljs-title function_">baseIteratee</span>(value, context, argCount);
}</pre></div></div>
            
        </li>
        
    </ul>
  </div>
  
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
  <script>
    // We run a script at page load to inject the links after the fact.
    // It would be more elegant to do this at page generation time, but
    // unfortunately the docco infrastructure doesn't support this very well.
    // Highlighted code is passed along as an unparsed HTML string, which would
    // make this very tricky. In the script below, we exploit the fact that the
    // HTML has already been parsed by the browser.
    (function() {
      // Define a regex for stripping the .html extension from anchor hrefs.
      var extPattern = /\.html$/;
      // Collect all module paths that we have an HTML page for.
      var moduleMap = {};
      $('#jump_page a.source').each(function() {
        // Fortunately, translating anchor hrefs to ES module paths is easy,
        // because both systems work relative to the current file by default.
        var href = $(this).attr('href');
        var path = href.replace(extPattern, '').split('/');
        if (path[0] !== '..') path.unshift('.');
        var normPath = path.join('/');
        // Support both paths with and without extension.
        moduleMap[normPath] = moduleMap[normPath + '.js'] = href;
      });
      // Find all 'from' keywords followed by a string (ES6 import statements).
      $('.hljs-keyword').filter(function() {
        var text = $(this).text();
        return text === 'from' || text === 'import';
      }).next('.hljs-string').each(function() {
        // Finally, for each of these strings, replace it by a link if we have
        // a matching HTML page.
        var text = $(this).text();
        var quote = text[0];
        var path = text.slice(1, -1);
        var matchingDoc = moduleMap[path];
        if (!matchingDoc) return;
        $(this).html(
          quote + '<a href="' + matchingDoc + '">' + path + '</a>' + quote
        );
      });
    }());
  </script>
  
</body>
</html>


================================================
FILE: docs/modules/_chainResult.html
================================================

<!DOCTYPE html>

<html>
<head>
  <title>_chainResult.js</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="../docco.css" />
</head>
<body>
  <div id="container">
    <div id="background"></div>
    
      <ul id="jump_to">
        <li>
          <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
          <a class="small" href="javascript:void(0);">+</a>
          <div id="jump_wrapper">
          <div id="jump_page_wrapper">
            <div id="jump_page">
              
                
                <a class="source" href="_baseCreate.html">
                  modules/_baseCreate.js
                </a>
              
                
                <a class="source" href="_baseIteratee.html">
                  modules/_baseIteratee.js
                </a>
              
                
                <a class="source" href="_cb.html">
                  modules/_cb.js
                </a>
              
                
                <a class="source" href="_chainResult.html">
                  modules/_chainResult.js
                </a>
              
                
                <a class="source" href="_collectNonEnumProps.html">
                  modules/_collectNonEnumProps.js
                </a>
              
                
                <a class="source" href="_createAssigner.html">
                  modules/_createAssigner.js
                </a>
              
                
                <a class="source" href="_createEscaper.html">
                  modules/_createEscaper.js
                </a>
              
                
                <a class="source" href="_createIndexFinder.html">
                  modules/_createIndexFinder.js
                </a>
              
                
                <a class="source" href="_createPredicateIndexFinder.html">
                  modules/_createPredicateIndexFinder.js
                </a>
              
                
                <a class="source" href="_createReduce.html">
                  modules/_createReduce.js
                </a>
              
                
                <a class="source" href="_createSizePropertyCheck.html">
                  modules/_createSizePropertyCheck.js
                </a>
              
                
                <a class="source" href="_deepGet.html">
                  modules/_deepGet.js
                </a>
              
                
                <a class="source" href="_escapeMap.html">
                  modules/_escapeMap.js
                </a>
              
                
                <a class="source" href="_executeBound.html">
                  modules/_executeBound.js
                </a>
              
                
                <a class="source" href="_flatten.html">
                  modules/_flatten.js
                </a>
              
                
                <a class="source" href="_getByteLength.html">
                  modules/_getByteLength.js
                </a>
              
                
                <a class="source" href="_getLength.html">
                  modules/_getLength.js
                </a>
              
                
                <a class="source" href="_group.html">
                  modules/_group.js
                </a>
              
                
                <a class="source" href="_has.html">
                  modules/_has.js
                </a>
              
                
                <a class="source" href="_hasObjectTag.html">
                  modules/_hasObjectTag.js
                </a>
              
                
                <a class="source" href="_isArrayLike.html">
                  modules/_isArrayLike.js
                </a>
              
                
                <a class="source" href="_isBufferLike.html">
                  modules/_isBufferLike.js
                </a>
              
                
                <a class="source" href="_keyInObj.html">
                  modules/_keyInObj.js
                </a>
              
                
                <a class="source" href="_methodFingerprint.html">
                  modules/_methodFingerprint.js
                </a>
              
                
                <a class="source" href="_optimizeCb.html">
                  modules/_optimizeCb.js
                </a>
              
                
                <a class="source" href="_setup.html">
                  modules/_setup.js
                </a>
              
                
                <a class="source" href="_shallowProperty.html">
                  modules/_shallowProperty.js
                </a>
              
                
                <a class="source" href="_stringTagBug.html">
                  modules/_stringTagBug.js
                </a>
              
                
                <a class="source" href="_tagTester.html">
                  modules/_tagTester.js
                </a>
              
                
                <a class="source" href="_toBufferView.html">
                  modules/_toBufferView.js
                </a>
              
                
                <a class="source" href="_toPath.html">
                  modules/_toPath.js
                </a>
              
                
                <a class="source" href="_unescapeMap.html">
                  modules/_unescapeMap.js
                </a>
              
                
                <a class="source" href="after.html">
                  modules/after.js
                </a>
              
                
                <a class="source" href="allKeys.html">
                  modules/allKeys.js
                </a>
              
                
                <a class="source" href="before.html">
                  modules/before.js
                </a>
              
                
                <a class="source" href="bind.html">
                  modules/bind.js
                </a>
              
                
                <a class="source" href="bindAll.html">
                  modules/bindAll.js
                </a>
              
                
                <a class="source" href="chain.html">
                  modules/chain.js
                </a>
              
                
                <a class="source" href="chunk.html">
                  modules/chunk.js
                </a>
              
                
                <a class="source" href="clone.html">
                  modules/clone.js
                </a>
              
                
                <a class="source" href="compact.html">
                  modules/compact.js
                </a>
              
                
                <a class="source" href="compose.html">
                  modules/compose.js
                </a>
              
                
                <a class="source" href="constant.html">
                  modules/constant.js
                </a>
              
                
                <a class="source" href="contains.html">
                  modules/contains.js
                </a>
              
                
                <a class="source" href="countBy.html">
                  modules/countBy.js
                </a>
              
                
                <a class="source" href="create.html">
                  modules/create.js
                </a>
              
                
                <a class="source" href="debounce.html">
                  modules/debounce.js
                </a>
              
                
                <a class="source" href="defaults.html">
                  modules/defaults.js
                </a>
              
                
                <a class="source" href="defer.html">
                  modules/defer.js
                </a>
              
                
                <a class="source" href="delay.html">
                  modules/delay.js
                </a>
              
                
                <a class="source" href="difference.html">
                  modules/difference.js
                </a>
              
                
                <a class="source" href="each.html">
                  modules/each.js
                </a>
              
                
                <a class="source" href="escape.html">
                  modules/escape.js
                </a>
              
                
                <a class="source" href="every.html">
                  modules/every.js
                </a>
              
                
                <a class="source" href="extend.html">
                  modules/extend.js
                </a>
              
                
                <a class="source" href="extendOwn.html">
                  modules/extendOwn.js
                </a>
              
                
                <a class="source" href="filter.html">
                  modules/filter.js
                </a>
              
                
                <a class="source" href="find.html">
                  modules/find.js
                </a>
              
                
                <a class="source" href="findIndex.html">
                  modules/findIndex.js
                </a>
              
                
                <a class="source" href="findKey.html">
                  modules/findKey.js
                </a>
              
                
                <a class="source" href="findLastIndex.html">
                  modules/findLastIndex.js
                </a>
              
                
                <a class="source" href="findWhere.html">
                  modules/findWhere.js
                </a>
              
                
                <a class="source" href="first.html">
                  modules/first.js
                </a>
              
                
                <a class="source" href="flatten.html">
                  modules/flatten.js
                </a>
              
                
                <a class="source" href="functions.html">
                  modules/functions.js
                </a>
              
                
                <a class="source" href="get.html">
                  modules/get.js
                </a>
              
                
                <a class="source" href="groupBy.html">
                  modules/groupBy.js
                </a>
              
                
                <a class="source" href="has.html">
                  modules/has.js
                </a>
              
                
                <a class="source" href="identity.html">
                  modules/identity.js
                </a>
              
                
                <a class="source" href="index-all.html">
                  modules/index-all.js
                </a>
              
                
                <a class="source" href="index-default.html">
                  modules/index-default.js
                </a>
              
                
                <a class="source" href="index.html">
                  modules/index.js
                </a>
              
                
                <a class="source" href="indexBy.html">
                  modules/indexBy.js
                </a>
              
                
                <a class="source" href="indexOf.html">
                  modules/indexOf.js
                </a>
              
                
                <a class="source" href="initial.html">
                  modules/initial.js
                </a>
              
                
                <a class="source" href="intersection.html">
                  modules/intersection.js
                </a>
              
                
                <a class="source" href="invert.html">
                  modules/invert.js
                </a>
              
                
                <a class="source" href="invoke.html">
                  modules/invoke.js
                </a>
              
                
                <a class="source" href="isArguments.html">
                  modules/isArguments.js
                </a>
              
                
                <a class="source" href="isArray.html">
                  modules/isArray.js
                </a>
              
                
                <a class="source" href="isArrayBuffer.html">
                  modules/isArrayBuffer.js
                </a>
              
                
                <a class="source" href="isBoolean.html">
                  modules/isBoolean.js
                </a>
              
                
                <a class="source" href="isDataView.html">
                  modules/isDataView.js
                </a>
              
                
                <a class="source" href="isDate.html">
                  modules/isDate.js
                </a>
              
                
                <a class="source" href="isElement.html">
                  modules/isElement.js
                </a>
              
                
                <a class="source" href="isEmpty.html">
                  modules/isEmpty.js
                </a>
              
                
                <a class="source" href="isEqual.html">
                  modules/isEqual.js
                </a>
              
                
                <a class="source" href="isError.html">
                  modules/isError.js
                </a>
              
                
                <a class="source" href="isFinite.html">
                  modules/isFinite.js
                </a>
              
                
                <a class="source" href="isFunction.html">
                  modules/isFunction.js
                </a>
              
                
                <a class="source" href="isMap.html">
                  modules/isMap.js
                </a>
              
                
                <a class="source" href="isMatch.html">
                  modules/isMatch.js
                </a>
              
                
                <a class="source" href="isNaN.html">
                  modules/isNaN.js
                </a>
              
                
                <a class="source" href="isNull.html">
                  modules/isNull.js
                </a>
              
                
                <a class="source" href="isNumber.html">
                  modules/isNumber.js
                </a>
              
                
                <a class="source" href="isObject.html">
                  modules/isObject.js
                </a>
              
                
                <a class="source" href="isRegExp.html">
                  modules/isRegExp.js
                </a>
              
                
                <a class="source" href="isSet.html">
                  modules/isSet.js
                </a>
              
                
                <a class="source" href="isString.html">
                  modules/isString.js
                </a>
              
                
                <a class="source" href="isSymbol.html">
                  modules/isSymbol.js
                </a>
              
                
                <a class="source" href="isTypedArray.html">
                  modules/isTypedArray.js
                </a>
              
                
                <a class="source" href="isUndefined.html">
                  modules/isUndefined.js
                </a>
              
                
                <a class="source" href="isWeakMap.html">
                  modules/isWeakMap.js
                </a>
              
                
                <a class="source" href="isWeakSet.html">
                  modules/isWeakSet.js
                </a>
              
                
                <a class="source" href="iteratee.html">
                  modules/iteratee.js
                </a>
              
                
                <a class="source" href="keys.html">
                  modules/keys.js
                </a>
              
                
                <a class="source" href="last.html">
                  modules/last.js
                </a>
              
                
                <a class="source" href="lastIndexOf.html">
                  modules/lastIndexOf.js
                </a>
              
                
                <a class="source" href="map.html">
                  modules/map.js
                </a>
              
                
                <a class="source" href="mapObject.html">
                  modules/mapObject.js
                </a>
              
                
                <a class="source" href="matcher.html">
                  modules/matcher.js
                </a>
              
                
                <a class="source" href="max.html">
                  modules/max.js
                </a>
              
                
                <a class="source" href="memoize.html">
                  modules/memoize.js
                </a>
              
                
                <a class="source" href="min.html">
                  modules/min.js
                </a>
              
                
                <a class="source" href="mixin.html">
                  modules/mixin.js
                </a>
              
                
                <a class="source" href="negate.html">
                  modules/negate.js
                </a>
              
                
                <a class="source" href="noop.html">
                  modules/noop.js
                </a>
              
                
                <a class="source" href="now.html">
                  modules/now.js
                </a>
              
                
                <a class="source" href="object.html">
                  modules/object.js
                </a>
              
                
                <a class="source" href="omit.html">
                  modules/omit.js
                </a>
              
                
                <a class="source" href="once.html">
                  modules/once.js
                </a>
              
                
                <a class="source" href="pairs.html">
                  modules/pairs.js
                </a>
              
                
                <a class="source" href="partial.html">
                  modules/partial.js
                </a>
              
                
                <a class="source" href="partition.html">
                  modules/partition.js
                </a>
              
                
                <a class="source" href="pick.html">
                  modules/pick.js
                </a>
              
                
                <a class="source" href="pluck.html">
                  modules/pluck.js
                </a>
              
                
                <a class="source" href="property.html">
                  modules/property.js
                </a>
              
                
                <a class="source" href="propertyOf.html">
                  modules/propertyOf.js
                </a>
              
                
                <a class="source" href="random.html">
                  modules/random.js
                </a>
              
                
                <a class="source" href="range.html">
                  modules/range.js
                </a>
              
                
                <a class="source" href="reduce.html">
                  modules/reduce.js
                </a>
              
                
                <a class="source" href="reduceRight.html">
                  modules/reduceRight.js
                </a>
              
                
                <a class="source" href="reject.html">
                  modules/reject.js
                </a>
              
                
                <a class="source" href="rest.html">
                  modules/rest.js
                </a>
              
                
                <a class="source" href="restArguments.html">
                  modules/restArguments.js
                </a>
              
                
                <a class="source" href="result.html">
                  modules/result.js
                </a>
              
                
                <a class="source" href="sample.html">
                  modules/sample.js
                </a>
              
                
                <a class="source" href="shuffle.html">
                  modules/shuffle.js
                </a>
              
                
                <a class="source" href="size.html">
                  modules/size.js
                </a>
              
                
                <a class="source" href="some.html">
                  modules/some.js
                </a>
              
                
                <a class="source" href="sortBy.html">
                  modules/sortBy.js
                </a>
              
                
                <a class="source" href="sortedIndex.html">
                  modules/sortedIndex.js
                </a>
              
                
                <a class="source" href="tap.html">
                  modules/tap.js
                </a>
              
                
                <a class="source" href="template.html">
                  modules/template.js
                </a>
              
                
                <a class="source" href="templateSettings.html">
                  modules/templateSettings.js
                </a>
              
                
                <a class="source" href="throttle.html">
                  modules/throttle.js
                </a>
              
                
                <a class="source" href="times.html">
                  modules/times.js
                </a>
              
                
                <a class="source" href="toArray.html">
                  modules/toArray.js
                </a>
              
                
                <a class="source" href="toPath.html">
                  modules/toPath.js
                </a>
              
                
                <a class="source" href="underscore-array-methods.html">
                  modules/underscore-array-methods.js
                </a>
              
                
                <a class="source" href="underscore.html">
                  modules/underscore.js
                </a>
              
                
                <a class="source" href="unescape.html">
                  modules/unescape.js
                </a>
              
                
                <a class="source" href="union.html">
                  modules/union.js
                </a>
              
                
                <a class="source" href="uniq.html">
                  modules/uniq.js
                </a>
              
                
                <a class="source" href="uniqueId.html">
                  modules/uniqueId.js
                </a>
              
                
                <a class="source" href="unzip.html">
                  modules/unzip.js
                </a>
              
                
                <a class="source" href="values.html">
                  modules/values.js
                </a>
              
                
                <a class="source" href="where.html">
                  modules/where.js
                </a>
              
                
                <a class="source" href="without.html">
                  modules/without.js
                </a>
              
                
                <a class="source" href="wrap.html">
                  modules/wrap.js
                </a>
              
                
                <a class="source" href="zip.html">
                  modules/zip.js
                </a>
              
            </div>
          </div>
        </li>
      </ul>
    
    <ul class="sections">
        
          <li id="title">
              <div class="annotation">
                  <h1>_chainResult.js</h1>
              </div>
          </li>
        
        
        
        <li id="section-1">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-1">&#182;</a>
              </div>
              
            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">import</span> _ <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./underscore.js&#x27;</span>;</pre></div></div>
            
        </li>
        
        
        <li id="section-2">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-2">&#182;</a>
              </div>
              <p>Helper function to continue chaining intermediate results.</p>

            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> <span class="hljs-keyword">function</span> <span class="hljs-title function_">chainResult</span>(<span class="hljs-params">instance, obj</span>) {
  <span class="hljs-keyword">return</span> instance.<span class="hljs-property">_chain</span> ? <span class="hljs-title function_">_</span>(obj).<span class="hljs-title function_">chain</span>() : obj;
}</pre></div></div>
            
        </li>
        
    </ul>
  </div>
  
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
  <script>
    // We run a script at page load to inject the links after the fact.
    // It would be more elegant to do this at page generation time, but
    // unfortunately the docco infrastructure doesn't support this very well.
    // Highlighted code is passed along as an unparsed HTML string, which would
    // make this very tricky. In the script below, we exploit the fact that the
    // HTML has already been parsed by the browser.
    (function() {
      // Define a regex for stripping the .html extension from anchor hrefs.
      var extPattern = /\.html$/;
      // Collect all module paths that we have an HTML page for.
      var moduleMap = {};
      $('#jump_page a.source').each(function() {
        // Fortunately, translating anchor hrefs to ES module paths is easy,
        // because both systems work relative to the current file by default.
        var href = $(this).attr('href');
        var path = href.replace(extPattern, '').split('/');
        if (path[0] !== '..') path.unshift('.');
        var normPath = path.join('/');
        // Support both paths with and without extension.
        moduleMap[normPath] = moduleMap[normPath + '.js'] = href;
      });
      // Find all 'from' keywords followed by a string (ES6 import statements).
      $('.hljs-keyword').filter(function() {
        var text = $(this).text();
        return text === 'from' || text === 'import';
      }).next('.hljs-string').each(function() {
        // Finally, for each of these strings, replace it by a link if we have
        // a matching HTML page.
        var text = $(this).text();
        var quote = text[0];
        var path = text.slice(1, -1);
        var matchingDoc = moduleMap[path];
        if (!matchingDoc) return;
        $(this).html(
          quote + '<a href="' + matchingDoc + '">' + path + '</a>' + quote
        );
      });
    }());
  </script>
  
</body>
</html>


================================================
FILE: docs/modules/_collectNonEnumProps.html
================================================

<!DOCTYPE html>

<html>
<head>
  <title>_collectNonEnumProps.js</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="../docco.css" />
</head>
<body>
  <div id="container">
    <div id="background"></div>
    
      <ul id="jump_to">
        <li>
          <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
          <a class="small" href="javascript:void(0);">+</a>
          <div id="jump_wrapper">
          <div id="jump_page_wrapper">
            <div id="jump_page">
              
                
                <a class="source" href="_baseCreate.html">
                  modules/_baseCreate.js
                </a>
              
                
                <a class="source" href="_baseIteratee.html">
                  modules/_baseIteratee.js
                </a>
              
                
                <a class="source" href="_cb.html">
                  modules/_cb.js
                </a>
              
                
                <a class="source" href="_chainResult.html">
                  modules/_chainResult.js
                </a>
              
                
                <a class="source" href="_collectNonEnumProps.html">
                  modules/_collectNonEnumProps.js
                </a>
              
                
                <a class="source" href="_createAssigner.html">
                  modules/_createAssigner.js
                </a>
              
                
                <a class="source" href="_createEscaper.html">
                  modules/_createEscaper.js
                </a>
              
                
                <a class="source" href="_createIndexFinder.html">
                  modules/_createIndexFinder.js
                </a>
              
                
                <a class="source" href="_createPredicateIndexFinder.html">
                  modules/_createPredicateIndexFinder.js
                </a>
              
                
                <a class="source" href="_createReduce.html">
                  modules/_createReduce.js
                </a>
              
                
                <a class="source" href="_createSizePropertyCheck.html">
                  modules/_createSizePropertyCheck.js
                </a>
              
                
                <a class="source" href="_deepGet.html">
                  modules/_deepGet.js
                </a>
              
                
                <a class="source" href="_escapeMap.html">
                  modules/_escapeMap.js
                </a>
              
                
                <a class="source" href="_executeBound.html">
                  modules/_executeBound.js
                </a>
              
                
                <a class="source" href="_flatten.html">
                  modules/_flatten.js
                </a>
              
                
                <a class="source" href="_getByteLength.html">
                  modules/_getByteLength.js
                </a>
              
                
                <a class="source" href="_getLength.html">
                  modules/_getLength.js
                </a>
              
                
                <a class="source" href="_group.html">
                  modules/_group.js
                </a>
              
                
                <a class="source" href="_has.html">
                  modules/_has.js
                </a>
              
                
                <a class="source" href="_hasObjectTag.html">
                  modules/_hasObjectTag.js
                </a>
              
                
                <a class="source" href="_isArrayLike.html">
                  modules/_isArrayLike.js
                </a>
              
                
                <a class="source" href="_isBufferLike.html">
                  modules/_isBufferLike.js
                </a>
              
                
                <a class="source" href="_keyInObj.html">
                  modules/_keyInObj.js
                </a>
              
                
                <a class="source" href="_methodFingerprint.html">
                  modules/_methodFingerprint.js
                </a>
              
                
                <a class="source" href="_optimizeCb.html">
                  modules/_optimizeCb.js
                </a>
              
                
                <a class="source" href="_setup.html">
                  modules/_setup.js
                </a>
              
                
                <a class="source" href="_shallowProperty.html">
                  modules/_shallowProperty.js
                </a>
              
                
                <a class="source" href="_stringTagBug.html">
                  modules/_stringTagBug.js
                </a>
              
                
                <a class="source" href="_tagTester.html">
                  modules/_tagTester.js
                </a>
              
                
                <a class="source" href="_toBufferView.html">
                  modules/_toBufferView.js
                </a>
              
                
                <a class="source" href="_toPath.html">
                  modules/_toPath.js
                </a>
              
                
                <a class="source" href="_unescapeMap.html">
                  modules/_unescapeMap.js
                </a>
              
                
                <a class="source" href="after.html">
                  modules/after.js
                </a>
              
                
                <a class="source" href="allKeys.html">
                  modules/allKeys.js
                </a>
              
                
                <a class="source" href="before.html">
                  modules/before.js
                </a>
              
                
                <a class="source" href="bind.html">
                  modules/bind.js
                </a>
              
                
                <a class="source" href="bindAll.html">
                  modules/bindAll.js
                </a>
              
                
                <a class="source" href="chain.html">
                  modules/chain.js
                </a>
              
                
                <a class="source" href="chunk.html">
                  modules/chunk.js
                </a>
              
                
                <a class="source" href="clone.html">
                  modules/clone.js
                </a>
              
                
                <a class="source" href="compact.html">
                  modules/compact.js
                </a>
              
                
                <a class="source" href="compose.html">
                  modules/compose.js
                </a>
              
                
                <a class="source" href="constant.html">
                  modules/constant.js
                </a>
              
                
                <a class="source" href="contains.html">
                  modules/contains.js
                </a>
              
                
                <a class="source" href="countBy.html">
                  modules/countBy.js
                </a>
              
                
                <a class="source" href="create.html">
                  modules/create.js
                </a>
              
                
                <a class="source" href="debounce.html">
                  modules/debounce.js
                </a>
              
                
                <a class="source" href="defaults.html">
                  modules/defaults.js
                </a>
              
                
                <a class="source" href="defer.html">
                  modules/defer.js
                </a>
              
                
                <a class="source" href="delay.html">
                  modules/delay.js
                </a>
              
                
                <a class="source" href="difference.html">
                  modules/difference.js
                </a>
              
                
                <a class="source" href="each.html">
                  modules/each.js
                </a>
              
                
                <a class="source" href="escape.html">
                  modules/escape.js
                </a>
              
                
                <a class="source" href="every.html">
                  modules/every.js
                </a>
              
                
                <a class="source" href="extend.html">
                  modules/extend.js
                </a>
              
                
                <a class="source" href="extendOwn.html">
                  modules/extendOwn.js
                </a>
              
                
                <a class="source" href="filter.html">
                  modules/filter.js
                </a>
              
                
                <a class="source" href="find.html">
                  modules/find.js
                </a>
              
                
                <a class="source" href="findIndex.html">
                  modules/findIndex.js
                </a>
              
                
                <a class="source" href="findKey.html">
                  modules/findKey.js
                </a>
              
                
                <a class="source" href="findLastIndex.html">
                  modules/findLastIndex.js
                </a>
              
                
                <a class="source" href="findWhere.html">
                  modules/findWhere.js
                </a>
              
                
                <a class="source" href="first.html">
                  modules/first.js
                </a>
              
                
                <a class="source" href="flatten.html">
                  modules/flatten.js
                </a>
              
                
                <a class="source" href="functions.html">
                  modules/functions.js
                </a>
              
                
                <a class="source" href="get.html">
                  modules/get.js
                </a>
              
                
                <a class="source" href="groupBy.html">
                  modules/groupBy.js
                </a>
              
                
                <a class="source" href="has.html">
                  modules/has.js
                </a>
              
                
                <a class="source" href="identity.html">
                  modules/identity.js
                </a>
              
                
                <a class="source" href="index-all.html">
                  modules/index-all.js
                </a>
              
                
                <a class="source" href="index-default.html">
                  modules/index-default.js
                </a>
              
                
                <a class="source" href="index.html">
                  modules/index.js
                </a>
              
                
                <a class="source" href="indexBy.html">
                  modules/indexBy.js
                </a>
              
                
                <a class="source" href="indexOf.html">
                  modules/indexOf.js
                </a>
              
                
                <a class="source" href="initial.html">
                  modules/initial.js
                </a>
              
                
                <a class="source" href="intersection.html">
                  modules/intersection.js
                </a>
              
                
                <a class="source" href="invert.html">
                  modules/invert.js
                </a>
              
                
                <a class="source" href="invoke.html">
                  modules/invoke.js
                </a>
              
                
                <a class="source" href="isArguments.html">
                  modules/isArguments.js
                </a>
              
                
                <a class="source" href="isArray.html">
                  modules/isArray.js
                </a>
              
                
                <a class="source" href="isArrayBuffer.html">
                  modules/isArrayBuffer.js
                </a>
              
                
                <a class="source" href="isBoolean.html">
                  modules/isBoolean.js
                </a>
              
                
                <a class="source" href="isDataView.html">
                  modules/isDataView.js
                </a>
              
                
                <a class="source" href="isDate.html">
                  modules/isDate.js
                </a>
              
                
                <a class="source" href="isElement.html">
                  modules/isElement.js
                </a>
              
                
                <a class="source" href="isEmpty.html">
                  modules/isEmpty.js
                </a>
              
                
                <a class="source" href="isEqual.html">
                  modules/isEqual.js
                </a>
              
                
                <a class="source" href="isError.html">
                  modules/isError.js
                </a>
              
                
                <a class="source" href="isFinite.html">
                  modules/isFinite.js
                </a>
              
                
                <a class="source" href="isFunction.html">
                  modules/isFunction.js
                </a>
              
                
                <a class="source" href="isMap.html">
                  modules/isMap.js
                </a>
              
                
                <a class="source" href="isMatch.html">
                  modules/isMatch.js
                </a>
              
                
                <a class="source" href="isNaN.html">
                  modules/isNaN.js
                </a>
              
                
                <a class="source" href="isNull.html">
                  modules/isNull.js
                </a>
              
                
                <a class="source" href="isNumber.html">
                  modules/isNumber.js
                </a>
              
                
                <a class="source" href="isObject.html">
                  modules/isObject.js
                </a>
              
                
                <a class="source" href="isRegExp.html">
                  modules/isRegExp.js
                </a>
              
                
                <a class="source" href="isSet.html">
                  modules/isSet.js
                </a>
              
                
                <a class="source" href="isString.html">
                  modules/isString.js
                </a>
              
                
                <a class="source" href="isSymbol.html">
                  modules/isSymbol.js
                </a>
              
                
                <a class="source" href="isTypedArray.html">
                  modules/isTypedArray.js
                </a>
              
                
                <a class="source" href="isUndefined.html">
                  modules/isUndefined.js
                </a>
              
                
                <a class="source" href="isWeakMap.html">
                  modules/isWeakMap.js
                </a>
              
                
                <a class="source" href="isWeakSet.html">
                  modules/isWeakSet.js
                </a>
              
                
                <a class="source" href="iteratee.html">
                  modules/iteratee.js
                </a>
              
                
                <a class="source" href="keys.html">
                  modules/keys.js
                </a>
              
                
                <a class="source" href="last.html">
                  modules/last.js
                </a>
              
                
                <a class="source" href="lastIndexOf.html">
                  modules/lastIndexOf.js
                </a>
              
                
                <a class="source" href="map.html">
                  modules/map.js
                </a>
              
                
                <a class="source" href="mapObject.html">
                  modules/mapObject.js
                </a>
              
                
                <a class="source" href="matcher.html">
                  modules/matcher.js
                </a>
              
                
                <a class="source" href="max.html">
                  modules/max.js
                </a>
              
                
                <a class="source" href="memoize.html">
                  modules/memoize.js
                </a>
              
                
                <a class="source" href="min.html">
                  modules/min.js
                </a>
              
                
                <a class="source" href="mixin.html">
                  modules/mixin.js
                </a>
              
                
                <a class="source" href="negate.html">
                  modules/negate.js
                </a>
              
                
                <a class="source" href="noop.html">
                  modules/noop.js
                </a>
              
                
                <a class="source" href="now.html">
                  modules/now.js
                </a>
              
                
                <a class="source" href="object.html">
                  modules/object.js
                </a>
              
                
                <a class="source" href="omit.html">
                  modules/omit.js
                </a>
              
                
                <a class="source" href="once.html">
                  modules/once.js
                </a>
              
                
                <a class="source" href="pairs.html">
                  modules/pairs.js
                </a>
              
                
                <a class="source" href="partial.html">
                  modules/partial.js
                </a>
              
                
                <a class="source" href="partition.html">
                  modules/partition.js
                </a>
              
                
                <a class="source" href="pick.html">
                  modules/pick.js
                </a>
              
                
                <a class="source" href="pluck.html">
                  modules/pluck.js
                </a>
              
                
                <a class="source" href="property.html">
                  modules/property.js
                </a>
              
                
                <a class="source" href="propertyOf.html">
                  modules/propertyOf.js
                </a>
              
                
                <a class="source" href="random.html">
                  modules/random.js
                </a>
              
                
                <a class="source" href="range.html">
                  modules/range.js
                </a>
              
                
                <a class="source" href="reduce.html">
                  modules/reduce.js
                </a>
              
                
                <a class="source" href="reduceRight.html">
                  modules/reduceRight.js
                </a>
              
                
                <a class="source" href="reject.html">
                  modules/reject.js
                </a>
              
                
                <a class="source" href="rest.html">
                  modules/rest.js
                </a>
              
                
                <a class="source" href="restArguments.html">
                  modules/restArguments.js
                </a>
              
                
                <a class="source" href="result.html">
                  modules/result.js
                </a>
              
                
                <a class="source" href="sample.html">
                  modules/sample.js
                </a>
              
                
                <a class="source" href="shuffle.html">
                  modules/shuffle.js
                </a>
              
                
                <a class="source" href="size.html">
                  modules/size.js
                </a>
              
                
                <a class="source" href="some.html">
                  modules/some.js
                </a>
              
                
                <a class="source" href="sortBy.html">
                  modules/sortBy.js
                </a>
              
                
                <a class="source" href="sortedIndex.html">
                  modules/sortedIndex.js
                </a>
              
                
                <a class="source" href="tap.html">
                  modules/tap.js
                </a>
              
                
                <a class="source" href="template.html">
                  modules/template.js
                </a>
              
                
                <a class="source" href="templateSettings.html">
                  modules/templateSettings.js
                </a>
              
                
                <a class="source" href="throttle.html">
                  modules/throttle.js
                </a>
              
                
                <a class="source" href="times.html">
                  modules/times.js
                </a>
              
                
                <a class="source" href="toArray.html">
                  modules/toArray.js
                </a>
              
                
                <a class="source" href="toPath.html">
                  modules/toPath.js
                </a>
              
                
                <a class="source" href="underscore-array-methods.html">
                  modules/underscore-array-methods.js
                </a>
              
                
                <a class="source" href="underscore.html">
                  modules/underscore.js
                </a>
              
                
                <a class="source" href="unescape.html">
                  modules/unescape.js
                </a>
              
                
                <a class="source" href="union.html">
                  modules/union.js
                </a>
              
                
                <a class="source" href="uniq.html">
                  modules/uniq.js
                </a>
              
                
                <a class="source" href="uniqueId.html">
                  modules/uniqueId.js
                </a>
              
                
                <a class="source" href="unzip.html">
                  modules/unzip.js
                </a>
              
                
                <a class="source" href="values.html">
                  modules/values.js
                </a>
              
                
                <a class="source" href="where.html">
                  modules/where.js
                </a>
              
                
                <a class="source" href="without.html">
                  modules/without.js
                </a>
              
                
                <a class="source" href="wrap.html">
                  modules/wrap.js
                </a>
              
                
                <a class="source" href="zip.html">
                  modules/zip.js
                </a>
              
            </div>
          </div>
        </li>
      </ul>
    
    <ul class="sections">
        
          <li id="title">
              <div class="annotation">
                  <h1>_collectNonEnumProps.js</h1>
              </div>
          </li>
        
        
        
        <li id="section-1">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-1">&#182;</a>
              </div>
              
            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">import</span> { nonEnumerableProps, <span class="hljs-title class_">ObjProto</span> } <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./_setup.js&#x27;</span>;
<span class="hljs-keyword">import</span> isFunction <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./isFunction.js&#x27;</span>;
<span class="hljs-keyword">import</span> has <span class="hljs-keyword">from</span> <span class="hljs-string">&#x27;./_has.js&#x27;</span>;</pre></div></div>
            
        </li>
        
        
        <li id="section-2">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-2">&#182;</a>
              </div>
              <p>Internal helper to create a simple lookup structure.
<code>collectNonEnumProps</code> used to depend on <code>_.contains</code>, but this led to
circular imports. <code>emulatedSet</code> is a one-off solution that only works for
arrays of strings.</p>

            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">function</span> <span class="hljs-title function_">emulatedSet</span>(<span class="hljs-params">keys</span>) {
  <span class="hljs-keyword">var</span> hash = {};
  <span class="hljs-keyword">for</span> (<span class="hljs-keyword">var</span> l = keys.<span class="hljs-property">length</span>, i = <span class="hljs-number">0</span>; i &lt; l; ++i) hash[keys[i]] = <span class="hljs-literal">true</span>;
  <span class="hljs-keyword">return</span> {
    <span class="hljs-attr">contains</span>: <span class="hljs-keyword">function</span>(<span class="hljs-params">key</span>) { <span class="hljs-keyword">return</span> hash[key] === <span class="hljs-literal">true</span>; },
    <span class="hljs-attr">push</span>: <span class="hljs-keyword">function</span>(<span class="hljs-params">key</span>) {
      hash[key] = <span class="hljs-literal">true</span>;
      <span class="hljs-keyword">return</span> keys.<span class="hljs-title function_">push</span>(key);
    }
  };
}</pre></div></div>
            
        </li>
        
        
        <li id="section-3">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-3">&#182;</a>
              </div>
              <p>Internal helper. Checks <code>keys</code> for the presence of keys in IE &lt; 9 that won’t
be iterated by <code>for key in ...</code> and thus missed. Extends <code>keys</code> in place if
needed.</p>

            </div>
            
            <div class="content"><div class='highlight'><pre><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> <span class="hljs-keyword">function</span> <span class="hljs-title function_">collectNonEnumProps</span>(<span class="hljs-params">obj, keys</span>) {
  keys = <span class="hljs-title function_">emulatedSet</span>(keys);
  <span class="hljs-keyword">var</span> nonEnumIdx = nonEnumerableProps.<span class="hljs-property">length</span>;
  <span class="hljs-keyword">var</span> constructor = obj.<span class="hljs-property">constructor</span>;
  <span class="hljs-keyword">var</span> proto = (<span class="hljs-title function_">isFunction</span>(constructor) &amp;&amp; constructor.<span class="hljs-property"><span class="hljs-keyword">prototype</span></span>) || <span class="hljs-title class_">ObjProto</span>;</pre></div></div>
            
        </li>
        
        
        <li id="section-4">
            <div class="annotation">
              
              <div class="pilwrap ">
                <a class="pilcrow" href="#section-4">&#182;</a>
              </div>
              <p>Constructor is a special case.</p>

            </div>
            
            <div class="content"><div class='highlight'><pre>  <span class="hljs-keyword">var</span> prop = <span class="hljs-string">&#x27;constructor&#x27;</span>;
  <span class="hljs-keyword">if</span> (<span class="hljs-title function_">has</span>(obj, prop) &amp;&amp; !keys.<span class="hljs-title function_">contains</span>(prop)) keys.<span class="hljs-title function_">push</span>(prop);

  <span class="hljs-keyword">while</span> (nonEnumIdx--) {
    prop = nonEnumerableProps[nonEnumIdx];
    <span class="hljs-keyword">if</span> (prop <span class="hljs-keyword">in</span> obj &amp;&amp; obj[prop] !== proto[prop] &amp;&amp; !keys.<span class="hljs-title function_">contains</span>(prop)) {
      keys.<span class="hljs-title function_">push</span>(prop);
    }
  }
}</pre></div></div>
            
        </li>
        
    </ul>
  </div>
  
  <script src="https://code.jquery.com/jquery-3.4.1.min.js"></script>
  <script>
    // We run a script at page load to inject the links after the fact.
    // It would be more elegant to do this at page generation time, but
    // unfortunately the docco infrastructure doesn't support this very well.
    // Highlighted code is passed along as an unparsed HTML string, which would
    // make this very tricky. In the script below, we exploit the fact that the
    // HTML has already been parsed by the browser.
    (function() {
      // Define a regex for stripping the .html extension from anchor hrefs.
      var extPattern = /\.html$/;
      // Collect all module paths that we have an HTML page for.
      var moduleMap = {};
      $('#jump_page a.source').each(function() {
        // Fortunately, translating anchor hrefs to ES module paths is easy,
        // because both systems work relative to the current file by default.
        var href = $(this).attr('href');
        var path = href.replace(extPattern, '').split('/');
        if (path[0] !== '..') path.unshift('.');
        var normPath = path.join('/');
        // Support both paths with and without extension.
        moduleMap[normPath] = moduleMap[normPath + '.js'] = href;
      });
      // Find all 'from' keywords followed by a string (ES6 import statements).
      $('.hljs-keyword').filter(function() {
        var text = $(this).text();
        return text === 'from' || text === 'import';
      }).next('.hljs-string').each(function() {
        // Finally, for each of these strings, replace it by a link if we have
        // a matching HTML page.
        var text = $(this).text();
        var quote = text[0];
        var path = text.slice(1, -1);
        var matchingDoc = moduleMap[path];
        if (!matchingDoc) return;
        $(this).html(
          quote + '<a href="' + matchingDoc + '">' + path + '</a>' + quote
        );
      });
    }());
  </script>
  
</body>
</html>


================================================
FILE: docs/modules/_createAssigner.html
================================================

<!DOCTYPE html>

<html>
<head>
  <title>_createAssigner.js</title>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <meta name="viewport" content="width=device-width, target-densitydpi=160dpi, initial-scale=1.0; maximum-scale=1.0; user-scalable=0;">
  <link rel="stylesheet" media="all" href="../docco.css" />
</head>
<body>
  <div id="container">
    <div id="background"></div>
    
      <ul id="jump_to">
        <li>
          <a class="large" href="javascript:void(0);">Jump To &hellip;</a>
          <a class="small" href="javascript:void(0);">+</a>
          <div id="jump_wrapper">
          <div id="jump_page_wrapper">
            <div id="jump_page">
              
                
                <a class="source" href="_baseCreate.html">
                  modules/_baseCreate.js
                </a>
              
                
                <a class="source" href="_baseIteratee.html">
                  modules/_baseIteratee.js
                </a>
              
                
                <a class="source" href="_cb.html">
                  modules/_cb.js
                </a>
              
                
                <a class="source" href="_chainResult.html">
                  modules/_chainResult.js
                </a>
              
                
                <a class="source" href="_collectNonEnumProps.html">
                  modules/_collectNonEnumProps.js
                </a>
              
                
                <a class="source" href="_createAssigner.html">
                  modules/_createAssigner.js
                </a>
              
                
                <a class="source" href="_createEscaper.html">
                  modules/_createEscaper.js
                </a>
              
                
                <a class="source" href="_createIndexFinder.html">
                  modules/_createIndexFinder.js
                </a>
              
                
                <a class="source" href="_createPredicateIndexFinder.html">
                  modules/_createPredicateIndexFinder.js
                </a>
              
                
                <a class="source" href="_createReduce.html">
                  modules/_createReduce.js
                </a>
              
                
                <a class="source" href="_createSizePropertyCheck.html">
                  modules/_createSizePropertyCheck.js
                </a>
              
                
                <a class="source" href="_deepGet.html">
                  modules/_deepGet.js
                </a>
              
                
                <a class="source" href="_escapeMap.html">
                  modules/_escapeMap.js
                </a>
              
                
                <a class="source" href="_executeBound.html">
                  modules/_executeBound.js
                </a>
              
                
                <a class="source" href="_flatten.html">
                  modules/_flatten.js
                </a>
              
                
                <a class="source" href="_getByteLength.html">
                  modules/_getByteLength.js
                </a>
              
                
                <a class="source" href="_getLength.html">
                  modules/_getLength.js
                </a>
              
                
                <a class="source" href="_group.html">
                  modules/_group.js
                </a>
              
                
                <a class="source" href="_has.html">
                  modules/_has.js
                </a>
              
                
                <a class="source" href="_hasObjectTag.html">
                  modules/_hasObjectTag.js
                </a>
              
                
                <a class="source" href="_isArrayLike.html">
                  modules/_isArrayLike.js
                </a>
              
                
                <a class="source" href="_isBufferLike.html">
                  modules/_isBufferLike.js
                </a>
              
                
                <a class="source" href="_keyInObj.html">
                  modules/_keyInObj.js
                </a>
              
                
                <a class="source" href="_methodFingerprint.html">
                  modules/_methodFingerprint.js
                </a>
              
                
                <a class="source" href="_optimizeCb.html">
                  modules/_optimizeCb.js
                </a>
              
                
                <a class="source" href="_setup.html">
                  modules/_setup.js
                </a>
              
                
                <a class="source" href="_shallowProperty.html">
                  modules/_shallowProperty.js
                </a>
              
                
                <a class="source" href="_stringTagBug.html">
                  modules/_stringTagBug.js
                </a>
              
                
                <a class="source" href="_tagTester.html">
                  modules/_tagTester.js
                </a>
              
                
                <a class="source" href="_toBufferView.html">
                  modules/_toBufferView.js
                </a>
              
                
                <a class="source" href="_toPath.html">
                  modules/_toPath.js
                </a>
              
                
                <a class="source" href="_unescapeMap.html">
                  modules/_unescapeMap.js
                </a>
              
                
                <a class="source" href="after.html">
                  modules/after.js
                </a>
              
                
                <a class="source" href="allKeys.html">
                  modules/allKeys.js
                </a>
              
                
                <a class="source" href="before.html">
                  modules/before.js
                </a>
              
                
                <a class="source" href="bind.html">
                  modules/bind.js
                </a>
              
                
                <a class="source" href="bindAll.html">
                  modules/bindAll.js
                </a>
              
                
                <a class="source" href="chain.html">
                  modules/chain.js
                </a>
              
                
                <a class="source" href="chunk.html">
                  modules/chunk.js
                </a>
              
                
                <a class="source" href="clone.html">
                  modules/clone.js
                </a>
              
                
                <a class="source" href="compact.html">
                  modules/compact.js
                </a>
              
                
                <a class="source" href="compose.html">
                  modules/compose.js
                </a>
              
                
                <a class="source" href="constant.html">
                  modules/constant.js
                </a>
              
                
                <a class="source" href="contains.html">
                  modules/contains.js
                </a>
              
                
                <a class="source" href="countBy.html">
                  modules/countBy.js
                </a>
              
                
                <a class="source" href="create.html">
                  modules/create.js
                </a>
              
                
                <a class="source" href="debounce.html">
                  modules/debounce.js
                </a>
              
                
                <a class="source" href="defaults.html">
                  modules/defaults.js
                </a>
              
                
                <a class="source" href="defer.html">
                  modules/defer.js
                </a>
              
                
                <a class="source" href="delay.html">
                  modules/delay.js
                </a>
              
                
                <a class="source" href="difference.html">
                  modules/difference.js
                </a>
              
                
                <a class="source" href="each.html">
                  modules/each.js
                </a>
              
                
                <a class="source" href="escape.html">
                  modules/escape.js
                </a>
              
                
                <a class="source" href="every.html">
                  modules/every.js
                </a>
              
                
                <a class="source" href="extend.html">
                  modules/extend.js
                </a>
              
                
                <a class="source" href="extendOwn.html">
                  modules/extendOwn.js
                </a>
              
                
                <a class="source" href="filter.html">
                  modules/filter.js
                </a>
              
                
                <a class="source" href="find.html">
                  modules/find.js
                </a>
              
                
                <a class="source" href="findIndex.html">
                  modules/findIndex.js
                </a>
              
                
                <a class="source" href="findKey.html">
                  modules/findKey.js
                </a>
              
                
                <a class="source" href="findLastIndex.html">
                  modules/findLastIndex.js
                </a>
              
                
                <a class="source" href="findWhere.html">
                  modules/findWhere.js
                </a>
              
                
                <a class="source" href="first.html">
                  modules/first.js
                </a>
              
                
                <a class="source" href="flatten.html">
                  modules/flatten.js
                </a>
              
                
                <a class="source" href="functions.html">
                  modules/functions.js
                </a>
              
                
                <a class="source" href="get.html">
                  modules/get.js
                </a>
              
                
                <a class="source" href="groupBy.html">
                  modules/groupBy.js
                </a>
              
                
                <a class="source" href="has.html">
                  modules/has.js
                </a>
              
                
                <a class="source" href="identity.html">
                  modules/identity.js
                </a>
              
                
                <a class="source" href="index-all.html">
                  modules/index-all.js
                </a>
              
                
                <a class="source" href="index-default.html">
                  modules/index-default.js
                </a>
              
                
                <a class="source" href="index.html">
                  modules/index.js
                </a>
              
                
                <a class="source" href="indexBy.html">
                  modules/indexBy.js
                </a>
              
                
                <a class="source" href="indexOf.html">
                  modules/indexOf.js
                </a>
              
                
                <a class="source" href="initial.html">
                  modules/initial.js
                </a>
              
                
                <a class="source" href="intersection.html">
                  modules/intersection.js
                </a>
              
                
                <a class="source" href="invert.html">
                  modules/invert.js
                </a>
              
                
                <a class="source" href="invoke.html">
                  modules/invoke.js
                </a>
              
                
                <a class="source" href="isArguments.html">
                  modules/isArguments.js
                </a>
              
                
                <a class="source" href="isArray.html">
                  modules/isArray.js
                </a>
              
                
                <a class="source" href="isArrayBuffer.html">
                  modules/isArrayBuffer.js
                </a>
              
                
                <a class="source" href="isBoolean.html">
                  modules/isBoolean.js
                </a>
              
                
                <a class="source" href="isDataView.html">
                  modules/isDataView.js
                </a>
              
                
                <a class="source" href="isDate.html">
                  modules/isDate.js
                </a>
              
                
                <a class="source" href="isElement.html">
                  modules/isElement.js
                </a>
              
                
                <a class="source" href="isEmpty.html">
                  modules/isEmpty.js
                </a>
              
                
                <a class="source" href="isEqual.html">
                  modules/isEqual.js
                </a>
              
                
                <a class="source" href="isError.html">
                  modules/isError.js
                </a>
              
                
                <a class="source" href="isFinite.html">
                  modules/isFinite.js
                </a>
              
                
                <a class="source" href="isFunction.html">
                  modules/isFunction.js
                </a>
              
                
                <a class="source" href="isMap.html">
                  modules/isMap.js
                </a>
              
                
                <a class="source" href="isMatch.html">
                  modules/isMatch.js
                </a>
              
                
                <a class="source" href="isNaN.html">
                  modules/isNaN.js
                </a>
              
                
                <a class="source" href="isNull.html">
                  modules/isNull.js
                </a>
              
                
                <a class="source" href="isNumber.html">
                  modules/isNumber.js
                </a>
              
                
                <a class="source" href="isObject.html">
                  modules/isObject.js
                </a>
              
                
                <a class="source" href="isRegExp.html">
                  modules/isRegExp.js
                </a>
              
                
                <a class="source" href="isSet.html">
                  modules/isSet.js
                </a>
              
                
                <a class="source" href="isString.html">
                  modules/isString.js
                </a>
              
                
                <a class="source" href="isSymbol.html">
                  modules/isSymbol.js
                </a>
              
                
                <a class="source" href="isTypedArray.html">
                  modules/isTypedArray.js
                </a>
              
                
                <a class="source" href="isUndefined.html">
                  modules/isUndefined.js
                </a>
              
                
                <a class="source" href="isWeakMap.html">
                  modules/isWeakMap.js
                </a>
              
                
                <a class="source" href="isWeakSet.html">
                  modules/isWeakSet.js
                </a>
              
                
                <a class="source" href="iteratee.html">
                  modules/iteratee.js
                </a>
              
                
                <a class="source" href="keys.html">
                  modules/keys.js
                </a>
              
                
                <a class="source" href="last.html">
                  modules/last.js
                </a>
              
                
                <a class="source" href="lastIndexOf.html">
                  modules/lastIndexOf.js
                </a>
              
                
                <a class="source" href="map.html">
                  modules/map.js
                </a>
              
                
                <a class="source" href="mapObject.html">
                  modules/mapObject.js
                </a>
              
                
                <a class="source" href="matcher.html">
                  modules/matcher.js
                </a>
              
                
                <a class="source" href="max.html">
                  modules/max.js
                </a>
              
                
                <a class="source" href="memoize.html">
                  modules/memoize.js
                </a>
              
                
                <a class="source" href="min.html">
                  modules/min.js
                </a>
              
                
                <a class="source" href="mixin.html">
                  modules/mixin.js
                </a>
              
                
                <a class="source" href="negate.html">
                  modules/negate.js
                </a>
              
                
                <a class="source" href="noop.html">
                  modules/noop.js
                </a>
              
                
                <a class="source" href="now.html">
                  modules/now.js
                </a>
          
Download .txt
gitextract_fa8odh1q/

├── .editorconfig
├── .eslintrc
├── .github/
│   ├── FUNDING.yml
│   ├── config/
│   │   └── codeql.yml
│   └── workflows/
│       └── codeql-analysis.yml
├── .gitignore
├── .travis.yml
├── CNAME
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── LICENSE
├── README.md
├── SECURITY.md
├── bower.json
├── docs/
│   ├── .eslintrc
│   ├── docco.css
│   ├── linked-esm.jst
│   ├── main.js
│   ├── modules/
│   │   ├── _baseCreate.html
│   │   ├── _baseIteratee.html
│   │   ├── _cb.html
│   │   ├── _chainResult.html
│   │   ├── _collectNonEnumProps.html
│   │   ├── _createAssigner.html
│   │   ├── _createEscaper.html
│   │   ├── _createIndexFinder.html
│   │   ├── _createPredicateIndexFinder.html
│   │   ├── _createReduce.html
│   │   ├── _createSizePropertyCheck.html
│   │   ├── _deepGet.html
│   │   ├── _escapeMap.html
│   │   ├── _executeBound.html
│   │   ├── _flatten.html
│   │   ├── _getByteLength.html
│   │   ├── _getLength.html
│   │   ├── _group.html
│   │   ├── _has.html
│   │   ├── _hasObjectTag.html
│   │   ├── _isArrayLike.html
│   │   ├── _isBufferLike.html
│   │   ├── _keyInObj.html
│   │   ├── _methodFingerprint.html
│   │   ├── _optimizeCb.html
│   │   ├── _setup.html
│   │   ├── _shallowProperty.html
│   │   ├── _stringTagBug.html
│   │   ├── _tagTester.html
│   │   ├── _toBufferView.html
│   │   ├── _toPath.html
│   │   ├── _unescapeMap.html
│   │   ├── after.html
│   │   ├── allKeys.html
│   │   ├── before.html
│   │   ├── bind.html
│   │   ├── bindAll.html
│   │   ├── chain.html
│   │   ├── chunk.html
│   │   ├── clone.html
│   │   ├── compact.html
│   │   ├── compose.html
│   │   ├── constant.html
│   │   ├── contains.html
│   │   ├── countBy.html
│   │   ├── create.html
│   │   ├── debounce.html
│   │   ├── defaults.html
│   │   ├── defer.html
│   │   ├── delay.html
│   │   ├── difference.html
│   │   ├── each.html
│   │   ├── escape.html
│   │   ├── every.html
│   │   ├── extend.html
│   │   ├── extendOwn.html
│   │   ├── filter.html
│   │   ├── find.html
│   │   ├── findIndex.html
│   │   ├── findKey.html
│   │   ├── findLastIndex.html
│   │   ├── findWhere.html
│   │   ├── first.html
│   │   ├── flatten.html
│   │   ├── functions.html
│   │   ├── get.html
│   │   ├── groupBy.html
│   │   ├── has.html
│   │   ├── identity.html
│   │   ├── index-all.html
│   │   ├── index-default.html
│   │   ├── index.html
│   │   ├── indexBy.html
│   │   ├── indexOf.html
│   │   ├── initial.html
│   │   ├── intersection.html
│   │   ├── invert.html
│   │   ├── invoke.html
│   │   ├── isArguments.html
│   │   ├── isArray.html
│   │   ├── isArrayBuffer.html
│   │   ├── isBoolean.html
│   │   ├── isDataView.html
│   │   ├── isDate.html
│   │   ├── isElement.html
│   │   ├── isEmpty.html
│   │   ├── isEqual.html
│   │   ├── isError.html
│   │   ├── isFinite.html
│   │   ├── isFunction.html
│   │   ├── isMap.html
│   │   ├── isMatch.html
│   │   ├── isNaN.html
│   │   ├── isNull.html
│   │   ├── isNumber.html
│   │   ├── isObject.html
│   │   ├── isRegExp.html
│   │   ├── isSet.html
│   │   ├── isString.html
│   │   ├── isSymbol.html
│   │   ├── isTypedArray.html
│   │   ├── isUndefined.html
│   │   ├── isWeakMap.html
│   │   ├── isWeakSet.html
│   │   ├── iteratee.html
│   │   ├── keys.html
│   │   ├── last.html
│   │   ├── lastIndexOf.html
│   │   ├── map.html
│   │   ├── mapObject.html
│   │   ├── matcher.html
│   │   ├── max.html
│   │   ├── memoize.html
│   │   ├── min.html
│   │   ├── mixin.html
│   │   ├── negate.html
│   │   ├── noop.html
│   │   ├── now.html
│   │   ├── object.html
│   │   ├── omit.html
│   │   ├── once.html
│   │   ├── pairs.html
│   │   ├── partial.html
│   │   ├── partition.html
│   │   ├── pick.html
│   │   ├── pluck.html
│   │   ├── property.html
│   │   ├── propertyOf.html
│   │   ├── random.html
│   │   ├── range.html
│   │   ├── reduce.html
│   │   ├── reduceRight.html
│   │   ├── reject.html
│   │   ├── rest.html
│   │   ├── restArguments.html
│   │   ├── result.html
│   │   ├── sample.html
│   │   ├── shuffle.html
│   │   ├── size.html
│   │   ├── some.html
│   │   ├── sortBy.html
│   │   ├── sortedIndex.html
│   │   ├── tap.html
│   │   ├── template.html
│   │   ├── templateSettings.html
│   │   ├── throttle.html
│   │   ├── times.html
│   │   ├── toArray.html
│   │   ├── toPath.html
│   │   ├── underscore-array-methods.html
│   │   ├── underscore.html
│   │   ├── unescape.html
│   │   ├── union.html
│   │   ├── uniq.html
│   │   ├── uniqueId.html
│   │   ├── unzip.html
│   │   ├── values.html
│   │   ├── where.html
│   │   ├── without.html
│   │   ├── wrap.html
│   │   └── zip.html
│   ├── public/
│   │   └── stylesheets/
│   │       └── normalize.css
│   └── underscore-esm.html
├── index.html
├── karma.conf-sauce.js
├── karma.conf.js
├── modules/
│   ├── .eslintrc
│   ├── _baseCreate.js
│   ├── _baseIteratee.js
│   ├── _cb.js
│   ├── _chainResult.js
│   ├── _collectNonEnumProps.js
│   ├── _createAssigner.js
│   ├── _createEscaper.js
│   ├── _createIndexFinder.js
│   ├── _createPredicateIndexFinder.js
│   ├── _createReduce.js
│   ├── _createSizePropertyCheck.js
│   ├── _deepGet.js
│   ├── _escapeMap.js
│   ├── _executeBound.js
│   ├── _flatten.js
│   ├── _getByteLength.js
│   ├── _getLength.js
│   ├── _group.js
│   ├── _has.js
│   ├── _hasObjectTag.js
│   ├── _isArrayLike.js
│   ├── _isBufferLike.js
│   ├── _keyInObj.js
│   ├── _methodFingerprint.js
│   ├── _optimizeCb.js
│   ├── _setup.js
│   ├── _shallowProperty.js
│   ├── _stringTagBug.js
│   ├── _tagTester.js
│   ├── _toBufferView.js
│   ├── _toPath.js
│   ├── _unescapeMap.js
│   ├── after.js
│   ├── allKeys.js
│   ├── before.js
│   ├── bind.js
│   ├── bindAll.js
│   ├── chain.js
│   ├── chunk.js
│   ├── clone.js
│   ├── compact.js
│   ├── compose.js
│   ├── constant.js
│   ├── contains.js
│   ├── countBy.js
│   ├── create.js
│   ├── debounce.js
│   ├── defaults.js
│   ├── defer.js
│   ├── delay.js
│   ├── difference.js
│   ├── each.js
│   ├── escape.js
│   ├── every.js
│   ├── extend.js
│   ├── extendOwn.js
│   ├── filter.js
│   ├── find.js
│   ├── findIndex.js
│   ├── findKey.js
│   ├── findLastIndex.js
│   ├── findWhere.js
│   ├── first.js
│   ├── flatten.js
│   ├── functions.js
│   ├── get.js
│   ├── groupBy.js
│   ├── has.js
│   ├── identity.js
│   ├── index-all.js
│   ├── index-default.js
│   ├── index.js
│   ├── indexBy.js
│   ├── indexOf.js
│   ├── initial.js
│   ├── intersection.js
│   ├── invert.js
│   ├── invoke.js
│   ├── isArguments.js
│   ├── isArray.js
│   ├── isArrayBuffer.js
│   ├── isBoolean.js
│   ├── isDataView.js
│   ├── isDate.js
│   ├── isElement.js
│   ├── isEmpty.js
│   ├── isEqual.js
│   ├── isError.js
│   ├── isFinite.js
│   ├── isFunction.js
│   ├── isMap.js
│   ├── isMatch.js
│   ├── isNaN.js
│   ├── isNull.js
│   ├── isNumber.js
│   ├── isObject.js
│   ├── isRegExp.js
│   ├── isSet.js
│   ├── isString.js
│   ├── isSymbol.js
│   ├── isTypedArray.js
│   ├── isUndefined.js
│   ├── isWeakMap.js
│   ├── isWeakSet.js
│   ├── iteratee.js
│   ├── keys.js
│   ├── last.js
│   ├── lastIndexOf.js
│   ├── map.js
│   ├── mapObject.js
│   ├── matcher.js
│   ├── max.js
│   ├── memoize.js
│   ├── min.js
│   ├── mixin.js
│   ├── negate.js
│   ├── noop.js
│   ├── now.js
│   ├── object.js
│   ├── omit.js
│   ├── once.js
│   ├── package.json
│   ├── pairs.js
│   ├── partial.js
│   ├── partition.js
│   ├── pick.js
│   ├── pluck.js
│   ├── property.js
│   ├── propertyOf.js
│   ├── random.js
│   ├── range.js
│   ├── reduce.js
│   ├── reduceRight.js
│   ├── reject.js
│   ├── rest.js
│   ├── restArguments.js
│   ├── result.js
│   ├── sample.js
│   ├── shuffle.js
│   ├── size.js
│   ├── some.js
│   ├── sortBy.js
│   ├── sortedIndex.js
│   ├── tap.js
│   ├── template.js
│   ├── templateSettings.js
│   ├── throttle.js
│   ├── times.js
│   ├── toArray.js
│   ├── toPath.js
│   ├── underscore-array-methods.js
│   ├── underscore.js
│   ├── unescape.js
│   ├── union.js
│   ├── uniq.js
│   ├── uniqueId.js
│   ├── unzip.js
│   ├── values.js
│   ├── where.js
│   ├── without.js
│   ├── wrap.js
│   └── zip.js
├── package.json
├── patches/
│   └── docco+0.8.0.patch
├── rollup.common.js
├── rollup.config.js
├── rollup.config2.js
├── test/
│   ├── .eslintrc
│   ├── arrays.js
│   ├── chaining.js
│   ├── collections.js
│   ├── cross-document.js
│   ├── functions.js
│   ├── index.html
│   ├── objects.js
│   ├── overrides.js
│   ├── qunit-setup.js
│   ├── treeshake.js
│   ├── utility.js
│   └── vendor/
│       ├── qunit.css
│       └── qunit.js
├── test-treeshake/
│   ├── map.js
│   ├── rollup.config.js
│   └── template.js
├── underscore-esm-min.js
├── underscore-esm.js
├── underscore-min.js
├── underscore-node-f.cjs
├── underscore-node.cjs
├── underscore-node.mjs
├── underscore-umd-min.js
├── underscore-umd.js
└── underscore.js
Download .txt
SYMBOL INDEX (958 symbols across 118 files)

FILE: docs/main.js
  function searchValue (line 6) | function searchValue() {
  function strIn (line 10) | function strIn(a, b) {
  function doesMatch (line 16) | function doesMatch(element) {
  function filterElement (line 23) | function filterElement(element) {
  function filterToc (line 27) | function filterToc() {
  function gotoFirst (line 40) | function gotoFirst() {

FILE: modules/_baseCreate.js
  function ctor (line 5) | function ctor() {
  function baseCreate (line 10) | function baseCreate(prototype) {

FILE: modules/_baseIteratee.js
  function baseIteratee (line 12) | function baseIteratee(value, context, argCount) {

FILE: modules/_cb.js
  function cb (line 7) | function cb(value, context, argCount) {

FILE: modules/_chainResult.js
  function chainResult (line 4) | function chainResult(instance, obj) {

FILE: modules/_collectNonEnumProps.js
  function emulatedSet (line 9) | function emulatedSet(keys) {
  function collectNonEnumProps (line 24) | function collectNonEnumProps(obj, keys) {

FILE: modules/_createAssigner.js
  function createAssigner (line 2) | function createAssigner(keysFunc, defaults) {

FILE: modules/_createEscaper.js
  function createEscaper (line 5) | function createEscaper(map) {

FILE: modules/_createIndexFinder.js
  function createIndexFinder (line 6) | function createIndexFinder(dir, predicateFind, sortedIndex) {

FILE: modules/_createPredicateIndexFinder.js
  function createPredicateIndexFinder (line 5) | function createPredicateIndexFinder(dir) {

FILE: modules/_createReduce.js
  function createReduce (line 6) | function createReduce(dir) {

FILE: modules/_createSizePropertyCheck.js
  function createSizePropertyCheck (line 4) | function createSizePropertyCheck(getSizeProperty) {

FILE: modules/_deepGet.js
  function deepGet (line 2) | function deepGet(obj, path) {

FILE: modules/_executeBound.js
  function executeBound (line 7) | function executeBound(sourceFunc, boundFunc, context, callingContext, ar...

FILE: modules/_flatten.js
  function flatten (line 7) | function flatten(input, depth, strict) {

FILE: modules/_group.js
  function group (line 5) | function group(behavior, partition) {

FILE: modules/_has.js
  function has (line 4) | function has(obj, key) {

FILE: modules/_keyInObj.js
  function keyInObj (line 3) | function keyInObj(value, key, obj) {

FILE: modules/_methodFingerprint.js
  function ie11fingerprint (line 9) | function ie11fingerprint(methods) {

FILE: modules/_optimizeCb.js
  function optimizeCb (line 4) | function optimizeCb(func, context, argCount) {

FILE: modules/_shallowProperty.js
  function shallowProperty (line 2) | function shallowProperty(key) {

FILE: modules/_tagTester.js
  function tagTester (line 4) | function tagTester(name) {

FILE: modules/_toBufferView.js
  function toBufferView (line 5) | function toBufferView(bufferSource) {

FILE: modules/_toPath.js
  function toPath (line 6) | function toPath(path) {

FILE: modules/after.js
  function after (line 2) | function after(times, func) {

FILE: modules/allKeys.js
  function allKeys (line 6) | function allKeys(obj) {

FILE: modules/before.js
  function before (line 3) | function before(times, func) {

FILE: modules/chain.js
  function chain (line 4) | function chain(obj) {

FILE: modules/chunk.js
  function chunk (line 5) | function chunk(array, count) {

FILE: modules/clone.js
  function clone (line 6) | function clone(obj) {

FILE: modules/compact.js
  function compact (line 4) | function compact(array) {

FILE: modules/compose.js
  function compose (line 3) | function compose() {

FILE: modules/constant.js
  function constant (line 2) | function constant(value) {

FILE: modules/contains.js
  function contains (line 6) | function contains(obj, item, fromIndex, guard) {

FILE: modules/create.js
  function create (line 7) | function create(prototype, props) {

FILE: modules/debounce.js
  function debounce (line 8) | function debounce(func, wait, immediate) {

FILE: modules/each.js
  function each (line 9) | function each(obj, iteratee, context) {

FILE: modules/every.js
  function every (line 6) | function every(obj, predicate, context) {

FILE: modules/filter.js
  function filter (line 5) | function filter(obj, predicate, context) {

FILE: modules/find.js
  function find (line 6) | function find(obj, predicate, context) {

FILE: modules/findKey.js
  function findKey (line 5) | function findKey(obj, predicate, context) {

FILE: modules/findWhere.js
  function findWhere (line 6) | function findWhere(obj, attrs) {

FILE: modules/first.js
  function first (line 5) | function first(array, n, guard) {

FILE: modules/flatten.js
  function flatten (line 5) | function flatten(array, depth) {

FILE: modules/functions.js
  function functions (line 4) | function functions(obj) {

FILE: modules/get.js
  function get (line 9) | function get(object, path, defaultValue) {

FILE: modules/has.js
  function has (line 7) | function has(obj, path) {

FILE: modules/identity.js
  function identity (line 2) | function identity(value) {

FILE: modules/initial.js
  function initial (line 6) | function initial(array, n, guard) {

FILE: modules/intersection.js
  function intersection (line 6) | function intersection(array) {

FILE: modules/invert.js
  function invert (line 4) | function invert(obj) {

FILE: modules/isBoolean.js
  function isBoolean (line 4) | function isBoolean(obj) {

FILE: modules/isDataView.js
  function alternateIsDataView (line 12) | function alternateIsDataView(obj) {

FILE: modules/isElement.js
  function isElement (line 2) | function isElement(obj) {

FILE: modules/isEmpty.js
  function isEmpty (line 9) | function isEmpty(obj) {

FILE: modules/isEqual.js
  function isEqual (line 16) | function isEqual(a, b) {

FILE: modules/isFinite.js
  function isFinite (line 5) | function isFinite(obj) {

FILE: modules/isMatch.js
  function isMatch (line 4) | function isMatch(object, attrs) {

FILE: modules/isNaN.js
  function isNaN (line 5) | function isNaN(obj) {

FILE: modules/isNull.js
  function isNull (line 2) | function isNull(obj) {

FILE: modules/isObject.js
  function isObject (line 2) | function isObject(obj) {

FILE: modules/isTypedArray.js
  function isTypedArray (line 8) | function isTypedArray(obj) {

FILE: modules/isUndefined.js
  function isUndefined (line 2) | function isUndefined(obj) {

FILE: modules/iteratee.js
  function iteratee (line 7) | function iteratee(value, context) {

FILE: modules/keys.js
  function keys (line 8) | function keys(obj) {

FILE: modules/last.js
  function last (line 5) | function last(array, n, guard) {

FILE: modules/map.js
  function map (line 6) | function map(obj, iteratee, context) {

FILE: modules/mapObject.js
  function mapObject (line 6) | function mapObject(obj, iteratee, context) {

FILE: modules/matcher.js
  function matcher (line 6) | function matcher(attrs) {

FILE: modules/max.js
  function max (line 7) | function max(obj, iteratee, context) {

FILE: modules/memoize.js
  function memoize (line 4) | function memoize(func, hasher) {

FILE: modules/min.js
  function min (line 7) | function min(obj, iteratee, context) {

FILE: modules/mixin.js
  function mixin (line 8) | function mixin(obj) {

FILE: modules/negate.js
  function negate (line 2) | function negate(predicate) {

FILE: modules/noop.js
  function noop (line 2) | function noop(){}

FILE: modules/object.js
  function object (line 6) | function object(list, values) {

FILE: modules/pairs.js
  function pairs (line 5) | function pairs(obj) {

FILE: modules/pluck.js
  function pluck (line 5) | function pluck(obj, key) {

FILE: modules/property.js
  function property (line 6) | function property(path) {

FILE: modules/propertyOf.js
  function propertyOf (line 5) | function propertyOf(obj) {

FILE: modules/random.js
  function random (line 2) | function random(min, max) {

FILE: modules/range.js
  function range (line 4) | function range(start, stop, step) {

FILE: modules/reject.js
  function reject (line 6) | function reject(obj, predicate, context) {

FILE: modules/rest.js
  function rest (line 6) | function rest(array, n, guard) {

FILE: modules/restArguments.js
  function restArguments (line 6) | function restArguments(func, startIndex) {

FILE: modules/result.js
  function result (line 7) | function result(obj, path, fallback) {

FILE: modules/sample.js
  function sample (line 11) | function sample(obj, n, guard) {

FILE: modules/shuffle.js
  function shuffle (line 4) | function shuffle(obj) {

FILE: modules/size.js
  function size (line 5) | function size(obj) {

FILE: modules/some.js
  function some (line 6) | function some(obj, predicate, context) {

FILE: modules/sortBy.js
  function sortBy (line 6) | function sortBy(obj, iteratee, context) {

FILE: modules/sortedIndex.js
  function sortedIndex (line 6) | function sortedIndex(array, obj, iteratee, context) {

FILE: modules/tap.js
  function tap (line 4) | function tap(obj, interceptor) {

FILE: modules/template.js
  function escapeChar (line 23) | function escapeChar(match) {
  function template (line 38) | function template(text, settings, oldSettings) {

FILE: modules/throttle.js
  function throttle (line 8) | function throttle(func, wait, options) {

FILE: modules/times.js
  function times (line 4) | function times(n, iteratee, context) {

FILE: modules/toArray.js
  function toArray (line 11) | function toArray(obj) {

FILE: modules/toPath.js
  function toPath (line 6) | function toPath(path) {

FILE: modules/underscore.js
  function _ (line 6) | function _(obj) {

FILE: modules/uniq.js
  function uniq (line 11) | function uniq(array, isSorted, iteratee, context) {

FILE: modules/uniqueId.js
  function uniqueId (line 4) | function uniqueId(prefix) {

FILE: modules/unzip.js
  function unzip (line 7) | function unzip(array) {

FILE: modules/values.js
  function values (line 4) | function values(obj) {

FILE: modules/where.js
  function where (line 6) | function where(obj, attrs) {

FILE: modules/wrap.js
  function wrap (line 6) | function wrap(func, wrapper) {

FILE: rollup.common.js
  function outputConf (line 17) | function outputConf(particular) {
  function sourcemapConf (line 21) | function sourcemapConf(particular) {
  function monolithConf (line 25) | function monolithConf(particular) {

FILE: test/collections.js
  function test (line 550) | function test() {}
  function test (line 568) | function test() {}
  function TestClass (line 572) | function TestClass() {
  function Pair (line 680) | function Pair(x, y) {
  function compareNode (line 959) | function compareNode(node) {

FILE: test/functions.js
  function MyWidget (line 70) | function MyWidget(name, options) {
  function h (line 738) | function h(x, y, z) {
  function g (line 742) | function g(x) {
  function f (line 746) | function f(x) {
  function fn (line 794) | function fn() {

FILE: test/objects.js
  function A (line 68) | function A() {}
  function y (line 74) | function y() {}
  function First (line 323) | function First() {
  function Second (line 327) | function Second() {
  function Foo (line 574) | function Foo() { this.a = 1; }
  function Child (line 1003) | function Child() {}
  function MoreStooges (line 1061) | function MoreStooges() { this.shemp = 87; }
  function Prototest (line 1098) | function Prototest() {}
  function Prototest (line 1143) | function Prototest() {}

FILE: test/overrides.js
  function overrideDataView (line 2) | function overrideDataView() {

FILE: test/vendor/qunit.js
  function consoleProxy (line 42) | function consoleProxy(method) {
  function defineProperties (line 77) | function defineProperties(target, props) {
  function detectPerformanceApi (line 154) | function detectPerformanceApi() {
  function measure (line 158) | function measure(comment, startMark, endMark) {
  function diff (line 175) | function diff(a, b) {
  function inArray (line 200) | function inArray(elem, array) {
  function objectValues (line 211) | function objectValues(obj) {
  function extend (line 224) | function extend(a, b, undefOnly) {
  function objectType (line 238) | function objectType(obj) {
  function is (line 273) | function is(type, obj) {
  function generateHash (line 279) | function generateHash(module, testName) {
  function useStrictEquality (line 311) | function useStrictEquality(a, b) {
  function compareConstructors (line 328) | function compareConstructors(a, b) {
  function getRegExpFlags (line 356) | function getRegExpFlags(regexp) {
  function isContainer (line 360) | function isContainer(val) {
  function breadthFirstCompareChild (line 364) | function breadthFirstCompareChild(a, b) {
  function typeEquiv (line 582) | function typeEquiv(a, b) {
  function innerEquiv (line 596) | function innerEquiv(a, b) {
  function quote (line 709) | function quote(str) {
  function literal (line 712) | function literal(o) {
  function join (line 715) | function join(pre, arr, post) {
  function array (line 727) | function array(arr, stack) {
  function isArray (line 743) | function isArray(obj) {
  function SuiteReport (line 991) | function SuiteReport(name, parentSuite) {
  function isParentModuleInQueue (line 1123) | function isParentModuleInQueue() {
  function createModule (line 1132) | function createModule(name, testEnvironment, modifiers) {
  function processModule (line 1170) | function processModule(name, options, executeNow) {
  function module$1 (line 1220) | function module$1(name, options, executeNow) {
  function emit (line 1270) | function emit(eventName, data) {
  function on (line 1293) | function on(eventName, callback) {
  function objectOrFunction (line 1313) | function objectOrFunction(x) {
  function isFunction (line 1318) | function isFunction(x) {
  function setScheduler (line 1355) | function setScheduler(scheduleFn) {
  function setAsap (line 1359) | function setAsap(asapFn) {
  function useNextTick (line 1372) | function useNextTick() {
  function useVertxTimer (line 1381) | function useVertxTimer() {
  function useMutationObserver (line 1391) | function useMutationObserver() {
  function useMessageChannel (line 1403) | function useMessageChannel() {
  function useSetTimeout (line 1411) | function useSetTimeout() {
  function flush (line 1421) | function flush() {
  function attemptVertx (line 1435) | function attemptVertx() {
  function then (line 1459) | function then(onFulfillment, onRejection) {
  function resolve$1 (line 1514) | function resolve$1(object) {
  function noop (line 1529) | function noop() {}
  function selfFulfillment (line 1535) | function selfFulfillment() {
  function cannotReturnOwn (line 1539) | function cannotReturnOwn() {
  function tryThen (line 1543) | function tryThen(then$$1, value, fulfillmentHandler, rejectionHandler) {
  function handleForeignThenable (line 1551) | function handleForeignThenable(promise, thenable, then$$1) {
  function handleOwnThenable (line 1580) | function handleOwnThenable(promise, thenable) {
  function handleMaybeThenable (line 1594) | function handleMaybeThenable(promise, maybeThenable, then$$1) {
  function resolve (line 1608) | function resolve(promise, value) {
  function publishRejection (line 1625) | function publishRejection(promise) {
  function fulfill (line 1633) | function fulfill(promise, value) {
  function reject (line 1646) | function reject(promise, reason) {
  function subscribe (line 1656) | function subscribe(parent, child, onFulfillment, onRejection) {
  function publish (line 1672) | function publish(promise) {
  function invokeCallback (line 1698) | function invokeCallback(settled, promise, callback, detail) {
  function initializePromise (line 1733) | function initializePromise(promise, resolver) {
  function nextId (line 1746) | function nextId() {
  function makePromise (line 1750) | function makePromise(promise) {
  function validationError (line 1757) | function validationError() {
  function Enumerator (line 1762) | function Enumerator(Constructor, input) {
  function all (line 1921) | function all(entries) {
  function race (line 1990) | function race(entries) {
  function reject$1 (line 2042) | function reject$1(reason) {
  function needsResolver (line 2050) | function needsResolver() {
  function needsNew (line 2054) | function needsNew() {
  function Promise (line 2163) | function Promise(resolver) {
  function polyfill (line 2441) | function polyfill() {
  function registerLoggingCallbacks (line 2481) | function registerLoggingCallbacks(obj) {
  function runLoggingCallbacks (line 2511) | function runLoggingCallbacks(key, args) {
  function extractStacktrace (line 2537) | function extractStacktrace(e, offset) {
  function sourceFromStacktrace (line 2563) | function sourceFromStacktrace(offset) {
  function advance (line 2591) | function advance() {
  function advanceTaskQueue (line 2602) | function advanceTaskQueue() {
  function processTaskQueue (line 2615) | function processTaskQueue(start) {
  function advanceTestQueue (line 2637) | function advanceTestQueue() {
  function addToTaskQueue (line 2657) | function addToTaskQueue(tasksArray) {
  function taskQueueLength (line 2665) | function taskQueueLength() {
  function addToTestQueue (line 2675) | function addToTestQueue(testTasksFunc, prioritize, seed) {
  function unitSamplerGenerator (line 2694) | function unitSamplerGenerator(seed) {
  function done (line 2717) | function done() {
  function TestReport (line 2775) | function TestReport(name, suite, options) {
  function Test (line 2890) | function Test(settings) {
  function getNotStartedModules (line 2962) | function getNotStartedModules(startModule) {
  method stack (line 2979) | get stack() {
  function runTest (line 3047) | function runTest(test) {
  function processHooks (line 3106) | function processHooks(test, module) {
  method source (line 3202) | get source() {
  function logSuiteEnd (line 3227) | function logSuiteEnd(module) {
  function runTest (line 3259) | function runTest() {
  function moduleChainNameMatch (line 3400) | function moduleChainNameMatch(testModule) {
  function moduleChainIdMatch (line 3411) | function moduleChainIdMatch(testModule) {
  function pushFailure (line 3467) | function pushFailure() {
  function saveGlobal (line 3478) | function saveGlobal() {
  function checkPollution (line 3495) | function checkPollution() {
  function test (line 3514) | function test(testName, callback) {
  function todo (line 3527) | function todo(testName, callback) {
  function skip (line 3542) | function skip(testName) {
  function only (line 3556) | function only(testName, callback) {
  function resetTestTimeout (line 3571) | function resetTestTimeout(timeoutDuration) {
  function internalStop (line 3577) | function internalStop(test) {
  function internalRecover (line 3617) | function internalRecover(test) {
  function internalStart (line 3623) | function internalStart(test) {
  function collectTests (line 3667) | function collectTests(module) {
  function numberOfTests (line 3681) | function numberOfTests(module) {
  function numberOfUnskippedTests (line 3685) | function numberOfUnskippedTests(module) {
  function notifyTestsRan (line 3691) | function notifyTestsRan(module, skipped) {
  function Assert (line 3705) | function Assert(testContext) {
  function errorString (line 4165) | function errorString(error) {
  function exportQUnit (line 4189) | function exportQUnit(QUnit) {
  function onError (line 4231) | function onError(error) {
  function onUnhandledRejection (line 4251) | function onUnhandledRejection(reason) {
  function scheduleBegin (line 4378) | function scheduleBegin() {
  function unblockAndAdvanceQueue (line 4392) | function unblockAndAdvanceQueue() {
  function begin (line 4397) | function begin() {
  function storeFixture (line 4444) | function storeFixture() {
  function resetFixture (line 4460) | function resetFixture() {
  function getUrlParams (line 4548) | function getUrlParams() {
  function decodeQueryParam (line 4572) | function decodeQueryParam(param) {
  function escapeText (line 4585) | function escapeText(s) {
  function addEvent (line 4624) | function addEvent(elem, type, fn) {
  function removeEvent (line 4628) | function removeEvent(elem, type, fn) {
  function addEvents (line 4632) | function addEvents(elems, type, fn) {
  function hasClass (line 4639) | function hasClass(elem, name) {
  function addClass (line 4643) | function addClass(elem, name) {
  function toggleClass (line 4649) | function toggleClass(elem, name, force) {
  function removeClass (line 4657) | function removeClass(elem, name) {
  function id (line 4669) | function id(name) {
  function abortTests (line 4673) | function abortTests() {
  function interceptNavigation (line 4683) | function interceptNavigation(ev) {
  function getUrlConfigHtml (line 4693) | function getUrlConfigHtml() {
  function toolbarChanged (line 4747) | function toolbarChanged() {
  function setUrl (line 4818) | function setUrl(params) {
  function applyUrlParams (line 4847) | function applyUrlParams() {
  function toolbarUrlConfigContainer (line 4869) | function toolbarUrlConfigContainer() {
  function abortTestsButton (line 4881) | function abortTestsButton() {
  function toolbarLooseFilter (line 4889) | function toolbarLooseFilter() {
  function moduleListHtml (line 4916) | function moduleListHtml() {
  function toolbarModuleFilter (line 4931) | function toolbarModuleFilter() {
  function toolbarFilters (line 5083) | function toolbarFilters() {
  function appendToolbar (line 5093) | function appendToolbar() {
  function appendHeader (line 5103) | function appendHeader() {
  function appendBanner (line 5111) | function appendBanner() {
  function appendTestResults (line 5119) | function appendTestResults() {
  function appendFilteredTest (line 5143) | function appendFilteredTest() {
  function appendUserAgent (line 5151) | function appendUserAgent() {
  function appendInterface (line 5160) | function appendInterface() {
  function appendTest (line 5174) | function appendTest(name, testId, moduleName) {
  function getNameHtml (line 5277) | function getNameHtml(name, module) {
  function getProgressHtml (line 5289) | function getProgressHtml(runtime, stats, total) {
  function stripHtml (line 5311) | function stripHtml(string) {
  function DiffMatchPatch (line 5601) | function DiffMatchPatch() {}
  function diffHalfMatchI (line 5969) | function diffHalfMatchI(longtext, shorttext, i) {
  function diffLinesToCharsMunge (line 6450) | function diffLinesToCharsMunge(text) {

FILE: underscore-esm-min.js
  function restArguments (line 5) | function restArguments(e,t){return t=null==t?e.length-1:+t,function(){fo...
  function isObject (line 5) | function isObject(e){var t=typeof e;return"function"===t||"object"===t&&...
  function isNull (line 5) | function isNull(e){return null===e}
  function isUndefined (line 5) | function isUndefined(e){return void 0===e}
  function isBoolean (line 5) | function isBoolean(e){return!0===e||!1===e||"[object Boolean]"===toStrin...
  function isElement (line 5) | function isElement(e){return!(!e||1!==e.nodeType)}
  function tagTester (line 5) | function tagTester(e){var t="[object "+e+"]";return function(e){return t...
  function alternateIsDataView (line 5) | function alternateIsDataView(e){return null!=e&&isFunction$1(e.getInt8)&...
  function has$1 (line 5) | function has$1(e,t){return null!=e&&hasOwnProperty.call(e,t)}
  function isFinite$1 (line 5) | function isFinite$1(e){return!isSymbol(e)&&_isFinite(e)&&!isNaN(parseFlo...
  function isNaN$1 (line 5) | function isNaN$1(e){return isNumber(e)&&_isNaN(e)}
  function constant (line 5) | function constant(e){return function(){return e}}
  function createSizePropertyCheck (line 5) | function createSizePropertyCheck(e){return function(t){var n=e(t);return...
  function shallowProperty (line 5) | function shallowProperty(e){return function(t){return null==t?void 0:t[e]}}
  function isTypedArray (line 5) | function isTypedArray(e){return nativeIsView?nativeIsView(e)&&!isDataVie...
  function emulatedSet (line 5) | function emulatedSet(e){for(var t={},n=e.length,r=0;r<n;++r)t[e[r]]=!0;r...
  function collectNonEnumProps (line 5) | function collectNonEnumProps(e,t){t=emulatedSet(t);var n=nonEnumerablePr...
  function keys (line 5) | function keys(e){if(!isObject(e))return[];if(nativeKeys)return nativeKey...
  function isEmpty (line 5) | function isEmpty(e){if(null==e)return!0;var t=getLength(e);return"number...
  function isMatch (line 5) | function isMatch(e,t){var n=keys(t),r=n.length;if(null==e)return!r;for(v...
  function _$1 (line 5) | function _$1(e){return e instanceof _$1?e:this instanceof _$1?void(this....
  function toBufferView (line 5) | function toBufferView(e){return new Uint8Array(e.buffer||e,e.byteOffset|...
  function isEqual (line 5) | function isEqual(e,t){for(var n=[{a:e,b:t}],r=[],i=[];n.length;){var a=n...
  function allKeys (line 5) | function allKeys(e){if(!isObject(e))return[];var t=[];for(var n in e)t.p...
  function ie11fingerprint (line 5) | function ie11fingerprint(e){var t=getLength(e);return function(n){if(nul...
  function values (line 5) | function values(e){for(var t=keys(e),n=t.length,r=Array(n),i=0;i<n;i++)r...
  function pairs (line 5) | function pairs(e){for(var t=keys(e),n=t.length,r=Array(n),i=0;i<n;i++)r[...
  function invert (line 5) | function invert(e){for(var t={},n=keys(e),r=0,i=n.length;r<i;r++)t[e[n[r...
  function functions (line 5) | function functions(e){var t=[];for(var n in e)isFunction$1(e[n])&&t.push...
  function createAssigner (line 5) | function createAssigner(e,t){return function(n){var r=arguments.length;i...
  function ctor (line 5) | function ctor(){return function(){}}
  function baseCreate (line 5) | function baseCreate(e){if(!isObject(e))return{};if(nativeCreate)return n...
  function create (line 5) | function create(e,t){var n=baseCreate(e);return t&&extendOwn(n,t),n}
  function clone (line 5) | function clone(e){return isObject(e)?isArray(e)?e.slice():extend({},e):e}
  function tap (line 5) | function tap(e,t){return t(e),e}
  function toPath$1 (line 5) | function toPath$1(e){return isArray(e)?e:[e]}
  function toPath (line 5) | function toPath(e){return _$1.toPath(e)}
  function deepGet (line 5) | function deepGet(e,t){for(var n=t.length,r=0;r<n;r++){if(null==e)return;...
  function get (line 5) | function get(e,t,n){var r=deepGet(e,toPath(t));return isUndefined(r)?n:r}
  function has (line 5) | function has(e,t){for(var n=(t=toPath(t)).length,r=0;r<n;r++){var i=t[r]...
  function identity (line 5) | function identity(e){return e}
  function matcher (line 5) | function matcher(e){return e=extendOwn({},e),function(t){return isMatch(...
  function property (line 5) | function property(e){return e=toPath(e),function(t){return deepGet(t,e)}}
  function optimizeCb (line 5) | function optimizeCb(e,t,n){if(void 0===t)return e;switch(null==n?3:n){ca...
  function baseIteratee (line 5) | function baseIteratee(e,t,n){return null==e?identity:isFunction$1(e)?opt...
  function iteratee (line 5) | function iteratee(e,t){return baseIteratee(e,t,1/0)}
  function cb (line 5) | function cb(e,t,n){return _$1.iteratee!==iteratee?_$1.iteratee(e,t):base...
  function mapObject (line 5) | function mapObject(e,t,n){t=cb(t,n);for(var r=keys(e),i=r.length,a={},u=...
  function noop (line 5) | function noop(){}
  function propertyOf (line 5) | function propertyOf(e){return null==e?noop:function(t){return get(e,t)}}
  function times (line 5) | function times(e,t,n){var r=Array(Math.max(0,e));t=optimizeCb(t,n,1);for...
  function random (line 5) | function random(e,t){return null==t&&(t=e,e=0),e+Math.floor(Math.random(...
  function createEscaper (line 5) | function createEscaper(e){var t=function(t){return e[t]},n="(?:"+keys(e)...
  function escapeChar (line 5) | function escapeChar(e){return"\\"+escapes[e]}
  function template (line 5) | function template(e,t,n){!t&&n&&(t=n),t=defaults({},t,_$1.templateSettin...
  function result (line 5) | function result(e,t,n){var r=(t=toPath(t)).length;if(!r)return isFunctio...
  function uniqueId (line 5) | function uniqueId(e){var t=++idCounter+"";return e?e+t:t}
  function chain (line 5) | function chain(e){var t=_$1(e);return t._chain=!0,t}
  function executeBound (line 5) | function executeBound(e,t,n,r,i){if(!(r instanceof t))return e.apply(n,i...
  function flatten$1 (line 5) | function flatten$1(e,t,n){t||0===t||(t=1/0);for(var r=[],i=0,a=0,u=getLe...
  function memoize (line 5) | function memoize(e,t){var n=function(r){var i=n.cache,a=""+(t?t.apply(th...
  function throttle (line 5) | function throttle(e,t,n){var r,i,a,u,o=0;n||(n={});var s=function(){o=!1...
  function debounce (line 5) | function debounce(e,t,n){var r,i,a,u,o,s=function(){var c=now()-i;t>c?r=...
  function wrap (line 5) | function wrap(e,t){return partial(t,e)}
  function negate (line 5) | function negate(e){return function(){return!e.apply(this,arguments)}}
  function compose (line 5) | function compose(){var e=arguments,t=e.length-1;return function(){for(va...
  function after (line 5) | function after(e,t){return function(){if(--e<1)return t.apply(this,argum...
  function before (line 5) | function before(e,t){var n;return function(){return--e>0&&(n=t.apply(thi...
  function findKey (line 5) | function findKey(e,t,n){t=cb(t,n);for(var r,i=keys(e),a=0,u=i.length;a<u...
  function createPredicateIndexFinder (line 5) | function createPredicateIndexFinder(e){return function(t,n,r){n=cb(n,r);...
  function sortedIndex (line 5) | function sortedIndex(e,t,n,r){for(var i=(n=cb(n,r,1))(t),a=0,u=getLength...
  function createIndexFinder (line 5) | function createIndexFinder(e,t,n){return function(r,i,a){var u=0,o=getLe...
  function find (line 5) | function find(e,t,n){var r=(isArrayLike(e)?findIndex:findKey)(e,t,n);if(...
  function findWhere (line 5) | function findWhere(e,t){return find(e,matcher(t))}
  function each (line 5) | function each(e,t,n){var r,i;if(t=optimizeCb(t,n),isArrayLike(e))for(r=0...
  function map (line 5) | function map(e,t,n){t=cb(t,n);for(var r=!isArrayLike(e)&&keys(e),i=(r||e...
  function createReduce (line 5) | function createReduce(e){var t=function(t,n,r,i){var a=!isArrayLike(t)&&...
  function filter (line 5) | function filter(e,t,n){var r=[];return t=cb(t,n),each(e,(function(e,n,i)...
  function reject (line 5) | function reject(e,t,n){return filter(e,negate(cb(t)),n)}
  function every (line 5) | function every(e,t,n){t=cb(t,n);for(var r=!isArrayLike(e)&&keys(e),i=(r|...
  function some (line 5) | function some(e,t,n){t=cb(t,n);for(var r=!isArrayLike(e)&&keys(e),i=(r||...
  function contains (line 5) | function contains(e,t,n,r){return isArrayLike(e)||(e=values(e)),("number...
  function pluck (line 5) | function pluck(e,t){return map(e,property(t))}
  function where (line 5) | function where(e,t){return filter(e,matcher(t))}
  function max (line 5) | function max(e,t,n){var r,i,a=-1/0,u=-1/0;if(null==t||"number"==typeof t...
  function min (line 5) | function min(e,t,n){var r,i,a=1/0,u=1/0;if(null==t||"number"==typeof t&&...
  function toArray (line 5) | function toArray(e){return e?isArray(e)?slice.call(e):isString(e)?e.matc...
  function sample (line 5) | function sample(e,t,n){if(null==t||n)return isArrayLike(e)||(e=values(e)...
  function shuffle (line 5) | function shuffle(e){return sample(e,1/0)}
  function sortBy (line 5) | function sortBy(e,t,n){var r=0;return t=cb(t,n),pluck(map(e,(function(e,...
  function group (line 5) | function group(e,t){return function(n,r,i){var a=t?[[],[]]:{};return r=c...
  function size (line 5) | function size(e){return null==e?0:isArrayLike(e)?e.length:keys(e).length}
  function keyInObj (line 5) | function keyInObj(e,t,n){return t in n}
  function initial (line 5) | function initial(e,t,n){return slice.call(e,0,Math.max(0,e.length-(null=...
  function first (line 5) | function first(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:nu...
  function rest (line 5) | function rest(e,t,n){return slice.call(e,null==t||n?1:t)}
  function last (line 5) | function last(e,t,n){return null==e||e.length<1?null==t||n?void 0:[]:nul...
  function compact (line 5) | function compact(e){return filter(e,Boolean)}
  function flatten (line 5) | function flatten(e,t){return flatten$1(e,t,!1)}
  function uniq (line 5) | function uniq(e,t,n,r){isBoolean(t)||(r=n,n=t,t=!1),null!=n&&(n=cb(n,r))...
  function intersection (line 5) | function intersection(e){for(var t=[],n=arguments.length,r=0,i=getLength...
  function unzip (line 5) | function unzip(e){for(var t=e&&max(e,getLength).length||0,n=Array(t),r=0...
  function object (line 5) | function object(e,t){for(var n={},r=0,i=getLength(e);r<i;r++)t?n[e[r]]=t...
  function range (line 5) | function range(e,t,n){null==t&&(t=e||0,e=0),n||(n=t<e?-1:1);for(var r=Ma...
  function chunk (line 5) | function chunk(e,t){if(null==t||t<1)return[];for(var n=[],r=0,i=e.length...
  function chainResult (line 5) | function chainResult(e,t){return e._chain?_$1(t).chain():t}
  function mixin (line 5) | function mixin(e){return each(functions(e),(function(t){var n=_$1[t]=e[t...

FILE: underscore-esm.js
  function restArguments (line 55) | function restArguments(func, startIndex) {
  function isObject (line 79) | function isObject(obj) {
  function isNull (line 85) | function isNull(obj) {
  function isUndefined (line 90) | function isUndefined(obj) {
  function isBoolean (line 95) | function isBoolean(obj) {
  function isElement (line 100) | function isElement(obj) {
  function tagTester (line 105) | function tagTester(name) {
  function alternateIsDataView (line 158) | function alternateIsDataView(obj) {
  function has$1 (line 169) | function has$1(obj, key) {
  function isFinite$1 (line 188) | function isFinite$1(obj) {
  function isNaN$1 (line 193) | function isNaN$1(obj) {
  function constant (line 198) | function constant(value) {
  function createSizePropertyCheck (line 205) | function createSizePropertyCheck(getSizeProperty) {
  function shallowProperty (line 213) | function shallowProperty(key) {
  function isTypedArray (line 228) | function isTypedArray(obj) {
  function emulatedSet (line 244) | function emulatedSet(keys) {
  function collectNonEnumProps (line 259) | function collectNonEnumProps(obj, keys) {
  function keys (line 279) | function keys(obj) {
  function isEmpty (line 291) | function isEmpty(obj) {
  function isMatch (line 303) | function isMatch(object, attrs) {
  function _$1 (line 317) | function _$1(obj) {
  function toBufferView (line 340) | function toBufferView(bufferSource) {
  function isEqual (line 352) | function isEqual(a, b) {
  function allKeys (line 502) | function allKeys(obj) {
  function ie11fingerprint (line 515) | function ie11fingerprint(methods) {
  function values (line 554) | function values(obj) {
  function pairs (line 566) | function pairs(obj) {
  function invert (line 577) | function invert(obj) {
  function functions (line 587) | function functions(obj) {
  function createAssigner (line 596) | function createAssigner(keysFunc, defaults) {
  function ctor (line 626) | function ctor() {
  function baseCreate (line 631) | function baseCreate(prototype) {
  function create (line 644) | function create(prototype, props) {
  function clone (line 651) | function clone(obj) {
  function tap (line 659) | function tap(obj, interceptor) {
  function toPath$1 (line 666) | function toPath$1(path) {
  function toPath (line 673) | function toPath(path) {
  function deepGet (line 678) | function deepGet(obj, path) {
  function get (line 691) | function get(object, path, defaultValue) {
  function has (line 699) | function has(obj, path) {
  function identity (line 711) | function identity(value) {
  function matcher (line 717) | function matcher(attrs) {
  function property (line 726) | function property(path) {
  function optimizeCb (line 736) | function optimizeCb(func, context, argCount) {
  function baseIteratee (line 758) | function baseIteratee(value, context, argCount) {
  function iteratee (line 768) | function iteratee(value, context) {
  function cb (line 775) | function cb(value, context, argCount) {
  function mapObject (line 782) | function mapObject(obj, iteratee, context) {
  function noop (line 795) | function noop(){}
  function propertyOf (line 798) | function propertyOf(obj) {
  function times (line 806) | function times(n, iteratee, context) {
  function random (line 814) | function random(min, max) {
  function createEscaper (line 829) | function createEscaper(map) {
  function escapeChar (line 888) | function escapeChar(match) {
  function template (line 903) | function template(text, settings, oldSettings) {
  function result (line 971) | function result(obj, path, fallback) {
  function uniqueId (line 991) | function uniqueId(prefix) {
  function chain (line 997) | function chain(obj) {
  function executeBound (line 1006) | function executeBound(sourceFunc, boundFunc, context, callingContext, ar...
  function flatten$1 (line 1051) | function flatten$1(input, depth, strict) {
  function memoize (line 1097) | function memoize(func, hasher) {
  function throttle (line 1125) | function throttle(func, wait, options) {
  function debounce (line 1170) | function debounce(func, wait, immediate) {
  function wrap (line 1207) | function wrap(func, wrapper) {
  function negate (line 1212) | function negate(predicate) {
  function compose (line 1220) | function compose() {
  function after (line 1232) | function after(times, func) {
  function before (line 1242) | function before(times, func) {
  function findKey (line 1258) | function findKey(obj, predicate, context) {
  function createPredicateIndexFinder (line 1268) | function createPredicateIndexFinder(dir) {
  function sortedIndex (line 1288) | function sortedIndex(array, obj, iteratee, context) {
  function createIndexFinder (line 1300) | function createIndexFinder(dir, predicateFind, sortedIndex) {
  function find (line 1335) | function find(obj, predicate, context) {
  function findWhere (line 1343) | function findWhere(obj, attrs) {
  function each (line 1351) | function each(obj, iteratee, context) {
  function map (line 1368) | function map(obj, iteratee, context) {
  function createReduce (line 1381) | function createReduce(dir) {
  function filter (line 1413) | function filter(obj, predicate, context) {
  function reject (line 1423) | function reject(obj, predicate, context) {
  function every (line 1428) | function every(obj, predicate, context) {
  function some (line 1440) | function some(obj, predicate, context) {
  function contains (line 1452) | function contains(obj, item, fromIndex, guard) {
  function pluck (line 1482) | function pluck(obj, key) {
  function where (line 1488) | function where(obj, attrs) {
  function max (line 1493) | function max(obj, iteratee, context) {
  function min (line 1518) | function min(obj, iteratee, context) {
  function toArray (line 1544) | function toArray(obj) {
  function sample (line 1559) | function sample(obj, n, guard) {
  function shuffle (line 1578) | function shuffle(obj) {
  function sortBy (line 1583) | function sortBy(obj, iteratee, context) {
  function group (line 1604) | function group(behavior, partition) {
  function size (line 1642) | function size(obj) {
  function keyInObj (line 1649) | function keyInObj(value, key, obj) {
  function initial (line 1691) | function initial(array, n, guard) {
  function first (line 1697) | function first(array, n, guard) {
  function rest (line 1706) | function rest(array, n, guard) {
  function last (line 1712) | function last(array, n, guard) {
  function compact (line 1719) | function compact(array) {
  function flatten (line 1725) | function flatten(array, depth) {
  function uniq (line 1748) | function uniq(array, isSorted, iteratee, context) {
  function intersection (line 1783) | function intersection(array) {
  function unzip (line 1800) | function unzip(array) {
  function object (line 1817) | function object(list, values) {
  function range (line 1832) | function range(start, stop, step) {
  function chunk (line 1853) | function chunk(array, count) {
  function chainResult (line 1864) | function chainResult(instance, obj) {
  function mixin (line 1869) | function mixin(obj) {

FILE: underscore-min.js
  function j (line 6) | function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math...
  function w (line 6) | function w(n){var r=typeof n;return"function"===r||"object"===r&&!!n}
  function _ (line 6) | function _(n){return void 0===n}
  function A (line 6) | function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}
  function x (line 6) | function x(n){var r="[object "+n+"]";return function(n){return a.call(n)...
  function W (line 6) | function W(n,r){return null!=n&&f.call(n,r)}
  function $ (line 6) | function $(n){return O(n)&&y(n)}
  function C (line 6) | function C(n){return function(){return n}}
  function K (line 6) | function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>...
  function J (line 6) | function J(n){return function(r){return null==r?void 0:r[n]}}
  function Z (line 6) | function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]...
  function nn (line 6) | function nn(n){if(!w(n))return[];if(p)return p(n);var r=[];for(var t in ...
  function rn (line 6) | function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Ob...
  function tn (line 6) | function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wr...
  function en (line 6) | function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}
  function on (line 6) | function on(n){if(!w(n))return[];var r=[];for(var t in n)r.push(t);retur...
  function an (line 6) | function an(n){var r=Y(n);return function(t){if(null==t)return!1;var e=o...
  function mn (line 6) | function mn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[...
  function jn (line 6) | function jn(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[...
  function wn (line 6) | function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}
  function _n (line 6) | function _n(n,r){return function(t){var e=arguments.length;if(r&&(t=Obje...
  function On (line 6) | function On(n){if(!w(n))return{};if(v)return v(n);var r=function(){};r.p...
  function Mn (line 6) | function Mn(n){return U(n)?n:[n]}
  function En (line 6) | function En(n){return tn.toPath(n)}
  function Bn (line 6) | function Bn(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r...
  function Nn (line 6) | function Nn(n,r,t){var e=Bn(n,En(r));return _(e)?t:e}
  function kn (line 6) | function kn(n){return n}
  function In (line 6) | function In(n){return n=xn({},n),function(r){return rn(r,n)}}
  function Tn (line 6) | function Tn(n){return n=En(n),function(r){return Bn(r,n)}}
  function Dn (line 6) | function Dn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:ret...
  function Rn (line 6) | function Rn(n,r,t){return null==n?kn:D(n)?Dn(n,r,t):w(n)&&!U(n)?In(n):Tn...
  function Vn (line 6) | function Vn(n,r){return Rn(n,r,1/0)}
  function Fn (line 6) | function Fn(n,r,t){return tn.iteratee!==Vn?tn.iteratee(n,r):Rn(n,r,t)}
  function Pn (line 6) | function Pn(){}
  function qn (line 6) | function qn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r...
  function Wn (line 6) | function Wn(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")...
  function Hn (line 6) | function Hn(n){return"\\"+Jn[n]}
  function Yn (line 6) | function Yn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=On...
  function tr (line 6) | function tr(n,r,t){r||0===r||(r=1/0);for(var e=[],u=0,i=0,o=Y(n)||0,a=[]...
  function or (line 6) | function or(n){return function(){return!n.apply(this,arguments)}}
  function ar (line 6) | function ar(n,r){var t;return function(){return--n>0&&(t=r.apply(this,ar...
  function cr (line 6) | function cr(n,r,t){r=Fn(r,t);for(var e,u=nn(n),i=0,o=u.length;i<o;i++)if...
  function lr (line 6) | function lr(n){return function(r,t,e){t=Fn(t,e);for(var u=Y(r),i=n>0?0:u...
  function vr (line 6) | function vr(n,r,t,e){for(var u=(t=Fn(t,e,1))(r),i=0,o=Y(n);i<o;){var a=M...
  function hr (line 6) | function hr(n,r,t){return function(e,u,i){var a=0,f=Y(e);if("number"==ty...
  function gr (line 6) | function gr(n,r,t){var e=(rr(n)?sr:cr)(n,r,t);if(void 0!==e&&-1!==e)retu...
  function br (line 6) | function br(n,r,t){var e,u;if(r=Dn(r,t),rr(n))for(e=0,u=n.length;e<u;e++...
  function mr (line 6) | function mr(n,r,t){r=Fn(r,t);for(var e=!rr(n)&&nn(n),u=(e||n).length,i=A...
  function jr (line 6) | function jr(n){var r=function(r,t,e,u){var i=!rr(r)&&nn(r),o=(i||r).leng...
  function Ar (line 6) | function Ar(n,r,t){var e=[];return r=Fn(r,t),br(n,(function(n,t,u){r(n,t...
  function xr (line 6) | function xr(n,r,t){r=Fn(r,t);for(var e=!rr(n)&&nn(n),u=(e||n).length,i=0...
  function Sr (line 6) | function Sr(n,r,t){r=Fn(r,t);for(var e=!rr(n)&&nn(n),u=(e||n).length,i=0...
  function Or (line 6) | function Or(n,r,t,e){return rr(n)||(n=mn(n)),("number"!=typeof t||e)&&(t...
  function Er (line 6) | function Er(n,r){return mr(n,Tn(r))}
  function Br (line 6) | function Br(n,r,t){var e,u,i=-1/0,o=-1/0;if(null==r||"number"==typeof r&...
  function kr (line 6) | function kr(n){return n?U(n)?o.call(n):S(n)?n.match(Nr):rr(n)?mr(n,kn):m...
  function Ir (line 6) | function Ir(n,r,t){if(null==r||t)return rr(n)||(n=mn(n)),n[qn(n.length-1...
  function Tr (line 6) | function Tr(n,r){return function(t,e,u){var i=r?[[],[]]:{};return e=Fn(e...
  function Pr (line 6) | function Pr(n,r,t){return r in t}
  function Wr (line 6) | function Wr(n,r,t){return o.call(n,0,Math.max(0,n.length-(null==r||t?1:r...
  function zr (line 6) | function zr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null=...
  function Lr (line 6) | function Lr(n,r,t){return o.call(n,null==r||t?1:r)}
  function Kr (line 6) | function Kr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=Fn(t,e));for(var u...
  function Gr (line 6) | function Gr(n){for(var r=n&&Br(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e...
  function Qr (line 6) | function Qr(n,r){return n._chain?tn(r).chain():r}
  function Xr (line 6) | function Xr(n){return br(wn(n),(function(r){var t=tn[r]=n[r];tn.prototyp...

FILE: underscore-node-f.cjs
  function restArguments (line 57) | function restArguments(func, startIndex) {
  function isObject (line 81) | function isObject(obj) {
  function isNull (line 87) | function isNull(obj) {
  function isUndefined (line 92) | function isUndefined(obj) {
  function isBoolean (line 97) | function isBoolean(obj) {
  function isElement (line 102) | function isElement(obj) {
  function tagTester (line 107) | function tagTester(name) {
  function alternateIsDataView (line 160) | function alternateIsDataView(obj) {
  function has$1 (line 171) | function has$1(obj, key) {
  function isFinite$1 (line 190) | function isFinite$1(obj) {
  function isNaN$1 (line 195) | function isNaN$1(obj) {
  function constant (line 200) | function constant(value) {
  function createSizePropertyCheck (line 207) | function createSizePropertyCheck(getSizeProperty) {
  function shallowProperty (line 215) | function shallowProperty(key) {
  function isTypedArray (line 230) | function isTypedArray(obj) {
  function emulatedSet (line 246) | function emulatedSet(keys) {
  function collectNonEnumProps (line 261) | function collectNonEnumProps(obj, keys) {
  function keys (line 281) | function keys(obj) {
  function isEmpty (line 293) | function isEmpty(obj) {
  function isMatch (line 305) | function isMatch(object, attrs) {
  function _$1 (line 319) | function _$1(obj) {
  function toBufferView (line 342) | function toBufferView(bufferSource) {
  function isEqual (line 354) | function isEqual(a, b) {
  function allKeys (line 504) | function allKeys(obj) {
  function ie11fingerprint (line 517) | function ie11fingerprint(methods) {
  function values (line 556) | function values(obj) {
  function pairs (line 568) | function pairs(obj) {
  function invert (line 579) | function invert(obj) {
  function functions (line 589) | function functions(obj) {
  function createAssigner (line 598) | function createAssigner(keysFunc, defaults) {
  function ctor (line 628) | function ctor() {
  function baseCreate (line 633) | function baseCreate(prototype) {
  function create (line 646) | function create(prototype, props) {
  function clone (line 653) | function clone(obj) {
  function tap (line 661) | function tap(obj, interceptor) {
  function toPath$1 (line 668) | function toPath$1(path) {
  function toPath (line 675) | function toPath(path) {
  function deepGet (line 680) | function deepGet(obj, path) {
  function get (line 693) | function get(object, path, defaultValue) {
  function has (line 701) | function has(obj, path) {
  function identity (line 713) | function identity(value) {
  function matcher (line 719) | function matcher(attrs) {
  function property (line 728) | function property(path) {
  function optimizeCb (line 738) | function optimizeCb(func, context, argCount) {
  function baseIteratee (line 760) | function baseIteratee(value, context, argCount) {
  function iteratee (line 770) | function iteratee(value, context) {
  function cb (line 777) | function cb(value, context, argCount) {
  function mapObject (line 784) | function mapObject(obj, iteratee, context) {
  function noop (line 797) | function noop(){}
  function propertyOf (line 800) | function propertyOf(obj) {
  function times (line 808) | function times(n, iteratee, context) {
  function random (line 816) | function random(min, max) {
  function createEscaper (line 831) | function createEscaper(map) {
  function escapeChar (line 890) | function escapeChar(match) {
  function template (line 905) | function template(text, settings, oldSettings) {
  function result (line 973) | function result(obj, path, fallback) {
  function uniqueId (line 993) | function uniqueId(prefix) {
  function chain (line 999) | function chain(obj) {
  function executeBound (line 1008) | function executeBound(sourceFunc, boundFunc, context, callingContext, ar...
  function flatten$1 (line 1053) | function flatten$1(input, depth, strict) {
  function memoize (line 1099) | function memoize(func, hasher) {
  function throttle (line 1127) | function throttle(func, wait, options) {
  function debounce (line 1172) | function debounce(func, wait, immediate) {
  function wrap (line 1209) | function wrap(func, wrapper) {
  function negate (line 1214) | function negate(predicate) {
  function compose (line 1222) | function compose() {
  function after (line 1234) | function after(times, func) {
  function before (line 1244) | function before(times, func) {
  function findKey (line 1260) | function findKey(obj, predicate, context) {
  function createPredicateIndexFinder (line 1270) | function createPredicateIndexFinder(dir) {
  function sortedIndex (line 1290) | function sortedIndex(array, obj, iteratee, context) {
  function createIndexFinder (line 1302) | function createIndexFinder(dir, predicateFind, sortedIndex) {
  function find (line 1337) | function find(obj, predicate, context) {
  function findWhere (line 1345) | function findWhere(obj, attrs) {
  function each (line 1353) | function each(obj, iteratee, context) {
  function map (line 1370) | function map(obj, iteratee, context) {
  function createReduce (line 1383) | function createReduce(dir) {
  function filter (line 1415) | function filter(obj, predicate, context) {
  function reject (line 1425) | function reject(obj, predicate, context) {
  function every (line 1430) | function every(obj, predicate, context) {
  function some (line 1442) | function some(obj, predicate, context) {
  function contains (line 1454) | function contains(obj, item, fromIndex, guard) {
  function pluck (line 1484) | function pluck(obj, key) {
  function where (line 1490) | function where(obj, attrs) {
  function max (line 1495) | function max(obj, iteratee, context) {
  function min (line 1520) | function min(obj, iteratee, context) {
  function toArray (line 1546) | function toArray(obj) {
  function sample (line 1561) | function sample(obj, n, guard) {
  function shuffle (line 1580) | function shuffle(obj) {
  function sortBy (line 1585) | function sortBy(obj, iteratee, context) {
  function group (line 1606) | function group(behavior, partition) {
  function size (line 1644) | function size(obj) {
  function keyInObj (line 1651) | function keyInObj(value, key, obj) {
  function initial (line 1693) | function initial(array, n, guard) {
  function first (line 1699) | function first(array, n, guard) {
  function rest (line 1708) | function rest(array, n, guard) {
  function last (line 1714) | function last(array, n, guard) {
  function compact (line 1721) | function compact(array) {
  function flatten (line 1727) | function flatten(array, depth) {
  function uniq (line 1750) | function uniq(array, isSorted, iteratee, context) {
  function intersection (line 1785) | function intersection(array) {
  function unzip (line 1802) | function unzip(array) {
  function object (line 1819) | function object(list, values) {
  function range (line 1834) | function range(start, stop, step) {
  function chunk (line 1855) | function chunk(array, count) {
  function chainResult (line 1866) | function chainResult(instance, obj) {
  function mixin (line 1871) | function mixin(obj) {

FILE: underscore-umd-min.js
  function j (line 6) | function j(n,r){return r=null==r?n.length-1:+r,function(){for(var t=Math...
  function w (line 6) | function w(n){var r=typeof n;return"function"===r||"object"===r&&!!n}
  function _ (line 6) | function _(n){return void 0===n}
  function A (line 6) | function A(n){return!0===n||!1===n||"[object Boolean]"===a.call(n)}
  function x (line 6) | function x(n){var r="[object "+n+"]";return function(n){return a.call(n)...
  function W (line 6) | function W(n,r){return null!=n&&f.call(n,r)}
  function $ (line 6) | function $(n){return O(n)&&y(n)}
  function C (line 6) | function C(n){return function(){return n}}
  function K (line 6) | function K(n){return function(r){var t=n(r);return"number"==typeof t&&t>...
  function J (line 6) | function J(n){return function(r){return null==r?void 0:r[n]}}
  function Z (line 6) | function Z(n,r){r=function(n){for(var r={},t=n.length,e=0;e<t;++e)r[n[e]...
  function nn (line 6) | function nn(n){if(!w(n))return[];if(p)return p(n);var r=[];for(var t in ...
  function rn (line 6) | function rn(n,r){var t=nn(r),e=t.length;if(null==n)return!e;for(var u=Ob...
  function tn (line 6) | function tn(n){return n instanceof tn?n:this instanceof tn?void(this._wr...
  function en (line 6) | function en(n){return new Uint8Array(n.buffer||n,n.byteOffset||0,G(n))}
  function on (line 6) | function on(n){if(!w(n))return[];var r=[];for(var t in n)r.push(t);retur...
  function an (line 6) | function an(n){var r=Y(n);return function(t){if(null==t)return!1;var e=o...
  function mn (line 6) | function mn(n){for(var r=nn(n),t=r.length,e=Array(t),u=0;u<t;u++)e[u]=n[...
  function jn (line 6) | function jn(n){for(var r={},t=nn(n),e=0,u=t.length;e<u;e++)r[n[t[e]]]=t[...
  function wn (line 6) | function wn(n){var r=[];for(var t in n)D(n[t])&&r.push(t);return r.sort()}
  function _n (line 6) | function _n(n,r){return function(t){var e=arguments.length;if(r&&(t=Obje...
  function On (line 6) | function On(n){if(!w(n))return{};if(v)return v(n);var r=function(){};r.p...
  function Mn (line 6) | function Mn(n){return U(n)?n:[n]}
  function En (line 6) | function En(n){return tn.toPath(n)}
  function Bn (line 6) | function Bn(n,r){for(var t=r.length,e=0;e<t;e++){if(null==n)return;n=n[r...
  function Nn (line 6) | function Nn(n,r,t){var e=Bn(n,En(r));return _(e)?t:e}
  function kn (line 6) | function kn(n){return n}
  function In (line 6) | function In(n){return n=xn({},n),function(r){return rn(r,n)}}
  function Tn (line 6) | function Tn(n){return n=En(n),function(r){return Bn(r,n)}}
  function Dn (line 6) | function Dn(n,r,t){if(void 0===r)return n;switch(null==t?3:t){case 1:ret...
  function Rn (line 6) | function Rn(n,r,t){return null==n?kn:D(n)?Dn(n,r,t):w(n)&&!U(n)?In(n):Tn...
  function Vn (line 6) | function Vn(n,r){return Rn(n,r,1/0)}
  function Fn (line 6) | function Fn(n,r,t){return tn.iteratee!==Vn?tn.iteratee(n,r):Rn(n,r,t)}
  function Pn (line 6) | function Pn(){}
  function qn (line 6) | function qn(n,r){return null==r&&(r=n,n=0),n+Math.floor(Math.random()*(r...
  function Wn (line 6) | function Wn(n){var r=function(r){return n[r]},t="(?:"+nn(n).join("|")+")...
  function Hn (line 6) | function Hn(n){return"\\"+Jn[n]}
  function Yn (line 6) | function Yn(n,r,t,e,u){if(!(e instanceof r))return n.apply(t,u);var i=On...
  function tr (line 6) | function tr(n,r,t){r||0===r||(r=1/0);for(var e=[],u=0,i=0,o=Y(n)||0,a=[]...
  function or (line 6) | function or(n){return function(){return!n.apply(this,arguments)}}
  function ar (line 6) | function ar(n,r){var t;return function(){return--n>0&&(t=r.apply(this,ar...
  function cr (line 6) | function cr(n,r,t){r=Fn(r,t);for(var e,u=nn(n),i=0,o=u.length;i<o;i++)if...
  function lr (line 6) | function lr(n){return function(r,t,e){t=Fn(t,e);for(var u=Y(r),i=n>0?0:u...
  function vr (line 6) | function vr(n,r,t,e){for(var u=(t=Fn(t,e,1))(r),i=0,o=Y(n);i<o;){var a=M...
  function hr (line 6) | function hr(n,r,t){return function(e,u,i){var a=0,f=Y(e);if("number"==ty...
  function gr (line 6) | function gr(n,r,t){var e=(rr(n)?sr:cr)(n,r,t);if(void 0!==e&&-1!==e)retu...
  function br (line 6) | function br(n,r,t){var e,u;if(r=Dn(r,t),rr(n))for(e=0,u=n.length;e<u;e++...
  function mr (line 6) | function mr(n,r,t){r=Fn(r,t);for(var e=!rr(n)&&nn(n),u=(e||n).length,i=A...
  function jr (line 6) | function jr(n){var r=function(r,t,e,u){var i=!rr(r)&&nn(r),o=(i||r).leng...
  function Ar (line 6) | function Ar(n,r,t){var e=[];return r=Fn(r,t),br(n,(function(n,t,u){r(n,t...
  function xr (line 6) | function xr(n,r,t){r=Fn(r,t);for(var e=!rr(n)&&nn(n),u=(e||n).length,i=0...
  function Sr (line 6) | function Sr(n,r,t){r=Fn(r,t);for(var e=!rr(n)&&nn(n),u=(e||n).length,i=0...
  function Or (line 6) | function Or(n,r,t,e){return rr(n)||(n=mn(n)),("number"!=typeof t||e)&&(t...
  function Er (line 6) | function Er(n,r){return mr(n,Tn(r))}
  function Br (line 6) | function Br(n,r,t){var e,u,i=-1/0,o=-1/0;if(null==r||"number"==typeof r&...
  function kr (line 6) | function kr(n){return n?U(n)?o.call(n):S(n)?n.match(Nr):rr(n)?mr(n,kn):m...
  function Ir (line 6) | function Ir(n,r,t){if(null==r||t)return rr(n)||(n=mn(n)),n[qn(n.length-1...
  function Tr (line 6) | function Tr(n,r){return function(t,e,u){var i=r?[[],[]]:{};return e=Fn(e...
  function Pr (line 6) | function Pr(n,r,t){return r in t}
  function Wr (line 6) | function Wr(n,r,t){return o.call(n,0,Math.max(0,n.length-(null==r||t?1:r...
  function zr (line 6) | function zr(n,r,t){return null==n||n.length<1?null==r||t?void 0:[]:null=...
  function Lr (line 6) | function Lr(n,r,t){return o.call(n,null==r||t?1:r)}
  function Kr (line 6) | function Kr(n,r,t,e){A(r)||(e=t,t=r,r=!1),null!=t&&(t=Fn(t,e));for(var u...
  function Gr (line 6) | function Gr(n){for(var r=n&&Br(n,Y).length||0,t=Array(r),e=0;e<r;e++)t[e...
  function Qr (line 6) | function Qr(n,r){return n._chain?tn(r).chain():r}
  function Xr (line 6) | function Xr(n){return br(wn(n),(function(r){var t=tn[r]=n[r];tn.prototyp...

FILE: underscore-umd.js
  function restArguments (line 64) | function restArguments(func, startIndex) {
  function isObject (line 88) | function isObject(obj) {
  function isNull (line 94) | function isNull(obj) {
  function isUndefined (line 99) | function isUndefined(obj) {
  function isBoolean (line 104) | function isBoolean(obj) {
  function isElement (line 109) | function isElement(obj) {
  function tagTester (line 114) | function tagTester(name) {
  function alternateIsDataView (line 167) | function alternateIsDataView(obj) {
  function has$1 (line 178) | function has$1(obj, key) {
  function isFinite$1 (line 197) | function isFinite$1(obj) {
  function isNaN$1 (line 202) | function isNaN$1(obj) {
  function constant (line 207) | function constant(value) {
  function createSizePropertyCheck (line 214) | function createSizePropertyCheck(getSizeProperty) {
  function shallowProperty (line 222) | function shallowProperty(key) {
  function isTypedArray (line 237) | function isTypedArray(obj) {
  function emulatedSet (line 253) | function emulatedSet(keys) {
  function collectNonEnumProps (line 268) | function collectNonEnumProps(obj, keys) {
  function keys (line 288) | function keys(obj) {
  function isEmpty (line 300) | function isEmpty(obj) {
  function isMatch (line 312) | function isMatch(object, attrs) {
  function _$1 (line 326) | function _$1(obj) {
  function toBufferView (line 349) | function toBufferView(bufferSource) {
  function isEqual (line 361) | function isEqual(a, b) {
  function allKeys (line 511) | function allKeys(obj) {
  function ie11fingerprint (line 524) | function ie11fingerprint(methods) {
  function values (line 563) | function values(obj) {
  function pairs (line 575) | function pairs(obj) {
  function invert (line 586) | function invert(obj) {
  function functions (line 596) | function functions(obj) {
  function createAssigner (line 605) | function createAssigner(keysFunc, defaults) {
  function ctor (line 635) | function ctor() {
  function baseCreate (line 640) | function baseCreate(prototype) {
  function create (line 653) | function create(prototype, props) {
  function clone (line 660) | function clone(obj) {
  function tap (line 668) | function tap(obj, interceptor) {
  function toPath$1 (line 675) | function toPath$1(path) {
  function toPath (line 682) | function toPath(path) {
  function deepGet (line 687) | function deepGet(obj, path) {
  function get (line 700) | function get(object, path, defaultValue) {
  function has (line 708) | function has(obj, path) {
  function identity (line 720) | function identity(value) {
  function matcher (line 726) | function matcher(attrs) {
  function property (line 735) | function property(path) {
  function optimizeCb (line 745) | function optimizeCb(func, context, argCount) {
  function baseIteratee (line 767) | function baseIteratee(value, context, argCount) {
  function iteratee (line 777) | function iteratee(value, context) {
  function cb (line 784) | function cb(value, context, argCount) {
  function mapObject (line 791) | function mapObject(obj, iteratee, context) {
  function noop (line 804) | function noop(){}
  function propertyOf (line 807) | function propertyOf(obj) {
  function times (line 815) | function times(n, iteratee, context) {
  function random (line 823) | function random(min, max) {
  function createEscaper (line 838) | function createEscaper(map) {
  function escapeChar (line 897) | function escapeChar(match) {
  function template (line 912) | function template(text, settings, oldSettings) {
  function result (line 980) | function result(obj, path, fallback) {
  function uniqueId (line 1000) | function uniqueId(prefix) {
  function chain (line 1006) | function chain(obj) {
  function executeBound (line 1015) | function executeBound(sourceFunc, boundFunc, context, callingContext, ar...
  function flatten$1 (line 1060) | function flatten$1(input, depth, strict) {
  function memoize (line 1106) | function memoize(func, hasher) {
  function throttle (line 1134) | function throttle(func, wait, options) {
  function debounce (line 1179) | function debounce(func, wait, immediate) {
  function wrap (line 1216) | function wrap(func, wrapper) {
  function negate (line 1221) | function negate(predicate) {
  function compose (line 1229) | function compose() {
  function after (line 1241) | function after(times, func) {
  function before (line 1251) | function before(times, func) {
  function findKey (line 1267) | function findKey(obj, predicate, context) {
  function createPredicateIndexFinder (line 1277) | function createPredicateIndexFinder(dir) {
  function sortedIndex (line 1297) | function sortedIndex(array, obj, iteratee, context) {
  function createIndexFinder (line 1309) | function createIndexFinder(dir, predicateFind, sortedIndex) {
  function find (line 1344) | function find(obj, predicate, context) {
  function findWhere (line 1352) | function findWhere(obj, attrs) {
  function each (line 1360) | function each(obj, iteratee, context) {
  function map (line 1377) | function map(obj, iteratee, context) {
  function createReduce (line 1390) | function createReduce(dir) {
  function filter (line 1422) | function filter(obj, predicate, context) {
  function reject (line 1432) | function reject(obj, predicate, context) {
  function every (line 1437) | function every(obj, predicate, context) {
  function some (line 1449) | function some(obj, predicate, context) {
  function contains (line 1461) | function contains(obj, item, fromIndex, guard) {
  function pluck (line 1491) | function pluck(obj, key) {
  function where (line 1497) | function where(obj, attrs) {
  function max (line 1502) | function max(obj, iteratee, context) {
  function min (line 1527) | function min(obj, iteratee, context) {
  function toArray (line 1553) | function toArray(obj) {
  function sample (line 1568) | function sample(obj, n, guard) {
  function shuffle (line 1587) | function shuffle(obj) {
  function sortBy (line 1592) | function sortBy(obj, iteratee, context) {
  function group (line 1613) | function group(behavior, partition) {
  function size (line 1651) | function size(obj) {
  function keyInObj (line 1658) | function keyInObj(value, key, obj) {
  function initial (line 1700) | function initial(array, n, guard) {
  function first (line 1706) | function first(array, n, guard) {
  function rest (line 1715) | function rest(array, n, guard) {
  function last (line 1721) | function last(array, n, guard) {
  function compact (line 1728) | function compact(array) {
  function flatten (line 1734) | function flatten(array, depth) {
  function uniq (line 1757) | function uniq(array, isSorted, iteratee, context) {
  function intersection (line 1792) | function intersection(array) {
  function unzip (line 1809) | function unzip(array) {
  function object (line 1826) | function object(list, values) {
  function range (line 1841) | function range(start, stop, step) {
  function chunk (line 1862) | function chunk(array, count) {
  function chainResult (line 1873) | function chainResult(instance, obj) {
  function mixin (line 1878) | function mixin(obj) {

FILE: underscore.js
  function restArguments (line 64) | function restArguments(func, startIndex) {
  function isObject (line 88) | function isObject(obj) {
  function isNull (line 94) | function isNull(obj) {
  function isUndefined (line 99) | function isUndefined(obj) {
  function isBoolean (line 104) | function isBoolean(obj) {
  function isElement (line 109) | function isElement(obj) {
  function tagTester (line 114) | function tagTester(name) {
  function alternateIsDataView (line 167) | function alternateIsDataView(obj) {
  function has$1 (line 178) | function has$1(obj, key) {
  function isFinite$1 (line 197) | function isFinite$1(obj) {
  function isNaN$1 (line 202) | function isNaN$1(obj) {
  function constant (line 207) | function constant(value) {
  function createSizePropertyCheck (line 214) | function createSizePropertyCheck(getSizeProperty) {
  function shallowProperty (line 222) | function shallowProperty(key) {
  function isTypedArray (line 237) | function isTypedArray(obj) {
  function emulatedSet (line 253) | function emulatedSet(keys) {
  function collectNonEnumProps (line 268) | function collectNonEnumProps(obj, keys) {
  function keys (line 288) | function keys(obj) {
  function isEmpty (line 300) | function isEmpty(obj) {
  function isMatch (line 312) | function isMatch(object, attrs) {
  function _$1 (line 326) | function _$1(obj) {
  function toBufferView (line 349) | function toBufferView(bufferSource) {
  function isEqual (line 361) | function isEqual(a, b) {
  function allKeys (line 511) | function allKeys(obj) {
  function ie11fingerprint (line 524) | function ie11fingerprint(methods) {
  function values (line 563) | function values(obj) {
  function pairs (line 575) | function pairs(obj) {
  function invert (line 586) | function invert(obj) {
  function functions (line 596) | function functions(obj) {
  function createAssigner (line 605) | function createAssigner(keysFunc, defaults) {
  function ctor (line 635) | function ctor() {
  function baseCreate (line 640) | function baseCreate(prototype) {
  function create (line 653) | function create(prototype, props) {
  function clone (line 660) | function clone(obj) {
  function tap (line 668) | function tap(obj, interceptor) {
  function toPath$1 (line 675) | function toPath$1(path) {
  function toPath (line 682) | function toPath(path) {
  function deepGet (line 687) | function deepGet(obj, path) {
  function get (line 700) | function get(object, path, defaultValue) {
  function has (line 708) | function has(obj, path) {
  function identity (line 720) | function identity(value) {
  function matcher (line 726) | function matcher(attrs) {
  function property (line 735) | function property(path) {
  function optimizeCb (line 745) | function optimizeCb(func, context, argCount) {
  function baseIteratee (line 767) | function baseIteratee(value, context, argCount) {
  function iteratee (line 777) | function iteratee(value, context) {
  function cb (line 784) | function cb(value, context, argCount) {
  function mapObject (line 791) | function mapObject(obj, iteratee, context) {
  function noop (line 804) | function noop(){}
  function propertyOf (line 807) | function propertyOf(obj) {
  function times (line 815) | function times(n, iteratee, context) {
  function random (line 823) | function random(min, max) {
  function createEscaper (line 838) | function createEscaper(map) {
  function escapeChar (line 897) | function escapeChar(match) {
  function template (line 912) | function template(text, settings, oldSettings) {
  function result (line 980) | function result(obj, path, fallback) {
  function uniqueId (line 1000) | function uniqueId(prefix) {
  function chain (line 1006) | function chain(obj) {
  function executeBound (line 1015) | function executeBound(sourceFunc, boundFunc, context, callingContext, ar...
  function flatten$1 (line 1060) | function flatten$1(input, depth, strict) {
  function memoize (line 1106) | function memoize(func, hasher) {
  function throttle (line 1134) | function throttle(func, wait, options) {
  function debounce (line 1179) | function debounce(func, wait, immediate) {
  function wrap (line 1216) | function wrap(func, wrapper) {
  function negate (line 1221) | function negate(predicate) {
  function compose (line 1229) | function compose() {
  function after (line 1241) | function after(times, func) {
  function before (line 1251) | function before(times, func) {
  function findKey (line 1267) | function findKey(obj, predicate, context) {
  function createPredicateIndexFinder (line 1277) | function createPredicateIndexFinder(dir) {
  function sortedIndex (line 1297) | function sortedIndex(array, obj, iteratee, context) {
  function createIndexFinder (line 1309) | function createIndexFinder(dir, predicateFind, sortedIndex) {
  function find (line 1344) | function find(obj, predicate, context) {
  function findWhere (line 1352) | function findWhere(obj, attrs) {
  function each (line 1360) | function each(obj, iteratee, context) {
  function map (line 1377) | function map(obj, iteratee, context) {
  function createReduce (line 1390) | function createReduce(dir) {
  function filter (line 1422) | function filter(obj, predicate, context) {
  function reject (line 1432) | function reject(obj, predicate, context) {
  function every (line 1437) | function every(obj, predicate, context) {
  function some (line 1449) | function some(obj, predicate, context) {
  function contains (line 1461) | function contains(obj, item, fromIndex, guard) {
  function pluck (line 1491) | function pluck(obj, key) {
  function where (line 1497) | function where(obj, attrs) {
  function max (line 1502) | function max(obj, iteratee, context) {
  function min (line 1527) | function min(obj, iteratee, context) {
  function toArray (line 1553) | function toArray(obj) {
  function sample (line 1568) | function sample(obj, n, guard) {
  function shuffle (line 1587) | function shuffle(obj) {
  function sortBy (line 1592) | function sortBy(obj, iteratee, context) {
  function group (line 1613) | function group(behavior, partition) {
  function size (line 1651) | function size(obj) {
  function keyInObj (line 1658) | function keyInObj(value, key, obj) {
  function initial (line 1700) | function initial(array, n, guard) {
  function first (line 1706) | function first(array, n, guard) {
  function rest (line 1715) | function rest(array, n, guard) {
  function last (line 1721) | function last(array, n, guard) {
  function compact (line 1728) | function compact(array) {
  function flatten (line 1734) | function flatten(array, depth) {
  function uniq (line 1757) | function uniq(array, isSorted, iteratee, context) {
  function intersection (line 1792) | function intersection(array) {
  function unzip (line 1809) | function unzip(array) {
  function object (line 1826) | function object(list, values) {
  function range (line 1841) | function range(start, stop, step) {
  function chunk (line 1862) | function chunk(array, count) {
  function chainResult (line 1873) | function chainResult(instance, obj) {
  function mixin (line 1878) | function mixin(obj) {
Condensed preview — 378 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (6,351K chars).
[
  {
    "path": ".editorconfig",
    "chars": 301,
    "preview": "# EditorConfig helps developers define and maintain consistent\n# coding styles between different editors and IDEs\n# edit"
  },
  {
    "path": ".eslintrc",
    "chars": 121,
    "preview": "{\n  \"env\": {\n    \"browser\": true,\n    \"node\": true,\n    \"amd\": true\n  },\n  \"parserOptions\": {\n    \"ecmaVersion\": 3\n  }\n}"
  },
  {
    "path": ".github/FUNDING.yml",
    "chars": 73,
    "preview": "tidelift: \"npm/underscore\"\npatreon: juliangonggrijp\ngithub: [jgonggrijp]\n"
  },
  {
    "path": ".github/config/codeql.yml",
    "chars": 96,
    "preview": "paths:\n  - 'modules/**'\n  - 'test/**'\n  - 'test-treeshake/**'\n  - 'rollup*.js'\n  - 'index.html'\n"
  },
  {
    "path": ".github/workflows/codeql-analysis.yml",
    "chars": 2618,
    "preview": "# For most projects, this workflow file will not need changing; you simply need\n# to commit it to your repository.\n#\n# Y"
  },
  {
    "path": ".gitignore",
    "chars": 112,
    "preview": "raw\nnode_modules\n*.log\n*.idea\n*.swp\nnyc_output\ncoverage\ntest-treeshake/*-umd.js\namd\ncjs\n/underscore-node-*-pre*\n"
  },
  {
    "path": ".travis.yml",
    "chars": 1327,
    "preview": "language: node_js\nsudo: false\njobs:\n  include:\n    - node_js: 8\n      env:\n        - DOWNGRADE=true\n        - EXTRA=fals"
  },
  {
    "path": "CNAME",
    "chars": 17,
    "preview": "underscorejs.org\n"
  },
  {
    "path": "CODE_OF_CONDUCT.md",
    "chars": 4061,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
  },
  {
    "path": "CONTRIBUTING.md",
    "chars": 1794,
    "preview": "## How to contribute to Underscore.js\n\n* This project adheres to a [code of conduct](CODE_OF_CONDUCT.md). By participati"
  },
  {
    "path": "LICENSE",
    "chars": 1139,
    "preview": "Copyright (c) 2009-2022 Jeremy Ashkenas, Julian Gonggrijp, and DocumentCloud and Investigative Reporters & Editors\n\nPerm"
  },
  {
    "path": "README.md",
    "chars": 1846,
    "preview": "                       __\n                      /\\ \\                                                         __\n     __ "
  },
  {
    "path": "SECURITY.md",
    "chars": 1454,
    "preview": "# Security Policy\n\n## Supported Versions\n\nWe currently support the following versions of Underscore with security update"
  },
  {
    "path": "bower.json",
    "chars": 257,
    "preview": "{\n  \"name\": \"underscore\",\n  \"main\": \"underscore-umd.js\",\n  \"keywords\": [\"util\", \"functional\", \"server\", \"client\", \"brows"
  },
  {
    "path": "docs/.eslintrc",
    "chars": 86,
    "preview": "{\n  \"globals\": {\n      \"_\": true,\n      \"parserOptions\": {},\n      \"rules\": [],\n  }\n}\n"
  },
  {
    "path": "docs/docco.css",
    "chars": 9921,
    "preview": "/*--------------------- Typography ----------------------------*/\n\n@font-face {\n    font-family: 'aller-light';\n    src:"
  },
  {
    "path": "docs/linked-esm.jst",
    "chars": 4296,
    "preview": "<% /*\n  This is an extended version of the resources/parallel/docco.jst that is\n  bundled with Docco 0.8.0.\n  The licens"
  },
  {
    "path": "docs/main.js",
    "chars": 1758,
    "preview": "(function() {\n  var functions = document.querySelectorAll('[data-name]');\n  var sections = document.querySelectorAll('.s"
  },
  {
    "path": "docs/modules/_baseCreate.html",
    "chars": 29643,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_baseCreate.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; ch"
  },
  {
    "path": "docs/modules/_baseIteratee.html",
    "chars": 29654,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_baseIteratee.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/_cb.html",
    "chars": 28549,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_cb.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/modules/_chainResult.html",
    "chars": 28040,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_chainResult.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; c"
  },
  {
    "path": "docs/modules/_collectNonEnumProps.html",
    "chars": 31674,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_collectNonEnumProps.js</title>\n  <meta http-equiv=\"content-type\" content=\"text"
  },
  {
    "path": "docs/modules/_createAssigner.html",
    "chars": 28751,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_createAssigner.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html"
  },
  {
    "path": "docs/modules/_createEscaper.html",
    "chars": 29577,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_createEscaper.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html;"
  },
  {
    "path": "docs/modules/_createIndexFinder.html",
    "chars": 30414,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_createIndexFinder.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/h"
  },
  {
    "path": "docs/modules/_createPredicateIndexFinder.html",
    "chars": 28972,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_createPredicateIndexFinder.js</title>\n  <meta http-equiv=\"content-type\" conten"
  },
  {
    "path": "docs/modules/_createReduce.html",
    "chars": 30328,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_createReduce.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/_createSizePropertyCheck.html",
    "chars": 28534,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_createSizePropertyCheck.js</title>\n  <meta http-equiv=\"content-type\" content=\""
  },
  {
    "path": "docs/modules/_deepGet.html",
    "chars": 27941,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_deepGet.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/_escapeMap.html",
    "chars": 27815,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_escapeMap.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/_executeBound.html",
    "chars": 28920,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_executeBound.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/_flatten.html",
    "chars": 31259,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_flatten.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/_getByteLength.html",
    "chars": 27847,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_getByteLength.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html;"
  },
  {
    "path": "docs/modules/_getLength.html",
    "chars": 27831,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_getLength.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/_group.html",
    "chars": 28681,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_group.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/_has.html",
    "chars": 28033,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_has.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/_hasObjectTag.html",
    "chars": 27367,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_hasObjectTag.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/_isArrayLike.html",
    "chars": 28225,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_isArrayLike.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; c"
  },
  {
    "path": "docs/modules/_isBufferLike.html",
    "chars": 28020,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_isBufferLike.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/_keyInObj.html",
    "chars": 27479,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_keyInObj.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/_methodFingerprint.html",
    "chars": 32361,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_methodFingerprint.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/h"
  },
  {
    "path": "docs/modules/_optimizeCb.html",
    "chars": 29567,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_optimizeCb.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; ch"
  },
  {
    "path": "docs/modules/_setup.html",
    "chars": 35426,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_setup.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/_shallowProperty.html",
    "chars": 27672,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_shallowProperty.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/htm"
  },
  {
    "path": "docs/modules/_stringTagBug.html",
    "chars": 29076,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_stringTagBug.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/_tagTester.html",
    "chars": 28248,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_tagTester.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/_toBufferView.html",
    "chars": 28303,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_toBufferView.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/_toPath.html",
    "chars": 28078,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_toPath.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/_unescapeMap.html",
    "chars": 27891,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>_unescapeMap.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; c"
  },
  {
    "path": "docs/modules/after.html",
    "chars": 27748,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>after.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/allKeys.html",
    "chars": 29091,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>allKeys.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/before.html",
    "chars": 27964,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>before.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/bind.html",
    "chars": 28995,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>bind.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/bindAll.html",
    "chars": 29038,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>bindAll.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/chain.html",
    "chars": 28042,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>chain.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/chunk.html",
    "chars": 28480,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>chunk.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/clone.html",
    "chars": 28455,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>clone.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/compact.html",
    "chars": 27947,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>compact.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/compose.html",
    "chars": 28227,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>compose.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/constant.html",
    "chars": 27490,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>constant.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/contains.html",
    "chars": 28690,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>contains.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/countBy.html",
    "chars": 28265,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>countBy.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/create.html",
    "chars": 28356,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>create.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/debounce.html",
    "chars": 30525,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>debounce.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/defaults.html",
    "chars": 27942,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>defaults.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/defer.html",
    "chars": 28085,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>defer.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/delay.html",
    "chars": 28216,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>delay.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/difference.html",
    "chars": 28811,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>difference.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/each.html",
    "chars": 29215,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>each.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/escape.html",
    "chars": 27907,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>escape.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/every.html",
    "chars": 28979,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>every.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/extend.html",
    "chars": 27920,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>extend.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/extendOwn.html",
    "chars": 28120,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>extendOwn.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/filter.html",
    "chars": 28477,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>filter.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/find.html",
    "chars": 28613,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>find.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/findIndex.html",
    "chars": 27839,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>findIndex.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/findKey.html",
    "chars": 28541,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>findKey.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/findLastIndex.html",
    "chars": 27847,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>findLastIndex.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/findWhere.html",
    "chars": 28206,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>findWhere.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/first.html",
    "chars": 28635,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>first.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/flatten.html",
    "chars": 28134,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>flatten.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/functions.html",
    "chars": 28285,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>functions.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/get.html",
    "chars": 28650,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>get.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/modules/groupBy.html",
    "chars": 28268,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>groupBy.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/has.html",
    "chars": 28738,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>has.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/modules/identity.html",
    "chars": 27350,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>identity.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/index-all.html",
    "chars": 28359,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>ESM Exports</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/index-default.html",
    "chars": 30012,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>Default Export</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; ch"
  },
  {
    "path": "docs/modules/index.html",
    "chars": 67023,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>Named Exports</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/indexBy.html",
    "chars": 27933,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>indexBy.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/indexOf.html",
    "chars": 28311,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>indexOf.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/initial.html",
    "chars": 28370,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>initial.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/intersection.html",
    "chars": 29176,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>intersection.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; c"
  },
  {
    "path": "docs/modules/invert.html",
    "chars": 28269,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>invert.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/invoke.html",
    "chars": 29922,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>invoke.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/isArguments.html",
    "chars": 28580,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isArguments.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; ch"
  },
  {
    "path": "docs/modules/isArray.html",
    "chars": 27989,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isArray.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/isArrayBuffer.html",
    "chars": 27372,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isArrayBuffer.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/isBoolean.html",
    "chars": 28068,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isBoolean.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/isDataView.html",
    "chars": 28997,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isDataView.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/isDate.html",
    "chars": 27351,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isDate.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/isElement.html",
    "chars": 27426,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isElement.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/isEmpty.html",
    "chars": 29835,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isEmpty.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/isEqual.html",
    "chars": 53924,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isEqual.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/isError.html",
    "chars": 27354,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isError.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/isFinite.html",
    "chars": 28224,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isFinite.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/isFunction.html",
    "chars": 29030,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isFunction.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/isMap.html",
    "chars": 27768,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isMap.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/isMatch.html",
    "chars": 28725,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isMatch.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/isNaN.html",
    "chars": 28105,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isNaN.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/isNull.html",
    "chars": 27358,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isNull.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/isNumber.html",
    "chars": 27357,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isNumber.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/isObject.html",
    "chars": 27555,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isObject.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/isRegExp.html",
    "chars": 27357,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isRegExp.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/isSet.html",
    "chars": 27768,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isSet.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/isString.html",
    "chars": 27357,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isString.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/isSymbol.html",
    "chars": 27357,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isSymbol.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/isTypedArray.html",
    "chars": 29530,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isTypedArray.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; c"
  },
  {
    "path": "docs/modules/isUndefined.html",
    "chars": 27407,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isUndefined.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; ch"
  },
  {
    "path": "docs/modules/isWeakMap.html",
    "chars": 27788,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isWeakMap.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/isWeakSet.html",
    "chars": 27360,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>isWeakSet.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/iteratee.html",
    "chars": 28372,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>iteratee.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/keys.html",
    "chars": 29552,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>keys.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/last.html",
    "chars": 28722,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>last.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/lastIndexOf.html",
    "chars": 28039,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>lastIndexOf.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; ch"
  },
  {
    "path": "docs/modules/map.html",
    "chars": 28908,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>map.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/modules/mapObject.html",
    "chars": 28719,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>mapObject.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/matcher.html",
    "chars": 28324,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>matcher.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/max.html",
    "chars": 30063,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>max.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/modules/memoize.html",
    "chars": 28786,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>memoize.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/min.html",
    "chars": 30059,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>min.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/modules/mixin.html",
    "chars": 29379,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>mixin.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/negate.html",
    "chars": 27635,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>negate.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/noop.html",
    "chars": 27291,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>noop.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/now.html",
    "chars": 27512,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>now.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/modules/object.html",
    "chars": 28575,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>object.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/omit.html",
    "chars": 29812,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>omit.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/once.html",
    "chars": 27981,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>once.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/pairs.html",
    "chars": 28407,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>pairs.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/partial.html",
    "chars": 29867,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>partial.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/partition.html",
    "chars": 28100,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>partition.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; char"
  },
  {
    "path": "docs/modules/pick.html",
    "chars": 30048,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>pick.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/pluck.html",
    "chars": 28135,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>pluck.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/property.html",
    "chars": 28375,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>property.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/propertyOf.html",
    "chars": 28340,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>propertyOf.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/random.html",
    "chars": 27766,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>random.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/range.html",
    "chars": 28456,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>range.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/reduce.html",
    "chars": 27845,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>reduce.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/reduceRight.html",
    "chars": 27810,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>reduceRight.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; ch"
  },
  {
    "path": "docs/modules/reject.html",
    "chars": 28324,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>reject.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/rest.html",
    "chars": 28170,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>rest.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/restArguments.html",
    "chars": 30086,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>restArguments.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "docs/modules/result.html",
    "chars": 29318,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>result.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/sample.html",
    "chars": 30220,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>sample.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/shuffle.html",
    "chars": 27925,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>shuffle.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/size.html",
    "chars": 28357,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>size.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/some.html",
    "chars": 28987,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>some.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/sortBy.html",
    "chars": 29810,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>sortBy.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/sortedIndex.html",
    "chars": 28969,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>sortedIndex.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; ch"
  },
  {
    "path": "docs/modules/tap.html",
    "chars": 27584,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>tap.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/modules/template.html",
    "chars": 38440,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>template.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/templateSettings.html",
    "chars": 28133,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>templateSettings.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/htm"
  },
  {
    "path": "docs/modules/throttle.html",
    "chars": 30824,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>throttle.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/times.html",
    "chars": 28413,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>times.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/toArray.html",
    "chars": 30077,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>toArray.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/toPath.html",
    "chars": 28189,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>toPath.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/underscore-array-methods.html",
    "chars": 31406,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>underscore-array-methods.js</title>\n  <meta http-equiv=\"content-type\" content=\""
  },
  {
    "path": "docs/modules/underscore.html",
    "chars": 30679,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>underscore.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; cha"
  },
  {
    "path": "docs/modules/unescape.html",
    "chars": 27921,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>unescape.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/union.html",
    "chars": 28394,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>union.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/uniq.html",
    "chars": 30249,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>uniq.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/uniqueId.html",
    "chars": 27608,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>uniqueId.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; chars"
  },
  {
    "path": "docs/modules/unzip.html",
    "chars": 28753,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>unzip.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/values.html",
    "chars": 28325,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>values.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset"
  },
  {
    "path": "docs/modules/where.html",
    "chars": 28200,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>where.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset="
  },
  {
    "path": "docs/modules/without.html",
    "chars": 28139,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>without.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charse"
  },
  {
    "path": "docs/modules/wrap.html",
    "chars": 28042,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>wrap.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=U"
  },
  {
    "path": "docs/modules/zip.html",
    "chars": 27926,
    "preview": "\n<!DOCTYPE html>\n\n<html>\n<head>\n  <title>zip.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; charset=UT"
  },
  {
    "path": "docs/public/stylesheets/normalize.css",
    "chars": 6874,
    "preview": "/*! normalize.css v2.0.1 | MIT License | git.io/normalize */\n\n/* ======================================================="
  },
  {
    "path": "docs/underscore-esm.html",
    "chars": 253321,
    "preview": "<!DOCTYPE html>\n\n<html>\n<head>\n  <title>underscore-esm.js</title>\n  <meta http-equiv=\"content-type\" content=\"text/html; "
  },
  {
    "path": "index.html",
    "chars": 187728,
    "preview": "<!DOCTYPE HTML>\n<html>\n<head>\n  <meta http-equiv=\"content-type\" content=\"text/html;charset=UTF-8\" />\n  <meta http-equiv="
  },
  {
    "path": "karma.conf-sauce.js",
    "chars": 2651,
    "preview": "var _ = require('./');\n\n// Browsers to run on Sauce Labs platforms\n// (See https://saucelabs.com/platform/supported-brow"
  },
  {
    "path": "karma.conf.js",
    "chars": 966,
    "preview": "// Note some browser launchers should be installed before using karma start.\n\n// For example:\n//      $ npm install karm"
  },
  {
    "path": "modules/.eslintrc",
    "chars": 346,
    "preview": "{\n  \"parserOptions\": {\n    \"ecmaVersion\": 6,\n    \"sourceType\": \"module\",\n  },\n  \"plugins\": [\n    \"import\"\n  ],\n  \"extend"
  },
  {
    "path": "modules/_baseCreate.js",
    "chars": 535,
    "preview": "import isObject from './isObject.js';\nimport { nativeCreate } from './_setup.js';\n\n// Create a naked function reference "
  },
  {
    "path": "modules/_baseIteratee.js",
    "chars": 762,
    "preview": "import identity from './identity.js';\nimport isFunction from './isFunction.js';\nimport isObject from './isObject.js';\nim"
  },
  {
    "path": "modules/_cb.js",
    "chars": 418,
    "preview": "import _ from './underscore.js';\nimport baseIteratee from './_baseIteratee.js';\nimport iteratee from './iteratee.js';\n\n/"
  },
  {
    "path": "modules/_chainResult.js",
    "chars": 200,
    "preview": "import _ from './underscore.js';\n\n// Helper function to continue chaining intermediate results.\nexport default function "
  },
  {
    "path": "modules/_collectNonEnumProps.js",
    "chars": 1363,
    "preview": "import { nonEnumerableProps, ObjProto } from './_setup.js';\nimport isFunction from './isFunction.js';\nimport has from '."
  },
  {
    "path": "modules/_createAssigner.js",
    "chars": 582,
    "preview": "// An internal function for creating assigner functions.\nexport default function createAssigner(keysFunc, defaults) {\n  "
  },
  {
    "path": "modules/_createEscaper.js",
    "chars": 604,
    "preview": "import keys from './keys.js';\n\n// Internal helper to generate functions for escaping and unescaping strings\n// to/from H"
  },
  {
    "path": "modules/_createIndexFinder.js",
    "chars": 977,
    "preview": "import getLength from './_getLength.js';\nimport { slice } from './_setup.js';\nimport isNaN from './isNaN.js';\n\n// Intern"
  },
  {
    "path": "modules/_createPredicateIndexFinder.js",
    "chars": 509,
    "preview": "import cb from './_cb.js';\nimport getLength from './_getLength.js';\n\n// Internal function to generate `_.findIndex` and "
  },
  {
    "path": "modules/_createReduce.js",
    "chars": 1045,
    "preview": "import isArrayLike from './_isArrayLike.js';\nimport keys from './keys.js';\nimport optimizeCb from './_optimizeCb.js';\n\n/"
  },
  {
    "path": "modules/_createSizePropertyCheck.js",
    "chars": 368,
    "preview": "import { MAX_ARRAY_INDEX } from './_setup.js';\n\n// Common internal logic for `isArrayLike` and `isBufferLike`.\nexport de"
  },
  {
    "path": "modules/_deepGet.js",
    "chars": 280,
    "preview": "// Internal function to obtain a nested property in `obj` along `path`.\nexport default function deepGet(obj, path) {\n  v"
  },
  {
    "path": "modules/_escapeMap.js",
    "chars": 164,
    "preview": "// Internal list of HTML entities for escaping.\nexport default {\n  '&': '&amp;',\n  '<': '&lt;',\n  '>': '&gt;',\n  '\"': '&"
  },
  {
    "path": "modules/_executeBound.js",
    "chars": 584,
    "preview": "import baseCreate from './_baseCreate.js';\nimport isObject from './isObject.js';\n\n// Internal function to execute `sourc"
  },
  {
    "path": "modules/_flatten.js",
    "chars": 1192,
    "preview": "import getLength from './_getLength.js';\nimport isArrayLike from './_isArrayLike.js';\nimport isArray from './isArray.js'"
  }
]

// ... and 178 more files (download for full content)

About this extraction

This page contains the full source code of the jashkenas/underscore GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 378 files (5.7 MB), approximately 1.5M tokens, and a symbol index with 958 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.

Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.

Copied to clipboard!