projen 0.101.13 → 0.101.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.jsii +106 -35
- package/lib/ai-instructions.js +2 -2
- package/lib/awscdk/auto-discover.js +6 -6
- package/lib/awscdk/awscdk-app-java.js +1 -1
- package/lib/awscdk/awscdk-app-py.js +1 -1
- package/lib/awscdk/awscdk-app-ts.js +1 -1
- package/lib/awscdk/awscdk-construct.js +1 -1
- package/lib/awscdk/awscdk-deps-java.js +1 -1
- package/lib/awscdk/awscdk-deps-js.js +1 -1
- package/lib/awscdk/awscdk-deps-py.js +1 -1
- package/lib/awscdk/awscdk-deps.js +1 -1
- package/lib/awscdk/cdk-config.js +3 -3
- package/lib/awscdk/cdk-tasks.js +1 -1
- package/lib/awscdk/integration-test.js +1 -1
- package/lib/awscdk/lambda-extension.js +1 -1
- package/lib/awscdk/lambda-function.js +2 -2
- package/lib/build/build-workflow.js +1 -1
- package/lib/cdk/auto-discover-base.js +2 -2
- package/lib/cdk/construct-lib.js +1 -1
- package/lib/cdk/integration-test-base.js +1 -1
- package/lib/cdk/jsii-build.js +1 -1
- package/lib/cdk/jsii-docgen.js +1 -1
- package/lib/cdk/jsii-project.js +1 -1
- package/lib/cdk8s/auto-discover.js +2 -2
- package/lib/cdk8s/cdk8s-app-py.js +1 -1
- package/lib/cdk8s/cdk8s-app-ts.js +1 -1
- package/lib/cdk8s/cdk8s-construct.js +1 -1
- package/lib/cdk8s/cdk8s-deps-py.js +1 -1
- package/lib/cdk8s/cdk8s-deps.js +1 -1
- package/lib/cdk8s/integration-test.js +1 -1
- package/lib/cdktf/cdktf-construct.js +1 -1
- package/lib/circleci/circleci.js +1 -1
- package/lib/cli/task-runtime.d.ts +34 -1
- package/lib/cli/task-runtime.js +99 -10
- package/lib/component.js +2 -2
- package/lib/dependencies.js +1 -1
- package/lib/dev-env.js +1 -1
- package/lib/docker-compose/docker-compose-service.js +1 -1
- package/lib/docker-compose/docker-compose.js +1 -1
- package/lib/file.js +1 -1
- package/lib/gitattributes.js +1 -1
- package/lib/github/actions-provider.js +1 -1
- package/lib/github/auto-approve.js +1 -1
- package/lib/github/auto-merge.js +1 -1
- package/lib/github/auto-queue.js +1 -1
- package/lib/github/dependabot.js +1 -1
- package/lib/github/dependency-review.js +1 -1
- package/lib/github/github-credentials.js +1 -1
- package/lib/github/github-project.js +1 -1
- package/lib/github/github.js +1 -1
- package/lib/github/merge-queue.js +1 -1
- package/lib/github/mergify.js +1 -1
- package/lib/github/pr-template.js +1 -1
- package/lib/github/pull-request-backport.js +1 -1
- package/lib/github/pull-request-lint.js +1 -1
- package/lib/github/stale.js +1 -1
- package/lib/github/task-workflow-job.js +1 -1
- package/lib/github/task-workflow.js +1 -1
- package/lib/github/workflow-actions.js +1 -1
- package/lib/github/workflow-jobs.js +1 -1
- package/lib/github/workflow-steps.js +1 -1
- package/lib/github/workflows.js +1 -1
- package/lib/gitlab/configuration.js +1 -1
- package/lib/gitlab/gitlab-configuration.js +1 -1
- package/lib/gitlab/nested-configuration.js +1 -1
- package/lib/gitpod.js +1 -1
- package/lib/ignore-file.js +1 -1
- package/lib/ini.js +1 -1
- package/lib/java/java-project.js +1 -1
- package/lib/java/junit.js +1 -1
- package/lib/java/maven-compile.js +1 -1
- package/lib/java/maven-packaging.js +1 -1
- package/lib/java/maven-sample.js +1 -1
- package/lib/java/pom.js +2 -2
- package/lib/java/projenrc.js +1 -1
- package/lib/javascript/biome/biome.js +1 -1
- package/lib/javascript/bundler.js +1 -1
- package/lib/javascript/eslint.js +1 -1
- package/lib/javascript/jest.js +4 -4
- package/lib/javascript/license-checker.js +1 -1
- package/lib/javascript/node-package.js +1 -1
- package/lib/javascript/node-project.js +1 -1
- package/lib/javascript/npm-config.js +1 -1
- package/lib/javascript/pnpm-workspace-config.js +2 -2
- package/lib/javascript/pnpm-workspace.js +1 -1
- package/lib/javascript/prettier.js +1 -1
- package/lib/javascript/projenrc.js +1 -1
- package/lib/javascript/typescript-config.js +2 -2
- package/lib/javascript/upgrade-dependencies.js +2 -2
- package/lib/javascript/yarnrc.js +1 -1
- package/lib/json-patch.js +1 -1
- package/lib/json.js +1 -1
- package/lib/license.js +1 -1
- package/lib/logger.js +1 -1
- package/lib/makefile.js +1 -1
- package/lib/object-file.js +1 -1
- package/lib/project-build.js +1 -1
- package/lib/project-tree.js +1 -1
- package/lib/project.js +1 -1
- package/lib/projects.js +1 -1
- package/lib/projenrc-json.js +1 -1
- package/lib/projenrc.js +1 -1
- package/lib/python/pip.js +1 -1
- package/lib/python/poetry.js +2 -2
- package/lib/python/projenrc.js +1 -1
- package/lib/python/pyproject-toml-file.js +1 -1
- package/lib/python/pytest-sample.js +1 -1
- package/lib/python/pytest.js +1 -1
- package/lib/python/python-project.js +1 -1
- package/lib/python/python-sample.js +1 -1
- package/lib/python/requirements-file.js +1 -1
- package/lib/python/setuppy.js +1 -1
- package/lib/python/setuptools.js +1 -1
- package/lib/python/uv-config.js +1 -1
- package/lib/python/uv.js +1 -1
- package/lib/python/venv.js +1 -1
- package/lib/readme.js +1 -1
- package/lib/release/apply-version-bump.task.js +48 -0
- package/lib/release/bump-version.d.ts +52 -8
- package/lib/release/bump-version.js +86 -116
- package/lib/release/publisher.js +1 -1
- package/lib/release/release-trigger.js +1 -1
- package/lib/release/release.js +1 -1
- package/lib/release/resolve-latest-tag.task.d.ts +1 -0
- package/lib/release/resolve-latest-tag.task.js +23 -0
- package/lib/release/suggest-version-bump.task.d.ts +1 -0
- package/lib/release/suggest-version-bump.task.js +25 -0
- package/lib/renovatebot.js +1 -1
- package/lib/run-task.cjs +118 -32
- package/lib/sample-file.js +2 -2
- package/lib/script-runner.js +1 -1
- package/lib/source-code.js +1 -1
- package/lib/task-model.d.ts +19 -0
- package/lib/task-model.js +1 -1
- package/lib/task-shell.js +1 -1
- package/lib/task.js +1 -1
- package/lib/tasks.js +1 -1
- package/lib/testing.js +1 -1
- package/lib/textfile.js +1 -1
- package/lib/toml.js +1 -1
- package/lib/typescript/projenrc-ts.js +1 -1
- package/lib/typescript/projenrc.js +1 -1
- package/lib/typescript/typescript-runner.js +1 -1
- package/lib/typescript/typescript-typedoc.js +1 -1
- package/lib/typescript/typescript.js +5 -5
- package/lib/util/exec.d.ts +1 -43
- package/lib/util/exec.js +4 -73
- package/lib/util/task-env.d.ts +11 -0
- package/lib/util/task-env.js +41 -0
- package/lib/version.d.ts +10 -0
- package/lib/version.js +47 -9
- package/lib/vscode/devcontainer.js +1 -1
- package/lib/vscode/extensions.js +1 -1
- package/lib/vscode/launch-config.js +1 -1
- package/lib/vscode/settings.js +1 -1
- package/lib/vscode/vscode.js +1 -1
- package/lib/web/next.js +3 -3
- package/lib/web/postcss.js +1 -1
- package/lib/web/react.js +3 -3
- package/lib/web/tailwind.js +1 -1
- package/lib/xmlfile.js +1 -1
- package/lib/yaml.js +1 -1
- package/node_modules/dax/{script/deps/jsr.io/@david/shell/0.5.4 → esm/deps/jsr.io/@david/shell/0.6.0}/internal.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/mod.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/byteRingBuffer.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/command.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commandHandler.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/args.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cat.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cd.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cpMv.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/echo.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/executable.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/exit.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/export.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/mkdir.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/printenv.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/pwd.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/rm.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/set.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/shopt.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/sleep.d.ts.map +1 -1
- package/node_modules/dax/{script/deps/jsr.io/@david/shell/0.5.4 → esm/deps/jsr.io/@david/shell/0.6.0}/src/commands/test.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/touch.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/unset.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/which.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/common.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/dollar.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/fsFile.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/glob.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/0.6.0/src/lib/rs_lib.d.ts.map +1 -0
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lib/rs_lib.internal.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lineRingBuffer.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/pipes.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/result.d.ts.map +1 -1
- package/node_modules/dax/{script/deps/jsr.io/@david/shell/0.5.4 → esm/deps/jsr.io/@david/shell/0.6.0}/src/shell.d.ts +5 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/0.6.0/src/shell.d.ts.map +1 -0
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/signal.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/spawn.d.ts.map +1 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/streams.d.ts.map +1 -1
- package/node_modules/dax/esm/mod.d.ts +3 -3
- package/node_modules/dax/esm/mod.js +73 -41
- package/node_modules/dax/esm/src/common.d.ts +1 -1
- package/node_modules/dax/esm/src/console/utils.d.ts +1 -1
- package/node_modules/dax/esm/src/request.d.ts +2 -2
- package/node_modules/dax/package.json +1 -1
- package/node_modules/dax/{esm/deps/jsr.io/@david/shell/0.5.4 → script/deps/jsr.io/@david/shell/0.6.0}/internal.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/mod.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/byteRingBuffer.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/command.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commandHandler.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/args.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cat.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cd.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cpMv.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/echo.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/executable.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/exit.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/export.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/mkdir.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/printenv.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/pwd.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/rm.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/set.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/shopt.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/sleep.d.ts.map +1 -1
- package/node_modules/dax/{esm/deps/jsr.io/@david/shell/0.5.4 → script/deps/jsr.io/@david/shell/0.6.0}/src/commands/test.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/touch.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/unset.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/which.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/common.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/dollar.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/fsFile.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/glob.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/0.6.0/src/lib/rs_lib.d.ts.map +1 -0
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lib/rs_lib.internal.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lineRingBuffer.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/pipes.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/result.d.ts.map +1 -1
- package/node_modules/dax/{esm/deps/jsr.io/@david/shell/0.5.4 → script/deps/jsr.io/@david/shell/0.6.0}/src/shell.d.ts +5 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/0.6.0/src/shell.d.ts.map +1 -0
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/signal.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/spawn.d.ts.map +1 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/streams.d.ts.map +1 -1
- package/node_modules/dax/script/mod.d.ts +3 -3
- package/node_modules/dax/script/mod.js +105 -73
- package/node_modules/dax/script/src/common.d.ts +1 -1
- package/node_modules/dax/script/src/console/utils.d.ts +1 -1
- package/node_modules/dax/script/src/request.d.ts +2 -2
- package/package.json +3 -2
- package/lib/release/bump-version.task.js +0 -90
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/0.5.4/src/lib/rs_lib.d.ts.map +0 -1
- package/node_modules/dax/esm/deps/jsr.io/@david/shell/0.5.4/src/shell.d.ts.map +0 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/0.5.4/src/lib/rs_lib.d.ts.map +0 -1
- package/node_modules/dax/script/deps/jsr.io/@david/shell/0.5.4/src/shell.d.ts.map +0 -1
- /package/lib/release/{bump-version.task.d.ts → apply-version-bump.task.d.ts} +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/internal.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/mod.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/byteRingBuffer.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/command.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commandHandler.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/args.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cat.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cd.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cpMv.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/echo.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/executable.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/exit.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/export.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/mkdir.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/printenv.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/pwd.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/rm.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/set.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/shopt.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/sleep.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/test.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/touch.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/unset.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/which.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/common.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/dollar.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/fsFile.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/glob.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lib/rs_lib.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lib/rs_lib.internal.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lineRingBuffer.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/pipes.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/result.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/signal.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/spawn.d.ts +0 -0
- /package/node_modules/dax/esm/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/streams.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/internal.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/mod.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/byteRingBuffer.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/command.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commandHandler.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/args.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cat.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cd.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/cpMv.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/echo.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/executable.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/exit.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/export.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/mkdir.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/printenv.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/pwd.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/rm.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/set.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/shopt.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/sleep.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/test.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/touch.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/unset.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/commands/which.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/common.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/dollar.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/fsFile.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/glob.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lib/rs_lib.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lib/rs_lib.internal.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/lineRingBuffer.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/pipes.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/result.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/signal.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/spawn.d.ts +0 -0
- /package/node_modules/dax/script/deps/jsr.io/@david/shell/{0.5.4 → 0.6.0}/src/streams.d.ts +0 -0
package/lib/sample-file.js
CHANGED
|
@@ -45,7 +45,7 @@ const util_1 = require("./util");
|
|
|
45
45
|
* Use this for creating example code files or other resources.
|
|
46
46
|
*/
|
|
47
47
|
class SampleFile extends component_1.Component {
|
|
48
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleFile", version: "0.101.
|
|
48
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleFile", version: "0.101.15" };
|
|
49
49
|
filePath;
|
|
50
50
|
options;
|
|
51
51
|
/**
|
|
@@ -96,7 +96,7 @@ exports.SampleFile = SampleFile;
|
|
|
96
96
|
* Renders the given files into the directory if the directory does not exist. Use this to create sample code files
|
|
97
97
|
*/
|
|
98
98
|
class SampleDir extends component_1.Component {
|
|
99
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleDir", version: "0.101.
|
|
99
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SampleDir", version: "0.101.15" };
|
|
100
100
|
dir;
|
|
101
101
|
options;
|
|
102
102
|
/**
|
package/lib/script-runner.js
CHANGED
|
@@ -10,7 +10,7 @@ const component_1 = require("./component");
|
|
|
10
10
|
* `.projenrc.ts`) and is attached to a project by whoever consumes it.
|
|
11
11
|
*/
|
|
12
12
|
class ScriptRunner extends component_1.FutureComponent {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ScriptRunner", version: "0.101.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.ScriptRunner", version: "0.101.15" };
|
|
14
14
|
configFor(entrypoint) {
|
|
15
15
|
return {
|
|
16
16
|
dependencies: [],
|
package/lib/source-code.js
CHANGED
|
@@ -9,7 +9,7 @@ const textfile_1 = require("./textfile");
|
|
|
9
9
|
*/
|
|
10
10
|
class SourceCode extends component_1.Component {
|
|
11
11
|
filePath;
|
|
12
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SourceCode", version: "0.101.
|
|
12
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.SourceCode", version: "0.101.15" };
|
|
13
13
|
file;
|
|
14
14
|
indentLevel = 0;
|
|
15
15
|
indent;
|
package/lib/task-model.d.ts
CHANGED
|
@@ -199,6 +199,17 @@ export interface TaskStepOptions {
|
|
|
199
199
|
readonly env?: {
|
|
200
200
|
[name: string]: string;
|
|
201
201
|
};
|
|
202
|
+
/**
|
|
203
|
+
* Capture this step's (trimmed) stdout into an environment variable of this
|
|
204
|
+
* name, visible to all later steps of the task run. For `spawn` steps the
|
|
205
|
+
* spawned subtask's combined stdout is captured.
|
|
206
|
+
*
|
|
207
|
+
* Set only when the step runs (a skipped step leaves it unset) and always
|
|
208
|
+
* overwrites. The step's output still streams live.
|
|
209
|
+
*
|
|
210
|
+
* @default - stdout is not captured
|
|
211
|
+
*/
|
|
212
|
+
readonly outputEnv?: string;
|
|
202
213
|
/**
|
|
203
214
|
* The shell used to run this step, overriding the task/project shell.
|
|
204
215
|
*
|
|
@@ -257,6 +268,14 @@ export interface TaskStep {
|
|
|
257
268
|
readonly env?: {
|
|
258
269
|
[name: string]: string;
|
|
259
270
|
};
|
|
271
|
+
/**
|
|
272
|
+
* Capture this step's standard output and expose it to later steps as an
|
|
273
|
+
* environment variable with this name.
|
|
274
|
+
*
|
|
275
|
+
* @see {@link TaskStepOptions.outputEnv}
|
|
276
|
+
* @default - stdout is not captured
|
|
277
|
+
*/
|
|
278
|
+
readonly outputEnv?: string;
|
|
260
279
|
/**
|
|
261
280
|
* The step shell in `tasks.json` form: a keyword (`"projen"` or `"system"`)
|
|
262
281
|
* or an invocation argument list.
|
package/lib/task-model.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90YXNrLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRhc2tTaGVsbCB9IGZyb20gXCIuL3Rhc2stc2hlbGxcIjtcblxuLyoqXG4gKiBTY2hlbWEgZm9yIGB0YXNrcy5qc29uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrc01hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSB0YXNrcyBtYW5pZmVzdCBzY2hlbWEuXG4gICAqXG4gICAqIFVzZWQgYnkgdGhlIHRhc2sgcnVudGltZSB0byBkZXRlY3QgbWFuaWZlc3RzIHByb2R1Y2VkIGJ5IGEgbmV3ZXIgdmVyc2lvblxuICAgKiBvZiBwcm9qZW4uIE1hbmlmZXN0cyBnZW5lcmF0ZWQgYnkgb2xkZXIgdmVyc2lvbnMgb2YgcHJvamVuIG9taXQgdGhpcyBmaWVsZFxuICAgKiBhbmQgYXJlIHRyZWF0ZWQgYXMgXCJsZWdhY3lcIiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIG1hbmlmZXN0IGlzIHRyZWF0ZWQgYXMgYSBsZWdhY3kgKHVudmVyc2lvbmVkKSBtYW5pZmVzdFxuICAgKi9cbiAgcmVhZG9ubHkgbWFuaWZlc3RWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBbGwgdGFza3MgYXZhaWxhYmxlIGZvciB0aGlzIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSB0YXNrcz86IHsgW25hbWU6IHN0cmluZ106IFRhc2tTcGVjIH07XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IGZvciBhbGwgdGFza3MuXG4gICAqL1xuICByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdGFzayBzaGVsbCwgaW4gYHRhc2tzLmpzb25gIGZvcm06IGEga2V5d29yZCAoYFwicHJvamVuXCJgIG9yXG4gICAqIGBcInN5c3RlbVwiYCkgb3IgYW4gaW52b2NhdGlvbiBhcmd1bWVudCBsaXN0LiBTZWVcbiAgICoge0BsaW5rIFRhc2tDb21tb25PcHRpb25zLnNoZWxsfS5cbiAgICovXG4gIHJlYWRvbmx5IHNoZWxsPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFza0NvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgYnVpbGQgY29tbWFuZC5cbiAgICogQGRlZmF1bHQgLSB0aGUgdGFzayBuYW1lXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBleGVjdXRpb24gb2YgdGhpcyB0YXNrLlxuICAgKiBWYWx1ZXMgaW4gdGhpcyBtYXAgd2lsbCBiZSBldmFsdWF0ZWQgaW4gYSBzaGVsbCwgc28geW91IGNhbiBkbyBzdHVmZiBsaWtlIGAkKGVjaG8gXCJmb29cIilgLlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgcmVhZG9ubHkgZW52PzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IG11c3QgYmUgZGVmaW5lZCBpbiBvcmRlciB0byBleGVjdXRlXG4gICAqIHRoaXMgdGFzay4gVGFzayBleGVjdXRpb24gd2lsbCBmYWlsIGlmIG9uZSBvZiB0aGVzZSBpcyBub3QgZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVkRW52Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgc2hlbGwgY29tbWFuZCB3aGljaCBkZXRlcm1pbmVzIGlmIHRoZSB0aGlzIHRhc2sgc2hvdWxkIGJlIGV4ZWN1dGVkLiBJZlxuICAgKiB0aGUgcHJvZ3JhbSBleGl0cyB3aXRoIGEgemVybyBleGl0IGNvZGUsIHN0ZXBzIHdpbGwgYmUgZXhlY3V0ZWQuIEEgbm9uLXplcm9cbiAgICogY29kZSBtZWFucyB0aGF0IHRhc2sgd2lsbCBiZSBza2lwcGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgd29ya2luZyBkaXJlY3RvcnkgZm9yIGFsbCBzdGVwcyBpbiB0aGlzIHRhc2sgKHVubGVzcyBvdmVycmlkZGVuIGJ5IHRoZVxuICAgKiBzdGVwKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBwcm9jZXNzLmN3ZCgpXG4gICAqL1xuICByZWFkb25seSBjd2Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaGVsbCB1c2VkIHRvIHJ1biB0aGlzIHRhc2sncyBjb21tYW5kcywgaW5jbHVkaW5nIGl0cyBgY29uZGl0aW9uYCBhbmRcbiAgICogYCQoLi4uKWAgZW52aXJvbm1lbnQgZXZhbHVhdGlvbi4gVXNlIHtAbGluayBUYXNrU2hlbGx9IHRvIHBpY2sgYSBidWlsdC1pblxuICAgKiBvciBhbiBleHBsaWNpdCBpbnZvY2F0aW9uLiBTZXQgYXQgcHJvamVjdCwgdGFzayBvciBzdGVwIGxldmVsOyB0aGUgbmVhcmVzdFxuICAgKiBkZWNsYXJlZCBsZXZlbCB3aW5zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGluaGVyaXRlZCBmcm9tIHRoZSB0YXNrL3Byb2plY3QsIG90aGVyd2lzZSB0aGUgYnVpbHQtaW4gcHJvamVuIHNoZWxsXG4gICAqL1xuICByZWFkb25seSBzaGVsbD86IFRhc2tTaGVsbDtcbn1cblxuLyoqXG4gKiBTcGVjaWZpY2F0aW9uIG9mIGEgc2luZ2xlIHRhc2suXG4gKlxuICogVGhlIGB0YXNrcy5qc29uYCAobWFuaWZlc3QpIGZvcm0gb2YgYSB0YXNrLiB7QGxpbmsgVGFza0NvbW1vbk9wdGlvbnN9IGlzIHRoZVxuICogZm9ybSB1c2VkIHRvIGRlZmluZSBvbmU7IHRoZXkgZGlmZmVyIG9ubHkgaW4gdGhlIHJlbmRlcmVkIGBzaGVsbGAgZmllbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1NwZWMge1xuICAvKipcbiAgICogVGFzayBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhpcyBidWlsZCBjb21tYW5kLlxuICAgKiBAZGVmYXVsdCAtIHRoZSB0YXNrIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHRhc2suXG4gICAqIFZhbHVlcyBpbiB0aGlzIG1hcCB3aWxsIGJlIGV2YWx1YXRlZCBpbiBhIHNoZWxsLCBzbyB5b3UgY2FuIGRvIHN0dWZmIGxpa2UgYCQoZWNobyBcImZvb1wiKWAuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQSBzZXQgb2YgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRoYXQgbXVzdCBiZSBkZWZpbmVkIGluIG9yZGVyIHRvIGV4ZWN1dGVcbiAgICogdGhpcyB0YXNrLiBUYXNrIGV4ZWN1dGlvbiB3aWxsIGZhaWwgaWYgb25lIG9mIHRoZXNlIGlzIG5vdCBkZWZpbmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZWRFbnY/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBzaGVsbCBjb21tYW5kIHdoaWNoIGRldGVybWluZXMgaWYgdGhlIHRoaXMgdGFzayBzaG91bGQgYmUgZXhlY3V0ZWQuIElmXG4gICAqIHRoZSBwcm9ncmFtIGV4aXRzIHdpdGggYSB6ZXJvIGV4aXQgY29kZSwgc3RlcHMgd2lsbCBiZSBleGVjdXRlZC4gQSBub24temVyb1xuICAgKiBjb2RlIG1lYW5zIHRoYXQgdGFzayB3aWxsIGJlIHNraXBwZWQuXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB3b3JraW5nIGRpcmVjdG9yeSBmb3IgYWxsIHN0ZXBzIGluIHRoaXMgdGFzayAodW5sZXNzIG92ZXJyaWRkZW4gYnkgdGhlXG4gICAqIHN0ZXApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHByb2Nlc3MuY3dkKClcbiAgICovXG4gIHJlYWRvbmx5IGN3ZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRhc2sgc2hlbGwgaW4gYHRhc2tzLmpzb25gIGZvcm06IGEga2V5d29yZCAoYFwicHJvamVuXCJgIG9yIGBcInN5c3RlbVwiYClcbiAgICogb3IgYW4gaW52b2NhdGlvbiBhcmd1bWVudCBsaXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBidWlsdC1pbiBwcm9qZW4gc2hlbGxcbiAgICovXG4gIHJlYWRvbmx5IHNoZWxsPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRhc2sgc3RlcHMuXG4gICAqL1xuICByZWFkb25seSBzdGVwcz86IFRhc2tTdGVwW107XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGFzayBzdGVwcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrU3RlcE9wdGlvbnMge1xuICAvKipcbiAgICogU3RlcCBuYW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGlzIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGV0ZXJtaW5lZCBieSB0aGUgdGFza1xuICAgKi9cbiAgcmVhZG9ubHkgY3dkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgd2hpY2ggZGV0ZXJtaW5lcyBpZiB0aGUgdGhpcyBzdGVwIHNob3VsZCBiZSBleGVjdXRlZC4gSWZcbiAgICogdGhlIHByb2dyYW0gZXhpdHMgd2l0aCBhIHplcm8gZXhpdCBjb2RlLCB0aGUgc3RlcCB3aWxsIGJlIGV4ZWN1dGVkLiBBIG5vbi16ZXJvXG4gICAqIGNvZGUgbWVhbnMgdGhlIHN0ZXAgd2lsbCBiZSBza2lwcGVkIChzdWJzZXF1ZW50IHRhc2sgc3RlcHMgd2lsbCBzdGlsbCBiZSBldmFsdWF0ZWQvZXhlY3V0ZWQpLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG91bGQgdGhpcyBzdGVwIHJlY2VpdmUgYXJncyBwYXNzZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIElmIGB0cnVlYCwgYXJncyBhcmUgcGFzc2VkIHRocm91Z2ggYXQgdGhlIGVuZCBvZiB0aGUgYGV4ZWNgIHNoZWxsIGNvbW1hbmQuXFxcbiAgICogVGhlIHBvc2l0aW9uIG9mIHRoZSBhcmdzIGNhbiBiZSBjaGFuZ2VkIGJ5IGluY2x1ZGluZyB0aGUgbWFya2VyIGAkQGAgaW5zaWRlIHRoZSBjb21tYW5kIHN0cmluZy5cbiAgICpcbiAgICogSWYgdGhlIG1hcmtlciBpcyBleHBsaWNpdGx5IGRvdWJsZS1xdW90ZWQgKFwiJEBcIikgYXJndW1lbnRzIHdpbGwgYmUgd3JhcHBlZCBpbiBkb3VibGUgcXVvdGVzLCBhcHByb3hpbWF0aW5nXG4gICAqIHRoZSB3aGl0ZXNwYWNlIHByZXNlcnZpbmcgYmVoYXZpb3Igb2YgYmFzaCB2YXJpYWJsZSBleHBhbnNpb24uXG4gICAqXG4gICAqIElmIHRoZSBzdGVwIHNwYXducyBhIHN1YnRhc2ssIGFyZ3MgYXJlIHBhc3NlZCB0byB0aGUgc3VidGFzay5cbiAgICogVGhlIHN1YnRhc2sgbXVzdCBkZWZpbmUgc3RlcHMgcmVjZWl2aW5nIGFyZ3MgZm9yIHRoaXMgdG8gaGF2ZSBhbnkgZWZmZWN0LlxuICAgKlxuICAgKiBAZXhhbXBsZSB0YXNrLmV4ZWMoXCJlY2hvIEhlbGxvICRAIFdvcmxkIVwiLCB7IHJlY2VpdmVBcmdzOiB0cnVlIH0pO1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjZWl2ZUFyZ3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgZml4ZWQgYXJndW1lbnRzIGFsd2F5cyBwYXNzZWQgdG8gdGhlIHN0ZXAuXG4gICAqXG4gICAqIFVzZWZ1bCB0byByZS11c2UgZXhpc3RpbmcgdGFza3Mgd2l0aG91dCBoYXZpbmcgdG8gcmUtZGVmaW5lIHRoZSB3aG9sZSB0YXNrLlxcXG4gICAqIEZpeGVkIGFyZ3MgYXJlIGFsd2F5cyBwYXNzZWQgdG8gdGhlIHN0ZXAsIGV2ZW4gaWYgYHJlY2VpdmVBcmdzYCBpcyBgZmFsc2VgXG4gICAqIGFuZCBhcmUgYWx3YXlzIHBhc3NlZCBiZWZvcmUgYW55IGFyZ3MgdGhlIHRhc2sgaXMgY2FsbGVkIHdpdGguXG4gICAqXG4gICAqIElmIHRoZSBzdGVwIGV4ZWN1dGVzIGEgc2hlbGwgY29tbWFuZHMsIGFyZ3MgYXJlIHBhc3NlZCB0aHJvdWdoIGF0IHRoZSBlbmQgb2YgdGhlIGBleGVjYCBzaGVsbCBjb21tYW5kLlxcXG4gICAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgYXJncyBjYW4gYmUgY2hhbmdlZCBieSBpbmNsdWRpbmcgdGhlIG1hcmtlciBgJEBgIGluc2lkZSB0aGUgY29tbWFuZCBzdHJpbmcuXG4gICAqXG4gICAqIElmIHRoZSBzdGVwIHNwYXducyBhIHN1YnRhc2ssIGFyZ3MgYXJlIHBhc3NlZCB0byB0aGUgc3VidGFzay5cbiAgICogVGhlIHN1YnRhc2sgbXVzdCBkZWZpbmUgc3RlcHMgcmVjZWl2aW5nIGFyZ3MgZm9yIHRoaXMgdG8gaGF2ZSBhbnkgZWZmZWN0LlxuICAgKlxuICAgKiBJZiB0aGUgc3RlcCBjYWxscyBhIGJ1aWx0aW4gc2NyaXB0LCBhcmdzIGFyZSBwYXNzZWQgdG8gdGhlIHNjcmlwdC5cbiAgICogSXQgaXMgdXAgdG8gdGhlIHNjcmlwdCB0byB1c2Ugb3IgZGlzY2FyZCB0aGUgYXJndW1lbnRzLlxuICAgKlxuICAgKiBAZXhhbXBsZSB0YXNrLnNwYXduKFwiZGVwbG95XCIsIHsgYXJnczogW1wiLS1mb3JjZVwiXSB9KTtcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgc3RlcFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHN0ZXAgKGBleGVjYCBhbmQgYGJ1aWx0aW5gIG9ubHkpLlxuICAgKiBWYWx1ZXMgaW4gdGhpcyBtYXAgY2FuIGJlIHNpbXBsZSwgbGl0ZXJhbCB2YWx1ZXMgb3Igc2hlbGwgZXhwcmVzc2lvbnMgdGhhdCB3aWxsIGJlIGV2YWx1YXRlZCBhdCBydW50aW1lIGUuZy4gYCQoZWNobyBcImZvb1wiKWAuXG4gICAqXG4gICAqIEBleGFtcGxlIHsgXCJmb29cIjogXCJiYXJcIiwgXCJib29cIjogXCIkKGVjaG8gYmF6KVwiIH1cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZGVmaW5lZCBpbiBzdGVwXG4gICAqL1xuICByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIHNoZWxsIHVzZWQgdG8gcnVuIHRoaXMgc3RlcCwgb3ZlcnJpZGluZyB0aGUgdGFzay9wcm9qZWN0IHNoZWxsLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBUYXNrQ29tbW9uT3B0aW9ucy5zaGVsbH1cbiAgICogQGRlZmF1bHQgLSB0aGUgdGFzaydzIChvciBwcm9qZWN0J3MpIHNoZWxsXG4gICAqL1xuICByZWFkb25seSBzaGVsbD86IFRhc2tTaGVsbDtcbn1cblxuLyoqXG4gKiBBIHNpbmdsZSBzdGVwIHdpdGhpbiBhIHRhc2suIFRoZSBzdGVwIGNvdWxkIGVpdGhlciBiZSAgdGhlIGV4ZWN1dGlvbiBvZiBhXG4gKiBzaGVsbCBjb21tYW5kIG9yIGV4ZWN1dGlvbiBvZiBhIHN1Yi10YXNrLCBieSBuYW1lLlxuICpcbiAqIFRoZSBgdGFza3MuanNvbmAgKG1hbmlmZXN0KSBmb3JtIG9mIGEgc3RlcC4ge0BsaW5rIFRhc2tTdGVwT3B0aW9uc30gaXMgdGhlXG4gKiBmb3JtIHVzZWQgdG8gZGVmaW5lIHN0ZXBzICh2aWEgYHRhc2suZXhlYygpYCBldGMuKTsgdGhleSBkaWZmZXIgb25seSBpbiB0aGVcbiAqIHJlbmRlcmVkIGBzaGVsbGAgZmllbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1N0ZXAge1xuICAvKipcbiAgICogU3RlcCBuYW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGlzIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGV0ZXJtaW5lZCBieSB0aGUgdGFza1xuICAgKi9cbiAgcmVhZG9ubHkgY3dkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgd2hpY2ggZGV0ZXJtaW5lcyBpZiB0aGUgdGhpcyBzdGVwIHNob3VsZCBiZSBleGVjdXRlZC4gSWZcbiAgICogdGhlIHByb2dyYW0gZXhpdHMgd2l0aCBhIHplcm8gZXhpdCBjb2RlLCB0aGUgc3RlcCB3aWxsIGJlIGV4ZWN1dGVkLiBBIG5vbi16ZXJvXG4gICAqIGNvZGUgbWVhbnMgdGhlIHN0ZXAgd2lsbCBiZSBza2lwcGVkIChzdWJzZXF1ZW50IHRhc2sgc3RlcHMgd2lsbCBzdGlsbCBiZSBldmFsdWF0ZWQvZXhlY3V0ZWQpLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG91bGQgdGhpcyBzdGVwIHJlY2VpdmUgYXJncyBwYXNzZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIEBzZWUge0BsaW5rIFRhc2tTdGVwT3B0aW9ucy5yZWNlaXZlQXJnc31cbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IHJlY2VpdmVBcmdzPzogYm9vbGVhbjtcblxuICAvKipcbiAgICogQSBsaXN0IG9mIGZpeGVkIGFyZ3VtZW50cyBhbHdheXMgcGFzc2VkIHRvIHRoZSBzdGVwLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBUYXNrU3RlcE9wdGlvbnMuYXJnc31cbiAgICogQGRlZmF1bHQgLSBubyBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgc3RlcFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHN0ZXAgKGBleGVjYCBhbmQgYGJ1aWx0aW5gIG9ubHkpLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBUYXNrU3RlcE9wdGlvbnMuZW52fVxuICAgKiBAZGVmYXVsdCAtIG5vIGVudmlyb25tZW50IHZhcmlhYmxlcyBkZWZpbmVkIGluIHN0ZXBcbiAgICovXG4gIHJlYWRvbmx5IGVudj86IHsgW25hbWU6IHN0cmluZ106IHN0cmluZyB9O1xuXG4gIC8qKlxuICAgKiBUaGUgc3RlcCBzaGVsbCBpbiBgdGFza3MuanNvbmAgZm9ybTogYSBrZXl3b3JkIChgXCJwcm9qZW5cImAgb3IgYFwic3lzdGVtXCJgKVxuICAgKiBvciBhbiBpbnZvY2F0aW9uIGFyZ3VtZW50IGxpc3QuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIHRhc2sncyAob3IgcHJvamVjdCdzKSBzaGVsbFxuICAgKi9cbiAgcmVhZG9ubHkgc2hlbGw/OiBzdHJpbmcgfCBzdHJpbmdbXTtcblxuICAvKipcbiAgICogU2hlbGwgY29tbWFuZCB0byBleGVjdXRlLlxuICAgKlxuICAgKiBUaGUgd2hvbGUgY29tbWFuZCBpcyBhIHNpbmdsZSBzaGVsbCBzdHJpbmcuIFRvIHBhc3MgYXJndW1lbnRzIGFzIGEgbGlzdFxuICAgKiBpbnN0ZWFkIC0gd2l0aG91dCBoYXZpbmcgdG8gcXVvdGUgc3BhY2VzIG9yIG90aGVyIGNoYXJhY3RlcnMgeW91cnNlbGYgLVxuICAgKiB1c2UgYGV4ZWNBcmdzYC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBkb24ndCBleGVjdXRlIGEgc2hlbGwgY29tbWFuZFxuICAgKi9cbiAgcmVhZG9ubHkgZXhlYz86IHN0cmluZztcblxuICAvKipcbiAgICogU2hlbGwgY29tbWFuZCB0byBleGVjdXRlLCBwcm92aWRlZCBhcyBhIGxpc3Qgb2YgdGhlIHByb2dyYW0gZm9sbG93ZWQgYnlcbiAgICogaXRzIGFyZ3VtZW50cyAoYW4gXCJhcmd2XCIpLlxuICAgKlxuICAgKiBPZnRlbiBtb3JlIGNvbnZlbmllbnQgdGhhbiBgZXhlY2A6IGVhY2ggZWxlbWVudCBpcyBwYXNzZWQgdG8gdGhlXG4gICAqIHByb2dyYW0gYXMtaXMsIHNvIGFyZ3VtZW50cyB3aXRoIHNwYWNlcyBvciBzcGVjaWFsIGNoYXJhY3RlcnMgZG9uJ3QgbmVlZFxuICAgKiBxdW90aW5nLiBGaXhlZCAoYGFyZ3NgKSBvciByZWNlaXZlZCAoYHJlY2VpdmVBcmdzYCkgYXJndW1lbnRzIGFyZSBpbnNlcnRlZFxuICAgKiB3aGVyZXZlciBhIGAkQGAgZWxlbWVudCBhcHBlYXJzLCBvciBhcHBlbmRlZCBhdCB0aGUgZW5kIGlmIHRoZXJlIGlzIG5vbmUuXG4gICAqXG4gICAqIFRoZSBlbGVtZW50cyBhcmUgbm90IHJ1biB0aHJvdWdoIGEgc2hlbGwsIHNvIGVudmlyb25tZW50IHZhcmlhYmxlcyAoYCRGT09gKVxuICAgKiBhcmUgbm90IGV4cGFuZGVkIGFuZCBvdGhlciBzaGVsbCBmZWF0dXJlcyBhcmUgdW5hdmFpbGFibGUuIFVzZSBgZXhlY2BcbiAgICogaWYgeW91IG5lZWQgdGhlbS5cbiAgICpcbiAgICogTXV0dWFsbHkgZXhjbHVzaXZlIHdpdGggYGV4ZWNgLlxuICAgKlxuICAgKiBAZXhhbXBsZSB7IGV4ZWNBcmdzOiBbXCJlY2hvXCIsIFwiaGVsbG8gd29ybGRcIl0gfVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvbid0IGV4ZWN1dGUgYSBzaGVsbCBjb21tYW5kXG4gICAqL1xuICByZWFkb25seSBleGVjQXJncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTdWJ0YXNrIHRvIGV4ZWN1dGVcbiAgICpcbiAgICogQGRlZmF1bHQgLSBkb24ndCBzcGF3biBhIHN1YnRhc2tcbiAgICovXG4gIHJlYWRvbmx5IHNwYXduPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBQcmludCBhIG1lc3NhZ2UuXG4gICAqIEBkZWZhdWx0IC0gZG9uJ3Qgc2F5IGFueXRoaW5nXG4gICAqL1xuICByZWFkb25seSBzYXk/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBuYW1lIG9mIGEgYnVpbHQtaW4gdGFzayB0byBleGVjdXRlLlxuICAgKlxuICAgKiBCdWlsdC1pbiB0YXNrcyBhcmUgbm9kZS5qcyBwcm9ncmFtcyBiYWtlZCBpbnRvIHRoZSBwcm9qZW4gbW9kdWxlIGFuZCBhc1xuICAgKiBjb21wb25lbnQgcnVudGltZSBoZWxwZXJzLlxuICAgKlxuICAgKiBUaGUgbmFtZSBpcyBhIHBhdGggcmVsYXRpdmUgdG8gdGhlIHByb2plbiBsaWIvIGRpcmVjdG9yeSAod2l0aG91dCB0aGUgLnRhc2suanMgZXh0ZW5zaW9uKS5cbiAgICogRm9yIGV4YW1wbGUsIGlmIHlvdXIgYnVpbHQgaW4gYnVpbHRpbiB0YXNrIGlzIHVuZGVyIGBzcmMvcmVsZWFzZS9yZXNvbHZlLXZlcnNpb24udGFzay50c2AsXG4gICAqIHRoZW4gdGhpcyB3b3VsZCBiZSBgcmVsZWFzZS9yZXNvbHZlLXZlcnNpb25gLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvIG5vdCBleGVjdXRlIGEgYnVpbHRpbiB0YXNrXG4gICAqL1xuICByZWFkb25seSBidWlsdGluPzogc3RyaW5nO1xufVxuIl19
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy90YXNrLW1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFRhc2tTaGVsbCB9IGZyb20gXCIuL3Rhc2stc2hlbGxcIjtcblxuLyoqXG4gKiBTY2hlbWEgZm9yIGB0YXNrcy5qc29uYC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrc01hbmlmZXN0IHtcbiAgLyoqXG4gICAqIFRoZSB2ZXJzaW9uIG9mIHRoZSB0YXNrcyBtYW5pZmVzdCBzY2hlbWEuXG4gICAqXG4gICAqIFVzZWQgYnkgdGhlIHRhc2sgcnVudGltZSB0byBkZXRlY3QgbWFuaWZlc3RzIHByb2R1Y2VkIGJ5IGEgbmV3ZXIgdmVyc2lvblxuICAgKiBvZiBwcm9qZW4uIE1hbmlmZXN0cyBnZW5lcmF0ZWQgYnkgb2xkZXIgdmVyc2lvbnMgb2YgcHJvamVuIG9taXQgdGhpcyBmaWVsZFxuICAgKiBhbmQgYXJlIHRyZWF0ZWQgYXMgXCJsZWdhY3lcIiBmb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHkuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gdGhlIG1hbmlmZXN0IGlzIHRyZWF0ZWQgYXMgYSBsZWdhY3kgKHVudmVyc2lvbmVkKSBtYW5pZmVzdFxuICAgKi9cbiAgcmVhZG9ubHkgbWFuaWZlc3RWZXJzaW9uPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBBbGwgdGFza3MgYXZhaWxhYmxlIGZvciB0aGlzIHByb2plY3QuXG4gICAqL1xuICByZWFkb25seSB0YXNrcz86IHsgW25hbWU6IHN0cmluZ106IFRhc2tTcGVjIH07XG5cbiAgLyoqXG4gICAqIEVudmlyb25tZW50IGZvciBhbGwgdGFza3MuXG4gICAqL1xuICByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogVGhlIGRlZmF1bHQgdGFzayBzaGVsbCwgaW4gYHRhc2tzLmpzb25gIGZvcm06IGEga2V5d29yZCAoYFwicHJvamVuXCJgIG9yXG4gICAqIGBcInN5c3RlbVwiYCkgb3IgYW4gaW52b2NhdGlvbiBhcmd1bWVudCBsaXN0LiBTZWVcbiAgICoge0BsaW5rIFRhc2tDb21tb25PcHRpb25zLnNoZWxsfS5cbiAgICovXG4gIHJlYWRvbmx5IHNoZWxsPzogc3RyaW5nIHwgc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGFza0NvbW1vbk9wdGlvbnMge1xuICAvKipcbiAgICogVGhlIGRlc2NyaXB0aW9uIG9mIHRoaXMgYnVpbGQgY29tbWFuZC5cbiAgICogQGRlZmF1bHQgLSB0aGUgdGFzayBuYW1lXG4gICAqL1xuICByZWFkb25seSBkZXNjcmlwdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogRGVmaW5lcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBleGVjdXRpb24gb2YgdGhpcyB0YXNrLlxuICAgKiBWYWx1ZXMgaW4gdGhpcyBtYXAgd2lsbCBiZSBldmFsdWF0ZWQgaW4gYSBzaGVsbCwgc28geW91IGNhbiBkbyBzdHVmZiBsaWtlIGAkKGVjaG8gXCJmb29cIilgLlxuICAgKiBAZGVmYXVsdCB7fVxuICAgKi9cbiAgcmVhZG9ubHkgZW52PzogeyBbbmFtZTogc3RyaW5nXTogc3RyaW5nIH07XG5cbiAgLyoqXG4gICAqIEEgc2V0IG9mIGVudmlyb25tZW50IHZhcmlhYmxlcyB0aGF0IG11c3QgYmUgZGVmaW5lZCBpbiBvcmRlciB0byBleGVjdXRlXG4gICAqIHRoaXMgdGFzay4gVGFzayBleGVjdXRpb24gd2lsbCBmYWlsIGlmIG9uZSBvZiB0aGVzZSBpcyBub3QgZGVmaW5lZC5cbiAgICovXG4gIHJlYWRvbmx5IHJlcXVpcmVkRW52Pzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIEEgc2hlbGwgY29tbWFuZCB3aGljaCBkZXRlcm1pbmVzIGlmIHRoZSB0aGlzIHRhc2sgc2hvdWxkIGJlIGV4ZWN1dGVkLiBJZlxuICAgKiB0aGUgcHJvZ3JhbSBleGl0cyB3aXRoIGEgemVybyBleGl0IGNvZGUsIHN0ZXBzIHdpbGwgYmUgZXhlY3V0ZWQuIEEgbm9uLXplcm9cbiAgICogY29kZSBtZWFucyB0aGF0IHRhc2sgd2lsbCBiZSBza2lwcGVkLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgd29ya2luZyBkaXJlY3RvcnkgZm9yIGFsbCBzdGVwcyBpbiB0aGlzIHRhc2sgKHVubGVzcyBvdmVycmlkZGVuIGJ5IHRoZVxuICAgKiBzdGVwKS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBwcm9jZXNzLmN3ZCgpXG4gICAqL1xuICByZWFkb25seSBjd2Q/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaGVsbCB1c2VkIHRvIHJ1biB0aGlzIHRhc2sncyBjb21tYW5kcywgaW5jbHVkaW5nIGl0cyBgY29uZGl0aW9uYCBhbmRcbiAgICogYCQoLi4uKWAgZW52aXJvbm1lbnQgZXZhbHVhdGlvbi4gVXNlIHtAbGluayBUYXNrU2hlbGx9IHRvIHBpY2sgYSBidWlsdC1pblxuICAgKiBvciBhbiBleHBsaWNpdCBpbnZvY2F0aW9uLiBTZXQgYXQgcHJvamVjdCwgdGFzayBvciBzdGVwIGxldmVsOyB0aGUgbmVhcmVzdFxuICAgKiBkZWNsYXJlZCBsZXZlbCB3aW5zLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGluaGVyaXRlZCBmcm9tIHRoZSB0YXNrL3Byb2plY3QsIG90aGVyd2lzZSB0aGUgYnVpbHQtaW4gcHJvamVuIHNoZWxsXG4gICAqL1xuICByZWFkb25seSBzaGVsbD86IFRhc2tTaGVsbDtcbn1cblxuLyoqXG4gKiBTcGVjaWZpY2F0aW9uIG9mIGEgc2luZ2xlIHRhc2suXG4gKlxuICogVGhlIGB0YXNrcy5qc29uYCAobWFuaWZlc3QpIGZvcm0gb2YgYSB0YXNrLiB7QGxpbmsgVGFza0NvbW1vbk9wdGlvbnN9IGlzIHRoZVxuICogZm9ybSB1c2VkIHRvIGRlZmluZSBvbmU7IHRoZXkgZGlmZmVyIG9ubHkgaW4gdGhlIHJlbmRlcmVkIGBzaGVsbGAgZmllbGQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFza1NwZWMge1xuICAvKipcbiAgICogVGFzayBuYW1lLlxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBUaGUgZGVzY3JpcHRpb24gb2YgdGhpcyBidWlsZCBjb21tYW5kLlxuICAgKiBAZGVmYXVsdCAtIHRoZSB0YXNrIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IGRlc2NyaXB0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHRhc2suXG4gICAqIFZhbHVlcyBpbiB0aGlzIG1hcCB3aWxsIGJlIGV2YWx1YXRlZCBpbiBhIHNoZWxsLCBzbyB5b3UgY2FuIGRvIHN0dWZmIGxpa2UgYCQoZWNobyBcImZvb1wiKWAuXG4gICAqIEBkZWZhdWx0IHt9XG4gICAqL1xuICByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQSBzZXQgb2YgZW52aXJvbm1lbnQgdmFyaWFibGVzIHRoYXQgbXVzdCBiZSBkZWZpbmVkIGluIG9yZGVyIHRvIGV4ZWN1dGVcbiAgICogdGhpcyB0YXNrLiBUYXNrIGV4ZWN1dGlvbiB3aWxsIGZhaWwgaWYgb25lIG9mIHRoZXNlIGlzIG5vdCBkZWZpbmVkLlxuICAgKi9cbiAgcmVhZG9ubHkgcmVxdWlyZWRFbnY/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogQSBzaGVsbCBjb21tYW5kIHdoaWNoIGRldGVybWluZXMgaWYgdGhlIHRoaXMgdGFzayBzaG91bGQgYmUgZXhlY3V0ZWQuIElmXG4gICAqIHRoZSBwcm9ncmFtIGV4aXRzIHdpdGggYSB6ZXJvIGV4aXQgY29kZSwgc3RlcHMgd2lsbCBiZSBleGVjdXRlZC4gQSBub24temVyb1xuICAgKiBjb2RlIG1lYW5zIHRoYXQgdGFzayB3aWxsIGJlIHNraXBwZWQuXG4gICAqL1xuICByZWFkb25seSBjb25kaXRpb24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB3b3JraW5nIGRpcmVjdG9yeSBmb3IgYWxsIHN0ZXBzIGluIHRoaXMgdGFzayAodW5sZXNzIG92ZXJyaWRkZW4gYnkgdGhlXG4gICAqIHN0ZXApLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHByb2Nlc3MuY3dkKClcbiAgICovXG4gIHJlYWRvbmx5IGN3ZD86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHRhc2sgc2hlbGwgaW4gYHRhc2tzLmpzb25gIGZvcm06IGEga2V5d29yZCAoYFwicHJvamVuXCJgIG9yIGBcInN5c3RlbVwiYClcbiAgICogb3IgYW4gaW52b2NhdGlvbiBhcmd1bWVudCBsaXN0LlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIHRoZSBidWlsdC1pbiBwcm9qZW4gc2hlbGxcbiAgICovXG4gIHJlYWRvbmx5IHNoZWxsPzogc3RyaW5nIHwgc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFRhc2sgc3RlcHMuXG4gICAqL1xuICByZWFkb25seSBzdGVwcz86IFRhc2tTdGVwW107XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3IgdGFzayBzdGVwcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUYXNrU3RlcE9wdGlvbnMge1xuICAvKipcbiAgICogU3RlcCBuYW1lXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gbm8gbmFtZVxuICAgKi9cbiAgcmVhZG9ubHkgbmFtZT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHdvcmtpbmcgZGlyZWN0b3J5IGZvciB0aGlzIHN0ZXAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZGV0ZXJtaW5lZCBieSB0aGUgdGFza1xuICAgKi9cbiAgcmVhZG9ubHkgY3dkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIHNoZWxsIGNvbW1hbmQgd2hpY2ggZGV0ZXJtaW5lcyBpZiB0aGUgdGhpcyBzdGVwIHNob3VsZCBiZSBleGVjdXRlZC4gSWZcbiAgICogdGhlIHByb2dyYW0gZXhpdHMgd2l0aCBhIHplcm8gZXhpdCBjb2RlLCB0aGUgc3RlcCB3aWxsIGJlIGV4ZWN1dGVkLiBBIG5vbi16ZXJvXG4gICAqIGNvZGUgbWVhbnMgdGhlIHN0ZXAgd2lsbCBiZSBza2lwcGVkIChzdWJzZXF1ZW50IHRhc2sgc3RlcHMgd2lsbCBzdGlsbCBiZSBldmFsdWF0ZWQvZXhlY3V0ZWQpLlxuICAgKi9cbiAgcmVhZG9ubHkgY29uZGl0aW9uPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaG91bGQgdGhpcyBzdGVwIHJlY2VpdmUgYXJncyBwYXNzZWQgdG8gdGhlIHRhc2suXG4gICAqXG4gICAqIElmIGB0cnVlYCwgYXJncyBhcmUgcGFzc2VkIHRocm91Z2ggYXQgdGhlIGVuZCBvZiB0aGUgYGV4ZWNgIHNoZWxsIGNvbW1hbmQuXFxcbiAgICogVGhlIHBvc2l0aW9uIG9mIHRoZSBhcmdzIGNhbiBiZSBjaGFuZ2VkIGJ5IGluY2x1ZGluZyB0aGUgbWFya2VyIGAkQGAgaW5zaWRlIHRoZSBjb21tYW5kIHN0cmluZy5cbiAgICpcbiAgICogSWYgdGhlIG1hcmtlciBpcyBleHBsaWNpdGx5IGRvdWJsZS1xdW90ZWQgKFwiJEBcIikgYXJndW1lbnRzIHdpbGwgYmUgd3JhcHBlZCBpbiBkb3VibGUgcXVvdGVzLCBhcHByb3hpbWF0aW5nXG4gICAqIHRoZSB3aGl0ZXNwYWNlIHByZXNlcnZpbmcgYmVoYXZpb3Igb2YgYmFzaCB2YXJpYWJsZSBleHBhbnNpb24uXG4gICAqXG4gICAqIElmIHRoZSBzdGVwIHNwYXducyBhIHN1YnRhc2ssIGFyZ3MgYXJlIHBhc3NlZCB0byB0aGUgc3VidGFzay5cbiAgICogVGhlIHN1YnRhc2sgbXVzdCBkZWZpbmUgc3RlcHMgcmVjZWl2aW5nIGFyZ3MgZm9yIHRoaXMgdG8gaGF2ZSBhbnkgZWZmZWN0LlxuICAgKlxuICAgKiBAZXhhbXBsZSB0YXNrLmV4ZWMoXCJlY2hvIEhlbGxvICRAIFdvcmxkIVwiLCB7IHJlY2VpdmVBcmdzOiB0cnVlIH0pO1xuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgcmVjZWl2ZUFyZ3M/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBIGxpc3Qgb2YgZml4ZWQgYXJndW1lbnRzIGFsd2F5cyBwYXNzZWQgdG8gdGhlIHN0ZXAuXG4gICAqXG4gICAqIFVzZWZ1bCB0byByZS11c2UgZXhpc3RpbmcgdGFza3Mgd2l0aG91dCBoYXZpbmcgdG8gcmUtZGVmaW5lIHRoZSB3aG9sZSB0YXNrLlxcXG4gICAqIEZpeGVkIGFyZ3MgYXJlIGFsd2F5cyBwYXNzZWQgdG8gdGhlIHN0ZXAsIGV2ZW4gaWYgYHJlY2VpdmVBcmdzYCBpcyBgZmFsc2VgXG4gICAqIGFuZCBhcmUgYWx3YXlzIHBhc3NlZCBiZWZvcmUgYW55IGFyZ3MgdGhlIHRhc2sgaXMgY2FsbGVkIHdpdGguXG4gICAqXG4gICAqIElmIHRoZSBzdGVwIGV4ZWN1dGVzIGEgc2hlbGwgY29tbWFuZHMsIGFyZ3MgYXJlIHBhc3NlZCB0aHJvdWdoIGF0IHRoZSBlbmQgb2YgdGhlIGBleGVjYCBzaGVsbCBjb21tYW5kLlxcXG4gICAqIFRoZSBwb3NpdGlvbiBvZiB0aGUgYXJncyBjYW4gYmUgY2hhbmdlZCBieSBpbmNsdWRpbmcgdGhlIG1hcmtlciBgJEBgIGluc2lkZSB0aGUgY29tbWFuZCBzdHJpbmcuXG4gICAqXG4gICAqIElmIHRoZSBzdGVwIHNwYXducyBhIHN1YnRhc2ssIGFyZ3MgYXJlIHBhc3NlZCB0byB0aGUgc3VidGFzay5cbiAgICogVGhlIHN1YnRhc2sgbXVzdCBkZWZpbmUgc3RlcHMgcmVjZWl2aW5nIGFyZ3MgZm9yIHRoaXMgdG8gaGF2ZSBhbnkgZWZmZWN0LlxuICAgKlxuICAgKiBJZiB0aGUgc3RlcCBjYWxscyBhIGJ1aWx0aW4gc2NyaXB0LCBhcmdzIGFyZSBwYXNzZWQgdG8gdGhlIHNjcmlwdC5cbiAgICogSXQgaXMgdXAgdG8gdGhlIHNjcmlwdCB0byB1c2Ugb3IgZGlzY2FyZCB0aGUgYXJndW1lbnRzLlxuICAgKlxuICAgKiBAZXhhbXBsZSB0YXNrLnNwYXduKFwiZGVwbG95XCIsIHsgYXJnczogW1wiLS1mb3JjZVwiXSB9KTtcbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgc3RlcFxuICAgKi9cbiAgcmVhZG9ubHkgYXJncz86IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBEZWZpbmVzIGVudmlyb25tZW50IHZhcmlhYmxlcyBmb3IgdGhlIGV4ZWN1dGlvbiBvZiB0aGlzIHN0ZXAgKGBleGVjYCBhbmQgYGJ1aWx0aW5gIG9ubHkpLlxuICAgKiBWYWx1ZXMgaW4gdGhpcyBtYXAgY2FuIGJlIHNpbXBsZSwgbGl0ZXJhbCB2YWx1ZXMgb3Igc2hlbGwgZXhwcmVzc2lvbnMgdGhhdCB3aWxsIGJlIGV2YWx1YXRlZCBhdCBydW50aW1lIGUuZy4gYCQoZWNobyBcImZvb1wiKWAuXG4gICAqXG4gICAqIEBleGFtcGxlIHsgXCJmb29cIjogXCJiYXJcIiwgXCJib29cIjogXCIkKGVjaG8gYmF6KVwiIH1cbiAgICpcbiAgICogQGRlZmF1bHQgLSBubyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZGVmaW5lZCBpbiBzdGVwXG4gICAqL1xuICByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQ2FwdHVyZSB0aGlzIHN0ZXAncyAodHJpbW1lZCkgc3Rkb3V0IGludG8gYW4gZW52aXJvbm1lbnQgdmFyaWFibGUgb2YgdGhpc1xuICAgKiBuYW1lLCB2aXNpYmxlIHRvIGFsbCBsYXRlciBzdGVwcyBvZiB0aGUgdGFzayBydW4uIEZvciBgc3Bhd25gIHN0ZXBzIHRoZVxuICAgKiBzcGF3bmVkIHN1YnRhc2sncyBjb21iaW5lZCBzdGRvdXQgaXMgY2FwdHVyZWQuXG4gICAqXG4gICAqIFNldCBvbmx5IHdoZW4gdGhlIHN0ZXAgcnVucyAoYSBza2lwcGVkIHN0ZXAgbGVhdmVzIGl0IHVuc2V0KSBhbmQgYWx3YXlzXG4gICAqIG92ZXJ3cml0ZXMuIFRoZSBzdGVwJ3Mgb3V0cHV0IHN0aWxsIHN0cmVhbXMgbGl2ZS5cbiAgICpcbiAgICogQGRlZmF1bHQgLSBzdGRvdXQgaXMgbm90IGNhcHR1cmVkXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRFbnY/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzaGVsbCB1c2VkIHRvIHJ1biB0aGlzIHN0ZXAsIG92ZXJyaWRpbmcgdGhlIHRhc2svcHJvamVjdCBzaGVsbC5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgVGFza0NvbW1vbk9wdGlvbnMuc2hlbGx9XG4gICAqIEBkZWZhdWx0IC0gdGhlIHRhc2sncyAob3IgcHJvamVjdCdzKSBzaGVsbFxuICAgKi9cbiAgcmVhZG9ubHkgc2hlbGw/OiBUYXNrU2hlbGw7XG59XG5cbi8qKlxuICogQSBzaW5nbGUgc3RlcCB3aXRoaW4gYSB0YXNrLiBUaGUgc3RlcCBjb3VsZCBlaXRoZXIgYmUgIHRoZSBleGVjdXRpb24gb2YgYVxuICogc2hlbGwgY29tbWFuZCBvciBleGVjdXRpb24gb2YgYSBzdWItdGFzaywgYnkgbmFtZS5cbiAqXG4gKiBUaGUgYHRhc2tzLmpzb25gIChtYW5pZmVzdCkgZm9ybSBvZiBhIHN0ZXAuIHtAbGluayBUYXNrU3RlcE9wdGlvbnN9IGlzIHRoZVxuICogZm9ybSB1c2VkIHRvIGRlZmluZSBzdGVwcyAodmlhIGB0YXNrLmV4ZWMoKWAgZXRjLik7IHRoZXkgZGlmZmVyIG9ubHkgaW4gdGhlXG4gKiByZW5kZXJlZCBgc2hlbGxgIGZpZWxkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRhc2tTdGVwIHtcbiAgLyoqXG4gICAqIFN0ZXAgbmFtZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIG5vIG5hbWVcbiAgICovXG4gIHJlYWRvbmx5IG5hbWU/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSB3b3JraW5nIGRpcmVjdG9yeSBmb3IgdGhpcyBzdGVwLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRldGVybWluZWQgYnkgdGhlIHRhc2tcbiAgICovXG4gIHJlYWRvbmx5IGN3ZD86IHN0cmluZztcblxuICAvKipcbiAgICogQSBzaGVsbCBjb21tYW5kIHdoaWNoIGRldGVybWluZXMgaWYgdGhlIHRoaXMgc3RlcCBzaG91bGQgYmUgZXhlY3V0ZWQuIElmXG4gICAqIHRoZSBwcm9ncmFtIGV4aXRzIHdpdGggYSB6ZXJvIGV4aXQgY29kZSwgdGhlIHN0ZXAgd2lsbCBiZSBleGVjdXRlZC4gQSBub24temVyb1xuICAgKiBjb2RlIG1lYW5zIHRoZSBzdGVwIHdpbGwgYmUgc2tpcHBlZCAoc3Vic2VxdWVudCB0YXNrIHN0ZXBzIHdpbGwgc3RpbGwgYmUgZXZhbHVhdGVkL2V4ZWN1dGVkKS5cbiAgICovXG4gIHJlYWRvbmx5IGNvbmRpdGlvbj86IHN0cmluZztcblxuICAvKipcbiAgICogU2hvdWxkIHRoaXMgc3RlcCByZWNlaXZlIGFyZ3MgcGFzc2VkIHRvIHRoZSB0YXNrLlxuICAgKlxuICAgKiBAc2VlIHtAbGluayBUYXNrU3RlcE9wdGlvbnMucmVjZWl2ZUFyZ3N9XG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSByZWNlaXZlQXJncz86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIEEgbGlzdCBvZiBmaXhlZCBhcmd1bWVudHMgYWx3YXlzIHBhc3NlZCB0byB0aGUgc3RlcC5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgVGFza1N0ZXBPcHRpb25zLmFyZ3N9XG4gICAqIEBkZWZhdWx0IC0gbm8gYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIHN0ZXBcbiAgICovXG4gIHJlYWRvbmx5IGFyZ3M/OiBzdHJpbmdbXTtcblxuICAvKipcbiAgICogRGVmaW5lcyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZm9yIHRoZSBleGVjdXRpb24gb2YgdGhpcyBzdGVwIChgZXhlY2AgYW5kIGBidWlsdGluYCBvbmx5KS5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgVGFza1N0ZXBPcHRpb25zLmVudn1cbiAgICogQGRlZmF1bHQgLSBubyBlbnZpcm9ubWVudCB2YXJpYWJsZXMgZGVmaW5lZCBpbiBzdGVwXG4gICAqL1xuICByZWFkb25seSBlbnY/OiB7IFtuYW1lOiBzdHJpbmddOiBzdHJpbmcgfTtcblxuICAvKipcbiAgICogQ2FwdHVyZSB0aGlzIHN0ZXAncyBzdGFuZGFyZCBvdXRwdXQgYW5kIGV4cG9zZSBpdCB0byBsYXRlciBzdGVwcyBhcyBhblxuICAgKiBlbnZpcm9ubWVudCB2YXJpYWJsZSB3aXRoIHRoaXMgbmFtZS5cbiAgICpcbiAgICogQHNlZSB7QGxpbmsgVGFza1N0ZXBPcHRpb25zLm91dHB1dEVudn1cbiAgICogQGRlZmF1bHQgLSBzdGRvdXQgaXMgbm90IGNhcHR1cmVkXG4gICAqL1xuICByZWFkb25seSBvdXRwdXRFbnY/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFRoZSBzdGVwIHNoZWxsIGluIGB0YXNrcy5qc29uYCBmb3JtOiBhIGtleXdvcmQgKGBcInByb2plblwiYCBvciBgXCJzeXN0ZW1cImApXG4gICAqIG9yIGFuIGludm9jYXRpb24gYXJndW1lbnQgbGlzdC5cbiAgICpcbiAgICogQGRlZmF1bHQgLSB0aGUgdGFzaydzIChvciBwcm9qZWN0J3MpIHNoZWxsXG4gICAqL1xuICByZWFkb25seSBzaGVsbD86IHN0cmluZyB8IHN0cmluZ1tdO1xuXG4gIC8qKlxuICAgKiBTaGVsbCBjb21tYW5kIHRvIGV4ZWN1dGUuXG4gICAqXG4gICAqIFRoZSB3aG9sZSBjb21tYW5kIGlzIGEgc2luZ2xlIHNoZWxsIHN0cmluZy4gVG8gcGFzcyBhcmd1bWVudHMgYXMgYSBsaXN0XG4gICAqIGluc3RlYWQgLSB3aXRob3V0IGhhdmluZyB0byBxdW90ZSBzcGFjZXMgb3Igb3RoZXIgY2hhcmFjdGVycyB5b3Vyc2VsZiAtXG4gICAqIHVzZSBgZXhlY0FyZ3NgLlxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvbid0IGV4ZWN1dGUgYSBzaGVsbCBjb21tYW5kXG4gICAqL1xuICByZWFkb25seSBleGVjPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBTaGVsbCBjb21tYW5kIHRvIGV4ZWN1dGUsIHByb3ZpZGVkIGFzIGEgbGlzdCBvZiB0aGUgcHJvZ3JhbSBmb2xsb3dlZCBieVxuICAgKiBpdHMgYXJndW1lbnRzIChhbiBcImFyZ3ZcIikuXG4gICAqXG4gICAqIE9mdGVuIG1vcmUgY29udmVuaWVudCB0aGFuIGBleGVjYDogZWFjaCBlbGVtZW50IGlzIHBhc3NlZCB0byB0aGVcbiAgICogcHJvZ3JhbSBhcy1pcywgc28gYXJndW1lbnRzIHdpdGggc3BhY2VzIG9yIHNwZWNpYWwgY2hhcmFjdGVycyBkb24ndCBuZWVkXG4gICAqIHF1b3RpbmcuIEZpeGVkIChgYXJnc2ApIG9yIHJlY2VpdmVkIChgcmVjZWl2ZUFyZ3NgKSBhcmd1bWVudHMgYXJlIGluc2VydGVkXG4gICAqIHdoZXJldmVyIGEgYCRAYCBlbGVtZW50IGFwcGVhcnMsIG9yIGFwcGVuZGVkIGF0IHRoZSBlbmQgaWYgdGhlcmUgaXMgbm9uZS5cbiAgICpcbiAgICogVGhlIGVsZW1lbnRzIGFyZSBub3QgcnVuIHRocm91Z2ggYSBzaGVsbCwgc28gZW52aXJvbm1lbnQgdmFyaWFibGVzIChgJEZPT2ApXG4gICAqIGFyZSBub3QgZXhwYW5kZWQgYW5kIG90aGVyIHNoZWxsIGZlYXR1cmVzIGFyZSB1bmF2YWlsYWJsZS4gVXNlIGBleGVjYFxuICAgKiBpZiB5b3UgbmVlZCB0aGVtLlxuICAgKlxuICAgKiBNdXR1YWxseSBleGNsdXNpdmUgd2l0aCBgZXhlY2AuXG4gICAqXG4gICAqIEBleGFtcGxlIHsgZXhlY0FyZ3M6IFtcImVjaG9cIiwgXCJoZWxsbyB3b3JsZFwiXSB9XG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG9uJ3QgZXhlY3V0ZSBhIHNoZWxsIGNvbW1hbmRcbiAgICovXG4gIHJlYWRvbmx5IGV4ZWNBcmdzPzogc3RyaW5nW107XG5cbiAgLyoqXG4gICAqIFN1YnRhc2sgdG8gZXhlY3V0ZVxuICAgKlxuICAgKiBAZGVmYXVsdCAtIGRvbid0IHNwYXduIGEgc3VidGFza1xuICAgKi9cbiAgcmVhZG9ubHkgc3Bhd24/OiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFByaW50IGEgbWVzc2FnZS5cbiAgICogQGRlZmF1bHQgLSBkb24ndCBzYXkgYW55dGhpbmdcbiAgICovXG4gIHJlYWRvbmx5IHNheT86IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIG5hbWUgb2YgYSBidWlsdC1pbiB0YXNrIHRvIGV4ZWN1dGUuXG4gICAqXG4gICAqIEJ1aWx0LWluIHRhc2tzIGFyZSBub2RlLmpzIHByb2dyYW1zIGJha2VkIGludG8gdGhlIHByb2plbiBtb2R1bGUgYW5kIGFzXG4gICAqIGNvbXBvbmVudCBydW50aW1lIGhlbHBlcnMuXG4gICAqXG4gICAqIFRoZSBuYW1lIGlzIGEgcGF0aCByZWxhdGl2ZSB0byB0aGUgcHJvamVuIGxpYi8gZGlyZWN0b3J5ICh3aXRob3V0IHRoZSAudGFzay5qcyBleHRlbnNpb24pLlxuICAgKiBGb3IgZXhhbXBsZSwgaWYgeW91ciBidWlsdCBpbiBidWlsdGluIHRhc2sgaXMgdW5kZXIgYHNyYy9yZWxlYXNlL3Jlc29sdmUtdmVyc2lvbi50YXNrLnRzYCxcbiAgICogdGhlbiB0aGlzIHdvdWxkIGJlIGByZWxlYXNlL3Jlc29sdmUtdmVyc2lvbmAuXG4gICAqXG4gICAqIEBkZWZhdWx0IC0gZG8gbm90IGV4ZWN1dGUgYSBidWlsdGluIHRhc2tcbiAgICovXG4gIHJlYWRvbmx5IGJ1aWx0aW4/OiBzdHJpbmc7XG59XG4iXX0=
|
package/lib/task-shell.js
CHANGED
|
@@ -19,7 +19,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
19
19
|
*/
|
|
20
20
|
class TaskShell {
|
|
21
21
|
value;
|
|
22
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TaskShell", version: "0.101.
|
|
22
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TaskShell", version: "0.101.15" };
|
|
23
23
|
/**
|
|
24
24
|
* The built-in cross-platform shell (the default). It interprets POSIX-style
|
|
25
25
|
* task syntax (`mkdir -p`, `&&`, `$VAR`, ...) identically on every platform,
|
package/lib/task.js
CHANGED
|
@@ -8,7 +8,7 @@ const logging_1 = require("./logging");
|
|
|
8
8
|
* commands and subtasks.
|
|
9
9
|
*/
|
|
10
10
|
class Task {
|
|
11
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Task", version: "0.101.
|
|
11
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Task", version: "0.101.15" };
|
|
12
12
|
/**
|
|
13
13
|
* Task name.
|
|
14
14
|
*/
|
package/lib/tasks.js
CHANGED
|
@@ -48,7 +48,7 @@ const task_runner_1 = require("./task-runner");
|
|
|
48
48
|
* synthesized into `.projen/tasks.json`.
|
|
49
49
|
*/
|
|
50
50
|
class Tasks extends component_1.Component {
|
|
51
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Tasks", version: "0.101.
|
|
51
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Tasks", version: "0.101.15" };
|
|
52
52
|
_tasks;
|
|
53
53
|
_env;
|
|
54
54
|
_shell;
|
package/lib/testing.js
CHANGED
|
@@ -10,7 +10,7 @@ const synth_1 = require("./util/synth");
|
|
|
10
10
|
* @example `expect(Testing.synth(someProject)).toMatchSnapshot()`
|
|
11
11
|
*/
|
|
12
12
|
class Testing {
|
|
13
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Testing", version: "0.101.
|
|
13
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.Testing", version: "0.101.15" };
|
|
14
14
|
/**
|
|
15
15
|
* Produces a simple JS object that represents the contents of the projects with field names being file paths.
|
|
16
16
|
* @param project the project to produce a snapshot for
|
package/lib/textfile.js
CHANGED
|
@@ -7,7 +7,7 @@ const file_1 = require("./file");
|
|
|
7
7
|
* A text file.
|
|
8
8
|
*/
|
|
9
9
|
class TextFile extends file_1.FileBase {
|
|
10
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TextFile", version: "0.101.
|
|
10
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TextFile", version: "0.101.15" };
|
|
11
11
|
lines;
|
|
12
12
|
/**
|
|
13
13
|
* Defines a text file.
|
package/lib/toml.js
CHANGED
|
@@ -41,7 +41,7 @@ const object_file_1 = require("./object-file");
|
|
|
41
41
|
* Represents a TOML file.
|
|
42
42
|
*/
|
|
43
43
|
class TomlFile extends object_file_1.ObjectFile {
|
|
44
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TomlFile", version: "0.101.
|
|
44
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.TomlFile", version: "0.101.15" };
|
|
45
45
|
constructor(scope, filePath, options) {
|
|
46
46
|
super(scope, filePath, options);
|
|
47
47
|
}
|
|
@@ -16,7 +16,7 @@ const DEFAULT_FILENAME = ".projenrc.ts";
|
|
|
16
16
|
* and has no expectations around the project's main language.
|
|
17
17
|
*/
|
|
18
18
|
class ProjenrcTs extends projenrc_1.ProjenrcFile {
|
|
19
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.ProjenrcTs", version: "0.101.
|
|
19
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.ProjenrcTs", version: "0.101.15" };
|
|
20
20
|
/**
|
|
21
21
|
* TypeScript configuration file used to compile projen source files
|
|
22
22
|
*/
|
|
@@ -15,7 +15,7 @@ const DEFAULT_FILENAME = ".projenrc.ts";
|
|
|
15
15
|
* This component is used within TypeScriptProject.
|
|
16
16
|
*/
|
|
17
17
|
class Projenrc extends projenrc_1.ProjenrcFile {
|
|
18
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.Projenrc", version: "0.101.
|
|
18
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.Projenrc", version: "0.101.15" };
|
|
19
19
|
filePath;
|
|
20
20
|
tsconfig;
|
|
21
21
|
_projenCodeDir;
|
|
@@ -13,7 +13,7 @@ const recreate_1 = require("../util/recreate");
|
|
|
13
13
|
* adjusted options.
|
|
14
14
|
*/
|
|
15
15
|
class TypeScriptRunner extends script_runner_1.ScriptRunner {
|
|
16
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypeScriptRunner", version: "0.101.
|
|
16
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypeScriptRunner", version: "0.101.15" };
|
|
17
17
|
/**
|
|
18
18
|
* Use ts-node to execute TypeScript files.
|
|
19
19
|
*/
|
|
@@ -6,7 +6,7 @@ const JSII_RTTI_SYMBOL_1 = Symbol.for("jsii.rtti");
|
|
|
6
6
|
Adds a simple Typescript documentation generator
|
|
7
7
|
*/
|
|
8
8
|
class TypedocDocgen {
|
|
9
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypedocDocgen", version: "0.101.
|
|
9
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypedocDocgen", version: "0.101.15" };
|
|
10
10
|
constructor(project) {
|
|
11
11
|
project.addDevDeps("typedoc");
|
|
12
12
|
const docgen = project.addTask("docgen", {
|
|
@@ -52,7 +52,7 @@ const util_2 = require("../util");
|
|
|
52
52
|
*/
|
|
53
53
|
class TsJestBabelConfig {
|
|
54
54
|
config;
|
|
55
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TsJestBabelConfig", version: "0.101.
|
|
55
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TsJestBabelConfig", version: "0.101.15" };
|
|
56
56
|
/**
|
|
57
57
|
* Disables the use of Babel
|
|
58
58
|
*/
|
|
@@ -99,7 +99,7 @@ exports.TsJestBabelConfig = TsJestBabelConfig;
|
|
|
99
99
|
*/
|
|
100
100
|
class TsJestDiagnostics {
|
|
101
101
|
config;
|
|
102
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TsJestDiagnostics", version: "0.101.
|
|
102
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TsJestDiagnostics", version: "0.101.15" };
|
|
103
103
|
/**
|
|
104
104
|
* Enable all diagnostics.
|
|
105
105
|
*/
|
|
@@ -137,7 +137,7 @@ exports.TsJestDiagnostics = TsJestDiagnostics;
|
|
|
137
137
|
*/
|
|
138
138
|
class TsJestTsconfig {
|
|
139
139
|
config;
|
|
140
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TsJestTsconfig", version: "0.101.
|
|
140
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TsJestTsconfig", version: "0.101.15" };
|
|
141
141
|
/**
|
|
142
142
|
* Uses `tsconfig.json` if found, or the built-in default TypeScript compiler options.
|
|
143
143
|
*/
|
|
@@ -183,7 +183,7 @@ exports.TsJestTsconfig = TsJestTsconfig;
|
|
|
183
183
|
* @pjid typescript
|
|
184
184
|
*/
|
|
185
185
|
class TypeScriptProject extends javascript_1.NodeProject {
|
|
186
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypeScriptProject", version: "0.101.
|
|
186
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypeScriptProject", version: "0.101.15" };
|
|
187
187
|
static DEFAULT_TS_JEST_TRANFORM_PATTERN = "^.+\\.[t]sx?$";
|
|
188
188
|
docgen;
|
|
189
189
|
docsDirectory;
|
|
@@ -620,7 +620,7 @@ class SampleCode extends component_1.Component {
|
|
|
620
620
|
* @pjid typescript-app
|
|
621
621
|
*/
|
|
622
622
|
class TypeScriptAppProject extends TypeScriptProject {
|
|
623
|
-
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypeScriptAppProject", version: "0.101.
|
|
623
|
+
static [JSII_RTTI_SYMBOL_1] = { fqn: "projen.typescript.TypeScriptAppProject", version: "0.101.15" };
|
|
624
624
|
constructor(options) {
|
|
625
625
|
// Releasing and packaging are coupled. If one is disabled, disable the other by default.
|
|
626
626
|
const shouldRelease = options.release ?? false;
|
package/lib/util/exec.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
export declare const MAX_BUFFER: number;
|
|
1
2
|
/**
|
|
2
3
|
* Options for shell-free command execution.
|
|
3
4
|
*/
|
|
@@ -109,46 +110,3 @@ export declare const npm: AsyncTool;
|
|
|
109
110
|
* Cross-platform helper for `npx` (a Windows `.cmd` shim).
|
|
110
111
|
*/
|
|
111
112
|
export declare const npx: AsyncTool;
|
|
112
|
-
export declare const rawShell: {
|
|
113
|
-
/**
|
|
114
|
-
* Runs a user-supplied shell command line and resolves its trimmed
|
|
115
|
-
* STDOUT. Rejects if the command exits non-zero.
|
|
116
|
-
*/
|
|
117
|
-
capture: (command: string, options: {
|
|
118
|
-
cwd: string;
|
|
119
|
-
env?: Record<string, string>;
|
|
120
|
-
}) => Promise<string>;
|
|
121
|
-
/**
|
|
122
|
-
* Runs a user-supplied shell command line and resolves its trimmed
|
|
123
|
-
* STDOUT, or `undefined` if the command failed or produced no output.
|
|
124
|
-
*/
|
|
125
|
-
tryCapture: (command: string, options: {
|
|
126
|
-
cwd: string;
|
|
127
|
-
env?: Record<string, string>;
|
|
128
|
-
}) => Promise<string | undefined>;
|
|
129
|
-
};
|
|
130
|
-
/**
|
|
131
|
-
* Normalized result of running a command through the system shell (a subset of
|
|
132
|
-
* node's `SpawnSyncReturns`).
|
|
133
|
-
*/
|
|
134
|
-
export interface SystemShellResult {
|
|
135
|
-
/** Exit code, or `null` if terminated by a signal or never spawned. */
|
|
136
|
-
readonly status: number | null;
|
|
137
|
-
/** Captured stdout, or `null` when stdout was inherited. */
|
|
138
|
-
readonly stdout: Buffer | null;
|
|
139
|
-
/** Captured stderr, or `null` when stderr was inherited. */
|
|
140
|
-
readonly stderr: Buffer | null;
|
|
141
|
-
/** An error raised while attempting to spawn (not a non-zero exit). */
|
|
142
|
-
readonly error?: Error;
|
|
143
|
-
}
|
|
144
|
-
/**
|
|
145
|
-
* Runs a command line through the operating system's default shell (`/bin/sh`
|
|
146
|
-
* on POSIX, `cmd.exe` on Windows). Never throws for a non-zero exit (that is
|
|
147
|
-
* reported via `status`); a spawn failure is reported via `error`. The caller
|
|
148
|
-
* supplies the full `env`.
|
|
149
|
-
*/
|
|
150
|
-
export declare function systemShell(command: string, options: {
|
|
151
|
-
cwd: string;
|
|
152
|
-
env?: NodeJS.ProcessEnv;
|
|
153
|
-
capture?: boolean;
|
|
154
|
-
}): SystemShellResult;
|
package/lib/util/exec.js
CHANGED
|
@@ -33,19 +33,18 @@ var __importStar = (this && this.__importStar) || (function () {
|
|
|
33
33
|
};
|
|
34
34
|
})();
|
|
35
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.
|
|
36
|
+
exports.npx = exports.npm = exports.node = exports.poetry = exports.uv = exports.git = exports.MAX_BUFFER = void 0;
|
|
37
37
|
exports.tool = tool;
|
|
38
|
-
exports.systemShell = systemShell;
|
|
39
38
|
const child_process = __importStar(require("child_process"));
|
|
40
39
|
const fs = __importStar(require("fs"));
|
|
41
40
|
const os = __importStar(require("os"));
|
|
42
41
|
const path = __importStar(require("path"));
|
|
43
42
|
const dax_1 = require("dax");
|
|
44
43
|
const logging = __importStar(require("../logging"));
|
|
45
|
-
|
|
44
|
+
exports.MAX_BUFFER = 10 * 1024 * 1024;
|
|
46
45
|
function spawnOpts(options) {
|
|
47
46
|
return {
|
|
48
|
-
maxBuffer: MAX_BUFFER,
|
|
47
|
+
maxBuffer: exports.MAX_BUFFER,
|
|
49
48
|
cwd: options.cwd,
|
|
50
49
|
env: options.env ? { ...process.env, ...options.env } : undefined,
|
|
51
50
|
// run the program directly, without going through a shell
|
|
@@ -196,72 +195,4 @@ exports.npm = shimTool("npm");
|
|
|
196
195
|
* Cross-platform helper for `npx` (a Windows `.cmd` shim).
|
|
197
196
|
*/
|
|
198
197
|
exports.npx = shimTool("npx");
|
|
199
|
-
//
|
|
200
|
-
// ---------------------------------------------------------------------------
|
|
201
|
-
// rawShell: arbitrary shell command strings (via dax, cross-platform).
|
|
202
|
-
//
|
|
203
|
-
// This runs an opaque command *string* through dax's cross-platform shell
|
|
204
|
-
// (incl. Windows). The command is parsed by a shell as-is, so it is meant for
|
|
205
|
-
// arbitrary command lines that cannot be expressed as a fixed binary plus a
|
|
206
|
-
// list of arguments, e.g. a release's `nextVersionCommand` or
|
|
207
|
-
// `ReleasableCommits.exec()` (and projen's own generated `ReleasableCommits`
|
|
208
|
-
// queries). For everything else prefer the structured `tool`/`git` helpers
|
|
209
|
-
// (or `shimTool` for `.cmd` shims), which take an explicit list of arguments.
|
|
210
|
-
//
|
|
211
|
-
// `$.raw` is required here (and only here): the input is an opaque command
|
|
212
|
-
// line, so it must be parsed by a shell. dax provides that shell on every
|
|
213
|
-
// platform, including Windows.
|
|
214
|
-
// ---------------------------------------------------------------------------
|
|
215
|
-
//
|
|
216
|
-
exports.rawShell = {
|
|
217
|
-
/**
|
|
218
|
-
* Runs a user-supplied shell command line and resolves its trimmed
|
|
219
|
-
* STDOUT. Rejects if the command exits non-zero.
|
|
220
|
-
*/
|
|
221
|
-
capture: async (command, options) => {
|
|
222
|
-
logging.debug(`${command} (cwd: ${options.cwd})`);
|
|
223
|
-
const cmd = dax_1.$.raw `${command}`.cwd(options.cwd);
|
|
224
|
-
return (options.env ? cmd.env(options.env) : cmd).text();
|
|
225
|
-
},
|
|
226
|
-
/**
|
|
227
|
-
* Runs a user-supplied shell command line and resolves its trimmed
|
|
228
|
-
* STDOUT, or `undefined` if the command failed or produced no output.
|
|
229
|
-
*/
|
|
230
|
-
tryCapture: async (command, options) => {
|
|
231
|
-
logging.debug(`${command} (cwd: ${options.cwd})`);
|
|
232
|
-
let cmd = dax_1.$.raw `${command}`.cwd(options.cwd).noThrow().stdout("piped");
|
|
233
|
-
if (options.env) {
|
|
234
|
-
cmd = cmd.env(options.env);
|
|
235
|
-
}
|
|
236
|
-
const result = await cmd;
|
|
237
|
-
if (result.code !== 0) {
|
|
238
|
-
return undefined;
|
|
239
|
-
}
|
|
240
|
-
const out = result.stdout.trim();
|
|
241
|
-
return out || undefined;
|
|
242
|
-
},
|
|
243
|
-
};
|
|
244
|
-
/**
|
|
245
|
-
* Runs a command line through the operating system's default shell (`/bin/sh`
|
|
246
|
-
* on POSIX, `cmd.exe` on Windows). Never throws for a non-zero exit (that is
|
|
247
|
-
* reported via `status`); a spawn failure is reported via `error`. The caller
|
|
248
|
-
* supplies the full `env`.
|
|
249
|
-
*/
|
|
250
|
-
function systemShell(command, options) {
|
|
251
|
-
logging.debug(`${command} (cwd: ${options.cwd})`);
|
|
252
|
-
const result = child_process.spawnSync(command, {
|
|
253
|
-
cwd: options.cwd,
|
|
254
|
-
shell: true,
|
|
255
|
-
maxBuffer: MAX_BUFFER,
|
|
256
|
-
env: options.env,
|
|
257
|
-
// "pipe" for STDERR (when capturing) means it appears in exceptions.
|
|
258
|
-
stdio: options.capture ? ["inherit", "pipe", "pipe"] : "inherit",
|
|
259
|
-
});
|
|
260
|
-
return {
|
|
261
|
-
status: result.status,
|
|
262
|
-
stdout: result.stdout ?? null,
|
|
263
|
-
stderr: result.stderr ?? null,
|
|
264
|
-
error: result.error,
|
|
265
|
-
};
|
|
266
|
-
}
|
|
267
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2V4ZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBK0xBLG9CQU1DO0FBaU1ELGtDQW1CQztBQXpaRCw2REFBK0M7QUFDL0MsdUNBQXlCO0FBQ3pCLHVDQUF5QjtBQUN6QiwyQ0FBNkI7QUFDN0IsNkJBQXdCO0FBQ3hCLG9EQUFzQztBQUV0QyxNQUFNLFVBQVUsR0FBRyxFQUFFLEdBQUcsSUFBSSxHQUFHLElBQUksQ0FBQztBQXdEcEMsU0FBUyxTQUFTLENBQUMsT0FBd0I7SUFDekMsT0FBTztRQUNMLFNBQVMsRUFBRSxVQUFVO1FBQ3JCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUNoQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDakUsMERBQTBEO1FBQzFELEtBQUssRUFBRSxLQUFjO0tBQ3RCLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQWMsRUFBRSxPQUFtQjtJQUM1RCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFakUsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1FBQ3JDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUNyQixxRUFBcUU7UUFDckUsbUVBQW1FO1FBQ25FLDBFQUEwRTtRQUMxRSxLQUFLLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENB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S0FBSztLQUNwQixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNoaWxkX3Byb2Nlc3MgZnJvbSBcImNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyAkIH0gZnJvbSBcImRheFwiO1xuaW1wb3J0ICogYXMgbG9nZ2luZyBmcm9tIFwiLi4vbG9nZ2luZ1wiO1xuXG5jb25zdCBNQVhfQlVGRkVSID0gMTAgKiAxMDI0ICogMTAyNDtcblxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2hlbGwtZnJlZSBleGVjdXRpb24gKGV4ZWNGaWxlU3luYywgc2hlbGw6IGZhbHNlKS5cbi8vXG4vLyBUaGUgcHJvZ3JhbSBhbmQgZWFjaCBhcmd1bWVudCBhcmUgcGFzc2VkIHRvIHRoZSBPUyBkaXJlY3RseSB3aXRob3V0IGdvaW5nXG4vLyB0aHJvdWdoIGEgc2hlbGwsIHNvIHRoZXJlIGlzIG5vIHF1b3RpbmcgdG8gZ2V0IHJpZ2h0IGFuZCBubyBkaWZmZXJlbmNlc1xuLy8gYmV0d2VlbiBwbGF0Zm9ybSBzaGVsbHMgdG8gYWNjb3VudCBmb3Igd2hlbiBjb21tYW5kcyBpbmNsdWRlIHZhbHVlcyBkZXJpdmVkXG4vLyBmcm9tIGZpbGVzLCBnaXQgb3V0cHV0LCBjb25maWd1cmF0aW9uLCBldGMuXG4vL1xuLy8gT25seSBwZXItdG9vbCBoZWxwZXJzIGFyZSBleHBvcnRlZCAoZS5nLiBgZ2l0YCk7IHRoZSBnZW5lcmljIHByaW1pdGl2ZXMgYXJlXG4vLyBrZXB0IHByaXZhdGUgc28gY2FsbCBzaXRlcyBhcmUgZXhwbGljaXQgYWJvdXQgd2hpY2ggdG9vbCB0aGV5IGludm9rZS5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cblxuLyoqXG4gKiBPcHRpb25zIGZvciBzaGVsbC1mcmVlIGNvbW1hbmQgZXhlY3V0aW9uLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWNGaWxlT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBXb3JraW5nIGRpcmVjdG9yeSBmb3IgdGhlIGNvbW1hbmQuXG4gICAqL1xuICByZWFkb25seSBjd2Q6IHN0cmluZztcblxuICAvKipcbiAgICogQWRkaXRpb25hbCBlbnZpcm9ubWVudCB2YXJpYWJsZXMsIG1lcmdlZCBvbiB0b3Agb2YgYHByb2Nlc3MuZW52YC5cbiAgICovXG4gIHJlYWRvbmx5IGVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZyB8IHVuZGVmaW5lZD47XG5cbiAgLyoqXG4gICAqIEZvciBgY2FwdHVyZWAvYHRyeUNhcHR1cmVgOiBpbnRlcmxlYXZlIFNUREVSUiBpbnRvIHRoZSBjYXB0dXJlZCBvdXRwdXRcbiAgICogaW5zdGVhZCBvZiBvbmx5IGNhcHR1cmluZyBTVERPVVQuXG4gICAqXG4gICAqIEBkZWZhdWx0IGZhbHNlXG4gICAqL1xuICByZWFkb25seSBjYXB0dXJlU3RkZXJyPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBPcHRpb25zIGZvciB7QGxpbmsgVG9vbC5ydW59LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJ1bk9wdGlvbnMgZXh0ZW5kcyBFeGVjRmlsZU9wdGlvbnMge1xuICAvKipcbiAgICogU3RyZWFtIHRoZSBjaGlsZCdzIHN0ZG91dCBhbmQgc3RkZXJyIHN0cmFpZ2h0IHRvIHRoZSBwYXJlbnQncyBzdGRvdXQgYW5kXG4gICAqIHN0ZGVyciAoZnVsbCBpbmhlcml0YW5jZSksIGluc3RlYWQgb2YgcmVkaXJlY3Rpbmcgc3Rkb3V0IHRvIHN0ZGVyciBhbmRcbiAgICogY2FwdHVyaW5nIHN0ZGVyciAodGhlIGRlZmF1bHQpLlxuICAgKlxuICAgKiBVc2UgdGhpcyB3aGVuIGxhdW5jaGluZyBhIGNoaWxkIHByb2Nlc3Mgd2hvc2Ugc3Rkb3V0IGlzIG1lYW5pbmdmdWwgYW5kXG4gICAqIHdob3NlIG91dHB1dCBzaG91bGQgc3RyZWFtIGxpdmUgdG8gdGhlIHVzZXIgKGUuZy4gdGhlIHByb2plbiBDTEkpLlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgaW5oZXJpdFN0ZGlvPzogYm9vbGVhbjtcbn1cblxuZnVuY3Rpb24gc3Bhd25PcHRzKG9wdGlvbnM6IEV4ZWNGaWxlT3B0aW9ucykge1xuICByZXR1cm4ge1xuICAgIG1heEJ1ZmZlcjogTUFYX0JVRkZFUixcbiAgICBjd2Q6IG9wdGlvbnMuY3dkLFxuICAgIGVudjogb3B0aW9ucy5lbnYgPyB7IC4uLnByb2Nlc3MuZW52LCAuLi5vcHRpb25zLmVudiB9IDogdW5kZWZpbmVkLFxuICAgIC8vIHJ1biB0aGUgcHJvZ3JhbSBkaXJlY3RseSwgd2l0aG91dCBnb2luZyB0aHJvdWdoIGEgc2hlbGxcbiAgICBzaGVsbDogZmFsc2UgYXMgY29uc3QsXG4gIH07XG59XG5cbi8qKlxuICogUnVucyBhIHByb2dyYW0gd2l0aCB0aGUgZ2l2ZW4gYXJndW1lbnRzLCBpbmhlcml0aW5nIHN0ZG91dC4gVGhyb3dzIGlmIHRoZVxuICogY29tbWFuZCBleGl0cyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLlxuICovXG5mdW5jdGlvbiBydW4oZmlsZTogc3RyaW5nLCBhcmdzOiBzdHJpbmdbXSwgb3B0aW9uczogUnVuT3B0aW9ucyk6IHZvaWQge1xuICBsb2dnaW5nLmRlYnVnKGAke2ZpbGV9ICR7YXJncy5qb2luKFwiIFwiKX0gKGN3ZDogJHtvcHRpb25zLmN3ZH0pYCk7XG5cbiAgY2hpbGRfcHJvY2Vzcy5leGVjRmlsZVN5bmMoZmlsZSwgYXJncywge1xuICAgIC4uLnNwYXduT3B0cyhvcHRpb25zKSxcbiAgICAvLyBCeSBkZWZhdWx0IHRoZSBjaGlsZCdzIHN0ZG91dCBpcyByZWRpcmVjdGVkIHRvIFNUREVSUiAodG8ga2VlcCB0aGVcbiAgICAvLyBwYXJlbnQncyBTVERPVVQgY2xlYW4pIGFuZCBpdHMgU1RERVJSIGlzIHBpcGVkIHNvIGl0IHN1cmZhY2VzIGluXG4gICAgLy8gZXhjZXB0aW9ucy4gYGluaGVyaXRTdGRpb2AgaW5zdGVhZCBzdHJlYW1zIGJvdGggc3RyYWlnaHQgdG8gdGhlIHBhcmVudC5cbiAgICBzdGRpbzogb3B0aW9ucy5pbmhlcml0U3RkaW8gPyBcImluaGVyaXRcIiA6IFtcImluaGVyaXRcIiwgMiwgXCJwaXBlXCJdLFxuICB9KTtcbn1cblxuLyoqXG4gKiBSdW5zIGEgcHJvZ3JhbSBhbmQgcmV0dXJucyBpdHMgdHJpbW1lZCBTVERPVVQgKG9yIFNURE9VVCtTVERFUlIgaW50ZXJsZWF2ZWRcbiAqIGluIHRoZWlyIG9yaWdpbmFsIHdyaXRlIG9yZGVyLCBpZiBgY2FwdHVyZVN0ZGVycmAgaXMgc2V0KS4gVGhyb3dzIGlmIHRoZVxuICogY29tbWFuZCBleGl0cyB3aXRoIGEgbm9uLXplcm8gc3RhdHVzLlxuICovXG5mdW5jdGlvbiBjYXB0dXJlKFxuICBmaWxlOiBzdHJpbmcsXG4gIGFyZ3M6IHN0cmluZ1tdLFxuICBvcHRpb25zOiBFeGVjRmlsZU9wdGlvbnMsXG4pOiBzdHJpbmcge1xuICBsb2dnaW5nLmRlYnVnKGAke2ZpbGV9ICR7YXJncy5qb2luKFwiIFwiKX0gKGN3ZDogJHtvcHRpb25zLmN3ZH0pYCk7XG5cbiAgaWYgKG9wdGlvbnMuY2FwdHVyZVN0ZGVycikge1xuICAgIC8vIFNhbWUgZmQgZm9yIGJvdGggc3RyZWFtcyBzbyB0aGV5IGludGVybGVhdmUgaW4gd3JpdGUgb3JkZXIuIEEgc2hhcmVkXG4gICAgLy8gaW4tbWVtb3J5IFdyaXRhYmxlIHdvbid0IHdvcmsgaGVyZSAtIGV4ZWNGaWxlU3luYyBvbmx5IGFjY2VwdHMgc3RkaW9cbiAgICAvLyBzdHJlYW1zIGJhY2tlZCBieSBhIHJlYWwgZmQgKHR0eS9maWxlL3NvY2tldC9waXBlKS5cbiAgICBjb25zdCBjb21iaW5lZEZpbGUgPSBwYXRoLmpvaW4oXG4gICAgICBmcy5ta2R0ZW1wU3luYyhwYXRoLmpvaW4ob3MudG1wZGlyKCksIFwicHJvamVuLWNhcHR1cmUtXCIpKSxcbiAgICAgIFwib3V0cHV0XCIsXG4gICAgKTtcbiAgICBjb25zdCBmZCA9IGZzLm9wZW5TeW5jKGNvbWJpbmVkRmlsZSwgXCJ3K1wiKTtcbiAgICB0cnkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY2hpbGRfcHJvY2Vzcy5leGVjRmlsZVN5bmMoZmlsZSwgYXJncywge1xuICAgICAgICAgIC4uLnNwYXduT3B0cyhvcHRpb25zKSxcbiAgICAgICAgICBzdGRpbzogW1wiaW5oZXJpdFwiLCBmZCwgZmRdLFxuICAgICAgICB9KTtcbiAgICAgIH0gY2F0Y2ggKGU6IGFueSkge1xuICAgICAgICAvLyBtaXJyb3JzIGV4ZWNGaWxlU3luYydzIG93biBiZWhhdmlvciBvZiBhdHRhY2hpbmcgb3V0cHV0IHRvIHRoZSBlcnJvclxuICAgICAgICBlLnN0ZG91dCA9IGZzLnJlYWRGaWxlU3luYyhjb21iaW5lZEZpbGUpO1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZzLnJlYWRGaWxlU3luYyhjb21iaW5lZEZpbGUsIFwidXRmLThcIikudHJpbSgpO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBmcy5jbG9zZVN5bmMoZmQpO1xuICAgICAgZnMucm1TeW5jKHBhdGguZGlybmFtZShjb21iaW5lZEZpbGUpLCB7IHJlY3Vyc2l2ZTogdHJ1ZSwgZm9yY2U6IHRydWUgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIGNoaWxkX3Byb2Nlc3NcbiAgICAuZXhlY0ZpbGVTeW5jKGZpbGUsIGFyZ3MsIHtcbiAgICAgIC4uLnNwYXduT3B0cyhvcHRpb25zKSxcbiAgICAgIHN0ZGlvOiBbXCJpbmhlcml0XCIsIFwicGlwZVwiLCBcInBpcGVcIl0sIC8vIFwicGlwZVwiIGZvciBTVERFUlIgbWVhbnMgaXQgYXBwZWFycyBpbiBleGNlcHRpb25zXG4gICAgfSlcbiAgICAudG9TdHJpbmcoXCJ1dGYtOFwiKVxuICAgIC50cmltKCk7XG59XG5cbi8qKlxuICogUnVucyBhIHByb2dyYW0gYW5kIHJldHVybnMgaXRzIHRyaW1tZWQgU1RET1VUIChvciBTVERPVVQrU1RERVJSIGludGVybGVhdmVkXG4gKiBpbiB0aGVpciBvcmlnaW5hbCB3cml0ZSBvcmRlciwgaWYgYGNhcHR1cmVTdGRlcnJgIGlzIHNldCksIG9yIGB1bmRlZmluZWRgXG4gKiBpZiB0aGUgY29tbWFuZCBmYWlsZWQgb3IgcHJvZHVjZWQgbm8gb3V0cHV0LlxuICovXG5mdW5jdGlvbiB0cnlDYXB0dXJlKFxuICBmaWxlOiBzdHJpbmcsXG4gIGFyZ3M6IHN0cmluZ1tdLFxuICBvcHRpb25zOiBFeGVjRmlsZU9wdGlvbnMsXG4pOiBzdHJpbmcgfCB1bmRlZmluZWQge1xuICB0cnkge1xuICAgIGNvbnN0IHZhbHVlID0gY2FwdHVyZShmaWxlLCBhcmdzLCBvcHRpb25zKTtcblxuICAgIC8vIGFuIGVtcHR5IHN0cmluZyBpcyB0aGUgc2FtZSBhcyB1bmRlZmluZWRcbiAgICByZXR1cm4gdmFsdWUgfHwgdW5kZWZpbmVkO1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gdW5kZWZpbmVkO1xuICB9XG59XG5cbi8qKlxuICogQSBzaGVsbC1mcmVlIGhhbmRsZSBmb3IgaW52b2tpbmcgYSBzaW5nbGUgcHJvZ3JhbSBieSBuYW1lIG9yIHBhdGguXG4gKlxuICogRWFjaCBhcmd1bWVudCBpcyBwYXNzZWQgdG8gdGhlIHByb2dyYW0gdmVyYmF0aW0gKG5vIHNoZWxsIHBhcnNpbmcpLCBzbyB0aGVyZVxuICogaXMgbm8gcXVvdGluZyB0byBnZXQgcmlnaHQgZm9yIHZhbHVlcyBzdWNoIGFzIHRhZ3MsIHZlcnNpb25zLCBicmFuY2ggbmFtZXNcbiAqIG9yIGZpbGUgcGF0aHMuXG4gKlxuICogTm90ZTogdGhlIHByb2dyYW0gaXMgZXhlY3V0ZWQgZGlyZWN0bHksIHdpdGhvdXQgYSBzaGVsbC4gT24gV2luZG93cyB0aGlzXG4gKiBtZWFucyBpdCBtdXN0IGJlIGEgcmVhbCBleGVjdXRhYmxlIC0gYC5jbWRgL2AuYmF0YCBzaGltcyAoc3VjaCBhc1xuICogbnBtLWluc3RhbGxlZCBDTElzIGxpa2UgbnBtL25weC95YXJuL3BucG0pIGNhbm5vdCBiZSBpbnZva2VkIHRoaXMgd2F5LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRvb2wge1xuICAvKipcbiAgICogUnVucyBgPHRvb2w+IDxhcmdzPmAsIGluaGVyaXRpbmcgc3Rkb3V0LiBUaHJvd3Mgb24gbm9uLXplcm8gZXhpdC5cbiAgICovXG4gIHJ1bihhcmdzOiBzdHJpbmdbXSwgb3B0aW9uczogUnVuT3B0aW9ucyk6IHZvaWQ7XG5cbiAgLyoqXG4gICAqIFJ1bnMgYDx0b29sPiA8YXJncz5gIGFuZCByZXR1cm5zIGl0cyB0cmltbWVkIFNURE9VVC4gVGhyb3dzIG9uIG5vbi16ZXJvIGV4aXQuXG4gICAqL1xuICBjYXB0dXJlKGFyZ3M6IHN0cmluZ1tdLCBvcHRpb25zOiBFeGVjRmlsZU9wdGlvbnMpOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIFJ1bnMgYDx0b29sPiA8YXJncz5gIGFuZCByZXR1cm5zIGl0cyB0cmltbWVkIFNURE9VVCwgb3IgYHVuZGVmaW5lZGAgaWYgdGhlXG4gICAqIGNvbW1hbmQgZmFpbGVkIG9yIHByb2R1Y2VkIG5vIG91dHB1dC5cbiAgICovXG4gIHRyeUNhcHR1cmUoYXJnczogc3RyaW5nW10sIG9wdGlvbnM6IEV4ZWNGaWxlT3B0aW9ucyk6IHN0cmluZyB8IHVuZGVmaW5lZDtcbn1cblxuLyoqXG4gKiBDcmVhdGVzIGEgc2hlbGwtZnJlZSB7QGxpbmsgVG9vbH0gZm9yIHRoZSBnaXZlbiBwcm9ncmFtLlxuICpcbiAqIEBleGFtcGxlIGNvbnN0IGdpdCA9IHRvb2woXCJnaXRcIik7IGdpdC5ydW4oW1widGFnXCIsIFwiLS1kZWxldGVcIiwgdGFnXSwgeyBjd2QgfSk7XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b29sKGZpbGU6IHN0cmluZyk6IFRvb2wge1xuICByZXR1cm4ge1xuICAgIHJ1bjogKGFyZ3MsIG9wdGlvbnMpID0+IHJ1bihmaWxlLCBhcmdzLCBvcHRpb25zKSxcbiAgICBjYXB0dXJlOiAoYXJncywgb3B0aW9ucykgPT4gY2FwdHVyZShmaWxlLCBhcmdzLCBvcHRpb25zKSxcbiAgICB0cnlDYXB0dXJlOiAoYXJncywgb3B0aW9ucykgPT4gdHJ5Q2FwdHVyZShmaWxlLCBhcmdzLCBvcHRpb25zKSxcbiAgfTtcbn1cblxuLyoqXG4gKiBTaGVsbC1mcmVlIGhlbHBlciBmb3IgaW52b2tpbmcgYGdpdGAuXG4gKlxuICogQGV4YW1wbGUgZ2l0LnJ1bihbXCJ0YWdcIiwgXCItLWRlbGV0ZVwiLCB0YWddLCB7IGN3ZCB9KTtcbiAqL1xuZXhwb3J0IGNvbnN0IGdpdCA9IHRvb2woXCJnaXRcIik7XG5cbi8qKlxuICogU2hlbGwtZnJlZSBoZWxwZXIgZm9yIGludm9raW5nIGB1dmAgKHNoaXBzIGFzIGEgbmF0aXZlIGJpbmFyeSBvbiBhbGxcbiAqIHBsYXRmb3JtcykuXG4gKi9cbmV4cG9ydCBjb25zdCB1diA9IHRvb2woXCJ1dlwiKTtcblxuLyoqXG4gKiBTaGVsbC1mcmVlIGhlbHBlciBmb3IgaW52b2tpbmcgYHBvZXRyeWAuXG4gKi9cbmV4cG9ydCBjb25zdCBwb2V0cnkgPSB0b29sKFwicG9ldHJ5XCIpO1xuXG4vKipcbiAqIFNoZWxsLWZyZWUgaGVscGVyIGZvciBpbnZva2luZyB0aGUgY3VycmVudCBOb2RlLmpzIGV4ZWN1dGFibGVcbiAqIChgcHJvY2Vzcy5leGVjUGF0aGApLlxuICovXG5leHBvcnQgY29uc3Qgbm9kZSA9IHRvb2wocHJvY2Vzcy5leGVjUGF0aCk7XG5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENyb3NzLXBsYXRmb3JtIGV4ZWN1dGlvbiB2aWEgZGF4IChmb3IgYmluYXJpZXMgdGhhdCBtYXkgYmUgYC5jbWRgIHNoaW1zKS5cbi8vXG4vLyBgdG9vbGAgYWJvdmUgdXNlcyBgZXhlY0ZpbGVTeW5jYCB3aXRoIGBzaGVsbDogZmFsc2VgLCB3aGljaCBjYW5ub3QgbGF1bmNoXG4vLyBXaW5kb3dzIGAuY21kYC9gLmJhdGAgc2hpbXMgc3VjaCBhcyBgbnB4YCBvciBgbnBtYC4gYHNoaW1Ub29sYCBydW5zIHRocm91Z2hcbi8vIGRheCwgd2hpY2ggcmVzb2x2ZXMgdGhvc2Ugc2hpbXMgY3Jvc3MtcGxhdGZvcm0uIEFyZ3VtZW50cyBhcmUgaW50ZXJwb2xhdGVkXG4vLyB0aHJvdWdoIGRheCdzIGVzY2FwaW5nIChOT1QgYCQucmF3YCksIHNvIGVhY2ggdmFsdWUgaXMgcGFzc2VkIGFzIGEgc2luZ2xlXG4vLyBsaXRlcmFsIGFyZ3VtZW50IHdpdGggbm8gcXVvdGluZyB0byBnZXQgcmlnaHQuIGRheCBpcyBhc3luY2hyb25vdXMsIHNvXG4vLyB0aGVzZSBoZWxwZXJzIGFyZSBvbmx5IHVzYWJsZSBmcm9tIGFzeW5jIGNhbGwgc2l0ZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG5cbi8qKlxuICogQXN5bmMsIGRheC1iYWNrZWQgZXF1aXZhbGVudCBvZiB7QGxpbmsgVG9vbH0gZm9yIHByb2dyYW1zIHRoYXQgbWF5IGJlIGFcbiAqIFdpbmRvd3MgYC5jbWRgL2AuYmF0YCBzaGltIChlLmcuIGBucHhgLCBgbnBtYCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXN5bmNUb29sIHtcbiAgLyoqXG4gICAqIFJ1bnMgYDx0b29sPiA8YXJncz5gLCBpbmhlcml0aW5nIHN0ZG91dC4gUmVqZWN0cyBvbiBub24temVybyBleGl0LlxuICAgKi9cbiAgcnVuKGFyZ3M6IHN0cmluZ1tdLCBvcHRpb25zOiBFeGVjRmlsZU9wdGlvbnMpOiBQcm9taXNlPHZvaWQ+O1xuXG4gIC8qKlxuICAgKiBSdW5zIGA8dG9vbD4gPGFyZ3M+YCBhbmQgcmVzb2x2ZXMgaXRzIHRyaW1tZWQgU1RET1VULiBSZWplY3RzIG9uIG5vbi16ZXJvXG4gICAqIGV4aXQuXG4gICAqL1xuICBjYXB0dXJlKGFyZ3M6IHN0cmluZ1tdLCBvcHRpb25zOiBFeGVjRmlsZU9wdGlvbnMpOiBQcm9taXNlPHN0cmluZz47XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiB7QGxpbmsgQXN5bmNUb29sfSB0aGF0IGludm9rZXMgYGZpbGVgIHZpYSBkYXgsIHJlc29sdmluZyBXaW5kb3dzXG4gKiBgLmNtZGAvYC5iYXRgIHNoaW1zIGFuZCBlc2NhcGluZyBldmVyeSBhcmd1bWVudCAoc28gZWFjaCB2YWx1ZSBpcyBwYXNzZWQgYXNcbiAqIGEgc2luZ2xlIGxpdGVyYWwgYXJndW1lbnQpLlxuICpcbiAqIEBleGFtcGxlIGF3YWl0IG5weC5ydW4oW1wiY29tbWl0LWFuZC10YWctdmVyc2lvbkBeMTJcIl0sIHsgY3dkIH0pO1xuICovXG5mdW5jdGlvbiBzaGltVG9vbChmaWxlOiBzdHJpbmcpOiBBc3luY1Rvb2wge1xuICBjb25zdCBidWlsZCA9IChhcmdzOiBzdHJpbmdbXSwgb3B0aW9uczogRXhlY0ZpbGVPcHRpb25zKSA9PiB7XG4gICAgY29uc3QgY21kID0gJGAke2ZpbGV9ICR7YXJnc31gLmN3ZChvcHRpb25zLmN3ZCkuc3RkZXJyKFwicGlwZWRcIikubm9UaHJvdygpO1xuICAgIHJldHVybiBvcHRpb25zLmVudiA/IGNtZC5lbnYob3B0aW9ucy5lbnYpIDogY21kO1xuICB9O1xuICBjb25zdCBlbnN1cmVPayA9IChcbiAgICBhcmdzOiBzdHJpbmdbXSxcbiAgICByZXN1bHQ6IHsgY29kZTogbnVtYmVyOyBzdGRlcnI6IHN0cmluZyB9LFxuICApID0+IHtcbiAgICBpZiAocmVzdWx0LmNvZGUgIT09IDApIHtcbiAgICAgIC8vIE1pbWljIHRoZSBgY2hpbGRfcHJvY2Vzc2AgZXJyb3Igc2hhcGUgKGBzdGF0dXNgLCBgc3RkZXJyYCkgc28gY2FsbGVyc1xuICAgICAgLy8gY2FuIGluc3BlY3Qgc3RkZXJyIChlLmcuIHRvIGRldGVjdCBFTk9FTlQvRTQwNCBmcm9tIG5wbSkuXG4gICAgICBjb25zdCBlcnJvcjogYW55ID0gbmV3IEVycm9yKFxuICAgICAgICBgQ29tbWFuZCBmYWlsZWQgKGV4aXQgY29kZSAke3Jlc3VsdC5jb2RlfSk6ICR7ZmlsZX0gJHthcmdzLmpvaW4oXCIgXCIpfWAsXG4gICAgICApO1xuICAgICAgZXJyb3Iuc3RhdHVzID0gcmVzdWx0LmNvZGU7XG4gICAgICBlcnJvci5zdGRlcnIgPSBCdWZmZXIuZnJvbShyZXN1bHQuc3RkZXJyKTtcbiAgICAgIHRocm93IGVycm9yO1xuICAgIH1cbiAgfTtcbiAgcmV0dXJuIHtcbiAgICBydW46IGFzeW5jIChhcmdzLCBvcHRpb25zKSA9PiB7XG4gICAgICBsb2dnaW5nLmRlYnVnKGAke2ZpbGV9ICR7YXJncy5qb2luKFwiIFwiKX0gKGN3ZDogJHtvcHRpb25zLmN3ZH0pYCk7XG4gICAgICBlbnN1cmVPayhhcmdzLCBhd2FpdCBidWlsZChhcmdzLCBvcHRpb25zKSk7XG4gICAgfSxcbiAgICBjYXB0dXJlOiBhc3luYyAoYXJncywgb3B0aW9ucykgPT4ge1xuICAgICAgbG9nZ2luZy5kZWJ1ZyhgJHtmaWxlfSAke2FyZ3Muam9pbihcIiBcIil9IChjd2Q6ICR7b3B0aW9ucy5jd2R9KWApO1xuICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgYnVpbGQoYXJncywgb3B0aW9ucykuc3Rkb3V0KFwicGlwZWRcIik7XG4gICAgICBlbnN1cmVPayhhcmdzLCByZXN1bHQpO1xuICAgICAgcmV0dXJuIHJlc3VsdC5zdGRvdXQudHJpbSgpO1xuICAgIH0sXG4gIH07XG59XG5cbi8qKlxuICogQ3Jvc3MtcGxhdGZvcm0gaGVscGVyIGZvciBgbnBtYCAoYSBXaW5kb3dzIGAuY21kYCBzaGltKS5cbiAqL1xuZXhwb3J0IGNvbnN0IG5wbSA9IHNoaW1Ub29sKFwibnBtXCIpO1xuXG4vKipcbiAqIENyb3NzLXBsYXRmb3JtIGhlbHBlciBmb3IgYG5weGAgKGEgV2luZG93cyBgLmNtZGAgc2hpbSkuXG4gKi9cbmV4cG9ydCBjb25zdCBucHggPSBzaGltVG9vbChcIm5weFwiKTtcblxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmF3U2hlbGw6IGFyYml0cmFyeSBzaGVsbCBjb21tYW5kIHN0cmluZ3MgKHZpYSBkYXgsIGNyb3NzLXBsYXRmb3JtKS5cbi8vXG4vLyBUaGlzIHJ1bnMgYW4gb3BhcXVlIGNvbW1hbmQgKnN0cmluZyogdGhyb3VnaCBkYXgncyBjcm9zcy1wbGF0Zm9ybSBzaGVsbFxuLy8gKGluY2wuIFdpbmRvd3MpLiBUaGUgY29tbWFuZCBpcyBwYXJzZWQgYnkgYSBzaGVsbCBhcy1pcywgc28gaXQgaXMgbWVhbnQgZm9yXG4vLyBhcmJpdHJhcnkgY29tbWFuZCBsaW5lcyB0aGF0IGNhbm5vdCBiZSBleHByZXNzZWQgYXMgYSBmaXhlZCBiaW5hcnkgcGx1cyBhXG4vLyBsaXN0IG9mIGFyZ3VtZW50cywgZS5nLiBhIHJlbGVhc2UncyBgbmV4dFZlcnNpb25Db21tYW5kYCBvclxuLy8gYFJlbGVhc2FibGVDb21taXRzLmV4ZWMoKWAgKGFuZCBwcm9qZW4ncyBvd24gZ2VuZXJhdGVkIGBSZWxlYXNhYmxlQ29tbWl0c2Bcbi8vIHF1ZXJpZXMpLiBGb3IgZXZlcnl0aGluZyBlbHNlIHByZWZlciB0aGUgc3RydWN0dXJlZCBgdG9vbGAvYGdpdGAgaGVscGVyc1xuLy8gKG9yIGBzaGltVG9vbGAgZm9yIGAuY21kYCBzaGltcyksIHdoaWNoIHRha2UgYW4gZXhwbGljaXQgbGlzdCBvZiBhcmd1bWVudHMuXG4vL1xuLy8gYCQucmF3YCBpcyByZXF1aXJlZCBoZXJlIChhbmQgb25seSBoZXJlKTogdGhlIGlucHV0IGlzIGFuIG9wYXF1ZSBjb21tYW5kXG4vLyBsaW5lLCBzbyBpdCBtdXN0IGJlIHBhcnNlZCBieSBhIHNoZWxsLiBkYXggcHJvdmlkZXMgdGhhdCBzaGVsbCBvbiBldmVyeVxuLy8gcGxhdGZvcm0sIGluY2x1ZGluZyBXaW5kb3dzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuXG5leHBvcnQgY29uc3QgcmF3U2hlbGwgPSB7XG4gIC8qKlxuICAgKiBSdW5zIGEgdXNlci1zdXBwbGllZCBzaGVsbCBjb21tYW5kIGxpbmUgYW5kIHJlc29sdmVzIGl0cyB0cmltbWVkXG4gICAqIFNURE9VVC4gUmVqZWN0cyBpZiB0aGUgY29tbWFuZCBleGl0cyBub24temVyby5cbiAgICovXG4gIGNhcHR1cmU6IGFzeW5jIChcbiAgICBjb21tYW5kOiBzdHJpbmcsXG4gICAgb3B0aW9uczogeyBjd2Q6IHN0cmluZzsgZW52PzogUmVjb3JkPHN0cmluZywgc3RyaW5nPiB9LFxuICApOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICAgIGxvZ2dpbmcuZGVidWcoYCR7Y29tbWFuZH0gKGN3ZDogJHtvcHRpb25zLmN3ZH0pYCk7XG4gICAgY29uc3QgY21kID0gJC5yYXdgJHtjb21tYW5kfWAuY3dkKG9wdGlvbnMuY3dkKTtcbiAgICByZXR1cm4gKG9wdGlvbnMuZW52ID8gY21kLmVudihvcHRpb25zLmVudikgOiBjbWQpLnRleHQoKTtcbiAgfSxcblxuICAvKipcbiAgICogUnVucyBhIHVzZXItc3VwcGxpZWQgc2hlbGwgY29tbWFuZCBsaW5lIGFuZCByZXNvbHZlcyBpdHMgdHJpbW1lZFxuICAgKiBTVERPVVQsIG9yIGB1bmRlZmluZWRgIGlmIHRoZSBjb21tYW5kIGZhaWxlZCBvciBwcm9kdWNlZCBubyBvdXRwdXQuXG4gICAqL1xuICB0cnlDYXB0dXJlOiBhc3luYyAoXG4gICAgY29tbWFuZDogc3RyaW5nLFxuICAgIG9wdGlvbnM6IHsgY3dkOiBzdHJpbmc7IGVudj86IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gfSxcbiAgKTogUHJvbWlzZTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0+IHtcbiAgICBsb2dnaW5nLmRlYnVnKGAke2NvbW1hbmR9IChjd2Q6ICR7b3B0aW9ucy5jd2R9KWApO1xuICAgIGxldCBjbWQgPSAkLnJhd2Ake2NvbW1hbmR9YC5jd2Qob3B0aW9ucy5jd2QpLm5vVGhyb3coKS5zdGRvdXQoXCJwaXBlZFwiKTtcbiAgICBpZiAob3B0aW9ucy5lbnYpIHtcbiAgICAgIGNtZCA9IGNtZC5lbnYob3B0aW9ucy5lbnYpO1xuICAgIH1cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBjbWQ7XG4gICAgaWYgKHJlc3VsdC5jb2RlICE9PSAwKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgICBjb25zdCBvdXQgPSByZXN1bHQuc3Rkb3V0LnRyaW0oKTtcbiAgICByZXR1cm4gb3V0IHx8IHVuZGVmaW5lZDtcbiAgfSxcbn07XG5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHN5c3RlbVNoZWxsOiB0aGUgb3BlcmF0aW5nIHN5c3RlbSdzIG5hdGl2ZSBzaGVsbC5cbi8vXG4vLyBSdW5zIGFuIG9wYXF1ZSBjb21tYW5kIHN0cmluZyB0aHJvdWdoIHRoZSBPUyBkZWZhdWx0IHNoZWxsIChgL2Jpbi9zaGAgb25cbi8vIFBPU0lYLCBgY21kLmV4ZWAgb24gV2luZG93cykgdmlhIGBjaGlsZF9wcm9jZXNzYCB3aXRoIGBzaGVsbDogdHJ1ZWAuIFRoaXNcbi8vIGJhY2tzIHRoZSBgXCJAc3lzdGVtXCJgIHRhc2sgc2hlbGwsIHdoaWNoIGxldHMgYSB0YXNrIG9wdCBvdXQgb2YgdGhlIGJ1aWx0LWluXG4vLyBjcm9zcy1wbGF0Zm9ybSBzaGVsbCBhbmQgdXNlIHRoZSBob3N0J3MgbmF0aXZlIHNoZWxsIGluc3RlYWQuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG5cbi8qKlxuICogTm9ybWFsaXplZCByZXN1bHQgb2YgcnVubmluZyBhIGNvbW1hbmQgdGhyb3VnaCB0aGUgc3lzdGVtIHNoZWxsIChhIHN1YnNldCBvZlxuICogbm9kZSdzIGBTcGF3blN5bmNSZXR1cm5zYCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3lzdGVtU2hlbGxSZXN1bHQge1xuICAvKiogRXhpdCBjb2RlLCBvciBgbnVsbGAgaWYgdGVybWluYXRlZCBieSBhIHNpZ25hbCBvciBuZXZlciBzcGF3bmVkLiAqL1xuICByZWFkb25seSBzdGF0dXM6IG51bWJlciB8IG51bGw7XG4gIC8qKiBDYXB0dXJlZCBzdGRvdXQsIG9yIGBudWxsYCB3aGVuIHN0ZG91dCB3YXMgaW5oZXJpdGVkLiAqL1xuICByZWFkb25seSBzdGRvdXQ6IEJ1ZmZlciB8IG51bGw7XG4gIC8qKiBDYXB0dXJlZCBzdGRlcnIsIG9yIGBudWxsYCB3aGVuIHN0ZGVyciB3YXMgaW5oZXJpdGVkLiAqL1xuICByZWFkb25seSBzdGRlcnI6IEJ1ZmZlciB8IG51bGw7XG4gIC8qKiBBbiBlcnJvciByYWlzZWQgd2hpbGUgYXR0ZW1wdGluZyB0byBzcGF3biAobm90IGEgbm9uLXplcm8gZXhpdCkuICovXG4gIHJlYWRvbmx5IGVycm9yPzogRXJyb3I7XG59XG5cbi8qKlxuICogUnVucyBhIGNvbW1hbmQgbGluZSB0aHJvdWdoIHRoZSBvcGVyYXRpbmcgc3lzdGVtJ3MgZGVmYXVsdCBzaGVsbCAoYC9iaW4vc2hgXG4gKiBvbiBQT1NJWCwgYGNtZC5leGVgIG9uIFdpbmRvd3MpLiBOZXZlciB0aHJvd3MgZm9yIGEgbm9uLXplcm8gZXhpdCAodGhhdCBpc1xuICogcmVwb3J0ZWQgdmlhIGBzdGF0dXNgKTsgYSBzcGF3biBmYWlsdXJlIGlzIHJlcG9ydGVkIHZpYSBgZXJyb3JgLiBUaGUgY2FsbGVyXG4gKiBzdXBwbGllcyB0aGUgZnVsbCBgZW52YC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN5c3RlbVNoZWxsKFxuICBjb21tYW5kOiBzdHJpbmcsXG4gIG9wdGlvbnM6IHsgY3dkOiBzdHJpbmc7IGVudj86IE5vZGVKUy5Qcm9jZXNzRW52OyBjYXB0dXJlPzogYm9vbGVhbiB9LFxuKTogU3lzdGVtU2hlbGxSZXN1bHQge1xuICBsb2dnaW5nLmRlYnVnKGAke2NvbW1hbmR9IChjd2Q6ICR7b3B0aW9ucy5jd2R9KWApO1xuICBjb25zdCByZXN1bHQgPSBjaGlsZF9wcm9jZXNzLnNwYXduU3luYyhjb21tYW5kLCB7XG4gICAgY3dkOiBvcHRpb25zLmN3ZCxcbiAgICBzaGVsbDogdHJ1ZSxcbiAgICBtYXhCdWZmZXI6IE1BWF9CVUZGRVIsXG4gICAgZW52OiBvcHRpb25zLmVudixcbiAgICAvLyBcInBpcGVcIiBmb3IgU1RERVJSICh3aGVuIGNhcHR1cmluZykgbWVhbnMgaXQgYXBwZWFycyBpbiBleGNlcHRpb25zLlxuICAgIHN0ZGlvOiBvcHRpb25zLmNhcHR1cmUgPyBbXCJpbmhlcml0XCIsIFwicGlwZVwiLCBcInBpcGVcIl0gOiBcImluaGVyaXRcIixcbiAgfSk7XG4gIHJldHVybiB7XG4gICAgc3RhdHVzOiByZXN1bHQuc3RhdHVzLFxuICAgIHN0ZG91dDogcmVzdWx0LnN0ZG91dCA/PyBudWxsLFxuICAgIHN0ZGVycjogcmVzdWx0LnN0ZGVyciA/PyBudWxsLFxuICAgIGVycm9yOiByZXN1bHQuZXJyb3IsXG4gIH07XG59XG4iXX0=
|
|
198
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXhlYy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2V4ZWMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBK0xBLG9CQU1DO0FBck1ELDZEQUErQztBQUMvQyx1Q0FBeUI7QUFDekIsdUNBQXlCO0FBQ3pCLDJDQUE2QjtBQUM3Qiw2QkFBd0I7QUFDeEIsb0RBQXNDO0FBRXpCLFFBQUEsVUFBVSxHQUFHLEVBQUUsR0FBRyxJQUFJLEdBQUcsSUFBSSxDQUFDO0FBd0QzQyxTQUFTLFNBQVMsQ0FBQyxPQUF3QjtJQUN6QyxPQUFPO1FBQ0wsU0FBUyxFQUFFLGtCQUFVO1FBQ3JCLEdBQUcsRUFBRSxPQUFPLENBQUMsR0FBRztRQUNoQixHQUFHLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLFNBQVM7UUFDakUsMERBQTBEO1FBQzFELEtBQUssRUFBRSxLQUFjO0tBQ3RCLENBQUM7QUFDSixDQUFDO0FBRUQ7OztHQUdHO0FBQ0gsU0FBUyxHQUFHLENBQUMsSUFBWSxFQUFFLElBQWMsRUFBRSxPQUFtQjtJQUM1RCxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsT0FBTyxDQUFDLEdBQUcsR0FBRyxDQUFDLENBQUM7SUFFakUsYUFBYSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1FBQ3JDLEdBQUcsU0FBUyxDQUFDLE9BQU8sQ0FBQztRQUNyQixxRUFBcUU7UUFDckUsbUVBQW1FO1FBQ25FLDBFQUEwRTtRQUMxRSxLQUFLLEVBQUUsT0FBTyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFD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QUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGNoaWxkX3Byb2Nlc3MgZnJvbSBcImNoaWxkX3Byb2Nlc3NcIjtcbmltcG9ydCAqIGFzIGZzIGZyb20gXCJmc1wiO1xuaW1wb3J0ICogYXMgb3MgZnJvbSBcIm9zXCI7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gXCJwYXRoXCI7XG5pbXBvcnQgeyAkIH0gZnJvbSBcImRheFwiO1xuaW1wb3J0ICogYXMgbG9nZ2luZyBmcm9tIFwiLi4vbG9nZ2luZ1wiO1xuXG5leHBvcnQgY29uc3QgTUFYX0JVRkZFUiA9IDEwICogMTAyNCAqIDEwMjQ7XG5cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNoZWxsLWZyZWUgZXhlY3V0aW9uIChleGVjRmlsZVN5bmMsIHNoZWxsOiBmYWxzZSkuXG4vL1xuLy8gVGhlIHByb2dyYW0gYW5kIGVhY2ggYXJndW1lbnQgYXJlIHBhc3NlZCB0byB0aGUgT1MgZGlyZWN0bHkgd2l0aG91dCBnb2luZ1xuLy8gdGhyb3VnaCBhIHNoZWxsLCBzbyB0aGVyZSBpcyBubyBxdW90aW5nIHRvIGdldCByaWdodCBhbmQgbm8gZGlmZmVyZW5jZXNcbi8vIGJldHdlZW4gcGxhdGZvcm0gc2hlbGxzIHRvIGFjY291bnQgZm9yIHdoZW4gY29tbWFuZHMgaW5jbHVkZSB2YWx1ZXMgZGVyaXZlZFxuLy8gZnJvbSBmaWxlcywgZ2l0IG91dHB1dCwgY29uZmlndXJhdGlvbiwgZXRjLlxuLy9cbi8vIE9ubHkgcGVyLXRvb2wgaGVscGVycyBhcmUgZXhwb3J0ZWQgKGUuZy4gYGdpdGApOyB0aGUgZ2VuZXJpYyBwcmltaXRpdmVzIGFyZVxuLy8ga2VwdCBwcml2YXRlIHNvIGNhbGwgc2l0ZXMgYXJlIGV4cGxpY2l0IGFib3V0IHdoaWNoIHRvb2wgdGhleSBpbnZva2UuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG5cbi8qKlxuICogT3B0aW9ucyBmb3Igc2hlbGwtZnJlZSBjb21tYW5kIGV4ZWN1dGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBFeGVjRmlsZU9wdGlvbnMge1xuICAvKipcbiAgICogV29ya2luZyBkaXJlY3RvcnkgZm9yIHRoZSBjb21tYW5kLlxuICAgKi9cbiAgcmVhZG9ubHkgY3dkOiBzdHJpbmc7XG5cbiAgLyoqXG4gICAqIEFkZGl0aW9uYWwgZW52aXJvbm1lbnQgdmFyaWFibGVzLCBtZXJnZWQgb24gdG9wIG9mIGBwcm9jZXNzLmVudmAuXG4gICAqL1xuICByZWFkb25seSBlbnY/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmcgfCB1bmRlZmluZWQ+O1xuXG4gIC8qKlxuICAgKiBGb3IgYGNhcHR1cmVgL2B0cnlDYXB0dXJlYDogaW50ZXJsZWF2ZSBTVERFUlIgaW50byB0aGUgY2FwdHVyZWQgb3V0cHV0XG4gICAqIGluc3RlYWQgb2Ygb25seSBjYXB0dXJpbmcgU1RET1VULlxuICAgKlxuICAgKiBAZGVmYXVsdCBmYWxzZVxuICAgKi9cbiAgcmVhZG9ubHkgY2FwdHVyZVN0ZGVycj86IGJvb2xlYW47XG59XG5cbi8qKlxuICogT3B0aW9ucyBmb3Ige0BsaW5rIFRvb2wucnVufS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSdW5PcHRpb25zIGV4dGVuZHMgRXhlY0ZpbGVPcHRpb25zIHtcbiAgLyoqXG4gICAqIFN0cmVhbSB0aGUgY2hpbGQncyBzdGRvdXQgYW5kIHN0ZGVyciBzdHJhaWdodCB0byB0aGUgcGFyZW50J3Mgc3Rkb3V0IGFuZFxuICAgKiBzdGRlcnIgKGZ1bGwgaW5oZXJpdGFuY2UpLCBpbnN0ZWFkIG9mIHJlZGlyZWN0aW5nIHN0ZG91dCB0byBzdGRlcnIgYW5kXG4gICAqIGNhcHR1cmluZyBzdGRlcnIgKHRoZSBkZWZhdWx0KS5cbiAgICpcbiAgICogVXNlIHRoaXMgd2hlbiBsYXVuY2hpbmcgYSBjaGlsZCBwcm9jZXNzIHdob3NlIHN0ZG91dCBpcyBtZWFuaW5nZnVsIGFuZFxuICAgKiB3aG9zZSBvdXRwdXQgc2hvdWxkIHN0cmVhbSBsaXZlIHRvIHRoZSB1c2VyIChlLmcuIHRoZSBwcm9qZW4gQ0xJKS5cbiAgICpcbiAgICogQGRlZmF1bHQgZmFsc2VcbiAgICovXG4gIHJlYWRvbmx5IGluaGVyaXRTdGRpbz86IGJvb2xlYW47XG59XG5cbmZ1bmN0aW9uIHNwYXduT3B0cyhvcHRpb25zOiBFeGVjRmlsZU9wdGlvbnMpIHtcbiAgcmV0dXJuIHtcbiAgICBtYXhCdWZmZXI6IE1BWF9CVUZGRVIsXG4gICAgY3dkOiBvcHRpb25zLmN3ZCxcbiAgICBlbnY6IG9wdGlvbnMuZW52ID8geyAuLi5wcm9jZXNzLmVudiwgLi4ub3B0aW9ucy5lbnYgfSA6IHVuZGVmaW5lZCxcbiAgICAvLyBydW4gdGhlIHByb2dyYW0gZGlyZWN0bHksIHdpdGhvdXQgZ29pbmcgdGhyb3VnaCBhIHNoZWxsXG4gICAgc2hlbGw6IGZhbHNlIGFzIGNvbnN0LFxuICB9O1xufVxuXG4vKipcbiAqIFJ1bnMgYSBwcm9ncmFtIHdpdGggdGhlIGdpdmVuIGFyZ3VtZW50cywgaW5oZXJpdGluZyBzdGRvdXQuIFRocm93cyBpZiB0aGVcbiAqIGNvbW1hbmQgZXhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy5cbiAqL1xuZnVuY3Rpb24gcnVuKGZpbGU6IHN0cmluZywgYXJnczogc3RyaW5nW10sIG9wdGlvbnM6IFJ1bk9wdGlvbnMpOiB2b2lkIHtcbiAgbG9nZ2luZy5kZWJ1ZyhgJHtmaWxlfSAke2FyZ3Muam9pbihcIiBcIil9IChjd2Q6ICR7b3B0aW9ucy5jd2R9KWApO1xuXG4gIGNoaWxkX3Byb2Nlc3MuZXhlY0ZpbGVTeW5jKGZpbGUsIGFyZ3MsIHtcbiAgICAuLi5zcGF3bk9wdHMob3B0aW9ucyksXG4gICAgLy8gQnkgZGVmYXVsdCB0aGUgY2hpbGQncyBzdGRvdXQgaXMgcmVkaXJlY3RlZCB0byBTVERFUlIgKHRvIGtlZXAgdGhlXG4gICAgLy8gcGFyZW50J3MgU1RET1VUIGNsZWFuKSBhbmQgaXRzIFNUREVSUiBpcyBwaXBlZCBzbyBpdCBzdXJmYWNlcyBpblxuICAgIC8vIGV4Y2VwdGlvbnMuIGBpbmhlcml0U3RkaW9gIGluc3RlYWQgc3RyZWFtcyBib3RoIHN0cmFpZ2h0IHRvIHRoZSBwYXJlbnQuXG4gICAgc3RkaW86IG9wdGlvbnMuaW5oZXJpdFN0ZGlvID8gXCJpbmhlcml0XCIgOiBbXCJpbmhlcml0XCIsIDIsIFwicGlwZVwiXSxcbiAgfSk7XG59XG5cbi8qKlxuICogUnVucyBhIHByb2dyYW0gYW5kIHJldHVybnMgaXRzIHRyaW1tZWQgU1RET1VUIChvciBTVERPVVQrU1RERVJSIGludGVybGVhdmVkXG4gKiBpbiB0aGVpciBvcmlnaW5hbCB3cml0ZSBvcmRlciwgaWYgYGNhcHR1cmVTdGRlcnJgIGlzIHNldCkuIFRocm93cyBpZiB0aGVcbiAqIGNvbW1hbmQgZXhpdHMgd2l0aCBhIG5vbi16ZXJvIHN0YXR1cy5cbiAqL1xuZnVuY3Rpb24gY2FwdHVyZShcbiAgZmlsZTogc3RyaW5nLFxuICBhcmdzOiBzdHJpbmdbXSxcbiAgb3B0aW9uczogRXhlY0ZpbGVPcHRpb25zLFxuKTogc3RyaW5nIHtcbiAgbG9nZ2luZy5kZWJ1ZyhgJHtmaWxlfSAke2FyZ3Muam9pbihcIiBcIil9IChjd2Q6ICR7b3B0aW9ucy5jd2R9KWApO1xuXG4gIGlmIChvcHRpb25zLmNhcHR1cmVTdGRlcnIpIHtcbiAgICAvLyBTYW1lIGZkIGZvciBib3RoIHN0cmVhbXMgc28gdGhleSBpbnRlcmxlYXZlIGluIHdyaXRlIG9yZGVyLiBBIHNoYXJlZFxuICAgIC8vIGluLW1lbW9yeSBXcml0YWJsZSB3b24ndCB3b3JrIGhlcmUgLSBleGVjRmlsZVN5bmMgb25seSBhY2NlcHRzIHN0ZGlvXG4gICAgLy8gc3RyZWFtcyBiYWNrZWQgYnkgYSByZWFsIGZkICh0dHkvZmlsZS9zb2NrZXQvcGlwZSkuXG4gICAgY29uc3QgY29tYmluZWRGaWxlID0gcGF0aC5qb2luKFxuICAgICAgZnMubWtkdGVtcFN5bmMocGF0aC5qb2luKG9zLnRtcGRpcigpLCBcInByb2plbi1jYXB0dXJlLVwiKSksXG4gICAgICBcIm91dHB1dFwiLFxuICAgICk7XG4gICAgY29uc3QgZmQgPSBmcy5vcGVuU3luYyhjb21iaW5lZEZpbGUsIFwidytcIik7XG4gICAgdHJ5IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNoaWxkX3Byb2Nlc3MuZXhlY0ZpbGVTeW5jKGZpbGUsIGFyZ3MsIHtcbiAgICAgICAgICAuLi5zcGF3bk9wdHMob3B0aW9ucyksXG4gICAgICAgICAgc3RkaW86IFtcImluaGVyaXRcIiwgZmQsIGZkXSxcbiAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlOiBhbnkpIHtcbiAgICAgICAgLy8gbWlycm9ycyBleGVjRmlsZVN5bmMncyBvd24gYmVoYXZpb3Igb2YgYXR0YWNoaW5nIG91dHB1dCB0byB0aGUgZXJyb3JcbiAgICAgICAgZS5zdGRvdXQgPSBmcy5yZWFkRmlsZVN5bmMoY29tYmluZWRGaWxlKTtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBmcy5yZWFkRmlsZVN5bmMoY29tYmluZWRGaWxlLCBcInV0Zi04XCIpLnRyaW0oKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgZnMuY2xvc2VTeW5jKGZkKTtcbiAgICAgIGZzLnJtU3luYyhwYXRoLmRpcm5hbWUoY29tYmluZWRGaWxlKSwgeyByZWN1cnNpdmU6IHRydWUsIGZvcmNlOiB0cnVlIH0pO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBjaGlsZF9wcm9jZXNzXG4gICAgLmV4ZWNGaWxlU3luYyhmaWxlLCBhcmdzLCB7XG4gICAgICAuLi5zcGF3bk9wdHMob3B0aW9ucyksXG4gICAgICBzdGRpbzogW1wiaW5oZXJpdFwiLCBcInBpcGVcIiwgXCJwaXBlXCJdLCAvLyBcInBpcGVcIiBmb3IgU1RERVJSIG1lYW5zIGl0IGFwcGVhcnMgaW4gZXhjZXB0aW9uc1xuICAgIH0pXG4gICAgLnRvU3RyaW5nKFwidXRmLThcIilcbiAgICAudHJpbSgpO1xufVxuXG4vKipcbiAqIFJ1bnMgYSBwcm9ncmFtIGFuZCByZXR1cm5zIGl0cyB0cmltbWVkIFNURE9VVCAob3IgU1RET1VUK1NUREVSUiBpbnRlcmxlYXZlZFxuICogaW4gdGhlaXIgb3JpZ2luYWwgd3JpdGUgb3JkZXIsIGlmIGBjYXB0dXJlU3RkZXJyYCBpcyBzZXQpLCBvciBgdW5kZWZpbmVkYFxuICogaWYgdGhlIGNvbW1hbmQgZmFpbGVkIG9yIHByb2R1Y2VkIG5vIG91dHB1dC5cbiAqL1xuZnVuY3Rpb24gdHJ5Q2FwdHVyZShcbiAgZmlsZTogc3RyaW5nLFxuICBhcmdzOiBzdHJpbmdbXSxcbiAgb3B0aW9uczogRXhlY0ZpbGVPcHRpb25zLFxuKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgdHJ5IHtcbiAgICBjb25zdCB2YWx1ZSA9IGNhcHR1cmUoZmlsZSwgYXJncywgb3B0aW9ucyk7XG5cbiAgICAvLyBhbiBlbXB0eSBzdHJpbmcgaXMgdGhlIHNhbWUgYXMgdW5kZWZpbmVkXG4gICAgcmV0dXJuIHZhbHVlIHx8IHVuZGVmaW5lZDtcbiAgfSBjYXRjaCB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxufVxuXG4vKipcbiAqIEEgc2hlbGwtZnJlZSBoYW5kbGUgZm9yIGludm9raW5nIGEgc2luZ2xlIHByb2dyYW0gYnkgbmFtZSBvciBwYXRoLlxuICpcbiAqIEVhY2ggYXJndW1lbnQgaXMgcGFzc2VkIHRvIHRoZSBwcm9ncmFtIHZlcmJhdGltIChubyBzaGVsbCBwYXJzaW5nKSwgc28gdGhlcmVcbiAqIGlzIG5vIHF1b3RpbmcgdG8gZ2V0IHJpZ2h0IGZvciB2YWx1ZXMgc3VjaCBhcyB0YWdzLCB2ZXJzaW9ucywgYnJhbmNoIG5hbWVzXG4gKiBvciBmaWxlIHBhdGhzLlxuICpcbiAqIE5vdGU6IHRoZSBwcm9ncmFtIGlzIGV4ZWN1dGVkIGRpcmVjdGx5LCB3aXRob3V0IGEgc2hlbGwuIE9uIFdpbmRvd3MgdGhpc1xuICogbWVhbnMgaXQgbXVzdCBiZSBhIHJlYWwgZXhlY3V0YWJsZSAtIGAuY21kYC9gLmJhdGAgc2hpbXMgKHN1Y2ggYXNcbiAqIG5wbS1pbnN0YWxsZWQgQ0xJcyBsaWtlIG5wbS9ucHgveWFybi9wbnBtKSBjYW5ub3QgYmUgaW52b2tlZCB0aGlzIHdheS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUb29sIHtcbiAgLyoqXG4gICAqIFJ1bnMgYDx0b29sPiA8YXJncz5gLCBpbmhlcml0aW5nIHN0ZG91dC4gVGhyb3dzIG9uIG5vbi16ZXJvIGV4aXQuXG4gICAqL1xuICBydW4oYXJnczogc3RyaW5nW10sIG9wdGlvbnM6IFJ1bk9wdGlvbnMpOiB2b2lkO1xuXG4gIC8qKlxuICAgKiBSdW5zIGA8dG9vbD4gPGFyZ3M+YCBhbmQgcmV0dXJucyBpdHMgdHJpbW1lZCBTVERPVVQuIFRocm93cyBvbiBub24temVybyBleGl0LlxuICAgKi9cbiAgY2FwdHVyZShhcmdzOiBzdHJpbmdbXSwgb3B0aW9uczogRXhlY0ZpbGVPcHRpb25zKTogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBSdW5zIGA8dG9vbD4gPGFyZ3M+YCBhbmQgcmV0dXJucyBpdHMgdHJpbW1lZCBTVERPVVQsIG9yIGB1bmRlZmluZWRgIGlmIHRoZVxuICAgKiBjb21tYW5kIGZhaWxlZCBvciBwcm9kdWNlZCBubyBvdXRwdXQuXG4gICAqL1xuICB0cnlDYXB0dXJlKGFyZ3M6IHN0cmluZ1tdLCBvcHRpb25zOiBFeGVjRmlsZU9wdGlvbnMpOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhIHNoZWxsLWZyZWUge0BsaW5rIFRvb2x9IGZvciB0aGUgZ2l2ZW4gcHJvZ3JhbS5cbiAqXG4gKiBAZXhhbXBsZSBjb25zdCBnaXQgPSB0b29sKFwiZ2l0XCIpOyBnaXQucnVuKFtcInRhZ1wiLCBcIi0tZGVsZXRlXCIsIHRhZ10sIHsgY3dkIH0pO1xuICovXG5leHBvcnQgZnVuY3Rpb24gdG9vbChmaWxlOiBzdHJpbmcpOiBUb29sIHtcbiAgcmV0dXJuIHtcbiAgICBydW46IChhcmdzLCBvcHRpb25zKSA9PiBydW4oZmlsZSwgYXJncywgb3B0aW9ucyksXG4gICAgY2FwdHVyZTogKGFyZ3MsIG9wdGlvbnMpID0+IGNhcHR1cmUoZmlsZSwgYXJncywgb3B0aW9ucyksXG4gICAgdHJ5Q2FwdHVyZTogKGFyZ3MsIG9wdGlvbnMpID0+IHRyeUNhcHR1cmUoZmlsZSwgYXJncywgb3B0aW9ucyksXG4gIH07XG59XG5cbi8qKlxuICogU2hlbGwtZnJlZSBoZWxwZXIgZm9yIGludm9raW5nIGBnaXRgLlxuICpcbiAqIEBleGFtcGxlIGdpdC5ydW4oW1widGFnXCIsIFwiLS1kZWxldGVcIiwgdGFnXSwgeyBjd2QgfSk7XG4gKi9cbmV4cG9ydCBjb25zdCBnaXQgPSB0b29sKFwiZ2l0XCIpO1xuXG4vKipcbiAqIFNoZWxsLWZyZWUgaGVscGVyIGZvciBpbnZva2luZyBgdXZgIChzaGlwcyBhcyBhIG5hdGl2ZSBiaW5hcnkgb24gYWxsXG4gKiBwbGF0Zm9ybXMpLlxuICovXG5leHBvcnQgY29uc3QgdXYgPSB0b29sKFwidXZcIik7XG5cbi8qKlxuICogU2hlbGwtZnJlZSBoZWxwZXIgZm9yIGludm9raW5nIGBwb2V0cnlgLlxuICovXG5leHBvcnQgY29uc3QgcG9ldHJ5ID0gdG9vbChcInBvZXRyeVwiKTtcblxuLyoqXG4gKiBTaGVsbC1mcmVlIGhlbHBlciBmb3IgaW52b2tpbmcgdGhlIGN1cnJlbnQgTm9kZS5qcyBleGVjdXRhYmxlXG4gKiAoYHByb2Nlc3MuZXhlY1BhdGhgKS5cbiAqL1xuZXhwb3J0IGNvbnN0IG5vZGUgPSB0b29sKHByb2Nlc3MuZXhlY1BhdGgpO1xuXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDcm9zcy1wbGF0Zm9ybSBleGVjdXRpb24gdmlhIGRheCAoZm9yIGJpbmFyaWVzIHRoYXQgbWF5IGJlIGAuY21kYCBzaGltcykuXG4vL1xuLy8gYHRvb2xgIGFib3ZlIHVzZXMgYGV4ZWNGaWxlU3luY2Agd2l0aCBgc2hlbGw6IGZhbHNlYCwgd2hpY2ggY2Fubm90IGxhdW5jaFxuLy8gV2luZG93cyBgLmNtZGAvYC5iYXRgIHNoaW1zIHN1Y2ggYXMgYG5weGAgb3IgYG5wbWAuIGBzaGltVG9vbGAgcnVucyB0aHJvdWdoXG4vLyBkYXgsIHdoaWNoIHJlc29sdmVzIHRob3NlIHNoaW1zIGNyb3NzLXBsYXRmb3JtLiBBcmd1bWVudHMgYXJlIGludGVycG9sYXRlZFxuLy8gdGhyb3VnaCBkYXgncyBlc2NhcGluZyAoTk9UIGAkLnJhd2ApLCBzbyBlYWNoIHZhbHVlIGlzIHBhc3NlZCBhcyBhIHNpbmdsZVxuLy8gbGl0ZXJhbCBhcmd1bWVudCB3aXRoIG5vIHF1b3RpbmcgdG8gZ2V0IHJpZ2h0LiBkYXggaXMgYXN5bmNocm9ub3VzLCBzb1xuLy8gdGhlc2UgaGVscGVycyBhcmUgb25seSB1c2FibGUgZnJvbSBhc3luYyBjYWxsIHNpdGVzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuXG4vKipcbiAqIEFzeW5jLCBkYXgtYmFja2VkIGVxdWl2YWxlbnQgb2Yge0BsaW5rIFRvb2x9IGZvciBwcm9ncmFtcyB0aGF0IG1heSBiZSBhXG4gKiBXaW5kb3dzIGAuY21kYC9gLmJhdGAgc2hpbSAoZS5nLiBgbnB4YCwgYG5wbWApLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEFzeW5jVG9vbCB7XG4gIC8qKlxuICAgKiBSdW5zIGA8dG9vbD4gPGFyZ3M+YCwgaW5oZXJpdGluZyBzdGRvdXQuIFJlamVjdHMgb24gbm9uLXplcm8gZXhpdC5cbiAgICovXG4gIHJ1bihhcmdzOiBzdHJpbmdbXSwgb3B0aW9uczogRXhlY0ZpbGVPcHRpb25zKTogUHJvbWlzZTx2b2lkPjtcblxuICAvKipcbiAgICogUnVucyBgPHRvb2w+IDxhcmdzPmAgYW5kIHJlc29sdmVzIGl0cyB0cmltbWVkIFNURE9VVC4gUmVqZWN0cyBvbiBub24temVyb1xuICAgKiBleGl0LlxuICAgKi9cbiAgY2FwdHVyZShhcmdzOiBzdHJpbmdbXSwgb3B0aW9uczogRXhlY0ZpbGVPcHRpb25zKTogUHJvbWlzZTxzdHJpbmc+O1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYW4ge0BsaW5rIEFzeW5jVG9vbH0gdGhhdCBpbnZva2VzIGBmaWxlYCB2aWEgZGF4LCByZXNvbHZpbmcgV2luZG93c1xuICogYC5jbWRgL2AuYmF0YCBzaGltcyBhbmQgZXNjYXBpbmcgZXZlcnkgYXJndW1lbnQgKHNvIGVhY2ggdmFsdWUgaXMgcGFzc2VkIGFzXG4gKiBhIHNpbmdsZSBsaXRlcmFsIGFyZ3VtZW50KS5cbiAqXG4gKiBAZXhhbXBsZSBhd2FpdCBucHgucnVuKFtcImNvbW1pdC1hbmQtdGFnLXZlcnNpb25AXjEyXCJdLCB7IGN3ZCB9KTtcbiAqL1xuZnVuY3Rpb24gc2hpbVRvb2woZmlsZTogc3RyaW5nKTogQXN5bmNUb29sIHtcbiAgY29uc3QgYnVpbGQgPSAoYXJnczogc3RyaW5nW10sIG9wdGlvbnM6IEV4ZWNGaWxlT3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGNtZCA9ICRgJHtmaWxlfSAke2FyZ3N9YC5jd2Qob3B0aW9ucy5jd2QpLnN0ZGVycihcInBpcGVkXCIpLm5vVGhyb3coKTtcbiAgICByZXR1cm4gb3B0aW9ucy5lbnYgPyBjbWQuZW52KG9wdGlvbnMuZW52KSA6IGNtZDtcbiAgfTtcbiAgY29uc3QgZW5zdXJlT2sgPSAoXG4gICAgYXJnczogc3RyaW5nW10sXG4gICAgcmVzdWx0OiB7IGNvZGU6IG51bWJlcjsgc3RkZXJyOiBzdHJpbmcgfSxcbiAgKSA9PiB7XG4gICAgaWYgKHJlc3VsdC5jb2RlICE9PSAwKSB7XG4gICAgICAvLyBNaW1pYyB0aGUgYGNoaWxkX3Byb2Nlc3NgIGVycm9yIHNoYXBlIChgc3RhdHVzYCwgYHN0ZGVycmApIHNvIGNhbGxlcnNcbiAgICAgIC8vIGNhbiBpbnNwZWN0IHN0ZGVyciAoZS5nLiB0byBkZXRlY3QgRU5PRU5UL0U0MDQgZnJvbSBucG0pLlxuICAgICAgY29uc3QgZXJyb3I6IGFueSA9IG5ldyBFcnJvcihcbiAgICAgICAgYENvbW1hbmQgZmFpbGVkIChleGl0IGNvZGUgJHtyZXN1bHQuY29kZX0pOiAke2ZpbGV9ICR7YXJncy5qb2luKFwiIFwiKX1gLFxuICAgICAgKTtcbiAgICAgIGVycm9yLnN0YXR1cyA9IHJlc3VsdC5jb2RlO1xuICAgICAgZXJyb3Iuc3RkZXJyID0gQnVmZmVyLmZyb20ocmVzdWx0LnN0ZGVycik7XG4gICAgICB0aHJvdyBlcnJvcjtcbiAgICB9XG4gIH07XG4gIHJldHVybiB7XG4gICAgcnVuOiBhc3luYyAoYXJncywgb3B0aW9ucykgPT4ge1xuICAgICAgbG9nZ2luZy5kZWJ1ZyhgJHtmaWxlfSAke2FyZ3Muam9pbihcIiBcIil9IChjd2Q6ICR7b3B0aW9ucy5jd2R9KWApO1xuICAgICAgZW5zdXJlT2soYXJncywgYXdhaXQgYnVpbGQoYXJncywgb3B0aW9ucykpO1xuICAgIH0sXG4gICAgY2FwdHVyZTogYXN5bmMgKGFyZ3MsIG9wdGlvbnMpID0+IHtcbiAgICAgIGxvZ2dpbmcuZGVidWcoYCR7ZmlsZX0gJHthcmdzLmpvaW4oXCIgXCIpfSAoY3dkOiAke29wdGlvbnMuY3dkfSlgKTtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IGJ1aWxkKGFyZ3MsIG9wdGlvbnMpLnN0ZG91dChcInBpcGVkXCIpO1xuICAgICAgZW5zdXJlT2soYXJncywgcmVzdWx0KTtcbiAgICAgIHJldHVybiByZXN1bHQuc3Rkb3V0LnRyaW0oKTtcbiAgICB9LFxuICB9O1xufVxuXG4vKipcbiAqIENyb3NzLXBsYXRmb3JtIGhlbHBlciBmb3IgYG5wbWAgKGEgV2luZG93cyBgLmNtZGAgc2hpbSkuXG4gKi9cbmV4cG9ydCBjb25zdCBucG0gPSBzaGltVG9vbChcIm5wbVwiKTtcblxuLyoqXG4gKiBDcm9zcy1wbGF0Zm9ybSBoZWxwZXIgZm9yIGBucHhgIChhIFdpbmRvd3MgYC5jbWRgIHNoaW0pLlxuICovXG5leHBvcnQgY29uc3QgbnB4ID0gc2hpbVRvb2woXCJucHhcIik7XG4iXX0=
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Runs a builtin's async body, exiting non-zero on failure. Prints the error's
|
|
3
|
+
* stack when available, otherwise its message/string form - dax parse errors
|
|
4
|
+
* are not `Error` instances and have no `.stack`, so a naive `console.log(e.stack)`
|
|
5
|
+
* would print a bare "undefined".
|
|
6
|
+
*/
|
|
7
|
+
export declare function runBuiltin(body: () => Promise<void>): void;
|
|
8
|
+
/** Returns a required env var, throwing a clear error when it is missing. */
|
|
9
|
+
export declare function requireEnv(name: string): string;
|
|
10
|
+
/** Parses an optional integer env var, throwing when it is set but not a number. */
|
|
11
|
+
export declare function intEnv(name: string): number | undefined;
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Small helpers shared by the release builtin task entrypoints
|
|
3
|
+
// (`resolve-tag`, `decide-bump-type`, `apply-bump`).
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.runBuiltin = runBuiltin;
|
|
6
|
+
exports.requireEnv = requireEnv;
|
|
7
|
+
exports.intEnv = intEnv;
|
|
8
|
+
/**
|
|
9
|
+
* Runs a builtin's async body, exiting non-zero on failure. Prints the error's
|
|
10
|
+
* stack when available, otherwise its message/string form - dax parse errors
|
|
11
|
+
* are not `Error` instances and have no `.stack`, so a naive `console.log(e.stack)`
|
|
12
|
+
* would print a bare "undefined".
|
|
13
|
+
*/
|
|
14
|
+
function runBuiltin(body) {
|
|
15
|
+
body().catch((e) => {
|
|
16
|
+
const err = e;
|
|
17
|
+
console.error(err?.stack ?? err?.message ?? String(e));
|
|
18
|
+
process.exit(1);
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
/** Returns a required env var, throwing a clear error when it is missing. */
|
|
22
|
+
function requireEnv(name) {
|
|
23
|
+
const value = process.env[name];
|
|
24
|
+
if (!value) {
|
|
25
|
+
throw new Error(`${name} is required`);
|
|
26
|
+
}
|
|
27
|
+
return value;
|
|
28
|
+
}
|
|
29
|
+
/** Parses an optional integer env var, throwing when it is set but not a number. */
|
|
30
|
+
function intEnv(name) {
|
|
31
|
+
const raw = process.env[name];
|
|
32
|
+
if (raw == null || raw === "") {
|
|
33
|
+
return undefined;
|
|
34
|
+
}
|
|
35
|
+
const value = parseInt(raw, 10);
|
|
36
|
+
if (Number.isNaN(value)) {
|
|
37
|
+
throw new Error(`${name} must be a number: ${raw}`);
|
|
38
|
+
}
|
|
39
|
+
return value;
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGFzay1lbnYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC90YXNrLWVudi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsK0RBQStEO0FBQy9ELHFEQUFxRDs7QUFRckQsZ0NBTUM7QUFHRCxnQ0FNQztBQUdELHdCQVVDO0FBbENEOzs7OztHQUtHO0FBQ0gsU0FBZ0IsVUFBVSxDQUFDLElBQXlCO0lBQ2xELElBQUksRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQVUsRUFBRSxFQUFFO1FBQzFCLE1BQU0sR0FBRyxHQUFHLENBQXlDLENBQUM7UUFDdEQsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsS0FBSyxJQUFJLEdBQUcsRUFBRSxPQUFPLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNsQixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCw2RUFBNkU7QUFDN0UsU0FBZ0IsVUFBVSxDQUFDLElBQVk7SUFDckMsTUFBTSxLQUFLLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDWCxNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxjQUFjLENBQUMsQ0FBQztJQUN6QyxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDO0FBRUQsb0ZBQW9GO0FBQ3BGLFNBQWdCLE1BQU0sQ0FBQyxJQUFZO0lBQ2pDLE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLEdBQUcsS0FBSyxFQUFFLEVBQUUsQ0FBQztRQUM5QixPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDO0lBQ0QsTUFBTSxLQUFLLEdBQUcsUUFBUSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNoQyxJQUFJLE1BQU0sQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztRQUN4QixNQUFNLElBQUksS0FBSyxDQUFDLEdBQUcsSUFBSSxzQkFBc0IsR0FBRyxFQUFFLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBQ0QsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gU21hbGwgaGVscGVycyBzaGFyZWQgYnkgdGhlIHJlbGVhc2UgYnVpbHRpbiB0YXNrIGVudHJ5cG9pbnRzXG4vLyAoYHJlc29sdmUtdGFnYCwgYGRlY2lkZS1idW1wLXR5cGVgLCBgYXBwbHktYnVtcGApLlxuXG4vKipcbiAqIFJ1bnMgYSBidWlsdGluJ3MgYXN5bmMgYm9keSwgZXhpdGluZyBub24temVybyBvbiBmYWlsdXJlLiBQcmludHMgdGhlIGVycm9yJ3NcbiAqIHN0YWNrIHdoZW4gYXZhaWxhYmxlLCBvdGhlcndpc2UgaXRzIG1lc3NhZ2Uvc3RyaW5nIGZvcm0gLSBkYXggcGFyc2UgZXJyb3JzXG4gKiBhcmUgbm90IGBFcnJvcmAgaW5zdGFuY2VzIGFuZCBoYXZlIG5vIGAuc3RhY2tgLCBzbyBhIG5haXZlIGBjb25zb2xlLmxvZyhlLnN0YWNrKWBcbiAqIHdvdWxkIHByaW50IGEgYmFyZSBcInVuZGVmaW5lZFwiLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcnVuQnVpbHRpbihib2R5OiAoKSA9PiBQcm9taXNlPHZvaWQ+KTogdm9pZCB7XG4gIGJvZHkoKS5jYXRjaCgoZTogdW5rbm93bikgPT4ge1xuICAgIGNvbnN0IGVyciA9IGUgYXMgeyBzdGFjaz86IHN0cmluZzsgbWVzc2FnZT86IHN0cmluZyB9O1xuICAgIGNvbnNvbGUuZXJyb3IoZXJyPy5zdGFjayA/PyBlcnI/Lm1lc3NhZ2UgPz8gU3RyaW5nKGUpKTtcbiAgICBwcm9jZXNzLmV4aXQoMSk7XG4gIH0pO1xufVxuXG4vKiogUmV0dXJucyBhIHJlcXVpcmVkIGVudiB2YXIsIHRocm93aW5nIGEgY2xlYXIgZXJyb3Igd2hlbiBpdCBpcyBtaXNzaW5nLiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlcXVpcmVFbnYobmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgY29uc3QgdmFsdWUgPSBwcm9jZXNzLmVudltuYW1lXTtcbiAgaWYgKCF2YWx1ZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBpcyByZXF1aXJlZGApO1xuICB9XG4gIHJldHVybiB2YWx1ZTtcbn1cblxuLyoqIFBhcnNlcyBhbiBvcHRpb25hbCBpbnRlZ2VyIGVudiB2YXIsIHRocm93aW5nIHdoZW4gaXQgaXMgc2V0IGJ1dCBub3QgYSBudW1iZXIuICovXG5leHBvcnQgZnVuY3Rpb24gaW50RW52KG5hbWU6IHN0cmluZyk6IG51bWJlciB8IHVuZGVmaW5lZCB7XG4gIGNvbnN0IHJhdyA9IHByb2Nlc3MuZW52W25hbWVdO1xuICBpZiAocmF3ID09IG51bGwgfHwgcmF3ID09PSBcIlwiKSB7XG4gICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgfVxuICBjb25zdCB2YWx1ZSA9IHBhcnNlSW50KHJhdywgMTApO1xuICBpZiAoTnVtYmVyLmlzTmFOKHZhbHVlKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihgJHtuYW1lfSBtdXN0IGJlIGEgbnVtYmVyOiAke3Jhd31gKTtcbiAgfVxuICByZXR1cm4gdmFsdWU7XG59XG4iXX0=
|
package/lib/version.d.ts
CHANGED
|
@@ -78,6 +78,16 @@ export interface VersionOptions {
|
|
|
78
78
|
export declare class Version extends Component {
|
|
79
79
|
readonly bumpTask: Task;
|
|
80
80
|
readonly unbumpTask: Task;
|
|
81
|
+
/**
|
|
82
|
+
* The task that prints the releasable commits since the latest tag. Spawned
|
|
83
|
+
* by `bump`; its shell can be overridden via `task.shell`.
|
|
84
|
+
*/
|
|
85
|
+
readonly releasableCommitsTask: Task;
|
|
86
|
+
/**
|
|
87
|
+
* The task that runs the user's `nextVersionCommand`, if configured. Spawned
|
|
88
|
+
* by `bump`; its shell can be overridden via `task.shell`.
|
|
89
|
+
*/
|
|
90
|
+
readonly nextVersionTask?: Task;
|
|
81
91
|
/**
|
|
82
92
|
* The name of the changelog file (under `artifactsDirectory`).
|
|
83
93
|
*/
|