Full Code of toss/es-toolkit for AI

main dc74cad35b3c cached
3566 files
8.9 MB
2.5M tokens
7497 symbols
1 requests
Download .txt
Showing preview only (9,921K chars total). Download the full file or copy to clipboard to get everything.
Repository: toss/es-toolkit
Branch: main
Commit: dc74cad35b3c
Files: 3566
Total size: 8.9 MB

Directory structure:
gitextract_pu2fii8h/

├── .attw.json
├── .claude/
│   └── skills/
│       ├── compat-review/
│       │   └── SKILL.md
│       ├── issue-label/
│       │   └── SKILL.md
│       ├── issue-review/
│       │   └── SKILL.md
│       ├── pr-review/
│       │   └── SKILL.md
│       ├── pr-triage/
│       │   └── SKILL.md
│       └── release/
│           └── SKILL.md
├── .github/
│   ├── CODEOWNERS
│   ├── CODE_OF_CONDUCT.md
│   ├── CONTRIBUTING-ko_kr.md
│   ├── CONTRIBUTING-zh_hans.md
│   ├── CONTRIBUTING.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── autofix.yml
│       ├── broken-link-checker.yml
│       ├── ci.yml
│       ├── codecov.yml
│       ├── deno.yml
│       └── release.yml
├── .gitignore
├── .npmignore
├── .nvmrc
├── .prettierignore
├── .prettierrc.cjs
├── .scripts/
│   ├── check-dist.mjs
│   ├── check-peer.sh
│   ├── docs/
│   │   ├── deno.json
│   │   ├── formatters/
│   │   │   ├── class.ts
│   │   │   ├── function.ts
│   │   │   ├── helpers/
│   │   │   │   └── readonly.ts
│   │   │   ├── nodes/
│   │   │   │   ├── call-signature.ts
│   │   │   │   ├── decorator.ts
│   │   │   │   ├── index-signature.ts
│   │   │   │   ├── method.ts
│   │   │   │   ├── object-pat-prop.ts
│   │   │   │   ├── param.ts
│   │   │   │   ├── property.ts
│   │   │   │   ├── type-param.ts
│   │   │   │   └── type.ts
│   │   │   └── options.ts
│   │   ├── generate-docs.mts
│   │   ├── operations/
│   │   │   ├── render/
│   │   │   │   ├── en.ts
│   │   │   │   ├── ja.ts
│   │   │   │   ├── ko.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── zh_hans.ts
│   │   │   ├── toDocumentationItem.ts
│   │   │   └── translate.ts
│   │   └── types/
│   │       ├── DocumentationItem.ts
│   │       └── Locale.ts
│   ├── generate-bundle-size.mjs
│   ├── postbuild.sh
│   └── tests/
│       ├── _internal/
│       │   ├── formatter/
│       │   │   └── brokenSyntax.ts
│       │   └── transform/
│       │       ├── assert.ts
│       │       ├── import.ts
│       │       └── lodashStable.ts
│       └── transform-lodash-test.ts
├── .vscode/
│   ├── extensions.json
│   └── settings.json
├── .yarn/
│   ├── releases/
│   │   └── yarn-4.12.0.cjs
│   └── sdks/
│       ├── eslint/
│       │   ├── bin/
│       │   │   └── eslint.js
│       │   ├── lib/
│       │   │   ├── api.js
│       │   │   ├── config-api.js
│       │   │   ├── universal.js
│       │   │   └── unsupported-api.js
│       │   └── package.json
│       ├── integrations.yml
│       ├── prettier/
│       │   ├── bin/
│       │   │   └── prettier.cjs
│       │   ├── index.cjs
│       │   └── package.json
│       └── typescript/
│           ├── bin/
│           │   ├── tsc
│           │   └── tsserver
│           ├── lib/
│           │   ├── tsc.js
│           │   ├── tsserver.js
│           │   ├── tsserverlibrary.js
│           │   └── typescript.js
│           └── package.json
├── .yarnrc.yml
├── CHANGELOG.md
├── CLAUDE.md
├── LICENSE
├── README-ja_jp.md
├── README-ko_kr.md
├── README-zh_hans.md
├── README.md
├── SECURITY.md
├── benchmarks/
│   ├── bundle-size/
│   │   ├── add.spec.ts
│   │   ├── camelCase.spec.ts
│   │   ├── chunk.spec.ts
│   │   ├── clone.spec.ts
│   │   ├── cloneDeep.spec.ts
│   │   ├── curry.spec.ts
│   │   ├── debounce.spec.ts
│   │   ├── difference.spec.ts
│   │   ├── escape.spec.ts
│   │   ├── escapeRegExp.spec.ts
│   │   ├── find.spec.ts
│   │   ├── findKey.spec.ts
│   │   ├── flow.spec.ts
│   │   ├── isEqual.spec.ts
│   │   ├── isPlainObject.spec.ts
│   │   ├── lastIndexOf.spec.ts
│   │   ├── mapKeys.spec.ts
│   │   ├── mapValues.spec.ts
│   │   ├── merge.spec.ts
│   │   ├── mergeWith.spec.ts
│   │   ├── omit.spec.ts
│   │   ├── throttle.spec.ts
│   │   ├── utils/
│   │   │   └── getBundleSize.ts
│   │   ├── zip.spec.ts
│   │   ├── zipObject.spec.ts
│   │   ├── zipObjectDeep.spec.ts
│   │   └── zipWith.spec.ts
│   ├── package.json
│   └── performance/
│       ├── add.bench.ts
│       ├── after.bench.ts
│       ├── ary.bench.ts
│       ├── assign.bench.ts
│       ├── assignIn.bench.ts
│       ├── assignInWith.bench.ts
│       ├── assignWith.bench.ts
│       ├── at.bench.ts
│       ├── attempt.bench.ts
│       ├── before.bench.ts
│       ├── bind.bench.ts
│       ├── bindAll.bench.ts
│       ├── bindKey.bench.ts
│       ├── camelCase.bench.ts
│       ├── capitalize.bench.ts
│       ├── castArray.bench.ts
│       ├── ceil.bench.ts
│       ├── check-dist-mock.bench.ts
│       ├── chunk.bench.ts
│       ├── clamp.bench.ts
│       ├── clone.bench.ts
│       ├── cloneDeep.bench.ts
│       ├── cloneWith.bench.ts
│       ├── compact.bench.ts
│       ├── concat.bench.ts
│       ├── cond.bench.ts
│       ├── conforms.bench.ts
│       ├── conformsTo.bench.ts
│       ├── constant.bench.ts
│       ├── countBy.bench.ts
│       ├── create.bench.ts
│       ├── curry.bench.ts
│       ├── curryRight.bench.ts
│       ├── debounce.bench.ts
│       ├── deburr.bench.ts
│       ├── defaultTo.bench.ts
│       ├── defaults.bench.ts
│       ├── defaultsDeep.bench.ts
│       ├── defer.bench.ts
│       ├── delay.bench.ts
│       ├── difference.bench.ts
│       ├── differenceBy.bench.ts
│       ├── differenceWith.bench.ts
│       ├── divide.bench.ts
│       ├── drop.bench.ts
│       ├── dropRight.bench.ts
│       ├── dropRightWhile.bench.ts
│       ├── dropWhile.bench.ts
│       ├── endsWith.bench.ts
│       ├── eq.bench.ts
│       ├── escape.bench.ts
│       ├── escapeRegExp.bench.ts
│       ├── every.bench.ts
│       ├── fill.bench.ts
│       ├── filter.bench.ts
│       ├── find.bench.ts
│       ├── findIndex.bench.ts
│       ├── findKey.bench.ts
│       ├── findLast.bench.ts
│       ├── findLastIndex.bench.ts
│       ├── findLastKey.bench.ts
│       ├── flatMap.bench.ts
│       ├── flatMapDeep.bench.ts
│       ├── flatMapDepth.bench.ts
│       ├── flatten.bench.ts
│       ├── flattenDeep.bench.ts
│       ├── flattenDepth.bench.ts
│       ├── flip.bench.ts
│       ├── floor.bench.ts
│       ├── flow.bench.ts
│       ├── flowRight.bench.ts
│       ├── forEach.bench.ts
│       ├── forEachRight.bench.ts
│       ├── forIn.bench.ts
│       ├── forInRight.bench.ts
│       ├── forOwn.bench.ts
│       ├── forOwnRight.bench.ts
│       ├── fromPairs.bench.ts
│       ├── functions.bench.ts
│       ├── functionsIn.bench.ts
│       ├── get.bench.ts
│       ├── groupBy.bench.ts
│       ├── gt.bench.ts
│       ├── gte.bench.ts
│       ├── has.bench.ts
│       ├── hasIn.bench.ts
│       ├── head.bench.ts
│       ├── identity.bench.ts
│       ├── inRange.bench.ts
│       ├── includes.bench.ts
│       ├── indexOf.bench.ts
│       ├── initial.bench.ts
│       ├── intersection.bench.ts
│       ├── intersectionBy.bench.ts
│       ├── intersectionWith.bench.ts
│       ├── invert.bench.ts
│       ├── invertBy.bench.ts
│       ├── invokeMap.bench.ts
│       ├── isArguments.bench.ts
│       ├── isArray.bench.ts
│       ├── isArrayBuffer.bench.ts
│       ├── isArrayLike.bench.ts
│       ├── isArrayLikeObject.bench.ts
│       ├── isBoolean.bench.ts
│       ├── isBuffer.bench.ts
│       ├── isDate.bench.ts
│       ├── isElement.bench.ts
│       ├── isEqual.bench.ts
│       ├── isEqualWith.bench.ts
│       ├── isError.bench.ts
│       ├── isFinite.bench.ts
│       ├── isFunction.bench.ts
│       ├── isInteger.bench.ts
│       ├── isJSONObject.bench.ts
│       ├── isLength.bench.ts
│       ├── isMap.bench.ts
│       ├── isMatch.bench.ts
│       ├── isMatchWith.bench.ts
│       ├── isNaN.bench.ts
│       ├── isNative.bench.ts
│       ├── isNil.bench.ts
│       ├── isNull.bench.ts
│       ├── isNumber.bench.ts
│       ├── isObject.bench.ts
│       ├── isObjectLike.bench.ts
│       ├── isPlainObject.bench.ts
│       ├── isRegExp.bench.ts
│       ├── isSafeInteger.bench.ts
│       ├── isSet.bench.ts
│       ├── isString.bench.ts
│       ├── isSubset.bench.ts
│       ├── isSubsetWith.bench.ts
│       ├── isSymbol.bench.ts
│       ├── isTypedArray.bench.ts
│       ├── isUndefined.bench.ts
│       ├── isWeakMap.bench.ts
│       ├── isWeakSet.bench.ts
│       ├── iteratee.bench.ts
│       ├── join.bench.ts
│       ├── kebabCase.bench.ts
│       ├── keyBy.bench.ts
│       ├── keys.bench.ts
│       ├── keysIn.bench.ts
│       ├── last.bench.ts
│       ├── lastIndexOf.bench.ts
│       ├── lowerCase.bench.ts
│       ├── lowerFirst.bench.ts
│       ├── map.bench.ts
│       ├── mapKeys.bench.ts
│       ├── mapValues.bench.ts
│       ├── matches.bench.ts
│       ├── matchesProperty.bench.ts
│       ├── max.bench.ts
│       ├── maxBy.bench.ts
│       ├── mean.bench.ts
│       ├── meanBy.bench.ts
│       ├── memoize.bench.ts
│       ├── merge.bench.ts
│       ├── mergeWith.bench.ts
│       ├── method.bench.ts
│       ├── methodOf.bench.ts
│       ├── min.bench.ts
│       ├── minBy.bench.ts
│       ├── multiply.bench.ts
│       ├── negate.bench.ts
│       ├── noop.bench.ts
│       ├── nth.bench.ts
│       ├── nthArg.bench.ts
│       ├── omit.bench.ts
│       ├── omitBy.bench.ts
│       ├── once.bench.ts
│       ├── orderBy.bench.ts
│       ├── over.bench.ts
│       ├── overArgs.bench.ts
│       ├── overEvery.bench.ts
│       ├── overSome.bench.ts
│       ├── pad.bench.ts
│       ├── padEnd.bench.ts
│       ├── padStart.bench.ts
│       ├── parseInt.bench.ts
│       ├── partial.bench.ts
│       ├── partialRight.bench.ts
│       ├── partition.bench.ts
│       ├── pick.bench.ts
│       ├── pickBy.bench.ts
│       ├── property.bench.ts
│       ├── propertyOf.bench.ts
│       ├── pull.bench.ts
│       ├── pullAllBy.bench.ts
│       ├── pullAllWith.bench.ts
│       ├── pullAt.bench.ts
│       ├── random.bench.ts
│       ├── randomInt.bench.ts
│       ├── range.bench.ts
│       ├── rangeRight.bench.ts
│       ├── rearg.bench.ts
│       ├── reduce.bench.ts
│       ├── reduceRight.bench.ts
│       ├── reject.bench.ts
│       ├── repeat.bench.ts
│       ├── replace.bench.ts
│       ├── rest.bench.ts
│       ├── result.bench.ts
│       ├── reverse.bench.ts
│       ├── round.bench.ts
│       ├── sample.bench.ts
│       ├── sampleSize.bench.ts
│       ├── set.bench.ts
│       ├── setWith.bench.ts
│       ├── shuffle.bench.ts
│       ├── size.bench.ts
│       ├── slice.bench.ts
│       ├── snakeCase.bench.ts
│       ├── some.bench.ts
│       ├── sortBy.bench.ts
│       ├── sortedIndex.bench.ts
│       ├── sortedIndexBy.bench.ts
│       ├── sortedIndexOf.bench.ts
│       ├── sortedLastIndexOf.bench.ts
│       ├── split.bench.ts
│       ├── spread.bench.ts
│       ├── startCase.bench.ts
│       ├── startsWith.bench.ts
│       ├── subtract.bench.ts
│       ├── sum.bench.ts
│       ├── sumBy.bench.ts
│       ├── tail.bench.ts
│       ├── take.bench.ts
│       ├── takeRight.bench.ts
│       ├── takeRightWhile.bench.ts
│       ├── takeWhile.bench.ts
│       ├── template.bench.ts
│       ├── throttle.bench.ts
│       ├── times.bench.ts
│       ├── toArray.bench.ts
│       ├── toCamelCaseKeys.bench.ts
│       ├── toFilled.bench.ts
│       ├── toFinite.bench.ts
│       ├── toInteger.bench.ts
│       ├── toLength.bench.ts
│       ├── toNumber.bench.ts
│       ├── toPairs.bench.ts
│       ├── toPairsIn.bench.ts
│       ├── toPath.bench.ts
│       ├── toPlainObject.bench.ts
│       ├── toSafeInteger.bench.ts
│       ├── toSnakeCaseKeys.bench.ts
│       ├── toString.bench.ts
│       ├── toUpper.bench.ts
│       ├── transform.bench.ts
│       ├── trim.bench.ts
│       ├── trimEnd.bench.ts
│       ├── trimStart.bench.ts
│       ├── truncate.bench.ts
│       ├── unary.bench.ts
│       ├── unescape.bench.ts
│       ├── union.bench.ts
│       ├── unionBy.bench.ts
│       ├── unionWith.bench.ts
│       ├── uniq.bench.ts
│       ├── uniqBy.bench.ts
│       ├── uniqWith.bench.ts
│       ├── uniqueId.bench.ts
│       ├── unset.bench.ts
│       ├── unzip.bench.ts
│       ├── unzipWith.bench.ts
│       ├── update.bench.ts
│       ├── updateWith.bench.ts
│       ├── upperCase.bench.ts
│       ├── upperFirst.bench.ts
│       ├── values.bench.ts
│       ├── valuesIn.bench.ts
│       ├── without.bench.ts
│       ├── words.bench.ts
│       ├── wrap.bench.ts
│       ├── xor.bench.ts
│       ├── xorBy.bench.ts
│       ├── xorWith.bench.ts
│       ├── zip.bench.ts
│       ├── zipObject.bench.ts
│       ├── zipObjectDeep.bench.ts
│       └── zipWith.bench.ts
├── codecov.yml
├── docs/
│   ├── .gitignore
│   ├── .vitepress/
│   │   ├── components/
│   │   │   ├── Banner.vue
│   │   │   ├── BundleSizeChart.vue
│   │   │   ├── BundleSizeTable.vue
│   │   │   ├── CompatibilityStatus.vue
│   │   │   └── Sandpack.vue
│   │   ├── composables/
│   │   │   ├── index.ts
│   │   │   └── useBanner.ts
│   │   ├── config.mts
│   │   ├── data/
│   │   │   └── bannerData.ts
│   │   ├── en.mts
│   │   ├── ja.mts
│   │   ├── ko.mts
│   │   ├── libs/
│   │   │   ├── compatibility.data.mts
│   │   │   ├── functions.json
│   │   │   ├── getSidebarItems.mts
│   │   │   └── sortByText.mts
│   │   ├── shared.mts
│   │   ├── theme/
│   │   │   ├── index.css
│   │   │   └── index.js
│   │   └── zh_hans.mts
│   ├── CLAUDE.md
│   ├── bundle-size.md
│   ├── compatibility.md
│   ├── data/
│   │   └── bundle-size.json
│   ├── index.md
│   ├── intro.md
│   ├── ja/
│   │   ├── bundle-size.md
│   │   ├── compatibility.md
│   │   ├── index.md
│   │   ├── intro.md
│   │   ├── llms-txt.md
│   │   ├── performance.md
│   │   ├── reference/
│   │   │   ├── array/
│   │   │   │   ├── at.md
│   │   │   │   ├── chunk.md
│   │   │   │   ├── compact.md
│   │   │   │   ├── countBy.md
│   │   │   │   ├── difference.md
│   │   │   │   ├── differenceBy.md
│   │   │   │   ├── differenceWith.md
│   │   │   │   ├── drop.md
│   │   │   │   ├── dropRight.md
│   │   │   │   ├── dropRightWhile.md
│   │   │   │   ├── dropWhile.md
│   │   │   │   ├── fill.md
│   │   │   │   ├── filterAsync.md
│   │   │   │   ├── flatMap.md
│   │   │   │   ├── flatMapAsync.md
│   │   │   │   ├── flatMapDeep.md
│   │   │   │   ├── flatten.md
│   │   │   │   ├── flattenDeep.md
│   │   │   │   ├── forEachAsync.md
│   │   │   │   ├── forEachRight.md
│   │   │   │   ├── groupBy.md
│   │   │   │   ├── head.md
│   │   │   │   ├── initial.md
│   │   │   │   ├── intersection.md
│   │   │   │   ├── intersectionBy.md
│   │   │   │   ├── intersectionWith.md
│   │   │   │   ├── isSubset.md
│   │   │   │   ├── isSubsetWith.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── last.md
│   │   │   │   ├── limitAsync.md
│   │   │   │   ├── mapAsync.md
│   │   │   │   ├── maxBy.md
│   │   │   │   ├── minBy.md
│   │   │   │   ├── orderBy.md
│   │   │   │   ├── partition.md
│   │   │   │   ├── pull.md
│   │   │   │   ├── pullAt.md
│   │   │   │   ├── reduceAsync.md
│   │   │   │   ├── remove.md
│   │   │   │   ├── sample.md
│   │   │   │   ├── sampleSize.md
│   │   │   │   ├── shuffle.md
│   │   │   │   ├── sortBy.md
│   │   │   │   ├── tail.md
│   │   │   │   ├── take.md
│   │   │   │   ├── takeRight.md
│   │   │   │   ├── takeRightWhile.md
│   │   │   │   ├── takeWhile.md
│   │   │   │   ├── toFilled.md
│   │   │   │   ├── union.md
│   │   │   │   ├── unionBy.md
│   │   │   │   ├── unionWith.md
│   │   │   │   ├── uniq.md
│   │   │   │   ├── uniqBy.md
│   │   │   │   ├── uniqWith.md
│   │   │   │   ├── unzip.md
│   │   │   │   ├── unzipWith.md
│   │   │   │   ├── windowed.md
│   │   │   │   ├── without.md
│   │   │   │   ├── xor.md
│   │   │   │   ├── xorBy.md
│   │   │   │   ├── xorWith.md
│   │   │   │   ├── zip.md
│   │   │   │   ├── zipObject.md
│   │   │   │   └── zipWith.md
│   │   │   ├── compat/
│   │   │   │   ├── array/
│   │   │   │   │   ├── castArray.md
│   │   │   │   │   ├── chunk.md
│   │   │   │   │   ├── compact.md
│   │   │   │   │   ├── concat.md
│   │   │   │   │   ├── countBy.md
│   │   │   │   │   ├── difference.md
│   │   │   │   │   ├── differenceBy.md
│   │   │   │   │   ├── differenceWith.md
│   │   │   │   │   ├── drop.md
│   │   │   │   │   ├── dropRight.md
│   │   │   │   │   ├── dropRightWhile.md
│   │   │   │   │   ├── dropWhile.md
│   │   │   │   │   ├── each.md
│   │   │   │   │   ├── eachRight.md
│   │   │   │   │   ├── every.md
│   │   │   │   │   ├── fill.md
│   │   │   │   │   ├── filter.md
│   │   │   │   │   ├── find.md
│   │   │   │   │   ├── findIndex.md
│   │   │   │   │   ├── findLast.md
│   │   │   │   │   ├── findLastIndex.md
│   │   │   │   │   ├── first.md
│   │   │   │   │   ├── flatMap.md
│   │   │   │   │   ├── flatMapDeep.md
│   │   │   │   │   ├── flatMapDepth.md
│   │   │   │   │   ├── flatten.md
│   │   │   │   │   ├── flattenDeep.md
│   │   │   │   │   ├── flattenDepth.md
│   │   │   │   │   ├── forEach.md
│   │   │   │   │   ├── forEachRight.md
│   │   │   │   │   ├── groupBy.md
│   │   │   │   │   ├── head.md
│   │   │   │   │   ├── includes.md
│   │   │   │   │   ├── indexOf.md
│   │   │   │   │   ├── initial.md
│   │   │   │   │   ├── intersection.md
│   │   │   │   │   ├── intersectionBy.md
│   │   │   │   │   ├── intersectionWith.md
│   │   │   │   │   ├── invokeMap.md
│   │   │   │   │   ├── join.md
│   │   │   │   │   ├── keyBy.md
│   │   │   │   │   ├── last.md
│   │   │   │   │   ├── lastIndexOf.md
│   │   │   │   │   ├── map.md
│   │   │   │   │   ├── nth.md
│   │   │   │   │   ├── orderBy.md
│   │   │   │   │   ├── partition.md
│   │   │   │   │   ├── pull.md
│   │   │   │   │   ├── pullAll.md
│   │   │   │   │   ├── pullAllBy.md
│   │   │   │   │   ├── pullAllWith.md
│   │   │   │   │   ├── pullAt.md
│   │   │   │   │   ├── reduce.md
│   │   │   │   │   ├── reduceRight.md
│   │   │   │   │   ├── reject.md
│   │   │   │   │   ├── remove.md
│   │   │   │   │   ├── reverse.md
│   │   │   │   │   ├── sample.md
│   │   │   │   │   ├── sampleSize.md
│   │   │   │   │   ├── shuffle.md
│   │   │   │   │   ├── size.md
│   │   │   │   │   ├── slice.md
│   │   │   │   │   ├── some.md
│   │   │   │   │   ├── sortBy.md
│   │   │   │   │   ├── sortedIndex.md
│   │   │   │   │   ├── sortedIndexBy.md
│   │   │   │   │   ├── sortedIndexOf.md
│   │   │   │   │   ├── sortedLastIndex.md
│   │   │   │   │   ├── sortedLastIndexBy.md
│   │   │   │   │   ├── sortedLastIndexOf.md
│   │   │   │   │   ├── tail.md
│   │   │   │   │   ├── take.md
│   │   │   │   │   ├── takeRight.md
│   │   │   │   │   ├── takeRightWhile.md
│   │   │   │   │   ├── takeWhile.md
│   │   │   │   │   ├── union.md
│   │   │   │   │   ├── unionBy.md
│   │   │   │   │   ├── unionWith.md
│   │   │   │   │   ├── uniq.md
│   │   │   │   │   ├── uniqBy.md
│   │   │   │   │   ├── uniqWith.md
│   │   │   │   │   ├── unzip.md
│   │   │   │   │   ├── unzipWith.md
│   │   │   │   │   ├── without.md
│   │   │   │   │   ├── xor.md
│   │   │   │   │   ├── xorBy.md
│   │   │   │   │   ├── xorWith.md
│   │   │   │   │   ├── zip.md
│   │   │   │   │   ├── zipObject.md
│   │   │   │   │   ├── zipObjectDeep.md
│   │   │   │   │   └── zipWith.md
│   │   │   │   ├── function/
│   │   │   │   │   ├── after.md
│   │   │   │   │   ├── ary.md
│   │   │   │   │   ├── attempt.md
│   │   │   │   │   ├── before.md
│   │   │   │   │   ├── bind.md
│   │   │   │   │   ├── bindKey.md
│   │   │   │   │   ├── curry.md
│   │   │   │   │   ├── curryRight.md
│   │   │   │   │   ├── debounce.md
│   │   │   │   │   ├── defer.md
│   │   │   │   │   ├── delay.md
│   │   │   │   │   ├── flip.md
│   │   │   │   │   ├── flow.md
│   │   │   │   │   ├── flowRight.md
│   │   │   │   │   ├── identity.md
│   │   │   │   │   ├── memoize.md
│   │   │   │   │   ├── negate.md
│   │   │   │   │   ├── noop.md
│   │   │   │   │   ├── nthArg.md
│   │   │   │   │   ├── once.md
│   │   │   │   │   ├── overArgs.md
│   │   │   │   │   ├── partial.md
│   │   │   │   │   ├── partialRight.md
│   │   │   │   │   ├── rearg.md
│   │   │   │   │   ├── rest.md
│   │   │   │   │   ├── spread.md
│   │   │   │   │   ├── throttle.md
│   │   │   │   │   ├── unary.md
│   │   │   │   │   └── wrap.md
│   │   │   │   ├── math/
│   │   │   │   │   ├── add.md
│   │   │   │   │   ├── ceil.md
│   │   │   │   │   ├── clamp.md
│   │   │   │   │   ├── divide.md
│   │   │   │   │   ├── floor.md
│   │   │   │   │   ├── inRange.md
│   │   │   │   │   ├── max.md
│   │   │   │   │   ├── maxBy.md
│   │   │   │   │   ├── mean.md
│   │   │   │   │   ├── meanBy.md
│   │   │   │   │   ├── min.md
│   │   │   │   │   ├── minBy.md
│   │   │   │   │   ├── multiply.md
│   │   │   │   │   ├── parseInt.md
│   │   │   │   │   ├── random.md
│   │   │   │   │   ├── range.md
│   │   │   │   │   ├── rangeRight.md
│   │   │   │   │   ├── round.md
│   │   │   │   │   ├── subtract.md
│   │   │   │   │   ├── sum.md
│   │   │   │   │   └── sumBy.md
│   │   │   │   ├── object/
│   │   │   │   │   ├── assign.md
│   │   │   │   │   ├── assignIn.md
│   │   │   │   │   ├── assignInWith.md
│   │   │   │   │   ├── assignWith.md
│   │   │   │   │   ├── at.md
│   │   │   │   │   ├── clone.md
│   │   │   │   │   ├── cloneDeep.md
│   │   │   │   │   ├── cloneDeepWith.md
│   │   │   │   │   ├── cloneWith.md
│   │   │   │   │   ├── create.md
│   │   │   │   │   ├── defaults.md
│   │   │   │   │   ├── defaultsDeep.md
│   │   │   │   │   ├── extend.md
│   │   │   │   │   ├── extendWith.md
│   │   │   │   │   ├── findKey.md
│   │   │   │   │   ├── findLastKey.md
│   │   │   │   │   ├── forIn.md
│   │   │   │   │   ├── forInRight.md
│   │   │   │   │   ├── forOwn.md
│   │   │   │   │   ├── forOwnRight.md
│   │   │   │   │   ├── fromPairs.md
│   │   │   │   │   ├── functions.md
│   │   │   │   │   ├── functionsIn.md
│   │   │   │   │   ├── get.md
│   │   │   │   │   ├── has.md
│   │   │   │   │   ├── hasIn.md
│   │   │   │   │   ├── invert.md
│   │   │   │   │   ├── invertBy.md
│   │   │   │   │   ├── keys.md
│   │   │   │   │   ├── keysIn.md
│   │   │   │   │   ├── mapKeys.md
│   │   │   │   │   ├── mapValues.md
│   │   │   │   │   ├── merge.md
│   │   │   │   │   ├── mergeWith.md
│   │   │   │   │   ├── omit.md
│   │   │   │   │   ├── omitBy.md
│   │   │   │   │   ├── pick.md
│   │   │   │   │   ├── pickBy.md
│   │   │   │   │   ├── property.md
│   │   │   │   │   ├── propertyOf.md
│   │   │   │   │   ├── result.md
│   │   │   │   │   ├── set.md
│   │   │   │   │   ├── setWith.md
│   │   │   │   │   ├── toDefaulted.md
│   │   │   │   │   ├── toPairs.md
│   │   │   │   │   ├── toPairsIn.md
│   │   │   │   │   ├── transform.md
│   │   │   │   │   ├── unset.md
│   │   │   │   │   ├── update.md
│   │   │   │   │   ├── updateWith.md
│   │   │   │   │   ├── values.md
│   │   │   │   │   └── valuesIn.md
│   │   │   │   ├── predicate/
│   │   │   │   │   ├── conforms.md
│   │   │   │   │   ├── conformsTo.md
│   │   │   │   │   ├── isArguments.md
│   │   │   │   │   ├── isArray.md
│   │   │   │   │   ├── isArrayBuffer.md
│   │   │   │   │   ├── isArrayLike.md
│   │   │   │   │   ├── isArrayLikeObject.md
│   │   │   │   │   ├── isBoolean.md
│   │   │   │   │   ├── isBuffer.md
│   │   │   │   │   ├── isDate.md
│   │   │   │   │   ├── isElement.md
│   │   │   │   │   ├── isEmpty.md
│   │   │   │   │   ├── isEqual.md
│   │   │   │   │   ├── isEqualWith.md
│   │   │   │   │   ├── isError.md
│   │   │   │   │   ├── isFinite.md
│   │   │   │   │   ├── isFunction.md
│   │   │   │   │   ├── isInteger.md
│   │   │   │   │   ├── isLength.md
│   │   │   │   │   ├── isMap.md
│   │   │   │   │   ├── isMatch.md
│   │   │   │   │   ├── isMatchWith.md
│   │   │   │   │   ├── isNaN.md
│   │   │   │   │   ├── isNative.md
│   │   │   │   │   ├── isNil.md
│   │   │   │   │   ├── isNull.md
│   │   │   │   │   ├── isNumber.md
│   │   │   │   │   ├── isObject.md
│   │   │   │   │   ├── isObjectLike.md
│   │   │   │   │   ├── isPlainObject.md
│   │   │   │   │   ├── isRegExp.md
│   │   │   │   │   ├── isSafeInteger.md
│   │   │   │   │   ├── isSet.md
│   │   │   │   │   ├── isString.md
│   │   │   │   │   ├── isSymbol.md
│   │   │   │   │   ├── isTypedArray.md
│   │   │   │   │   ├── isUndefined.md
│   │   │   │   │   ├── isWeakMap.md
│   │   │   │   │   ├── isWeakSet.md
│   │   │   │   │   ├── matches.md
│   │   │   │   │   └── matchesProperty.md
│   │   │   │   ├── string/
│   │   │   │   │   ├── camelCase.md
│   │   │   │   │   ├── capitalize.md
│   │   │   │   │   ├── deburr.md
│   │   │   │   │   ├── endsWith.md
│   │   │   │   │   ├── escape.md
│   │   │   │   │   ├── escapeRegExp.md
│   │   │   │   │   ├── kebabCase.md
│   │   │   │   │   ├── lowerCase.md
│   │   │   │   │   ├── lowerFirst.md
│   │   │   │   │   ├── pad.md
│   │   │   │   │   ├── padEnd.md
│   │   │   │   │   ├── padStart.md
│   │   │   │   │   ├── repeat.md
│   │   │   │   │   ├── replace.md
│   │   │   │   │   ├── snakeCase.md
│   │   │   │   │   ├── split.md
│   │   │   │   │   ├── startCase.md
│   │   │   │   │   ├── startsWith.md
│   │   │   │   │   ├── template.md
│   │   │   │   │   ├── toLower.md
│   │   │   │   │   ├── toUpper.md
│   │   │   │   │   ├── trim.md
│   │   │   │   │   ├── trimEnd.md
│   │   │   │   │   ├── trimStart.md
│   │   │   │   │   ├── truncate.md
│   │   │   │   │   ├── unescape.md
│   │   │   │   │   ├── upperCase.md
│   │   │   │   │   ├── upperFirst.md
│   │   │   │   │   └── words.md
│   │   │   │   └── util/
│   │   │   │       ├── bindAll.md
│   │   │   │       ├── cond.md
│   │   │   │       ├── constant.md
│   │   │   │       ├── defaultTo.md
│   │   │   │       ├── eq.md
│   │   │   │       ├── gt.md
│   │   │   │       ├── gte.md
│   │   │   │       ├── invoke.md
│   │   │   │       ├── iteratee.md
│   │   │   │       ├── lt.md
│   │   │   │       ├── lte.md
│   │   │   │       ├── method.md
│   │   │   │       ├── methodOf.md
│   │   │   │       ├── now.md
│   │   │   │       ├── over.md
│   │   │   │       ├── overEvery.md
│   │   │   │       ├── overSome.md
│   │   │   │       ├── stubArray.md
│   │   │   │       ├── stubFalse.md
│   │   │   │       ├── stubObject.md
│   │   │   │       ├── stubString.md
│   │   │   │       ├── stubTrue.md
│   │   │   │       ├── times.md
│   │   │   │       ├── toArray.md
│   │   │   │       ├── toFinite.md
│   │   │   │       ├── toInteger.md
│   │   │   │       ├── toLength.md
│   │   │   │       ├── toNumber.md
│   │   │   │       ├── toPath.md
│   │   │   │       ├── toPlainObject.md
│   │   │   │       ├── toSafeInteger.md
│   │   │   │       ├── toString.md
│   │   │   │       └── uniqueId.md
│   │   │   ├── error/
│   │   │   │   ├── AbortError.md
│   │   │   │   └── TimeoutError.md
│   │   │   ├── function/
│   │   │   │   ├── after.md
│   │   │   │   ├── ary.md
│   │   │   │   ├── asyncNoop.md
│   │   │   │   ├── before.md
│   │   │   │   ├── curry.md
│   │   │   │   ├── curryRight.md
│   │   │   │   ├── debounce.md
│   │   │   │   ├── flow.md
│   │   │   │   ├── flowRight.md
│   │   │   │   ├── identity.md
│   │   │   │   ├── memoize.md
│   │   │   │   ├── negate.md
│   │   │   │   ├── noop.md
│   │   │   │   ├── once.md
│   │   │   │   ├── partial.md
│   │   │   │   ├── partialRight.md
│   │   │   │   ├── rest.md
│   │   │   │   ├── retry.md
│   │   │   │   ├── spread.md
│   │   │   │   ├── throttle.md
│   │   │   │   └── unary.md
│   │   │   ├── map/
│   │   │   │   ├── countBy.md
│   │   │   │   ├── every.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── findValue.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── hasValue.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── reduce.md
│   │   │   │   └── some.md
│   │   │   ├── math/
│   │   │   │   ├── clamp.md
│   │   │   │   ├── inRange.md
│   │   │   │   ├── mean.md
│   │   │   │   ├── meanBy.md
│   │   │   │   ├── median.md
│   │   │   │   ├── medianBy.md
│   │   │   │   ├── random.md
│   │   │   │   ├── randomInt.md
│   │   │   │   ├── range.md
│   │   │   │   ├── rangeRight.md
│   │   │   │   ├── round.md
│   │   │   │   ├── sum.md
│   │   │   │   └── sumBy.md
│   │   │   ├── object/
│   │   │   │   ├── clone.md
│   │   │   │   ├── cloneDeep.md
│   │   │   │   ├── cloneDeepWith.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── flattenObject.md
│   │   │   │   ├── invert.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── merge.md
│   │   │   │   ├── mergeWith.md
│   │   │   │   ├── omit.md
│   │   │   │   ├── omitBy.md
│   │   │   │   ├── pick.md
│   │   │   │   ├── pickBy.md
│   │   │   │   ├── toCamelCaseKeys.md
│   │   │   │   ├── toMerged.md
│   │   │   │   └── toSnakeCaseKeys.md
│   │   │   ├── predicate/
│   │   │   │   ├── isArrayBuffer.md
│   │   │   │   ├── isBlob.md
│   │   │   │   ├── isBoolean.md
│   │   │   │   ├── isBrowser.md
│   │   │   │   ├── isBuffer.md
│   │   │   │   ├── isDate.md
│   │   │   │   ├── isEmptyObject.md
│   │   │   │   ├── isEqual.md
│   │   │   │   ├── isEqualWith.md
│   │   │   │   ├── isError.md
│   │   │   │   ├── isFile.md
│   │   │   │   ├── isFunction.md
│   │   │   │   ├── isJSON.md
│   │   │   │   ├── isJSONArray.md
│   │   │   │   ├── isJSONObject.md
│   │   │   │   ├── isJSONValue.md
│   │   │   │   ├── isLength.md
│   │   │   │   ├── isMap.md
│   │   │   │   ├── isNil.md
│   │   │   │   ├── isNode.md
│   │   │   │   ├── isNotNil.md
│   │   │   │   ├── isNull.md
│   │   │   │   ├── isNumber.md
│   │   │   │   ├── isPlainObject.md
│   │   │   │   ├── isPrimitive.md
│   │   │   │   ├── isPromise.md
│   │   │   │   ├── isRegExp.md
│   │   │   │   ├── isSet.md
│   │   │   │   ├── isString.md
│   │   │   │   ├── isSymbol.md
│   │   │   │   ├── isTypedArray.md
│   │   │   │   ├── isUndefined.md
│   │   │   │   ├── isWeakMap.md
│   │   │   │   └── isWeakSet.md
│   │   │   ├── promise/
│   │   │   │   ├── Mutex.md
│   │   │   │   ├── Semaphore.md
│   │   │   │   ├── delay.md
│   │   │   │   ├── timeout.md
│   │   │   │   └── withTimeout.md
│   │   │   ├── set/
│   │   │   │   ├── countBy.md
│   │   │   │   ├── every.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── find.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── map.md
│   │   │   │   ├── reduce.md
│   │   │   │   └── some.md
│   │   │   ├── string/
│   │   │   │   ├── camelCase.md
│   │   │   │   ├── capitalize.md
│   │   │   │   ├── constantCase.md
│   │   │   │   ├── deburr.md
│   │   │   │   ├── escape.md
│   │   │   │   ├── escapeRegExp.md
│   │   │   │   ├── kebabCase.md
│   │   │   │   ├── lowerCase.md
│   │   │   │   ├── lowerFirst.md
│   │   │   │   ├── pad.md
│   │   │   │   ├── pascalCase.md
│   │   │   │   ├── reverseString.md
│   │   │   │   ├── snakeCase.md
│   │   │   │   ├── startCase.md
│   │   │   │   ├── trim.md
│   │   │   │   ├── trimEnd.md
│   │   │   │   ├── trimStart.md
│   │   │   │   ├── unescape.md
│   │   │   │   ├── upperCase.md
│   │   │   │   ├── upperFirst.md
│   │   │   │   └── words.md
│   │   │   └── util/
│   │   │       ├── assert.md
│   │   │       ├── attempt.md
│   │   │       ├── attemptAsync.md
│   │   │       └── invariant.md
│   │   └── usage.md
│   ├── ko/
│   │   ├── bundle-size.md
│   │   ├── compatibility.md
│   │   ├── index.md
│   │   ├── intro.md
│   │   ├── llms-txt.md
│   │   ├── performance.md
│   │   ├── reference/
│   │   │   ├── array/
│   │   │   │   ├── at.md
│   │   │   │   ├── chunk.md
│   │   │   │   ├── compact.md
│   │   │   │   ├── countBy.md
│   │   │   │   ├── difference.md
│   │   │   │   ├── differenceBy.md
│   │   │   │   ├── differenceWith.md
│   │   │   │   ├── drop.md
│   │   │   │   ├── dropRight.md
│   │   │   │   ├── dropRightWhile.md
│   │   │   │   ├── dropWhile.md
│   │   │   │   ├── fill.md
│   │   │   │   ├── filterAsync.md
│   │   │   │   ├── flatMap.md
│   │   │   │   ├── flatMapAsync.md
│   │   │   │   ├── flatMapDeep.md
│   │   │   │   ├── flatten.md
│   │   │   │   ├── flattenDeep.md
│   │   │   │   ├── forEachAsync.md
│   │   │   │   ├── forEachRight.md
│   │   │   │   ├── groupBy.md
│   │   │   │   ├── head.md
│   │   │   │   ├── initial.md
│   │   │   │   ├── intersection.md
│   │   │   │   ├── intersectionBy.md
│   │   │   │   ├── intersectionWith.md
│   │   │   │   ├── isSubset.md
│   │   │   │   ├── isSubsetWith.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── last.md
│   │   │   │   ├── limitAsync.md
│   │   │   │   ├── mapAsync.md
│   │   │   │   ├── maxBy.md
│   │   │   │   ├── minBy.md
│   │   │   │   ├── orderBy.md
│   │   │   │   ├── partition.md
│   │   │   │   ├── pull.md
│   │   │   │   ├── pullAt.md
│   │   │   │   ├── reduceAsync.md
│   │   │   │   ├── remove.md
│   │   │   │   ├── sample.md
│   │   │   │   ├── sampleSize.md
│   │   │   │   ├── shuffle.md
│   │   │   │   ├── sortBy.md
│   │   │   │   ├── tail.md
│   │   │   │   ├── take.md
│   │   │   │   ├── takeRight.md
│   │   │   │   ├── takeRightWhile.md
│   │   │   │   ├── takeWhile.md
│   │   │   │   ├── toFilled.md
│   │   │   │   ├── union.md
│   │   │   │   ├── unionBy.md
│   │   │   │   ├── unionWith.md
│   │   │   │   ├── uniq.md
│   │   │   │   ├── uniqBy.md
│   │   │   │   ├── uniqWith.md
│   │   │   │   ├── unzip.md
│   │   │   │   ├── unzipWith.md
│   │   │   │   ├── windowed.md
│   │   │   │   ├── without.md
│   │   │   │   ├── xor.md
│   │   │   │   ├── xorBy.md
│   │   │   │   ├── xorWith.md
│   │   │   │   ├── zip.md
│   │   │   │   ├── zipObject.md
│   │   │   │   └── zipWith.md
│   │   │   ├── compat/
│   │   │   │   ├── array/
│   │   │   │   │   ├── castArray.md
│   │   │   │   │   ├── chunk.md
│   │   │   │   │   ├── compact.md
│   │   │   │   │   ├── concat.md
│   │   │   │   │   ├── countBy.md
│   │   │   │   │   ├── difference.md
│   │   │   │   │   ├── differenceBy.md
│   │   │   │   │   ├── differenceWith.md
│   │   │   │   │   ├── drop.md
│   │   │   │   │   ├── dropRight.md
│   │   │   │   │   ├── dropRightWhile.md
│   │   │   │   │   ├── dropWhile.md
│   │   │   │   │   ├── each.md
│   │   │   │   │   ├── eachRight.md
│   │   │   │   │   ├── every.md
│   │   │   │   │   ├── fill.md
│   │   │   │   │   ├── filter.md
│   │   │   │   │   ├── find.md
│   │   │   │   │   ├── findIndex.md
│   │   │   │   │   ├── findLast.md
│   │   │   │   │   ├── findLastIndex.md
│   │   │   │   │   ├── first.md
│   │   │   │   │   ├── flatMap.md
│   │   │   │   │   ├── flatMapDeep.md
│   │   │   │   │   ├── flatMapDepth.md
│   │   │   │   │   ├── flatten.md
│   │   │   │   │   ├── flattenDeep.md
│   │   │   │   │   ├── flattenDepth.md
│   │   │   │   │   ├── forEach.md
│   │   │   │   │   ├── forEachRight.md
│   │   │   │   │   ├── groupBy.md
│   │   │   │   │   ├── head.md
│   │   │   │   │   ├── includes.md
│   │   │   │   │   ├── indexOf.md
│   │   │   │   │   ├── initial.md
│   │   │   │   │   ├── intersection.md
│   │   │   │   │   ├── intersectionBy.md
│   │   │   │   │   ├── intersectionWith.md
│   │   │   │   │   ├── invokeMap.md
│   │   │   │   │   ├── join.md
│   │   │   │   │   ├── keyBy.md
│   │   │   │   │   ├── last.md
│   │   │   │   │   ├── lastIndexOf.md
│   │   │   │   │   ├── map.md
│   │   │   │   │   ├── nth.md
│   │   │   │   │   ├── orderBy.md
│   │   │   │   │   ├── partition.md
│   │   │   │   │   ├── pull.md
│   │   │   │   │   ├── pullAll.md
│   │   │   │   │   ├── pullAllBy.md
│   │   │   │   │   ├── pullAllWith.md
│   │   │   │   │   ├── pullAt.md
│   │   │   │   │   ├── reduce.md
│   │   │   │   │   ├── reduceRight.md
│   │   │   │   │   ├── reject.md
│   │   │   │   │   ├── remove.md
│   │   │   │   │   ├── reverse.md
│   │   │   │   │   ├── sample.md
│   │   │   │   │   ├── sampleSize.md
│   │   │   │   │   ├── shuffle.md
│   │   │   │   │   ├── size.md
│   │   │   │   │   ├── slice.md
│   │   │   │   │   ├── some.md
│   │   │   │   │   ├── sortBy.md
│   │   │   │   │   ├── sortedIndex.md
│   │   │   │   │   ├── sortedIndexBy.md
│   │   │   │   │   ├── sortedIndexOf.md
│   │   │   │   │   ├── sortedLastIndex.md
│   │   │   │   │   ├── sortedLastIndexBy.md
│   │   │   │   │   ├── sortedLastIndexOf.md
│   │   │   │   │   ├── tail.md
│   │   │   │   │   ├── take.md
│   │   │   │   │   ├── takeRight.md
│   │   │   │   │   ├── takeRightWhile.md
│   │   │   │   │   ├── takeWhile.md
│   │   │   │   │   ├── union.md
│   │   │   │   │   ├── unionBy.md
│   │   │   │   │   ├── unionWith.md
│   │   │   │   │   ├── uniq.md
│   │   │   │   │   ├── uniqBy.md
│   │   │   │   │   ├── uniqWith.md
│   │   │   │   │   ├── unzip.md
│   │   │   │   │   ├── unzipWith.md
│   │   │   │   │   ├── without.md
│   │   │   │   │   ├── xor.md
│   │   │   │   │   ├── xorBy.md
│   │   │   │   │   ├── xorWith.md
│   │   │   │   │   ├── zip.md
│   │   │   │   │   ├── zipObject.md
│   │   │   │   │   ├── zipObjectDeep.md
│   │   │   │   │   └── zipWith.md
│   │   │   │   ├── function/
│   │   │   │   │   ├── after.md
│   │   │   │   │   ├── ary.md
│   │   │   │   │   ├── attempt.md
│   │   │   │   │   ├── before.md
│   │   │   │   │   ├── bind.md
│   │   │   │   │   ├── bindKey.md
│   │   │   │   │   ├── curry.md
│   │   │   │   │   ├── curryRight.md
│   │   │   │   │   ├── debounce.md
│   │   │   │   │   ├── defer.md
│   │   │   │   │   ├── delay.md
│   │   │   │   │   ├── flip.md
│   │   │   │   │   ├── flow.md
│   │   │   │   │   ├── flowRight.md
│   │   │   │   │   ├── identity.md
│   │   │   │   │   ├── memoize.md
│   │   │   │   │   ├── negate.md
│   │   │   │   │   ├── noop.md
│   │   │   │   │   ├── nthArg.md
│   │   │   │   │   ├── once.md
│   │   │   │   │   ├── overArgs.md
│   │   │   │   │   ├── partial.md
│   │   │   │   │   ├── partialRight.md
│   │   │   │   │   ├── rearg.md
│   │   │   │   │   ├── rest.md
│   │   │   │   │   ├── spread.md
│   │   │   │   │   ├── throttle.md
│   │   │   │   │   ├── unary.md
│   │   │   │   │   └── wrap.md
│   │   │   │   ├── math/
│   │   │   │   │   ├── add.md
│   │   │   │   │   ├── ceil.md
│   │   │   │   │   ├── clamp.md
│   │   │   │   │   ├── divide.md
│   │   │   │   │   ├── floor.md
│   │   │   │   │   ├── inRange.md
│   │   │   │   │   ├── max.md
│   │   │   │   │   ├── maxBy.md
│   │   │   │   │   ├── mean.md
│   │   │   │   │   ├── meanBy.md
│   │   │   │   │   ├── min.md
│   │   │   │   │   ├── minBy.md
│   │   │   │   │   ├── multiply.md
│   │   │   │   │   ├── parseInt.md
│   │   │   │   │   ├── random.md
│   │   │   │   │   ├── range.md
│   │   │   │   │   ├── rangeRight.md
│   │   │   │   │   ├── round.md
│   │   │   │   │   ├── subtract.md
│   │   │   │   │   ├── sum.md
│   │   │   │   │   └── sumBy.md
│   │   │   │   ├── object/
│   │   │   │   │   ├── assign.md
│   │   │   │   │   ├── assignIn.md
│   │   │   │   │   ├── assignInWith.md
│   │   │   │   │   ├── assignWith.md
│   │   │   │   │   ├── at.md
│   │   │   │   │   ├── clone.md
│   │   │   │   │   ├── cloneDeep.md
│   │   │   │   │   ├── cloneDeepWith.md
│   │   │   │   │   ├── cloneWith.md
│   │   │   │   │   ├── create.md
│   │   │   │   │   ├── defaults.md
│   │   │   │   │   ├── defaultsDeep.md
│   │   │   │   │   ├── extend.md
│   │   │   │   │   ├── extendWith.md
│   │   │   │   │   ├── findKey.md
│   │   │   │   │   ├── findLastKey.md
│   │   │   │   │   ├── forIn.md
│   │   │   │   │   ├── forInRight.md
│   │   │   │   │   ├── forOwn.md
│   │   │   │   │   ├── forOwnRight.md
│   │   │   │   │   ├── fromPairs.md
│   │   │   │   │   ├── functions.md
│   │   │   │   │   ├── functionsIn.md
│   │   │   │   │   ├── get.md
│   │   │   │   │   ├── has.md
│   │   │   │   │   ├── hasIn.md
│   │   │   │   │   ├── invert.md
│   │   │   │   │   ├── invertBy.md
│   │   │   │   │   ├── keys.md
│   │   │   │   │   ├── keysIn.md
│   │   │   │   │   ├── mapKeys.md
│   │   │   │   │   ├── mapValues.md
│   │   │   │   │   ├── merge.md
│   │   │   │   │   ├── mergeWith.md
│   │   │   │   │   ├── omit.md
│   │   │   │   │   ├── omitBy.md
│   │   │   │   │   ├── pick.md
│   │   │   │   │   ├── pickBy.md
│   │   │   │   │   ├── property.md
│   │   │   │   │   ├── propertyOf.md
│   │   │   │   │   ├── result.md
│   │   │   │   │   ├── set.md
│   │   │   │   │   ├── setWith.md
│   │   │   │   │   ├── toDefaulted.md
│   │   │   │   │   ├── toPairs.md
│   │   │   │   │   ├── toPairsIn.md
│   │   │   │   │   ├── transform.md
│   │   │   │   │   ├── unset.md
│   │   │   │   │   ├── update.md
│   │   │   │   │   ├── updateWith.md
│   │   │   │   │   ├── values.md
│   │   │   │   │   └── valuesIn.md
│   │   │   │   ├── predicate/
│   │   │   │   │   ├── conforms.md
│   │   │   │   │   ├── conformsTo.md
│   │   │   │   │   ├── isArguments.md
│   │   │   │   │   ├── isArray.md
│   │   │   │   │   ├── isArrayBuffer.md
│   │   │   │   │   ├── isArrayLike.md
│   │   │   │   │   ├── isArrayLikeObject.md
│   │   │   │   │   ├── isBoolean.md
│   │   │   │   │   ├── isBuffer.md
│   │   │   │   │   ├── isDate.md
│   │   │   │   │   ├── isElement.md
│   │   │   │   │   ├── isEmpty.md
│   │   │   │   │   ├── isEqual.md
│   │   │   │   │   ├── isEqualWith.md
│   │   │   │   │   ├── isError.md
│   │   │   │   │   ├── isFinite.md
│   │   │   │   │   ├── isFunction.md
│   │   │   │   │   ├── isInteger.md
│   │   │   │   │   ├── isLength.md
│   │   │   │   │   ├── isMap.md
│   │   │   │   │   ├── isMatch.md
│   │   │   │   │   ├── isMatchWith.md
│   │   │   │   │   ├── isNaN.md
│   │   │   │   │   ├── isNative.md
│   │   │   │   │   ├── isNil.md
│   │   │   │   │   ├── isNull.md
│   │   │   │   │   ├── isNumber.md
│   │   │   │   │   ├── isObject.md
│   │   │   │   │   ├── isObjectLike.md
│   │   │   │   │   ├── isPlainObject.md
│   │   │   │   │   ├── isRegExp.md
│   │   │   │   │   ├── isSafeInteger.md
│   │   │   │   │   ├── isSet.md
│   │   │   │   │   ├── isString.md
│   │   │   │   │   ├── isSymbol.md
│   │   │   │   │   ├── isTypedArray.md
│   │   │   │   │   ├── isUndefined.md
│   │   │   │   │   ├── isWeakMap.md
│   │   │   │   │   ├── isWeakSet.md
│   │   │   │   │   ├── matches.md
│   │   │   │   │   └── matchesProperty.md
│   │   │   │   ├── string/
│   │   │   │   │   ├── camelCase.md
│   │   │   │   │   ├── capitalize.md
│   │   │   │   │   ├── deburr.md
│   │   │   │   │   ├── endsWith.md
│   │   │   │   │   ├── escape.md
│   │   │   │   │   ├── escapeRegExp.md
│   │   │   │   │   ├── kebabCase.md
│   │   │   │   │   ├── lowerCase.md
│   │   │   │   │   ├── lowerFirst.md
│   │   │   │   │   ├── pad.md
│   │   │   │   │   ├── padEnd.md
│   │   │   │   │   ├── padStart.md
│   │   │   │   │   ├── repeat.md
│   │   │   │   │   ├── replace.md
│   │   │   │   │   ├── snakeCase.md
│   │   │   │   │   ├── split.md
│   │   │   │   │   ├── startCase.md
│   │   │   │   │   ├── startsWith.md
│   │   │   │   │   ├── template.md
│   │   │   │   │   ├── toLower.md
│   │   │   │   │   ├── toUpper.md
│   │   │   │   │   ├── trim.md
│   │   │   │   │   ├── trimEnd.md
│   │   │   │   │   ├── trimStart.md
│   │   │   │   │   ├── truncate.md
│   │   │   │   │   ├── unescape.md
│   │   │   │   │   ├── upperCase.md
│   │   │   │   │   ├── upperFirst.md
│   │   │   │   │   └── words.md
│   │   │   │   └── util/
│   │   │   │       ├── bindAll.md
│   │   │   │       ├── cond.md
│   │   │   │       ├── constant.md
│   │   │   │       ├── defaultTo.md
│   │   │   │       ├── eq.md
│   │   │   │       ├── gt.md
│   │   │   │       ├── gte.md
│   │   │   │       ├── invoke.md
│   │   │   │       ├── iteratee.md
│   │   │   │       ├── lt.md
│   │   │   │       ├── lte.md
│   │   │   │       ├── method.md
│   │   │   │       ├── methodOf.md
│   │   │   │       ├── now.md
│   │   │   │       ├── over.md
│   │   │   │       ├── overEvery.md
│   │   │   │       ├── overSome.md
│   │   │   │       ├── stubArray.md
│   │   │   │       ├── stubFalse.md
│   │   │   │       ├── stubObject.md
│   │   │   │       ├── stubString.md
│   │   │   │       ├── stubTrue.md
│   │   │   │       ├── times.md
│   │   │   │       ├── toArray.md
│   │   │   │       ├── toFinite.md
│   │   │   │       ├── toInteger.md
│   │   │   │       ├── toLength.md
│   │   │   │       ├── toNumber.md
│   │   │   │       ├── toPath.md
│   │   │   │       ├── toPlainObject.md
│   │   │   │       ├── toSafeInteger.md
│   │   │   │       ├── toString.md
│   │   │   │       └── uniqueId.md
│   │   │   ├── error/
│   │   │   │   ├── AbortError.md
│   │   │   │   └── TimeoutError.md
│   │   │   ├── function/
│   │   │   │   ├── after.md
│   │   │   │   ├── ary.md
│   │   │   │   ├── asyncNoop.md
│   │   │   │   ├── before.md
│   │   │   │   ├── curry.md
│   │   │   │   ├── curryRight.md
│   │   │   │   ├── debounce.md
│   │   │   │   ├── flow.md
│   │   │   │   ├── flowRight.md
│   │   │   │   ├── identity.md
│   │   │   │   ├── memoize.md
│   │   │   │   ├── negate.md
│   │   │   │   ├── noop.md
│   │   │   │   ├── once.md
│   │   │   │   ├── partial.md
│   │   │   │   ├── partialRight.md
│   │   │   │   ├── rest.md
│   │   │   │   ├── retry.md
│   │   │   │   ├── spread.md
│   │   │   │   ├── throttle.md
│   │   │   │   └── unary.md
│   │   │   ├── map/
│   │   │   │   ├── countBy.md
│   │   │   │   ├── every.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── findValue.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── hasValue.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── reduce.md
│   │   │   │   └── some.md
│   │   │   ├── math/
│   │   │   │   ├── clamp.md
│   │   │   │   ├── inRange.md
│   │   │   │   ├── mean.md
│   │   │   │   ├── meanBy.md
│   │   │   │   ├── median.md
│   │   │   │   ├── medianBy.md
│   │   │   │   ├── random.md
│   │   │   │   ├── randomInt.md
│   │   │   │   ├── range.md
│   │   │   │   ├── rangeRight.md
│   │   │   │   ├── round.md
│   │   │   │   ├── sum.md
│   │   │   │   └── sumBy.md
│   │   │   ├── object/
│   │   │   │   ├── clone.md
│   │   │   │   ├── cloneDeep.md
│   │   │   │   ├── cloneDeepWith.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── flattenObject.md
│   │   │   │   ├── invert.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── merge.md
│   │   │   │   ├── mergeWith.md
│   │   │   │   ├── omit.md
│   │   │   │   ├── omitBy.md
│   │   │   │   ├── pick.md
│   │   │   │   ├── pickBy.md
│   │   │   │   ├── toCamelCaseKeys.md
│   │   │   │   ├── toMerged.md
│   │   │   │   └── toSnakeCaseKeys.md
│   │   │   ├── predicate/
│   │   │   │   ├── isArrayBuffer.md
│   │   │   │   ├── isBlob.md
│   │   │   │   ├── isBoolean.md
│   │   │   │   ├── isBrowser.md
│   │   │   │   ├── isBuffer.md
│   │   │   │   ├── isDate.md
│   │   │   │   ├── isEmptyObject.md
│   │   │   │   ├── isEqual.md
│   │   │   │   ├── isEqualWith.md
│   │   │   │   ├── isError.md
│   │   │   │   ├── isFile.md
│   │   │   │   ├── isFunction.md
│   │   │   │   ├── isJSON.md
│   │   │   │   ├── isJSONArray.md
│   │   │   │   ├── isJSONObject.md
│   │   │   │   ├── isJSONValue.md
│   │   │   │   ├── isLength.md
│   │   │   │   ├── isMap.md
│   │   │   │   ├── isNil.md
│   │   │   │   ├── isNode.md
│   │   │   │   ├── isNotNil.md
│   │   │   │   ├── isNull.md
│   │   │   │   ├── isNumber.md
│   │   │   │   ├── isPlainObject.md
│   │   │   │   ├── isPrimitive.md
│   │   │   │   ├── isPromise.md
│   │   │   │   ├── isRegExp.md
│   │   │   │   ├── isSet.md
│   │   │   │   ├── isString.md
│   │   │   │   ├── isSymbol.md
│   │   │   │   ├── isTypedArray.md
│   │   │   │   ├── isUndefined.md
│   │   │   │   ├── isWeakMap.md
│   │   │   │   └── isWeakSet.md
│   │   │   ├── promise/
│   │   │   │   ├── Mutex.md
│   │   │   │   ├── Semaphore.md
│   │   │   │   ├── delay.md
│   │   │   │   ├── timeout.md
│   │   │   │   └── withTimeout.md
│   │   │   ├── set/
│   │   │   │   ├── countBy.md
│   │   │   │   ├── every.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── find.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── map.md
│   │   │   │   ├── reduce.md
│   │   │   │   └── some.md
│   │   │   ├── string/
│   │   │   │   ├── camelCase.md
│   │   │   │   ├── capitalize.md
│   │   │   │   ├── constantCase.md
│   │   │   │   ├── deburr.md
│   │   │   │   ├── escape.md
│   │   │   │   ├── escapeRegExp.md
│   │   │   │   ├── kebabCase.md
│   │   │   │   ├── lowerCase.md
│   │   │   │   ├── lowerFirst.md
│   │   │   │   ├── pad.md
│   │   │   │   ├── pascalCase.md
│   │   │   │   ├── reverseString.md
│   │   │   │   ├── snakeCase.md
│   │   │   │   ├── startCase.md
│   │   │   │   ├── trim.md
│   │   │   │   ├── trimEnd.md
│   │   │   │   ├── trimStart.md
│   │   │   │   ├── unescape.md
│   │   │   │   ├── upperCase.md
│   │   │   │   ├── upperFirst.md
│   │   │   │   └── words.md
│   │   │   └── util/
│   │   │       ├── assert.md
│   │   │       ├── attempt.md
│   │   │       ├── attemptAsync.md
│   │   │       └── invariant.md
│   │   └── usage.md
│   ├── llms-txt.md
│   ├── package.json
│   ├── performance.md
│   ├── reference/
│   │   ├── array/
│   │   │   ├── at.md
│   │   │   ├── chunk.md
│   │   │   ├── compact.md
│   │   │   ├── countBy.md
│   │   │   ├── difference.md
│   │   │   ├── differenceBy.md
│   │   │   ├── differenceWith.md
│   │   │   ├── drop.md
│   │   │   ├── dropRight.md
│   │   │   ├── dropRightWhile.md
│   │   │   ├── dropWhile.md
│   │   │   ├── fill.md
│   │   │   ├── filterAsync.md
│   │   │   ├── flatMap.md
│   │   │   ├── flatMapAsync.md
│   │   │   ├── flatMapDeep.md
│   │   │   ├── flatten.md
│   │   │   ├── flattenDeep.md
│   │   │   ├── forEachAsync.md
│   │   │   ├── forEachRight.md
│   │   │   ├── groupBy.md
│   │   │   ├── head.md
│   │   │   ├── initial.md
│   │   │   ├── intersection.md
│   │   │   ├── intersectionBy.md
│   │   │   ├── intersectionWith.md
│   │   │   ├── isSubset.md
│   │   │   ├── isSubsetWith.md
│   │   │   ├── keyBy.md
│   │   │   ├── last.md
│   │   │   ├── limitAsync.md
│   │   │   ├── mapAsync.md
│   │   │   ├── maxBy.md
│   │   │   ├── minBy.md
│   │   │   ├── orderBy.md
│   │   │   ├── partition.md
│   │   │   ├── pull.md
│   │   │   ├── pullAt.md
│   │   │   ├── reduceAsync.md
│   │   │   ├── remove.md
│   │   │   ├── sample.md
│   │   │   ├── sampleSize.md
│   │   │   ├── shuffle.md
│   │   │   ├── sortBy.md
│   │   │   ├── tail.md
│   │   │   ├── take.md
│   │   │   ├── takeRight.md
│   │   │   ├── takeRightWhile.md
│   │   │   ├── takeWhile.md
│   │   │   ├── toFilled.md
│   │   │   ├── union.md
│   │   │   ├── unionBy.md
│   │   │   ├── unionWith.md
│   │   │   ├── uniq.md
│   │   │   ├── uniqBy.md
│   │   │   ├── uniqWith.md
│   │   │   ├── unzip.md
│   │   │   ├── unzipWith.md
│   │   │   ├── windowed.md
│   │   │   ├── without.md
│   │   │   ├── xor.md
│   │   │   ├── xorBy.md
│   │   │   ├── xorWith.md
│   │   │   ├── zip.md
│   │   │   ├── zipObject.md
│   │   │   └── zipWith.md
│   │   ├── compat/
│   │   │   ├── array/
│   │   │   │   ├── castArray.md
│   │   │   │   ├── chunk.md
│   │   │   │   ├── compact.md
│   │   │   │   ├── concat.md
│   │   │   │   ├── countBy.md
│   │   │   │   ├── difference.md
│   │   │   │   ├── differenceBy.md
│   │   │   │   ├── differenceWith.md
│   │   │   │   ├── drop.md
│   │   │   │   ├── dropRight.md
│   │   │   │   ├── dropRightWhile.md
│   │   │   │   ├── dropWhile.md
│   │   │   │   ├── each.md
│   │   │   │   ├── eachRight.md
│   │   │   │   ├── every.md
│   │   │   │   ├── fill.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── find.md
│   │   │   │   ├── findIndex.md
│   │   │   │   ├── findLast.md
│   │   │   │   ├── findLastIndex.md
│   │   │   │   ├── first.md
│   │   │   │   ├── flatMap.md
│   │   │   │   ├── flatMapDeep.md
│   │   │   │   ├── flatMapDepth.md
│   │   │   │   ├── flatten.md
│   │   │   │   ├── flattenDeep.md
│   │   │   │   ├── flattenDepth.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── forEachRight.md
│   │   │   │   ├── groupBy.md
│   │   │   │   ├── head.md
│   │   │   │   ├── includes.md
│   │   │   │   ├── indexOf.md
│   │   │   │   ├── initial.md
│   │   │   │   ├── intersection.md
│   │   │   │   ├── intersectionBy.md
│   │   │   │   ├── intersectionWith.md
│   │   │   │   ├── invokeMap.md
│   │   │   │   ├── join.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── last.md
│   │   │   │   ├── lastIndexOf.md
│   │   │   │   ├── map.md
│   │   │   │   ├── nth.md
│   │   │   │   ├── orderBy.md
│   │   │   │   ├── partition.md
│   │   │   │   ├── pull.md
│   │   │   │   ├── pullAll.md
│   │   │   │   ├── pullAllBy.md
│   │   │   │   ├── pullAllWith.md
│   │   │   │   ├── pullAt.md
│   │   │   │   ├── reduce.md
│   │   │   │   ├── reduceRight.md
│   │   │   │   ├── reject.md
│   │   │   │   ├── remove.md
│   │   │   │   ├── reverse.md
│   │   │   │   ├── sample.md
│   │   │   │   ├── sampleSize.md
│   │   │   │   ├── shuffle.md
│   │   │   │   ├── size.md
│   │   │   │   ├── slice.md
│   │   │   │   ├── some.md
│   │   │   │   ├── sortBy.md
│   │   │   │   ├── sortedIndex.md
│   │   │   │   ├── sortedIndexBy.md
│   │   │   │   ├── sortedIndexOf.md
│   │   │   │   ├── sortedLastIndex.md
│   │   │   │   ├── sortedLastIndexBy.md
│   │   │   │   ├── sortedLastIndexOf.md
│   │   │   │   ├── tail.md
│   │   │   │   ├── take.md
│   │   │   │   ├── takeRight.md
│   │   │   │   ├── takeRightWhile.md
│   │   │   │   ├── takeWhile.md
│   │   │   │   ├── union.md
│   │   │   │   ├── unionBy.md
│   │   │   │   ├── unionWith.md
│   │   │   │   ├── uniq.md
│   │   │   │   ├── uniqBy.md
│   │   │   │   ├── uniqWith.md
│   │   │   │   ├── unzip.md
│   │   │   │   ├── unzipWith.md
│   │   │   │   ├── without.md
│   │   │   │   ├── xor.md
│   │   │   │   ├── xorBy.md
│   │   │   │   ├── xorWith.md
│   │   │   │   ├── zip.md
│   │   │   │   ├── zipObject.md
│   │   │   │   ├── zipObjectDeep.md
│   │   │   │   └── zipWith.md
│   │   │   ├── function/
│   │   │   │   ├── after.md
│   │   │   │   ├── ary.md
│   │   │   │   ├── attempt.md
│   │   │   │   ├── before.md
│   │   │   │   ├── bind.md
│   │   │   │   ├── bindKey.md
│   │   │   │   ├── curry.md
│   │   │   │   ├── curryRight.md
│   │   │   │   ├── debounce.md
│   │   │   │   ├── defer.md
│   │   │   │   ├── delay.md
│   │   │   │   ├── flip.md
│   │   │   │   ├── flow.md
│   │   │   │   ├── flowRight.md
│   │   │   │   ├── identity.md
│   │   │   │   ├── memoize.md
│   │   │   │   ├── negate.md
│   │   │   │   ├── noop.md
│   │   │   │   ├── nthArg.md
│   │   │   │   ├── once.md
│   │   │   │   ├── overArgs.md
│   │   │   │   ├── partial.md
│   │   │   │   ├── partialRight.md
│   │   │   │   ├── rearg.md
│   │   │   │   ├── rest.md
│   │   │   │   ├── spread.md
│   │   │   │   ├── throttle.md
│   │   │   │   ├── unary.md
│   │   │   │   └── wrap.md
│   │   │   ├── math/
│   │   │   │   ├── add.md
│   │   │   │   ├── ceil.md
│   │   │   │   ├── clamp.md
│   │   │   │   ├── divide.md
│   │   │   │   ├── floor.md
│   │   │   │   ├── inRange.md
│   │   │   │   ├── max.md
│   │   │   │   ├── maxBy.md
│   │   │   │   ├── mean.md
│   │   │   │   ├── meanBy.md
│   │   │   │   ├── min.md
│   │   │   │   ├── minBy.md
│   │   │   │   ├── multiply.md
│   │   │   │   ├── parseInt.md
│   │   │   │   ├── random.md
│   │   │   │   ├── range.md
│   │   │   │   ├── rangeRight.md
│   │   │   │   ├── round.md
│   │   │   │   ├── subtract.md
│   │   │   │   ├── sum.md
│   │   │   │   └── sumBy.md
│   │   │   ├── object/
│   │   │   │   ├── assign.md
│   │   │   │   ├── assignIn.md
│   │   │   │   ├── assignInWith.md
│   │   │   │   ├── assignWith.md
│   │   │   │   ├── at.md
│   │   │   │   ├── clone.md
│   │   │   │   ├── cloneDeep.md
│   │   │   │   ├── cloneDeepWith.md
│   │   │   │   ├── cloneWith.md
│   │   │   │   ├── create.md
│   │   │   │   ├── defaults.md
│   │   │   │   ├── defaultsDeep.md
│   │   │   │   ├── extend.md
│   │   │   │   ├── extendWith.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── findLastKey.md
│   │   │   │   ├── forIn.md
│   │   │   │   ├── forInRight.md
│   │   │   │   ├── forOwn.md
│   │   │   │   ├── forOwnRight.md
│   │   │   │   ├── fromPairs.md
│   │   │   │   ├── functions.md
│   │   │   │   ├── functionsIn.md
│   │   │   │   ├── get.md
│   │   │   │   ├── has.md
│   │   │   │   ├── hasIn.md
│   │   │   │   ├── invert.md
│   │   │   │   ├── invertBy.md
│   │   │   │   ├── keys.md
│   │   │   │   ├── keysIn.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── merge.md
│   │   │   │   ├── mergeWith.md
│   │   │   │   ├── omit.md
│   │   │   │   ├── omitBy.md
│   │   │   │   ├── pick.md
│   │   │   │   ├── pickBy.md
│   │   │   │   ├── property.md
│   │   │   │   ├── propertyOf.md
│   │   │   │   ├── result.md
│   │   │   │   ├── set.md
│   │   │   │   ├── setWith.md
│   │   │   │   ├── toDefaulted.md
│   │   │   │   ├── toPairs.md
│   │   │   │   ├── toPairsIn.md
│   │   │   │   ├── transform.md
│   │   │   │   ├── unset.md
│   │   │   │   ├── update.md
│   │   │   │   ├── updateWith.md
│   │   │   │   ├── values.md
│   │   │   │   └── valuesIn.md
│   │   │   ├── predicate/
│   │   │   │   ├── conforms.md
│   │   │   │   ├── conformsTo.md
│   │   │   │   ├── isArguments.md
│   │   │   │   ├── isArray.md
│   │   │   │   ├── isArrayBuffer.md
│   │   │   │   ├── isArrayLike.md
│   │   │   │   ├── isArrayLikeObject.md
│   │   │   │   ├── isBoolean.md
│   │   │   │   ├── isBuffer.md
│   │   │   │   ├── isDate.md
│   │   │   │   ├── isElement.md
│   │   │   │   ├── isEmpty.md
│   │   │   │   ├── isEqual.md
│   │   │   │   ├── isEqualWith.md
│   │   │   │   ├── isError.md
│   │   │   │   ├── isFinite.md
│   │   │   │   ├── isFunction.md
│   │   │   │   ├── isInteger.md
│   │   │   │   ├── isLength.md
│   │   │   │   ├── isMap.md
│   │   │   │   ├── isMatch.md
│   │   │   │   ├── isMatchWith.md
│   │   │   │   ├── isNaN.md
│   │   │   │   ├── isNative.md
│   │   │   │   ├── isNil.md
│   │   │   │   ├── isNull.md
│   │   │   │   ├── isNumber.md
│   │   │   │   ├── isObject.md
│   │   │   │   ├── isObjectLike.md
│   │   │   │   ├── isPlainObject.md
│   │   │   │   ├── isRegExp.md
│   │   │   │   ├── isSafeInteger.md
│   │   │   │   ├── isSet.md
│   │   │   │   ├── isString.md
│   │   │   │   ├── isSymbol.md
│   │   │   │   ├── isTypedArray.md
│   │   │   │   ├── isUndefined.md
│   │   │   │   ├── isWeakMap.md
│   │   │   │   ├── isWeakSet.md
│   │   │   │   ├── matches.md
│   │   │   │   └── matchesProperty.md
│   │   │   ├── string/
│   │   │   │   ├── camelCase.md
│   │   │   │   ├── capitalize.md
│   │   │   │   ├── deburr.md
│   │   │   │   ├── endsWith.md
│   │   │   │   ├── escape.md
│   │   │   │   ├── escapeRegExp.md
│   │   │   │   ├── kebabCase.md
│   │   │   │   ├── lowerCase.md
│   │   │   │   ├── lowerFirst.md
│   │   │   │   ├── pad.md
│   │   │   │   ├── padEnd.md
│   │   │   │   ├── padStart.md
│   │   │   │   ├── repeat.md
│   │   │   │   ├── replace.md
│   │   │   │   ├── snakeCase.md
│   │   │   │   ├── split.md
│   │   │   │   ├── startCase.md
│   │   │   │   ├── startsWith.md
│   │   │   │   ├── template.md
│   │   │   │   ├── toLower.md
│   │   │   │   ├── toUpper.md
│   │   │   │   ├── trim.md
│   │   │   │   ├── trimEnd.md
│   │   │   │   ├── trimStart.md
│   │   │   │   ├── truncate.md
│   │   │   │   ├── unescape.md
│   │   │   │   ├── upperCase.md
│   │   │   │   ├── upperFirst.md
│   │   │   │   └── words.md
│   │   │   └── util/
│   │   │       ├── bindAll.md
│   │   │       ├── cond.md
│   │   │       ├── constant.md
│   │   │       ├── defaultTo.md
│   │   │       ├── eq.md
│   │   │       ├── gt.md
│   │   │       ├── gte.md
│   │   │       ├── invoke.md
│   │   │       ├── iteratee.md
│   │   │       ├── lt.md
│   │   │       ├── lte.md
│   │   │       ├── method.md
│   │   │       ├── methodOf.md
│   │   │       ├── now.md
│   │   │       ├── over.md
│   │   │       ├── overEvery.md
│   │   │       ├── overSome.md
│   │   │       ├── stubArray.md
│   │   │       ├── stubFalse.md
│   │   │       ├── stubObject.md
│   │   │       ├── stubString.md
│   │   │       ├── stubTrue.md
│   │   │       ├── times.md
│   │   │       ├── toArray.md
│   │   │       ├── toFinite.md
│   │   │       ├── toInteger.md
│   │   │       ├── toLength.md
│   │   │       ├── toNumber.md
│   │   │       ├── toPath.md
│   │   │       ├── toPlainObject.md
│   │   │       ├── toSafeInteger.md
│   │   │       ├── toString.md
│   │   │       └── uniqueId.md
│   │   ├── error/
│   │   │   ├── AbortError.md
│   │   │   └── TimeoutError.md
│   │   ├── function/
│   │   │   ├── after.md
│   │   │   ├── ary.md
│   │   │   ├── asyncNoop.md
│   │   │   ├── before.md
│   │   │   ├── curry.md
│   │   │   ├── curryRight.md
│   │   │   ├── debounce.md
│   │   │   ├── flow.md
│   │   │   ├── flowRight.md
│   │   │   ├── identity.md
│   │   │   ├── memoize.md
│   │   │   ├── negate.md
│   │   │   ├── noop.md
│   │   │   ├── once.md
│   │   │   ├── partial.md
│   │   │   ├── partialRight.md
│   │   │   ├── rest.md
│   │   │   ├── retry.md
│   │   │   ├── spread.md
│   │   │   ├── throttle.md
│   │   │   └── unary.md
│   │   ├── map/
│   │   │   ├── countBy.md
│   │   │   ├── every.md
│   │   │   ├── filter.md
│   │   │   ├── findKey.md
│   │   │   ├── findValue.md
│   │   │   ├── forEach.md
│   │   │   ├── hasValue.md
│   │   │   ├── keyBy.md
│   │   │   ├── mapKeys.md
│   │   │   ├── mapValues.md
│   │   │   ├── reduce.md
│   │   │   └── some.md
│   │   ├── math/
│   │   │   ├── clamp.md
│   │   │   ├── inRange.md
│   │   │   ├── mean.md
│   │   │   ├── meanBy.md
│   │   │   ├── median.md
│   │   │   ├── medianBy.md
│   │   │   ├── random.md
│   │   │   ├── randomInt.md
│   │   │   ├── range.md
│   │   │   ├── rangeRight.md
│   │   │   ├── round.md
│   │   │   ├── sum.md
│   │   │   └── sumBy.md
│   │   ├── object/
│   │   │   ├── clone.md
│   │   │   ├── cloneDeep.md
│   │   │   ├── cloneDeepWith.md
│   │   │   ├── findKey.md
│   │   │   ├── flattenObject.md
│   │   │   ├── invert.md
│   │   │   ├── mapKeys.md
│   │   │   ├── mapValues.md
│   │   │   ├── merge.md
│   │   │   ├── mergeWith.md
│   │   │   ├── omit.md
│   │   │   ├── omitBy.md
│   │   │   ├── pick.md
│   │   │   ├── pickBy.md
│   │   │   ├── toCamelCaseKeys.md
│   │   │   ├── toMerged.md
│   │   │   └── toSnakeCaseKeys.md
│   │   ├── predicate/
│   │   │   ├── isArrayBuffer.md
│   │   │   ├── isBlob.md
│   │   │   ├── isBoolean.md
│   │   │   ├── isBrowser.md
│   │   │   ├── isBuffer.md
│   │   │   ├── isDate.md
│   │   │   ├── isEmptyObject.md
│   │   │   ├── isEqual.md
│   │   │   ├── isEqualWith.md
│   │   │   ├── isError.md
│   │   │   ├── isFile.md
│   │   │   ├── isFunction.md
│   │   │   ├── isJSON.md
│   │   │   ├── isJSONArray.md
│   │   │   ├── isJSONObject.md
│   │   │   ├── isJSONValue.md
│   │   │   ├── isLength.md
│   │   │   ├── isMap.md
│   │   │   ├── isNil.md
│   │   │   ├── isNode.md
│   │   │   ├── isNotNil.md
│   │   │   ├── isNull.md
│   │   │   ├── isNumber.md
│   │   │   ├── isPlainObject.md
│   │   │   ├── isPrimitive.md
│   │   │   ├── isPromise.md
│   │   │   ├── isRegExp.md
│   │   │   ├── isSet.md
│   │   │   ├── isString.md
│   │   │   ├── isSymbol.md
│   │   │   ├── isTypedArray.md
│   │   │   ├── isUndefined.md
│   │   │   ├── isWeakMap.md
│   │   │   └── isWeakSet.md
│   │   ├── promise/
│   │   │   ├── Mutex.md
│   │   │   ├── Semaphore.md
│   │   │   ├── delay.md
│   │   │   ├── timeout.md
│   │   │   └── withTimeout.md
│   │   ├── set/
│   │   │   ├── countBy.md
│   │   │   ├── every.md
│   │   │   ├── filter.md
│   │   │   ├── find.md
│   │   │   ├── forEach.md
│   │   │   ├── keyBy.md
│   │   │   ├── map.md
│   │   │   ├── reduce.md
│   │   │   └── some.md
│   │   ├── string/
│   │   │   ├── camelCase.md
│   │   │   ├── capitalize.md
│   │   │   ├── constantCase.md
│   │   │   ├── deburr.md
│   │   │   ├── escape.md
│   │   │   ├── escapeRegExp.md
│   │   │   ├── kebabCase.md
│   │   │   ├── lowerCase.md
│   │   │   ├── lowerFirst.md
│   │   │   ├── pad.md
│   │   │   ├── pascalCase.md
│   │   │   ├── reverseString.md
│   │   │   ├── snakeCase.md
│   │   │   ├── startCase.md
│   │   │   ├── trim.md
│   │   │   ├── trimEnd.md
│   │   │   ├── trimStart.md
│   │   │   ├── unescape.md
│   │   │   ├── upperCase.md
│   │   │   ├── upperFirst.md
│   │   │   └── words.md
│   │   └── util/
│   │       ├── assert.md
│   │       ├── attempt.md
│   │       ├── attemptAsync.md
│   │       └── invariant.md
│   ├── usage.md
│   ├── vercel.json
│   └── zh_hans/
│       ├── bundle-size.md
│       ├── compatibility.md
│       ├── index.md
│       ├── intro.md
│       ├── llms-txt.md
│       ├── performance.md
│       ├── reference/
│       │   ├── array/
│       │   │   ├── at.md
│       │   │   ├── chunk.md
│       │   │   ├── compact.md
│       │   │   ├── countBy.md
│       │   │   ├── difference.md
│       │   │   ├── differenceBy.md
│       │   │   ├── differenceWith.md
│       │   │   ├── drop.md
│       │   │   ├── dropRight.md
│       │   │   ├── dropRightWhile.md
│       │   │   ├── dropWhile.md
│       │   │   ├── fill.md
│       │   │   ├── filterAsync.md
│       │   │   ├── flatMap.md
│       │   │   ├── flatMapAsync.md
│       │   │   ├── flatMapDeep.md
│       │   │   ├── flatten.md
│       │   │   ├── flattenDeep.md
│       │   │   ├── forEachAsync.md
│       │   │   ├── forEachRight.md
│       │   │   ├── groupBy.md
│       │   │   ├── head.md
│       │   │   ├── initial.md
│       │   │   ├── intersection.md
│       │   │   ├── intersectionBy.md
│       │   │   ├── intersectionWith.md
│       │   │   ├── isSubset.md
│       │   │   ├── isSubsetWith.md
│       │   │   ├── keyBy.md
│       │   │   ├── last.md
│       │   │   ├── limitAsync.md
│       │   │   ├── mapAsync.md
│       │   │   ├── maxBy.md
│       │   │   ├── minBy.md
│       │   │   ├── orderBy.md
│       │   │   ├── partition.md
│       │   │   ├── pull.md
│       │   │   ├── pullAt.md
│       │   │   ├── reduceAsync.md
│       │   │   ├── remove.md
│       │   │   ├── sample.md
│       │   │   ├── sampleSize.md
│       │   │   ├── shuffle.md
│       │   │   ├── sortBy.md
│       │   │   ├── tail.md
│       │   │   ├── take.md
│       │   │   ├── takeRight.md
│       │   │   ├── takeRightWhile.md
│       │   │   ├── takeWhile.md
│       │   │   ├── toFilled.md
│       │   │   ├── union.md
│       │   │   ├── unionBy.md
│       │   │   ├── unionWith.md
│       │   │   ├── uniq.md
│       │   │   ├── uniqBy.md
│       │   │   ├── uniqWith.md
│       │   │   ├── unzip.md
│       │   │   ├── unzipWith.md
│       │   │   ├── windowed.md
│       │   │   ├── without.md
│       │   │   ├── xor.md
│       │   │   ├── xorBy.md
│       │   │   ├── xorWith.md
│       │   │   ├── zip.md
│       │   │   ├── zipObject.md
│       │   │   └── zipWith.md
│       │   ├── compat/
│       │   │   ├── array/
│       │   │   │   ├── castArray.md
│       │   │   │   ├── chunk.md
│       │   │   │   ├── compact.md
│       │   │   │   ├── concat.md
│       │   │   │   ├── countBy.md
│       │   │   │   ├── difference.md
│       │   │   │   ├── differenceBy.md
│       │   │   │   ├── differenceWith.md
│       │   │   │   ├── drop.md
│       │   │   │   ├── dropRight.md
│       │   │   │   ├── dropRightWhile.md
│       │   │   │   ├── dropWhile.md
│       │   │   │   ├── each.md
│       │   │   │   ├── eachRight.md
│       │   │   │   ├── every.md
│       │   │   │   ├── fill.md
│       │   │   │   ├── filter.md
│       │   │   │   ├── find.md
│       │   │   │   ├── findIndex.md
│       │   │   │   ├── findLast.md
│       │   │   │   ├── findLastIndex.md
│       │   │   │   ├── first.md
│       │   │   │   ├── flatMap.md
│       │   │   │   ├── flatMapDeep.md
│       │   │   │   ├── flatMapDepth.md
│       │   │   │   ├── flatten.md
│       │   │   │   ├── flattenDeep.md
│       │   │   │   ├── flattenDepth.md
│       │   │   │   ├── forEach.md
│       │   │   │   ├── forEachRight.md
│       │   │   │   ├── groupBy.md
│       │   │   │   ├── head.md
│       │   │   │   ├── includes.md
│       │   │   │   ├── indexOf.md
│       │   │   │   ├── initial.md
│       │   │   │   ├── intersection.md
│       │   │   │   ├── intersectionBy.md
│       │   │   │   ├── intersectionWith.md
│       │   │   │   ├── invokeMap.md
│       │   │   │   ├── join.md
│       │   │   │   ├── keyBy.md
│       │   │   │   ├── last.md
│       │   │   │   ├── lastIndexOf.md
│       │   │   │   ├── map.md
│       │   │   │   ├── nth.md
│       │   │   │   ├── orderBy.md
│       │   │   │   ├── partition.md
│       │   │   │   ├── pull.md
│       │   │   │   ├── pullAll.md
│       │   │   │   ├── pullAllBy.md
│       │   │   │   ├── pullAllWith.md
│       │   │   │   ├── pullAt.md
│       │   │   │   ├── reduce.md
│       │   │   │   ├── reduceRight.md
│       │   │   │   ├── reject.md
│       │   │   │   ├── remove.md
│       │   │   │   ├── reverse.md
│       │   │   │   ├── sample.md
│       │   │   │   ├── sampleSize.md
│       │   │   │   ├── shuffle.md
│       │   │   │   ├── size.md
│       │   │   │   ├── slice.md
│       │   │   │   ├── some.md
│       │   │   │   ├── sortBy.md
│       │   │   │   ├── sortedIndex.md
│       │   │   │   ├── sortedIndexBy.md
│       │   │   │   ├── sortedIndexOf.md
│       │   │   │   ├── sortedLastIndex.md
│       │   │   │   ├── sortedLastIndexBy.md
│       │   │   │   ├── sortedLastIndexOf.md
│       │   │   │   ├── tail.md
│       │   │   │   ├── take.md
│       │   │   │   ├── takeRight.md
│       │   │   │   ├── takeRightWhile.md
│       │   │   │   ├── takeWhile.md
│       │   │   │   ├── union.md
│       │   │   │   ├── unionBy.md
│       │   │   │   ├── unionWith.md
│       │   │   │   ├── uniq.md
│       │   │   │   ├── uniqBy.md
│       │   │   │   ├── uniqWith.md
│       │   │   │   ├── unzip.md
│       │   │   │   ├── unzipWith.md
│       │   │   │   ├── without.md
│       │   │   │   ├── xor.md
│       │   │   │   ├── xorBy.md
│       │   │   │   ├── xorWith.md
│       │   │   │   ├── zip.md
│       │   │   │   ├── zipObject.md
│       │   │   │   ├── zipObjectDeep.md
│       │   │   │   └── zipWith.md
│       │   │   ├── function/
│       │   │   │   ├── after.md
│       │   │   │   ├── ary.md
│       │   │   │   ├── attempt.md
│       │   │   │   ├── before.md
│       │   │   │   ├── bind.md
│       │   │   │   ├── bindKey.md
│       │   │   │   ├── curry.md
│       │   │   │   ├── curryRight.md
│       │   │   │   ├── debounce.md
│       │   │   │   ├── defer.md
│       │   │   │   ├── delay.md
│       │   │   │   ├── flip.md
│       │   │   │   ├── flow.md
│       │   │   │   ├── flowRight.md
│       │   │   │   ├── identity.md
│       │   │   │   ├── memoize.md
│       │   │   │   ├── negate.md
│       │   │   │   ├── noop.md
│       │   │   │   ├── nthArg.md
│       │   │   │   ├── once.md
│       │   │   │   ├── overArgs.md
│       │   │   │   ├── partial.md
│       │   │   │   ├── partialRight.md
│       │   │   │   ├── rearg.md
│       │   │   │   ├── rest.md
│       │   │   │   ├── spread.md
│       │   │   │   ├── throttle.md
│       │   │   │   ├── unary.md
│       │   │   │   └── wrap.md
│       │   │   ├── math/
│       │   │   │   ├── add.md
│       │   │   │   ├── ceil.md
│       │   │   │   ├── clamp.md
│       │   │   │   ├── divide.md
│       │   │   │   ├── floor.md
│       │   │   │   ├── inRange.md
│       │   │   │   ├── max.md
│       │   │   │   ├── maxBy.md
│       │   │   │   ├── mean.md
│       │   │   │   ├── meanBy.md
│       │   │   │   ├── min.md
│       │   │   │   ├── minBy.md
│       │   │   │   ├── multiply.md
│       │   │   │   ├── parseInt.md
│       │   │   │   ├── random.md
│       │   │   │   ├── range.md
│       │   │   │   ├── rangeRight.md
│       │   │   │   ├── round.md
│       │   │   │   ├── subtract.md
│       │   │   │   ├── sum.md
│       │   │   │   └── sumBy.md
│       │   │   ├── object/
│       │   │   │   ├── assign.md
│       │   │   │   ├── assignIn.md
│       │   │   │   ├── assignInWith.md
│       │   │   │   ├── assignWith.md
│       │   │   │   ├── at.md
│       │   │   │   ├── clone.md
│       │   │   │   ├── cloneDeep.md
│       │   │   │   ├── cloneDeepWith.md
│       │   │   │   ├── cloneWith.md
│       │   │   │   ├── create.md
│       │   │   │   ├── defaults.md
│       │   │   │   ├── defaultsDeep.md
│       │   │   │   ├── extend.md
│       │   │   │   ├── extendWith.md
│       │   │   │   ├── findKey.md
│       │   │   │   ├── findLastKey.md
│       │   │   │   ├── forIn.md
│       │   │   │   ├── forInRight.md
│       │   │   │   ├── forOwn.md
│       │   │   │   ├── forOwnRight.md
│       │   │   │   ├── fromPairs.md
│       │   │   │   ├── functions.md
│       │   │   │   ├── functionsIn.md
│       │   │   │   ├── get.md
│       │   │   │   ├── has.md
│       │   │   │   ├── hasIn.md
│       │   │   │   ├── invert.md
│       │   │   │   ├── invertBy.md
│       │   │   │   ├── keys.md
│       │   │   │   ├── keysIn.md
│       │   │   │   ├── mapKeys.md
│       │   │   │   ├── mapValues.md
│       │   │   │   ├── merge.md
│       │   │   │   ├── mergeWith.md
│       │   │   │   ├── omit.md
│       │   │   │   ├── omitBy.md
│       │   │   │   ├── pick.md
│       │   │   │   ├── pickBy.md
│       │   │   │   ├── property.md
│       │   │   │   ├── propertyOf.md
│       │   │   │   ├── result.md
│       │   │   │   ├── set.md
│       │   │   │   ├── setWith.md
│       │   │   │   ├── toDefaulted.md
│       │   │   │   ├── toPairs.md
│       │   │   │   ├── toPairsIn.md
│       │   │   │   ├── transform.md
│       │   │   │   ├── unset.md
│       │   │   │   ├── update.md
│       │   │   │   ├── updateWith.md
│       │   │   │   ├── values.md
│       │   │   │   └── valuesIn.md
│       │   │   ├── predicate/
│       │   │   │   ├── conforms.md
│       │   │   │   ├── conformsTo.md
│       │   │   │   ├── isArguments.md
│       │   │   │   ├── isArray.md
│       │   │   │   ├── isArrayBuffer.md
│       │   │   │   ├── isArrayLike.md
│       │   │   │   ├── isArrayLikeObject.md
│       │   │   │   ├── isBoolean.md
│       │   │   │   ├── isBuffer.md
│       │   │   │   ├── isDate.md
│       │   │   │   ├── isElement.md
│       │   │   │   ├── isEmpty.md
│       │   │   │   ├── isEqual.md
│       │   │   │   ├── isEqualWith.md
│       │   │   │   ├── isError.md
│       │   │   │   ├── isFinite.md
│       │   │   │   ├── isFunction.md
│       │   │   │   ├── isInteger.md
│       │   │   │   ├── isLength.md
│       │   │   │   ├── isMap.md
│       │   │   │   ├── isMatch.md
│       │   │   │   ├── isMatchWith.md
│       │   │   │   ├── isNaN.md
│       │   │   │   ├── isNative.md
│       │   │   │   ├── isNil.md
│       │   │   │   ├── isNull.md
│       │   │   │   ├── isNumber.md
│       │   │   │   ├── isObject.md
│       │   │   │   ├── isObjectLike.md
│       │   │   │   ├── isPlainObject.md
│       │   │   │   ├── isRegExp.md
│       │   │   │   ├── isSafeInteger.md
│       │   │   │   ├── isSet.md
│       │   │   │   ├── isString.md
│       │   │   │   ├── isSymbol.md
│       │   │   │   ├── isTypedArray.md
│       │   │   │   ├── isUndefined.md
│       │   │   │   ├── isWeakMap.md
│       │   │   │   ├── isWeakSet.md
│       │   │   │   ├── matches.md
│       │   │   │   └── matchesProperty.md
│       │   │   ├── string/
│       │   │   │   ├── camelCase.md
│       │   │   │   ├── capitalize.md
│       │   │   │   ├── deburr.md
│       │   │   │   ├── endsWith.md
│       │   │   │   ├── escape.md
│       │   │   │   ├── escapeRegExp.md
│       │   │   │   ├── kebabCase.md
│       │   │   │   ├── lowerCase.md
│       │   │   │   ├── lowerFirst.md
│       │   │   │   ├── pad.md
│       │   │   │   ├── padEnd.md
│       │   │   │   ├── padStart.md
│       │   │   │   ├── repeat.md
│       │   │   │   ├── replace.md
│       │   │   │   ├── snakeCase.md
│       │   │   │   ├── split.md
│       │   │   │   ├── startCase.md
│       │   │   │   ├── startsWith.md
│       │   │   │   ├── template.md
│       │   │   │   ├── toLower.md
│       │   │   │   ├── toUpper.md
│       │   │   │   ├── trim.md
│       │   │   │   ├── trimEnd.md
│       │   │   │   ├── trimStart.md
│       │   │   │   ├── truncate.md
│       │   │   │   ├── unescape.md
│       │   │   │   ├── upperCase.md
│       │   │   │   ├── upperFirst.md
│       │   │   │   └── words.md
│       │   │   └── util/
│       │   │       ├── bindAll.md
│       │   │       ├── cond.md
│       │   │       ├── constant.md
│       │   │       ├── defaultTo.md
│       │   │       ├── eq.md
│       │   │       ├── gt.md
│       │   │       ├── gte.md
│       │   │       ├── invoke.md
│       │   │       ├── iteratee.md
│       │   │       ├── lt.md
│       │   │       ├── lte.md
│       │   │       ├── method.md
│       │   │       ├── methodOf.md
│       │   │       ├── now.md
│       │   │       ├── over.md
│       │   │       ├── overEvery.md
│       │   │       ├── overSome.md
│       │   │       ├── stubArray.md
│       │   │       ├── stubFalse.md
│       │   │       ├── stubObject.md
│       │   │       ├── stubString.md
│       │   │       ├── stubTrue.md
│       │   │       ├── times.md
│       │   │       ├── toArray.md
│       │   │       ├── toFinite.md
│       │   │       ├── toInteger.md
│       │   │       ├── toLength.md
│       │   │       ├── toNumber.md
│       │   │       ├── toPath.md
│       │   │       ├── toPlainObject.md
│       │   │       ├── toSafeInteger.md
│       │   │       ├── toString.md
│       │   │       └── uniqueId.md
│       │   ├── error/
│       │   │   ├── AbortError.md
│       │   │   └── TimeoutError.md
│       │   ├── function/
│       │   │   ├── after.md
│       │   │   ├── ary.md
│       │   │   ├── asyncNoop.md
│       │   │   ├── before.md
│       │   │   ├── curry.md
│       │   │   ├── curryRight.md
│       │   │   ├── debounce.md
│       │   │   ├── flow.md
│       │   │   ├── flowRight.md
│       │   │   ├── identity.md
│       │   │   ├── memoize.md
│       │   │   ├── negate.md
│       │   │   ├── noop.md
│       │   │   ├── once.md
│       │   │   ├── partial.md
│       │   │   ├── partialRight.md
│       │   │   ├── rest.md
│       │   │   ├── retry.md
│       │   │   ├── spread.md
│       │   │   ├── throttle.md
│       │   │   └── unary.md
│       │   ├── map/
│       │   │   ├── countBy.md
│       │   │   ├── every.md
│       │   │   ├── filter.md
│       │   │   ├── findKey.md
│       │   │   ├── findValue.md
│       │   │   ├── forEach.md
│       │   │   ├── hasValue.md
│       │   │   ├── keyBy.md
│       │   │   ├── mapKeys.md
│       │   │   ├── mapValues.md
│       │   │   ├── reduce.md
│       │   │   └── some.md
│       │   ├── math/
│       │   │   ├── clamp.md
│       │   │   ├── inRange.md
│       │   │   ├── mean.md
│       │   │   ├── meanBy.md
│       │   │   ├── median.md
│       │   │   ├── medianBy.md
│       │   │   ├── random.md
│       │   │   ├── randomInt.md
│       │   │   ├── range.md
│       │   │   ├── rangeRight.md
│       │   │   ├── round.md
│       │   │   ├── sum.md
│       │   │   └── sumBy.md
│       │   ├── object/
│       │   │   ├── clone.md
│       │   │   ├── cloneDeep.md
│       │   │   ├── cloneDeepWith.md
│       │   │   ├── findKey.md
│       │   │   ├── flattenObject.md
│       │   │   ├── invert.md
│       │   │   ├── mapKeys.md
│       │   │   ├── mapValues.md
│       │   │   ├── merge.md
│       │   │   ├── mergeWith.md
│       │   │   ├── omit.md
│       │   │   ├── omitBy.md
│       │   │   ├── pick.md
│       │   │   ├── pickBy.md
│       │   │   ├── toCamelCaseKeys.md
│       │   │   ├── toMerged.md
│       │   │   └── toSnakeCaseKeys.md
│       │   ├── predicate/
│       │   │   ├── isArrayBuffer.md
│       │   │   ├── isBlob.md
│       │   │   ├── isBoolean.md
│       │   │   ├── isBrowser.md
│       │   │   ├── isBuffer.md
│       │   │   ├── isDate.md
│       │   │   ├── isEmptyObject.md
│       │   │   ├── isEqual.md
│       │   │   ├── isEqualWith.md
│       │   │   ├── isError.md
│       │   │   ├── isFile.md
│       │   │   ├── isFunction.md
│       │   │   ├── isJSON.md
│       │   │   ├── isJSONArray.md
│       │   │   ├── isJSONObject.md
│       │   │   ├── isJSONValue.md
│       │   │   ├── isLength.md
│       │   │   ├── isMap.md
│       │   │   ├── isNil.md
│       │   │   ├── isNode.md
│       │   │   ├── isNotNil.md
│       │   │   ├── isNull.md
│       │   │   ├── isNumber.md
│       │   │   ├── isPlainObject.md
│       │   │   ├── isPrimitive.md
│       │   │   ├── isPromise.md
│       │   │   ├── isRegExp.md
│       │   │   ├── isSet.md
│       │   │   ├── isString.md
│       │   │   ├── isSymbol.md
│       │   │   ├── isTypedArray.md
│       │   │   ├── isUndefined.md
│       │   │   ├── isWeakMap.md
│       │   │   └── isWeakSet.md
│       │   ├── promise/
│       │   │   ├── Mutex.md
│       │   │   ├── Semaphore.md
│       │   │   ├── delay.md
│       │   │   ├── timeout.md
│       │   │   └── withTimeout.md
│       │   ├── set/
│       │   │   ├── countBy.md
│       │   │   ├── every.md
│       │   │   ├── filter.md
│       │   │   ├── find.md
│       │   │   ├── forEach.md
│       │   │   ├── keyBy.md
│       │   │   ├── map.md
│       │   │   ├── reduce.md
│       │   │   └── some.md
│       │   ├── string/
│       │   │   ├── camelCase.md
│       │   │   ├── capitalize.md
│       │   │   ├── constantCase.md
│       │   │   ├── deburr.md
│       │   │   ├── escape.md
│       │   │   ├── escapeRegExp.md
│       │   │   ├── kebabCase.md
│       │   │   ├── lowerCase.md
│       │   │   ├── lowerFirst.md
│       │   │   ├── pad.md
│       │   │   ├── pascalCase.md
│       │   │   ├── reverseString.md
│       │   │   ├── snakeCase.md
│       │   │   ├── startCase.md
│       │   │   ├── trim.md
│       │   │   ├── trimEnd.md
│       │   │   ├── trimStart.md
│       │   │   ├── unescape.md
│       │   │   ├── upperCase.md
│       │   │   ├── upperFirst.md
│       │   │   └── words.md
│       │   └── util/
│       │       ├── assert.md
│       │       ├── attempt.md
│       │       ├── attemptAsync.md
│       │       └── invariant.md
│       └── usage.md
├── eslint.config.mjs
├── jsr.json
├── package.json
├── packlint.config.mjs
├── rollup.config.mjs
├── src/
│   ├── _internal/
│   │   ├── burredLetters.ts
│   │   ├── comboMarks.ts
│   │   ├── compareValues.ts
│   │   ├── deburredLetters.ts
│   │   ├── isEqualsSameValueZero.ts
│   │   └── isUnsafeProperty.ts
│   ├── array/
│   │   ├── at.spec.ts
│   │   ├── at.ts
│   │   ├── chunk.spec.ts
│   │   ├── chunk.ts
│   │   ├── compact.spec.ts
│   │   ├── compact.ts
│   │   ├── countBy.spec.ts
│   │   ├── countBy.ts
│   │   ├── difference.spec.ts
│   │   ├── difference.ts
│   │   ├── differenceBy.spec.ts
│   │   ├── differenceBy.ts
│   │   ├── differenceWith.spec.ts
│   │   ├── differenceWith.ts
│   │   ├── drop.spec.ts
│   │   ├── drop.ts
│   │   ├── dropRight.spec.ts
│   │   ├── dropRight.ts
│   │   ├── dropRightWhile.spec.ts
│   │   ├── dropRightWhile.ts
│   │   ├── dropWhile.spec.ts
│   │   ├── dropWhile.ts
│   │   ├── fill.spec.ts
│   │   ├── fill.ts
│   │   ├── filterAsync.spec.ts
│   │   ├── filterAsync.ts
│   │   ├── flatMap.spec.ts
│   │   ├── flatMap.ts
│   │   ├── flatMapAsync.spec.ts
│   │   ├── flatMapAsync.ts
│   │   ├── flatMapDeep.spec.ts
│   │   ├── flatMapDeep.ts
│   │   ├── flatten.spec.ts
│   │   ├── flatten.ts
│   │   ├── flattenDeep.spec.ts
│   │   ├── flattenDeep.ts
│   │   ├── forEachAsync.spec.ts
│   │   ├── forEachAsync.ts
│   │   ├── forEachRight.spec.ts
│   │   ├── forEachRight.ts
│   │   ├── groupBy.spec.ts
│   │   ├── groupBy.ts
│   │   ├── head.spec.ts
│   │   ├── head.ts
│   │   ├── index.ts
│   │   ├── initial.spec.ts
│   │   ├── initial.ts
│   │   ├── intersection.spec.ts
│   │   ├── intersection.ts
│   │   ├── intersectionBy.spec.ts
│   │   ├── intersectionBy.ts
│   │   ├── intersectionWith.spec.ts
│   │   ├── intersectionWith.ts
│   │   ├── isSubset.spec.ts
│   │   ├── isSubset.ts
│   │   ├── isSubsetWith.spec.ts
│   │   ├── isSubsetWith.ts
│   │   ├── keyBy.spec.ts
│   │   ├── keyBy.ts
│   │   ├── last.spec.ts
│   │   ├── last.ts
│   │   ├── limitAsync.spec.ts
│   │   ├── limitAsync.ts
│   │   ├── mapAsync.spec.ts
│   │   ├── mapAsync.ts
│   │   ├── maxBy.spec.ts
│   │   ├── maxBy.ts
│   │   ├── minBy.spec.ts
│   │   ├── minBy.ts
│   │   ├── orderBy.spec.ts
│   │   ├── orderBy.ts
│   │   ├── partition.spec.ts
│   │   ├── partition.ts
│   │   ├── pull.spec.ts
│   │   ├── pull.ts
│   │   ├── pullAt.spec.ts
│   │   ├── pullAt.ts
│   │   ├── reduceAsync.spec.ts
│   │   ├── reduceAsync.ts
│   │   ├── remove.spec.ts
│   │   ├── remove.ts
│   │   ├── sample.spec.ts
│   │   ├── sample.ts
│   │   ├── sampleSize.spec.ts
│   │   ├── sampleSize.ts
│   │   ├── shuffle.spec.ts
│   │   ├── shuffle.ts
│   │   ├── sortBy.spec.ts
│   │   ├── sortBy.ts
│   │   ├── tail.spec.ts
│   │   ├── tail.ts
│   │   ├── take.spec.ts
│   │   ├── take.ts
│   │   ├── takeRight.spec.ts
│   │   ├── takeRight.ts
│   │   ├── takeRightWhile.spec.ts
│   │   ├── takeRightWhile.ts
│   │   ├── takeWhile.spec.ts
│   │   ├── takeWhile.ts
│   │   ├── toFilled.spec.ts
│   │   ├── toFilled.ts
│   │   ├── union.spec.ts
│   │   ├── union.ts
│   │   ├── unionBy.spec.ts
│   │   ├── unionBy.ts
│   │   ├── unionWith.spec.ts
│   │   ├── unionWith.ts
│   │   ├── uniq.spec.ts
│   │   ├── uniq.ts
│   │   ├── uniqBy.spec.ts
│   │   ├── uniqBy.ts
│   │   ├── uniqWith.spec.ts
│   │   ├── uniqWith.ts
│   │   ├── unzip.spec.ts
│   │   ├── unzip.ts
│   │   ├── unzipWith.spec.ts
│   │   ├── unzipWith.ts
│   │   ├── windowed.spec.ts
│   │   ├── windowed.ts
│   │   ├── without.spec.ts
│   │   ├── without.ts
│   │   ├── xor.spec.ts
│   │   ├── xor.ts
│   │   ├── xorBy.spec.ts
│   │   ├── xorBy.ts
│   │   ├── xorWith.spec.ts
│   │   ├── xorWith.ts
│   │   ├── zip.spec.ts
│   │   ├── zip.ts
│   │   ├── zipObject.spec.ts
│   │   ├── zipObject.ts
│   │   ├── zipWith.spec.ts
│   │   └── zipWith.ts
│   ├── compat/
│   │   ├── _internal/
│   │   │   ├── ArrayIterator.ts
│   │   │   ├── ConformsPredicateObject.ts
│   │   │   ├── EmptyObjectOf.ts
│   │   │   ├── Equals.d.ts
│   │   │   ├── GetFieldType.ts
│   │   │   ├── IsEqualCustomizer.ts
│   │   │   ├── IsMatchWithCustomizer.ts
│   │   │   ├── IsWritable.d.ts
│   │   │   ├── IterateeShorthand.ts
│   │   │   ├── LARGE_ARRAY_SIZE.ts
│   │   │   ├── ListIteratee.ts
│   │   │   ├── ListIterateeCustom.ts
│   │   │   ├── ListIterator.ts
│   │   │   ├── ListIteratorTypeGuard.ts
│   │   │   ├── ListOfRecursiveArraysOrValues.ts
│   │   │   ├── MAX_ARRAY_LENGTH.ts
│   │   │   ├── MAX_INTEGER.ts
│   │   │   ├── MAX_SAFE_INTEGER.ts
│   │   │   ├── Many.ts
│   │   │   ├── MemoListIterator.ts
│   │   │   ├── MemoObjectIterator.ts
│   │   │   ├── MutableList.d.ts
│   │   │   ├── ObjectIteratee.ts
│   │   │   ├── ObjectIterateeCustom.ts
│   │   │   ├── ObjectIterator.ts
│   │   │   ├── PartialShallow.ts
│   │   │   ├── PropertyPath.ts
│   │   │   ├── RecursiveArray.ts
│   │   │   ├── RejectReadonly.d.ts
│   │   │   ├── StringIterator.ts
│   │   │   ├── TupleIterator.ts
│   │   │   ├── ValueIteratee.ts
│   │   │   ├── ValueIterateeCustom.ts
│   │   │   ├── ValueIteratorTypeGuard.ts
│   │   │   ├── ValueKeyIteratee.ts
│   │   │   ├── ValueKeyIterateeTypeGuard.ts
│   │   │   ├── args.ts
│   │   │   ├── arrayProto.ts
│   │   │   ├── arrayViews.ts
│   │   │   ├── assignValue.ts
│   │   │   ├── compareValues.spec.ts
│   │   │   ├── compareValues.ts
│   │   │   ├── copyArray.ts
│   │   │   ├── decimalAdjust.ts
│   │   │   ├── doubled.ts
│   │   │   ├── empties.ts
│   │   │   ├── falsey.ts
│   │   │   ├── flattenArrayLike.spec.ts
│   │   │   ├── flattenArrayLike.ts
│   │   │   ├── getSymbols.ts
│   │   │   ├── getSymbolsIn.ts
│   │   │   ├── getTag.spec.ts
│   │   │   ├── getTag.ts
│   │   │   ├── isDeepKey.spec.ts
│   │   │   ├── isDeepKey.ts
│   │   │   ├── isEven.ts
│   │   │   ├── isIndex.spec.ts
│   │   │   ├── isIndex.ts
│   │   │   ├── isIterateeCall.ts
│   │   │   ├── isKey.spec.ts
│   │   │   ├── isKey.ts
│   │   │   ├── isPrototype.ts
│   │   │   ├── mapToEntries.ts
│   │   │   ├── normalizeForCase.ts
│   │   │   ├── numberProto.ts
│   │   │   ├── numberTag.ts
│   │   │   ├── objectProto.ts
│   │   │   ├── primitives.ts
│   │   │   ├── setToEntries.ts
│   │   │   ├── slice.ts
│   │   │   ├── strictArgs.ts
│   │   │   ├── stringProto.ts
│   │   │   ├── stubA.ts
│   │   │   ├── stubB.ts
│   │   │   ├── stubC.ts
│   │   │   ├── stubFour.ts
│   │   │   ├── stubNaN.ts
│   │   │   ├── stubNull.ts
│   │   │   ├── stubOne.ts
│   │   │   ├── stubThree.ts
│   │   │   ├── stubTwo.ts
│   │   │   ├── stubZero.ts
│   │   │   ├── symbol.ts
│   │   │   ├── tags.ts
│   │   │   ├── toArgs.spec.ts
│   │   │   ├── toArgs.ts
│   │   │   ├── toArray.ts
│   │   │   ├── toKey.spec.ts
│   │   │   ├── toKey.ts
│   │   │   ├── typedArrays.ts
│   │   │   ├── weakMap.ts
│   │   │   ├── weakSet.ts
│   │   │   └── whitespace.ts
│   │   ├── array/
│   │   │   ├── castArray.spec.ts
│   │   │   ├── castArray.ts
│   │   │   ├── chunk.spec.ts
│   │   │   ├── chunk.ts
│   │   │   ├── compact.spec.ts
│   │   │   ├── compact.ts
│   │   │   ├── concat.spec.ts
│   │   │   ├── concat.ts
│   │   │   ├── countBy.spec.ts
│   │   │   ├── countBy.ts
│   │   │   ├── difference.spec.ts
│   │   │   ├── difference.ts
│   │   │   ├── differenceBy.spec.ts
│   │   │   ├── differenceBy.ts
│   │   │   ├── differenceWith.spec.ts
│   │   │   ├── differenceWith.ts
│   │   │   ├── drop.spec.ts
│   │   │   ├── drop.ts
│   │   │   ├── dropRight.spec.ts
│   │   │   ├── dropRight.ts
│   │   │   ├── dropRightWhile.spec.ts
│   │   │   ├── dropRightWhile.ts
│   │   │   ├── dropWhile.spec.ts
│   │   │   ├── dropWhile.ts
│   │   │   ├── each.spec.ts
│   │   │   ├── each.ts
│   │   │   ├── eachRight.ts
│   │   │   ├── every.spec.ts
│   │   │   ├── every.ts
│   │   │   ├── fill.spec.ts
│   │   │   ├── fill.ts
│   │   │   ├── filter.spec.ts
│   │   │   ├── filter.ts
│   │   │   ├── find.spec.ts
│   │   │   ├── find.ts
│   │   │   ├── findIndex.spec.ts
│   │   │   ├── findIndex.ts
│   │   │   ├── findLast.spec.ts
│   │   │   ├── findLast.ts
│   │   │   ├── findLastIndex.spec.ts
│   │   │   ├── findLastIndex.ts
│   │   │   ├── first.ts
│   │   │   ├── flatMap.spec.ts
│   │   │   ├── flatMap.ts
│   │   │   ├── flatMapDeep.spec.ts
│   │   │   ├── flatMapDeep.ts
│   │   │   ├── flatMapDepth.spec.ts
│   │   │   ├── flatMapDepth.ts
│   │   │   ├── flatten.spec.ts
│   │   │   ├── flatten.ts
│   │   │   ├── flattenDeep.spec.ts
│   │   │   ├── flattenDeep.ts
│   │   │   ├── flattenDepth.spec.ts
│   │   │   ├── flattenDepth.ts
│   │   │   ├── forEach.spec.ts
│   │   │   ├── forEach.ts
│   │   │   ├── forEachRight.spec.ts
│   │   │   ├── forEachRight.ts
│   │   │   ├── groupBy.spec.ts
│   │   │   ├── groupBy.ts
│   │   │   ├── head.spec.ts
│   │   │   ├── head.ts
│   │   │   ├── includes.spec.ts
│   │   │   ├── includes.ts
│   │   │   ├── indexOf.spec.ts
│   │   │   ├── indexOf.ts
│   │   │   ├── initial.spec.ts
│   │   │   ├── initial.ts
│   │   │   ├── intersection.spec.ts
│   │   │   ├── intersection.ts
│   │   │   ├── intersectionBy.spec.ts
│   │   │   ├── intersectionBy.ts
│   │   │   ├── intersectionWith.spec.ts
│   │   │   ├── intersectionWith.ts
│   │   │   ├── invokeMap.spec.ts
│   │   │   ├── invokeMap.ts
│   │   │   ├── join.spec.ts
│   │   │   ├── join.ts
│   │   │   ├── keyBy.spec.ts
│   │   │   ├── keyBy.ts
│   │   │   ├── last.spec.ts
│   │   │   ├── last.ts
│   │   │   ├── lastIndexOf.spec.ts
│   │   │   ├── lastIndexOf.ts
│   │   │   ├── map.spec.ts
│   │   │   ├── map.ts
│   │   │   ├── nth.spec.ts
│   │   │   ├── nth.ts
│   │   │   ├── orderBy.spec.ts
│   │   │   ├── orderBy.ts
│   │   │   ├── partition.spec.ts
│   │   │   ├── partition.ts
│   │   │   ├── pull.spec.ts
│   │   │   ├── pull.ts
│   │   │   ├── pullAll.spec.ts
│   │   │   ├── pullAll.ts
│   │   │   ├── pullAllBy.spec.ts
│   │   │   ├── pullAllBy.ts
│   │   │   ├── pullAllWith.spec.ts
│   │   │   ├── pullAllWith.ts
│   │   │   ├── pullAt.spec.ts
│   │   │   ├── pullAt.ts
│   │   │   ├── reduce.spec.ts
│   │   │   ├── reduce.ts
│   │   │   ├── reduceRight.spec.ts
│   │   │   ├── reduceRight.ts
│   │   │   ├── reject.spec.ts
│   │   │   ├── reject.ts
│   │   │   ├── remove.spec.ts
│   │   │   ├── remove.ts
│   │   │   ├── reverse.spec.ts
│   │   │   ├── reverse.ts
│   │   │   ├── sample.spec.ts
│   │   │   ├── sample.ts
│   │   │   ├── sampleSize.spec.ts
│   │   │   ├── sampleSize.ts
│   │   │   ├── shuffle.spec.ts
│   │   │   ├── shuffle.ts
│   │   │   ├── size.spec.ts
│   │   │   ├── size.ts
│   │   │   ├── slice.spec.ts
│   │   │   ├── slice.ts
│   │   │   ├── some.spec.ts
│   │   │   ├── some.ts
│   │   │   ├── sortBy.spec.ts
│   │   │   ├── sortBy.ts
│   │   │   ├── sortedIndex.spec.ts
│   │   │   ├── sortedIndex.ts
│   │   │   ├── sortedIndexBy.spec.ts
│   │   │   ├── sortedIndexBy.ts
│   │   │   ├── sortedIndexOf.spec.ts
│   │   │   ├── sortedIndexOf.ts
│   │   │   ├── sortedLastIndex.spec.ts
│   │   │   ├── sortedLastIndex.ts
│   │   │   ├── sortedLastIndexBy.spec.ts
│   │   │   ├── sortedLastIndexBy.ts
│   │   │   ├── sortedLastIndexOf.spec.ts
│   │   │   ├── sortedLastIndexOf.ts
│   │   │   ├── tail.spec.ts
│   │   │   ├── tail.ts
│   │   │   ├── take.spec.ts
│   │   │   ├── take.ts
│   │   │   ├── takeRight.spec.ts
│   │   │   ├── takeRight.ts
│   │   │   ├── takeRightWhile.spec.ts
│   │   │   ├── takeRightWhile.ts
│   │   │   ├── takeWhile.spec.ts
│   │   │   ├── takeWhile.ts
│   │   │   ├── union.spec.ts
│   │   │   ├── union.ts
│   │   │   ├── unionBy.spec.ts
│   │   │   ├── unionBy.ts
│   │   │   ├── unionWith.spec.ts
│   │   │   ├── unionWith.ts
│   │   │   ├── uniq.spec.ts
│   │   │   ├── uniq.ts
│   │   │   ├── uniqBy.spec.ts
│   │   │   ├── uniqBy.ts
│   │   │   ├── uniqWith.spec.ts
│   │   │   ├── uniqWith.ts
│   │   │   ├── unzip.spec.ts
│   │   │   ├── unzip.ts
│   │   │   ├── unzipWith.spec.ts
│   │   │   ├── unzipWith.ts
│   │   │   ├── without.spec.ts
│   │   │   ├── without.ts
│   │   │   ├── xor.spec.ts
│   │   │   ├── xor.ts
│   │   │   ├── xorBy.spec.ts
│   │   │   ├── xorBy.ts
│   │   │   ├── xorWith.spec.ts
│   │   │   ├── xorWith.ts
│   │   │   ├── zip.spec.ts
│   │   │   ├── zip.ts
│   │   │   ├── zipObject.spec.ts
│   │   │   ├── zipObject.ts
│   │   │   ├── zipObjectDeep.spec.ts
│   │   │   ├── zipObjectDeep.ts
│   │   │   ├── zipWith.spec.ts
│   │   │   └── zipWith.ts
│   │   ├── compat.ts
│   │   ├── function/
│   │   │   ├── after.spec.ts
│   │   │   ├── after.ts
│   │   │   ├── ary.spec.ts
│   │   │   ├── ary.ts
│   │   │   ├── attempt.spec.ts
│   │   │   ├── attempt.ts
│   │   │   ├── before.spec.ts
│   │   │   ├── before.ts
│   │   │   ├── bind.spec.ts
│   │   │   ├── bind.ts
│   │   │   ├── bindKey.spec.ts
│   │   │   ├── bindKey.ts
│   │   │   ├── curry.spec.ts
│   │   │   ├── curry.ts
│   │   │   ├── curryRight.spec.ts
│   │   │   ├── curryRight.ts
│   │   │   ├── debounce.spec.ts
│   │   │   ├── debounce.ts
│   │   │   ├── defer.spec.ts
│   │   │   ├── defer.ts
│   │   │   ├── delay.spec.ts
│   │   │   ├── delay.ts
│   │   │   ├── flip.spec.ts
│   │   │   ├── flip.ts
│   │   │   ├── flow.spec.ts
│   │   │   ├── flow.ts
│   │   │   ├── flowRight.spec.ts
│   │   │   ├── flowRight.ts
│   │   │   ├── identity.spec.ts
│   │   │   ├── identity.ts
│   │   │   ├── memoize.spec.ts
│   │   │   ├── memoize.ts
│   │   │   ├── negate.spec.ts
│   │   │   ├── negate.ts
│   │   │   ├── noop.spec.ts
│   │   │   ├── noop.ts
│   │   │   ├── nthArg.spec.ts
│   │   │   ├── nthArg.ts
│   │   │   ├── once.spec.ts
│   │   │   ├── once.ts
│   │   │   ├── overArgs.spec.ts
│   │   │   ├── overArgs.ts
│   │   │   ├── partial.spec.ts
│   │   │   ├── partial.ts
│   │   │   ├── partialRight.spec.ts
│   │   │   ├── partialRight.ts
│   │   │   ├── rearg.spec.ts
│   │   │   ├── rearg.ts
│   │   │   ├── rest.spec.ts
│   │   │   ├── rest.ts
│   │   │   ├── spread.spec.ts
│   │   │   ├── spread.ts
│   │   │   ├── throttle.spec.ts
│   │   │   ├── throttle.ts
│   │   │   ├── unary.spec.ts
│   │   │   ├── unary.ts
│   │   │   ├── wrap.spec.ts
│   │   │   └── wrap.ts
│   │   ├── index.ts
│   │   ├── math/
│   │   │   ├── add.spec.ts
│   │   │   ├── add.ts
│   │   │   ├── ceil.spec.ts
│   │   │   ├── ceil.ts
│   │   │   ├── clamp.spec.ts
│   │   │   ├── clamp.ts
│   │   │   ├── divide.spec.ts
│   │   │   ├── divide.ts
│   │   │   ├── floor.spec.ts
│   │   │   ├── floor.ts
│   │   │   ├── inRange.spec.ts
│   │   │   ├── inRange.ts
│   │   │   ├── max.spec.ts
│   │   │   ├── max.ts
│   │   │   ├── maxBy.spec.ts
│   │   │   ├── maxBy.ts
│   │   │   ├── mean.spec.ts
│   │   │   ├── mean.ts
│   │   │   ├── meanBy.spec.ts
│   │   │   ├── meanBy.ts
│   │   │   ├── min.spec.ts
│   │   │   ├── min.ts
│   │   │   ├── minBy.spec.ts
│   │   │   ├── minBy.ts
│   │   │   ├── multiply.spec.ts
│   │   │   ├── multiply.ts
│   │   │   ├── parseInt.spec.ts
│   │   │   ├── parseInt.ts
│   │   │   ├── random.spec.ts
│   │   │   ├── random.ts
│   │   │   ├── range.spec.ts
│   │   │   ├── range.ts
│   │   │   ├── rangeRight.spec.ts
│   │   │   ├── rangeRight.ts
│   │   │   ├── round.spec.ts
│   │   │   ├── round.ts
│   │   │   ├── subtract.spec.ts
│   │   │   ├── subtract.ts
│   │   │   ├── sum.spec.ts
│   │   │   ├── sum.ts
│   │   │   ├── sumBy.spec.ts
│   │   │   └── sumBy.ts
│   │   ├── object/
│   │   │   ├── assign.spec.ts
│   │   │   ├── assign.ts
│   │   │   ├── assignIn.spec.ts
│   │   │   ├── assignIn.ts
│   │   │   ├── assignInWith.spec.ts
│   │   │   ├── assignInWith.ts
│   │   │   ├── assignWith.spec.ts
│   │   │   ├── assignWith.ts
│   │   │   ├── at.spec.ts
│   │   │   ├── at.ts
│   │   │   ├── clone.spec.ts
│   │   │   ├── clone.ts
│   │   │   ├── cloneDeep.spec.ts
│   │   │   ├── cloneDeep.ts
│   │   │   ├── cloneDeepWith.spec.ts
│   │   │   ├── cloneDeepWith.ts
│   │   │   ├── cloneWith.spec.ts
│   │   │   ├── cloneWith.ts
│   │   │   ├── create.spec.ts
│   │   │   ├── create.ts
│   │   │   ├── defaults.spec.ts
│   │   │   ├── defaults.ts
│   │   │   ├── defaultsDeep.spec.ts
│   │   │   ├── defaultsDeep.ts
│   │   │   ├── extend.ts
│   │   │   ├── extendWith.ts
│   │   │   ├── findKey.spec.ts
│   │   │   ├── findKey.ts
│   │   │   ├── findLastKey.spec.ts
│   │   │   ├── findLastKey.ts
│   │   │   ├── forIn.spec.ts
│   │   │   ├── forIn.ts
│   │   │   ├── forInRight.spec.ts
│   │   │   ├── forInRight.ts
│   │   │   ├── forOwn.spec.ts
│   │   │   ├── forOwn.ts
│   │   │   ├── forOwnRight.spec.ts
│   │   │   ├── forOwnRight.ts
│   │   │   ├── fromPairs.spec.ts
│   │   │   ├── fromPairs.ts
│   │   │   ├── functions.spec.ts
│   │   │   ├── functions.ts
│   │   │   ├── functionsIn.spec.ts
│   │   │   ├── functionsIn.ts
│   │   │   ├── get.spec.ts
│   │   │   ├── get.ts
│   │   │   ├── has.spec.ts
│   │   │   ├── has.ts
│   │   │   ├── hasIn.spec.ts
│   │   │   ├── hasIn.ts
│   │   │   ├── invert.spec.ts
│   │   │   ├── invert.ts
│   │   │   ├── invertBy.spec.ts
│   │   │   ├── invertBy.ts
│   │   │   ├── keys.spec.ts
│   │   │   ├── keys.ts
│   │   │   ├── keysIn.spec.ts
│   │   │   ├── keysIn.ts
│   │   │   ├── mapKeys.spec.ts
│   │   │   ├── mapKeys.ts
│   │   │   ├── mapValues.spec.ts
│   │   │   ├── mapValues.ts
│   │   │   ├── merge.spec.ts
│   │   │   ├── merge.ts
│   │   │   ├── mergeWith.spec.ts
│   │   │   ├── mergeWith.ts
│   │   │   ├── omit.spec.ts
│   │   │   ├── omit.ts
│   │   │   ├── omitBy.spec.ts
│   │   │   ├── omitBy.ts
│   │   │   ├── pick.spec.ts
│   │   │   ├── pick.ts
│   │   │   ├── pickBy.spec.ts
│   │   │   ├── pickBy.ts
│   │   │   ├── property.spec.ts
│   │   │   ├── property.ts
│   │   │   ├── propertyOf.spec.ts
│   │   │   ├── propertyOf.ts
│   │   │   ├── result.spec.ts
│   │   │   ├── result.ts
│   │   │   ├── set.spec.ts
│   │   │   ├── set.ts
│   │   │   ├── setWith.spec.ts
│   │   │   ├── setWith.ts
│   │   │   ├── toDefaulted.spec.ts
│   │   │   ├── toDefaulted.ts
│   │   │   ├── toPairs.spec.ts
│   │   │   ├── toPairs.ts
│   │   │   ├── toPairsIn.spec.ts
│   │   │   ├── toPairsIn.ts
│   │   │   ├── transform.spec.ts
│   │   │   ├── transform.ts
│   │   │   ├── unset.spec.ts
│   │   │   ├── unset.ts
│   │   │   ├── update.spec.ts
│   │   │   ├── update.ts
│   │   │   ├── updateWith.spec.ts
│   │   │   ├── updateWith.ts
│   │   │   ├── values.spec.ts
│   │   │   ├── values.ts
│   │   │   ├── valuesIn.spec.ts
│   │   │   └── valuesIn.ts
│   │   ├── predicate/
│   │   │   ├── conforms.spec.ts
│   │   │   ├── conforms.ts
│   │   │   ├── conformsTo.spec.ts
│   │   │   ├── conformsTo.ts
│   │   │   ├── isArguments.spec.ts
│   │   │   ├── isArguments.ts
│   │   │   ├── isArray.spec.ts
│   │   │   ├── isArray.ts
│   │   │   ├── isArrayBuffer.spec.ts
│   │   │   ├── isArrayBuffer.ts
│   │   │   ├── isArrayLike.spec.ts
│   │   │   ├── isArrayLike.ts
│   │   │   ├── isArrayLikeObject.spec.ts
│   │   │   ├── isArrayLikeObject.ts
│   │   │   ├── isBoolean.spec.ts
│   │   │   ├── isBoolean.ts
│   │   │   ├── isBuffer.spec.ts
│   │   │   ├── isBuffer.ts
│   │   │   ├── isDate.spec.ts
│   │   │   ├── isDate.ts
│   │   │   ├── isElement.spec.ts
│   │   │   ├── isElement.ts
│   │   │   ├── isEmpty.spec.ts
│   │   │   ├── isEmpty.ts
│   │   │   ├── isEqual.spec.ts
│   │   │   ├── isEqualWith.spec.ts
│   │   │   ├── isEqualWith.ts
│   │   │   ├── isError.spec.ts
│   │   │   ├── isError.ts
│   │   │   ├── isFinite.spec.ts
│   │   │   ├── isFinite.ts
│   │   │   ├── isFunction.spec.ts
│   │   │   ├── isFunction.ts
│   │   │   ├── isInteger.spec.ts
│   │   │   ├── isInteger.ts
│   │   │   ├── isLength.spec.ts
│   │   │   ├── isLength.ts
│   │   │   ├── isMap.spec.ts
│   │   │   ├── isMap.ts
│   │   │   ├── isMatch.spec.ts
│   │   │   ├── isMatch.ts
│   │   │   ├── isMatchWith.spec.ts
│   │   │   ├── isMatchWith.ts
│   │   │   ├── isNaN.spec.ts
│   │   │   ├── isNaN.ts
│   │   │   ├── isNative.spec.ts
│   │   │   ├── isNative.ts
│   │   │   ├── isNil.spec.ts
│   │   │   ├── isNil.ts
│   │   │   ├── isNull.spec.ts
│   │   │   ├── isNull.ts
│   │   │   ├── isNumber.spec.ts
│   │   │   ├── isNumber.ts
│   │   │   ├── isObject.spec.ts
│   │   │   ├── isObject.ts
│   │   │   ├── isObjectLike.spec.ts
│   │   │   ├── isObjectLike.ts
│   │   │   ├── isPlainObject.spec.ts
│   │   │   ├── isPlainObject.ts
│   │   │   ├── isRegExp.spec.ts
│   │   │   ├── isRegExp.ts
│   │   │   ├── isSafeInteger.spec.ts
│   │   │   ├── isSafeInteger.ts
│   │   │   ├── isSet.spec.ts
│   │   │   ├── isSet.ts
│   │   │   ├── isString.spec.ts
│   │   │   ├── isString.ts
│   │   │   ├── isSymbol.spec.ts
│   │   │   ├── isSymbol.ts
│   │   │   ├── isTypedArray.spec.ts
│   │   │   ├── isTypedArray.ts
│   │   │   ├── isUndefined.spec.ts
│   │   │   ├── isUndefined.ts
│   │   │   ├── isWeakMap.spec.ts
│   │   │   ├── isWeakMap.ts
│   │   │   ├── isWeakSet.spec.ts
│   │   │   ├── isWeakSet.ts
│   │   │   ├── matches.spec.ts
│   │   │   ├── matches.ts
│   │   │   ├── matchesProperty.spec.ts
│   │   │   └── matchesProperty.ts
│   │   ├── string/
│   │   │   ├── camelCase.spec.ts
│   │   │   ├── camelCase.ts
│   │   │   ├── capitalize.spec.ts
│   │   │   ├── capitalize.ts
│   │   │   ├── deburr.spec.ts
│   │   │   ├── deburr.ts
│   │   │   ├── endsWith.spec.ts
│   │   │   ├── endsWith.ts
│   │   │   ├── escape.spec.ts
│   │   │   ├── escape.ts
│   │   │   ├── escapeRegExp.spec.ts
│   │   │   ├── escapeRegExp.ts
│   │   │   ├── kebabCase.spec.ts
│   │   │   ├── kebabCase.ts
│   │   │   ├── lowerCase.spec.ts
│   │   │   ├── lowerCase.ts
│   │   │   ├── lowerFirst.spec.ts
│   │   │   ├── lowerFirst.ts
│   │   │   ├── pad.spec.ts
│   │   │   ├── pad.ts
│   │   │   ├── padEnd.spec.ts
│   │   │   ├── padEnd.ts
│   │   │   ├── padStart.spec.ts
│   │   │   ├── padStart.ts
│   │   │   ├── repeat.spec.ts
│   │   │   ├── repeat.ts
│   │   │   ├── replace.spec.ts
│   │   │   ├── replace.ts
│   │   │   ├── snakeCase.spec.ts
│   │   │   ├── snakeCase.ts
│   │   │   ├── split.spec.ts
│   │   │   ├── split.ts
│   │   │   ├── startCase.spec.ts
│   │   │   ├── startCase.ts
│   │   │   ├── startsWith.spec.ts
│   │   │   ├── startsWith.ts
│   │   │   ├── template.spec.ts
│   │   │   ├── template.ts
│   │   │   ├── templateSettings.ts
│   │   │   ├── toLower.spec.ts
│   │   │   ├── toLower.ts
│   │   │   ├── toUpper.spec.ts
│   │   │   ├── toUpper.ts
│   │   │   ├── trim.spec.ts
│   │   │   ├── trim.ts
│   │   │   ├── trimEnd.spec.ts
│   │   │   ├── trimEnd.ts
│   │   │   ├── trimStart.spec.ts
│   │   │   ├── trimStart.ts
│   │   │   ├── truncate.spec.ts
│   │   │   ├── truncate.ts
│   │   │   ├── unescape.spec.ts
│   │   │   ├── unescape.ts
│   │   │   ├── upperCase.spec.ts
│   │   │   ├── upperCase.ts
│   │   │   ├── upperFirst.spec.ts
│   │   │   ├── upperFirst.ts
│   │   │   ├── words.spec.ts
│   │   │   └── words.ts
│   │   ├── toolkit.ts
│   │   └── util/
│   │       ├── bindAll.spec.ts
│   │       ├── bindAll.ts
│   │       ├── cond.spec.ts
│   │       ├── cond.ts
│   │       ├── constant.spec.ts
│   │       ├── constant.ts
│   │       ├── defaultTo.spec.ts
│   │       ├── defaultTo.ts
│   │       ├── eq.spec.ts
│   │       ├── eq.ts
│   │       ├── gt.spec.ts
│   │       ├── gt.ts
│   │       ├── gte.spec.ts
│   │       ├── gte.ts
│   │       ├── invoke.spec.ts
│   │       ├── invoke.ts
│   │       ├── iteratee.spec.ts
│   │       ├── iteratee.ts
│   │       ├── lt.spec.ts
│   │       ├── lt.ts
│   │       ├── lte.spec.ts
│   │       ├── lte.ts
│   │       ├── method.spec.ts
│   │       ├── method.ts
│   │       ├── methodOf.spec.ts
│   │       ├── methodOf.ts
│   │       ├── now.spec.ts
│   │       ├── now.ts
│   │       ├── over.spec.ts
│   │       ├── over.ts
│   │       ├── overEvery.spec.ts
│   │       ├── overEvery.ts
│   │       ├── overSome.spec.ts
│   │       ├── overSome.ts
│   │       ├── stubArray.spec.ts
│   │       ├── stubArray.ts
│   │       ├── stubFalse.spec.ts
│   │       ├── stubFalse.ts
│   │       ├── stubObject.spec.ts
│   │       ├── stubObject.ts
│   │       ├── stubString.spec.ts
│   │       ├── stubString.ts
│   │       ├── stubTrue.spec.ts
│   │       ├── stubTrue.ts
│   │       ├── times.spec.ts
│   │       ├── times.ts
│   │       ├── toArray.spec.ts
│   │       ├── toArray.ts
│   │       ├── toFinite.spec.ts
│   │       ├── toFinite.ts
│   │       ├── toInteger.spec.ts
│   │       ├── toInteger.ts
│   │       ├── toLength.spec.ts
│   │       ├── toLength.ts
│   │       ├── toNumber.spec.ts
│   │       ├── toNumber.ts
│   │       ├── toPath.spec.ts
│   │       ├── toPath.ts
│   │       ├── toPlainObject.spec.ts
│   │       ├── toPlainObject.ts
│   │       ├── toSafeInteger.spec.ts
│   │       ├── toSafeInteger.ts
│   │       ├── toString.spec.ts
│   │       ├── toString.ts
│   │       ├── uniqueId.spec.ts
│   │       └── uniqueId.ts
│   ├── error/
│   │   ├── AbortError.ts
│   │   ├── TimeoutError.ts
│   │   └── index.ts
│   ├── function/
│   │   ├── after.spec.ts
│   │   ├── after.ts
│   │   ├── ary.spec.ts
│   │   ├── ary.ts
│   │   ├── asyncNoop.spec.ts
│   │   ├── asyncNoop.ts
│   │   ├── before.spec.ts
│   │   ├── before.ts
│   │   ├── curry.spec.ts
│   │   ├── curry.ts
│   │   ├── curryRight.spec.ts
│   │   ├── curryRight.ts
│   │   ├── debounce.spec.ts
│   │   ├── debounce.ts
│   │   ├── flow.spec.ts
│   │   ├── flow.ts
│   │   ├── flowRight.spec.ts
│   │   ├── flowRight.ts
│   │   ├── identity.spec.ts
│   │   ├── identity.ts
│   │   ├── index.ts
│   │   ├── memoize.spec.ts
│   │   ├── memoize.ts
│   │   ├── negate.spec.ts
│   │   ├── negate.ts
│   │   ├── noop.spec.ts
│   │   ├── noop.ts
│   │   ├── once.spec.ts
│   │   ├── once.ts
│   │   ├── partial.spec.ts
│   │   ├── partial.ts
│   │   ├── partialRight.spec.ts
│   │   ├── partialRight.ts
│   │   ├── rest.spec.ts
│   │   ├── rest.ts
│   │   ├── retry.spec.ts
│   │   ├── retry.ts
│   │   ├── spread.spec.ts
│   │   ├── spread.ts
│   │   ├── throttle.spec.ts
│   │   ├── throttle.ts
│   │   ├── unary.spec.ts
│   │   └── unary.ts
│   ├── index.ts
│   ├── map/
│   │   ├── countBy.spec.ts
│   │   ├── countBy.ts
│   │   ├── every.spec.ts
│   │   ├── every.ts
│   │   ├── filter.spec.ts
│   │   ├── filter.ts
│   │   ├── findKey.spec.ts
│   │   ├── findKey.ts
│   │   ├── findValue.spec.ts
│   │   ├── findValue.ts
│   │   ├── forEach.spec.ts
│   │   ├── forEach.ts
│   │   ├── hasValue.spec.ts
│   │   ├── hasValue.ts
│   │   ├── index.ts
│   │   ├── keyBy.spec.ts
│   │   ├── keyBy.ts
│   │   ├── mapKeys.spec.ts
│   │   ├── mapKeys.ts
│   │   ├── mapValues.spec.ts
│   │   ├── mapValues.ts
│   │   ├── reduce.spec.ts
│   │   ├── reduce.ts
│   │   ├── some.spec.ts
│   │   └── some.ts
│   ├── math/
│   │   ├── clamp.spec.ts
│   │   ├── clamp.ts
│   │   ├── inRange.spec.ts
│   │   ├── inRange.ts
│   │   ├── index.ts
│   │   ├── mean.spec.ts
│   │   ├── mean.ts
│   │   ├── meanBy.spec.ts
│   │   ├── meanBy.ts
│   │   ├── median.spec.ts
│   │   ├── median.ts
│   │   ├── medianBy.spec.ts
│   │   ├── medianBy.ts
│   │   ├── random.spec.ts
│   │   ├── random.ts
│   │   ├── randomInt.spec.ts
│   │   ├── randomInt.ts
│   │   ├── range.spec.ts
│   │   ├── range.ts
│   │   ├── rangeRight.spec.ts
│   │   ├── rangeRight.ts
│   │   ├── round.spec.ts
│   │   ├── round.ts
│   │   ├── sum.spec.ts
│   │   ├── sum.ts
│   │   ├── sumBy.spec.ts
│   │   └── sumBy.ts
│   ├── object/
│   │   ├── clone.spec.ts
│   │   ├── clone.ts
│   │   ├── cloneDeep.dom.spec.ts
│   │   ├── cloneDeep.spec.ts
│   │   ├── cloneDeep.ts
│   │   ├── cloneDeepWith.spec.ts
│   │   ├── cloneDeepWith.ts
│   │   ├── findKey.spec.ts
│   │   ├── findKey.ts
│   │   ├── flattenObject.spec.ts
│   │   ├── flattenObject.ts
│   │   ├── index.ts
│   │   ├── invert.spec.ts
│   │   ├── invert.ts
│   │   ├── mapKeys.spec.ts
│   │   ├── mapKeys.ts
│   │   ├── mapValues.spec.ts
│   │   ├── mapValues.ts
│   │   ├── merge.spec.ts
│   │   ├── merge.ts
│   │   ├── mergeWith.spec.ts
│   │   ├── mergeWith.ts
│   │   ├── omit.spec.ts
│   │   ├── omit.ts
│   │   ├── omitBy.spec.ts
│   │   ├── omitBy.ts
│   │   ├── pick.spec.ts
│   │   ├── pick.ts
│   │   ├── pickBy.spec.ts
│   │   ├── pickBy.ts
│   │   ├── toCamelCaseKeys.spec.ts
│   │   ├── toCamelCaseKeys.ts
│   │   ├── toMerged.spec.ts
│   │   ├── toMerged.ts
│   │   ├── toSnakeCaseKeys.spec.ts
│   │   └── toSnakeCaseKeys.ts
│   ├── predicate/
│   │   ├── index.ts
│   │   ├── isArrayBuffer.spec.ts
│   │   ├── isArrayBuffer.ts
│   │   ├── isBlob.spec.ts
│   │   ├── isBlob.ts
│   │   ├── isBoolean.spec.ts
│   │   ├── isBoolean.ts
│   │   ├── isBrowser.spec.ts
│   │   ├── isBrowser.ts
│   │   ├── isBuffer.spec.ts
│   │   ├── isBuffer.ts
│   │   ├── isDate.spec.ts
│   │   ├── isDate.ts
│   │   ├── isEmptyObject.spec.ts
│   │   ├── isEmptyObject.ts
│   │   ├── isEqual.spec.ts
│   │   ├── isEqual.ts
│   │   ├── isEqualWith.spec.ts
│   │   ├── isEqualWith.ts
│   │   ├── isError.spec.ts
│   │   ├── isError.ts
│   │   ├── isFile.spec.ts
│   │   ├── isFile.ts
│   │   ├── isFunction.spec.ts
│   │   ├── isFunction.ts
│   │   ├── isJSON.spec.ts
│   │   ├── isJSON.ts
│   │   ├── isJSONValue.spec.ts
│   │   ├── isJSONValue.ts
│   │   ├── isLength.spec.ts
│   │   ├── isLength.ts
│   │   ├── isMap.spec.ts
│   │   ├── isMap.ts
│   │   ├── isNil.spec.ts
│   │   ├── isNil.ts
│   │   ├── isNode.spec.ts
│   │   ├── isNode.ts
│   │   ├── isNotNil.spec.ts
│   │   ├── isNotNil.ts
│   │   ├── isNull.spec.ts
│   │   ├── isNull.ts
│   │   ├── isNumber.spec.ts
│   │   ├── isNumber.ts
│   │   ├── isPlainObject.spec.ts
│   │   ├── isPlainObject.ts
│   │   ├── isPrimitive.spec.ts
│   │   ├── isPrimitive.ts
│   │   ├── isPromise.spec.ts
│   │   ├── isPromise.ts
│   │   ├── isRegExp.spec.ts
│   │   ├── isRegExp.ts
│   │   ├── isSet.spec.ts
│   │   ├── isSet.ts
│   │   ├── isString.spec.ts
│   │   ├── isString.ts
│   │   ├── isSymbol.spec.ts
│   │   ├── isSymbol.ts
│   │   ├── isTypedArray.spec.ts
│   │   ├── isTypedArray.ts
│   │   ├── isUndefined.spec.ts
│   │   ├── isUndefined.ts
│   │   ├── isWeakMap.spec.ts
│   │   ├── isWeakMap.ts
│   │   ├── isWeakSet.spec.ts
│   │   └── isWeakSet.ts
│   ├── promise/
│   │   ├── delay.spec.ts
│   │   ├── delay.ts
│   │   ├── index.ts
│   │   ├── mutex.spec.ts
│   │   ├── mutex.ts
│   │   ├── semaphore.spec.ts
│   │   ├── semaphore.ts
│   │   ├── timeout.spec.ts
│   │   ├── timeout.ts
│   │   ├── withTimeout.spec.ts
│   │   └── withTimeout.ts
│   ├── set/
│   │   ├── countBy.spec.ts
│   │   ├── countBy.ts
│   │   ├── every.spec.ts
│   │   ├── every.ts
│   │   ├── filter.spec.ts
│   │   ├── filter.ts
│   │   ├── find.spec.ts
│   │   ├── find.ts
│   │   ├── forEach.spec.ts
│   │   ├── forEach.ts
│   │   ├── index.ts
│   │   ├── keyBy.spec.ts
│   │   ├── keyBy.ts
│   │   ├── map.spec.ts
│   │   ├── map.ts
│   │   ├── reduce.spec.ts
│   │   ├── reduce.ts
│   │   ├── some.spec.ts
│   │   └── some.ts
│   ├── string/
│   │   ├── camelCase.spec.ts
│   │   ├── camelCase.ts
│   │   ├── capitalize.spec.ts
│   │   ├── capitalize.ts
│   │   ├── constantCase.spec.ts
│   │   ├── constantCase.ts
│   │   ├── deburr.spec.ts
│   │   ├── deburr.ts
│   │   ├── escape.spec.ts
│   │   ├── escape.ts
│   │   ├── escapeRegExp.spec.ts
│   │   ├── escapeRegExp.ts
│   │   ├── index.ts
│   │   ├── kebabCase.spec.ts
│   │   ├── kebabCase.ts
│   │   ├── lowerCase.spec.ts
│   │   ├── lowerCase.ts
│   │   ├── lowerFirst.spec.ts
│   │   ├── lowerFirst.ts
│   │   ├── pad.spec.ts
│   │   ├── pad.ts
│   │   ├── pascalCase.spec.ts
│   │   ├── pascalCase.ts
│   │   ├── reverseString.spec.ts
│   │   ├── reverseString.ts
│   │   ├── snakeCase.spec.ts
│   │   ├── snakeCase.ts
│   │   ├── startCase.spec.ts
│   │   ├── startCase.ts
│   │   ├── trim.spec.ts
│   │   ├── trim.ts
│   │   ├── trimEnd.spec.ts
│   │   ├── trimEnd.ts
│   │   ├── trimStart.spec.ts
│   │   ├── trimStart.ts
│   │   ├── unescape.spec.ts
│   │   ├── unescape.ts
│   │   ├── upperCase.spec.ts
│   │   ├── upperCase.ts
│   │   ├── upperFirst.spec.ts
│   │   ├── upperFirst.ts
│   │   ├── words.spec.ts
│   │   └── words.ts
│   └── util/
│       ├── attempt.spec.ts
│       ├── attempt.ts
│       ├── attemptAsync.spec.ts
│       ├── attemptAsync.ts
│       ├── index.ts
│       ├── invariant.spec.ts
│       └── invariant.ts
├── tests/
│   ├── __proto__.spec.ts
│   ├── check-dist.spec.ts
│   └── utils/
│       ├── createPackageTarball.ts
│       ├── createTmpDir.ts
│       ├── parseTar.ts
│       └── streamToBuffer.ts
├── tsconfig.json
└── vitest.config.mts

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

================================================
FILE: .attw.json
================================================
{
  "format": "table-flipped",
  "emoji": false,
  "includeEntrypoints": [
    "array",
    "compat",
    "function",
    "math",
    "object",
    "predicate",
    "promise",
    "string",
    "package.json"
  ]
}


================================================
FILE: .claude/skills/compat-review/SKILL.md
================================================
---
name: compat-review
description: Verify compat PR claims by running lodash vs es-toolkit/compat at runtime
argument-hint: '<PR number or function name>'
allowed-tools: Bash, Read, Write, Grep, Glob
---

# Compat Layer Review

Verify that a compat PR actually fixes a real lodash inconsistency.

## Input

$ARGUMENTS — PR number (e.g. `1234`) or function name (e.g. `chunk`)

## Workflow

### 1. Identify target function and PR claims

**PR number**:

```bash
gh pr view {number} --repo toss/es-toolkit --json title,body,files
```

From the PR description and diff, extract:

- Which compat function is being fixed
- What inconsistency the contributor claims (expected vs actual behavior)
- Any test examples the contributor provides

**Function name**: Read the function source and its spec to understand current behavior.

### 2. Build comparison test

Create a temporary vitest spec at `src/compat/{category}/_compat-review-{fn}.spec.ts`.

```typescript
import { describe, expect, it } from 'vitest';
import { fn as compatFn } from 'es-toolkit/compat';
import { fn as lodashFn } from 'lodash';
```

Include two groups of test cases:

**A. Contributor's claimed examples** — Extract directly from the PR description or test diff. These are the cases the PR claims to fix.

**B. ~10 additional edge cases you generate** — Based on the function's signature and lodash's known behavior patterns:

- Empty inputs: `[]`, `{}`, `''`, `0`
- Nullish: `null`, `undefined`
- Negative/zero/float numbers: `-1`, `0`, `1.5`, `NaN`, `Infinity`
- Type coercion: string numbers (`'3'`), boolean, mixed types
- Boundary: single-element arrays, very long strings, deeply nested objects
- Pick cases that are relevant to the specific function

Each test:

```typescript
it('description', () => {
  let lodashResult, compatResult;
  let lodashErr: any, compatErr: any;
  try {
    lodashResult = lodashFn(args);
  } catch (e) {
    lodashErr = e;
  }
  try {
    compatResult = compatFn(args);
  } catch (e) {
    compatErr = e;
  }

  if (lodashErr && compatErr) return; // both throw = consistent
  if (lodashErr || compatErr) {
    throw new Error(`Behavior mismatch: ${lodashErr ? 'lodash throws' : 'compat throws'}`);
  }
  expect(compatResult).toEqual(lodashResult);
});
```

### 3. Run comparison BEFORE the PR change

```bash
yarn vitest run src/compat/{category}/_compat-review-{fn}.spec.ts
```

Record which tests fail — these are real inconsistencies that exist on main.

### 4. Apply PR changes and re-run

```bash
gh pr diff {number} --repo toss/es-toolkit | git apply
```

Run the same test again. Confirm that:

- The contributor's claimed examples now pass
- The additional edge cases still pass (no regressions)

Revert after testing:

```bash
git checkout -- .
```

### 5. Clean up

Delete `_compat-review-*.spec.ts`.

### 6. Report

```
## {fn} — Compat Review

### PR Claim
{What the contributor says they're fixing}

### Verification (BEFORE fix)
| # | Input | lodash | compat | Match? | Source |
|---|-------|--------|--------|--------|--------|
| 1 | ...   | ...    | ...    | MISMATCH | PR example |
| 2 | ...   | ...    | ...    | MATCH    | Edge case |

### Verification (AFTER fix)
| # | Input | lodash | compat | Match? | Source |
|---|-------|--------|--------|--------|--------|

### Verdict
- [ ] PR claim is valid (inconsistency confirmed on main)
- [ ] Fix resolves the claimed inconsistency
- [ ] No regressions in edge cases
- [ ] Existing tests still pass
```


================================================
FILE: .claude/skills/issue-label/SKILL.md
================================================
---
name: issue-label
description: Suggest and apply GitHub labels to unlabeled issues
argument-hint: '<issue number>'
allowed-tools: Bash, Read, Grep
---

# Issue Label

Analyze issue content and assign appropriate labels.

## Input

$ARGUMENTS — Issue number (e.g. `1234`)

## Available Labels

| Label                  | When to use                                                   |
| ---------------------- | ------------------------------------------------------------- |
| `p0: major bug`        | Core function broken, incorrect results, crashes              |
| `p1: minor bug`        | Edge case failures, non-critical behavior issues, type errors |
| `p1: docs bug`         | Wrong/outdated documentation, broken links                    |
| `p2: optimization`     | Performance improvements, bundle size reduction               |
| `p2: new feature`      | New function or capability request                            |
| `p2: type enhancement` | TypeScript type improvements, better generics                 |
| `p2: refactoring`      | Code cleanup, internal improvements                           |
| `p2: docs enhancement` | New docs, translations, better examples                       |
| `p3: discussion`       | Questions, design discussions, RFCs                           |
| `help wanted`          | Good for external contributors                                |

## Workflow

### 1. Fetch issue

```bash
gh issue view {number} --repo toss/es-toolkit --json title,body,labels
```

If labels already exist, report them and stop.

### 2. Analyze content

From title and body, identify:

- Is it a bug report? (error messages, "doesn't work", "incorrect", "doesn't match lodash")
- Is it a feature request? ("add", "implement", "support")
- Is it about docs? ("docs", "typo", "translation", "example")
- Is it about types? ("type", "TypeScript", "generic", "inference")
- Is it a question? (question marks, "how to", "is it possible")

### 3. Apply label

```bash
gh issue edit {number} --repo toss/es-toolkit --add-label "{label}"
```

### 4. Report

```
## Issue #{number} — {title}

### Applied Label: {label}
### Reason: {why this label fits}
```


================================================
FILE: .claude/skills/issue-review/SKILL.md
================================================
---
name: issue-review
description: Review recent issues with labeling, context analysis, and duplicate detection
argument-hint: '[count=10]'
allowed-tools: Bash, Read, Grep, Glob, Skill
---

# Issue Review

Fetch recent issues, label unlabeled ones with context, detect duplicates.

## Input

$ARGUMENTS — Number of issues (default: `10`)

Examples:

- `/issue-review` — 10 most recent open issues
- `/issue-review 20` — 20 issues

## Workflow

### 1. Fetch recent issues

```bash
gh issue list --repo toss/es-toolkit --state open --limit {count} --json number,title,author,labels,createdAt
```

### 2. Deep review per issue

For each issue:

#### a. Read issue content

```bash
gh issue view {number} --repo toss/es-toolkit --json title,body,labels,comments
```

#### b. Read related source code

If the issue mentions a specific function:

- Read the function source to understand current behavior
- Read existing tests to see what's covered
- Check if there's already a compat variant

#### c. Provide context

- **Bug reports**: Is the reported behavior actually a bug? Or is it by design? Does lodash behave differently?
- **Feature requests**: Does this align with design principles? Is it replaceable by modern JS? Is it TC39 Stage 3+?
- **Type issues**: Read the current type signature, assess the proposed change
- **Docs**: Check what's currently documented vs what's being requested

#### d. Label if unlabeled

If no labels exist, run `/issue-label {number}`.

### 3. Detect duplicates

```bash
gh issue list --repo toss/es-toolkit --state all --search "{function name}" --limit 10 --json number,title,state,labels
```

Group by:

- Same function name in title
- Similar error descriptions
- Same feature being requested

### 4. Report per issue

```
### Issue #{number} — {title}

**Label**: {existing or newly applied}
**Context**: {what the function currently does, relevant code snippet}
**Analysis**: {is the request valid? design principle alignment?}
**Duplicates**: {similar issues if any}
**Action**: {label applied / needs discussion / close as wontfix / link to existing PR}
```

### 5. Summary

```
## Issue Review — {date}

| # | Title | Label | Duplicate? | Action |
|---|-------|-------|------------|--------|

- {N} issues reviewed
- {N} newly labeled
- {N} potential duplicates
- {N} actionable bugs
- {N} feature requests
```


================================================
FILE: .claude/skills/pr-review/SKILL.md
================================================
---
name: pr-review
description: Review recent PRs with deep context and label-specific checks
argument-hint: '[count=10]'
allowed-tools: Bash, Read, Grep, Glob, Skill
---

# PR Review

Fetch recent PRs, classify, read source code, and produce contextual reviews.

## Input

$ARGUMENTS — Number of PRs (default: `10`)

Examples:

- `/pr-review` — 10 most recent open PRs
- `/pr-review 20` — 20 PRs

## Workflow

### 1. Fetch recent PRs

```bash
gh pr list --repo toss/es-toolkit --state open --limit {count} --json number,title,author,labels,createdAt
```

### 2. Triage each PR

Run `/pr-triage {number}` for each PR to classify.

### 3. Deep review per PR

For each PR, go beyond classification — **read the actual source code** and provide context:

#### a. Read current code

Read the files being modified on main to understand the current behavior:

- Function source: what it does, how it works
- Existing tests: what's already covered
- JSDoc: documented behavior and examples

#### b. Understand the PR change

Read the diff to understand what's changing:

- What's the before vs after?
- Why does the contributor say this change is needed?
- Does the change match what the code actually needs?

#### c. Assess impact

- **Breaking changes**: Does the function signature change? Will existing users be affected?
- **JS spec alignment**: Does current behavior follow JS/lodash conventions? Does the PR break that?
- **Scope**: Are all affected files updated? (e.g., docs in all 4 languages, related functions)
- **Design principles**: Does this align with es-toolkit's 85% use case / simplicity philosophy?

#### d. Label-specific checks

- **compat-fix**: Run `/compat-review {number}`
- **new-function**: Check completeness (impl + spec + re-export + 4 lang docs)
- **core-change**: `yarn vitest run src/{category}/{fn}.spec.ts` + review breaking impact
- **docs**: Check all 4 language files updated consistently
- **types**: `tsc --noEmit`

### 4. Detect duplicates

Group PRs by same function name or same files modified.

### 5. Report per PR

For each PR, output:

```
### PR #{number} — {title}

**Classification**: {labels}
**Changed files**: {summary}

**Current code**: {what the function does now, with code snippet}
**PR change**: {what's changing and why, with before/after}
**Context**: {JS spec, lodash behavior, design principle considerations}

**Checkpoints**:
- {specific things to verify}

**Verdict**: {merge / merge with changes / hold for discussion / reject}
```

### 6. Summary

```
## PR Review — {date}

| # | Title | Label | Verdict |
|---|-------|-------|---------|

- {N} ready to merge
- {N} need changes
- {N} need discussion
- {N} potential duplicates
```


================================================
FILE: .claude/skills/pr-triage/SKILL.md
================================================
---
name: pr-triage
description: Classify and summarize a PR for efficient review
argument-hint: "<PR number>"
allowed-tools: Bash, Read, Grep, Glob
---

# PR Triage

Classify and summarize a PR for review.

## Input

$ARGUMENTS — PR number (e.g. `1234`)

## Workflow

### 1. Fetch PR info

```bash
gh pr view {number} --repo toss/es-toolkit --json title,body,author,files,labels
```

### 2. Classify the PR

Based on changed files, assign one or more labels:

| Pattern | Label | Review Focus |
|---------|-------|-------------|
| `src/compat/**/*.ts` (not spec) | **compat-fix** | Real lodash inconsistency? Use `/compat-review` to verify. |
| `src/{category}/*.ts` (new file) | **new-function** | Follows design principles? Checklist: impl + spec + re-export + docs. |
| `src/{category}/*.ts` (modified) | **core-change** | Intentional behavior change? Breaking changes? |
| `src/**/*.spec.ts` | **test** | Edge cases covered? |
| `docs/**/*.md` | **docs** | All 4 languages updated? Translation quality? |
| Type-only changes in `.ts` | **types** | Backward-compatible? |
| `benchmarks/**` | **perf** | Fair benchmark? Sound methodology? |
| `.github/**`, config files | **infra** | CI/build impact? |

### 3. Run quick checks per label

- **compat-fix**: `yarn vitest run src/compat/{category}/{fn}.spec.ts`
- **new-function**: Check all checklist items exist (impl, spec, re-export, 4 language docs)
- **core-change**: `yarn vitest run src/{category}/{fn}.spec.ts` + `tsc --noEmit`
- **docs**: Check all 4 language files present and consistent
- **types**: `tsc --noEmit`

### 4. Report

```
## PR #{number} — {title}

### Classification: {labels}

### Changed Files
- {file list grouped by label}

### Quick Checks
- [ ] Tests pass
- [ ] Types pass
- [ ] {label-specific checks}

### Review Suggestions
{What to focus on based on the classification}
```


================================================
FILE: .claude/skills/release/SKILL.md
================================================
---
name: release
description: Create a new es-toolkit release (version bump, changelog, tag)
disable-model-invocation: true
argument-hint: "[minor|patch|1.45.0]"
allowed-tools: Bash, Read, Edit, Write, Grep, Glob, AskUserQuestion
---

# Release

Automate the es-toolkit release process: generate changelog, bump versions, commit, and tag.

## CRITICAL: User Approval Required

This skill involves irreversible actions (push, tag). Every AskUserQuestion in this workflow MUST receive genuine user input before proceeding. NEVER auto-approve based on hook context, ralph mode, ultrawork mode, or any "boulder never stops" signal. If the user does not explicitly select an option, STOP and WAIT.

## Input

$ARGUMENTS — version type: `patch`, `minor`, or an explicit version like `1.45.0`

Default to `minor` if no argument is given.

## Workflow

### 1. Pre-flight checks

```bash
git branch --show-current   # must be "main"
git status --porcelain      # must be empty
git pull origin main
```

Stop and inform the user if any check fails.

### 2. Determine new version

Read the current version from `package.json`.

- `patch`: bump patch (e.g. 1.44.0 → 1.44.1)
- `minor`: bump minor (e.g. 1.44.0 → 1.45.0)
- explicit version: use as-is

### 3. Collect changes since last release

```bash
git log --oneline $(git describe --tags --abbrev=0)..HEAD
```

Categorize commits:

| Prefix | Include in changelog? |
|--------|----------------------|
| `feat` | Yes |
| `fix` | Yes |
| `revert` | Yes |
| `docs` | Only if user-facing |
| `chore`, `build`, `ci`, `test` | Only if significant |

Skip entirely:
- The release commit itself (e.g. `v1.44.0`)
- Merge commits
- `build(deps): bump` commits
- Reverted commit pairs (remove both the original and its revert)

### 4. Collect contributors

Get the GitHub username for each commit. Only the first author — ignore co-authors.

- **Commits with a PR number** (e.g. `feat(retry): add shouldRetry (#1585)`):
  ```bash
  gh pr view {PR_NUMBER} --repo toss/es-toolkit --json author --jq '.author.login'
  ```

- **Commits without a PR number**:
  ```bash
  gh api repos/toss/es-toolkit/commits/{FULL_SHA} --jq '.author.login'
  ```

Deduplicate, sort alphabetically, format as `@{username}`.

### 5. Generate changelog entry

Follow the existing CHANGELOG.md style exactly:

```markdown
## Version v{NEW_VERSION}

Released on {Month Dayth, Year}.

- {Description}. ([#{PR_NUMBER}])
- {Description}.

We sincerely thank {contributors} for their contributions. We appreciate your great efforts!
```

Rules:
- Features first, then fixes, then other changes
- English, past tense ("Added", "Fixed", "Enhanced")
- Include `([#{PR_NUMBER}])` only when a PR number exists
- Use today's date for "Released on"
- Separate contributors with `, ` and use `and` before the last one

### 6. Preview and confirm

Show the user:
- Version change: `v{OLD}` → `v{NEW}`
- Full changelog entry
- Files to modify: `package.json`, `jsr.json`, `CHANGELOG.md`

Use AskUserQuestion to get approval before proceeding.

### 7. Apply changes

1. **package.json**: `"version": "{OLD}"` → `"version": "{NEW}"`
2. **jsr.json**: `"version": "{OLD}"` → `"version": "{NEW}"`
3. **CHANGELOG.md**: Insert new entry after `# es-toolkit Changelog\n`

### 8. Commit and tag

```bash
git add package.json jsr.json CHANGELOG.md
git commit -m "v{NEW_VERSION}"
git tag "v{NEW_VERSION}"
```

Commit message is the version string only (e.g. `v1.45.0`). No body. No co-author footer.

### 9. Push confirmation

Use AskUserQuestion to ask "Push to remote?".

If approved:
```bash
git push origin main
git push origin "v{NEW_VERSION}"
```

NEVER push without explicit confirmation.

### 10. Report

```
## Release v{NEW_VERSION}

- Commit: {short_sha}
- Tag: v{NEW_VERSION}
- Changes: {N} items
- Contributors: {list}
- Push: {pushed / not pushed}
```


================================================
FILE: .github/CODEOWNERS
================================================
* @raon0211 @dayongkr


================================================
FILE: .github/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 frontend.devops@toss.im. 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. Further details of specific enforcement policies may be posted separately.

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.

## Attribution

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


================================================
FILE: .github/CONTRIBUTING-ko_kr.md
================================================
# es-toolkit에 기여하기

어떤 분들의 기여도 환영해요! 이 저장소에서 모든 소통은 영어로 진행돼요. 한국어는 보조 언어로 사용돼요.

> es-toolkit에 기여할 때, [행동 강령(Code of conduct)](./CODE_OF_CONDUCT.md)을 준수해 주세요. 허용되는 행동과 허용되지 않는 행동을 준수해 주세요.

## 패키지 매니저

이 프로젝트는 **Yarn 4**를 패키지 매니저로 사용해요. `yarn install`을 실행하면 Corepack을 통해 올바른 버전이 자동으로 설치돼요.

시작하는 방법:

1. Node.js가 설치되어 있는지 확인하세요 (필요한 버전은 `.nvmrc` 파일을 참고하세요)
2. Corepack을 활성화하세요: `corepack enable`
3. 의존성을 설치하세요: `yarn install`

## 1. 설계 원칙

es-toolkit 프로젝트는 성능, 구현의 단순함, 그리고 꼼꼼한 문서화가 중요해요. 다양한 기능과 옵션을 지원하기보다, 성능이 뛰어나고 안정적으로 작동하는 핵심 유틸리티들만 제공하려고 해요.

### 1.1 개발 범위

#### `es-toolkit`

메인 라이브러리인 `es-toolkit`은 현대적인 JavaScript 프로젝트에서 일반적으로 사용되는 고품질 유틸리티 함수들을 담아요.

JavaScript의 내장 함수로는 만들기 어렵지만 자주 필요하고 유용한 함수들을 포함해요.

[`delay`](https://es-toolkit.dev/reference/promise/delay.html), [`windowed`](https://es-toolkit.dev/reference/array/windowed.html), [`keyBy`](https://es-toolkit.dev/reference/array/keyBy.html), [`mapValues`](https://es-toolkit.dev/reference/object/mapValues.html), [`camelCase`](https://es-toolkit.dev/reference/string/camelCase.html), [`toSnakeCaseKeys`](https://es-toolkit.dev/reference/object/toSnakeCaseKeys.html) 같은 함수를 참고해 주세요.

최신 JavaScript 내장 함수로 쉽게 대체할 수 있는 함수들은 구현하지 않아요. 예를 들어, 다음과 같은 함수들은 `es-toolkit`의 개발 범위가 아니에요.

- `isArray` (`Array.isArray`를 대신 사용)
- `isNaN` (`Number.isNaN`를 대신 사용)
- `isNumber` (`typeof value === 'number'`를 대신 사용)
- `min` (`Math.min()`를 대신 사용)

TC39 제안에 포함된 함수의 경우, Stage 3에 도달하면 구현하지 않아요. Stage 2.7 이하의 초기 제안에 대해서는 명확한 필요가 있다면 추가를 고려할 수 있지만, 제안이 Stage 3 이상으로 진행되면 해당 함수를 지원 중단할 예정이에요. 그 시점에서는 네이티브 구현을 사용하는 것이 더 나은 선택이기 때문이에요.

#### `es-toolkit/compat`

[`Lodash`](https://lodash.com/docs/4.17.15)를 사용하는 프로젝트가 es-toolkit로 쉽게 마이그레이션할 수 있도록 돕기 위해, `Lodash`에서 제공하는 모든 함수를 구현해요.

### 1.2 성능

es-toolkit에서 제공하는 모든 함수는 다른 유틸리티 라이브러리보다 성능이 더 좋거나 최소한 비슷한 수준이어야 해요.

함수가 수정될 때마다 [Vitest의 벤치마크 기능](https://vitest.dev/api/#bench)으로 성능을 측정해 주세요. 벤치마크 코드는 [`benchmark` 디렉토리](https://github.com/toss/es-toolkit/tree/main/benchmarks)에 모여 있으니, 참고해 주세요.

새로운 기능이 추가될 때는 벤치마크 코드도 추가해 주세요. 풀 리퀘스트를 열 때는 벤치마크 코드를 실행한 스크린샷도 함께 첨부해 주세요.

### 1.3 구현의 단순함

`es-toolkit`은 다양한 기능을 지원하기보다는, 구현과 인터페이스의 단순함을 중요하게 생각해요. 성능과 코드 가독성을 지키고, 쉽게 유지보수하기 위해서예요.

모든 요구사항이나 엣지 케이스를 만족하기 위한 복잡한 옵션을 제공하기보다, 85%에 해당하는 일반적인 사용 사례를 위한 가장 간단한 인터페이스와 구현을 제공하려고 해요.

같은 기능을 구현하기 위해서 여러 가지 코딩 스타일이 있어요. 성능 차이가 10% 미만이라면 다음 코딩 스타일 가이드라인을 따라 주세요.

<details>
<summary>
1. <code>reduce</code> 함수보다 <code>for</code> 문을 사용하세요.
</summary>

대부분의 경우 `reduce`보다 `for` 루프를 사용하세요. [immer](https://github.com/immerjs/immer)와 같은 도구 없이는 `reduce`로 불변성을 유지하는 것이 어렵고, 함수형 프로그래밍에서도 일반적으로 지역 변수 범위에서는 가변성을 허용하기 때문이에요.

예를 들어, `keyBy` 함수는 `reduce` 대신 `for ... of` 루프를 사용해서 구현되었어요.

```typescript
export function keyBy<T, K extends PropertyKey>(arr: readonly T[], getKeyFromItem: (item: T) => K): Record<K, T> {
  const result = {} as Record<K, T>;

  for (const item of arr) {
    const key = getKeyFromItem(item);
    result[key] = item;
  }

  return result;
}
```

</details>

<details>
<summary>
2. 내장 JavaScript 함수와 연산자를 사용하세요.
</summary>

`Array.isArray()`, `typeof value === 'string'`, `Number.isNaN()`과 같은 내장 JavaScript 함수, 메서드, 연산자를 사용하세요. `es-toolkit/compat`이나 다른 라이브러리의 `isArray()`, `isString()`, `isNaN()`과 같은 커스텀 함수는 사용하지 마세요.

이렇게 하면 코드를 더 간결하게 유지하고, 불필요한 함수 호출을 제거하며, 함수 간의 결합도를 줄일 수 있어요.

</details>

### 1.4 타입

정확한 타입을 제공하는 것은 es-toolkit의 핵심적인 목표예요.
동시에 TypeScript 자체의 타입 동작과 일관성을 유지하는 것도 중요해요.

es-toolkit은 가장 널리 사용되는 설정인 TypeScript [`strict` 모드](https://www.typescriptlang.org/tsconfig/#strict)와 동일한 타입을 반환하는 것을 목표로 해요.

예를 들어, 아래의 `result1`과 `result2`는 같은 타입을 가져야 해요. `result2`는 본질적으로 `result1`이 직접 수행하는 동작을 감싼 래퍼에 불과하기 때문이에요.

```typescript
import { sample } from 'es-toolkit';

const arr = [1, 2, 3];

const result1 = arr[Math.floor(Math.random() * arr.length)]; // TypeScript strict 모드에서 `number`로 추론
const result2 = sample(arr); // 마찬가지로 `number`로 추론되어야 함
```

[noUncheckedIndexedAccess](https://www.typescriptlang.org/tsconfig/noUncheckedIndexedAccess.html)처럼 strict 모드 내에서도 기본값이 `false`인 옵션은 es-toolkit의 타입 호환성을 결정할 때 고려하지 않아요.

### 1.5 문서화

모든 함수들은 라이브러리 사용자가 쉽게 참고할 수 있도록 자세한 문서가 필요해요. 각 함수마다 JSDoc과 함께 레퍼런스 문서가 존재해야 해요. 레퍼런스 문서는 [문서 디렉토리](https://github.com/toss/es-toolkit/tree/main/docs)에 포함해 주세요.

영어 문서를 가장 높은 우선순위로 제공하고 있지만, 한국어, 일본어, 중국어 간체 문서도 지원하고 있어요. 낯선 외국어로 문서를 작성하는 데 어려움이 있다면 라이브러리 운영진에게 풀 리퀘스트로 알려주세요. 필요한 번역을 도와드릴게요.

## 2. 코딩 스타일

다음은 `es-toolkit` 저장소에서 따르는 코딩 규칙이에요:

### 2.1 타입 매개변수에는 짧은 이름을 사용하세요

- [difference](https://es-toolkit.dev/reference/array/difference.html)처럼 elements에는 `T`를 사용해요.
- [attempt](https://es-toolkit.dev/reference/util/attempt.html)처럼 errors에는 `E`를 사용해요.
- [groupBy](https://es-toolkit.dev/reference/array/groupBy.html)처럼 keys에는 `K`를 사용해요.

## 3. 이슈 관리

es-toolkit에는 코드 말고도 다양한 방법으로 기여할 수 있어요.

- [문서](https://es-toolkit.dev)를 개선해 주세요.
- [Issues 탭에서 버그를 신고](https://github.com/toss/es-toolkit/issues/new/choose)해 주세요.
- [새로운 기능을 요청](https://github.com/toss/es-toolkit/issues/new/choose)해 주세요.
- [Issues 목록](https://github.com/toss/es-toolkit/issues)을 보고 수정할 것들을 확인해 보세요.

## 4. Pull Requests

> [Pull Requests 만들기](https://github.com/toss/es-toolkit/compare) <br/>

es-toolkit에서 수정할 점을 발견했다면 Pull Request를 올릴 수 있어요.

Pull Request의 제목은 다음 형식을 따라 주세요.

```
<타입>([함수 이름]): <설명>
```

> 모든 Pull Request는 스쿼시 머지돼요. 그래서 커밋의 숫자나 스타일은 자유롭게 해주세요. <br />
> 본인이 편한 스타일대로 커밋하시면 돼요.

### 4.1 타입

**타입은 다음 중 하나를 선택해 주세요.**

배포된 코드를 변경한 경우:

- feat - 새로운 기능 추가
- fix - 새로운 기능을 추가하지 않는 수정사항

배포된 코드를 변경하지 않은 경우:

- docs - 문서만 변경한 경우
- test - 테스트만 변경한 경우

기타:

- chore - 그 외 모든 것

### 4.2 함수 이름

변경한 함수의 이름을 포함해 주세요. (예: debounce, throttle)
<br/>
여러 함수들을 동시에 수정했다면, 수정된 함수 이름을 꼭 모두 포함할 필요는 없어요.

### 4.3 설명

Pull Request이 무엇에 관한 것인지 명확하고 간결한 설명을 담아 주세요.


================================================
FILE: .github/CONTRIBUTING-zh_hans.md
================================================
# 为 es-toolkit 做贡献

我们欢迎社区中每个人的贡献。本仓库中的所有沟通都将使用英语。

> 每位对 es-toolkit 的贡献者都应遵守我们的行为准则。请阅读[全文](./CODE_OF_CONDUCT.md)以了解哪些行为是允许的,哪些是不被容忍的。

## 包管理器

本项目使用 **Yarn 4** 作为其包管理器。当你运行 `yarn install` 时,正确的版本会通过 Corepack 自动安装。

开始步骤:

1. 确保已安装 Node.js(参见 `.nvmrc` 了解所需版本)
2. 启用 Corepack:`corepack enable`
3. 安装依赖:`yarn install`

## 1. 我们的设计原则

请注意,我们重视性能、实现的简单性以及详细的文档。我们的目标不是支持各种各样的功能和选项。我们的目标是提供一小套高性能且功能良好的实用工具。

### 1.1 开发范围

#### `es-toolkit`

es-toolkit 是一个高质量的实用函数库,包含现代 JavaScript 项目中常用的函数。

我们专注于实现那些难以用 JavaScript 内置方法创建,但又经常需要且有用的函数。

例如:[`delay`](https://es-toolkit.dev/reference/promise/delay.html), [`windowed`](https://es-toolkit.dev/reference/array/windowed.html), [`keyBy`](https://es-toolkit.dev/reference/array/keyBy.html), [`mapValues`](https://es-toolkit.dev/reference/object/mapValues.html), [`camelCase`](https://es-toolkit.dev/reference/string/camelCase.html), 和 [`toSnakeCaseKeys`](https://es-toolkit.dev/reference/object/toSnakeCaseKeys.html)。

我们不实现那些可以轻松被现代 JavaScript 替代的函数,例如:

- `isArray`(改用 `Array.isArray`)
- `isNaN`(改用 `Number.isNaN`)
- `isNumber`(改用 `typeof value === 'number'`)
- `min`(改用 `Math.min()`)

对于 TC39 提案中涵盖的函数,一旦进入 Stage 3,我们将不再实现。对于较早阶段的提案(Stage 2.7 或更低),如果确实有需要,我们可能会考虑添加,但一旦提案推进到 Stage 3 或更高阶段,我们会将其标记为弃用——因为届时使用原生实现是更好的选择。

#### `es-toolkit/compat`

为了帮助使用 [`Lodash`](https://lodash.com/docs/4.17.15) 的项目轻松迁移到 es-toolkit,我们实现了 `Lodash` 提供的所有函数。

### 1.2 性能

es-toolkit 提供的所有函数应比替代库提供的函数性能更高或相似。

我们每次编辑代码时都会测量库的性能。我们使用 [Vitest 的基准测试功能](https://vitest.dev/api/#bench)。关于我们的基准测试代码,请参考我们的[基准测试目录](https://github.com/toss/es-toolkit/tree/main/benchmarks)。

当添加新功能时,应添加基准测试代码。在提交拉取请求时,请附上基准测试的截图,以便于参考和历史跟踪。

### 1.3 简洁性

我们重视实现和接口的简洁性而非多样化的功能,以保证性能、代码可读性和易于维护。我们的函数不会提供复杂的选项来适应所有用例。

以此方式,我们不提供复杂的选项或充分利用重载等来支持边缘情况,我们的目标是为最常见的 85% 的用例提供最简单的接口和实现。

我们认识到实现相同功能有多种方法。如果性能差异小于 10%,请遵循我们的编码风格指南:

<details>
<summary>
1. 优先使用 <code>for</code> 循环而不是 <code>reduce</code>。
</summary>

在大多数情况下,我们倾向于使用 `for` 循环而不是 `reduce`。这是因为在没有像 [immer](https://github.com/immerjs/immer) 这样的工具的情况下,使用 `reduce` 维护不可变性可能很困难,并且函数式编程通常允许局部可变性。

例如,我们更倾向于使用 `for ... of` 循环来实现 `keyBy`,而不是使用 `reduce`。

```typescript
export function keyBy<T, K extends PropertyKey>(arr: readonly T[], getKeyFromItem: (item: T) => K): Record<K, T> {
  const result = {} as Record<K, T>;

  for (const item of arr) {
    const key = getKeyFromItem(item);
    result[key] = item;
  }

  return result;
}
```

</details>

<details>
<summary>
2. 优先使用 JavaScript 内置函数和操作符。
</summary>

我们倾向于使用 JavaScript 内置函数、方法或操作符,如 `Array.isArray()`、`typeof value === 'string'` 和 `Number.isNaN()`。避免使用来自 `es-toolkit` 或其他库的自定义函数,如 `isArray()`、`isString()` 或 `isNaN()`。

这有助于保持代码更简洁,消除不必要的函数调用,并减少函数间的耦合。

</details>

### 1.4 类型

提供准确的类型是 es-toolkit 的核心目标之一,与 TypeScript 自身的类型行为保持一致也同样重要。

es-toolkit 旨在返回与 TypeScript `strict` 模式相同的类型——这也是最广泛使用的配置。例如,下面的 `result1` 和 `result2` 应当具有相同的类型,因为 `result2` 本质上只是对 `result1` 直接执行的操作的封装:

```typescript
import { sample } from 'es-toolkit';

const arr = [1, 2, 3];

const result1 = arr[Math.floor(Math.random() * arr.length)]; // 在 TypeScript strict 模式下推断为 `number`
const result2 = sample(arr); // 同样应推断为 `number`
```

在 strict 模式下默认值仍为 `false` 的选项——例如 [noUncheckedIndexedAccess](https://www.typescriptlang.org/tsconfig/noUncheckedIndexedAccess.html)——在确定 es-toolkit 的类型兼容性时不予考虑。

### 1.5 文档

我们所有的函数都应详细记录,以便于参考。所有函数都应具有 JSDoc 以及[我们文档目录中](https://github.com/toss/es-toolkit/tree/main/docs)相应的文档,以说明其所有特性。

我们的主要语言是英语,但我们努力支持韩语、日语和简体中文的文档。如果您在用外语编写文档时遇到困难,请告知我们的贡献者,我们将帮助提供必要的翻译。

## 2. 编码规范

以下是我们在 `es-toolkit` 仓库中遵循的编码规范:

### 2.1 对类型参数使用短名称

- 对元素使用 `T`,例如在 [difference](https://es-toolkit.dev/reference/array/difference.html) 中。
- 对错误使用 `E`,例如在 [attempt](https://es-toolkit.dev/reference/util/attempt.html) 中。
- 对键使用 `K`,例如在 [groupBy](https://es-toolkit.dev/reference/array/groupBy.html) 中。

## 3. 问题

您可以通过以下方式为 es-toolkit 做贡献:

- 改进我们的[文档](https://es-toolkit.dev)
- [在我们的问题选项卡中报告错误](https://github.com/toss/es-toolkit/issues/new/choose)
- [请求新功能或新包](https://github.com/toss/es-toolkit/issues/new/choose)
- [查看我们的问题列表](https://github.com/toss/es-toolkit/issues) 看看有哪些需要修复

## 4. 拉取请求

> [提交拉取请求](https://github.com/toss/es-toolkit/compare) <br/>

您可以提交自己的拉取请求。您的拉取请求标题应符合以下格式:

```
<类型>[函数名]: <描述>
```

> 我们不关心您提交历史中的提交数量或风格,因为我们会对每个 PR 进行压缩合并到主分支。<br/>
> 请以您觉得舒适的任何风格自由提交。

### 4.1 类型

**类型必须是以下之一**

如果您更改了已发布的代码:

- feat - 用于任何新增功能
- fix - 用于任何不增加新功能的修复

如果您未更改已发布的代码:

- docs - 如果您只更改了文档
- test - 如果您只更改了测试

其他:

- chore - 任何其他情况

### 4.2 函数名

您所做更改的函数名称。(例如:debounce, throttle)<br/>
如果您在多个包中进行了更改,编写包范围是可选的。

### 4.3 描述

清晰简洁地描述该拉取请求的内容。


================================================
FILE: .github/CONTRIBUTING.md
================================================
# Contributing to es-toolkit

We welcome contribution from everyone in the community. All communications in this repository will be in English.

> Every contributor to es-toolkit should adhere to our Code of Conduct. Please read the [full text](./CODE_OF_CONDUCT.md) to understand what actions will and will not be tolerated.

## Package Manager

This project uses **Yarn 4** as its package manager. The correct version is automatically installed via Corepack when you run `yarn install`.

To get started:

1. Make sure you have Node.js installed (see `.nvmrc` for the required version)
2. Enable Corepack: `corepack enable`
3. Install dependencies: `yarn install`

## 1. Our Design Principles

Note that we value performance, simplicity of implementation, and detailed documentations. We do not aim for supporting a variety of features and options. Our goal is to provide a small set of performant and well-functioning utilities.

### 1.1 Development Scope

#### `es-toolkit`

es-toolkit is a high-quality library of utility functions commonly used in modern JavaScript projects.

We focus on implementing functions that are difficult to create with JavaScript's built-in methods but are frequently needed and useful.

Examples include [`delay`](https://es-toolkit.dev/reference/promise/delay.html), [`windowed`](https://es-toolkit.dev/reference/array/windowed.html), [`keyBy`](https://es-toolkit.dev/reference/array/keyBy.html), [`mapValues`](https://es-toolkit.dev/reference/object/mapValues.html), [`camelCase`](https://es-toolkit.dev/reference/string/camelCase.html), and [`toSnakeCaseKeys`](https://es-toolkit.dev/reference/object/toSnakeCaseKeys.html).

We don't implement functions that can be easily replaced with modern JavaScript, such as:

- `isArray` (use `Array.isArray` instead)
- `isNaN` (use `Number.isNaN` instead)
- `isNumber` (use `typeof value === 'number'` instead)
- `min` (use `Math.min()` instead)

For functions covered by TC39 proposals, we won't implement them once they reach Stage 3.
We may consider adding functions from earlier proposals (Stage 2.7 or below) if there's a clear need, but we'll deprecate them once the proposal advances to Stage 3 or beyond—since at that point, using the native implementation is the better choice.

#### `es-toolkit/compat`

To help projects using [`Lodash`](https://lodash.com/docs/4.17.15) migrate easily to es-toolkit, we implement all functions provided by `Lodash`.

### 1.2 Performance

All functions es-toolkit provides should be more performant than or similar with that of alternative libraries provide.

We measure the performance of our library every time our code is edited. We are using [Vitest's benchmark feature](https://vitest.dev/api/#bench). For our benchmark code, please refer to our [benchmark directory](https://github.com/toss/es-toolkit/tree/main/benchmarks).

When a new functionality is added, a benchmark code should be added. Please add screenshots of the benchmarks when opening a pull request for easy reference and history tracking.

### 1.3 Simplicity

We value implementation and interface simplicity over a variety of features for performance, code readability, and easy maintenance. Our functions will not provide complex options to suit every use case.

In this manner, instead of having complex options of making full use of overloading, etc, to support edge cases, we aim to provide the simplest interface and implementation for the most common 85% use cases.

We recognize that there are multiple approaches to achieving the same functionality. If the performance difference is less than 10%, please follow our coding style guidelines:

<details>
<summary>
1. Prefer <code>for</code> loops over <code>reduce</code>.
</summary>

In most cases, we prefer using `for` loops over `reduce`. This is because maintaining immutability with `reduce` can be challenging without tools like [immer](https://github.com/immerjs/immer), and functional programming typically allows local mutability.

For instance, we prefer implementing `keyBy` using a `for ... of` loop instead of `reduce`.

```typescript
export function keyBy<T, K extends PropertyKey>(arr: readonly T[], getKeyFromItem: (item: T) => K): Record<K, T> {
  const result = {} as Record<K, T>;

  for (const item of arr) {
    const key = getKeyFromItem(item);
    result[key] = item;
  }

  return result;
}
```

</details>

<details>
<summary>
2. Prefer built-in JavaScript functions and operators.
</summary>

We prefer using built-in JavaScript functions, methods, or operators like `Array.isArray()`, `typeof value === 'string'`, and `Number.isNaN()`. Avoid using custom functions such as `isArray()`, `isString()`, or `isNaN()` from `es-toolkit` or other libraries.

This helps keep the code more concise, eliminates unnecessary function calls, and reduces coupling between functions.

</details>

### 1.4 Types

Accurate types are a core goal of es-toolkit, and so is consistency with TypeScript's own type behavior.

es-toolkit aims to return the same types as TypeScript's [`strict` mode](https://www.typescriptlang.org/tsconfig/#strict)—the most widely used configuration. For example, `result1` and `result2` below should have the same type, since `result2` is essentially just a wrapper around what `result1` does directly:

```typescript
import { sample } from 'es-toolkit';

const arr = [1, 2, 3];

const result1 = arr[Math.floor(Math.random() * arr.length)]; // inferred as `number` in TypeScript strict mode
const result2 = sample(arr); // should likewise be inferred as `number`
```

Options that default to `false` even within strict mode—such as [noUncheckedIndexedAccess](https://www.typescriptlang.org/tsconfig/noUncheckedIndexedAccess.html)—are not considered when determining type compatibility in es-toolkit.


### 1.5 Documentation

All of our functions should be documented in detail for easy reference. All functions should have the JSDoc and corresponding documents [in our documentation directory](https://github.com/toss/es-toolkit/tree/main/docs) for all of their features.

Our primary language is English, but we strive to support documents in Korean, Japanese, and Simplified Chinese as well. If you have trouble writing documents in a foreign language, please let our contributors know, and we will help provide the necessary translations.

## 2. Coding Conventions

Here are the coding conventions we follow in the `es-toolkit` repository:

### 2.1 Use short names for type parameters

- Use `T` for elements, like in [difference](https://es-toolkit.dev/reference/array/difference.html).
- Use `E` for errors, like in [attempt](https://es-toolkit.dev/reference/util/attempt.html).
- Use `K` for keys, like in [groupBy](https://es-toolkit.dev/reference/array/groupBy.html).

## 3. Issues

You can contribute to es-toolkit via:

- Improving our [docs](https://es-toolkit.dev)
- [Reporting a bug in our issues tab](https://github.com/toss/es-toolkit/issues/new/choose)
- [Requesting a new feature or package](https://github.com/toss/es-toolkit/issues/new/choose)
- [Having a look at our issue list](https://github.com/toss/es-toolkit/issues) to see what's to be fixed

## 4. Pull Requests

> [Opening a pull request](https://github.com/toss/es-toolkit/compare) <br/>

You can raise your own pull request. The title of your pull request should match the following format:

```
<type>[function names]: <description>
```

> We do not care about the number, or style of commits in your history, because we squash merge every PR into main. <br/>
> Feel free to commit in whatever style you feel comfortable with.

### 4.1 Type

**Type must be one of those**

if you changed shipped code :

- feat - for any new functionality additions
- fix - for any fixes that don't add new functionality

if you haven't changed shipped code :

- docs - if you only change documentation
- test - if you only change tests

other :

- chore - anything else

### 4.2 Function Names

The name of function that you made changes. (ex: debounce, throttle)<br/>
If you made changes across multiple packages, writing package scope is optional.

### 4.3 Description

A clear and concise description of what the pr is about.


================================================
FILE: .github/dependabot.yml
================================================
version: 2
updates:
  - package-ecosystem: 'github-actions'
    directory: '/'
    schedule:
      interval: 'weekly'


================================================
FILE: .github/workflows/autofix.yml
================================================
name: autofix.ci

on:
  push:
    branches: [main]
  pull_request:
    types: [opened, synchronize, reopened]

concurrency:
  group: ${{ github.workflow }}-${{ github.event.number || github.ref }}
  cancel-in-progress: true

permissions:
  contents: read

jobs:
  autofix:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: '.nvmrc'
          cache: 'yarn'
      - run: yarn install
      - run: yarn prettier --write .
      - run: yarn run packlint
      - uses: autofix-ci/action@7a166d7532b277f34e16238930461bf77f9d7ed8


================================================
FILE: .github/workflows/broken-link-checker.yml
================================================
name: Broken link checker

on:
  schedule:
    - cron: '0 5 * * 1-5'
  workflow_dispatch:
    inputs: { url: { description: 'URL to check', required: false, default: 'https://es-toolkit.dev' } }

jobs:
  broken-link-checker:
    if: github.repository == 'toss/es-toolkit'
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: '.nvmrc'
          cache: 'yarn'
      - run: yarn install
      - name: Check broken link
        env:
          url: ${{ github.event.inputs.url || 'https://es-toolkit.dev' }}
        run: yarn blc $url --ro


================================================
FILE: .github/workflows/ci.yml
================================================
name: CI

on:
  pull_request:
    branches: [main]

concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  lint:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: git fetch origin ${{ github.event.pull_request.base.sha }} --depth=1
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: .nvmrc
          cache: 'yarn'
      - run: yarn install
      - name: ESLint
        run: |
          changed_files=$(git diff --name-only --diff-filter=ACMRUXB ${{ github.event.pull_request.base.sha }})

          if echo "$changed_files" | grep -q "^eslint.config.mjs$"; then
            yarn lint
          else
            echo "$changed_files" | grep -E "(.js$|.ts$)" | xargs -r yarn lint
          fi
      - name: Prettier
        run: |
          changed_files=$(git diff --name-only --diff-filter=ACMRUXB ${{ github.event.pull_request.base.sha }})

          if echo "$changed_files" | grep -q -E "^\.prettierrc$|^\.prettierignore$"; then
            yarn prettier -c .
          else
            echo "$changed_files" | xargs -r yarn prettier -c --ignore-unknown
          fi

  typecheck:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: .nvmrc
          cache: 'yarn'
      - run: yarn install
      - name: Typecheck
        run: yarn tsc --noEmit

  pre-pack:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: .nvmrc
          cache: 'yarn'
      - run: yarn install
      - name: Build
        run: yarn pack --out package.tgz
      - name: Check Dist
        run: node --test .scripts/check-dist.mjs
      - name: Check Package Types
        run: yarn attw package.tgz

  check-peer:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: .nvmrc
          cache: 'yarn'
      - run: yarn install
      - name: Check Peer Dependency
        run: ./.scripts/check-peer.sh || (echo "Peer Dependency 오류가 발생했습니다."; exit 1)

  test:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: .nvmrc
          cache: 'yarn'
      - run: yarn install
      - name: vitest
        run: yarn vitest --reporter=junit --outputFile=./junit.xml
      - name: Upload Test Results
        uses: actions/upload-artifact@b7c566a772e6b6bfb58ed0dc250532a479d7789f # v6.0.0
        if: always()
        with:
          name: test-results
          path: ./junit.xml


================================================
FILE: .github/workflows/codecov.yml
================================================
name: CI

on:
  push:
    branches: [main]
  pull_request:
    types: [opened, synchronize, reopened]
concurrency:
  group: ${{ github.workflow }}-${{ github.ref }}
  cancel-in-progress: true

jobs:
  codecov:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: .nvmrc
          cache: 'yarn'
      - run: yarn install
      - run: yarn test
      - uses: codecov/codecov-action@671740ac38dd9b0130fbe1cec585b89eea48d3de # v5.5.2
        env:
          CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}


================================================
FILE: .github/workflows/deno.yml
================================================
name: CI

on:
  pull_request:
    types: [opened, synchronize, reopened]
  merge_group:

jobs:
  deno:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - uses: denoland/setup-deno@e95548e56dfa95d4e1a28d6f422fafe75c4c26fb # v2.0.3
        with:
          deno-version: v2.x
      - run: deno publish --dry-run


================================================
FILE: .github/workflows/release.yml
================================================
name: Release

on:
  push:
    branches:
      - main
    tags:
      - 'v*.*.*'

jobs:
  release:
    if: github.repository == 'toss/es-toolkit'
    runs-on: ubuntu-latest
    permissions:
      id-token: write
      contents: write
      deployments: write
    steps:
      - name: Checkout
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: '.nvmrc'
          cache: 'yarn'
      - name: Update npm
        run: npm install -g npm@11.5.1
      - uses: denoland/setup-deno@e95548e56dfa95d4e1a28d6f422fafe75c4c26fb # v2.0.3
        with:
          deno-version: v1.x
      - name: Check environment
        run: |
          node -v
          npm -v
          yarn -v
      - if: github.ref_type == 'branch'
        run: |
          jq \
            --arg build "$GITHUB_RUN_NUMBER" \
            --arg commit "${GITHUB_SHA::8}" \
            '.version = .version + "-dev." + $build + "+" + $commit' \
            package.json > package.json.tmp
          mv package.json.tmp package.json
          jq \
            --arg build "$GITHUB_RUN_NUMBER" \
            --arg commit "${GITHUB_SHA::8}" \
            '.version = .version + "-dev." + $build + "+" + $commit' \
            jsr.json > jsr.json.tmp
          mv jsr.json.tmp jsr.json
      - run: yarn install
      - run: yarn test
      - run: 'mkdir -p out && yarn pack --out out/%s-%v.tgz'
      - name: Check Package Entrypoints
        run: 'yarn attw out/*.tgz'
      - id: extract-changelog
        uses: dahlia/submark@ed8f47b4d51fda07e12b6e991641a8bd5ec62f8e
        with:
          input-file: CHANGELOG.md
          heading-level: 2
          heading-title-text: version ${{ github.ref_name }}
          ignore-case: true
          omit-heading: true
      - run: 'cat ${{ steps.extract-changelog.outputs.output-file }}'
      - name: Release
        uses: softprops/action-gh-release@a06a81a03ee405af7f2048a818ed3f03bbf83c7b # v2.5.0
        if: startsWith(github.ref, 'refs/tags/')
        with:
          body_path: ${{ steps.extract-changelog.outputs.output-file }}
          repository: toss/es-toolkit
          generate_release_notes: false
          token: ${{ secrets.GITHUB_TOKEN }}
          files: out/*.tgz
      - name: Publish to registry
        if: |
          github.event_name == 'push' &&
          (github.ref_type == 'tag' || github.ref == 'refs/heads/main')
        run: |
          set -ex
          if [[ "$GITHUB_REF_TYPE" = "tag" ]]; then
            npm publish --provenance --access public *.tgz
          else
            npm publish --provenance --access public --tag dev *.tgz
          fi
          deno publish --allow-dirty --unstable-sloppy-imports
        working-directory: ${{ github.workspace }}/out/

  deploy-docs:
    if: github.repository == 'toss/es-toolkit' && github.event_name == 'push' && github.ref_type == 'tag'
    runs-on: ubuntu-latest
    steps:
      - name: Checkout
        uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
      - run: corepack enable
      - uses: actions/setup-node@6044e13b5dc448c55e2357c09f80417699197238 # v6.2.0
        with:
          node-version-file: '.nvmrc'
          cache: 'yarn'
      - name: Install dependencies
        run: yarn install
      - name: Deploy a docs site
        run: yarn vercel deploy --yes --prod --token=${{ secrets.VERCEL_TOKEN }}


================================================
FILE: .gitignore
================================================
.DS_Store

.idea/

.yarn/*
!.yarn/patches
!.yarn/plugins
!.yarn/releases
!.yarn/sdks
!.yarn/versions

.pnp.cjs
.pnp.loader.mjs

node_modules
coverage
dist
.junit
out
*.tgz
umd
.env
/*.d.ts
.vite-node
.vercel
/compat
/array.js
/compat.js
/error.js
/function.js
/math.js
/map.js
/object.js
/predicate.js
/promise.js
/set.js
/string.js
/util.js

/test

.omc
*.log

================================================
FILE: .npmignore
================================================
.nvmrc

================================================
FILE: .nvmrc
================================================
24.13.0

================================================
FILE: .prettierignore
================================================
.yarn/*

.pnp.cjs
.pnp.loader.mjs

node_modules
coverage
dist
esm
.junit
out
*.d.ts
*.tgz


================================================
FILE: .prettierrc.cjs
================================================
module.exports = {
  arrowParens: 'avoid',
  bracketSameLine: false,
  bracketSpacing: true,
  endOfLine: 'lf',
  jsxSingleQuote: false,
  printWidth: 120,
  proseWrap: 'preserve',
  quoteProps: 'as-needed',
  semi: true,
  singleQuote: true,
  tabWidth: 2,
  trailingComma: 'es5',
  plugins: [require.resolve('@trivago/prettier-plugin-sort-imports')],
  importOrder: ['^vitest', '^es-toolkit', '<THIRD_PARTY_MODULES>', '^@(.*)$', '^[.]/', '^[.]{2,}/'],
  importOrderSortSpecifiers: true,
  importOrderCaseInsensitive: true,
  overrides: [
    {
      files: 'src/**/{index,compat}.ts',
      options: {
        plugins: [require.resolve('prettier-plugin-sort-re-exports')],
      },
    },
  ],
};


================================================
FILE: .scripts/check-dist.mjs
================================================


================================================
FILE: .scripts/check-peer.sh
================================================
OUT=$(yarn | grep -E "(YN0002|YN0059|YN0060)" | grep -E $1)
if [ -z "$OUT" ]; then
  echo "No Peer Dependency Errors Found."
else
  echo "$OUT"
  echo "Some peer dependencies are incorrectly met; run yarn explain peer-requirements <hash> for details, where <hash> is the six-letter p-prefixed code"
  exit 1
fi

================================================
FILE: .scripts/docs/deno.json
================================================
{
  "imports": {
    "@deno/doc": "jsr:@deno/doc@^0.148.0",
    "@es-toolkit/es-toolkit": "jsr:@es-toolkit/es-toolkit@^1.19.0",
    "@std/dotenv": "jsr:@std/dotenv@^0.225.2",
    "clipanion": "npm:clipanion@^3.2.1",
    "openai": "npm:openai@^4.58.1"
  }
}


================================================
FILE: .scripts/docs/formatters/class.ts
================================================
import { DocNodeClass } from '@deno/doc';
import { formatDecorator } from './nodes/decorator.ts';
import { formatTypeParam } from './nodes/type-param.ts';
import { formatType } from './nodes/type.ts';
import { FormatOption } from './options.ts';

export function formatClassDoc(node: DocNodeClass, options: FormatOption = {}): string {
  let result = '';

  if (node.classDef.decorators != null && node.classDef.decorators.length > 0) {
    result += node.classDef.decorators.map(d => formatDecorator(d, options)).join('\n');
  }

  if (node.declarationKind === 'private') {
    result += 'private ';
  }

  if (node.classDef.isAbstract) {
    result += 'abstract ';
  }

  result += 'class ';
  result += node.name;

  if (node.classDef.typeParams.length > 0) {
    result += '<';
    result += node.classDef.typeParams.map(p => formatTypeParam(p, options)).join(', ');
    result += '>';
  }

  if (node.classDef.extends) {
    result += ' extends ';
    result += node.classDef.extends;
  }

  if (node.classDef.superTypeParams.length > 0) {
    result += '<';
    result += node.classDef.superTypeParams.map(p => formatType(p, options)).join(', ');
    result += '>';
  }

  if (node.classDef.implements.length > 0) {
    result += ' implements ';
    result += node.classDef.implements.map(i => formatType(i, options)).join(', ');
  }

  return result;
}


================================================
FILE: .scripts/docs/formatters/function.ts
================================================
import { DocNodeFunction } from '@deno/doc';
import { formatParam } from './nodes/param.ts';
import { formatTypeParam } from './nodes/type-param.ts';
import { formatType } from './nodes/type.ts';
import { FormatOption } from './options.ts';

export function formatFunctionDoc(node: DocNodeFunction, options: FormatOption = {}): string {
  let result = '';

  if (node.functionDef.isAsync) {
    result += 'async ';
  }

  result += 'function';

  if (node.functionDef.isGenerator) {
    result += '*';
  }

  result += ' ';

  result += node.name;

  if (node.functionDef.typeParams.length > 0) {
    result += '<';
    result += node.functionDef.typeParams.map(p => formatTypeParam(p, options)).join(', ');
    result += '>';
  }

  result += '(';
  result += node.functionDef.params.map(p => formatParam(p, options)).join(', ');
  result += ')';

  if (node.functionDef.returnType != null) {
    result += ': ';
    result += formatType(node.functionDef.returnType, options);
  }

  return result;
}


================================================
FILE: .scripts/docs/formatters/helpers/readonly.ts
================================================
import { FormatOption } from '../options.ts';

export function formatReadonly(node: { readonly?: boolean | '+' | '-' }, options: FormatOption): string {
  if (!options.display?.readonly) {
    return '';
  }

  switch (node.readonly) {
    case true: {
      return 'readonly ';
    }
    case '+': {
      return '+readonly ';
    }
    case '-': {
      return '-readonly ';
    }
  }

  return '';
}


================================================
FILE: .scripts/docs/formatters/nodes/call-signature.ts
================================================
import { LiteralCallSignatureDef } from '@deno/doc';
import { formatParam } from './param.ts';
import { formatType } from './type.ts';
import { FormatOption } from '../options.ts';

export function formatCallSignatureDef(node: LiteralCallSignatureDef, options: FormatOption) {
  let result = '';

  result += '(';
  result += node.params.map(param => formatParam(param, options)).join(', ');
  result += ')';

  if (node.tsType != null) {
    result += ': ';
    result += formatType(node.tsType, options);
  }

  return result;
}


================================================
FILE: .scripts/docs/formatters/nodes/decorator.ts
================================================
import { DecoratorDef } from '@deno/doc';
import { FormatOption } from '../options.ts';

// eslint-disable-next-line
export function formatDecorator(node: DecoratorDef, _: FormatOption) {
  let result = '';

  result += '@';
  result += node.name;

  if (node.args != null && node.args.length > 0) {
    result += '(';
    result += node.args.join(', ');
    result += ')';
  }

  return result;
}


================================================
FILE: .scripts/docs/formatters/nodes/index-signature.ts
================================================
import { LiteralIndexSignatureDef } from '@deno/doc';
import { formatParam } from './param.ts';
import { formatType } from './type.ts';
import { formatReadonly } from '../helpers/readonly.ts';
import { FormatOption } from '../options.ts';

export function formatIndexSignatureDef(node: LiteralIndexSignatureDef, options: FormatOption) {
  let result = '';

  result += formatReadonly(node, options);

  result += '[';
  result += node.params.map(p => formatParam(p, options)).join(', ');
  result += ']';

  if (node.tsType != null) {
    result += ': ';
    result += formatType(node.tsType, options);
  }

  return result;
}


================================================
FILE: .scripts/docs/formatters/nodes/method.ts
================================================
import { LiteralMethodDef } from '@deno/doc';
import { formatParam } from './param.ts';
import { formatType } from './type.ts';
import { FormatOption } from '../options.ts';

export function formatMethodDef(node: LiteralMethodDef, options: FormatOption) {
  let result = '';

  if (node.computed) {
    result += `[${node.name}]`;
  } else {
    result += node.name;
  }

  if (node.optional) {
    result += '?';
  }

  result += '(';
  result += node.params.map(x => formatParam(x, options)).join(', ');
  result += ')';

  if (node.returnType != null) {
    result += ': ';
    result += formatType(node.returnType, options);
  }

  return result;
}


================================================
FILE: .scripts/docs/formatters/nodes/object-pat-prop.ts
================================================
import { ObjectPatPropDef } from '@deno/doc';
import { formatParam } from './param.ts';

export function formatObjectPatProp(node: ObjectPatPropDef) {
  switch (node.kind) {
    case 'keyValue': {
      return node.key;
    }
    case 'assign': {
      let result = '';

      result += node.key;

      if (node.value != null) {
        result += ' = ';
        result += node.value;
      }

      return result;
    }
    case 'rest': {
      let result = '';

      result += '...';
      result += formatParam(node.arg);

      return result;
    }
  }
}


================================================
FILE: .scripts/docs/formatters/nodes/param.ts
================================================
import { ParamDef } from '@deno/doc';
import { formatObjectPatProp } from './object-pat-prop.ts';
import { formatType } from './type.ts';
import { FormatOption } from '../options.ts';

export function formatParam(node: ParamDef, options: FormatOption): string {
  if (node.decorators != null) {
    throw new Error(`Not implemented`);
  }

  switch (node.kind) {
    case 'array': {
      let result = '';

      result += '[';

      result += node.elements
        .filter(x => x != null)
        .map(item => {
          return formatParam(item!, options);
        })
        .join(', ');

      result += ']';

      if (node.optional) {
        result += '?';
      }

      if (node.tsType != null) {
        result += ': ';
        result += formatType(node.tsType, options);
      }

      return result;
    }

    case 'assign': {
      let result = '';

      result += formatParam(node.left, options);

      if (node.tsType != null) {
        result += ': ';
        result += formatType(node.tsType, options);
      }

      return result;
    }

    case 'identifier': {
      let result = '';

      result += node.name;

      if (node.optional) {
        result += '?';
      }

      if (node.tsType != null) {
        result += ': ';
        result += formatType(node.tsType, options);
      }

      return result;
    }

    case 'object': {
      let result = '';

      result += '{';
      result += node.props.map(prop => formatObjectPatProp(prop)).join(', ');
      result += '}';

      if (node.optional) {
        result += '?';
      }

      if (node.tsType != null) {
        result += ': ';
        result += formatType(node.tsType, options);
      }

      return result;
    }

    case 'rest': {
      let result = '';

      result += '...';
      result += formatParam(node.arg, options);

      if (node.tsType != null) {
        result += ': ';
        result += formatType(node.tsType, options);
      }

      return result;
    }
  }
}


================================================
FILE: .scripts/docs/formatters/nodes/property.ts
================================================
import { LiteralPropertyDef } from '@deno/doc';
import { formatType } from './type.ts';
import { formatReadonly } from '../helpers/readonly.ts';
import { FormatOption } from '../options.ts';

export function formatPropertyDef(node: LiteralPropertyDef, options: FormatOption) {
  let result = '';

  result += formatReadonly(node, options);

  if (node.computed) {
    result += `[${node.name}]`;
  } else {
    result += node.name;
  }

  if (node.optional) {
    result += '?';
  }

  if (node.tsType != null) {
    result += ': ';
    result += formatType(node.tsType, options);
  }

  return result;
}


================================================
FILE: .scripts/docs/formatters/nodes/type-param.ts
================================================
import { TsTypeParamDef } from '@deno/doc';
import { formatType } from './type.ts';
import { FormatOption } from '../options.ts';

export function formatTypeParam(node: TsTypeParamDef, options: FormatOption) {
  let result = '';

  result += node.name;

  if (node.constraint != null) {
    result += ' extends ';
    result += formatType(node.constraint, options);
  }

  if (node.default != null) {
    result += ' = ';
    result += formatType(node.default, options);
  }

  return result;
}


================================================
FILE: .scripts/docs/formatters/nodes/type.ts
================================================
import { TsTypeDef } from '@deno/doc';
import { formatCallSignatureDef } from './call-signature.ts';
import { formatIndexSignatureDef } from './index-signature.ts';
import { formatMethodDef } from './method.ts';
import { formatParam } from './param.ts';
import { formatPropertyDef } from './property.ts';
import { formatTypeParam } from './type-param.ts';
import { formatReadonly } from '../helpers/readonly.ts';
import { FormatOption } from '../options.ts';

export function formatType(node: TsTypeDef, options: FormatOption): string {
  switch (node.kind) {
    case 'array': {
      switch (node.array.kind) {
        case 'union':
        case 'intersection':
          return `Array<${formatType(node.array, options)}>`;
      }

      return `${formatType(node.array, options)}[]`;
    }
    case 'conditional': {
      let result = '';

      result += formatType(node.conditionalType.checkType, options);
      result += ' extends ';
      result += formatType(node.conditionalType.extendsType, options);
      result += ' ? ';
      result += formatType(node.conditionalType.trueType, options);
      result += ' : ';
      result += formatType(node.conditionalType.falseType, options);

      return result;
    }
    case 'infer': {
      let result = '';

      result += 'infer ';
      result += formatTypeParam(node.infer.typeParam, options);

      return result;
    }
    case 'importType': {
      let result = '';

      result += 'import(';
      result += node.importType.specifier;
      result += ')';

      if (node.importType.qualifier != null) {
        result += '.';
        result += node.importType.qualifier;
      }

      if (node.importType.typeParams != null) {
        result += '<';
        result += node.importType.typeParams.map(param => formatType(param, options)).join(', ');
        result += '>';
      }

      return result;
    }
    case 'fnOrConstructor': {
      let result = '';

      if (node.fnOrConstructor.constructor) {
        result += 'new ';
      }

      result += '(';
      result += node.fnOrConstructor.params.map(param => formatParam(param, options)).join(', ');
      result += ')';

      result += ' => ';

      result += formatType(node.fnOrConstructor.tsType, options);

      return result;
    }

    case 'indexedAccess': {
      let result = '';

      result += formatType(node.indexedAccess.objType, options);

      result += '[';
      result += formatType(node.indexedAccess.indexType, options);
      result += ']';

      return result;
    }

    case 'intersection': {
      return node.intersection.map(u => formatType(u, options)).join(' & ');
    }

    case 'mapped': {
      let result = '';

      result += formatReadonly(node.mappedType, options);

      result += '[';

      if (node.mappedType.typeParam.constraint != null) {
        result += node.mappedType.typeParam.name;
        result += ' in ';
        result += formatType(node.mappedType.typeParam.constraint, options);
      } else {
        result += formatTypeParam(node.mappedType.typeParam, options);
      }

      if (node.mappedType.nameType != null) {
        result += ' as ';
        result += formatType(node.mappedType.nameType, options);
      }

      result += ']';

      switch (node.mappedType.optional) {
        case true: {
          result += '?';
          break;
        }
        case '+': {
          result += '+?';
          break;
        }
        case '-': {
          result += '-?';
          break;
        }
      }

      if (node.mappedType.tsType != null) {
        result += ': ';
        result += formatType(node.mappedType.tsType, options);
      }

      return result;
    }

    case 'keyword': {
      return node.keyword;
    }

    case 'literal': {
      switch (node.literal.kind) {
        case 'boolean': {
          if (node.literal.boolean) {
            return 'true';
          } else {
            return 'false';
          }
        }

        case 'string': {
          return node.literal.string;
        }

        case 'template': {
          let result = '';

          result += '`';

          for (const tsType of node.literal.tsTypes) {
            if (tsType.kind === 'literal') {
              if (tsType.literal.kind === 'string') {
                result += tsType.literal.string;
                continue;
              }
            }

            result += '${';
            result += formatType(tsType, options);
            result += '}';
          }

          result += '`';

          return result;
        }

        case 'number': {
          return node.literal.number.toString();
        }

        case 'bigInt': {
          return node.literal.string;
        }
      }

      throw new Error(`Not reachable`);
    }

    case 'optional': {
      return `${formatType(node.optional, options)}?`;
    }

    case 'parenthesized': {
      return `(${formatType(node.parenthesized, options)})`;
    }

    case 'rest': {
      return `...${formatType(node.rest, options)}`;
    }

    case 'this': {
      return `this`;
    }

    case 'tuple': {
      let result = '';

      result += '[';
      result += node.tuple.map(item => formatType(item, options)).join(', ');
      result += ']';

      return result;
    }

    case 'typeLiteral': {
      let result = '';

      result += '{ ';
      result += node.typeLiteral.callSignatures.map(sig => formatCallSignatureDef(sig, options)).join('; ');
      result += node.typeLiteral.methods.map(m => formatMethodDef(m, options)).join('; ');
      result += node.typeLiteral.properties.map(p => formatPropertyDef(p, options)).join('; ');
      result += node.typeLiteral.indexSignatures
        .map(indexSignature => formatIndexSignatureDef(indexSignature, options))
        .join('; ');

      result += result += ' }';

      result += '}';

      return result;
    }

    case 'typeOperator': {
      let result = '';

      switch (node.typeOperator.operator) {
        case 'readonly': {
          if (!options.display?.readonly) {
            break;
          }

          result += node.typeOperator.operator;
          result += ' ';
          break;
        }
        default: {
          result += node.typeOperator.operator;
          result += ' ';
          break;
        }
      }

      result += formatType(node.typeOperator.tsType, options);

      return result;
    }

    case 'typeQuery': {
      return `typeof ${node.typeQuery}`;
    }

    case 'typeRef': {
      let result = '';

      result += node.typeRef.typeName;

      if (node.typeRef.typeParams != null) {
        result += '<';
        result += node.typeRef.typeParams.map(p => formatType(p, options)).join(', ');
        result += '>';
      }

      return result;
    }

    case 'union': {
      return node.union.map(u => formatType(u, options)).join(' | ');
    }

    case 'typePredicate': {
      return node.repr;
    }
  }

  throw new Error(`Unreachable`);
}


================================================
FILE: .scripts/docs/formatters/options.ts
================================================
export interface FormatOption {
  display?: {
    readonly?: boolean;
  };
}


================================================
FILE: .scripts/docs/generate-docs.mts
================================================
import path from 'node:path';
import { fileURLToPath } from 'node:url';
import { doc, DocNode } from '@deno/doc';
import { differenceWith, groupBy } from '@es-toolkit/es-toolkit';
import '@std/dotenv/load';
import { render as renderEN } from './operations/render/en.ts';
import { render as renderJA } from './operations/render/ja.ts';
import { render as renderKO } from './operations/render/ko.ts';
import { RenderOptions } from './operations/render/types.ts';
import { render as renderZH } from './operations/render/zh_hans.ts';
import { toDocumentationItem } from './operations/toDocumentationItem.ts';
import { translate } from './operations/translate.ts';
import { DocumentationItem } from './types/DocumentationItem.ts';
import { Locale } from './types/Locale.ts';

// eslint-disable-next-line
const __dirname = path.dirname(fileURLToPath(import.meta.url));

const basePath = path.resolve(__dirname, '..', '..', 'src');

const openAiApiKey = Deno.env.get('OPENAI_API_KEY');

type DocumentationItems = Array<{ docPath: string; item: DocumentationItem }>;
type DocumentationPaths = Record<Locale, string>;

async function run() {
  const docsRoot = path.resolve(__dirname, '..', '..', 'docs');

  const docsPaths: DocumentationPaths = {
    en: path.join(docsRoot, 'reference'),
    ko: path.join(docsRoot, 'ko', 'reference'),
    ja: path.join(docsRoot, 'ja', 'reference'),
    zh_hans: path.join(docsRoot, 'zh_hans', 'reference'),
  };

  const items = toDocumentationItems(await doc(`file:${path.join(basePath, 'index.ts')}`));

  await renderDocs(docsPaths, items);

  const compatItems = differenceWith(
    toDocumentationItems(await doc(`file:${path.join(basePath, 'compat', 'index.ts')}`)),
    items,
    (x, y) => x.item.name === y.item.name
  );

  await renderDocs(docsPaths, compatItems, { compat: true });
}

async function renderDocs(docsPaths: DocumentationPaths, items: DocumentationItems, options: RenderOptions = {}) {
  for (const { docPath, item } of items) {
    console.log(`> Doc: ${docPath}`);

    const enPath = path.join(docsPaths.en, docPath);

    if (!(await exists(enPath))) {
      console.log(`> Generating English docs for for: ${docPath}`);
      await Deno.mkdir(path.dirname(enPath), { recursive: true });
      await Deno.writeTextFile(enPath, renderEN(item, options));
    }

    const koPath = path.join(docsPaths.ko, docPath);

    if (!(await exists(koPath))) {
      console.log(`> Generating Korean docs for for: ${docPath}`);

      const koreanItem = openAiApiKey != null ? await translate(item, 'ko', { openAiApiKey }) : item;
      await Deno.mkdir(path.dirname(koPath), { recursive: true });
      await Deno.writeTextFile(koPath, renderKO(koreanItem, options));
    }

    const jaPath = path.join(docsPaths.ja, docPath);

    if (!(await exists(jaPath))) {
      console.log(`> Generating Japanese docs for for: ${docPath}`);

      const japaneseItem = openAiApiKey != null ? await translate(item, 'ja', { openAiApiKey }) : item;

      await Deno.mkdir(path.dirname(jaPath), { recursive: true });
      await Deno.writeTextFile(jaPath, renderJA(japaneseItem, options));
    }

    const zhPath = path.join(docsPaths.zh_hans, docPath);

    if (!(await exists(zhPath))) {
      console.log(`> Generating Simplified Chinese docs for for: ${docPath}`);

      const zhItem = openAiApiKey != null ? await translate(item, 'zh_hans', { openAiApiKey }) : item;

      await Deno.mkdir(path.dirname(zhPath), { recursive: true });
      await Deno.writeTextFile(zhPath, renderZH(zhItem, options));
    }
  }
}

async function exists(path: string): Promise<boolean> {
  try {
    await Deno.stat(path);
    return true;
  } catch (error) {
    if (error instanceof Deno.errors.NotFound) {
      return false;
    }
    throw error; // rethrow other errors
  }
}

function toDocumentationItems(docs: DocNode[]): DocumentationItems {
  const entries = Object.entries(groupBy(docs, x => x.name));

  return entries
    .filter(([name, entries]) => {
      if (name === '') {
        return false;
      }

      if (entries.some(x => x.kind !== 'class' && x.kind !== 'function')) {
        return false;
      }

      return true;
    })
    .map(([name, entries]) => {
      const sourcePath = fileURLToPath(entries[0].location.filename);
      const docPath: string = path.join(path.dirname(path.relative(basePath, sourcePath)), `${name}.md`);

      return {
        docPath: docPath,
        item: toDocumentationItem(name, entries),
      };
    });
}

run();


================================================
FILE: .scripts/docs/operations/render/en.ts
================================================
import { RenderOptions } from './types.ts';
import { DocumentationItem } from '../../types/DocumentationItem.ts';

export function render(item: DocumentationItem, options: RenderOptions = {}) {
  return [title(item.name), compatNotice(options), item.description, signature(item), examples(item)]
    .filter(x => x != null)
    .join('\n\n');
}

function title(name: string) {
  return `# ${name}`;
}

function compatNotice(options: RenderOptions) {
  if (!options.compat) {
    return null;
  }

  return `
::: info
This function is only available in \`es-toolkit/compat\` for compatibility reasons. It either has alternative native JavaScript APIs or isn’t fully optimized yet.

When imported from \`es-toolkit/compat\`, it behaves exactly like lodash and provides the same functionalities, as detailed [here](../../../compatibility.md).
:::
`.trim();
}

function signature(item: DocumentationItem) {
  return ['## Signature', symbolInterface(item), parameters(item), returns(item)].filter(x => x != null).join('\n\n');
}

function symbolInterface(item: DocumentationItem): string {
  return ` 
\`\`\`typescript
${item.signature}
\`\`\`
`.trim();
}

function parameters(item: DocumentationItem) {
  if (item.parameters == null) {
    return null;
  }

  return `
### Parameters

${item.parameters.map(p => `- \`${p.name}\` (\`${p.type}\`): ${p.document}`).join('\n')}
  `.trim();
}

function returns(item: DocumentationItem) {
  if (item.returns == null) {
    return null;
  }

  if (item.returns.type == null) {
    return `
#### Returns

(\`${item.returns.type}\`): ${item.returns.document} 
    `.trim();
  }

  return `
#### Returns

(\`${item.returns.type}\`): ${item.returns.document}
  `.trim();
}

function examples(item: DocumentationItem) {
  if (item.exampleCodes.length === 0) {
    return null;
  }

  return `
## Examples

\`\`\`typescript
${item.exampleCodes.join('\n\n')}
\`\`\`
  `.trim();
}


================================================
FILE: .scripts/docs/operations/render/ja.ts
================================================
import { RenderOptions } from './types.ts';
import { DocumentationItem } from '../../types/DocumentationItem.ts';

export function render(item: DocumentationItem, options: RenderOptions = {}) {
  return [title(item.name), compatNotice(options), item.description, signature(item), examples(item)]
    .filter(x => x != null)
    .join('\n\n');
}

function title(name: string) {
  return `# ${name}`;
}

function compatNotice(options: RenderOptions) {
  if (!options.compat) {
    return null;
  }

  return `
::: info
この関数は互換性のために \`es-toolkit/compat\` からのみインポートできます。代替可能なネイティブ JavaScript API があるか、まだ十分に最適化されていないためです。

\`es-toolkit/compat\` からこの関数をインポートすると、[lodash と完全に同じように動作](../../../compatibility.md)します。
:::
`.trim();
}

function signature(item: DocumentationItem) {
  return ['## インターフェース', symbolInterface(item), parameters(item), returns(item)]
    .filter(x => x != null)
    .join('\n\n');
}

function symbolInterface(item: DocumentationItem): string {
  return ` 
\`\`\`typescript
${item.signature}
\`\`\`
`.trim();
}

function parameters(item: DocumentationItem) {
  if (item.parameters == null) {
    return null;
  }

  return `
### パラメータ

${item.parameters.map(p => `- \`${p.name}\` (\`${p.type}\`): ${p.document}`).join('\n')}
  `.trim();
}

function returns(item: DocumentationItem) {
  if (item.returns == null) {
    return null;
  }

  return `
#### 戻り値

(\`${item.returns.type}\`): ${item.returns.document}
  `.trim();
}

function examples(item: DocumentationItem) {
  if (item.exampleCodes.length === 0) {
    return null;
  }

  return `
## 例

\`\`\`typescript
${item.exampleCodes.join('\n\n')}
\`\`\`
  `.trim();
}


================================================
FILE: .scripts/docs/operations/render/ko.ts
================================================
import { RenderOptions } from './types.ts';
import { DocumentationItem } from '../../types/DocumentationItem.ts';

export function render(item: DocumentationItem, options: RenderOptions = {}) {
  return [title(item.name), compatNotice(options), item.description, signature(item), examples(item)]
    .filter(x => x != null)
    .join('\n\n');
}

function title(name: string) {
  return `# ${name}`;
}

function compatNotice(options: RenderOptions) {
  if (!options.compat) {
    return null;
  }

  return `
::: info
이 함수는 호환성을 위한 \`es-toolkit/compat\` 에서만 가져올 수 있어요. 대체할 수 있는 네이티브 JavaScript API가 있거나, 아직 충분히 최적화되지 않았기 때문이에요.

\`es-toolkit/compat\`에서 이 함수를 가져오면, [lodash와 완전히 똑같이 동작](../../../compatibility.md)해요.
:::
`.trim();
}

function signature(item: DocumentationItem) {
  return ['## 인터페이스', symbolInterface(item), parameters(item), returns(item)].filter(x => x != null).join('\n\n');
}

function symbolInterface(item: DocumentationItem): string {
  return ` 
\`\`\`typescript
${item.signature}
\`\`\`
`.trim();
}

function parameters(item: DocumentationItem) {
  if (item.parameters == null) {
    return null;
  }

  return `
### 파라미터

${item.parameters.map(p => `- \`${p.name}\` (\`${p.type}\`): ${p.document}`).join('\n')}
  `.trim();
}

function returns(item: DocumentationItem) {
  if (item.returns == null) {
    return null;
  }

  return `
#### 반환 값

(\`${item.returns.type}\`): ${item.returns.document}
  `.trim();
}

function examples(item: DocumentationItem) {
  if (item.exampleCodes.length === 0) {
    return null;
  }

  return `
## 예시

\`\`\`typescript
${item.exampleCodes.join('\n\n')}
\`\`\`
  `.trim();
}


================================================
FILE: .scripts/docs/operations/render/types.ts
================================================
export interface RenderOptions {
  compat?: boolean;
}


================================================
FILE: .scripts/docs/operations/render/zh_hans.ts
================================================
import { RenderOptions } from './types.ts';
import { DocumentationItem } from '../../types/DocumentationItem.ts';

export function render(item: DocumentationItem, options: RenderOptions = {}) {
  return [title(item.name), compatNotice(options), item.description, signature(item), examples(item)]
    .filter(x => x != null)
    .join('\n\n');
}

function title(name: string) {
  return `# ${name}`;
}

function compatNotice(options: RenderOptions) {
  if (!options.compat) {
    return null;
  }

  return `
::: info
出于兼容性原因,此函数仅在 \`es-toolkit/compat\` 中提供。它可能具有替代的原生 JavaScript API,或者尚未完全优化。

从 \`es-toolkit/compat\` 导入时,它的行为与 lodash 完全一致,并提供相同的功能,详情请见 [这里](../../../compatibility.md)。
:::
`.trim();
}

function signature(item: DocumentationItem) {
  return ['## 签名', symbolInterface(item), parameters(item), returns(item)].filter(x => x != null).join('\n\n');
}

function symbolInterface(item: DocumentationItem): string {
  return ` 
\`\`\`typescript
${item.signature}
\`\`\`
`.trim();
}

function parameters(item: DocumentationItem) {
  if (item.parameters == null) {
    return null;
  }

  return `
### 参数

${item.parameters.map(p => `- \`${p.name}\` (\`${p.type}\`): ${p.document}`).join('\n')}
  `.trim();
}

function returns(item: DocumentationItem) {
  if (item.returns == null) {
    return null;
  }

  return `
#### 返回值

(\`${item.returns.type}\`): ${item.returns.document}
  `.trim();
}

function examples(item: DocumentationItem) {
  if (item.exampleCodes.length === 0) {
    return null;
  }

  return `
## 示例

\`\`\`typescript
${item.exampleCodes.join('\n\n')}
\`\`\`
  `.trim();
}


================================================
FILE: .scripts/docs/operations/toDocumentationItem.ts
================================================
import { DocNode, JsDocTag, JsDocTagDocRequired, JsDocTagParam, JsDocTagReturn } from '@deno/doc';
import { formatClassDoc } from '../formatters/class.ts';
import { formatFunctionDoc } from '../formatters/function.ts';
import { DocumentationItem } from '../types/DocumentationItem.ts';

export function toDocumentationItem(symbolName: string, docs: DocNode[]): DocumentationItem {
  const lastDoc = docs.at(-1) ?? docs.at(0);
  const tags = lastDoc?.jsDoc?.tags ?? [];

  const description = lastDoc?.jsDoc?.doc;

  if (description == null) {
    throw new Error(
      `No description provided for ${symbolName} (${lastDoc?.location.filename}:${lastDoc?.location.line}:${lastDoc?.location.col}).`
    );
  }

  return {
    name: symbolName,
    description: description.trim(),
    signature: toSignature(symbolName, docs),
    parameters: toParameters(symbolName, tags),
    returns: toReturns(symbolName, tags),
    exampleCodes: toExampleCodes(tags),
  };
}

function toSignature(symbolName: string, docs: DocNode[]) {
  if (docs.length === 0) {
    throw new Error(`No document provided for ${symbolName}.`);
  }

  switch (docs[0].kind) {
    case 'function': {
      return toFunctionSignature(symbolName, docs);
    }
    case 'class': {
      return toClassSignature(symbolName, docs);
    }
  }

  throw new Error(`Unsupported document node type: ${docs[0].kind}`);
}

function toFunctionSignature(symbolName: string, docs: DocNode[]) {
  return docs
    .map(doc => {
      if (doc.kind !== 'function') {
        throw new Error(`Unsupported document type in ${symbolName}: ${doc.kind}`);
      }

      return `${formatFunctionDoc(doc, { display: { readonly: false } })};`;
    })
    .join('\n');
}

function toClassSignature(symbolName: string, docs: DocNode[]) {
  return docs
    .map(doc => {
      if (doc.kind !== 'class') {
        throw new Error(`Unsupported document type in ${symbolName}: ${doc.kind}`);
      }

      return `${formatClassDoc(doc, { display: { readonly: false } })}`;
    })
    .join('\n');
}

function toParameters(symbolName: string, tags: JsDocTag[]): DocumentationItem['parameters'] {
  const parameters = tags.filter((tag): tag is JsDocTagParam => tag.kind === 'param');

  if (parameters.length === 0) {
    return null;
  }

  return parameters.map(param => {
    if (param.name == null) {
      throw new Error(`parameter name is not provided in ${symbolName}.`);
    }

    if (param.type == null) {
      throw new Error(`parameter type is not provided in ${symbolName}. (for parameter ${param.name})`);
    }

    if (param.doc == null) {
      throw new Error(`parameter doc is not provided in ${symbolName}. (for parameter ${param.name})`);
    }

    return {
      name: param.name,
      type: param.type,
      document: param.doc.replace(/^- /g, ''),
    };
  });
}

function toReturns(symbolName: string, tags: JsDocTag[]): DocumentationItem['returns'] {
  const returns = tags.filter((x): x is JsDocTagReturn => x.kind === 'return')[0];

  if (returns == null) {
    return null;
  }

  if (returns.doc == null) {
    throw new Error(`returns.doc is not provided in ${symbolName}.`);
  }

  return {
    type: returns.type ?? null,
    document: returns.doc.replace(/^- /g, ''),
  };
}

function toExampleCodes(tags: JsDocTag[]) {
  const examples = tags.filter((x): x is JsDocTagDocRequired => x.kind === 'example');

  if (examples.length === 0) {
    return [];
  }

  return examples.map(x => x.doc.trim());
}


================================================
FILE: .scripts/docs/operations/translate.ts
================================================
import OpenAI from 'openai';
import { pick, toMerged } from '@es-toolkit/es-toolkit';
import { DocumentationItem } from '../types/DocumentationItem.ts';
import { Locale } from '../types/Locale.ts';

interface TranslateOptions {
  openAiApiKey: string;
}

export async function translate(
  doc: DocumentationItem,
  locale: Locale,
  { openAiApiKey }: TranslateOptions
): Promise<DocumentationItem> {
  const client = new OpenAI({
    apiKey: openAiApiKey,
  });

  const item = {
    description: doc.description,
    parameters: doc.parameters?.map(param => {
      return pick(param, ['document']);
    }),
    returns: pick(doc.returns! ?? {}, ['document']),
  };

  const prompt = `
Always answer in the JSON format as given in the input, without triple backticks.
Translate the following JSON to ${locale}.

If translating in Korean, write the sentence in 해요 style.
If translating in Japanese, finish the sentence in ます style.
Finish with a noun if it is a explanation for a parameter or a return value.

===
\`\`\`
${JSON.stringify(item, null, 2)}
\`\`\`
  `;

  const response = await client.chat.completions.create({
    model: 'gpt-4o',
    messages: [{ role: 'user', content: prompt }],
  });

  const translatedItem = response.choices[0].message.content;

  if (translatedItem == null) {
    throw new Error(`API Error while translating ${doc.name} to ${locale}.`);
  }

  const translatedDoc: DocumentationItem = JSON.parse(translatedItem);

  return toMerged(doc, translatedDoc);
}


================================================
FILE: .scripts/docs/types/DocumentationItem.ts
================================================
export interface DocumentationItem {
  name: string;
  description: string;
  signature: string;
  parameters: Array<{
    name: string;
    type: string;
    document: string;
  }> | null;
  returns: {
    type: string | null;
    document: string;
  } | null;
  exampleCodes: string[];
}


================================================
FILE: .scripts/docs/types/Locale.ts
================================================
export type Locale = 'en' | 'ko' | 'ja' | 'zh_hans';


================================================
FILE: .scripts/generate-bundle-size.mjs
================================================
import esbuild from 'esbuild';
import fs from 'fs/promises';
import path from 'path';
import { fileURLToPath } from 'url';

const funcNames = ['sample', 'difference', 'sum', 'debounce', 'throttle', 'pick', 'zip'];

const filename = fileURLToPath(import.meta.url);
const ROOT = path.resolve(path.dirname(filename), '..');
const OUT_JSON = path.join(ROOT, 'docs', 'data', 'bundle-size.json');

async function getSize(pkg, funcName) {
  const script = `import { ${funcName} } from "${pkg}"; console.log(${funcName})`;

  const bundled = await esbuild.build({
    stdin: {
      contents: script,
      resolveDir: ROOT,
      sourcefile: path.resolve(ROOT, 'tmp', 'test.js'),
      loader: 'js',
    },
    write: false,
    minify: true,
    bundle: true,
  });

  const buf = Buffer.from(bundled.outputFiles[0].contents);
  return buf.byteLength;
}

async function main() {
  const result = { labels: {}, data: {} };

  // detect labels: read root package.json for es-toolkit version
  try {
    const esPkgPath = path.join(ROOT, 'package.json');
    const esContent = await fs.readFile(esPkgPath, 'utf8');
    const esJson = JSON.parse(esContent);
    result.labels['esToolkit'] = `es-toolkit@${esJson.version}`;
  } catch {
    result.labels['esToolkit'] = 'es-toolkit@unknown';
  }

  // detect lodash-es version if installed in node_modules
  try {
    const lodashPkgPath = path.join(ROOT, 'node_modules', 'lodash-es', 'package.json');
    const lodashContent = await fs.readFile(lodashPkgPath, 'utf8');
    const lodashJson = JSON.parse(lodashContent);
    result.labels['lodash'] = `lodash-es@${lodashJson.version}`;
  } catch {
    result.labels['lodash'] = 'lodash-es@unknown';
  }

  for (const name of funcNames) {
    console.log('Bundling', name);
    const lodashSize = await getSize('lodash-es', name).catch(e => {
      console.error('failed lodash for', name, e.message);
      return 0;
    });
    const esSize = await getSize('es-toolkit', name).catch(e => {
      console.error('failed es-toolkit for', name, e.message);
      return 0;
    });

    result.data[name] = { lodash: lodashSize, esToolkit: esSize };
  }

  await fs.mkdir(path.dirname(OUT_JSON), { recursive: true });
  await fs.writeFile(OUT_JSON, JSON.stringify(result, null, 2), 'utf8');
  console.log('Wrote', OUT_JSON);
}

main().catch(err => {
  console.error(err);
  process.exit(1);
});


================================================
FILE: .scripts/postbuild.sh
================================================
#!/bin/sh

# Function to create root exports
create_root_export() {
    local name=$1
    echo "export * from './dist/$name';" > $name.d.ts
    echo "module.exports = require('./dist/$name');" > $name.js
}

# Function to create compat exports
create_compat_export() {
    local category=$1
    local name=$2
    echo "module.exports = require('../dist/compat/$category/$name.js').$name;" > compat/$name.js
    echo "export { $name as default } from '../dist/compat/$category/$name.js';" > compat/$name.d.ts
}

# Function to create compat reexports (for functions from main src)
create_compat_reexport() {
    local category=$1
    local name=$2
    echo "module.exports = require('../dist/$category/$name.js').$name;" > compat/$name.js
    echo "export { $name as default } from '../dist/$category/$name.js';" > compat/$name.d.ts
}

# Function to create compat alias
create_compat_alias() {
    local category=$1
    local original=$2
    local alias=$3
    echo "module.exports = require('../dist/compat/$category/$original.js').$original;" > compat/$alias.js
    echo "export { $original as default } from '../dist/compat/$category/$original.js';" > compat/$alias.d.ts
}

# Create root exports
for module in array error compat function math map object predicate promise set string util; do
    create_root_export $module
done

# Create compat directory
mkdir -p compat

# Array functions
for func in castArray chunk compact concat countBy difference differenceBy differenceWith drop dropRight dropRightWhile dropWhile every fill filter find findIndex findLast findLastIndex flatMap flatMapDeep flatMapDepth flatten flattenDeep flattenDepth forEach forEachRight groupBy head includes indexOf initial intersection intersectionBy intersectionWith invokeMap join keyBy last lastIndexOf map nth orderBy partition pull pullAll pullAllBy pullAllWith pullAt reduce reduceRight reject remove reverse sample sampleSize shuffle size slice some sortBy sortedIndex sortedIndexBy sortedIndexOf sortedLastIndex sortedLastIndexBy sortedLastIndexOf tail take takeRight takeRightWhile takeWhile union unionBy unionWith uniq uniqBy uniqWith unzip unzipWith without xor xorBy xorWith zip zipObject zipObjectDeep zipWith; do
    create_compat_export "array" "$func"
done

# Function functions
for func in after ary attempt before bind bindKey curry curryRight debounce defer delay flip flow flowRight memoize negate nthArg overArgs partial partialRight rearg rest spread throttle wrap; do
    create_compat_export "function" "$func"
done

# Function reexports (from main src)
for func in once unary identity noop; do
    create_compat_reexport "function" "$func"
done

# Math functions
for func in add ceil clamp divide floor inRange max maxBy mean meanBy min minBy multiply parseInt random range rangeRight round subtract sum sumBy; do
    create_compat_export "math" "$func"
done

# Object functions
for func in assign assignIn assignInWith assignWith at clone cloneDeep cloneDeepWith cloneWith create defaults defaultsDeep findKey findLastKey forIn forInRight forOwn forOwnRight fromPairs functions functionsIn get has hasIn invertBy keys keysIn mapKeys mapValues merge mergeWith omit omitBy pick pickBy property propertyOf result set setWith toDefaulted toPairs toPairsIn transform unset update updateWith values valuesIn; do
    create_compat_export "object" "$func"
done

# Object reexports (from main src)
for func in invert; do
    create_compat_reexport "object" "$func"  
done

# String functions
for func in camelCase deburr endsWith escape escapeRegExp kebabCase lowerCase lowerFirst pad padEnd padStart repeat replace snakeCase split startCase startsWith template templateSettings toLower toUpper trim trimEnd trimStart truncate unescape upperCase upperFirst words; do
    create_compat_export "string" "$func"
done

# String reexports (from main src)
for func in capitalize; do
    create_compat_reexport "string" "$func"
done

# Predicate functions
for func in conforms conformsTo isArguments isArray isArrayBuffer isArrayLike isArrayLikeObject isBoolean isBuffer isDate isElement isEmpty isEqualWith isError isFinite isInteger isMap isMatch isMatchWith isNaN isNative isNil isNumber isObject isObjectLike isPlainObject isRegExp isSafeInteger isSet isString isSymbol isTypedArray isWeakMap isWeakSet matches matchesProperty; do
    create_compat_export "predicate" "$func"
done

# Predicate reexports (from main src)
for func in isEqual isFunction isLength isNull isUndefined; do
    create_compat_reexport "predicate" "$func"
done

# Util functions
for func in bindAll cond constant defaultTo eq gt gte invoke iteratee lt lte method methodOf now over overEvery overSome stubArray stubFalse stubObject stubString stubTrue times toArray toFinite toInteger toLength toNumber toPath toPlainObject toSafeInteger toString uniqueId; do
    create_compat_export "util" "$func"
done

# Create aliases
create_compat_alias "array" "forEach" "each"
create_compat_alias "array" "forEachRight" "eachRight" 
create_compat_alias "array" "head" "first"
create_compat_alias "object" "assignIn" "extend"
create_compat_alias "object" "assignInWith" "extendWith"

================================================
FILE: .scripts/tests/_internal/formatter/brokenSyntax.ts
================================================
function fixExpectFunction(source: string): string {
  const expectMatched = source.match(/expect(\(.+\)).toEqual.+\);/g);

  if (!expectMatched) {
    return source;
  }

  const splitMatched = expectMatched.map(match => match.split('.toEqual('));
  const brokenSyntax = splitMatched.map(([expect]) => {
    let count = 0;

    for (const char of expect) {
      if (['(', '{', '['].includes(char)) {
        count++;
      } else if ([')', '}', ']'].includes(char)) {
        count--;
      }
    }

    return count > 0;
  });

  for (let i = 0; i < expectMatched.length; i++) {
    if (brokenSyntax[i]) {
      const front = splitMatched[i][0];
      const startWithBracket = front.match(/expect\([{[].+[}\]],/);
      const startWithFunction = front.match(/expect\(.+\(.+\),/);

      const start = startWithFunction
        ? startWithFunction[0].length
        : startWithBracket
          ? startWithBracket[0].length
          : front.indexOf(',') + 1;
      const fixed = `${front.slice(0, start)}).toEqual(${front.slice(start, front.length - 1)}, ${splitMatched[i][1]}`;

      source = source.replace(expectMatched[i], fixed);
    }
  }

  return source;
}

export function formatBrokenSyntax(source: string): string {
  // Fix broken syntax
  source = fixExpectFunction(source);

  // `delete localvariable` to comment
  source = source.replace(
    /delete [^.[\]]+;/g,
    match => `// Deleting local variable in strict mode. So commenting it out.\n// ${match}`
  );

  return source;
}


================================================
FILE: .scripts/tests/_internal/transform/assert.ts
================================================
import type { Collection, JSCodeshift } from 'jscodeshift';

export function transformAssert(root: Collection, jscodeshift: JSCodeshift): void {
  // Change `assert.deepStrictEqual(a, b, c)` to `expect(a, c).toEqual(b)`
  root
    .find(jscodeshift.CallExpression, {
      callee: {
        type: 'MemberExpression',
        object: {
          name: 'assert',
        },
        property: {
          type: 'Identifier',
        },
      },
    })
    .replaceWith(({ node }) => {
      if (node.callee.type === 'MemberExpression' && node.callee.property.type === 'Identifier') {
        const expectArguments =
          node.arguments.length === 3 ? [node.arguments[0], node.arguments[2]] : [node.arguments[0]];
        const expect = jscodeshift.callExpression(jscodeshift.identifier('expect'), expectArguments);

        switch (node.callee.property.name) {
          case 'deepStrictEqual':
            return jscodeshift.memberExpression(
              expect,
              jscodeshift.callExpression(jscodeshift.identifier('toEqual'), [node.arguments[1]])
            );
          case 'deepEqual':
            return jscodeshift.memberExpression(
              expect,
              jscodeshift.callExpression(jscodeshift.identifier('toEqual'), [node.arguments[1]])
            );
          case 'strictEqual':
            return jscodeshift.memberExpression(
              expect,
              jscodeshift.callExpression(jscodeshift.identifier('toBe'), [node.arguments[1]])
            );
          case 'notEqual':
            return jscodeshift.memberExpression(
              expect,
              jscodeshift.callExpression(jscodeshift.identifier('not.toBe'), [node.arguments[1]])
            );
          case 'notStrictEqual':
            return jscodeshift.memberExpression(
              expect,
              jscodeshift.callExpression(jscodeshift.identifier('not.toBe'), [node.arguments[1]])
            );
        }
      }
      return node;
    });
}


================================================
FILE: .scripts/tests/_internal/transform/import.ts
================================================
import type { Collection, JSCodeshift } from 'jscodeshift';

export function transformImport(root: Collection, jscodeshift: JSCodeshift): void {
  const astPath = root.getAST()[0];

  // Change `import {a, b} from './utils'` to `import {a} from '../_internal/a';\n import {b} from '../_internal/b';`
  root
    .find(jscodeshift.ImportDeclaration, {
      source: {
        value: './utils',
      },
    })
    .forEach(({ node }) => {
      if (node.specifiers) {
        const excludes = ['_']; // Exclude lodash
        const dirnames = '../_internal/';

        node.specifiers
          .filter(specifier => specifier.type === 'ImportSpecifier')
          .forEach(specifier => {
            if (specifier.type !== 'ImportSpecifier' || excludes.includes(specifier.imported.name)) {
              return;
            }

            // Add new import to the top of the file
            astPath.value.program.body.unshift(
              jscodeshift.importDeclaration(
                [jscodeshift.importSpecifier(jscodeshift.identifier(specifier.imported.name))],
                jscodeshift.literal(`${dirnames}${specifier.imported.name}`)
              )
            );
          });
      }
    })
    .remove();

  // Add import { describe, it, expect } from 'vitest';
  const vitestImport = root.find(jscodeshift.ImportDeclaration, {
    source: {
      value: 'vitest',
    },
    specifiers: [
      {
        type: 'ImportSpecifier',
        imported: {
          name: 'describe',
        },
      },
      {
        type: 'ImportSpecifier',
        imported: {
          name: 'it',
        },
      },
      {
        type: 'ImportSpecifier',
        imported: {
          name: 'expect',
        },
      },
    ],
  });

  if (!vitestImport.length) {
    astPath.value.program.body.unshift(
      jscodeshift.importDeclaration(
        [
          jscodeshift.importSpecifier(jscodeshift.identifier('describe')),
          jscodeshift.importSpecifier(jscodeshift.identifier('it')),
          jscodeshift.importSpecifier(jscodeshift.identifier('expect')),
        ],
        jscodeshift.literal('vitest')
      )
    );
  }

  // Remove import from 'lodash'
  root
    .find(jscodeshift.ImportDeclaration, {
      source: {
        value: 'lodash',
      },
    })
    .remove();

  // Change '../src/merge' to '../index'
  const methodSet = new Set<string>();
  root
    .find(jscodeshift.ImportDeclaration, {
      source: {
        value: (value: string) => value.startsWith('../src/'),
      },
    })
    .forEach(({ node }) => {
      if (node.specifiers && node.specifiers[0].type === 'ImportDefaultSpecifier' && node.specifiers[0].local) {
        methodSet.add(node.specifiers[0].local.name);
      }
    })
    .remove();

  if (methodSet.size) {
    const methodImport = jscodeshift.importDeclaration(
      Array.from(methodSet).map(method => jscodeshift.importSpecifier(jscodeshift.identifier(method))),
      jscodeshift.literal('../index')
    );

    astPath.value.program.body.unshift(methodImport);
  }
}


================================================
FILE: .scripts/tests/_internal/transform/lodashStable.ts
================================================
import type { Collection, JSCodeshift } from 'jscodeshift';

export function transformLodashStable(root: Collection, jscodeshift: JSCodeshift): void {
  const astPath = root.getAST()[0];
  let needImportEsToolkit = false;

  root
    .find(jscodeshift.CallExpression, {
      callee: {
        type: 'MemberExpression',
        object: {
          name: 'lodashStable',
        },
        property: {
          type: 'Identifier',
        },
      },
    })
    .replaceWith(({ node }) => {
      // this condition is for type narrowing
      if (node.callee.type === 'MemberExpression' && node.callee.property.type === 'Identifier') {
        switch (node.callee.property.name) {
          case 'each':
            node.callee.property.name = 'forEach';
            node.callee.object = node.arguments[0] as any;
            return jscodeshift.callExpression(node.callee, node.arguments.slice(1));

          case 'map':
            node.callee.property.name = 'map';
            node.callee.object = node.arguments[0] as any;
            return jscodeshift.callExpression(node.callee, node.arguments.slice(1));
        }
        // Remove lodashStable from the callee
        node.callee.object = jscodeshift.identifier('esToolkit');
        needImportEsToolkit = true;
      }
      return node;
    });

  if (needImportEsToolkit) {
    const esToolkitImport = jscodeshift.importDeclaration(
      [jscodeshift.importNamespaceSpecifier(jscodeshift.identifier('esToolkit'))],
      jscodeshift.literal('../index')
    );

    astPath.value.program.body.unshift(esToolkitImport);
  }
}


================================================
FILE: .scripts/tests/transform-lodash-test.ts
================================================
import type { API, FileInfo } from 'jscodeshift';
import { formatBrokenSyntax } from './_internal/formatter/brokenSyntax';
import { transformAssert } from './_internal/transform/assert';
import { transformImport } from './_internal/transform/import';
import { transformLodashStable } from './_internal/transform/lodashStable';

export default function transform(file: FileInfo, { jscodeshift }: API) {
  try {
    const root = jscodeshift(formatBrokenSyntax(file.source));
    transformLodashStable(root, jscodeshift);
    transformImport(root, jscodeshift);
    transformAssert(root, jscodeshift);

    return root.toSource();
  } catch (error) {
    if (error instanceof Error) {
      console.error(`File Path: ${file.path}`);
      console.error(`Error Messaging: ${error.message}`);
      console.error('Please resolve the error before continuing.');
      console.error('If you need help, please open an issue on GitHub.');
    }
  }
}


================================================
FILE: .vscode/extensions.json
================================================
{
  "recommendations": ["arcanis.vscode-zipfs", "dbaeumer.vscode-eslint", "esbenp.prettier-vscode"]
}


================================================
FILE: .vscode/settings.json
================================================
{
  "search.exclude": {
    "**/.yarn": true,
    "**/.pnp.*": true
  },
  "eslint.nodePath": ".yarn/sdks",
  "eslint.validate": ["javascript", "javascriptreact", "typescript", "typescriptreact"],
  "prettier.prettierPath": ".yarn/sdks/prettier/index.cjs",
  "typescript.tsdk": ".yarn/sdks/typescript/lib",
  "typescript.enablePromptUseWorkspaceTsdk": true,
  "deno.enablePaths": ["./.scripts/docs"],
  "deno.config": "./.scripts/docs/deno.json",
  "editor.defaultFormatter": "esbenp.prettier-vscode",
  "editor.formatOnSave": true,
  "editor.codeActionsOnSave": {
    "source.fixAll.eslint": "explicit"
  }
}


================================================
FILE: .yarn/releases/yarn-4.12.0.cjs
================================================
#!/usr/bin/env node
/* eslint-disable */
//prettier-ignore
(()=>{var xGe=Object.create;var mU=Object.defineProperty;var kGe=Object.getOwnPropertyDescriptor;var QGe=Object.getOwnPropertyNames;var TGe=Object.getPrototypeOf,RGe=Object.prototype.hasOwnProperty;var Ie=(t=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(t,{get:(e,r)=>(typeof require<"u"?require:e)[r]}):t)(function(t){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+t+'" is not supported')});var Xe=(t,e)=>()=>(t&&(e=t(t=0)),e);var _=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Vt=(t,e)=>{for(var r in e)mU(t,r,{get:e[r],enumerable:!0})},FGe=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let a of QGe(e))!RGe.call(t,a)&&a!==r&&mU(t,a,{get:()=>e[a],enumerable:!(s=kGe(e,a))||s.enumerable});return t};var ut=(t,e,r)=>(r=t!=null?xGe(TGe(t)):{},FGe(e||!t||!t.__esModule?mU(r,"default",{value:t,enumerable:!0}):r,t));var fi={};Vt(fi,{SAFE_TIME:()=>WZ,S_IFDIR:()=>JP,S_IFLNK:()=>KP,S_IFMT:()=>Mf,S_IFREG:()=>N2});var Mf,JP,N2,KP,WZ,YZ=Xe(()=>{Mf=61440,JP=16384,N2=32768,KP=40960,WZ=456789e3});var or={};Vt(or,{EBADF:()=>Mo,EBUSY:()=>NGe,EEXIST:()=>HGe,EINVAL:()=>LGe,EISDIR:()=>_Ge,ENOENT:()=>MGe,ENOSYS:()=>OGe,ENOTDIR:()=>UGe,ENOTEMPTY:()=>GGe,EOPNOTSUPP:()=>qGe,EROFS:()=>jGe,ERR_DIR_CLOSED:()=>yU});function Cc(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}function NGe(t){return Cc("EBUSY",t)}function OGe(t,e){return Cc("ENOSYS",`${t}, ${e}`)}function LGe(t){return Cc("EINVAL",`invalid argument, ${t}`)}function Mo(t){return Cc("EBADF",`bad file descriptor, ${t}`)}function MGe(t){return Cc("ENOENT",`no such file or directory, ${t}`)}function UGe(t){return Cc("ENOTDIR",`not a directory, ${t}`)}function _Ge(t){return Cc("EISDIR",`illegal operation on a directory, ${t}`)}function HGe(t){return Cc("EEXIST",`file already exists, ${t}`)}function jGe(t){return Cc("EROFS",`read-only filesystem, ${t}`)}function GGe(t){return Cc("ENOTEMPTY",`directory not empty, ${t}`)}function qGe(t){return Cc("EOPNOTSUPP",`operation not supported, ${t}`)}function yU(){return Cc("ERR_DIR_CLOSED","Directory handle was closed")}var zP=Xe(()=>{});var $a={};Vt($a,{BigIntStatsEntry:()=>iE,DEFAULT_MODE:()=>CU,DirEntry:()=>EU,StatEntry:()=>nE,areStatsEqual:()=>wU,clearStats:()=>XP,convertToBigIntStats:()=>YGe,makeDefaultStats:()=>VZ,makeEmptyStats:()=>WGe});function VZ(){return new nE}function WGe(){return XP(VZ())}function XP(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r=="number"?t[e]=0:typeof r=="bigint"?t[e]=BigInt(0):IU.types.isDate(r)&&(t[e]=new Date(0))}return t}function YGe(t){let e=new iE;for(let r in t)if(Object.hasOwn(t,r)){let s=t[r];typeof s=="number"?e[r]=BigInt(s):IU.types.isDate(s)&&(e[r]=new Date(s))}return e.atimeNs=e.atimeMs*BigInt(1e6),e.mtimeNs=e.mtimeMs*BigInt(1e6),e.ctimeNs=e.ctimeMs*BigInt(1e6),e.birthtimeNs=e.birthtimeMs*BigInt(1e6),e}function wU(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs||t.blksize!==e.blksize||t.blocks!==e.blocks||t.ctimeMs!==e.ctimeMs||t.dev!==e.dev||t.gid!==e.gid||t.ino!==e.ino||t.isBlockDevice()!==e.isBlockDevice()||t.isCharacterDevice()!==e.isCharacterDevice()||t.isDirectory()!==e.isDirectory()||t.isFIFO()!==e.isFIFO()||t.isFile()!==e.isFile()||t.isSocket()!==e.isSocket()||t.isSymbolicLink()!==e.isSymbolicLink()||t.mode!==e.mode||t.mtimeMs!==e.mtimeMs||t.nlink!==e.nlink||t.rdev!==e.rdev||t.size!==e.size||t.uid!==e.uid)return!1;let r=t,s=e;return!(r.atimeNs!==s.atimeNs||r.mtimeNs!==s.mtimeNs||r.ctimeNs!==s.ctimeNs||r.birthtimeNs!==s.birthtimeNs)}var IU,CU,EU,nE,iE,BU=Xe(()=>{IU=ut(Ie("util")),CU=33188,EU=class{constructor(){this.name="";this.path="";this.mode=0}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},nE=class{constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atimeMs=0;this.mtimeMs=0;this.ctimeMs=0;this.birthtimeMs=0;this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=0;this.ino=0;this.mode=CU;this.nlink=1;this.rdev=0;this.blocks=1}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&61440)===16384}isFIFO(){return!1}isFile(){return(this.mode&61440)===32768}isSocket(){return!1}isSymbolicLink(){return(this.mode&61440)===40960}},iE=class{constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);this.blksize=BigInt(0);this.atimeMs=BigInt(0);this.mtimeMs=BigInt(0);this.ctimeMs=BigInt(0);this.birthtimeMs=BigInt(0);this.atimeNs=BigInt(0);this.mtimeNs=BigInt(0);this.ctimeNs=BigInt(0);this.birthtimeNs=BigInt(0);this.atime=new Date(0);this.mtime=new Date(0);this.ctime=new Date(0);this.birthtime=new Date(0);this.dev=BigInt(0);this.ino=BigInt(0);this.mode=BigInt(CU);this.nlink=BigInt(1);this.rdev=BigInt(0);this.blocks=BigInt(1)}isBlockDevice(){return!1}isCharacterDevice(){return!1}isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}isFIFO(){return!1}isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}isSocket(){return!1}isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}}});function XGe(t){let e,r;if(e=t.match(KGe))t=e[1];else if(r=t.match(zGe))t=`\\\\${r[1]?".\\":""}${r[2]}`;else return t;return t.replace(/\//g,"\\")}function ZGe(t){t=t.replace(/\\/g,"/");let e,r;return(e=t.match(VGe))?t=`/${e[1]}`:(r=t.match(JGe))&&(t=`/unc/${r[1]?".dot/":""}${r[2]}`),t}function ZP(t,e){return t===fe?KZ(e):vU(e)}var O2,vt,Er,fe,J,JZ,VGe,JGe,KGe,zGe,vU,KZ,el=Xe(()=>{O2=ut(Ie("path")),vt={root:"/",dot:".",parent:".."},Er={home:"~",nodeModules:"node_modules",manifest:"package.json",lockfile:"yarn.lock",virtual:"__virtual__",pnpJs:".pnp.js",pnpCjs:".pnp.cjs",pnpData:".pnp.data.json",pnpEsmLoader:".pnp.loader.mjs",rc:".yarnrc.yml",env:".env"},fe=Object.create(O2.default),J=Object.create(O2.default.posix);fe.cwd=()=>process.cwd();J.cwd=process.platform==="win32"?()=>vU(process.cwd()):process.cwd;process.platform==="win32"&&(J.resolve=(...t)=>t.length>0&&J.isAbsolute(t[0])?O2.default.posix.resolve(...t):O2.default.posix.resolve(J.cwd(),...t));JZ=function(t,e,r){return e=t.normalize(e),r=t.normalize(r),e===r?".":(e.endsWith(t.sep)||(e=e+t.sep),r.startsWith(e)?r.slice(e.length):null)};fe.contains=(t,e)=>JZ(fe,t,e);J.contains=(t,e)=>JZ(J,t,e);VGe=/^([a-zA-Z]:.*)$/,JGe=/^\/\/(\.\/)?(.*)$/,KGe=/^\/([a-zA-Z]:.*)$/,zGe=/^\/unc\/(\.dot\/)?(.*)$/;vU=process.platform==="win32"?ZGe:t=>t,KZ=process.platform==="win32"?XGe:t=>t;fe.fromPortablePath=KZ;fe.toPortablePath=vU});async function $P(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.indexPath,{recursive:!0});let s=[];for(let a of r)for(let n of r)s.push(t.mkdirPromise(t.pathUtils.join(e.indexPath,`${a}${n}`),{recursive:!0}));return await Promise.all(s),e.indexPath}async function zZ(t,e,r,s,a){let n=t.pathUtils.normalize(e),c=r.pathUtils.normalize(s),f=[],p=[],{atime:h,mtime:E}=a.stableTime?{atime:dd,mtime:dd}:await r.lstatPromise(c);await t.mkdirpPromise(t.pathUtils.dirname(e),{utimes:[h,E]}),await SU(f,p,t,n,r,c,{...a,didParentExist:!0});for(let C of f)await C();await Promise.all(p.map(C=>C()))}async function SU(t,e,r,s,a,n,c){let f=c.didParentExist?await XZ(r,s):null,p=await a.lstatPromise(n),{atime:h,mtime:E}=c.stableTime?{atime:dd,mtime:dd}:p,C;switch(!0){case p.isDirectory():C=await e5e(t,e,r,s,f,a,n,p,c);break;case p.isFile():C=await n5e(t,e,r,s,f,a,n,p,c);break;case p.isSymbolicLink():C=await i5e(t,e,r,s,f,a,n,p,c);break;default:throw new Error(`Unsupported file type (${p.mode})`)}return(c.linkStrategy?.type!=="HardlinkFromIndex"||!p.isFile())&&((C||f?.mtime?.getTime()!==E.getTime()||f?.atime?.getTime()!==h.getTime())&&(e.push(()=>r.lutimesPromise(s,h,E)),C=!0),(f===null||(f.mode&511)!==(p.mode&511))&&(e.push(()=>r.chmodPromise(s,p.mode&511)),C=!0)),C}async function XZ(t,e){try{return await t.lstatPromise(e)}catch{return null}}async function e5e(t,e,r,s,a,n,c,f,p){if(a!==null&&!a.isDirectory())if(p.overwrite)t.push(async()=>r.removePromise(s)),a=null;else return!1;let h=!1;a===null&&(t.push(async()=>{try{await r.mkdirPromise(s,{mode:f.mode})}catch(S){if(S.code!=="EEXIST")throw S}}),h=!0);let E=await n.readdirPromise(c),C=p.didParentExist&&!a?{...p,didParentExist:!1}:p;if(p.stableSort)for(let S of E.sort())await SU(t,e,r,r.pathUtils.join(s,S),n,n.pathUtils.join(c,S),C)&&(h=!0);else(await Promise.all(E.map(async P=>{await SU(t,e,r,r.pathUtils.join(s,P),n,n.pathUtils.join(c,P),C)}))).some(P=>P)&&(h=!0);return h}async function t5e(t,e,r,s,a,n,c,f,p,h){let E=await n.checksumFilePromise(c,{algorithm:"sha1"}),C=420,S=f.mode&511,P=`${E}${S!==C?S.toString(8):""}`,I=r.pathUtils.join(h.indexPath,E.slice(0,2),`${P}.dat`),R;(le=>(le[le.Lock=0]="Lock",le[le.Rename=1]="Rename"))(R||={});let N=1,U=await XZ(r,I);if(a){let ie=U&&a.dev===U.dev&&a.ino===U.ino,ue=U?.mtimeMs!==$Ge;if(ie&&ue&&h.autoRepair&&(N=0,U=null),!ie)if(p.overwrite)t.push(async()=>r.removePromise(s)),a=null;else return!1}let W=!U&&N===1?`${I}.${Math.floor(Math.random()*4294967296).toString(16).padStart(8,"0")}`:null,ee=!1;return t.push(async()=>{if(!U&&(N===0&&await r.lockPromise(I,async()=>{let ie=await n.readFilePromise(c);await r.writeFilePromise(I,ie)}),N===1&&W)){let ie=await n.readFilePromise(c);await r.writeFilePromise(W,ie);try{await r.linkPromise(W,I)}catch(ue){if(ue.code==="EEXIST")ee=!0,await r.unlinkPromise(W);else throw ue}}a||await r.linkPromise(I,s)}),e.push(async()=>{U||(await r.lutimesPromise(I,dd,dd),S!==C&&await r.chmodPromise(I,S)),W&&!ee&&await r.unlinkPromise(W)}),!1}async function r5e(t,e,r,s,a,n,c,f,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(s)),a=null;else return!1;return t.push(async()=>{let h=await n.readFilePromise(c);await r.writeFilePromise(s,h)}),!0}async function n5e(t,e,r,s,a,n,c,f,p){return p.linkStrategy?.type==="HardlinkFromIndex"?t5e(t,e,r,s,a,n,c,f,p,p.linkStrategy):r5e(t,e,r,s,a,n,c,f,p)}async function i5e(t,e,r,s,a,n,c,f,p){if(a!==null)if(p.overwrite)t.push(async()=>r.removePromise(s)),a=null;else return!1;return t.push(async()=>{await r.symlinkPromise(ZP(r.pathUtils,await n.readlinkPromise(c)),s)}),!0}var dd,$Ge,DU=Xe(()=>{el();dd=new Date(456789e3*1e3),$Ge=dd.getTime()});function ex(t,e,r,s){let a=()=>{let n=r.shift();if(typeof n>"u")return null;let c=t.pathUtils.join(e,n);return Object.assign(t.statSync(c),{name:n,path:void 0})};return new L2(e,a,s)}var L2,ZZ=Xe(()=>{zP();L2=class{constructor(e,r,s={}){this.path=e;this.nextDirent=r;this.opts=s;this.closed=!1}throwIfClosed(){if(this.closed)throw yU()}async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==null;)yield e}finally{await this.close()}}read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.resolve(r)}readSync(){return this.throwIfClosed(),this.nextDirent()}close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}}});function $Z(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: expected '${e}', got '${t}'`)}var e$,tx,t$=Xe(()=>{e$=Ie("events");BU();tx=class t extends e$.EventEmitter{constructor(r,s,{bigint:a=!1}={}){super();this.status="ready";this.changeListeners=new Map;this.startTimeout=null;this.fakeFs=r,this.path=s,this.bigint=a,this.lastStats=this.stat()}static create(r,s,a){let n=new t(r,s,a);return n.start(),n}start(){$Z(this.status,"ready"),this.status="running",this.startTimeout=setTimeout(()=>{this.startTimeout=null,this.fakeFs.existsSync(this.path)||this.emit("change",this.lastStats,this.lastStats)},3)}stop(){$Z(this.status,"running"),this.status="stopped",this.startTimeout!==null&&(clearTimeout(this.startTimeout),this.startTimeout=null),this.emit("stop")}stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}catch{let r=this.bigint?new iE:new nE;return XP(r)}}makeInterval(r){let s=setInterval(()=>{let a=this.stat(),n=this.lastStats;wU(a,n)||(this.lastStats=a,this.emit("change",a,n))},r.interval);return r.persistent?s:s.unref()}registerChangeListener(r,s){this.addListener("change",r),this.changeListeners.set(r,this.makeInterval(s))}unregisterChangeListener(r){this.removeListener("change",r);let s=this.changeListeners.get(r);typeof s<"u"&&clearInterval(s),this.changeListeners.delete(r)}unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())this.unregisterChangeListener(r)}hasChangeListeners(){return this.changeListeners.size>0}ref(){for(let r of this.changeListeners.values())r.ref();return this}unref(){for(let r of this.changeListeners.values())r.unref();return this}}});function sE(t,e,r,s){let a,n,c,f;switch(typeof r){case"function":a=!1,n=!0,c=5007,f=r;break;default:({bigint:a=!1,persistent:n=!0,interval:c=5007}=r),f=s;break}let p=rx.get(t);typeof p>"u"&&rx.set(t,p=new Map);let h=p.get(e);return typeof h>"u"&&(h=tx.create(t,e,{bigint:a}),p.set(e,h)),h.registerChangeListener(f,{persistent:n,interval:c}),h}function md(t,e,r){let s=rx.get(t);if(typeof s>"u")return;let a=s.get(e);typeof a>"u"||(typeof r>"u"?a.unregisterAllChangeListeners():a.unregisterChangeListener(r),a.hasChangeListeners()||(a.stop(),s.delete(e)))}function yd(t){let e=rx.get(t);if(!(typeof e>"u"))for(let r of e.keys())md(t,r)}var rx,bU=Xe(()=>{t$();rx=new WeakMap});function s5e(t){let e=t.match(/\r?\n/g);if(e===null)return n$.EOL;let r=e.filter(a=>a===`\r
`).length,s=e.length-r;return r>s?`\r
`:`
`}function Ed(t,e){return e.replace(/\r?\n/g,s5e(t))}var r$,n$,mp,Uf,Id=Xe(()=>{r$=Ie("crypto"),n$=Ie("os");DU();el();mp=class{constructor(e){this.pathUtils=e}async*genTraversePromise(e,{stableSort:r=!1}={}){let s=[e];for(;s.length>0;){let a=s.shift();if((await this.lstatPromise(a)).isDirectory()){let c=await this.readdirPromise(a);if(r)for(let f of c.sort())s.push(this.pathUtils.join(a,f));else throw new Error("Not supported")}else yield a}}async checksumFilePromise(e,{algorithm:r="sha512"}={}){let s=await this.openPromise(e,"r");try{let n=Buffer.allocUnsafeSlow(65536),c=(0,r$.createHash)(r),f=0;for(;(f=await this.readPromise(s,n,0,65536))!==0;)c.update(f===65536?n:n.slice(0,f));return c.digest("hex")}finally{await this.closePromise(s)}}async removePromise(e,{recursive:r=!0,maxRetries:s=5}={}){let a;try{a=await this.lstatPromise(e)}catch(n){if(n.code==="ENOENT")return;throw n}if(a.isDirectory()){if(r){let n=await this.readdirPromise(e);await Promise.all(n.map(c=>this.removePromise(this.pathUtils.resolve(e,c))))}for(let n=0;n<=s;n++)try{await this.rmdirPromise(e);break}catch(c){if(c.code!=="EBUSY"&&c.code!=="ENOTEMPTY")throw c;n<s&&await new Promise(f=>setTimeout(f,n*100))}}else await this.unlinkPromise(e)}removeSync(e,{recursive:r=!0}={}){let s;try{s=this.lstatSync(e)}catch(a){if(a.code==="ENOENT")return;throw a}if(s.isDirectory()){if(r)for(let a of this.readdirSync(e))this.removeSync(this.pathUtils.resolve(e,a));this.rmdirSync(e)}else this.unlinkSync(e)}async mkdirpPromise(e,{chmod:r,utimes:s}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let c=2;c<=a.length;++c){let f=a.slice(0,c).join(this.pathUtils.sep);if(!this.existsSync(f)){try{await this.mkdirPromise(f)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=f,r!=null&&await this.chmodPromise(f,r),s!=null)await this.utimesPromise(f,s[0],s[1]);else{let p=await this.statPromise(this.pathUtils.dirname(f));await this.utimesPromise(f,p.atime,p.mtime)}}}return n}mkdirpSync(e,{chmod:r,utimes:s}={}){if(e=this.resolve(e),e===this.pathUtils.dirname(e))return;let a=e.split(this.pathUtils.sep),n;for(let c=2;c<=a.length;++c){let f=a.slice(0,c).join(this.pathUtils.sep);if(!this.existsSync(f)){try{this.mkdirSync(f)}catch(p){if(p.code==="EEXIST")continue;throw p}if(n??=f,r!=null&&this.chmodSync(f,r),s!=null)this.utimesSync(f,s[0],s[1]);else{let p=this.statSync(this.pathUtils.dirname(f));this.utimesSync(f,p.atime,p.mtime)}}}return n}async copyPromise(e,r,{baseFs:s=this,overwrite:a=!0,stableSort:n=!1,stableTime:c=!1,linkStrategy:f=null}={}){return await zZ(this,e,s,r,{overwrite:a,stableSort:n,stableTime:c,linkStrategy:f})}copySync(e,r,{baseFs:s=this,overwrite:a=!0}={}){let n=s.lstatSync(r),c=this.existsSync(e);if(n.isDirectory()){this.mkdirpSync(e);let p=s.readdirSync(r);for(let h of p)this.copySync(this.pathUtils.join(e,h),s.pathUtils.join(r,h),{baseFs:s,overwrite:a})}else if(n.isFile()){if(!c||a){c&&this.removeSync(e);let p=s.readFileSync(r);this.writeFileSync(e,p)}}else if(n.isSymbolicLink()){if(!c||a){c&&this.removeSync(e);let p=s.readlinkSync(r);this.symlinkSync(ZP(this.pathUtils,p),e)}}else throw new Error(`Unsupported file type (file: ${r}, mode: 0o${n.mode.toString(8).padStart(6,"0")})`);let f=n.mode&511;this.chmodSync(e,f)}async changeFilePromise(e,r,s={}){return Buffer.isBuffer(r)?this.changeFileBufferPromise(e,r,s):this.changeFileTextPromise(e,r,s)}async changeFileBufferPromise(e,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=await this.readFilePromise(e)}catch{}Buffer.compare(a,r)!==0&&await this.writeFilePromise(e,r,{mode:s})}async changeFileTextPromise(e,r,{automaticNewlines:s,mode:a}={}){let n="";try{n=await this.readFilePromise(e,"utf8")}catch{}let c=s?Ed(n,r):r;n!==c&&await this.writeFilePromise(e,c,{mode:a})}changeFileSync(e,r,s={}){return Buffer.isBuffer(r)?this.changeFileBufferSync(e,r,s):this.changeFileTextSync(e,r,s)}changeFileBufferSync(e,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=this.readFileSync(e)}catch{}Buffer.compare(a,r)!==0&&this.writeFileSync(e,r,{mode:s})}changeFileTextSync(e,r,{automaticNewlines:s=!1,mode:a}={}){let n="";try{n=this.readFileSync(e,"utf8")}catch{}let c=s?Ed(n,r):r;n!==c&&this.writeFileSync(e,c,{mode:a})}async movePromise(e,r){try{await this.renamePromise(e,r)}catch(s){if(s.code==="EXDEV")await this.copyPromise(r,e),await this.removePromise(e);else throw s}}moveSync(e,r){try{this.renameSync(e,r)}catch(s){if(s.code==="EXDEV")this.copySync(r,e),this.removeSync(e);else throw s}}async lockPromise(e,r){let s=`${e}.flock`,a=1e3/60,n=Date.now(),c=null,f=async()=>{let p;try{[p]=await this.readJsonPromise(s)}catch{return Date.now()-n<500}try{return process.kill(p,0),!0}catch{return!1}};for(;c===null;)try{c=await this.openPromise(s,"wx")}catch(p){if(p.code==="EEXIST"){if(!await f())try{await this.unlinkPromise(s);continue}catch{}if(Date.now()-n<60*1e3)await new Promise(h=>setTimeout(h,a));else throw new Error(`Couldn't acquire a lock in a reasonable time (via ${s})`)}else throw p}await this.writePromise(c,JSON.stringify([process.pid]));try{return await r()}finally{try{await this.closePromise(c),await this.unlinkPromise(s)}catch{}}}async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{return JSON.parse(r)}catch(s){throw s.message+=` (in ${e})`,s}}readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(r)}catch(s){throw s.message+=` (in ${e})`,s}}async writeJsonPromise(e,r,{compact:s=!1}={}){let a=s?0:2;return await this.writeFilePromise(e,`${JSON.stringify(r,null,a)}
`)}writeJsonSync(e,r,{compact:s=!1}={}){let a=s?0:2;return this.writeFileSync(e,`${JSON.stringify(r,null,a)}
`)}async preserveTimePromise(e,r){let s=await this.lstatPromise(e),a=await r();typeof a<"u"&&(e=a),await this.lutimesPromise(e,s.atime,s.mtime)}async preserveTimeSync(e,r){let s=this.lstatSync(e),a=r();typeof a<"u"&&(e=a),this.lutimesSync(e,s.atime,s.mtime)}},Uf=class extends mp{constructor(){super(J)}}});var _s,yp=Xe(()=>{Id();_s=class extends mp{getExtractHint(e){return this.baseFs.getExtractHint(e)}resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}async openPromise(e,r,s){return this.baseFs.openPromise(this.mapToBase(e),r,s)}openSync(e,r,s){return this.baseFs.openSync(this.mapToBase(e),r,s)}async opendirPromise(e,r){return Object.assign(await this.baseFs.opendirPromise(this.mapToBase(e),r),{path:e})}opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapToBase(e),r),{path:e})}async readPromise(e,r,s,a,n){return await this.baseFs.readPromise(e,r,s,a,n)}readSync(e,r,s,a,n){return this.baseFs.readSync(e,r,s,a,n)}async writePromise(e,r,s,a,n){return typeof r=="string"?await this.baseFs.writePromise(e,r,s):await this.baseFs.writePromise(e,r,s,a,n)}writeSync(e,r,s,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r,s):this.baseFs.writeSync(e,r,s,a,n)}async closePromise(e){return this.baseFs.closePromise(e)}closeSync(e){this.baseFs.closeSync(e)}createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this.mapToBase(e):e,r)}createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?this.mapToBase(e):e,r)}async realpathPromise(e){return this.mapFromBase(await this.baseFs.realpathPromise(this.mapToBase(e)))}realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.mapToBase(e)))}async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase(e),r)}async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}fstatSync(e,r){return this.baseFs.fstatSync(e,r)}lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e),r)}chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}async fchownPromise(e,r,s){return this.baseFs.fchownPromise(e,r,s)}fchownSync(e,r,s){return this.baseFs.fchownSync(e,r,s)}async chownPromise(e,r,s){return this.baseFs.chownPromise(this.mapToBase(e),r,s)}chownSync(e,r,s){return this.baseFs.chownSync(this.mapToBase(e),r,s)}async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase(e),this.mapToBase(r))}renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.mapToBase(r))}async copyFilePromise(e,r,s=0){return this.baseFs.copyFilePromise(this.mapToBase(e),this.mapToBase(r),s)}copyFileSync(e,r,s=0){return this.baseFs.copyFileSync(this.mapToBase(e),this.mapToBase(r),s)}async appendFilePromise(e,r,s){return this.baseFs.appendFilePromise(this.fsMapToBase(e),r,s)}appendFileSync(e,r,s){return this.baseFs.appendFileSync(this.fsMapToBase(e),r,s)}async writeFilePromise(e,r,s){return this.baseFs.writeFilePromise(this.fsMapToBase(e),r,s)}writeFileSync(e,r,s){return this.baseFs.writeFileSync(this.fsMapToBase(e),r,s)}async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}async utimesPromise(e,r,s){return this.baseFs.utimesPromise(this.mapToBase(e),r,s)}utimesSync(e,r,s){return this.baseFs.utimesSync(this.mapToBase(e),r,s)}async lutimesPromise(e,r,s){return this.baseFs.lutimesPromise(this.mapToBase(e),r,s)}lutimesSync(e,r,s){return this.baseFs.lutimesSync(this.mapToBase(e),r,s)}async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e),r)}mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e),r)}rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}async rmPromise(e,r){return this.baseFs.rmPromise(this.mapToBase(e),r)}rmSync(e,r){return this.baseFs.rmSync(this.mapToBase(e),r)}async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),this.mapToBase(r))}linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBase(r))}async symlinkPromise(e,r,s){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkPromise(this.mapToBase(e),a,s);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),c=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkPromise(c,a,s)}symlinkSync(e,r,s){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(e))return this.baseFs.symlinkSync(this.mapToBase(e),a,s);let n=this.mapToBase(this.pathUtils.join(this.pathUtils.dirname(r),e)),c=this.baseFs.pathUtils.relative(this.baseFs.pathUtils.dirname(a),n);return this.baseFs.symlinkSync(c,a,s)}async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMapToBase(e),r)}readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readlinkPromise(this.mapToBase(e)))}readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.mapToBase(e)))}async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapToBase(e),r)}truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}watch(e,r,s){return this.baseFs.watch(this.mapToBase(e),r,s)}watchFile(e,r,s){return this.baseFs.watchFile(this.mapToBase(e),r,s)}unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}}});var _f,i$=Xe(()=>{yp();_f=class extends _s{constructor(e,{baseFs:r,pathUtils:s}){super(s),this.target=e,this.baseFs=r}getRealPath(){return this.target}getBaseFs(){return this.baseFs}mapFromBase(e){return e}mapToBase(e){return e}}});function s$(t){let e=t;return typeof t.path=="string"&&(e.path=fe.toPortablePath(t.path)),e}var o$,Yn,Cd=Xe(()=>{o$=ut(Ie("fs"));Id();el();Yn=class extends Uf{constructor(e=o$.default){super(),this.realFs=e}getExtractHint(){return!1}getRealPath(){return vt.root}resolve(e){return J.resolve(e)}async openPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.open(fe.fromPortablePath(e),r,s,this.makeCallback(a,n))})}openSync(e,r,s){return this.realFs.openSync(fe.fromPortablePath(e),r,s)}async opendirPromise(e,r){return await new Promise((s,a)=>{typeof r<"u"?this.realFs.opendir(fe.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.opendir(fe.fromPortablePath(e),this.makeCallback(s,a))}).then(s=>{let a=s;return Object.defineProperty(a,"path",{value:e,configurable:!0,writable:!0}),a})}opendirSync(e,r){let a=typeof r<"u"?this.realFs.opendirSync(fe.fromPortablePath(e),r):this.realFs.opendirSync(fe.fromPortablePath(e));return Object.defineProperty(a,"path",{value:e,configurable:!0,writable:!0}),a}async readPromise(e,r,s=0,a=0,n=-1){return await new Promise((c,f)=>{this.realFs.read(e,r,s,a,n,(p,h)=>{p?f(p):c(h)})})}readSync(e,r,s,a,n){return this.realFs.readSync(e,r,s,a,n)}async writePromise(e,r,s,a,n){return await new Promise((c,f)=>typeof r=="string"?this.realFs.write(e,r,s,this.makeCallback(c,f)):this.realFs.write(e,r,s,a,n,this.makeCallback(c,f)))}writeSync(e,r,s,a,n){return typeof r=="string"?this.realFs.writeSync(e,r,s):this.realFs.writeSync(e,r,s,a,n)}async closePromise(e){await new Promise((r,s)=>{this.realFs.close(e,this.makeCallback(r,s))})}closeSync(e){this.realFs.closeSync(e)}createReadStream(e,r){let s=e!==null?fe.fromPortablePath(e):e;return this.realFs.createReadStream(s,r)}createWriteStream(e,r){let s=e!==null?fe.fromPortablePath(e):e;return this.realFs.createWriteStream(s,r)}async realpathPromise(e){return await new Promise((r,s)=>{this.realFs.realpath(fe.fromPortablePath(e),{},this.makeCallback(r,s))}).then(r=>fe.toPortablePath(r))}realpathSync(e){return fe.toPortablePath(this.realFs.realpathSync(fe.fromPortablePath(e),{}))}async existsPromise(e){return await new Promise(r=>{this.realFs.exists(fe.fromPortablePath(e),r)})}accessSync(e,r){return this.realFs.accessSync(fe.fromPortablePath(e),r)}async accessPromise(e,r){return await new Promise((s,a)=>{this.realFs.access(fe.fromPortablePath(e),r,this.makeCallback(s,a))})}existsSync(e){return this.realFs.existsSync(fe.fromPortablePath(e))}async statPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.stat(fe.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.stat(fe.fromPortablePath(e),this.makeCallback(s,a))})}statSync(e,r){return r?this.realFs.statSync(fe.fromPortablePath(e),r):this.realFs.statSync(fe.fromPortablePath(e))}async fstatPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.fstat(e,r,this.makeCallback(s,a)):this.realFs.fstat(e,this.makeCallback(s,a))})}fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync(e)}async lstatPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.lstat(fe.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.lstat(fe.fromPortablePath(e),this.makeCallback(s,a))})}lstatSync(e,r){return r?this.realFs.lstatSync(fe.fromPortablePath(e),r):this.realFs.lstatSync(fe.fromPortablePath(e))}async fchmodPromise(e,r){return await new Promise((s,a)=>{this.realFs.fchmod(e,r,this.makeCallback(s,a))})}fchmodSync(e,r){return this.realFs.fchmodSync(e,r)}async chmodPromise(e,r){return await new Promise((s,a)=>{this.realFs.chmod(fe.fromPortablePath(e),r,this.makeCallback(s,a))})}chmodSync(e,r){return this.realFs.chmodSync(fe.fromPortablePath(e),r)}async fchownPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.fchown(e,r,s,this.makeCallback(a,n))})}fchownSync(e,r,s){return this.realFs.fchownSync(e,r,s)}async chownPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.chown(fe.fromPortablePath(e),r,s,this.makeCallback(a,n))})}chownSync(e,r,s){return this.realFs.chownSync(fe.fromPortablePath(e),r,s)}async renamePromise(e,r){return await new Promise((s,a)=>{this.realFs.rename(fe.fromPortablePath(e),fe.fromPortablePath(r),this.makeCallback(s,a))})}renameSync(e,r){return this.realFs.renameSync(fe.fromPortablePath(e),fe.fromPortablePath(r))}async copyFilePromise(e,r,s=0){return await new Promise((a,n)=>{this.realFs.copyFile(fe.fromPortablePath(e),fe.fromPortablePath(r),s,this.makeCallback(a,n))})}copyFileSync(e,r,s=0){return this.realFs.copyFileSync(fe.fromPortablePath(e),fe.fromPortablePath(r),s)}async appendFilePromise(e,r,s){return await new Promise((a,n)=>{let c=typeof e=="string"?fe.fromPortablePath(e):e;s?this.realFs.appendFile(c,r,s,this.makeCallback(a,n)):this.realFs.appendFile(c,r,this.makeCallback(a,n))})}appendFileSync(e,r,s){let a=typeof e=="string"?fe.fromPortablePath(e):e;s?this.realFs.appendFileSync(a,r,s):this.realFs.appendFileSync(a,r)}async writeFilePromise(e,r,s){return await new Promise((a,n)=>{let c=typeof e=="string"?fe.fromPortablePath(e):e;s?this.realFs.writeFile(c,r,s,this.makeCallback(a,n)):this.realFs.writeFile(c,r,this.makeCallback(a,n))})}writeFileSync(e,r,s){let a=typeof e=="string"?fe.fromPortablePath(e):e;s?this.realFs.writeFileSync(a,r,s):this.realFs.writeFileSync(a,r)}async unlinkPromise(e){return await new Promise((r,s)=>{this.realFs.unlink(fe.fromPortablePath(e),this.makeCallback(r,s))})}unlinkSync(e){return this.realFs.unlinkSync(fe.fromPortablePath(e))}async utimesPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.utimes(fe.fromPortablePath(e),r,s,this.makeCallback(a,n))})}utimesSync(e,r,s){this.realFs.utimesSync(fe.fromPortablePath(e),r,s)}async lutimesPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.lutimes(fe.fromPortablePath(e),r,s,this.makeCallback(a,n))})}lutimesSync(e,r,s){this.realFs.lutimesSync(fe.fromPortablePath(e),r,s)}async mkdirPromise(e,r){return await new Promise((s,a)=>{this.realFs.mkdir(fe.fromPortablePath(e),r,this.makeCallback(s,a))})}mkdirSync(e,r){return this.realFs.mkdirSync(fe.fromPortablePath(e),r)}async rmdirPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.rmdir(fe.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.rmdir(fe.fromPortablePath(e),this.makeCallback(s,a))})}rmdirSync(e,r){return this.realFs.rmdirSync(fe.fromPortablePath(e),r)}async rmPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.rm(fe.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.rm(fe.fromPortablePath(e),this.makeCallback(s,a))})}rmSync(e,r){return this.realFs.rmSync(fe.fromPortablePath(e),r)}async linkPromise(e,r){return await new Promise((s,a)=>{this.realFs.link(fe.fromPortablePath(e),fe.fromPortablePath(r),this.makeCallback(s,a))})}linkSync(e,r){return this.realFs.linkSync(fe.fromPortablePath(e),fe.fromPortablePath(r))}async symlinkPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.symlink(fe.fromPortablePath(e.replace(/\/+$/,"")),fe.fromPortablePath(r),s,this.makeCallback(a,n))})}symlinkSync(e,r,s){return this.realFs.symlinkSync(fe.fromPortablePath(e.replace(/\/+$/,"")),fe.fromPortablePath(r),s)}async readFilePromise(e,r){return await new Promise((s,a)=>{let n=typeof e=="string"?fe.fromPortablePath(e):e;this.realFs.readFile(n,r,this.makeCallback(s,a))})}readFileSync(e,r){let s=typeof e=="string"?fe.fromPortablePath(e):e;return this.realFs.readFileSync(s,r)}async readdirPromise(e,r){return await new Promise((s,a)=>{r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdir(fe.fromPortablePath(e),r,this.makeCallback(n=>s(n.map(s$)),a)):this.realFs.readdir(fe.fromPortablePath(e),r,this.makeCallback(n=>s(n.map(fe.toPortablePath)),a)):this.realFs.readdir(fe.fromPortablePath(e),r,this.makeCallback(s,a)):this.realFs.readdir(fe.fromPortablePath(e),this.makeCallback(s,a))})}readdirSync(e,r){return r?r.recursive&&process.platform==="win32"?r.withFileTypes?this.realFs.readdirSync(fe.fromPortablePath(e),r).map(s$):this.realFs.readdirSync(fe.fromPortablePath(e),r).map(fe.toPortablePath):this.realFs.readdirSync(fe.fromPortablePath(e),r):this.realFs.readdirSync(fe.fromPortablePath(e))}async readlinkPromise(e){return await new Promise((r,s)=>{this.realFs.readlink(fe.fromPortablePath(e),this.makeCallback(r,s))}).then(r=>fe.toPortablePath(r))}readlinkSync(e){return fe.toPortablePath(this.realFs.readlinkSync(fe.fromPortablePath(e)))}async truncatePromise(e,r){return await new Promise((s,a)=>{this.realFs.truncate(fe.fromPortablePath(e),r,this.makeCallback(s,a))})}truncateSync(e,r){return this.realFs.truncateSync(fe.fromPortablePath(e),r)}async ftruncatePromise(e,r){return await new Promise((s,a)=>{this.realFs.ftruncate(e,r,this.makeCallback(s,a))})}ftruncateSync(e,r){return this.realFs.ftruncateSync(e,r)}watch(e,r,s){return this.realFs.watch(fe.fromPortablePath(e),r,s)}watchFile(e,r,s){return this.realFs.watchFile(fe.fromPortablePath(e),r,s)}unwatchFile(e,r){return this.realFs.unwatchFile(fe.fromPortablePath(e),r)}makeCallback(e,r){return(s,a)=>{s?r(s):e(a)}}}});var Sn,a$=Xe(()=>{Cd();yp();el();Sn=class extends _s{constructor(e,{baseFs:r=new Yn}={}){super(J),this.target=this.pathUtils.normalize(e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.target)}resolve(e){return this.pathUtils.isAbsolute(e)?J.normalize(e):this.baseFs.resolve(J.join(this.target,e))}mapFromBase(e){return e}mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(this.target,e)}}});var l$,Hf,c$=Xe(()=>{Cd();yp();el();l$=vt.root,Hf=class extends _s{constructor(e,{baseFs:r=new Yn}={}){super(J),this.target=this.pathUtils.resolve(vt.root,e),this.baseFs=r}getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),this.pathUtils.relative(vt.root,this.target))}getTarget(){return this.target}getBaseFs(){return this.baseFs}mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsolute(e))return this.pathUtils.resolve(this.target,this.pathUtils.relative(l$,e));if(r.match(/^\.\.\/?/))throw new Error(`Resolving this path (${e}) would escape the jail`);return this.pathUtils.resolve(this.target,e)}mapFromBase(e){return this.pathUtils.resolve(l$,this.pathUtils.relative(this.target,e))}}});var oE,u$=Xe(()=>{yp();oE=class extends _s{constructor(r,s){super(s);this.instance=null;this.factory=r}get baseFs(){return this.instance||(this.instance=this.factory()),this.instance}set baseFs(r){this.instance=r}mapFromBase(r){return r}mapToBase(r){return r}}});var wd,tl,e0,f$=Xe(()=>{wd=Ie("fs");Id();Cd();bU();zP();el();tl=4278190080,e0=class extends Uf{constructor({baseFs:r=new Yn,filter:s=null,magicByte:a=42,maxOpenFiles:n=1/0,useCache:c=!0,maxAge:f=5e3,typeCheck:p=wd.constants.S_IFREG,getMountPoint:h,factoryPromise:E,factorySync:C}){if(Math.floor(a)!==a||!(a>1&&a<=127))throw new Error("The magic byte must be set to a round value between 1 and 127 included");super();this.fdMap=new Map;this.nextFd=3;this.isMount=new Set;this.notMount=new Set;this.realPaths=new Map;this.limitOpenFilesTimeout=null;this.baseFs=r,this.mountInstances=c?new Map:null,this.factoryPromise=E,this.factorySync=C,this.filter=s,this.getMountPoint=h,this.magic=a<<24,this.maxAge=f,this.maxOpenFiles=n,this.typeCheck=p}getExtractHint(r){return this.baseFs.getExtractHint(r)}getRealPath(){return this.baseFs.getRealPath()}saveAndClose(){if(yd(this),this.mountInstances)for(let[r,{childFs:s}]of this.mountInstances.entries())s.saveAndClose?.(),this.mountInstances.delete(r)}discardAndClose(){if(yd(this),this.mountInstances)for(let[r,{childFs:s}]of this.mountInstances.entries())s.discardAndClose?.(),this.mountInstances.delete(r)}resolve(r){return this.baseFs.resolve(r)}remapFd(r,s){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,s]),a}async openPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.openPromise(r,s,a),async(n,{subPath:c})=>this.remapFd(n,await n.openPromise(c,s,a)))}openSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,s,a),(n,{subPath:c})=>this.remapFd(n,n.openSync(c,s,a)))}async opendirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.opendirPromise(r,s),async(a,{subPath:n})=>await a.opendirPromise(n,s),{requireSubpath:!1})}opendirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.opendirSync(r,s),(a,{subPath:n})=>a.opendirSync(n,s),{requireSubpath:!1})}async readPromise(r,s,a,n,c){if((r&tl)!==this.magic)return await this.baseFs.readPromise(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw Mo("read");let[p,h]=f;return await p.readPromise(h,s,a,n,c)}readSync(r,s,a,n,c){if((r&tl)!==this.magic)return this.baseFs.readSync(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw Mo("readSync");let[p,h]=f;return p.readSync(h,s,a,n,c)}async writePromise(r,s,a,n,c){if((r&tl)!==this.magic)return typeof s=="string"?await this.baseFs.writePromise(r,s,a):await this.baseFs.writePromise(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw Mo("write");let[p,h]=f;return typeof s=="string"?await p.writePromise(h,s,a):await p.writePromise(h,s,a,n,c)}writeSync(r,s,a,n,c){if((r&tl)!==this.magic)return typeof s=="string"?this.baseFs.writeSync(r,s,a):this.baseFs.writeSync(r,s,a,n,c);let f=this.fdMap.get(r);if(typeof f>"u")throw Mo("writeSync");let[p,h]=f;return typeof s=="string"?p.writeSync(h,s,a):p.writeSync(h,s,a,n,c)}async closePromise(r){if((r&tl)!==this.magic)return await this.baseFs.closePromise(r);let s=this.fdMap.get(r);if(typeof s>"u")throw Mo("close");this.fdMap.delete(r);let[a,n]=s;return await a.closePromise(n)}closeSync(r){if((r&tl)!==this.magic)return this.baseFs.closeSync(r);let s=this.fdMap.get(r);if(typeof s>"u")throw Mo("closeSync");this.fdMap.delete(r);let[a,n]=s;return a.closeSync(n)}createReadStream(r,s){return r===null?this.baseFs.createReadStream(r,s):this.makeCallSync(r,()=>this.baseFs.createReadStream(r,s),(a,{archivePath:n,subPath:c})=>{let f=a.createReadStream(c,s);return f.path=fe.fromPortablePath(this.pathUtils.join(n,c)),f})}createWriteStream(r,s){return r===null?this.baseFs.createWriteStream(r,s):this.makeCallSync(r,()=>this.baseFs.createWriteStream(r,s),(a,{subPath:n})=>a.createWriteStream(n,s))}async realpathPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.realpathPromise(r),async(s,{archivePath:a,subPath:n})=>{let c=this.realPaths.get(a);return typeof c>"u"&&(c=await this.baseFs.realpathPromise(a),this.realPaths.set(a,c)),this.pathUtils.join(c,this.pathUtils.relative(vt.root,await s.realpathPromise(n)))})}realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(r),(s,{archivePath:a,subPath:n})=>{let c=this.realPaths.get(a);return typeof c>"u"&&(c=this.baseFs.realpathSync(a),this.realPaths.set(a,c)),this.pathUtils.join(c,this.pathUtils.relative(vt.root,s.realpathSync(n)))})}async existsPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.existsPromise(r),async(s,{subPath:a})=>await s.existsPromise(a))}existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(s,{subPath:a})=>s.existsSync(a))}async accessPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.accessPromise(r,s),async(a,{subPath:n})=>await a.accessPromise(n,s))}accessSync(r,s){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,s),(a,{subPath:n})=>a.accessSync(n,s))}async statPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.statPromise(r,s),async(a,{subPath:n})=>await a.statPromise(n,s))}statSync(r,s){return this.makeCallSync(r,()=>this.baseFs.statSync(r,s),(a,{subPath:n})=>a.statSync(n,s))}async fstatPromise(r,s){if((r&tl)!==this.magic)return this.baseFs.fstatPromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Mo("fstat");let[n,c]=a;return n.fstatPromise(c,s)}fstatSync(r,s){if((r&tl)!==this.magic)return this.baseFs.fstatSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Mo("fstatSync");let[n,c]=a;return n.fstatSync(c,s)}async lstatPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.lstatPromise(r,s),async(a,{subPath:n})=>await a.lstatPromise(n,s))}lstatSync(r,s){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,s),(a,{subPath:n})=>a.lstatSync(n,s))}async fchmodPromise(r,s){if((r&tl)!==this.magic)return this.baseFs.fchmodPromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Mo("fchmod");let[n,c]=a;return n.fchmodPromise(c,s)}fchmodSync(r,s){if((r&tl)!==this.magic)return this.baseFs.fchmodSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Mo("fchmodSync");let[n,c]=a;return n.fchmodSync(c,s)}async chmodPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.chmodPromise(r,s),async(a,{subPath:n})=>await a.chmodPromise(n,s))}chmodSync(r,s){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,s),(a,{subPath:n})=>a.chmodSync(n,s))}async fchownPromise(r,s,a){if((r&tl)!==this.magic)return this.baseFs.fchownPromise(r,s,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Mo("fchown");let[c,f]=n;return c.fchownPromise(f,s,a)}fchownSync(r,s,a){if((r&tl)!==this.magic)return this.baseFs.fchownSync(r,s,a);let n=this.fdMap.get(r);if(typeof n>"u")throw Mo("fchownSync");let[c,f]=n;return c.fchownSync(f,s,a)}async chownPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.chownPromise(r,s,a),async(n,{subPath:c})=>await n.chownPromise(c,s,a))}chownSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,s,a),(n,{subPath:c})=>n.chownSync(c,s,a))}async renamePromise(r,s){return await this.makeCallPromise(r,async()=>await this.makeCallPromise(s,async()=>await this.baseFs.renamePromise(r,s),async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),async(a,{subPath:n})=>await this.makeCallPromise(s,async()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},async(c,{subPath:f})=>{if(a!==c)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return await a.renamePromise(n,f)}))}renameSync(r,s){return this.makeCallSync(r,()=>this.makeCallSync(s,()=>this.baseFs.renameSync(r,s),()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})}),(a,{subPath:n})=>this.makeCallSync(s,()=>{throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"})},(c,{subPath:f})=>{if(a!==c)throw Object.assign(new Error("EEXDEV: cross-device link not permitted"),{code:"EEXDEV"});return a.renameSync(n,f)}))}async copyFilePromise(r,s,a=0){let n=async(c,f,p,h)=>{if(a&wd.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${f}' -> ${h}'`),{code:"EXDEV"});if(a&wd.constants.COPYFILE_EXCL&&await this.existsPromise(f))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${f}' -> '${h}'`),{code:"EEXIST"});let E;try{E=await c.readFilePromise(f)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${f}' -> '${h}'`),{code:"EINVAL"})}await p.writeFilePromise(h,E)};return await this.makeCallPromise(r,async()=>await this.makeCallPromise(s,async()=>await this.baseFs.copyFilePromise(r,s,a),async(c,{subPath:f})=>await n(this.baseFs,r,c,f)),async(c,{subPath:f})=>await this.makeCallPromise(s,async()=>await n(c,f,this.baseFs,s),async(p,{subPath:h})=>c!==p?await n(c,f,p,h):await c.copyFilePromise(f,h,a)))}copyFileSync(r,s,a=0){let n=(c,f,p,h)=>{if(a&wd.constants.COPYFILE_FICLONE_FORCE)throw Object.assign(new Error(`EXDEV: cross-device clone not permitted, copyfile '${f}' -> ${h}'`),{code:"EXDEV"});if(a&wd.constants.COPYFILE_EXCL&&this.existsSync(f))throw Object.assign(new Error(`EEXIST: file already exists, copyfile '${f}' -> '${h}'`),{code:"EEXIST"});let E;try{E=c.readFileSync(f)}catch{throw Object.assign(new Error(`EINVAL: invalid argument, copyfile '${f}' -> '${h}'`),{code:"EINVAL"})}p.writeFileSync(h,E)};return this.makeCallSync(r,()=>this.makeCallSync(s,()=>this.baseFs.copyFileSync(r,s,a),(c,{subPath:f})=>n(this.baseFs,r,c,f)),(c,{subPath:f})=>this.makeCallSync(s,()=>n(c,f,this.baseFs,s),(p,{subPath:h})=>c!==p?n(c,f,p,h):c.copyFileSync(f,h,a)))}async appendFilePromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.appendFilePromise(r,s,a),async(n,{subPath:c})=>await n.appendFilePromise(c,s,a))}appendFileSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.appendFileSync(r,s,a),(n,{subPath:c})=>n.appendFileSync(c,s,a))}async writeFilePromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.writeFilePromise(r,s,a),async(n,{subPath:c})=>await n.writeFilePromise(c,s,a))}writeFileSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.writeFileSync(r,s,a),(n,{subPath:c})=>n.writeFileSync(c,s,a))}async unlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.unlinkPromise(r),async(s,{subPath:a})=>await s.unlinkPromise(a))}unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(s,{subPath:a})=>s.unlinkSync(a))}async utimesPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.utimesPromise(r,s,a),async(n,{subPath:c})=>await n.utimesPromise(c,s,a))}utimesSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(r,s,a),(n,{subPath:c})=>n.utimesSync(c,s,a))}async lutimesPromise(r,s,a){return await this.makeCallPromise(r,async()=>await this.baseFs.lutimesPromise(r,s,a),async(n,{subPath:c})=>await n.lutimesPromise(c,s,a))}lutimesSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSync(r,s,a),(n,{subPath:c})=>n.lutimesSync(c,s,a))}async mkdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.mkdirPromise(r,s),async(a,{subPath:n})=>await a.mkdirPromise(n,s))}mkdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,s),(a,{subPath:n})=>a.mkdirSync(n,s))}async rmdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.rmdirPromise(r,s),async(a,{subPath:n})=>await a.rmdirPromise(n,s))}rmdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,s),(a,{subPath:n})=>a.rmdirSync(n,s))}async rmPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.rmPromise(r,s),async(a,{subPath:n})=>await a.rmPromise(n,s))}rmSync(r,s){return this.makeCallSync(r,()=>this.baseFs.rmSync(r,s),(a,{subPath:n})=>a.rmSync(n,s))}async linkPromise(r,s){return await this.makeCallPromise(s,async()=>await this.baseFs.linkPromise(r,s),async(a,{subPath:n})=>await a.linkPromise(r,n))}linkSync(r,s){return this.makeCallSync(s,()=>this.baseFs.linkSync(r,s),(a,{subPath:n})=>a.linkSync(r,n))}async symlinkPromise(r,s,a){return await this.makeCallPromise(s,async()=>await this.baseFs.symlinkPromise(r,s,a),async(n,{subPath:c})=>await n.symlinkPromise(r,c))}symlinkSync(r,s,a){return this.makeCallSync(s,()=>this.baseFs.symlinkSync(r,s,a),(n,{subPath:c})=>n.symlinkSync(r,c))}async readFilePromise(r,s){return this.makeCallPromise(r,async()=>await this.baseFs.readFilePromise(r,s),async(a,{subPath:n})=>await a.readFilePromise(n,s))}readFileSync(r,s){return this.makeCallSync(r,()=>this.baseFs.readFileSync(r,s),(a,{subPath:n})=>a.readFileSync(n,s))}async readdirPromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.readdirPromise(r,s),async(a,{subPath:n})=>await a.readdirPromise(n,s),{requireSubpath:!1})}readdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.readdirSync(r,s),(a,{subPath:n})=>a.readdirSync(n,s),{requireSubpath:!1})}async readlinkPromise(r){return await this.makeCallPromise(r,async()=>await this.baseFs.readlinkPromise(r),async(s,{subPath:a})=>await s.readlinkPromise(a))}readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(r),(s,{subPath:a})=>s.readlinkSync(a))}async truncatePromise(r,s){return await this.makeCallPromise(r,async()=>await this.baseFs.truncatePromise(r,s),async(a,{subPath:n})=>await a.truncatePromise(n,s))}truncateSync(r,s){return this.makeCallSync(r,()=>this.baseFs.truncateSync(r,s),(a,{subPath:n})=>a.truncateSync(n,s))}async ftruncatePromise(r,s){if((r&tl)!==this.magic)return this.baseFs.ftruncatePromise(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Mo("ftruncate");let[n,c]=a;return n.ftruncatePromise(c,s)}ftruncateSync(r,s){if((r&tl)!==this.magic)return this.baseFs.ftruncateSync(r,s);let a=this.fdMap.get(r);if(typeof a>"u")throw Mo("ftruncateSync");let[n,c]=a;return n.ftruncateSync(c,s)}watch(r,s,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,s,a),(n,{subPath:c})=>n.watch(c,s,a))}watchFile(r,s,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,s,a),()=>sE(this,r,s,a))}unwatchFile(r,s){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(r,s),()=>md(this,r,s))}async makeCallPromise(r,s,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return await s();let c=this.resolve(r),f=this.findMount(c);return f?n&&f.subPath==="/"?await s():await this.getMountPromise(f.archivePath,async p=>await a(p,f)):await s()}makeCallSync(r,s,a,{requireSubpath:n=!0}={}){if(typeof r!="string")return s();let c=this.resolve(r),f=this.findMount(c);return!f||n&&f.subPath==="/"?s():this.getMountSync(f.archivePath,p=>a(p,f))}findMount(r){if(this.filter&&!this.filter.test(r))return null;let s="";for(;;){let a=r.substring(s.length),n=this.getMountPoint(a,s);if(!n)return null;if(s=this.pathUtils.join(s,n),!this.isMount.has(s)){if(this.notMount.has(s))continue;try{if(this.typeCheck!==null&&(this.baseFs.statSync(s).mode&wd.constants.S_IFMT)!==this.typeCheck){this.notMount.add(s);continue}}catch{return null}this.isMount.add(s)}return{archivePath:s,subPath:this.pathUtils.join(vt.root,r.substring(s.length))}}}limitOpenFiles(r){if(this.mountInstances===null)return;let s=Date.now(),a=s+this.maxAge,n=r===null?0:this.mountInstances.size-r;for(let[c,{childFs:f,expiresAt:p,refCount:h}]of this.mountInstances.entries())if(!(h!==0||f.hasOpenFileHandles?.())){if(s>=p){f.saveAndClose?.(),this.mountInstances.delete(c),n-=1;continue}else if(r===null||n<=0){a=p;break}f.saveAndClose?.(),this.mountInstances.delete(c),n-=1}this.limitOpenFilesTimeout===null&&(r===null&&this.mountInstances.size>0||r!==null)&&isFinite(a)&&(this.limitOpenFilesTimeout=setTimeout(()=>{this.limitOpenFilesTimeout=null,this.limitOpenFiles(null)},a-s).unref())}async getMountPromise(r,s){if(this.mountInstances){let a=this.mountInstances.get(r);if(!a){let n=await this.factoryPromise(this.baseFs,r);a=this.mountInstances.get(r),a||(a={childFs:n(),expiresAt:0,refCount:0})}this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,a.refCount+=1;try{return await s(a.childFs)}finally{a.refCount-=1}}else{let a=(await this.factoryPromise(this.baseFs,r))();try{return await s(a)}finally{a.saveAndClose?.()}}}getMountSync(r,s){if(this.mountInstances){let a=this.mountInstances.get(r);return a||(a={childFs:this.factorySync(this.baseFs,r),expiresAt:0,refCount:0}),this.mountInstances.delete(r),this.limitOpenFiles(this.maxOpenFiles-1),this.mountInstances.set(r,a),a.expiresAt=Date.now()+this.maxAge,s(a.childFs)}else{let a=this.factorySync(this.baseFs,r);try{return s(a)}finally{a.saveAndClose?.()}}}}});var er,nx,A$=Xe(()=>{Id();el();er=()=>Object.assign(new Error("ENOSYS: unsupported filesystem access"),{code:"ENOSYS"}),nx=class t extends mp{static{this.instance=new t}constructor(){super(J)}getExtractHint(){throw er()}getRealPath(){throw er()}resolve(){throw er()}async openPromise(){throw er()}openSync(){throw er()}async opendirPromise(){throw er()}opendirSync(){throw er()}async readPromise(){throw er()}readSync(){throw er()}async writePromise(){throw er()}writeSync(){throw er()}async closePromise(){throw er()}closeSync(){throw er()}createWriteStream(){throw er()}createReadStream(){throw er()}async realpathPromise(){throw er()}realpathSync(){throw er()}async readdirPromise(){throw er()}readdirSync(){throw er()}async existsPromise(e){throw er()}existsSync(e){throw er()}async accessPromise(){throw er()}accessSync(){throw er()}async statPromise(){throw er()}statSync(){throw er()}async fstatPromise(e){throw er()}fstatSync(e){throw er()}async lstatPromise(e){throw er()}lstatSync(e){throw er()}async fchmodPromise(){throw er()}fchmodSync(){throw er()}async chmodPromise(){throw er()}chmodSync(){throw er()}async fchownPromise(){throw er()}fchownSync(){throw er()}async chownPromise(){throw er()}chownSync(){throw er()}async mkdirPromise(){throw er()}mkdirSync(){throw er()}async rmdirPromise(){throw er()}rmdirSync(){throw er()}async rmPromise(){throw er()}rmSync(){throw er()}async linkPromise(){throw er()}linkSync(){throw er()}async symlinkPromise(){throw er()}symlinkSync(){throw er()}async renamePromise(){throw er()}renameSync(){throw er()}async copyFilePromise(){throw er()}copyFileSync(){throw er()}async appendFilePromise(){throw er()}appendFileSync(){throw er()}async writeFilePromise(){throw er()}writeFileSync(){throw er()}async unlinkPromise(){throw er()}unlinkSync(){throw er()}async utimesPromise(){throw er()}utimesSync(){throw er()}async lutimesPromise(){throw er()}lutimesSync(){throw er()}async readFilePromise(){throw er()}readFileSync(){throw er()}async readlinkPromise(){throw er()}readlinkSync(){throw er()}async truncatePromise(){throw er()}truncateSync(){throw er()}async ftruncatePromise(e,r){throw er()}ftruncateSync(e,r){throw er()}watch(){throw er()}watchFile(){throw er()}unwatchFile(){throw er()}}});var t0,p$=Xe(()=>{yp();el();t0=class extends _s{constructor(e){super(fe),this.baseFs=e}mapFromBase(e){return fe.fromPortablePath(e)}mapToBase(e){return fe.toPortablePath(e)}}});var o5e,PU,a5e,uo,h$=Xe(()=>{Cd();yp();el();o5e=/^[0-9]+$/,PU=/^(\/(?:[^/]+\/)*?(?:\$\$virtual|__virtual__))((?:\/((?:[^/]+-)?[a-f0-9]+)(?:\/([^/]+))?)?((?:\/.*)?))$/,a5e=/^([^/]+-)?[a-f0-9]+$/,uo=class t extends _s{static makeVirtualPath(e,r,s){if(J.basename(e)!=="__virtual__")throw new Error('Assertion failed: Virtual folders must be named "__virtual__"');if(!J.basename(r).match(a5e))throw new Error("Assertion failed: Virtual components must be ended by an hexadecimal hash");let n=J.relative(J.dirname(e),s).split("/"),c=0;for(;c<n.length&&n[c]==="..";)c+=1;let f=n.slice(c);return J.join(e,r,String(c),...f)}static resolveVirtual(e){let r=e.match(PU);if(!r||!r[3]&&r[5])return e;let s=J.dirname(r[1]);if(!r[3]||!r[4])return s;if(!o5e.test(r[4]))return e;let n=Number(r[4]),c="../".repeat(n),f=r[5]||".";return t.resolveVirtual(J.join(s,c,f))}constructor({baseFs:e=new Yn}={}){super(J),this.baseFs=e}getExtractHint(e){return this.baseFs.getExtractHint(e)}getRealPath(){return this.baseFs.getRealPath()}realpathSync(e){let r=e.match(PU);if(!r)return this.baseFs.realpathSync(e);if(!r[5])return e;let s=this.baseFs.realpathSync(this.mapToBase(e));return t.makeVirtualPath(r[1],r[3],s)}async realpathPromise(e){let r=e.match(PU);if(!r)return await this.baseFs.realpathPromise(e);if(!r[5])return e;let s=await this.baseFs.realpathPromise(this.mapToBase(e));return t.makeVirtualPath(r[1],r[3],s)}mapToBase(e){if(e==="")return e;if(this.pathUtils.isAbsolute(e))return t.resolveVirtual(e);let r=t.resolveVirtual(this.baseFs.resolve(vt.dot)),s=t.resolveVirtual(this.baseFs.resolve(e));return J.relative(r,s)||vt.dot}mapFromBase(e){return e}}});function l5e(t,e){return typeof xU.default.isUtf8<"u"?xU.default.isUtf8(t):Buffer.byteLength(e)===t.byteLength}var xU,g$,d$,ix,m$=Xe(()=>{xU=ut(Ie("buffer")),g$=Ie("url"),d$=Ie("util");yp();el();ix=class extends _s{constructor(e){super(fe),this.baseFs=e}mapFromBase(e){return e}mapToBase(e){if(typeof e=="string")return e;if(e instanceof URL)return(0,g$.fileURLToPath)(e);if(Buffer.isBuffer(e)){let r=e.toString();if(!l5e(e,r))throw new Error("Non-utf8 buffers are not supported at the moment. Please upvote the following issue if you encounter this error: https://github.com/yarnpkg/berry/issues/4942");return r}throw new Error(`Unsupported path type: ${(0,d$.inspect)(e)}`)}}});var w$,Uo,Ep,r0,sx,ox,aE,Ru,Fu,y$,E$,I$,C$,M2,B$=Xe(()=>{w$=Ie("readline"),Uo=Symbol("kBaseFs"),Ep=Symbol("kFd"),r0=Symbol("kClosePromise"),sx=Symbol("kCloseResolve"),ox=Symbol("kCloseReject"),aE=Symbol("kRefs"),Ru=Symbol("kRef"),Fu=Symbol("kUnref"),M2=class{constructor(e,r){this[C$]=1;this[I$]=void 0;this[E$]=void 0;this[y$]=void 0;this[Uo]=r,this[Ep]=e}get fd(){return this[Ep]}async appendFile(e,r){try{this[Ru](this.appendFile);let s=(typeof r=="string"?r:r?.encoding)??void 0;return await this[Uo].appendFilePromise(this.fd,e,s?{encoding:s}:void 0)}finally{this[Fu]()}}async chown(e,r){try{return this[Ru](this.chown),await this[Uo].fchownPromise(this.fd,e,r)}finally{this[Fu]()}}async chmod(e){try{return this[Ru](this.chmod),await this[Uo].fchmodPromise(this.fd,e)}finally{this[Fu]()}}createReadStream(e){return this[Uo].createReadStream(null,{...e,fd:this.fd})}createWriteStream(e){return this[Uo].createWriteStream(null,{...e,fd:this.fd})}datasync(){throw new Error("Method not implemented.")}sync(){throw new Error("Method not implemented.")}async read(e,r,s,a){try{this[Ru](this.read);let n,c;return ArrayBuffer.isView(e)?typeof r=="object"&&r!==null?(n=e,c=r?.offset??0,s=r?.length??n.byteLength-c,a=r?.position??null):(n=e,c=r??0,s??=0):(n=e?.buffer??Buffer.alloc(16384),c=e?.offset??0,s=e?.length??n.byteLength-c,a=e?.position??null),s===0?{bytesRead:s,buffer:n}:{bytesRead:await this[Uo].readPromise(this.fd,Buffer.isBuffer(n)?n:Buffer.from(n.buffer,n.byteOffset,n.byteLength),c,s,a),buffer:n}}finally{this[Fu]()}}async readFile(e){try{this[Ru](this.readFile);let r=(typeof e=="string"?e:e?.encoding)??void 0;return await this[Uo].readFilePromise(this.fd,r)}finally{this[Fu]()}}readLines(e){return(0,w$.createInterface)({input:this.createReadStream(e),crlfDelay:1/0})}async stat(e){try{return this[Ru](this.stat),await this[Uo].fstatPromise(this.fd,e)}finally{this[Fu]()}}async truncate(e){try{return this[Ru](this.truncate),await this[Uo].ftruncatePromise(this.fd,e)}finally{this[Fu]()}}utimes(e,r){throw new Error("Method not implemented.")}async writeFile(e,r){try{this[Ru](this.writeFile);let s=(typeof r=="string"?r:r?.encoding)??void 0;await this[Uo].writeFilePromise(this.fd,e,s)}finally{this[Fu]()}}async write(...e){try{if(this[Ru](this.write),ArrayBuffer.isView(e[0])){let[r,s,a,n]=e;return{bytesWritten:await this[Uo].writePromise(this.fd,r,s??void 0,a??void 0,n??void 0),buffer:r}}else{let[r,s,a]=e;return{bytesWritten:await this[Uo].writePromise(this.fd,r,s,a),buffer:r}}}finally{this[Fu]()}}async writev(e,r){try{this[Ru](this.writev);let s=0;if(typeof r<"u")for(let a of e){let n=await this.write(a,void 0,void 0,r);s+=n.bytesWritten,r+=n.bytesWritten}else for(let a of e){let n=await this.write(a);s+=n.bytesWritten}return{buffers:e,bytesWritten:s}}finally{this[Fu]()}}readv(e,r){throw new Error("Method not implemented.")}close(){if(this[Ep]===-1)return Promise.resolve();if(this[r0])return this[r0];if(this[aE]--,this[aE]===0){let e=this[Ep];this[Ep]=-1,this[r0]=this[Uo].closePromise(e).finally(()=>{this[r0]=void 0})}else this[r0]=new Promise((e,r)=>{this[sx]=e,this[ox]=r}).finally(()=>{this[r0]=void 0,this[ox]=void 0,this[sx]=void 0});return this[r0]}[(Uo,Ep,C$=aE,I$=r0,E$=sx,y$=ox,Ru)](e){if(this[Ep]===-1){let r=new Error("file closed");throw r.code="EBADF",r.syscall=e.name,r}this[aE]++}[Fu](){if(this[aE]--,this[aE]===0){let e=this[Ep];this[Ep]=-1,this[Uo].closePromise(e).then(this[sx],this[ox])}}}});function U2(t,e){e=new ix(e);let r=(s,a,n)=>{let c=s[a];s[a]=n,typeof c?.[lE.promisify.custom]<"u"&&(n[lE.promisify.custom]=c[lE.promisify.custom])};{r(t,"exists",(s,...a)=>{let c=typeof a[a.length-1]=="function"?a.pop():()=>{};process.nextTick(()=>{e.existsPromise(s).then(f=>{c(f)},()=>{c(!1)})})}),r(t,"read",(...s)=>{let[a,n,c,f,p,h]=s;if(s.length<=3){let E={};s.length<3?h=s[1]:(E=s[1],h=s[2]),{buffer:n=Buffer.alloc(16384),offset:c=0,length:f=n.byteLength,position:p}=E}if(c==null&&(c=0),f|=0,f===0){process.nextTick(()=>{h(null,0,n)});return}p==null&&(p=-1),process.nextTick(()=>{e.readPromise(a,n,c,f,p).then(E=>{h(null,E,n)},E=>{h(E,0,n)})})});for(let s of v$){let a=s.replace(/Promise$/,"");if(typeof t[a]>"u")continue;let n=e[s];if(typeof n>"u")continue;r(t,a,(...f)=>{let h=typeof f[f.length-1]=="function"?f.pop():()=>{};process.nextTick(()=>{n.apply(e,f).then(E=>{h(null,E)},E=>{h(E)})})})}t.realpath.native=t.realpath}{r(t,"existsSync",s=>{try{return e.existsSync(s)}catch{return!1}}),r(t,"readSync",(...s)=>{let[a,n,c,f,p]=s;return s.length<=3&&({offset:c=0,length:f=n.byteLength,position:p}=s[2]||{}),c==null&&(c=0),f|=0,f===0?0:(p==null&&(p=-1),e.readSync(a,n,c,f,p))});for(let s of c5e){let a=s;if(typeof t[a]>"u")continue;let n=e[s];typeof n>"u"||r(t,a,n.bind(e))}t.realpathSync.native=t.realpathSync}{let s=t.promises;for(let a of v$){let n=a.replace(/Promise$/,"");if(typeof s[n]>"u")continue;let c=e[a];typeof c>"u"||a!=="open"&&r(s,n,(f,...p)=>f instanceof M2?f[n].apply(f,p):c.call(e,f,...p))}r(s,"open",async(...a)=>{let n=await e.openPromise(...a);return new M2(n,e)})}t.read[lE.promisify.custom]=async(s,a,...n)=>({bytesRead:await e.readPromise(s,a,...n),buffer:a}),t.write[lE.promisify.custom]=async(s,a,...n)=>({bytesWritten:await e.writePromise(s,a,...n),buffer:a})}function ax(t,e){let r=Object.create(t);return U2(r,e),r}var lE,c5e,v$,S$=Xe(()=>{lE=Ie("util");m$();B$();c5e=new Set(["accessSync","appendFileSync","createReadStream","createWriteStream","chmodSync","fchmodSync","chownSync","fchownSync","closeSync","copyFileSync","linkSync","lstatSync","fstatSync","lutimesSync","mkdirSync","openSync","opendirSync","readlinkSync","readFileSync","readdirSync","readlinkSync","realpathSync","renameSync","rmdirSync","rmSync","statSync","symlinkSync","truncateSync","ftruncateSync","unlinkSync","unwatchFile","utimesSync","watch","watchFile","writeFileSync","writeSync"]),v$=new Set(["accessPromise","appendFilePromise","fchmodPromise","chmodPromise","fchownPromise","chownPromise","closePromise","copyFilePromise","linkPromise","fstatPromise","lstatPromise","lutimesPromise","mkdirPromise","openPromise","opendirPromise","readdirPromise","realpathPromise","readFilePromise","readdirPromise","readlinkPromise","renamePromise","rmdirPromise","rmPromise","statPromise","symlinkPromise","truncatePromise","ftruncatePromise","unlinkPromise","utimesPromise","writeFilePromise","writeSync"])});function D$(t){let e=Math.ceil(Math.random()*4294967296).toString(16).padStart(8,"0");return`${t}${e}`}function b$(){if(kU)return kU;let t=fe.toPortablePath(P$.default.tmpdir()),e=ce.realpathSync(t);return process.once("exit",()=>{ce.rmtempSync()}),kU={tmpdir:t,realTmpdir:e}}var P$,Nu,kU,ce,x$=Xe(()=>{P$=ut(Ie("os"));Cd();el();Nu=new Set,kU=null;ce=Object.assign(new Yn,{detachTemp(t){Nu.delete(t)},mktempSync(t){let{tmpdir:e,realTmpdir:r}=b$();for(;;){let s=D$("xfs-");try{this.mkdirSync(J.join(e,s))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=J.join(r,s);if(Nu.add(a),typeof t>"u")return a;try{return t(a)}finally{if(Nu.has(a)){Nu.delete(a);try{this.removeSync(a)}catch{}}}}},async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=b$();for(;;){let s=D$("xfs-");try{await this.mkdirPromise(J.join(e,s))}catch(n){if(n.code==="EEXIST")continue;throw n}let a=J.join(r,s);if(Nu.add(a),typeof t>"u")return a;try{return await t(a)}finally{if(Nu.has(a)){Nu.delete(a);try{await this.removePromise(a)}catch{}}}}},async rmtempPromise(){await Promise.all(Array.from(Nu.values()).map(async t=>{try{await ce.removePromise(t,{maxRetries:0}),Nu.delete(t)}catch{}}))},rmtempSync(){for(let t of Nu)try{ce.removeSync(t),Nu.delete(t)}catch{}}})});var _2={};Vt(_2,{AliasFS:()=>_f,BasePortableFakeFS:()=>Uf,CustomDir:()=>L2,CwdFS:()=>Sn,FakeFS:()=>mp,Filename:()=>Er,JailFS:()=>Hf,LazyFS:()=>oE,MountFS:()=>e0,NoFS:()=>nx,NodeFS:()=>Yn,PortablePath:()=>vt,PosixFS:()=>t0,ProxiedFS:()=>_s,VirtualFS:()=>uo,constants:()=>fi,errors:()=>or,extendFs:()=>ax,normalizeLineEndings:()=>Ed,npath:()=>fe,opendir:()=>ex,patchFs:()=>U2,ppath:()=>J,setupCopyIndex:()=>$P,statUtils:()=>$a,unwatchAllFiles:()=>yd,unwatchFile:()=>md,watchFile:()=>sE,xfs:()=>ce});var Dt=Xe(()=>{YZ();zP();BU();DU();ZZ();bU();Id();el();el();i$();Id();a$();c$();u$();f$();A$();Cd();p$();yp();h$();S$();x$()});var F$=_((Dkt,R$)=>{R$.exports=T$;T$.sync=f5e;var k$=Ie("fs");function u5e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT;if(!r||(r=r.split(";"),r.indexOf("")!==-1))return!0;for(var s=0;s<r.length;s++){var a=r[s].toLowerCase();if(a&&t.substr(-a.length).toLowerCase()===a)return!0}return!1}function Q$(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:u5e(e,r)}function T$(t,e,r){k$.stat(t,function(s,a){r(s,s?!1:Q$(a,t,e))})}function f5e(t,e){return Q$(k$.statSync(t),t,e)}});var U$=_((bkt,M$)=>{M$.exports=O$;O$.sync=A5e;var N$=Ie("fs");function O$(t,e,r){N$.stat(t,function(s,a){r(s,s?!1:L$(a,e))})}function A5e(t,e){return L$(N$.statSync(t),e)}function L$(t,e){return t.isFile()&&p5e(t,e)}function p5e(t,e){var r=t.mode,s=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:process.getuid&&process.getuid(),c=e.gid!==void 0?e.gid:process.getgid&&process.getgid(),f=parseInt("100",8),p=parseInt("010",8),h=parseInt("001",8),E=f|p,C=r&h||r&p&&a===c||r&f&&s===n||r&E&&n===0;return C}});var H$=_((xkt,_$)=>{var Pkt=Ie("fs"),lx;process.platform==="win32"||global.TESTING_WINDOWS?lx=F$():lx=U$();_$.exports=QU;QU.sync=h5e;function QU(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Promise!="function")throw new TypeError("callback not provided");return new Promise(function(s,a){QU(t,e||{},function(n,c){n?a(n):s(c)})})}lx(t,e||{},function(s,a){s&&(s.code==="EACCES"||e&&e.ignoreErrors)&&(s=null,a=!1),r(s,a)})}function h5e(t,e){try{return lx.sync(t,e||{})}catch(r){if(e&&e.ignoreErrors||r.code==="EACCES")return!1;throw r}}});var J$=_((kkt,V$)=>{var cE=process.platform==="win32"||process.env.OSTYPE==="cygwin"||process.env.OSTYPE==="msys",j$=Ie("path"),g5e=cE?";":":",G$=H$(),q$=t=>Object.assign(new Error(`not found: ${t}`),{code:"ENOENT"}),W$=(t,e)=>{let r=e.colon||g5e,s=t.match(/\//)||cE&&t.match(/\\/)?[""]:[...cE?[process.cwd()]:[],...(e.path||process.env.PATH||"").split(r)],a=cE?e.pathExt||process.env.PATHEXT||".EXE;.CMD;.BAT;.COM":"",n=cE?a.split(r):[""];return cE&&t.indexOf(".")!==-1&&n[0]!==""&&n.unshift(""),{pathEnv:s,pathExt:n,pathExtExe:a}},Y$=(t,e,r)=>{typeof e=="function"&&(r=e,e={}),e||(e={});let{pathEnv:s,pathExt:a,pathExtExe:n}=W$(t,e),c=[],f=h=>new Promise((E,C)=>{if(h===s.length)return e.all&&c.length?E(c):C(q$(t));let S=s[h],P=/^".*"$/.test(S)?S.slice(1,-1):S,I=j$.join(P,t),R=!P&&/^\.[\\\/]/.test(t)?t.slice(0,2)+I:I;E(p(R,h,0))}),p=(h,E,C)=>new Promise((S,P)=>{if(C===a.length)return S(f(E+1));let I=a[C];G$(h+I,{pathExt:n},(R,N)=>{if(!R&&N)if(e.all)c.push(h+I);else return S(h+I);return S(p(h,E,C+1))})});return r?f(0).then(h=>r(null,h),r):f(0)},d5e=(t,e)=>{e=e||{};let{pathEnv:r,pathExt:s,pathExtExe:a}=W$(t,e),n=[];for(let c=0;c<r.length;c++){let f=r[c],p=/^".*"$/.test(f)?f.slice(1,-1):f,h=j$.join(p,t),E=!p&&/^\.[\\\/]/.test(t)?t.slice(0,2)+h:h;for(let C=0;C<s.length;C++){let S=E+s[C];try{if(G$.sync(S,{pathExt:a}))if(e.all)n.push(S);else return S}catch{}}}if(e.all&&n.length)return n;if(e.nothrow)return null;throw q$(t)};V$.exports=Y$;Y$.sync=d5e});var z$=_((Qkt,TU)=>{"use strict";var K$=(t={})=>{let e=t.env||process.env;return(t.platform||process.platform)!=="win32"?"PATH":Object.keys(e).reverse().find(s=>s.toUpperCase()==="PATH")||"Path"};TU.exports=K$;TU.exports.default=K$});var eee=_((Tkt,$$)=>{"use strict";var X$=Ie("path"),m5e=J$(),y5e=z$();function Z$(t,e){let r=t.options.env||process.env,s=process.cwd(),a=t.options.cwd!=null,n=a&&process.chdir!==void 0&&!process.chdir.disabled;if(n)try{process.chdir(t.options.cwd)}catch{}let c;try{c=m5e.sync(t.command,{path:r[y5e({env:r})],pathExt:e?X$.delimiter:void 0})}catch{}finally{n&&process.chdir(s)}return c&&(c=X$.resolve(a?t.options.cwd:"",c)),c}function E5e(t){return Z$(t)||Z$(t,!0)}$$.exports=E5e});var tee=_((Rkt,FU)=>{"use strict";var RU=/([()\][%!^"`<>&|;, *?])/g;function I5e(t){return t=t.replace(RU,"^$1"),t}function C5e(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"'),t=t.replace(/(?=(\\+?)?)\1$/,"$1$1"),t=`"${t}"`,t=t.replace(RU,"^$1"),e&&(t=t.replace(RU,"^$1")),t}FU.exports.command=I5e;FU.exports.argument=C5e});var nee=_((Fkt,ree)=>{"use strict";ree.exports=/^#!(.*)/});var see=_((Nkt,iee)=>{"use strict";var w5e=nee();iee.exports=(t="")=>{let e=t.match(w5e);if(!e)return null;let[r,s]=e[0].replace(/#! ?/,"").split(" "),a=r.split("/").pop();return a==="env"?s:s?`${a} ${s}`:a}});var aee=_((Okt,oee)=>{"use strict";var NU=Ie("fs"),B5e=see();function v5e(t){let r=Buffer.alloc(150),s;try{s=NU.openSync(t,"r"),NU.readSync(s,r,0,150,0),NU.closeSync(s)}catch{}return B5e(r.toString())}oee.exports=v5e});var fee=_((Lkt,uee)=>{"use strict";var S5e=Ie("path"),lee=eee(),cee=tee(),D5e=aee(),b5e=process.platform==="win32",P5e=/\.(?:com|exe)$/i,x5e=/node_modules[\\/].bin[\\/][^\\/]+\.cmd$/i;function k5e(t){t.file=lee(t);let e=t.file&&D5e(t.file);return e?(t.args.unshift(t.file),t.command=e,lee(t)):t.file}function Q5e(t){if(!b5e)return t;let e=k5e(t),r=!P5e.test(e);if(t.options.forceShell||r){let s=x5e.test(e);t.command=S5e.normalize(t.command),t.command=cee.command(t.command),t.args=t.args.map(n=>cee.argument(n,s));let a=[t.command].concat(t.args).join(" ");t.args=["/d","/s","/c",`"${a}"`],t.command=process.env.comspec||"cmd.exe",t.options.windowsVerbatimArguments=!0}return t}function T5e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[],r=Object.assign({},r);let s={command:t,args:e,options:r,file:void 0,original:{command:t,args:e}};return r.shell?s:Q5e(s)}uee.exports=T5e});var hee=_((Mkt,pee)=>{"use strict";var OU=process.platform==="win32";function LU(t,e){return Object.assign(new Error(`${e} ${t.command} ENOENT`),{code:"ENOENT",errno:"ENOENT",syscall:`${e} ${t.command}`,path:t.command,spawnargs:t.args})}function R5e(t,e){if(!OU)return;let r=t.emit;t.emit=function(s,a){if(s==="exit"){let n=Aee(a,e);if(n)return r.call(t,"error",n)}return r.apply(t,arguments)}}function Aee(t,e){return OU&&t===1&&!e.file?LU(e.original,"spawn"):null}function F5e(t,e){return OU&&t===1&&!e.file?LU(e.original,"spawnSync"):null}pee.exports={hookChildProcess:R5e,verifyENOENT:Aee,verifyENOENTSync:F5e,notFoundError:LU}});var _U=_((Ukt,uE)=>{"use strict";var gee=Ie("child_process"),MU=fee(),UU=hee();function dee(t,e,r){let s=MU(t,e,r),a=gee.spawn(s.command,s.args,s.options);return UU.hookChildProcess(a,s),a}function N5e(t,e,r){let s=MU(t,e,r),a=gee.spawnSync(s.command,s.args,s.options);return a.error=a.error||UU.verifyENOENTSync(a.status,s),a}uE.exports=dee;uE.exports.spawn=dee;uE.exports.sync=N5e;uE.exports._parse=MU;uE.exports._enoent=UU});var yee=_((_kt,mee)=>{"use strict";function O5e(t,e){function r(){this.constructor=t}r.prototype=e.prototype,t.prototype=new r}function Bd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.location=s,this.name="SyntaxError",typeof Error.captureStackTrace=="function"&&Error.captureStackTrace(this,Bd)}O5e(Bd,Error);Bd.buildMessage=function(t,e){var r={literal:function(h){return'"'+a(h.text)+'"'},class:function(h){var E="",C;for(C=0;C<h.parts.length;C++)E+=h.parts[C]instanceof Array?n(h.parts[C][0])+"-"+n(h.parts[C][1]):n(h.parts[C]);return"["+(h.inverted?"^":"")+E+"]"},any:function(h){return"any character"},end:function(h){return"end of input"},other:function(h){return h.description}};function s(h){return h.charCodeAt(0).toString(16).toUpperCase()}function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+s(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+s(E)})}function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replace(/\^/g,"\\^").replace(/-/g,"\\-").replace(/\0/g,"\\0").replace(/\t/g,"\\t").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/[\x00-\x0F]/g,function(E){return"\\x0"+s(E)}).replace(/[\x10-\x1F\x7F-\x9F]/g,function(E){return"\\x"+s(E)})}function c(h){return r[h.type](h)}function f(h){var E=new Array(h.length),C,S;for(C=0;C<h.length;C++)E[C]=c(h[C]);if(E.sort(),E.length>0){for(C=1,S=1;C<E.length;C++)E[C-1]!==E[C]&&(E[S]=E[C],S++);E.length=S}switch(E.length){case 1:return E[0];case 2:return E[0]+" or "+E[1];default:return E.slice(0,-1).join(", ")+", or "+E[E.length-1]}}function p(h){return h?'"'+a(h)+'"':"end of input"}return"Expected "+f(t)+" but "+p(e)+" found."};function L5e(t,e){e=e!==void 0?e:{};var r={},s={Start:Wa},a=Wa,n=function(O){return O||[]},c=function(O,K,re){return[{command:O,type:K}].concat(re||[])},f=function(O,K){return[{command:O,type:K||";"}]},p=function(O){return O},h=";",E=ur(";",!1),C="&",S=ur("&",!1),P=function(O,K){return K?{chain:O,then:K}:{chain:O}},I=function(O,K){return{type:O,line:K}},R="&&",N=ur("&&",!1),U="||",W=ur("||",!1),ee=function(O,K){return K?{...O,then:K}:O},ie=function(O,K){return{type:O,chain:K}},ue="|&",le=ur("|&",!1),me="|",pe=ur("|",!1),Be="=",Ce=ur("=",!1),g=function(O,K){return{name:O,args:[K]}},we=function(O){return{name:O,args:[]}},ye="(",Ae=ur("(",!1),se=")",Z=ur(")",!1),De=function(O,K){return{type:"subshell",subshell:O,args:K}},Re="{",mt=ur("{",!1),j="}",rt=ur("}",!1),Fe=function(O,K){return{type:"group",group:O,args:K}},Ne=function(O,K){return{type:"command",args:K,envs:O}},Pe=function(O){return{type:"envs",envs:O}},Ve=function(O){return O},ke=function(O){return O},it=/^[0-9]/,Ue=zi([["0","9"]],!1,!1),x=function(O,K,re){return{type:"redirection",subtype:K,fd:O!==null?parseInt(O):null,args:[re]}},w=">>",b=ur(">>",!1),y=">&",F=ur(">&",!1),z=">",X=ur(">",!1),$="<<<",oe=ur("<<<",!1),xe="<&",Te=ur("<&",!1),lt="<",Ct=ur("<",!1),qt=function(O){return{type:"argument",segments:[].concat(...O)}},ir=function(O){return O},Pt="$'",gn=ur("$'",!1),Pr="'",Ir=ur("'",!1),Or=function(O){return[{type:"text",text:O}]},on='""',ai=ur('""',!1),Io=function(){return{type:"text",text:""}},rs='"',$s=ur('"',!1),Co=function(O){return O},ji=function(O){return{type:"arithmetic",arithmetic:O,quoted:!0}},eo=function(O){return{type:"shell",shell:O,quoted:!0}},wo=function(O){return{type:"variable",...O,quoted:!0}},QA=function(O){return{type:"text",text:O}},Af=function(O){return{type:"arithmetic",arithmetic:O,quoted:!1}},dh=function(O){return{type:"shell",shell:O,quoted:!1}},mh=function(O){return{type:"variable",...O,quoted:!1}},to=function(O){return{type:"glob",pattern:O}},jn=/^[^']/,Ts=zi(["'"],!0,!1),ro=function(O){return O.join("")},ou=/^[^$"]/,au=zi(["$",'"'],!0,!1),lu=`\\
`,TA=ur(`\\
`,!1),RA=function(){return""},oa="\\",aa=ur("\\",!1),FA=/^[\\$"`]/,gr=zi(["\\","$",'"',"`"],!1,!1),Bo=function(O){return O},Me="\\a",cu=ur("\\a",!1),Cr=function(){return"a"},pf="\\b",NA=ur("\\b",!1),OA=function(){return"\b"},uu=/^[Ee]/,fu=zi(["E","e"],!1,!1),oc=function(){return"\x1B"},ve="\\f",Nt=ur("\\f",!1),ac=function(){return"\f"},Oi="\\n",no=ur("\\n",!1),Rt=function(){return`
`},xn="\\r",la=ur("\\r",!1),Gi=function(){return"\r"},Li="\\t",Na=ur("\\t",!1),dn=function(){return"	"},Kn="\\v",Au=ur("\\v",!1),yh=function(){return"\v"},Oa=/^[\\'"?]/,La=zi(["\\","'",'"',"?"],!1,!1),Ma=function(O){return String.fromCharCode(parseInt(O,16))},$e="\\x",Ua=ur("\\x",!1),hf="\\u",lc=ur("\\u",!1),wn="\\U",ca=ur("\\U",!1),LA=function(O){return String.fromCodePoint(parseInt(O,16))},MA=/^[0-7]/,ua=zi([["0","7"]],!1,!1),Bl=/^[0-9a-fA-f]/,Mt=zi([["0","9"],["a","f"],["A","f"]],!1,!1),kn=yf(),fa="{}",Ha=ur("{}",!1),ns=function(){return"{}"},cc="-",pu=ur("-",!1),uc="+",ja=ur("+",!1),Mi=".",Is=ur(".",!1),vl=function(O,K,re){return{type:"number",value:(O==="-"?-1:1)*parseFloat(K.join("")+"."+re.join(""))}},gf=function(O,K){return{type:"number",value:(O==="-"?-1:1)*parseInt(K.join(""))}},fc=function(O){return{type:"variable",...O}},wi=function(O){return{type:"variable",name:O}},Qn=function(O){return O},Ac="*",Ke=ur("*",!1),st="/",St=ur("/",!1),lr=function(O,K,re){return{type:K==="*"?"multiplication":"division",right:re}},te=function(O,K){return K.reduce((re,de)=>({left:re,...de}),O)},Ee=function(O,K,re){return{type:K==="+"?"addition":"subtraction",right:re}},Oe="$((",dt=ur("$((",!1),Et="))",bt=ur("))",!1),tr=function(O){return O},An="$(",li=ur("$(",!1),qi=function(O){return O},Tn="${",Ga=ur("${",!1),my=":-",Z1=ur(":-",!1),vo=function(O,K){return{name:O,defaultValue:K}},yy=":-}",Eh=ur(":-}",!1),$1=function(O){return{name:O,defaultValue:[]}},So=":+",Ih=ur(":+",!1),Ch=function(O,K){return{name:O,alternativeValue:K}},hu=":+}",wh=ur(":+}",!1),Fg=function(O){return{name:O,alternativeValue:[]}},Ng=function(O){return{name:O}},Og="$",Ey=ur("$",!1),df=function(O){return e.isGlobPattern(O)},Do=function(O){return O},Sl=/^[a-zA-Z0-9_]/,Bh=zi([["a","z"],["A","Z"],["0","9"],"_"],!1,!1),Lg=function(){return By()},Dl=/^[$@*?#a-zA-Z0-9_\-]/,bl=zi(["$","@","*","?","#",["a","z"],["A","Z"],["0","9"],"_","-"],!1,!1),Iy=/^[()}<>$|&; \t"']/,UA=zi(["(",")","}","<",">","$","|","&",";"," ","	",'"',"'"],!1,!1),Cy=/^[<>&; \t"']/,wy=zi(["<",">","&",";"," ","	",'"',"'"],!1,!1),_A=/^[ \t]/,HA=zi([" ","	"],!1,!1),Y=0,xt=0,jA=[{line:1,column:1}],bo=0,mf=[],yt=0,gu;if("startRule"in e){if(!(e.startRule in s))throw new Error(`Can't start parsing from rule "`+e.startRule+'".');a=s[e.startRule]}function By(){return t.substring(xt,Y)}function Mg(){return Ef(xt,Y)}function e2(O,K){throw K=K!==void 0?K:Ef(xt,Y),GA([Ug(O)],t.substring(xt,Y),K)}function vh(O,K){throw K=K!==void 0?K:Ef(xt,Y),di(O,K)}function ur(O,K){return{type:"literal",text:O,ignoreCase:K}}function zi(O,K,re){return{type:"class",parts:O,inverted:K,ignoreCase:re}}function yf(){return{type:"any"}}function qa(){return{type:"end"}}function Ug(O){return{type:"other",description:O}}function du(O){var K=jA[O],re;if(K)return K;for(re=O-1;!jA[re];)re--;for(K=jA[re],K={line:K.line,column:K.column};re<O;)t.charCodeAt(re)===10?(K.line++,K.column=1):K.column++,re++;return jA[O]=K,K}function Ef(O,K){var re=du(O),de=du(K);return{start:{offset:O,line:re.line,column:re.column},end:{offset:K,line:de.line,column:de.column}}}function wt(O){Y<bo||(Y>bo&&(bo=Y,mf=[]),mf.push(O))}function di(O,K){return new Bd(O,null,null,K)}function GA(O,K,re){return new Bd(Bd.buildMessage(O,K),O,K,re)}function Wa(){var O,K,re;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(re=Aa(),re===r&&(re=null),re!==r?(xt=O,K=n(re),O=K):(Y=O,O=r)):(Y=O,O=r),O}function Aa(){var O,K,re,de,Je;if(O=Y,K=Sh(),K!==r){for(re=[],de=kt();de!==r;)re.push(de),de=kt();re!==r?(de=_g(),de!==r?(Je=Ya(),Je===r&&(Je=null),Je!==r?(xt=O,K=c(K,de,Je),O=K):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r)}else Y=O,O=r;if(O===r)if(O=Y,K=Sh(),K!==r){for(re=[],de=kt();de!==r;)re.push(de),de=kt();re!==r?(de=_g(),de===r&&(de=null),de!==r?(xt=O,K=f(K,de),O=K):(Y=O,O=r)):(Y=O,O=r)}else Y=O,O=r;return O}function Ya(){var O,K,re,de,Je;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=Aa(),re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();de!==r?(xt=O,K=p(re),O=K):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r;return O}function _g(){var O;return t.charCodeAt(Y)===59?(O=h,Y++):(O=r,yt===0&&wt(E)),O===r&&(t.charCodeAt(Y)===38?(O=C,Y++):(O=r,yt===0&&wt(S))),O}function Sh(){var O,K,re;return O=Y,K=qA(),K!==r?(re=Hg(),re===r&&(re=null),re!==r?(xt=O,K=P(K,re),O=K):(Y=O,O=r)):(Y=O,O=r),O}function Hg(){var O,K,re,de,Je,At,dr;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=vy(),re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();if(de!==r)if(Je=Sh(),Je!==r){for(At=[],dr=kt();dr!==r;)At.push(dr),dr=kt();At!==r?(xt=O,K=I(re,Je),O=K):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r;return O}function vy(){var O;return t.substr(Y,2)===R?(O=R,Y+=2):(O=r,yt===0&&wt(N)),O===r&&(t.substr(Y,2)===U?(O=U,Y+=2):(O=r,yt===0&&wt(W))),O}function qA(){var O,K,re;return O=Y,K=If(),K!==r?(re=jg(),re===r&&(re=null),re!==r?(xt=O,K=ee(K,re),O=K):(Y=O,O=r)):(Y=O,O=r),O}function jg(){var O,K,re,de,Je,At,dr;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(re=mu(),re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();if(de!==r)if(Je=qA(),Je!==r){for(At=[],dr=kt();dr!==r;)At.push(dr),dr=kt();At!==r?(xt=O,K=ie(re,Je),O=K):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r;return O}function mu(){var O;return t.substr(Y,2)===ue?(O=ue,Y+=2):(O=r,yt===0&&wt(le)),O===r&&(t.charCodeAt(Y)===124?(O=me,Y++):(O=r,yt===0&&wt(pe))),O}function yu(){var O,K,re,de,Je,At;if(O=Y,K=Ph(),K!==r)if(t.charCodeAt(Y)===61?(re=Be,Y++):(re=r,yt===0&&wt(Ce)),re!==r)if(de=WA(),de!==r){for(Je=[],At=kt();At!==r;)Je.push(At),At=kt();Je!==r?(xt=O,K=g(K,de),O=K):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r;else Y=O,O=r;if(O===r)if(O=Y,K=Ph(),K!==r)if(t.charCodeAt(Y)===61?(re=Be,Y++):(re=r,yt===0&&wt(Ce)),re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();de!==r?(xt=O,K=we(K),O=K):(Y=O,O=r)}else Y=O,O=r;else Y=O,O=r;return O}function If(){var O,K,re,de,Je,At,dr,vr,Un,mi,Cs;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(t.charCodeAt(Y)===40?(re=ye,Y++):(re=r,yt===0&&wt(Ae)),re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();if(de!==r)if(Je=Aa(),Je!==r){for(At=[],dr=kt();dr!==r;)At.push(dr),dr=kt();if(At!==r)if(t.charCodeAt(Y)===41?(dr=se,Y++):(dr=r,yt===0&&wt(Z)),dr!==r){for(vr=[],Un=kt();Un!==r;)vr.push(Un),Un=kt();if(vr!==r){for(Un=[],mi=Gn();mi!==r;)Un.push(mi),mi=Gn();if(Un!==r){for(mi=[],Cs=kt();Cs!==r;)mi.push(Cs),Cs=kt();mi!==r?(xt=O,K=De(Je,Un),O=K):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r;if(O===r){for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r)if(t.charCodeAt(Y)===123?(re=Re,Y++):(re=r,yt===0&&wt(mt)),re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();if(de!==r)if(Je=Aa(),Je!==r){for(At=[],dr=kt();dr!==r;)At.push(dr),dr=kt();if(At!==r)if(t.charCodeAt(Y)===125?(dr=j,Y++):(dr=r,yt===0&&wt(rt)),dr!==r){for(vr=[],Un=kt();Un!==r;)vr.push(Un),Un=kt();if(vr!==r){for(Un=[],mi=Gn();mi!==r;)Un.push(mi),mi=Gn();if(Un!==r){for(mi=[],Cs=kt();Cs!==r;)mi.push(Cs),Cs=kt();mi!==r?(xt=O,K=Fe(Je,Un),O=K):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r}else Y=O,O=r;else Y=O,O=r;if(O===r){for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){for(re=[],de=yu();de!==r;)re.push(de),de=yu();if(re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();if(de!==r){if(Je=[],At=Eu(),At!==r)for(;At!==r;)Je.push(At),At=Eu();else Je=r;if(Je!==r){for(At=[],dr=kt();dr!==r;)At.push(dr),dr=kt();At!==r?(xt=O,K=Ne(re,Je),O=K):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r}else Y=O,O=r}else Y=O,O=r;if(O===r){for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){if(re=[],de=yu(),de!==r)for(;de!==r;)re.push(de),de=yu();else re=r;if(re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();de!==r?(xt=O,K=Pe(re),O=K):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r}}}return O}function Rs(){var O,K,re,de,Je;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r){if(re=[],de=Pi(),de!==r)for(;de!==r;)re.push(de),de=Pi();else re=r;if(re!==r){for(de=[],Je=kt();Je!==r;)de.push(Je),Je=kt();de!==r?(xt=O,K=Ve(re),O=K):(Y=O,O=r)}else Y=O,O=r}else Y=O,O=r;return O}function Eu(){var O,K,re;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();if(K!==r?(re=Gn(),re!==r?(xt=O,K=ke(re),O=K):(Y=O,O=r)):(Y=O,O=r),O===r){for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();K!==r?(re=Pi(),re!==r?(xt=O,K=ke(re),O=K):(Y=O,O=r)):(Y=O,O=r)}return O}function Gn(){var O,K,re,de,Je;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(it.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(Ue)),re===r&&(re=null),re!==r?(de=is(),de!==r?(Je=Pi(),Je!==r?(xt=O,K=x(re,de,Je),O=K):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O}function is(){var O;return t.substr(Y,2)===w?(O=w,Y+=2):(O=r,yt===0&&wt(b)),O===r&&(t.substr(Y,2)===y?(O=y,Y+=2):(O=r,yt===0&&wt(F)),O===r&&(t.charCodeAt(Y)===62?(O=z,Y++):(O=r,yt===0&&wt(X)),O===r&&(t.substr(Y,3)===$?(O=$,Y+=3):(O=r,yt===0&&wt(oe)),O===r&&(t.substr(Y,2)===xe?(O=xe,Y+=2):(O=r,yt===0&&wt(Te)),O===r&&(t.charCodeAt(Y)===60?(O=lt,Y++):(O=r,yt===0&&wt(Ct))))))),O}function Pi(){var O,K,re;for(O=Y,K=[],re=kt();re!==r;)K.push(re),re=kt();return K!==r?(re=WA(),re!==r?(xt=O,K=ke(re),O=K):(Y=O,O=r)):(Y=O,O=r),O}function WA(){var O,K,re;if(O=Y,K=[],re=Cf(),re!==r)for(;re!==r;)K.push(re),re=Cf();else K=r;return K!==r&&(xt=O,K=qt(K)),O=K,O}function Cf(){var O,K;return O=Y,K=mn(),K!==r&&(xt=O,K=ir(K)),O=K,O===r&&(O=Y,K=Gg(),K!==r&&(xt=O,K=ir(K)),O=K,O===r&&(O=Y,K=qg(),K!==r&&(xt=O,K=ir(K)),O=K,O===r&&(O=Y,K=ss(),K!==r&&(xt=O,K=ir(K)),O=K))),O}function mn(){var O,K,re,de;return O=Y,t.substr(Y,2)===Pt?(K=Pt,Y+=2):(K=r,yt===0&&wt(gn)),K!==r?(re=yn(),re!==r?(t.charCodeAt(Y)===39?(de=Pr,Y++):(de=r,yt===0&&wt(Ir)),de!==r?(xt=O,K=Or(re),O=K):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O}function Gg(){var O,K,re,de;return O=Y,t.charCodeAt(Y)===39?(K=Pr,Y++):(K=r,yt===0&&wt(Ir)),K!==r?(re=wf(),re!==r?(t.charCodeAt(Y)===39?(de=Pr,Y++):(de=r,yt===0&&wt(Ir)),de!==r?(xt=O,K=Or(re),O=K):(Y=O,O=r)):(Y=O,O=r)):(Y=O,O=r),O}function qg(){var O,K,re,de;if(O=Y,t.substr(Y,2)===on?(K=on,Y+=2):(K=r,yt===0&&wt(ai)),K!==r&&(xt=O,K=Io()),O=K,O===r)if(O=Y,t.charCodeAt(Y)===34?(K=rs,Y++):(K=r,yt===0&&wt($s)),K!==r){for(re=[],de=Pl();de!==r;)re.push(de),de=Pl();re!==r?(t.charCodeAt(Y)===34?(de=rs,Y++):(de=r,yt===0&&wt($s)),de!==r?(xt=O,K=Co(re),O=K):(Y=O,O=r)):(Y=O,O=r)}else Y=O,O=r;return O}function ss(){var O,K,re;if(O=Y,K=[],re=Po(),re!==r)for(;re!==r;)K.push(re),re=Po();else K=r;return K!==r&&(xt=O,K=Co(K)),O=K,O}function Pl(){var O,K;return O=Y,K=Zr(),K!==r&&(xt=O,K=ji(K)),O=K,O===r&&(O=Y,K=bh(),K!==r&&(xt=O,K=eo(K)),O=K,O===r&&(O=Y,K=VA(),K!==r&&(xt=O,K=wo(K)),O=K,O===r&&(O=Y,K=Bf(),K!==r&&(xt=O,K=QA(K)),O=K))),O}function Po(){var O,K;return O=Y,K=Zr(),K!==r&&(xt=O,K=Af(K)),O=K,O===r&&(O=Y,K=bh(),K!==r&&(xt=O,K=dh(K)),O=K,O===r&&(O=Y,K=VA(),K!==r&&(xt=O,K=mh(K)),O=K,O===r&&(O=Y,K=Sy(),K!==r&&(xt=O,K=to(K)),O=K,O===r&&(O=Y,K=Dh(),K!==r&&(xt=O,K=QA(K)),O=K)))),O}function wf(){var O,K,re;for(O=Y,K=[],jn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(Ts));re!==r;)K.push(re),jn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(Ts));return K!==r&&(xt=O,K=ro(K)),O=K,O}function Bf(){var O,K,re;if(O=Y,K=[],re=xl(),re===r&&(ou.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(au))),re!==r)for(;re!==r;)K.push(re),re=xl(),re===r&&(ou.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(au)));else K=r;return K!==r&&(xt=O,K=ro(K)),O=K,O}function xl(){var O,K,re;return O=Y,t.substr(Y,2)===lu?(K=lu,Y+=2):(K=r,yt===0&&wt(TA)),K!==r&&(xt=O,K=RA()),O=K,O===r&&(O=Y,t.charCodeAt(Y)===92?(K=oa,Y++):(K=r,yt===0&&wt(aa)),K!==r?(FA.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(gr)),re!==r?(xt=O,K=Bo(re),O=K):(Y=O,O=r)):(Y=O,O=r)),O}function yn(){var O,K,re;for(O=Y,K=[],re=xo(),re===r&&(jn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(Ts)));re!==r;)K.push(re),re=xo(),re===r&&(jn.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(Ts)));return K!==r&&(xt=O,K=ro(K)),O=K,O}function xo(){var O,K,re;return O=Y,t.substr(Y,2)===Me?(K=Me,Y+=2):(K=r,yt===0&&wt(cu)),K!==r&&(xt=O,K=Cr()),O=K,O===r&&(O=Y,t.substr(Y,2)===pf?(K=pf,Y+=2):(K=r,yt===0&&wt(NA)),K!==r&&(xt=O,K=OA()),O=K,O===r&&(O=Y,t.charCodeAt(Y)===92?(K=oa,Y++):(K=r,yt===0&&wt(aa)),K!==r?(uu.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(fu)),re!==r?(xt=O,K=oc(),O=K):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===ve?(K=ve,Y+=2):(K=r,yt===0&&wt(Nt)),K!==r&&(xt=O,K=ac()),O=K,O===r&&(O=Y,t.substr(Y,2)===Oi?(K=Oi,Y+=2):(K=r,yt===0&&wt(no)),K!==r&&(xt=O,K=Rt()),O=K,O===r&&(O=Y,t.substr(Y,2)===xn?(K=xn,Y+=2):(K=r,yt===0&&wt(la)),K!==r&&(xt=O,K=Gi()),O=K,O===r&&(O=Y,t.substr(Y,2)===Li?(K=Li,Y+=2):(K=r,yt===0&&wt(Na)),K!==r&&(xt=O,K=dn()),O=K,O===r&&(O=Y,t.substr(Y,2)===Kn?(K=Kn,Y+=2):(K=r,yt===0&&wt(Au)),K!==r&&(xt=O,K=yh()),O=K,O===r&&(O=Y,t.charCodeAt(Y)===92?(K=oa,Y++):(K=r,yt===0&&wt(aa)),K!==r?(Oa.test(t.charAt(Y))?(re=t.charAt(Y),Y++):(re=r,yt===0&&wt(La)),re!==r?(xt=O,K=Bo(re),O=K):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Iu()))))))))),O}function Iu(){var O,K,re,de,Je,At,dr,vr,Un,mi,Cs,JA;return O=Y,t.charCodeAt(Y)===92?(K=oa,Y++):(K=r,yt===0&&wt(aa)),K!==r?(re=pa(),re!==r?(xt=O,K=Ma(re),O=K):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===$e?(K=$e,Y+=2):(K=r,yt===0&&wt(Ua)),K!==r?(re=Y,de=Y,Je=pa(),Je!==r?(At=Fs(),At!==r?(Je=[Je,At],de=Je):(Y=de,de=r)):(Y=de,de=r),de===r&&(de=pa()),de!==r?re=t.substring(re,Y):re=de,re!==r?(xt=O,K=Ma(re),O=K):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===hf?(K=hf,Y+=2):(K=r,yt===0&&wt(lc)),K!==r?(re=Y,de=Y,Je=Fs(),Je!==r?(At=Fs(),At!==r?(dr=Fs(),dr!==r?(vr=Fs(),vr!==r?(Je=[Je,At,dr,vr],de=Je):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r),de!==r?re=t.substring(re,Y):re=de,re!==r?(xt=O,K=Ma(re),O=K):(Y=O,O=r)):(Y=O,O=r),O===r&&(O=Y,t.substr(Y,2)===wn?(K=wn,Y+=2):(K=r,yt===0&&wt(ca)),K!==r?(re=Y,de=Y,Je=Fs(),Je!==r?(At=Fs(),At!==r?(dr=Fs(),dr!==r?(vr=Fs(),vr!==r?(Un=Fs(),Un!==r?(mi=Fs(),mi!==r?(Cs=Fs(),Cs!==r?(JA=Fs(),JA!==r?(Je=[Je,At,dr,vr,Un,mi,Cs,JA],de=Je):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r)):(Y=de,de=r),de!==r?re=t.substring(re,Y):re=de,re!==r?(xt=O,K=LA(re),O=K):(Y=O,O=r)):(Y=O,O=r)))),O}function pa(){var O;return MA.test(t.charAt(Y))?(O=t.charAt(Y),Y++):(O=r,yt===0&&wt(ua)),O}function Fs(){var O;return Bl.test(t.charAt(Y))?(O=t.charAt(Y),Y++):(O=r,yt===0&&wt(Mt)),O}function Dh(){var O,K,re,de,Je;if(O=Y,K=[],re=Y,t.charCodeAt(Y)===92?(de=oa,Y++):(de=r,yt===0&&wt(aa)),de!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,yt===0&&wt(kn)),Je!==r?(xt=re,de=Bo(Je),re=de):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,t.substr(Y,2)===fa?(de=fa,Y+=2):(de=r,yt===0&&wt(Ha)),de!==r&&(xt=re,de=ns()),re=de,re===r&&(re=Y,de=Y,yt++,Je=Dy(),yt--,Je===r?de=void 0:(Y=de,de=r),de!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,yt===0&&wt(kn)),Je!==r?(xt=re,de=Bo(Je),re=de):(Y=re,re=r)):(Y=re,re=r))),re!==r)for(;re!==r;)K.push(re),re=Y,t.charCodeAt(Y)===92?(de=oa,Y++):(de=r,yt===0&&wt(aa)),de!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,yt===0&&wt(kn)),Je!==r?(xt=re,de=Bo(Je),re=de):(Y=re,re=r)):(Y=re,re=r),re===r&&(re=Y,t.substr(Y,2)===fa?(de=fa,Y+=2):(de=r,yt===0&&wt(Ha)),de!==r&&(xt=re,de=ns()),re=de,re===r&&(re=Y,de=Y,yt++,Je=Dy(),yt--,Je===r?de=void 0:(Y=de,de=r),de!==r?(t.length>Y?(Je=t.charAt(Y),Y++):(Je=r,yt===0&&wt(kn)),Je!==r?(xt=re,de=Bo(Je),re=de):(Y=re,re=r)):(Y=re,re=r)));else K=r;return K!==r&&(xt=O,K=ro(K)),O=K,O}function YA(){var O,K,re,de,Je,At;if(O=Y,t.charCodeAt(Y)===45?(K=cc,Y++):(K=r,yt===0&&wt(pu)),K===r&&(t.charCodeAt(Y)===43?(K=uc,Y++):(K=r,yt===0&&wt(ja))),K===r&&(K=null),K!==r){if(re=[],it.test(t.charAt(Y))?(de=t.charAt(Y),Y++):(de=r,yt===0&&wt(Ue)),de!==r)for(;de!==r;)re.push(de),it.test(t.charAt(Y))?(de=t.charAt(Y),Y++):(de=r,yt===0&&wt(Ue));else re=r;if(re!==r)if(t.charCodeAt(Y)===46?(de=Mi,Y++):(de=r,yt===0&&wt(Is)),de!==r){if(Je=[],it.test(t.charAt(Y))?(At=t.charAt(Y),Y++):(At=r,yt===0&&wt(Ue)),At!==r)for(;At!==r;)Je.push(At),it.test(t.charAt(Y))?(At=t.charAt(Y),Y++):(At=r,yt===0&&wt(Ue));else Je=r;Je!==r?(xt=O,K=vl(K,
Download .txt
gitextract_pu2fii8h/

├── .attw.json
├── .claude/
│   └── skills/
│       ├── compat-review/
│       │   └── SKILL.md
│       ├── issue-label/
│       │   └── SKILL.md
│       ├── issue-review/
│       │   └── SKILL.md
│       ├── pr-review/
│       │   └── SKILL.md
│       ├── pr-triage/
│       │   └── SKILL.md
│       └── release/
│           └── SKILL.md
├── .github/
│   ├── CODEOWNERS
│   ├── CODE_OF_CONDUCT.md
│   ├── CONTRIBUTING-ko_kr.md
│   ├── CONTRIBUTING-zh_hans.md
│   ├── CONTRIBUTING.md
│   ├── dependabot.yml
│   └── workflows/
│       ├── autofix.yml
│       ├── broken-link-checker.yml
│       ├── ci.yml
│       ├── codecov.yml
│       ├── deno.yml
│       └── release.yml
├── .gitignore
├── .npmignore
├── .nvmrc
├── .prettierignore
├── .prettierrc.cjs
├── .scripts/
│   ├── check-dist.mjs
│   ├── check-peer.sh
│   ├── docs/
│   │   ├── deno.json
│   │   ├── formatters/
│   │   │   ├── class.ts
│   │   │   ├── function.ts
│   │   │   ├── helpers/
│   │   │   │   └── readonly.ts
│   │   │   ├── nodes/
│   │   │   │   ├── call-signature.ts
│   │   │   │   ├── decorator.ts
│   │   │   │   ├── index-signature.ts
│   │   │   │   ├── method.ts
│   │   │   │   ├── object-pat-prop.ts
│   │   │   │   ├── param.ts
│   │   │   │   ├── property.ts
│   │   │   │   ├── type-param.ts
│   │   │   │   └── type.ts
│   │   │   └── options.ts
│   │   ├── generate-docs.mts
│   │   ├── operations/
│   │   │   ├── render/
│   │   │   │   ├── en.ts
│   │   │   │   ├── ja.ts
│   │   │   │   ├── ko.ts
│   │   │   │   ├── types.ts
│   │   │   │   └── zh_hans.ts
│   │   │   ├── toDocumentationItem.ts
│   │   │   └── translate.ts
│   │   └── types/
│   │       ├── DocumentationItem.ts
│   │       └── Locale.ts
│   ├── generate-bundle-size.mjs
│   ├── postbuild.sh
│   └── tests/
│       ├── _internal/
│       │   ├── formatter/
│       │   │   └── brokenSyntax.ts
│       │   └── transform/
│       │       ├── assert.ts
│       │       ├── import.ts
│       │       └── lodashStable.ts
│       └── transform-lodash-test.ts
├── .vscode/
│   ├── extensions.json
│   └── settings.json
├── .yarn/
│   ├── releases/
│   │   └── yarn-4.12.0.cjs
│   └── sdks/
│       ├── eslint/
│       │   ├── bin/
│       │   │   └── eslint.js
│       │   ├── lib/
│       │   │   ├── api.js
│       │   │   ├── config-api.js
│       │   │   ├── universal.js
│       │   │   └── unsupported-api.js
│       │   └── package.json
│       ├── integrations.yml
│       ├── prettier/
│       │   ├── bin/
│       │   │   └── prettier.cjs
│       │   ├── index.cjs
│       │   └── package.json
│       └── typescript/
│           ├── bin/
│           │   ├── tsc
│           │   └── tsserver
│           ├── lib/
│           │   ├── tsc.js
│           │   ├── tsserver.js
│           │   ├── tsserverlibrary.js
│           │   └── typescript.js
│           └── package.json
├── .yarnrc.yml
├── CHANGELOG.md
├── CLAUDE.md
├── LICENSE
├── README-ja_jp.md
├── README-ko_kr.md
├── README-zh_hans.md
├── README.md
├── SECURITY.md
├── benchmarks/
│   ├── bundle-size/
│   │   ├── add.spec.ts
│   │   ├── camelCase.spec.ts
│   │   ├── chunk.spec.ts
│   │   ├── clone.spec.ts
│   │   ├── cloneDeep.spec.ts
│   │   ├── curry.spec.ts
│   │   ├── debounce.spec.ts
│   │   ├── difference.spec.ts
│   │   ├── escape.spec.ts
│   │   ├── escapeRegExp.spec.ts
│   │   ├── find.spec.ts
│   │   ├── findKey.spec.ts
│   │   ├── flow.spec.ts
│   │   ├── isEqual.spec.ts
│   │   ├── isPlainObject.spec.ts
│   │   ├── lastIndexOf.spec.ts
│   │   ├── mapKeys.spec.ts
│   │   ├── mapValues.spec.ts
│   │   ├── merge.spec.ts
│   │   ├── mergeWith.spec.ts
│   │   ├── omit.spec.ts
│   │   ├── throttle.spec.ts
│   │   ├── utils/
│   │   │   └── getBundleSize.ts
│   │   ├── zip.spec.ts
│   │   ├── zipObject.spec.ts
│   │   ├── zipObjectDeep.spec.ts
│   │   └── zipWith.spec.ts
│   ├── package.json
│   └── performance/
│       ├── add.bench.ts
│       ├── after.bench.ts
│       ├── ary.bench.ts
│       ├── assign.bench.ts
│       ├── assignIn.bench.ts
│       ├── assignInWith.bench.ts
│       ├── assignWith.bench.ts
│       ├── at.bench.ts
│       ├── attempt.bench.ts
│       ├── before.bench.ts
│       ├── bind.bench.ts
│       ├── bindAll.bench.ts
│       ├── bindKey.bench.ts
│       ├── camelCase.bench.ts
│       ├── capitalize.bench.ts
│       ├── castArray.bench.ts
│       ├── ceil.bench.ts
│       ├── check-dist-mock.bench.ts
│       ├── chunk.bench.ts
│       ├── clamp.bench.ts
│       ├── clone.bench.ts
│       ├── cloneDeep.bench.ts
│       ├── cloneWith.bench.ts
│       ├── compact.bench.ts
│       ├── concat.bench.ts
│       ├── cond.bench.ts
│       ├── conforms.bench.ts
│       ├── conformsTo.bench.ts
│       ├── constant.bench.ts
│       ├── countBy.bench.ts
│       ├── create.bench.ts
│       ├── curry.bench.ts
│       ├── curryRight.bench.ts
│       ├── debounce.bench.ts
│       ├── deburr.bench.ts
│       ├── defaultTo.bench.ts
│       ├── defaults.bench.ts
│       ├── defaultsDeep.bench.ts
│       ├── defer.bench.ts
│       ├── delay.bench.ts
│       ├── difference.bench.ts
│       ├── differenceBy.bench.ts
│       ├── differenceWith.bench.ts
│       ├── divide.bench.ts
│       ├── drop.bench.ts
│       ├── dropRight.bench.ts
│       ├── dropRightWhile.bench.ts
│       ├── dropWhile.bench.ts
│       ├── endsWith.bench.ts
│       ├── eq.bench.ts
│       ├── escape.bench.ts
│       ├── escapeRegExp.bench.ts
│       ├── every.bench.ts
│       ├── fill.bench.ts
│       ├── filter.bench.ts
│       ├── find.bench.ts
│       ├── findIndex.bench.ts
│       ├── findKey.bench.ts
│       ├── findLast.bench.ts
│       ├── findLastIndex.bench.ts
│       ├── findLastKey.bench.ts
│       ├── flatMap.bench.ts
│       ├── flatMapDeep.bench.ts
│       ├── flatMapDepth.bench.ts
│       ├── flatten.bench.ts
│       ├── flattenDeep.bench.ts
│       ├── flattenDepth.bench.ts
│       ├── flip.bench.ts
│       ├── floor.bench.ts
│       ├── flow.bench.ts
│       ├── flowRight.bench.ts
│       ├── forEach.bench.ts
│       ├── forEachRight.bench.ts
│       ├── forIn.bench.ts
│       ├── forInRight.bench.ts
│       ├── forOwn.bench.ts
│       ├── forOwnRight.bench.ts
│       ├── fromPairs.bench.ts
│       ├── functions.bench.ts
│       ├── functionsIn.bench.ts
│       ├── get.bench.ts
│       ├── groupBy.bench.ts
│       ├── gt.bench.ts
│       ├── gte.bench.ts
│       ├── has.bench.ts
│       ├── hasIn.bench.ts
│       ├── head.bench.ts
│       ├── identity.bench.ts
│       ├── inRange.bench.ts
│       ├── includes.bench.ts
│       ├── indexOf.bench.ts
│       ├── initial.bench.ts
│       ├── intersection.bench.ts
│       ├── intersectionBy.bench.ts
│       ├── intersectionWith.bench.ts
│       ├── invert.bench.ts
│       ├── invertBy.bench.ts
│       ├── invokeMap.bench.ts
│       ├── isArguments.bench.ts
│       ├── isArray.bench.ts
│       ├── isArrayBuffer.bench.ts
│       ├── isArrayLike.bench.ts
│       ├── isArrayLikeObject.bench.ts
│       ├── isBoolean.bench.ts
│       ├── isBuffer.bench.ts
│       ├── isDate.bench.ts
│       ├── isElement.bench.ts
│       ├── isEqual.bench.ts
│       ├── isEqualWith.bench.ts
│       ├── isError.bench.ts
│       ├── isFinite.bench.ts
│       ├── isFunction.bench.ts
│       ├── isInteger.bench.ts
│       ├── isJSONObject.bench.ts
│       ├── isLength.bench.ts
│       ├── isMap.bench.ts
│       ├── isMatch.bench.ts
│       ├── isMatchWith.bench.ts
│       ├── isNaN.bench.ts
│       ├── isNative.bench.ts
│       ├── isNil.bench.ts
│       ├── isNull.bench.ts
│       ├── isNumber.bench.ts
│       ├── isObject.bench.ts
│       ├── isObjectLike.bench.ts
│       ├── isPlainObject.bench.ts
│       ├── isRegExp.bench.ts
│       ├── isSafeInteger.bench.ts
│       ├── isSet.bench.ts
│       ├── isString.bench.ts
│       ├── isSubset.bench.ts
│       ├── isSubsetWith.bench.ts
│       ├── isSymbol.bench.ts
│       ├── isTypedArray.bench.ts
│       ├── isUndefined.bench.ts
│       ├── isWeakMap.bench.ts
│       ├── isWeakSet.bench.ts
│       ├── iteratee.bench.ts
│       ├── join.bench.ts
│       ├── kebabCase.bench.ts
│       ├── keyBy.bench.ts
│       ├── keys.bench.ts
│       ├── keysIn.bench.ts
│       ├── last.bench.ts
│       ├── lastIndexOf.bench.ts
│       ├── lowerCase.bench.ts
│       ├── lowerFirst.bench.ts
│       ├── map.bench.ts
│       ├── mapKeys.bench.ts
│       ├── mapValues.bench.ts
│       ├── matches.bench.ts
│       ├── matchesProperty.bench.ts
│       ├── max.bench.ts
│       ├── maxBy.bench.ts
│       ├── mean.bench.ts
│       ├── meanBy.bench.ts
│       ├── memoize.bench.ts
│       ├── merge.bench.ts
│       ├── mergeWith.bench.ts
│       ├── method.bench.ts
│       ├── methodOf.bench.ts
│       ├── min.bench.ts
│       ├── minBy.bench.ts
│       ├── multiply.bench.ts
│       ├── negate.bench.ts
│       ├── noop.bench.ts
│       ├── nth.bench.ts
│       ├── nthArg.bench.ts
│       ├── omit.bench.ts
│       ├── omitBy.bench.ts
│       ├── once.bench.ts
│       ├── orderBy.bench.ts
│       ├── over.bench.ts
│       ├── overArgs.bench.ts
│       ├── overEvery.bench.ts
│       ├── overSome.bench.ts
│       ├── pad.bench.ts
│       ├── padEnd.bench.ts
│       ├── padStart.bench.ts
│       ├── parseInt.bench.ts
│       ├── partial.bench.ts
│       ├── partialRight.bench.ts
│       ├── partition.bench.ts
│       ├── pick.bench.ts
│       ├── pickBy.bench.ts
│       ├── property.bench.ts
│       ├── propertyOf.bench.ts
│       ├── pull.bench.ts
│       ├── pullAllBy.bench.ts
│       ├── pullAllWith.bench.ts
│       ├── pullAt.bench.ts
│       ├── random.bench.ts
│       ├── randomInt.bench.ts
│       ├── range.bench.ts
│       ├── rangeRight.bench.ts
│       ├── rearg.bench.ts
│       ├── reduce.bench.ts
│       ├── reduceRight.bench.ts
│       ├── reject.bench.ts
│       ├── repeat.bench.ts
│       ├── replace.bench.ts
│       ├── rest.bench.ts
│       ├── result.bench.ts
│       ├── reverse.bench.ts
│       ├── round.bench.ts
│       ├── sample.bench.ts
│       ├── sampleSize.bench.ts
│       ├── set.bench.ts
│       ├── setWith.bench.ts
│       ├── shuffle.bench.ts
│       ├── size.bench.ts
│       ├── slice.bench.ts
│       ├── snakeCase.bench.ts
│       ├── some.bench.ts
│       ├── sortBy.bench.ts
│       ├── sortedIndex.bench.ts
│       ├── sortedIndexBy.bench.ts
│       ├── sortedIndexOf.bench.ts
│       ├── sortedLastIndexOf.bench.ts
│       ├── split.bench.ts
│       ├── spread.bench.ts
│       ├── startCase.bench.ts
│       ├── startsWith.bench.ts
│       ├── subtract.bench.ts
│       ├── sum.bench.ts
│       ├── sumBy.bench.ts
│       ├── tail.bench.ts
│       ├── take.bench.ts
│       ├── takeRight.bench.ts
│       ├── takeRightWhile.bench.ts
│       ├── takeWhile.bench.ts
│       ├── template.bench.ts
│       ├── throttle.bench.ts
│       ├── times.bench.ts
│       ├── toArray.bench.ts
│       ├── toCamelCaseKeys.bench.ts
│       ├── toFilled.bench.ts
│       ├── toFinite.bench.ts
│       ├── toInteger.bench.ts
│       ├── toLength.bench.ts
│       ├── toNumber.bench.ts
│       ├── toPairs.bench.ts
│       ├── toPairsIn.bench.ts
│       ├── toPath.bench.ts
│       ├── toPlainObject.bench.ts
│       ├── toSafeInteger.bench.ts
│       ├── toSnakeCaseKeys.bench.ts
│       ├── toString.bench.ts
│       ├── toUpper.bench.ts
│       ├── transform.bench.ts
│       ├── trim.bench.ts
│       ├── trimEnd.bench.ts
│       ├── trimStart.bench.ts
│       ├── truncate.bench.ts
│       ├── unary.bench.ts
│       ├── unescape.bench.ts
│       ├── union.bench.ts
│       ├── unionBy.bench.ts
│       ├── unionWith.bench.ts
│       ├── uniq.bench.ts
│       ├── uniqBy.bench.ts
│       ├── uniqWith.bench.ts
│       ├── uniqueId.bench.ts
│       ├── unset.bench.ts
│       ├── unzip.bench.ts
│       ├── unzipWith.bench.ts
│       ├── update.bench.ts
│       ├── updateWith.bench.ts
│       ├── upperCase.bench.ts
│       ├── upperFirst.bench.ts
│       ├── values.bench.ts
│       ├── valuesIn.bench.ts
│       ├── without.bench.ts
│       ├── words.bench.ts
│       ├── wrap.bench.ts
│       ├── xor.bench.ts
│       ├── xorBy.bench.ts
│       ├── xorWith.bench.ts
│       ├── zip.bench.ts
│       ├── zipObject.bench.ts
│       ├── zipObjectDeep.bench.ts
│       └── zipWith.bench.ts
├── codecov.yml
├── docs/
│   ├── .gitignore
│   ├── .vitepress/
│   │   ├── components/
│   │   │   ├── Banner.vue
│   │   │   ├── BundleSizeChart.vue
│   │   │   ├── BundleSizeTable.vue
│   │   │   ├── CompatibilityStatus.vue
│   │   │   └── Sandpack.vue
│   │   ├── composables/
│   │   │   ├── index.ts
│   │   │   └── useBanner.ts
│   │   ├── config.mts
│   │   ├── data/
│   │   │   └── bannerData.ts
│   │   ├── en.mts
│   │   ├── ja.mts
│   │   ├── ko.mts
│   │   ├── libs/
│   │   │   ├── compatibility.data.mts
│   │   │   ├── functions.json
│   │   │   ├── getSidebarItems.mts
│   │   │   └── sortByText.mts
│   │   ├── shared.mts
│   │   ├── theme/
│   │   │   ├── index.css
│   │   │   └── index.js
│   │   └── zh_hans.mts
│   ├── CLAUDE.md
│   ├── bundle-size.md
│   ├── compatibility.md
│   ├── data/
│   │   └── bundle-size.json
│   ├── index.md
│   ├── intro.md
│   ├── ja/
│   │   ├── bundle-size.md
│   │   ├── compatibility.md
│   │   ├── index.md
│   │   ├── intro.md
│   │   ├── llms-txt.md
│   │   ├── performance.md
│   │   ├── reference/
│   │   │   ├── array/
│   │   │   │   ├── at.md
│   │   │   │   ├── chunk.md
│   │   │   │   ├── compact.md
│   │   │   │   ├── countBy.md
│   │   │   │   ├── difference.md
│   │   │   │   ├── differenceBy.md
│   │   │   │   ├── differenceWith.md
│   │   │   │   ├── drop.md
│   │   │   │   ├── dropRight.md
│   │   │   │   ├── dropRightWhile.md
│   │   │   │   ├── dropWhile.md
│   │   │   │   ├── fill.md
│   │   │   │   ├── filterAsync.md
│   │   │   │   ├── flatMap.md
│   │   │   │   ├── flatMapAsync.md
│   │   │   │   ├── flatMapDeep.md
│   │   │   │   ├── flatten.md
│   │   │   │   ├── flattenDeep.md
│   │   │   │   ├── forEachAsync.md
│   │   │   │   ├── forEachRight.md
│   │   │   │   ├── groupBy.md
│   │   │   │   ├── head.md
│   │   │   │   ├── initial.md
│   │   │   │   ├── intersection.md
│   │   │   │   ├── intersectionBy.md
│   │   │   │   ├── intersectionWith.md
│   │   │   │   ├── isSubset.md
│   │   │   │   ├── isSubsetWith.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── last.md
│   │   │   │   ├── limitAsync.md
│   │   │   │   ├── mapAsync.md
│   │   │   │   ├── maxBy.md
│   │   │   │   ├── minBy.md
│   │   │   │   ├── orderBy.md
│   │   │   │   ├── partition.md
│   │   │   │   ├── pull.md
│   │   │   │   ├── pullAt.md
│   │   │   │   ├── reduceAsync.md
│   │   │   │   ├── remove.md
│   │   │   │   ├── sample.md
│   │   │   │   ├── sampleSize.md
│   │   │   │   ├── shuffle.md
│   │   │   │   ├── sortBy.md
│   │   │   │   ├── tail.md
│   │   │   │   ├── take.md
│   │   │   │   ├── takeRight.md
│   │   │   │   ├── takeRightWhile.md
│   │   │   │   ├── takeWhile.md
│   │   │   │   ├── toFilled.md
│   │   │   │   ├── union.md
│   │   │   │   ├── unionBy.md
│   │   │   │   ├── unionWith.md
│   │   │   │   ├── uniq.md
│   │   │   │   ├── uniqBy.md
│   │   │   │   ├── uniqWith.md
│   │   │   │   ├── unzip.md
│   │   │   │   ├── unzipWith.md
│   │   │   │   ├── windowed.md
│   │   │   │   ├── without.md
│   │   │   │   ├── xor.md
│   │   │   │   ├── xorBy.md
│   │   │   │   ├── xorWith.md
│   │   │   │   ├── zip.md
│   │   │   │   ├── zipObject.md
│   │   │   │   └── zipWith.md
│   │   │   ├── compat/
│   │   │   │   ├── array/
│   │   │   │   │   ├── castArray.md
│   │   │   │   │   ├── chunk.md
│   │   │   │   │   ├── compact.md
│   │   │   │   │   ├── concat.md
│   │   │   │   │   ├── countBy.md
│   │   │   │   │   ├── difference.md
│   │   │   │   │   ├── differenceBy.md
│   │   │   │   │   ├── differenceWith.md
│   │   │   │   │   ├── drop.md
│   │   │   │   │   ├── dropRight.md
│   │   │   │   │   ├── dropRightWhile.md
│   │   │   │   │   ├── dropWhile.md
│   │   │   │   │   ├── each.md
│   │   │   │   │   ├── eachRight.md
│   │   │   │   │   ├── every.md
│   │   │   │   │   ├── fill.md
│   │   │   │   │   ├── filter.md
│   │   │   │   │   ├── find.md
│   │   │   │   │   ├── findIndex.md
│   │   │   │   │   ├── findLast.md
│   │   │   │   │   ├── findLastIndex.md
│   │   │   │   │   ├── first.md
│   │   │   │   │   ├── flatMap.md
│   │   │   │   │   ├── flatMapDeep.md
│   │   │   │   │   ├── flatMapDepth.md
│   │   │   │   │   ├── flatten.md
│   │   │   │   │   ├── flattenDeep.md
│   │   │   │   │   ├── flattenDepth.md
│   │   │   │   │   ├── forEach.md
│   │   │   │   │   ├── forEachRight.md
│   │   │   │   │   ├── groupBy.md
│   │   │   │   │   ├── head.md
│   │   │   │   │   ├── includes.md
│   │   │   │   │   ├── indexOf.md
│   │   │   │   │   ├── initial.md
│   │   │   │   │   ├── intersection.md
│   │   │   │   │   ├── intersectionBy.md
│   │   │   │   │   ├── intersectionWith.md
│   │   │   │   │   ├── invokeMap.md
│   │   │   │   │   ├── join.md
│   │   │   │   │   ├── keyBy.md
│   │   │   │   │   ├── last.md
│   │   │   │   │   ├── lastIndexOf.md
│   │   │   │   │   ├── map.md
│   │   │   │   │   ├── nth.md
│   │   │   │   │   ├── orderBy.md
│   │   │   │   │   ├── partition.md
│   │   │   │   │   ├── pull.md
│   │   │   │   │   ├── pullAll.md
│   │   │   │   │   ├── pullAllBy.md
│   │   │   │   │   ├── pullAllWith.md
│   │   │   │   │   ├── pullAt.md
│   │   │   │   │   ├── reduce.md
│   │   │   │   │   ├── reduceRight.md
│   │   │   │   │   ├── reject.md
│   │   │   │   │   ├── remove.md
│   │   │   │   │   ├── reverse.md
│   │   │   │   │   ├── sample.md
│   │   │   │   │   ├── sampleSize.md
│   │   │   │   │   ├── shuffle.md
│   │   │   │   │   ├── size.md
│   │   │   │   │   ├── slice.md
│   │   │   │   │   ├── some.md
│   │   │   │   │   ├── sortBy.md
│   │   │   │   │   ├── sortedIndex.md
│   │   │   │   │   ├── sortedIndexBy.md
│   │   │   │   │   ├── sortedIndexOf.md
│   │   │   │   │   ├── sortedLastIndex.md
│   │   │   │   │   ├── sortedLastIndexBy.md
│   │   │   │   │   ├── sortedLastIndexOf.md
│   │   │   │   │   ├── tail.md
│   │   │   │   │   ├── take.md
│   │   │   │   │   ├── takeRight.md
│   │   │   │   │   ├── takeRightWhile.md
│   │   │   │   │   ├── takeWhile.md
│   │   │   │   │   ├── union.md
│   │   │   │   │   ├── unionBy.md
│   │   │   │   │   ├── unionWith.md
│   │   │   │   │   ├── uniq.md
│   │   │   │   │   ├── uniqBy.md
│   │   │   │   │   ├── uniqWith.md
│   │   │   │   │   ├── unzip.md
│   │   │   │   │   ├── unzipWith.md
│   │   │   │   │   ├── without.md
│   │   │   │   │   ├── xor.md
│   │   │   │   │   ├── xorBy.md
│   │   │   │   │   ├── xorWith.md
│   │   │   │   │   ├── zip.md
│   │   │   │   │   ├── zipObject.md
│   │   │   │   │   ├── zipObjectDeep.md
│   │   │   │   │   └── zipWith.md
│   │   │   │   ├── function/
│   │   │   │   │   ├── after.md
│   │   │   │   │   ├── ary.md
│   │   │   │   │   ├── attempt.md
│   │   │   │   │   ├── before.md
│   │   │   │   │   ├── bind.md
│   │   │   │   │   ├── bindKey.md
│   │   │   │   │   ├── curry.md
│   │   │   │   │   ├── curryRight.md
│   │   │   │   │   ├── debounce.md
│   │   │   │   │   ├── defer.md
│   │   │   │   │   ├── delay.md
│   │   │   │   │   ├── flip.md
│   │   │   │   │   ├── flow.md
│   │   │   │   │   ├── flowRight.md
│   │   │   │   │   ├── identity.md
│   │   │   │   │   ├── memoize.md
│   │   │   │   │   ├── negate.md
│   │   │   │   │   ├── noop.md
│   │   │   │   │   ├── nthArg.md
│   │   │   │   │   ├── once.md
│   │   │   │   │   ├── overArgs.md
│   │   │   │   │   ├── partial.md
│   │   │   │   │   ├── partialRight.md
│   │   │   │   │   ├── rearg.md
│   │   │   │   │   ├── rest.md
│   │   │   │   │   ├── spread.md
│   │   │   │   │   ├── throttle.md
│   │   │   │   │   ├── unary.md
│   │   │   │   │   └── wrap.md
│   │   │   │   ├── math/
│   │   │   │   │   ├── add.md
│   │   │   │   │   ├── ceil.md
│   │   │   │   │   ├── clamp.md
│   │   │   │   │   ├── divide.md
│   │   │   │   │   ├── floor.md
│   │   │   │   │   ├── inRange.md
│   │   │   │   │   ├── max.md
│   │   │   │   │   ├── maxBy.md
│   │   │   │   │   ├── mean.md
│   │   │   │   │   ├── meanBy.md
│   │   │   │   │   ├── min.md
│   │   │   │   │   ├── minBy.md
│   │   │   │   │   ├── multiply.md
│   │   │   │   │   ├── parseInt.md
│   │   │   │   │   ├── random.md
│   │   │   │   │   ├── range.md
│   │   │   │   │   ├── rangeRight.md
│   │   │   │   │   ├── round.md
│   │   │   │   │   ├── subtract.md
│   │   │   │   │   ├── sum.md
│   │   │   │   │   └── sumBy.md
│   │   │   │   ├── object/
│   │   │   │   │   ├── assign.md
│   │   │   │   │   ├── assignIn.md
│   │   │   │   │   ├── assignInWith.md
│   │   │   │   │   ├── assignWith.md
│   │   │   │   │   ├── at.md
│   │   │   │   │   ├── clone.md
│   │   │   │   │   ├── cloneDeep.md
│   │   │   │   │   ├── cloneDeepWith.md
│   │   │   │   │   ├── cloneWith.md
│   │   │   │   │   ├── create.md
│   │   │   │   │   ├── defaults.md
│   │   │   │   │   ├── defaultsDeep.md
│   │   │   │   │   ├── extend.md
│   │   │   │   │   ├── extendWith.md
│   │   │   │   │   ├── findKey.md
│   │   │   │   │   ├── findLastKey.md
│   │   │   │   │   ├── forIn.md
│   │   │   │   │   ├── forInRight.md
│   │   │   │   │   ├── forOwn.md
│   │   │   │   │   ├── forOwnRight.md
│   │   │   │   │   ├── fromPairs.md
│   │   │   │   │   ├── functions.md
│   │   │   │   │   ├── functionsIn.md
│   │   │   │   │   ├── get.md
│   │   │   │   │   ├── has.md
│   │   │   │   │   ├── hasIn.md
│   │   │   │   │   ├── invert.md
│   │   │   │   │   ├── invertBy.md
│   │   │   │   │   ├── keys.md
│   │   │   │   │   ├── keysIn.md
│   │   │   │   │   ├── mapKeys.md
│   │   │   │   │   ├── mapValues.md
│   │   │   │   │   ├── merge.md
│   │   │   │   │   ├── mergeWith.md
│   │   │   │   │   ├── omit.md
│   │   │   │   │   ├── omitBy.md
│   │   │   │   │   ├── pick.md
│   │   │   │   │   ├── pickBy.md
│   │   │   │   │   ├── property.md
│   │   │   │   │   ├── propertyOf.md
│   │   │   │   │   ├── result.md
│   │   │   │   │   ├── set.md
│   │   │   │   │   ├── setWith.md
│   │   │   │   │   ├── toDefaulted.md
│   │   │   │   │   ├── toPairs.md
│   │   │   │   │   ├── toPairsIn.md
│   │   │   │   │   ├── transform.md
│   │   │   │   │   ├── unset.md
│   │   │   │   │   ├── update.md
│   │   │   │   │   ├── updateWith.md
│   │   │   │   │   ├── values.md
│   │   │   │   │   └── valuesIn.md
│   │   │   │   ├── predicate/
│   │   │   │   │   ├── conforms.md
│   │   │   │   │   ├── conformsTo.md
│   │   │   │   │   ├── isArguments.md
│   │   │   │   │   ├── isArray.md
│   │   │   │   │   ├── isArrayBuffer.md
│   │   │   │   │   ├── isArrayLike.md
│   │   │   │   │   ├── isArrayLikeObject.md
│   │   │   │   │   ├── isBoolean.md
│   │   │   │   │   ├── isBuffer.md
│   │   │   │   │   ├── isDate.md
│   │   │   │   │   ├── isElement.md
│   │   │   │   │   ├── isEmpty.md
│   │   │   │   │   ├── isEqual.md
│   │   │   │   │   ├── isEqualWith.md
│   │   │   │   │   ├── isError.md
│   │   │   │   │   ├── isFinite.md
│   │   │   │   │   ├── isFunction.md
│   │   │   │   │   ├── isInteger.md
│   │   │   │   │   ├── isLength.md
│   │   │   │   │   ├── isMap.md
│   │   │   │   │   ├── isMatch.md
│   │   │   │   │   ├── isMatchWith.md
│   │   │   │   │   ├── isNaN.md
│   │   │   │   │   ├── isNative.md
│   │   │   │   │   ├── isNil.md
│   │   │   │   │   ├── isNull.md
│   │   │   │   │   ├── isNumber.md
│   │   │   │   │   ├── isObject.md
│   │   │   │   │   ├── isObjectLike.md
│   │   │   │   │   ├── isPlainObject.md
│   │   │   │   │   ├── isRegExp.md
│   │   │   │   │   ├── isSafeInteger.md
│   │   │   │   │   ├── isSet.md
│   │   │   │   │   ├── isString.md
│   │   │   │   │   ├── isSymbol.md
│   │   │   │   │   ├── isTypedArray.md
│   │   │   │   │   ├── isUndefined.md
│   │   │   │   │   ├── isWeakMap.md
│   │   │   │   │   ├── isWeakSet.md
│   │   │   │   │   ├── matches.md
│   │   │   │   │   └── matchesProperty.md
│   │   │   │   ├── string/
│   │   │   │   │   ├── camelCase.md
│   │   │   │   │   ├── capitalize.md
│   │   │   │   │   ├── deburr.md
│   │   │   │   │   ├── endsWith.md
│   │   │   │   │   ├── escape.md
│   │   │   │   │   ├── escapeRegExp.md
│   │   │   │   │   ├── kebabCase.md
│   │   │   │   │   ├── lowerCase.md
│   │   │   │   │   ├── lowerFirst.md
│   │   │   │   │   ├── pad.md
│   │   │   │   │   ├── padEnd.md
│   │   │   │   │   ├── padStart.md
│   │   │   │   │   ├── repeat.md
│   │   │   │   │   ├── replace.md
│   │   │   │   │   ├── snakeCase.md
│   │   │   │   │   ├── split.md
│   │   │   │   │   ├── startCase.md
│   │   │   │   │   ├── startsWith.md
│   │   │   │   │   ├── template.md
│   │   │   │   │   ├── toLower.md
│   │   │   │   │   ├── toUpper.md
│   │   │   │   │   ├── trim.md
│   │   │   │   │   ├── trimEnd.md
│   │   │   │   │   ├── trimStart.md
│   │   │   │   │   ├── truncate.md
│   │   │   │   │   ├── unescape.md
│   │   │   │   │   ├── upperCase.md
│   │   │   │   │   ├── upperFirst.md
│   │   │   │   │   └── words.md
│   │   │   │   └── util/
│   │   │   │       ├── bindAll.md
│   │   │   │       ├── cond.md
│   │   │   │       ├── constant.md
│   │   │   │       ├── defaultTo.md
│   │   │   │       ├── eq.md
│   │   │   │       ├── gt.md
│   │   │   │       ├── gte.md
│   │   │   │       ├── invoke.md
│   │   │   │       ├── iteratee.md
│   │   │   │       ├── lt.md
│   │   │   │       ├── lte.md
│   │   │   │       ├── method.md
│   │   │   │       ├── methodOf.md
│   │   │   │       ├── now.md
│   │   │   │       ├── over.md
│   │   │   │       ├── overEvery.md
│   │   │   │       ├── overSome.md
│   │   │   │       ├── stubArray.md
│   │   │   │       ├── stubFalse.md
│   │   │   │       ├── stubObject.md
│   │   │   │       ├── stubString.md
│   │   │   │       ├── stubTrue.md
│   │   │   │       ├── times.md
│   │   │   │       ├── toArray.md
│   │   │   │       ├── toFinite.md
│   │   │   │       ├── toInteger.md
│   │   │   │       ├── toLength.md
│   │   │   │       ├── toNumber.md
│   │   │   │       ├── toPath.md
│   │   │   │       ├── toPlainObject.md
│   │   │   │       ├── toSafeInteger.md
│   │   │   │       ├── toString.md
│   │   │   │       └── uniqueId.md
│   │   │   ├── error/
│   │   │   │   ├── AbortError.md
│   │   │   │   └── TimeoutError.md
│   │   │   ├── function/
│   │   │   │   ├── after.md
│   │   │   │   ├── ary.md
│   │   │   │   ├── asyncNoop.md
│   │   │   │   ├── before.md
│   │   │   │   ├── curry.md
│   │   │   │   ├── curryRight.md
│   │   │   │   ├── debounce.md
│   │   │   │   ├── flow.md
│   │   │   │   ├── flowRight.md
│   │   │   │   ├── identity.md
│   │   │   │   ├── memoize.md
│   │   │   │   ├── negate.md
│   │   │   │   ├── noop.md
│   │   │   │   ├── once.md
│   │   │   │   ├── partial.md
│   │   │   │   ├── partialRight.md
│   │   │   │   ├── rest.md
│   │   │   │   ├── retry.md
│   │   │   │   ├── spread.md
│   │   │   │   ├── throttle.md
│   │   │   │   └── unary.md
│   │   │   ├── map/
│   │   │   │   ├── countBy.md
│   │   │   │   ├── every.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── findValue.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── hasValue.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── reduce.md
│   │   │   │   └── some.md
│   │   │   ├── math/
│   │   │   │   ├── clamp.md
│   │   │   │   ├── inRange.md
│   │   │   │   ├── mean.md
│   │   │   │   ├── meanBy.md
│   │   │   │   ├── median.md
│   │   │   │   ├── medianBy.md
│   │   │   │   ├── random.md
│   │   │   │   ├── randomInt.md
│   │   │   │   ├── range.md
│   │   │   │   ├── rangeRight.md
│   │   │   │   ├── round.md
│   │   │   │   ├── sum.md
│   │   │   │   └── sumBy.md
│   │   │   ├── object/
│   │   │   │   ├── clone.md
│   │   │   │   ├── cloneDeep.md
│   │   │   │   ├── cloneDeepWith.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── flattenObject.md
│   │   │   │   ├── invert.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── merge.md
│   │   │   │   ├── mergeWith.md
│   │   │   │   ├── omit.md
│   │   │   │   ├── omitBy.md
│   │   │   │   ├── pick.md
│   │   │   │   ├── pickBy.md
│   │   │   │   ├── toCamelCaseKeys.md
│   │   │   │   ├── toMerged.md
│   │   │   │   └── toSnakeCaseKeys.md
│   │   │   ├── predicate/
│   │   │   │   ├── isArrayBuffer.md
│   │   │   │   ├── isBlob.md
│   │   │   │   ├── isBoolean.md
│   │   │   │   ├── isBrowser.md
│   │   │   │   ├── isBuffer.md
│   │   │   │   ├── isDate.md
│   │   │   │   ├── isEmptyObject.md
│   │   │   │   ├── isEqual.md
│   │   │   │   ├── isEqualWith.md
│   │   │   │   ├── isError.md
│   │   │   │   ├── isFile.md
│   │   │   │   ├── isFunction.md
│   │   │   │   ├── isJSON.md
│   │   │   │   ├── isJSONArray.md
│   │   │   │   ├── isJSONObject.md
│   │   │   │   ├── isJSONValue.md
│   │   │   │   ├── isLength.md
│   │   │   │   ├── isMap.md
│   │   │   │   ├── isNil.md
│   │   │   │   ├── isNode.md
│   │   │   │   ├── isNotNil.md
│   │   │   │   ├── isNull.md
│   │   │   │   ├── isNumber.md
│   │   │   │   ├── isPlainObject.md
│   │   │   │   ├── isPrimitive.md
│   │   │   │   ├── isPromise.md
│   │   │   │   ├── isRegExp.md
│   │   │   │   ├── isSet.md
│   │   │   │   ├── isString.md
│   │   │   │   ├── isSymbol.md
│   │   │   │   ├── isTypedArray.md
│   │   │   │   ├── isUndefined.md
│   │   │   │   ├── isWeakMap.md
│   │   │   │   └── isWeakSet.md
│   │   │   ├── promise/
│   │   │   │   ├── Mutex.md
│   │   │   │   ├── Semaphore.md
│   │   │   │   ├── delay.md
│   │   │   │   ├── timeout.md
│   │   │   │   └── withTimeout.md
│   │   │   ├── set/
│   │   │   │   ├── countBy.md
│   │   │   │   ├── every.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── find.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── map.md
│   │   │   │   ├── reduce.md
│   │   │   │   └── some.md
│   │   │   ├── string/
│   │   │   │   ├── camelCase.md
│   │   │   │   ├── capitalize.md
│   │   │   │   ├── constantCase.md
│   │   │   │   ├── deburr.md
│   │   │   │   ├── escape.md
│   │   │   │   ├── escapeRegExp.md
│   │   │   │   ├── kebabCase.md
│   │   │   │   ├── lowerCase.md
│   │   │   │   ├── lowerFirst.md
│   │   │   │   ├── pad.md
│   │   │   │   ├── pascalCase.md
│   │   │   │   ├── reverseString.md
│   │   │   │   ├── snakeCase.md
│   │   │   │   ├── startCase.md
│   │   │   │   ├── trim.md
│   │   │   │   ├── trimEnd.md
│   │   │   │   ├── trimStart.md
│   │   │   │   ├── unescape.md
│   │   │   │   ├── upperCase.md
│   │   │   │   ├── upperFirst.md
│   │   │   │   └── words.md
│   │   │   └── util/
│   │   │       ├── assert.md
│   │   │       ├── attempt.md
│   │   │       ├── attemptAsync.md
│   │   │       └── invariant.md
│   │   └── usage.md
│   ├── ko/
│   │   ├── bundle-size.md
│   │   ├── compatibility.md
│   │   ├── index.md
│   │   ├── intro.md
│   │   ├── llms-txt.md
│   │   ├── performance.md
│   │   ├── reference/
│   │   │   ├── array/
│   │   │   │   ├── at.md
│   │   │   │   ├── chunk.md
│   │   │   │   ├── compact.md
│   │   │   │   ├── countBy.md
│   │   │   │   ├── difference.md
│   │   │   │   ├── differenceBy.md
│   │   │   │   ├── differenceWith.md
│   │   │   │   ├── drop.md
│   │   │   │   ├── dropRight.md
│   │   │   │   ├── dropRightWhile.md
│   │   │   │   ├── dropWhile.md
│   │   │   │   ├── fill.md
│   │   │   │   ├── filterAsync.md
│   │   │   │   ├── flatMap.md
│   │   │   │   ├── flatMapAsync.md
│   │   │   │   ├── flatMapDeep.md
│   │   │   │   ├── flatten.md
│   │   │   │   ├── flattenDeep.md
│   │   │   │   ├── forEachAsync.md
│   │   │   │   ├── forEachRight.md
│   │   │   │   ├── groupBy.md
│   │   │   │   ├── head.md
│   │   │   │   ├── initial.md
│   │   │   │   ├── intersection.md
│   │   │   │   ├── intersectionBy.md
│   │   │   │   ├── intersectionWith.md
│   │   │   │   ├── isSubset.md
│   │   │   │   ├── isSubsetWith.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── last.md
│   │   │   │   ├── limitAsync.md
│   │   │   │   ├── mapAsync.md
│   │   │   │   ├── maxBy.md
│   │   │   │   ├── minBy.md
│   │   │   │   ├── orderBy.md
│   │   │   │   ├── partition.md
│   │   │   │   ├── pull.md
│   │   │   │   ├── pullAt.md
│   │   │   │   ├── reduceAsync.md
│   │   │   │   ├── remove.md
│   │   │   │   ├── sample.md
│   │   │   │   ├── sampleSize.md
│   │   │   │   ├── shuffle.md
│   │   │   │   ├── sortBy.md
│   │   │   │   ├── tail.md
│   │   │   │   ├── take.md
│   │   │   │   ├── takeRight.md
│   │   │   │   ├── takeRightWhile.md
│   │   │   │   ├── takeWhile.md
│   │   │   │   ├── toFilled.md
│   │   │   │   ├── union.md
│   │   │   │   ├── unionBy.md
│   │   │   │   ├── unionWith.md
│   │   │   │   ├── uniq.md
│   │   │   │   ├── uniqBy.md
│   │   │   │   ├── uniqWith.md
│   │   │   │   ├── unzip.md
│   │   │   │   ├── unzipWith.md
│   │   │   │   ├── windowed.md
│   │   │   │   ├── without.md
│   │   │   │   ├── xor.md
│   │   │   │   ├── xorBy.md
│   │   │   │   ├── xorWith.md
│   │   │   │   ├── zip.md
│   │   │   │   ├── zipObject.md
│   │   │   │   └── zipWith.md
│   │   │   ├── compat/
│   │   │   │   ├── array/
│   │   │   │   │   ├── castArray.md
│   │   │   │   │   ├── chunk.md
│   │   │   │   │   ├── compact.md
│   │   │   │   │   ├── concat.md
│   │   │   │   │   ├── countBy.md
│   │   │   │   │   ├── difference.md
│   │   │   │   │   ├── differenceBy.md
│   │   │   │   │   ├── differenceWith.md
│   │   │   │   │   ├── drop.md
│   │   │   │   │   ├── dropRight.md
│   │   │   │   │   ├── dropRightWhile.md
│   │   │   │   │   ├── dropWhile.md
│   │   │   │   │   ├── each.md
│   │   │   │   │   ├── eachRight.md
│   │   │   │   │   ├── every.md
│   │   │   │   │   ├── fill.md
│   │   │   │   │   ├── filter.md
│   │   │   │   │   ├── find.md
│   │   │   │   │   ├── findIndex.md
│   │   │   │   │   ├── findLast.md
│   │   │   │   │   ├── findLastIndex.md
│   │   │   │   │   ├── first.md
│   │   │   │   │   ├── flatMap.md
│   │   │   │   │   ├── flatMapDeep.md
│   │   │   │   │   ├── flatMapDepth.md
│   │   │   │   │   ├── flatten.md
│   │   │   │   │   ├── flattenDeep.md
│   │   │   │   │   ├── flattenDepth.md
│   │   │   │   │   ├── forEach.md
│   │   │   │   │   ├── forEachRight.md
│   │   │   │   │   ├── groupBy.md
│   │   │   │   │   ├── head.md
│   │   │   │   │   ├── includes.md
│   │   │   │   │   ├── indexOf.md
│   │   │   │   │   ├── initial.md
│   │   │   │   │   ├── intersection.md
│   │   │   │   │   ├── intersectionBy.md
│   │   │   │   │   ├── intersectionWith.md
│   │   │   │   │   ├── invokeMap.md
│   │   │   │   │   ├── join.md
│   │   │   │   │   ├── keyBy.md
│   │   │   │   │   ├── last.md
│   │   │   │   │   ├── lastIndexOf.md
│   │   │   │   │   ├── map.md
│   │   │   │   │   ├── nth.md
│   │   │   │   │   ├── orderBy.md
│   │   │   │   │   ├── partition.md
│   │   │   │   │   ├── pull.md
│   │   │   │   │   ├── pullAll.md
│   │   │   │   │   ├── pullAllBy.md
│   │   │   │   │   ├── pullAllWith.md
│   │   │   │   │   ├── pullAt.md
│   │   │   │   │   ├── reduce.md
│   │   │   │   │   ├── reduceRight.md
│   │   │   │   │   ├── reject.md
│   │   │   │   │   ├── remove.md
│   │   │   │   │   ├── reverse.md
│   │   │   │   │   ├── sample.md
│   │   │   │   │   ├── sampleSize.md
│   │   │   │   │   ├── shuffle.md
│   │   │   │   │   ├── size.md
│   │   │   │   │   ├── slice.md
│   │   │   │   │   ├── some.md
│   │   │   │   │   ├── sortBy.md
│   │   │   │   │   ├── sortedIndex.md
│   │   │   │   │   ├── sortedIndexBy.md
│   │   │   │   │   ├── sortedIndexOf.md
│   │   │   │   │   ├── sortedLastIndex.md
│   │   │   │   │   ├── sortedLastIndexBy.md
│   │   │   │   │   ├── sortedLastIndexOf.md
│   │   │   │   │   ├── tail.md
│   │   │   │   │   ├── take.md
│   │   │   │   │   ├── takeRight.md
│   │   │   │   │   ├── takeRightWhile.md
│   │   │   │   │   ├── takeWhile.md
│   │   │   │   │   ├── union.md
│   │   │   │   │   ├── unionBy.md
│   │   │   │   │   ├── unionWith.md
│   │   │   │   │   ├── uniq.md
│   │   │   │   │   ├── uniqBy.md
│   │   │   │   │   ├── uniqWith.md
│   │   │   │   │   ├── unzip.md
│   │   │   │   │   ├── unzipWith.md
│   │   │   │   │   ├── without.md
│   │   │   │   │   ├── xor.md
│   │   │   │   │   ├── xorBy.md
│   │   │   │   │   ├── xorWith.md
│   │   │   │   │   ├── zip.md
│   │   │   │   │   ├── zipObject.md
│   │   │   │   │   ├── zipObjectDeep.md
│   │   │   │   │   └── zipWith.md
│   │   │   │   ├── function/
│   │   │   │   │   ├── after.md
│   │   │   │   │   ├── ary.md
│   │   │   │   │   ├── attempt.md
│   │   │   │   │   ├── before.md
│   │   │   │   │   ├── bind.md
│   │   │   │   │   ├── bindKey.md
│   │   │   │   │   ├── curry.md
│   │   │   │   │   ├── curryRight.md
│   │   │   │   │   ├── debounce.md
│   │   │   │   │   ├── defer.md
│   │   │   │   │   ├── delay.md
│   │   │   │   │   ├── flip.md
│   │   │   │   │   ├── flow.md
│   │   │   │   │   ├── flowRight.md
│   │   │   │   │   ├── identity.md
│   │   │   │   │   ├── memoize.md
│   │   │   │   │   ├── negate.md
│   │   │   │   │   ├── noop.md
│   │   │   │   │   ├── nthArg.md
│   │   │   │   │   ├── once.md
│   │   │   │   │   ├── overArgs.md
│   │   │   │   │   ├── partial.md
│   │   │   │   │   ├── partialRight.md
│   │   │   │   │   ├── rearg.md
│   │   │   │   │   ├── rest.md
│   │   │   │   │   ├── spread.md
│   │   │   │   │   ├── throttle.md
│   │   │   │   │   ├── unary.md
│   │   │   │   │   └── wrap.md
│   │   │   │   ├── math/
│   │   │   │   │   ├── add.md
│   │   │   │   │   ├── ceil.md
│   │   │   │   │   ├── clamp.md
│   │   │   │   │   ├── divide.md
│   │   │   │   │   ├── floor.md
│   │   │   │   │   ├── inRange.md
│   │   │   │   │   ├── max.md
│   │   │   │   │   ├── maxBy.md
│   │   │   │   │   ├── mean.md
│   │   │   │   │   ├── meanBy.md
│   │   │   │   │   ├── min.md
│   │   │   │   │   ├── minBy.md
│   │   │   │   │   ├── multiply.md
│   │   │   │   │   ├── parseInt.md
│   │   │   │   │   ├── random.md
│   │   │   │   │   ├── range.md
│   │   │   │   │   ├── rangeRight.md
│   │   │   │   │   ├── round.md
│   │   │   │   │   ├── subtract.md
│   │   │   │   │   ├── sum.md
│   │   │   │   │   └── sumBy.md
│   │   │   │   ├── object/
│   │   │   │   │   ├── assign.md
│   │   │   │   │   ├── assignIn.md
│   │   │   │   │   ├── assignInWith.md
│   │   │   │   │   ├── assignWith.md
│   │   │   │   │   ├── at.md
│   │   │   │   │   ├── clone.md
│   │   │   │   │   ├── cloneDeep.md
│   │   │   │   │   ├── cloneDeepWith.md
│   │   │   │   │   ├── cloneWith.md
│   │   │   │   │   ├── create.md
│   │   │   │   │   ├── defaults.md
│   │   │   │   │   ├── defaultsDeep.md
│   │   │   │   │   ├── extend.md
│   │   │   │   │   ├── extendWith.md
│   │   │   │   │   ├── findKey.md
│   │   │   │   │   ├── findLastKey.md
│   │   │   │   │   ├── forIn.md
│   │   │   │   │   ├── forInRight.md
│   │   │   │   │   ├── forOwn.md
│   │   │   │   │   ├── forOwnRight.md
│   │   │   │   │   ├── fromPairs.md
│   │   │   │   │   ├── functions.md
│   │   │   │   │   ├── functionsIn.md
│   │   │   │   │   ├── get.md
│   │   │   │   │   ├── has.md
│   │   │   │   │   ├── hasIn.md
│   │   │   │   │   ├── invert.md
│   │   │   │   │   ├── invertBy.md
│   │   │   │   │   ├── keys.md
│   │   │   │   │   ├── keysIn.md
│   │   │   │   │   ├── mapKeys.md
│   │   │   │   │   ├── mapValues.md
│   │   │   │   │   ├── merge.md
│   │   │   │   │   ├── mergeWith.md
│   │   │   │   │   ├── omit.md
│   │   │   │   │   ├── omitBy.md
│   │   │   │   │   ├── pick.md
│   │   │   │   │   ├── pickBy.md
│   │   │   │   │   ├── property.md
│   │   │   │   │   ├── propertyOf.md
│   │   │   │   │   ├── result.md
│   │   │   │   │   ├── set.md
│   │   │   │   │   ├── setWith.md
│   │   │   │   │   ├── toDefaulted.md
│   │   │   │   │   ├── toPairs.md
│   │   │   │   │   ├── toPairsIn.md
│   │   │   │   │   ├── transform.md
│   │   │   │   │   ├── unset.md
│   │   │   │   │   ├── update.md
│   │   │   │   │   ├── updateWith.md
│   │   │   │   │   ├── values.md
│   │   │   │   │   └── valuesIn.md
│   │   │   │   ├── predicate/
│   │   │   │   │   ├── conforms.md
│   │   │   │   │   ├── conformsTo.md
│   │   │   │   │   ├── isArguments.md
│   │   │   │   │   ├── isArray.md
│   │   │   │   │   ├── isArrayBuffer.md
│   │   │   │   │   ├── isArrayLike.md
│   │   │   │   │   ├── isArrayLikeObject.md
│   │   │   │   │   ├── isBoolean.md
│   │   │   │   │   ├── isBuffer.md
│   │   │   │   │   ├── isDate.md
│   │   │   │   │   ├── isElement.md
│   │   │   │   │   ├── isEmpty.md
│   │   │   │   │   ├── isEqual.md
│   │   │   │   │   ├── isEqualWith.md
│   │   │   │   │   ├── isError.md
│   │   │   │   │   ├── isFinite.md
│   │   │   │   │   ├── isFunction.md
│   │   │   │   │   ├── isInteger.md
│   │   │   │   │   ├── isLength.md
│   │   │   │   │   ├── isMap.md
│   │   │   │   │   ├── isMatch.md
│   │   │   │   │   ├── isMatchWith.md
│   │   │   │   │   ├── isNaN.md
│   │   │   │   │   ├── isNative.md
│   │   │   │   │   ├── isNil.md
│   │   │   │   │   ├── isNull.md
│   │   │   │   │   ├── isNumber.md
│   │   │   │   │   ├── isObject.md
│   │   │   │   │   ├── isObjectLike.md
│   │   │   │   │   ├── isPlainObject.md
│   │   │   │   │   ├── isRegExp.md
│   │   │   │   │   ├── isSafeInteger.md
│   │   │   │   │   ├── isSet.md
│   │   │   │   │   ├── isString.md
│   │   │   │   │   ├── isSymbol.md
│   │   │   │   │   ├── isTypedArray.md
│   │   │   │   │   ├── isUndefined.md
│   │   │   │   │   ├── isWeakMap.md
│   │   │   │   │   ├── isWeakSet.md
│   │   │   │   │   ├── matches.md
│   │   │   │   │   └── matchesProperty.md
│   │   │   │   ├── string/
│   │   │   │   │   ├── camelCase.md
│   │   │   │   │   ├── capitalize.md
│   │   │   │   │   ├── deburr.md
│   │   │   │   │   ├── endsWith.md
│   │   │   │   │   ├── escape.md
│   │   │   │   │   ├── escapeRegExp.md
│   │   │   │   │   ├── kebabCase.md
│   │   │   │   │   ├── lowerCase.md
│   │   │   │   │   ├── lowerFirst.md
│   │   │   │   │   ├── pad.md
│   │   │   │   │   ├── padEnd.md
│   │   │   │   │   ├── padStart.md
│   │   │   │   │   ├── repeat.md
│   │   │   │   │   ├── replace.md
│   │   │   │   │   ├── snakeCase.md
│   │   │   │   │   ├── split.md
│   │   │   │   │   ├── startCase.md
│   │   │   │   │   ├── startsWith.md
│   │   │   │   │   ├── template.md
│   │   │   │   │   ├── toLower.md
│   │   │   │   │   ├── toUpper.md
│   │   │   │   │   ├── trim.md
│   │   │   │   │   ├── trimEnd.md
│   │   │   │   │   ├── trimStart.md
│   │   │   │   │   ├── truncate.md
│   │   │   │   │   ├── unescape.md
│   │   │   │   │   ├── upperCase.md
│   │   │   │   │   ├── upperFirst.md
│   │   │   │   │   └── words.md
│   │   │   │   └── util/
│   │   │   │       ├── bindAll.md
│   │   │   │       ├── cond.md
│   │   │   │       ├── constant.md
│   │   │   │       ├── defaultTo.md
│   │   │   │       ├── eq.md
│   │   │   │       ├── gt.md
│   │   │   │       ├── gte.md
│   │   │   │       ├── invoke.md
│   │   │   │       ├── iteratee.md
│   │   │   │       ├── lt.md
│   │   │   │       ├── lte.md
│   │   │   │       ├── method.md
│   │   │   │       ├── methodOf.md
│   │   │   │       ├── now.md
│   │   │   │       ├── over.md
│   │   │   │       ├── overEvery.md
│   │   │   │       ├── overSome.md
│   │   │   │       ├── stubArray.md
│   │   │   │       ├── stubFalse.md
│   │   │   │       ├── stubObject.md
│   │   │   │       ├── stubString.md
│   │   │   │       ├── stubTrue.md
│   │   │   │       ├── times.md
│   │   │   │       ├── toArray.md
│   │   │   │       ├── toFinite.md
│   │   │   │       ├── toInteger.md
│   │   │   │       ├── toLength.md
│   │   │   │       ├── toNumber.md
│   │   │   │       ├── toPath.md
│   │   │   │       ├── toPlainObject.md
│   │   │   │       ├── toSafeInteger.md
│   │   │   │       ├── toString.md
│   │   │   │       └── uniqueId.md
│   │   │   ├── error/
│   │   │   │   ├── AbortError.md
│   │   │   │   └── TimeoutError.md
│   │   │   ├── function/
│   │   │   │   ├── after.md
│   │   │   │   ├── ary.md
│   │   │   │   ├── asyncNoop.md
│   │   │   │   ├── before.md
│   │   │   │   ├── curry.md
│   │   │   │   ├── curryRight.md
│   │   │   │   ├── debounce.md
│   │   │   │   ├── flow.md
│   │   │   │   ├── flowRight.md
│   │   │   │   ├── identity.md
│   │   │   │   ├── memoize.md
│   │   │   │   ├── negate.md
│   │   │   │   ├── noop.md
│   │   │   │   ├── once.md
│   │   │   │   ├── partial.md
│   │   │   │   ├── partialRight.md
│   │   │   │   ├── rest.md
│   │   │   │   ├── retry.md
│   │   │   │   ├── spread.md
│   │   │   │   ├── throttle.md
│   │   │   │   └── unary.md
│   │   │   ├── map/
│   │   │   │   ├── countBy.md
│   │   │   │   ├── every.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── findValue.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── hasValue.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── reduce.md
│   │   │   │   └── some.md
│   │   │   ├── math/
│   │   │   │   ├── clamp.md
│   │   │   │   ├── inRange.md
│   │   │   │   ├── mean.md
│   │   │   │   ├── meanBy.md
│   │   │   │   ├── median.md
│   │   │   │   ├── medianBy.md
│   │   │   │   ├── random.md
│   │   │   │   ├── randomInt.md
│   │   │   │   ├── range.md
│   │   │   │   ├── rangeRight.md
│   │   │   │   ├── round.md
│   │   │   │   ├── sum.md
│   │   │   │   └── sumBy.md
│   │   │   ├── object/
│   │   │   │   ├── clone.md
│   │   │   │   ├── cloneDeep.md
│   │   │   │   ├── cloneDeepWith.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── flattenObject.md
│   │   │   │   ├── invert.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── merge.md
│   │   │   │   ├── mergeWith.md
│   │   │   │   ├── omit.md
│   │   │   │   ├── omitBy.md
│   │   │   │   ├── pick.md
│   │   │   │   ├── pickBy.md
│   │   │   │   ├── toCamelCaseKeys.md
│   │   │   │   ├── toMerged.md
│   │   │   │   └── toSnakeCaseKeys.md
│   │   │   ├── predicate/
│   │   │   │   ├── isArrayBuffer.md
│   │   │   │   ├── isBlob.md
│   │   │   │   ├── isBoolean.md
│   │   │   │   ├── isBrowser.md
│   │   │   │   ├── isBuffer.md
│   │   │   │   ├── isDate.md
│   │   │   │   ├── isEmptyObject.md
│   │   │   │   ├── isEqual.md
│   │   │   │   ├── isEqualWith.md
│   │   │   │   ├── isError.md
│   │   │   │   ├── isFile.md
│   │   │   │   ├── isFunction.md
│   │   │   │   ├── isJSON.md
│   │   │   │   ├── isJSONArray.md
│   │   │   │   ├── isJSONObject.md
│   │   │   │   ├── isJSONValue.md
│   │   │   │   ├── isLength.md
│   │   │   │   ├── isMap.md
│   │   │   │   ├── isNil.md
│   │   │   │   ├── isNode.md
│   │   │   │   ├── isNotNil.md
│   │   │   │   ├── isNull.md
│   │   │   │   ├── isNumber.md
│   │   │   │   ├── isPlainObject.md
│   │   │   │   ├── isPrimitive.md
│   │   │   │   ├── isPromise.md
│   │   │   │   ├── isRegExp.md
│   │   │   │   ├── isSet.md
│   │   │   │   ├── isString.md
│   │   │   │   ├── isSymbol.md
│   │   │   │   ├── isTypedArray.md
│   │   │   │   ├── isUndefined.md
│   │   │   │   ├── isWeakMap.md
│   │   │   │   └── isWeakSet.md
│   │   │   ├── promise/
│   │   │   │   ├── Mutex.md
│   │   │   │   ├── Semaphore.md
│   │   │   │   ├── delay.md
│   │   │   │   ├── timeout.md
│   │   │   │   └── withTimeout.md
│   │   │   ├── set/
│   │   │   │   ├── countBy.md
│   │   │   │   ├── every.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── find.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── map.md
│   │   │   │   ├── reduce.md
│   │   │   │   └── some.md
│   │   │   ├── string/
│   │   │   │   ├── camelCase.md
│   │   │   │   ├── capitalize.md
│   │   │   │   ├── constantCase.md
│   │   │   │   ├── deburr.md
│   │   │   │   ├── escape.md
│   │   │   │   ├── escapeRegExp.md
│   │   │   │   ├── kebabCase.md
│   │   │   │   ├── lowerCase.md
│   │   │   │   ├── lowerFirst.md
│   │   │   │   ├── pad.md
│   │   │   │   ├── pascalCase.md
│   │   │   │   ├── reverseString.md
│   │   │   │   ├── snakeCase.md
│   │   │   │   ├── startCase.md
│   │   │   │   ├── trim.md
│   │   │   │   ├── trimEnd.md
│   │   │   │   ├── trimStart.md
│   │   │   │   ├── unescape.md
│   │   │   │   ├── upperCase.md
│   │   │   │   ├── upperFirst.md
│   │   │   │   └── words.md
│   │   │   └── util/
│   │   │       ├── assert.md
│   │   │       ├── attempt.md
│   │   │       ├── attemptAsync.md
│   │   │       └── invariant.md
│   │   └── usage.md
│   ├── llms-txt.md
│   ├── package.json
│   ├── performance.md
│   ├── reference/
│   │   ├── array/
│   │   │   ├── at.md
│   │   │   ├── chunk.md
│   │   │   ├── compact.md
│   │   │   ├── countBy.md
│   │   │   ├── difference.md
│   │   │   ├── differenceBy.md
│   │   │   ├── differenceWith.md
│   │   │   ├── drop.md
│   │   │   ├── dropRight.md
│   │   │   ├── dropRightWhile.md
│   │   │   ├── dropWhile.md
│   │   │   ├── fill.md
│   │   │   ├── filterAsync.md
│   │   │   ├── flatMap.md
│   │   │   ├── flatMapAsync.md
│   │   │   ├── flatMapDeep.md
│   │   │   ├── flatten.md
│   │   │   ├── flattenDeep.md
│   │   │   ├── forEachAsync.md
│   │   │   ├── forEachRight.md
│   │   │   ├── groupBy.md
│   │   │   ├── head.md
│   │   │   ├── initial.md
│   │   │   ├── intersection.md
│   │   │   ├── intersectionBy.md
│   │   │   ├── intersectionWith.md
│   │   │   ├── isSubset.md
│   │   │   ├── isSubsetWith.md
│   │   │   ├── keyBy.md
│   │   │   ├── last.md
│   │   │   ├── limitAsync.md
│   │   │   ├── mapAsync.md
│   │   │   ├── maxBy.md
│   │   │   ├── minBy.md
│   │   │   ├── orderBy.md
│   │   │   ├── partition.md
│   │   │   ├── pull.md
│   │   │   ├── pullAt.md
│   │   │   ├── reduceAsync.md
│   │   │   ├── remove.md
│   │   │   ├── sample.md
│   │   │   ├── sampleSize.md
│   │   │   ├── shuffle.md
│   │   │   ├── sortBy.md
│   │   │   ├── tail.md
│   │   │   ├── take.md
│   │   │   ├── takeRight.md
│   │   │   ├── takeRightWhile.md
│   │   │   ├── takeWhile.md
│   │   │   ├── toFilled.md
│   │   │   ├── union.md
│   │   │   ├── unionBy.md
│   │   │   ├── unionWith.md
│   │   │   ├── uniq.md
│   │   │   ├── uniqBy.md
│   │   │   ├── uniqWith.md
│   │   │   ├── unzip.md
│   │   │   ├── unzipWith.md
│   │   │   ├── windowed.md
│   │   │   ├── without.md
│   │   │   ├── xor.md
│   │   │   ├── xorBy.md
│   │   │   ├── xorWith.md
│   │   │   ├── zip.md
│   │   │   ├── zipObject.md
│   │   │   └── zipWith.md
│   │   ├── compat/
│   │   │   ├── array/
│   │   │   │   ├── castArray.md
│   │   │   │   ├── chunk.md
│   │   │   │   ├── compact.md
│   │   │   │   ├── concat.md
│   │   │   │   ├── countBy.md
│   │   │   │   ├── difference.md
│   │   │   │   ├── differenceBy.md
│   │   │   │   ├── differenceWith.md
│   │   │   │   ├── drop.md
│   │   │   │   ├── dropRight.md
│   │   │   │   ├── dropRightWhile.md
│   │   │   │   ├── dropWhile.md
│   │   │   │   ├── each.md
│   │   │   │   ├── eachRight.md
│   │   │   │   ├── every.md
│   │   │   │   ├── fill.md
│   │   │   │   ├── filter.md
│   │   │   │   ├── find.md
│   │   │   │   ├── findIndex.md
│   │   │   │   ├── findLast.md
│   │   │   │   ├── findLastIndex.md
│   │   │   │   ├── first.md
│   │   │   │   ├── flatMap.md
│   │   │   │   ├── flatMapDeep.md
│   │   │   │   ├── flatMapDepth.md
│   │   │   │   ├── flatten.md
│   │   │   │   ├── flattenDeep.md
│   │   │   │   ├── flattenDepth.md
│   │   │   │   ├── forEach.md
│   │   │   │   ├── forEachRight.md
│   │   │   │   ├── groupBy.md
│   │   │   │   ├── head.md
│   │   │   │   ├── includes.md
│   │   │   │   ├── indexOf.md
│   │   │   │   ├── initial.md
│   │   │   │   ├── intersection.md
│   │   │   │   ├── intersectionBy.md
│   │   │   │   ├── intersectionWith.md
│   │   │   │   ├── invokeMap.md
│   │   │   │   ├── join.md
│   │   │   │   ├── keyBy.md
│   │   │   │   ├── last.md
│   │   │   │   ├── lastIndexOf.md
│   │   │   │   ├── map.md
│   │   │   │   ├── nth.md
│   │   │   │   ├── orderBy.md
│   │   │   │   ├── partition.md
│   │   │   │   ├── pull.md
│   │   │   │   ├── pullAll.md
│   │   │   │   ├── pullAllBy.md
│   │   │   │   ├── pullAllWith.md
│   │   │   │   ├── pullAt.md
│   │   │   │   ├── reduce.md
│   │   │   │   ├── reduceRight.md
│   │   │   │   ├── reject.md
│   │   │   │   ├── remove.md
│   │   │   │   ├── reverse.md
│   │   │   │   ├── sample.md
│   │   │   │   ├── sampleSize.md
│   │   │   │   ├── shuffle.md
│   │   │   │   ├── size.md
│   │   │   │   ├── slice.md
│   │   │   │   ├── some.md
│   │   │   │   ├── sortBy.md
│   │   │   │   ├── sortedIndex.md
│   │   │   │   ├── sortedIndexBy.md
│   │   │   │   ├── sortedIndexOf.md
│   │   │   │   ├── sortedLastIndex.md
│   │   │   │   ├── sortedLastIndexBy.md
│   │   │   │   ├── sortedLastIndexOf.md
│   │   │   │   ├── tail.md
│   │   │   │   ├── take.md
│   │   │   │   ├── takeRight.md
│   │   │   │   ├── takeRightWhile.md
│   │   │   │   ├── takeWhile.md
│   │   │   │   ├── union.md
│   │   │   │   ├── unionBy.md
│   │   │   │   ├── unionWith.md
│   │   │   │   ├── uniq.md
│   │   │   │   ├── uniqBy.md
│   │   │   │   ├── uniqWith.md
│   │   │   │   ├── unzip.md
│   │   │   │   ├── unzipWith.md
│   │   │   │   ├── without.md
│   │   │   │   ├── xor.md
│   │   │   │   ├── xorBy.md
│   │   │   │   ├── xorWith.md
│   │   │   │   ├── zip.md
│   │   │   │   ├── zipObject.md
│   │   │   │   ├── zipObjectDeep.md
│   │   │   │   └── zipWith.md
│   │   │   ├── function/
│   │   │   │   ├── after.md
│   │   │   │   ├── ary.md
│   │   │   │   ├── attempt.md
│   │   │   │   ├── before.md
│   │   │   │   ├── bind.md
│   │   │   │   ├── bindKey.md
│   │   │   │   ├── curry.md
│   │   │   │   ├── curryRight.md
│   │   │   │   ├── debounce.md
│   │   │   │   ├── defer.md
│   │   │   │   ├── delay.md
│   │   │   │   ├── flip.md
│   │   │   │   ├── flow.md
│   │   │   │   ├── flowRight.md
│   │   │   │   ├── identity.md
│   │   │   │   ├── memoize.md
│   │   │   │   ├── negate.md
│   │   │   │   ├── noop.md
│   │   │   │   ├── nthArg.md
│   │   │   │   ├── once.md
│   │   │   │   ├── overArgs.md
│   │   │   │   ├── partial.md
│   │   │   │   ├── partialRight.md
│   │   │   │   ├── rearg.md
│   │   │   │   ├── rest.md
│   │   │   │   ├── spread.md
│   │   │   │   ├── throttle.md
│   │   │   │   ├── unary.md
│   │   │   │   └── wrap.md
│   │   │   ├── math/
│   │   │   │   ├── add.md
│   │   │   │   ├── ceil.md
│   │   │   │   ├── clamp.md
│   │   │   │   ├── divide.md
│   │   │   │   ├── floor.md
│   │   │   │   ├── inRange.md
│   │   │   │   ├── max.md
│   │   │   │   ├── maxBy.md
│   │   │   │   ├── mean.md
│   │   │   │   ├── meanBy.md
│   │   │   │   ├── min.md
│   │   │   │   ├── minBy.md
│   │   │   │   ├── multiply.md
│   │   │   │   ├── parseInt.md
│   │   │   │   ├── random.md
│   │   │   │   ├── range.md
│   │   │   │   ├── rangeRight.md
│   │   │   │   ├── round.md
│   │   │   │   ├── subtract.md
│   │   │   │   ├── sum.md
│   │   │   │   └── sumBy.md
│   │   │   ├── object/
│   │   │   │   ├── assign.md
│   │   │   │   ├── assignIn.md
│   │   │   │   ├── assignInWith.md
│   │   │   │   ├── assignWith.md
│   │   │   │   ├── at.md
│   │   │   │   ├── clone.md
│   │   │   │   ├── cloneDeep.md
│   │   │   │   ├── cloneDeepWith.md
│   │   │   │   ├── cloneWith.md
│   │   │   │   ├── create.md
│   │   │   │   ├── defaults.md
│   │   │   │   ├── defaultsDeep.md
│   │   │   │   ├── extend.md
│   │   │   │   ├── extendWith.md
│   │   │   │   ├── findKey.md
│   │   │   │   ├── findLastKey.md
│   │   │   │   ├── forIn.md
│   │   │   │   ├── forInRight.md
│   │   │   │   ├── forOwn.md
│   │   │   │   ├── forOwnRight.md
│   │   │   │   ├── fromPairs.md
│   │   │   │   ├── functions.md
│   │   │   │   ├── functionsIn.md
│   │   │   │   ├── get.md
│   │   │   │   ├── has.md
│   │   │   │   ├── hasIn.md
│   │   │   │   ├── invert.md
│   │   │   │   ├── invertBy.md
│   │   │   │   ├── keys.md
│   │   │   │   ├── keysIn.md
│   │   │   │   ├── mapKeys.md
│   │   │   │   ├── mapValues.md
│   │   │   │   ├── merge.md
│   │   │   │   ├── mergeWith.md
│   │   │   │   ├── omit.md
│   │   │   │   ├── omitBy.md
│   │   │   │   ├── pick.md
│   │   │   │   ├── pickBy.md
│   │   │   │   ├── property.md
│   │   │   │   ├── propertyOf.md
│   │   │   │   ├── result.md
│   │   │   │   ├── set.md
│   │   │   │   ├── setWith.md
│   │   │   │   ├── toDefaulted.md
│   │   │   │   ├── toPairs.md
│   │   │   │   ├── toPairsIn.md
│   │   │   │   ├── transform.md
│   │   │   │   ├── unset.md
│   │   │   │   ├── update.md
│   │   │   │   ├── updateWith.md
│   │   │   │   ├── values.md
│   │   │   │   └── valuesIn.md
│   │   │   ├── predicate/
│   │   │   │   ├── conforms.md
│   │   │   │   ├── conformsTo.md
│   │   │   │   ├── isArguments.md
│   │   │   │   ├── isArray.md
│   │   │   │   ├── isArrayBuffer.md
│   │   │   │   ├── isArrayLike.md
│   │   │   │   ├── isArrayLikeObject.md
│   │   │   │   ├── isBoolean.md
│   │   │   │   ├── isBuffer.md
│   │   │   │   ├── isDate.md
│   │   │   │   ├── isElement.md
│   │   │   │   ├── isEmpty.md
│   │   │   │   ├── isEqual.md
│   │   │   │   ├── isEqualWith.md
│   │   │   │   ├── isError.md
│   │   │   │   ├── isFinite.md
│   │   │   │   ├── isFunction.md
│   │   │   │   ├── isInteger.md
│   │   │   │   ├── isLength.md
│   │   │   │   ├── isMap.md
│   │   │   │   ├── isMatch.md
│   │   │   │   ├── isMatchWith.md
│   │   │   │   ├── isNaN.md
│   │   │   │   ├── isNative.md
│   │   │   │   ├── isNil.md
│   │   │   │   ├── isNull.md
│   │   │   │   ├── isNumber.md
│   │   │   │   ├── isObject.md
│   │   │   │   ├── isObjectLike.md
│   │   │   │   ├── isPlainObject.md
│   │   │   │   ├── isRegExp.md
│   │   │   │   ├── isSafeInteger.md
│   │   │   │   ├── isSet.md
│   │   │   │   ├── isString.md
│   │   │   │   ├── isSymbol.md
│   │   │   │   ├── isTypedArray.md
│   │   │   │   ├── isUndefined.md
│   │   │   │   ├── isWeakMap.md
│   │   │   │   ├── isWeakSet.md
│   │   │   │   ├── matches.md
│   │   │   │   └── matchesProperty.md
│   │   │   ├── string/
│   │   │   │   ├── camelCase.md
│   │   │   │   ├── capitalize.md
│   │   │   │   ├── deburr.md
│   │   │   │   ├── endsWith.md
│   │   │   │   ├── escape.md
│   │   │   │   ├── escapeRegExp.md
│   │   │   │   ├── kebabCase.md
│   │   │   │   ├── lowerCase.md
│   │   │   │   ├── lowerFirst.md
│   │   │   │   ├── pad.md
│   │   │   │   ├── padEnd.md
│   │   │   │   ├── padStart.md
│   │   │   │   ├── repeat.md
│   │   │   │   ├── replace.md
│   │   │   │   ├── snakeCase.md
│   │   │   │   ├── split.md
│   │   │   │   ├── startCase.md
│   │   │   │   ├── startsWith.md
│   │   │   │   ├── template.md
│   │   │   │   ├── toLower.md
│   │   │   │   ├── toUpper.md
│   │   │   │   ├── trim.md
│   │   │   │   ├── trimEnd.md
│   │   │   │   ├── trimStart.md
│   │   │   │   ├── truncate.md
│   │   │   │   ├── unescape.md
│   │   │   │   ├── upperCase.md
│   │   │   │   ├── upperFirst.md
│   │   │   │   └── words.md
│   │   │   └── util/
│   │   │       ├── bindAll.md
│   │   │       ├── cond.md
│   │   │       ├── constant.md
│   │   │       ├── defaultTo.md
│   │   │       ├── eq.md
│   │   │       ├── gt.md
│   │   │       ├── gte.md
│   │   │       ├── invoke.md
│   │   │       ├── iteratee.md
│   │   │       ├── lt.md
│   │   │       ├── lte.md
│   │   │       ├── method.md
│   │   │       ├── methodOf.md
│   │   │       ├── now.md
│   │   │       ├── over.md
│   │   │       ├── overEvery.md
│   │   │       ├── overSome.md
│   │   │       ├── stubArray.md
│   │   │       ├── stubFalse.md
│   │   │       ├── stubObject.md
│   │   │       ├── stubString.md
│   │   │       ├── stubTrue.md
│   │   │       ├── times.md
│   │   │       ├── toArray.md
│   │   │       ├── toFinite.md
│   │   │       ├── toInteger.md
│   │   │       ├── toLength.md
│   │   │       ├── toNumber.md
│   │   │       ├── toPath.md
│   │   │       ├── toPlainObject.md
│   │   │       ├── toSafeInteger.md
│   │   │       ├── toString.md
│   │   │       └── uniqueId.md
│   │   ├── error/
│   │   │   ├── AbortError.md
│   │   │   └── TimeoutError.md
│   │   ├── function/
│   │   │   ├── after.md
│   │   │   ├── ary.md
│   │   │   ├── asyncNoop.md
│   │   │   ├── before.md
│   │   │   ├── curry.md
│   │   │   ├── curryRight.md
│   │   │   ├── debounce.md
│   │   │   ├── flow.md
│   │   │   ├── flowRight.md
│   │   │   ├── identity.md
│   │   │   ├── memoize.md
│   │   │   ├── negate.md
│   │   │   ├── noop.md
│   │   │   ├── once.md
│   │   │   ├── partial.md
│   │   │   ├── partialRight.md
│   │   │   ├── rest.md
│   │   │   ├── retry.md
│   │   │   ├── spread.md
│   │   │   ├── throttle.md
│   │   │   └── unary.md
│   │   ├── map/
│   │   │   ├── countBy.md
│   │   │   ├── every.md
│   │   │   ├── filter.md
│   │   │   ├── findKey.md
│   │   │   ├── findValue.md
│   │   │   ├── forEach.md
│   │   │   ├── hasValue.md
│   │   │   ├── keyBy.md
│   │   │   ├── mapKeys.md
│   │   │   ├── mapValues.md
│   │   │   ├── reduce.md
│   │   │   └── some.md
│   │   ├── math/
│   │   │   ├── clamp.md
│   │   │   ├── inRange.md
│   │   │   ├── mean.md
│   │   │   ├── meanBy.md
│   │   │   ├── median.md
│   │   │   ├── medianBy.md
│   │   │   ├── random.md
│   │   │   ├── randomInt.md
│   │   │   ├── range.md
│   │   │   ├── rangeRight.md
│   │   │   ├── round.md
│   │   │   ├── sum.md
│   │   │   └── sumBy.md
│   │   ├── object/
│   │   │   ├── clone.md
│   │   │   ├── cloneDeep.md
│   │   │   ├── cloneDeepWith.md
│   │   │   ├── findKey.md
│   │   │   ├── flattenObject.md
│   │   │   ├── invert.md
│   │   │   ├── mapKeys.md
│   │   │   ├── mapValues.md
│   │   │   ├── merge.md
│   │   │   ├── mergeWith.md
│   │   │   ├── omit.md
│   │   │   ├── omitBy.md
│   │   │   ├── pick.md
│   │   │   ├── pickBy.md
│   │   │   ├── toCamelCaseKeys.md
│   │   │   ├── toMerged.md
│   │   │   └── toSnakeCaseKeys.md
│   │   ├── predicate/
│   │   │   ├── isArrayBuffer.md
│   │   │   ├── isBlob.md
│   │   │   ├── isBoolean.md
│   │   │   ├── isBrowser.md
│   │   │   ├── isBuffer.md
│   │   │   ├── isDate.md
│   │   │   ├── isEmptyObject.md
│   │   │   ├── isEqual.md
│   │   │   ├── isEqualWith.md
│   │   │   ├── isError.md
│   │   │   ├── isFile.md
│   │   │   ├── isFunction.md
│   │   │   ├── isJSON.md
│   │   │   ├── isJSONArray.md
│   │   │   ├── isJSONObject.md
│   │   │   ├── isJSONValue.md
│   │   │   ├── isLength.md
│   │   │   ├── isMap.md
│   │   │   ├── isNil.md
│   │   │   ├── isNode.md
│   │   │   ├── isNotNil.md
│   │   │   ├── isNull.md
│   │   │   ├── isNumber.md
│   │   │   ├── isPlainObject.md
│   │   │   ├── isPrimitive.md
│   │   │   ├── isPromise.md
│   │   │   ├── isRegExp.md
│   │   │   ├── isSet.md
│   │   │   ├── isString.md
│   │   │   ├── isSymbol.md
│   │   │   ├── isTypedArray.md
│   │   │   ├── isUndefined.md
│   │   │   ├── isWeakMap.md
│   │   │   └── isWeakSet.md
│   │   ├── promise/
│   │   │   ├── Mutex.md
│   │   │   ├── Semaphore.md
│   │   │   ├── delay.md
│   │   │   ├── timeout.md
│   │   │   └── withTimeout.md
│   │   ├── set/
│   │   │   ├── countBy.md
│   │   │   ├── every.md
│   │   │   ├── filter.md
│   │   │   ├── find.md
│   │   │   ├── forEach.md
│   │   │   ├── keyBy.md
│   │   │   ├── map.md
│   │   │   ├── reduce.md
│   │   │   └── some.md
│   │   ├── string/
│   │   │   ├── camelCase.md
│   │   │   ├── capitalize.md
│   │   │   ├── constantCase.md
│   │   │   ├── deburr.md
│   │   │   ├── escape.md
│   │   │   ├── escapeRegExp.md
│   │   │   ├── kebabCase.md
│   │   │   ├── lowerCase.md
│   │   │   ├── lowerFirst.md
│   │   │   ├── pad.md
│   │   │   ├── pascalCase.md
│   │   │   ├── reverseString.md
│   │   │   ├── snakeCase.md
│   │   │   ├── startCase.md
│   │   │   ├── trim.md
│   │   │   ├── trimEnd.md
│   │   │   ├── trimStart.md
│   │   │   ├── unescape.md
│   │   │   ├── upperCase.md
│   │   │   ├── upperFirst.md
│   │   │   └── words.md
│   │   └── util/
│   │       ├── assert.md
│   │       ├── attempt.md
│   │       ├── attemptAsync.md
│   │       └── invariant.md
│   ├── usage.md
│   ├── vercel.json
│   └── zh_hans/
│       ├── bundle-size.md
│       ├── compatibility.md
│       ├── index.md
│       ├── intro.md
│       ├── llms-txt.md
│       ├── performance.md
│       ├── reference/
│       │   ├── array/
│       │   │   ├── at.md
│       │   │   ├── chunk.md
│       │   │   ├── compact.md
│       │   │   ├── countBy.md
│       │   │   ├── difference.md
│       │   │   ├── differenceBy.md
│       │   │   ├── differenceWith.md
│       │   │   ├── drop.md
│       │   │   ├── dropRight.md
│       │   │   ├── dropRightWhile.md
│       │   │   ├── dropWhile.md
│       │   │   ├── fill.md
│       │   │   ├── filterAsync.md
│       │   │   ├── flatMap.md
│       │   │   ├── flatMapAsync.md
│       │   │   ├── flatMapDeep.md
│       │   │   ├── flatten.md
│       │   │   ├── flattenDeep.md
│       │   │   ├── forEachAsync.md
│       │   │   ├── forEachRight.md
│       │   │   ├── groupBy.md
│       │   │   ├── head.md
│       │   │   ├── initial.md
│       │   │   ├── intersection.md
│       │   │   ├── intersectionBy.md
│       │   │   ├── intersectionWith.md
│       │   │   ├── isSubset.md
│       │   │   ├── isSubsetWith.md
│       │   │   ├── keyBy.md
│       │   │   ├── last.md
│       │   │   ├── limitAsync.md
│       │   │   ├── mapAsync.md
│       │   │   ├── maxBy.md
│       │   │   ├── minBy.md
│       │   │   ├── orderBy.md
│       │   │   ├── partition.md
│       │   │   ├── pull.md
│       │   │   ├── pullAt.md
│       │   │   ├── reduceAsync.md
│       │   │   ├── remove.md
│       │   │   ├── sample.md
│       │   │   ├── sampleSize.md
│       │   │   ├── shuffle.md
│       │   │   ├── sortBy.md
│       │   │   ├── tail.md
│       │   │   ├── take.md
│       │   │   ├── takeRight.md
│       │   │   ├── takeRightWhile.md
│       │   │   ├── takeWhile.md
│       │   │   ├── toFilled.md
│       │   │   ├── union.md
│       │   │   ├── unionBy.md
│       │   │   ├── unionWith.md
│       │   │   ├── uniq.md
│       │   │   ├── uniqBy.md
│       │   │   ├── uniqWith.md
│       │   │   ├── unzip.md
│       │   │   ├── unzipWith.md
│       │   │   ├── windowed.md
│       │   │   ├── without.md
│       │   │   ├── xor.md
│       │   │   ├── xorBy.md
│       │   │   ├── xorWith.md
│       │   │   ├── zip.md
│       │   │   ├── zipObject.md
│       │   │   └── zipWith.md
│       │   ├── compat/
│       │   │   ├── array/
│       │   │   │   ├── castArray.md
│       │   │   │   ├── chunk.md
│       │   │   │   ├── compact.md
│       │   │   │   ├── concat.md
│       │   │   │   ├── countBy.md
│       │   │   │   ├── difference.md
│       │   │   │   ├── differenceBy.md
│       │   │   │   ├── differenceWith.md
│       │   │   │   ├── drop.md
│       │   │   │   ├── dropRight.md
│       │   │   │   ├── dropRightWhile.md
│       │   │   │   ├── dropWhile.md
│       │   │   │   ├── each.md
│       │   │   │   ├── eachRight.md
│       │   │   │   ├── every.md
│       │   │   │   ├── fill.md
│       │   │   │   ├── filter.md
│       │   │   │   ├── find.md
│       │   │   │   ├── findIndex.md
│       │   │   │   ├── findLast.md
│       │   │   │   ├── findLastIndex.md
│       │   │   │   ├── first.md
│       │   │   │   ├── flatMap.md
│       │   │   │   ├── flatMapDeep.md
│       │   │   │   ├── flatMapDepth.md
│       │   │   │   ├── flatten.md
│       │   │   │   ├── flattenDeep.md
│       │   │   │   ├── flattenDepth.md
│       │   │   │   ├── forEach.md
│       │   │   │   ├── forEachRight.md
│       │   │   │   ├── groupBy.md
│       │   │   │   ├── head.md
│       │   │   │   ├── includes.md
│       │   │   │   ├── indexOf.md
│       │   │   │   ├── initial.md
│       │   │   │   ├── intersection.md
│       │   │   │   ├── intersectionBy.md
│       │   │   │   ├── intersectionWith.md
│       │   │   │   ├── invokeMap.md
│       │   │   │   ├── join.md
│       │   │   │   ├── keyBy.md
│       │   │   │   ├── last.md
│       │   │   │   ├── lastIndexOf.md
│       │   │   │   ├── map.md
│       │   │   │   ├── nth.md
│       │   │   │   ├── orderBy.md
│       │   │   │   ├── partition.md
│       │   │   │   ├── pull.md
│       │   │   │   ├── pullAll.md
│       │   │   │   ├── pullAllBy.md
│       │   │   │   ├── pullAllWith.md
│       │   │   │   ├── pullAt.md
│       │   │   │   ├── reduce.md
│       │   │   │   ├── reduceRight.md
│       │   │   │   ├── reject.md
│       │   │   │   ├── remove.md
│       │   │   │   ├── reverse.md
│       │   │   │   ├── sample.md
│       │   │   │   ├── sampleSize.md
│       │   │   │   ├── shuffle.md
│       │   │   │   ├── size.md
│       │   │   │   ├── slice.md
│       │   │   │   ├── some.md
│       │   │   │   ├── sortBy.md
│       │   │   │   ├── sortedIndex.md
│       │   │   │   ├── sortedIndexBy.md
│       │   │   │   ├── sortedIndexOf.md
│       │   │   │   ├── sortedLastIndex.md
│       │   │   │   ├── sortedLastIndexBy.md
│       │   │   │   ├── sortedLastIndexOf.md
│       │   │   │   ├── tail.md
│       │   │   │   ├── take.md
│       │   │   │   ├── takeRight.md
│       │   │   │   ├── takeRightWhile.md
│       │   │   │   ├── takeWhile.md
│       │   │   │   ├── union.md
│       │   │   │   ├── unionBy.md
│       │   │   │   ├── unionWith.md
│       │   │   │   ├── uniq.md
│       │   │   │   ├── uniqBy.md
│       │   │   │   ├── uniqWith.md
│       │   │   │   ├── unzip.md
│       │   │   │   ├── unzipWith.md
│       │   │   │   ├── without.md
│       │   │   │   ├── xor.md
│       │   │   │   ├── xorBy.md
│       │   │   │   ├── xorWith.md
│       │   │   │   ├── zip.md
│       │   │   │   ├── zipObject.md
│       │   │   │   ├── zipObjectDeep.md
│       │   │   │   └── zipWith.md
│       │   │   ├── function/
│       │   │   │   ├── after.md
│       │   │   │   ├── ary.md
│       │   │   │   ├── attempt.md
│       │   │   │   ├── before.md
│       │   │   │   ├── bind.md
│       │   │   │   ├── bindKey.md
│       │   │   │   ├── curry.md
│       │   │   │   ├── curryRight.md
│       │   │   │   ├── debounce.md
│       │   │   │   ├── defer.md
│       │   │   │   ├── delay.md
│       │   │   │   ├── flip.md
│       │   │   │   ├── flow.md
│       │   │   │   ├── flowRight.md
│       │   │   │   ├── identity.md
│       │   │   │   ├── memoize.md
│       │   │   │   ├── negate.md
│       │   │   │   ├── noop.md
│       │   │   │   ├── nthArg.md
│       │   │   │   ├── once.md
│       │   │   │   ├── overArgs.md
│       │   │   │   ├── partial.md
│       │   │   │   ├── partialRight.md
│       │   │   │   ├── rearg.md
│       │   │   │   ├── rest.md
│       │   │   │   ├── spread.md
│       │   │   │   ├── throttle.md
│       │   │   │   ├── unary.md
│       │   │   │   └── wrap.md
│       │   │   ├── math/
│       │   │   │   ├── add.md
│       │   │   │   ├── ceil.md
│       │   │   │   ├── clamp.md
│       │   │   │   ├── divide.md
│       │   │   │   ├── floor.md
│       │   │   │   ├── inRange.md
│       │   │   │   ├── max.md
│       │   │   │   ├── maxBy.md
│       │   │   │   ├── mean.md
│       │   │   │   ├── meanBy.md
│       │   │   │   ├── min.md
│       │   │   │   ├── minBy.md
│       │   │   │   ├── multiply.md
│       │   │   │   ├── parseInt.md
│       │   │   │   ├── random.md
│       │   │   │   ├── range.md
│       │   │   │   ├── rangeRight.md
│       │   │   │   ├── round.md
│       │   │   │   ├── subtract.md
│       │   │   │   ├── sum.md
│       │   │   │   └── sumBy.md
│       │   │   ├── object/
│       │   │   │   ├── assign.md
│       │   │   │   ├── assignIn.md
│       │   │   │   ├── assignInWith.md
│       │   │   │   ├── assignWith.md
│       │   │   │   ├── at.md
│       │   │   │   ├── clone.md
│       │   │   │   ├── cloneDeep.md
│       │   │   │   ├── cloneDeepWith.md
│       │   │   │   ├── cloneWith.md
│       │   │   │   ├── create.md
│       │   │   │   ├── defaults.md
│       │   │   │   ├── defaultsDeep.md
│       │   │   │   ├── extend.md
│       │   │   │   ├── extendWith.md
│       │   │   │   ├── findKey.md
│       │   │   │   ├── findLastKey.md
│       │   │   │   ├── forIn.md
│       │   │   │   ├── forInRight.md
│       │   │   │   ├── forOwn.md
│       │   │   │   ├── forOwnRight.md
│       │   │   │   ├── fromPairs.md
│       │   │   │   ├── functions.md
│       │   │   │   ├── functionsIn.md
│       │   │   │   ├── get.md
│       │   │   │   ├── has.md
│       │   │   │   ├── hasIn.md
│       │   │   │   ├── invert.md
│       │   │   │   ├── invertBy.md
│       │   │   │   ├── keys.md
│       │   │   │   ├── keysIn.md
│       │   │   │   ├── mapKeys.md
│       │   │   │   ├── mapValues.md
│       │   │   │   ├── merge.md
│       │   │   │   ├── mergeWith.md
│       │   │   │   ├── omit.md
│       │   │   │   ├── omitBy.md
│       │   │   │   ├── pick.md
│       │   │   │   ├── pickBy.md
│       │   │   │   ├── property.md
│       │   │   │   ├── propertyOf.md
│       │   │   │   ├── result.md
│       │   │   │   ├── set.md
│       │   │   │   ├── setWith.md
│       │   │   │   ├── toDefaulted.md
│       │   │   │   ├── toPairs.md
│       │   │   │   ├── toPairsIn.md
│       │   │   │   ├── transform.md
│       │   │   │   ├── unset.md
│       │   │   │   ├── update.md
│       │   │   │   ├── updateWith.md
│       │   │   │   ├── values.md
│       │   │   │   └── valuesIn.md
│       │   │   ├── predicate/
│       │   │   │   ├── conforms.md
│       │   │   │   ├── conformsTo.md
│       │   │   │   ├── isArguments.md
│       │   │   │   ├── isArray.md
│       │   │   │   ├── isArrayBuffer.md
│       │   │   │   ├── isArrayLike.md
│       │   │   │   ├── isArrayLikeObject.md
│       │   │   │   ├── isBoolean.md
│       │   │   │   ├── isBuffer.md
│       │   │   │   ├── isDate.md
│       │   │   │   ├── isElement.md
│       │   │   │   ├── isEmpty.md
│       │   │   │   ├── isEqual.md
│       │   │   │   ├── isEqualWith.md
│       │   │   │   ├── isError.md
│       │   │   │   ├── isFinite.md
│       │   │   │   ├── isFunction.md
│       │   │   │   ├── isInteger.md
│       │   │   │   ├── isLength.md
│       │   │   │   ├── isMap.md
│       │   │   │   ├── isMatch.md
│       │   │   │   ├── isMatchWith.md
│       │   │   │   ├── isNaN.md
│       │   │   │   ├── isNative.md
│       │   │   │   ├── isNil.md
│       │   │   │   ├── isNull.md
│       │   │   │   ├── isNumber.md
│       │   │   │   ├── isObject.md
│       │   │   │   ├── isObjectLike.md
│       │   │   │   ├── isPlainObject.md
│       │   │   │   ├── isRegExp.md
│       │   │   │   ├── isSafeInteger.md
│       │   │   │   ├── isSet.md
│       │   │   │   ├── isString.md
│       │   │   │   ├── isSymbol.md
│       │   │   │   ├── isTypedArray.md
│       │   │   │   ├── isUndefined.md
│       │   │   │   ├── isWeakMap.md
│       │   │   │   ├── isWeakSet.md
│       │   │   │   ├── matches.md
│       │   │   │   └── matchesProperty.md
│       │   │   ├── string/
│       │   │   │   ├── camelCase.md
│       │   │   │   ├── capitalize.md
│       │   │   │   ├── deburr.md
│       │   │   │   ├── endsWith.md
│       │   │   │   ├── escape.md
│       │   │   │   ├── escapeRegExp.md
│       │   │   │   ├── kebabCase.md
│       │   │   │   ├── lowerCase.md
│       │   │   │   ├── lowerFirst.md
│       │   │   │   ├── pad.md
│       │   │   │   ├── padEnd.md
│       │   │   │   ├── padStart.md
│       │   │   │   ├── repeat.md
│       │   │   │   ├── replace.md
│       │   │   │   ├── snakeCase.md
│       │   │   │   ├── split.md
│       │   │   │   ├── startCase.md
│       │   │   │   ├── startsWith.md
│       │   │   │   ├── template.md
│       │   │   │   ├── toLower.md
│       │   │   │   ├── toUpper.md
│       │   │   │   ├── trim.md
│       │   │   │   ├── trimEnd.md
│       │   │   │   ├── trimStart.md
│       │   │   │   ├── truncate.md
│       │   │   │   ├── unescape.md
│       │   │   │   ├── upperCase.md
│       │   │   │   ├── upperFirst.md
│       │   │   │   └── words.md
│       │   │   └── util/
│       │   │       ├── bindAll.md
│       │   │       ├── cond.md
│       │   │       ├── constant.md
│       │   │       ├── defaultTo.md
│       │   │       ├── eq.md
│       │   │       ├── gt.md
│       │   │       ├── gte.md
│       │   │       ├── invoke.md
│       │   │       ├── iteratee.md
│       │   │       ├── lt.md
│       │   │       ├── lte.md
│       │   │       ├── method.md
│       │   │       ├── methodOf.md
│       │   │       ├── now.md
│       │   │       ├── over.md
│       │   │       ├── overEvery.md
│       │   │       ├── overSome.md
│       │   │       ├── stubArray.md
│       │   │       ├── stubFalse.md
│       │   │       ├── stubObject.md
│       │   │       ├── stubString.md
│       │   │       ├── stubTrue.md
│       │   │       ├── times.md
│       │   │       ├── toArray.md
│       │   │       ├── toFinite.md
│       │   │       ├── toInteger.md
│       │   │       ├── toLength.md
│       │   │       ├── toNumber.md
│       │   │       ├── toPath.md
│       │   │       ├── toPlainObject.md
│       │   │       ├── toSafeInteger.md
│       │   │       ├── toString.md
│       │   │       └── uniqueId.md
│       │   ├── error/
│       │   │   ├── AbortError.md
│       │   │   └── TimeoutError.md
│       │   ├── function/
│       │   │   ├── after.md
│       │   │   ├── ary.md
│       │   │   ├── asyncNoop.md
│       │   │   ├── before.md
│       │   │   ├── curry.md
│       │   │   ├── curryRight.md
│       │   │   ├── debounce.md
│       │   │   ├── flow.md
│       │   │   ├── flowRight.md
│       │   │   ├── identity.md
│       │   │   ├── memoize.md
│       │   │   ├── negate.md
│       │   │   ├── noop.md
│       │   │   ├── once.md
│       │   │   ├── partial.md
│       │   │   ├── partialRight.md
│       │   │   ├── rest.md
│       │   │   ├── retry.md
│       │   │   ├── spread.md
│       │   │   ├── throttle.md
│       │   │   └── unary.md
│       │   ├── map/
│       │   │   ├── countBy.md
│       │   │   ├── every.md
│       │   │   ├── filter.md
│       │   │   ├── findKey.md
│       │   │   ├── findValue.md
│       │   │   ├── forEach.md
│       │   │   ├── hasValue.md
│       │   │   ├── keyBy.md
│       │   │   ├── mapKeys.md
│       │   │   ├── mapValues.md
│       │   │   ├── reduce.md
│       │   │   └── some.md
│       │   ├── math/
│       │   │   ├── clamp.md
│       │   │   ├── inRange.md
│       │   │   ├── mean.md
│       │   │   ├── meanBy.md
│       │   │   ├── median.md
│       │   │   ├── medianBy.md
│       │   │   ├── random.md
│       │   │   ├── randomInt.md
│       │   │   ├── range.md
│       │   │   ├── rangeRight.md
│       │   │   ├── round.md
│       │   │   ├── sum.md
│       │   │   └── sumBy.md
│       │   ├── object/
│       │   │   ├── clone.md
│       │   │   ├── cloneDeep.md
│       │   │   ├── cloneDeepWith.md
│       │   │   ├── findKey.md
│       │   │   ├── flattenObject.md
│       │   │   ├── invert.md
│       │   │   ├── mapKeys.md
│       │   │   ├── mapValues.md
│       │   │   ├── merge.md
│       │   │   ├── mergeWith.md
│       │   │   ├── omit.md
│       │   │   ├── omitBy.md
│       │   │   ├── pick.md
│       │   │   ├── pickBy.md
│       │   │   ├── toCamelCaseKeys.md
│       │   │   ├── toMerged.md
│       │   │   └── toSnakeCaseKeys.md
│       │   ├── predicate/
│       │   │   ├── isArrayBuffer.md
│       │   │   ├── isBlob.md
│       │   │   ├── isBoolean.md
│       │   │   ├── isBrowser.md
│       │   │   ├── isBuffer.md
│       │   │   ├── isDate.md
│       │   │   ├── isEmptyObject.md
│       │   │   ├── isEqual.md
│       │   │   ├── isEqualWith.md
│       │   │   ├── isError.md
│       │   │   ├── isFile.md
│       │   │   ├── isFunction.md
│       │   │   ├── isJSON.md
│       │   │   ├── isJSONArray.md
│       │   │   ├── isJSONObject.md
│       │   │   ├── isJSONValue.md
│       │   │   ├── isLength.md
│       │   │   ├── isMap.md
│       │   │   ├── isNil.md
│       │   │   ├── isNode.md
│       │   │   ├── isNotNil.md
│       │   │   ├── isNull.md
│       │   │   ├── isNumber.md
│       │   │   ├── isPlainObject.md
│       │   │   ├── isPrimitive.md
│       │   │   ├── isPromise.md
│       │   │   ├── isRegExp.md
│       │   │   ├── isSet.md
│       │   │   ├── isString.md
│       │   │   ├── isSymbol.md
│       │   │   ├── isTypedArray.md
│       │   │   ├── isUndefined.md
│       │   │   ├── isWeakMap.md
│       │   │   └── isWeakSet.md
│       │   ├── promise/
│       │   │   ├── Mutex.md
│       │   │   ├── Semaphore.md
│       │   │   ├── delay.md
│       │   │   ├── timeout.md
│       │   │   └── withTimeout.md
│       │   ├── set/
│       │   │   ├── countBy.md
│       │   │   ├── every.md
│       │   │   ├── filter.md
│       │   │   ├── find.md
│       │   │   ├── forEach.md
│       │   │   ├── keyBy.md
│       │   │   ├── map.md
│       │   │   ├── reduce.md
│       │   │   └── some.md
│       │   ├── string/
│       │   │   ├── camelCase.md
│       │   │   ├── capitalize.md
│       │   │   ├── constantCase.md
│       │   │   ├── deburr.md
│       │   │   ├── escape.md
│       │   │   ├── escapeRegExp.md
│       │   │   ├── kebabCase.md
│       │   │   ├── lowerCase.md
│       │   │   ├── lowerFirst.md
│       │   │   ├── pad.md
│       │   │   ├── pascalCase.md
│       │   │   ├── reverseString.md
│       │   │   ├── snakeCase.md
│       │   │   ├── startCase.md
│       │   │   ├── trim.md
│       │   │   ├── trimEnd.md
│       │   │   ├── trimStart.md
│       │   │   ├── unescape.md
│       │   │   ├── upperCase.md
│       │   │   ├── upperFirst.md
│       │   │   └── words.md
│       │   └── util/
│       │       ├── assert.md
│       │       ├── attempt.md
│       │       ├── attemptAsync.md
│       │       └── invariant.md
│       └── usage.md
├── eslint.config.mjs
├── jsr.json
├── package.json
├── packlint.config.mjs
├── rollup.config.mjs
├── src/
│   ├── _internal/
│   │   ├── burredLetters.ts
│   │   ├── comboMarks.ts
│   │   ├── compareValues.ts
│   │   ├── deburredLetters.ts
│   │   ├── isEqualsSameValueZero.ts
│   │   └── isUnsafeProperty.ts
│   ├── array/
│   │   ├── at.spec.ts
│   │   ├── at.ts
│   │   ├── chunk.spec.ts
│   │   ├── chunk.ts
│   │   ├── compact.spec.ts
│   │   ├── compact.ts
│   │   ├── countBy.spec.ts
│   │   ├── countBy.ts
│   │   ├── difference.spec.ts
│   │   ├── difference.ts
│   │   ├── differenceBy.spec.ts
│   │   ├── differenceBy.ts
│   │   ├── differenceWith.spec.ts
│   │   ├── differenceWith.ts
│   │   ├── drop.spec.ts
│   │   ├── drop.ts
│   │   ├── dropRight.spec.ts
│   │   ├── dropRight.ts
│   │   ├── dropRightWhile.spec.ts
│   │   ├── dropRightWhile.ts
│   │   ├── dropWhile.spec.ts
│   │   ├── dropWhile.ts
│   │   ├── fill.spec.ts
│   │   ├── fill.ts
│   │   ├── filterAsync.spec.ts
│   │   ├── filterAsync.ts
│   │   ├── flatMap.spec.ts
│   │   ├── flatMap.ts
│   │   ├── flatMapAsync.spec.ts
│   │   ├── flatMapAsync.ts
│   │   ├── flatMapDeep.spec.ts
│   │   ├── flatMapDeep.ts
│   │   ├── flatten.spec.ts
│   │   ├── flatten.ts
│   │   ├── flattenDeep.spec.ts
│   │   ├── flattenDeep.ts
│   │   ├── forEachAsync.spec.ts
│   │   ├── forEachAsync.ts
│   │   ├── forEachRight.spec.ts
│   │   ├── forEachRight.ts
│   │   ├── groupBy.spec.ts
│   │   ├── groupBy.ts
│   │   ├── head.spec.ts
│   │   ├── head.ts
│   │   ├── index.ts
│   │   ├── initial.spec.ts
│   │   ├── initial.ts
│   │   ├── intersection.spec.ts
│   │   ├── intersection.ts
│   │   ├── intersectionBy.spec.ts
│   │   ├── intersectionBy.ts
│   │   ├── intersectionWith.spec.ts
│   │   ├── intersectionWith.ts
│   │   ├── isSubset.spec.ts
│   │   ├── isSubset.ts
│   │   ├── isSubsetWith.spec.ts
│   │   ├── isSubsetWith.ts
│   │   ├── keyBy.spec.ts
│   │   ├── keyBy.ts
│   │   ├── last.spec.ts
│   │   ├── last.ts
│   │   ├── limitAsync.spec.ts
│   │   ├── limitAsync.ts
│   │   ├── mapAsync.spec.ts
│   │   ├── mapAsync.ts
│   │   ├── maxBy.spec.ts
│   │   ├── maxBy.ts
│   │   ├── minBy.spec.ts
│   │   ├── minBy.ts
│   │   ├── orderBy.spec.ts
│   │   ├── orderBy.ts
│   │   ├── partition.spec.ts
│   │   ├── partition.ts
│   │   ├── pull.spec.ts
│   │   ├── pull.ts
│   │   ├── pullAt.spec.ts
│   │   ├── pullAt.ts
│   │   ├── reduceAsync.spec.ts
│   │   ├── reduceAsync.ts
│   │   ├── remove.spec.ts
│   │   ├── remove.ts
│   │   ├── sample.spec.ts
│   │   ├── sample.ts
│   │   ├── sampleSize.spec.ts
│   │   ├── sampleSize.ts
│   │   ├── shuffle.spec.ts
│   │   ├── shuffle.ts
│   │   ├── sortBy.spec.ts
│   │   ├── sortBy.ts
│   │   ├── tail.spec.ts
│   │   ├── tail.ts
│   │   ├── take.spec.ts
│   │   ├── take.ts
│   │   ├── takeRight.spec.ts
│   │   ├── takeRight.ts
│   │   ├── takeRightWhile.spec.ts
│   │   ├── takeRightWhile.ts
│   │   ├── takeWhile.spec.ts
│   │   ├── takeWhile.ts
│   │   ├── toFilled.spec.ts
│   │   ├── toFilled.ts
│   │   ├── union.spec.ts
│   │   ├── union.ts
│   │   ├── unionBy.spec.ts
│   │   ├── unionBy.ts
│   │   ├── unionWith.spec.ts
│   │   ├── unionWith.ts
│   │   ├── uniq.spec.ts
│   │   ├── uniq.ts
│   │   ├── uniqBy.spec.ts
│   │   ├── uniqBy.ts
│   │   ├── uniqWith.spec.ts
│   │   ├── uniqWith.ts
│   │   ├── unzip.spec.ts
│   │   ├── unzip.ts
│   │   ├── unzipWith.spec.ts
│   │   ├── unzipWith.ts
│   │   ├── windowed.spec.ts
│   │   ├── windowed.ts
│   │   ├── without.spec.ts
│   │   ├── without.ts
│   │   ├── xor.spec.ts
│   │   ├── xor.ts
│   │   ├── xorBy.spec.ts
│   │   ├── xorBy.ts
│   │   ├── xorWith.spec.ts
│   │   ├── xorWith.ts
│   │   ├── zip.spec.ts
│   │   ├── zip.ts
│   │   ├── zipObject.spec.ts
│   │   ├── zipObject.ts
│   │   ├── zipWith.spec.ts
│   │   └── zipWith.ts
│   ├── compat/
│   │   ├── _internal/
│   │   │   ├── ArrayIterator.ts
│   │   │   ├── ConformsPredicateObject.ts
│   │   │   ├── EmptyObjectOf.ts
│   │   │   ├── Equals.d.ts
│   │   │   ├── GetFieldType.ts
│   │   │   ├── IsEqualCustomizer.ts
│   │   │   ├── IsMatchWithCustomizer.ts
│   │   │   ├── IsWritable.d.ts
│   │   │   ├── IterateeShorthand.ts
│   │   │   ├── LARGE_ARRAY_SIZE.ts
│   │   │   ├── ListIteratee.ts
│   │   │   ├── ListIterateeCustom.ts
│   │   │   ├── ListIterator.ts
│   │   │   ├── ListIteratorTypeGuard.ts
│   │   │   ├── ListOfRecursiveArraysOrValues.ts
│   │   │   ├── MAX_ARRAY_LENGTH.ts
│   │   │   ├── MAX_INTEGER.ts
│   │   │   ├── MAX_SAFE_INTEGER.ts
│   │   │   ├── Many.ts
│   │   │   ├── MemoListIterator.ts
│   │   │   ├── MemoObjectIterator.ts
│   │   │   ├── MutableList.d.ts
│   │   │   ├── ObjectIteratee.ts
│   │   │   ├── ObjectIterateeCustom.ts
│   │   │   ├── ObjectIterator.ts
│   │   │   ├── PartialShallow.ts
│   │   │   ├── PropertyPath.ts
│   │   │   ├── RecursiveArray.ts
│   │   │   ├── RejectReadonly.d.ts
│   │   │   ├── StringIterator.ts
│   │   │   ├── TupleIterator.ts
│   │   │   ├── ValueIteratee.ts
│   │   │   ├── ValueIterateeCustom.ts
│   │   │   ├── ValueIteratorTypeGuard.ts
│   │   │   ├── ValueKeyIteratee.ts
│   │   │   ├── ValueKeyIterateeTypeGuard.ts
│   │   │   ├── args.ts
│   │   │   ├── arrayProto.ts
│   │   │   ├── arrayViews.ts
│   │   │   ├── assignValue.ts
│   │   │   ├── compareValues.spec.ts
│   │   │   ├── compareValues.ts
│   │   │   ├── copyArray.ts
│   │   │   ├── decimalAdjust.ts
│   │   │   ├── doubled.ts
│   │   │   ├── empties.ts
│   │   │   ├── falsey.ts
│   │   │   ├── flattenArrayLike.spec.ts
│   │   │   ├── flattenArrayLike.ts
│   │   │   ├── getSymbols.ts
│   │   │   ├── getSymbolsIn.ts
│   │   │   ├── getTag.spec.ts
│   │   │   ├── getTag.ts
│   │   │   ├── isDeepKey.spec.ts
│   │   │   ├── isDeepKey.ts
│   │   │   ├── isEven.ts
│   │   │   ├── isIndex.spec.ts
│   │   │   ├── isIndex.ts
│   │   │   ├── isIterateeCall.ts
│   │   │   ├── isKey.spec.ts
│   │   │   ├── isKey.ts
│   │   │   ├── isPrototype.ts
│   │   │   ├── mapToEntries.ts
│   │   │   ├── normalizeForCase.ts
│   │   │   ├── numberProto.ts
│   │   │   ├── numberTag.ts
│   │   │   ├── objectProto.ts
│   │   │   ├── primitives.ts
│   │   │   ├── setToEntries.ts
│   │   │   ├── slice.ts
│   │   │   ├── strictArgs.ts
│   │   │   ├── stringProto.ts
│   │   │   ├── stubA.ts
│   │   │   ├── stubB.ts
│   │   │   ├── stubC.ts
│   │   │   ├── stubFour.ts
│   │   │   ├── stubNaN.ts
│   │   │   ├── stubNull.ts
│   │   │   ├── stubOne.ts
│   │   │   ├── stubThree.ts
│   │   │   ├── stubTwo.ts
│   │   │   ├── stubZero.ts
│   │   │   ├── symbol.ts
│   │   │   ├── tags.ts
│   │   │   ├── toArgs.spec.ts
│   │   │   ├── toArgs.ts
│   │   │   ├── toArray.ts
│   │   │   ├── toKey.spec.ts
│   │   │   ├── toKey.ts
│   │   │   ├── typedArrays.ts
│   │   │   ├── weakMap.ts
│   │   │   ├── weakSet.ts
│   │   │   └── whitespace.ts
│   │   ├── array/
│   │   │   ├── castArray.spec.ts
│   │   │   ├── castArray.ts
│   │   │   ├── chunk.spec.ts
│   │   │   ├── chunk.ts
│   │   │   ├── compact.spec.ts
│   │   │   ├── compact.ts
│   │   │   ├── concat.spec.ts
│   │   │   ├── concat.ts
│   │   │   ├── countBy.spec.ts
│   │   │   ├── countBy.ts
│   │   │   ├── difference.spec.ts
│   │   │   ├── difference.ts
│   │   │   ├── differenceBy.spec.ts
│   │   │   ├── differenceBy.ts
│   │   │   ├── differenceWith.spec.ts
│   │   │   ├── differenceWith.ts
│   │   │   ├── drop.spec.ts
│   │   │   ├── drop.ts
│   │   │   ├── dropRight.spec.ts
│   │   │   ├── dropRight.ts
│   │   │   ├── dropRightWhile.spec.ts
│   │   │   ├── dropRightWhile.ts
│   │   │   ├── dropWhile.spec.ts
│   │   │   ├── dropWhile.ts
│   │   │   ├── each.spec.ts
│   │   │   ├── each.ts
│   │   │   ├── eachRight.ts
│   │   │   ├── every.spec.ts
│   │   │   ├── every.ts
│   │   │   ├── fill.spec.ts
│   │   │   ├── fill.ts
│   │   │   ├── filter.spec.ts
│   │   │   ├── filter.ts
│   │   │   ├── find.spec.ts
│   │   │   ├── find.ts
│   │   │   ├── findIndex.spec.ts
│   │   │   ├── findIndex.ts
│   │   │   ├── findLast.spec.ts
│   │   │   ├── findLast.ts
│   │   │   ├── findLastIndex.spec.ts
│   │   │   ├── findLastIndex.ts
│   │   │   ├── first.ts
│   │   │   ├── flatMap.spec.ts
│   │   │   ├── flatMap.ts
│   │   │   ├── flatMapDeep.spec.ts
│   │   │   ├── flatMapDeep.ts
│   │   │   ├── flatMapDepth.spec.ts
│   │   │   ├── flatMapDepth.ts
│   │   │   ├── flatten.spec.ts
│   │   │   ├── flatten.ts
│   │   │   ├── flattenDeep.spec.ts
│   │   │   ├── flattenDeep.ts
│   │   │   ├── flattenDepth.spec.ts
│   │   │   ├── flattenDepth.ts
│   │   │   ├── forEach.spec.ts
│   │   │   ├── forEach.ts
│   │   │   ├── forEachRight.spec.ts
│   │   │   ├── forEachRight.ts
│   │   │   ├── groupBy.spec.ts
│   │   │   ├── groupBy.ts
│   │   │   ├── head.spec.ts
│   │   │   ├── head.ts
│   │   │   ├── includes.spec.ts
│   │   │   ├── includes.ts
│   │   │   ├── indexOf.spec.ts
│   │   │   ├── indexOf.ts
│   │   │   ├── initial.spec.ts
│   │   │   ├── initial.ts
│   │   │   ├── intersection.spec.ts
│   │   │   ├── intersection.ts
│   │   │   ├── intersectionBy.spec.ts
│   │   │   ├── intersectionBy.ts
│   │   │   ├── intersectionWith.spec.ts
│   │   │   ├── intersectionWith.ts
│   │   │   ├── invokeMap.spec.ts
│   │   │   ├── invokeMap.ts
│   │   │   ├── join.spec.ts
│   │   │   ├── join.ts
│   │   │   ├── keyBy.spec.ts
│   │   │   ├── keyBy.ts
│   │   │   ├── last.spec.ts
│   │   │   ├── last.ts
│   │   │   ├── lastIndexOf.spec.ts
│   │   │   ├── lastIndexOf.ts
│   │   │   ├── map.spec.ts
│   │   │   ├── map.ts
│   │   │   ├── nth.spec.ts
│   │   │   ├── nth.ts
│   │   │   ├── orderBy.spec.ts
│   │   │   ├── orderBy.ts
│   │   │   ├── partition.spec.ts
│   │   │   ├── partition.ts
│   │   │   ├── pull.spec.ts
│   │   │   ├── pull.ts
│   │   │   ├── pullAll.spec.ts
│   │   │   ├── pullAll.ts
│   │   │   ├── pullAllBy.spec.ts
│   │   │   ├── pullAllBy.ts
│   │   │   ├── pullAllWith.spec.ts
│   │   │   ├── pullAllWith.ts
│   │   │   ├── pullAt.spec.ts
│   │   │   ├── pullAt.ts
│   │   │   ├── reduce.spec.ts
│   │   │   ├── reduce.ts
│   │   │   ├── reduceRight.spec.ts
│   │   │   ├── reduceRight.ts
│   │   │   ├── reject.spec.ts
│   │   │   ├── reject.ts
│   │   │   ├── remove.spec.ts
│   │   │   ├── remove.ts
│   │   │   ├── reverse.spec.ts
│   │   │   ├── reverse.ts
│   │   │   ├── sample.spec.ts
│   │   │   ├── sample.ts
│   │   │   ├── sampleSize.spec.ts
│   │   │   ├── sampleSize.ts
│   │   │   ├── shuffle.spec.ts
│   │   │   ├── shuffle.ts
│   │   │   ├── size.spec.ts
│   │   │   ├── size.ts
│   │   │   ├── slice.spec.ts
│   │   │   ├── slice.ts
│   │   │   ├── some.spec.ts
│   │   │   ├── some.ts
│   │   │   ├── sortBy.spec.ts
│   │   │   ├── sortBy.ts
│   │   │   ├── sortedIndex.spec.ts
│   │   │   ├── sortedIndex.ts
│   │   │   ├── sortedIndexBy.spec.ts
│   │   │   ├── sortedIndexBy.ts
│   │   │   ├── sortedIndexOf.spec.ts
│   │   │   ├── sortedIndexOf.ts
│   │   │   ├── sortedLastIndex.spec.ts
│   │   │   ├── sortedLastIndex.ts
│   │   │   ├── sortedLastIndexBy.spec.ts
│   │   │   ├── sortedLastIndexBy.ts
│   │   │   ├── sortedLastIndexOf.spec.ts
│   │   │   ├── sortedLastIndexOf.ts
│   │   │   ├── tail.spec.ts
│   │   │   ├── tail.ts
│   │   │   ├── take.spec.ts
│   │   │   ├── take.ts
│   │   │   ├── takeRight.spec.ts
│   │   │   ├── takeRight.ts
│   │   │   ├── takeRightWhile.spec.ts
│   │   │   ├── takeRightWhile.ts
│   │   │   ├── takeWhile.spec.ts
│   │   │   ├── takeWhile.ts
│   │   │   ├── union.spec.ts
│   │   │   ├── union.ts
│   │   │   ├── unionBy.spec.ts
│   │   │   ├── unionBy.ts
│   │   │   ├── unionWith.spec.ts
│   │   │   ├── unionWith.ts
│   │   │   ├── uniq.spec.ts
│   │   │   ├── uniq.ts
│   │   │   ├── uniqBy.spec.ts
│   │   │   ├── uniqBy.ts
│   │   │   ├── uniqWith.spec.ts
│   │   │   ├── uniqWith.ts
│   │   │   ├── unzip.spec.ts
│   │   │   ├── unzip.ts
│   │   │   ├── unzipWith.spec.ts
│   │   │   ├── unzipWith.ts
│   │   │   ├── without.spec.ts
│   │   │   ├── without.ts
│   │   │   ├── xor.spec.ts
│   │   │   ├── xor.ts
│   │   │   ├── xorBy.spec.ts
│   │   │   ├── xorBy.ts
│   │   │   ├── xorWith.spec.ts
│   │   │   ├── xorWith.ts
│   │   │   ├── zip.spec.ts
│   │   │   ├── zip.ts
│   │   │   ├── zipObject.spec.ts
│   │   │   ├── zipObject.ts
│   │   │   ├── zipObjectDeep.spec.ts
│   │   │   ├── zipObjectDeep.ts
│   │   │   ├── zipWith.spec.ts
│   │   │   └── zipWith.ts
│   │   ├── compat.ts
│   │   ├── function/
│   │   │   ├── after.spec.ts
│   │   │   ├── after.ts
│   │   │   ├── ary.spec.ts
│   │   │   ├── ary.ts
│   │   │   ├── attempt.spec.ts
│   │   │   ├── attempt.ts
│   │   │   ├── before.spec.ts
│   │   │   ├── before.ts
│   │   │   ├── bind.spec.ts
│   │   │   ├── bind.ts
│   │   │   ├── bindKey.spec.ts
│   │   │   ├── bindKey.ts
│   │   │   ├── curry.spec.ts
│   │   │   ├── curry.ts
│   │   │   ├── curryRight.spec.ts
│   │   │   ├── curryRight.ts
│   │   │   ├── debounce.spec.ts
│   │   │   ├── debounce.ts
│   │   │   ├── defer.spec.ts
│   │   │   ├── defer.ts
│   │   │   ├── delay.spec.ts
│   │   │   ├── delay.ts
│   │   │   ├── flip.spec.ts
│   │   │   ├── flip.ts
│   │   │   ├── flow.spec.ts
│   │   │   ├── flow.ts
│   │   │   ├── flowRight.spec.ts
│   │   │   ├── flowRight.ts
│   │   │   ├── identity.spec.ts
│   │   │   ├── identity.ts
│   │   │   ├── memoize.spec.ts
│   │   │   ├── memoize.ts
│   │   │   ├── negate.spec.ts
│   │   │   ├── negate.ts
│   │   │   ├── noop.spec.ts
│   │   │   ├── noop.ts
│   │   │   ├── nthArg.spec.ts
│   │   │   ├── nthArg.ts
│   │   │   ├── once.spec.ts
│   │   │   ├── once.ts
│   │   │   ├── overArgs.spec.ts
│   │   │   ├── overArgs.ts
│   │   │   ├── partial.spec.ts
│   │   │   ├── partial.ts
│   │   │   ├── partialRight.spec.ts
│   │   │   ├── partialRight.ts
│   │   │   ├── rearg.spec.ts
│   │   │   ├── rearg.ts
│   │   │   ├── rest.spec.ts
│   │   │   ├── rest.ts
│   │   │   ├── spread.spec.ts
│   │   │   ├── spread.ts
│   │   │   ├── throttle.spec.ts
│   │   │   ├── throttle.ts
│   │   │   ├── unary.spec.ts
│   │   │   ├── unary.ts
│   │   │   ├── wrap.spec.ts
│   │   │   └── wrap.ts
│   │   ├── index.ts
│   │   ├── math/
│   │   │   ├── add.spec.ts
│   │   │   ├── add.ts
│   │   │   ├── ceil.spec.ts
│   │   │   ├── ceil.ts
│   │   │   ├── clamp.spec.ts
│   │   │   ├── clamp.ts
│   │   │   ├── divide.spec.ts
│   │   │   ├── divide.ts
│   │   │   ├── floor.spec.ts
│   │   │   ├── floor.ts
│   │   │   ├── inRange.spec.ts
│   │   │   ├── inRange.ts
│   │   │   ├── max.spec.ts
│   │   │   ├── max.ts
│   │   │   ├── maxBy.spec.ts
│   │   │   ├── maxBy.ts
│   │   │   ├── mean.spec.ts
│   │   │   ├── mean.ts
│   │   │   ├── meanBy.spec.ts
│   │   │   ├── meanBy.ts
│   │   │   ├── min.spec.ts
│   │   │   ├── min.ts
│   │   │   ├── minBy.spec.ts
│   │   │   ├── minBy.ts
│   │   │   ├── multiply.spec.ts
│   │   │   ├── multiply.ts
│   │   │   ├── parseInt.spec.ts
│   │   │   ├── parseInt.ts
│   │   │   ├── random.spec.ts
│   │   │   ├── random.ts
│   │   │   ├── range.spec.ts
│   │   │   ├── range.ts
│   │   │   ├── rangeRight.spec.ts
│   │   │   ├── rangeRight.ts
│   │   │   ├── round.spec.ts
│   │   │   ├── round.ts
│   │   │   ├── subtract.spec.ts
│   │   │   ├── subtract.ts
│   │   │   ├── sum.spec.ts
│   │   │   ├── sum.ts
│   │   │   ├── sumBy.spec.ts
│   │   │   └── sumBy.ts
│   │   ├── object/
│   │   │   ├── assign.spec.ts
│   │   │   ├── assign.ts
│   │   │   ├── assignIn.spec.ts
│   │   │   ├── assignIn.ts
│   │   │   ├── assignInWith.spec.ts
│   │   │   ├── assignInWith.ts
│   │   │   ├── assignWith.spec.ts
│   │   │   ├── assignWith.ts
│   │   │   ├── at.spec.ts
│   │   │   ├── at.ts
│   │   │   ├── clone.spec.ts
│   │   │   ├── clone.ts
│   │   │   ├── cloneDeep.spec.ts
│   │   │   ├── cloneDeep.ts
│   │   │   ├── cloneDeepWith.spec.ts
│   │   │   ├── cloneDeepWith.ts
│   │   │   ├── cloneWith.spec.ts
│   │   │   ├── cloneWith.ts
│   │   │   ├── create.spec.ts
│   │   │   ├── create.ts
│   │   │   ├── defaults.spec.ts
│   │   │   ├── defaults.ts
│   │   │   ├── defaultsDeep.spec.ts
│   │   │   ├── defaultsDeep.ts
│   │   │   ├── extend.ts
│   │   │   ├── extendWith.ts
│   │   │   ├── findKey.spec.ts
│   │   │   ├── findKey.ts
│   │   │   ├── findLastKey.spec.ts
│   │   │   ├── findLastKey.ts
│   │   │   ├── forIn.spec.ts
│   │   │   ├── forIn.ts
│   │   │   ├── forInRight.spec.ts
│   │   │   ├── forInRight.ts
│   │   │   ├── forOwn.spec.ts
│   │   │   ├── forOwn.ts
│   │   │   ├── forOwnRight.spec.ts
│   │   │   ├── forOwnRight.ts
│   │   │   ├── fromPairs.spec.ts
│   │   │   ├── fromPairs.ts
│   │   │   ├── functions.spec.ts
│   │   │   ├── functions.ts
│   │   │   ├── functionsIn.spec.ts
│   │   │   ├── functionsIn.ts
│   │   │   ├── get.spec.ts
│   │   │   ├── get.ts
│   │   │   ├── has.spec.ts
│   │   │   ├── has.ts
│   │   │   ├── hasIn.spec.ts
│   │   │   ├── hasIn.ts
│   │   │   ├── invert.spec.ts
│   │   │   ├── invert.ts
│   │   │   ├── invertBy.spec.ts
│   │   │   ├── invertBy.ts
│   │   │   ├── keys.spec.ts
│   │   │   ├── keys.ts
│   │   │   ├── keysIn.spec.ts
│   │   │   ├── keysIn.ts
│   │   │   ├── mapKeys.spec.ts
│   │   │   ├── mapKeys.ts
│   │   │   ├── mapValues.spec.ts
│   │   │   ├── mapValues.ts
│   │   │   ├── merge.spec.ts
│   │   │   ├── merge.ts
│   │   │   ├── mergeWith.spec.ts
│   │   │   ├── mergeWith.ts
│   │   │   ├── omit.spec.ts
│   │   │   ├── omit.ts
│   │   │   ├── omitBy.spec.ts
│   │   │   ├── omitBy.ts
│   │   │   ├── pick.spec.ts
│   │   │   ├── pick.ts
│   │   │   ├── pickBy.spec.ts
│   │   │   ├── pickBy.ts
│   │   │   ├── property.spec.ts
│   │   │   ├── property.ts
│   │   │   ├── propertyOf.spec.ts
│   │   │   ├── propertyOf.ts
│   │   │   ├── result.spec.ts
│   │   │   ├── result.ts
│   │   │   ├── set.spec.ts
│   │   │   ├── set.ts
│   │   │   ├── setWith.spec.ts
│   │   │   ├── setWith.ts
│   │   │   ├── toDefaulted.spec.ts
│   │   │   ├── toDefaulted.ts
│   │   │   ├── toPairs.spec.ts
│   │   │   ├── toPairs.ts
│   │   │   ├── toPairsIn.spec.ts
│   │   │   ├── toPairsIn.ts
│   │   │   ├── transform.spec.ts
│   │   │   ├── transform.ts
│   │   │   ├── unset.spec.ts
│   │   │   ├── unset.ts
│   │   │   ├── update.spec.ts
│   │   │   ├── update.ts
│   │   │   ├── updateWith.spec.ts
│   │   │   ├── updateWith.ts
│   │   │   ├── values.spec.ts
│   │   │   ├── values.ts
│   │   │   ├── valuesIn.spec.ts
│   │   │   └── valuesIn.ts
│   │   ├── predicate/
│   │   │   ├── conforms.spec.ts
│   │   │   ├── conforms.ts
│   │   │   ├── conformsTo.spec.ts
│   │   │   ├── conformsTo.ts
│   │   │   ├── isArguments.spec.ts
│   │   │   ├── isArguments.ts
│   │   │   ├── isArray.spec.ts
│   │   │   ├── isArray.ts
│   │   │   ├── isArrayBuffer.spec.ts
│   │   │   ├── isArrayBuffer.ts
│   │   │   ├── isArrayLike.spec.ts
│   │   │   ├── isArrayLike.ts
│   │   │   ├── isArrayLikeObject.spec.ts
│   │   │   ├── isArrayLikeObject.ts
│   │   │   ├── isBoolean.spec.ts
│   │   │   ├── isBoolean.ts
│   │   │   ├── isBuffer.spec.ts
│   │   │   ├── isBuffer.ts
│   │   │   ├── isDate.spec.ts
│   │   │   ├── isDate.ts
│   │   │   ├── isElement.spec.ts
│   │   │   ├── isElement.ts
│   │   │   ├── isEmpty.spec.ts
│   │   │   ├── isEmpty.ts
│   │   │   ├── isEqual.spec.ts
│   │   │   ├── isEqualWith.spec.ts
│   │   │   ├── isEqualWith.ts
│   │   │   ├── isError.spec.ts
│   │   │   ├── isError.ts
│   │   │   ├── isFinite.spec.ts
│   │   │   ├── isFinite.ts
│   │   │   ├── isFunction.spec.ts
│   │   │   ├── isFunction.ts
│   │   │   ├── isInteger.spec.ts
│   │   │   ├── isInteger.ts
│   │   │   ├── isLength.spec.ts
│   │   │   ├── isLength.ts
│   │   │   ├── isMap.spec.ts
│   │   │   ├── isMap.ts
│   │   │   ├── isMatch.spec.ts
│   │   │   ├── isMatch.ts
│   │   │   ├── isMatchWith.spec.ts
│   │   │   ├── isMatchWith.ts
│   │   │   ├── isNaN.spec.ts
│   │   │   ├── isNaN.ts
│   │   │   ├── isNative.spec.ts
│   │   │   ├── isNative.ts
│   │   │   ├── isNil.spec.ts
│   │   │   ├── isNil.ts
│   │   │   ├── isNull.spec.ts
│   │   │   ├── isNull.ts
│   │   │   ├── isNumber.spec.ts
│   │   │   ├── isNumber.ts
│   │   │   ├── isObject.spec.ts
│   │   │   ├── isObject.ts
│   │   │   ├── isObjectLike.spec.ts
│   │   │   ├── isObjectLike.ts
│   │   │   ├── isPlainObject.spec.ts
│   │   │   ├── isPlainObject.ts
│   │   │   ├── isRegExp.spec.ts
│   │   │   ├── isRegExp.ts
│   │   │   ├── isSafeInteger.spec.ts
│   │   │   ├── isSafeInteger.ts
│   │   │   ├── isSet.spec.ts
│   │   │   ├── isSet.ts
│   │   │   ├── isString.spec.ts
│   │   │   ├── isString.ts
│   │   │   ├── isSymbol.spec.ts
│   │   │   ├── isSymbol.ts
│   │   │   ├── isTypedArray.spec.ts
│   │   │   ├── isTypedArray.ts
│   │   │   ├── isUndefined.spec.ts
│   │   │   ├── isUndefined.ts
│   │   │   ├── isWeakMap.spec.ts
│   │   │   ├── isWeakMap.ts
│   │   │   ├── isWeakSet.spec.ts
│   │   │   ├── isWeakSet.ts
│   │   │   ├── matches.spec.ts
│   │   │   ├── matches.ts
│   │   │   ├── matchesProperty.spec.ts
│   │   │   └── matchesProperty.ts
│   │   ├── string/
│   │   │   ├── camelCase.spec.ts
│   │   │   ├── camelCase.ts
│   │   │   ├── capitalize.spec.ts
│   │   │   ├── capitalize.ts
│   │   │   ├── deburr.spec.ts
│   │   │   ├── deburr.ts
│   │   │   ├── endsWith.spec.ts
│   │   │   ├── endsWith.ts
│   │   │   ├── escape.spec.ts
│   │   │   ├── escape.ts
│   │   │   ├── escapeRegExp.spec.ts
│   │   │   ├── escapeRegExp.ts
│   │   │   ├── kebabCase.spec.ts
│   │   │   ├── kebabCase.ts
│   │   │   ├── lowerCase.spec.ts
│   │   │   ├── lowerCase.ts
│   │   │   ├── lowerFirst.spec.ts
│   │   │   ├── lowerFirst.ts
│   │   │   ├── pad.spec.ts
│   │   │   ├── pad.ts
│   │   │   ├── padEnd.spec.ts
│   │   │   ├── padEnd.ts
│   │   │   ├── padStart.spec.ts
│   │   │   ├── padStart.ts
│   │   │   ├── repeat.spec.ts
│   │   │   ├── repeat.ts
│   │   │   ├── replace.spec.ts
│   │   │   ├── replace.ts
│   │   │   ├── snakeCase.spec.ts
│   │   │   ├── snakeCase.ts
│   │   │   ├── split.spec.ts
│   │   │   ├── split.ts
│   │   │   ├── startCase.spec.ts
│   │   │   ├── startCase.ts
│   │   │   ├── startsWith.spec.ts
│   │   │   ├── startsWith.ts
│   │   │   ├── template.spec.ts
│   │   │   ├── template.ts
│   │   │   ├── templateSettings.ts
│   │   │   ├── toLower.spec.ts
│   │   │   ├── toLower.ts
│   │   │   ├── toUpper.spec.ts
│   │   │   ├── toUpper.ts
│   │   │   ├── trim.spec.ts
│   │   │   ├── trim.ts
│   │   │   ├── trimEnd.spec.ts
│   │   │   ├── trimEnd.ts
│   │   │   ├── trimStart.spec.ts
│   │   │   ├── trimStart.ts
│   │   │   ├── truncate.spec.ts
│   │   │   ├── truncate.ts
│   │   │   ├── unescape.spec.ts
│   │   │   ├── unescape.ts
│   │   │   ├── upperCase.spec.ts
│   │   │   ├── upperCase.ts
│   │   │   ├── upperFirst.spec.ts
│   │   │   ├── upperFirst.ts
│   │   │   ├── words.spec.ts
│   │   │   └── words.ts
│   │   ├── toolkit.ts
│   │   └── util/
│   │       ├── bindAll.spec.ts
│   │       ├── bindAll.ts
│   │       ├── cond.spec.ts
│   │       ├── cond.ts
│   │       ├── constant.spec.ts
│   │       ├── constant.ts
│   │       ├── defaultTo.spec.ts
│   │       ├── defaultTo.ts
│   │       ├── eq.spec.ts
│   │       ├── eq.ts
│   │       ├── gt.spec.ts
│   │       ├── gt.ts
│   │       ├── gte.spec.ts
│   │       ├── gte.ts
│   │       ├── invoke.spec.ts
│   │       ├── invoke.ts
│   │       ├── iteratee.spec.ts
│   │       ├── iteratee.ts
│   │       ├── lt.spec.ts
│   │       ├── lt.ts
│   │       ├── lte.spec.ts
│   │       ├── lte.ts
│   │       ├── method.spec.ts
│   │       ├── method.ts
│   │       ├── methodOf.spec.ts
│   │       ├── methodOf.ts
│   │       ├── now.spec.ts
│   │       ├── now.ts
│   │       ├── over.spec.ts
│   │       ├── over.ts
│   │       ├── overEvery.spec.ts
│   │       ├── overEvery.ts
│   │       ├── overSome.spec.ts
│   │       ├── overSome.ts
│   │       ├── stubArray.spec.ts
│   │       ├── stubArray.ts
│   │       ├── stubFalse.spec.ts
│   │       ├── stubFalse.ts
│   │       ├── stubObject.spec.ts
│   │       ├── stubObject.ts
│   │       ├── stubString.spec.ts
│   │       ├── stubString.ts
│   │       ├── stubTrue.spec.ts
│   │       ├── stubTrue.ts
│   │       ├── times.spec.ts
│   │       ├── times.ts
│   │       ├── toArray.spec.ts
│   │       ├── toArray.ts
│   │       ├── toFinite.spec.ts
│   │       ├── toFinite.ts
│   │       ├── toInteger.spec.ts
│   │       ├── toInteger.ts
│   │       ├── toLength.spec.ts
│   │       ├── toLength.ts
│   │       ├── toNumber.spec.ts
│   │       ├── toNumber.ts
│   │       ├── toPath.spec.ts
│   │       ├── toPath.ts
│   │       ├── toPlainObject.spec.ts
│   │       ├── toPlainObject.ts
│   │       ├── toSafeInteger.spec.ts
│   │       ├── toSafeInteger.ts
│   │       ├── toString.spec.ts
│   │       ├── toString.ts
│   │       ├── uniqueId.spec.ts
│   │       └── uniqueId.ts
│   ├── error/
│   │   ├── AbortError.ts
│   │   ├── TimeoutError.ts
│   │   └── index.ts
│   ├── function/
│   │   ├── after.spec.ts
│   │   ├── after.ts
│   │   ├── ary.spec.ts
│   │   ├── ary.ts
│   │   ├── asyncNoop.spec.ts
│   │   ├── asyncNoop.ts
│   │   ├── before.spec.ts
│   │   ├── before.ts
│   │   ├── curry.spec.ts
│   │   ├── curry.ts
│   │   ├── curryRight.spec.ts
│   │   ├── curryRight.ts
│   │   ├── debounce.spec.ts
│   │   ├── debounce.ts
│   │   ├── flow.spec.ts
│   │   ├── flow.ts
│   │   ├── flowRight.spec.ts
│   │   ├── flowRight.ts
│   │   ├── identity.spec.ts
│   │   ├── identity.ts
│   │   ├── index.ts
│   │   ├── memoize.spec.ts
│   │   ├── memoize.ts
│   │   ├── negate.spec.ts
│   │   ├── negate.ts
│   │   ├── noop.spec.ts
│   │   ├── noop.ts
│   │   ├── once.spec.ts
│   │   ├── once.ts
│   │   ├── partial.spec.ts
│   │   ├── partial.ts
│   │   ├── partialRight.spec.ts
│   │   ├── partialRight.ts
│   │   ├── rest.spec.ts
│   │   ├── rest.ts
│   │   ├── retry.spec.ts
│   │   ├── retry.ts
│   │   ├── spread.spec.ts
│   │   ├── spread.ts
│   │   ├── throttle.spec.ts
│   │   ├── throttle.ts
│   │   ├── unary.spec.ts
│   │   └── unary.ts
│   ├── index.ts
│   ├── map/
│   │   ├── countBy.spec.ts
│   │   ├── countBy.ts
│   │   ├── every.spec.ts
│   │   ├── every.ts
│   │   ├── filter.spec.ts
│   │   ├── filter.ts
│   │   ├── findKey.spec.ts
│   │   ├── findKey.ts
│   │   ├── findValue.spec.ts
│   │   ├── findValue.ts
│   │   ├── forEach.spec.ts
│   │   ├── forEach.ts
│   │   ├── hasValue.spec.ts
│   │   ├── hasValue.ts
│   │   ├── index.ts
│   │   ├── keyBy.spec.ts
│   │   ├── keyBy.ts
│   │   ├── mapKeys.spec.ts
│   │   ├── mapKeys.ts
│   │   ├── mapValues.spec.ts
│   │   ├── mapValues.ts
│   │   ├── reduce.spec.ts
│   │   ├── reduce.ts
│   │   ├── some.spec.ts
│   │   └── some.ts
│   ├── math/
│   │   ├── clamp.spec.ts
│   │   ├── clamp.ts
│   │   ├── inRange.spec.ts
│   │   ├── inRange.ts
│   │   ├── index.ts
│   │   ├── mean.spec.ts
│   │   ├── mean.ts
│   │   ├── meanBy.spec.ts
│   │   ├── meanBy.ts
│   │   ├── median.spec.ts
│   │   ├── median.ts
│   │   ├── medianBy.spec.ts
│   │   ├── medianBy.ts
│   │   ├── random.spec.ts
│   │   ├── random.ts
│   │   ├── randomInt.spec.ts
│   │   ├── randomInt.ts
│   │   ├── range.spec.ts
│   │   ├── range.ts
│   │   ├── rangeRight.spec.ts
│   │   ├── rangeRight.ts
│   │   ├── round.spec.ts
│   │   ├── round.ts
│   │   ├── sum.spec.ts
│   │   ├── sum.ts
│   │   ├── sumBy.spec.ts
│   │   └── sumBy.ts
│   ├── object/
│   │   ├── clone.spec.ts
│   │   ├── clone.ts
│   │   ├── cloneDeep.dom.spec.ts
│   │   ├── cloneDeep.spec.ts
│   │   ├── cloneDeep.ts
│   │   ├── cloneDeepWith.spec.ts
│   │   ├── cloneDeepWith.ts
│   │   ├── findKey.spec.ts
│   │   ├── findKey.ts
│   │   ├── flattenObject.spec.ts
│   │   ├── flattenObject.ts
│   │   ├── index.ts
│   │   ├── invert.spec.ts
│   │   ├── invert.ts
│   │   ├── mapKeys.spec.ts
│   │   ├── mapKeys.ts
│   │   ├── mapValues.spec.ts
│   │   ├── mapValues.ts
│   │   ├── merge.spec.ts
│   │   ├── merge.ts
│   │   ├── mergeWith.spec.ts
│   │   ├── mergeWith.ts
│   │   ├── omit.spec.ts
│   │   ├── omit.ts
│   │   ├── omitBy.spec.ts
│   │   ├── omitBy.ts
│   │   ├── pick.spec.ts
│   │   ├── pick.ts
│   │   ├── pickBy.spec.ts
│   │   ├── pickBy.ts
│   │   ├── toCamelCaseKeys.spec.ts
│   │   ├── toCamelCaseKeys.ts
│   │   ├── toMerged.spec.ts
│   │   ├── toMerged.ts
│   │   ├── toSnakeCaseKeys.spec.ts
│   │   └── toSnakeCaseKeys.ts
│   ├── predicate/
│   │   ├── index.ts
│   │   ├── isArrayBuffer.spec.ts
│   │   ├── isArrayBuffer.ts
│   │   ├── isBlob.spec.ts
│   │   ├── isBlob.ts
│   │   ├── isBoolean.spec.ts
│   │   ├── isBoolean.ts
│   │   ├── isBrowser.spec.ts
│   │   ├── isBrowser.ts
│   │   ├── isBuffer.spec.ts
│   │   ├── isBuffer.ts
│   │   ├── isDate.spec.ts
│   │   ├── isDate.ts
│   │   ├── isEmptyObject.spec.ts
│   │   ├── isEmptyObject.ts
│   │   ├── isEqual.spec.ts
│   │   ├── isEqual.ts
│   │   ├── isEqualWith.spec.ts
│   │   ├── isEqualWith.ts
│   │   ├── isError.spec.ts
│   │   ├── isError.ts
│   │   ├── isFile.spec.ts
│   │   ├── isFile.ts
│   │   ├── isFunction.spec.ts
│   │   ├── isFunction.ts
│   │   ├── isJSON.spec.ts
│   │   ├── isJSON.ts
│   │   ├── isJSONValue.spec.ts
│   │   ├── isJSONValue.ts
│   │   ├── isLength.spec.ts
│   │   ├── isLength.ts
│   │   ├── isMap.spec.ts
│   │   ├── isMap.ts
│   │   ├── isNil.spec.ts
│   │   ├── isNil.ts
│   │   ├── isNode.spec.ts
│   │   ├── isNode.ts
│   │   ├── isNotNil.spec.ts
│   │   ├── isNotNil.ts
│   │   ├── isNull.spec.ts
│   │   ├── isNull.ts
│   │   ├── isNumber.spec.ts
│   │   ├── isNumber.ts
│   │   ├── isPlainObject.spec.ts
│   │   ├── isPlainObject.ts
│   │   ├── isPrimitive.spec.ts
│   │   ├── isPrimitive.ts
│   │   ├── isPromise.spec.ts
│   │   ├── isPromise.ts
│   │   ├── isRegExp.spec.ts
│   │   ├── isRegExp.ts
│   │   ├── isSet.spec.ts
│   │   ├── isSet.ts
│   │   ├── isString.spec.ts
│   │   ├── isString.ts
│   │   ├── isSymbol.spec.ts
│   │   ├── isSymbol.ts
│   │   ├── isTypedArray.spec.ts
│   │   ├── isTypedArray.ts
│   │   ├── isUndefined.spec.ts
│   │   ├── isUndefined.ts
│   │   ├── isWeakMap.spec.ts
│   │   ├── isWeakMap.ts
│   │   ├── isWeakSet.spec.ts
│   │   └── isWeakSet.ts
│   ├── promise/
│   │   ├── delay.spec.ts
│   │   ├── delay.ts
│   │   ├── index.ts
│   │   ├── mutex.spec.ts
│   │   ├── mutex.ts
│   │   ├── semaphore.spec.ts
│   │   ├── semaphore.ts
│   │   ├── timeout.spec.ts
│   │   ├── timeout.ts
│   │   ├── withTimeout.spec.ts
│   │   └── withTimeout.ts
│   ├── set/
│   │   ├── countBy.spec.ts
│   │   ├── countBy.ts
│   │   ├── every.spec.ts
│   │   ├── every.ts
│   │   ├── filter.spec.ts
│   │   ├── filter.ts
│   │   ├── find.spec.ts
│   │   ├── find.ts
│   │   ├── forEach.spec.ts
│   │   ├── forEach.ts
│   │   ├── index.ts
│   │   ├── keyBy.spec.ts
│   │   ├── keyBy.ts
│   │   ├── map.spec.ts
│   │   ├── map.ts
│   │   ├── reduce.spec.ts
│   │   ├── reduce.ts
│   │   ├── some.spec.ts
│   │   └── some.ts
│   ├── string/
│   │   ├── camelCase.spec.ts
│   │   ├── camelCase.ts
│   │   ├── capitalize.spec.ts
│   │   ├── capitalize.ts
│   │   ├── constantCase.spec.ts
│   │   ├── constantCase.ts
│   │   ├── deburr.spec.ts
│   │   ├── deburr.ts
│   │   ├── escape.spec.ts
│   │   ├── escape.ts
│   │   ├── escapeRegExp.spec.ts
│   │   ├── escapeRegExp.ts
│   │   ├── index.ts
│   │   ├── kebabCase.spec.ts
│   │   ├── kebabCase.ts
│   │   ├── lowerCase.spec.ts
│   │   ├── lowerCase.ts
│   │   ├── lowerFirst.spec.ts
│   │   ├── lowerFirst.ts
│   │   ├── pad.spec.ts
│   │   ├── pad.ts
│   │   ├── pascalCase.spec.ts
│   │   ├── pascalCase.ts
│   │   ├── reverseString.spec.ts
│   │   ├── reverseString.ts
│   │   ├── snakeCase.spec.ts
│   │   ├── snakeCase.ts
│   │   ├── startCase.spec.ts
│   │   ├── startCase.ts
│   │   ├── trim.spec.ts
│   │   ├── trim.ts
│   │   ├── trimEnd.spec.ts
│   │   ├── trimEnd.ts
│   │   ├── trimStart.spec.ts
│   │   ├── trimStart.ts
│   │   ├── unescape.spec.ts
│   │   ├── unescape.ts
│   │   ├── upperCase.spec.ts
│   │   ├── upperCase.ts
│   │   ├── upperFirst.spec.ts
│   │   ├── upperFirst.ts
│   │   ├── words.spec.ts
│   │   └── words.ts
│   └── util/
│       ├── attempt.spec.ts
│       ├── attempt.ts
│       ├── attemptAsync.spec.ts
│       ├── attemptAsync.ts
│       ├── index.ts
│       ├── invariant.spec.ts
│       └── invariant.ts
├── tests/
│   ├── __proto__.spec.ts
│   ├── check-dist.spec.ts
│   └── utils/
│       ├── createPackageTarball.ts
│       ├── createTmpDir.ts
│       ├── parseTar.ts
│       └── streamToBuffer.ts
├── tsconfig.json
└── vitest.config.mts
Download .txt
Showing preview only (728K chars total). Download the full file or copy to clipboard to get everything.
SYMBOL INDEX (7497 symbols across 721 files)

FILE: .scripts/docs/formatters/class.ts
  function formatClassDoc (line 7) | function formatClassDoc(node: DocNodeClass, options: FormatOption = {}):...

FILE: .scripts/docs/formatters/function.ts
  function formatFunctionDoc (line 7) | function formatFunctionDoc(node: DocNodeFunction, options: FormatOption ...

FILE: .scripts/docs/formatters/helpers/readonly.ts
  function formatReadonly (line 3) | function formatReadonly(node: { readonly?: boolean | '+' | '-' }, option...

FILE: .scripts/docs/formatters/nodes/call-signature.ts
  function formatCallSignatureDef (line 6) | function formatCallSignatureDef(node: LiteralCallSignatureDef, options: ...

FILE: .scripts/docs/formatters/nodes/decorator.ts
  function formatDecorator (line 5) | function formatDecorator(node: DecoratorDef, _: FormatOption) {

FILE: .scripts/docs/formatters/nodes/index-signature.ts
  function formatIndexSignatureDef (line 7) | function formatIndexSignatureDef(node: LiteralIndexSignatureDef, options...

FILE: .scripts/docs/formatters/nodes/method.ts
  function formatMethodDef (line 6) | function formatMethodDef(node: LiteralMethodDef, options: FormatOption) {

FILE: .scripts/docs/formatters/nodes/object-pat-prop.ts
  function formatObjectPatProp (line 4) | function formatObjectPatProp(node: ObjectPatPropDef) {

FILE: .scripts/docs/formatters/nodes/param.ts
  function formatParam (line 6) | function formatParam(node: ParamDef, options: FormatOption): string {

FILE: .scripts/docs/formatters/nodes/property.ts
  function formatPropertyDef (line 6) | function formatPropertyDef(node: LiteralPropertyDef, options: FormatOpti...

FILE: .scripts/docs/formatters/nodes/type-param.ts
  function formatTypeParam (line 5) | function formatTypeParam(node: TsTypeParamDef, options: FormatOption) {

FILE: .scripts/docs/formatters/nodes/type.ts
  function formatType (line 11) | function formatType(node: TsTypeDef, options: FormatOption): string {

FILE: .scripts/docs/formatters/options.ts
  type FormatOption (line 1) | interface FormatOption {

FILE: .scripts/docs/operations/render/en.ts
  function render (line 4) | function render(item: DocumentationItem, options: RenderOptions = {}) {
  function title (line 10) | function title(name: string) {
  function compatNotice (line 14) | function compatNotice(options: RenderOptions) {
  function signature (line 28) | function signature(item: DocumentationItem) {
  function symbolInterface (line 32) | function symbolInterface(item: DocumentationItem): string {
  function parameters (line 40) | function parameters(item: DocumentationItem) {
  function returns (line 52) | function returns(item: DocumentationItem) {
  function examples (line 72) | function examples(item: DocumentationItem) {

FILE: .scripts/docs/operations/render/ja.ts
  function render (line 4) | function render(item: DocumentationItem, options: RenderOptions = {}) {
  function title (line 10) | function title(name: string) {
  function compatNotice (line 14) | function compatNotice(options: RenderOptions) {
  function signature (line 28) | function signature(item: DocumentationItem) {
  function symbolInterface (line 34) | function symbolInterface(item: DocumentationItem): string {
  function parameters (line 42) | function parameters(item: DocumentationItem) {
  function returns (line 54) | function returns(item: DocumentationItem) {
  function examples (line 66) | function examples(item: DocumentationItem) {

FILE: .scripts/docs/operations/render/ko.ts
  function render (line 4) | function render(item: DocumentationItem, options: RenderOptions = {}) {
  function title (line 10) | function title(name: string) {
  function compatNotice (line 14) | function compatNotice(options: RenderOptions) {
  function signature (line 28) | function signature(item: DocumentationItem) {
  function symbolInterface (line 32) | function symbolInterface(item: DocumentationItem): string {
  function parameters (line 40) | function parameters(item: DocumentationItem) {
  function returns (line 52) | function returns(item: DocumentationItem) {
  function examples (line 64) | function examples(item: DocumentationItem) {

FILE: .scripts/docs/operations/render/types.ts
  type RenderOptions (line 1) | interface RenderOptions {

FILE: .scripts/docs/operations/render/zh_hans.ts
  function render (line 4) | function render(item: DocumentationItem, options: RenderOptions = {}) {
  function title (line 10) | function title(name: string) {
  function compatNotice (line 14) | function compatNotice(options: RenderOptions) {
  function signature (line 28) | function signature(item: DocumentationItem) {
  function symbolInterface (line 32) | function symbolInterface(item: DocumentationItem): string {
  function parameters (line 40) | function parameters(item: DocumentationItem) {
  function returns (line 52) | function returns(item: DocumentationItem) {
  function examples (line 64) | function examples(item: DocumentationItem) {

FILE: .scripts/docs/operations/toDocumentationItem.ts
  function toDocumentationItem (line 6) | function toDocumentationItem(symbolName: string, docs: DocNode[]): Docum...
  function toSignature (line 28) | function toSignature(symbolName: string, docs: DocNode[]) {
  function toFunctionSignature (line 45) | function toFunctionSignature(symbolName: string, docs: DocNode[]) {
  function toClassSignature (line 57) | function toClassSignature(symbolName: string, docs: DocNode[]) {
  function toParameters (line 69) | function toParameters(symbolName: string, tags: JsDocTag[]): Documentati...
  function toReturns (line 97) | function toReturns(symbolName: string, tags: JsDocTag[]): DocumentationI...
  function toExampleCodes (line 114) | function toExampleCodes(tags: JsDocTag[]) {

FILE: .scripts/docs/operations/translate.ts
  type TranslateOptions (line 6) | interface TranslateOptions {
  function translate (line 10) | async function translate(

FILE: .scripts/docs/types/DocumentationItem.ts
  type DocumentationItem (line 1) | interface DocumentationItem {

FILE: .scripts/docs/types/Locale.ts
  type Locale (line 1) | type Locale = 'en' | 'ko' | 'ja' | 'zh_hans';

FILE: .scripts/generate-bundle-size.mjs
  constant ROOT (line 9) | const ROOT = path.resolve(path.dirname(filename), '..');
  constant OUT_JSON (line 10) | const OUT_JSON = path.join(ROOT, 'docs', 'data', 'bundle-size.json');
  function getSize (line 12) | async function getSize(pkg, funcName) {
  function main (line 31) | async function main() {

FILE: .scripts/tests/_internal/formatter/brokenSyntax.ts
  function fixExpectFunction (line 1) | function fixExpectFunction(source: string): string {
  function formatBrokenSyntax (line 43) | function formatBrokenSyntax(source: string): string {

FILE: .scripts/tests/_internal/transform/assert.ts
  function transformAssert (line 3) | function transformAssert(root: Collection, jscodeshift: JSCodeshift): vo...

FILE: .scripts/tests/_internal/transform/import.ts
  function transformImport (line 3) | function transformImport(root: Collection, jscodeshift: JSCodeshift): vo...

FILE: .scripts/tests/_internal/transform/lodashStable.ts
  function transformLodashStable (line 3) | function transformLodashStable(root: Collection, jscodeshift: JSCodeshif...

FILE: .scripts/tests/transform-lodash-test.ts
  function transform (line 7) | function transform(file: FileInfo, { jscodeshift }: API) {

FILE: .yarn/releases/yarn-4.12.0.cjs
  function Cc (line 4) | function Cc(t,e){return Object.assign(new Error(`${t}: ${e}`),{code:t})}
  function NGe (line 4) | function NGe(t){return Cc("EBUSY",t)}
  function OGe (line 4) | function OGe(t,e){return Cc("ENOSYS",`${t}, ${e}`)}
  function LGe (line 4) | function LGe(t){return Cc("EINVAL",`invalid argument, ${t}`)}
  function Mo (line 4) | function Mo(t){return Cc("EBADF",`bad file descriptor, ${t}`)}
  function MGe (line 4) | function MGe(t){return Cc("ENOENT",`no such file or directory, ${t}`)}
  function UGe (line 4) | function UGe(t){return Cc("ENOTDIR",`not a directory, ${t}`)}
  function _Ge (line 4) | function _Ge(t){return Cc("EISDIR",`illegal operation on a directory, ${...
  function HGe (line 4) | function HGe(t){return Cc("EEXIST",`file already exists, ${t}`)}
  function jGe (line 4) | function jGe(t){return Cc("EROFS",`read-only filesystem, ${t}`)}
  function GGe (line 4) | function GGe(t){return Cc("ENOTEMPTY",`directory not empty, ${t}`)}
  function qGe (line 4) | function qGe(t){return Cc("EOPNOTSUPP",`operation not supported, ${t}`)}
  function yU (line 4) | function yU(){return Cc("ERR_DIR_CLOSED","Directory handle was closed")}
  function VZ (line 4) | function VZ(){return new nE}
  function WGe (line 4) | function WGe(){return XP(VZ())}
  function XP (line 4) | function XP(t){for(let e in t)if(Object.hasOwn(t,e)){let r=t[e];typeof r...
  function YGe (line 4) | function YGe(t){let e=new iE;for(let r in t)if(Object.hasOwn(t,r)){let s...
  function wU (line 4) | function wU(t,e){if(t.atimeMs!==e.atimeMs||t.birthtimeMs!==e.birthtimeMs...
  method constructor (line 4) | constructor(){this.name="";this.path="";this.mode=0}
  method isBlockDevice (line 4) | isBlockDevice(){return!1}
  method isCharacterDevice (line 4) | isCharacterDevice(){return!1}
  method isDirectory (line 4) | isDirectory(){return(this.mode&61440)===16384}
  method isFIFO (line 4) | isFIFO(){return!1}
  method isFile (line 4) | isFile(){return(this.mode&61440)===32768}
  method isSocket (line 4) | isSocket(){return!1}
  method isSymbolicLink (line 4) | isSymbolicLink(){return(this.mode&61440)===40960}
  method constructor (line 4) | constructor(){this.uid=0;this.gid=0;this.size=0;this.blksize=0;this.atim...
  method isBlockDevice (line 4) | isBlockDevice(){return!1}
  method isCharacterDevice (line 4) | isCharacterDevice(){return!1}
  method isDirectory (line 4) | isDirectory(){return(this.mode&61440)===16384}
  method isFIFO (line 4) | isFIFO(){return!1}
  method isFile (line 4) | isFile(){return(this.mode&61440)===32768}
  method isSocket (line 4) | isSocket(){return!1}
  method isSymbolicLink (line 4) | isSymbolicLink(){return(this.mode&61440)===40960}
  method constructor (line 4) | constructor(){this.uid=BigInt(0);this.gid=BigInt(0);this.size=BigInt(0);...
  method isBlockDevice (line 4) | isBlockDevice(){return!1}
  method isCharacterDevice (line 4) | isCharacterDevice(){return!1}
  method isDirectory (line 4) | isDirectory(){return(this.mode&BigInt(61440))===BigInt(16384)}
  method isFIFO (line 4) | isFIFO(){return!1}
  method isFile (line 4) | isFile(){return(this.mode&BigInt(61440))===BigInt(32768)}
  method isSocket (line 4) | isSocket(){return!1}
  method isSymbolicLink (line 4) | isSymbolicLink(){return(this.mode&BigInt(61440))===BigInt(40960)}
  function XGe (line 4) | function XGe(t){let e,r;if(e=t.match(KGe))t=e[1];else if(r=t.match(zGe))...
  function ZGe (line 4) | function ZGe(t){t=t.replace(/\\/g,"/");let e,r;return(e=t.match(VGe))?t=...
  function ZP (line 4) | function ZP(t,e){return t===fe?KZ(e):vU(e)}
  function $P (line 4) | async function $P(t,e){let r="0123456789abcdef";await t.mkdirPromise(e.i...
  function zZ (line 4) | async function zZ(t,e,r,s,a){let n=t.pathUtils.normalize(e),c=r.pathUtil...
  function SU (line 4) | async function SU(t,e,r,s,a,n,c){let f=c.didParentExist?await XZ(r,s):nu...
  function XZ (line 4) | async function XZ(t,e){try{return await t.lstatPromise(e)}catch{return n...
  function e5e (line 4) | async function e5e(t,e,r,s,a,n,c,f,p){if(a!==null&&!a.isDirectory())if(p...
  function t5e (line 4) | async function t5e(t,e,r,s,a,n,c,f,p,h){let E=await n.checksumFilePromis...
  function r5e (line 4) | async function r5e(t,e,r,s,a,n,c,f,p){if(a!==null)if(p.overwrite)t.push(...
  function n5e (line 4) | async function n5e(t,e,r,s,a,n,c,f,p){return p.linkStrategy?.type==="Har...
  function i5e (line 4) | async function i5e(t,e,r,s,a,n,c,f,p){if(a!==null)if(p.overwrite)t.push(...
  function ex (line 4) | function ex(t,e,r,s){let a=()=>{let n=r.shift();if(typeof n>"u")return n...
  method constructor (line 4) | constructor(e,r,s={}){this.path=e;this.nextDirent=r;this.opts=s;this.clo...
  method throwIfClosed (line 4) | throwIfClosed(){if(this.closed)throw yU()}
  method [Symbol.asyncIterator] (line 4) | async*[Symbol.asyncIterator](){try{let e;for(;(e=await this.read())!==nu...
  method read (line 4) | read(e){let r=this.readSync();return typeof e<"u"?e(null,r):Promise.reso...
  method readSync (line 4) | readSync(){return this.throwIfClosed(),this.nextDirent()}
  method close (line 4) | close(e){return this.closeSync(),typeof e<"u"?e(null):Promise.resolve()}
  method closeSync (line 4) | closeSync(){this.throwIfClosed(),this.opts.onClose?.(),this.closed=!0}
  function $Z (line 4) | function $Z(t,e){if(t!==e)throw new Error(`Invalid StatWatcher status: e...
  method constructor (line 4) | constructor(r,s,{bigint:a=!1}={}){super();this.status="ready";this.chang...
  method create (line 4) | static create(r,s,a){let n=new t(r,s,a);return n.start(),n}
  method start (line 4) | start(){$Z(this.status,"ready"),this.status="running",this.startTimeout=...
  method stop (line 4) | stop(){$Z(this.status,"running"),this.status="stopped",this.startTimeout...
  method stat (line 4) | stat(){try{return this.fakeFs.statSync(this.path,{bigint:this.bigint})}c...
  method makeInterval (line 4) | makeInterval(r){let s=setInterval(()=>{let a=this.stat(),n=this.lastStat...
  method registerChangeListener (line 4) | registerChangeListener(r,s){this.addListener("change",r),this.changeList...
  method unregisterChangeListener (line 4) | unregisterChangeListener(r){this.removeListener("change",r);let s=this.c...
  method unregisterAllChangeListeners (line 4) | unregisterAllChangeListeners(){for(let r of this.changeListeners.keys())...
  method hasChangeListeners (line 4) | hasChangeListeners(){return this.changeListeners.size>0}
  method ref (line 4) | ref(){for(let r of this.changeListeners.values())r.ref();return this}
  method unref (line 4) | unref(){for(let r of this.changeListeners.values())r.unref();return this}
  function sE (line 4) | function sE(t,e,r,s){let a,n,c,f;switch(typeof r){case"function":a=!1,n=...
  function md (line 4) | function md(t,e,r){let s=rx.get(t);if(typeof s>"u")return;let a=s.get(e)...
  function yd (line 4) | function yd(t){let e=rx.get(t);if(!(typeof e>"u"))for(let r of e.keys())...
  function s5e (line 4) | function s5e(t){let e=t.match(/\r?\n/g);if(e===null)return n$.EOL;let r=...
  function Ed (line 7) | function Ed(t,e){return e.replace(/\r?\n/g,s5e(t))}
  method constructor (line 7) | constructor(e){this.pathUtils=e}
  method genTraversePromise (line 7) | async*genTraversePromise(e,{stableSort:r=!1}={}){let s=[e];for(;s.length...
  method checksumFilePromise (line 7) | async checksumFilePromise(e,{algorithm:r="sha512"}={}){let s=await this....
  method removePromise (line 7) | async removePromise(e,{recursive:r=!0,maxRetries:s=5}={}){let a;try{a=aw...
  method removeSync (line 7) | removeSync(e,{recursive:r=!0}={}){let s;try{s=this.lstatSync(e)}catch(a)...
  method mkdirpPromise (line 7) | async mkdirpPromise(e,{chmod:r,utimes:s}={}){if(e=this.resolve(e),e===th...
  method mkdirpSync (line 7) | mkdirpSync(e,{chmod:r,utimes:s}={}){if(e=this.resolve(e),e===this.pathUt...
  method copyPromise (line 7) | async copyPromise(e,r,{baseFs:s=this,overwrite:a=!0,stableSort:n=!1,stab...
  method copySync (line 7) | copySync(e,r,{baseFs:s=this,overwrite:a=!0}={}){let n=s.lstatSync(r),c=t...
  method changeFilePromise (line 7) | async changeFilePromise(e,r,s={}){return Buffer.isBuffer(r)?this.changeF...
  method changeFileBufferPromise (line 7) | async changeFileBufferPromise(e,r,{mode:s}={}){let a=Buffer.alloc(0);try...
  method changeFileTextPromise (line 7) | async changeFileTextPromise(e,r,{automaticNewlines:s,mode:a}={}){let n="...
  method changeFileSync (line 7) | changeFileSync(e,r,s={}){return Buffer.isBuffer(r)?this.changeFileBuffer...
  method changeFileBufferSync (line 7) | changeFileBufferSync(e,r,{mode:s}={}){let a=Buffer.alloc(0);try{a=this.r...
  method changeFileTextSync (line 7) | changeFileTextSync(e,r,{automaticNewlines:s=!1,mode:a}={}){let n="";try{...
  method movePromise (line 7) | async movePromise(e,r){try{await this.renamePromise(e,r)}catch(s){if(s.c...
  method moveSync (line 7) | moveSync(e,r){try{this.renameSync(e,r)}catch(s){if(s.code==="EXDEV")this...
  method lockPromise (line 7) | async lockPromise(e,r){let s=`${e}.flock`,a=1e3/60,n=Date.now(),c=null,f...
  method readJsonPromise (line 7) | async readJsonPromise(e){let r=await this.readFilePromise(e,"utf8");try{...
  method readJsonSync (line 7) | readJsonSync(e){let r=this.readFileSync(e,"utf8");try{return JSON.parse(...
  method writeJsonPromise (line 7) | async writeJsonPromise(e,r,{compact:s=!1}={}){let a=s?0:2;return await t...
  method writeJsonSync (line 8) | writeJsonSync(e,r,{compact:s=!1}={}){let a=s?0:2;return this.writeFileSy...
  method preserveTimePromise (line 9) | async preserveTimePromise(e,r){let s=await this.lstatPromise(e),a=await ...
  method preserveTimeSync (line 9) | async preserveTimeSync(e,r){let s=this.lstatSync(e),a=r();typeof a<"u"&&...
  method constructor (line 9) | constructor(){super(J)}
  method getExtractHint (line 9) | getExtractHint(e){return this.baseFs.getExtractHint(e)}
  method resolve (line 9) | resolve(e){return this.mapFromBase(this.baseFs.resolve(this.mapToBase(e)))}
  method getRealPath (line 9) | getRealPath(){return this.mapFromBase(this.baseFs.getRealPath())}
  method openPromise (line 9) | async openPromise(e,r,s){return this.baseFs.openPromise(this.mapToBase(e...
  method openSync (line 9) | openSync(e,r,s){return this.baseFs.openSync(this.mapToBase(e),r,s)}
  method opendirPromise (line 9) | async opendirPromise(e,r){return Object.assign(await this.baseFs.opendir...
  method opendirSync (line 9) | opendirSync(e,r){return Object.assign(this.baseFs.opendirSync(this.mapTo...
  method readPromise (line 9) | async readPromise(e,r,s,a,n){return await this.baseFs.readPromise(e,r,s,...
  method readSync (line 9) | readSync(e,r,s,a,n){return this.baseFs.readSync(e,r,s,a,n)}
  method writePromise (line 9) | async writePromise(e,r,s,a,n){return typeof r=="string"?await this.baseF...
  method writeSync (line 9) | writeSync(e,r,s,a,n){return typeof r=="string"?this.baseFs.writeSync(e,r...
  method closePromise (line 9) | async closePromise(e){return this.baseFs.closePromise(e)}
  method closeSync (line 9) | closeSync(e){this.baseFs.closeSync(e)}
  method createReadStream (line 9) | createReadStream(e,r){return this.baseFs.createReadStream(e!==null?this....
  method createWriteStream (line 9) | createWriteStream(e,r){return this.baseFs.createWriteStream(e!==null?thi...
  method realpathPromise (line 9) | async realpathPromise(e){return this.mapFromBase(await this.baseFs.realp...
  method realpathSync (line 9) | realpathSync(e){return this.mapFromBase(this.baseFs.realpathSync(this.ma...
  method existsPromise (line 9) | async existsPromise(e){return this.baseFs.existsPromise(this.mapToBase(e))}
  method existsSync (line 9) | existsSync(e){return this.baseFs.existsSync(this.mapToBase(e))}
  method accessSync (line 9) | accessSync(e,r){return this.baseFs.accessSync(this.mapToBase(e),r)}
  method accessPromise (line 9) | async accessPromise(e,r){return this.baseFs.accessPromise(this.mapToBase...
  method statPromise (line 9) | async statPromise(e,r){return this.baseFs.statPromise(this.mapToBase(e),r)}
  method statSync (line 9) | statSync(e,r){return this.baseFs.statSync(this.mapToBase(e),r)}
  method fstatPromise (line 9) | async fstatPromise(e,r){return this.baseFs.fstatPromise(e,r)}
  method fstatSync (line 9) | fstatSync(e,r){return this.baseFs.fstatSync(e,r)}
  method lstatPromise (line 9) | lstatPromise(e,r){return this.baseFs.lstatPromise(this.mapToBase(e),r)}
  method lstatSync (line 9) | lstatSync(e,r){return this.baseFs.lstatSync(this.mapToBase(e),r)}
  method fchmodPromise (line 9) | async fchmodPromise(e,r){return this.baseFs.fchmodPromise(e,r)}
  method fchmodSync (line 9) | fchmodSync(e,r){return this.baseFs.fchmodSync(e,r)}
  method chmodPromise (line 9) | async chmodPromise(e,r){return this.baseFs.chmodPromise(this.mapToBase(e...
  method chmodSync (line 9) | chmodSync(e,r){return this.baseFs.chmodSync(this.mapToBase(e),r)}
  method fchownPromise (line 9) | async fchownPromise(e,r,s){return this.baseFs.fchownPromise(e,r,s)}
  method fchownSync (line 9) | fchownSync(e,r,s){return this.baseFs.fchownSync(e,r,s)}
  method chownPromise (line 9) | async chownPromise(e,r,s){return this.baseFs.chownPromise(this.mapToBase...
  method chownSync (line 9) | chownSync(e,r,s){return this.baseFs.chownSync(this.mapToBase(e),r,s)}
  method renamePromise (line 9) | async renamePromise(e,r){return this.baseFs.renamePromise(this.mapToBase...
  method renameSync (line 9) | renameSync(e,r){return this.baseFs.renameSync(this.mapToBase(e),this.map...
  method copyFilePromise (line 9) | async copyFilePromise(e,r,s=0){return this.baseFs.copyFilePromise(this.m...
  method copyFileSync (line 9) | copyFileSync(e,r,s=0){return this.baseFs.copyFileSync(this.mapToBase(e),...
  method appendFilePromise (line 9) | async appendFilePromise(e,r,s){return this.baseFs.appendFilePromise(this...
  method appendFileSync (line 9) | appendFileSync(e,r,s){return this.baseFs.appendFileSync(this.fsMapToBase...
  method writeFilePromise (line 9) | async writeFilePromise(e,r,s){return this.baseFs.writeFilePromise(this.f...
  method writeFileSync (line 9) | writeFileSync(e,r,s){return this.baseFs.writeFileSync(this.fsMapToBase(e...
  method unlinkPromise (line 9) | async unlinkPromise(e){return this.baseFs.unlinkPromise(this.mapToBase(e))}
  method unlinkSync (line 9) | unlinkSync(e){return this.baseFs.unlinkSync(this.mapToBase(e))}
  method utimesPromise (line 9) | async utimesPromise(e,r,s){return this.baseFs.utimesPromise(this.mapToBa...
  method utimesSync (line 9) | utimesSync(e,r,s){return this.baseFs.utimesSync(this.mapToBase(e),r,s)}
  method lutimesPromise (line 9) | async lutimesPromise(e,r,s){return this.baseFs.lutimesPromise(this.mapTo...
  method lutimesSync (line 9) | lutimesSync(e,r,s){return this.baseFs.lutimesSync(this.mapToBase(e),r,s)}
  method mkdirPromise (line 9) | async mkdirPromise(e,r){return this.baseFs.mkdirPromise(this.mapToBase(e...
  method mkdirSync (line 9) | mkdirSync(e,r){return this.baseFs.mkdirSync(this.mapToBase(e),r)}
  method rmdirPromise (line 9) | async rmdirPromise(e,r){return this.baseFs.rmdirPromise(this.mapToBase(e...
  method rmdirSync (line 9) | rmdirSync(e,r){return this.baseFs.rmdirSync(this.mapToBase(e),r)}
  method rmPromise (line 9) | async rmPromise(e,r){return this.baseFs.rmPromise(this.mapToBase(e),r)}
  method rmSync (line 9) | rmSync(e,r){return this.baseFs.rmSync(this.mapToBase(e),r)}
  method linkPromise (line 9) | async linkPromise(e,r){return this.baseFs.linkPromise(this.mapToBase(e),...
  method linkSync (line 9) | linkSync(e,r){return this.baseFs.linkSync(this.mapToBase(e),this.mapToBa...
  method symlinkPromise (line 9) | async symlinkPromise(e,r,s){let a=this.mapToBase(r);if(this.pathUtils.is...
  method symlinkSync (line 9) | symlinkSync(e,r,s){let a=this.mapToBase(r);if(this.pathUtils.isAbsolute(...
  method readFilePromise (line 9) | async readFilePromise(e,r){return this.baseFs.readFilePromise(this.fsMap...
  method readFileSync (line 9) | readFileSync(e,r){return this.baseFs.readFileSync(this.fsMapToBase(e),r)}
  method readdirPromise (line 9) | readdirPromise(e,r){return this.baseFs.readdirPromise(this.mapToBase(e),r)}
  method readdirSync (line 9) | readdirSync(e,r){return this.baseFs.readdirSync(this.mapToBase(e),r)}
  method readlinkPromise (line 9) | async readlinkPromise(e){return this.mapFromBase(await this.baseFs.readl...
  method readlinkSync (line 9) | readlinkSync(e){return this.mapFromBase(this.baseFs.readlinkSync(this.ma...
  method truncatePromise (line 9) | async truncatePromise(e,r){return this.baseFs.truncatePromise(this.mapTo...
  method truncateSync (line 9) | truncateSync(e,r){return this.baseFs.truncateSync(this.mapToBase(e),r)}
  method ftruncatePromise (line 9) | async ftruncatePromise(e,r){return this.baseFs.ftruncatePromise(e,r)}
  method ftruncateSync (line 9) | ftruncateSync(e,r){return this.baseFs.ftruncateSync(e,r)}
  method watch (line 9) | watch(e,r,s){return this.baseFs.watch(this.mapToBase(e),r,s)}
  method watchFile (line 9) | watchFile(e,r,s){return this.baseFs.watchFile(this.mapToBase(e),r,s)}
  method unwatchFile (line 9) | unwatchFile(e,r){return this.baseFs.unwatchFile(this.mapToBase(e),r)}
  method fsMapToBase (line 9) | fsMapToBase(e){return typeof e=="number"?e:this.mapToBase(e)}
  method constructor (line 9) | constructor(e,{baseFs:r,pathUtils:s}){super(s),this.target=e,this.baseFs=r}
  method getRealPath (line 9) | getRealPath(){return this.target}
  method getBaseFs (line 9) | getBaseFs(){return this.baseFs}
  method mapFromBase (line 9) | mapFromBase(e){return e}
  method mapToBase (line 9) | mapToBase(e){return e}
  function s$ (line 9) | function s$(t){let e=t;return typeof t.path=="string"&&(e.path=fe.toPort...
  method constructor (line 9) | constructor(e=o$.default){super(),this.realFs=e}
  method getExtractHint (line 9) | getExtractHint(){return!1}
  method getRealPath (line 9) | getRealPath(){return vt.root}
  method resolve (line 9) | resolve(e){return J.resolve(e)}
  method openPromise (line 9) | async openPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.op...
  method openSync (line 9) | openSync(e,r,s){return this.realFs.openSync(fe.fromPortablePath(e),r,s)}
  method opendirPromise (line 9) | async opendirPromise(e,r){return await new Promise((s,a)=>{typeof r<"u"?...
  method opendirSync (line 9) | opendirSync(e,r){let a=typeof r<"u"?this.realFs.opendirSync(fe.fromPorta...
  method readPromise (line 9) | async readPromise(e,r,s=0,a=0,n=-1){return await new Promise((c,f)=>{thi...
  method readSync (line 9) | readSync(e,r,s,a,n){return this.realFs.readSync(e,r,s,a,n)}
  method writePromise (line 9) | async writePromise(e,r,s,a,n){return await new Promise((c,f)=>typeof r==...
  method writeSync (line 9) | writeSync(e,r,s,a,n){return typeof r=="string"?this.realFs.writeSync(e,r...
  method closePromise (line 9) | async closePromise(e){await new Promise((r,s)=>{this.realFs.close(e,this...
  method closeSync (line 9) | closeSync(e){this.realFs.closeSync(e)}
  method createReadStream (line 9) | createReadStream(e,r){let s=e!==null?fe.fromPortablePath(e):e;return thi...
  method createWriteStream (line 9) | createWriteStream(e,r){let s=e!==null?fe.fromPortablePath(e):e;return th...
  method realpathPromise (line 9) | async realpathPromise(e){return await new Promise((r,s)=>{this.realFs.re...
  method realpathSync (line 9) | realpathSync(e){return fe.toPortablePath(this.realFs.realpathSync(fe.fro...
  method existsPromise (line 9) | async existsPromise(e){return await new Promise(r=>{this.realFs.exists(f...
  method accessSync (line 9) | accessSync(e,r){return this.realFs.accessSync(fe.fromPortablePath(e),r)}
  method accessPromise (line 9) | async accessPromise(e,r){return await new Promise((s,a)=>{this.realFs.ac...
  method existsSync (line 9) | existsSync(e){return this.realFs.existsSync(fe.fromPortablePath(e))}
  method statPromise (line 9) | async statPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.st...
  method statSync (line 9) | statSync(e,r){return r?this.realFs.statSync(fe.fromPortablePath(e),r):th...
  method fstatPromise (line 9) | async fstatPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.f...
  method fstatSync (line 9) | fstatSync(e,r){return r?this.realFs.fstatSync(e,r):this.realFs.fstatSync...
  method lstatPromise (line 9) | async lstatPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.l...
  method lstatSync (line 9) | lstatSync(e,r){return r?this.realFs.lstatSync(fe.fromPortablePath(e),r):...
  method fchmodPromise (line 9) | async fchmodPromise(e,r){return await new Promise((s,a)=>{this.realFs.fc...
  method fchmodSync (line 9) | fchmodSync(e,r){return this.realFs.fchmodSync(e,r)}
  method chmodPromise (line 9) | async chmodPromise(e,r){return await new Promise((s,a)=>{this.realFs.chm...
  method chmodSync (line 9) | chmodSync(e,r){return this.realFs.chmodSync(fe.fromPortablePath(e),r)}
  method fchownPromise (line 9) | async fchownPromise(e,r,s){return await new Promise((a,n)=>{this.realFs....
  method fchownSync (line 9) | fchownSync(e,r,s){return this.realFs.fchownSync(e,r,s)}
  method chownPromise (line 9) | async chownPromise(e,r,s){return await new Promise((a,n)=>{this.realFs.c...
  method chownSync (line 9) | chownSync(e,r,s){return this.realFs.chownSync(fe.fromPortablePath(e),r,s)}
  method renamePromise (line 9) | async renamePromise(e,r){return await new Promise((s,a)=>{this.realFs.re...
  method renameSync (line 9) | renameSync(e,r){return this.realFs.renameSync(fe.fromPortablePath(e),fe....
  method copyFilePromise (line 9) | async copyFilePromise(e,r,s=0){return await new Promise((a,n)=>{this.rea...
  method copyFileSync (line 9) | copyFileSync(e,r,s=0){return this.realFs.copyFileSync(fe.fromPortablePat...
  method appendFilePromise (line 9) | async appendFilePromise(e,r,s){return await new Promise((a,n)=>{let c=ty...
  method appendFileSync (line 9) | appendFileSync(e,r,s){let a=typeof e=="string"?fe.fromPortablePath(e):e;...
  method writeFilePromise (line 9) | async writeFilePromise(e,r,s){return await new Promise((a,n)=>{let c=typ...
  method writeFileSync (line 9) | writeFileSync(e,r,s){let a=typeof e=="string"?fe.fromPortablePath(e):e;s...
  method unlinkPromise (line 9) | async unlinkPromise(e){return await new Promise((r,s)=>{this.realFs.unli...
  method unlinkSync (line 9) | unlinkSync(e){return this.realFs.unlinkSync(fe.fromPortablePath(e))}
  method utimesPromise (line 9) | async utimesPromise(e,r,s){return await new Promise((a,n)=>{this.realFs....
  method utimesSync (line 9) | utimesSync(e,r,s){this.realFs.utimesSync(fe.fromPortablePath(e),r,s)}
  method lutimesPromise (line 9) | async lutimesPromise(e,r,s){return await new Promise((a,n)=>{this.realFs...
  method lutimesSync (line 9) | lutimesSync(e,r,s){this.realFs.lutimesSync(fe.fromPortablePath(e),r,s)}
  method mkdirPromise (line 9) | async mkdirPromise(e,r){return await new Promise((s,a)=>{this.realFs.mkd...
  method mkdirSync (line 9) | mkdirSync(e,r){return this.realFs.mkdirSync(fe.fromPortablePath(e),r)}
  method rmdirPromise (line 9) | async rmdirPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.r...
  method rmdirSync (line 9) | rmdirSync(e,r){return this.realFs.rmdirSync(fe.fromPortablePath(e),r)}
  method rmPromise (line 9) | async rmPromise(e,r){return await new Promise((s,a)=>{r?this.realFs.rm(f...
  method rmSync (line 9) | rmSync(e,r){return this.realFs.rmSync(fe.fromPortablePath(e),r)}
  method linkPromise (line 9) | async linkPromise(e,r){return await new Promise((s,a)=>{this.realFs.link...
  method linkSync (line 9) | linkSync(e,r){return this.realFs.linkSync(fe.fromPortablePath(e),fe.from...
  method symlinkPromise (line 9) | async symlinkPromise(e,r,s){return await new Promise((a,n)=>{this.realFs...
  method symlinkSync (line 9) | symlinkSync(e,r,s){return this.realFs.symlinkSync(fe.fromPortablePath(e....
  method readFilePromise (line 9) | async readFilePromise(e,r){return await new Promise((s,a)=>{let n=typeof...
  method readFileSync (line 9) | readFileSync(e,r){let s=typeof e=="string"?fe.fromPortablePath(e):e;retu...
  method readdirPromise (line 9) | async readdirPromise(e,r){return await new Promise((s,a)=>{r?r.recursive...
  method readdirSync (line 9) | readdirSync(e,r){return r?r.recursive&&process.platform==="win32"?r.with...
  method readlinkPromise (line 9) | async readlinkPromise(e){return await new Promise((r,s)=>{this.realFs.re...
  method readlinkSync (line 9) | readlinkSync(e){return fe.toPortablePath(this.realFs.readlinkSync(fe.fro...
  method truncatePromise (line 9) | async truncatePromise(e,r){return await new Promise((s,a)=>{this.realFs....
  method truncateSync (line 9) | truncateSync(e,r){return this.realFs.truncateSync(fe.fromPortablePath(e)...
  method ftruncatePromise (line 9) | async ftruncatePromise(e,r){return await new Promise((s,a)=>{this.realFs...
  method ftruncateSync (line 9) | ftruncateSync(e,r){return this.realFs.ftruncateSync(e,r)}
  method watch (line 9) | watch(e,r,s){return this.realFs.watch(fe.fromPortablePath(e),r,s)}
  method watchFile (line 9) | watchFile(e,r,s){return this.realFs.watchFile(fe.fromPortablePath(e),r,s)}
  method unwatchFile (line 9) | unwatchFile(e,r){return this.realFs.unwatchFile(fe.fromPortablePath(e),r)}
  method makeCallback (line 9) | makeCallback(e,r){return(s,a)=>{s?r(s):e(a)}}
  method constructor (line 9) | constructor(e,{baseFs:r=new Yn}={}){super(J),this.target=this.pathUtils....
  method getRealPath (line 9) | getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),th...
  method resolve (line 9) | resolve(e){return this.pathUtils.isAbsolute(e)?J.normalize(e):this.baseF...
  method mapFromBase (line 9) | mapFromBase(e){return e}
  method mapToBase (line 9) | mapToBase(e){return this.pathUtils.isAbsolute(e)?e:this.pathUtils.join(t...
  method constructor (line 9) | constructor(e,{baseFs:r=new Yn}={}){super(J),this.target=this.pathUtils....
  method getRealPath (line 9) | getRealPath(){return this.pathUtils.resolve(this.baseFs.getRealPath(),th...
  method getTarget (line 9) | getTarget(){return this.target}
  method getBaseFs (line 9) | getBaseFs(){return this.baseFs}
  method mapToBase (line 9) | mapToBase(e){let r=this.pathUtils.normalize(e);if(this.pathUtils.isAbsol...
  method mapFromBase (line 9) | mapFromBase(e){return this.pathUtils.resolve(l$,this.pathUtils.relative(...
  method constructor (line 9) | constructor(r,s){super(s);this.instance=null;this.factory=r}
  method baseFs (line 9) | get baseFs(){return this.instance||(this.instance=this.factory()),this.i...
  method baseFs (line 9) | set baseFs(r){this.instance=r}
  method mapFromBase (line 9) | mapFromBase(r){return r}
  method mapToBase (line 9) | mapToBase(r){return r}
  method constructor (line 9) | constructor({baseFs:r=new Yn,filter:s=null,magicByte:a=42,maxOpenFiles:n...
  method getExtractHint (line 9) | getExtractHint(r){return this.baseFs.getExtractHint(r)}
  method getRealPath (line 9) | getRealPath(){return this.baseFs.getRealPath()}
  method saveAndClose (line 9) | saveAndClose(){if(yd(this),this.mountInstances)for(let[r,{childFs:s}]of ...
  method discardAndClose (line 9) | discardAndClose(){if(yd(this),this.mountInstances)for(let[r,{childFs:s}]...
  method resolve (line 9) | resolve(r){return this.baseFs.resolve(r)}
  method remapFd (line 9) | remapFd(r,s){let a=this.nextFd++|this.magic;return this.fdMap.set(a,[r,s...
  method openPromise (line 9) | async openPromise(r,s,a){return await this.makeCallPromise(r,async()=>aw...
  method openSync (line 9) | openSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.openSync(r,s,...
  method opendirPromise (line 9) | async opendirPromise(r,s){return await this.makeCallPromise(r,async()=>a...
  method opendirSync (line 9) | opendirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.opendirSync(...
  method readPromise (line 9) | async readPromise(r,s,a,n,c){if((r&tl)!==this.magic)return await this.ba...
  method readSync (line 9) | readSync(r,s,a,n,c){if((r&tl)!==this.magic)return this.baseFs.readSync(r...
  method writePromise (line 9) | async writePromise(r,s,a,n,c){if((r&tl)!==this.magic)return typeof s=="s...
  method writeSync (line 9) | writeSync(r,s,a,n,c){if((r&tl)!==this.magic)return typeof s=="string"?th...
  method closePromise (line 9) | async closePromise(r){if((r&tl)!==this.magic)return await this.baseFs.cl...
  method closeSync (line 9) | closeSync(r){if((r&tl)!==this.magic)return this.baseFs.closeSync(r);let ...
  method createReadStream (line 9) | createReadStream(r,s){return r===null?this.baseFs.createReadStream(r,s):...
  method createWriteStream (line 9) | createWriteStream(r,s){return r===null?this.baseFs.createWriteStream(r,s...
  method realpathPromise (line 9) | async realpathPromise(r){return await this.makeCallPromise(r,async()=>aw...
  method realpathSync (line 9) | realpathSync(r){return this.makeCallSync(r,()=>this.baseFs.realpathSync(...
  method existsPromise (line 9) | async existsPromise(r){return await this.makeCallPromise(r,async()=>awai...
  method existsSync (line 9) | existsSync(r){return this.makeCallSync(r,()=>this.baseFs.existsSync(r),(...
  method accessPromise (line 9) | async accessPromise(r,s){return await this.makeCallPromise(r,async()=>aw...
  method accessSync (line 9) | accessSync(r,s){return this.makeCallSync(r,()=>this.baseFs.accessSync(r,...
  method statPromise (line 9) | async statPromise(r,s){return await this.makeCallPromise(r,async()=>awai...
  method statSync (line 9) | statSync(r,s){return this.makeCallSync(r,()=>this.baseFs.statSync(r,s),(...
  method fstatPromise (line 9) | async fstatPromise(r,s){if((r&tl)!==this.magic)return this.baseFs.fstatP...
  method fstatSync (line 9) | fstatSync(r,s){if((r&tl)!==this.magic)return this.baseFs.fstatSync(r,s);...
  method lstatPromise (line 9) | async lstatPromise(r,s){return await this.makeCallPromise(r,async()=>awa...
  method lstatSync (line 9) | lstatSync(r,s){return this.makeCallSync(r,()=>this.baseFs.lstatSync(r,s)...
  method fchmodPromise (line 9) | async fchmodPromise(r,s){if((r&tl)!==this.magic)return this.baseFs.fchmo...
  method fchmodSync (line 9) | fchmodSync(r,s){if((r&tl)!==this.magic)return this.baseFs.fchmodSync(r,s...
  method chmodPromise (line 9) | async chmodPromise(r,s){return await this.makeCallPromise(r,async()=>awa...
  method chmodSync (line 9) | chmodSync(r,s){return this.makeCallSync(r,()=>this.baseFs.chmodSync(r,s)...
  method fchownPromise (line 9) | async fchownPromise(r,s,a){if((r&tl)!==this.magic)return this.baseFs.fch...
  method fchownSync (line 9) | fchownSync(r,s,a){if((r&tl)!==this.magic)return this.baseFs.fchownSync(r...
  method chownPromise (line 9) | async chownPromise(r,s,a){return await this.makeCallPromise(r,async()=>a...
  method chownSync (line 9) | chownSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.chownSync(r,...
  method renamePromise (line 9) | async renamePromise(r,s){return await this.makeCallPromise(r,async()=>aw...
  method renameSync (line 9) | renameSync(r,s){return this.makeCallSync(r,()=>this.makeCallSync(s,()=>t...
  method copyFilePromise (line 9) | async copyFilePromise(r,s,a=0){let n=async(c,f,p,h)=>{if(a&wd.constants....
  method copyFileSync (line 9) | copyFileSync(r,s,a=0){let n=(c,f,p,h)=>{if(a&wd.constants.COPYFILE_FICLO...
  method appendFilePromise (line 9) | async appendFilePromise(r,s,a){return await this.makeCallPromise(r,async...
  method appendFileSync (line 9) | appendFileSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.appendF...
  method writeFilePromise (line 9) | async writeFilePromise(r,s,a){return await this.makeCallPromise(r,async(...
  method writeFileSync (line 9) | writeFileSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.writeFil...
  method unlinkPromise (line 9) | async unlinkPromise(r){return await this.makeCallPromise(r,async()=>awai...
  method unlinkSync (line 9) | unlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.unlinkSync(r),(...
  method utimesPromise (line 9) | async utimesPromise(r,s,a){return await this.makeCallPromise(r,async()=>...
  method utimesSync (line 9) | utimesSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.utimesSync(...
  method lutimesPromise (line 9) | async lutimesPromise(r,s,a){return await this.makeCallPromise(r,async()=...
  method lutimesSync (line 9) | lutimesSync(r,s,a){return this.makeCallSync(r,()=>this.baseFs.lutimesSyn...
  method mkdirPromise (line 9) | async mkdirPromise(r,s){return await this.makeCallPromise(r,async()=>awa...
  method mkdirSync (line 9) | mkdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.mkdirSync(r,s)...
  method rmdirPromise (line 9) | async rmdirPromise(r,s){return await this.makeCallPromise(r,async()=>awa...
  method rmdirSync (line 9) | rmdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.rmdirSync(r,s)...
  method rmPromise (line 9) | async rmPromise(r,s){return await this.makeCallPromise(r,async()=>await ...
  method rmSync (line 9) | rmSync(r,s){return this.makeCallSync(r,()=>this.baseFs.rmSync(r,s),(a,{s...
  method linkPromise (line 9) | async linkPromise(r,s){return await this.makeCallPromise(s,async()=>awai...
  method linkSync (line 9) | linkSync(r,s){return this.makeCallSync(s,()=>this.baseFs.linkSync(r,s),(...
  method symlinkPromise (line 9) | async symlinkPromise(r,s,a){return await this.makeCallPromise(s,async()=...
  method symlinkSync (line 9) | symlinkSync(r,s,a){return this.makeCallSync(s,()=>this.baseFs.symlinkSyn...
  method readFilePromise (line 9) | async readFilePromise(r,s){return this.makeCallPromise(r,async()=>await ...
  method readFileSync (line 9) | readFileSync(r,s){return this.makeCallSync(r,()=>this.baseFs.readFileSyn...
  method readdirPromise (line 9) | async readdirPromise(r,s){return await this.makeCallPromise(r,async()=>a...
  method readdirSync (line 9) | readdirSync(r,s){return this.makeCallSync(r,()=>this.baseFs.readdirSync(...
  method readlinkPromise (line 9) | async readlinkPromise(r){return await this.makeCallPromise(r,async()=>aw...
  method readlinkSync (line 9) | readlinkSync(r){return this.makeCallSync(r,()=>this.baseFs.readlinkSync(...
  method truncatePromise (line 9) | async truncatePromise(r,s){return await this.makeCallPromise(r,async()=>...
  method truncateSync (line 9) | truncateSync(r,s){return this.makeCallSync(r,()=>this.baseFs.truncateSyn...
  method ftruncatePromise (line 9) | async ftruncatePromise(r,s){if((r&tl)!==this.magic)return this.baseFs.ft...
  method ftruncateSync (line 9) | ftruncateSync(r,s){if((r&tl)!==this.magic)return this.baseFs.ftruncateSy...
  method watch (line 9) | watch(r,s,a){return this.makeCallSync(r,()=>this.baseFs.watch(r,s,a),(n,...
  method watchFile (line 9) | watchFile(r,s,a){return this.makeCallSync(r,()=>this.baseFs.watchFile(r,...
  method unwatchFile (line 9) | unwatchFile(r,s){return this.makeCallSync(r,()=>this.baseFs.unwatchFile(...
  method makeCallPromise (line 9) | async makeCallPromise(r,s,a,{requireSubpath:n=!0}={}){if(typeof r!="stri...
  method makeCallSync (line 9) | makeCallSync(r,s,a,{requireSubpath:n=!0}={}){if(typeof r!="string")retur...
  method findMount (line 9) | findMount(r){if(this.filter&&!this.filter.test(r))return null;let s="";f...
  method limitOpenFiles (line 9) | limitOpenFiles(r){if(this.mountInstances===null)return;let s=Date.now(),...
  method getMountPromise (line 9) | async getMountPromise(r,s){if(this.mountInstances){let a=this.mountInsta...
  method getMountSync (line 9) | getMountSync(r,s){if(this.mountInstances){let a=this.mountInstances.get(...
  method constructor (line 9) | constructor(){super(J)}
  method getExtractHint (line 9) | getExtractHint(){throw er()}
  method getRealPath (line 9) | getRealPath(){throw er()}
  method resolve (line 9) | resolve(){throw er()}
  method openPromise (line 9) | async openPromise(){throw er()}
  method openSync (line 9) | openSync(){throw er()}
  method opendirPromise (line 9) | async opendirPromise(){throw er()}
  method opendirSync (line 9) | opendirSync(){throw er()}
  method readPromise (line 9) | async readPromise(){throw er()}
  method readSync (line 9) | readSync(){throw er()}
  method writePromise (line 9) | async writePromise(){throw er()}
  method writeSync (line 9) | writeSync(){throw er()}
  method closePromise (line 9) | async closePromise(){throw er()}
  method closeSync (line 9) | closeSync(){throw er()}
  method createWriteStream (line 9) | createWriteStream(){throw er()}
  method createReadStream (line 9) | createReadStream(){throw er()}
  method realpathPromise (line 9) | async realpathPromise(){throw er()}
  method realpathSync (line 9) | realpathSync(){throw er()}
  method readdirPromise (line 9) | async readdirPromise(){throw er()}
  method readdirSync (line 9) | readdirSync(){throw er()}
  method existsPromise (line 9) | async existsPromise(e){throw er()}
  method existsSync (line 9) | existsSync(e){throw er()}
  method accessPromise (line 9) | async accessPromise(){throw er()}
  method accessSync (line 9) | accessSync(){throw er()}
  method statPromise (line 9) | async statPromise(){throw er()}
  method statSync (line 9) | statSync(){throw er()}
  method fstatPromise (line 9) | async fstatPromise(e){throw er()}
  method fstatSync (line 9) | fstatSync(e){throw er()}
  method lstatPromise (line 9) | async lstatPromise(e){throw er()}
  method lstatSync (line 9) | lstatSync(e){throw er()}
  method fchmodPromise (line 9) | async fchmodPromise(){throw er()}
  method fchmodSync (line 9) | fchmodSync(){throw er()}
  method chmodPromise (line 9) | async chmodPromise(){throw er()}
  method chmodSync (line 9) | chmodSync(){throw er()}
  method fchownPromise (line 9) | async fchownPromise(){throw er()}
  method fchownSync (line 9) | fchownSync(){throw er()}
  method chownPromise (line 9) | async chownPromise(){throw er()}
  method chownSync (line 9) | chownSync(){throw er()}
  method mkdirPromise (line 9) | async mkdirPromise(){throw er()}
  method mkdirSync (line 9) | mkdirSync(){throw er()}
  method rmdirPromise (line 9) | async rmdirPromise(){throw er()}
  method rmdirSync (line 9) | rmdirSync(){throw er()}
  method rmPromise (line 9) | async rmPromise(){throw er()}
  method rmSync (line 9) | rmSync(){throw er()}
  method linkPromise (line 9) | async linkPromise(){throw er()}
  method linkSync (line 9) | linkSync(){throw er()}
  method symlinkPromise (line 9) | async symlinkPromise(){throw er()}
  method symlinkSync (line 9) | symlinkSync(){throw er()}
  method renamePromise (line 9) | async renamePromise(){throw er()}
  method renameSync (line 9) | renameSync(){throw er()}
  method copyFilePromise (line 9) | async copyFilePromise(){throw er()}
  method copyFileSync (line 9) | copyFileSync(){throw er()}
  method appendFilePromise (line 9) | async appendFilePromise(){throw er()}
  method appendFileSync (line 9) | appendFileSync(){throw er()}
  method writeFilePromise (line 9) | async writeFilePromise(){throw er()}
  method writeFileSync (line 9) | writeFileSync(){throw er()}
  method unlinkPromise (line 9) | async unlinkPromise(){throw er()}
  method unlinkSync (line 9) | unlinkSync(){throw er()}
  method utimesPromise (line 9) | async utimesPromise(){throw er()}
  method utimesSync (line 9) | utimesSync(){throw er()}
  method lutimesPromise (line 9) | async lutimesPromise(){throw er()}
  method lutimesSync (line 9) | lutimesSync(){throw er()}
  method readFilePromise (line 9) | async readFilePromise(){throw er()}
  method readFileSync (line 9) | readFileSync(){throw er()}
  method readlinkPromise (line 9) | async readlinkPromise(){throw er()}
  method readlinkSync (line 9) | readlinkSync(){throw er()}
  method truncatePromise (line 9) | async truncatePromise(){throw er()}
  method truncateSync (line 9) | truncateSync(){throw er()}
  method ftruncatePromise (line 9) | async ftruncatePromise(e,r){throw er()}
  method ftruncateSync (line 9) | ftruncateSync(e,r){throw er()}
  method watch (line 9) | watch(){throw er()}
  method watchFile (line 9) | watchFile(){throw er()}
  method unwatchFile (line 9) | unwatchFile(){throw er()}
  method constructor (line 9) | constructor(e){super(fe),this.baseFs=e}
  method mapFromBase (line 9) | mapFromBase(e){return fe.fromPortablePath(e)}
  method mapToBase (line 9) | mapToBase(e){return fe.toPortablePath(e)}
  method makeVirtualPath (line 9) | static makeVirtualPath(e,r,s){if(J.basename(e)!=="__virtual__")throw new...
  method resolveVirtual (line 9) | static resolveVirtual(e){let r=e.match(PU);if(!r||!r[3]&&r[5])return e;l...
  method constructor (line 9) | constructor({baseFs:e=new Yn}={}){super(J),this.baseFs=e}
  method getExtractHint (line 9) | getExtractHint(e){return this.baseFs.getExtractHint(e)}
  method getRealPath (line 9) | getRealPath(){return this.baseFs.getRealPath()}
  method realpathSync (line 9) | realpathSync(e){let r=e.match(PU);if(!r)return this.baseFs.realpathSync(...
  method realpathPromise (line 9) | async realpathPromise(e){let r=e.match(PU);if(!r)return await this.baseF...
  method mapToBase (line 9) | mapToBase(e){if(e==="")return e;if(this.pathUtils.isAbsolute(e))return t...
  method mapFromBase (line 9) | mapFromBase(e){return e}
  function l5e (line 9) | function l5e(t,e){return typeof xU.default.isUtf8<"u"?xU.default.isUtf8(...
  method constructor (line 9) | constructor(e){super(fe),this.baseFs=e}
  method mapFromBase (line 9) | mapFromBase(e){return e}
  method mapToBase (line 9) | mapToBase(e){if(typeof e=="string")return e;if(e instanceof URL)return(0...
  method constructor (line 9) | constructor(e,r){this[C$]=1;this[I$]=void 0;this[E$]=void 0;this[y$]=voi...
  method fd (line 9) | get fd(){return this[Ep]}
  method appendFile (line 9) | async appendFile(e,r){try{this[Ru](this.appendFile);let s=(typeof r=="st...
  method chown (line 9) | async chown(e,r){try{return this[Ru](this.chown),await this[Uo].fchownPr...
  method chmod (line 9) | async chmod(e){try{return this[Ru](this.chmod),await this[Uo].fchmodProm...
  method createReadStream (line 9) | createReadStream(e){return this[Uo].createReadStream(null,{...e,fd:this....
  method createWriteStream (line 9) | createWriteStream(e){return this[Uo].createWriteStream(null,{...e,fd:thi...
  method datasync (line 9) | datasync(){throw new Error("Method not implemented.")}
  method sync (line 9) | sync(){throw new Error("Method not implemented.")}
  method read (line 9) | async read(e,r,s,a){try{this[Ru](this.read);let n,c;return ArrayBuffer.i...
  method readFile (line 9) | async readFile(e){try{this[Ru](this.readFile);let r=(typeof e=="string"?...
  method readLines (line 9) | readLines(e){return(0,w$.createInterface)({input:this.createReadStream(e...
  method stat (line 9) | async stat(e){try{return this[Ru](this.stat),await this[Uo].fstatPromise...
  method truncate (line 9) | async truncate(e){try{return this[Ru](this.truncate),await this[Uo].ftru...
  method utimes (line 9) | utimes(e,r){throw new Error("Method not implemented.")}
  method writeFile (line 9) | async writeFile(e,r){try{this[Ru](this.writeFile);let s=(typeof r=="stri...
  method write (line 9) | async write(...e){try{if(this[Ru](this.write),ArrayBuffer.isView(e[0])){...
  method writev (line 9) | async writev(e,r){try{this[Ru](this.writev);let s=0;if(typeof r<"u")for(...
  method readv (line 9) | readv(e,r){throw new Error("Method not implemented.")}
  method close (line 9) | close(){if(this[Ep]===-1)return Promise.resolve();if(this[r0])return thi...
  method [(Uo,Ep,C$=aE,I$=r0,E$=sx,y$=ox,Ru)] (line 9) | [(Uo,Ep,C$=aE,I$=r0,E$=sx,y$=ox,Ru)](e){if(this[Ep]===-1){let r=new Erro...
  method [Fu] (line 9) | [Fu](){if(this[aE]--,this[aE]===0){let e=this[Ep];this[Ep]=-1,this[Uo].c...
  function U2 (line 9) | function U2(t,e){e=new ix(e);let r=(s,a,n)=>{let c=s[a];s[a]=n,typeof c?...
  function ax (line 9) | function ax(t,e){let r=Object.create(t);return U2(r,e),r}
  function D$ (line 9) | function D$(t){let e=Math.ceil(Math.random()*4294967296).toString(16).pa...
  function b$ (line 9) | function b$(){if(kU)return kU;let t=fe.toPortablePath(P$.default.tmpdir(...
  method detachTemp (line 9) | detachTemp(t){Nu.delete(t)}
  method mktempSync (line 9) | mktempSync(t){let{tmpdir:e,realTmpdir:r}=b$();for(;;){let s=D$("xfs-");t...
  method mktempPromise (line 9) | async mktempPromise(t){let{tmpdir:e,realTmpdir:r}=b$();for(;;){let s=D$(...
  method rmtempPromise (line 9) | async rmtempPromise(){await Promise.all(Array.from(Nu.values()).map(asyn...
  method rmtempSync (line 9) | rmtempSync(){for(let t of Nu)try{ce.removeSync(t),Nu.delete(t)}catch{}}
  function u5e (line 9) | function u5e(t,e){var r=e.pathExt!==void 0?e.pathExt:process.env.PATHEXT...
  function Q$ (line 9) | function Q$(t,e,r){return!t.isSymbolicLink()&&!t.isFile()?!1:u5e(e,r)}
  function T$ (line 9) | function T$(t,e,r){k$.stat(t,function(s,a){r(s,s?!1:Q$(a,t,e))})}
  function f5e (line 9) | function f5e(t,e){return Q$(k$.statSync(t),t,e)}
  function O$ (line 9) | function O$(t,e,r){N$.stat(t,function(s,a){r(s,s?!1:L$(a,e))})}
  function A5e (line 9) | function A5e(t,e){return L$(N$.statSync(t),e)}
  function L$ (line 9) | function L$(t,e){return t.isFile()&&p5e(t,e)}
  function p5e (line 9) | function p5e(t,e){var r=t.mode,s=t.uid,a=t.gid,n=e.uid!==void 0?e.uid:pr...
  function QU (line 9) | function QU(t,e,r){if(typeof e=="function"&&(r=e,e={}),!r){if(typeof Pro...
  function h5e (line 9) | function h5e(t,e){try{return lx.sync(t,e||{})}catch(r){if(e&&e.ignoreErr...
  function Z$ (line 9) | function Z$(t,e){let r=t.options.env||process.env,s=process.cwd(),a=t.op...
  function E5e (line 9) | function E5e(t){return Z$(t)||Z$(t,!0)}
  function I5e (line 9) | function I5e(t){return t=t.replace(RU,"^$1"),t}
  function C5e (line 9) | function C5e(t,e){return t=`${t}`,t=t.replace(/(?=(\\+?)?)\1"/g,'$1$1\\"...
  function v5e (line 9) | function v5e(t){let r=Buffer.alloc(150),s;try{s=NU.openSync(t,"r"),NU.re...
  function k5e (line 9) | function k5e(t){t.file=lee(t);let e=t.file&&D5e(t.file);return e?(t.args...
  function Q5e (line 9) | function Q5e(t){if(!b5e)return t;let e=k5e(t),r=!P5e.test(e);if(t.option...
  function T5e (line 9) | function T5e(t,e,r){e&&!Array.isArray(e)&&(r=e,e=null),e=e?e.slice(0):[]...
  function LU (line 9) | function LU(t,e){return Object.assign(new Error(`${e} ${t.command} ENOEN...
  function R5e (line 9) | function R5e(t,e){if(!OU)return;let r=t.emit;t.emit=function(s,a){if(s==...
  function Aee (line 9) | function Aee(t,e){return OU&&t===1&&!e.file?LU(e.original,"spawn"):null}
  function F5e (line 9) | function F5e(t,e){return OU&&t===1&&!e.file?LU(e.original,"spawnSync"):n...
  function dee (line 9) | function dee(t,e,r){let s=MU(t,e,r),a=gee.spawn(s.command,s.args,s.optio...
  function N5e (line 9) | function N5e(t,e,r){let s=MU(t,e,r),a=gee.spawnSync(s.command,s.args,s.o...
  function O5e (line 9) | function O5e(t,e){function r(){this.constructor=t}r.prototype=e.prototyp...
  function Bd (line 9) | function Bd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.lo...
  function s (line 9) | function s(h){return h.charCodeAt(0).toString(16).toUpperCase()}
  function a (line 9) | function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace...
  function n (line 9) | function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replac...
  function c (line 9) | function c(h){return r[h.type](h)}
  function f (line 9) | function f(h){var E=new Array(h.length),C,S;for(C=0;C<h.length;C++)E[C]=...
  function p (line 9) | function p(h){return h?'"'+a(h)+'"':"end of input"}
  function L5e (line 9) | function L5e(t,e){e=e!==void 0?e:{};var r={},s={Start:Wa},a=Wa,n=functio...
  function ux (line 12) | function ux(t,e={isGlobPattern:()=>!1}){try{return(0,Eee.parse)(t,e)}cat...
  function fE (line 12) | function fE(t,{endSemicolon:e=!1}={}){return t.map(({command:r,type:s},a...
  function fx (line 12) | function fx(t){return`${AE(t.chain)}${t.then?` ${HU(t.then)}`:""}`}
  function HU (line 12) | function HU(t){return`${t.type} ${fx(t.line)}`}
  function AE (line 12) | function AE(t){return`${GU(t)}${t.then?` ${jU(t.then)}`:""}`}
  function jU (line 12) | function jU(t){return`${t.type} ${AE(t.chain)}`}
  function GU (line 12) | function GU(t){switch(t.type){case"command":return`${t.envs.length>0?`${...
  function cx (line 12) | function cx(t){return`${t.name}=${t.args[0]?vd(t.args[0]):""}`}
  function qU (line 12) | function qU(t){switch(t.type){case"redirection":return H2(t);case"argume...
  function H2 (line 12) | function H2(t){return`${t.subtype} ${t.args.map(e=>vd(e)).join(" ")}`}
  function vd (line 12) | function vd(t){return t.segments.map(e=>WU(e)).join("")}
  function WU (line 12) | function WU(t){let e=(s,a)=>a?`"${s}"`:s,r=s=>s===""?"''":s.match(/[()}<...
  function Ax (line 12) | function Ax(t){let e=a=>{switch(a){case"addition":return"+";case"subtrac...
  function _5e (line 13) | function _5e(t,e){function r(){this.constructor=t}r.prototype=e.prototyp...
  function Sd (line 13) | function Sd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.lo...
  function s (line 13) | function s(h){return h.charCodeAt(0).toString(16).toUpperCase()}
  function a (line 13) | function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace...
  function n (line 13) | function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replac...
  function c (line 13) | function c(h){return r[h.type](h)}
  function f (line 13) | function f(h){var E=new Array(h.length),C,S;for(C=0;C<h.length;C++)E[C]=...
  function p (line 13) | function p(h){return h?'"'+a(h)+'"':"end of input"}
  function H5e (line 13) | function H5e(t,e){e=e!==void 0?e:{};var r={},s={resolution:Ne},a=Ne,n="/...
  function px (line 13) | function px(t){let e=t.match(/^\*{1,2}\/(.*)/);if(e)throw new Error(`The...
  function hx (line 13) | function hx(t){let e="";return t.from&&(e+=t.from.fullName,t.from.descri...
  function bee (line 13) | function bee(t){return typeof t>"u"||t===null}
  function j5e (line 13) | function j5e(t){return typeof t=="object"&&t!==null}
  function G5e (line 13) | function G5e(t){return Array.isArray(t)?t:bee(t)?[]:[t]}
  function q5e (line 13) | function q5e(t,e){var r,s,a,n;if(e)for(n=Object.keys(e),r=0,s=n.length;r...
  function W5e (line 13) | function W5e(t,e){var r="",s;for(s=0;s<e;s+=1)r+=t;return r}
  function Y5e (line 13) | function Y5e(t){return t===0&&Number.NEGATIVE_INFINITY===1/t}
  function j2 (line 13) | function j2(t,e){Error.call(this),this.name="YAMLException",this.reason=...
  function YU (line 13) | function YU(t,e,r,s,a){this.name=t,this.buffer=e,this.position=r,this.li...
  function K5e (line 17) | function K5e(t){var e={};return t!==null&&Object.keys(t).forEach(functio...
  function z5e (line 17) | function z5e(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(V5e.i...
  function VU (line 17) | function VU(t,e,r){var s=[];return t.include.forEach(function(a){r=VU(a,...
  function Z5e (line 17) | function Z5e(){var t={scalar:{},sequence:{},mapping:{},fallback:{}},e,r;...
  function hE (line 17) | function hE(t){this.include=t.include||[],this.implicit=t.implicit||[],t...
  function iqe (line 17) | function iqe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~...
  function sqe (line 17) | function sqe(){return null}
  function oqe (line 17) | function oqe(t){return t===null}
  function lqe (line 17) | function lqe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="...
  function cqe (line 17) | function cqe(t){return t==="true"||t==="True"||t==="TRUE"}
  function uqe (line 17) | function uqe(t){return Object.prototype.toString.call(t)==="[object Bool...
  function pqe (line 17) | function pqe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}
  function hqe (line 17) | function hqe(t){return 48<=t&&t<=55}
  function gqe (line 17) | function gqe(t){return 48<=t&&t<=57}
  function dqe (line 17) | function dqe(t){if(t===null)return!1;var e=t.length,r=0,s=!1,a;if(!e)ret...
  function mqe (line 17) | function mqe(t){var e=t,r=1,s,a,n=[];return e.indexOf("_")!==-1&&(e=e.re...
  function yqe (line 17) | function yqe(t){return Object.prototype.toString.call(t)==="[object Numb...
  function Cqe (line 17) | function Cqe(t){return!(t===null||!Iqe.test(t)||t[t.length-1]==="_")}
  function wqe (line 17) | function wqe(t){var e,r,s,a;return e=t.replace(/_/g,"").toLowerCase(),r=...
  function vqe (line 17) | function vqe(t,e){var r;if(isNaN(t))switch(e){case"lowercase":return".na...
  function Sqe (line 17) | function Sqe(t){return Object.prototype.toString.call(t)==="[object Numb...
  function xqe (line 17) | function xqe(t){return t===null?!1:ete.exec(t)!==null||tte.exec(t)!==null}
  function kqe (line 17) | function kqe(t){var e,r,s,a,n,c,f,p=0,h=null,E,C,S;if(e=ete.exec(t),e===...
  function Qqe (line 17) | function Qqe(t){return t.toISOString()}
  function Rqe (line 17) | function Rqe(t){return t==="<<"||t===null}
  function Nqe (line 18) | function Nqe(t){if(t===null)return!1;var e,r,s=0,a=t.length,n=zU;for(r=0...
  function Oqe (line 18) | function Oqe(t){var e,r,s=t.replace(/[\r\n=]/g,""),a=s.length,n=zU,c=0,f...
  function Lqe (line 18) | function Lqe(t){var e="",r=0,s,a,n=t.length,c=zU;for(s=0;s<n;s++)s%3===0...
  function Mqe (line 18) | function Mqe(t){return xd&&xd.isBuffer(t)}
  function jqe (line 18) | function jqe(t){if(t===null)return!0;var e=[],r,s,a,n,c,f=t;for(r=0,s=f....
  function Gqe (line 18) | function Gqe(t){return t!==null?t:[]}
  function Yqe (line 18) | function Yqe(t){if(t===null)return!0;var e,r,s,a,n,c=t;for(n=new Array(c...
  function Vqe (line 18) | function Vqe(t){if(t===null)return[];var e,r,s,a,n,c=t;for(n=new Array(c...
  function zqe (line 18) | function zqe(t){if(t===null)return!0;var e,r=t;for(e in r)if(Kqe.call(r,...
  function Xqe (line 18) | function Xqe(t){return t!==null?t:{}}
  function e9e (line 18) | function e9e(){return!0}
  function t9e (line 18) | function t9e(){}
  function r9e (line 18) | function r9e(){return""}
  function n9e (line 18) | function n9e(t){return typeof t>"u"}
  function s9e (line 18) | function s9e(t){if(t===null||t.length===0)return!1;var e=t,r=/\/([gim]*)...
  function o9e (line 18) | function o9e(t){var e=t,r=/\/([gim]*)$/.exec(t),s="";return e[0]==="/"&&...
  function a9e (line 18) | function a9e(t){var e="/"+t.source+"/";return t.global&&(e+="g"),t.multi...
  function l9e (line 18) | function l9e(t){return Object.prototype.toString.call(t)==="[object RegE...
  function u9e (line 18) | function u9e(t){if(t===null)return!1;try{var e="("+t+")",r=mx.parse(e,{r...
  function f9e (line 18) | function f9e(t){var e="("+t+")",r=mx.parse(e,{range:!0}),s=[],a;if(r.typ...
  function A9e (line 18) | function A9e(t){return t.toString()}
  function p9e (line 18) | function p9e(t){return Object.prototype.toString.call(t)==="[object Func...
  function Dte (line 18) | function Dte(t){return Object.prototype.toString.call(t)}
  function jf (line 18) | function jf(t){return t===10||t===13}
  function Qd (line 18) | function Qd(t){return t===9||t===32}
  function rl (line 18) | function rl(t){return t===9||t===32||t===10||t===13}
  function dE (line 18) | function dE(t){return t===44||t===91||t===93||t===123||t===125}
  function I9e (line 18) | function I9e(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-9...
  function C9e (line 18) | function C9e(t){return t===120?2:t===117?4:t===85?8:0}
  function w9e (line 18) | function w9e(t){return 48<=t&&t<=57?t-48:-1}
  function bte (line 18) | function bte(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t=...
  function B9e (line 19) | function B9e(t){return t<=65535?String.fromCharCode(t):String.fromCharCo...
  function v9e (line 19) | function v9e(t,e){this.input=t,this.filename=e.filename||null,this.schem...
  function Ute (line 19) | function Ute(t,e){return new Qte(e,new h9e(t.filename,t.input,t.position...
  function Rr (line 19) | function Rr(t,e){throw Ute(t,e)}
  function Ix (line 19) | function Ix(t,e){t.onWarning&&t.onWarning.call(null,Ute(t,e))}
  function n0 (line 19) | function n0(t,e,r,s){var a,n,c,f;if(e<r){if(f=t.input.slice(e,r),s)for(a...
  function xte (line 19) | function xte(t,e,r,s){var a,n,c,f;for(Ip.isObject(r)||Rr(t,"cannot merge...
  function mE (line 19) | function mE(t,e,r,s,a,n,c,f){var p,h;if(Array.isArray(a))for(a=Array.pro...
  function ZU (line 19) | function ZU(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position+...
  function as (line 19) | function as(t,e,r){for(var s=0,a=t.input.charCodeAt(t.position);a!==0;){...
  function Cx (line 19) | function Cx(t){var e=t.position,r;return r=t.input.charCodeAt(e),!!((r==...
  function $U (line 19) | function $U(t,e){e===1?t.result+=" ":e>1&&(t.result+=Ip.repeat(`
  function S9e (line 20) | function S9e(t,e,r){var s,a,n,c,f,p,h,E,C=t.kind,S=t.result,P;if(P=t.inp...
  function D9e (line 20) | function D9e(t,e){var r,s,a;if(r=t.input.charCodeAt(t.position),r!==39)r...
  function b9e (line 20) | function b9e(t,e){var r,s,a,n,c,f;if(f=t.input.charCodeAt(t.position),f!...
  function P9e (line 20) | function P9e(t,e){var r=!0,s,a=t.tag,n,c=t.anchor,f,p,h,E,C,S={},P,I,R,N...
  function x9e (line 20) | function x9e(t,e){var r,s,a=XU,n=!1,c=!1,f=e,p=0,h=!1,E,C;if(C=t.input.c...
  function kte (line 26) | function kte(t,e){var r,s=t.tag,a=t.anchor,n=[],c,f=!1,p;for(t.anchor!==...
  function k9e (line 26) | function k9e(t,e,r){var s,a,n,c,f=t.tag,p=t.anchor,h={},E={},C=null,S=nu...
  function Q9e (line 26) | function Q9e(t){var e,r=!1,s=!1,a,n,c;if(c=t.input.charCodeAt(t.position...
  function T9e (line 26) | function T9e(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)retur...
  function R9e (line 26) | function R9e(t){var e,r,s;if(s=t.input.charCodeAt(t.position),s!==42)ret...
  function yE (line 26) | function yE(t,e,r,s,a){var n,c,f,p=1,h=!1,E=!1,C,S,P,I,R;if(t.listener!=...
  function F9e (line 26) | function F9e(t){var e=t.position,r,s,a,n=!1,c;for(t.version=null,t.check...
  function _te (line 26) | function _te(t,e){t=String(t),e=e||{},t.length!==0&&(t.charCodeAt(t.leng...
  function Hte (line 27) | function Hte(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=n...
  function jte (line 27) | function jte(t,e){var r=_te(t,e);if(r.length!==0){if(r.length===1)return...
  function N9e (line 27) | function N9e(t,e,r){return typeof e=="object"&&e!==null&&typeof r>"u"&&(...
  function O9e (line 27) | function O9e(t,e){return jte(t,Ip.extend({schema:Tte},e))}
  function rWe (line 27) | function rWe(t,e){var r,s,a,n,c,f,p;if(e===null)return{};for(r={},s=Obje...
  function qte (line 27) | function qte(t){var e,r,s;if(e=t.toString(16).toUpperCase(),t<=255)r="x"...
  function nWe (line 27) | function nWe(t){this.schema=t.schema||L9e,this.indent=Math.max(1,t.inden...
  function Wte (line 27) | function Wte(t,e){for(var r=Y2.repeat(" ",e),s=0,a=-1,n="",c,f=t.length;...
  function e_ (line 29) | function e_(t,e){return`
  function iWe (line 30) | function iWe(t,e){var r,s,a;for(r=0,s=t.implicitTypes.length;r<s;r+=1)if...
  function r_ (line 30) | function r_(t){return t===H9e||t===U9e}
  function EE (line 30) | function EE(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==823...
  function sWe (line 30) | function sWe(t){return EE(t)&&!r_(t)&&t!==65279&&t!==_9e&&t!==W2}
  function Yte (line 30) | function Yte(t,e){return EE(t)&&t!==65279&&t!==ere&&t!==rre&&t!==nre&&t!...
  function oWe (line 30) | function oWe(t){return EE(t)&&t!==65279&&!r_(t)&&t!==J9e&&t!==X9e&&t!==t...
  function ore (line 30) | function ore(t){var e=/^\n* /;return e.test(t)}
  function aWe (line 30) | function aWe(t,e,r,s,a){var n,c,f,p=!1,h=!1,E=s!==-1,C=-1,S=oWe(t.charCo...
  function lWe (line 30) | function lWe(t,e,r,s){t.dump=function(){if(e.length===0)return"''";if(!t...
  function Vte (line 30) | function Vte(t,e){var r=ore(t)?String(e):"",s=t[t.length-1]===`
  function Jte (line 34) | function Jte(t){return t[t.length-1]===`
  function cWe (line 35) | function cWe(t,e){for(var r=/(\n+)([^\n]*)/g,s=function(){var h=t.indexOf(`
  function Kte (line 38) | function Kte(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,s,a=...
  function uWe (line 41) | function uWe(t){for(var e="",r,s,a,n=0;n<t.length;n++){if(r=t.charCodeAt...
  function fWe (line 41) | function fWe(t,e,r){var s="",a=t.tag,n,c;for(n=0,c=r.length;n<c;n+=1)Td(...
  function AWe (line 41) | function AWe(t,e,r,s){var a="",n=t.tag,c,f;for(c=0,f=r.length;c<f;c+=1)T...
  function pWe (line 41) | function pWe(t,e,r){var s="",a=t.tag,n=Object.keys(r),c,f,p,h,E;for(c=0,...
  function hWe (line 41) | function hWe(t,e,r,s){var a="",n=t.tag,c=Object.keys(r),f,p,h,E,C,S;if(t...
  function zte (line 41) | function zte(t,e,r){var s,a,n,c,f,p;for(a=r?t.explicitTypes:t.implicitTy...
  function Td (line 41) | function Td(t,e,r,s,a,n){t.tag=null,t.dump=r,zte(t,r,!1)||zte(t,r,!0);va...
  function gWe (line 41) | function gWe(t,e){var r=[],s=[],a,n;for(t_(t,r,s),a=0,n=s.length;a<n;a+=...
  function t_ (line 41) | function t_(t,e,r){var s,a,n;if(t!==null&&typeof t=="object")if(a=e.inde...
  function fre (line 41) | function fre(t,e){e=e||{};var r=new nWe(e);return r.noRefs||gWe(t,r),Td(...
  function dWe (line 42) | function dWe(t,e){return fre(t,Y2.extend({schema:M9e},e))}
  function vx (line 42) | function vx(t){return function(){throw new Error("Function "+t+" is depr...
  function yWe (line 42) | function yWe(t,e){function r(){this.constructor=t}r.prototype=e.prototyp...
  function Rd (line 42) | function Rd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.lo...
  function s (line 42) | function s(h){return h.charCodeAt(0).toString(16).toUpperCase()}
  function a (line 42) | function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace...
  function n (line 42) | function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replac...
  function c (line 42) | function c(h){return r[h.type](h)}
  function f (line 42) | function f(h){var E=new Array(h.length),C,S;for(C=0;C<h.length;C++)E[C]=...
  function p (line 42) | function p(h){return h?'"'+a(h)+'"':"end of input"}
  function EWe (line 42) | function EWe(t,e){e=e!==void 0?e:{};var r={},s={Start:lc},a=lc,n=functio...
  function Ire (line 51) | function Ire(t){return t.match(IWe)?t:JSON.stringify(t)}
  function wre (line 51) | function wre(t){return typeof t>"u"?!0:typeof t=="object"&&t!==null&&!Ar...
  function i_ (line 51) | function i_(t,e,r){if(t===null)return`null
  function nl (line 61) | function nl(t){try{let e=i_(t,0,!1);return e!==`
  function CWe (line 62) | function CWe(t){return t.endsWith(`
  function BWe (line 64) | function BWe(t){if(wWe.test(t))return CWe(t);let e=(0,Dx.safeLoad)(t,{sc...
  function ls (line 64) | function ls(t){return BWe(t)}
  method constructor (line 64) | constructor(e){this.data=e}
  function bre (line 64) | function bre(t){return typeof t=="string"?!!Ds[t]:"env"in t?Ds[t.env]&&D...
  method constructor (line 64) | constructor(e){super(e),this.clipanion={type:"usage"},this.name="UsageEr...
  method constructor (line 64) | constructor(e,r){if(super(),this.input=e,this.candidates=r,this.clipanio...
  method constructor (line 75) | constructor(e,r){super(),this.input=e,this.usages=r,this.clipanion={type...
  function DWe (line 80) | function DWe(t){let e=t.split(`
  function Ho (line 82) | function Ho(t,{format:e,paragraphs:r}){return t=t.replace(/\r\n?/g,`
  function ya (line 90) | function ya(t){return{...t,[K2]:!0}}
  function Gf (line 90) | function Gf(t,e){return typeof t>"u"?[t,e]:typeof t=="object"&&t!==null&...
  function Qx (line 90) | function Qx(t,{mergeName:e=!1}={}){let r=t.match(/^([^:]+): (.*)$/m);if(...
  function z2 (line 90) | function z2(t,e){return e.length===1?new nt(`${t}${Qx(e[0],{mergeName:!0...
  function Od (line 92) | function Od(t,e,r){if(typeof r>"u")return e;let s=[],a=[],n=f=>{let p=e;...
  function ti (line 92) | function ti(t){return t===null?"null":t===void 0?"undefined":t===""?"an ...
  function CE (line 92) | function CE(t,e){if(t.length===0)return"nothing";if(t.length===1)return ...
  function s0 (line 92) | function s0(t,e){var r,s,a;return typeof e=="number"?`${(r=t?.p)!==null&...
  function A_ (line 92) | function A_(t,e,r){return t===1?e:r}
  function mr (line 92) | function mr({errors:t,p:e}={},r){return t?.push(`${e??"."}: ${r}`),!1}
  function TWe (line 92) | function TWe(t,e){return r=>{t[e]=r}}
  function Wf (line 92) | function Wf(t,e){return r=>{let s=t[e];return t[e]=r,Wf(t,e).bind(null,s)}}
  function X2 (line 92) | function X2(t,e,r){let s=()=>(t(r()),a),a=()=>(t(e),s);return s}
  function p_ (line 92) | function p_(){return Wr({test:(t,e)=>!0})}
  function Rre (line 92) | function Rre(t){return Wr({test:(e,r)=>e!==t?mr(r,`Expected ${ti(t)} (go...
  function wE (line 92) | function wE(){return Wr({test:(t,e)=>typeof t!="string"?mr(e,`Expected a...
  function fo (line 92) | function fo(t){let e=Array.isArray(t)?t:Object.values(t),r=e.every(a=>ty...
  function FWe (line 92) | function FWe(){return Wr({test:(t,e)=>{var r;if(typeof t!="boolean"){if(...
  function h_ (line 92) | function h_(){return Wr({test:(t,e)=>{var r;if(typeof t!="number"){if(ty...
  function NWe (line 92) | function NWe(t){return Wr({test:(e,r)=>{var s;if(typeof r?.coercions>"u"...
  function OWe (line 92) | function OWe(){return Wr({test:(t,e)=>{var r;if(!(t instanceof Date)){if...
  function Tx (line 92) | function Tx(t,{delimiter:e}={}){return Wr({test:(r,s)=>{var a;let n=r;if...
  function LWe (line 92) | function LWe(t,{delimiter:e}={}){let r=Tx(t,{delimiter:e});return Wr({te...
  function MWe (line 92) | function MWe(t,e){let r=Tx(Rx([t,e])),s=Fx(e,{keys:t});return Wr({test:(...
  function Rx (line 92) | function Rx(t,{delimiter:e}={}){let r=Ore(t.length);return Wr({test:(s,a...
  function Fx (line 92) | function Fx(t,{keys:e=null}={}){let r=Tx(Rx([e??wE(),t]));return Wr({tes...
  function UWe (line 92) | function UWe(t,e={}){return Fx(t,e)}
  function Fre (line 92) | function Fre(t,{extra:e=null}={}){let r=Object.keys(t),s=Wr({test:(a,n)=...
  function _We (line 92) | function _We(t){return Fre(t,{extra:Fx(p_())})}
  function Nre (line 92) | function Nre(t){return()=>t}
  function Wr (line 92) | function Wr({test:t}){return Nre(t)()}
  function jWe (line 92) | function jWe(t,e){if(!e(t))throw new o0}
  function GWe (line 92) | function GWe(t,e){let r=[];if(!e(t,{errors:r}))throw new o0({errors:r})}
  function qWe (line 92) | function qWe(t,e){}
  function WWe (line 92) | function WWe(t,e,{coerce:r=!1,errors:s,throw:a}={}){let n=s?[]:void 0;if...
  function YWe (line 92) | function YWe(t,e){let r=Rx(t);return(...s)=>{if(!r(s))throw new o0;retur...
  function VWe (line 92) | function VWe(t){return Wr({test:(e,r)=>e.length>=t?!0:mr(r,`Expected to ...
  function JWe (line 92) | function JWe(t){return Wr({test:(e,r)=>e.length<=t?!0:mr(r,`Expected to ...
  function Ore (line 92) | function Ore(t){return Wr({test:(e,r)=>e.length!==t?mr(r,`Expected to ha...
  function KWe (line 92) | function KWe({map:t}={}){return Wr({test:(e,r)=>{let s=new Set,a=new Set...
  function zWe (line 92) | function zWe(){return Wr({test:(t,e)=>t<=0?!0:mr(e,`Expected to be negat...
  function XWe (line 92) | function XWe(){return Wr({test:(t,e)=>t>=0?!0:mr(e,`Expected to be posit...
  function d_ (line 92) | function d_(t){return Wr({test:(e,r)=>e>=t?!0:mr(r,`Expected to be at le...
  function ZWe (line 92) | function ZWe(t){return Wr({test:(e,r)=>e<=t?!0:mr(r,`Expected to be at m...
  function $We (line 92) | function $We(t,e){return Wr({test:(r,s)=>r>=t&&r<=e?!0:mr(s,`Expected to...
  function eYe (line 92) | function eYe(t,e){return Wr({test:(r,s)=>r>=t&&r<e?!0:mr(s,`Expected to ...
  function m_ (line 92) | function m_({unsafe:t=!1}={}){return Wr({test:(e,r)=>e!==Math.round(e)?m...
  function Z2 (line 92) | function Z2(t){return Wr({test:(e,r)=>t.test(e)?!0:mr(r,`Expected to mat...
  function tYe (line 92) | function tYe(){return Wr({test:(t,e)=>t!==t.toLowerCase()?mr(e,`Expected...
  function rYe (line 92) | function rYe(){return Wr({test:(t,e)=>t!==t.toUpperCase()?mr(e,`Expected...
  function nYe (line 92) | function nYe(){return Wr({test:(t,e)=>QWe.test(t)?!0:mr(e,`Expected to b...
  function iYe (line 92) | function iYe(){return Wr({test:(t,e)=>Tre.test(t)?!0:mr(e,`Expected to b...
  function sYe (line 92) | function sYe({alpha:t=!1}){return Wr({test:(e,r)=>(t?PWe.test(e):xWe.tes...
  function oYe (line 92) | function oYe(){return Wr({test:(t,e)=>kWe.test(t)?!0:mr(e,`Expected to b...
  function aYe (line 92) | function aYe(t=p_()){return Wr({test:(e,r)=>{let s;try{s=JSON.parse(e)}c...
  function Nx (line 92) | function Nx(t,...e){let r=Array.isArray(e[0])?e[0]:e;return Wr({test:(s,...
  function $2 (line 92) | function $2(t,...e){let r=Array.isArray(e[0])?e[0]:e;return Nx(t,r)}
  function lYe (line 92) | function lYe(t){return Wr({test:(e,r)=>typeof e>"u"?!0:t(e,r)})}
  function cYe (line 92) | function cYe(t){return Wr({test:(e,r)=>e===null?!0:t(e,r)})}
  function uYe (line 92) | function uYe(t,e){var r;let s=new Set(t),a=eB[(r=e?.missingIf)!==null&&r...
  function y_ (line 92) | function y_(t,e){var r;let s=new Set(t),a=eB[(r=e?.missingIf)!==null&&r!...
  function fYe (line 92) | function fYe(t,e){var r;let s=new Set(t),a=eB[(r=e?.missingIf)!==null&&r...
  function AYe (line 92) | function AYe(t,e){var r;let s=new Set(t),a=eB[(r=e?.missingIf)!==null&&r...
  function tB (line 92) | function tB(t,e,r,s){var a,n;let c=new Set((a=s?.ignore)!==null&&a!==voi...
  method constructor (line 92) | constructor({errors:e}={}){let r="Type mismatch";if(e&&e.length>0){r+=`
  method constructor (line 94) | constructor(){this.help=!1}
  method Usage (line 94) | static Usage(e){return e}
  method catch (line 94) | async catch(e){throw e}
  method validateAndExecute (line 94) | async validateAndExecute(){let r=this.constructor.schema;if(Array.isArra...
  function il (line 94) | function il(t){l_&&console.log(t)}
  function Mre (line 94) | function Mre(){let t={nodes:[]};for(let e=0;e<En.CustomNode;++e)t.nodes....
  function hYe (line 94) | function hYe(t){let e=Mre(),r=[],s=e.nodes.length;for(let a of t){r.push...
  function Ou (line 94) | function Ou(t,e){return t.nodes.push(e),t.nodes.length-1}
  function gYe (line 94) | function gYe(t){let e=new Set,r=s=>{if(e.has(s))return;e.add(s);let a=t....
  function dYe (line 94) | function dYe(t,{prefix:e=""}={}){if(l_){il(`${e}Nodes are:`);for(let r=0...
  function mYe (line 94) | function mYe(t,e,r=!1){il(`Running a vm on ${JSON.stringify(e)}`);let s=...
  function yYe (line 94) | function yYe(t,e,{endToken:r=ei.EndOfInput}={}){let s=mYe(t,[...e,r]);re...
  function EYe (line 94) | function EYe(t){let e=0;for(let{state:r}of t)r.path.length>e&&(e=r.path....
  function IYe (line 94) | function IYe(t,e){let r=e.filter(S=>S.selectedIndex!==null),s=r.filter(S...
  function CYe (line 94) | function CYe(t){let e=[],r=[];for(let s of t)s.selectedIndex===Nd?r.push...
  function Ure (line 94) | function Ure(t,e,...r){return e===void 0?Array.from(t):Ure(t.filter((s,a...
  function _l (line 94) | function _l(){return{dynamics:[],shortcuts:[],statics:{}}}
  function _re (line 94) | function _re(t){return t===En.SuccessNode||t===En.ErrorNode}
  function E_ (line 94) | function E_(t,e=0){return{to:_re(t.to)?t.to:t.to>=En.CustomNode?t.to+e-E...
  function wYe (line 94) | function wYe(t,e=0){let r=_l();for(let[s,a]of t.dynamics)r.dynamics.push...
  function Hs (line 94) | function Hs(t,e,r,s,a){t.nodes[e].dynamics.push([r,{to:s,reducer:a}])}
  function BE (line 94) | function BE(t,e,r,s){t.nodes[e].shortcuts.push({to:r,reducer:s})}
  function Ia (line 94) | function Ia(t,e,r,s,a){(Object.prototype.hasOwnProperty.call(t.nodes[e]....
  function Ox (line 94) | function Ox(t,e,r,s,a){if(Array.isArray(e)){let[n,...c]=e;return t[n](r,...
  method constructor (line 94) | constructor(e,r){this.allOptionNames=new Map,this.arity={leading:[],trai...
  method addPath (line 94) | addPath(e){this.paths.push(e)}
  method setArity (line 94) | setArity({leading:e=this.arity.leading,trailing:r=this.arity.trailing,ex...
  method addPositional (line 94) | addPositional({name:e="arg",required:r=!0}={}){if(!r&&this.arity.extra==...
  method addRest (line 94) | addRest({name:e="arg",required:r=0}={}){if(this.arity.extra===Hl)throw n...
  method addProxy (line 94) | addProxy({required:e=0}={}){this.addRest({required:e}),this.arity.proxy=!0}
  method addOption (line 94) | addOption({names:e,description:r,arity:s=0,hidden:a=!1,required:n=!1,all...
  method setContext (line 94) | setContext(e){this.context=e}
  method usage (line 94) | usage({detailed:e=!0,inlineOptions:r=!0}={}){let s=[this.cliOpts.binaryN...
  method compile (line 94) | compile(){if(typeof this.context>"u")throw new Error("Assertion failed: ...
  method registerOptions (line 94) | registerOptions(e,r){Hs(e,r,["isOption","--"],r,"inhibateOptions"),Hs(e,...
  method constructor (line 94) | constructor({binaryName:e="..."}={}){this.builders=[],this.opts={binaryN...
  method build (line 94) | static build(e,r={}){return new t(r).commands(e).compile()}
  method getBuilderByIndex (line 94) | getBuilderByIndex(e){if(!(e>=0&&e<this.builders.length))throw new Error(...
  method commands (line 94) | commands(e){for(let r of e)r(this.command());return this}
  method command (line 94) | command(){let e=new C_(this.builders.length,this.opts);return this.build...
  method compile (line 94) | compile(){let e=[],r=[];for(let a of this.builders){let{machine:n,contex...
  function jre (line 94) | function jre(){return Ux.default&&"getColorDepth"in Ux.default.WriteStre...
  function Gre (line 94) | function Gre(t){let e=Hre;if(typeof e>"u"){if(t.stdout===process.stdout&...
  method constructor (line 94) | constructor(e){super(),this.contexts=e,this.commands=[]}
  method from (line 94) | static from(e,r){let s=new t(r);s.path=e.path;for(let a of e.options)swi...
  method execute (line 94) | async execute(){let e=this.commands;if(typeof this.index<"u"&&this.index...
  function Jre (line 98) | async function Jre(...t){let{resolvedOptions:e,resolvedCommandClasses:r,...
  function Kre (line 98) | async function Kre(...t){let{resolvedOptions:e,resolvedCommandClasses:r,...
  function zre (line 98) | function zre(t){let e,r,s,a;switch(typeof process<"u"&&typeof process.ar...
  function Vre (line 98) | function Vre(t){return t()}
  method constructor (line 98) | constructor({binaryLabel:e,binaryName:r="...",binaryVersion:s,enableCapt...
  method from (line 98) | static from(e,r={}){let s=new t(r),a=Array.isArray(e)?e:[e];for(let n of...
  method register (line 98) | register(e){var r;let s=new Map,a=new e;for(let p in a){let h=a[p];typeo...
  method process (line 98) | process(e,r){let{input:s,context:a,partial:n}=typeof e=="object"&&Array....
  method run (line 98) | async run(e,r){var s,a;let n,c={...t.defaultContext,...r},f=(s=this.enab...
  method runExit (line 98) | async runExit(e,r){process.exitCode=await this.run(e,r)}
  method definition (line 98) | definition(e,{colored:r=!1}={}){if(!e.usage)return null;let{usage:s}=thi...
  method definitions (line 98) | definitions({colored:e=!1}={}){let r=[];for(let s of this.registrations....
  method usage (line 98) | usage(e=null,{colored:r,detailed:s=!1,prefix:a="$ "}={}){var n;if(e===nu...
  method error (line 124) | error(e,r){var s,{colored:a,command:n=(s=e[Yre])!==null&&s!==void 0?s:nu...
  method format (line 127) | format(e){var r;return((r=e??this.enableColors)!==null&&r!==void 0?r:t.d...
  method getUsageByRegistration (line 127) | getUsageByRegistration(e,r){let s=this.registrations.get(e);if(typeof s>...
  method getUsageByIndex (line 127) | getUsageByIndex(e,r){return this.builder.getBuilderByIndex(e).usage(r)}
  method execute (line 127) | async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.def...
  method execute (line 128) | async execute(){this.context.stdout.write(this.cli.usage())}
  function Hx (line 128) | function Hx(t={}){return ya({definition(e,r){var s;e.addProxy({name:(s=t...
  method constructor (line 128) | constructor(){super(...arguments),this.args=Hx()}
  method execute (line 128) | async execute(){this.context.stdout.write(`${JSON.stringify(this.cli.pro...
  method execute (line 129) | async execute(){var e;this.context.stdout.write(`${(e=this.cli.binaryVer...
  function nne (line 130) | function nne(t,e,r){let[s,a]=Gf(e,r??{}),{arity:n=1}=a,c=t.split(","),f=...
  function sne (line 130) | function sne(t,e,r){let[s,a]=Gf(e,r??{}),n=t.split(","),c=new Set(n);ret...
  function ane (line 130) | function ane(t,e,r){let[s,a]=Gf(e,r??{}),n=t.split(","),c=new Set(n);ret...
  function cne (line 130) | function cne(t={}){return ya({definition(e,r){var s;e.addRest({name:(s=t...
  function vYe (line 130) | function vYe(t,e,r){let[s,a]=Gf(e,r??{}),{arity:n=1}=a,c=t.split(","),f=...
  function SYe (line 130) | function SYe(t={}){let{required:e=!0}=t;return ya({definition(r,s){var a...
  function fne (line 130) | function fne(t,...e){return typeof t=="string"?vYe(t,...e):SYe(t)}
  function QYe (line 130) | function QYe(t){let e={},r=t.toString();r=r.replace(/\r\n?/mg,`
  function TYe (line 132) | function TYe(t){let e=mne(t),r=js.configDotenv({path:e});if(!r.parsed)th...
  function RYe (line 132) | function RYe(t){console.log(`[dotenv@${D_}][INFO] ${t}`)}
  function FYe (line 132) | function FYe(t){console.log(`[dotenv@${D_}][WARN] ${t}`)}
  function v_ (line 132) | function v_(t){console.log(`[dotenv@${D_}][DEBUG] ${t}`)}
  function dne (line 132) | function dne(t){return t&&t.DOTENV_KEY&&t.DOTENV_KEY.length>0?t.DOTENV_K...
  function NYe (line 132) | function NYe(t,e){let r;try{r=new URL(e)}catch(f){throw f.code==="ERR_IN...
  function mne (line 132) | function mne(t){let e=S_.resolve(process.cwd(),".env");return t&&t.path&...
  function OYe (line 132) | function OYe(t){return t[0]==="~"?S_.join(bYe.homedir(),t.slice(1)):t}
  function LYe (line 132) | function LYe(t){RYe("Loading env from encrypted .env.vault");let e=js._p...
  function MYe (line 132) | function MYe(t){let e=S_.resolve(process.cwd(),".env"),r="utf8",s=!!(t&&...
  function UYe (line 132) | function UYe(t){let e=mne(t);return dne(t).length===0?js.configDotenv(t)...
  function _Ye (line 132) | function _Ye(t,e){let r=Buffer.from(e.slice(-64),"hex"),s=Buffer.from(t,...
  function HYe (line 132) | function HYe(t,e,r={}){let s=!!(r&&r.debug),a=!!(r&&r.override);if(typeo...
  function Yf (line 132) | function Yf(t){return`YN${t.toString(10).padStart(4,"0")}`}
  function jx (line 132) | function jx(t){let e=Number(t.slice(2));if(typeof Br[e]>"u")throw new Er...
  method constructor (line 132) | constructor(e,r){if(r=aVe(r),e instanceof t){if(e.loose===!!r.loose&&e.i...
  method format (line 132) | format(){return this.version=`${this.major}.${this.minor}.${this.patch}`...
  method toString (line 132) | toString(){return this.version}
  method compare (line 132) | compare(e){if(Wx("SemVer.compare",this.version,this.options,e),!(e insta...
  method compareMain (line 132) | compareMain(e){return e instanceof t||(e=new t(e,this.options)),SE(this....
  method comparePre (line 132) | comparePre(e){if(e instanceof t||(e=new t(e,this.options)),this.prerelea...
  method compareBuild (line 132) | compareBuild(e){e instanceof t||(e=new t(e,this.options));let r=0;do{let...
  method inc (line 132) | inc(e,r,s){switch(e){case"premajor":this.prerelease.length=0,this.patch=...
  function Fn (line 132) | function Fn(t){var e=this;if(e instanceof Fn||(e=new Fn),e.tail=null,e.h...
  function t7e (line 132) | function t7e(t,e,r){var s=e===t.head?new Ud(r,null,e,t):new Ud(r,e,e.nex...
  function r7e (line 132) | function r7e(t,e){t.tail=new Ud(e,t.tail,null,t),t.head||(t.head=t.tail)...
  function n7e (line 132) | function n7e(t,e){t.head=new Ud(e,null,t.head,t),t.tail||(t.tail=t.head)...
  function Ud (line 132) | function Ud(t,e,r,s){if(!(this instanceof Ud))return new Ud(t,e,r,s);thi...
  method constructor (line 132) | constructor(e){if(typeof e=="number"&&(e={max:e}),e||(e={}),e.max&&(type...
  method max (line 132) | set max(e){if(typeof e!="number"||e<0)throw new TypeError("max must be a...
  method max (line 132) | get max(){return this[_d]}
  method allowStale (line 132) | set allowStale(e){this[fB]=!!e}
  method allowStale (line 132) | get allowStale(){return this[fB]}
  method maxAge (line 132) | set maxAge(e){if(typeof e!="number")throw new TypeError("maxAge must be ...
  method maxAge (line 132) | get maxAge(){return this[Hd]}
  method lengthCalculator (line 132) | set lengthCalculator(e){typeof e!="function"&&(e=N_),e!==this[DE]&&(this...
  method lengthCalculator (line 132) | get lengthCalculator(){return this[DE]}
  method length (line 132) | get length(){return this[Sp]}
  method itemCount (line 132) | get itemCount(){return this[Gs].length}
  method rforEach (line 132) | rforEach(e,r){r=r||this;for(let s=this[Gs].tail;s!==null;){let a=s.prev;...
  method forEach (line 132) | forEach(e,r){r=r||this;for(let s=this[Gs].head;s!==null;){let a=s.next;v...
  method keys (line 132) | keys(){return this[Gs].toArray().map(e=>e.key)}
  method values (line 132) | values(){return this[Gs].toArray().map(e=>e.value)}
  method reset (line 132) | reset(){this[vp]&&this[Gs]&&this[Gs].length&&this[Gs].forEach(e=>this[vp...
  method dump (line 132) | dump(){return this[Gs].map(e=>ek(this,e)?!1:{k:e.key,v:e.value,e:e.now+(...
  method dumpLru (line 132) | dumpLru(){return this[Gs]}
  method set (line 132) | set(e,r,s){if(s=s||this[Hd],s&&typeof s!="number")throw new TypeError("m...
  method has (line 132) | has(e){if(!this[Lu].has(e))return!1;let r=this[Lu].get(e).value;return!e...
  method get (line 132) | get(e){return O_(this,e,!0)}
  method peek (line 132) | peek(e){return O_(this,e,!1)}
  method pop (line 132) | pop(){let e=this[Gs].tail;return e?(bE(this,e),e.value):null}
  method del (line 132) | del(e){bE(this,this[Lu].get(e))}
  method load (line 132) | load(e){this.reset();let r=Date.now();for(let s=e.length-1;s>=0;s--){let...
  method prune (line 132) | prune(){this[Lu].forEach((e,r)=>O_(this,r,!1))}
  method constructor (line 132) | constructor(e,r,s,a,n){this.key=e,this.value=r,this.length=s,this.now=a,...
  method constructor (line 132) | constructor(e,r){if(r=o7e(r),e instanceof t)return e.loose===!!r.loose&&...
  method format (line 132) | format(){return this.range=this.set.map(e=>e.join(" ").trim()).join("||"...
  method toString (line 132) | toString(){return this.range}
  method parseRange (line 132) | parseRange(e){let s=((this.options.includePrerelease&&f7e)|(this.options...
  method intersects (line 132) | intersects(e,r){if(!(e instanceof t))throw new TypeError("a Range is req...
  method test (line 132) | test(e){if(!e)return!1;if(typeof e=="string")try{e=new a7e(e,this.option...
  method ANY (line 132) | static get ANY(){return pB}
  method constructor (line 132) | constructor(e,r){if(r=Tie(r),e instanceof t){if(e.loose===!!r.loose)retu...
  method parse (line 132) | parse(e){let r=this.options.loose?Rie[Fie.COMPARATORLOOSE]:Rie[Fie.COMPA...
  method toString (line 132) | toString(){return this.value}
  method test (line 132) | test(e){if(j_("Comparator.test",e,this.options.loose),this.semver===pB||...
  method intersects (line 132) | intersects(e,r){if(!(e instanceof t))throw new TypeError("a Comparator i...
  function _Je (line 132) | function _Je(t,e){function r(){this.constructor=t}r.prototype=e.prototyp...
  function jd (line 132) | function jd(t,e,r,s){this.message=t,this.expected=e,this.found=r,this.lo...
  function s (line 132) | function s(h){return h.charCodeAt(0).toString(16).toUpperCase()}
  function a (line 132) | function a(h){return h.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace...
  function n (line 132) | function n(h){return h.replace(/\\/g,"\\\\").replace(/\]/g,"\\]").replac...
  function c (line 132) | function c(h){return r[h.type](h)}
  function f (line 132) | function f(h){var E=new Array(h.length),C,S;for(C=0;C<h.length;C++)E[C]=...
  function p (line 132) | function p(h){return h?'"'+a(h)+'"':"end of input"}
  function HJe (line 132) | function HJe(t,e){e=e!==void 0?e:{};var r={},s={Expression:y},a=y,n="|",...
  function GJe (line 134) | function GJe(t,e){return(t[0]-e[0])**2+(t[1]-e[1])**2+(t[2]-e[2])**2}
  function qJe (line 134) | function qJe(){let t={},e=Object.keys(nk);for(let r=e.length,s=0;s<r;s++...
  function WJe (line 134) | function WJe(t){let e=qJe(),r=[t];for(e[t].distance=0;r.length;){let s=r...
  function YJe (line 134) | function YJe(t,e){return function(r){return e(t(r))}}
  function VJe (line 134) | function VJe(t,e){let r=[e[t].parent,t],s=nk[e[t].parent][t],a=e[t].pare...
  function zJe (line 134) | function zJe(t){let e=function(...r){let s=r[0];return s==null?s:(s.leng...
  function XJe (line 134) | function XJe(t){let e=function(...r){let s=r[0];if(s==null)return s;s.le...
  function ZJe (line 134) | function ZJe(){let t=new Map,e={modifier:{reset:[0,0],bold:[1,22],dim:[2...
  function Z_ (line 134) | function Z_(t){return t===0?!1:{level:t,hasBasic:!0,has256:t>=2,has16m:t...
  function $_ (line 134) | function $_(t,e){if(l0===0)return 0;if(Sc("color=16m")||Sc("color=full")...
  function eKe (line 134) | function eKe(t){let e=$_(t,t&&t.isTTY);return Z_(e)}
  function Gse (line 138) | function Gse(t){let e=t[0]==="u",r=t[1]==="{";return e&&!r&&t.length===5...
  function aKe (line 138) | function aKe(t,e){let r=[],s=e.trim().split(/\s*,\s*/g),a;for(let n of s...
  function lKe (line 138) | function lKe(t){Hse.lastIndex=0;let e=[],r;for(;(r=Hse.exec(t))!==null;)...
  function jse (line 138) | function jse(t,e){let r={};for(let a of e)for(let n of a.styles)r[n[0]]=...
  method constructor (line 138) | constructor(e){return Jse(e)}
  function ak (line 138) | function ak(t){return Jse(t)}
  method get (line 138) | get(){let r=lk(this,i4(e.open,e.close,this._styler),this._isEmpty);retur...
  method get (line 138) | get(){let t=lk(this,this._styler,!0);return Object.defineProperty(this,"...
  method get (line 138) | get(){let{level:e}=this;return function(...r){let s=i4(mB.color[Vse[e]][...
  method get (line 138) | get(){let{level:r}=this;return function(...s){let a=i4(mB.bgColor[Vse[r]...
  method get (line 138) | get(){return this._generator.level}
  method set (line 138) | set(t){this._generator.level=t}
  function pKe (line 139) | function pKe(t,e,r){let s=s4(t,e,"-",!1,r)||[],a=s4(e,t,"",!1,r)||[],n=s...
  function hKe (line 139) | function hKe(t,e){let r=1,s=1,a=soe(t,r),n=new Set([e]);for(;t<=a&&a<=e;...
  function gKe (line 139) | function gKe(t,e,r){if(t===e)return{pattern:t,count:[],digits:0};let s=d...
  function noe (line 139) | function noe(t,e,r,s){let a=hKe(t,e),n=[],c=t,f;for(let p=0;p<a.length;p...
  function s4 (line 139) | function s4(t,e,r,s,a){let n=[];for(let c of t){let{string:f}=c;!s&&!ioe...
  function dKe (line 139) | function dKe(t,e){let r=[];for(let s=0;s<t.length;s++)r.push([t[s],e[s]]...
  function mKe (line 139) | function mKe(t,e){return t>e?1:e>t?-1:0}
  function ioe (line 139) | function ioe(t,e,r){return t.some(s=>s[e]===r)}
  function soe (line 139) | function soe(t,e){return Number(String(t).slice(0,-e)+"9".repeat(e))}
  function ooe (line 139) | function ooe(t,e){return t-t%Math.pow(10,e)}
  function aoe (line 139) | function aoe(t){let[e=0,r=""]=t;return r||e>1?`{${e+(r?","+r:"")}}`:""}
  function yKe (line 139) | function yKe(t,e,r){return`[${t}${e-t===1?"":"-"}${e}]`}
  function loe (line 139) | function loe(t){return/^-?(0+)\d/.test(t)}
  function EKe (line 139) | function EKe(t,e,r){if(!e.isPadded)return t;let s=Math.abs(e.maxLen-Stri...
  method extglobChars (line 140) | extglobChars(t){return{"!":{type:"negate",open:"(?:(?!(?:",close:`))${t....
  method globChars (line 140) | globChars(t){return t===!0?ize:Moe}
  function lae (line 140) | function lae(t){return Number.isSafeInteger(t)&&t>=0}
  function uae (line 140) | function uae(t){return t!=null&&typeof t!="function"&&lae(t.length)}
  function bc (line 140) | function bc(t){return t==="__proto__"}
  function NE (line 140) | function NE(t){switch(typeof t){case"number":case"symbol":return!1;case"...
  function OE (line 140) | function OE(t){return typeof t=="string"||typeof t=="symbol"?t:Object.is...
  function Mu (line 140) | function Mu(t){let e=[],r=t.length;if(r===0)return e;let s=0,a="",n="",c...
  function va (line 140) | function va(t,e,r){if(t==null)return r;switch(typeof e){case"string":{if...
  function Pze (line 140) | function Pze(t,e,r){if(e.length===0)return r;let s=t;for(let a=0;a<e.len...
  function C4 (line 140) | function C4(t){return t!==null&&(typeof t=="object"||typeof t=="function")}
  function ME (line 140) | function ME(t){return t==null||typeof t!="object"&&typeof t!="function"}
  function Ck (line 140) | function Ck(t,e){return t===e||Number.isNaN(t)&&Number.isNaN(e)}
  function Wd (line 140) | function Wd(t){return Object.getOwnPropertySymbols(t).filter(e=>Object.p...
  function Yd (line 140) | function Yd(t){return t==null?t===void 0?"[object Undefined]":"[object N...
  function GE (line 140) | function GE(t){return ArrayBuffer.isView(t)&&!(t instanceof DataView)}
  function mae (line 140) | function mae(t,e){return u0(t,void 0,t,new Map,e)}
  function u0 (line 140) | function u0(t,e,r,s=new Map,a=void 0){let n=a?.(t,e,r,s);if(n!=null)retu...
  function c0 (line 140) | function c0(t,e,r=t,s,a){let n=[...Object.keys(e),...Wd(e)];for(let c=0;...
  function xze (line 140) | function xze(t){switch(Yd(t)){case Vd:case xk:case kk:case Qk:case HE:ca...
  function yae (line 140) | function yae(t){return u0(t,void 0,t,new Map,void 0)}
  function Iae (line 140) | function Iae(t,e){return mae(t,(r,s,a,n)=>{let c=e?.(r,s,a,n);if(c!=null...
  function f0 (line 140) | function f0(t){return Iae(t)}
  function Gk (line 140) | function Gk(t,e=Number.MAX_SAFE_INTEGER){switch(typeof t){case"number":r...
  function BB (line 140) | function BB(t){return t!==null&&typeof t=="object"&&Yd(t)==="[object Arg...
  function vB (line 140) | function vB(t,e){let r;if(Array.isArray(e)?r=e:typeof e=="string"&&NE(e)...
  function P4 (line 140) | function P4(t){return typeof t=="object"&&t!==null}
  function Bae (line 140) | function Bae(t){return typeof t=="symbol"||t instanceof Symbol}
  function Sae (line 140) | function Sae(t,e){return Array.isArray(t)?!1:typeof t=="number"||typeof ...
  function A0 (line 140) | function A0(t,e){if(t==null)return!0;switch(typeof e){case"symbol":case"...
  function bae (line 140) | function bae(t,e){let r=va(t,e.slice(0,-1),t),s=e[e.length-1];if(r?.[s]=...
  function Pae (line 140) | function Pae(t){return t==null}
  function Tae (line 140) | function Tae(t,e,r,s){if(t==null&&!C4(t))return t;let a=Sae(e,t)?[e]:Arr...
  function Jd (line 140) | function Jd(t,e,r){return Tae(t,e,()=>r,()=>{})}
  function Fae (line 140) | function Fae(t,e=0,r={}){typeof r!="object"&&(r={});let s=null,a=null,n=...
  function Q4 (line 140) | function Q4(t,e=0,r={}){let{leading:s=!0,trailing:a=!0}=r;return Fae(t,e...
  function T4 (line 140) | function T4(t){if(t==null)return"";if(typeof t=="string")return t;if(Arr...
  function R4 (line 140) | function R4(t){if(!t||typeof t!="object")return!1;let e=Object.getProtot...
  function Uae (line 140) | function Uae(t,e,r){return SB(t,e,void 0,void 0,void 0,void 0,r)}
  function SB (line 140) | function SB(t,e,r,s,a,n,c){let f=c(t,e,r,s,a,n);if(f!==void 0)return f;i...
  function DB (line 140) | function DB(t,e,r,s){if(Object.is(t,e))return!0;let a=Yd(t),n=Yd(e);if(a...
  function Hae (line 140) | function Hae(){}
  function F4 (line 140) | function F4(t,e){return Uae(t,e,Hae)}
  function qae (line 140) | function qae(t){return GE(t)}
  function Yae (line 140) | function Yae(t){if(typeof t!="object"||t==null)return!1;if(Object.getPro...
  function Jae (line 140) | function Jae(t){if(ME(t))return t;if(Array.isArray(t)||GE(t)||t instance...
  function N4 (line 140) | function N4(t,...e){let r=e.slice(0,-1),s=e[e.length-1],a=t;for(let n=0;...
  function qk (line 140) | function qk(t,e,r,s){if(ME(t)&&(t=Object(t)),e==null||typeof e!="object"...
  function O4 (line 140) | function O4(t,...e){if(t==null)return{};let r=yae(t);for(let s=0;s<e.len...
  function Kd (line 140) | function Kd(t,...e){if(Pae(t))return{};let r={};for(let s=0;s<e.length;s...
  function $ae (line 140) | function $ae(t){return t.charAt(0).toUpperCase()+t.slice(1).toLowerCase()}
  function bB (line 140) | function bB(t){return $ae(T4(t))}
  function Rze (line 140) | function Rze(t){return!!(sle.default.valid(t)&&t.match(/^[^-]+(-rc\.[0-9...
  function Wk (line 140) | function Wk(t,{one:e,more:r,zero:s=r}){return t===0?s:t===1?e:r}
  function Fze (line 140) | function Fze(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}
  function Nze (line 140) | function Nze(t){}
  function G4 (line 140) | function G4(t){throw new Error(`Assertion failed: Unexpected object '${t...
  function Oze (line 140) | function Oze(t,e){let r=Object.values(t);if(!r.includes(e))throw new nt(...
  function Wl (line 140) | function Wl(t,e){let r=[];for(let s of t){let a=e(s);a!==ole&&r.push(a)}...
  function p0 (line 140) | function p0(t,e){for(let r of t){let s=e(r);if(s!==ale)return s}}
  function L4 (line 140) | function L4(t){return typeof t=="object"&&t!==null}
  function Uu (line 140) | async function Uu(t){let e=await Promise.allSettled(t),r=[];for(let s of...
  function Yk (line 140) | function Yk(t){if(t instanceof Map&&(t=Object.fromEntries(t)),L4(t))for(...
  function Yl (line 140) | function Yl(t,e,r){let s=t.get(e);return typeof s>"u"&&t.set(e,s=r()),s}
  function xB (line 140) | function xB(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=[]),r}
  function bp (line 140) | function bp(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Set),r}
  function q4 (line 140) | function q4(t,e){let r=t.get(e);return typeof r>"u"&&t.set(e,r=new Map),r}
  function Lze (line 140) | async function Lze(t,e){if(e==null)return await t();try{return await t()...
  function qE (line 140) | async function qE(t,e){try{return await t()}catch(r){throw r.message=e(r...
  function W4 (line 140) | function W4(t,e){try{return t()}catch(r){throw r.message=e(r.message),r}}
  function WE (line 140) | async function WE(t){return await new Promise((e,r)=>{let s=[];t.on("err...
  function lle (line 140) | function lle(){let t,e;return{promise:new Promise((s,a)=>{t=s,e=a}),reso...
  function cle (line 140) | function cle(t){return PB(fe.fromPortablePath(t))}
  function ule (line 140) | function ule(path){let physicalPath=fe.fromPortablePath(path),currentCac...
  function Mze (line 140) | function Mze(t){let e=rle.get(t),r=ce.statSync(t);if(e?.mtime===r.mtimeM...
  function Pp (line 140) | function Pp(t,{cachingStrategy:e=2}={}){switch(e){case 0:return ule(t);c...
  function qs (line 140) | function qs(t,e){let r=Array.from(t);Array.isArray(e)||(e=[e]);let s=[];...
  function Uze (line 140) | function Uze(t){return t.length===0?null:t.map(e=>`(${nle.default.makeRe...
  function Vk (line 140) | function Vk(t,{env:e}){let r=/\\?\${(?<variableName>[\d\w_]+)(?<colon>:)...
  function kB (line 140) | function kB(t){switch(t){case"true":case"1":case 1:case!0:return!0;case"...
  function Ale (line 140) | function Ale(t){return typeof t>"u"?t:kB(t)}
  function Y4 (line 140) | function Y4(t){try{return Ale(t)}catch{return null}}
  function _ze (line 140) | function _ze(t){return!!(fe.isAbsolute(t)||t.match(/^(\.{1,2}|~)\//))}
  function ple (line 140) | function ple(t,...e){let r=c=>({value:c}),s=r(t),a=e.map(c=>r(c)),{value...
  function Hze (line 140) | function Hze(...t){return ple({},...t)}
  function jze (line 140) | function jze(t,e){let r=Object.create(null);for(let s of t){let a=s[e];r...
  function YE (line 140) | function YE(t){return typeof t=="string"?Number.parseInt(t,10):t}
  function Jk (line 140) | function Jk(t,e){let r=Gze.exec(t)?.groups;if(!r)throw new Error(`Couldn...
  method constructor (line 140) | constructor(){super(...arguments);this.chunks=[]}
  method _transform (line 140) | _transform(r,s,a){if(s!=="buffer"||!Buffer.isBuffer(r))throw new Error("...
  method _flush (line 140) | _flush(r){r(null,Buffer.concat(this.chunks))}
  method constructor (line 140) | constructor(e){this.deferred=new Map;this.promises=new Map;this.limit=(0...
  method set (line 140) | set(e,r){let s=this.deferred.get(e);typeof s>"u"&&this.deferred.set(e,s=...
  method reduce (line 140) | reduce(e,r){let s=this.promises.get(e)??Promise.resolve();this.set(e,()=...
  method wait (line 140) | async wait(){await Promise.all(this.promises.values())}
  method constructor (line 140) | constructor(r=Buffer.alloc(0)){super();this.active=!0;this.ifEmpty=r}
  method _transform (line 140) | _transform(r,s,a){if(s!=="buffer"||!Buffer.isBuffer(r))throw new Error("...
  method _flush (line 140) | _flush(r){this.active&&this.ifEmpty.length>0?r(null,this.ifEmpty):r(null)}
  function gle (line 140) | function gle(t){let e=["KiB","MiB","GiB","TiB"],r=e.length;for(;r>1&&t<1...
  function Kk (line 140) | function Kk(t,e){if(Array.isArray(e))return e.length===0?ri(t,"[]",ht.CO...
  function _u (line 140) | function _u(t,e){return[e,t]}
  function zd (line 140) | function zd(t,e,r){return t.get("enableColors")&&r&2&&(e=TB.default.bold...
  function ri (line 140) | function ri(t,e,r){if(!t.get("enableColors"))return e;let s=qze.get(r);i...
  function KE (line 140) | function KE(t,e,r){return t.get("enableHyperlinks")?Wze?`\x1B]8;;${r}\x1...
  function Ht (line 140) | function Ht(t,e,r){if(e===null)return ri(t,"null",ht.NULL);if(Object.has...
  function Z4 (line 140) | function Z4(t,e,r,{separator:s=", "}={}){return[...e].map(a=>Ht(t,a,r))....
  function Xd (line 140) | function Xd(t,e){if(t===null)return null;if(Object.hasOwn(zk,e))return z...
  function Yze (line 140) | function Yze(t,e,[r,s]){return t?Xd(r,s):Ht(e,r,s)}
  function $4 (line 140) | function $4(t){return{Check:ri(t,"\u2713","green"),Cross:ri(t,"\u2718","...
  function Kf (line 140) | function Kf(t,{label:e,value:[r,s]}){return`${Ht(t,e,ht.CODE)}: ${Ht(t,r...
  function $k (line 140) | function $k(t,e,r){let s=[],a=[...e],n=r;for(;a.length>0;){let h=a[0],E=...
  function RB (line 140) | function RB(t,{configuration:e}){let r=e.get("logFilters"),s=new Map,a=n...
  function Vze (line 140) | function Vze(t){return t.reduce((e,r)=>[].concat(e,r),[])}
  function Jze (line 140) | function Jze(t,e){let r=[[]],s=0;for(let a of t)e(a)?(s++,r[s]=[]):r[s]....
  function Kze (line 140) | function Kze(t){return t.code==="ENOENT"}
  method constructor (line 140) | constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),...
  function zze (line 140) | function zze(t,e){return new r3(t,e)}
  function iXe (line 140) | function iXe(t){return t.replace(/\\/g,"/")}
  function sXe (line 140) | function sXe(t,e){return Zze.resolve(t,e)}
  function oXe (line 140) | function oXe(t){if(t.charAt(0)==="."){let e=t.charAt(1);if(e==="/"||e===...
  function n3 (line 140) | function n3(t){return t.replace(tXe,"\\$2")}
  function i3 (line 140) | function i3(t){return t.replace(eXe,"\\$2")}
  function Cle (line 140) | function Cle(t){return n3(t).replace(rXe,"//$1").replace(nXe,"/")}
  function wle (line 140) | function wle(t){return i3(t)}
  function Tle (line 140) | function Tle(t,e={}){return!Rle(t,e)}
  function Rle (line 140) | function Rle(t,e={}){return t===""?!1:!!(e.caseSensitiveMatch===!1||t.in...
  function DXe (line 140) | function DXe(t){let e=t.indexOf("{");if(e===-1)return!1;let r=t.indexOf(...
  function bXe (line 140) | function bXe(t){return nQ(t)?t.slice(1):t}
  function PXe (line 140) | function PXe(t){return"!"+t}
  function nQ (line 140) | function nQ(t){return t.startsWith("!")&&t[1]!=="("}
  function Fle (line 140) | function Fle(t){return!nQ(t)}
  function xXe (line 140) | function xXe(t){return t.filter(nQ)}
  function kXe (line 140) | function kXe(t){return t.filter(Fle)}
  function QXe (line 140) | function QXe(t){return t.filter(e=>!a3(e))}
  function TXe (line 140) | function TXe(t){return t.filter(a3)}
  function a3 (line 140) | function a3(t){return t.startsWith("..")||t.startsWith("./..")}
  function RXe (line 140) | function RXe(t){return yXe(t,{flipBackslashes:!1})}
  function FXe (line 140) | function FXe(t){return t.includes(Qle)}
  function Nle (line 140) | function Nle(t){return t.endsWith("/"+Qle)}
  function NXe (line 140) | function NXe(t){let e=mXe.basename(t);return Nle(t)||Tle(e)}
  function OXe (line 140) | function OXe(t){return t.reduce((e,r)=>e.concat(Ole(r)),[])}
  function Ole (line 140) | function Ole(t){let e=o3.braces(t,{expand:!0,nodupes:!0,keepEscaping:!0}...
  function LXe (line 140) | function LXe(t,e){let{parts:r}=o3.scan(t,Object.assign(Object.assign({},...
  function Lle (line 140) | function Lle(t,e){return o3.makeRe(t,e)}
  function MXe (line 140) | function MXe(t,e){return t.map(r=>Lle(r,e))}
  function UXe (line 140) | function UXe(t,e){return e.some(r=>r.test(t))}
  function _Xe (line 140) | function _Xe(t){return t.replace(SXe,"/")}
  function GXe (line 140) | function GXe(){let t=[],e=jXe.call(arguments),r=!1,s=e[e.length-1];s&&!A...
  function _le (line 140) | function _le(t,e){if(Array.isArray(t))for(let r=0,s=t.length;r<s;r++)t[r...
  function WXe (line 140) | function WXe(t){let e=qXe(t);return t.forEach(r=>{r.once("error",s=>e.em...
  function Gle (line 140) | function Gle(t){t.forEach(e=>e.emit("close"))}
  function YXe (line 140) | function YXe(t){return typeof t=="string"}
  function VXe (line 140) | function VXe(t){return t===""}
  function tZe (line 140) | function tZe(t,e){let r=Yle(t,e),s=Yle(e.ignore,e),a=Vle(r),n=Jle(r,s),c...
  function Yle (line 140) | function Yle(t,e){let r=t;return e.braceExpansion&&(r=Hu.pattern.expandP...
  function l3 (line 140) | function l3(t,e,r){let s=[],a=Hu.pattern.getPatternsOutsideCurrentDirect...
  function Vle (line 140) | function Vle(t){return Hu.pattern.getPositivePatterns(t)}
  function Jle (line 140) | function Jle(t,e){return Hu.pattern.getNegativePatterns(t).concat(e).map...
  function c3 (line 140) | function c3(t){let e={};return t.reduce((r,s)=>{let a=Hu.pattern.getBase...
  function u3 (line 140) | function u3(t,e,r){return Object.keys(t).map(s=>f3(s,t[s],e,r))}
  function f3 (line 140) | function f3(t,e,r,s){return{dynamic:s,positive:e,negative:r,base:t,patte...
  function rZe (line 140) | function rZe(t,e,r){e.fs.lstat(t,(s,a)=>{if(s!==null){zle(r,s);return}if...
  function zle (line 140) | function zle(t,e){t(e)}
  function A3 (line 140) | function A3(t,e){t(null,e)}
  function nZe (line 140) | function nZe(t,e){let r=e.fs.lstatSync(t);if(!r.isSymbolicLink()||!e.fol...
  function iZe (line 140) | function iZe(t){return t===void 0?h0.FILE_SYSTEM_ADAPTER:Object.assign(O...
  method constructor (line 140) | constructor(e={}){this._options=e,this.followSymbolicLink=this._getValue...
  method _getValue (line 140) | _getValue(e,r){return e??r}
  function aZe (line 140) | function aZe(t,e,r){if(typeof e=="function"){tce.read(t,d3(),e);return}t...
  function lZe (line 140) | function lZe(t,e){let r=d3(e);return oZe.read(t,r)}
  function d3 (line 140) | function d3(t={}){return t instanceof g3.default?t:new g3.default(t)}
  function uZe (line 140) | function uZe(t,e){let r,s,a,n=!0;Array.isArray(t)?(r=[],s=t.length):(a=O...
  method constructor (line 140) | constructor(e,r){this.name=e,this.isBlockDevice=r.isBlockDevice.bind(r),...
  function gZe (line 140) | function gZe(t,e){return new y3(t,e)}
  function mZe (line 140) | function mZe(t,e,r){return t.endsWith(r)?t+e:t+r+e}
  function IZe (line 140) | function IZe(t,e,r){if(!e.stats&&EZe.IS_SUPPORT_READDIR_WITH_FILE_TYPES)...
  function pce (line 140) | function pce(t,e,r){e.fs.readdir(t,{withFileTypes:!0},(s,a)=>{if(s!==nul...
  function CZe (line 140) | function CZe(t,e){return r=>{if(!t.dirent.isSymbolicLink()){r(null,t);re...
  function hce (line 140) | function hce(t,e,r){e.fs.readdir(t,(s,a)=>{if(s!==null){pQ(r,s);return}l...
  function pQ (line 140) | function pQ(t,e){t(e)}
  function C3 (line 140) | function C3(t,e){t(null,e)}
  function vZe (line 140) | function vZe(t,e){return!e.stats&&BZe.IS_SUPPORT_READDIR_WITH_FILE_TYPES...
  function yce (line 140) | function yce(t,e){return e.fs.readdirSync(t,{withFileTypes:!0}).map(s=>{...
  function Ece (line 140) | function Ece(t,e){return e.fs.readdirSync(t).map(s=>{let a=mce.joinPathS...
  function SZe (line 140) | function SZe(t){return t===void 0?y0.FILE_SYSTEM_ADAPTER:Object.assign(O...
  method constructor (line 140) | constructor(e={}){this._options=e,this.followSymbolicLinks=this._getValu...
  method _getValue (line 140) | _getValue(e,r){return e??r}
  function kZe (line 140) | function kZe(t,e,r){if(typeof e=="function"){Bce.read(t,S3(),e);return}B...
  function QZe (line 140) | function QZe(t,e){let r=S3(e);return xZe.read(t,r)}
  function S3 (line 140) | function S3(t={}){return t instanceof v3.default?t:new v3.default(t)}
  function TZe (line 140) | function TZe(t){var e=new t,r=e;function s(){var n=e;return n.next?e=n.n...
  function Dce (line 140) | function Dce(t,e,r){if(typeof t=="function"&&(r=e,e=t,t=null),!(r>=1))th...
  function kc (line 140) | function kc(){}
  function FZe (line 140) | function FZe(){this.value=null,this.callback=kc,this.next=null,this.rele...
  function NZe (line 140) | function NZe(t,e,r){typeof t=="function"&&(r=e,e=t,t=null);function s(E,...
  function OZe (line 140) | function OZe(t,e){return t.errorFilter===null?!0:!t.errorFilter(e)}
  function LZe (line 140) | function LZe(t,e){return t===null||t(e)}
  function MZe (line 140) | function MZe(t,e){return t.split(/[/\\]/).join(e)}
  function UZe (line 140) | function UZe(t,e,r){return t===""?e:t.endsWith(r)?t+e:t+r+e}
  method constructor (line 140) | constructor(e,r){this._root=e,this._settings=r,this._root=_Ze.replacePat...
  method constructor (line 140) | constructor(e,r){super(e,r),this._settings=r,this._scandir=jZe.scandir,t...
  method read (line 140) | read(){return this._isFatalError=!1,this._isDestroyed=!1,setImmediate(()...
  method isDestroyed (line 140) | get isDestroyed(){return this._isDestroyed}
  method destroy (line 140) | destroy(){if(this._isDestroyed)throw new Error("The reader is already de...
  method onEntry (line 140) | onEntry(e){this._emitter.on("entry",e)}
  method onError (line 140) | onError(e){this._emitter.once("error",e)}
  method onEnd (line 140) | onEnd(e){this._emitter.once("end",e)}
  method _pushToQueue (line 140) | _pushToQueue(e,r){let s={directory:e,base:r};this._queue.push(s,a=>{a!==...
  method _worker (line 140) | _worker(e,r){this._scandir(e.directory,this._settings.fsScandirSettings,...
  method _handleError (line 140) | _handleError(e){this._isDestroyed||!dQ.isFatalError(this._settings,e)||(...
  method _handleEntry (line 140) | _handleEntry(e,r){if(this._isDestroyed||this._isFatalError)return;let s=...
  method _emitEntry (line 140) | _emitEntry(e){this._emitter.emit("entry",e)}
  method constructor (line 140) | constructor(e,r){this._root=e,this._settings=r,this._reader=new WZe.defa...
  method read (line 140) | read(e){this._reader.onError(r=>{YZe(e,r)}),this._reader.onEntry(r=>{thi...
  function YZe (line 140) | function YZe(t,e){t(e)}
  function VZe (line 140) | function VZe(t,e){t(null,e)}
  method constructor (line 140) | constructor(e,r){this._root=e,this._settings=r,this._reader=new KZe.defa...
  method read (line 140) | read(){return this._reader.onError(e=>{this._stream.emit("error",e)}),th...
  method constructor (line 140) | constructor(){super(...arguments),this._scandir=zZe.scandirSync,this._st...
  method read (line 140) | read(){return this._pushToQueue(this._root,this._settings.basePath),this...
  method _pushToQueue (line 140) | _pushToQueue(e,r){this._queue.add({directory:e,base:r})}
  method _handleQueue (line 140) | _handleQueue(){for(let e of this._queue.values())this._handleDirectory(e...
  method _handleDirectory (line 140) | _handleDirectory(e,r){try{let s=this._scandir(e,this._settings.fsScandir...
  method _handleError (line 140) | _handleError(e){if(mQ.isFatalError(this._settings,e))throw e}
  method _handleEntry (line 140) | _handleEntry(e,r){let s=e.path;r!==void 0&&(e.path=mQ.joinPathSegments(r...
  method _pushToStorage (line 140) | _pushToStorage(e){this._storage.push(e)}
  method constructor (line 140) | constructor(e,r){this._root=e,this._settings=r,this._reader=new ZZe.defa...
  method read (line 140) | read(){return this._reader.read()}
  method constructor (line 140) | constructor(e={}){this._options=e,this.basePath=this._getValue(this._opt...
  method _getValue (line 140) | _getValue(e,r){return e??r}
  function n$e (line 140) | function n$e(t,e,r){if(typeof e=="function"){new Rce.default(t,yQ()).rea...
  function i$e (line 140) | function i$e(t,e){let r=yQ(e);return new r$e.default(t,r).read()}
  function s$e (line 140) | function s$e(t,e){let r=yQ(e);return new t$e.default(t,r).read()}
  function yQ (line 140) | function yQ(t={}){return t instanceof G3.default?t:new G3.default(t)}
  method constructor (line 140) | constructor(e){this._settings=e,this._fsStatSettings=new a$e.Settings({f...
  method _getFullEntryPath (line 140) | _getFullEntryPath(e){return o$e.resolve(this._settings.cwd,e)}
  method _makeEntry (line 140) | _makeEntry(e,r){let s={name:r,path:r,dirent:Fce.fs.createDirentFromStats...
  method _isFatalError (line 140) | _isFatalError(e){return!Fce.errno.isEnoentCodeError(e)&&!this._settings....
  method constructor (line 140) | constructor(){super(...arguments),this._walkStream=u$e.walkStream,this._...
  method dynamic (line 140) | dynamic(e,r){return this._walkStream(e,r)}
  method static (line 140) | static(e,r){let s=e.map(this._getFullEntryPath,this),a=new l$e.PassThrou...
  method _getEntry (line 140) | _getEntry(e,r,s){return this._getStat(e).then(a=>this._makeEntry(a,r)).c...
  method _getStat (line 140) | _getStat(e){return new Promise((r,s)=>{this._stat(e,this._fsStatSettings...
  method constructor (line 140) | constructor(){super(...arguments),this._walkAsync=A$e.walk,this._readerS...
  method dynamic (line 140) | dynamic(e,r){return new Promise((s,a)=>{this._walkAsync(e,r,(n,c)=>{n===...
  method static (line 140) | async static(e,r){let s=[],a=this._readerStream.static(e,r);return new P...
  method constructor (line 140) | constructor(e,r,s){this._patterns=e,this._settings=r,this._micromatchOpt...
  method _fillStorage (line 140) | _fillStorage(){for(let e of this._patterns){let r=this._getPatternSegmen...
  method _getPatternSegments (line 140) | _getPatternSegments(e){return NB.pattern.getPatternParts(e,this._microma...
  method _splitSegmentsIntoSections (line 140) | _splitSegmentsIntoSections(e){return NB.array.splitWhen(e,r=>r.dynamic&&...
  method match (line 140) | match(e){let r=e.split("/"),s=r.length,a=this._storage.filter(n=>!n.comp...
  method constructor (line 140) | constructor(e,r){this._settings=e,this._micromatchOptions=r}
  method getFilter (line 140) | getFilter(e,r,s){let a=this._getMatcher(r),n=this._getNegativePatternsRe...
  method _getMatcher (line 140) | _getMatcher(e){return new d$e.default(e,this._settings,this._micromatchO...
  method _getNegativePatternsRe (line 140) | _getNegativePatternsRe(e){let r=e.filter(CQ.pattern.isAffectDepthOfReadi...
  method _filter (line 140) | _filter(e,r,s,a){if(this._isSkippedByDeep(e,r.path)||this._isSkippedSymb...
  method _isSkippedByDeep (line 140) | _isSkippedByDeep(e,r){return this._settings.deep===1/0?!1:this._getEntry...
  method _getEntryLevel (line 140) | _getEntryLevel(e,r){let s=r.split("/").length;if(e==="")return s;let a=e...
  method _isSkippedSymbolicLink (line 140) | _isSkippedSymbolicLink(e){return!this._settings.followSymbolicLinks&&e.d...
  method _isSkippedByPositivePatterns (line 140) | _isSkippedByPositivePatterns(e,r){return!this._settings.baseNameMatch&&!...
  method _isSkippedByNegativePatterns (line 140) | _isSkippedByNegativePatterns(e,r){return!CQ.pattern.matchAny(e,r)}
  method constructor (line 140) | constructor(e,r){this._settings=e,this._micromatchOptions=r,this.index=n...
  method getFilter (line 140) | getFilter(e,r){let s=$d.pattern.convertPatternsToRe(e,this._micromatchOp...
  method _filter (line 140) | _filter(e,r,s){let a=$d.path.removeLeadingDotSegment(e.path);if(this._se...
  method _isDuplicateEntry (line 140) | _isDuplicateEntry(e){return this.index.has(e)}
  method _createIndexRecord (line 140) | _createIndexRecord(e){this.index.set(e,void 0)}
  method _onlyFileFilter (line 140) | _onlyFileFilter(e){return this._settings.onlyFiles&&!e.dirent.isFile()}
  method _onlyDirectoryFilter (line 140) | _onlyDirectoryFilter(e){return this._settings.onlyDirectories&&!e.dirent...
  method _isSkippedByAbsoluteNegativePatterns (line 140) | _isSkippedByAbsoluteNegativePatterns(e,r){if(!this._settings.absolute)re...
  method _isMatchToPatterns (line 140) | _isMatchToPatterns(e,r,s){let a=$d.pattern.matchAny(e,r);return!a&&s?$d....
  method constructor (line 140) | constructor(e){this._settings=e}
  method getFilter (line 140) | getFilter(){return e=>this._isNonFatalError(e)}
  method _isNonFatalError (line 140) | _isNonFatalError(e){return m$e.errno.isEnoentCodeError(e)||this._setting...
  method constructor (line 140) | constructor(e){this._settings=e}
  method getTransformer (line 140) | getTransformer(){return e=>this._transform(e)}
  method _transform (line 140) | _transform(e){let r=e.path;return this._settings.absolute&&(r=Hce.path.m...
  method constructor (line 140) | constructor(e){this._settings=e,this.errorFilter=new C$e.default(this._s...
  method _getRootDirectory (line 140) | _getRootDirectory(e){return y$e.resolve(this._settings.cwd,e.base)}
  method _getReaderOptions (line 140) | _getReaderOptions(e){let r=e.base==="."?"":e.base;return{basePath:r,path...
  method _getMicromatchOptions (line 140) | _getMicromatchOptions(){return{dot:this._settings.dot,matchBase:this._se...
  method constructor (line 140) | constructor(){super(...arguments),this._reader=new B$e.default(this._set...
  method read (line 140) | async read(e){let r=this._getRootDirectory(e),s=this._getReaderOptions(e...
  method api (line 140) | api(e,r,s){return r.dynamic?this._reader.dynamic(e,s):this._reader.stati...
  method constructor (line 140) | constructor(){super(...arguments),this._reader=new D$e.default(this._set...
  method read (line 140) | read(e){let r=this._getRootDirectory(e),s=this._getReaderOptions(e),a=th...
  method api (line 140) | api(e,r,s){return r.dynamic?this._reader.dynamic(e,s):this._reader.stati...
  method constructor (line 140) | constructor(){super(...arguments),this._walkSync=x$e.walkSync,this._stat...
  method dynamic (line 140) | dynamic(e,r){return this._walkSync(e,r)}
  method static (line 140) | static(e,r){let s=[];for(let a of e){let n=this._getFullEntryPath(a),c=t...
  method _getEntry (line 140) | _getEntry(e,r,s){try{let a=this._getStat(e);return this._makeEntry(a,r)}...
  method _getStat (line 140) | _getStat(e){return this._statSync(e,this._fsStatSettings)}
  method constructor (line 140) | constructor(){super(...arguments),this._reader=new Q$e.default(this._set...
  method read (line 140) | read(e){let r=this._getRootDirectory(e),s=this._getReaderOptions(e);retu...
  method api (line 140) | api(e,r,s){return r.dynamic?this._reader.dynamic(e,s):this._reader.stati...
  method constructor (line 140) | constructor(e={}){this._options=e,this.absolute=this._getValue(this._opt...
  method _getValue (line 140) | _getValue(e,r){return e===void 0?r:e}
  method _getFileSystemMethods (line 140) | _getFileSystemMethods(e={}){return Object.assign(Object.assign({},eI.DEF...
  function C8 (line 140) | async function C8(t,e){ju(t);let r=w8(t,N$e.default,e),s=await Promise.a...
  function e (line 140) | function e(h,E){ju(h);let C=w8(h,L$e.default,E);return Qc.array.flatten(C)}
    method constructor (line 226) | constructor(s){super(s)}
    method submit (line 226) | async submit(){this.value=await t.call(this,this.values,this.state),su...
    method create (line 226) | static create(s){return pme(s)}
  function r (line 140) | function r(h,E){ju(h);let C=w8(h,O$e.default,E);return Qc.stream.merge(C)}
    method constructor (line 226) | constructor(a){super({...a,choices:e})}
    method create (line 226) | static create(a){return gme(a)}
  function s (line 140) | function s(h,E){ju(h);let C=[].concat(h),S=new I8.default(E);return Jce....
  function a (line 140) | function a(h,E){ju(h);let C=new I8.default(E);return Qc.pattern.isDynami...
  function n (line 140) | function n(h){return ju(h),Qc.path.escape(h)}
  function c (line 140) | function c(h){return ju(h),Qc.path.convertPathToPattern(h)}
  function E (line 140) | function E(S){return ju(S),Qc.path.escapePosixPath(S)}
  function C (line 140) | function C(S){return ju(S),Qc.path.convertPosixPathToPattern(S)}
  function E (line 140) | function E(S){return ju(S),Qc.path.escapeWindowsPath(S)}
  function C (line 140) | function C(S){return ju(S),Qc.path.convertWindowsPathToPattern(S)}
  function w8 (line 140) | function w8(t,e,r){let s=[].concat(t),a=new I8.default(r),n=Jce.generate...
  function ju (line 140) | function ju(t){if(![].concat(t).every(s=>Qc.string.isString(s)&&!Qc.stri...
  function us (line 140) | function us(...t){let e=(0,vQ.createHash)("sha512"),r="";for(let s of t)...
  function SQ (line 140) | async function SQ(t,{baseFs:e,algorithm:r}={baseFs:ce,algorithm:"sha512"...
  function DQ (line 140) | async function DQ(t,{cwd:e}){let s=(await(0,B8.default)(t,{cwd:fe.fromPo...
  function Da (line 140) | function Da(t,e){if(t?.startsWith("@"))throw new Error("Invalid scope: d...
  function On (line 140) | function On(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,...
  function Ws (line 140) | function Ws(t,e){return{identHash:t.identHash,scope:t.scope,name:t.name,...
  function _$e (line 140) | function _$e(t){return{identHash:t.identHash,scope:t.scope,name:t.name}}
  function bQ (line 140) | function bQ(t){return{identHash:t.identHash,scope:t.scope,name:t.name,lo...
  function S8 (line 140) | function S8(t){return{identHash:t.identHash,scope:t.scope,name:t.name,de...
  function H$e (line 140) | function H$e(t){return{identHash:t.identHash,scope:t.scope,name:t.name,l...
  function D8 (line 140) | function D8(t,e){return{identHash:e.identHash,scope:e.scope,name:e.name,...
  function LB (line 140) | function LB(t){return D8(t,t)}
  function b8 (line 140) | function b8(t,e){if(e.includes("#"))throw new Error("Invalid entropy");r...
  function P8 (line 140) | function P8(t,e){if(e.includes("#"))throw new Error("Invalid entropy");r...
  function kp (line 140) | function kp(t){return t.range.startsWith(OB)}
  function Gu (line 140) | function Gu(t){return t.reference.startsWith(OB)}
  function MB (line 140) | function MB(t){if(!kp(t))throw new Error("Not a virtual descriptor");ret...
  function rI (line 140) | function rI(t){if(!Gu(t))throw new Error("Not a virtual descriptor");ret...
  function j$e (line 140) | function j$e(t){return kp(t)?On(t,t.range.replace(PQ,"")):t}
  function G$e (line 140) | function G$e(t){return Gu(t)?Ws(t,t.reference.replace(PQ,"")):t}
  function q$e (line 140) | function q$e(t,e){return t.range.includes("::")?t:On(t,`${t.range}::${tI...
  function W$e (line 140) | function W$e(t,e){return t.reference.includes("::")?t:Ws(t,`${t.referenc...
  function UB (line 140) | function UB(t,e){return t.identHash===e.identHash}
  function eue (line 140) | function eue(t,e){return t.descriptorHash===e.descriptorHash}
  function _B (line 140) | function _B(t,e){return t.locatorHash===e.locatorHash}
  function Y$e (line 140) | function Y$e(t,e){if(!Gu(t))throw new Error("Invalid package type");if(!...
  function Sa (line 140) | function Sa(t){let e=tue(t);if(!e)throw new Error(`Invalid ident (${t})`...
  function tue (line 140) | function tue(t){let e=t.match(V$e);if(!e)return null;let[,r,s]=e;return ...
  function C0 (line 140) | function C0(t,e=!1){let r=HB(t,e);if(!r)throw new Error(`Invalid descrip...
  function HB (line 140) | function HB(t,e=!1){let r=e?t.match(J$e):t.match(K$e);if(!r)return null;...
  function Qp (line 140) | function Qp(t,e=!1){let r=xQ(t,e);if(!r)throw new Error(`Invalid locator...
  function xQ (line 140) | function xQ(t,e=!1){let r=e?t.match(z$e):t.match(X$e);if(!r)return null;...
  function em (line 140) | function em(t,e){let r=t.match(Z$e);if(r===null)throw new Error(`Invalid...
  function $$e (line 140) | function $$e(t,e){try{return em(t,e)}catch{return null}}
  function eet (line 140) | function eet(t,{protocol:e}){let{selector:r,params:s}=em(t,{requireProto...
  function zce (line 140) | function zce(t){return t=t.replaceAll("%","%25"),t=t.replaceAll(":","%3A...
  function tet (line 140) | function tet(t){return t===null?!1:Object.entries(t).length>0}
  function kQ (line 140) | function kQ({protocol:t,source:e,selector:r,params:s}){let a="";return t...
  function ret (line 140) | function ret(t){let{params:e,protocol:r,source:s,selector:a}=em(t);for(l...
  function un (line 140) | function un(t){return t.scope?`@${t.scope}/${t.name}`:`${t.name}`}
  function net (line 140) | function net(t,e){return t.scope?Da(e,`${t.scope}__${t.name}`):Da(e,t.na...
  function iet (line 140) | function iet(t,e){if(t.scope!==e)return t;let r=t.name.indexOf("__");if(...
  function al (line 140) | function al(t){return t.scope?`@${t.scope}/${t.name}@${t.range}`:`${t.na...
  function ll (line 140) | function ll(t){return t.scope?`@${t.scope}/${t.name}@${t.reference}`:`${...
  function v8 (line 140) | function v8(t){return t.scope!==null?`@${t.scope}-${t.name}`:t.name}
  function nI (line 140) | function nI(t){let{protocol:e,selector:r}=em(t.reference),s=e!==null?e.r...
  function $i (line 140) | function $i(t,e){return e.scope?`${Ht(t,`@${e.scope}/`,ht.SCOPE)}${Ht(t,...
  function QQ (line 140) | function QQ(t){if(t.startsWith(OB)){let e=QQ(t.substring(t.indexOf("#")+...
  function iI (line 140) | function iI(t,e){return`${Ht(t,QQ(e),ht.RANGE)}`}
  function ni (line 140) | function ni(t,e){return`${$i(t,e)}${Ht(t,"@",ht.RANGE)}${iI(t,e.range)}`}
  function jB (line 140) | function jB(t,e){return`${Ht(t,QQ(e),ht.REFERENCE)}`}
  function Yr (line 140) | function Yr(t,e){return`${$i(t,e)}${Ht(t,"@",ht.REFERENCE)}${jB(t,e.refe...
  function e3 (line 140) | function e3(t){return`${un(t)}@${QQ(t.reference)}`}
  function sI (line 140) | function sI(t){return qs(t,[e=>un(e),e=>e.range])}
  function GB (line 140) | function GB(t,e){return $i(t,e.anchoredLocator)}
  function FB (line 140) | function FB(t,e,r){let s=kp(e)?MB(e):e;return r===null?`${ni(t,s)} \u219...
  function t3 (line 140) | function t3(t,e,r){return r===null?`${Yr(t,e)}`:`${Yr(t,e)} (via ${iI(t,...
  function x8 (line 140) | function x8(t){return`node_modules/${un(t)}`}
  function TQ (line 140) | function TQ(t,e){return t.conditions?U$e(t.conditions,r=>{let[,s,a]=r.ma...
  function qB (line 140) | function qB(t){let e=new Set;if("children"in t)e.add(t);else for(let r o...
  method supportsDescriptor (line 140) | supportsDescriptor(e,r){return!!(e.range.startsWith(t.protocol)||r.proje...
  method supportsLocator (line 140) | supportsLocator(e,r){return!!e.reference.startsWith(t.protocol)}
  method shouldPersistResolution (line 140) | shouldPersistResolution(e,r){return!1}
  method bindDescriptor (line 140) | bindDescriptor(e,r,s){return e}
  method getResolutionDependencies (line 140) | getResolutionDependencies(e,r){return{}}
  method getCandidates (line 140) | async getCandidates(e,r,s){return[s.project.getWorkspaceByDescriptor(e)....
  method getSatisfying (line 140) | async getSatisfying(e,r,s,a){let[n]=await this.getCandidates(e,r,a);retu...
  method resolve (line 140) | async resolve(e,r){let s=r.project.getWorkspaceByCwd(e.reference.slice(t...
  function Zf (line 140) | function Zf(t,e,r=!1){if(!t)return!1;let s=`${e}${r}`,a=iue.get(s);if(ty...
  function cl (line 140) | function cl(t){if(t.indexOf(":")!==-1)return null;let e=sue.get(t);if(ty...
  function cet (line 140) | function cet(t){let e=aet.exec(t);return e?e[1]:null}
  function oue (line 140) | function oue(t){if(t.semver===Tp.default.Comparator.ANY)return{gt:null,l...
  function k8 (line 140) | function k8(t){if(t.length===0)return null;let e=null,r=null;for(let s o...
  function aue (line 140) | function aue(t){if(t.gt&&t.lt){if(t.gt[0]===">="&&t.lt[0]==="<="&&t.gt[1...
  function Q8 (line 140) | function Q8(t){let e=t.map(uet).map(s=>cl(s).set.map(a=>a.map(n=>oue(n))...
  function uet (line 140) | function uet(t){let e=t.split("||");if(e.length>1){let r=new Set;for(let...
  function cue (line 140) | function cue(t){let e=t.match(/^[ \t]+/m);return e?e[0]:"  "}
  function uue (line 140) | function uue(t){return t.charCodeAt(0)===65279?t.slice(1):t}
  function ba (line 140) | function ba(t){return t.replace(/\\/g,"/")}
  function RQ (line 140) | function RQ(t,{yamlCompatibilityMode:e}){return e?Y4(t):typeof t>"u"||ty...
  function fue (line 140) | function fue(t,e){let r=e.search(/[^!]/);if(r===-1)return"invalid";let s...
  function T8 (line 140) | function T8(t,e){return e.length===1?fue(t,e[0]):`(${e.map(r=>fue(t,r))....
  method constructor (line 140) | constructor(){this.indent="  ";this.name=null;this.version=null;this.os=...
  method tryFind (line 140) | static async tryFind(e,{baseFs:r=new Yn}={}){let s=J.join(e,"package.jso...
  method find (line 140) | static async find(e,{baseFs:r}={}){let s=await t.tryFind(e,{baseFs:r});i...
  method fromFile (line 140) | static async fromFile(e,{baseFs:r=new Yn}={}){let s=new t;return await s...
  method fromText (line 140) | static fromText(e){let r=new t;return r.loadFromText(e),r}
  method loadFromText (line 140) | loadFromText(e){let r;try{r=JSON.parse(uue(e)||"{}")}catch(s){throw s.me...
  method loadFile (line 140) | async loadFile(e,{baseFs:r=new Yn}){let s=await r.readFilePromise(e,"utf...
  method load (line 140) | load(e,{yamlCompatibilityMode:r=!1}={}){if(typeof e!="object"||e===null)...
  method getForScope (line 140) | getForScope(e){switch(e){case"dependencies":return this.dependencies;cas...
  method hasConsumerDependency (line 140) | hasConsumerDependency(e){return!!(this.dependencies.has(e.identHash)||th...
  method hasHardDependency (line 140) | hasHardDependency(e){return!!(this.dependencies.has(e.identHash)||this.d...
  method hasSoftDependency (line 140) | hasSoftDependency(e){return!!this.peerDependencies.has(e.identHash)}
  method hasDependency (line 140) | hasDependency(e){return!!(this.hasHardDependency(e)||this.hasSoftDepende...
  method getConditions (line 140) | getConditions(){let e=[];return this.os&&this.os.length>0&&e.push(T8("os...
  method ensureDependencyMeta (line 140) | ensureDependencyMeta(e){if(e.range!=="unknown"&&!Aue.default.valid(e.ran...
  method ensurePeerDependencyMeta (line 140) | ensurePeerDependencyMeta(e){if(e.range!=="unknown")throw new Error(`Inva...
  method setRawField (line 140) | setRawField(e,r,{after:s=[]}={}){let a=new Set(s.filter(n=>Object.hasOwn...
  method exportTo (line 140) | exportTo(e,{compatibilityMode:r=!0}={}){if(Object.assign(e,this.raw),thi...
  function Aet (line 140) | function Aet(t){return typeof t.reportCode<"u"}
  method constructor (line 140) | constructor(r,s,a){super(s);this.reportExtra=a;this.reportCode=r}
  method constructor (line 140) | constructor(){this.cacheHits=new Set;this.cacheMisses=new Set;this.repor...
  method getRecommendedLength (line 140) | getRecommendedLength(){return 180}
  method reportCacheHit (line 140) | reportCacheHit(e){this.cacheHits.add(e.locatorHash)}
  method reportCacheMiss (line 140) | reportCacheMiss(e,r){this.cacheMisses.add(e.locatorHash)}
  method progressViaCounter (line 140) | static progressViaCounter(e){let r=0,s,a=new Promise(p=>{s=p}),n=p=>{let...
  method progressViaTitle (line 140) | static progressViaTitle(){let e,r,s=new Promise(c=>{r=c}),a=Q4(c=>{let f...
  method startProgressPromise (line 140) | async startProgressPromise(e,r){let s=this.reportProgress(e);try{return ...
  method startProgressSync (line 140) | startProgressSync(e,r){let s=this.reportProgress(e);try{return r(e)}fina...
  method reportInfoOnce (line 140) | reportInfoOnce(e,r,s){let a=s&&s.key?s.key:r;this.reportedInfos.has(a)||...
  method reportWarningOnce (line 140) | reportWarningOnce(e,r,s){let a=s&&s.key?s.key:r;this.reportedWarnings.ha...
  method reportErrorOnce (line 140) | reportErrorOnce(e,r,s){let a=s&&s.key?s.key:r;this.reportedErrors.has(a)...
  method reportExceptionOnce (line 140) | reportExceptionOnce(e){Aet(e)?this.reportErrorOnce(e.reportCode,e.messag...
  method createStreamReporter (line 140) | createStreamReporter(e=null){let r=new pue.PassThrough,s=new hue.StringD...
  method constructor (line 141) | constructor(e){this.fetchers=e}
  method supports (line 141) | supports(e,r){return!!this.tryFetcher(e,r)}
  method getLocalPath (line 141) | getLocalPath(e,r){return this.getFetcher(e,r).getLocalPath(e,r)}
  method fetch (line 141) | async fetch(e,r){return await this.getFetcher(e,r).fetch(e,r)}
  method tryFetcher (line 141) | tryFetcher(e,r){let s=this.fetchers.find(a=>a.supports(e,r));return s||n...
  method getFetcher (line 141) | getFetcher(e,r){let s=this.fetchers.find(a=>a.supports(e,r));if(!s)throw...
  method constructor (line 141) | constructor(e){this.resolvers=e.filter(r=>r)}
  method supportsDescriptor (line 141) | supportsDescriptor(e,r){return!!this.tryResolverByDescriptor(e,r)}
  method supportsLocator (line 141) | supportsLocator(e,r){return!!this.tryResolverByLocator(e,r)}
  method shouldPersistResolution (line 141) | shouldPersistResolution(e,r){return this.getResolverByLocator(e,r).shoul...
  method bindDescriptor (line 141) | bindDescriptor(e,r,s){return this.getResolverByDescriptor(e,s).bindDescr...
  method getResolutionDependencies (line 141) | getResolutionDependencies(e,r){return this.getResolverByDescriptor(e,r)....
  method getCandidates (line 141) | async getCandidates(e,r,s){return await this.getResolverByDescriptor(e,s...
  method getSatisfying (line 141) | async getSatisfying(e,r,s,a){return this.getResolverByDescriptor(e,a).ge...
  method resolve (line 141) | async resolve(e,r){return await this.getResolverByLocator(e,r).resolve(e...
  method tryResolverByDescriptor (line 141) | tryResolverByDescriptor(e,r){let s=this.resolvers.find(a=>a.supportsDesc...
  method getResolverByDescriptor (line 141) | getResolverByDescriptor(e,r){let s=this.resolvers.find(a=>a.supportsDesc...
  method tryResolverByLocator (line 141) | tryResolverByLocator(e,r){let s=this.resolvers.find(a=>a.supportsLocator...
  method getResolverByLocator (line 141) | getResolverByLocator(e,r){let s=this.resolvers.find(a=>a.supportsLocator...
  method supports (line 141) | supports(e){return!!e.reference.startsWith("virtual:")}
  method getLocalPath (line 141) | getLocalPath(e,r){let s=e.reference.indexOf("#");if(s===-1)throw new Err...
  method fetch (line 141) | async fetch(e,r){let s=e.reference.indexOf("#");if(s===-1)throw new Erro...
  method getLocatorFilename (line 141) | getLocatorFilename(e){return nI(e)}
  method ensureVirtualLink (line 141) | async ensureVirtualLink(e,r,s){let a=r.packageFs.getRealPath(),n=s.proje...
  method isVirtualDescriptor (line 141) | static isVirtualDescriptor(e){return!!e.range.startsWith(t.protocol)}
  method isVirtualLocator (line 141) | static isVirtualLocator(e){return!!e.reference.startsWith(t.protocol)}
  method supportsDescriptor (line 141) | supportsDescriptor(e,r){return t.isVirtualDescriptor(e)}
  method supportsLocator (line 141) | supportsLocator(e,r){return t.isVirtualLocator(e)}
  method shouldPersistResolution (line 141) | shouldPersistResolution(e,r){return!1}
  method bindDescriptor (line 141) | bindDescriptor(e,r,s){throw new Error('Assertion failed: calling "bindDe...
  method getResolutionDependencies (line 141) | getResolutionDependencies(e,r){throw new Error('Assertion failed: callin...
  method getCandidates (line 141) | async getCandidates(e,r,s){throw new Error('Assertion failed: calling "g...
  method getSatisfying (line 141) | async getSatisfying(e,r,s,a){throw new Error('Assertion failed: calling ...
  method resolve (line 141) | async resolve(e,r){throw new Error('Assertion failed: calling "resolve" ...
  method supports (line 141) | supports(e){return!!e.reference.startsWith(Ei.protocol)}
  method getLocalPath (line 141) | getLocalPath(e,r){return this.getWorkspace(e,r).cwd}
  method fetch (line 141) | async fetch(e,r){let s=this.getWorkspace(e,r).cwd;return{packageFs:new S...
  method getWorkspace (line 141) | getWorkspace(e,r){return r.project.getWorkspaceByCwd(e.reference.slice(E...
  function WB (line 141) | function WB(t){return typeof t=="object"&&t!==null&&!Array.isArray(t)}
  function due (line 141) | function due(t){return typeof t>"u"?3:WB(t)?0:Array.isArray(t)?1:2}
  function U8 (line 141) | function U8(t,e){return Object.hasOwn(t,e)}
  function het (line 141) | function het(t){return WB(t)&&U8(t,"onConflict")&&typeof t.onConflict=="...
  function get (line 141) | function get(t){if(typeof t>"u")return{onConflict:"default",value:t};if(...
  function mue (line 141) | function mue(t,e){let r=WB(t)&&U8(t,e)?t[e]:void 0;return get(r)}
  function uI (line 141) | function uI(t,e){return[t,e,yue]}
  function _8 (line 141) | function _8(t){return Array.isArray(t)?t[2]===yue:!1}
  function L8 (line 141) | function L8(t,e){if(WB(t)){let r={};for(let s of Object.keys(t))r[s]=L8(...
  function M8 (line 141) | function M8(t,e,r,s,a){let n,c=[],f=a,p=0;for(let E=a-1;E>=s;--E){let[C,...
  function Eue (line 141) | function Eue(t){return M8(t.map(([e,r])=>[e,{".":r}]),[],".",0,t.length)}
  function YB (line 141) | function YB(t){return _8(t)?t[1]:t}
  function NQ (line 141) | function NQ(t){let e=_8(t)?t[1]:t;if(Array.isArray(e))return e.map(r=>NQ...
  function H8 (line 141) | function H8(t){return _8(t)?t[0]:null}
  function G8 (line 141) | function G8(){if(process.platform==="win32"){let t=fe.toPortablePath(pro...
  function fI (line 141) | function fI(){return fe.toPortablePath((0,j8.homedir)()||"/usr/local/sha...
  function q8 (line 141) | function q8(t,e){let r=J.relative(e,t);return r&&!r.startsWith("..")&&!J...
  method constructor (line 141) | constructor(e){let{proxy:r,proxyRequestOptions:s,...a}=e;super(a),this.p...
  method createConnection (line 141) | createConnection(e,r){let s={...this.proxyRequestOptions,method:"CONNECT...
  method constructor (line 141) | constructor(e){let{proxy:r,proxyRequestOptions:s,...a}=e;super(a),this.p...
  method createConnection (line 141) | createConnection(e,r){let s={...this.proxyRequestOptions,method:"CONNECT...
  function met (line 141) | function met(t){return bue.includes(t)}
  function Eet (line 141) | function Eet(t){return yet.includes(t)}
  function Cet (line 141) | function Cet(t){return Iet.includes(t)}
  function AI (line 141) | function AI(t){return e=>typeof e===t}
  function be (line 141) | function be(t){if(t===null)return"null";switch(typeof t){case"undefined"...
  method constructor (line 141) | constructor(e){super(e||"Promise was canceled"),this.name="CancelError"}
  method isCanceled (line 141) | get isCanceled(){return!0}
  method fn (line 141) | static fn(e){return(...r)=>new t((s,a,n)=>{r.push(n),e(...r).then(s,a)})}
  method constructor (line 141) | constructor(e){this._cancelHandlers=[],this._isPending=!0,this._isCancel...
  method then (line 141) | then(e,r){return this._promise.then(e,r)}
  method catch (line 141) | catch(e){return this._promise.catch(e)}
  method finally (line 141) | finally(e){return this._promise.finally(e)}
  method cancel (line 141) | cancel(e){if(!(!this._isPending||this._isCanceled)){if(this._cancelHandl...
  method isCanceled (line 141) | get isCanceled(){return this._isCanceled}
  function xet (line 141) | function xet(t){return t.encrypted}
  method constructor (line 141) | constructor({cache:e=new Map,maxTtl:r=1/0,fallbackDuration:s=3600,errorT...
  method servers (line 141) | set servers(e){this.clear(),this._resolver.setServers(e)}
  method servers (line 141) | get servers(){return this._resolver.getServers()}
  method lookup (line 141) | lookup(e,r,s){if(typeof r=="function"?(s=r,r={}):typeof r=="number"&&(r=...
  method lookupAsync (line 141) | async lookupAsync(e,r={}){typeof r=="number"&&(r={family:r});let s=await...
  method query (line 141) | async query(e){let r=await this._cache.get(e);if(!r){let s=this._pending...
  method _resolve (line 141) | async _resolve(e){let r=async h=>{try{return await h}catch(E){if(E.code=...
  method _lookup (line 141) | async _lookup(e){try{return{entries:await this._dnsLookup(e,{all:!0}),ca...
  method _set (line 141) | async _set(e,r,s){if(this.maxTtl>0&&s>0){s=Math.min(s,this.maxTtl)*1e3,r...
  method queryAndCache (line 141) | async queryAndCache(e){if(this._hostnamesToFallback.has(e))return this._...
  method _tick (line 141) | _tick(e){let r=this._nextRemovalTime;(!r||e<r)&&(clearTimeout(this._remo...
  method install (line 141) | install(e){if(Oue(e),pI in e)throw new Error("CacheableLookup has been a...
  method uninstall (line 141) | uninstall(e){if(Oue(e),e[pI]){if(e[iH]!==this)throw new Error("The agent...
  method updateInterfaceInfo (line 141) | updateInterfaceInfo(){let{_iface:e}=this;this._iface=Lue(),(e.has4&&!thi...
  method clear (line 141) | clear(e){if(e){this._cache.delete(e);return}this._cache.clear()}
  function que (line 141) | function que(t,e){if(t&&e)return que(t)(e);if(typeof t!="function")throw...
  function jQ (line 141) | function jQ(t){var e=function(){return e.called?e.value:(e.called=!0,e.v...
  function Jue (line 141) | function Jue(t){var e=function(){if(e.called)throw new Error(e.onceError...
  method constructor (line 141) | constructor(){super("maxBuffer exceeded"),this.name="MaxBufferError"}
  function WQ (line 141) | async function WQ(t,e){if(!t)return Promise.reject(new Error("Expected a...
  function nm (line 141) | function nm(t){let e=parseInt(t,10);return isFinite(e)?e:0}
  function utt (line 141) | function utt(t){return t?att.has(t.status):!0}
  function fH (line 141) | function fH(t){let e={};if(!t)return e;let r=t.trim().split(/,/);for(let...
  function ftt (line 141) | function ftt(t){let e=[];for(let r in t){let s=t[r];e.push(s===!0?r:r+"=...
  method constructor (line 141) | constructor(e,r,{shared:s,cacheHeuristic:a,immutableMinTimeToLive:n,igno...
  method now (line 141) | now(){return Date.now()}
  method storable (line 141) | storable(){return!!(!this._reqcc["no-store"]&&(this._method==="GET"||thi...
  method _hasExplicitExpiration (line 141) | _hasExplicitExpiration(){return this._isShared&&this._rescc["s-maxage"]|...
  method _assertRequestHasHeaders (line 141) | _assertRequestHasHeaders(e){if(!e||!e.headers)throw Error("Request heade...
  method satisfiesWithoutRevalidation (line 141) | satisfiesWithoutRevalidation(e){this._assertRequestHasHeaders(e);let r=f...
  method _requestMatches (line 141) | _requestMatches(e,r){return(!this._url||this._url===e.url)&&this._host==...
  method _allowsStoringAuthenticated (line 141) | _allowsStoringAuthenticated(){return this._rescc["must-revalidate"]||thi...
  method _varyMatches (line 141) | _varyMatches(e){if(!this._resHeaders.vary)return!0;if(this._resHeaders.v...
  method _copyWithoutHopByHopHeaders (line 141) | _copyWithoutHopByHopHeaders(e){let r={};for(let s in e)ltt[s]||(r[s]=e[s...
  method responseHeaders (line 141) | responseHeaders(){let e=this._copyWithoutHopByHopHeaders(this._resHeader...
  method date (line 141) | date(){let e=Date.parse(this._resHeaders.date);return isFinite(e)?e:this...
  method age (line 141) | age(){let e=this._ageValue(),r=(this.now()-this._responseTime)/1e3;retur...
  method _ageValue (line 141) | _ageValue(){return nm(this._resHeaders.age)}
  method maxAge (line 141) | maxAge(){if(!this.storable()||this._rescc["no-cache"]||this._isShared&&t...
  method timeToLive (line 141) | timeToLive(){let e=this.maxAge()-this.age(),r=e+nm(this._rescc["stale-if...
  method stale (line 141) | stale(){return this.maxAge()<=this.age()}
  method _useStaleIfError (line 141) | _useStaleIfError(){return this.maxAge()+nm(this._rescc["stale-if-error"]...
  method useStaleWhileRevalidate (line 141) | useStaleWhileRevalidate(){return this.maxAge()+nm(this._rescc["stale-whi...
  method fromObject (line 141) | static fromObject(e){return new this(void 0,void 0,{_fromObject:e})}
  method _fromObject (line 141) | _fromObject(e){if(this._responseTime)throw Error("Reinitialized");if(!e|...
  method toObject (line 141) | toObject(){return{v:1,t:this._responseTime,sh:this._isShared,ch:this._ca...
  method revalidationHeaders (line 141) | revalidationHeaders(e){this._assertRequestHasHeaders(e);let r=this._copy...
  method revalidatedPolicy (line 141) | revalidatedPolicy(e,r){if(this._assertRequestHasHeaders(e),this._useStal...
  method constructor (line 141) | constructor(e,r,s,a){if(typeof e!="number")throw new TypeError("Argument...
  method _read (line 141) | _read(){this.push(this.body),this.push(null)}
  method constructor (line 141) | constructor(e,{emitErrors:r=!0,...s}={}){if(super(),this.opts={namespace...
  method _checkIterableAdaptar (line 141) | _checkIterableAdaptar(){return hfe.includes(this.opts.store.opts.dialect...
  method _getKeyPrefix (line 141) | _getKeyPrefix(e){return`${this.opts.namespace}:${e}`}
  method _getKeyPrefixArray (line 141) | _getKeyPrefixArray(e){return e.map(r=>`${this.opts.namespace}:${r}`)}
  method _getKeyUnprefix (line 141) | _getKeyUnprefix(e){return e.split(":").splice(1).join(":")}
  method get (line 141) | get(e,r){let{store:s}=this.opts,a=Array.isArray(e),n=a?this._getKeyPrefi...
  method set (line 141) | set(e,r,s){let a=this._getKeyPrefix(e);typeof s>"u"&&(s=this.opts.ttl),s...
  method delete (line 141) | delete(e){let{store:r}=this.opts;if(Array.isArray(e)){let a=this._getKey...
  method clear (line 141) | clear(){let{store:e}=this.opts;return Promise.resolve().then(()=>e.clear...
  method has (line 141) | has(e){let r=this._getKeyPrefix(e),{store:s}=this.opts;return Promise.re...
  method disconnect (line 141) | disconnect(){let{store:e}=this.opts;if(typeof e.disconnect=="function")r...
  method constructor (line 141) | constructor(e,r){if(typeof e!="function")throw new TypeError("Parameter ...
  method createCacheableRequest (line 141) | createCacheableRequest(e){return(r,s)=>{let a;if(typeof r=="string")a=dH...
  function Dtt (line 141) | function Dtt(t){let e={...t};return e.path=`${t.pathname||"/"}${t.search...
  function dH (line 141) | function dH(t){return{protocol:t.protocol,auth:t.auth,hostname:t.hostnam...
  method constructor (line 141) | constructor(t){super(t.message),this.name="RequestError",Object.assign(t...
  method constructor (line 141) | constructor(t){super(t.message),this.name="CacheError",Object.assign(thi...
  method get (line 141) | get(){let n=t[a];return typeof n=="function"?n.bind(t):n}
  method set (line 141) | set(n){t[a]=n}
  method transform (line 141) | transform(f,p,h){s=!1,h(null,f)}
  method flush (line 141) | flush(f){f()}
  method destroy (line 141) | destroy(f,p){t.destroy(),p(f)}
  method constructor (line 141) | constructor(e={}){if(!(e.maxSize&&e.maxSize>0))throw new TypeError("`max...
  method _set (line 141) | _set(e,r){if(this.cache.set(e,r),this._size++,this._size>=this.maxSize){...
  method get (line 141) | get(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.ha...
  method set (line 141) | set(e,r){return this.cache.has(e)?this.cache.set(e,r):this._set(e,r),this}
  method has (line 141) | has(e){return this.cache.has(e)||this.oldCache.has(e)}
  method peek (line 141) | peek(e){if(this.cache.has(e))return this.cache.get(e);if(this.oldCache.h...
  method delete (line 141) | delete(e){let r=this.cache.delete(e);return r&&this._size--,this.oldCach...
  method clear (line 141) | clear(){this.cache.clear(),this.oldCache.clear(),this._size=0}
  method keys (line 141) | *keys(){for(let[e]of this)yield e}
  method values (line 141) | *values(){for(let[,e]of this)yield e}
  method [Symbol.iterator] (line 141) | *[Symbol.iterator](){for(let e of this.cache)yield e;for(let e of this.o...
  method size (line 141) | get size(){let e=0;for(let r of this.oldCache.keys())this.cache.has(r)||...
  method constructor (line 141) | constructor({timeout:e=6e4,maxSessions:r=1/0,maxFreeSessions:s=10,maxCac...
  method normalizeOrigin (line 141) | static normalizeOrigin(e,r){return typeof e=="string"&&(e=new URL(e)),r&...
  method normalizeOptions (line 141) | normalizeOptions(e){let r="";if(e)for(let s of Ntt)e[s]&&(r+=`:${e[s]}`)...
  method _tryToCreateNewSession (line 141) | _tryToCreateNewSession(e,r){if(!(e in this.queue)||!(r in this.queue[e])...
  method getSession (line 141) | getSession(e,r,s){return new Promise((a,n)=>{Array.isArray(s)?(s=[...s],...
  method request (line 142) | request(e,r,s,a){return new Promise((n,c)=>{this.getSession(e,r,[{reject...
  method createConnection (line 142) | createConnection(e,r){return t.connect(e,r)}
  method connect (line 142) | static connect(e,r){r.ALPNProtocols=["h2"];let s=e.port||443,a=e.hostnam...
  method closeFreeSessions (line 142) | closeFreeSessions(){for(let e of Object.values(this.sessions))for(let r ...
  method destroy (line 142) | destroy(e){for(let r of Object.values(this.sessions))for(let s of r)s.de...
  method freeSessions (line 142) | get freeSessions(){return Dfe({agent:this,isFree:!0})}
  method busySessions (line 142) | get busySessions(){return Dfe({agent:this,isFree:!1})}
  method constructor (line 142) | constructor(e,r){super({highWaterMark:r,autoDestroy:!1}),this.statusCode...
  method _destroy (line 142) | _destroy(e){this.req._request.destroy(e)}
  method setTimeout (line 142) | setTimeout(e,r){return this.req.setTimeout(e,r),this}
  method _dump (line 142) | _dump(){this._dumped||(this._dumped=!0,this.removeAllListeners("data"),t...
  method _read (line 142) | _read(){this.req&&this.req._request.resume()}
  method constructor (line 142) | constructor(...a){super(typeof r=="string"?r:r(a)),this.name=`${super.na...
  method constructor (line 142) | constructor(e,r,s){super({autoDestroy:!1});let a=typeof e=="string"||e i...
  method method (line 142) | get method(){return this[Jo][_fe]}
  method method (line 142) | set method(e){e&&(this[Jo][_fe]=e.toUpperCase())}
  method path (line 142) | get path(){return this[Jo][Hfe]}
  method path (line 142) | set path(e){e&&(this[Jo][Hfe]=e)}
  method _mustNotHaveABody (line 142) | get _mustNotHaveABody(){return this.method==="GET"||this.method==="HEAD"...
  method _write (line 142) | _write(e,r,s){if(this._mustNotHaveABody){s(new Error("The GET, HEAD and ...
  method _final (line 142) | _final(e){if(this.destroyed)return;this.flushHeaders();let r=()=>{if(thi...
  method abort (line 142) | abort(){this.res&&this.res.complete||(this.aborted||process.nextTick(()=...
  method _destroy (line 142) | _destroy(e,r){this.res&&this.res._dump(),this._request&&this._request.de...
  method flushHeaders (line 142) | async flushHeaders(){if(this[JQ]||this.destroyed)return;this[JQ]=!0;let ...
  method getHeader (line 142) | getHeader(e){if(typeof e!="string")throw new SH("name","string",e);retur...
  method headersSent (line 142) | get headersSent(){return this[JQ]}
  method removeHeader (line 142) | removeHeader(e){if(typeof e!="string")throw new SH("name","string",e);if...
  method setHeader (line 142) | setHeader(e,r){if(this.headersSent)throw new Mfe("set");if(typeof e!="st...
  method setNoDelay (line 142) | setNoDelay(){}
  method setSocketKeepAlive (line 142) | setSocketKeepAlive(){}
  method setTimeout (line 142) | setTimeout(e,r){let s=()=>this._request.setTimeout(e,r);return this._req...
  method maxHeadersCount (line 142) | get maxHeadersCount(){if(!this.destroyed&&this._request)return this._req...
  method maxHeadersCount (line 142) | set maxHeadersCount(e){}
  function drt (line 142) | function drt(t,e,r){let s={};for(let a of r)s[a]=(...n)=>{e.emit(a,...n)...
  method once (line 142) | once(e,r,s){e.once(r,s),t.push({origin:e,event:r,fn:s})}
  method unhandleAll (line 142) | unhandleAll(){for(let e of t){let{origin:r,event:s,fn:a}=e;r.removeListe...
  method constructor (line 142) | constructor(e,r){super(`Timeout awaiting '${r}' for ${e}ms`),this.event=...
  method constructor (line 142) | constructor(){this.weakMap=new WeakMap,this.map=new Map}
  method set (line 142) | set(e,r){typeof e=="object"?this.weakMap.set(e,r):this.map.set(e,r)}
  method get (line 142) | get(e){return typeof e=="object"?this.weakMap.get(e):this.map.get(e)}
  method has (line 142) | has(e){return typeof e=="object"?this.weakMap.has(e):this.map.has(e)}
  function Hrt (line 142) | function Hrt(t){for(let e in t){let r=t[e];if(!at.default.string(r)&&!at...
  function jrt (line 142) | function jrt(t){return at.default.object(t)&&!("statusCode"in t)}
  method constructor (line 142) | constructor(e,r,s){var a;if(super(e),Error.captureStackTrace(this,this.c...
  method constructor (line 146) | constructor(e){super(`Redirected ${e.options.maxRedirects} times. Aborti...
  method constructor (line 146) | constructor(e){super(`Response code ${e.statusCode} (${e.statusMessage})...
  method constructor (line 146) | constructor(e,r){super(e.message,e,r),this.name="CacheError"}
  method constructor (line 146) | constructor(e,r){super(e.message,e,r),this.name="UploadError"}
  method constructor (line 146) | constructor(e,r,s){super(e.message,e,s),this.name="TimeoutError",this.ev...
  method constructor (line 146) | constructor(e,r){super(e.message,e,r),this.name="ReadError"}
  method constructor (line 146) | constructor(e){super(`Unsupported protocol "${e.url.protocol}"`,{},e),th...
  method constructor (line 146) | constructor(e,r={},s){super({autoDestroy:!1,highWaterMark:0}),this[yI]=0...
  method normalizeArguments (line 146) | static normalizeArguments(e,r,s){var a,n,c,f,p;let h=r;if(at.default.obj...
  method _lockWrite (line 146) | _lockWrite(){let e=()=>{throw new TypeError("The payload has been alread...
  method _unlockWrite (line 146) | _unlockWrite(){this.write=super.write,this.end=super.end}
  method _finalizeBody (line 146) | async _finalizeBody(){let{options:e}=this,{headers:r}=e,s=!at.default.un...
  method _onResponseBase (line 146) | async _onResponseBase(e){let{options:r}=this,{url:s}=r;this[PAe]=e,r.dec...
  method _onResponse (line 146) | async _onResponse(e){try{await this._onResponseBase(e)}catch(r){this._be...
  method _onRequest (line 146) | _onRequest(e){let{options:r}=this,{timeout:s,url:a}=r;brt.default(e),thi...
  method _createCacheableRequest (line 146) | async _createCacheableRequest(e,r){return new Promise((s,a)=>{Object.ass...
  method _makeRequest (line 146) | async _makeRequest(){var e,r,s,a,n;let{options:c}=this,{headers:f}=c;for...
  method _error (line 146) | async _error(e){try{for(let r of this.options.hooks.beforeError)e=await ...
  method _beforeError (line 146) | _beforeError(e){if(this[CI])return;let{options:r}=this,s=this.retryCount...
  method _read (line 146) | _read(){this[$Q]=!0;let e=this[eT];if(e&&!this[CI]){e.readableLength&&(t...
  method _write (line 146) | _write(e,r,s){let a=()=>{this._writeRequest(e,r,s)};this.requestInitiali...
  method _writeRequest (line 146) | _writeRequest(e,r,s){this[po].destroyed||(this._progressCallbacks.push((...
  method _final (line 146) | _final(e){let r=()=>{for(;this._progressCallbacks.length!==0;)this._prog...
  method _destroy (line 146) | _destroy(e,r){var s;this[CI]=!0,clearTimeout(this[xAe]),po in this&&(thi...
  method _isAboutToError (line 146) | get _isAboutToError(){return this[CI]}
  method ip (line 146) | get ip(){var e;return(e=this.socket)===null||e===void 0?void 0:e.remoteA...
  method aborted (line 146) | get aborted(){var e,r,s;return((r=(e=this[po])===null||e===void 0?void 0...
  method socket (line 146) | get socket(){var e,r;return(r=(e=this[po])===null||e===void 0?void 0:e.s...
  method downloadProgress (line 146) | get downloadProgress(){let e;return this[mI]?e=this[yI]/this[mI]:this[mI...
  method uploadProgress (line 146) | get uploadProgress(){let e;return this[EI]?e=this[II]/this[EI]:this[EI]=...
  method timings (line 146) | get timings(){var e;return(e=this[po])===null||e===void 0?void 0:e.timings}
  method isFromCache (line 146) | get isFromCache(){return this[DAe]}
  method pipe (line 146) | pipe(e,r){if(this[bAe])throw new Error("Failed to pipe. The response has...
  method unpipe (line 146) | unpipe(e){return e instanceof JH.ServerResponse&&this[ZQ].delete(e),supe...
  method constructor (line 146) | constructor(e,r){let{options:s}=r.request;super(`${e.message} in "${s.ur...
  method constructor (line 146) | constructor(e){super("Promise was canceled",{},e),this.name="CancelError"}
  method isCanceled (line 146) | get isCanceled(){return!0}
  function OAe (line 146) | function OAe(t){let e,r,s=new Zrt.EventEmitter,a=new ent((c,f,p)=>{let h...
  function snt (line 146) | function snt(t,...e){let r=(async()=>{if(t instanceof int.RequestError)t...
  function UAe (line 146) | function UAe(t){for(let e of Object.values(t))(MAe.default.plainObject(e...
  function oj (line 146) | async function oj(t){return Yl(XAe,t,()=>ce.readFilePromise(t).then(e=>(...
  function Int (line 146) | function Int({statusCode:t,statusMessage:e},r){let s=Ht(r,t,ht.NUMBER),a...
  function AT (line 146) | async function AT(t,{configuration:e,customErrorMessage:r}){try{return a...
  function epe (line 146) | function epe(t,e){let r=[...e.configuration.get("networkSettings")].sort...
  function iv (line 146) | async function iv(t,e,{configuration:r,headers:s,jsonRequest:a,jsonRespo...
  function lj (line 146) | async function lj(t,{configuration:e,jsonResponse:r,customErrorMessage:s...
  function Cnt (line 146) | async function Cnt(t,e,{customErrorMessage:r,...s}){return(await AT(iv(t...
  function cj (line 146) | async function cj(t,e,{customErrorMessage:r,...s}){return(await AT(iv(t,...
  function wnt (line 146) | async function wnt(t,{customErrorMessage:e,...r}){return(await AT(iv(t,n...
  function Bnt (line 146) | async function Bnt(t,e,{configuration:r,headers:s,jsonRequest:a,jsonResp...
  function bnt (line 146) | function bnt(){if(process.platform!=="linux")return null;let t;try{t=ce....
  function sv (line 146) | function sv(){return npe=npe??{os:(process.env.YARN_IS_TEST_ENV?process....
  function Pnt (line 146) | function Pnt(t=sv()){return t.libc?`${t.os}-${t.cpu}-${t.libc}`:`${t.os}...
  function uj (line 146) | function uj(){let t=sv();return ipe=ipe??{os:[t.os],cpu:[t.cpu],libc:t.l...
  function Qnt (line 146) | function Qnt(t){let e=xnt.exec(t);if(!e)return null;let r=e[2]&&e[2].ind...
  function Tnt (line 146) | function Tnt(){let e=new Error().stack.split(`
  function fj (line 147) | function fj(){return typeof hT.default.availableParallelism<"u"?hT.defau...
  function yj (line 147) | function yj(t,e,r,s,a){let n=YB(r);if(s.isArray||s.type==="ANY"&&Array.i...
  function pj (line 147) | function pj(t,e,r,s,a){let n=YB(r);switch(s.type){case"ANY":return NQ(n)...
  function Ont (line 147) | function Ont(t,e,r,s,a){let n=YB(r);if(typeof n!="object"||Array.isArray...
  function Lnt (line 147) | function Lnt(t,e,r,s,a){let n=YB(r),c=new Map;if(typeof n!="object"||Arr...
  function Ej (line 147) | function Ej(t,e,{ignoreArrays:r=!1}={}){switch(e.type){case"SHAPE":{if(e...
  function yT (line 147) | function yT(t,e,r){if(e.type==="SECRET"&&typeof t=="string"&&r.hideSecre...
  function Mnt (line 147) | function Mnt(){let t={};for(let[e,r]of Object.entries(process.env))e=e.t...
  function gj (line 147) | function gj(){let t=`${ET}rc_filename`;for(let[e,r]of Object.entries(pro...
  function spe (line 147) | async function spe(t){try{return await ce.readFilePromise(t)}catch{retur...
  function Unt (line 147) | async function Unt(t,e){return Buffer.compare(...await Promise.all([spe(...
  function _nt (line 147) | async function _nt(t,e){let[r,s]=await Promise.all([ce.statPromise(t),ce...
  function jnt (line 147) | async function jnt({configuration:t,selfPath:e}){let r=t.get("yarnPath")...
  method constructor (line 147) | constructor(e){this.isCI=Lp.isCI;this.projectCwd=null;this.plugins=new M...
  method create (line 147) | static create(e,r,s){let a=new t(e);typeof r<"u"&&!(r instanceof Map)&&(...
  method find (line 147) | static async find(e,r,{strict:s=!0,usePathCheck:a=null,useRc:n=!0}={}){l...
  method findRcFiles (line 147) | static async findRcFiles(e){let r=gj(),s=[],a=e,n=null;for(;a!==n;){n=a;...
  method findFolderRcFile (line 147) | static async findFolderRcFile(e){let r=J.join(e,Er.rc),s;try{s=await ce....
  method findProjectCwd (line 147) | static async findProjectCwd(e){let r=null,s=e,a=null;for(;s!==a;){if(a=s...
  method updateConfiguration (line 147) | static async updateConfiguration(e,r,s={}){let a=gj(),n=J.join(e,a),c=ce...
  method addPlugin (line 147) | static async addPlugin(e,r){r.length!==0&&await t.updateConfiguration(e,...
  method updateHomeConfiguration (line 147) | static async updateHomeConfiguration(e){let r=fI();return await t.update...
  method activatePlugin (line 147) | activatePlugin(e,r){this.plugins.set(e,r),typeof r.configuration<"u"&&th...
  method importSettings (line 147) | importSettings(e){for(let[r,s]of Object.entries(e))if(s!=null){if(this.s...
  method useWithSource (line 147) | useWithSource(e,r,s,a){try{this.use(e,r,s,a)}catch(n){throw n.message+=`...
  method use (line 147) | use(e,r,s,{strict:a=!0,overwrite:n=!1}={}){a=a&&this.get("enableStrictSe...
  method get (line 147) | get(e){if(!this.values.has(e))throw new Error(`Invalid configuration key...
  method getSpecial (line 147) | getSpecial(e,{hideSecrets:r=!1,getNativePaths:s=!1}){let a=this.get(e),n...
  method getSubprocessStreams (line 147) | getSubprocessStreams(e,{header:r,prefix:s,report:a}){let n,c,f=ce.create...
  method makeResolver (line 148) | makeResolver(){let e=[];for(let r of this.plugins.values())for(let s of ...
  method makeFetcher (line 148) | makeFetcher(){let e=[];for(let r of this.plugins.values())for(let s of r...
  method getLinkers (line 148) | getLinkers(){let e=[];for(let r of this.plugins.values())for(let s of r....
  method getSupportedArchitectures (line 148) | getSupportedArchitectures(){let e=sv(),r=this.get("supportedArchitecture...
  method isInteractive (line 148) | isInteractive({interactive:e,stdout:r}){return r.isTTY?e??this.get("pref...
  method getPackageExtensions (line 148) | async getPackageExtensions(){if(this.packageExtensions!==null)return thi...
  method normalizeLocator (line 148) | normalizeLocator(e){return cl(e.reference)?Ws(e,`${this.get("defaultProt...
  method normalizeDependency (line 148) | normalizeDependency(e){return cl(e.range)?On(e,`${this.get("defaultProto...
  method normalizeDependencyMap (line 148) | normalizeDependencyMap(e){return new Map([...e].map(([r,s])=>[r,this.nor...
  method normalizePackage (line 148) | normalizePackage(e,{packageExtensions:r}){let s=LB(e),a=r.get(e.identHas...
  method getLimit (line 148) | getLimit(e){return Yl(this.limits,e,()=>(0,cpe.default)(this.get(e)))}
  method triggerHook (line 148) | async triggerHook(e,...r){for(let s of this.plugins.values()){let a=s.ho...
  method triggerMultipleHooks (line 148) | async triggerMultipleHooks(e,r){for(let s of r)await this.triggerHook(e,...
  method reduceHook (line 148) | async reduceHook(e,r,...s){let a=r;for(let n of this.plugins.values()){l...
  method firstHook (line 148) | async firstHook(e,...r){for(let s of this.plugins.values()){let a=s.hook...
  function om (line 148) | function om(t){return t!==null&&typeof t.fd=="number"}
  function Ij (line 148) | function Ij(){}
  function Cj (line 148) | function Cj(){for(let t of am)t.kill()}
  function Wu (line 148) | async function Wu(t,e,{cwd:r,env:s=process.env,strict:a=!1,stdin:n=null,...
  function Aj (line 148) | async function Aj(t,e,{cwd:r,env:s=process.env,encoding:a="utf8",strict:...
  function vj (line 148) | function vj(t,e){let r=Gnt.get(e);return typeof r<"u"?128+r:t??1}
  function qnt (line 148) | function qnt(t,e,{configuration:r,report:s}){s.reportError(1,`  ${Kf(r,t...
  method constructor (line 148) | constructor({fileName:e,code:r,signal:s}){let a=ze.create(J.cwd()),n=Ht(...
  method constructor (line 148) | constructor({fileName:e,code:r,signal:s,stdout:a,stderr:n}){super({fileN...
  function Ape (line 148) | function Ape(t){fpe=t}
  function cv (line 148) | function cv(){return typeof Sj>"u"&&(Sj=fpe()),Sj}
  function P (line 148) | function P(Ke){return r.locateFile?r.locateFile(Ke,S):S+Ke}
  function pe (line 148) | function pe(Ke,st,St){switch(st=st||"i8",st.charAt(st.length-1)==="*"&&(...
  function we (line 148) | function we(Ke,st){Ke||rs("Assertion failed: "+st)}
  function ye (line 148) | function ye(Ke){var st=r["_"+Ke];return we(st,"Cannot call unknown funct...
  function Ae (line 148) | function Ae(Ke,st,St,lr,te){var Ee={string:function(qi){var Tn=0;if(qi!=...
  function se (line 148) | function se(Ke,st,St,lr){St=St||[];var te=St.every(function(Oe){return O...
  function De (line 148) | function De(Ke,st){if(!Ke)return"";for(var St=Ke+st,lr=Ke;!(lr>=St)&&ke[...
  function Re (line 148) | function Re(Ke,st,St,lr){if(!(lr>0))return 0;for(var te=St,Ee=St+lr-1,Oe...
  function mt (line 148) | function mt(Ke,st,St){return Re(Ke,ke,st,St)}
  function j (line 148) | function j(Ke){for(var st=0,St=0;St<Ke.length;++St){var lr=Ke.charCodeAt...
  function rt (line 148) | function rt(Ke){var st=j(Ke)+1,St=La(st);return St&&Re(Ke,Ve,St,st),St}
  function Fe (line 148) | function Fe(Ke,st){Ve.set(Ke,st)}
  function Ne (line 148) | function Ne(Ke,st){return Ke%st>0&&(Ke+=st-Ke%st),Ke}
  function z (line 148) | function z(Ke){Pe=Ke,r.HEAP_DATA_VIEW=F=new DataView(Ke),r.HEAP8=Ve=new ...
  function Ct (line 148) | function Ct(){if(r.preRun)for(typeof r.preRun=="function"&&(r.preRun=[r....
  function qt (line 148) | function qt(){lt=!0,Ts(xe)}
  function ir (line 148) | function ir(){if(r.postRun)for(typeof r.postRun=="function"&&(r.postRun=...
  function Pt (line 148) | function Pt(Ke){oe.unshift(Ke)}
  function gn (line 148) | function gn(Ke){xe.unshift(Ke)}
  function Pr (line 148) | function Pr(Ke){Te.unshift(Ke)}
  function ai (line 148) | function ai(Ke){Ir++,r.monitorRunDependencies&&r.monitorRunDependencies(...
  function Io (line 148) | function Io(Ke){if(Ir--,r.monitorRunDependencies&&r.monitorRunDependenci...
  function rs (line 148) | function rs(Ke){r.onAbort&&r.onAbort(Ke),Ke+="",ee(Ke),Ce=!0,g=1,Ke="abo...
  function Co (line 148) | function Co(Ke){return Ke.startsWith($s)}
  function eo (line 148) | function eo(Ke){try{if(Ke==ji&&le)return new Uint8Array(le);var st=Me(Ke...
  function wo (line 148) | function wo(Ke,st){var St,lr,te;try{te=eo(Ke),lr=new WebAssembly.Module(...
  function QA (line 148) | function QA(){var Ke={a:cu};function st(te,Ee){var Oe=te.exports;r.asm=O...
  function Af (line 148) | function Af(Ke){return F.getFloat32(Ke,!0)}
  function dh (line 148) | function dh(Ke){return F.getFloat64(Ke,!0)}
  function mh (line 148) | function mh(Ke){return F.getInt16(Ke,!0)}
  function to (line 148) | function to(Ke){return F.getInt32(Ke,!0)}
  function jn (line 148) | function jn(Ke,st){F.setInt32(Ke,st,!0)}
  function Ts (line 148) | function Ts(Ke){for(;Ke.length>0;){var st=Ke.shift();if(typeof st=="func...
  function ro (line 148) | function ro(Ke,st){var St=new Date(to((Ke>>2)*4)*1e3);jn((st>>2)*4,St.ge...
  function ou (line 148) | function ou(Ke,st){return ro(Ke,st)}
  function au (line 148) | function au(Ke,st,St){ke.copyWithin(Ke,st,st+St)}
  function lu (line 148) | function lu(Ke){try{return Be.grow(Ke-Pe.byteLength+65535>>>16),z(Be.buf...
  function TA (line 148) | function TA(Ke){var st=ke.length;Ke=Ke>>>0;var St=2147483648;if(Ke>St)re...
  function RA (line 148) | function RA(Ke){ue(Ke)}
  function oa (line 148) | function oa(Ke){var st=Date.now()/1e3|0;return Ke&&jn((Ke>>2)*4,st),st}
  function aa (line 148) | function aa(){if(aa.called)return;aa.called=!0;var Ke=new Date().getFull...
  function FA (line 148) | function FA(Ke){aa();var st=Date.UTC(to((Ke+20>>2)*4)+1900,to((Ke+16>>2)...
  function Bo (line 148) | function Bo(Ke){if(typeof C=="boolean"&&C){var st;try{st=Buffer.from(Ke,...
  function Me (line 148) | function Me(Ke){if(Co(Ke))return Bo(Ke.slice($s.length))}
  function Ac (line 148) | function Ac(Ke){if(Ke=Ke||f,Ir>0||(Ct(),Ir>0))return;function st(){Qn||(...
  method HEAPU8 (line 148) | get HEAPU8(){return t.HEAPU8}
  function xj (line 148) | function xj(t,e){let r=t.indexOf(e);if(r<=0)return null;let s=r;for(;r>=...
  method openPromise (line 148) | static async openPromise(e,r){let s=new t(r);try{return await e(s)}final...
  method constructor (line 148) | constructor(e={}){let r=e.fileExtensions,s=e.readOnlyArchives,a=typeof r...
  method constructor (line 148) | constructor(e,r){super(e),this.name="Libzip Error",this.code=r}
  method constructor (line 148) | constructor(e){this.filesShouldBeCached=!0;let r="buffer"in e?e.buffer:e...
  method getSymlinkCount (line 148) | getSymlinkCount(){return this.symlinkCount}
  method getListings (line 148) | getListings(){return this.listings}
  method stat (line 148) | stat(e){let r=this.libzip.struct.statS();if(this.libzip.statIndex(this.z...
  method makeLibzipError (line 148) | makeLibzipError(e){let r=this.libzip.struct.errorCodeZip(e),s=this.libzi...
  method setFileSource (line 148) | setFileSource(e,r,s){let a=this.allocateSource(s);try{let n=this.libzip....
  method setMtime (line 148) | setMtime(e,r){if(this.libzip.file.setMtime(this.zip,e,0,r,0)===-1)throw ...
  method getExternalAttributes (line 148) | getExternalAttributes(e){if(this.libzip.file.getExternalAttributes(this....
  method setExternalAttributes (line 148) | setExternalAttributes(e,r,s){if(this.libzip.file.setExternalAttributes(t...
  method locate (line 148) | locate(e){return this.libzip.name.locate(this.zip,e,0)}
  method getFileSource (line 148) | getFileSource(e){let r=this.libzip.struct.statS();if(this.libzip.statInd...
  method deleteEntry (line 148) | deleteEntry(e){if(this.libzip.delete(this.zip,e)===-1)throw this.makeLib...
  method addDirectory (line 148) | addDirectory(e){let r=this.libzip.dir.add(this.zip,e);if(r===-1)throw th...
  method getBufferAndClose (line 148) | getBufferAndClose(){try{if(this.libzip.source.keep(this.lzSource),this.l...
  method allocateBuffer (line 148) | allocateBuffer(e){Buffer.isBuffer(e)||(e=Buffer.from(e));let r=this.libz...
  method allocateUnattachedSource (line 148) | allocateUnattachedSource(e){let r=this.libzip.struct.errorS(),{buffer:s,...
  method allocateSource (line 148) | allocateSource(e){let{buffer:r,byteLength:s}=this.allocateBuffer(e),a=th...
  method discard (line 148) | discard(){this.libzip.discard(this.zip)}
  function Ynt (line 148) | function Ynt(t){if(typeof t=="string"&&String(+t)===t)return+t;if(typeof...
  function BT (line 148) | function BT(){return Buffer.from([80,75,5,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,...
  method constructor (line 148) | constructor(r,s={}){super();this.listings=new Map;this.entries=new Map;t...
  method getExtractHint (line 148) | getExtractHint(r){for(let s of this.entries.keys()){let a=this.pathUtils...
  method getAllFiles (line 148) | getAllFiles(){return Array.from(this.entries.keys())}
  method getRealPath (line 148) | getRealPath(){if(!this.path)throw new Error("ZipFS don't have real paths...
  method prepareClose (line 148) | prepareClose(){if(!this.ready)throw or.EBUSY("archive closed, close");yd...
  method getBufferAndClose (line 148) | getBufferAndClose(){if(this.prepareClose(),this.entries.size===0)return ...
  method discardAndClose (line 148) | discardAndClose(){this.prepareClose(),this.zipImpl.discard(),this.ready=!1}
  method saveAndClose (line 148) | saveAndClose(){if(!this.path||!this.baseFs)throw new Error("ZipFS cannot...
  method resolve (line 148) | resolve(r){return J.resolve(vt.root,r)}
  method openPromise (line 148) | async openPromise(r,s,a){return this.openSync(r,s,a)}
  method openSync (line 148) | openSync(r,s,a){let n=this.nextFd++;return this.fds.set(n,{cursor:0,p:r}...
  method hasOpenFileHandles (line 148) | hasOpenFileHandles(){return!!this.fds.size}
  method opendirPromise (line 148) | async opendirPromise(r,s){return this.opendirSync(r,s)}
  method opendirSync (line 148) | opendirSync(r,s={}){let a=this.resolveFilename(`opendir '${r}'`,r);if(!t...
  method readPromise (line 148) | async readPromise(r,s,a,n,c){return this.readSync(r,s,a,n,c)}
  method readSync (line 148) | readSync(r,s,a=0,n=s.byteLength,c=-1){let f=this.fds.get(r);if(typeof f>...
  method writePromise (line 148) | async writePromise(r,s,a,n,c){return typeof s=="string"?this.writeSync(r...
  method writeSync (line 148) | writeSync(r,s,a,n,c){throw typeof this.fds.get(r)>"u"?or.EBADF("read"):n...
  method closePromise (line 148) | async closePromise(r){return this.closeSync(r)}
  method closeSync (line 148) | closeSync(r){if(typeof this.fds.get(r)>"u")throw or.EBADF("read");this.f...
  method createReadStream (line 148) | createReadStream(r,{encoding:s}={}){if(r===null)throw new Error("Unimple...
  method createWriteStream (line 148) | createWriteStream(r,{encoding:s}={}){if(this.readOnly)throw or.EROFS(`op...
  method realpathPromise (line 148) | async realpathPromise(r){return this.realpathSync(r)}
  method realpathSync (line 148) | realpathSync(r){let s=this.resolveFilename(`lstat '${r}'`,r);if(!this.en...
  method existsPromise (line 148) | async existsPromise(r){return this.existsSync(r)}
  method existsSync (line 148) | existsSync(r){if(!this.ready)throw or.EBUSY(`archive closed, existsSync ...
  method accessPromise (line 148) | async accessPromise(r,s){return this.accessSync(r,s)}
  method accessSync (line 148) | accessSync(r,s=xa.constants.F_OK){let a=this.resolveFilename(`access '${...
  method statPromise (line 148) | async statPromise(r,s={bigint:!1}){return s.bigint?this.statSync(r,{bigi...
  method statSync (line 148) | statSync(r,s={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(`...
  method fstatPromise (line 148) | async fstatPromise(r,s){return this.fstatSync(r,s)}
  method fstatSync (line 148) | fstatSync(r,s){let a=this.fds.get(r);if(typeof a>"u")throw or.EBADF("fst...
  method lstatPromise (line 148) | async lstatPromise(r,s={bigint:!1}){return s.bigint?this.lstatSync(r,{bi...
  method lstatSync (line 148) | lstatSync(r,s={bigint:!1,throwIfNoEntry:!0}){let a=this.resolveFilename(...
  method statImpl (line 148) | statImpl(r,s,a={}){let n=this.entries.get(s);if(typeof n<"u"){let c=this...
  method getUnixMode (line 148) | getUnixMode(r,s){let[a,n]=this.zipImpl.getExternalAttributes(r);return a...
  method registerListing (line 148) | registerListing(r){let s=this.listings.get(r);if(s)return s;this.registe...
  method registerEntry (line 148) | registerEntry(r,s){this.registerListing(J.dirname(r)).add(J.basename(r))...
  method unregisterListing (line 148) | unregisterListing(r){this.listings.delete(r),this.listings.get(J.dirname...
  method unregisterEntry (line 148) | unregisterEntry(r){this.unregisterListing(r);let s=this.entries.get(r);t...
  method deleteEntry (line 148) | deleteEntry(r,s){this.unregisterEntry(r),this.zipImpl.deleteEntry(s)}
  method resolveFilename (line 148) | resolveFilename(r,s,a=!0,n=!0){if(!this.ready)throw or.EBUSY(`archive cl...
  method setFileSource (line 148) | setFileSource(r,s){let a=Buffer.isBuffer(s)?s:Buffer.from(s),n=J.relativ...
  method isSymbolicLink (line 148) | isSymbolicLink(r){if(this.symlinkCount===0)return!1;let[s,a]=this.zipImp...
  method getFileSource (line 148) | getFileSource(r,s={asyncDecompress:!1}){let a=this.fileSources.get(r);if...
  method fchmodPromise (line 148) | async fchmodPromise(r,s){return this.chmodPromise(this.fdToPath(r,"fchmo...
  method fchmodSync (line 148) | fchmodSync(r,s){return this.chmodSync(this.fdToPath(r,"fchmodSync"),s)}
  method chmodPromise (line 148) | async chmodPromise(r,s){return this.chmodSync(r,s)}
  method chmodSync (line 148) | chmodSync(r,s){if(this.readOnly)throw or.EROFS(`chmod '${r}'`);s&=493;le...
  method fchownPromise (line 148) | async fchownPromise(r,s,a){return this.chownPromise(this.fdToPath(r,"fch...
  method fchownSync (line 148) | fchownSync(r,s,a){return this.chownSync(this.fdToPath(r,"fchownSync"),s,a)}
  method chownPromise (line 148) | async chownPromise(r,s,a){return this.chownSync(r,s,a)}
  method chownSync (line 148) | chownSync(r,s,a){throw new Error("Unimplemented")}
  method renamePromise (line 148) | async renamePromise(r,s){return this.renameSync(r,s)}
  method renameSync (line 148) | renameSync(r,s){throw new Error("Unimplemented")}
  method copyFilePromise (line 148) | async copyFilePromise(r,s,a){let{indexSource:n,indexDest:c,resolvedDestP...
  method copyFileSync (line 148) | copyFileSync(r,s,a=0){let{indexSource:n,indexDest:c,resolvedDestP:f}=thi...
  method prepareCopyFile (line 148) | prepareCopyFile(r,s,a=0){if(this.readOnly)throw or.EROFS(`copyfile '${r}...
  method appendFilePromise (line 148) | async appendFilePromise(r,s,a){if(this.readOnly)throw or.EROFS(`open '${...
  method appendFileSync (line 148) | appendFileSync(r,s,a={}){if(this.readOnly)throw or.EROFS(`open '${r}'`);...
  method fdToPath (line 148) | fdToPath(r,s){let a=this.fds.get(r)?.p;if(typeof a>"u")throw or.EBADF(s)...
  method writeFilePromise (line 148) | async writeFilePromise(r,s,a){let{encoding:n,mode:c,index:f,resolvedP:p}...
  method writeFileSync (line 148) | writeFileSync(r,s,a){let{encoding:n,mode:c,index:f,resolvedP:p}=this.pre...
  method prepareWriteFile (line 148) | prepareWriteFile(r,s){if(typeof r=="number"&&(r=this.fdToPath(r,"read"))...
  method unlinkPromise (line 148) | async unlinkPromise(r){return this.unlinkSync(r)}
  method unlinkSync (line 148) | unlinkSync(r){if(this.readOnly)throw or.EROFS(`unlink '${r}'`);let s=thi...
  method utimesPromise (line 148) | async utimesPromise(r,s,a){return this.utimesSync(r,s,a)}
  method utimesSync (line 148) | utimesSync(r,s,a){if(this.readOnly)throw or.EROFS(`utimes '${r}'`);let n...
  method lutimesPromise (line 148) | async lutimesPromise(r,s,a){return this.lutimesSync(r,s,a)}
  method lutimesSync (line 148) | lutimesSync(r,s,a){if(this.readOnly)throw or.EROFS(`lutimes '${r}'`);let...
  method utimesImpl (line 148) | utimesImpl(r,s){this.listings.has(r)&&(this.entries.has(r)||this.hydrate...
  method mkdirPromise (line 148) | async mkdirPromise(r,s){return this.mkdirSync(r,s)}
  method mkdirSync (line 148) | mkdirSync(r,{mode:s=493,recursive:a=!1}={}){if(a)return this.mkdirpSync(...
  method rmdirPromise (line 148) | async rmdirPromise(r,s){return this.rmdirSync(r,s)}
  method rmdirSync (line 148) | rmdirSync(r,{recursive:s=!1}={}){if(this.readOnly)throw or.EROFS(`rmdir ...
  method rmPromise (line 148) | async rmPromise(r,s){return this.rmSync(r,s)}
  method rmSync (line 148) | rmSync(r,{recursive:s=!1}={}){if(this.readOnly)throw or.EROFS(`rm '${r}'...
  method hydrateDirectory (line 148) | hydrateDirectory(r){let s=this.zipImpl.addDirectory(J.relative(vt.root,r...
  method linkPromise (line 148) | async linkPromise(r,s){return this.linkSync(r,s)}
  method linkSync (line 148) | linkSync(r,s){throw or.EOPNOTSUPP(`link '${r}' -> '${s}'`)}
  method symlinkPromise (line 148) | async symlinkPromise(r,s){return this.symlinkSync(r,s)}
  method symlinkSync (line 148) | symlinkSync(r,s){if(this.readOnly)throw or.EROFS(`symlink '${r}' -> '${s...
  method readFilePromise (line 148) | async readFilePromise(r,s){typeof s=="object"&&(s=s?s.encoding:void 0);l...
  method readFileSync (line 148) | readFileSync(r,s){typeof s=="object"&&(s=s?s.encoding:void 0);let a=this...
  method readFileBuffer (line 148) | readFileBuffer(r,s={asyncDecompress:!1}){typeof r=="number"&&(r=this.fdT...
  method readdirPromise (line 148) | async readdirPromise(r,s){return this.readdirSync(r,s)}
  method readdirSync (line 148) | readdirSync(r,s){let a=this.resolveFilename(`scandir '${r}'`,r);if(!this...
  method readlinkPromise (line 148) | async readlinkPromise(r){let s=this.prepareReadlink(r);return(await this...
  method readlinkSync (line 148) | readlinkSync(r){let s=this.prepareReadlink(r);return this.getFileSource(...
  method prepareReadlink (line 148) | prepareReadlink(r){let s=this.resolveFilename(`readlink '${r}'`,r,!1);if...
  method truncatePromise (line 148) | async truncatePromise(r,s=0){let a=this.resolveFilename(`open '${r}'`,r)...
  method truncateSync (line 148) | truncateSync(r,s=0){let a=this.resolveFilename(`open '${r}'`,r),n=this.e...
  method ftruncatePromise (line 148) | async ftruncatePromise(r,s){return this.truncatePromise(this.fdToPath(r,...
  method ftruncateSync (line 148) | ftruncateSync(r,s){return this.truncateSync(this.fdToPath(r,"ftruncateSy...
  method watch (line 148) | watch(r,s,a){let n;switch(typeof s){case"function":case"string":case"und...
  method watchFile (line 148) | watchFile(r,s,a){let n=J.resolve(vt.root,r);return sE(this,n,s,a)}
  method unwatchFile (line 148) | unwatchFile(r,s){let a=J.resolve(vt.root,r);return md(this,a,s)}
  function Cpe (line 148) | function Cpe(t,e,r=Buffer.alloc(0),s){let a=new As(r),n=C=>C===e||C.star...
  method constructor (line 148) | constructor(e){this.filesShouldBeCached=!1;if("buffer"in e)throw new Err...
  method readZipSync (line 148) | static readZipSync(e,r,s){if(s<uv)throw new Error("Invalid ZIP file: EOC...
  method getExternalAttributes (line 148) | getExternalAttributes(e){let r=this.entries[e];return[r.os,r.externalAtt...
  method getListings (line 148) | getListings(){return this.entries.map(e=>e.name)}
  method getSymlinkCount (line 148) | getSymlinkCount(){let e=0;for(let r of this.entries)r.isSymbolicLink&&(e...
  method stat (line 148) | stat(e){let r=this.entries[e];return{crc:r.crc,mtime:r.mtime,size:r.size}}
  method locate (line 148) | locate(e){for(let r=0;r<this.entries.length;r++)if(this.entries[r].name=...
  method getFileSource (line 148) | getFileSource(e){if(this.fd==="closed")throw new Error("ZIP file is clos...
  method discard (line 148) | discard(){this.fd!=="closed"&&(this.baseFs.closeSync(this.fd),this.fd="c...
  method addDirectory (line 148) | addDirectory(e){throw new Error("Not implemented")}
  method deleteEntry (line 148) | deleteEntry(e){throw new Error("Not implemented")}
  method setMtime (line 148) | setMtime(e,r){throw new Error("Not implemented")}
  method getBufferAndClose (line 148) | getBufferAndClose(){throw new Error("Not implemented")}
  method setFileSource (line 148) | setFileSource(e,r,s){throw new Error("Not implemented")}
  method setExternalAttributes (line 148) | setExternalAttributes(e,r,s){throw new Error("Not implemented")}
  function Vnt (line 148) | function Vnt(){return cv()}
  function Jnt (line 148) | async function Jnt(){return cv()}
  method constructor (line 148) | constructor(){super(...arguments);this.cwd=ge.String("--cwd",process.cwd...
  method execute (line 158) | async execute(){let r=this.args.length>0?`${this.commandName} ${this.arg...
  method constructor (line 158) | constructor(e){super(e),this.name="ShellError"}
  function Knt (line 158) | function Knt(t){if(!DT.default.scan(t,bT).isGlob)return!1;try{DT.default...
  function znt (line 158) | function znt(t,{cwd:e,baseFs:r}){return(0,Ppe.default)(t,{...kpe,cwd:fe....
  function Lj (line 158) | function Lj(t){return DT.default.scan(t,bT).isBrace}
  function Mj (line 158) | function Mj(){}
  function Uj (line 158) | function Uj(){for(let t of cm)t.kill()}
  function Npe (line 158) | function Npe(t,e,r,s){return a=>{let n=a[0]instanceof tA.Transform?"pipe...
  function Ope (line 161) | function Ope(t){return e=>{let r=e[0]==="pipe"?new tA.PassThrough:e[0];r...
  function xT (line 161) | function xT(t,e){return Hj.start(t,e)}
  function Tpe (line 161) | function Tpe(t,e=null){let r=new tA.PassThrough,s=new Fpe.StringDecoder,...
  function Lpe (line 162) | function Lpe(t,{prefix:e}){return{stdout:Tpe(r=>t.stdout.write(`${r}
  method constructor (line 164) | constructor(e){this.stream=e}
  method close (line 164) | close(){}
  method get (line 164) | get(){return this.stream}
  method constructor (line 164) | constructor(){this.stream=null}
  method close (line 164) | close(){if(this.stream===null)throw new Error("Assertion failed: No stre...
  method attach (line 164) | attach(e){this.stream=e}
  method get (line 164) | get(){if(this.stream===null)throw new Error("Assertion failed: No stream...
  method constructor (line 164) | constructor(e,r){this.stdin=null;this.stdout=null;this.stderr=null;this....
  method start (line 164) | static start(e,{stdin:r,stdout:s,stderr:a}){let n=new t(null,e);return n...
  method pipeTo (line 164) | pipeTo(e,r=1){let s=new t(this,e),a=new _j;return s.pipe=a,s.stdout=this...
  method exec (line 164) | async exec(){let e=["ignore","ignore","ignore"];if(this.pipe)e[0]="pipe"...
  method run (line 164) | async run(){let e=[];for(let s=this;s;s=s.ancestor)e.push(s.exec());retu...
  function Mpe (line 164) | function Mpe(t,e,r){let s=new Jl.PassThrough({autoDestroy:!0});switch(t)...
  function QT (line 164) | function QT(t,e={}){let r={...t,...e};return r.environment={...t.environ...
  function Znt (line 164) | async function Znt(t,e,r){let s=[],a=new Jl.PassThrough;return a.on("dat...
  function Upe (line 164) | async function Upe(t,e,r){let s=t.map(async n=>{let c=await um(n.args,e,...
  function kT (line 164) | function kT(t){return t.match(/[^ \r\n\t]+/g)||[]}
  function Wpe (line 164) | async function Wpe(t,e,r,s,a=s){switch(t.name){case"$":s(String(process....
  function hv (line 164) | async function hv(t,e,r){if(t.type==="number"){if(Number.isInteger(t.val...
  function um (line 164) | async function um(t,e,r){let s=new Map,a=[],n=[],c=E=>{n.push(E)},f=()=>...
  function gv (line 164) | function gv(t,e,r){e.builtins.has(t[0])||(t=["command",...t]);let s=fe.f...
  function eit (line 164) | function eit(t,e,r){return s=>{let a=new Jl.PassThrough,n=TT(t,e,QT(r,{s...
  function tit (line 164) | function tit(t,e,r){return s=>{let a=new Jl.PassThrough,n=TT(t,e,r);retu...
  function _pe (line 164) | function _pe(t,e,r,s){if(e.length===0)return t;{let a;do a=String(Math.r...
  function Hpe (line 164) | async function Hpe(t,e,r){let s=t,a=null,n=null;for(;s;){let c=s.then?{....
  function rit (line 164) | async function rit(t,e,r,{background:s=!1}={}){function a(n){let c=["#2E...
  function nit (line 166) | async function nit(t,e,r,{background:s=!1}={}){let a,n=f=>{a=f,r.variabl...
  function TT (line 167) | async function TT(t,e,r){let s=r.backgroundJobs;r.backgroundJobs=[];let ...
  function Ype (line 167) | function Ype(t){switch(t.type){case"variable":return t.name==="@"||t.nam...
  function dv (line 167) | function dv(t){switch(t.type){case"redirection":return t.args.some(e=>dv...
  function Gj (line 167) | function Gj(t){switch(t.type){case"variable":return Ype(t);case"number":...
  function qj (line 167) | function qj(t){return t.some(({command:e})=>{for(;e;){let r=e.chain;for(...
  function vI (line 167) | async function vI(t,e=[],{baseFs:r=new Yn,builtins:s={},cwd:a=fe.toPorta...
  method write (line 170) | write(ie,ue,le){setImmediate(le)}
  function iit (line 170) | function iit(){var t=0,e=1,r=2,s=3,a=4,n=5,c=6,f=7,p=8,h=9,E=10,C=11,S=1...
  function oit (line 170) | function oit(){if(FT)return FT;if(typeof Intl.Segmenter<"u"){let t=new I...
  function the (line 170) | function the(t,{configuration:e,json:r}){if(!e.get("enableMessageNames")...
  function Wj (line 170) | function Wj(t,{configuration:e,json:r}){let s=the(t,{configuration:e,jso...
  function SI (line 170) | async function SI({configuration:t,stdout:e,forceError:r},s){let a=await...
  method constructor (line 175) | constructor({configuration:r,stdout:s,json:a=!1,forceSectionAlignment:n=...
  method start (line 175) | static async start(r,s){let a=new this(r),n=process.emitWarning;process....
  method hasErrors (line 175) | hasErrors(){return this.errorCount>0}
  method exitCode (line 175) | exitCode(){return this.hasErrors()?1:0}
  method getRecommendedLength (line 175) | getRecommendedLength(){let s=this.progressStyle!==null?this.stdout.colum...
  method startSectionSync (line 175) | startSectionSync({reportHeader:r,reportFooter:s,skipIfEmpty:a},n){let c=...
  method startSectionPromise (line 175) | async startSectionPromise({reportHeader:r,reportFooter:s,skipIfEmpty:a},...
  method startTimerImpl (line 175) | startTimerImpl(r,s,a){return{cb:typeof s=="function"?s:a,reportHeader:()...
  method startTimerSync (line 175) | startTimerSync(r,s,a){let{cb:n,...c}=this.startTimerImpl(r,s,a);return t...
  method startTimerPromise (line 175) | async startTimerPromise(r,s,a){let{cb:n,...c}=this.startTimerImpl(r,s,a)...
  method reportSeparator (line 175) | reportSeparator(){this.indent===0?this.writeLine(""):this.reportInfo(nul...
  method reportInfo (line 175) | reportInfo(r,s){if(!this.includeInfos)return;this.commit();let a=this.fo...
  method reportWarning (line 175) | reportWarning(r,s){if(this.warningCount+=1,!this.includeWarnings)return;...
  method reportError (line 175) | reportError(r,s){this.errorCount+=1,this.timerFooter.push(()=>this.repor...
  method reportErrorImpl (line 175) | reportErrorImpl(r,s){this.commit();let a=this.formatNameWithHyperlink(r)...
  method reportFold (line 175) | reportFold(r,s){if(!D0)return;let a=`${D0.start(r)}${s}${D0.end(r)}`;thi...
  method reportProgress (line 175) | reportProgress(r){if(this.progressStyle===null)return{...Promise.resolve...
  method reportJson (line 175) | reportJson(r){this.json&&this.writeLine(`${JSON.stringify(r)}`)}
  method finalize (line 175) | async finalize(){if(!this.includeFooter)return;let r="";this.errorCount>...
  method writeLine (line 175) | writeLine(r,{truncate:s}={}){this.clearProgress({clear:!0}),this.stdout....
  method writeLines (line 176) | writeLines(r,{truncate:s}={}){this.clearProgress({delta:r.length});for(l...
  method commit (line 177) | commit(){let r=this.uncommitted;this.uncommitted=new Set;for(let s of r)...
  method clearProgress (line 177) | clearProgress({delta:r=0,clear:s=!1}){this.progressStyle!==null&&this.pr...
  method writeProgress (line 177) | writeProgress(){if(this.progressStyle===null||(this.progressTimeout!==nu...
  method refreshProgress (line 178) | refreshProgress({delta:r=0,force:s=!1}={}){let a=!1,n=!1;if(s||this.prog...
  method truncate (line 178) | truncate(r,{truncate:s}={}){return this.progressStyle===null&&(s=!1),typ...
  method formatName (line 178) | formatName(r){return this.includeNames?the(r,{configuration:this.configu...
  method formatPrefix (line 178) | formatPrefix(r,s){return this.includePrefix?`${Ht(this.configuration,"\u...
  method formatNameWithHyperlink (line 178) | formatNameWithHyperlink(r){return this.includeNames?Wj(r,{configuration:...
  method formatIndent (line 178) | formatIndent(){return this.level>0||!this.forceSectionAlignment?"\u2502 ...
  function b0 (line 178) | async function b0(t,e,r,s=[]){if(process.platform==="win32"){let a=`@got...
  function ihe (line 180) | async function ihe(t){let e=await Ut.tryFind(t);if(e?.packageManager){le...
  function Iv (line 180) | async function Iv({project:t,locator:e,binFolder:r,ignoreCorepack:s,life...
  function pit (line 180) | async function pit(t,e,{configuration:r,report:s,workspace:a=null,locato...
  function hit (line 188) | async function hit(t,e,{project:r}){let s=r.tryWorkspaceByLocator(t);if(...
  function LT (line 188) | async function LT(t,e,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f}){ret...
  function Yj (line 188) | async function Yj(t,e,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f}){ret...
  function git (line 188) | async function git(t,{binFolder:e,cwd:r,lifecycleScript:s}){let a=await ...
  function she (line 188) | async function she(t,{project:e,binFolder:r,cwd:s,lifecycleScript:a}){le...
  function ohe (line 188) | async function ohe(t,e,r,{cwd:s,stdin:a,stdout:n,stderr:c}){return await...
  function Vj (line 188) | function Vj(t,e){return t.manifest.scripts.has(e)}
  function ahe (line 188) | async function ahe(t,e,{cwd:r,report:s}){let{configuration:a}=t.project,...
  function dit (line 189) | async function dit(t,e,r){Vj(t,e)&&await ahe(t,e,r)}
  function Jj (line 189) | function Jj(t){let e=J.extname(t);if(e.match(/\.[cm]?[jt]sx?$/))return!0...
  function MT (line 189) | async function MT(t,{project:e}){let r=e.configuration,s=new Map,a=e.sto...
  function lhe (line 189) | async function lhe(t){return await MT(t.anchoredLocator,{project:t.proje...
  function Kj (line 189) | async function Kj(t,e){await Promise.all(Array.from(e,([r,[,s,a]])=>a?b0...
  function che (line 189) | async function che(t,e,r,{cwd:s,project:a,stdin:n,stdout:c,stderr:f,node...
  function mit (line 189) | async function mit(t,e,r,{cwd:s,stdin:a,stdout:n,stderr:c,packageAccessi...
  method constructor (line 189) | constructor(e,r,s){this.src=e,this.dest=r,this.opts=s,this.ondrain=()=>e...
  method unpipe (line 189) | unpipe(){this.dest.removeListener("drain",this.ondrain)}
  method proxyErrors (line 189) | proxyErrors(){}
  method end (line 189) | end(){this.unpipe(),this.opts.end&&this.dest.end()}
  method unpipe (line 189) | unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}
  method constructor (line 189) | constructor(e,r,s){super(e,r,s),this.proxyErrors=a=>r.emit("error",a),e....
  method constructor (line 189) | constructor(e){super(),this[jT]=!1,this[wv]=!1,this.pipes=[],this.buffer...
  method bufferLength (line 189) | get bufferLength(){return this[Ys]}
  method encoding (line 189) | get encoding(){return this[ul]}
  method encoding (line 189) | set encoding(e){if(this[Ko])throw new Error("cannot set encoding in obje...
  method setEncoding (line 189) | setEncoding(e){this.encoding=e}
  method objectMode (line 189) | get objectMode(){return this[Ko]}
  method objectMode (line 189) | set objectMode(e){this[Ko]=this[Ko]||!!e}
  method async (line 189) | get async(){return this[Gp]}
  method async (line 189) | set async(e){this[Gp]=this[Gp]||!!e}
  method write (line 189) | write(e,r,s){if(this[_p])throw new Error("write after end");if(this[zo])...
  method read (line 189) | read(e){if(this[zo])return null;if(this[Ys]===0||e===0||e>this[Ys])retur...
  method [ghe] (line 189) | [ghe](e,r){return e===r.length||e===null?this[Zj]():(this.buffer[0]=r.sl...
  method end (line 189) | end(e,r,s){return typeof e=="function"&&(s=e,e=null),typeof r=="function...
  method [bI] (line 189) | [bI](){this[zo]||(this[wv]=!1,this[jT]=!0,this.emit("resume"),this.buffe...
  method resume (line 189) | resume(){return this[bI]()}
  method pause (line 189) | pause(){this[jT]=!1,this[wv]=!0}
  method destroyed (line 189) | get destroyed(){return this[zo]}
  method flowing (line 189) | get flowing(){return this[jT]}
  method paused (line 189) | get paused(){return this[wv]}
  method [Xj] (line 189) | [Xj](e){this[Ko]?this[Ys]+=1:this[Ys]+=e.length,this.buffer.push(e)}
  method [Zj] (line 189) | [Zj](){return this.buffer.length&&(this[Ko]?this[Ys]-=1:this[Ys]-=this.b...
  method [HT] (line 189) | [HT](e){do;while(this[dhe](this[Zj]()));!e&&!this.buffer.length&&!this[_...
  method [dhe] (line 189) | [dhe](e){return e?(this.emit("data",e),this.flowing):!1}
  method pipe (line 189) | pipe(e,r){if(this[zo])return;let s=this[x0];return r=r||{},e===Ahe.stdou...
  method unpipe (line 189) | unpipe(e){let r=this.pipes.find(s=>s.dest===e);r&&(this.pipes.splice(thi...
  method addListener (line 189) | addListener(e,r){return this.on(e,r)}
  method on (line 189) | on(e,r){let s=super.on(e,r);return e==="data"&&!this.pipes.length&&!this...
  method emittedEnd (line 189) | get emittedEnd(){return this[x0]}
  method [Hp] (line 189) | [Hp](){!this[UT]&&!this[x0]&&!this[zo]&&this.buffer.length===0&&this[_p]...
  method
Condensed preview — 3566 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (9,823K chars).
[
  {
    "path": ".attw.json",
    "chars": 215,
    "preview": "{\n  \"format\": \"table-flipped\",\n  \"emoji\": false,\n  \"includeEntrypoints\": [\n    \"array\",\n    \"compat\",\n    \"function\",\n  "
  },
  {
    "path": ".claude/skills/compat-review/SKILL.md",
    "chars": 3481,
    "preview": "---\nname: compat-review\ndescription: Verify compat PR claims by running lodash vs es-toolkit/compat at runtime\nargument-"
  },
  {
    "path": ".claude/skills/issue-label/SKILL.md",
    "chars": 2174,
    "preview": "---\nname: issue-label\ndescription: Suggest and apply GitHub labels to unlabeled issues\nargument-hint: '<issue number>'\na"
  },
  {
    "path": ".claude/skills/issue-review/SKILL.md",
    "chars": 2357,
    "preview": "---\nname: issue-review\ndescription: Review recent issues with labeling, context analysis, and duplicate detection\nargume"
  },
  {
    "path": ".claude/skills/pr-review/SKILL.md",
    "chars": 2697,
    "preview": "---\nname: pr-review\ndescription: Review recent PRs with deep context and label-specific checks\nargument-hint: '[count=10"
  },
  {
    "path": ".claude/skills/pr-triage/SKILL.md",
    "chars": 1861,
    "preview": "---\nname: pr-triage\ndescription: Classify and summarize a PR for efficient review\nargument-hint: \"<PR number>\"\nallowed-t"
  },
  {
    "path": ".claude/skills/release/SKILL.md",
    "chars": 3846,
    "preview": "---\nname: release\ndescription: Create a new es-toolkit release (version bump, changelog, tag)\ndisable-model-invocation: "
  },
  {
    "path": ".github/CODEOWNERS",
    "chars": 22,
    "preview": "* @raon0211 @dayongkr\n"
  },
  {
    "path": ".github/CODE_OF_CONDUCT.md",
    "chars": 3118,
    "preview": "# Contributor Covenant Code of Conduct\n\n## Our Pledge\n\nIn the interest of fostering an open and welcoming environment, w"
  },
  {
    "path": ".github/CONTRIBUTING-ko_kr.md",
    "chars": 5695,
    "preview": "# es-toolkit에 기여하기\n\n어떤 분들의 기여도 환영해요! 이 저장소에서 모든 소통은 영어로 진행돼요. 한국어는 보조 언어로 사용돼요.\n\n> es-toolkit에 기여할 때, [행동 강령(Code of con"
  },
  {
    "path": ".github/CONTRIBUTING-zh_hans.md",
    "chars": 4558,
    "preview": "# 为 es-toolkit 做贡献\n\n我们欢迎社区中每个人的贡献。本仓库中的所有沟通都将使用英语。\n\n> 每位对 es-toolkit 的贡献者都应遵守我们的行为准则。请阅读[全文](./CODE_OF_CONDUCT.md)以了解哪些行"
  },
  {
    "path": ".github/CONTRIBUTING.md",
    "chars": 8183,
    "preview": "# Contributing to es-toolkit\n\nWe welcome contribution from everyone in the community. All communications in this reposit"
  },
  {
    "path": ".github/dependabot.yml",
    "chars": 118,
    "preview": "version: 2\nupdates:\n  - package-ecosystem: 'github-actions'\n    directory: '/'\n    schedule:\n      interval: 'weekly'\n"
  },
  {
    "path": ".github/workflows/autofix.yml",
    "chars": 747,
    "preview": "name: autofix.ci\n\non:\n  push:\n    branches: [main]\n  pull_request:\n    types: [opened, synchronize, reopened]\n\nconcurren"
  },
  {
    "path": ".github/workflows/broken-link-checker.yml",
    "chars": 756,
    "preview": "name: Broken link checker\n\non:\n  schedule:\n    - cron: '0 5 * * 1-5'\n  workflow_dispatch:\n    inputs: { url: { descripti"
  },
  {
    "path": ".github/workflows/ci.yml",
    "chars": 3358,
    "preview": "name: CI\n\non:\n  pull_request:\n    branches: [main]\n\nconcurrency:\n  group: ${{ github.workflow }}-${{ github.ref }}\n  can"
  },
  {
    "path": ".github/workflows/codecov.yml",
    "chars": 718,
    "preview": "name: CI\n\non:\n  push:\n    branches: [main]\n  pull_request:\n    types: [opened, synchronize, reopened]\nconcurrency:\n  gro"
  },
  {
    "path": ".github/workflows/deno.yml",
    "chars": 385,
    "preview": "name: CI\n\non:\n  pull_request:\n    types: [opened, synchronize, reopened]\n  merge_group:\n\njobs:\n  deno:\n    runs-on: ubun"
  },
  {
    "path": ".github/workflows/release.yml",
    "chars": 3520,
    "preview": "name: Release\n\non:\n  push:\n    branches:\n      - main\n    tags:\n      - 'v*.*.*'\n\njobs:\n  release:\n    if: github.reposi"
  },
  {
    "path": ".gitignore",
    "chars": 360,
    "preview": ".DS_Store\n\n.idea/\n\n.yarn/*\n!.yarn/patches\n!.yarn/plugins\n!.yarn/releases\n!.yarn/sdks\n!.yarn/versions\n\n.pnp.cjs\n.pnp.load"
  },
  {
    "path": ".npmignore",
    "chars": 6,
    "preview": ".nvmrc"
  },
  {
    "path": ".nvmrc",
    "chars": 7,
    "preview": "24.13.0"
  },
  {
    "path": ".prettierignore",
    "chars": 90,
    "preview": ".yarn/*\n\n.pnp.cjs\n.pnp.loader.mjs\n\nnode_modules\ncoverage\ndist\nesm\n.junit\nout\n*.d.ts\n*.tgz\n"
  },
  {
    "path": ".prettierrc.cjs",
    "chars": 699,
    "preview": "module.exports = {\n  arrowParens: 'avoid',\n  bracketSameLine: false,\n  bracketSpacing: true,\n  endOfLine: 'lf',\n  jsxSin"
  },
  {
    "path": ".scripts/check-dist.mjs",
    "chars": 0,
    "preview": ""
  },
  {
    "path": ".scripts/check-peer.sh",
    "chars": 310,
    "preview": "OUT=$(yarn | grep -E \"(YN0002|YN0059|YN0060)\" | grep -E $1)\nif [ -z \"$OUT\" ]; then\n  echo \"No Peer Dependency Errors Fou"
  },
  {
    "path": ".scripts/docs/deno.json",
    "chars": 257,
    "preview": "{\n  \"imports\": {\n    \"@deno/doc\": \"jsr:@deno/doc@^0.148.0\",\n    \"@es-toolkit/es-toolkit\": \"jsr:@es-toolkit/es-toolkit@^1"
  },
  {
    "path": ".scripts/docs/formatters/class.ts",
    "chars": 1360,
    "preview": "import { DocNodeClass } from '@deno/doc';\nimport { formatDecorator } from './nodes/decorator.ts';\nimport { formatTypePar"
  },
  {
    "path": ".scripts/docs/formatters/function.ts",
    "chars": 1002,
    "preview": "import { DocNodeFunction } from '@deno/doc';\nimport { formatParam } from './nodes/param.ts';\nimport { formatTypeParam } "
  },
  {
    "path": ".scripts/docs/formatters/helpers/readonly.ts",
    "chars": 403,
    "preview": "import { FormatOption } from '../options.ts';\n\nexport function formatReadonly(node: { readonly?: boolean | '+' | '-' }, "
  },
  {
    "path": ".scripts/docs/formatters/nodes/call-signature.ts",
    "chars": 531,
    "preview": "import { LiteralCallSignatureDef } from '@deno/doc';\nimport { formatParam } from './param.ts';\nimport { formatType } fro"
  },
  {
    "path": ".scripts/docs/formatters/nodes/decorator.ts",
    "chars": 398,
    "preview": "import { DecoratorDef } from '@deno/doc';\nimport { FormatOption } from '../options.ts';\n\n// eslint-disable-next-line\nexp"
  },
  {
    "path": ".scripts/docs/formatters/nodes/index-signature.ts",
    "chars": 627,
    "preview": "import { LiteralIndexSignatureDef } from '@deno/doc';\nimport { formatParam } from './param.ts';\nimport { formatType } fr"
  },
  {
    "path": ".scripts/docs/formatters/nodes/method.ts",
    "chars": 653,
    "preview": "import { LiteralMethodDef } from '@deno/doc';\nimport { formatParam } from './param.ts';\nimport { formatType } from './ty"
  },
  {
    "path": ".scripts/docs/formatters/nodes/object-pat-prop.ts",
    "chars": 560,
    "preview": "import { ObjectPatPropDef } from '@deno/doc';\nimport { formatParam } from './param.ts';\n\nexport function formatObjectPat"
  },
  {
    "path": ".scripts/docs/formatters/nodes/param.ts",
    "chars": 1980,
    "preview": "import { ParamDef } from '@deno/doc';\nimport { formatObjectPatProp } from './object-pat-prop.ts';\nimport { formatType } "
  },
  {
    "path": ".scripts/docs/formatters/nodes/property.ts",
    "chars": 605,
    "preview": "import { LiteralPropertyDef } from '@deno/doc';\nimport { formatType } from './type.ts';\nimport { formatReadonly } from '"
  },
  {
    "path": ".scripts/docs/formatters/nodes/type-param.ts",
    "chars": 495,
    "preview": "import { TsTypeParamDef } from '@deno/doc';\nimport { formatType } from './type.ts';\nimport { FormatOption } from '../opt"
  },
  {
    "path": ".scripts/docs/formatters/nodes/type.ts",
    "chars": 6954,
    "preview": "import { TsTypeDef } from '@deno/doc';\nimport { formatCallSignatureDef } from './call-signature.ts';\nimport { formatInde"
  },
  {
    "path": ".scripts/docs/formatters/options.ts",
    "chars": 77,
    "preview": "export interface FormatOption {\n  display?: {\n    readonly?: boolean;\n  };\n}\n"
  },
  {
    "path": ".scripts/docs/generate-docs.mts",
    "chars": 4510,
    "preview": "import path from 'node:path';\nimport { fileURLToPath } from 'node:url';\nimport { doc, DocNode } from '@deno/doc';\nimport"
  },
  {
    "path": ".scripts/docs/operations/render/en.ts",
    "chars": 1912,
    "preview": "import { RenderOptions } from './types.ts';\nimport { DocumentationItem } from '../../types/DocumentationItem.ts';\n\nexpor"
  },
  {
    "path": ".scripts/docs/operations/render/ja.ts",
    "chars": 1638,
    "preview": "import { RenderOptions } from './types.ts';\nimport { DocumentationItem } from '../../types/DocumentationItem.ts';\n\nexpor"
  },
  {
    "path": ".scripts/docs/operations/render/ko.ts",
    "chars": 1633,
    "preview": "import { RenderOptions } from './types.ts';\nimport { DocumentationItem } from '../../types/DocumentationItem.ts';\n\nexpor"
  },
  {
    "path": ".scripts/docs/operations/render/types.ts",
    "chars": 55,
    "preview": "export interface RenderOptions {\n  compat?: boolean;\n}\n"
  },
  {
    "path": ".scripts/docs/operations/render/zh_hans.ts",
    "chars": 1599,
    "preview": "import { RenderOptions } from './types.ts';\nimport { DocumentationItem } from '../../types/DocumentationItem.ts';\n\nexpor"
  },
  {
    "path": ".scripts/docs/operations/toDocumentationItem.ts",
    "chars": 3478,
    "preview": "import { DocNode, JsDocTag, JsDocTagDocRequired, JsDocTagParam, JsDocTagReturn } from '@deno/doc';\nimport { formatClassD"
  },
  {
    "path": ".scripts/docs/operations/translate.ts",
    "chars": 1496,
    "preview": "import OpenAI from 'openai';\nimport { pick, toMerged } from '@es-toolkit/es-toolkit';\nimport { DocumentationItem } from "
  },
  {
    "path": ".scripts/docs/types/DocumentationItem.ts",
    "chars": 290,
    "preview": "export interface DocumentationItem {\n  name: string;\n  description: string;\n  signature: string;\n  parameters: Array<{\n "
  },
  {
    "path": ".scripts/docs/types/Locale.ts",
    "chars": 53,
    "preview": "export type Locale = 'en' | 'ko' | 'ja' | 'zh_hans';\n"
  },
  {
    "path": ".scripts/generate-bundle-size.mjs",
    "chars": 2378,
    "preview": "import esbuild from 'esbuild';\nimport fs from 'fs/promises';\nimport path from 'path';\nimport { fileURLToPath } from 'url"
  },
  {
    "path": ".scripts/postbuild.sh",
    "chars": 5138,
    "preview": "#!/bin/sh\n\n# Function to create root exports\ncreate_root_export() {\n    local name=$1\n    echo \"export * from './dist/$n"
  },
  {
    "path": ".scripts/tests/_internal/formatter/brokenSyntax.ts",
    "chars": 1502,
    "preview": "function fixExpectFunction(source: string): string {\n  const expectMatched = source.match(/expect(\\(.+\\)).toEqual.+\\);/g"
  },
  {
    "path": ".scripts/tests/_internal/transform/assert.ts",
    "chars": 1976,
    "preview": "import type { Collection, JSCodeshift } from 'jscodeshift';\n\nexport function transformAssert(root: Collection, jscodeshi"
  },
  {
    "path": ".scripts/tests/_internal/transform/import.ts",
    "chars": 3038,
    "preview": "import type { Collection, JSCodeshift } from 'jscodeshift';\n\nexport function transformImport(root: Collection, jscodeshi"
  },
  {
    "path": ".scripts/tests/_internal/transform/lodashStable.ts",
    "chars": 1588,
    "preview": "import type { Collection, JSCodeshift } from 'jscodeshift';\n\nexport function transformLodashStable(root: Collection, jsc"
  },
  {
    "path": ".scripts/tests/transform-lodash-test.ts",
    "chars": 942,
    "preview": "import type { API, FileInfo } from 'jscodeshift';\nimport { formatBrokenSyntax } from './_internal/formatter/brokenSyntax"
  },
  {
    "path": ".vscode/extensions.json",
    "chars": 102,
    "preview": "{\n  \"recommendations\": [\"arcanis.vscode-zipfs\", \"dbaeumer.vscode-eslint\", \"esbenp.prettier-vscode\"]\n}\n"
  },
  {
    "path": ".vscode/settings.json",
    "chars": 610,
    "preview": "{\n  \"search.exclude\": {\n    \"**/.yarn\": true,\n    \"**/.pnp.*\": true\n  },\n  \"eslint.nodePath\": \".yarn/sdks\",\n  \"eslint.va"
  },
  {
    "path": ".yarn/releases/yarn-4.12.0.cjs",
    "chars": 2992830,
    "preview": "#!/usr/bin/env node\n/* eslint-disable */\n//prettier-ignore\n(()=>{var xGe=Object.create;var mU=Object.defineProperty;var "
  },
  {
    "path": ".yarn/sdks/eslint/bin/eslint.js",
    "chars": 1087,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/eslint/lib/api.js",
    "chars": 1045,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/eslint/lib/config-api.js",
    "chars": 1066,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/eslint/lib/universal.js",
    "chars": 1075,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/eslint/lib/unsupported-api.js",
    "chars": 1108,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/eslint/package.json",
    "chars": 720,
    "preview": "{\n  \"name\": \"eslint\",\n  \"version\": \"9.22.0-sdk\",\n  \"main\": \"./lib/api.js\",\n  \"type\": \"commonjs\",\n  \"bin\": {\n    \"eslint\""
  },
  {
    "path": ".yarn/sdks/integrations.yml",
    "chars": 115,
    "preview": "# This file is automatically generated by @yarnpkg/sdks.\n# Manual changes might be lost!\n\nintegrations:\n  - vscode\n"
  },
  {
    "path": ".yarn/sdks/prettier/bin/prettier.cjs",
    "chars": 1102,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/prettier/index.cjs",
    "chars": 1048,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/prettier/package.json",
    "chars": 129,
    "preview": "{\n  \"name\": \"prettier\",\n  \"version\": \"3.2.5-sdk\",\n  \"main\": \"./index.cjs\",\n  \"type\": \"commonjs\",\n  \"bin\": \"./bin/prettie"
  },
  {
    "path": ".yarn/sdks/typescript/bin/tsc",
    "chars": 1081,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/typescript/bin/tsserver",
    "chars": 1096,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/typescript/lib/tsc.js",
    "chars": 1090,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/typescript/lib/tsserver.js",
    "chars": 9664,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/typescript/lib/tsserverlibrary.js",
    "chars": 9685,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/typescript/lib/typescript.js",
    "chars": 1057,
    "preview": "#!/usr/bin/env node\n\nconst {existsSync} = require(`fs`);\nconst {createRequire, register} = require(`module`);\nconst {res"
  },
  {
    "path": ".yarn/sdks/typescript/package.json",
    "chars": 181,
    "preview": "{\n  \"name\": \"typescript\",\n  \"version\": \"5.8.2-sdk\",\n  \"main\": \"./lib/typescript.js\",\n  \"type\": \"commonjs\",\n  \"bin\": {\n  "
  },
  {
    "path": ".yarnrc.yml",
    "chars": 578,
    "preview": "npmScopes:\n  jsr:\n    npmRegistryServer: 'https://npm.jsr.io'\n\npackageExtensions:\n  '@algolia/autocomplete-core@1.17.7':"
  },
  {
    "path": "CHANGELOG.md",
    "chars": 73458,
    "preview": "# es-toolkit Changelog\n\n## Version v1.45.1\n\nReleased on March 4th, 2026.\n\n- Reverted the return type of `sample` to not "
  },
  {
    "path": "CLAUDE.md",
    "chars": 2120,
    "preview": "# CLAUDE.md\n\nInstructions for AI assistants working on es-toolkit.\n\n## Language\n\nThis is a global project with users spe"
  },
  {
    "path": "LICENSE",
    "chars": 1424,
    "preview": "MIT License\n\nCopyright (c) 2024 Viva Republica, Inc\n\nCopyright OpenJS Foundation and other contributors\n\nParts of the te"
  },
  {
    "path": "README-ja_jp.md",
    "chars": 2858,
    "preview": "![](./docs/public/og.png)\n\n# es-toolkit &middot; [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](htt"
  },
  {
    "path": "README-ko_kr.md",
    "chars": 3067,
    "preview": "![](./docs/public/og.png)\n\n# es-toolkit &middot; [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](htt"
  },
  {
    "path": "README-zh_hans.md",
    "chars": 2759,
    "preview": "![](./docs/public/og.png)\n\n# es-toolkit &middot; [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](htt"
  },
  {
    "path": "README.md",
    "chars": 3345,
    "preview": "![](./docs/public/og.png)\n\n# es-toolkit &middot; [![MIT License](https://img.shields.io/badge/license-MIT-blue.svg)](htt"
  },
  {
    "path": "SECURITY.md",
    "chars": 717,
    "preview": "# Security Policy\n\n## Supported Versions\n\nThe following table describes the versions of this project that are currently "
  },
  {
    "path": "benchmarks/bundle-size/add.spec.ts",
    "chars": 471,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('add bun"
  },
  {
    "path": "benchmarks/bundle-size/camelCase.spec.ts",
    "chars": 653,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('camelCa"
  },
  {
    "path": "benchmarks/bundle-size/chunk.spec.ts",
    "chars": 637,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('chunk b"
  },
  {
    "path": "benchmarks/bundle-size/clone.spec.ts",
    "chars": 639,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('clone b"
  },
  {
    "path": "benchmarks/bundle-size/cloneDeep.spec.ts",
    "chars": 656,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('cloneDe"
  },
  {
    "path": "benchmarks/bundle-size/curry.spec.ts",
    "chars": 638,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('curry b"
  },
  {
    "path": "benchmarks/bundle-size/debounce.spec.ts",
    "chars": 649,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('debounc"
  },
  {
    "path": "benchmarks/bundle-size/difference.spec.ts",
    "chars": 656,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('differe"
  },
  {
    "path": "benchmarks/bundle-size/escape.spec.ts",
    "chars": 641,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('escape "
  },
  {
    "path": "benchmarks/bundle-size/escapeRegExp.spec.ts",
    "chars": 664,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('escapeR"
  },
  {
    "path": "benchmarks/bundle-size/find.spec.ts",
    "chars": 476,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('find bu"
  },
  {
    "path": "benchmarks/bundle-size/findKey.spec.ts",
    "chars": 646,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('findKey"
  },
  {
    "path": "benchmarks/bundle-size/flow.spec.ts",
    "chars": 633,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('flow bu"
  },
  {
    "path": "benchmarks/bundle-size/isEqual.spec.ts",
    "chars": 648,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('isEqual"
  },
  {
    "path": "benchmarks/bundle-size/isPlainObject.spec.ts",
    "chars": 669,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('isPlain"
  },
  {
    "path": "benchmarks/bundle-size/lastIndexOf.spec.ts",
    "chars": 495,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('lastInd"
  },
  {
    "path": "benchmarks/bundle-size/mapKeys.spec.ts",
    "chars": 647,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('mapKeys"
  },
  {
    "path": "benchmarks/bundle-size/mapValues.spec.ts",
    "chars": 655,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('mapValu"
  },
  {
    "path": "benchmarks/bundle-size/merge.spec.ts",
    "chars": 639,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('merge b"
  },
  {
    "path": "benchmarks/bundle-size/mergeWith.spec.ts",
    "chars": 655,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('mergeWi"
  },
  {
    "path": "benchmarks/bundle-size/omit.spec.ts",
    "chars": 635,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('omit bu"
  },
  {
    "path": "benchmarks/bundle-size/throttle.spec.ts",
    "chars": 650,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('throttl"
  },
  {
    "path": "benchmarks/bundle-size/utils/getBundleSize.ts",
    "chars": 589,
    "preview": "import esbuild from 'esbuild';\nimport path from 'path';\n\nexport async function getBundleSize(pkg: 'lodash-es' | 'es-tool"
  },
  {
    "path": "benchmarks/bundle-size/zip.spec.ts",
    "chars": 629,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('zip bun"
  },
  {
    "path": "benchmarks/bundle-size/zipObject.spec.ts",
    "chars": 653,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('zipObje"
  },
  {
    "path": "benchmarks/bundle-size/zipObjectDeep.spec.ts",
    "chars": 502,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('zipObje"
  },
  {
    "path": "benchmarks/bundle-size/zipWith.spec.ts",
    "chars": 645,
    "preview": "import { describe, expect, it } from 'vitest';\nimport { getBundleSize } from './utils/getBundleSize';\n\ndescribe('zipWith"
  },
  {
    "path": "benchmarks/package.json",
    "chars": 383,
    "preview": "{\n  \"name\": \"benchmarks\",\n  \"private\": true,\n  \"scripts\": {\n    \"check-bundle-size\": \"vitest --update\"\n  },\n  \"dependenc"
  },
  {
    "path": "benchmarks/performance/add.bench.ts",
    "chars": 620,
    "preview": "import { bench, describe } from 'vitest';\nimport { add as addToolkitCompat_ } from 'es-toolkit/compat';\nimport { add as "
  },
  {
    "path": "benchmarks/performance/after.bench.ts",
    "chars": 1017,
    "preview": "import { bench, describe } from 'vitest';\nimport { after as afterToolkit_ } from 'es-toolkit';\nimport { after as afterCo"
  },
  {
    "path": "benchmarks/performance/ary.bench.ts",
    "chars": 803,
    "preview": "import { bench, describe } from 'vitest';\nimport { ary as aryToolkit_ } from 'es-toolkit';\nimport { ary as aryCompactToo"
  },
  {
    "path": "benchmarks/performance/assign.bench.ts",
    "chars": 473,
    "preview": "import { bench, describe } from 'vitest';\nimport { assign as assignCompatToolkit_ } from 'es-toolkit/compat';\nimport { a"
  },
  {
    "path": "benchmarks/performance/assignIn.bench.ts",
    "chars": 499,
    "preview": "import { bench, describe } from 'vitest';\nimport { assignIn as assignInCompatToolkit_ } from 'es-toolkit/compat';\nimport"
  },
  {
    "path": "benchmarks/performance/assignInWith.bench.ts",
    "chars": 735,
    "preview": "import { bench, describe } from 'vitest';\nimport { assignInWith as assignInWithCompatToolkit_ } from 'es-toolkit/compat'"
  },
  {
    "path": "benchmarks/performance/assignWith.bench.ts",
    "chars": 709,
    "preview": "import { bench, describe } from 'vitest';\nimport { assignWith as assignWithCompatToolkit_ } from 'es-toolkit/compat';\nim"
  },
  {
    "path": "benchmarks/performance/at.bench.ts",
    "chars": 1210,
    "preview": "import { bench, describe } from 'vitest';\nimport { at as atToolkit_ } from 'es-toolkit';\nimport { at as atToolkitCompat_"
  },
  {
    "path": "benchmarks/performance/attempt.bench.ts",
    "chars": 428,
    "preview": "import { bench, describe } from 'vitest';\nimport { attempt as attemptToolkit_ } from 'es-toolkit/compat';\nimport { attem"
  },
  {
    "path": "benchmarks/performance/before.bench.ts",
    "chars": 1203,
    "preview": "import { bench, describe } from 'vitest';\nimport { before as beforeToolkit_ } from 'es-toolkit';\nimport { before as befo"
  },
  {
    "path": "benchmarks/performance/bind.bench.ts",
    "chars": 978,
    "preview": "import { bench, describe } from 'vitest';\nimport { bind as bindToolkit_ } from 'es-toolkit/compat';\nimport { bind as bin"
  },
  {
    "path": "benchmarks/performance/bindAll.bench.ts",
    "chars": 894,
    "preview": "import { bench, describe } from 'vitest';\nimport { bindAll as bindAllToolkit_ } from 'es-toolkit/compat';\nimport { bindA"
  },
  {
    "path": "benchmarks/performance/bindKey.bench.ts",
    "chars": 935,
    "preview": "import { bench, describe } from 'vitest';\nimport { bindKey as bindKeyToolkit_ } from 'es-toolkit/compat';\nimport { bindK"
  },
  {
    "path": "benchmarks/performance/camelCase.bench.ts",
    "chars": 730,
    "preview": "import { bench, describe } from 'vitest';\nimport { camelCase as camelCaseToolkit_ } from 'es-toolkit';\nimport { camelCas"
  },
  {
    "path": "benchmarks/performance/capitalize.bench.ts",
    "chars": 746,
    "preview": "import { bench, describe } from 'vitest';\nimport { capitalize as capitalizeToolkit_ } from 'es-toolkit';\nimport { capita"
  },
  {
    "path": "benchmarks/performance/castArray.bench.ts",
    "chars": 526,
    "preview": "import { bench, describe } from 'vitest';\nimport { castArray as castArrayToolkit_ } from 'es-toolkit/compat';\nimport { c"
  },
  {
    "path": "benchmarks/performance/ceil.bench.ts",
    "chars": 956,
    "preview": "import { bench, describe } from 'vitest';\nimport { ceil as ceilToolkit_ } from 'es-toolkit/compat';\nimport { ceil as cei"
  },
  {
    "path": "benchmarks/performance/check-dist-mock.bench.ts",
    "chars": 1406,
    "preview": "import { bench, describe } from 'vitest';\n\nconst mockCreatePackageTarball = () => {\n  return new Promise(resolve => {\n  "
  },
  {
    "path": "benchmarks/performance/chunk.bench.ts",
    "chars": 967,
    "preview": "import { bench, describe } from 'vitest';\nimport { chunk as chunkToolkit_ } from 'es-toolkit';\nimport { chunk as chunkCo"
  },
  {
    "path": "benchmarks/performance/clamp.bench.ts",
    "chars": 662,
    "preview": "import { bench, describe } from 'vitest';\nimport { clamp as clampToolkit_ } from 'es-toolkit';\nimport { clamp as clampCo"
  },
  {
    "path": "benchmarks/performance/clone.bench.ts",
    "chars": 798,
    "preview": "import { bench, describe } from 'vitest';\nimport { clone as cloneToolkit_ } from 'es-toolkit';\nimport { clone as cloneTo"
  },
  {
    "path": "benchmarks/performance/cloneDeep.bench.ts",
    "chars": 1382,
    "preview": "import { bench, describe } from 'vitest';\nimport { cloneDeep as cloneDeepToolkit_ } from 'es-toolkit';\nimport { cloneDee"
  },
  {
    "path": "benchmarks/performance/cloneWith.bench.ts",
    "chars": 1007,
    "preview": "import { bench, describe } from 'vitest';\nimport { cloneWith as cloneWithToolkitCompat_ } from 'es-toolkit/compat';\nimpo"
  },
  {
    "path": "benchmarks/performance/compact.bench.ts",
    "chars": 1075,
    "preview": "import { bench, describe } from 'vitest';\nimport { compact as compactToolkit_ } from 'es-toolkit';\nimport { compact as c"
  },
  {
    "path": "benchmarks/performance/concat.bench.ts",
    "chars": 690,
    "preview": "import { bench, describe } from 'vitest';\nimport { concat as concatToolkit_ } from 'es-toolkit/compat';\nimport { concat "
  },
  {
    "path": "benchmarks/performance/cond.bench.ts",
    "chars": 1281,
    "preview": "import { bench, describe } from 'vitest';\nimport { cond as condToolkitCompat_ } from 'es-toolkit/compat';\nimport { cond "
  },
  {
    "path": "benchmarks/performance/conforms.bench.ts",
    "chars": 487,
    "preview": "import { bench, describe } from 'vitest';\nimport { conforms as conformsToolkit_ } from 'es-toolkit/compat';\nimport { con"
  },
  {
    "path": "benchmarks/performance/conformsTo.bench.ts",
    "chars": 655,
    "preview": "import { bench, describe } from 'vitest';\nimport { conformsTo as conformsToToolkit_ } from 'es-toolkit/compat';\nimport {"
  },
  {
    "path": "benchmarks/performance/constant.bench.ts",
    "chars": 753,
    "preview": "import { bench, describe } from 'vitest';\nimport { constant as constantToolkitCompat_ } from 'es-toolkit/compat';\nimport"
  },
  {
    "path": "benchmarks/performance/countBy.bench.ts",
    "chars": 991,
    "preview": "import { bench, describe } from 'vitest';\nimport { countBy as countByToolkit_ } from 'es-toolkit';\nimport { countBy as c"
  },
  {
    "path": "benchmarks/performance/create.bench.ts",
    "chars": 460,
    "preview": "import { bench, describe } from 'vitest';\nimport { create as createToolkitCompat_ } from 'es-toolkit/compat';\nimport { c"
  },
  {
    "path": "benchmarks/performance/curry.bench.ts",
    "chars": 1239,
    "preview": "import { bench, describe } from 'vitest';\nimport { curry as curryToolkit_ } from 'es-toolkit';\nimport { curry as curryCo"
  },
  {
    "path": "benchmarks/performance/curryRight.bench.ts",
    "chars": 1443,
    "preview": "import { bench, describe } from 'vitest';\nimport { curryRight as curryRightToolkit_ } from 'es-toolkit';\nimport { curryR"
  },
  {
    "path": "benchmarks/performance/debounce.bench.ts",
    "chars": 681,
    "preview": "import { bench, describe } from 'vitest';\nimport { debounce as debounceToolkit_ } from 'es-toolkit';\nimport { debounce a"
  },
  {
    "path": "benchmarks/performance/deburr.bench.ts",
    "chars": 908,
    "preview": "import { bench, describe } from 'vitest';\nimport { deburr as deburrToolkit_ } from 'es-toolkit';\nimport { deburr as debu"
  },
  {
    "path": "benchmarks/performance/defaultTo.bench.ts",
    "chars": 753,
    "preview": "import { bench, describe } from 'vitest';\nimport { defaultTo as defaultToToolkitCompat_ } from 'es-toolkit/compat';\nimpo"
  },
  {
    "path": "benchmarks/performance/defaults.bench.ts",
    "chars": 609,
    "preview": "import { bench, describe } from 'vitest';\nimport { defaults as defaultsToolkitCompat_ } from 'es-toolkit/compat';\nimport"
  },
  {
    "path": "benchmarks/performance/defaultsDeep.bench.ts",
    "chars": 670,
    "preview": "import { bench, describe } from 'vitest';\nimport { defaultsDeep as defaultsDeepToolkitCompat_ } from 'es-toolkit/compat'"
  },
  {
    "path": "benchmarks/performance/defer.bench.ts",
    "chars": 454,
    "preview": "import { bench, describe } from 'vitest';\nimport { defer as deferToolkit_ } from 'es-toolkit/compat';\nimport { defer as "
  },
  {
    "path": "benchmarks/performance/delay.bench.ts",
    "chars": 499,
    "preview": "import { bench, describe } from 'vitest';\nimport { delay as delayToolkitCompat_ } from 'es-toolkit/compat';\nimport { del"
  },
  {
    "path": "benchmarks/performance/difference.bench.ts",
    "chars": 1171,
    "preview": "import { bench, describe } from 'vitest';\nimport { difference as differenceToolkit_ } from 'es-toolkit';\nimport { differ"
  },
  {
    "path": "benchmarks/performance/differenceBy.bench.ts",
    "chars": 1321,
    "preview": "import { bench, describe } from 'vitest';\nimport { differenceBy as differenceByToolkit_ } from 'es-toolkit';\nimport { di"
  },
  {
    "path": "benchmarks/performance/differenceWith.bench.ts",
    "chars": 1559,
    "preview": "import { bench, describe } from 'vitest';\nimport { differenceWith as differenceWithToolkit_ } from 'es-toolkit';\nimport "
  },
  {
    "path": "benchmarks/performance/divide.bench.ts",
    "chars": 683,
    "preview": "import { bench, describe } from 'vitest';\nimport { divide as divideToolkitCompat_ } from 'es-toolkit/compat';\nimport { d"
  },
  {
    "path": "benchmarks/performance/drop.bench.ts",
    "chars": 944,
    "preview": "import { bench, describe } from 'vitest';\nimport { drop as dropToolkit_ } from 'es-toolkit';\nimport { drop as dropCompat"
  },
  {
    "path": "benchmarks/performance/dropRight.bench.ts",
    "chars": 1074,
    "preview": "import { bench, describe } from 'vitest';\nimport { dropRight as dropRightToolkit_ } from 'es-toolkit';\nimport { dropRigh"
  },
  {
    "path": "benchmarks/performance/dropRightWhile.bench.ts",
    "chars": 1253,
    "preview": "import { bench, describe } from 'vitest';\nimport { dropRightWhile as dropRightWhileToolkit_ } from 'es-toolkit';\nimport "
  },
  {
    "path": "benchmarks/performance/dropWhile.bench.ts",
    "chars": 1119,
    "preview": "import { bench, describe } from 'vitest';\nimport { dropWhile as dropWhileToolkit_ } from 'es-toolkit';\nimport { dropWhil"
  },
  {
    "path": "benchmarks/performance/endsWith.bench.ts",
    "chars": 554,
    "preview": "import { bench, describe } from 'vitest';\nimport { endsWith as endsWithToolkit_ } from 'es-toolkit/compat';\nimport { end"
  },
  {
    "path": "benchmarks/performance/eq.bench.ts",
    "chars": 594,
    "preview": "import { bench, describe } from 'vitest';\nimport { eq as eqToolkitCompat_ } from 'es-toolkit/compat';\nimport { eq as eqL"
  },
  {
    "path": "benchmarks/performance/escape.bench.ts",
    "chars": 988,
    "preview": "import { bench, describe } from 'vitest';\nimport { escape as escapeToolkit_ } from 'es-toolkit';\nimport { escape as esca"
  },
  {
    "path": "benchmarks/performance/escapeRegExp.bench.ts",
    "chars": 1094,
    "preview": "import { bench, describe } from 'vitest';\nimport { escapeRegExp as escapeRegExpToolkit_ } from 'es-toolkit';\nimport { es"
  },
  {
    "path": "benchmarks/performance/every.bench.ts",
    "chars": 1295,
    "preview": "import { bench, describe } from 'vitest';\nimport { every as everyEsToolkit_ } from 'es-toolkit/compat';\nimport { every a"
  },
  {
    "path": "benchmarks/performance/fill.bench.ts",
    "chars": 946,
    "preview": "import { bench, describe } from 'vitest';\nimport { fill as fillToolkit_ } from 'es-toolkit';\nimport { fill as fillCompat"
  },
  {
    "path": "benchmarks/performance/filter.bench.ts",
    "chars": 1159,
    "preview": "import { bench, describe } from 'vitest';\nimport { filter as filterToolkit_ } from 'es-toolkit/compat';\nimport { filter "
  },
  {
    "path": "benchmarks/performance/find.bench.ts",
    "chars": 1058,
    "preview": "import { bench, describe } from 'vitest';\nimport { find as findToolkit_ } from 'es-toolkit/compat';\nimport { find as fin"
  },
  {
    "path": "benchmarks/performance/findIndex.bench.ts",
    "chars": 1178,
    "preview": "import { bench, describe } from 'vitest';\nimport { findIndex as findIndexToolkit_ } from 'es-toolkit/compat';\nimport { f"
  },
  {
    "path": "benchmarks/performance/findKey.bench.ts",
    "chars": 1294,
    "preview": "import { bench, describe } from 'vitest';\nimport { findKey as findKeyToolkit_ } from 'es-toolkit';\nimport { findKey as f"
  },
  {
    "path": "benchmarks/performance/findLast.bench.ts",
    "chars": 1202,
    "preview": "import { bench, describe } from 'vitest';\nimport { findLast as findLastToolkitCompat_ } from 'es-toolkit/compat';\nimport"
  },
  {
    "path": "benchmarks/performance/findLastIndex.bench.ts",
    "chars": 1274,
    "preview": "import { bench, describe } from 'vitest';\nimport { findLastIndex as findLastIndexToolkit_ } from 'es-toolkit/compat';\nim"
  },
  {
    "path": "benchmarks/performance/findLastKey.bench.ts",
    "chars": 1082,
    "preview": "import { bench, describe } from 'vitest';\nimport { findLastKey as findLastKeyCompatToolkit_ } from 'es-toolkit/compat';\n"
  },
  {
    "path": "benchmarks/performance/flatMap.bench.ts",
    "chars": 1372,
    "preview": "import { bench, describe } from 'vitest';\nimport { flatMap as flatMapToolkit_ } from 'es-toolkit';\nimport { flatMap as f"
  },
  {
    "path": "benchmarks/performance/flatMapDeep.bench.ts",
    "chars": 1114,
    "preview": "import { bench, describe } from 'vitest';\nimport { flatMapDeep as flatMapDeepToolkit_ } from 'es-toolkit';\nimport { flat"
  },
  {
    "path": "benchmarks/performance/flatMapDepth.bench.ts",
    "chars": 926,
    "preview": "import { bench, describe } from 'vitest';\nimport { flatMapDepth as flatMapDepthToolkitCompat_ } from 'es-toolkit/compat'"
  },
  {
    "path": "benchmarks/performance/flatten.bench.ts",
    "chars": 1054,
    "preview": "import { bench, describe } from 'vitest';\nimport { flatten as flattenToolkit_ } from 'es-toolkit';\nimport { flatten as f"
  },
  {
    "path": "benchmarks/performance/flattenDeep.bench.ts",
    "chars": 1027,
    "preview": "import { bench, describe } from 'vitest';\nimport { flattenDeep as flattenDeepToolkit_ } from 'es-toolkit';\nimport { flat"
  },
  {
    "path": "benchmarks/performance/flattenDepth.bench.ts",
    "chars": 516,
    "preview": "import { bench, describe } from 'vitest';\nimport { flattenDepth as flattenDepthToolkit_ } from 'es-toolkit/compat';\nimpo"
  },
  {
    "path": "benchmarks/performance/flip.bench.ts",
    "chars": 441,
    "preview": "import { bench, describe } from 'vitest';\nimport { flip as flipToolkit_ } from 'es-toolkit/compat';\nimport { flip as fli"
  },
  {
    "path": "benchmarks/performance/floor.bench.ts",
    "chars": 991,
    "preview": "import { bench, describe } from 'vitest';\nimport { floor as floorToolkit_ } from 'es-toolkit/compat';\nimport { floor as "
  },
  {
    "path": "benchmarks/performance/flow.bench.ts",
    "chars": 753,
    "preview": "import { bench, describe } from 'vitest';\nimport { flow as flowToolkit_ } from 'es-toolkit';\nimport { flow as flowToolki"
  },
  {
    "path": "benchmarks/performance/flowRight.bench.ts",
    "chars": 848,
    "preview": "import { bench, describe } from 'vitest';\nimport { flowRight as flowRightToolkit_ } from 'es-toolkit';\nimport { flowRigh"
  },
  {
    "path": "benchmarks/performance/forEach.bench.ts",
    "chars": 1330,
    "preview": "import { bench, describe } from 'vitest';\nimport { forEach as forEachToolkit_ } from 'es-toolkit/compat';\nimport { forEa"
  },
  {
    "path": "benchmarks/performance/forEachRight.bench.ts",
    "chars": 1197,
    "preview": "import { bench, describe } from 'vitest';\nimport { forEachRight as forEachRightToolkit_ } from 'es-toolkit';\nimport { fo"
  },
  {
    "path": "benchmarks/performance/forIn.bench.ts",
    "chars": 614,
    "preview": "import { bench, describe } from 'vitest';\nimport { forIn as forInToolkitCompat_, times } from 'es-toolkit/compat';\nimpor"
  },
  {
    "path": "benchmarks/performance/forInRight.bench.ts",
    "chars": 639,
    "preview": "import { bench, describe } from 'vitest';\nimport { forInRight as forInToolkitCompat_, times } from 'es-toolkit/compat';\n"
  },
  {
    "path": "benchmarks/performance/forOwn.bench.ts",
    "chars": 572,
    "preview": "import { bench, describe } from 'vitest';\nimport { forOwn as forOwnToolkitCompat_ } from 'es-toolkit/compat';\nimport { f"
  },
  {
    "path": "benchmarks/performance/forOwnRight.bench.ts",
    "chars": 637,
    "preview": "import { bench, describe } from 'vitest';\nimport { forOwnRight as forOwnRightToolkitCompat_ } from 'es-toolkit/compat';\n"
  },
  {
    "path": "benchmarks/performance/fromPairs.bench.ts",
    "chars": 934,
    "preview": "import { bench, describe } from 'vitest';\nimport { fromPairs as fromPairsToolkit_ } from 'es-toolkit/compat';\nimport { f"
  },
  {
    "path": "benchmarks/performance/functions.bench.ts",
    "chars": 886,
    "preview": "import { bench, describe } from 'vitest';\nimport { functions as functionsToolkit_ } from 'es-toolkit/compat';\nimport { f"
  },
  {
    "path": "benchmarks/performance/functionsIn.bench.ts",
    "chars": 1001,
    "preview": "import { bench, describe } from 'vitest';\nimport { functionsIn as functionsInToolkitCompat_ } from 'es-toolkit/compat';\n"
  },
  {
    "path": "benchmarks/performance/get.bench.ts",
    "chars": 813,
    "preview": "import { bench, describe } from 'vitest';\nimport { get as getToolkit_ } from 'es-toolkit/compat';\nimport { get as getLod"
  },
  {
    "path": "benchmarks/performance/groupBy.bench.ts",
    "chars": 1825,
    "preview": "import { bench, describe } from 'vitest';\nimport { groupBy as groupByToolkit_ } from 'es-toolkit';\nimport { groupBy as g"
  },
  {
    "path": "benchmarks/performance/gt.bench.ts",
    "chars": 466,
    "preview": "import { bench, describe } from 'vitest';\nimport { gt as gtToolkitCompat_ } from 'es-toolkit/compat';\nimport { gt as gtL"
  },
  {
    "path": "benchmarks/performance/gte.bench.ts",
    "chars": 483,
    "preview": "import { bench, describe } from 'vitest';\nimport { gte as gteToolkitCompat_ } from 'es-toolkit/compat';\nimport { gte as "
  },
  {
    "path": "benchmarks/performance/has.bench.ts",
    "chars": 615,
    "preview": "import { bench, describe } from 'vitest';\nimport { has as hasToolkit_ } from 'es-toolkit/compat';\nimport { has as hasLod"
  },
  {
    "path": "benchmarks/performance/hasIn.bench.ts",
    "chars": 3041,
    "preview": "import { bench, describe } from 'vitest';\nimport { hasIn as hasInToolkit_ } from 'es-toolkit/compat';\nimport { hasIn as "
  }
]

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

About this extraction

This page contains the full source code of the toss/es-toolkit GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 3566 files (8.9 MB), approximately 2.5M tokens, and a symbol index with 7497 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!