Compare commits

...
634 Commits
Author SHA1 Message Date
CrazyMax d7f5e7f509 Merge pull request #489 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.80.0
build(deps): bump @docker/actions-toolkit from 0.79.0 to 0.90.0
2026-05-22 17:20:30 +02:00
github-actions[bot] 92bc5c9777 chore: update generated content 2026-05-22 14:44:02 +00:00
dependabot[bot] da11e35abe build(deps): bump @docker/actions-toolkit from 0.79.0 to 0.90.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.79.0 to 0.90.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.79.0...v0.90.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.80.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 14:43:07 +00:00
CrazyMax f021e162ef Merge pull request #492 from docker/dependabot/npm_and_yarn/undici-6.24.1
build(deps): bump undici from 6.23.0 to 6.25.0
2026-05-22 16:27:32 +02:00
github-actions[bot] b5af94fab7 chore: update generated content 2026-05-22 14:25:23 +00:00
dependabot[bot] 16ad9776a8 build(deps): bump undici from 6.23.0 to 6.25.0
Bumps [undici](https://github.com/nodejs/undici) from 6.23.0 to 6.25.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v6.23.0...v6.25.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 6.24.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 14:24:28 +00:00
CrazyMax d7a12d7df8 Merge pull request #495 from docker/dependabot/npm_and_yarn/glob-10.5.0
build(deps): bump glob from 10.3.12 to 13.0.6
2026-05-22 16:22:24 +02:00
dependabot[bot] 28ff27de4e build(deps): bump glob from 10.3.12 to 13.0.6
Bumps [glob](https://github.com/isaacs/node-glob) from 10.3.12 to 13.0.6.
- [Changelog](https://github.com/isaacs/node-glob/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/node-glob/compare/v10.3.12...v13.0.6)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 10.5.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 14:13:55 +00:00
CrazyMax daf436b50e Merge pull request #496 from docker/dependabot/npm_and_yarn/fast-xml-parser-5.5.7
build(deps): bump fast-xml-parser from 5.4.2 to 5.8.0
2026-05-22 16:11:47 +02:00
github-actions[bot] 9725348367 chore: update generated content 2026-05-22 14:02:14 +00:00
dependabot[bot] 9c83c3bbf7 build(deps): bump fast-xml-parser from 5.4.2 to 5.8.0
Bumps [fast-xml-parser](https://github.com/NaturalIntelligence/fast-xml-parser) from 5.4.2 to 5.8.0.
- [Release notes](https://github.com/NaturalIntelligence/fast-xml-parser/releases)
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-parser/blob/master/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-parser/compare/v5.4.2...v5.8.0)

---
updated-dependencies:
- dependency-name: fast-xml-parser
  dependency-version: 5.5.7
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 14:01:21 +00:00
CrazyMax a7bff31e0d Merge pull request #537 from docker/dependabot/npm_and_yarn/postcss-8.5.10
build(deps): bump postcss from 8.5.6 to 8.5.10
2026-05-22 15:59:07 +02:00
CrazyMax 4cbf3ad466 Merge pull request #540 from docker/dependabot/npm_and_yarn/fast-xml-builder-1.2.0
build(deps): bump fast-xml-builder from 1.0.0 to 1.2.0
2026-05-22 15:58:35 +02:00
github-actions[bot] 86409a147a chore: update generated content 2026-05-22 13:56:13 +00:00
dependabot[bot] d5748ef319 build(deps): bump fast-xml-builder from 1.0.0 to 1.2.0
Bumps [fast-xml-builder](https://github.com/NaturalIntelligence/fast-xml-builder) from 1.0.0 to 1.2.0.
- [Changelog](https://github.com/NaturalIntelligence/fast-xml-builder/blob/main/CHANGELOG.md)
- [Commits](https://github.com/NaturalIntelligence/fast-xml-builder/commits/v1.2.0)

---
updated-dependencies:
- dependency-name: fast-xml-builder
  dependency-version: 1.2.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 13:55:17 +00:00
CrazyMax 2616d3b7dc Merge pull request #547 from docker/dependabot/npm_and_yarn/brace-expansion-5.0.6
build(deps): bump brace-expansion from 2.0.1 to 5.0.6
2026-05-22 15:53:18 +02:00
CrazyMax 5570e8d82c Merge pull request #545 from docker/dependabot/npm_and_yarn/tar-7.5.15
build(deps): bump tar from 6.2.1 to 7.5.15
2026-05-22 15:52:52 +02:00
CrazyMax ec910e868e Merge pull request #542 from docker/dependabot/github_actions/crazy-max-dot-github-6667ecc476
build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-05-22 15:52:21 +02:00
CrazyMax 483dcbe06a Merge pull request #543 from docker/dependabot/github_actions/crazy-max/dot-github-1.8.0
build(deps): bump crazy-max/.github from 1.7.1 to 1.8.0
2026-05-22 15:52:01 +02:00
CrazyMax 9c84435d67 Merge pull request #544 from docker/dependabot/github_actions/actions/create-github-app-token-3.2.0
build(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0
2026-05-22 15:48:09 +02:00
CrazyMax cbee281ad8 Merge pull request #546 from docker/dependabot/github_actions/github/codeql-action-4.35.5
build(deps): bump github/codeql-action from 4.35.2 to 4.35.5
2026-05-22 15:31:01 +02:00
CrazyMax 3d9642b46d Merge pull request #548 from docker/dependabot/github_actions/codecov/codecov-action-6.0.1
build(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1
2026-05-22 15:30:30 +02:00
dependabot[bot] 9ccc9e96da build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.7.1 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.7.1 to 1.8.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-22 04:48:30 +00:00
CrazyMax fe05060e96 Merge pull request #549 from crazy-max/zizmor-fixes
ci: restrict update-dist GitHub App token scope
2026-05-21 14:58:05 +02:00
CrazyMax d717e33d65 ci: restrict update-dist GitHub App token scope
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-05-21 14:27:36 +02:00
dependabot[bot] ad0d96e8d5 build(deps): bump codecov/codecov-action from 6.0.0 to 6.0.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 6.0.0 to 6.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/57e3a136b779b570ffcdbf80b3bdc90e7fab3de2...e79a6962e0d4c0c17b229090214935d2e33f8354)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-20 09:20:55 +00:00
github-actions[bot] 4762b7dac3 chore: update generated content 2026-05-18 16:49:27 +00:00
dependabot[bot] 2cf617d9a1 build(deps): bump brace-expansion from 2.0.1 to 5.0.6
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 2.0.1 to 5.0.6.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v2.0.1...v5.0.6)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 5.0.6
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 16:48:31 +00:00
dependabot[bot] 96e6722598 build(deps): bump github/codeql-action from 4.35.2 to 4.35.5
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.2 to 4.35.5.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/95e58e9a2cdfd71adc6e0353d5c52f41a045d225...9e0d7b8d25671d64c341c19c0152d693099fb5ba)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-18 06:07:17 +00:00
dependabot[bot] 1881fe762c build(deps): bump tar from 6.2.1 to 7.5.15
Bumps [tar](https://github.com/isaacs/node-tar) from 6.2.1 to 7.5.15.
- [Release notes](https://github.com/isaacs/node-tar/releases)
- [Changelog](https://github.com/isaacs/node-tar/blob/main/CHANGELOG.md)
- [Commits](https://github.com/isaacs/node-tar/compare/v6.2.1...v7.5.15)

---
updated-dependencies:
- dependency-name: tar
  dependency-version: 7.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-15 00:47:38 +00:00
dependabot[bot] c5b5f811df build(deps): bump actions/create-github-app-token from 3.1.1 to 3.2.0
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Changelog](https://github.com/actions/create-github-app-token/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/create-github-app-token/compare/1b10c78c7865c340bc4f6099eb2f838309f1e8c3...bcd2ba49218906704ab6c1aa796996da409d3eb1)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-14 04:45:44 +00:00
dependabot[bot] 79eb1053a4 build(deps): bump crazy-max/.github from 1.7.1 to 1.8.0
Bumps [crazy-max/.github](https://github.com/crazy-max/.github) from 1.7.1 to 1.8.0.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16...9ba6e6f9450baf3b1237f8035c1fdc45932510bd)

---
updated-dependencies:
- dependency-name: crazy-max/.github
  dependency-version: 1.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-05-12 09:48:29 +00:00
CrazyMax a0c73a10bb Merge pull request #530 from docker/dependabot/github_actions/github/codeql-action-4.35.2
build(deps): bump github/codeql-action from 4.35.1 to 4.35.2
2026-04-27 09:54:40 +02:00
CrazyMax 1d938f51c0 Merge pull request #531 from docker/dependabot/github_actions/actions/setup-node-6.4.0
build(deps): bump actions/setup-node from 6.3.0 to 6.4.0
2026-04-27 09:54:25 +02:00
CrazyMax d027ca77cb Merge pull request #532 from docker/dependabot/github_actions/crazy-max-dot-github-6f136b1f9e
build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
2026-04-27 09:54:08 +02:00
CrazyMax 2147210a42 Merge pull request #534 from docker/dependabot/github_actions/crazy-max/dot-github-1.7.1
build(deps): bump crazy-max/.github from 1.6.0 to 1.7.1
2026-04-27 09:53:52 +02:00
dependabot[bot] 3f9cfbdc8c build(deps): bump the crazy-max-dot-github group across 1 directory with 2 updates
Bumps the crazy-max-dot-github group with 2 updates in the / directory: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.6.0 to 1.7.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.6.0 to 1.7.1
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.7.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-27 05:02:34 +00:00
dependabot[bot] aee3568347 build(deps): bump postcss from 8.5.6 to 8.5.10
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.6 to 8.5.10.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.6...8.5.10)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.10
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-24 17:41:31 +00:00
Tõnis Tiigi d38a186294 Merge pull request #536 from crazy-max/esbuild
replace ncc with esbuild for action bundling
2026-04-24 10:39:41 -07:00
CrazyMax 62a582dc40 replace ncc with esbuild for action bundling
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-24 11:15:32 +02:00
dependabot[bot] 4c7f61605d build(deps): bump crazy-max/.github from 1.6.0 to 1.7.1
Bumps [crazy-max/.github](https://github.com/crazy-max/.github) from 1.6.0 to 1.7.1.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/d89fe92d808a15e2b2ed5cdb62db7c172c31410d...64a0bfaf6e6bb1c448d6e4c42b11034ee7094f16)

---
updated-dependencies:
- dependency-name: crazy-max/.github
  dependency-version: 1.7.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-23 04:42:08 +00:00
dependabot[bot] 0068a0a10e build(deps): bump actions/setup-node from 6.3.0 to 6.4.0
Bumps [actions/setup-node](https://github.com/actions/setup-node) from 6.3.0 to 6.4.0.
- [Release notes](https://github.com/actions/setup-node/releases)
- [Commits](https://github.com/actions/setup-node/compare/53b83947a5a98c8d113130e565377fae1a50d02f...48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e)

---
updated-dependencies:
- dependency-name: actions/setup-node
  dependency-version: 6.4.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-21 04:42:29 +00:00
dependabot[bot] b6cec68116 build(deps): bump github/codeql-action from 4.35.1 to 4.35.2
Bumps [github/codeql-action](https://github.com/github/codeql-action) from 4.35.1 to 4.35.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/github/codeql-action/compare/c10b8064de6f491fea524254123dbe5e09572f13...95e58e9a2cdfd71adc6e0353d5c52f41a045d225)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 4.35.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-17 04:43:32 +00:00
Tõnis Tiigi 35d5669990 Merge pull request #529 from crazy-max/fix-zizmor
ci(zizmor): update rules
2026-04-15 14:26:03 -07:00
CrazyMax 6a6e95770b ci(zizmor): update rules
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-15 16:02:18 +02:00
CrazyMax b609d6fb2f Merge pull request #499 from docker/dependabot/npm_and_yarn/flatted-3.4.2
build(deps): bump flatted from 3.3.3 to 3.4.2
2026-04-15 12:04:25 +02:00
CrazyMax 549798b6d2 Merge pull request #503 from docker/dependabot/npm_and_yarn/picomatch-4.0.4
build(deps): bump picomatch from 4.0.3 to 4.0.4
2026-04-15 12:04:08 +02:00
CrazyMax ceecdf6ce1 Merge pull request #504 from docker/dependabot/npm_and_yarn/handlebars-4.7.9
build(deps): bump handlebars from 4.7.8 to 4.7.9
2026-04-15 12:03:52 +02:00
CrazyMax 5b64848458 Merge pull request #508 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.13
build(deps): bump brace-expansion from 1.1.12 to 1.1.13
2026-04-15 12:03:36 +02:00
CrazyMax 393ed90307 Merge pull request #520 from docker/dependabot/npm_and_yarn/vite-7.3.2
build(deps): bump vite from 7.3.1 to 7.3.2
2026-04-15 12:03:19 +02:00
CrazyMax 5debd5a897 Merge pull request #523 from docker/dependabot/npm_and_yarn/lodash-4.18.1
build(deps): bump lodash from 4.17.23 to 4.18.1
2026-04-15 12:03:02 +02:00
CrazyMax c087a89bda Merge pull request #525 from docker/dependabot/github_actions/docker/bake-action-7.1.0
build(deps): bump docker/bake-action from 7.0.0 to 7.1.0
2026-04-15 12:02:44 +02:00
CrazyMax 24de66d3bb Merge pull request #526 from docker/dependabot/github_actions/docker/build-push-action-7.1.0
build(deps): bump docker/build-push-action from 7.0.0 to 7.1.0
2026-04-15 12:02:29 +02:00
CrazyMax 6078bf0b87 Merge pull request #527 from docker/dependabot/github_actions/actions/create-github-app-token-3.1.1
build(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1
2026-04-15 12:02:12 +02:00
dependabot[bot] 15848ad661 build(deps): bump actions/create-github-app-token from 3.0.0 to 3.1.1
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 3.0.0 to 3.1.1.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/f8d387b68d61c58ab83c6c016672934102569859...1b10c78c7865c340bc4f6099eb2f838309f1e8c3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 04:58:27 +00:00
dependabot[bot] 09ebfbdaec build(deps): bump docker/build-push-action from 7.0.0 to 7.1.0
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/d08e5c354a6adb9ed34480a06d141179aa583294...bcafcacb16a39f128d818304e6c9c0c18556b85f)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 04:58:23 +00:00
dependabot[bot] 94d99cf28f build(deps): bump docker/bake-action from 7.0.0 to 7.1.0
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 7.0.0 to 7.1.0.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/82490499d2e5613fcead7e128237ef0b0ea210f7...a66e1c87e2eca0503c343edf1d208c716d54b8a8)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: 7.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-13 04:56:51 +00:00
dependabot[bot] 6c3774f2c2 build(deps): bump lodash from 4.17.23 to 4.18.1
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.23 to 4.18.1.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.23...4.18.1)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.18.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 08:24:44 +00:00
CrazyMax ffb3193908 Merge pull request #522 from docker/dependabot/github_actions/crazy-max/dot-github-1.6.0
build(deps): bump crazy-max/.github from 1.3.0 to 1.6.0
2026-04-09 10:22:45 +02:00
CrazyMax a7047bdc60 Merge pull request #521 from docker/dependabot/github_actions/crazy-max-dot-github-f0991e81fd
build(deps): bump the crazy-max-dot-github group with 2 updates
2026-04-09 10:22:28 +02:00
dependabot[bot] ded231e21e build(deps): bump crazy-max/.github from 1.3.0 to 1.6.0
Bumps [crazy-max/.github](https://github.com/crazy-max/.github) from 1.3.0 to 1.6.0.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

---
updated-dependencies:
- dependency-name: crazy-max/.github
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 04:42:44 +00:00
dependabot[bot] 7a1f3899e0 build(deps): bump the crazy-max-dot-github group with 2 updates
Bumps the crazy-max-dot-github group with 2 updates: [crazy-max/.github/.github/workflows/pr-assign-author.yml](https://github.com/crazy-max/.github) and [crazy-max/.github/.github/workflows/zizmor.yml](https://github.com/crazy-max/.github).


Updates `crazy-max/.github/.github/workflows/pr-assign-author.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

Updates `crazy-max/.github/.github/workflows/zizmor.yml` from 1.3.0 to 1.6.0
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/bb328ea508cd6a89d0865555ddbeb148e5724aed...d89fe92d808a15e2b2ed5cdb62db7c172c31410d)

---
updated-dependencies:
- dependency-name: crazy-max/.github/.github/workflows/pr-assign-author.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
- dependency-name: crazy-max/.github/.github/workflows/zizmor.yml
  dependency-version: 1.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
  dependency-group: crazy-max-dot-github
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-09 04:42:21 +00:00
dependabot[bot] 6c6e9daa1f build(deps): bump vite from 7.3.1 to 7.3.2
Bumps [vite](https://github.com/vitejs/vite/tree/HEAD/packages/vite) from 7.3.1 to 7.3.2.
- [Release notes](https://github.com/vitejs/vite/releases)
- [Changelog](https://github.com/vitejs/vite/blob/v7.3.2/packages/vite/CHANGELOG.md)
- [Commits](https://github.com/vitejs/vite/commits/v7.3.2/packages/vite)

---
updated-dependencies:
- dependency-name: vite
  dependency-version: 7.3.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-04-06 21:41:59 +00:00
CrazyMax 21162887f0 Merge pull request #517 from crazy-max/fix-update-dist
ci: stop update-dist reruns after generated dist pushes
2026-04-01 15:08:25 +02:00
CrazyMax af595e0653 ci: stop update-dist reruns after generated dist pushes
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-04-01 13:12:08 +02:00
CrazyMax e35beed76f Merge pull request #512 from docker/dependabot/github_actions/crazy-max/dot-github-1.3.0
build(deps): bump crazy-max/.github from 1.1.0 to 1.3.0
2026-03-31 09:29:31 +02:00
CrazyMax 93182889f4 Merge pull request #515 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-3.0.0
build(deps): bump crazy-max/ghaction-dump-context from 2.3.0 to 3.0.0
2026-03-31 09:29:15 +02:00
CrazyMax 8ff4edde61 Merge pull request #516 from docker/dependabot/github_actions/codecov/codecov-action-6.0.0
build(deps): bump codecov/codecov-action from 5.5.4 to 6.0.0
2026-03-31 09:29:00 +02:00
dependabot[bot] a7da99c89f build(deps): bump codecov/codecov-action from 5.5.4 to 6.0.0
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 5.5.4 to 6.0.0.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/75cd11691c0faa626561e295848008c8a7dddffe...57e3a136b779b570ffcdbf80b3bdc90e7fab3de2)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-version: 6.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:52:37 +00:00
dependabot[bot] 7661380964 build(deps): bump crazy-max/.github from 1.1.0 to 1.3.0
Bumps [crazy-max/.github](https://github.com/crazy-max/.github) from 1.1.0 to 1.3.0.
- [Release notes](https://github.com/crazy-max/.github/releases)
- [Commits](https://github.com/crazy-max/.github/compare/20ef82212dc54bab5749f5e05576ca6d3c8a5773...bb328ea508cd6a89d0865555ddbeb148e5724aed)

---
updated-dependencies:
- dependency-name: crazy-max/.github
  dependency-version: 1.3.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:51:12 +00:00
dependabot[bot] 0dd24c14e2 build(deps): bump crazy-max/ghaction-dump-context from 2.3.0 to 3.0.0
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 2.3.0 to 3.0.0.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/5355a8e5e6ac5a302e746a1c4b7747a0393863c8...5d2753e7076f4568c7729971e25231f32147e2d8)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-31 01:51:08 +00:00
Tõnis Tiigi dae06517fd Merge pull request #514 from crazy-max/zizmor
ci: zizmor workflow
2026-03-30 18:50:14 -07:00
CrazyMax 8072de9b61 fix zizmor findings
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 14:10:53 +02:00
CrazyMax 45439ec47e ci: zizmor workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-30 13:56:10 +02:00
github-actions[bot] 7131b598a3 chore: update generated content 2026-03-27 14:28:29 +00:00
dependabot[bot] 3a0c39cda6 build(deps): bump brace-expansion from 1.1.12 to 1.1.13
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.12 to 1.1.13.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/v1.1.12...v1.1.13)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.13
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 14:27:27 +00:00
dependabot[bot] ee07913914 build(deps): bump handlebars from 4.7.8 to 4.7.9
Bumps [handlebars](https://github.com/handlebars-lang/handlebars.js) from 4.7.8 to 4.7.9.
- [Release notes](https://github.com/handlebars-lang/handlebars.js/releases)
- [Changelog](https://github.com/handlebars-lang/handlebars.js/blob/v4.7.9/release-notes.md)
- [Commits](https://github.com/handlebars-lang/handlebars.js/compare/v4.7.8...v4.7.9)

---
updated-dependencies:
- dependency-name: handlebars
  dependency-version: 4.7.9
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-27 00:14:08 +00:00
dependabot[bot] 3e293d1df5 build(deps): bump picomatch from 4.0.3 to 4.0.4
Bumps [picomatch](https://github.com/micromatch/picomatch) from 4.0.3 to 4.0.4.
- [Release notes](https://github.com/micromatch/picomatch/releases)
- [Changelog](https://github.com/micromatch/picomatch/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/picomatch/compare/4.0.3...4.0.4)

---
updated-dependencies:
- dependency-name: picomatch
  dependency-version: 4.0.4
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-26 07:10:49 +00:00
Tõnis Tiigi 172dff065f Merge pull request #502 from crazy-max/update-crazy-max-action
ci: bump crazy-max/.github to 1.1.0
2026-03-25 10:43:53 -07:00
CrazyMax 7f6e739c6d ci: bump crazy-max/.github to 1.1.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-25 12:39:32 +01:00
dependabot[bot] 97c5b2343a build(deps): bump flatted from 3.3.3 to 3.4.2
Bumps [flatted](https://github.com/WebReflection/flatted) from 3.3.3 to 3.4.2.
- [Commits](https://github.com/WebReflection/flatted/compare/v3.3.3...v3.4.2)

---
updated-dependencies:
- dependency-name: flatted
  dependency-version: 3.4.2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-20 15:59:16 +00:00
CrazyMax d91f340399 Merge pull request #497 from crazy-max/codeql
ci: enable SAST scanning with CodeQL
2026-03-20 16:57:43 +01:00
CrazyMax 3da2ceadbf ci: enable SAST scanning with CodeQL
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-20 11:56:47 +01:00
CrazyMax 8016837eba Merge pull request #493 from docker/dependabot/github_actions/actions/create-github-app-token-3
build(deps): bump actions/create-github-app-token from 2 to 3
2026-03-16 12:46:49 +01:00
dependabot[bot] f4d39becb2 build(deps): bump actions/create-github-app-token from 2 to 3
Bumps [actions/create-github-app-token](https://github.com/actions/create-github-app-token) from 2 to 3.
- [Release notes](https://github.com/actions/create-github-app-token/releases)
- [Commits](https://github.com/actions/create-github-app-token/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/create-github-app-token
  dependency-version: '3'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-16 04:42:17 +00:00
Tõnis Tiigi c8ad1c5d0f Merge pull request #488 from docker/dependabot/github_actions/docker/bake-action-7
build(deps): bump docker/bake-action from 6 to 7
2026-03-09 12:35:58 -07:00
CrazyMax a88b3cd553 ci: switch to matrix subaction
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-06 10:07:33 +01:00
CrazyMax 8f54c6f886 Merge pull request #487 from docker/dependabot/github_actions/docker/build-push-action-7
build(deps): bump docker/build-push-action from 6 to 7
2026-03-06 10:06:19 +01:00
dependabot[bot] 94ba311f39 build(deps): bump docker/bake-action from 6 to 7
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 6 to 7.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 04:42:20 +00:00
dependabot[bot] 7973930601 build(deps): bump docker/build-push-action from 6 to 7
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 6 to 7.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v6...v7)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-06 04:42:15 +00:00
CrazyMax 2ae358d897 Merge pull request #486 from crazy-max/update-readme
readme: update to v4
2026-03-05 09:17:23 +01:00
CrazyMax d586dba768 readme: update to v4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-05 09:09:21 +01:00
CrazyMax 4d04d5d948 Merge pull request #485 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.79.0
build(deps): bump @docker/actions-toolkit from 0.77.0 to 0.79.0
2026-03-05 08:41:24 +01:00
github-actions[bot] cd74e05d9b chore: update generated content 2026-03-05 07:38:34 +00:00
dependabot[bot] eee38ec7b3 build(deps): bump @docker/actions-toolkit from 0.77.0 to 0.79.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.77.0 to 0.79.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.77.0...v0.79.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.79.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 07:37:31 +00:00
CrazyMax 7a83f65b5a Merge pull request #484 from docker/dependabot/github_actions/docker/setup-qemu-action-4
build(deps): bump docker/setup-qemu-action from 3 to 4
2026-03-05 08:35:10 +01:00
CrazyMax a5aa96747d Merge pull request #464 from crazy-max/rm-deprecated
remove deprecated inputs/outputs
2026-03-05 08:34:48 +01:00
dependabot[bot] e73d53fa4e build(deps): bump docker/setup-qemu-action from 3 to 4
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 3 to 4.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-version: '4'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-05 04:42:14 +00:00
Tõnis Tiigi 28a438e9ed Merge pull request #483 from crazy-max/node24
node 24 as default runtime
2026-03-04 17:35:35 -08:00
CrazyMax 034e9d37dd chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 10:00:32 +01:00
CrazyMax b4664d8fd0 remove deprecated inputs/outputs
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 09:07:39 +01:00
CrazyMax a8257dec35 node 24 as default runtime
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-04 09:06:43 +01:00
Tõnis Tiigi 9cd4410b76 Merge pull request #482 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.77.0
build(deps): bump @docker/actions-toolkit from 0.63.0 to 0.77.0
2026-03-03 11:06:49 -08:00
CrazyMax 7064bb6cb0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 14:25:56 +01:00
CrazyMax 57d4a8d20c test: fix missing explicit file extensions in ECMAScript imports
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 14:24:53 +01:00
CrazyMax 0dadf93d54 update buildxInstall.download call since v0.77.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-03 14:24:53 +01:00
dependabot[bot] 1a12f33edd build(deps): bump @docker/actions-toolkit from 0.63.0 to 0.77.0
Dependabot couldn't find the original pull request head commit, a7a0232b4ec28569f7a45b01ebe22471c27d524f.
2026-03-03 13:23:31 +00:00
CrazyMax 1282d41a96 Merge pull request #475 from docker/dependabot/npm_and_yarn/actions/core-3.0.0
build(deps): bump @actions/core from 1.11.1 to 3.0.0
2026-03-03 14:10:36 +01:00
github-actions[bot] 01144634a7 chore: update generated content 2026-03-03 13:08:30 +00:00
dependabot[bot] cb437c6618 build(deps): bump @actions/core from 1.11.1 to 3.0.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.11.1 to 3.0.0.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 13:07:20 +00:00
CrazyMax 4b6c254447 Merge pull request #452 from docker/dependabot/npm_and_yarn/js-yaml-4.1.1
build(deps): bump js-yaml from 4.1.0 to 4.1.1
2026-03-03 14:05:39 +01:00
github-actions[bot] 3d95d526ba chore: update generated content 2026-03-03 12:58:13 +00:00
dependabot[bot] 2231aab25d build(deps): bump js-yaml from 4.1.0 to 4.1.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 12:56:48 +00:00
CrazyMax 483f4842ce Merge pull request #480 from docker/dependabot/npm_and_yarn/minimatch-3.1.3
build(deps): bump minimatch from 3.1.2 to 3.1.5
2026-03-03 13:55:28 +01:00
github-actions[bot] a43d49b256 chore: update generated content 2026-03-03 12:53:59 +00:00
dependabot[bot] 64bf327336 build(deps): bump minimatch from 3.1.2 to 3.1.3
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.1.2 to 3.1.3.
- [Changelog](https://github.com/isaacs/minimatch/blob/main/changelog.md)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.1.2...v3.1.3)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-version: 3.1.3
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-03-03 12:52:48 +00:00
CrazyMax 94782da071 Merge pull request #472 from docker/dependabot/npm_and_yarn/lodash-4.17.23
build(deps): bump lodash from 4.17.21 to 4.17.23
2026-03-03 13:51:10 +01:00
CrazyMax d6c542fbcd Merge pull request #481 from crazy-max/esm
switch to ESM and update config/test wiring
2026-03-03 13:49:55 +01:00
CrazyMax eaf69fbc6f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:45:54 +01:00
CrazyMax f95826b456 dockerfile: fix vendoring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-03-02 09:45:54 +01:00
CrazyMax fb37e2879d update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 10:04:40 +01:00
CrazyMax 099630bcb6 switch to ESM and update config/test wiring
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 10:02:54 +01:00
CrazyMax 70d132ddbe switch from jest to vitest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-02-28 09:58:00 +01:00
CrazyMax 7c525be6cc Merge pull request #476 from crazy-max/update-dist-workflow
ci: update-dist workflow
2026-01-29 20:32:43 +01:00
CrazyMax ca8948fcde ci: update-dist workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-29 16:26:38 +01:00
dependabot[bot] 86fc44fcc0 build(deps): bump lodash from 4.17.21 to 4.17.23
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.21 to 4.17.23.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2026-01-22 00:32:44 +00:00
Tõnis Tiigi c7c4c00f3e Merge pull request #468 from crazy-max/update-dev-deps
update dev dependencies
2026-01-07 16:40:38 -08:00
CrazyMax 7a35da204c chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:40:09 +01:00
CrazyMax d965a53926 update jest config since 30.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:36:50 +01:00
CrazyMax 16c25413c8 migrate eslint config to new format required since 9.0.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:34:48 +01:00
CrazyMax b278ce4ad9 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2026-01-07 15:33:19 +01:00
CrazyMax 8d2750c68a Merge pull request #455 from crazy-max/install-deprecated
deprecate install input
2025-12-16 15:38:02 +01:00
CrazyMax e81846bcc4 deprecate install input
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-12-16 15:36:11 +01:00
CrazyMax 65d18f8f8a Merge pull request #454 from docker/dependabot/github_actions/actions/checkout-6
build(deps): bump actions/checkout from 5 to 6
2025-12-03 11:58:53 +01:00
dependabot[bot] 000d75d273 build(deps): bump actions/checkout from 5 to 6
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-11-21 04:01:09 +00:00
CrazyMax 1583c0f09d Merge pull request #443 from nicolasleger/patch-1
doc: bump actions/checkout from 4 to 5
2025-08-21 10:42:37 +02:00
nicolasleger ed158e7963 doc: bump actions/checkout from 4 to 5
Signed-off-by: nicolasleger <nicolasleger@users.noreply.github.com>
2025-08-21 10:25:06 +02:00
CrazyMax 4cc794f83e Merge pull request #441 from docker/dependabot/github_actions/actions/checkout-5
build(deps): bump actions/checkout from 4 to 5
2025-08-18 13:44:12 +02:00
dependabot[bot] 4dfc3d6c5d build(deps): bump actions/checkout from 4 to 5
Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v4...v5)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '5'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-12 11:37:48 +00:00
CrazyMax af1b253b8d Merge pull request #440 from crazy-max/k3s-build
ci: k3s test with latest buildx
2025-08-11 16:13:23 +02:00
CrazyMax 3c6ab92b04 ci: k3s test with latest buildx
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-08 10:08:33 +02:00
CrazyMax 2c8bcdab54 Merge pull request #439 from crazy-max/fix-yarn-cfg
fix yarn config
2025-08-07 10:39:23 +02:00
CrazyMax 1051acaba6 fix yarn config
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-07 10:23:38 +02:00
CrazyMax e8cd182ec7 Merge pull request #438 from crazy-max/update-yarn
update yarn to 4.9.2
2025-08-07 10:22:33 +02:00
CrazyMax 8c5c87276d update yarn to 4.9.2
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-07 10:20:28 +02:00
CrazyMax 90fa7ac870 Merge pull request #437 from crazy-max/update-dev-deps
update dev dependencies
2025-08-07 10:16:55 +02:00
CrazyMax 7ebadadf6b chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-07 10:15:01 +02:00
CrazyMax ee3eb2f3a4 update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-07 10:10:07 +02:00
CrazyMax c65d441f38 Merge pull request #436 from docker/dependabot/npm_and_yarn/brace-expansion-1.1.12
build(deps): bump brace-expansion from 1.1.11 to 1.1.12
2025-08-06 18:16:03 +02:00
CrazyMax da183f8ca3 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 18:10:56 +02:00
dependabot[bot] f7a6c723e1 build(deps): bump brace-expansion from 1.1.11 to 1.1.12
Bumps [brace-expansion](https://github.com/juliangruber/brace-expansion) from 1.1.11 to 1.1.12.
- [Release notes](https://github.com/juliangruber/brace-expansion/releases)
- [Commits](https://github.com/juliangruber/brace-expansion/compare/1.1.11...v1.1.12)

---
updated-dependencies:
- dependency-name: brace-expansion
  dependency-version: 1.1.12
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 15:41:35 +00:00
CrazyMax 8424fa0070 Merge pull request #435 from docker/dependabot/npm_and_yarn/undici-5.29.0
build(deps): bump undici from 5.28.4 to 5.29.0
2025-08-06 17:39:23 +02:00
CrazyMax c52693d481 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 17:36:57 +02:00
dependabot[bot] 5efa6e34fd build(deps): bump undici from 5.28.4 to 5.29.0
Bumps [undici](https://github.com/nodejs/undici) from 5.28.4 to 5.29.0.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.4...v5.29.0)

---
updated-dependencies:
- dependency-name: undici
  dependency-version: 5.29.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 15:16:14 +00:00
CrazyMax 774224adf6 Merge pull request #434 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.63.0
build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.63.0
2025-08-06 14:53:17 +02:00
CrazyMax 5d221e8956 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-08-06 14:49:38 +02:00
dependabot[bot] 68163b97ca build(deps): bump @docker/actions-toolkit from 0.62.1 to 0.63.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.62.1 to 0.63.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.62.1...v0.63.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.63.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-08-06 12:11:23 +00:00
CrazyMax ae7d6893e8 Merge pull request #432 from docker/dependabot/npm_and_yarn/form-data-2.5.5
build(deps): bump form-data from 2.5.1 to 2.5.5
2025-08-05 18:32:27 +02:00
dependabot[bot] ac3a803dd3 build(deps): bump form-data from 2.5.1 to 2.5.5
Bumps [form-data](https://github.com/form-data/form-data) from 2.5.1 to 2.5.5.
- [Release notes](https://github.com/form-data/form-data/releases)
- [Changelog](https://github.com/form-data/form-data/blob/v2.5.5/CHANGELOG.md)
- [Commits](https://github.com/form-data/form-data/compare/v2.5.1...v2.5.5)

---
updated-dependencies:
- dependency-name: form-data
  dependency-version: 2.5.5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-07-21 23:14:41 +00:00
CrazyMax e468171a9d Merge pull request #429 from crazy-max/fix-keep-state
fix keep-state not being respected
2025-06-18 10:37:30 +02:00
CrazyMax a3e7502fd0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-17 17:34:10 +02:00
CrazyMax b145473295 fix keep-state not being respected
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-17 17:34:10 +02:00
CrazyMax 18ce135bb5 Merge pull request #425 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.62.1
build(deps): bump @docker/actions-toolkit from 0.61.0 to 0.62.1
2025-06-16 14:26:28 +02:00
CrazyMax 0e198e93af chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-14 00:34:03 +02:00
dependabot[bot] 05f3f3ac10 build(deps): bump @docker/actions-toolkit from 0.61.0 to 0.62.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.61.0 to 0.62.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.61.0...v0.62.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.62.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-06-13 22:12:24 +00:00
Tõnis Tiigi 622913496d Merge pull request #427 from crazy-max/keep-state
Keep BuildKit state support
2025-06-13 11:57:41 -07:00
CrazyMax c6f6a07025 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 18:37:56 +02:00
CrazyMax 6c5e29d848 skip builder creation if one already exists with the same name
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 18:37:56 +02:00
CrazyMax 548b297749 ci: keep-state check
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 18:37:56 +02:00
CrazyMax 36590ad0c1 check if driver compatible with keep-state
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-06-13 18:31:37 +02:00
Balaji Arun 4143b5899b Support to retain cache
Signed-off-by: Balaji Arun <balajia@vt.edu>
2025-06-13 18:05:09 +02:00
CrazyMax 3f1544eb9e Merge pull request #139 from hashhar/hashhar/cleanup-aliases
Remove aliases created by buildx when installing by default
2025-05-21 12:04:20 +02:00
CrazyMax f3204bbfac chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-05-21 12:01:07 +02:00
Ashhar Hasan 4ba329ef89 Remove aliases created by buildx when installing by default
If the action is configured to install buildx by default using the
input then docker buildx sets up docker build as an alias for buildx
making all docker build calls use the buildx builder instead of
traditional builders. The action didn't perform cleanup in this case to
uninstall the aliases which meant that any future workflows running on
same GitHub Actions runner would get the buildx builders even if it did
not explicitly request it.

This commit tracks if the aliases were installed and removes them during
post step of the action if so.

Signed-off-by: Ashhar Hasan <hashhar_dev@outlook.com>
2025-05-21 11:59:28 +02:00
CrazyMax e600775e52 Merge pull request #422 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.61.0
build(deps): bump @docker/actions-toolkit from 0.56.0 to 0.61.0
2025-04-24 11:30:53 +02:00
CrazyMax b2b2ffa946 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-24 11:22:25 +02:00
dependabot[bot] fe905840cd build(deps): bump @docker/actions-toolkit from 0.56.0 to 0.61.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.56.0 to 0.61.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.56.0...v0.61.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-version: 0.61.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-04-24 09:02:39 +00:00
CrazyMax 8998bbe94b Merge pull request #420 from crazy-max/pr-assign-author
pr-assign-author workflow
2025-04-23 16:10:00 +02:00
CrazyMax 830833e0c7 pr-assign-author workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-04-23 14:18:49 +02:00
CrazyMax 941183f0a0 Merge pull request #413 from crazy-max/ci-dispatch
ci: add workflow_dispatch event
2025-03-28 10:00:25 +01:00
CrazyMax 311b62b254 ci: add workflow_dispatch event
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-18 15:39:20 +01:00
CrazyMax afeb29a6e0 Merge pull request #411 from crazy-max/test-windows
ci: test container builder on windows
2025-03-12 15:56:50 +01:00
CrazyMax b560416601 Merge pull request #412 from crazy-max/ci-bump-ubuntu
ci: bump to ubuntu-latest
2025-03-12 15:56:34 +01:00
CrazyMax 516bb780e5 ci: bump to ubuntu-latest
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-12 15:49:49 +01:00
CrazyMax 11445527f0 ci: test container builder on windows
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-03-12 15:44:27 +01:00
CrazyMax b5ca514318 Merge pull request #408 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.56.0
build(deps): bump @docker/actions-toolkit from 0.54.0 to 0.56.0
2025-02-26 15:35:00 +01:00
CrazyMax 1418a4ef33 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-26 15:32:43 +01:00
dependabot[bot] 93acf831ce build(deps): bump @docker/actions-toolkit from 0.54.0 to 0.56.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.54.0 to 0.56.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.54.0...v0.56.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-26 14:25:44 +00:00
CrazyMax f7ce87c1d6 Merge pull request #404 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.54.0
build(deps): bump @docker/actions-toolkit from 0.53.0 to 0.54.0
2025-02-06 14:25:21 +01:00
CrazyMax aa1e2a0b49 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-02-06 14:17:41 +01:00
dependabot[bot] 673e008776 build(deps): bump @docker/actions-toolkit from 0.53.0 to 0.54.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.53.0 to 0.54.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.53.0...v0.54.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-02-05 04:05:45 +00:00
CrazyMax ba31df4664 Merge pull request #402 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.53.0
build(deps): bump @docker/actions-toolkit from 0.48.0 to 0.53.0
2025-01-24 10:26:10 +01:00
CrazyMax 5475af18ec chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-24 10:21:34 +01:00
dependabot[bot] acacad903e build(deps): bump @docker/actions-toolkit from 0.48.0 to 0.53.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.48.0 to 0.53.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.48.0...v0.53.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2025-01-24 04:40:58 +00:00
CrazyMax 6a25f988bd Merge pull request #396 from crazy-max/bake-v6
update bake-action to v6
2025-01-08 18:54:07 +01:00
CrazyMax ca1af179f5 update bake-action to v6
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2025-01-08 13:01:31 +01:00
Tõnis Tiigi 6524bf65af Merge pull request #390 from crazy-max/buildx-cloud-latest
make cloud prefix optional to download buildx if driver is cloud
2024-12-12 10:30:19 -08:00
CrazyMax 8d5e0747fc chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 15:39:12 +01:00
CrazyMax 7199e57b35 make cloud prefix optional to download buildx if driver is cloud
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 15:39:12 +01:00
CrazyMax db63cee3de Merge pull request #381 from docker/dependabot/github_actions/codecov/codecov-action-5
build(deps): bump codecov/codecov-action from 4 to 5
2024-12-12 15:07:22 +01:00
CrazyMax 043ebe137f Merge pull request #389 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.48.0
build(deps): bump @docker/actions-toolkit from 0.39.0 to 0.48.0
2024-12-12 15:07:04 +01:00
CrazyMax 686da9073d chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 15:04:35 +01:00
CrazyMax a3d74876b8 Merge pull request #382 from docker/dependabot/npm_and_yarn/cross-spawn-7.0.6
build(deps): bump cross-spawn from 7.0.3 to 7.0.6
2024-12-12 15:03:07 +01:00
dependabot[bot] 4dcdbcec48 build(deps): bump @docker/actions-toolkit from 0.39.0 to 0.48.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.39.0 to 0.48.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.39.0...v0.48.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-12-12 14:03:00 +00:00
CrazyMax 1a8ac74316 ci: fix deprecated input for codecov-action
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-12-12 15:02:42 +01:00
dependabot[bot] e827ebe8ba build(deps): bump cross-spawn from 7.0.3 to 7.0.6
Bumps [cross-spawn](https://github.com/moxystudio/node-cross-spawn) from 7.0.3 to 7.0.6.
- [Changelog](https://github.com/moxystudio/node-cross-spawn/blob/master/CHANGELOG.md)
- [Commits](https://github.com/moxystudio/node-cross-spawn/compare/v7.0.3...v7.0.6)

---
updated-dependencies:
- dependency-name: cross-spawn
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-18 23:00:07 +00:00
dependabot[bot] adacc1474e build(deps): bump codecov/codecov-action from 4 to 5
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 4 to 5.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/main/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-11-15 04:48:17 +00:00
CrazyMax 0f069ddc17 Merge pull request #372 from crazy-max/publish-immutable-action
ci: publish as immutable action workflow
2024-10-26 00:40:56 +02:00
CrazyMax d036b3238c ci: publish as immutable action workflow
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-25 13:22:55 +02:00
CrazyMax 460e45646d Merge pull request #370 from docker/dependabot/npm_and_yarn/actions/core-1.11.1
build(deps): bump @actions/core from 1.10.1 to 1.11.1
2024-10-07 14:19:44 +02:00
CrazyMax 93aa1c807f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-07 14:17:38 +02:00
CrazyMax d391aad55c remove uuid package and switch to crypto
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-07 14:16:41 +02:00
dependabot[bot] e5b688ea46 build(deps): bump @actions/core from 1.10.1 to 1.11.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.1 to 1.11.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-07 04:49:55 +00:00
CrazyMax c47758b77c Merge pull request #369 from crazy-max/revert-crypto
switch back to uuid package
2024-10-04 09:42:48 +02:00
CrazyMax 8fea382513 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-04 09:35:26 +02:00
CrazyMax 2874e980e8 switch back to uuid package
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-04 09:34:00 +02:00
CrazyMax 8026d2bc36 Merge pull request #362 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.39.0
build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.39.0
2024-10-03 09:29:53 +02:00
CrazyMax e51aab53e9 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 09:23:32 +02:00
dependabot[bot] fd7390e14d build(deps): bump @docker/actions-toolkit from 0.35.0 to 0.39.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.35.0 to 0.39.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.35.0...v0.39.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-10-03 07:19:28 +00:00
CrazyMax 910a304005 Merge pull request #366 from crazy-max/remove-uuid
remove uuid package and switch to crypto
2024-10-03 09:18:07 +02:00
CrazyMax 3623ee443e chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 09:16:05 +02:00
CrazyMax e0e5ecf670 remove uuid package and switch to crypto
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 09:15:20 +02:00
CrazyMax 5334dd0cdd Merge pull request #363 from crazy-max/set-buildkitd-flags-optin
always set buildkitd-flags if opt-in
2024-10-03 09:14:50 +02:00
CrazyMax 214bb6dac1 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 08:54:56 +02:00
CrazyMax 818c69a4ea always set buildkitd-flags if opt-in
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-10-03 08:54:55 +02:00
CrazyMax b467d6aa7a Merge pull request #354 from docker/dependabot/npm_and_yarn/path-to-regexp-6.3.0
build(deps): bump path-to-regexp from 6.2.2 to 6.3.0
2024-09-12 22:41:49 +02:00
dependabot[bot] 7594cf3831 build(deps): bump path-to-regexp from 6.2.2 to 6.3.0
Bumps [path-to-regexp](https://github.com/pillarjs/path-to-regexp) from 6.2.2 to 6.3.0.
- [Release notes](https://github.com/pillarjs/path-to-regexp/releases)
- [Changelog](https://github.com/pillarjs/path-to-regexp/blob/master/History.md)
- [Commits](https://github.com/pillarjs/path-to-regexp/compare/v6.2.2...v6.3.0)

---
updated-dependencies:
- dependency-name: path-to-regexp
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-09-12 19:22:52 +00:00
CrazyMax 988b5a0280 Merge pull request #347 from crazy-max/skip-malformed-context
check for malformed docker context
2024-07-29 18:29:31 +02:00
CrazyMax 2c215620b8 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-29 18:25:27 +02:00
CrazyMax 3382292cd5 check for malformed docker context
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-29 18:24:18 +02:00
CrazyMax 3d68780484 Merge pull request #341 from crazy-max/docker-context-tls
create docker context if default one has TLS data loaded
2024-07-29 15:34:28 +02:00
CrazyMax d069e98648 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-29 15:16:07 +02:00
CrazyMax 8b850f86dc create docker context if default one has TLS data loaded
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-29 15:12:05 +02:00
CrazyMax aa33708b10 Merge pull request #345 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.35.0
build(deps): bump @docker/actions-toolkit from 0.34.0 to 0.35.0
2024-07-22 11:48:29 +02:00
CrazyMax 2d99e3412d chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-22 11:45:40 +02:00
dependabot[bot] 4dab43650b build(deps): bump @docker/actions-toolkit from 0.34.0 to 0.35.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.34.0 to 0.35.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.34.0...v0.35.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-22 04:47:18 +00:00
CrazyMax 49a04d6890 Merge pull request #344 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.34.0
build(deps): bump @docker/actions-toolkit from 0.32.0 to 0.34.0
2024-07-19 13:09:43 +02:00
CrazyMax a6ade2e34f chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-19 13:07:08 +02:00
CrazyMax 2f2694b8d1 switch to Docker exec
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-19 13:05:34 +02:00
dependabot[bot] 0a4bab6632 build(deps): bump @docker/actions-toolkit from 0.32.0 to 0.34.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.32.0 to 0.34.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.32.0...v0.34.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-18 04:06:15 +00:00
CrazyMax 2ad185228a Merge pull request #340 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.32.0
build(deps): bump @docker/actions-toolkit from 0.31.0 to 0.32.0
2024-07-05 11:38:19 +02:00
CrazyMax 560ac469d6 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-05 11:35:45 +02:00
dependabot[bot] b3a341759e build(deps): bump @docker/actions-toolkit from 0.31.0 to 0.32.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.31.0 to 0.32.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.31.0...v0.32.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-05 09:33:37 +00:00
CrazyMax 4fd812986e Merge pull request #312 from docker/dependabot/npm_and_yarn/undici-5.28.4
build(deps): bump undici from 5.28.3 to 5.28.4
2024-07-04 00:59:46 +02:00
CrazyMax 3386dc4251 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-04 00:57:40 +02:00
dependabot[bot] d191aef416 build(deps): bump undici from 5.28.3 to 5.28.4
Bumps [undici](https://github.com/nodejs/undici) from 5.28.3 to 5.28.4.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.28.3...v5.28.4)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 22:39:48 +00:00
CrazyMax f686054aab Merge pull request #338 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.31.0
build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.31.0
2024-07-04 00:36:59 +02:00
CrazyMax 78547859d7 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-04 00:28:28 +02:00
CrazyMax 830928c706 fix builder type path
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-04 00:28:27 +02:00
dependabot[bot] 26d2aec173 build(deps): bump @docker/actions-toolkit from 0.23.0 to 0.31.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.23.0 to 0.31.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.23.0...v0.31.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-07-03 18:22:10 +00:00
CrazyMax ab17e3ec80 Merge pull request #339 from crazy-max/missing-types-jsyaml
missing types for js-yaml
2024-07-03 20:21:11 +02:00
CrazyMax d79cb80903 missing types for js-yaml
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 20:17:56 +02:00
CrazyMax 13cf78894f Merge pull request #326 from docker/dependabot/npm_and_yarn/uuid-10.0.0
build(deps): bump uuid from 9.0.1 to 10.0.0
2024-07-03 13:50:25 +02:00
CrazyMax 0e592087a0 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 13:33:18 +02:00
CrazyMax 47032b9b53 missing types for uuid
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-07-03 13:33:17 +02:00
CrazyMax abe89fb761 Merge pull request #329 from docker/dependabot/npm_and_yarn/braces-3.0.3
build(deps): bump braces from 3.0.2 to 3.0.3
2024-06-20 18:01:53 +02:00
CrazyMax e027232c25 Merge pull request #332 from docker/dependabot/github_actions/docker/bake-action-5
build(deps): bump docker/bake-action from 4 to 5
2024-06-20 17:59:29 +02:00
CrazyMax 5d9397e7ca Merge pull request #331 from docker/dependabot/github_actions/docker/build-push-action-6
build(deps): bump docker/build-push-action from 5 to 6
2024-06-20 17:59:12 +02:00
dependabot[bot] e9ab4c6a14 build(deps): bump docker/bake-action from 4 to 5
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 4 to 5.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 04:09:56 +00:00
dependabot[bot] 748835b452 build(deps): bump docker/build-push-action from 5 to 6
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 5 to 6.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v5...v6)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-18 04:09:53 +00:00
dependabot[bot] 554c728605 build(deps): bump braces from 3.0.2 to 3.0.3
Bumps [braces](https://github.com/micromatch/braces) from 3.0.2 to 3.0.3.
- [Changelog](https://github.com/micromatch/braces/blob/master/CHANGELOG.md)
- [Commits](https://github.com/micromatch/braces/compare/3.0.2...3.0.3)

---
updated-dependencies:
- dependency-name: braces
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-16 13:37:42 +00:00
dependabot[bot] 1c1261e632 build(deps): bump uuid from 9.0.1 to 10.0.0
Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.1 to 10.0.0.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.1...v10.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-06-10 04:44:49 +00:00
CrazyMax 5138f76647 Merge pull request #322 from crazy-max/update-dev-deps
chore: update dev dependencies
2024-05-15 14:01:13 +02:00
CrazyMax eddcf46655 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 13:58:48 +02:00
CrazyMax 2740b29678 chore: update dev dependencies
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 13:57:47 +02:00
CrazyMax 1113efed2b Merge pull request #321 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.23.0
build(deps): bump @docker/actions-toolkit from 0.20.0 to 0.23.0
2024-05-15 12:11:09 +02:00
CrazyMax 8a2a7ad780 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-15 12:09:16 +02:00
dependabot[bot] e3c7deb79b build(deps): bump @docker/actions-toolkit from 0.20.0 to 0.23.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.20.0 to 0.23.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.20.0...v0.23.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-15 04:12:14 +00:00
CrazyMax be3701b211 Merge pull request #319 from crazy-max/update-yarn
update to yarn 3.6.3
2024-05-07 15:48:31 +02:00
CrazyMax e2ed622d10 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:46:36 +02:00
CrazyMax b73b950903 chore: add plugin-interactive-tools yarn pkg
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:44:37 +02:00
CrazyMax 157d6d0106 update to yarn 3.6.3
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-05-07 15:43:51 +02:00
Tõnis Tiigi a530e948ad Merge pull request #315 from crazy-max/fix-err-output
throw error message instead of exit code
2024-04-15 16:53:40 -07:00
CrazyMax 28ecb964cd chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 12:22:12 +02:00
CrazyMax dc25d8b2ee throw error message instead of exit code
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-12 12:22:01 +02:00
Tõnis Tiigi d70bba72b1 Merge pull request #307 from crazy-max/bump-toolkit
bump @docker/actions-toolkit from 0.19.0 to 0.20.0
2024-04-04 09:52:13 -07:00
CrazyMax 7638634cb7 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-02 10:45:45 +02:00
CrazyMax c68420fe0b bump @docker/actions-toolkit from 0.19.0 to 0.20.0
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-04-02 10:44:53 +02:00
CrazyMax 2b51285047 Merge pull request #306 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.19.0
build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.19.0
2024-03-14 09:18:29 +01:00
CrazyMax 0f00370563 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-14 09:12:57 +01:00
dependabot[bot] 11c9683db9 build(deps): bump @docker/actions-toolkit from 0.18.0 to 0.19.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.18.0 to 0.19.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.18.0...v0.19.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-14 04:07:37 +00:00
CrazyMax 56a16b8f2a Merge pull request #303 from crazy-max/fix-inputs
rename and align config inputs
2024-03-01 10:17:00 +01:00
CrazyMax c23f46eb91 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-01 10:10:01 +01:00
CrazyMax f876da6242 rename and align config inputs
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-01 10:10:00 +01:00
CrazyMax b7cf918227 Merge pull request #304 from crazy-max/rm-docs-dir
chore: remove docs dir
2024-03-01 10:08:27 +01:00
CrazyMax 0150f0ed7a chore: remove docs dir
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-01 09:42:40 +01:00
CrazyMax d89f1f9116 Merge pull request #302 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.18.0
build(deps): bump @docker/actions-toolkit from 0.17.0 to 0.18.0
2024-03-01 08:18:13 +01:00
CrazyMax 12d65f6595 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-03-01 08:16:43 +01:00
dependabot[bot] 8e1cfa56de build(deps): bump @docker/actions-toolkit from 0.17.0 to 0.18.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.17.0 to 0.18.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.17.0...v0.18.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-01 04:29:56 +00:00
CrazyMax 0d103c3126 Merge pull request #300 from crazy-max/cache-binary
cache-binary input to enable/disable caching binary to GHA cache backend
2024-02-23 15:13:07 +01:00
CrazyMax f19477aacd chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 10:57:39 +01:00
CrazyMax a4180f835d cache-binary input to enable/disable caching binary to GHA cache backend
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 10:57:39 +01:00
CrazyMax 524315340d Merge pull request #299 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.17.0
build(deps): bump @docker/actions-toolkit from 0.14.0 to 0.17.0
2024-02-23 10:40:21 +01:00
CrazyMax 3679a54023 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 10:38:04 +01:00
dependabot[bot] 37a22a2fb2 build(deps): bump @docker/actions-toolkit from 0.14.0 to 0.17.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.14.0 to 0.17.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.14.0...v0.17.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-23 09:32:50 +00:00
CrazyMax 65afe610a1 Merge pull request #297 from docker/dependabot/npm_and_yarn/undici-5.28.3
build(deps): bump undici from 5.26.3 to 5.28.3
2024-02-23 09:42:32 +01:00
CrazyMax fcb8f722fd chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:41:09 +01:00
CrazyMax f62b9a17c0 Merge pull request #298 from crazy-max/bump-gha
bump codecov/codecov-action from 3 to 4
2024-02-23 09:19:48 +01:00
CrazyMax 74c5b717e5 bump codecov/codecov-action from 3 to 4
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2024-02-23 09:15:27 +01:00
dependabot[bot] 0d7aea7476 build(deps): bump undici from 5.26.3 to 5.28.3
Bumps [undici](https://github.com/nodejs/undici) from 5.26.3 to 5.28.3.
- [Release notes](https://github.com/nodejs/undici/releases)
- [Commits](https://github.com/nodejs/undici/compare/v5.26.3...v5.28.3)

---
updated-dependencies:
- dependency-name: undici
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-02-16 17:55:22 +00:00
CrazyMax edfb0fe620 Merge pull request #284 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.14.0
build(deps): bump @docker/actions-toolkit from 0.13.0 to 0.14.0
2023-12-01 03:57:18 -08:00
CrazyMax ee40da0772 chore: update generated content
Signed-off-by: CrazyMax <1951866+crazy-max@users.noreply.github.com>
2023-12-01 12:55:15 +01:00
dependabot[bot] 02e65a5ab9 build(deps): bump @docker/actions-toolkit from 0.13.0 to 0.14.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.13.0 to 0.14.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.13.0...v0.14.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-11-17 04:42:14 +00:00
CrazyMax 6d5347c402 Merge pull request #271 from docker/dependabot/npm_and_yarn/uuid-9.0.1
build(deps): bump uuid from 9.0.0 to 9.0.1
2023-10-26 07:14:17 -07:00
CrazyMax ab3fcb73e7 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-26 16:12:55 +02:00
CrazyMax 3762d454f3 Merge pull request #282 from docker/dependabot/npm_and_yarn/babel/traverse-7.23.2
build(deps): bump @babel/traverse from 7.17.3 to 7.23.2
2023-10-24 23:45:00 -07:00
dependabot[bot] cdd4983d88 build(deps): bump @babel/traverse from 7.17.3 to 7.23.2
Bumps [@babel/traverse](https://github.com/babel/babel/tree/HEAD/packages/babel-traverse) from 7.17.3 to 7.23.2.
- [Release notes](https://github.com/babel/babel/releases)
- [Changelog](https://github.com/babel/babel/blob/main/CHANGELOG.md)
- [Commits](https://github.com/babel/babel/commits/v7.23.2/packages/babel-traverse)

---
updated-dependencies:
- dependency-name: "@babel/traverse"
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-17 20:37:31 +00:00
dependabot[bot] a3e8dc13a7 build(deps): bump uuid from 9.0.0 to 9.0.1
Bumps [uuid](https://github.com/uuidjs/uuid) from 9.0.0 to 9.0.1.
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v9.0.0...v9.0.1)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-13 12:20:28 +00:00
CrazyMax 5d98624985 Merge pull request #281 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.13.0
build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.13.0
2023-10-13 05:19:21 -07:00
CrazyMax fa0a3f8db8 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-10-13 14:17:50 +02:00
dependabot[bot] 0d99838e0e build(deps): bump @docker/actions-toolkit from 0.12.0 to 0.13.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.12.0 to 0.13.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.12.0...v0.13.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-10-13 12:11:54 +00:00
CrazyMax dedd61cf5d Merge pull request #275 from crazy-max/community-files
chore: github form templates
2023-09-13 11:42:16 +02:00
CrazyMax a9e6efb8d7 chore: github form templates
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:51:54 +02:00
CrazyMax 572af8c114 chore: update community files
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-13 09:51:48 +02:00
CrazyMax 8bda7f18d0 Merge pull request #274 from docker/dependabot/github_actions/docker/setup-qemu-action-3
build(deps): bump docker/setup-qemu-action from 2 to 3
2023-09-13 08:33:53 +02:00
CrazyMax 36dc84a6af Merge pull request #273 from docker/dependabot/github_actions/docker/bake-action-4
build(deps): bump docker/bake-action from 3 to 4
2023-09-13 08:32:14 +02:00
CrazyMax 1eaf7017ec Merge pull request #272 from docker/dependabot/github_actions/docker/build-push-action-5
build(deps): bump docker/build-push-action from 4 to 5
2023-09-13 08:32:00 +02:00
dependabot[bot] 35db0cdb94 build(deps): bump docker/setup-qemu-action from 2 to 3
Bumps [docker/setup-qemu-action](https://github.com/docker/setup-qemu-action) from 2 to 3.
- [Release notes](https://github.com/docker/setup-qemu-action/releases)
- [Commits](https://github.com/docker/setup-qemu-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/setup-qemu-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 04:57:57 +00:00
dependabot[bot] 524ee0563f build(deps): bump docker/bake-action from 3 to 4
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 3 to 4.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v3...v4)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 04:57:52 +00:00
dependabot[bot] 91c74bb1dc build(deps): bump docker/build-push-action from 4 to 5
Bumps [docker/build-push-action](https://github.com/docker/build-push-action) from 4 to 5.
- [Release notes](https://github.com/docker/build-push-action/releases)
- [Commits](https://github.com/docker/build-push-action/compare/v4...v5)

---
updated-dependencies:
- dependency-name: docker/build-push-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-13 04:57:48 +00:00
CrazyMax 7d508e5a8a Merge pull request #268 from crazy-max/bump-major
docs: bump actions to latest major
2023-09-12 15:15:22 +02:00
CrazyMax c9db9161e9 docs: bump actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 14:18:18 +02:00
CrazyMax f95db51fdd Merge pull request #267 from docker/dependabot/npm_and_yarn/actions/core-1.10.1
build(deps): bump @actions/core from 1.10.0 to 1.10.1
2023-09-12 08:50:08 +02:00
CrazyMax 998a87c2c1 chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-12 08:38:49 +02:00
dependabot[bot] 28bae59336 build(deps): bump @actions/core from 1.10.0 to 1.10.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.10.0 to 1.10.1.
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-12 04:54:27 +00:00
CrazyMax c215341715 Merge pull request #264 from crazy-max/update-node20
chore: node 20 as default runtime
2023-09-11 20:28:59 +02:00
CrazyMax 02e9319239 chore: node 20 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:42 +02:00
CrazyMax 5c9160effc chore: update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:42 +02:00
CrazyMax 1283140f57 chore: fix author in package.json
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:42 +02:00
CrazyMax c6afe06e4a vendor: bump @docker/actions-toolkit from 0.10.0 to 0.12.0
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:42 +02:00
CrazyMax f35e0d5a04 chore: update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:41 +02:00
CrazyMax baeb468fb2 dev: remove unneeded binaries
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:41 +02:00
CrazyMax 8e48232775 chore: update to node 20
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-09 18:21:41 +02:00
CrazyMax a52126db3d Merge pull request #262 from crazy-max/ci-concurrency
ci: missing concurrency checks
2023-09-05 11:13:02 +02:00
CrazyMax 2afcb42c88 ci: missing concurrency checks
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-09-05 11:09:23 +02:00
CrazyMax 2fbc37fd36 Merge pull request #260 from docker/dependabot/github_actions/actions/checkout-4
Bump actions/checkout from 3 to 4
2023-09-05 08:45:19 +02:00
dependabot[bot] 23d726350c Bump actions/checkout from 3 to 4
Bumps [actions/checkout](https://github.com/actions/checkout) from 3 to 4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v3...v4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-09-05 04:34:21 +00:00
Tõnis Tiigi 885d1462b8 Merge pull request #258 from crazy-max/update-toolkit
bump @docker/actions-toolkit from 0.7.1 to 0.10.0
2023-08-27 18:39:52 -07:00
CrazyMax e5fad018d0 ci: check lab releases
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-26 14:03:23 +02:00
CrazyMax 45161fd92a update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-26 14:03:22 +02:00
CrazyMax a4d51f53dd bump @docker/actions-toolkit from 0.7.1 to 0.10.0
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-26 14:03:22 +02:00
CrazyMax 93b8ecaa2c ci: docker-ce packages are now installed on GitHub Runners
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-26 14:03:22 +02:00
CrazyMax 7703e82fbc Merge pull request #253 from docker/dependabot/npm_and_yarn/word-wrap-1.2.5
Bump word-wrap from 1.2.3 to 1.2.5
2023-08-08 13:17:08 +02:00
CrazyMax 0005881963 Merge pull request #254 from crazy-max/rm-codeowners
chore: remove CODEOWNERS
2023-08-08 12:55:44 +02:00
CrazyMax b699069f49 chore: remove CODEOWNERS
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 12:53:26 +02:00
dependabot[bot] 9bfc5497b8 Bump word-wrap from 1.2.3 to 1.2.5
Bumps [word-wrap](https://github.com/jonschlinkert/word-wrap) from 1.2.3 to 1.2.5.
- [Release notes](https://github.com/jonschlinkert/word-wrap/releases)
- [Commits](https://github.com/jonschlinkert/word-wrap/compare/1.2.3...1.2.5)

---
updated-dependencies:
- dependency-name: word-wrap
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-08-08 10:46:55 +00:00
Tõnis Tiigi b92d4d8769 Merge pull request #252 from crazy-max/dependabot-update
chore: set increase as versioning strategy
2023-08-08 09:53:55 +03:00
CrazyMax 285be6c835 chore: set increase as versioning strategy
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-08-08 05:57:51 +02:00
CrazyMax 4c0219f9ac Merge pull request #248 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.7.1
Bump @docker/actions-toolkit from 0.7.0 to 0.7.1
2023-07-12 14:31:49 +02:00
CrazyMax 0db41bf51b update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-12 14:30:00 +02:00
dependabot[bot] 62fc1a1dd6 Bump @docker/actions-toolkit from 0.7.0 to 0.7.1
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.7.0 to 0.7.1.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.7.0...v0.7.1)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-12 12:28:25 +00:00
CrazyMax 2a1a44ac4a Merge pull request #246 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.7.0
Bump @docker/actions-toolkit from 0.6.0 to 0.7.0
2023-07-07 10:03:01 +02:00
CrazyMax a6c26a99ef update ci workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-06 23:24:05 +02:00
CrazyMax a5a7f565d9 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-07-06 23:17:35 +02:00
dependabot[bot] 7d7611f95b Bump @docker/actions-toolkit from 0.6.0 to 0.7.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.6.0 to 0.7.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.6.0...v0.7.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-07-06 19:49:53 +00:00
CrazyMax 16c0bc4a6e Merge pull request #242 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.6.0
Bump @docker/actions-toolkit from 0.5.0 to 0.6.0
2023-06-28 17:24:42 +02:00
CrazyMax ebcacb9c21 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-28 17:22:25 +02:00
dependabot[bot] 496a823b8b Bump @docker/actions-toolkit from 0.5.0 to 0.6.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.5.0 to 0.6.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.5.0...v0.6.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-28 15:16:58 +00:00
CrazyMax a56031a493 Merge pull request #241 from nicks/nicks/driver
context: only append flags if we know the driver supports them
2023-06-28 15:46:28 +02:00
Nick Santos 922550f064 context: only append flags if we know the driver supports them
Background: before this change, if i tried to use GHA with an experimental
driver, it would automatically append the flags

``
--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host
```

even if the underlying driver did not support them.

Signed-off-by: Nick Santos <nick.santos@docker.com>
2023-06-28 09:30:10 -04:00
CrazyMax ecf95283f0 Merge pull request #238 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.5.0
Bump @docker/actions-toolkit from 0.4.0 to 0.5.0
2023-06-13 11:55:02 +02:00
CrazyMax b2a38ee0c6 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-13 11:51:23 +02:00
dependabot[bot] 7f79690cac Bump @docker/actions-toolkit from 0.4.0 to 0.5.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.4.0 to 0.5.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.4.0...v0.5.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-13 09:45:06 +00:00
CrazyMax bdd549bec0 Merge pull request #237 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.4.0
Bump @docker/actions-toolkit from 0.3.0 to 0.4.0
2023-06-10 02:08:25 +02:00
CrazyMax be4a3855af update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-10 02:05:18 +02:00
dependabot[bot] 6c4dbb29f6 Bump @docker/actions-toolkit from 0.3.0 to 0.4.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.3.0 to 0.4.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.3.0...v0.4.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-10 00:03:39 +00:00
CrazyMax 6a58db7e0d Merge pull request #236 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.3.0
Bump @docker/actions-toolkit from 0.2.0 to 0.3.0
2023-06-07 15:29:48 +02:00
CrazyMax d56292e348 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-07 15:26:35 +02:00
dependabot[bot] 790eb2db47 Bump @docker/actions-toolkit from 0.2.0 to 0.3.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.2.0 to 0.3.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.2.0...v0.3.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-07 13:25:22 +00:00
CrazyMax 2a81c53912 Merge pull request #231 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.2.0
Bump @docker/actions-toolkit from 0.1.0 to 0.2.0
2023-06-06 14:20:23 +02:00
CrazyMax 00b2400aad update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-06 14:13:56 +02:00
dependabot[bot] 484614d7a1 Bump @docker/actions-toolkit from 0.1.0 to 0.2.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0 to 0.2.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0...v0.2.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-06-06 12:05:07 +00:00
CrazyMax d95759405f Merge pull request #219 from crazy-max/ci-k3s-append
set node name for k8s driver when appending nodes
2023-06-06 13:38:48 +02:00
CrazyMax 5bb6d36be0 ci: set up and build with k3s
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-02 14:27:38 +02:00
CrazyMax a99c5e53ef update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-02 14:03:28 +02:00
CrazyMax fc1a41d2e5 set node name for k8s driver when appending nodes
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-06-02 14:03:26 +02:00
CrazyMax 95cefc3c57 Merge pull request #230 from docker/dependabot/github_actions/docker/bake-action-3
Bump docker/bake-action from 2 to 3
2023-06-02 13:50:38 +02:00
dependabot[bot] 8ec3610541 Bump docker/bake-action from 2 to 3
Bumps [docker/bake-action](https://github.com/docker/bake-action) from 2 to 3.
- [Release notes](https://github.com/docker/bake-action/releases)
- [Commits](https://github.com/docker/bake-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: docker/bake-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-19 04:57:04 +00:00
CrazyMax a946f06b5d Merge pull request #229 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0
Bump @docker/actions-toolkit from 0.1.0-beta.19 to 0.1.0
2023-04-17 06:43:00 +02:00
CrazyMax ce223e774e update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 02:59:38 +02:00
CrazyMax d267e74486 use new implementation from toolkit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 02:59:25 +02:00
CrazyMax d350de3bba update dev dependencies
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-04-17 02:56:56 +02:00
dependabot[bot] 45a8690f10 Bump @docker/actions-toolkit from 0.1.0-beta.19 to 0.1.0
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.19 to 0.1.0.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.19...v0.1.0)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-12 04:57:20 +00:00
CrazyMax b167a89702 Merge pull request #221 from crazy-max/update-workflows
ci: split validate and test workflow
2023-03-15 15:20:34 +00:00
CrazyMax 81d4866861 ci: split validate and test workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-12 13:58:14 +01:00
CrazyMax 07aea5fc9c Merge pull request #220 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0-beta.19
Bump @docker/actions-toolkit from 0.1.0-beta.18 to 0.1.0-beta.19
2023-03-11 21:09:01 +00:00
CrazyMax 1d91983c26 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-11 22:04:18 +01:00
dependabot[bot] 496312bcb8 Bump @docker/actions-toolkit from 0.1.0-beta.18 to 0.1.0-beta.19
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.18 to 0.1.0-beta.19.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.18...v0.1.0-beta.19)

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-11 21:02:49 +00:00
CrazyMax 4b4e9c3e2d Merge pull request #216 from awendland/patch-1
nit typo in README.md, csv is comma-delimited
2023-03-10 09:29:49 +00:00
CrazyMax eb27bcbef3 Merge pull request #218 from crazy-max/fix-builder-removal
do not remove builder using the docker driver
2023-03-10 09:28:46 +00:00
CrazyMax b7471d4240 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-10 00:06:27 +01:00
CrazyMax e2df91e851 check builder exists before removal
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-10 00:05:22 +01:00
CrazyMax 85ce96bcbc do not remove builder using the docker driver
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-09 10:08:41 +01:00
CrazyMax f549413411 Merge pull request #217 from docker/dependabot/npm_and_yarn/docker/actions-toolkit-0.1.0-beta.18
Bump @docker/actions-toolkit from 0.1.0-beta.16 to 0.1.0-beta.18
2023-03-09 08:47:13 +00:00
CrazyMax 99988698a5 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-09 09:42:37 +01:00
dependabot[bot] e30725c029 Bump @docker/actions-toolkit from 0.1.0-beta.16 to 0.1.0-beta.18
Bumps [@docker/actions-toolkit](https://github.com/docker/actions-toolkit) from 0.1.0-beta.16 to 0.1.0-beta.18.
- [Release notes](https://github.com/docker/actions-toolkit/releases)
- [Commits](https://github.com/docker/actions-toolkit/compare/v0.1.0-beta.16...v0.1.0-beta.18)

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>

---
updated-dependencies:
- dependency-name: "@docker/actions-toolkit"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-08 19:13:39 +01:00
CrazyMax f1dc97ee10 Merge pull request #213 from crazy-max/cleanup-input
cleanup input to remove builder and temp files
2023-03-08 17:53:19 +00:00
Alex Wendland 51ecd0a47f nit typo in README.md, csv is comma-delimited
Signed-off-by: Alex Wendland <me@alexwendland.com>
2023-03-07 11:09:55 -05:00
CrazyMax 830f01a409 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-03 12:08:20 +01:00
CrazyMax 8b13d483f2 cleanup input to remove builder and temp files
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-03 12:08:20 +01:00
CrazyMax 03a7a3d9fb Merge pull request #209 from crazy-max/docker-context
fix current context as builder name for docker driver
2023-03-03 10:51:02 +01:00
CrazyMax 30389db034 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-02 19:49:22 +01:00
CrazyMax 05ca2e6f5e fix current context as builder name for docker driver
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-03-02 19:49:22 +01:00
CrazyMax 774ea5c2f1 Merge pull request #204 from crazy-max/switch-toolkit
switch to actions-toolkit implementation
2023-03-02 19:47:30 +01:00
CrazyMax 534bd3c5e6 readme: update screenshot
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-25 13:27:17 +01:00
CrazyMax 0f5a2d6712 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-25 13:27:17 +01:00
CrazyMax 987520896f switch to actions-toolkit implementation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-25 13:27:17 +01:00
CrazyMax a19c171088 Merge pull request #208 from crazy-max/fix-docs-links
docs: updates
2023-02-24 14:47:01 +01:00
CrazyMax 347dac9901 docs: updates
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-24 03:22:30 +01:00
CrazyMax 2dd22fa31c Merge pull request #203 from docker/dependabot/github_actions/crazy-max/ghaction-dump-context-2
Bump crazy-max/ghaction-dump-context from 1 to 2
2023-02-13 11:36:01 +01:00
dependabot[bot] dd904132a2 Bump crazy-max/ghaction-dump-context from 1 to 2
Bumps [crazy-max/ghaction-dump-context](https://github.com/crazy-max/ghaction-dump-context) from 1 to 2.
- [Release notes](https://github.com/crazy-max/ghaction-dump-context/releases)
- [Changelog](https://github.com/crazy-max/ghaction-dump-context/blob/master/CHANGELOG.md)
- [Commits](https://github.com/crazy-max/ghaction-dump-context/compare/v1...v2)

---
updated-dependencies:
- dependency-name: crazy-max/ghaction-dump-context
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-13 04:56:50 +00:00
CrazyMax f03ac48505 Merge pull request #199 from docker/dependabot/npm_and_yarn/csv-parse-5.3.4
Bump csv-parse from 5.3.3 to 5.3.4
2023-02-06 12:36:43 +01:00
dependabot[bot] c8c479bb5b Bump csv-parse from 5.3.3 to 5.3.4
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.3 to 5.3.4.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.3.4/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-06 11:33:37 +00:00
CrazyMax 379311a773 Merge pull request #200 from crazy-max/toolkit
Get releases from actions toolkit
2023-02-06 12:32:31 +01:00
CrazyMax 6842354d08 Get releases from actions toolkit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-03 14:51:57 +01:00
CrazyMax 7ce9a1f69d add @docker/actions-toolkit
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-02-03 14:38:14 +01:00
CrazyMax 11e8a2e291 Merge pull request #197 from crazy-max/update-build-push
update build-push-action to v4
2023-01-31 15:10:09 +01:00
CrazyMax 9407e67a52 update build-push-action to v4
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-30 19:39:05 +01:00
CrazyMax 15c905b16b Merge pull request #196 from crazy-max/dl-no-token
don't depend on the GitHub API to check release
2023-01-30 12:02:49 +01:00
CrazyMax a25d6a0130 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-30 11:56:13 +01:00
CrazyMax 39322d9057 don't depend on the GitHub API to check release
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-30 11:56:13 +01:00
Justin Chadwell 0648fd6fd6 Merge pull request #195 from crazy-max/fix-readme
fix action version in README
2023-01-28 13:36:35 +00:00
CrazyMax 30d8a59ee0 fix action version in README
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 14:03:18 +01:00
CrazyMax 71320d2e17 Merge pull request #193 from fevrin/update-gh-doc-url
update GH doc URL
2023-01-28 13:37:04 +01:00
Chrissy Weeks 272f8b84cf update GH doc URL
Signed-off-by: Fevrin <fevrin@users.noreply.github.com>
2023-01-28 01:46:35 -05:00
CrazyMax 5e716dcfd6 Merge pull request #192 from crazy-max/support-ghes
enforce baseUrl to api.github.com if action used on GHES
2023-01-28 03:02:07 +01:00
CrazyMax a83788eef0 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 02:47:03 +01:00
CrazyMax d0d9a72195 pass the token input through on GHES
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 02:45:17 +01:00
CrazyMax a8165e7b70 enforce baseUrl to api.github.com if action used on GHES
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 02:44:08 +01:00
CrazyMax a024221c60 Merge pull request #191 from crazy-max/fix-dl-release
use Octokit client to download buildx
2023-01-28 02:08:06 +01:00
CrazyMax 4c3fce4ab2 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 01:48:35 +01:00
CrazyMax 7c965aebec use Octokit client to download buildx
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2023-01-28 01:48:35 +01:00
CrazyMax 7932f6210d Merge pull request #189 from docker/version-pinning-docs
docs: add version pinning information to the README
2023-01-25 14:10:54 +01:00
Justin Chadwell 70deadb37a docs: add version pinning information to the README
This should provide an easy reference for users starting to use this
action who want to pin versions, so that they can easily identify the
different versioning pattern used by this action.

Signed-off-by: Justin Chadwell <me@jedevc.com>
2023-01-25 13:07:15 +00:00
CrazyMax 165fe681b8 Merge pull request #184 from docker/dependabot/npm_and_yarn/json5-2.2.3
Bump json5 from 2.2.0 to 2.2.3
2023-01-08 18:33:12 +01:00
dependabot[bot] 2d305372c4 Bump json5 from 2.2.0 to 2.2.3
Bumps [json5](https://github.com/json5/json5) from 2.2.0 to 2.2.3.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v2.2.0...v2.2.3)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-07 04:55:11 +00:00
CrazyMax c252a3bb80 Merge pull request #181 from docker/dependabot/npm_and_yarn/csv-parse-5.3.3
Bump csv-parse from 5.3.1 to 5.3.3
2022-12-19 21:09:29 +01:00
CrazyMax 4661366cb8 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 21:03:54 +01:00
dependabot[bot] 03d7e8ebf0 Bump csv-parse from 5.3.1 to 5.3.3
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.1 to 5.3.3.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.3.3/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-12-19 19:37:47 +00:00
CrazyMax 22f6533f7c Merge pull request #182 from docker/dependabot/npm_and_yarn/minimatch-3.1.2
Bump minimatch from 3.0.4 to 3.1.2
2022-12-19 20:27:47 +01:00
CrazyMax b30c61b0de readme: fix badges
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 20:23:49 +01:00
CrazyMax 51cc8966ea update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-12-19 20:22:54 +01:00
dependabot[bot] db8b80b0d3 Bump minimatch from 3.0.4 to 3.1.2
Bumps [minimatch](https://github.com/isaacs/minimatch) from 3.0.4 to 3.1.2.
- [Release notes](https://github.com/isaacs/minimatch/releases)
- [Commits](https://github.com/isaacs/minimatch/compare/v3.0.4...v3.1.2)

---
updated-dependencies:
- dependency-name: minimatch
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-29 17:55:03 +00:00
CrazyMax 39a1a82492 Merge pull request #180 from crazy-max/upd-docs
docs: moved to docs website
2022-11-10 18:25:55 +01:00
CrazyMax c77919d12e docs: add contributing section
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-11-10 16:02:34 +01:00
CrazyMax 341de1b1a5 docs: moved to docs website
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-11-10 16:01:32 +01:00
CrazyMax 8c0edbc76e Merge pull request #175 from crazy-max/input-list-quotes
escape surrounding quotes for platforms input
2022-10-18 11:15:32 +02:00
CrazyMax 1fb9cbdb32 escape surrounding quotes for platforms input
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-18 11:06:34 +02:00
CrazyMax 693fdd6ca6 Merge pull request #174 from crazy-max/input-quote
preserve quotes surrounding fields in input list
2022-10-18 10:37:08 +02:00
CrazyMax fe4c1ac86d preserve quotes surrounding fields in input list
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-17 20:44:03 +02:00
CrazyMax c74574e6c8 Merge pull request #172 from docker/dependabot/npm_and_yarn/csv-parse-5.3.1
Bump csv-parse from 5.3.0 to 5.3.1
2022-10-17 15:11:27 +02:00
CrazyMax 2d0cf98781 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-17 15:08:30 +02:00
dependabot[bot] 5f1d4ea81f Bump csv-parse from 5.3.0 to 5.3.1
Bumps [csv-parse](https://github.com/adaltas/node-csv/tree/HEAD/packages/csv-parse) from 5.3.0 to 5.3.1.
- [Release notes](https://github.com/adaltas/node-csv/releases)
- [Changelog](https://github.com/adaltas/node-csv/blob/master/packages/csv-parse/CHANGELOG.md)
- [Commits](https://github.com/adaltas/node-csv/commits/csv-parse@5.3.1/packages/csv-parse)

---
updated-dependencies:
- dependency-name: csv-parse
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-17 04:04:47 +00:00
Tõnis Tiigi 59b5ed6124 Merge pull request #165 from crazy-max/append
append nodes to builder support
2022-10-14 11:30:50 -07:00
CrazyMax bd61d52837 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-14 11:47:46 +02:00
CrazyMax f6efb5fcbb platforms input
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-14 11:47:46 +02:00
CrazyMax 2dfca373f3 append nodes to builder support
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-14 11:46:19 +02:00
CrazyMax 95cb08cb26 Merge pull request #171 from crazy-max/rmsync
Fix deprecated fs.rmdir
2022-10-12 12:09:19 +02:00
CrazyMax eb5c2a6eea Fix deprecated fs.rmdir
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 12:05:06 +02:00
CrazyMax 83612bea36 Merge pull request #170 from crazy-max/setOutput
Remove workaround for setOutput
2022-10-12 11:51:02 +02:00
CrazyMax 40fefd8a58 Remove workaround for setOutput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 11:44:21 +02:00
CrazyMax 90a1e4619e Merge pull request #169 from crazy-max/context-module
move args logic to context module and add tests
2022-10-12 11:43:19 +02:00
CrazyMax 5a9fc40575 move args logic to context module and add tests
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 11:38:58 +02:00
CrazyMax 6c48dad5f0 Merge pull request #159 from docker/dependabot/npm_and_yarn/uuid-9.0.0
Bump uuid from 8.3.2 to 9.0.0
2022-10-12 11:15:57 +02:00
CrazyMax 16c2ddbfa7 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 11:04:04 +02:00
dependabot[bot] 0fe8589bf4 Bump uuid from 8.3.2 to 9.0.0
Bumps [uuid](https://github.com/uuidjs/uuid) from 8.3.2 to 9.0.0.
- [Release notes](https://github.com/uuidjs/uuid/releases)
- [Changelog](https://github.com/uuidjs/uuid/blob/main/CHANGELOG.md)
- [Commits](https://github.com/uuidjs/uuid/compare/v8.3.2...v9.0.0)

---
updated-dependencies:
- dependency-name: uuid
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-10-12 09:03:26 +00:00
CrazyMax f3692cbe43 Merge pull request #167 from docker/dependabot/npm_and_yarn/actions/core-1.10.0
Bump @actions/core from 1.9.1 to 1.10.0
2022-10-12 10:53:12 +02:00
CrazyMax 51ce2e7281 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-10-12 10:50:51 +02:00
dependabot[bot] 1759384a3b Bump @actions/core from 1.9.1 to 1.10.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.9.1 to 1.10.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-09-30 04:10:30 +00:00
CrazyMax d5234d6605 Merge pull request #162 from crazy-max/nodes-output
nodes metadata JSON ouput
2022-09-22 11:05:09 +02:00
CrazyMax ec8fe6a2ec update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 03:02:22 +02:00
CrazyMax c6ec880f34 add tests for inspect parsing
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 03:01:46 +02:00
CrazyMax 69d3837448 return driver opts and buildkit version from nodes metadata
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 03:01:46 +02:00
CrazyMax aa0df6f73a nodes metadata JSON ouput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 03:01:45 +02:00
Tõnis Tiigi f0ad70c1de Merge pull request #164 from crazy-max/node-auth
auth support for tls endpoint
2022-09-21 17:59:10 -07:00
CrazyMax 1a6cf9b6d7 update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 02:48:42 +02:00
CrazyMax 1c2ad20e10 auth support for tls endpoint
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-22 02:48:36 +02:00
Tõnis Tiigi f5bc16b105 Merge pull request #163 from crazy-max/update-docs
update and split docs
2022-09-19 16:18:24 -07:00
CrazyMax 86f43c11f1 update and split docs
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-18 02:34:19 +02:00
CrazyMax f385c9ed95 Merge pull request #161 from crazy-max/fix-remote
skip setting buildkitd flags and config for remote driver
2022-09-16 18:35:19 +02:00
CrazyMax 798ed00eea skip setting buildkitd flags and config for remote driver
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-09-16 18:12:29 +02:00
CrazyMax bea6a01aa4 Merge pull request #157 from docker/dependabot/npm_and_yarn/actions/core-1.9.1
Bump @actions/core from 1.8.2 to 1.9.1
2022-08-24 13:15:56 +02:00
CrazyMax 3a2cc9a001 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-08-24 12:34:51 +02:00
dependabot[bot] 7a18bafc06 Bump @actions/core from 1.8.2 to 1.9.1
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.8.2 to 1.9.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-08-09 04:03:44 +00:00
CrazyMax 312f67c662 Merge pull request #149 from docker/dependabot/npm_and_yarn/actions/http-client-2.0.1
Bump @actions/http-client from 1.0.11 to 2.0.1
2022-06-07 12:07:38 +02:00
CrazyMax b8ba4729df Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-07 12:05:02 +02:00
dependabot[bot] afe5b71b31 Bump @actions/http-client from 1.0.11 to 2.0.1
Bumps [@actions/http-client](https://github.com/actions/toolkit/tree/HEAD/packages/http-client) from 1.0.11 to 2.0.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/http-client/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/http-client)

---
updated-dependencies:
- dependency-name: "@actions/http-client"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 10:00:02 +00:00
CrazyMax 6f5431bef1 Merge pull request #150 from docker/dependabot/npm_and_yarn/actions/tool-cache-2.0.1
Bump @actions/tool-cache from 1.7.2 to 2.0.1
2022-06-07 11:58:06 +02:00
CrazyMax da30c94fcd Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-07 11:51:26 +02:00
dependabot[bot] 718cf00a00 Bump @actions/tool-cache from 1.7.2 to 2.0.1
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.7.2 to 2.0.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

---
updated-dependencies:
- dependency-name: "@actions/tool-cache"
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-07 09:49:41 +00:00
CrazyMax c4fbfe3f62 Merge pull request #151 from docker/dependabot/npm_and_yarn/actions/core-1.8.2
Bump @actions/core from 1.6.0 to 1.8.2
2022-06-07 11:48:17 +02:00
CrazyMax 449215757a Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-06-07 11:46:00 +02:00
CrazyMax cafcc1d31f Merge pull request #152 from rodrigc/readme-clarify-install
Clarify install option in example
2022-05-28 11:26:39 +02:00
CrazyMax 7560281ec7 Merge pull request #145 from Firefishy/patch-1
Minor README.md update - use newer action versions
2022-05-28 11:26:08 +02:00
Grant 9102fb725f Minor README.md update - use newer action versions
Signed-off-by: Grant Slater <git@firefishy.com>
2022-05-27 00:52:01 +01:00
Craig Rodrigues 43262924e3 Clarify description for install option
"docker build" is actually aliased to "docker build buildx"

Signed-off-by: Craig Rodrigues <rodrigc@crodrigues.org>
2022-05-26 18:23:16 -04:00
Craig RodriguesandCrazyMax 455b065be4 Clarify install option in example
Co-authored-by: CrazyMax <github@crazymax.dev>
Signed-off-by: Craig Rodrigues <rodrigc@crodrigues.org>
2022-05-26 17:59:37 -04:00
dependabot[bot] 26f93d2e65 Bump @actions/core from 1.6.0 to 1.8.2
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.6.0 to 1.8.2.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-05-16 04:04:08 +00:00
CrazyMax 91cb32d715 Merge pull request #142 from crazy-max/update-refs
Bump all Docker actions to latest major
2022-05-05 19:46:51 +02:00
CrazyMax 7085ac52c5 Bump all Docker actions to latest major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-05 19:43:45 +02:00
CrazyMax dc7b9719a9 Merge pull request #131 from crazy-max/node16
Node 16 as default runtime
2022-05-05 18:44:52 +02:00
CrazyMax f55bc08278 Merge pull request #141 from crazy-max/fix-test
ci: fix standalone test
2022-05-05 18:38:22 +02:00
CrazyMax aa877a9d36 ci: fix standalone test
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-05-05 18:33:06 +02:00
CrazyMax f211e3e9de Merge pull request #136 from docker/dependabot/npm_and_yarn/semver-7.3.7
Bump semver from 7.3.5 to 7.3.7
2022-04-28 07:40:22 +02:00
CrazyMax b23216e504 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-04-28 07:39:41 +02:00
dependabot[bot] be7e600e20 Bump semver from 7.3.5 to 7.3.7
Bumps [semver](https://github.com/npm/node-semver) from 7.3.5 to 7.3.7.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/main/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.5...v7.3.7)

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>

---
updated-dependencies:
- dependency-name: semver
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-28 07:39:20 +02:00
CrazyMax 7117987c01 Merge pull request #119 from crazy-max/standalone
Standalone mode
2022-04-26 14:16:39 +02:00
CrazyMax 17ebdd4d65 ci: add jobs to check standalone behavior
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-04-17 17:22:11 +02:00
CrazyMax 3472856dd9 support standalone mode and display version
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-04-17 17:22:11 +02:00
CrazyMax 74283caced Merge pull request #133 from docker/dependabot/github_actions/codecov/codecov-action-3
Bump codecov/codecov-action from 2 to 3
2022-04-12 13:44:42 +02:00
dependabot[bot] 5b77ad49e8 Bump codecov/codecov-action from 2 to 3
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 2 to 3.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v2...v3)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-04-06 04:02:53 +00:00
CrazyMax 2a6fbda6d8 Merge pull request #132 from docker/dependabot/npm_and_yarn/minimist-1.2.6
Bump minimist from 1.2.5 to 1.2.6
2022-03-28 15:57:13 +02:00
dependabot[bot] 03815bdb06 Bump minimist from 1.2.5 to 1.2.6
Bumps [minimist](https://github.com/substack/minimist) from 1.2.5 to 1.2.6.
- [Release notes](https://github.com/substack/minimist/releases)
- [Commits](https://github.com/substack/minimist/compare/1.2.5...1.2.6)

---
updated-dependencies:
- dependency-name: minimist
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-27 13:36:56 +00:00
CrazyMax 130c56f342 Node 16 as default runtime
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-03-21 13:50:20 +01:00
CrazyMax 20111c6447 Merge pull request #130 from crazy-max/update-dev
chore: update dev dependencies and workflow
2022-03-21 13:48:45 +01:00
CrazyMax 2e23606dc9 chore: update dev dependencies and workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2022-03-21 13:43:41 +01:00
CrazyMax c62171c994 Merge pull request #129 from docker/dependabot/npm_and_yarn/actions/exec-1.1.1
Bump @actions/exec from 1.1.0 to 1.1.1
2022-03-21 09:15:00 +01:00
CrazyMax 63e7b23412 Merge pull request #128 from docker/dependabot/npm_and_yarn/actions/tool-cache-1.7.2
Bump @actions/tool-cache from 1.7.1 to 1.7.2
2022-03-21 09:14:45 +01:00
dependabot[bot] a7c4ed7e88 Bump @actions/exec from 1.1.0 to 1.1.1
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.1.0 to 1.1.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/tool-cache@1.1.1/packages/exec)

---
updated-dependencies:
- dependency-name: "@actions/exec"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 04:04:01 +00:00
dependabot[bot] 1f1648ab3d Bump @actions/tool-cache from 1.7.1 to 1.7.2
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.7.1 to 1.7.2.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

---
updated-dependencies:
- dependency-name: "@actions/tool-cache"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-18 04:03:51 +00:00
CrazyMax 766152f6a9 Merge pull request #126 from docker/dependabot/github_actions/actions/checkout-3
Bump actions/checkout from 2 to 3
2022-03-02 07:32:06 +01:00
dependabot[bot] 2895b304f6 Bump actions/checkout from 2 to 3
Bumps [actions/checkout](https://github.com/actions/checkout) from 2 to 3.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2...v3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-03-02 04:03:41 +00:00
CrazyMax 79abd3f86f Merge pull request #114 from crazy-max/update-workflow
dev: update workflow
2021-11-16 21:58:03 +01:00
CrazyMax 292fc577e1 dev: update workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-11-16 21:53:30 +01:00
CrazyMax 5146db6c4d Merge pull request #110 from docker/dependabot/npm_and_yarn/actions/core-1.6.0
Bump @actions/core from 1.5.0 to 1.6.0
2021-10-04 13:44:57 +02:00
CrazyMax a8ba68b618 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-10-04 13:42:40 +02:00
dependabot[bot] 68780ae5cd Bump @actions/core from 1.5.0 to 1.6.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.5.0 to 1.6.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-29 04:04:10 +00:00
CrazyMax f76216067a Merge pull request #109 from docker/dependabot/npm_and_yarn/ansi-regex-5.0.1
Bump ansi-regex from 5.0.0 to 5.0.1
2021-09-24 14:53:07 +02:00
dependabot[bot] 92ae2888fa Bump ansi-regex from 5.0.0 to 5.0.1
Bumps [ansi-regex](https://github.com/chalk/ansi-regex) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/chalk/ansi-regex/releases)
- [Commits](https://github.com/chalk/ansi-regex/compare/v5.0.0...v5.0.1)

---
updated-dependencies:
- dependency-name: ansi-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-24 12:07:19 +00:00
CrazyMax e2e5a5f8da Merge pull request #108 from docker/dependabot/npm_and_yarn/tmpl-1.0.5
Bump tmpl from 1.0.4 to 1.0.5
2021-09-24 14:06:54 +02:00
dependabot[bot] 50d73b9aba Bump tmpl from 1.0.4 to 1.0.5
Bumps [tmpl](https://github.com/daaku/nodejs-tmpl) from 1.0.4 to 1.0.5.
- [Release notes](https://github.com/daaku/nodejs-tmpl/releases)
- [Commits](https://github.com/daaku/nodejs-tmpl/commits/v1.0.5)

---
updated-dependencies:
- dependency-name: tmpl
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-09-22 01:51:23 +00:00
CrazyMax 94ab11c41e Merge pull request #106 from crazy-max/config-inline
Add `config-inline` input
2021-09-03 22:23:23 +02:00
CrazyMax 34e94a5fed Add config-inline input
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-09-03 22:21:33 +02:00
CrazyMax ee7ac3140a Merge pull request #104 from docker/dependabot/npm_and_yarn/actions/core-1.5.0
Bump @actions/core from 1.4.0 to 1.5.0
2021-08-20 10:58:12 +02:00
CrazyMax 93fe949311 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-08-20 10:56:04 +02:00
dependabot[bot] 75abbe0a7b Bump @actions/core from 1.4.0 to 1.5.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.4.0 to 1.5.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-08-20 04:04:09 +00:00
CrazyMax e639814ab4 Merge pull request #101 from docker/dependabot/github_actions/codecov/codecov-action-2.0.1
Bump codecov/codecov-action from 1 to 2.0.1
2021-07-23 13:01:36 +02:00
CrazyMax 96016fa2cf Use major
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-23 12:56:44 +02:00
CrazyMax cddc6485b4 Merge pull request #102 from crazy-max/update-deps
Use official images
2021-07-20 10:35:27 +02:00
CrazyMax 1e85bf381a Use official images
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-20 10:29:24 +02:00
dependabot[bot] 7c99741146 Bump codecov/codecov-action from 1 to 2.0.1
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from 1 to 2.0.1.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Changelog](https://github.com/codecov/codecov-action/blob/master/CHANGELOG.md)
- [Commits](https://github.com/codecov/codecov-action/compare/v1...v2.0.1)

---
updated-dependencies:
- dependency-name: codecov/codecov-action
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-07-20 04:02:19 +00:00
CrazyMax abe5d8f79a Merge pull request #100 from crazy-max/explicit-semver
Explicit version spec for caching
2021-07-12 13:23:18 +02:00
CrazyMax 580d5c72a2 Explicit version spec for caching
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-11 22:42:24 +02:00
CrazyMax e673438944 Merge pull request #99 from crazy-max/build-ref
Allow building buildx from source
2021-07-02 10:49:07 +02:00
CrazyMax f40e8894f1 Allow building buildx from source
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-07-02 07:02:33 +02:00
CrazyMax a1c666d855 Merge pull request #97 from crazy-max/fix-get-buildkit-version
Fix `docker: invalid reference format`
2021-06-29 14:04:53 +02:00
CrazyMax d5b70f51d8 Fix docker: invalid reference format
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-29 14:02:48 +02:00
CrazyMax 2e941f2def Merge pull request #95 from crazy-max/dev-deps
Update dev deps
2021-06-23 17:12:30 +02:00
CrazyMax eef74457f7 Update dev deps
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 17:03:04 +02:00
CrazyMax e168301d39 Merge pull request #94 from crazy-max/exec-output
Use built-in `getExecOutput`
2021-06-23 16:42:15 +02:00
CrazyMax 29f1eeb9e5 Use built-in getExecOutput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 16:11:57 +02:00
CrazyMax faca7837b0 Merge pull request #93 from crazy-max/bool-input
Use `core.getBooleanInput`
2021-06-23 15:49:45 +02:00
CrazyMax dffa64995b Use core.getBooleanInput
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 15:43:25 +02:00
CrazyMax c0e291b502 Merge pull request #86 from docker/dependabot/npm_and_yarn/actions/tool-cache-1.7.1
Bump @actions/tool-cache from 1.7.0 to 1.7.1
2021-06-23 15:01:18 +02:00
CrazyMax 2323559062 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 14:59:36 +02:00
dependabot[bot] e80b8cc6d8 Bump @actions/tool-cache from 1.7.0 to 1.7.1
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.7.0 to 1.7.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

---
updated-dependencies:
- dependency-name: "@actions/tool-cache"
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:30:27 +00:00
CrazyMax 31e7cc5f84 Merge pull request #85 from docker/dependabot/npm_and_yarn/actions/exec-1.1.0
Bump @actions/exec from 1.0.4 to 1.1.0
2021-06-23 14:28:46 +02:00
CrazyMax 9db0a23fb3 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 14:26:04 +02:00
dependabot[bot] 90e26af07a Bump @actions/exec from 1.0.4 to 1.1.0
Bumps [@actions/exec](https://github.com/actions/toolkit/tree/HEAD/packages/exec) from 1.0.4 to 1.1.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/exec/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/@actions/core@1.1.0/packages/exec)

---
updated-dependencies:
- dependency-name: "@actions/exec"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 12:17:11 +00:00
CrazyMax 01ed3f7910 Merge pull request #87 from docker/dependabot/npm_and_yarn/actions/core-1.4.0
Bump @actions/core from 1.3.0 to 1.4.0
2021-06-23 14:11:09 +02:00
CrazyMax 11ae4c31f6 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-06-23 13:56:24 +02:00
CrazyMax 983bf3e000 Merge pull request #91 from docker/dependabot/npm_and_yarn/y18n-4.0.3
Bump y18n from 4.0.0 to 4.0.3
2021-06-23 12:10:31 +02:00
CrazyMax 9a462131b5 Merge pull request #89 from docker/dependabot/npm_and_yarn/hosted-git-info-2.8.9
Bump hosted-git-info from 2.8.8 to 2.8.9
2021-06-23 12:09:47 +02:00
CrazyMax 1806a02fac Merge pull request #90 from docker/dependabot/npm_and_yarn/ws-7.5.0
Bump ws from 7.3.1 to 7.5.0
2021-06-23 12:09:30 +02:00
CrazyMax c1f17c078a Merge pull request #92 from docker/dependabot/npm_and_yarn/lodash-4.17.21
Bump lodash from 4.17.19 to 4.17.21
2021-06-23 12:01:51 +02:00
dependabot[bot] 76bfd425d8 Bump lodash from 4.17.19 to 4.17.21
Bumps [lodash](https://github.com/lodash/lodash) from 4.17.19 to 4.17.21.
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.19...4.17.21)

---
updated-dependencies:
- dependency-name: lodash
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 09:58:26 +00:00
dependabot[bot] 5a93241d03 Bump y18n from 4.0.0 to 4.0.3
Bumps [y18n](https://github.com/yargs/y18n) from 4.0.0 to 4.0.3.
- [Release notes](https://github.com/yargs/y18n/releases)
- [Changelog](https://github.com/yargs/y18n/blob/y18n-v4.0.3/CHANGELOG.md)
- [Commits](https://github.com/yargs/y18n/compare/v4.0.0...y18n-v4.0.3)

---
updated-dependencies:
- dependency-name: y18n
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 09:58:22 +00:00
dependabot[bot] 2f13c4010e Bump hosted-git-info from 2.8.8 to 2.8.9
Bumps [hosted-git-info](https://github.com/npm/hosted-git-info) from 2.8.8 to 2.8.9.
- [Release notes](https://github.com/npm/hosted-git-info/releases)
- [Changelog](https://github.com/npm/hosted-git-info/blob/v2.8.9/CHANGELOG.md)
- [Commits](https://github.com/npm/hosted-git-info/compare/v2.8.8...v2.8.9)

---
updated-dependencies:
- dependency-name: hosted-git-info
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 09:58:22 +00:00
dependabot[bot] 1dd5af0c3a Bump ws from 7.3.1 to 7.5.0
Bumps [ws](https://github.com/websockets/ws) from 7.3.1 to 7.5.0.
- [Release notes](https://github.com/websockets/ws/releases)
- [Commits](https://github.com/websockets/ws/compare/7.3.1...7.5.0)

---
updated-dependencies:
- dependency-name: ws
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-23 09:58:22 +00:00
dependabot[bot] 55dd79473c Bump @actions/core from 1.3.0 to 1.4.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.3.0 to 1.4.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

---
updated-dependencies:
- dependency-name: "@actions/core"
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
2021-06-08 04:04:34 +00:00
CrazyMax b1f1f719c7 Merge pull request #82 from docker/dependabot/npm_and_yarn/actions/tool-cache-1.7.0
Bump @actions/tool-cache from 1.6.1 to 1.7.0
2021-05-30 16:43:16 +02:00
CrazyMax 68810d1ede Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-05-30 16:41:24 +02:00
dependabot[bot] cd8b844a0a Bump @actions/tool-cache from 1.6.1 to 1.7.0
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.6.1 to 1.7.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-28 04:03:56 +00:00
CrazyMax 894f000c27 Merge pull request #80 from docker/dependabot/npm_and_yarn/actions/core-1.3.0
Bump @actions/core from 1.2.7 to 1.3.0
2021-05-25 02:57:25 +02:00
CrazyMax f080c7125b Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-05-25 02:52:57 +02:00
dependabot[bot] 49b8353604 Bump @actions/core from 1.2.7 to 1.3.0
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.7 to 1.3.0.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

Signed-off-by: dependabot[bot] <support@github.com>
2021-05-24 04:10:09 +00:00
CrazyMax 0d135e0c2f Merge pull request #72 from crazy-max/buildkit-version
Display BuildKit version
2021-04-28 22:06:10 +02:00
CrazyMax 36d8e005ca Display BuildKit version
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-28 18:09:01 +02:00
CrazyMax 012185ccbe Merge pull request #71 from crazy-max/remove-limitation
Remove os limitation
2021-04-23 23:12:37 +02:00
CrazyMax 881cacd606 Remove os limitation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-23 22:43:09 +02:00
CrazyMax 076026291d Merge pull request #68 from crazy-max/config-test
Add test job for config input
2021-04-23 22:37:54 +02:00
CrazyMax f4b1b8d38d Add test job for config input
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-23 22:26:59 +02:00
CrazyMax 316c3e4a7c Merge pull request #70 from crazy-max/debug-buildkitd
BuildKit container logs
2021-04-23 22:24:19 +02:00
CrazyMax 5b1c96aee8 Display BuildKit container logs
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-23 22:08:45 +02:00
CrazyMax 0f034385ce Merge pull request #69 from crazy-max/inspect
Enhance builder inspection
2021-04-23 19:34:42 +02:00
CrazyMax 72750233ac Enhance builder inspection
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-23 18:14:58 +02:00
CrazyMax abdb186058 Merge pull request #67 from GMartinez-Sisti/config-input
Add config input
2021-04-22 15:24:39 +02:00
Gabriel Martinez 9b365965c1 Add config input
Signed-off-by: Gabriel Martinez <gabrielmartinez@sisti.pt>
2021-04-22 14:05:31 +01:00
CrazyMax 583a3147f8 Merge pull request #65 from docker/dependabot/npm_and_yarn/actions/core-1.2.7
Bump @actions/core from 1.2.6 to 1.2.7
2021-04-16 15:23:02 +02:00
CrazyMax 2913c18445 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-16 14:49:12 +02:00
dependabot[bot] 26e1d017b6 Bump @actions/core from 1.2.6 to 1.2.7
Bumps [@actions/core](https://github.com/actions/toolkit/tree/HEAD/packages/core) from 1.2.6 to 1.2.7.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/core/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/core)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-14 04:08:35 +00:00
CrazyMax 2a4b53665e Merge pull request #63 from crazy-max/doc
Fix doc links
2021-04-06 16:35:30 +02:00
CrazyMax 03951fea2c Merge pull request #61 from docker/dependabot/npm_and_yarn/actions/http-client-1.0.11
Bump @actions/http-client from 1.0.9 to 1.0.11
2021-04-03 21:40:57 +02:00
CrazyMax 04f80b2fda Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-03 21:28:07 +02:00
dependabot[bot] 240d54e928 Bump @actions/http-client from 1.0.9 to 1.0.11
Bumps [@actions/http-client](https://github.com/actions/http-client) from 1.0.9 to 1.0.11.
- [Release notes](https://github.com/actions/http-client/releases)
- [Changelog](https://github.com/actions/http-client/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/http-client/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2021-04-03 19:12:54 +00:00
CrazyMax 070ea47eff Fix doc links
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-03 20:57:52 +02:00
CrazyMax d3872b2920 Merge pull request #62 from crazy-max/workflow
Enhance workflow
2021-04-02 11:23:21 +02:00
CrazyMax cb02c5f3d1 Enhance workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-04-02 01:19:20 +02:00
CrazyMax f0d07f4abd Merge pull request #59 from docker/dependabot/npm_and_yarn/semver-7.3.5
Bump semver from 7.3.4 to 7.3.5
2021-03-23 18:29:51 +01:00
CrazyMax 31740423d9 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-23 18:24:17 +01:00
dependabot[bot] f25fc8d621 Bump semver from 7.3.4 to 7.3.5
Bumps [semver](https://github.com/npm/node-semver) from 7.3.4 to 7.3.5.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.4...v7.3.5)

Signed-off-by: dependabot[bot] <support@github.com>
2021-03-23 05:49:51 +00:00
CrazyMax 8d9ae5d563 Merge pull request #58 from crazy-max/cleanup
Remove label workflow
2021-03-18 20:11:23 +01:00
CrazyMax 33d65376eb Remove label workflow
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-03-18 20:08:45 +01:00
CrazyMax 4ad06cec8a Merge pull request #56 from crazy-max/doc
Enhance doc
2021-02-17 19:06:17 +01:00
CrazyMax bae85ae215 Enhance doc
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-02-17 18:30:12 +01:00
CrazyMax 154c24e1f3 Merge pull request #50 from crazy-max/disable-clipping
Revert BuildKit step log limits tweak
2021-01-05 13:39:38 +01:00
CrazyMax 8f7787f9f5 Revert "Merge pull request #46 from crazy-max/disable-clipping"
This reverts commit 87e1457170, reversing
changes made to 370507b713.

Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-01-05 13:34:14 +01:00
Tõnis Tiigi 87e1457170 Merge pull request #46 from crazy-max/disable-clipping
Tweak BuildKit step log limits
2021-01-04 14:09:14 -08:00
CrazyMax 467d3396dc Tweak BuildKit step log limits
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-01-04 22:45:04 +01:00
CrazyMax 370507b713 Merge pull request #49 from crazy-max/bootstrap-builder
Override the configured builder instance
2021-01-04 19:06:19 +01:00
CrazyMax 0ddb9e80d4 Override the configured builder instance
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-01-04 19:04:04 +01:00
CrazyMax daf8c4fb8d Merge pull request #48 from crazy-max/builder-name
Improve builder name generation
2021-01-02 00:57:35 +01:00
CrazyMax db0ae322da Improve builder name generation
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2021-01-02 00:54:57 +01:00
Tõnis Tiigi 5c0276ad2c Merge pull request #43 from crazy-max/remove-tempfix
Remove hardcoded buildkit container image moby/buildkit:v0.8-beta
2020-12-06 14:29:23 -08:00
CrazyMax ca778fe8a3 Remove hardcoded buildkit container image moby/buildkit:v0.8-beta
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-06 11:11:17 +01:00
CrazyMax c3c3e01512 Merge pull request #42 from docker/dependabot/npm_and_yarn/semver-7.3.4
Bump semver from 7.3.2 to 7.3.4
2020-12-05 08:03:44 +01:00
CrazyMax a999bae018 Update generated content
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-12-05 07:17:58 +01:00
dependabot[bot] 4608f72b35 Bump semver from 7.3.2 to 7.3.4
Bumps [semver](https://github.com/npm/node-semver) from 7.3.2 to 7.3.4.
- [Release notes](https://github.com/npm/node-semver/releases)
- [Changelog](https://github.com/npm/node-semver/blob/master/CHANGELOG.md)
- [Commits](https://github.com/npm/node-semver/compare/v7.3.2...v7.3.4)

Signed-off-by: dependabot[bot] <support@github.com>
2020-12-02 06:10:04 +00:00
CrazyMax 07b1484797 Merge pull request #40 from crazy-max/master
Simplify README
2020-11-18 18:31:41 +01:00
CrazyMax 2ec180e24a Simplify README
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-18 18:30:28 +01:00
CrazyMax 8c8d171420 Merge pull request #39 from crazy-max/master
Update README and screenshot
2020-11-18 18:28:13 +01:00
CrazyMax 7b1571268a Update README and screenshot
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-18 18:25:03 +01:00
CrazyMax f9814f80df Merge pull request #36 from docker/dependabot/npm_and_yarn/actions/tool-cache-1.6.1
Bump @actions/tool-cache from 1.6.0 to 1.6.1
2020-11-18 18:19:55 +01:00
CrazyMax 6635284beb Merge pull request #38 from crazy-max/master
Use major version of actions
2020-11-18 18:16:17 +01:00
CrazyMax 3e60c35816 Use major version of actions
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-11-18 18:13:18 +01:00
dependabot[bot] f5f60fa737 Bump @actions/tool-cache from 1.6.0 to 1.6.1
Bumps [@actions/tool-cache](https://github.com/actions/toolkit/tree/HEAD/packages/tool-cache) from 1.6.0 to 1.6.1.
- [Release notes](https://github.com/actions/toolkit/releases)
- [Changelog](https://github.com/actions/toolkit/blob/main/packages/tool-cache/RELEASES.md)
- [Commits](https://github.com/actions/toolkit/commits/HEAD/packages/tool-cache)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-16 07:03:12 +00:00
CrazyMax 43c79af50b Merge pull request #34 from docker/dependabot/github_actions/actions/checkout-v2.3.4
Bump actions/checkout from v2.3.3 to v2.3.4
2020-11-12 20:11:01 +01:00
dependabot[bot] 0c969bab1f Bump actions/checkout from v2.3.3 to v2.3.4
Bumps [actions/checkout](https://github.com/actions/checkout) from v2.3.3 to v2.3.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v2.3.3...5a4ac9002d0be2fb38bd78e4b4dbde5606d7042f)

Signed-off-by: dependabot[bot] <support@github.com>
2020-11-04 06:07:09 +00:00
CrazyMax dc5191ec77 Merge pull request #32 from crazy-max/group-log-output
Group log output
2020-10-20 22:34:31 +02:00
CrazyMax f9ddc94e27 Group log output
Signed-off-by: CrazyMax <crazy-max@users.noreply.github.com>
2020-10-20 22:30:00 +02:00
CrazyMax 55b445ecbc Merge pull request #31 from docker/dependabot/github_actions/codecov/codecov-action-v1.0.14
Bump codecov/codecov-action from v1.0.13 to v1.0.14
2020-10-20 00:54:09 +02:00
dependabot[bot] 19625e207e Bump codecov/codecov-action from v1.0.13 to v1.0.14
Bumps [codecov/codecov-action](https://github.com/codecov/codecov-action) from v1.0.13 to v1.0.14.
- [Release notes](https://github.com/codecov/codecov-action/releases)
- [Commits](https://github.com/codecov/codecov-action/compare/v1.0.13...7d5dfa54903bd909319c580a00535b483d1efcf3)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-19 04:17:50 +00:00
CrazyMax ba442a71c2 Merge pull request #30 from docker/dependabot/npm_and_yarn/actions/http-client-1.0.9
Bump @actions/http-client from 1.0.8 to 1.0.9
2020-10-13 20:38:25 +02:00
CrazyMax bd58e36ac7 Bump @actions/http-client from 1.0.8 to 1.0.9
Bumps [@actions/http-client](https://github.com/actions/http-client) from 1.0.8 to 1.0.9.
- [Release notes](https://github.com/actions/http-client/releases)
- [Changelog](https://github.com/actions/http-client/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/http-client/commits)

Signed-off-by: dependabot[bot] <support@github.com>
2020-10-13 20:34:51 +02:00
56 changed files with 14392 additions and 12559 deletions

No files matched your search

+12
View File
@@ -0,0 +1,12 @@
/coverage
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/cache
.yarn/unplugged
.yarn/build-state.yml
.yarn/install-state.gz
.pnp.*
+2
View File
@@ -1,2 +1,4 @@
/.yarn/releases/** binary
/.yarn/plugins/** binary
/dist/** linguist-generated=true /dist/** linguist-generated=true
/lib/** linguist-generated=true /lib/** linguist-generated=true
-1
View File
@@ -1 +0,0 @@
* @crazy-max
+3
View File
@@ -0,0 +1,3 @@
# Code of conduct
- [Moby community guidelines](https://github.com/moby/moby/blob/master/CONTRIBUTING.md#moby-community-guidelines)
+11 -22
View File
@@ -2,35 +2,24 @@
Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great. Hi there! We're thrilled that you'd like to contribute to this project. Your help is essential for keeping it great.
Contributions to this project are [released](https://help.github.com/articles/github-terms-of-service/#6-contributions-under-repository-license) to the public under the [project's open source license](LICENSE). Contributions to this project are [released](https://docs.github.com/en/github/site-policy/github-terms-of-service#6-contributions-under-repository-license)
to the public under the [project's open source license](LICENSE).
## Submitting a pull request ## Submitting a pull request
1. [Fork](https://github.com/docker/setup-buildx-action/fork) and clone the repository 1. [Fork](https://github.com/docker/setup-buildx-action/fork) and clone the repository
2. Configure and install the dependencies: `yarn install` 2. Configure and install the dependencies: `yarn install`
3. Create a new branch: `git checkout -b my-branch-name` 3. Create a new branch: `git checkout -b my-branch-name`
4. Make your change, add tests, and make sure the tests still pass 4. Make your changes
5. Run pre-checkin: `yarn run pre-checkin` 5. Make sure the tests pass: `docker buildx bake test`
6. Push to your fork and [submit a pull request](https://github.com/docker/setup-buildx-action/compare) 6. Format code and build javascript artifacts: `docker buildx bake pre-checkin`
7. Pat yourself on the back and wait for your pull request to be reviewed and merged. 7. Validate all code has correctly formatted and built: `docker buildx bake validate`
8. Push to your fork and [submit a pull request](https://github.com/docker/setup-buildx-action/compare)
## Container based developer flow 9. Pat your self on the back and wait for your pull request to be reviewed and merged.
If you don't want to maintain a Node developer environment that fits this project you can use containerized commands instead of invoking yarn directly.
```
# format code and build javascript artifacts
docker buildx bake pre-checkin
# validate all code has correctly formatted and built
docker buildx bake validate
# run tests
docker buildx bake test
```
Here are a few things you can do that will increase the likelihood of your pull request being accepted: Here are a few things you can do that will increase the likelihood of your pull request being accepted:
- Write tests.
- Make sure the `README.md` and any other relevant **documentation are kept up-to-date**. - Make sure the `README.md` and any other relevant **documentation are kept up-to-date**.
- We try to follow [SemVer v2.0.0](https://semver.org/). Randomly breaking public APIs is not an option. - We try to follow [SemVer v2.0.0](https://semver.org/). Randomly breaking public APIs is not an option.
- Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as **separate pull requests**. - Keep your change as focused as possible. If there are multiple changes you would like to make that are not dependent upon each other, consider submitting them as **separate pull requests**.
@@ -39,5 +28,5 @@ Here are a few things you can do that will increase the likelihood of your pull
## Resources ## Resources
- [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) - [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/)
- [Using Pull Requests](https://help.github.com/articles/about-pull-requests/) - [Using Pull Requests](https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/about-pull-requests)
- [GitHub Help](https://help.github.com) - [GitHub Help](https://docs.github.com/en)
+101
View File
@@ -0,0 +1,101 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Bug Report
description: Report a bug
labels:
- status/triage
body:
- type: markdown
attributes:
value: |
Thank you for taking the time to report a bug!
If this is a security issue please report it to the [Docker Security team](mailto:security@docker.com).
- type: checkboxes
attributes:
label: Contributing guidelines
description: >
Make sure you've read the contributing guidelines before proceeding.
options:
- label: I've read the [contributing guidelines](https://github.com/docker/setup-buildx-action/blob/master/.github/CONTRIBUTING.md) and wholeheartedly agree
required: true
- type: checkboxes
attributes:
label: "I've found a bug, and:"
description: |
Make sure that your request fulfills all of the following requirements.
If one requirement cannot be satisfied, explain in detail why.
options:
- label: The documentation does not mention anything about my problem
- label: There are no open or closed issues that are related to my problem
- type: textarea
attributes:
label: Description
description: >
Provide a brief description of the bug in 1-2 sentences.
validations:
required: true
- type: textarea
attributes:
label: Expected behaviour
description: >
Describe precisely what you'd expect to happen.
validations:
required: true
- type: textarea
attributes:
label: Actual behaviour
description: >
Describe precisely what is actually happening.
validations:
required: true
- type: input
attributes:
label: Repository URL
description: >
Enter the URL of the repository where you are experiencing the
issue. If your repository is private, provide a link to a minimal
repository that reproduces the issue.
- type: input
attributes:
label: Workflow run URL
description: >
Enter the URL of the GitHub Action workflow run if public (e.g.
`https://github.com/<user>/<repo>/actions/runs/<id>`)
- type: textarea
attributes:
label: YAML workflow
description: |
Provide the YAML of the workflow that's causing the issue.
Make sure to remove any sensitive information.
render: yaml
validations:
required: true
- type: textarea
attributes:
label: Workflow logs
description: >
[Attach](https://docs.github.com/en/get-started/writing-on-github/working-with-advanced-formatting/attaching-files)
the [log file of your workflow run](https://docs.github.com/en/actions/managing-workflow-runs/using-workflow-run-logs#downloading-logs)
and make sure to remove any sensitive information.
- type: textarea
attributes:
label: BuildKit logs
description: >
If applicable, provide the [BuildKit container logs](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-container-logs)
render: text
- type: textarea
attributes:
label: Additional info
description: |
Provide any additional information that could be useful.
-33
View File
@@ -1,33 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
---
### Behaviour
#### Steps to reproduce this issue
1.
2.
3.
#### Expected behaviour
> Tell us what should happen
#### Actual behaviour
> Tell us what happens instead
### Configuration
* Repository URL (if public):
* Build URL (if public):
```yml
# paste your YAML workflow file here and remove sensitive data
```
### Logs
> Download the [log file of your build](https://help.github.com/en/actions/configuring-and-managing-workflows/managing-a-workflow-run#downloading-logs) and [attach it](https://help.github.com/en/github/managing-your-work-on-github/file-attachments-on-issues-and-pull-requests) to this issue.
+9
View File
@@ -0,0 +1,9 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/configuring-issue-templates-for-your-repository#configuring-the-template-chooser
blank_issues_enabled: true
contact_links:
- name: Questions and Discussions
url: https://github.com/docker/setup-buildx-action/discussions/new
about: Use Github Discussions to ask questions and/or open discussion topics.
- name: Documentation
url: https://docs.docker.com/build/ci/github-actions/
about: Read the documentation.
+15
View File
@@ -0,0 +1,15 @@
# https://docs.github.com/en/communities/using-templates-to-encourage-useful-issues-and-pull-requests/syntax-for-githubs-form-schema
name: Feature request
description: Missing functionality? Come tell us about it!
labels:
- kind/enhancement
- status/triage
body:
- type: textarea
id: description
attributes:
label: Description
description: What is the feature you want to see?
validations:
required: true
+12
View File
@@ -0,0 +1,12 @@
# Reporting security issues
The project maintainers take security seriously. If you discover a security
issue, please bring it to their attention right away!
**Please _DO NOT_ file a public issue**, instead send your report privately to
[security@docker.com](mailto:security@docker.com).
Security reports are greatly appreciated, and we will publicly thank you for it.
We also like to send gifts&mdash;if you'd like Docker swag, make sure to let
us know. We currently do not offer a paid security bounty program, but are not
ruling it out in the future.
-31
View File
@@ -1,31 +0,0 @@
# Support [![](https://isitmaintained.com/badge/resolution/docker/setup-buildx-action.svg)](https://isitmaintained.com/project/docker/setup-buildx-action)
First, [be a good guy](https://github.com/kossnocorp/etiquette/blob/master/README.md).
## Reporting an issue
Please do a search in [open issues](https://github.com/docker/setup-buildx-action/issues?utf8=%E2%9C%93&q=) to see if the issue or feature request has already been filed.
If you find your issue already exists, make relevant comments and add your [reaction](https://github.com/blog/2119-add-reactions-to-pull-requests-issues-and-comments). Use a reaction in place of a "+1" comment.
:+1: - upvote
:-1: - downvote
If you cannot find an existing issue that describes your bug or feature, submit an issue using the guidelines below.
## Writing good bug reports and feature requests
File a single issue per problem and feature request.
* Do not enumerate multiple bugs or feature requests in the same issue.
* Do not add your issue as a comment to an existing issue unless it's for the identical input. Many issues look similar, but have different causes.
The more information you can provide, the more likely someone will be successful reproducing the issue and finding a fix.
You are now ready to [create a new issue](https://github.com/docker/setup-buildx-action/issues/new/choose)!
## Closure policy
* Issues that don't have the information requested above (when applicable) will be closed immediately and the poster directed to the support guidelines.
* Issues that go a week without a response from original poster are subject to closure at our discretion.
+15 -8
View File
@@ -4,19 +4,26 @@ updates:
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
time: "06:00" cooldown:
timezone: "Europe/Paris" default-days: 2
groups:
crazy-max-dot-github:
patterns:
- "crazy-max/.github/*"
labels: labels:
- ":game_die: dependencies" - "dependencies"
- ":robot: bot" - "bot"
- package-ecosystem: "npm" - package-ecosystem: "npm"
directory: "/" directory: "/"
schedule: schedule:
interval: "daily" interval: "daily"
time: "06:00" cooldown:
timezone: "Europe/Paris" default-days: 2
exclude:
- "@docker/actions-toolkit"
versioning-strategy: "increase"
allow: allow:
- dependency-type: "production" - dependency-type: "production"
labels: labels:
- ":game_die: dependencies" - "dependencies"
- ":robot: bot" - "bot"
-77
View File
@@ -1,77 +0,0 @@
## more info https://github.com/crazy-max/ghaction-github-labeler
- # automerge
name: ":bell: automerge"
color: "8f4fbc"
description: ""
- # bot
name: ":robot: bot"
color: "69cde9"
description: ""
- # bug
name: ":bug: bug"
color: "b60205"
description: ""
- # dependencies
name: ":game_die: dependencies"
color: "0366d6"
description: ""
- # documentation
name: ":memo: documentation"
color: "c5def5"
description: ""
- # duplicate
name: ":busts_in_silhouette: duplicate"
color: "cccccc"
description: ""
- # enhancement
name: ":sparkles: enhancement"
color: "0054ca"
description: ""
- # feature request
name: ":bulb: feature request"
color: "0e8a16"
description: ""
- # feedback
name: ":mega: feedback"
color: "03a9f4"
description: ""
- # future maybe
name: ":rocket: future maybe"
color: "fef2c0"
description: ""
- # good first issue
name: ":hatching_chick: good first issue"
color: "7057ff"
description: ""
- # help wanted
name: ":pray: help wanted"
color: "4caf50"
description: ""
- # hold
name: ":hand: hold"
color: "24292f"
description: ""
- # invalid
name: ":no_entry_sign: invalid"
color: "e6e6e6"
description: ""
- # maybe bug
name: ":interrobang: maybe bug"
color: "ff5722"
description: ""
- # needs more info
name: ":thinking: needs more info"
color: "795548"
description: ""
- # question
name: ":question: question"
color: "3f51b5"
description: ""
- # upstream
name: ":eyes: upstream"
color: "fbca04"
description: ""
- # wontfix
name: ":coffin: wontfix"
color: "ffffff"
description: ""
Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 15 KiB

+441 -47
View File
@@ -1,18 +1,23 @@
name: ci name: ci
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on: on:
workflow_dispatch:
schedule:
- cron: '0 10 * * *'
push: push:
branches: branches:
- master - 'master'
- releases/v* - 'releases/v*'
paths-ignore: tags:
- "**.md" - 'v*'
pull_request: pull_request:
branches:
- master
- releases/v*
paths-ignore:
- "**.md"
jobs: jobs:
main: main:
@@ -21,13 +26,16 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
buildx-version: buildx-version:
- latest
- v0.2.2
- "" - ""
- "latest"
- "v0.4.1"
- "cloud:latest"
- "cloud:v0.11.2-desktop.2"
- "lab:latest"
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Set up Docker Buildx name: Set up Docker Buildx
id: buildx id: buildx
@@ -35,51 +43,80 @@ jobs:
with: with:
version: ${{ matrix.buildx-version }} version: ${{ matrix.buildx-version }}
- -
name: Builder instance name name: Nodes output
run: echo ${{ steps.buildx.outputs.name }} run: |
- cat << EOF
name: Available platforms ${{ steps.buildx.outputs.nodes }}
run: echo ${{ steps.buildx.outputs.platforms }} EOF
-
name: Dump context
uses: crazy-max/ghaction-dump-context@v1
multi: multi:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Set up Docker Buildx 1 name: Set up Docker Buildx 1
id: buildx1
uses: ./ uses: ./
-
name: Builder 1 instance name
run: echo ${{ steps.buildx1.outputs.name }}
- -
name: Set up Docker Buildx 2 name: Set up Docker Buildx 2
id: buildx2
uses: ./ uses: ./
-
name: Builder 2 instance name
run: echo ${{ steps.buildx2.outputs.name }}
install: error:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Stop docker
run: |
sudo systemctl stop docker docker.socket
-
name: Set up Docker Buildx
id: buildx
continue-on-error: true
uses: ./
-
name: Check
run: |
echo "${{ toJson(steps.buildx) }}"
if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi
-
name: Dump context
if: always()
uses: crazy-max/ghaction-dump-context@5d2753e7076f4568c7729971e25231f32147e2d8 # v3.0.0
debug:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
RUN uname -a
EOL
-
name: Set up QEMU
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: ./ uses: ./
with: with:
install: true buildkitd-flags: --debug
- -
name: Check cmd name: Build
run: | uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
docker build --help with:
context: .
platforms: linux/amd64,linux/arm64,linux/ppc64le
use: use:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -92,7 +129,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: ./ uses: ./
@@ -115,7 +152,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: ./ uses: ./
@@ -128,7 +165,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Set up Docker Buildx name: Set up Docker Buildx
uses: ./ uses: ./
@@ -147,7 +184,7 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
services: services:
dind: dind:
image: docker:dind image: docker:29.3-dind@sha256:4d90f1f6c400315c2dba96d3ec93c01e64198395cbba04f79d12adce4f737029
options: >- options: >-
--privileged --privileged
--health-cmd "docker info" --health-cmd "docker info"
@@ -161,7 +198,7 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Create context name: Create context
run: | run: |
@@ -175,6 +212,67 @@ jobs:
uses: ./ uses: ./
with: with:
endpoint: mycontext endpoint: mycontext
env:
DOCKER_CONTEXT: mycontext
buildkitd-config:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Create buildkitd conf
run: |
cat > /tmp/buildkitd.toml <<EOL
debug = true
[registry."docker.io"]
mirrors = ["mirror.gcr.io"]
EOL
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Set up Docker Buildx
uses: ./
with:
buildkitd-flags: --debug
buildkitd-config: /tmp/buildkitd.toml
-
name: Build
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
buildkitd-config-inline:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Set up Docker Buildx
uses: ./
with:
buildkitd-flags: --debug
buildkitd-config-inline: |
debug = true
[registry."docker.io"]
mirrors = ["mirror.gcr.io"]
-
name: Build
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
with-qemu: with-qemu:
runs-on: ubuntu-latest runs-on: ubuntu-latest
@@ -182,8 +280,7 @@ jobs:
fail-fast: false fail-fast: false
matrix: matrix:
buildx-version: buildx-version:
- latest - v0.9.1
- v0.2.2
- "" - ""
qemu-platforms: qemu-platforms:
- all - all
@@ -191,10 +288,10 @@ jobs:
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
with: with:
platforms: ${{ matrix.qemu-platforms }} platforms: ${{ matrix.qemu-platforms }}
- -
@@ -204,8 +301,305 @@ jobs:
with: with:
version: ${{ matrix.buildx-version }} version: ${{ matrix.buildx-version }}
- -
name: Available platforms name: List builder platforms
run: echo ${{ steps.buildx.outputs.platforms }} run: echo ${{ steps.buildx.outputs.platforms }}
build-ref:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
ref:
- master
- refs/tags/v0.5.1
- refs/pull/731/head
- cb185f095fd3d9444e0aa605d3789e9e05f2a1e7
steps:
- -
name: Builder instance name name: Checkout
run: echo ${{ steps.buildx.outputs.name }} uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up Docker Buildx
uses: ./
with:
version: https://github.com/docker/buildx.git#${{ matrix.ref }}
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Build
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
standalone-cmd:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Uninstall docker cli
run: |
if dpkg -s "docker-ce" >/dev/null 2>&1; then
sudo dpkg -r --force-depends docker-ce-cli docker-buildx-plugin
else
sudo apt-get purge -y moby-cli moby-buildx
fi
-
name: Set up Docker Buildx
uses: ./
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Build
run: |
buildx build .
standalone-action:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Uninstall docker cli
run: |
if dpkg -s "docker-ce" >/dev/null 2>&1; then
sudo dpkg -r --force-depends docker-ce-cli docker-buildx-plugin
else
sudo apt-get purge -y moby-cli moby-buildx
fi
-
name: Set up Docker Buildx
uses: ./
with:
version: ${{ matrix.buildx-version }}
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
EOL
-
name: Build
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
append:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Create dummy contexts
run: |
docker context create ctxbuilder2
docker context create ctxbuilder3
-
name: Set up Docker Buildx
id: buildx
uses: ./
with:
append: |
- name: builder2
endpoint: ctxbuilder2
platforms: linux/amd64
driver-opts:
- image=moby/buildkit:master
- network=host
- endpoint: ctxbuilder3
platforms: linux/arm64
-
name: List builder platforms
run: echo ${{ steps.buildx.outputs.platforms }}
platforms:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up QEMU
uses: docker/setup-qemu-action@ce360397dd3f832beb865e1373c09c0e9f86d70a # v4.0.0
-
name: Set up Docker Buildx
uses: ./
with:
platforms: linux/amd64
docker-context:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Create Docker context
run: |
docker context create foo
docker context use foo
-
name: Set up Docker Buildx
uses: ./
with:
driver: docker
cleanup:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cleanup:
- true
- false
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up Docker Buildx
uses: ./
with:
cleanup: ${{ matrix.cleanup }}
k3s:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
version:
- latest
- v0.11.0
- v0.10.5
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Install k3s
uses: crazy-max/.github/.github/actions/install-k3s@9ba6e6f9450baf3b1237f8035c1fdc45932510bd # v1.8.0
-
name: Set up Docker Buildx
id: buildx
uses: ./
with:
version: ${{ matrix.version }}
driver: kubernetes
platforms: linux/amd64
driver-opts: |
image=moby/buildkit:buildx-stable-1
qemu.install=true
append: |
- platforms: linux/arm64
driver-opts:
- image=moby/buildkit:buildx-stable-1
- qemu.install=true
- platforms: linux/s390x
driver-opts:
- image=moby/buildkit:buildx-stable-1
- qemu.install=true
-
name: Create Dockerfile
run: |
cat > ./Dockerfile <<EOL
FROM alpine
RUN uname -a
EOL
-
name: Build
uses: docker/build-push-action@bcafcacb16a39f128d818304e6c9c0c18556b85f # v7.1.0
with:
context: .
cache-binary:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
cache:
- true
- false
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up Docker Buildx
uses: ./
with:
version: v0.11.2
cache-binary: ${{ matrix.cache }}
windows-error:
runs-on: windows-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up Docker Buildx
id: buildx
continue-on-error: true
uses: ./
-
name: Check
run: |
echo "${{ toJson(steps.buildx) }}"
if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi
shell: bash
keep-state:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up Docker Buildx
uses: ./
with:
name: foo
keep-state: true
-
name: Set up Docker Buildx
uses: ./
with:
name: foo
keep-state: true
keep-state-error:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Set up Docker Buildx
id: buildx
continue-on-error: true
uses: ./
with:
driver: docker
keep-state: true
-
name: Check
run: |
echo "${{ toJson(steps.buildx) }}"
if [ "${{ steps.buildx.outcome }}" != "failure" ] || [ "${{ steps.buildx.conclusion }}" != "success" ]; then
echo "::error::Should have failed"
exit 1
fi
+46
View File
@@ -0,0 +1,46 @@
name: codeql
permissions:
contents: read
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
env:
NODE_VERSION: "24"
jobs:
analyze:
runs-on: ubuntu-latest
permissions:
contents: read
security-events: write
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Enable corepack
run: |
corepack enable
yarn --version
-
name: Set up Node
uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
with:
node-version: ${{ env.NODE_VERSION }}
-
name: Initialize CodeQL
uses: github/codeql-action/init@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4.35.5
with:
languages: javascript-typescript
build-mode: none
-
name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@9e0d7b8d25671d64c341c19c0152d693099fb5ba # v4.35.5
with:
category: "/language:javascript-typescript"
-20
View File
@@ -1,20 +0,0 @@
name: labels
on:
push:
branches:
- 'master'
paths:
- '.github/labels.yml'
- '.github/workflows/labels.yml'
jobs:
labeler:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.3.3
-
name: Run Labeler
uses: crazy-max/ghaction-github-labeler@v3.1.0
+17
View File
@@ -0,0 +1,17 @@
name: pr-assign-author
permissions:
contents: read
on:
pull_request_target: # zizmor: ignore[dangerous-triggers] safe to use without checkout
types:
- opened
- reopened
jobs:
run:
uses: crazy-max/.github/.github/workflows/pr-assign-author.yml@9ba6e6f9450baf3b1237f8035c1fdc45932510bd # v1.8.0
permissions:
contents: read
pull-requests: write
+28
View File
@@ -0,0 +1,28 @@
name: publish
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
release:
types:
- published
jobs:
publish:
runs-on: ubuntu-latest
permissions:
contents: read
id-token: write
packages: write
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Publish
uses: actions/publish-immutable-action@4bc8754ffc40f27910afb20287dbbbb675a4e978 # v0.0.4
+18 -26
View File
@@ -1,46 +1,38 @@
name: test name: test
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on: on:
push: push:
branches: branches:
- master - 'master'
- releases/v* - 'releases/v*'
paths-ignore:
- "**.md"
pull_request: pull_request:
paths-ignore:
- "**.md"
jobs: jobs:
test-containerized:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2.3.3
-
name: Validate
run: docker buildx bake validate
-
name: Test
run: docker buildx bake test
test: test:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- -
name: Checkout name: Checkout
uses: actions/checkout@v2.3.3 uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
- -
name: Install name: Set up Docker Buildx
run: yarn install uses: ./
- -
name: Test name: Test
run: yarn run test uses: docker/bake-action@a66e1c87e2eca0503c343edf1d208c716d54b8a8 # v7.1.0
with:
source: .
targets: test
- -
name: Upload coverage name: Upload coverage
uses: codecov/codecov-action@v1.0.13 uses: codecov/codecov-action@e79a6962e0d4c0c17b229090214935d2e33f8354 # v6.0.1
if: success()
with: with:
files: ./coverage/clover.xml
token: ${{ secrets.CODECOV_TOKEN }} token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage/clover.xml
+58
View File
@@ -0,0 +1,58 @@
name: update-dist
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
pull_request:
types:
- opened
- synchronize
jobs:
update-dist:
if: github.actor == 'dependabot[bot]' && github.event.pull_request.user.login == 'dependabot[bot]' && github.repository == github.event.pull_request.head.repo.full_name
runs-on: ubuntu-latest
steps:
-
name: GitHub auth token from GitHub App
id: docker-read-app
uses: actions/create-github-app-token@bcd2ba49218906704ab6c1aa796996da409d3eb1 # v3.2.0
with:
app-id: ${{ secrets.GHACTIONS_REPO_WRITE_APP_ID }}
private-key: ${{ secrets.GHACTIONS_REPO_WRITE_APP_PRIVATE_KEY }}
owner: docker
repositories: setup-buildx-action
permission-contents: write
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
with:
ref: ${{ github.event.pull_request.head.ref }}
fetch-depth: 0
token: ${{ steps.docker-read-app.outputs.token }}
-
name: Build
uses: docker/bake-action@a66e1c87e2eca0503c343edf1d208c716d54b8a8 # v7.1.0
with:
source: .
targets: build
-
name: Commit and push dist
run: |
if [ -n "$(git status --porcelain -- dist)" ]; then
(
set -x
git config user.name "github-actions[bot]"
git config user.email "41898282+github-actions[bot]@users.noreply.github.com"
git add dist
git commit -m "chore: update generated content"
git push
)
else
echo "No changes in dist"
fi
+46
View File
@@ -0,0 +1,46 @@
name: validate
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
push:
branches:
- 'master'
- 'releases/v*'
pull_request:
jobs:
prepare:
runs-on: ubuntu-latest
outputs:
matrix: ${{ steps.generate.outputs.matrix }}
steps:
-
name: Checkout
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
-
name: Generate matrix
id: generate
uses: docker/bake-action/subaction/matrix@a66e1c87e2eca0503c343edf1d208c716d54b8a8 # v7.1.0
with:
target: validate
validate:
runs-on: ubuntu-latest
needs:
- prepare
strategy:
fail-fast: false
matrix:
include: ${{ fromJson(needs.prepare.outputs.matrix) }}
steps:
-
name: Validate
uses: docker/bake-action@a66e1c87e2eca0503c343edf1d208c716d54b8a8 # v7.1.0
with:
targets: ${{ matrix.target }}
+29
View File
@@ -0,0 +1,29 @@
name: zizmor
permissions:
contents: read
concurrency:
group: ${{ github.workflow }}-${{ github.ref }}
cancel-in-progress: true
on:
workflow_dispatch:
push:
branches:
- 'master'
- 'releases/v*'
tags:
- 'v*'
pull_request:
jobs:
zizmor:
uses: crazy-max/.github/.github/workflows/zizmor.yml@9ba6e6f9450baf3b1237f8035c1fdc45932510bd # v1.8.0
permissions:
contents: read
security-events: write
with:
min-severity: medium
min-confidence: medium
persona: pedantic
+14 -57
View File
@@ -1,12 +1,5 @@
/.dev # https://raw.githubusercontent.com/github/gitignore/main/Node.gitignore
node_modules
lib
# Jetbrains
/.idea
/*.iml
# Rest of the file pulled from https://github.com/github/gitignore/blob/master/Node.gitignore
# Logs # Logs
logs logs
*.log *.log
@@ -14,6 +7,7 @@ npm-debug.log*
yarn-debug.log* yarn-debug.log*
yarn-error.log* yarn-error.log*
lerna-debug.log* lerna-debug.log*
.pnpm-debug.log*
# Diagnostic reports (https://nodejs.org/api/report.html) # Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@@ -24,34 +18,14 @@ pids
*.seed *.seed
*.pid.lock *.pid.lock
# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov
# Coverage directory used by tools like istanbul # Coverage directory used by tools like istanbul
coverage coverage
*.lcov *.lcov
# nyc test coverage
.nyc_output
# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files)
.grunt
# Bower dependency directory (https://bower.io/)
bower_components
# node-waf configuration
.lock-wscript
# Compiled binary addons (https://nodejs.org/api/addons.html)
build/Release
# Dependency directories # Dependency directories
node_modules/
jspm_packages/ jspm_packages/
# TypeScript v1 declaration files
typings/
# TypeScript cache # TypeScript cache
*.tsbuildinfo *.tsbuildinfo
@@ -61,36 +35,19 @@ typings/
# Optional eslint cache # Optional eslint cache
.eslintcache .eslintcache
# Optional REPL history
.node_repl_history
# Output of 'npm pack'
*.tgz
# Yarn Integrity file # Yarn Integrity file
.yarn-integrity .yarn-integrity
# dotenv environment variables file # dotenv environment variable files
.env .env
.env.test .env.development.local
.env.test.local
.env.production.local
.env.local
# parcel-bundler cache (https://parceljs.org/) # yarn v2
.cache .yarn/cache
.yarn/unplugged
# next.js build output .yarn/build-state.yml
.next .yarn/install-state.gz
.pnp.*
# nuxt.js build output
.nuxt
# vuepress build output
.vuepress/dist
# Serverless directories
.serverless/
# FuseBox cache
.fusebox/
# DynamoDB Local files
.dynamodb/
+6
View File
@@ -0,0 +1,6 @@
# Dependency directories
node_modules/
jspm_packages/
# yarn v2
.yarn/
+2 -3
View File
@@ -1,11 +1,10 @@
{ {
"printWidth": 120, "printWidth": 240,
"tabWidth": 2, "tabWidth": 2,
"useTabs": false, "useTabs": false,
"semi": true, "semi": true,
"singleQuote": true, "singleQuote": true,
"trailingComma": "none", "trailingComma": "none",
"bracketSpacing": false, "bracketSpacing": false,
"arrowParens": "avoid", "arrowParens": "avoid"
"parser": "typescript"
} }
+17
View File
@@ -0,0 +1,17 @@
# https://yarnpkg.com/configuration/yarnrc
compressionLevel: mixed
enableGlobalCache: false
enableHardenedMode: true
logFilters:
- code: YN0013
level: discard
- code: YN0019
level: discard
- code: YN0076
level: discard
- code: YN0086
level: discard
nodeLinker: node-modules
-52
View File
@@ -1,52 +0,0 @@
#syntax=docker/dockerfile:1.1-experimental
FROM node:14 AS deps
WORKDIR /src
COPY package.json yarn.lock ./
RUN --mount=type=cache,target=/usr/local/share/.cache/yarn \
yarn install
FROM scratch AS update-yarn
COPY --from=deps /src/yarn.lock /
FROM deps AS validate-yarn
COPY .git .git
RUN status=$(git status --porcelain -- yarn.lock); if [ -n "$status" ]; then echo $status; exit 1; fi
FROM deps AS base
COPY . .
FROM base AS build
RUN yarn build
FROM deps AS test
COPY --from=docker /usr/local/bin/docker /usr/bin/
ARG TARGETOS
ARG TARGETARCH
ARG BUILDX_VERSION=v0.4.2
ENV RUNNER_TEMP=/tmp/github_runner
ENV RUNNER_TOOL_CACHE=/tmp/github_tool_cache
RUN mkdir -p /usr/local/lib/docker/cli-plugins && \
curl -fsSL https://github.com/docker/buildx/releases/download/$BUILDX_VERSION/buildx-$BUILDX_VERSION.$TARGETOS-$TARGETARCH > /usr/local/lib/docker/cli-plugins/docker-buildx && \
chmod +x /usr/local/lib/docker/cli-plugins/docker-buildx && \
docker buildx version
COPY . .
RUN yarn run test
FROM base AS run-format
RUN yarn run format
FROM scratch AS format
COPY --from=run-format /src/src/*.ts /src/
FROM base AS validate-format
RUN yarn run format-check
FROM scratch AS dist
COPY --from=build /src/dist/ /dist/
FROM build AS validate-build
RUN status=$(git status --porcelain -- dist); if [ -n "$status" ]; then echo $status; exit 1; fi
FROM base AS dev
ENTRYPOINT ["bash"]
+97 -120
View File
@@ -1,37 +1,35 @@
[![GitHub release](https://img.shields.io/github/release/docker/setup-buildx-action.svg?style=flat-square)](https://github.com/docker/setup-buildx-action/releases/latest) [![GitHub release](https://img.shields.io/github/release/docker/setup-buildx-action.svg?style=flat-square)](https://github.com/docker/setup-buildx-action/releases/latest)
[![GitHub marketplace](https://img.shields.io/badge/marketplace-docker--setup--buildx-blue?logo=github&style=flat-square)](https://github.com/marketplace/actions/docker-setup-buildx) [![GitHub marketplace](https://img.shields.io/badge/marketplace-docker--setup--buildx-blue?logo=github&style=flat-square)](https://github.com/marketplace/actions/docker-setup-buildx)
[![CI workflow](https://img.shields.io/github/workflow/status/docker/setup-buildx-action/ci?label=ci&logo=github&style=flat-square)](https://github.com/docker/setup-buildx-action/actions?workflow=ci) [![CI workflow](https://img.shields.io/github/actions/workflow/status/docker/setup-buildx-action/ci.yml?branch=master&label=ci&logo=github&style=flat-square)](https://github.com/docker/setup-buildx-action/actions?workflow=ci)
[![Test workflow](https://img.shields.io/github/workflow/status/docker/setup-buildx-action/test?label=test&logo=github&style=flat-square)](https://github.com/docker/setup-buildx-action/actions?workflow=test) [![Test workflow](https://img.shields.io/github/actions/workflow/status/docker/setup-buildx-action/test.yml?branch=master&label=test&logo=github&style=flat-square)](https://github.com/docker/setup-buildx-action/actions?workflow=test)
[![Codecov](https://img.shields.io/codecov/c/github/docker/setup-buildx-action?logo=codecov&style=flat-square)](https://codecov.io/gh/docker/setup-buildx-action) [![Codecov](https://img.shields.io/codecov/c/github/docker/setup-buildx-action?logo=codecov&style=flat-square)](https://codecov.io/gh/docker/setup-buildx-action)
## About ## About
GitHub Action to set up Docker [Buildx](https://github.com/docker/buildx). GitHub Action to set up Docker [Buildx](https://github.com/docker/buildx).
> :bulb: See also: This action will create and boot a builder that can be used in the following
> * [login](https://github.com/docker/login-action) action steps of your workflow if you're using Buildx or the [`build-push` action](https://github.com/docker/build-push-action/).
> * [setup-qemu](https://github.com/docker/setup-qemu-action) action By default, the [`docker-container` driver](https://docs.docker.com/build/building/drivers/docker-container/)
> * [build-push](https://github.com/docker/build-push-action) action will be used to be able to build multi-platform images and export cache using
a [BuildKit](https://github.com/moby/buildkit) container.
![Screenshot](.github/setup-buildx-action.png) ![Screenshot](.github/setup-buildx-action.png)
___ ___
* [Usage](#usage) * [Usage](#usage)
* [Quick start](#quick-start) * [Configuring your builder](#configuring-your-builder)
* [With QEMU](#with-qemu)
* [Install by default](#install-by-default)
* [Customizing](#customizing) * [Customizing](#customizing)
* [inputs](#inputs) * [inputs](#inputs)
* [outputs](#outputs) * [outputs](#outputs)
* [environment variables](#environment-variables) * [environment variables](#environment-variables)
* [Keep up-to-date with GitHub Dependabot](#keep-up-to-date-with-github-dependabot) * [Notes](#notes)
* [Limitation](#limitation) * [`nodes` output](#nodes-output)
* [Contributing](#contributing)
## Usage ## Usage
### Quick start
```yaml ```yaml
name: ci name: ci
@@ -43,142 +41,121 @@ jobs:
runs-on: ubuntu-latest runs-on: ubuntu-latest
steps: steps:
- -
name: Checkout # Add support for more platforms with QEMU (optional)
uses: actions/checkout@v2 # https://github.com/docker/setup-qemu-action
-
name: Set up Docker Buildx
id: buildx
uses: docker/setup-buildx-action@v1
with:
version: latest
-
name: Builder instance name
run: echo ${{ steps.buildx.outputs.name }}
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
```
### With QEMU
If you want support for more platforms you can use our [setup-qemu](https://github.com/docker/setup-qemu-action) action:
```yaml
name: ci
on:
push:
jobs:
buildx:
runs-on: ubuntu-latest
steps:
-
name: Checkout
uses: actions/checkout@v2
-
name: Set up QEMU name: Set up QEMU
uses: docker/setup-qemu-action@v1 uses: docker/setup-qemu-action@v4
with:
platforms: all
- -
name: Set up Docker Buildx name: Set up Docker Buildx
id: buildx uses: docker/setup-buildx-action@v4
uses: docker/setup-buildx-action@v1
with:
version: latest
-
name: Available platforms
run: echo ${{ steps.buildx.outputs.platforms }}
``` ```
### Install by default ## Configuring your builder
Implemented with https://github.com/docker/buildx#setting-buildx-as-default-builder-in-docker-1903 * [Version pinning](https://docs.docker.com/build/ci/github-actions/configure-builder/#version-pinning): Pin to a specific Buildx or BuildKit version
* [BuildKit container logs](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-container-logs): Enable BuildKit container logs for debugging purposes
```yaml * [BuildKit Daemon configuration](https://docs.docker.com/build/ci/github-actions/configure-builder/#buildkit-daemon-configuration)
name: ci * [Registry mirror](https://docs.docker.com/build/ci/github-actions/configure-builder/#registry-mirror): Configure a registry mirror for your builds
* [Max parallelism](https://docs.docker.com/build/ci/github-actions/configure-builder/#max-parallelism): Configure the maximum parallelism for your builds
on: * [Append additional nodes to the builder](https://docs.docker.com/build/ci/github-actions/configure-builder/#append-additional-nodes-to-the-builder): Create additional nodes for your builder
push: * [Authentication for remote builders](https://docs.docker.com/build/ci/github-actions/configure-builder/#authentication-for-remote-builders)
* [SSH authentication](https://docs.docker.com/build/ci/github-actions/configure-builder/#ssh-authentication): Authenticate to a remote builder using SSH
jobs: * [TLS authentication](https://docs.docker.com/build/ci/github-actions/configure-builder/#tls-authentication): Authenticate to a remote builder using TLS
buildx: * [Standalone mode](https://docs.docker.com/build/ci/github-actions/configure-builder/#standalone-mode): Use Buildx as a standalone binary (without the Docker CLI)
runs-on: ubuntu-latest * [Isolated builders](https://docs.docker.com/build/ci/github-actions/configure-builder/#isolated-builders): Create isolated builders for your builds
steps:
-
name: Checkout
uses: actions/checkout@v2
-
uses: docker/setup-buildx-action@v1
id: buildx
with:
install: true
-
name: Build
run: |
docker build . # will run buildx
```
## Customizing ## Customizing
### inputs ### inputs
Following inputs can be used as `step.with` keys The following inputs can be used as `step.with` keys:
| Name | Type | Description | > `List` type is a newline-delimited string
|--------------------|---------|-----------------------------------|
| `version` | String | [Buildx](https://github.com/docker/buildx) version. (eg. `v0.3.0`, `latest`) |
| `driver` | String | Sets the [builder driver](https://github.com/docker/buildx#--driver-driver) to be used (default `docker-container`) |
| `driver-opts` | CSV | List of additional [driver-specific options](https://github.com/docker/buildx#--driver-opt-options) (eg. `image=moby/buildkit:master`) |
| `buildkitd-flags` | String | [Flags for buildkitd](https://github.com/moby/buildkit/blob/master/docs/buildkitd.toml.md) daemon (since [buildx v0.3.0](https://github.com/docker/buildx/releases/tag/v0.3.0)) |
| `install` | Bool | Sets up `docker build` command as an alias to `docker buildx` (default `false`) |
| `use` | Bool | Switch to this builder instance (default `true`) |
| `endpoint` | String | [Optional address for docker socket](https://github.com/docker/buildx#buildx-create-options-contextendpoint) or context from `docker context ls` |
> `CSV` type must be a newline-delimited string
> ```yaml
> driver-opts: image=moby/buildkit:master
> ```
> ```yaml > ```yaml
> driver-opts: | > driver-opts: |
> image=moby/buildkit:master > image=moby/buildkit:master
> network=host > network=host
> ``` > ```
> `CSV` type must be a comma-delimited string
> ```yaml
> platforms: linux/amd64,linux/arm64
> ```
| Name | Type | Default | Description |
|------------------------------|----------|--------------------|-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `version` | String | | [Buildx](https://github.com/docker/buildx) version. (eg. `v0.3.0`, `latest`, `https://github.com/docker/buildx.git#master`) |
| `name` | String | | Name of the builder. If not specified, one will be generated or if it already exists, it will be used instead of creating a new one |
| `driver` | String | `docker-container` | Sets the [builder driver](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver) to be used |
| `driver-opts` | List | | List of additional [driver-specific options](https://docs.docker.com/engine/reference/commandline/buildx_create/#driver-opt) (eg. `image=moby/buildkit:master`) |
| `buildkitd-flags` | String | | [BuildKit daemon flags](https://docs.docker.com/engine/reference/commandline/buildx_create/#buildkitd-flags) |
| `buildkitd-config` \* | String | | [BuildKit daemon config file](https://docs.docker.com/engine/reference/commandline/buildx_create/#config) |
| `buildkitd-config-inline` \* | String | | Same as `buildkitd-config` but inline |
| `use` | Bool | `true` | Switch to this builder instance |
| `endpoint` | String | | [Optional address for docker socket](https://docs.docker.com/engine/reference/commandline/buildx_create/#description) or context from `docker context ls` |
| `platforms` | List/CSV | | Fixed [platforms](https://docs.docker.com/engine/reference/commandline/buildx_create/#platform) for current node. If not empty, values take priority over the detected ones |
| `append` | YAML | | [Append additional nodes](https://docs.docker.com/build/ci/github-actions/configure-builder/#append-additional-nodes-to-the-builder) to the builder |
| `keep-state` | Bool | `false` | Keep BuildKit state on `cleanup`. This is only useful on persistent self-hosted runners |
| `cache-binary` | Bool | `true` | Cache buildx binary to GitHub Actions cache backend |
| `cleanup` | Bool | `true` | Cleanup temp files and remove builder at the end of a job |
> [!IMPORTANT]
> If you set the `buildkitd-flags` input, the default flags (`--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host`)
> will be reset. If you want to retain the default behavior, make sure to
> include these flags in your custom `buildkitd-flags` value.
> [!NOTE]
> `buildkitd-config` and `buildkitd-config-inline` are mutually exclusive.
### outputs ### outputs
Following outputs are available The following outputs are available:
| Name | Type | Description | | Name | Type | Description |
|---------------|---------|---------------------------------------| |-------------|--------|-----------------------------------------------------|
| `name` | String | Builder instance name | | `name` | String | Builder name |
| `platforms` | String | Available platforms (comma separated) | | `driver` | String | Builder driver |
| `platforms` | String | Builder node platforms (preferred and/or available) |
| `nodes` | JSON | Builder [nodes metadata](#nodes-output) |
### environment variables ### environment variables
The following [official docker environment variables](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) are supported: The following [official docker environment variables](https://docs.docker.com/engine/reference/commandline/cli/#environment-variables) are supported:
| Name | Type | Default | Description | | Name | Type | Default | Description |
|-----------------|---------|-------------|-------------------------------------------------| |-----------------|--------|-------------|-------------------------------------------------|
| `DOCKER_CONFIG` | String | `~/.docker` | The location of your client configuration files | | `DOCKER_CONFIG` | String | `~/.docker` | The location of your client configuration files |
## Keep up-to-date with GitHub Dependabot ## Notes
Since [Dependabot](https://docs.github.com/en/github/administering-a-repository/keeping-your-actions-up-to-date-with-github-dependabot) ### `nodes` output
has [native GitHub Actions support](https://docs.github.com/en/github/administering-a-repository/configuration-options-for-dependency-updates#package-ecosystem),
to enable it on your GitHub repo all you need to do is add the `.github/dependabot.yml` file:
```yaml | Name | Type | Description |
version: 2 |-------------------|--------|----------------------------|
updates: | `name` | String | Node name |
# Maintain dependencies for GitHub Actions | `endpoint` | String | Node endpoint |
- package-ecosystem: "github-actions" | `driver-opts` | List | Options for the driver |
directory: "/" | `status` | String | Node status |
schedule: | `buildkitd-flags` | String | Flags for buildkitd daemon |
interval: "daily" | `buildkit` | String | BuildKit version |
| `platforms` | String | Platforms available |
Example:
```json
[
{
"name": "builder-8fa135e1-9bce-4a29-9368-46a09a1d750d0",
"endpoint": "unix:///var/run/docker.sock",
"status": "running",
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
"buildkit": "v0.27.1",
"platforms": "linux/amd64,linux/amd64/v2,linux/amd64/v3,linux/386"
}
]
``` ```
## Limitation ## Contributing
This action is only available for Linux [virtual environments](https://docs.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#supported-virtual-environments-and-hardware-resources). Want to contribute? Awesome! You can find information about contributing to
this project in the [CONTRIBUTING.md](/.github/CONTRIBUTING.md)
-64
View File
@@ -1,64 +0,0 @@
import fs = require('fs');
import * as docker from '../src/docker';
import * as buildx from '../src/buildx';
import * as path from 'path';
import * as os from 'os';
import * as semver from 'semver';
import * as exec from '@actions/exec';
describe('getVersion', () => {
it('valid', async () => {
await exec.exec('docker', ['buildx', 'version']);
const version = await buildx.getVersion();
console.log(`version: ${version}`);
expect(semver.valid(version)).not.toBeNull();
}, 100000);
});
describe('parseVersion', () => {
test.each([
['github.com/docker/buildx 0.4.1+azure bda4882a65349ca359216b135896bddc1d92461c', '0.4.1'],
['github.com/docker/buildx v0.4.1 bda4882a65349ca359216b135896bddc1d92461c', '0.4.1'],
['github.com/docker/buildx v0.4.2 fb7b670b764764dc4716df3eba07ffdae4cc47b2', '0.4.2']
])('given %p', async (stdout, expected) => {
expect(await buildx.parseVersion(stdout)).toEqual(expected);
});
});
describe('platforms', () => {
async function isDaemonRunning() {
return await docker.isDaemonRunning();
}
(isDaemonRunning() ? it : it.skip)(
'valid',
async () => {
const platforms = buildx.platforms();
console.log(`platforms: ${platforms}`);
expect(platforms).not.toBeUndefined();
expect(platforms).not.toEqual('');
},
100000
);
});
describe('countBuilders', () => {
it('valid', async () => {
const countBuilders = await buildx.countBuilders();
console.log(`countBuilders: ${countBuilders}`);
expect(countBuilders).toBeGreaterThan(0);
}, 100000);
});
describe('install', () => {
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'setup-buildx-'));
it('acquires v0.2.2 version of buildx', async () => {
const buildxBin = await buildx.install('v0.2.2', tmpDir);
console.log(buildxBin);
expect(fs.existsSync(buildxBin)).toBe(true);
}, 100000);
it('acquires latest version of buildx', async () => {
const buildxBin = await buildx.install('latest', tmpDir);
console.log(buildxBin);
expect(fs.existsSync(buildxBin)).toBe(true);
}, 100000);
});
+485 -68
View File
@@ -1,81 +1,498 @@
import * as context from '../src/context'; import {beforeEach, describe, expect, test, vi} from 'vitest';
import * as fs from 'fs';
import * as os from 'os';
import * as path from 'path';
describe('getInputList', () => { import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
it('handles single line correctly', async () => { import {Context} from '@docker/actions-toolkit/lib/context.js';
await setInput('foo', 'bar'); import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
const res = await context.getInputList('foo'); import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
console.log(res);
expect(res).toEqual(['bar']);
});
it('handles multiple lines correctly', async () => { import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
setInput('foo', 'bar\nbaz');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('remove empty lines correctly', async () => { import * as context from '../src/context.js';
setInput('foo', 'bar\n\nbaz');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('handles comma correctly', async () => { const fixturesDir = path.join(__dirname, 'fixtures');
setInput('foo', 'bar,baz'); const tmpDir = fs.mkdtempSync(path.join(process.env.TEMP || os.tmpdir(), 'context-'));
const res = await context.getInputList('foo'); const tmpName = path.join(tmpDir, '.tmpname-vi');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('remove empty result correctly', async () => { vi.spyOn(Context, 'tmpDir').mockImplementation((): string => {
setInput('foo', 'bar,baz,'); if (!fs.existsSync(tmpDir)) {
const res = await context.getInputList('foo'); fs.mkdirSync(tmpDir, {recursive: true});
console.log(res); }
expect(res).toEqual(['bar', 'baz']); return tmpDir;
});
it('handles different new lines correctly', async () => {
setInput('foo', 'bar\r\nbaz');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz']);
});
it('handles different new lines and comma correctly', async () => {
setInput('foo', 'bar\r\nbaz,bat');
const res = await context.getInputList('foo');
console.log(res);
expect(res).toEqual(['bar', 'baz', 'bat']);
});
it('handles multiple lines and ignoring comma correctly', async () => {
setInput('driver-opts', 'image=moby/buildkit:master\nnetwork=host');
const res = await context.getInputList('driver-opts', true);
console.log(res);
expect(res).toEqual(['image=moby/buildkit:master', 'network=host']);
});
it('handles different new lines and ignoring comma correctly', async () => {
setInput('driver-opts', 'image=moby/buildkit:master\r\nnetwork=host');
const res = await context.getInputList('driver-opts', true);
console.log(res);
expect(res).toEqual(['image=moby/buildkit:master', 'network=host']);
});
}); });
describe('asyncForEach', () => { vi.spyOn(Context, 'tmpName').mockImplementation((): string => {
it('executes async tasks sequentially', async () => { return tmpName;
const testValues = [1, 2, 3, 4, 5]; });
const results: number[] = [];
await context.asyncForEach(testValues, async value => { vi.mock('crypto', async () => {
results.push(value); return {
}); ...(await vi.importActual('crypto')),
randomUUID: vi.fn(() => '9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d')
};
});
expect(results).toEqual(testValues); vi.spyOn(Docker, 'context').mockImplementation((): Promise<string> => {
return Promise.resolve('default');
});
describe('getCreateArgs', () => {
beforeEach(() => {
process.env = Object.keys(process.env).reduce((object, key) => {
if (!key.startsWith('INPUT_')) {
object[key] = process.env[key];
}
return object;
}, {});
}); });
// prettier-ignore
test.each([
[
0,
'v0.10.3',
new Map<string, string>([
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--use'
]
],
[
1,
'v0.10.3',
new Map<string, string>([
['driver', 'docker'],
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'default',
'--driver', 'docker',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--use'
]
],
[
2,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['driver-opts', 'image=moby/buildkit:master\nnetwork=host'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--driver-opt', 'image=moby/buildkit:master',
'--driver-opt', 'network=host',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
]
],
[
3,
'v0.10.3',
new Map<string, string>([
['driver', 'remote'],
['endpoint', 'tls://foo:1234'],
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'remote',
'--use',
'tls://foo:1234'
]
],
[
4,
'v0.10.3',
new Map<string, string>([
['driver', 'remote'],
['platforms', 'linux/arm64,linux/arm/v7'],
['endpoint', 'tls://foo:1234'],
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'remote',
'--platform', 'linux/arm64,linux/arm/v7',
'--use',
'tls://foo:1234'
]
],
[
5,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['driver-opts', `"env.no_proxy=localhost,127.0.0.1,.mydomain"`],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--driver-opt', '"env.no_proxy=localhost,127.0.0.1,.mydomain"',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
]
],
[
6,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['platforms', 'linux/amd64\n"linux/arm64,linux/arm/v7"'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--platform', 'linux/amd64,linux/arm64,linux/arm/v7'
]
],
[
7,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['driver', 'unknown'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'unknown',
]
],
[
8,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['buildkitd-config', path.join(fixturesDir, 'buildkitd.toml')],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--config', tmpName,
]
],
[
9,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['buildkitd-config-inline', 'debug = true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--config', tmpName,
]
],
[
10,
'v0.10.3',
new Map<string, string>([
['use', 'false'],
['driver', 'cloud'],
['buildkitd-flags', '--allow-insecure-entitlement network.host'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false'],
]),
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--driver', 'cloud',
'--buildkitd-flags', '--allow-insecure-entitlement network.host',
]
],
[
11,
'v0.10.3',
new Map<string, string>([
['use', 'true'],
['cleanup', 'true'],
['cache-binary', 'true'],
['keep-state', 'false'],
['name', 'test-builder-name'],
]),
[
'create',
'--name', 'test-builder-name',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--use'
]
],
[
12,
'v0.10.3',
new Map<string, string>([
['use', 'true'],
['cleanup', 'true'],
['cache-binary', 'true'],
['keep-state', 'true'],
['name', 'test-builder-name'],
]),
[
'create',
'--name', 'test-builder-name',
'--driver', 'docker-container',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--use',
]
],
])(
'[%d] given buildx %o and %o as inputs, returns %o',
async (num: number, buildxVersion: string, inputs: Map<string, string>, expected: Array<string>) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
const toolkit = new Toolkit();
vi.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
return buildxVersion;
});
const inp = await context.getInputs();
const res = await context.getCreateArgs(inp, toolkit);
expect(res).toEqual(expected);
}
);
});
describe('getAppendArgs', () => {
beforeEach(() => {
process.env = Object.keys(process.env).reduce((object, key) => {
if (!key.startsWith('INPUT_')) {
object[key] = process.env[key];
}
return object;
}, {});
});
// prettier-ignore
test.each([
[
0,
'v0.10.3',
new Map<string, string>([
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
{
"name": "aws_graviton2",
"endpoint": "ssh://me@graviton2",
"driver-opts": [
"image=moby/buildkit:latest"
],
"buildkitd-flags": "--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host",
"platforms": "linux/arm64"
},
[
'create',
'--name', 'builder-9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d',
'--append',
'--node', 'aws_graviton2',
'--driver-opt', 'image=moby/buildkit:latest',
'--buildkitd-flags', '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host',
'--platform', 'linux/arm64',
'ssh://me@graviton2'
]
]
])(
'[%d] given buildx %o and %o as inputs, returns %o',
async (num: number, buildxVersion: string, inputs: Map<string, string>, node: Node, expected: Array<string>) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
const toolkit = new Toolkit();
vi.spyOn(Buildx.prototype, 'version').mockImplementation(async (): Promise<string> => {
return buildxVersion;
});
const inp = await context.getInputs();
const res = await context.getAppendArgs(inp, node, toolkit);
expect(res).toEqual(expected);
}
);
});
describe('getVersion', () => {
beforeEach(() => {
process.env = Object.keys(process.env).reduce((object, key) => {
if (!key.startsWith('INPUT_')) {
object[key] = process.env[key];
}
return object;
}, {});
});
// prettier-ignore
test.each([
[
0,
new Map<string, string>([
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
''
],
[
1,
new Map<string, string>([
['version', 'latest'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'latest'
],
[
2,
new Map<string, string>([
['version', 'edge'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'edge'
],
[
3,
new Map<string, string>([
['version', 'v0.19.2'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'v0.19.2'
],
[
4,
new Map<string, string>([
['version', 'latest'],
['driver', 'cloud'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:latest'
],
[
5,
new Map<string, string>([
['version', 'edge'],
['driver', 'cloud'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:edge'
],
[
6,
new Map<string, string>([
['driver', 'cloud'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:latest'
],
[
7,
new Map<string, string>([
['version', 'cloud:v0.11.2-desktop.2'],
['driver', 'cloud'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:v0.11.2-desktop.2'
],
[
8,
new Map<string, string>([
['version', 'cloud:v0.11.2-desktop.2'],
// defaults
['use', 'true'],
['cache-binary', 'true'],
['cleanup', 'true'],
['keep-state', 'false']
]),
'cloud:v0.11.2-desktop.2'
],
])(
'[%d] given %o as inputs, returns version %o',
async (num: number, inputs: Map<string, string>, expected: string) => {
inputs.forEach((value: string, name: string) => {
setInput(name, value);
});
const inp = await context.getInputs();
expect(context.getVersion(inp)).toEqual(expected);
}
);
}); });
// See: https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L67 // See: https://github.com/actions/toolkit/blob/master/packages/core/src/core.ts#L67
+1
View File
@@ -0,0 +1 @@
debug = true
-17
View File
@@ -1,17 +0,0 @@
import * as github from '../src/github';
describe('github', () => {
it('returns latest buildx GitHub release', async () => {
const release = await github.getRelease('latest');
console.log(release);
expect(release).not.toBeNull();
expect(release?.tag_name).not.toEqual('');
});
it('returns v0.2.2 buildx GitHub release', async () => {
const release = await github.getRelease('v0.2.2');
console.log(release);
expect(release).not.toBeNull();
expect(release?.tag_name).toEqual('v0.2.2');
});
});
+12
View File
@@ -0,0 +1,12 @@
import fs from 'node:fs';
import os from 'node:os';
import path from 'node:path';
const tmpDir = fs.mkdtempSync(path.join(os.tmpdir(), 'docker-setup-buildx-action-'));
process.env = Object.assign({}, process.env, {
TEMP: tmpDir,
GITHUB_REPOSITORY: 'docker/setup-buildx-action',
RUNNER_TEMP: path.join(tmpDir, 'runner-temp'),
RUNNER_TOOL_CACHE: path.join(tmpDir, 'runner-tool-cache')
});
+42 -10
View File
@@ -18,28 +18,60 @@ inputs:
description: 'List of additional driver-specific options. (eg. image=moby/buildkit:master)' description: 'List of additional driver-specific options. (eg. image=moby/buildkit:master)'
required: false required: false
buildkitd-flags: buildkitd-flags:
description: 'Flags for buildkitd daemon' description: 'BuildKit daemon flags'
default: '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host'
required: false required: false
install: buildkitd-config:
description: 'Sets up docker build command as an alias to docker buildx' description: 'BuildKit daemon config file'
default: 'false' required: false
buildkitd-config-inline:
description: 'Inline BuildKit daemon config'
required: false required: false
use: use:
description: 'Switch to this builder instance' description: 'Switch to this builder instance'
default: 'true' default: 'true'
required: false required: false
name:
description: 'Name of the builder. If not specified, one will be generated or if it already exists, it will be used instead of creating a new one.'
required: false
endpoint: endpoint:
description: 'Optional address for docker socket or context from `docker context ls`' description: 'Optional address for docker socket or context from `docker context ls`'
required: false required: false
platforms:
description: 'Fixed platforms for current node. If not empty, values take priority over the detected ones'
required: false
append:
description: 'Append additional nodes to the builder'
required: false
keep-state:
description: 'Keep BuildKit state on cleanup. This is only useful on persistent self-hosted runners.'
default: 'false'
required: false
cache-binary:
description: 'Cache buildx binary to GitHub Actions cache backend'
default: 'true'
required: false
cleanup:
description: 'Cleanup temp files and remove builder at the end of a job'
default: 'true'
required: false
outputs: outputs:
name: name:
description: 'Builder instance name' description: 'Builder name'
driver:
description: 'Builder driver'
platforms: platforms:
description: 'Available platforms (comma separated)' description: 'Builder node platforms (preferred or available)'
nodes:
description: 'Builder nodes metadata'
endpoint:
description: 'Builder node endpoint (deprecated, use nodes output instead)'
status:
description: 'Builder node status (deprecated, use nodes output instead)'
flags:
description: 'Builder node flags (deprecated, use nodes output instead)'
runs: runs:
using: 'node12' using: 'node24'
main: 'dist/index.js' main: 'dist/index.cjs'
post: 'dist/index.js' post: 'dist/index.cjs'
+3
View File
@@ -0,0 +1,3 @@
comment: false
github_checks:
annotations: false
+89
View File
@@ -0,0 +1,89 @@
# syntax=docker/dockerfile:1
ARG NODE_VERSION=24
FROM node:${NODE_VERSION}-alpine AS base
RUN apk add --no-cache cpio findutils git rsync
WORKDIR /src
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache <<EOT
set -e
corepack enable
yarn --version
yarn config set --home enableTelemetry 0
EOT
FROM base AS deps
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn install && mkdir /vendor && cp yarn.lock /vendor
FROM scratch AS vendor-update
COPY --from=deps /vendor /
FROM deps AS vendor-validate
RUN --mount=type=bind,target=.,rw <<EOT
set -e
git add -A
cp -rf /vendor/* .
if [ -n "$(git status --porcelain -- yarn.lock)" ]; then
echo >&2 'ERROR: Vendor result differs. Please vendor your package with "docker buildx bake vendor"'
git status --porcelain -- yarn.lock
exit 1
fi
EOT
FROM deps AS build
RUN --mount=target=/context \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules <<EOT
set -e
rsync -a /context/. .
rm -rf dist
yarn run build
mkdir /out
cp -r dist /out
EOT
FROM scratch AS build-update
COPY --from=build /out /
FROM build AS build-validate
RUN --mount=target=/context \
--mount=target=.,type=tmpfs <<EOT
set -e
rsync -a /context/. .
git add -A
rm -rf dist
cp -rf /out/* .
if [ -n "$(git status --porcelain -- dist)" ]; then
echo >&2 'ERROR: Build result differs. Please build first with "docker buildx bake build"'
git status --porcelain -- dist
exit 1
fi
EOT
FROM deps AS format
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run format && mkdir /out && find . -name '*.ts' -not -path './node_modules/*' -not -path './.yarn/*' | cpio -pdm /out
FROM scratch AS format-update
COPY --from=format /out /
FROM deps AS lint
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run lint
FROM deps AS test
RUN --mount=type=bind,target=.,rw \
--mount=type=cache,target=/src/.yarn/cache \
--mount=type=cache,target=/src/node_modules \
yarn run test --coverage --coverage.reportsDirectory=/tmp/coverage
FROM scratch AS test-coverage
COPY --from=test /tmp/coverage /
Generated Vendored
+322
View File
@@ -0,0 +1,322 @@
var uDe=Object.create;var XD=Object.defineProperty;var hDe=Object.getOwnPropertyDescriptor;var dDe=Object.getOwnPropertyNames;var fDe=Object.getPrototypeOf,pDe=Object.prototype.hasOwnProperty;var ADe=(t,e)=>()=>(t&&(e=t(t=0)),e);var A=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),mK=(t,e)=>{for(var r in e)XD(t,r,{get:e[r],enumerable:!0})},mDe=(t,e,r,s)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of dDe(e))!pDe.call(t,i)&&i!==r&&XD(t,i,{get:()=>e[i],enumerable:!(s=hDe(e,i))||s.enumerable});return t};var O=(t,e,r)=>(r=t!=null?uDe(fDe(t)):{},mDe(e||!t||!t.__esModule?XD(r,"default",{value:t,enumerable:!0}):r,t));var hX=A(JA=>{"use strict";var MDt=require("net"),VMe=require("tls"),yk=require("http"),cX=require("https"),$Me=require("events"),LDt=require("assert"),jMe=require("util");JA.httpOverHttp=JMe;JA.httpsOverHttp=YMe;JA.httpOverHttps=WMe;JA.httpsOverHttps=KMe;function JMe(t){var e=new Zl(t);return e.request=yk.request,e}function YMe(t){var e=new Zl(t);return e.request=yk.request,e.createSocket=lX,e.defaultPort=443,e}function WMe(t){var e=new Zl(t);return e.request=cX.request,e}function KMe(t){var e=new Zl(t);return e.request=cX.request,e.createSocket=lX,e.defaultPort=443,e}function Zl(t){var e=this;e.options=t||{},e.proxyOptions=e.options.proxy||{},e.maxSockets=e.options.maxSockets||yk.Agent.defaultMaxSockets,e.requests=[],e.sockets=[],e.on("free",function(s,i,n,o){for(var a=uX(i,n,o),c=0,l=e.requests.length;c<l;++c){var u=e.requests[c];if(u.host===a.host&&u.port===a.port){e.requests.splice(c,1),u.request.onSocket(s);return}}s.destroy(),e.removeSocket(s)})}jMe.inherits(Zl,$Me.EventEmitter);Zl.prototype.addRequest=function(e,r,s,i){var n=this,o=Ek({request:e},n.options,uX(r,s,i));if(n.sockets.length>=this.maxSockets){n.requests.push(o);return}n.createSocket(o,function(a){a.on("free",c),a.on("close",l),a.on("agentRemove",l),e.onSocket(a);function c(){n.emit("free",a,o)}function l(u){n.removeSocket(a),a.removeListener("free",c),a.removeListener("close",l),a.removeListener("agentRemove",l)}})};Zl.prototype.createSocket=function(e,r){var s=this,i={};s.sockets.push(i);var n=Ek({},s.proxyOptions,{method:"CONNECT",path:e.host+":"+e.port,agent:!1,headers:{host:e.host+":"+e.port}});e.localAddress&&(n.localAddress=e.localAddress),n.proxyAuth&&(n.headers=n.headers||{},n.headers["Proxy-Authorization"]="Basic "+new Buffer(n.proxyAuth).toString("base64")),Ph("making CONNECT request");var o=s.request(n);o.useChunkedEncodingByDefault=!1,o.once("response",a),o.once("upgrade",c),o.once("connect",l),o.once("error",u),o.end();function a(h){h.upgrade=!0}function c(h,d,f){process.nextTick(function(){l(h,d,f)})}function l(h,d,f){if(o.removeAllListeners(),d.removeAllListeners(),h.statusCode!==200){Ph("tunneling socket could not be established, statusCode=%d",h.statusCode),d.destroy();var p=new Error("tunneling socket could not be established, statusCode="+h.statusCode);p.code="ECONNRESET",e.request.emit("error",p),s.removeSocket(i);return}if(f.length>0){Ph("got illegal response body from proxy"),d.destroy();var p=new Error("got illegal response body from proxy");p.code="ECONNRESET",e.request.emit("error",p),s.removeSocket(i);return}return Ph("tunneling connection has established"),s.sockets[s.sockets.indexOf(i)]=d,r(d)}function u(h){o.removeAllListeners(),Ph(`tunneling socket could not be established, cause=%s
`,h.message,h.stack);var d=new Error("tunneling socket could not be established, cause="+h.message);d.code="ECONNRESET",e.request.emit("error",d),s.removeSocket(i)}};Zl.prototype.removeSocket=function(e){var r=this.sockets.indexOf(e);if(r!==-1){this.sockets.splice(r,1);var s=this.requests.shift();s&&this.createSocket(s,function(i){s.request.onSocket(i)})}};function lX(t,e){var r=this;Zl.prototype.createSocket.call(r,t,function(s){var i=t.request.getHeader("host"),n=Ek({},r.options,{socket:s,servername:i?i.replace(/:.*$/,""):t.host}),o=VMe.connect(0,n);r.sockets[r.sockets.indexOf(s)]=o,e(o)})}function uX(t,e,r){return typeof t=="string"?{host:t,port:e,localAddress:r}:t}function Ek(t){for(var e=1,r=arguments.length;e<r;++e){var s=arguments[e];if(typeof s=="object")for(var i=Object.keys(s),n=0,o=i.length;n<o;++n){var a=i[n];s[a]!==void 0&&(t[a]=s[a])}}return t}var Ph;process.env.NODE_DEBUG&&/\btunnel\b/.test(process.env.NODE_DEBUG)?Ph=function(){var t=Array.prototype.slice.call(arguments);typeof t[0]=="string"?t[0]="TUNNEL: "+t[0]:t.unshift("TUNNEL:"),console.error.apply(console,t)}:Ph=function(){};JA.debug=Ph});var oC=A((UDt,dX)=>{dX.exports=hX()});var sr=A((qDt,fX)=>{fX.exports={kClose:Symbol("close"),kDestroy:Symbol("destroy"),kDispatch:Symbol("dispatch"),kUrl:Symbol("url"),kWriting:Symbol("writing"),kResuming:Symbol("resuming"),kQueue:Symbol("queue"),kConnect:Symbol("connect"),kConnecting:Symbol("connecting"),kKeepAliveDefaultTimeout:Symbol("default keep alive timeout"),kKeepAliveMaxTimeout:Symbol("max keep alive timeout"),kKeepAliveTimeoutThreshold:Symbol("keep alive timeout threshold"),kKeepAliveTimeoutValue:Symbol("keep alive timeout"),kKeepAlive:Symbol("keep alive"),kHeadersTimeout:Symbol("headers timeout"),kBodyTimeout:Symbol("body timeout"),kServerName:Symbol("server name"),kLocalAddress:Symbol("local address"),kHost:Symbol("host"),kNoRef:Symbol("no ref"),kBodyUsed:Symbol("used"),kBody:Symbol("abstracted request body"),kRunning:Symbol("running"),kBlocking:Symbol("blocking"),kPending:Symbol("pending"),kSize:Symbol("size"),kBusy:Symbol("busy"),kQueued:Symbol("queued"),kFree:Symbol("free"),kConnected:Symbol("connected"),kClosed:Symbol("closed"),kNeedDrain:Symbol("need drain"),kReset:Symbol("reset"),kDestroyed:Symbol.for("nodejs.stream.destroyed"),kResume:Symbol("resume"),kOnError:Symbol("on error"),kMaxHeadersSize:Symbol("max headers size"),kRunningIdx:Symbol("running index"),kPendingIdx:Symbol("pending index"),kError:Symbol("error"),kClients:Symbol("clients"),kClient:Symbol("client"),kParser:Symbol("parser"),kOnDestroyed:Symbol("destroy callbacks"),kPipelining:Symbol("pipelining"),kSocket:Symbol("socket"),kHostHeader:Symbol("host header"),kConnector:Symbol("connector"),kStrictContentLength:Symbol("strict content length"),kMaxRedirections:Symbol("maxRedirections"),kMaxRequests:Symbol("maxRequestsPerClient"),kProxy:Symbol("proxy agent options"),kCounter:Symbol("socket request counter"),kInterceptors:Symbol("dispatch interceptors"),kMaxResponseSize:Symbol("max response size"),kHTTP2Session:Symbol("http2Session"),kHTTP2SessionState:Symbol("http2Session state"),kRetryHandlerDefaultRetry:Symbol("retry agent default retry"),kConstruct:Symbol("constructable"),kListeners:Symbol("listeners"),kHTTPContext:Symbol("http context"),kMaxConcurrentStreams:Symbol("max concurrent streams"),kNoProxyAgent:Symbol("no proxy agent"),kHttpProxyAgent:Symbol("http proxy agent"),kHttpsProxyAgent:Symbol("https proxy agent")}});var Et=A((GDt,LX)=>{"use strict";var pX=Symbol.for("undici.error.UND_ERR"),ir=class extends Error{constructor(e){super(e),this.name="UndiciError",this.code="UND_ERR"}static[Symbol.hasInstance](e){return e&&e[pX]===!0}[pX]=!0},AX=Symbol.for("undici.error.UND_ERR_CONNECT_TIMEOUT"),Ck=class extends ir{constructor(e){super(e),this.name="ConnectTimeoutError",this.message=e||"Connect Timeout Error",this.code="UND_ERR_CONNECT_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[AX]===!0}[AX]=!0},mX=Symbol.for("undici.error.UND_ERR_HEADERS_TIMEOUT"),Ik=class extends ir{constructor(e){super(e),this.name="HeadersTimeoutError",this.message=e||"Headers Timeout Error",this.code="UND_ERR_HEADERS_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[mX]===!0}[mX]=!0},gX=Symbol.for("undici.error.UND_ERR_HEADERS_OVERFLOW"),bk=class extends ir{constructor(e){super(e),this.name="HeadersOverflowError",this.message=e||"Headers Overflow Error",this.code="UND_ERR_HEADERS_OVERFLOW"}static[Symbol.hasInstance](e){return e&&e[gX]===!0}[gX]=!0},yX=Symbol.for("undici.error.UND_ERR_BODY_TIMEOUT"),wk=class extends ir{constructor(e){super(e),this.name="BodyTimeoutError",this.message=e||"Body Timeout Error",this.code="UND_ERR_BODY_TIMEOUT"}static[Symbol.hasInstance](e){return e&&e[yX]===!0}[yX]=!0},EX=Symbol.for("undici.error.UND_ERR_RESPONSE_STATUS_CODE"),Sk=class extends ir{constructor(e,r,s,i){super(e),this.name="ResponseStatusCodeError",this.message=e||"Response Status Code Error",this.code="UND_ERR_RESPONSE_STATUS_CODE",this.body=i,this.st Line truncated
`)||t.includes("\r")||t.includes("\0"))===!1}function fFe(t,e){let{headersList:r}=e,s=(r.get("referrer-policy",!0)??"").split(","),i="";if(s.length>0)for(let n=s.length;n!==0;n--){let o=s[n-1].trim();if(K2e.has(o)){i=o;break}}i!==""&&(t.referrerPolicy=i)}function pFe(){return"allowed"}function AFe(){return"success"}function mFe(){return"success"}function gFe(t){let e=null;e=t.mode,t.headersList.set("sec-fetch-mode",e,!0)}function yFe(t){let e=t.origin;if(!(e==="client"||e===void 0)){if(t.responseTainting==="cors"||t.mode==="websocket")t.headersList.append("origin",e,!0);else if(t.method!=="GET"&&t.method!=="HEAD"){switch(t.referrerPolicy){case"no-referrer":e=null;break;case"no-referrer-when-downgrade":case"strict-origin":case"strict-origin-when-cross-origin":t.origin&&AM(t.origin)&&!AM(AC(t))&&(e=null);break;case"same-origin":oB(t,AC(t))||(e=null);break;default:}t.headersList.append("origin",e,!0)}}}function im(t,e){return t}function EFe(t,e,r){return!t?.startTime||t.startTime<e?{domainLookupStartTime:e,domainLookupEndTime:e,connectionStartTime:e,connectionEndTime:e,secureConnectionStartTime:e,ALPNNegotiatedProtocol:t?.ALPNNegotiatedProtocol}:{domainLookupStartTime:im(t.domainLookupStartTime,r),domainLookupEndTime:im(t.domainLookupEndTime,r),connectionStartTime:im(t.connectionStartTime,r),connectionEndTime:im(t.connectionEndTime,r),secureConnectionStartTime:im(t.secureConnectionStartTime,r),ALPNNegotiatedProtocol:t.ALPNNegotiatedProtocol}}function CFe(t){return im(rFe.now(),t)}function IFe(t){return{startTime:t.startTime??0,redirectStartTime:0,redirectEndTime:0,postRedirectStartTime:t.startTime??0,finalServiceWorkerStartTime:0,finalNetworkResponseStartTime:0,finalNetworkRequestStartTime:0,endTime:0,encodedBodySize:0,decodedBodySize:0,finalConnectionTimingInfo:null}}function ZZ(){return{referrerPolicy:"strict-origin-when-cross-origin"}}function bFe(t){return{referrerPolicy:t.referrerPolicy}}function wFe(t){let e=t.referrerPolicy;wf(e);let r=null;if(t.referrer==="client"){let a=jZ();if(!a||a.origin==="null")return"no-referrer";r=new URL(a)}else t.referrer instanceof URL&&(r=t.referrer);let s=pM(r),i=pM(r,!0);s.toString().length>4096&&(s=i);let n=oB(t,s),o=pC(s)&&!pC(t.url);switch(e){case"origin":return i??pM(r,!0);case"unsafe-url":return s;case"same-origin":return n?i:"no-referrer";case"origin-when-cross-origin":return n?s:i;case"strict-origin-when-cross-origin":{let a=AC(t);return oB(s,a)?s:pC(s)&&!pC(a)?"no-referrer":i}default:return o?"no-referrer":i}}function pM(t,e){return wf(t instanceof URL),t=new URL(t),t.protocol==="file:"||t.protocol==="about:"||t.protocol==="blank:"?"no-referrer":(t.username="",t.password="",t.hash="",e&&(t.pathname="",t.search=""),t)}function pC(t){if(!(t instanceof URL))return!1;if(t.href==="about:blank"||t.href==="about:srcdoc"||t.protocol==="data:"||t.protocol==="file:")return!0;return e(t.origin);function e(r){if(r==null||r==="null")return!1;let s=new URL(r);return!!(s.protocol==="https:"||s.protocol==="wss:"||/^127(?:\.[0-9]+){0,2}\.[0-9]+$|^\[(?:0*:)*?:?0*1\]$/.test(s.hostname)||s.hostname==="localhost"||s.hostname.includes("localhost.")||s.hostname.endsWith(".localhost"))}}function SFe(t,e){if(nB===void 0)return!0;let r=e7(e);if(r==="no metadata"||r.length===0)return!0;let s=xFe(r),i=NFe(r,s);for(let n of i){let o=n.algo,a=n.hash,c=nB.createHash(o).update(t).digest("base64");if(c[c.length-1]==="="&&(c[c.length-2]==="="?c=c.slice(0,-2):c=c.slice(0,-1)),vFe(c,a))return!0}return!1}var BFe=/(?<algo>sha256|sha384|sha512)-((?<hash>[A-Za-z0-9+/]+|[A-Za-z0-9_-]+)={0,2}(?:\s|$)( +[!-~]*)?)?/i;function e7(t){let e=[],r=!0;for(let s of t.split(" ")){r=!1;let i=BFe.exec(s);if(i===null||i.groups===void 0||i.groups.algo===void 0)continue;let n=i.groups.algo.toLowerCase();YZ.includes(n)&&e.push(i.groups)}return r===!0?"no metadata":e}function xFe(t){let e=t[0].algo;if(e[3]==="5")return e;for(let r=1;r<t.length;++r){let s=t[r];if(s.algo[3]==="5"){e="sha512";break}else{if(e[3]==="3")continue;s.algo[3]==="3"&&(e="sha384")}}return e}function NFe(t,e){if(t.length===1)return t;let r=0;for(let s=0;s<t.length;++s)t[s].algo===e&&(t[r++]=t[s]);return t.length=r,t}function vFe(t,e){if(t.length!==e.length)return!1;for(let r=0;r<t.length;++r)if(t[r]!==e[r]){if(t[r]==="+"&&e[r]==="-"||t[r]==="/"&&e[r]==="_")continue;return!1}return!0}function RFe(t){}function oB(t,e){return t.origin===e.origin&&t.origin==="null"||t.protocol===e.protocol&&t.hostname===e.hostname&&t.port===e.port}function TFe(){let t,e;return{promise:new Promise((s,i)=>{t=s,e=i}),resolve:t,reject:e}}function _Fe(t){return t.controller.state==="aborted"}function QFe(t){return t.controller.state==="aborted"||t.controller.state==="terminated"}function PFe(t){return nFe[t.toLowerCase()]??t}function OFe(t){let e=JSON.stringify(t);if(e===void 0)throw new TypeError("Value is not JSON serializable");return wf(typeof e=="string"),e}var DFe=Object.getPrototypeOf(Object.getPrototypeOf([][Symbol.iterator]()));function t7(t,e,r=0,s=1){class i{#e;#t; Line truncated
`);function hUe(t){for(let e=0;e<t.length;++e)if((t.charCodeAt(e)&-128)!==0)return!1;return!0}function dUe(t){let e=t.length;if(e<27||e>70)return!1;for(let r=0;r<e;++r){let s=t.charCodeAt(r);if(!(s>=48&&s<=57||s>=65&&s<=90||s>=97&&s<=122||s===39||s===45||s===95))return!1}return!0}function fUe(t,e){cB(e!=="failure"&&e.essence==="multipart/form-data");let r=e.parameters.get("boundary");if(r===void 0)return"failure";let s=Buffer.from(`--${r}`,"utf8"),i=[],n={position:0};for(;t[n.position]===13&&t[n.position+1]===10;)n.position+=2;let o=t.length;for(;t[o-1]===10&&t[o-2]===13;)o-=2;for(o!==t.length&&(t=t.subarray(0,o));;){if(t.subarray(n.position,n.position+s.length).equals(s))n.position+=s.length;else return"failure";if(n.position===t.length-2&&lB(t,lUe,n)||n.position===t.length-4&&lB(t,uUe,n))return i;if(t[n.position]!==13||t[n.position+1]!==10)return"failure";n.position+=2;let a=pUe(t,n);if(a==="failure")return"failure";let{name:c,filename:l,contentType:u,encoding:h}=a;n.position+=2;let d;{let p=t.indexOf(s.subarray(2),n.position);if(p===-1)return"failure";d=t.subarray(n.position,p-4),n.position+=d.length,h==="base64"&&(d=Buffer.from(d.toString(),"base64"))}if(t[n.position]!==13||t[n.position+1]!==10)return"failure";n.position+=2;let f;l!==null?(u??="text/plain",hUe(u)||(u=""),f=new aUe([d],l,{type:u})):f=rUe(Buffer.from(d)),cB(f7(c)),cB(typeof f=="string"&&f7(f)||iUe(f)),i.push(nUe(c,f,l))}}function pUe(t,e){let r=null,s=null,i=null,n=null;for(;;){if(t[e.position]===13&&t[e.position+1]===10)return r===null?"failure":{name:r,filename:s,contentType:i,encoding:n};let o=om(a=>a!==10&&a!==13&&a!==58,t,e);if(o=bM(o,!0,!0,a=>a===9||a===32),!sUe.test(o.toString())||t[e.position]!==58)return"failure";switch(e.position++,om(a=>a===32||a===9,t,e),tUe(o)){case"content-disposition":{if(r=s=null,!lB(t,cUe,e)||(e.position+=17,r=m7(t,e),r===null))return"failure";if(lB(t,A7,e)){let a=e.position+A7.length;if(t[a]===42&&(e.position+=1,a+=1),t[a]!==61||t[a+1]!==34||(e.position+=12,s=m7(t,e),s===null))return"failure"}break}case"content-type":{let a=om(c=>c!==10&&c!==13,t,e);a=bM(a,!1,!0,c=>c===9||c===32),i=p7(a);break}case"content-transfer-encoding":{let a=om(c=>c!==10&&c!==13,t,e);a=bM(a,!1,!0,c=>c===9||c===32),n=p7(a);break}default:om(a=>a!==10&&a!==13,t,e)}if(t[e.position]!==13&&t[e.position+1]!==10)return"failure";e.position+=2}}function m7(t,e){cB(t[e.position-1]===34);let r=om(s=>s!==10&&s!==13&&s!==34,t,e);return t[e.position]!==34?null:(e.position++,r=new TextDecoder().decode(r).replace(/%0A/ig,`
`).replace(/%0D/ig,"\r").replace(/%22/g,'"'),r)}function om(t,e,r){let s=r.position;for(;s<e.length&&t(e[s]);)++s;return e.subarray(r.position,r.position=s)}function bM(t,e,r,s){let i=0,n=t.length-1;if(e)for(;i<t.length&&s(t[i]);)i++;if(r)for(;n>0&&s(t[n]);)n--;return i===0&&n===t.length-1?t:t.subarray(i,n+1)}function lB(t,e,r){if(t.length<e.length)return!1;for(let s=0;s<e.length;s++)if(e[s]!==t[r.position+s])return!1;return!0}g7.exports={multipartFormDataParser:fUe,validateBoundary:dUe}});var lm=A((fkt,v7)=>{"use strict";var yC=it(),{ReadableStreamFrom:AUe,isBlobLike:E7,isReadableStreamLike:mUe,readableStreamClose:gUe,createDeferredPromise:yUe,fullyReadBody:EUe,extractMimeType:CUe,utf8DecodeBytes:b7}=kn(),{FormData:C7}=gC(),{kState:cm}=Oh(),{webidl:IUe}=Ms(),{Blob:bUe}=require("node:buffer"),wM=require("node:assert"),{isErrored:w7,isDisturbed:wUe}=require("node:stream"),{isArrayBuffer:SUe}=require("node:util/types"),{serializeAMimeType:BUe}=sn(),{multipartFormDataParser:xUe}=y7(),SM;try{let t=require("node:crypto");SM=e=>t.randomInt(0,e)}catch{SM=t=>Math.floor(Math.random(t))}var uB=new TextEncoder;function NUe(){}var S7=globalThis.FinalizationRegistry&&process.version.indexOf("v18")!==0,B7;S7&&(B7=new FinalizationRegistry(t=>{let e=t.deref();e&&!e.locked&&!wUe(e)&&!w7(e)&&e.cancel("Response object has been garbage collected").catch(NUe)}));function x7(t,e=!1){let r=null;t instanceof ReadableStream?r=t:E7(t)?r=t.stream():r=new ReadableStream({async pull(c){let l=typeof i=="string"?uB.encode(i):i;l.byteLength&&c.enqueue(l),queueMicrotask(()=>gUe(c))},start(){},type:"bytes"}),wM(mUe(r));let s=null,i=null,n=null,o=null;if(typeof t=="string")i=t,o="text/plain;charset=UTF-8";else if(t instanceof URLSearchParams)i=t.toString(),o="application/x-www-form-urlencoded;charset=UTF-8";else if(SUe(t))i=new Uint8Array(t.slice());else if(ArrayBuffer.isView(t))i=new Uint8Array(t.buffer.slice(t.byteOffset,t.byteOffset+t.byteLength));else if(yC.isFormDataLike(t)){let c=`----formdata-undici-0${`${SM(1e11)}`.padStart(11,"0")}`,l=`--${c}\r
Content-Disposition: form-data`;let u=E=>E.replace(/\n/g,"%0A").replace(/\r/g,"%0D").replace(/"/g,"%22"),h=E=>E.replace(/\r?\n|\r/g,`\r
`),d=[],f=new Uint8Array([13,10]);n=0;let p=!1;for(let[E,y]of t)if(typeof y=="string"){let C=uB.encode(l+`; name="${u(h(E))}"\r
\r
${h(y)}\r
`);d.push(C),n+=C.byteLength}else{let C=uB.encode(`${l}; name="${u(h(E))}"`+(y.name?`; filename="${u(y.name)}"`:"")+`\r
Content-Type: ${y.type||"application/octet-stream"}\r
\r
`);d.push(C,y,f),typeof y.size=="number"?n+=C.byteLength+y.size+f.byteLength:p=!0}let m=uB.encode(`--${c}--\r
`);d.push(m),n+=m.byteLength,p&&(n=null),i=t,s=async function*(){for(let E of d)E.stream?yield*E.stream():yield E},o=`multipart/form-data; boundary=${c}`}else if(E7(t))i=t,n=t.size,t.type&&(o=t.type);else if(typeof t[Symbol.asyncIterator]=="function"){if(e)throw new TypeError("keepalive");if(yC.isDisturbed(t)||t.locked)throw new TypeError("Response body object should not be disturbed or locked");r=t instanceof ReadableStream?t:AUe(t)}if((typeof i=="string"||yC.isBuffer(i))&&(n=Buffer.byteLength(i)),s!=null){let c;r=new ReadableStream({async start(){c=s(t)[Symbol.asyncIterator]()},async pull(l){let{value:u,done:h}=await c.next();if(h)queueMicrotask(()=>{l.close(),l.byobRequest?.respond(0)});else if(!w7(r)){let d=new Uint8Array(u);d.byteLength&&l.enqueue(d)}return l.desiredSize>0},async cancel(l){await c.return()},type:"bytes"})}return[{stream:r,source:i,length:n},o]}function vUe(t,e=!1){return t instanceof ReadableStream&&(wM(!yC.isDisturbed(t),"The body has already been consumed."),wM(!t.locked,"The stream is locked.")),x7(t,e)}function RUe(t,e){let[r,s]=e.stream.tee();return e.stream=r,{stream:s,length:e.length,source:e.source}}function TUe(t){if(t.aborted)throw new DOMException("The operation was aborted.","AbortError")}function _Ue(t){return{blob(){return am(this,r=>{let s=I7(this);return s===null?s="":s&&(s=BUe(s)),new bUe([r],{type:s})},t)},arrayBuffer(){return am(this,r=>new Uint8Array(r).buffer,t)},text(){return am(this,b7,t)},json(){return am(this,PUe,t)},formData(){return am(this,r=>{let s=I7(this);if(s!==null)switch(s.essence){case"multipart/form-data":{let i=xUe(r,s);if(i==="failure")throw new TypeError("Failed to parse body as FormData.");let n=new C7;return n[cm]=i,n}case"application/x-www-form-urlencoded":{let i=new URLSearchParams(r.toString()),n=new C7;for(let[o,a]of i)n.append(o,a);return n}}throw new TypeError('Content-Type was not one of "multipart/form-data" or "application/x-www-form-urlencoded".')},t)},bytes(){return am(this,r=>new Uint8Array(r),t)}}}function QUe(t){Object.assign(t.prototype,_Ue(t))}async function am(t,e,r){if(IUe.brandCheck(t,r),N7(t))throw new TypeError("Body is unusable: Body has already been read");TUe(t[cm]);let s=yUe(),i=o=>s.reject(o),n=o=>{try{s.resolve(e(o))}catch(a){i(a)}};return t[cm].body==null?(n(Buffer.allocUnsafe(0)),s.promise):(await EUe(t[cm].body,n,i),s.promise)}function N7(t){let e=t[cm].body;return e!=null&&(e.stream.locked||yC.isDisturbed(e.stream))}function PUe(t){return JSON.parse(b7(t))}function I7(t){let e=t[cm].headersList,r=CUe(e);return r==="failure"?null:r}v7.exports={extractBody:x7,safelyExtractBody:vUe,cloneBody:RUe,mixinBody:QUe,streamRegistry:B7,hasFinalizationRegistry:S7,bodyUnusable:N7}});var F7=A((pkt,L7)=>{"use strict";var Pe=require("node:assert"),Ge=it(),{channels:R7}=WA(),BM=oM(),{RequestContentLengthMismatchError:Sf,ResponseContentLengthMismatchError:OUe,RequestAbortedError:D7,HeadersTimeoutError:DUe,HeadersOverflowError:kUe,SocketError:mB,InformationalError:um,BodyTimeoutError:MUe,HTTPParserError:LUe,ResponseExceededMaxSizeError:FUe}=Et(),{kUrl:k7,kReset:nn,kClient:RM,kParser:Ar,kBlocking:IC,kRunning:Ys,kPending:UUe,kSize:T7,kWriting:kh,kQueue:Na,kNoRef:EC,kKeepAliveDefaultTimeout:qUe,kHostHeader:GUe,kPendingIdx:HUe,kRunningIdx:No,kError:vo,kPipelining:pB,kSocket:hm,kKeepAliveTimeoutValue:gB,kMaxHeadersSize:xM,kKeepAliveMaxTimeout:zUe,kKeepAliveTimeoutThreshold:VUe,kHeadersTimeout:$Ue,kBodyTimeout:jUe,kStrictContentLength:TM,kMaxRequests:_7,kCounter:JUe,kMaxResponseSize:YUe,kOnError:WUe,kResume:Dh,kHTTPContext:M7}=sr(),pc=BZ(),KUe=Buffer.alloc(0),hB=Buffer[Symbol.species],dB=Ge.addListener,XUe=Ge.removeAllListeners,NM;async function ZUe(){let t=process.env.JEST_WORKER_ID?lM():void 0,e;try{e=await WebAssembly.compile(vZ())}catch{e=await WebAssembly.compile(t||lM())}return await WebAssembly.instantiate(e,{env:{wasm_on_url:(r,s,i)=>0,wasm_on_status:(r,s,i)=>{Pe(rs.ptr===r);let n=s-mc+Ac.byteOffset;return rs.onStatus(new hB(Ac.buffer,n,i))||0},wasm_on_message_begin:r=>(Pe(rs.ptr===r),rs.onMessageBegin()||0),wasm_on_header_field:(r,s,i)=>{Pe(rs.ptr===r);let n=s-mc+Ac.byteOffset;return rs.onHeaderField(new hB(Ac.buffer,n,i))||0},wasm_on_header_value:(r,s,i)=>{Pe(rs.ptr===r);let n=s-mc+Ac.byteOffset;return rs.onHeaderValue(new hB(Ac.buffer,n,i))||0},wasm_on_headers_complete:(r,s,i,n)=>(Pe(rs.ptr===r),rs.onHeadersComplete(s,!!i,!!n)||0),wasm_on_body:(r,s,i)=>{Pe(rs.ptr===r);let n=s-mc+Ac.byteOffset;return rs.onBody(new hB(Ac.buffer,n,i))||0},wasm_on_message_complete:r=>(Pe(rs.ptr===r),rs.onMessageComplete()||0)}})}var vM=null,_M=ZUe();_M.catch();var rs=null,Ac=null,fB=0,mc=null,eqe=0,CC=1,dm=2|CC,AB=4|CC,QM=8|eqe,PM=class{constructor(e,r,{exports:s}){Pe(Number.isFinite(e[xM])&&e[xM]>0),this.llhttp=s,this.ptr=this.llhttp.llhttp_alloc(pc.TYPE.RESPONSE),this.client=e,this.socket=r,this.timeout=null,this.timeoutValue=null,this.timeoutType=null,this.statusCode=null,this.statusText="",this.upgrade=!1,this.headers=[],this.headersSize=0,this. Line truncated
`;if(typeof i=="string"?m+=`host: ${i}\r
`:m+=t[GUe],n?m+=`connection: upgrade\r
upgrade: ${n}\r
`:t[pB]&&!f[nn]?m+=`connection: keep-alive\r
`:m+=`connection: close\r
`,Array.isArray(l))for(let E=0;E<l.length;E+=2){let y=l[E+0],C=l[E+1];if(Array.isArray(C))for(let w=0;w<C.length;w++)m+=`${y}: ${C[w]}\r
`;else m+=`${y}: ${C}\r
`}return R7.sendHeaders.hasSubscribers&&R7.sendHeaders.publish({request:e,headers:m,socket:f}),!c||d===0?P7(p,null,t,e,f,u,m,h):Ge.isBuffer(c)?P7(p,c,t,e,f,u,m,h):Ge.isBlobLike(c)?typeof c.stream=="function"?O7(p,c.stream(),t,e,f,u,m,h):oqe(p,c,t,e,f,u,m,h):Ge.isStream(c)?nqe(p,c,t,e,f,u,m,h):Ge.isIterable(c)?O7(p,c,t,e,f,u,m,h):Pe(!1),!0}function nqe(t,e,r,s,i,n,o,a){Pe(n!==0||r[Ys]===0,"stream body cannot be pipelined");let c=!1,l=new yB({abort:t,socket:i,request:s,contentLength:n,client:r,expectsPayload:a,header:o}),u=function(p){if(!c)try{!l.write(p)&&this.pause&&this.pause()}catch(m){Ge.destroy(this,m)}},h=function(){c||e.resume&&e.resume()},d=function(){if(queueMicrotask(()=>{e.removeListener("error",f)}),!c){let p=new D7;queueMicrotask(()=>f(p))}},f=function(p){if(!c){if(c=!0,Pe(i.destroyed||i[kh]&&r[Ys]<=1),i.off("drain",h).off("error",f),e.removeListener("data",u).removeListener("end",f).removeListener("close",d),!p)try{l.end()}catch(m){p=m}l.destroy(p),p&&(p.code!=="UND_ERR_INFO"||p.message!=="reset")?Ge.destroy(e,p):Ge.destroy(e)}};e.on("data",u).on("end",f).on("error",f).on("close",d),e.resume&&e.resume(),i.on("drain",h).on("error",f),e.errorEmitted??e.errored?setImmediate(()=>f(e.errored)):(e.endEmitted??e.readableEnded)&&setImmediate(()=>f(null)),(e.closeEmitted??e.closed)&&setImmediate(d)}function P7(t,e,r,s,i,n,o,a){try{e?Ge.isBuffer(e)&&(Pe(n===e.byteLength,"buffer body must have content length"),i.cork(),i.write(`${o}content-length: ${n}\r
\r
`,"latin1"),i.write(e),i.uncork(),s.onBodySent(e),!a&&s.reset!==!1&&(i[nn]=!0)):n===0?i.write(`${o}content-length: 0\r
\r
`,"latin1"):(Pe(n===null,"no body must not have content length"),i.write(`${o}\r
`,"latin1")),s.onRequestSent(),r[Dh]()}catch(c){t(c)}}async function oqe(t,e,r,s,i,n,o,a){Pe(n===e.size,"blob body must have content length");try{if(n!=null&&n!==e.size)throw new Sf;let c=Buffer.from(await e.arrayBuffer());i.cork(),i.write(`${o}content-length: ${n}\r
\r
`,"latin1"),i.write(c),i.uncork(),s.onBodySent(c),s.onRequestSent(),!a&&s.reset!==!1&&(i[nn]=!0),r[Dh]()}catch(c){t(c)}}async function O7(t,e,r,s,i,n,o,a){Pe(n!==0||r[Ys]===0,"iterator body cannot be pipelined");let c=null;function l(){if(c){let d=c;c=null,d()}}let u=()=>new Promise((d,f)=>{Pe(c===null),i[vo]?f(i[vo]):c=d});i.on("close",l).on("drain",l);let h=new yB({abort:t,socket:i,request:s,contentLength:n,client:r,expectsPayload:a,header:o});try{for await(let d of e){if(i[vo])throw i[vo];h.write(d)||await u()}h.end()}catch(d){h.destroy(d)}finally{i.off("close",l).off("drain",l)}}var yB=class{constructor({abort:e,socket:r,request:s,contentLength:i,client:n,expectsPayload:o,header:a}){this.socket=r,this.request=s,this.contentLength=i,this.client=n,this.bytesWritten=0,this.expectsPayload=o,this.header=a,this.abort=e,r[kh]=!0}write(e){let{socket:r,request:s,contentLength:i,client:n,bytesWritten:o,expectsPayload:a,header:c}=this;if(r[vo])throw r[vo];if(r.destroyed)return!1;let l=Buffer.byteLength(e);if(!l)return!0;if(i!==null&&o+l>i){if(n[TM])throw new Sf;process.emitWarning(new Sf)}r.cork(),o===0&&(!a&&s.reset!==!1&&(r[nn]=!0),i===null?r.write(`${c}transfer-encoding: chunked\r
`,"latin1"):r.write(`${c}content-length: ${i}\r
\r
`,"latin1")),i===null&&r.write(`\r
${l.toString(16)}\r
`,"latin1"),this.bytesWritten+=l;let u=r.write(e);return r.uncork(),s.onBodySent(e),u||r[Ar].timeout&&r[Ar].timeoutType===dm&&r[Ar].timeout.refresh&&r[Ar].timeout.refresh(),u}end(){let{socket:e,contentLength:r,client:s,bytesWritten:i,expectsPayload:n,header:o,request:a}=this;if(a.onRequestSent(),e[kh]=!1,e[vo])throw e[vo];if(!e.destroyed){if(i===0?n?e.write(`${o}content-length: 0\r
\r
`,"latin1"):e.write(`${o}\r
`,"latin1"):r===null&&e.write(`\r
0\r
\r
`,"latin1"),r!==null&&i!==r){if(s[TM])throw new Sf;process.emitWarning(new Sf)}e[Ar].timeout&&e[Ar].timeoutType===dm&&e[Ar].timeout.refresh&&e[Ar].timeout.refresh(),s[Dh]()}}destroy(e){let{socket:r,client:s,abort:i}=this;r[kh]=!1,e&&(Pe(s[Ys]<=1,"pipeline should only contain this request"),i(e))}};L7.exports=tqe});var j7=A((Akt,$7)=>{"use strict";var Ro=require("node:assert"),{pipeline:aqe}=require("node:stream"),lt=it(),{RequestContentLengthMismatchError:OM,RequestAbortedError:U7,SocketError:bC,InformationalError:DM}=Et(),{kUrl:EB,kReset:IB,kClient:fm,kRunning:bB,kPending:cqe,kQueue:Mh,kPendingIdx:kM,kRunningIdx:va,kError:Ta,kSocket:fs,kStrictContentLength:lqe,kOnError:MM,kMaxConcurrentStreams:V7,kHTTP2Session:Ra,kResume:Lh,kSize:uqe,kHTTPContext:hqe}=sr(),nu=Symbol("open streams"),q7,G7=!1,CB;try{CB=require("node:http2")}catch{CB={constants:{}}}var{constants:{HTTP2_HEADER_AUTHORITY:dqe,HTTP2_HEADER_METHOD:fqe,HTTP2_HEADER_PATH:pqe,HTTP2_HEADER_SCHEME:Aqe,HTTP2_HEADER_CONTENT_LENGTH:mqe,HTTP2_HEADER_EXPECT:gqe,HTTP2_HEADER_STATUS:yqe}}=CB;function Eqe(t){let e=[];for(let[r,s]of Object.entries(t))if(Array.isArray(s))for(let i of s)e.push(Buffer.from(r),Buffer.from(i));else e.push(Buffer.from(r),Buffer.from(s));return e}async function Cqe(t,e){t[fs]=e,G7||(G7=!0,process.emitWarning("H2 support is experimental, expect them to change at any time.",{code:"UNDICI-H2"}));let r=CB.connect(t[EB],{createConnection:()=>e,peerMaxConcurrentStreams:t[V7]});r[nu]=0,r[fm]=t,r[fs]=e,lt.addListener(r,"error",bqe),lt.addListener(r,"frameError",wqe),lt.addListener(r,"end",Sqe),lt.addListener(r,"goaway",Bqe),lt.addListener(r,"close",function(){let{[fm]:i}=this,{[fs]:n}=i,o=this[fs][Ta]||this[Ta]||new bC("closed",lt.getSocketInfo(n));if(i[Ra]=null,i.destroyed){Ro(i[cqe]===0);let a=i[Mh].splice(i[va]);for(let c=0;c<a.length;c++){let l=a[c];lt.errorRequest(i,l,o)}}}),r.unref(),t[Ra]=r,e[Ra]=r,lt.addListener(e,"error",function(i){Ro(i.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[Ta]=i,this[fm][MM](i)}),lt.addListener(e,"end",function(){lt.destroy(this,new bC("other side closed",lt.getSocketInfo(this)))}),lt.addListener(e,"close",function(){let i=this[Ta]||new bC("closed",lt.getSocketInfo(this));t[fs]=null,this[Ra]!=null&&this[Ra].destroy(i),t[kM]=t[va],Ro(t[bB]===0),t.emit("disconnect",t[EB],[t],i),t[Lh]()});let s=!1;return e.on("close",()=>{s=!0}),{version:"h2",defaultPipelining:1/0,write(...i){return Nqe(t,...i)},resume(){Iqe(t)},destroy(i,n){s?queueMicrotask(n):e.destroy(i).on("close",n)},get destroyed(){return e.destroyed},busy(){return!1}}}function Iqe(t){let e=t[fs];e?.destroyed===!1&&(t[uqe]===0&&t[V7]===0?(e.unref(),t[Ra].unref()):(e.ref(),t[Ra].ref()))}function bqe(t){Ro(t.code!=="ERR_TLS_CERT_ALTNAME_INVALID"),this[fs][Ta]=t,this[fm][MM](t)}function wqe(t,e,r){if(r===0){let s=new DM(`HTTP/2: "frameError" received - type ${t}, code ${e}`);this[fs][Ta]=s,this[fm][MM](s)}}function Sqe(){let t=new bC("other side closed",lt.getSocketInfo(this[fs]));this.destroy(t),lt.destroy(this[fs],t)}function Bqe(t){let e=this[Ta]||new bC(`HTTP/2: "GOAWAY" frame received with code ${t}`,lt.getSocketInfo(this)),r=this[fm];if(r[fs]=null,r[hqe]=null,this[Ra]!=null&&(this[Ra].destroy(e),this[Ra]=null),lt.destroy(this[fs],e),r[va]<r[Mh].length){let s=r[Mh][r[va]];r[Mh][r[va]++]=null,lt.errorRequest(r,s,e),r[kM]=r[va]}Ro(r[bB]===0),r.emit("disconnect",r[EB],[r],e),r[Lh]()}function xqe(t){return t!=="GET"&&t!=="HEAD"&&t!=="OPTIONS"&&t!=="TRACE"&&t!=="CONNECT"}function Nqe(t,e){let r=t[Ra],{method:s,path:i,host:n,upgrade:o,expectContinue:a,signal:c,headers:l}=e,{body:u}=e;if(o)return lt.errorRequest(t,e,new Error("Upgrade not supported for H2")),!1;let h={};for(let B=0;B<l.length;B+=2){let N=l[B+0],P=l[B+1];if(Array.isArray(P))for(let Q=0;Q<P.length;Q++)h[N]?h[N]+=`,${P[Q]}`:h[N]=P[Q];else h[N]=P}let d,{hostname:f,port:p}=t[EB];h[dqe]=n||`${f}${p?`:${p}`:""}`,h[fqe]=s;let m=B=>{e.aborted||e.completed||(B=B||new U7,lt.errorRequest(t,e,B),d!=null&&lt.destroy(d,B),lt.destroy(u,B),t[Mh][t[va]++]=null,t[Lh]())};try{e.onConnect(m)}catch(B){lt.errorRequest(t,e,B)}if(e.aborted)return!1;if(s==="CONNECT")return r.ref(),d=r.request(h,{endStream:!1,signal:c}),d.id&&!d.pending?(e.onUpgrade(null,null,d),++r[nu],t[Mh][t[va]++]=null):d.once("ready",()=>{e.onUpgrade(null,null,d),++r[nu],t[Mh][t[va]++]=null}),d.once("close",()=>{r[nu]-=1,r[nu]===0&&r.unref()}),!0;h[pqe]=i,h[Aqe]="https";let E=s==="PUT"||s==="POST"||s==="PATCH";u&&typeof u.read=="function"&&u.read(0);let y=lt.bodyLength(u);if(lt.isFormDataLike(u)){q7??=lm().extractBody;let[B,N]=q7(u);h["content-type"]=N,u=B.stream,y=B.length}if(y==null&&(y=e.contentLength),(y===0||!E)&&(y=null),xqe(s)&&y>0&&e.contentLength!=null&&e.contentLength!==y){if(t[lqe])return lt.errorRequest(t,e,new OM),!1;process.emitWarning(new OM)}y!=null&&(Ro(u,"no body must not have content length"),h[mqe]=`${y}`),r.ref();let C=s==="GET"||s==="HEAD"||u===null;return a?(h[gqe]="100-continue",d=r.request(h,{endStream:C,signal:c}),d.once(" Line truncated
`,this[Zqe]=c??3e5,this[Xqe]=i??3e5,this[eGe]=C??!0,this[tGe]=B,this[qM]=P,this[Uh]=null,this[oGe]=k>-1?k:-1,this[cGe]=L??100,this[_r]=null,this[_a]=[],this[au]=0,this[Qa]=0,this[xC]=$=>HM(this,$),this[aGe]=$=>nee(this,$)}get pipelining(){return this[xB]}set pipelining(e){this[xB]=e,this[xC](!0)}get[RC](){return this[_a].length-this[Qa]}get[vC](){return this[Qa]-this[au]}get[NC](){return this[_a].length-this[au]}get[Vqe](){return!!this[_r]&&!this[Am]&&!this[_r].destroyed}get[UM](){return!!(this[_r]?.busy(null)||this[NC]>=(iee(this)||1)||this[RC]>0)}[zqe](e){oee(this),this.once("connect",e)}[nGe](e,r){let s=e.origin||this[yc].origin,i=new Lqe(s,e,r);return this[_a].push(i),this[xf]||(Bf.bodyLength(i.body)==null&&Bf.isIterable(i.body)?(this[xf]=1,queueMicrotask(()=>HM(this))):this[xC](!0)),this[xf]&&this[qh]!==2&&this[UM]&&(this[qh]=2),this[qh]<2}async[sGe](){return new Promise(e=>{this[NC]?this[Uh]=e:e(null)})}async[iGe](e){return new Promise(r=>{let s=this[_a].splice(this[Qa]);for(let n=0;n<s.length;n++){let o=s[n];Bf.errorRequest(this,o,e)}let i=()=>{this[Uh]&&(this[Uh](),this[Uh]=null),r(null)};this[_r]?(this[_r].destroy(e,i),this[_r]=null):queueMicrotask(i),this[xC]()})}},hGe=BB();function nee(t,e){if(t[vC]===0&&e.code!=="UND_ERR_INFO"&&e.code!=="UND_ERR_SOCKET"){ou(t[Qa]===t[au]);let r=t[_a].splice(t[au]);for(let s=0;s<r.length;s++){let i=r[s];Bf.errorRequest(t,i,e)}ou(t[NC]===0)}}async function oee(t){ou(!t[Am]),ou(!t[_r]);let{host:e,hostname:r,protocol:s,port:i}=t[yc];if(r[0]==="["){let n=r.indexOf("]");ou(n!==-1);let o=r.substring(1,n);ou(see.isIP(o)),r=o}t[Am]=!0,pm.beforeConnect.hasSubscribers&&pm.beforeConnect.publish({connectParams:{host:e,hostname:r,protocol:s,port:i,version:t[_r]?.version,servername:t[Fh],localAddress:t[BC]},connector:t[SC]});try{let n=await new Promise((o,a)=>{t[SC]({host:e,hostname:r,protocol:s,port:i,servername:t[Fh],localAddress:t[BC]},(c,l)=>{c?a(c):o(l)})});if(t.destroyed){Bf.destroy(n.on("error",tee),new qqe);return}ou(n);try{t[_r]=n.alpnProtocol==="h2"?await uGe(t,n):await lGe(t,n)}catch(o){throw n.destroy().on("error",tee),o}t[Am]=!1,n[rGe]=0,n[qM]=t[qM],n[Hqe]=t,n[jqe]=null,pm.connected.hasSubscribers&&pm.connected.publish({connectParams:{host:e,hostname:r,protocol:s,port:i,version:t[_r]?.version,servername:t[Fh],localAddress:t[BC]},connector:t[SC],socket:n}),t.emit("connect",t[yc],[t])}catch(n){if(t.destroyed)return;if(t[Am]=!1,pm.connectError.hasSubscribers&&pm.connectError.publish({connectParams:{host:e,hostname:r,protocol:s,port:i,version:t[_r]?.version,servername:t[Fh],localAddress:t[BC]},connector:t[SC],error:n}),n.code==="ERR_TLS_CERT_ALTNAME_INVALID")for(ou(t[vC]===0);t[RC]>0&&t[_a][t[Qa]].servername===t[Fh];){let o=t[_a][t[Qa]++];Bf.errorRequest(t,o,n)}else nee(t,n);t.emit("connectionError",t[yc],[t],n)}t[xC]()}function ree(t){t[qh]=0,t.emit("drain",t[yc],[t])}function HM(t,e){t[xf]!==2&&(t[xf]=2,dGe(t,e),t[xf]=0,t[au]>256&&(t[_a].splice(0,t[au]),t[Qa]-=t[au],t[au]=0))}function dGe(t,e){for(;;){if(t.destroyed){ou(t[RC]===0);return}if(t[Uh]&&!t[NC]){t[Uh](),t[Uh]=null;return}if(t[_r]&&t[_r].resume(),t[UM])t[qh]=2;else if(t[qh]===2){e?(t[qh]=1,queueMicrotask(()=>ree(t))):ree(t);continue}if(t[RC]===0||t[vC]>=(iee(t)||1))return;let r=t[_a][t[Qa]];if(t[yc].protocol==="https:"&&t[Fh]!==r.servername){if(t[vC]>0)return;t[Fh]=r.servername,t[_r]?.destroy(new Uqe("servername changed"),()=>{t[_r]=null,HM(t)})}if(t[Am])return;if(!t[_r]){oee(t);return}if(t[_r].destroyed||t[_r].busy(r))return;!r.aborted&&t[_r].write(r)?t[Qa]++:t[_a].splice(t[Qa],1)}}aee.exports=GM});var zM=A((Ckt,cee)=>{"use strict";var NB=class{constructor(){this.bottom=0,this.top=0,this.list=new Array(2048),this.next=null}isEmpty(){return this.top===this.bottom}isFull(){return(this.top+1&2047)===this.bottom}push(e){this.list[this.top]=e,this.top=this.top+1&2047}shift(){let e=this.list[this.bottom];return e===void 0?null:(this.list[this.bottom]=void 0,this.bottom=this.bottom+1&2047,e)}};cee.exports=class{constructor(){this.head=this.tail=new NB}isEmpty(){return this.head.isEmpty()}push(e){this.head.isFull()&&(this.head=this.head.next=new NB),this.head.push(e)}shift(){let e=this.tail,r=e.shift();return e.isEmpty()&&e.next!==null&&(this.tail=e.next),r}}});var uee=A((Ikt,lee)=>{var{kFree:fGe,kConnected:pGe,kPending:AGe,kQueued:mGe,kRunning:gGe,kSize:yGe}=sr(),Nf=Symbol("pool"),VM=class{constructor(e){this[Nf]=e}get connected(){return this[Nf][pGe]}get free(){return this[Nf][fGe]}get pending(){return this[Nf][AGe]}get queued(){return this[Nf][mGe]}get running(){return this[Nf][gGe]}get size(){return this[Nf][yGe]}};lee.exports=VM});var KM=A((bkt,Cee)=>{"use strict";var EGe=em(),CGe=zM(),{kConnected:$M,kSize:hee,kRunning:dee,kPending:fee,kQueued:TC,kBusy:IGe,kFree:bGe,kUrl:wGe,kClose:SGe,kDestroy:BGe,kDispatch:xGe}=sr(),NGe=uee(),on=Symbol("clients"),bi=Symbol("needDrain"),_C=Symbol("queue"),jM=Symbol("closed resolve"),JM=Symbol("onDrain"),pee=Symbol("onConnect"),Aee=Symbol("onDisconnect"),mee=Symbol("onConnec Line truncated
${s.count} ${s.noun} ${s.is} pending:
${e.format(r)}
`.trim())}};xre.exports=KL});var VB=A((Wkt,_re)=>{"use strict";var vre=Symbol.for("undici.globalDispatcher.1"),{InvalidArgumentError:Z4e}=Et(),e8e=ym();Tre()===void 0&&Rre(new e8e);function Rre(t){if(!t||typeof t.dispatch!="function")throw new Z4e("Argument agent must implement Agent");Object.defineProperty(globalThis,vre,{value:t,writable:!0,enumerable:!1,configurable:!1})}function Tre(){return globalThis[vre]}_re.exports={setGlobalDispatcher:Rre,getGlobalDispatcher:Tre}});var $B=A((Xkt,Qre)=>{"use strict";Qre.exports=class{#e;constructor(e){if(typeof e!="object"||e===null)throw new TypeError("handler must be an object");this.#e=e}onConnect(...e){return this.#e.onConnect?.(...e)}onError(...e){return this.#e.onError?.(...e)}onUpgrade(...e){return this.#e.onUpgrade?.(...e)}onResponseStarted(...e){return this.#e.onResponseStarted?.(...e)}onHeaders(...e){return this.#e.onHeaders?.(...e)}onData(...e){return this.#e.onData?.(...e)}onComplete(...e){return this.#e.onComplete?.(...e)}onBodySent(...e){return this.#e.onBodySent?.(...e)}}});var Ore=A((Zkt,Pre)=>{"use strict";var t8e=SB();Pre.exports=t=>{let e=t?.maxRedirections;return r=>function(i,n){let{maxRedirections:o=e,...a}=i;if(!o)return r(i,n);let c=new t8e(r,o,i,n);return r(a,c)}}});var kre=A((eMt,Dre)=>{"use strict";var r8e=DB();Dre.exports=t=>e=>function(s,i){return e(s,new r8e({...s,retryOptions:{...t,...s.retryOptions}},{handler:i,dispatch:e}))}});var Lre=A((tMt,Mre)=>{"use strict";var s8e=it(),{InvalidArgumentError:i8e,RequestAbortedError:n8e}=Et(),o8e=$B(),XL=class extends o8e{#e=1024*1024;#t=null;#s=!1;#r=!1;#i=0;#n=null;#u=null;constructor({maxSize:e},r){if(super(r),e!=null&&(!Number.isFinite(e)||e<1))throw new i8e("maxSize must be a number greater than 0");this.#e=e??this.#e,this.#u=r}onConnect(e){this.#t=e,this.#u.onConnect(this.#l.bind(this))}#l(e){this.#r=!0,this.#n=e}onHeaders(e,r,s,i){let o=s8e.parseHeaders(r)["content-length"];if(o!=null&&o>this.#e)throw new n8e(`Response size (${o}) larger than maxSize (${this.#e})`);return this.#r?!0:this.#u.onHeaders(e,r,s,i)}onError(e){this.#s||(e=this.#n??e,this.#u.onError(e))}onData(e){return this.#i=this.#i+e.length,this.#i>=this.#e&&(this.#s=!0,this.#r?this.#u.onError(this.#n):this.#u.onComplete([])),!0}onComplete(e){if(!this.#s){if(this.#r){this.#u.onError(this.reason);return}this.#u.onComplete(e)}}};function a8e({maxSize:t}={maxSize:1024*1024}){return e=>function(s,i){let{dumpMaxSize:n=t}=s,o=new XL({maxSize:n},i);return e(s,o)}}Mre.exports=a8e});var qre=A((rMt,Ure)=>{"use strict";var{isIP:c8e}=require("node:net"),{lookup:l8e}=require("node:dns"),u8e=$B(),{InvalidArgumentError:vm,InformationalError:h8e}=Et(),Fre=Math.pow(2,31)-1,ZL=class{#e=0;#t=0;#s=new Map;dualStack=!0;affinity=null;lookup=null;pick=null;constructor(e){this.#e=e.maxTTL,this.#t=e.maxItems,this.dualStack=e.dualStack,this.affinity=e.affinity,this.lookup=e.lookup??this.#r,this.pick=e.pick??this.#i}get full(){return this.#s.size===this.#t}runLookup(e,r,s){let i=this.#s.get(e.hostname);if(i==null&&this.full){s(null,e.origin);return}let n={affinity:this.affinity,dualStack:this.dualStack,lookup:this.lookup,pick:this.pick,...r.dns,maxTTL:this.#e,maxItems:this.#t};if(i==null)this.lookup(e,n,(o,a)=>{if(o||a==null||a.length===0){s(o??new h8e("No DNS entries found"));return}this.setRecords(e,a);let c=this.#s.get(e.hostname),l=this.pick(e,c,n.affinity),u;typeof l.port=="number"?u=`:${l.port}`:e.port!==""?u=`:${e.port}`:u="",s(null,`${e.protocol}//${l.family===6?`[${l.address}]`:l.address}${u}`)});else{let o=this.pick(e,i,n.affinity);if(o==null){this.#s.delete(e.hostname),this.runLookup(e,r,s);return}let a;typeof o.port=="number"?a=`:${o.port}`:e.port!==""?a=`:${e.port}`:a="",s(null,`${e.protocol}//${o.family===6?`[${o.address}]`:o.address}${a}`)}}#r(e,r,s){l8e(e.hostname,{all:!0,family:this.dualStack===!1?this.affinity:0,order:"ipv4first"},(i,n)=>{if(i)return s(i);let o=new Map;for(let a of n)o.set(`${a.address}:${a.family}`,a);s(null,o.values())})}#i(e,r,s){let i=null,{records:n,offset:o}=r,a;if(this.dualStack?(s==null&&(o==null||o===Fre?(r.offset=0,s=4):(r.offset++,s=(r.offset&1)===1?6:4)),n[s]!=null&&n[s].ips.length>0?a=n[s]:a=n[s===4?6:4]):a=n[s],a==null||a.ips.length===0)return i;a.offset==null||a.offset===Fre?a.offset=0:a.offset++;let c=a.offset%a.ips.length;return i=a.ips[c]??null,i==null?i:Date.now()-i.timestamp>i.ttl?(a.ips.splice(c,1),this.pick(e,r,s)):i}setRecords(e,r){let s=Date.now(),i={records:{4:null,6:null}};for(let n of r){n.timestamp=s,typeof n.ttl=="number"?n.ttl=Math.min(n.ttl,this.#e):n.ttl=this.#e;let o=i.records[n.family]??{ips:[]};o.ips.push(n),i.records[n.family]=o}this.#s.set(e.hostname,i)}getHandler(e,r){return new e2(this,e,r)}},e2=class extends u8e{#e=null;#t=null;#s=null;#r=null;#i=null;constructor(e,{origin:r,handler:s,dispatch:i},n){super(s),this.#i=r,this.#r=s,this.#t={...n},this.#e=e,this.#s=i}onError(e){switch(e.code){case"ETIMEDOUT":case"ECONNREFUSED":{if(this.#e.dualStack){this.#e.runLookup(this.#i,this.#t,( Line truncated
${n}`;break;case"retry":Cne(n)&&(r[i]=n);break;case"id":Ine(n)&&(r[i]=n);break;case"event":n.length>0&&(r[i]=n);break}}processEvent(e){e.retry&&Cne(e.retry)&&(this.state.reconnectionTime=parseInt(e.retry,10)),e.id&&Ine(e.id)&&(this.state.lastEventId=e.id),e.data!==void 0&&this.push({type:e.event||"message",options:{data:e.data,lastEventId:this.state.lastEventId,origin:this.state.origin}})}clearEvent(){this.event={data:void 0,event:void 0,id:void 0,retry:void 0}}};bne.exports={EventSourceStream:U2}});var _ne=A((PMt,Tne)=>{"use strict";var{pipeline:C5e}=require("node:stream"),{fetching:I5e}=zC(),{makeRequest:b5e}=_m(),{webidl:du}=Ms(),{EventSourceStream:w5e}=wne(),{parseMIMEType:S5e}=sn(),{createFastMessageEvent:B5e}=Mm(),{isNetworkError:Sne}=GC(),{delay:x5e}=L2(),{kEnumerableProperty:Gf}=it(),{environmentSettingsObject:Bne}=kn(),xne=!1,Nne=3e3,sI=0,vne=1,iI=2,N5e="anonymous",v5e="use-credentials",Gm=class t extends EventTarget{#e={open:null,error:null,message:null};#t=null;#s=!1;#r=sI;#i=null;#n=null;#u;#l;constructor(e,r={}){super(),du.util.markAsUncloneable(this);let s="EventSource constructor";du.argumentLengthCheck(arguments,1,s),xne||(xne=!0,process.emitWarning("EventSource is experimental, expect them to change at any time.",{code:"UNDICI-ES"})),e=du.converters.USVString(e,s,"url"),r=du.converters.EventSourceInitDict(r,s,"eventSourceInitDict"),this.#u=r.dispatcher,this.#l={lastEventId:"",reconnectionTime:Nne};let i=Bne,n;try{n=new URL(e,i.settingsObject.baseUrl),this.#l.origin=n.origin}catch(c){throw new DOMException(c,"SyntaxError")}this.#t=n.href;let o=N5e;r.withCredentials&&(o=v5e,this.#s=!0);let a={redirect:"follow",keepalive:!0,mode:"cors",credentials:o==="anonymous"?"same-origin":"omit",referrer:"no-referrer"};a.client=Bne.settingsObject,a.headersList=[["accept",{name:"accept",value:"text/event-stream"}]],a.cache="no-store",a.initiator="other",a.urlList=[new URL(this.#t)],this.#i=b5e(a),this.#a()}get readyState(){return this.#r}get url(){return this.#t}get withCredentials(){return this.#s}#a(){if(this.#r===iI)return;this.#r=sI;let e={request:this.#i,dispatcher:this.#u},r=s=>{Sne(s)&&(this.dispatchEvent(new Event("error")),this.close()),this.#f()};e.processResponseEndOfBody=r,e.processResponse=s=>{if(Sne(s))if(s.aborted){this.close(),this.dispatchEvent(new Event("error"));return}else{this.#f();return}let i=s.headersList.get("content-type",!0),n=i!==null?S5e(i):"failure",o=n!=="failure"&&n.essence==="text/event-stream";if(s.status!==200||o===!1){this.close(),this.dispatchEvent(new Event("error"));return}this.#r=vne,this.dispatchEvent(new Event("open")),this.#l.origin=s.urlList[s.urlList.length-1].origin;let a=new w5e({eventSourceSettings:this.#l,push:c=>{this.dispatchEvent(B5e(c.type,c.options))}});C5e(s.body.stream,a,c=>{c?.aborted===!1&&(this.close(),this.dispatchEvent(new Event("error")))})},this.#n=I5e(e)}async#f(){this.#r!==iI&&(this.#r=sI,this.dispatchEvent(new Event("error")),await x5e(this.#l.reconnectionTime),this.#r===sI&&(this.#l.lastEventId.length&&this.#i.headersList.set("last-event-id",this.#l.lastEventId,!0),this.#a()))}close(){du.brandCheck(this,t),this.#r!==iI&&(this.#r=iI,this.#n.abort(),this.#i=null)}get onopen(){return this.#e.open}set onopen(e){this.#e.open&&this.removeEventListener("open",this.#e.open),typeof e=="function"?(this.#e.open=e,this.addEventListener("open",e)):this.#e.open=null}get onmessage(){return this.#e.message}set onmessage(e){this.#e.message&&this.removeEventListener("message",this.#e.message),typeof e=="function"?(this.#e.message=e,this.addEventListener("message",e)):this.#e.message=null}get onerror(){return this.#e.error}set onerror(e){this.#e.error&&this.removeEventListener("error",this.#e.error),typeof e=="function"?(this.#e.error=e,this.addEventListener("error",e)):this.#e.error=null}},Rne={CONNECTING:{__proto__:null,configurable:!1,enumerable:!0,value:sI,writable:!1},OPEN:{__proto__:null,configurable:!1,enumerable:!0,value:vne,writable:!1},CLOSED:{__proto__:null,configurable:!1,enumerable:!0,value:iI,writable:!1}};Object.defineProperties(Gm,Rne);Object.defineProperties(Gm.prototype,Rne);Object.defineProperties(Gm.prototype,{close:Gf,onerror:Gf,onmessage:Gf,onopen:Gf,readyState:Gf,url:Gf,withCredentials:Gf});du.converters.EventSourceInitDict=du.dictionaryConverter([{key:"withCredentials",converter:du.converters.boolean,defaultValue:()=>!1},{key:"dispatcher",converter:du.converters.any}]);Tne.exports={EventSource:Gm,defaultReconnectionTime:Nne}});var zm=A((OMt,Me)=>{"use strict";var R5e=mm(),Qne=cC(),T5e=gm(),_5e=Ree(),Q5e=ym(),P5e=uL(),O5e=Zee(),D5e=nte(),Pne=Et(),Px=it(),{InvalidArgumentError:Qx}=Pne,Hm=Vte(),k5e=uC(),M5e=VL(),L5e=Nre(),F5e=JL(),U5e=QL(),q5e=DB(),{getGlobalDispatcher:One,setGlobalDispatcher:G5e}=VB(),H5e=$B(),z5e=SB(),V5e=BB();Object.assign(Qne.prototype,Hm);Me.exports.Dispatcher=Qne;Me.exports.Client=R5e;Me.exports.Pool=T5e;Me.exports.BalancedPool=_5e;Me.exports.Agent=Q5e;Me.exports.ProxyAgent=P5e;Me.exports.EnvHttpProxyAgent=O5e;Me.e Line truncated
%s`,N,N,C,s);var P=C.type==="*"?FF:C.type==="?"?LF:"\\"+C.type;i=!0,s=s.slice(0,C.reStart)+P+"\\("+N}p(),n&&(s+="\\\\");var Q=!1;switch(s.charAt(0)){case"[":case".":case"(":Q=!0}for(var k=a.length-1;k>-1;k--){var G=a[k],ee=s.slice(0,G.reStart),L=s.slice(G.reStart,G.reEnd-8),F=s.slice(G.reEnd-8,G.reEnd),q=s.slice(G.reEnd);F+=q;var $=ee.split("(").length-1,se=q;for(m=0;m<$;m++)se=se.replace(/\)[+*?]?/,"");q=se;var Qe="";q===""&&e!==cN&&(Qe="$");var we=ee+L+q+Qe+F;s=we}if(s!==""&&i&&(s="(?=.)"+s),Q&&(s=d+s),e===cN)return[s,i];if(!i)return uYe(t);var le=r.nocase?"i":"";try{var ct=new RegExp("^"+s+"$",le)}catch{return new RegExp("$.")}return ct._glob=t,ct._src=s,ct}$n.makeRe=function(t,e){return new Jr(t,e||{}).makeRe()};Jr.prototype.makeRe=lYe;function lYe(){if(this.regexp||this.regexp===!1)return this.regexp;var t=this.set;if(!t.length)return this.regexp=!1,this.regexp;var e=this.options,r=e.noglobstar?FF:e.dot?tYe:rYe,s=e.nocase?"i":"",i=t.map(function(n){return n.map(function(o){return o===jf?r:typeof o=="string"?hYe(o):o._src}).join("\\/")}).join("|");i="^(?:"+i+")$",this.negate&&(i="^(?!"+i+").*$");try{this.regexp=new RegExp(i,s)}catch{this.regexp=!1}return this.regexp}$n.match=function(t,e,r){r=r||{};var s=new Jr(e,r);return t=t.filter(function(i){return s.match(i)}),s.options.nonull&&!t.length&&t.push(e),t};Jr.prototype.match=function(e,r){if(typeof r>"u"&&(r=this.partial),this.debug("match",e,this.pattern),this.comment)return!1;if(this.empty)return e==="";if(e==="/"&&r)return!0;var s=this.options;BI.sep!=="/"&&(e=e.split(BI.sep).join("/")),e=e.split(Pce),this.debug(this.pattern,"split",e);var i=this.set;this.debug(this.pattern,"set",i);var n,o;for(o=e.length-1;o>=0&&(n=e[o],!n);o--);for(o=0;o<i.length;o++){var a=i[o],c=e;s.matchBase&&a.length===1&&(c=[n]);var l=this.matchOne(c,a,r);if(l)return s.flipNegate?!0:!this.negate}return s.flipNegate?!1:this.negate};Jr.prototype.matchOne=function(t,e,r){return e.indexOf(jf)!==-1?this._matchGlobstar(t,e,r,0,0):this._matchOne(t,e,r,0,0)};Jr.prototype._matchGlobstar=function(t,e,r,s,i){var n,o=-1;for(n=i;n<e.length;n++)if(e[n]===jf){o=n;break}var a=-1;for(n=e.length-1;n>=0;n--)if(e[n]===jf){a=n;break}var c=e.slice(i,o),l=r?e.slice(o+1):e.slice(o+1,a),u=r?[]:e.slice(a+1);if(c.length){var h=t.slice(s,s+c.length);if(!this._matchOne(h,c,r,0,0))return!1;s+=c.length}var d=0;if(u.length){if(u.length+s>t.length)return!1;var f=t.length-u.length;if(this._matchOne(t,u,r,f,0))d=u.length;else{if(t[t.length-1]!==""||s+u.length===t.length||(f--,!this._matchOne(t,u,r,f,0)))return!1;d=u.length+1}}if(!l.length){var p=!!d;for(n=s;n<t.length-d;n++){var m=String(t[n]);if(p=!0,m==="."||m===".."||!this.options.dot&&m.charAt(0)===".")return!1}return r||p}for(var E=[[[],0]],y=E[0],C=0,w=[0],B=0;B<l.length;B++){var N=l[B];N===jf?(w.push(C),y=[[],0],E.push(y)):(y[0].push(N),C++)}for(var P=E.length-1,Q=t.length-d,k=0;k<E.length;k++)E[k][1]=Q-(w[P--]+E[k][0].length);return!!this._matchGlobStarBodySections(t,E,s,0,r,0,!!d)};Jr.prototype._matchGlobStarBodySections=function(t,e,r,s,i,n,o){var a=e[s];if(!a){for(var c=r;c<t.length;c++){o=!0;var l=t[c];if(l==="."||l===".."||!this.options.dot&&l.charAt(0)===".")return!1}return o}for(var u=a[0],h=a[1];r<=h;){var d=this._matchOne(t.slice(0,r+u.length),u,i,r,0);if(d&&n<this.maxGlobstarRecursion){var f=this._matchGlobStarBodySections(t,e,r+u.length,s+1,i,n+1,o);if(f!==!1)return f}var l=t[r];if(l==="."||l===".."||!this.options.dot&&l.charAt(0)===".")return!1;r++}return i||null};Jr.prototype._matchOne=function(t,e,r,s,i){var n,o,a,c;for(n=s,o=i,a=t.length,c=e.length;n<a&&o<c;n++,o++){this.debug("matchOne loop");var l=e[o],u=t[n];if(this.debug(e,l,u),l===!1||l===jf)return!1;var h;if(typeof l=="string"?(h=u===l,this.debug("string match",l,u,h)):(h=u.match(l),this.debug("pattern match",l,u,h)),!h)return!1}if(n===a&&o===c)return!0;if(n===a)return r;if(o===c)return n===a-1&&t[n]==="";throw new Error("wtf?")};function uYe(t){return t.replace(/\\(.)/g,"$1")}function hYe(t){return t.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&")}});var vI=A((sFt,Uce)=>{"use strict";var EYe="2.0.0",CYe=Number.MAX_SAFE_INTEGER||9007199254740991,IYe=16,bYe=250,wYe=["major","premajor","minor","preminor","patch","prepatch","prerelease"];Uce.exports={MAX_LENGTH:256,MAX_SAFE_COMPONENT_LENGTH:IYe,MAX_SAFE_BUILD_LENGTH:bYe,MAX_SAFE_INTEGER:CYe,RELEASE_TYPES:wYe,SEMVER_SPEC_VERSION:EYe,FLAG_INCLUDE_PRERELEASE:1,FLAG_LOOSE:2}});var RI=A((iFt,qce)=>{"use strict";var SYe=typeof process=="object"&&process.env&&process.env.NODE_DEBUG&&/\bsemver\b/i.test(process.env.NODE_DEBUG)?(...t)=>console.error("SEMVER",...t):()=>{};qce.exports=SYe});var rg=A((Rc,Gce)=>{"use strict";var{MAX_SAFE_COMPONENT_LENGTH:qF,MAX_SAFE_BUILD_LENGTH:BYe,MAX_LENGTH:xYe}=vI(),NYe=RI();Rc=Gce.exports={};var vYe=Rc.re=[],RYe=Rc.safeRe=[],fe=Rc.src=[],TYe=Rc.safeSrc=[],pe=Rc.t={},_Ye=0,GF="[a-zA-Z0-9-]",QYe=[["\\s",1],["\\d",xYe],[GF,BYe]],PYe=t=>{for(let[e,r]of QYe)t=t.split(`${e}*`).join(`${e}{0,${r}}`).split(`${e}+`).join( Line truncated
`).join(`
`+n),t.push(i+"m+"+WN.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=sXe()+e+" "+t[0]}function sXe(){return Us.inspectOpts.hideDate?"":new Date().toISOString()+" "}function iXe(...t){return process.stderr.write(YN.format(...t)+`
`)}function nXe(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function oXe(){return process.env.DEBUG}function aXe(t){t.inspectOpts={};let e=Object.keys(Us.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Us.inspectOpts[e[r]]}WN.exports=NU()(Us);var{formatters:bhe}=WN.exports;bhe.o=function(t){return this.inspectOpts.colors=this.useColors,YN.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};bhe.O=function(t){return this.inspectOpts.colors=this.useColors,YN.inspect(t,this.inspectOpts)}});var ip=A((Cqt,_U)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?_U.exports=ghe():_U.exports=whe()});var xhe=A(hn=>{"use strict";var cXe=hn&&hn.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),lXe=hn&&hn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),She=hn&&hn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&cXe(e,t,r);return lXe(e,t),e};Object.defineProperty(hn,"__esModule",{value:!0});hn.req=hn.json=hn.toBuffer=void 0;var uXe=She(require("http")),hXe=She(require("https"));async function Bhe(t){let e=0,r=[];for await(let s of t)e+=s.length,r.push(s);return Buffer.concat(r,e)}hn.toBuffer=Bhe;async function dXe(t){let r=(await Bhe(t)).toString("utf8");try{return JSON.parse(r)}catch(s){let i=s;throw i.message+=` (input: ${r})`,i}}hn.json=dXe;function fXe(t,e={}){let s=((typeof t=="string"?t:t.href).startsWith("https:")?hXe:uXe).request(t,e),i=new Promise((n,o)=>{s.once("response",n).once("error",o).end()});return s.then=i.then.bind(i),s}hn.req=fXe});var The=A(Wn=>{"use strict";var vhe=Wn&&Wn.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),pXe=Wn&&Wn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Rhe=Wn&&Wn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&vhe(e,t,r);return pXe(e,t),e},AXe=Wn&&Wn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&vhe(e,t,r)};Object.defineProperty(Wn,"__esModule",{value:!0});Wn.Agent=void 0;var mXe=Rhe(require("net")),Nhe=Rhe(require("http")),gXe=require("https");AXe(xhe(),Wn);var Qc=Symbol("AgentBaseInternalState"),QU=class extends Nhe.Agent{constructor(e){super(e),this[Qc]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(s=>s.indexOf("(https.js:")!==-1||s.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new mXe.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let s=this.sockets[e],i=s.indexOf(r);i!==-1&&(s.splice(i,1),this.totalSocketCount--,s.length===0&&delete this.sockets[e])}getName(e){return this.isSecureEndpoint(e)?gXe.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,s){let i={...r,secureEndpoint:this.isSecureEndpoint(r)},n=this.getName(i),o=this.incrementSockets(n);Promise.resolve().then(()=>this.connect(e,i)).then(a=>{if(this.decrementSockets(n,o),a instanceof Nhe.Agent)try{return a.addRequest(e,i)}catch(c){return s(c)}this[Qc].currentSocket=a,super.createSocket(e,r,s)},a=>{this.decrementSockets(n,o),s(a)})}createConnection(){let e=this[Qc].currentSocket;if(this[Qc].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Qc].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Qc]&&(this[Qc].defaultPort=e)}get protocol(){return this[Qc].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Qc]&&(this[Qc].protocol=e)}};Wn.Agent=QU});var _he=A(hg=>{"use strict";var yXe=hg&&hg.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(hg,"__esModule",{value:!0});hg.parseProxyResponse=void 0;var EXe=yXe(ip()),KN=(0,EXe.default)("https-proxy-agent:parse-proxy-response");function CXe(t){return new Promise((e,r)=>{let s=0,i=[];function n(){let u=t.read();u?l(u):t.once("readable",n)}function o(){t.removeListener("end",a),t.removeListener("error",c),t.removeListener("readable",n)}function a(){o(),KN("onend"),r(new Error("Proxy connection ended before receiving CONNECT response"))}function c(u){o(),KN("onerror %o",u),r(u)}function l(u){i.push(u),s+=u.length;let h=Buffer.concat(i,s),d=h.indexOf(`\r
\r
`);if(d===-1){KN("have not received end of HTTP headers yet..."),n();return}let f=h.slice(0,d).toString("ascii").split(`\r
`),p=f.shift();if(!p)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let m=p.split(" "),E=+m[1],y=m.slice(2).join(" "),C={};for(let w of f){if(!w)continue;let B=w.indexOf(":");if(B===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${w}"`));let N=w.slice(0,B).toLowerCase(),P=w.slice(B+1).trimStart(),Q=C[N];typeof Q=="string"?C[N]=[Q,P]:Array.isArray(Q)?Q.push(P):C[N]=P}KN("got proxy server response: %o %o",p,C),o(),e({connect:{statusCode:E,statusText:y,headers:C},buffered:h})}t.on("error",c),t.on("end",a),n()})}hg.parseProxyResponse=CXe});var Mhe=A(zo=>{"use strict";var IXe=zo&&zo.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),bXe=zo&&zo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Dhe=zo&&zo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&IXe(e,t,r);return bXe(e,t),e},khe=zo&&zo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(zo,"__esModule",{value:!0});zo.HttpsProxyAgent=void 0;var XN=Dhe(require("net")),Qhe=Dhe(require("tls")),wXe=khe(require("assert")),SXe=khe(ip()),BXe=The(),xXe=require("url"),NXe=_he(),HI=(0,SXe.default)("https-proxy-agent"),Phe=t=>t.servername===void 0&&t.host&&!XN.isIP(t.host)?{...t,servername:t.host}:t,ZN=class extends BXe.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new xXe.URL(e):e,this.proxyHeaders=r?.headers??{},HI("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let s=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),i=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?Ohe(r,"headers"):null,host:s,port:i}}async connect(e,r){let{proxy:s}=this;if(!r.host)throw new TypeError('No "host" provided');let i;s.protocol==="https:"?(HI("Creating `tls.Socket`: %o",this.connectOpts),i=Qhe.connect(Phe(this.connectOpts))):(HI("Creating `net.Socket`: %o",this.connectOpts),i=XN.connect(this.connectOpts));let n=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},o=XN.isIPv6(r.host)?`[${r.host}]`:r.host,a=`CONNECT ${o}:${r.port} HTTP/1.1\r
`;if(s.username||s.password){let d=`${decodeURIComponent(s.username)}:${decodeURIComponent(s.password)}`;n["Proxy-Authorization"]=`Basic ${Buffer.from(d).toString("base64")}`}n.Host=`${o}:${r.port}`,n["Proxy-Connection"]||(n["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let d of Object.keys(n))a+=`${d}: ${n[d]}\r
`;let c=(0,NXe.parseProxyResponse)(i);i.write(`${a}\r
`);let{connect:l,buffered:u}=await c;if(e.emit("proxyConnect",l),this.emit("proxyConnect",l,e),l.statusCode===200)return e.once("socket",vXe),r.secureEndpoint?(HI("Upgrading socket connection to TLS"),Qhe.connect({...Ohe(Phe(r),"host","path","port"),socket:i})):i;i.destroy();let h=new XN.Socket({writable:!1});return h.readable=!0,e.once("socket",d=>{HI("Replaying proxy buffer for failed request"),(0,wXe.default)(d.listenerCount("data")>0),d.push(u),d.push(null)}),h}};ZN.protocols=["http","https"];zo.HttpsProxyAgent=ZN;function vXe(t){t.resume()}function Ohe(t,...e){let r={},s;for(s in t)e.includes(s)||(r[s]=t[s]);return r}});var Uhe=A(dn=>{"use strict";var RXe=dn&&dn.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),TXe=dn&&dn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Lhe=dn&&dn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&RXe(e,t,r);return TXe(e,t),e};Object.defineProperty(dn,"__esModule",{value:!0});dn.req=dn.json=dn.toBuffer=void 0;var _Xe=Lhe(require("http")),QXe=Lhe(require("https"));async function Fhe(t){let e=0,r=[];for await(let s of t)e+=s.length,r.push(s);return Buffer.concat(r,e)}dn.toBuffer=Fhe;async function PXe(t){let r=(await Fhe(t)).toString("utf8");try{return JSON.parse(r)}catch(s){let i=s;throw i.message+=` (input: ${r})`,i}}dn.json=PXe;function OXe(t,e={}){let s=((typeof t=="string"?t:t.href).startsWith("https:")?QXe:_Xe).request(t,e),i=new Promise((n,o)=>{s.once("response",n).once("error",o).end()});return s.then=i.then.bind(i),s}dn.req=OXe});var zI=A(Kn=>{"use strict";var Ghe=Kn&&Kn.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),DXe=Kn&&Kn.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Hhe=Kn&&Kn.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&Ghe(e,t,r);return DXe(e,t),e},kXe=Kn&&Kn.__exportStar||function(t,e){for(var r in t)r!=="default"&&!Object.prototype.hasOwnProperty.call(e,r)&&Ghe(e,t,r)};Object.defineProperty(Kn,"__esModule",{value:!0});Kn.Agent=void 0;var MXe=Hhe(require("net")),qhe=Hhe(require("http")),LXe=require("https");kXe(Uhe(),Kn);var Pc=Symbol("AgentBaseInternalState"),PU=class extends qhe.Agent{constructor(e){super(e),this[Pc]={}}isSecureEndpoint(e){if(e){if(typeof e.secureEndpoint=="boolean")return e.secureEndpoint;if(typeof e.protocol=="string")return e.protocol==="https:"}let{stack:r}=new Error;return typeof r!="string"?!1:r.split(`
`).some(s=>s.indexOf("(https.js:")!==-1||s.indexOf("node:https:")!==-1)}incrementSockets(e){if(this.maxSockets===1/0&&this.maxTotalSockets===1/0)return null;this.sockets[e]||(this.sockets[e]=[]);let r=new MXe.Socket({writable:!1});return this.sockets[e].push(r),this.totalSocketCount++,r}decrementSockets(e,r){if(!this.sockets[e]||r===null)return;let s=this.sockets[e],i=s.indexOf(r);i!==-1&&(s.splice(i,1),this.totalSocketCount--,s.length===0&&delete this.sockets[e])}getName(e){return(typeof e.secureEndpoint=="boolean"?e.secureEndpoint:this.isSecureEndpoint(e))?LXe.Agent.prototype.getName.call(this,e):super.getName(e)}createSocket(e,r,s){let i={...r,secureEndpoint:this.isSecureEndpoint(r)},n=this.getName(i),o=this.incrementSockets(n);Promise.resolve().then(()=>this.connect(e,i)).then(a=>{if(this.decrementSockets(n,o),a instanceof qhe.Agent)return a.addRequest(e,i);this[Pc].currentSocket=a,super.createSocket(e,r,s)},a=>{this.decrementSockets(n,o),s(a)})}createConnection(){let e=this[Pc].currentSocket;if(this[Pc].currentSocket=void 0,!e)throw new Error("No socket was returned in the `connect()` function");return e}get defaultPort(){return this[Pc].defaultPort??(this.protocol==="https:"?443:80)}set defaultPort(e){this[Pc]&&(this[Pc].defaultPort=e)}get protocol(){return this[Pc].protocol??(this.isSecureEndpoint()?"https:":"http:")}set protocol(e){this[Pc]&&(this[Pc].protocol=e)}};Kn.Agent=PU});var OU=A(Vo=>{"use strict";var FXe=Vo&&Vo.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),UXe=Vo&&Vo.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),Vhe=Vo&&Vo.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&FXe(e,t,r);return UXe(e,t),e},qXe=Vo&&Vo.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Vo,"__esModule",{value:!0});Vo.HttpProxyAgent=void 0;var GXe=Vhe(require("net")),HXe=Vhe(require("tls")),zXe=qXe(ip()),VXe=require("events"),$Xe=zI(),zhe=require("url"),dg=(0,zXe.default)("http-proxy-agent"),ev=class extends $Xe.Agent{constructor(e,r){super(r),this.proxy=typeof e=="string"?new zhe.URL(e):e,this.proxyHeaders=r?.headers??{},dg("Creating new HttpProxyAgent instance: %o",this.proxy.href);let s=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),i=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={...r?jXe(r,"headers"):null,host:s,port:i}}addRequest(e,r){e._header=null,this.setRequestProps(e,r),super.addRequest(e,r)}setRequestProps(e,r){let{proxy:s}=this,i=r.secureEndpoint?"https:":"http:",n=e.getHeader("host")||"localhost",o=`${i}//${n}`,a=new zhe.URL(e.path,o);r.port!==80&&(a.port=String(r.port)),e.path=String(a);let c=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders};if(s.username||s.password){let l=`${decodeURIComponent(s.username)}:${decodeURIComponent(s.password)}`;c["Proxy-Authorization"]=`Basic ${Buffer.from(l).toString("base64")}`}c["Proxy-Connection"]||(c["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let l of Object.keys(c)){let u=c[l];u&&e.setHeader(l,u)}}async connect(e,r){e._header=null,e.path.includes("://")||this.setRequestProps(e,r);let s,i;dg("Regenerating stored HTTP header string for request"),e._implicitHeader(),e.outputData&&e.outputData.length>0&&(dg("Patching connection write() output buffer with updated header"),s=e.outputData[0].data,i=s.indexOf(`\r
\r
`)+4,e.outputData[0].data=e._header+s.substring(i),dg("Output buffer: %o",e.outputData[0].data));let n;return this.proxy.protocol==="https:"?(dg("Creating `tls.Socket`: %o",this.connectOpts),n=HXe.connect(this.connectOpts)):(dg("Creating `net.Socket`: %o",this.connectOpts),n=GXe.connect(this.connectOpts)),await(0,VXe.once)(n,"connect"),n}};ev.protocols=["http","https"];Vo.HttpProxyAgent=ev;function jXe(t,...e){let r={},s;for(s in t)e.includes(s)||(r[s]=t[s]);return r}});var fde=A(pv=>{"use strict";Object.defineProperty(pv,"__esModule",{value:!0});pv.state=void 0;pv.state={instrumenterImplementation:void 0}});var Tde=A(Ev=>{"use strict";Object.defineProperty(Ev,"__esModule",{value:!0});Ev.state=void 0;Ev.state={operationRequestMap:new WeakMap}});var cAe=A(Tg=>{"use strict";Object.defineProperty(Tg,"__esModule",{value:!0});var Ast=require("os"),mst=require("util");function gst(t){return t&&typeof t=="object"&&"default"in t?t:{default:t}}var yst=gst(mst);function Est(t,...e){process.stderr.write(`${yst.default.format(t,...e)}${Ast.EOL}`)}var Xpe=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,eAe,d8=[],f8=[],LR=[];Xpe&&p8(Xpe);var tAe=Object.assign(t=>rAe(t),{enable:p8,enabled:A8,disable:Cst,log:Est});function p8(t){eAe=t,d8=[],f8=[];let e=/\*/g,r=t.split(",").map(s=>s.trim().replace(e,".*?"));for(let s of r)s.startsWith("-")?f8.push(new RegExp(`^${s.substr(1)}$`)):d8.push(new RegExp(`^${s}$`));for(let s of LR)s.enabled=A8(s.namespace)}function A8(t){if(t.endsWith("*"))return!0;for(let e of f8)if(e.test(t))return!1;for(let e of d8)if(e.test(t))return!0;return!1}function Cst(){let t=eAe||"";return p8(""),t}function rAe(t){let e=Object.assign(r,{enabled:A8(t),destroy:Ist,log:tAe.log,namespace:t,extend:bst});function r(...s){e.enabled&&(s.length>0&&(s[0]=`${t} ${s[0]}`),e.log(...s))}return LR.push(e),e}function Ist(){let t=LR.indexOf(this);return t>=0?(LR.splice(t,1),!0):!1}function bst(t){let e=rAe(`${this.namespace}:${t}`);return e.log=this.log,e}var _0=tAe,sAe=new Set,kR=typeof process<"u"&&process.env&&process.env.AZURE_LOG_LEVEL||void 0,FR,UR=_0("azure");UR.log=(...t)=>{_0.log(...t)};var m8=["verbose","info","warning","error"];kR&&(aAe(kR)?iAe(kR):console.error(`AZURE_LOG_LEVEL set to unknown log level '${kR}'; logging is not enabled. Acceptable values: ${m8.join(", ")}.`));function iAe(t){if(t&&!aAe(t))throw new Error(`Unknown log level '${t}'. Acceptable values: ${m8.join(",")}`);FR=t;let e=[];for(let r of sAe)oAe(r)&&e.push(r.namespace);_0.enable(e.join(","))}function wst(){return FR}var Zpe={verbose:400,info:300,warning:200,error:100};function Sst(t){let e=UR.extend(t);return nAe(UR,e),{error:MR(e,"error"),warning:MR(e,"warning"),info:MR(e,"info"),verbose:MR(e,"verbose")}}function nAe(t,e){e.log=(...r)=>{t.log(...r)}}function MR(t,e){let r=Object.assign(t.extend(e),{level:e});if(nAe(t,r),oAe(r)){let s=_0.disable();_0.enable(s+","+r.namespace)}return sAe.add(r),r}function oAe(t){return!!(FR&&Zpe[t.level]<=Zpe[FR])}function aAe(t){return m8.includes(t)}Tg.AzureLogger=UR;Tg.createClientLogger=Sst;Tg.getLogLevel=wst;Tg.setLogLevel=iAe});var E8=A(P0=>{"use strict";Object.defineProperty(P0,"__esModule",{value:!0});var _g=new WeakMap,qR=new WeakMap,Q0=class t{constructor(){this.onabort=null,_g.set(this,[]),qR.set(this,!1)}get aborted(){if(!qR.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");return qR.get(this)}static get none(){return new t}addEventListener(e,r){if(!_g.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");_g.get(this).push(r)}removeEventListener(e,r){if(!_g.has(this))throw new TypeError("Expected `this` to be an instance of AbortSignal.");let s=_g.get(this),i=s.indexOf(r);i>-1&&s.splice(i,1)}dispatchEvent(e){throw new Error("This is a stub dispatchEvent implementation that should not be used. It only exists for type-checking purposes.")}};function lAe(t){if(t.aborted)return;t.onabort&&t.onabort.call(t);let e=_g.get(t);e&&e.slice().forEach(r=>{r.call(t,{type:"abort"})}),qR.set(t,!0)}var g8=class extends Error{constructor(e){super(e),this.name="AbortError"}},y8=class{constructor(e){if(this._signal=new Q0,!!e){Array.isArray(e)||(e=arguments);for(let r of e)r.aborted?this.abort():r.addEventListener("abort",()=>{this.abort()})}}get signal(){return this._signal}abort(){lAe(this._signal)}static timeout(e){let r=new Q0,s=setTimeout(lAe,e,r);return typeof s.unref=="function"&&s.unref(),r}};P0.AbortController=y8;P0.AbortError=g8;P0.AbortSignal=Q0});var pAe=A(Pi=>{"use strict";Object.defineProperty(Pi,"__esModule",{value:!0});var Bst=E8(),w8=require("crypto"),C8,xst=typeof process<"u"&&!!process.version&&!!(!((C8=process.versions)===null||C8===void 0)&&C8.node);function uAe(t,e){let{cleanupBeforeAbort:r,abortSignal:s,abortErrorMsg:i}=e??{};return new Promise((n,o)=>{function a(){o(new Bst.AbortError(i??"The operation was aborted."))}function c(){s?.removeEventListener("abort",l)}function l(){r?.(),c(),a()}if(s?.aborted)return a(); Line truncated
Polling from: ${r.config.operationLocation}
Operation status: ${u}
Polling status: ${yAe.includes(u)?"Stopped":"Running"}`),u==="succeeded"){let h=o(l,r);if(h!==void 0)return{response:await e(h).catch(mAe({state:r,stateProxy:s,isOperationError:a})),status:u}}return{response:l,status:u}}async function bAe(t){let{poll:e,state:r,stateProxy:s,options:i,getOperationStatus:n,getResourceLocation:o,getOperationLocation:a,isOperationError:c,withOperationLocation:l,getPollingInterval:u,processResult:h,getError:d,updateState:f,setDelay:p,isDone:m,setErrorAsResult:E}=t,{operationLocation:y}=r.config;if(y!==void 0){let{response:C,status:w}=await qst({poll:e,getOperationStatus:n,state:r,stateProxy:s,operationLocation:y,getResourceLocation:o,isOperationError:c,options:i});if(CAe({status:w,response:C,state:r,stateProxy:s,isDone:m,processResult:h,getError:d,setErrorAsResult:E}),!yAe.includes(w)){let B=u?.(C);B&&p(B);let N=a?.(C,r);if(N!==void 0){let P=y!==N;r.config.operationLocation=N,l?.(N,P)}else l?.(y,!1)}f?.(r,C)}}function wAe(t){let{azureAsyncOperation:e,operationLocation:r}=t;return r??e}function SAe(t){return t.headers.location}function BAe(t){return t.headers["operation-location"]}function xAe(t){return t.headers["azure-asyncoperation"]}function Gst(t){let{location:e,requestMethod:r,requestPath:s,resourceLocationConfig:i}=t;switch(r){case"PUT":return s;case"DELETE":return;default:switch(i){case"azure-async-operation":return;case"original-uri":return s;default:return e}}}function NAe(t){let{rawResponse:e,requestMethod:r,requestPath:s,resourceLocationConfig:i}=t,n=BAe(e),o=xAe(e),a=wAe({operationLocation:n,azureAsyncOperation:o}),c=SAe(e),l=r?.toLocaleUpperCase();return a!==void 0?{mode:"OperationLocation",operationLocation:a,resourceLocation:Gst({requestMethod:l,location:c,requestPath:s,resourceLocationConfig:i})}:c!==void 0?{mode:"ResourceLocation",operationLocation:c}:l==="PUT"&&s?{mode:"Body",operationLocation:s}:void 0}function vAe(t){let{status:e,statusCode:r}=t;if(typeof e!="string"&&e!==void 0)throw new Error(`Polling was unsuccessful. Expected status to have a string value or no value but it has instead: ${e}. This doesn't necessarily indicate the operation has failed. Check your Azure subscription or resource status for more information.`);switch(e?.toLocaleLowerCase()){case void 0:return N8(r);case"succeeded":return"succeeded";case"failed":return"failed";case"running":case"accepted":case"started":case"canceling":case"cancelling":return"running";case"canceled":case"cancelled":return"canceled";default:return bp.verbose(`LRO: unrecognized operation status: ${e}`),e}}function Hst(t){var e;let{status:r}=(e=t.body)!==null&&e!==void 0?e:{};return vAe({status:r,statusCode:t.statusCode})}function zst(t){var e,r;let{properties:s,provisioningState:i}=(e=t.body)!==null&&e!==void 0?e:{},n=(r=s?.provisioningState)!==null&&r!==void 0?r:i;return vAe({status:n,statusCode:t.statusCode})}function N8(t){return t===202?"running":t<300?"succeeded":"failed"}function RAe({rawResponse:t}){let e=t.headers["retry-after"];if(e!==void 0){let r=parseInt(e);return isNaN(r)?Vst(new Date(e)):r*1e3}}function TAe(t){let e=t.flatResponse.error;if(!e){bp.warning("The long-running operation failed but there is no error property in the response's body");return}if(!e.code||!e.message){bp.warning("The long-running operation failed but the error property in the response's body doesn't contain code or message");return}return e}function Vst(t){let e=Math.floor(new Date().getTime()),r=t.getTime();if(e<r)return r-e}function _Ae(t){let{response:e,state:r,operationLocation:s}=t;function i(){var o;switch((o=r.config.metadata)===null||o===void 0?void 0:o.mode){case void 0:return N8(e.rawResponse.statusCode);case"Body":return v8(e,r);default:return"running"}}let n=i();return n==="running"&&s===void 0?"succeeded":n}async function $st(t){let{stateProxy:e,resourceLocationConfig:r,processResult:s,lro:i,setErrorAsResult:n}=t;return IAe({init:async()=>{let o=await i.sendInitialRequest(),a=NAe({rawResponse:o.rawResponse,requestPath:i.requestPath,requestMethod:i.requestMethod,resourceLocationConfig:r});return Object.assign({response:o,operationLocation:a?.operationLocation,resourceLocation:a?.resourceLocation},a?.mode?{metadata:{mode:a.mode}}:{})},stateProxy:e,processResult:s?({flatResponse:o},a)=>s(o,a):({flatResponse:o})=>o,getOperationStatus:_Ae,setErrorAsResult:n})}function QAe({rawResponse:t},e){var r;switch((r=e.config.metadata)===null||r===void 0?void 0:r.mode){case"OperationLocation":return wAe({operationLocation:BAe(t),azureAsyncOperation:xAe(t)});case"ResourceLocation":return SAe(t);default:return}}function v8({rawResponse:t},e){var r;let s=(r=e.config.metadata)===null||r===void 0?void 0:r.mode;switch(s){case"OperationLocation":return Hst(t);case"ResourceLocation":return N8(t.statusCode);case"Body":return zst(t);default:throw new Error(`Internal error: Unexpected operation mode: ${s}`)}}function PAe({flatResponse:t},e){if(typeof t=="object"){let r=t.resourceLocation;r!==void 0&&(e.config.resourceLocation=r)}return e.cLine truncated
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(i){case 0:o=n,i=1;break;case 1:r[s++]=o<<2|(n&48)>>4,o=n,i=2;break;case 2:r[s++]=(o&15)<<4|(n&60)>>2,o=n,i=3;break;case 3:r[s++]=(o&3)<<6|n,i=0;break}}if(i==1)throw Error("invalid base64 string.");return r.subarray(0,s)}Mg.base64decode=Rit;function Tit(t){let e="",r=0,s,i=0;for(let n=0;n<t.length;n++)switch(s=t[n],r){case 0:e+=_u[s>>2],i=(s&3)<<4,r=1;break;case 1:e+=_u[i|s>>4],i=(s&15)<<2,r=2;break;case 2:e+=_u[i|s>>6],e+=_u[s&63],r=0;break}return r&&(e+=_u[i],e+="=",r==1&&(e+="=")),e}Mg.base64encode=Tit});var cme=A(oT=>{"use strict";Object.defineProperty(oT,"__esModule",{value:!0});oT.utf8read=void 0;var L8=t=>String.fromCharCode.apply(String,t);function _it(t){if(t.length<1)return"";let e=0,r=[],s=[],i=0,n,o=t.length;for(;e<o;)n=t[e++],n<128?s[i++]=n:n>191&&n<224?s[i++]=(n&31)<<6|t[e++]&63:n>239&&n<365?(n=((n&7)<<18|(t[e++]&63)<<12|(t[e++]&63)<<6|t[e++]&63)-65536,s[i++]=55296+(n>>10),s[i++]=56320+(n&1023)):s[i++]=(n&15)<<12|(t[e++]&63)<<6|t[e++]&63,i>8191&&(r.push(L8(s)),i=0);return r.length?(i&&r.push(L8(s.slice(0,i))),r.join("")):L8(s.slice(0,i))}oT.utf8read=_it});var q0=A(nl=>{"use strict";Object.defineProperty(nl,"__esModule",{value:!0});nl.WireType=nl.mergeBinaryOptions=nl.UnknownFieldHandler=void 0;var Qit;(function(t){t.symbol=Symbol.for("protobuf-ts/unknown"),t.onRead=(r,s,i,n,o)=>{(e(s)?s[t.symbol]:s[t.symbol]=[]).push({no:i,wireType:n,data:o})},t.onWrite=(r,s,i)=>{for(let{no:n,wireType:o,data:a}of t.list(s))i.tag(n,o).raw(a)},t.list=(r,s)=>{if(e(r)){let i=r[t.symbol];return s?i.filter(n=>n.no==s):i}return[]},t.last=(r,s)=>t.list(r,s).slice(-1)[0];let e=r=>r&&Array.isArray(r[t.symbol])})(Qit=nl.UnknownFieldHandler||(nl.UnknownFieldHandler={}));function Pit(t,e){return Object.assign(Object.assign({},t),e)}nl.mergeBinaryOptions=Pit;var Oit;(function(t){t[t.Varint=0]="Varint",t[t.Bit64=1]="Bit64",t[t.LengthDelimited=2]="LengthDelimited",t[t.StartGroup=3]="StartGroup",t[t.EndGroup=4]="EndGroup",t[t.Bit32=5]="Bit32"})(Oit=nl.WireType||(nl.WireType={}))});var cT=A(En=>{"use strict";Object.defineProperty(En,"__esModule",{value:!0});En.varint32read=En.varint32write=En.int64toString=En.int64fromString=En.varint64write=En.varint64read=void 0;function Dit(){let t=0,e=0;for(let s=0;s<28;s+=7){let i=this.buf[this.pos++];if(t|=(i&127)<<s,(i&128)==0)return this.assertBounds(),[t,e]}let r=this.buf[this.pos++];if(t|=(r&15)<<28,e=(r&112)>>4,(r&128)==0)return this.assertBounds(),[t,e];for(let s=3;s<=31;s+=7){let i=this.buf[this.pos++];if(e|=(i&127)<<s,(i&128)==0)return this.assertBounds(),[t,e]}throw new Error("invalid varint")}En.varint64read=Dit;function kit(t,e,r){for(let n=0;n<28;n=n+7){let o=t>>>n,a=!(!(o>>>7)&&e==0),c=(a?o|128:o)&255;if(r.push(c),!a)return}let s=t>>>28&15|(e&7)<<4,i=e>>3!=0;if(r.push((i?s|128:s)&255),!!i){for(let n=3;n<31;n=n+7){let o=e>>>n,a=!!(o>>>7),c=(a?o|128:o)&255;if(r.push(c),!a)return}r.push(e>>>31&1)}}En.varint64write=kit;var aT=65536*65536;function Mit(t){let e=t[0]=="-";e&&(t=t.slice(1));let r=1e6,s=0,i=0;function n(o,a){let c=Number(t.slice(o,a));i*=r,s=s*r+c,s>=aT&&(i=i+(s/aT|0),s=s%aT)}return n(-24,-18),n(-18,-12),n(-12,-6),n(-6),[e,s,i]}En.int64fromString=Mit;function Lit(t,e){if(e>>>0<=2097151)return""+(aT*e+(t>>>0));let r=t&16777215,s=(t>>>24|e<<8)>>>0&16777215,i=e>>16&65535,n=r+s*6777216+i*6710656,o=s+i*8147497,a=i*2,c=1e7;n>=c&&(o+=Math.floor(n/c),n%=c),o>=c&&(a+=Math.floor(o/c),o%=c);function l(u,h){let d=u?String(u):"";return h?"0000000".slice(d.length)+d:d}return l(a,0)+l(o,a)+l(n,1)}En.int64toString=Lit;function Fit(t,e){if(t>=0){for(;t>127;)e.push(t&127|128),t=t>>>7;e.push(t)}else{for(let r=0;r<9;r++)e.push(t&127|128),t=t>>7;e.push(1)}}En.varint32write=Fit;function Uit(){let t=this.buf[this.pos++],e=t&127;if((t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<7,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<14,(t&128)==0)return this.assertBounds(),e;if(t=this.buf[this.pos++],e|=(t&127)<<21,(t&128)==0)return this.assertBounds(),e;t=this.buf[this.pos++],e|=(t&15)<<28;for(let r=5;(t&128)!==0&&r<10;r++)t=this.buf[this.pos++];if((t&128)!=0)throw new Error("invalid varint");return this.assertBounds(),e>>>0}En.varint32read=Uit});var bd=A(Id=>{"use strict";Object.defineProperty(Id,"__esModule",{value:!0});Id.PbLong=Id.PbULong=Id.detectBi=void 0;var G0=cT(),Ut;function lme(){let t=new DataView(new ArrayBuffer(8));Ut=globalThis.BigInt!==void 0&&typeof t.getBigInt64=="function"&&typeof t.getBigUint64=="function"&&typeof t.setBigInt64=="function"&&typeof t.setBigUint64=="function"?{MIN:BigInt("-9223372036854775808"),MAX:BigInt("9223372036854775807"),UMIN:BigInt("0"),UMAX:BigInt("18446744073709551615"),C:BigInt,V:t}:void 0}Id.detectBi=lme;lme();function ume(t){if(!t)throw new Error("BigInt unavailable, see https://github.com/timostamm/protobuf-ts/blob/v1.0.8/MANUAL.md#bigint-support")}var hme=/^-?[0-9]+$/,uT=4294967296,lT=2147483648,hT=c Line truncated
`)}};DT.RpcError=hz});var fz=A(MT=>{"use strict";Object.defineProperty(MT,"__esModule",{value:!0});MT.mergeRpcOptions=void 0;var qme=kr();function cot(t,e){if(!e)return t;let r={};kT(t,r),kT(e,r);for(let s of Object.keys(e)){let i=e[s];switch(s){case"jsonOptions":r.jsonOptions=qme.mergeJsonOptions(t.jsonOptions,r.jsonOptions);break;case"binaryOptions":r.binaryOptions=qme.mergeBinaryOptions(t.binaryOptions,r.binaryOptions);break;case"meta":r.meta={},kT(t.meta,r.meta),kT(e.meta,r.meta);break;case"interceptors":r.interceptors=t.interceptors?t.interceptors.concat(i):i.concat();break}}return r}MT.mergeRpcOptions=cot;function kT(t,e){if(!t)return;let r=e;for(let[s,i]of Object.entries(t))i instanceof Date?r[s]=new Date(i.getTime()):Array.isArray(i)?r[s]=i.concat():r[s]=i}});var Az=A(Np=>{"use strict";Object.defineProperty(Np,"__esModule",{value:!0});Np.Deferred=Np.DeferredState=void 0;var cl;(function(t){t[t.PENDING=0]="PENDING",t[t.REJECTED=1]="REJECTED",t[t.RESOLVED=2]="RESOLVED"})(cl=Np.DeferredState||(Np.DeferredState={}));var pz=class{constructor(e=!0){this._state=cl.PENDING,this._promise=new Promise((r,s)=>{this._resolve=r,this._reject=s}),e&&this._promise.catch(r=>{})}get state(){return this._state}get promise(){return this._promise}resolve(e){if(this.state!==cl.PENDING)throw new Error(`cannot resolve ${cl[this.state].toLowerCase()}`);this._resolve(e),this._state=cl.RESOLVED}reject(e){if(this.state!==cl.PENDING)throw new Error(`cannot reject ${cl[this.state].toLowerCase()}`);this._reject(e),this._state=cl.REJECTED}resolvePending(e){this._state===cl.PENDING&&this.resolve(e)}rejectPending(e){this._state===cl.PENDING&&this.reject(e)}};Np.Deferred=pz});var gz=A(LT=>{"use strict";Object.defineProperty(LT,"__esModule",{value:!0});LT.RpcOutputStreamController=void 0;var Gme=Az(),vp=kr(),mz=class{constructor(){this._lis={nxt:[],msg:[],err:[],cmp:[]},this._closed=!1,this._itState={q:[]}}onNext(e){return this.addLis(e,this._lis.nxt)}onMessage(e){return this.addLis(e,this._lis.msg)}onError(e){return this.addLis(e,this._lis.err)}onComplete(e){return this.addLis(e,this._lis.cmp)}addLis(e,r){return r.push(e),()=>{let s=r.indexOf(e);s>=0&&r.splice(s,1)}}clearLis(){for(let e of Object.values(this._lis))e.splice(0,e.length)}get closed(){return this._closed!==!1}notifyNext(e,r,s){vp.assert((e?1:0)+(r?1:0)+(s?1:0)<=1,"only one emission at a time"),e&&this.notifyMessage(e),r&&this.notifyError(r),s&&this.notifyComplete()}notifyMessage(e){vp.assert(!this.closed,"stream is closed"),this.pushIt({value:e,done:!1}),this._lis.msg.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(e,void 0,!1))}notifyError(e){vp.assert(!this.closed,"stream is closed"),this._closed=e,this.pushIt(e),this._lis.err.forEach(r=>r(e)),this._lis.nxt.forEach(r=>r(void 0,e,!1)),this.clearLis()}notifyComplete(){vp.assert(!this.closed,"stream is closed"),this._closed=!0,this.pushIt({value:null,done:!0}),this._lis.cmp.forEach(e=>e()),this._lis.nxt.forEach(e=>e(void 0,void 0,!0)),this.clearLis()}[Symbol.asyncIterator](){return this._closed===!0?this.pushIt({value:null,done:!0}):this._closed!==!1&&this.pushIt(this._closed),{next:()=>{let e=this._itState;vp.assert(e,"bad state"),vp.assert(!e.p,"iterator contract broken");let r=e.q.shift();return r?"value"in r?Promise.resolve(r):Promise.reject(r):(e.p=new Gme.Deferred,e.p.promise)}}}pushIt(e){let r=this._itState;if(r.p){let s=r.p;vp.assert(s.state==Gme.DeferredState.PENDING,"iterator contract broken"),"value"in e?s.resolve(e):s.reject(e),delete r.p}else r.q.push(e)}};LT.RpcOutputStreamController=mz});var Ez=A(zg=>{"use strict";var lot=zg&&zg.__awaiter||function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})};Object.defineProperty(zg,"__esModule",{value:!0});zg.UnaryCall=void 0;var yz=class{constructor(e,r,s,i,n,o,a){this.method=e,this.requestHeaders=r,this.request=s,this.headers=i,this.response=n,this.status=o,this.trailers=a}then(e,r){return this.promiseFinished().then(s=>e?Promise.resolve(e(s)):s,s=>r?Promise.resolve(r(s)):Promise.reject(s))}promiseFinished(){return lot(this,void 0,void 0,function*(){let[e,r,s,i]=yield Promise.all([this.headers,this.response,this.status,this.trailers]);return{method:this.method,requestHeaders:this.requestHeaders,request:this.request,headers:e,response:r,status:s,trailers:i}})}};zg.UnaryCall=yz});var Iz=A(Vg=>{"use strict";var uot=Vg&&Vg.__awaiter||function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})};Object.defineProperty(Vg,"__esModule",{value:!0});Vg.ServerStreamingCall=void 0;var Cz=class{constructor(e Line truncated
You can add a runtime option to disable the check or this warning:
See https://handlebarsjs.com/api-reference/runtime-options.html#options-to-control-prototype-access for details`))}function hht(){Object.keys(E_).forEach(function(t){delete E_[t]})}});var I_=A(dl=>{"use strict";dl.__esModule=!0;dl.HandlebarsEnvironment=FV;function $Ee(t){return t&&t.__esModule?t:{default:t}}var Pp=Mi(),dht=co(),MV=$Ee(dht),fht=PV(),pht=GEe(),Aht=DV(),C_=$Ee(Aht),mht=kV(),ght="4.7.9";dl.VERSION=ght;var yht=8;dl.COMPILER_REVISION=yht;var Eht=7;dl.LAST_COMPATIBLE_COMPILER_REVISION=Eht;var Cht={1:"<= 1.0.rc.2",2:"== 1.0.0-rc.3",3:"== 1.0.0-rc.4",4:"== 1.x.x",5:"== 2.0.0-alpha.x",6:">= 2.0.0-beta.1",7:">= 4.0.0 <4.3.0",8:">= 4.3.0"};dl.REVISION_CHANGES=Cht;var LV="[object Object]";function FV(t,e,r){this.helpers=t||{},this.partials=e||{},this.decorators=r||{},fht.registerDefaultHelpers(this),pht.registerDefaultDecorators(this)}FV.prototype={constructor:FV,logger:C_.default,log:C_.default.log,registerHelper:function(e,r){if(Pp.toString.call(e)===LV){if(r)throw new MV.default("Arg not supported with multiple helpers");Pp.extend(this.helpers,e)}else this.helpers[e]=r},unregisterHelper:function(e){delete this.helpers[e]},registerPartial:function(e,r){if(Pp.toString.call(e)===LV)Pp.extend(this.partials,e);else{if(typeof r>"u")throw new MV.default('Attempting to register a partial called "'+e+'" as undefined');this.partials[e]=r}},unregisterPartial:function(e){delete this.partials[e]},registerDecorator:function(e,r){if(Pp.toString.call(e)===LV){if(r)throw new MV.default("Arg not supported with multiple decorators");Pp.extend(this.decorators,e)}else this.decorators[e]=r},unregisterDecorator:function(e){delete this.decorators[e]},resetLoggedPropertyAccesses:function(){mht.resetLoggedProperties()}};var Iht=C_.default.log;dl.log=Iht;dl.createFrame=Pp.createFrame;dl.logger=C_.default});var JEe=A((b_,jEe)=>{"use strict";b_.__esModule=!0;function UV(t){this.string=t}UV.prototype.toString=UV.prototype.toHTML=function(){return""+this.string};b_.default=UV;jEe.exports=b_.default});var YEe=A(qV=>{"use strict";qV.__esModule=!0;qV.wrapHelper=bht;function bht(t,e){if(typeof t!="function")return t;var r=function(){var i=arguments[arguments.length-1];return arguments[arguments.length-1]=e(i),t.apply(this,arguments)};return r}});var tCe=A(xd=>{"use strict";xd.__esModule=!0;xd.checkRevision=vht;xd.template=Rht;xd.wrapProgram=w_;xd.resolvePartial=Tht;xd.invokePartial=_ht;xd.noop=ZEe;function wht(t){return t&&t.__esModule?t:{default:t}}function Sht(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}var Bht=Mi(),iy=Sht(Bht),xht=co(),Ou=wht(xht),Du=I_(),WEe=PV(),Nht=YEe(),KEe=kV();function vht(t){var e=t&&t[0]||1,r=Du.COMPILER_REVISION;if(!(e>=Du.LAST_COMPATIBLE_COMPILER_REVISION&&e<=Du.COMPILER_REVISION))if(e<Du.LAST_COMPATIBLE_COMPILER_REVISION){var s=Du.REVISION_CHANGES[r],i=Du.REVISION_CHANGES[e];throw new Ou.default("Template was precompiled with an older version of Handlebars than the current runtime. Please update your precompiler to a newer version ("+s+") or downgrade your runtime to an older version ("+i+").")}else throw new Ou.default("Template was precompiled with a newer version of Handlebars than the current runtime. Please update your runtime to a newer version ("+t[1]+").")}function Rht(t,e){if(!e)throw new Ou.default("No environment passed to template");if(!t||!t.main)throw new Ou.default("Unknown template object: "+typeof t);t.main.decorator=t.main_d,e.VM.checkRevision(t.compiler);var r=t.compiler&&t.compiler[0]===7;function s(o,a,c){c.hash&&(a=iy.extend({},a,c.hash),c.ids&&(c.ids[0]=!0)),o=e.VM.resolvePartial.call(this,o,a,c),c.hooks=this.hooks,c.protoAccessControl=this.protoAccessControl;var l=e.VM.invokePartial.call(this,o,a,c);if(l==null&&e.compile&&(c.partials[c.name]=e.compile(o,t.compilerOptions,e),l=c.partials[c.name](a,c)),l!=null){if(c.indent){for(var u=l.split(`
`),h=0,d=u.length;h<d&&!(!u[h]&&h+1===d);h++)u[h]=c.indent+u[h];l=u.join(`
`)}return l}else throw new Ou.default("The partial "+c.name+" could not be compiled when running in runtime-only mode")}var i={strict:function(a,c,l){if(!a||!(c in a))throw new Ou.default('"'+c+'" not defined in '+a,{loc:l});return i.lookupProperty(a,c)},lookupProperty:function(a,c){var l=a[c];if(l==null||Object.prototype.hasOwnProperty.call(a,c)||KEe.resultIsAllowed(l,i.protoAccessControl,c))return l},lookup:function(a,c){for(var l=a.length,u=0;u<l;u++){var h=a[u]&&i.lookupProperty(a[u],c);if(h!=null)return h}},lambda:function(a,c){return typeof a=="function"?a.call(c):a},escapeExpression:iy.escapeExpression,invokePartial:s,fn:function(a){var c=t[a];return c.decorator=t[a+"_d"],c},programs:[],program:function(a,c,l,u,h){var d=this.programs[a],f=this.fn(a);return c||h||u||l?d=w_(this,a,f,c,l,u,h):d||(d=this.programs[a]=w_(this,a,f)),d},data:function(a,c){for(;a&&c--;)a=a._parent;return a},mergeIfNeeded:function(a,c){var l=a||c;return a&&c&&a!==c&&(l=iy.extend({},c,a)),l},nullContext:Object.seal({}),noop:e.VM.noop,compilerInfo:t.compiler};function n(o){var a=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],c=a.data;n._setup(a),!a.partial&&t.useData&&(c=Qht(o,c));var l=void 0,u=t.useBlockParams?[]:void 0;t.useDepths&&(a.depths?l=o!=a.depths[0]?[o].concat(a.depths):a.depths:l=[o]);function h(d){return""+t.main(i,d,i.helpers,i.partials,c,u,l)}return h=eCe(t.main,h,i,a.depths||[],c,u),h(o,a)}return n.isTop=!0,n._setup=function(o){if(o.partial)i.protoAccessControl=o.protoAccessControl,i.helpers=o.helpers,i.partials=o.partials,i.decorators=o.decorators,i.hooks=o.hooks;else{var a={};XEe(a,e.helpers,i),XEe(a,o.helpers,i),i.helpers=a,t.usePartial&&(i.partials=i.mergeIfNeeded(o.partials,e.partials)),(t.usePartial||t.useDecorators)&&(i.decorators=iy.extend({},e.decorators,o.decorators)),i.hooks={},i.protoAccessControl=KEe.createProtoAccessControl(o);var c=o.allowCallsToHelperMissing||r;WEe.moveHelperToHooks(i,"helperMissing",c),WEe.moveHelperToHooks(i,"blockHelperMissing",c)}},n._child=function(o,a,c,l){if(t.useBlockParams&&!c)throw new Ou.default("must pass block params");if(t.useDepths&&!l)throw new Ou.default("must pass parent depths");return w_(i,o,t[o],a,0,c,l)},n}function w_(t,e,r,s,i,n,o){function a(c){var l=arguments.length<=1||arguments[1]===void 0?{}:arguments[1],u=o;return o&&c!=o[0]&&!(c===t.nullContext&&o[0]===null)&&(u=[c].concat(o)),r(t,c,t.helpers,t.partials,l.data||s,n&&[l.blockParams].concat(n),u)}return a=eCe(r,a,t,o,s,n),a.program=e,a.depth=o?o.length:0,a.blockParams=i||0,a}function Tht(t,e,r){return t?!t.call&&!r.name&&(r.name=t,t=S_(r.partials,t)):r.name==="@partial-block"?t=S_(r.data,"partial-block"):t=S_(r.partials,r.name),t}function _ht(t,e,r){var s=S_(r.data,"partial-block");r.partial=!0,r.ids&&(r.data.contextPath=r.ids[0]||r.data.contextPath);var i=void 0;if(r.fn&&r.fn!==ZEe&&(function(){r.data=Du.createFrame(r.data);var n=r.fn;i=r.data["partial-block"]=function(a){var c=arguments.length<=1||arguments[1]===void 0?{}:arguments[1];return c.data=Du.createFrame(c.data),c.data["partial-block"]=s,n(a,c)},n.partials&&(r.partials=iy.extend({},r.partials,n.partials))})(),t===void 0&&i&&(t=i),t===void 0)throw new Ou.default("The partial "+r.name+" could not be found");if(t instanceof Function)return t(e,r)}function ZEe(){return""}function S_(t,e){if(t&&Object.prototype.hasOwnProperty.call(t,e))return t[e]}function Qht(t,e){return(!e||!("root"in e))&&(e=e?Du.createFrame(e):{},e.root=t),e}function eCe(t,e,r,s,i,n){if(t.decorator){var o={};e=t.decorator(e,o,r,s&&s[0],i,n,s),iy.extend(e,o)}return e}function XEe(t,e,r){e&&Object.keys(e).forEach(function(s){var i=e[s];t[s]=Pht(i,r)})}function Pht(t,e){var r=e.lookupProperty;return Nht.wrapHelper(t,function(s){return s.lookupProperty=r,s})}});var GV=A((B_,rCe)=>{"use strict";B_.__esModule=!0;B_.default=function(t){(function(){typeof globalThis!="object"&&(Object.prototype.__defineGetter__("__magic__",function(){return this}),__magic__.globalThis=__magic__,delete Object.prototype.__magic__)})();var e=globalThis.Handlebars;t.noConflict=function(){return globalThis.Handlebars===t&&(globalThis.Handlebars=e),t}};rCe.exports=B_.default});var aCe=A((x_,oCe)=>{"use strict";x_.__esModule=!0;function zV(t){return t&&t.__esModule?t:{default:t}}function VV(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r]);return e.default=t,e}var Oht=I_(),sCe=VV(Oht),Dht=JEe(),kht=zV(Dht),Mht=co(),Lht=zV(Mht),Fht=Mi(),HV=VV(Fht),Uht=tCe(),iCe=VV(Uht),qht=GV(),Ght=zV(qht);function nCe(){var t=new sCe.HandlebarsEnvironment;return HV.extend(t,sCe),t.SafeString=kht.default,t.Exception=Lht.default,t.Utils=HV,t.escapeExpression=HV.escapeExpression,t.VM=iCe,t.template=function(e){return iCe.template(e,t)},t}var hb=nCe();hb.create=nCe;Ght.default(hb);hb.default=hb;x_.default=hb;oCe.exports=x_.default});var $V=A((N_,lCe)=>{"use strict";N_.__esModule=!0;var cCe={helpers:{helperExpression:function(e){return e.type===" Line truncated
`+this.lexer.showPosition()+`
Expecting `+$.join(", ")+", got '"+(this.terminals_[B]||B)+"'":se="Parse error on line "+(h+1)+": Unexpected "+(B==1?"end of input":"'"+(this.terminals_[B]||B)+"'"),this.parseError(se,{text:this.lexer.match,token:this.terminals_[B]||B,line:this.lexer.yylineno,loc:E,expected:$})}}if(Q[0]instanceof Array&&Q.length>1)throw new Error("Parse Error: multiple actions possible at state: "+P+", token: "+B);switch(Q[0]){case 1:o.push(B),a.push(this.lexer.yytext),c.push(this.lexer.yylloc),o.push(Q[1]),B=null,N?(B=N,N=null):(d=this.lexer.yyleng,u=this.lexer.yytext,h=this.lexer.yylineno,E=this.lexer.yylloc,f>0&&f--);break;case 2:if(F=this.productions_[Q[1]][1],ee.$=a[a.length-F],ee._$={first_line:c[c.length-(F||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(F||1)].first_column,last_column:c[c.length-1].last_column},y&&(ee._$.range=[c[c.length-(F||1)].range[0],c[c.length-1].range[1]]),G=this.performAction.call(ee,u,d,h,this.yy,Q[1],a,c),typeof G<"u")return G;F&&(o=o.slice(0,-1*F*2),a=a.slice(0,-1*F),c=c.slice(0,-1*F)),o.push(this.productions_[Q[1]][0]),a.push(ee.$),c.push(ee._$),q=l[o[o.length-2]][o[o.length-1]],o.push(q);break;case 3:return!0}}return!0}},e=(function(){var s={EOF:1,parseError:function(n,o){if(this.yy.parser)this.yy.parser.parseError(n,o);else throw new Error(n)},setInput:function(n){return this._input=n,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this.options.ranges&&(this.yylloc.range=[0,0]),this.offset=0,this},input:function(){var n=this._input[0];this.yytext+=n,this.yyleng++,this.offset++,this.match+=n,this.matched+=n;var o=n.match(/(?:\r\n?|\n).*/g);return o?(this.yylineno++,this.yylloc.last_line++):this.yylloc.last_column++,this.options.ranges&&this.yylloc.range[1]++,this._input=this._input.slice(1),n},unput:function(n){var o=n.length,a=n.split(/(?:\r\n?|\n)/g);this._input=n+this._input,this.yytext=this.yytext.substr(0,this.yytext.length-o-1),this.offset-=o;var c=this.match.split(/(?:\r\n?|\n)/g);this.match=this.match.substr(0,this.match.length-1),this.matched=this.matched.substr(0,this.matched.length-1),a.length-1&&(this.yylineno-=a.length-1);var l=this.yylloc.range;return this.yylloc={first_line:this.yylloc.first_line,last_line:this.yylineno+1,first_column:this.yylloc.first_column,last_column:a?(a.length===c.length?this.yylloc.first_column:0)+c[c.length-a.length].length-a[0].length:this.yylloc.first_column-o},this.options.ranges&&(this.yylloc.range=[l[0],l[0]+this.yyleng-o]),this},more:function(){return this._more=!0,this},less:function(n){this.unput(this.match.slice(n))},pastInput:function(){var n=this.matched.substr(0,this.matched.length-this.match.length);return(n.length>20?"...":"")+n.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var n=this.match;return n.length<20&&(n+=this._input.substr(0,20-n.length)),(n.substr(0,20)+(n.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var n=this.pastInput(),o=new Array(n.length+1).join("-");return n+this.upcomingInput()+`
`+o+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var n,o,a,c,l,u;this._more||(this.yytext="",this.match="");for(var h=this._currentRules(),d=0;d<h.length&&(a=this._input.match(this.rules[h[d]]),!(a&&(!o||a[0].length>o[0].length)&&(o=a,c=d,!this.options.flex)));d++);return o?(u=o[0].match(/(?:\r\n?|\n).*/g),u&&(this.yylineno+=u.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:u?u[u.length-1].length-u[u.length-1].match(/\r?\n?/)[0].length:this.yylloc.last_column+o[0].length},this.yytext+=o[0],this.match+=o[0],this.matches=o,this.yyleng=this.yytext.length,this.options.ranges&&(this.yylloc.range=[this.offset,this.offset+=this.yyleng]),this._more=!1,this._input=this._input.slice(o[0].length),this.matched+=o[0],n=this.performAction.call(this,this.yy,this,h[c],this.conditionStack[this.conditionStack.length-1]),this.done&&this._input&&(this.done=!1),n||void 0):this._input===""?this.EOF:this.parseError("Lexical error on line "+(this.yylineno+1)+`. Unrecognized text.
`+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var n=this.next();return typeof n<"u"?n:this.lex()},begin:function(n){this.conditionStack.push(n)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(n){this.begin(n)}};return s.options={},s.performAction=function(n,o,a,c){function l(h,d){return o.yytext=o.yytext.substring(h,o.yyleng-d+h)}var u=c;switch(a){case 0:if(o.yytext.slice(-2)==="\\\\"?(l(0,1),this.begin("mu")):o.yytext.slice(-1)==="\\"?(l(0,1),this.begin("emu")):this.begin("mu"),o.yytext)return 15;break;case 1:return 15;case 2:return this.popState(),15;break;case 3:return this.begin("raw"),15;break;case 4:return this.popState(),this.conditionStack[this.conditionStack.length-1]==="raw"?15:(l(5,9),"END_RAW_BLOCK");case 5:return 15;case 6:return this.popState(),14;break;case 7:return 65;case 8:return 68;case 9:return 19;case 10:return this.popState(),this.begin("raw"),23;break;case 11:return 55;case 12:return 60;case 13:return 29;case 14:return 47;case 15:return this.popState(),44;break;case 16:return this.popState(),44;break;case 17:return 34;case 18:return 39;case 19:return 51;case 20:return 48;case 21:this.unput(o.yytext),this.popState(),this.begin("com");break;case 22:return this.popState(),14;break;case 23:return 48;case 24:return 73;case 25:return 72;case 26:return 72;case 27:return 87;case 28:break;case 29:return this.popState(),54;break;case 30:return this.popState(),33;break;case 31:return o.yytext=l(1,2).replace(/\\"/g,'"'),80;break;case 32:return o.yytext=l(1,2).replace(/\\'/g,"'"),80;break;case 33:return 85;case 34:return 82;case 35:return 82;case 36:return 83;case 37:return 84;case 38:return 81;case 39:return 75;case 40:return 77;case 41:return 72;case 42:return o.yytext=o.yytext.replace(/\\([\\\]])/g,"$1"),72;break;case 43:return"INVALID";case 44:return 5}},s.rules=[/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{(?=[^\/]))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]+?(?=(\{\{\{\{)))/,/^(?:[\s\S]*?--(~)?\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#>)/,/^(?:\{\{(~)?#\*?)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{(~)?!--)/,/^(?:\{\{(~)?![\s\S]*?\}\})/,/^(?:\{\{(~)?\*?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)|])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:undefined(?=([~}\s)])))/,/^(?:null(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:as\s+\|)/,/^(?:\|)/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)|]))))/,/^(?:\[(\\\]|[^\]])*\])/,/^(?:.)/,/^(?:$)/],s.conditions={mu:{rules:[7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44],inclusive:!1},emu:{rules:[2],inclusive:!1},com:{rules:[6],inclusive:!1},raw:{rules:[3,4,5],inclusive:!1},INITIAL:{rules:[0,1,44],inclusive:!0}},s})();t.lexer=e;function r(){this.yy={}}return r.prototype=t,t.Parser=r,new r})();v_.default=Hht;uCe.exports=v_.default});var Q_=A((__,pCe)=>{"use strict";__.__esModule=!0;function zht(t){return t&&t.__esModule?t:{default:t}}var Vht=co(),jV=zht(Vht);function R_(){this.parents=[]}R_.prototype={constructor:R_,mutating:!1,acceptKey:function(e,r){var s=this.accept(e[r]);if(this.mutating){if(s&&!R_.prototype[s.type])throw new jV.default('Unexpected node type "'+s.type+'" found when accepting '+r+" on "+e.type);e[r]=s}},acceptRequired:function(e,r){if(this.acceptKey(e,r),!e[r])throw new jV.default(e.type+" requires "+r)},acceptArray:function(e){for(var r=0,s=e.length;r<s;r++)this.acceptKey(e,r),e[r]||(e.splice(r,1),r--,s--)},accept:function(e){if(e){if(!this[e.type])throw new jV.default("Unknown type: "+e.type,e);this.current&&this.parents.unshift(this.current),this.current=e;var r=this[e.type](e);if(this.current=this.parents.shift(),!this.mutating||r)return r;if(r!==!1)return e}},Program:function(e){this.acceptArray(e.body)},MustacheStatement:T_,Decorator:T_,BlockStatement:dCe,DecoratorBlock:dCe,PartialStatement:fCe,PartialBlockStatement:function(e){fCe.call(this,e),this.acceptKey(e,"program")},ContentStatement:function(){},CommentStatement:function(){},SubExpression:T_,PathExpression:function(){},StringLiteral:function(){},NumberLiteral:function(){},BooleanLiteral:function(){},UndefinedLiteral:function(){},NullLiteral:function(){},Hash:function(e){this.acceptArray(e.pairs)},HashPair:function(e){this.acceptRequired(e,"value")}};function T_(t){this.acceptRequired(t,"path"),this.acceptArray(t.params),this.acceptKey(t,"hash")}function Line truncated
`])}),e},each:function(e){for(var r=0,s=this.source.length;r<s;r++)e(this.source[r])},empty:function(){var e=this.currentLocation||{start:{}};return new Mp(e.start.line,e.start.column,this.srcFile)},wrap:function(e){var r=arguments.length<=1||arguments[1]===void 0?this.currentLocation||{start:{}}:arguments[1];return e instanceof Mp?e:(e=A3(e,this,r),new Mp(r.start.line,r.start.column,this.srcFile,e))},functionCall:function(e,r,s){return s=this.generateList(s),this.wrap([e,r?"."+r+"(":"(",s,")"])},quotedString:function(e){return'"'+(e+"").replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")+'"'},objectLiteral:function(e){var r=this,s=[];Object.keys(e).forEach(function(n){var o=A3(e[n],r);o!=="undefined"&&s.push([r.quotedString(n),":",o])});var i=this.generateList(s);return i.prepend("{"),i.add("}"),i},generateList:function(e){for(var r=this.empty(),s=0,i=e.length;s<i;s++)s&&r.add(","),r.add(A3(e[s],this));return r},generateArray:function(e){var r=this.generateList(e);return r.prepend("["),r.add("]"),r}};U_.default=YCe;WCe.exports=U_.default});var rIe=A((q_,tIe)=>{"use strict";q_.__esModule=!0;function eIe(t){return t&&t.__esModule?t:{default:t}}var XCe=I_(),Gdt=co(),g3=eIe(Gdt),Hdt=Mi(),zdt=KCe(),ZCe=eIe(zdt);function uy(t){this.value=t}function hy(){}hy.prototype={nameLookup:function(e,r){return this.internalNameLookup(e,r)},depthedLookup:function(e){return[this.aliasable("container.lookup"),"(depths, ",JSON.stringify(e),")"]},compilerInfo:function(){var e=XCe.COMPILER_REVISION,r=XCe.REVISION_CHANGES[e];return[e,r]},appendToBuffer:function(e,r,s){return Hdt.isArray(e)||(e=[e]),e=this.source.wrap(e,r),this.environment.isSimple?["return ",e,";"]:s?["buffer += ",e,";"]:(e.appendToBuffer=!0,e)},initializeBuffer:function(){return this.quotedString("")},internalNameLookup:function(e,r){return this.lookupPropertyFunctionIsUsed=!0,["lookupProperty(",e,",",JSON.stringify(r),")"]},lookupPropertyFunctionIsUsed:!1,compile:function(e,r,s,i){this.environment=e,this.options=r,this.stringParams=this.options.stringParams,this.trackIds=this.options.trackIds,this.precompile=!i,this.name=this.environment.name,this.isChild=!!s,this.context=s||{decorators:[],programs:[],environments:[]},this.preamble(),this.stackSlot=0,this.stackVars=[],this.aliases={},this.registers={list:[]},this.hashes=[],this.compileStack=[],this.inlineStack=[],this.blockParams=[],this.compileChildren(e,r),this.useDepths=this.useDepths||e.useDepths||e.useDecorators||this.options.compat,this.useBlockParams=this.useBlockParams||e.useBlockParams;var n=e.opcodes,o=void 0,a=void 0,c=void 0,l=void 0;for(c=0,l=n.length;c<l;c++)o=n[c],this.source.currentLocation=o.loc,a=a||o.loc,this[o.opcode].apply(this,o.args);if(this.source.currentLocation=a,this.pushSource(""),this.stackSlot||this.inlineStack.length||this.compileStack.length)throw new g3.default("Compile completed with content left on stack");this.decorators.isEmpty()?this.decorators=void 0:(this.useDecorators=!0,this.decorators.prepend(["var decorators = container.decorators, ",this.lookupPropertyFunctionVarDeclaration(),`;
`]),this.decorators.push("return fn;"),i?this.decorators=Function.apply(this,["fn","props","container","depth0","data","blockParams","depths",this.decorators.merge()]):(this.decorators.prepend(`function(fn, props, container, depth0, data, blockParams, depths) {
`),this.decorators.push(`}
`),this.decorators=this.decorators.merge()));var u=this.createFunctionContext(i);if(this.isChild)return u;var h={compiler:this.compilerInfo(),main:u};this.decorators&&(h.main_d=this.decorators,h.useDecorators=!0);var d=this.context,f=d.programs,p=d.decorators;for(c=0,l=f.length;c<l;c++)h[c]=f[c],p[c]&&(h[c+"_d"]=p[c],h.useDecorators=!0);return this.environment.usePartial&&(h.usePartial=!0),this.options.data&&(h.useData=!0),this.useDepths&&(h.useDepths=!0),this.useBlockParams&&(h.useBlockParams=!0),this.options.compat&&(h.compat=!0),i?h.compilerOptions=this.options:(h.compiler=JSON.stringify(h.compiler),this.source.currentLocation={start:{line:1,column:0}},h=this.objectLiteral(h),r.srcName?(h=h.toStringWithSourceMap({file:r.destName}),h.map=h.map&&h.map.toString()):h=h.toString()),h},preamble:function(){this.lastContext=0,this.source=new ZCe.default(this.options.srcName),this.decorators=new ZCe.default(this.options.srcName)},createFunctionContext:function(e){var r=this,s="",i=this.stackVars.concat(this.registers.list);i.length>0&&(s+=", "+i.join(", "));var n=0;Object.keys(this.aliases).forEach(function(c){var l=r.aliases[c];l.children&&l.referenceCount>1&&(s+=", alias"+ ++n+"="+c,l.children[0]="alias"+n)}),this.lookupPropertyFunctionIsUsed&&(s+=", "+this.lookupPropertyFunctionVarDeclaration());var o=["container","depth0","helpers","partials","data"];(this.useBlockParams||this.useDepths)&&o.push("blockParams"),this.useDepths&&o.push("depths");var a=this.mergeSource(s);return e?(o.push(a),Function.apply(this,o)):this.source.wrap(["function(",o.join(","),`) {
`,a,"}"])},mergeSource:function(e){var r=this.environment.isSimple,s=!this.forceBuffer,i=void 0,n=void 0,o=void 0,a=void 0;return this.source.each(function(c){c.appendToBuffer?(o?c.prepend(" + "):o=c,a=c):(o&&(n?o.prepend("buffer += "):i=!0,a.add(";"),o=a=void 0),n=!0,r||(s=!1))}),s?o?(o.prepend("return "),a.add(";")):n||this.source.push('return "";'):(e+=", buffer = "+(i?"":this.initializeBuffer()),o?(o.prepend("return buffer + "),a.add(";")):this.source.push("return buffer;")),e&&this.source.prepend("var "+e.substring(2)+(i?"":`;
`)),this.source.merge()},lookupPropertyFunctionVarDeclaration:function(){return`
lookupProperty = container.lookupProperty || function(parent, propertyName) {
if (Object.prototype.hasOwnProperty.call(parent, propertyName)) {
return parent[propertyName];
}
return undefined
}
`.trim()},blockValue:function(e){var r=this.aliasable("container.hooks.blockHelperMissing"),s=[this.contextName(0)];this.setupHelperArgs(e,0,s);var i=this.popStack();s.splice(1,0,i),this.push(this.source.functionCall(r,"call",s))},ambiguousBlockValue:function(){var e=this.aliasable("container.hooks.blockHelperMissing"),r=[this.contextName(0)];this.setupHelperArgs("",0,r,!0),this.flushInline();var s=this.topStack();r.splice(1,0,s),this.pushSource(["if (!",this.lastHelper,") { ",s," = ",this.source.functionCall(e,"call",r),"}"])},appendContent:function(e){this.pendingContent?e=this.pendingContent+e:this.pendingLocation=this.source.currentLocation,this.pendingContent=e},append:function(){if(this.isInline())this.replaceStack(function(r){return[" != null ? ",r,' : ""']}),this.pushSource(this.appendToBuffer(this.popStack()));else{var e=this.popStack();this.pushSource(["if (",e," != null) { ",this.appendToBuffer(e,void 0,!0)," }"]),this.environment.isSimple&&this.pushSource(["else { ",this.appendToBuffer("''",void 0,!0)," }"])}},appendEscaped:function(){this.pushSource(this.appendToBuffer([this.aliasable("container.escapeExpression"),"(",this.popStack(),")"]))},getContext:function(e){this.lastContext=e},pushContext:function(){this.pushStackLiteral(this.contextName(this.lastContext))},lookupOnContext:function(e,r,s,i){var n=0;!i&&this.options.compat&&!this.lastContext?this.push(this.depthedLookup(e[n++])):this.pushContext(),this.resolvePath("context",e,n,r,s)},lookupBlockParam:function(e,r){this.useBlockParams=!0,this.push(["blockParams[",e[0],"][",e[1],"]"]),this.resolvePath("context",r,1)},lookupData:function(e,r,s){e?this.pushStackLiteral("container.data(data, "+e+")"):this.pushStackLiteral("data"),this.resolvePath("data",r,0,!0,s)},resolvePath:function(e,r,s,i,n){var o=this;if(this.options.strict||this.options.assumeObjects){this.push(Vdt(this.options.strict&&n,this,r,s,e));return}for(var a=r.length,c=function(u){o.replaceStack(function(h){var d=o.nameLookup(h,r[u],e);return i?[" && ",d]:[" != null ? ",d," : ",h]})},l=s;l<a;l++)c(l)},resolvePossibleLambda:function(){this.push([this.aliasable("container.lambda"),"(",this.popStack(),", ",this.contextName(0),")"])},pushStringParam:function(e,r){this.pushContext(),this.pushString(r),r!=="SubExpression"&&(typeof e=="string"?this.pushString(e):this.pushStackLiteral(e))},emptyHash:function(e){this.trackIds&&this.push("{}"),this.stringParams&&(this.push("{}"),this.push("{}")),this.pushStackLiteral(e?"undefined":"{}")},pushHash:function(){this.hash&&this.hashes.push(this.hash),this.hash={values:{},types:[],contexts:[],ids:[]}},popHash:function(){var e=this.hash;this.hash=this.hashes.pop(),this.trackIds&&this.push(this.objectLiteral(e.ids)),this.stringParams&&(this.push(this.objectLiteral(e.contexts)),this.push(this.objectLiteral(e.types))),this.push(this.objectLiteral(e.values))},pushString:function(e){this.pushStackLiteral(this.quotedString(e))},pushLiteral:function(e){this.pushStackLiteral(e)},pushProgram:function(e){e!=null?this.pushStackLiteral(this.programExpression(e)):this.pushStackLiteral(null)},registerDecorator:function(e,r){var s=this.nameLookup("decorators",r,"decorator"),i=this.setupHelperArgs(r,e);this.decorators.push(["var decorator = ",s,";"]),this.decorators.push(['if (typeof decorator !== "function") { throw new Error(',this.quotedString('Missing decorator: "'+r+'"'),"); }"]),this.decorators.push(["fn = ",this.decorators.functionCall("decorator","",["fn","props","container",i])," || fn;"])},invokeHelper:function(e,r,s){var i=this.popStack(),n=this.setupHelper(e,r),o=[];s&&o.push(n.name),o.push(i),this.options.strict||o.push(this.aliasable("container.hooks.helperMissing"));var a=["(",this.itemsSeparatedBy(o,"||"),")"],c=this.source.functionCall(a,"call",n.callParams);this.push(c)},itemsSeparatedBy:function(e,r){var s=[];s.push(e[0]);for(var i=1;i<e.length;i++)s.push(r,e[i]);return s},invokeKnownHelper:function(e,r){var s=this.setupHelper(e,r);this.push(this.source.functionCall(s.name,"call",s.callParams))},invokeAmbiguous:function(e,r){this.useRegister("helper");var s=this.popStack();this.emptyHash();var i=this.setupHelper(0,e,r),n=this.lastHelper=this.nameLookup("helpers",e,"helper"),o=["(","(helper = ",n," || ",s,")"];this.options.strict||(o[0]="(helper = ",o.push(" != null ? helper : ",this.aliasable("container.hooks.helperMissing"))),this.push(["(",o,i.paramsInit?["),(",i.paramsInit]:[],"),","(typeof helper === ",this.aliasable('"function"')," ? ",this.source.functionCall("helper","call",i.callParams)," : helper))"])},invokePartial:function(e,r,s){var i=[],n=this.setupParams(r,1,i);e&&(r=this.popStack(),delete n.name),s&&(n.indent=JSON.stringify(s)),n.helpers="helpers",n.partials="partials",n.decorators="container.decorators",e?i.unshift(r):i.unshift(this.nameLookup("partials",r,"partial")),this.options.compat&&(n.depths="depths"),n=this.objectLiteral(n),i.push(n),this.push(this.source.functionCall("container.invokePartial","",i))},assignToHash Line truncated
`,e};Sr.prototype.Program=function(t){var e="",r=t.body,s=void 0,i=void 0;if(t.blockParams){var n="BLOCK PARAMS: [";for(s=0,i=t.blockParams.length;s<i;s++)n+=" "+t.blockParams[s];n+=" ]",e+=this.pad(n)}for(s=0,i=r.length;s<i;s++)e+=this.accept(r[s]);return this.padding--,e};Sr.prototype.MustacheStatement=function(t){return this.pad("{{ "+this.SubExpression(t)+" }}")};Sr.prototype.Decorator=function(t){return this.pad("{{ DIRECTIVE "+this.SubExpression(t)+" }}")};Sr.prototype.BlockStatement=Sr.prototype.DecoratorBlock=function(t){var e="";return e+=this.pad((t.type==="DecoratorBlock"?"DIRECTIVE ":"")+"BLOCK:"),this.padding++,e+=this.pad(this.SubExpression(t)),t.program&&(e+=this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--),t.inverse&&(t.program&&this.padding++,e+=this.pad("{{^}}"),this.padding++,e+=this.accept(t.inverse),this.padding--,t.program&&this.padding--),this.padding--,e};Sr.prototype.PartialStatement=function(t){var e="PARTIAL:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),this.pad("{{> "+e+" }}")};Sr.prototype.PartialBlockStatement=function(t){var e="PARTIAL BLOCK:"+t.name.original;return t.params[0]&&(e+=" "+this.accept(t.params[0])),t.hash&&(e+=" "+this.accept(t.hash)),e+=" "+this.pad("PROGRAM:"),this.padding++,e+=this.accept(t.program),this.padding--,this.pad("{{> "+e+" }}")};Sr.prototype.ContentStatement=function(t){return this.pad("CONTENT[ '"+t.value+"' ]")};Sr.prototype.CommentStatement=function(t){return this.pad("{{! '"+t.value+"' }}")};Sr.prototype.SubExpression=function(t){for(var e=t.params,r=[],s=void 0,i=0,n=e.length;i<n;i++)r.push(this.accept(e[i]));return e="["+r.join(", ")+"]",s=t.hash?" "+this.accept(t.hash):"",this.accept(t.path)+" "+e+s};Sr.prototype.PathExpression=function(t){var e=t.parts.join("/");return(t.data?"@":"")+"PATH:"+e};Sr.prototype.StringLiteral=function(t){return'"'+t.value+'"'};Sr.prototype.NumberLiteral=function(t){return"NUMBER{"+t.value+"}"};Sr.prototype.BooleanLiteral=function(t){return"BOOLEAN{"+t.value+"}"};Sr.prototype.UndefinedLiteral=function(){return"UNDEFINED"};Sr.prototype.NullLiteral=function(){return"NULL"};Sr.prototype.Hash=function(t){for(var e=t.pairs,r=[],s=0,i=e.length;s<i;s++)r.push(this.accept(e[s]));return"HASH{"+r.join(", ")+"}"};Sr.prototype.HashPair=function(t){return t.key+"="+this.accept(t.value)}});var uIe=A((UZt,lIe)=>{var z_=nIe().default,cIe=oIe();z_.PrintVisitor=cIe.PrintVisitor;z_.print=cIe.print;lIe.exports=z_;function aIe(t,e){var r=require("fs"),s=r.readFileSync(e,"utf8");t.exports=z_.compile(s)}typeof require<"u"&&require.extensions&&(require.extensions[".handlebars"]=aIe,require.extensions[".hbs"]=aIe)});var bIe=A(J_=>{"use strict";Object.defineProperty(J_,"__esModule",{value:!0});J_.getProxyUrl=pft;J_.checkBypass=IIe;function pft(t){let e=t.protocol==="https:";if(IIe(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new j_(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new j_(`http://${r}`)}else return}function IIe(t){if(!t.hostname)return!1;let e=t.hostname;if(Aft(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let s;t.port?s=Number(t.port):t.protocol==="http:"?s=80:t.protocol==="https:"&&(s=443);let i=[t.hostname.toUpperCase()];typeof s=="number"&&i.push(`${i[0]}:${s}`);for(let n of r.split(",").map(o=>o.trim().toUpperCase()).filter(o=>o))if(n==="*"||i.some(o=>o===n||o.endsWith(`.${n}`)||n.startsWith(".")&&o.endsWith(`${n}`)))return!0;return!1}function Aft(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}var j_=class extends URL{constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}}});var SIe=A(lr=>{"use strict";var mft=lr&&lr.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),gft=lr&&lr.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),X_=lr&&lr.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(s[s.length]=i);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),i=0;i<s.length;i++)s[i]!=="default"&&mft(r,e,s[i]);return gft(r,e),r}})(),Lr=lr&&lr.__awaiter||function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(fu Line truncated
`).forEach(r=>{r.match(xAt)||r.match(NAt)||(e+=r)}),Buffer.from(e,"base64")}function RAt(t,e="CERTIFICATE"){let s=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...s,`-----END ${e}-----`].join(`
`).concat(`
`)}});var QQ=A(Md=>{"use strict";Object.defineProperty(Md,"__esModule",{value:!0});Md.SHA2_HASH_ALGOS=Md.RSA_SIGNATURE_ALGOS=Md.ECDSA_SIGNATURE_ALGOS=void 0;Md.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};Md.RSA_SIGNATURE_ALGOS={"1.2.840.113549.1.1.14":"sha224","1.2.840.113549.1.1.11":"sha256","1.2.840.113549.1.1.12":"sha384","1.2.840.113549.1.1.13":"sha512"};Md.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var m5=A(PQ=>{"use strict";Object.defineProperty(PQ,"__esModule",{value:!0});PQ.RFC3161TimestampVerificationError=void 0;var A5=class extends Error{};PQ.RFC3161TimestampVerificationError=A5});var abe=A(yl=>{"use strict";var TAt=yl&&yl.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),_At=yl&&yl.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),QAt=yl&&yl.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(s[s.length]=i);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),i=0;i<s.length;i++)s[i]!=="default"&&TAt(r,e,s[i]);return _At(r,e),r}})();Object.defineProperty(yl,"__esModule",{value:!0});yl.TSTInfo=void 0;var obe=QAt(by()),PAt=QQ(),OAt=m5(),g5=class{root;constructor(e){this.root=e}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let e=this.messageImprintObj.subs[0].subs[0].toOID();return PAt.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=obe.digest(this.messageImprintHashAlgorithm,e);if(!obe.bufferEqual(r,this.messageImprintHashedMessage))throw new OAt.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};yl.TSTInfo=g5});var lbe=A(El=>{"use strict";var DAt=El&&El.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),kAt=El&&El.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),MAt=El&&El.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(s[s.length]=i);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),i=0;i<s.length;i++)s[i]!=="default"&&DAt(r,e,s[i]);return kAt(r,e),r}})();Object.defineProperty(El,"__esModule",{value:!0});El.RFC3161Timestamp=void 0;var LAt=RQ(),y5=MAt(by()),cbe=QQ(),Pb=m5(),FAt=abe(),UAt="1.2.840.113549.1.7.2",qAt="1.2.840.113549.1.9.16.1.4",GAt="1.2.840.113549.1.9.4",E5=class t{root;constructor(e){this.root=e}static parse(e){let r=LAt.ASN1Obj.parseBuffer(e);return new t(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let e=this.signerDigestAlgorithmObj.subs[0].toOID();return cbe.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return cbe.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new FAt.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new Pb.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==UAt)throw new Pb.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==qAt)throw new Pb.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=y5.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].value;if(!y5.bufferEqual(e,r))throw new Pb.RFC3161TimestampVerificationError("signed data does not match tstInfo")}verifySignature(e){let r=this.signedAttrsObj.toDER();if(r[0 Line truncated
\v\f\r\x1B !"#$\u066A&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xB0\xB7\u2219\u221A\u2592\u2500\u2502\u253C\u2524\u252C\u251C\u2534\u2510\u250C\u2514\u2518\u03B2\u221E\u03C6\xB1\xBD\xBC\u2248\xAB\xBB\uFEF7\uFEF8\uFFFD\uFFFD\uFEFB\uFEFC\uFFFD\xA0\xAD\uFE82\xA3\xA4\uFE84\uFFFD\uFFFD\uFE8E\uFE8F\uFE95\uFE99\u060C\uFE9D\uFEA1\uFEA5\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFED1\u061B\uFEB1\uFEB5\uFEB9\u061F\xA2\uFE80\uFE81\uFE83\uFE85\uFECA\uFE8B\uFE8D\uFE91\uFE93\uFE97\uFE9B\uFE9F\uFEA3\uFEA7\uFEA9\uFEAB\uFEAD\uFEAF\uFEB3\uFEB7\uFEBB\uFEBF\uFEC1\uFEC5\uFECB\uFECF\xA6\xAC\xF7\xD7\uFEC9\u0640\uFED3\uFED7\uFEDB\uFEDF\uFEE3\uFEE7\uFEEB\uFEED\uFEEF\uFEF3\uFEBD\uFECC\uFECE\uFECD\uFEE1\uFE7D\u0651\uFEE5\uFEE9\uFEEC\uFEF0\uFEF2\uFED0\uFED5\uFEF5\uFEF6\uFEDD\uFED9\uFEF1\u25A0\uFFFD`},ibm864:"cp864",csibm864:"cp864",cp865:{type:"_sbcs",chars:"\xC7\xFC\xE9\xE2\xE4\xE0\xE5\xE7\xEA\xEB\xE8\xEF\xEE\xEC\xC4\xC5\xC9\xE6\xC6\xF4\xF6\xF2\xFB\xF9\xFF\xD6\xDC\xF8\xA3\xD8\u20A7\u0192\xE1\xED\xF3\xFA\xF1\xD1\xAA\xBA\xBF\u2310\xAC\xBD\xBC\xA1\xAB\xA4\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u03B1\xDF\u0393\u03C0\u03A3\u03C3\xB5\u03C4\u03A6\u0398\u03A9\u03B4\u221E\u03C6\u03B5\u2229\u2261\xB1\u2265\u2264\u2320\u2321\xF7\u2248\xB0\u2219\xB7\u221A\u207F\xB2\u25A0\xA0"},ibm865:"cp865",csibm865:"cp865",cp866:{type:"_sbcs",chars:"\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u2591\u2592\u2593\u2502\u2524\u2561\u2562\u2556\u2555\u2563\u2551\u2557\u255D\u255C\u255B\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u255E\u255F\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u2567\u2568\u2564\u2565\u2559\u2558\u2552\u2553\u256B\u256A\u2518\u250C\u2588\u2584\u258C\u2590\u2580\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F\u0401\u0451\u0404\u0454\u0407\u0457\u040E\u045E\xB0\u2219\xB7\u221A\u2116\xA4\u25A0\xA0"},ibm866:"cp866",csibm866:"cp866",cp869:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0386\uFFFD\xB7\xAC\xA6\u2018\u2019\u0388\u2015\u0389\u038A\u03AA\u038C\uFFFD\uFFFD\u038E\u03AB\xA9\u038F\xB2\xB3\u03AC\xA3\u03AD\u03AE\u03AF\u03CA\u0390\u03CC\u03CD\u0391\u0392\u0393\u0394\u0395\u0396\u0397\xBD\u0398\u0399\xAB\xBB\u2591\u2592\u2593\u2502\u2524\u039A\u039B\u039C\u039D\u2563\u2551\u2557\u255D\u039E\u039F\u2510\u2514\u2534\u252C\u251C\u2500\u253C\u03A0\u03A1\u255A\u2554\u2569\u2566\u2560\u2550\u256C\u03A3\u03A4\u03A5\u03A6\u03A7\u03A8\u03A9\u03B1\u03B2\u03B3\u2518\u250C\u2588\u2584\u03B4\u03B5\u2580\u03B6\u03B7\u03B8\u03B9\u03BA\u03BB\u03BC\u03BD\u03BE\u03BF\u03C0\u03C1\u03C3\u03C2\u03C4\u0384\xAD\xB1\u03C5\u03C6\u03C7\xA7\u03C8\u0385\xB0\xA8\u03C9\u03CB\u03B0\u03CE\u25A0\xA0"},ibm869:"cp869",csibm869:"cp869",cp922:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\u203E\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\xC0\xC1\xC2\xC3\xC4\xC5\xC6\xC7\xC8\xC9\xCA\xCB\xCC\xCD\xCE\xCF\u0160\xD1\xD2\xD3\xD4\xD5\xD6\xD7\xD8\xD9\xDA\xDB\xDC\xDD\u017D\xDF\xE0\xE1\xE2\xE3\xE4\xE5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\u0161\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\u017E\xFF"},ibm922:"cp922",csibm922:"cp922",cp1046:{type:"_sbcs",chars:"\uFE88\xD7\xF7\uF8F6\uF8F5\uF8F4\uF8F7\uFE71\x88\u25A0\u2502\u2500\u2510\u250C\u2514\u2518\uFE79\uFE7B\uFE7D\uFE7F\uFE77\uFE8A\uFEF0\uFEF3\uFEF2\uFECE\uFECF\uFED0\uFEF6\uFEF8\uFEFA\uFEFC\xA0\uF8FA\uF8F9\uF8F8\xA4\uF8FB\uFE8B\uFE91\uFE97\uFE9B\uFE9F\uFEA3\u060C\xAD\uFEA7\uFEB3\u0660\u0661\u0662\u0663\u0664\u0665\u0666\u0667\u0668\u0669\uFEB7\u061B\uFEBB\uFEBF\uFECA\u061F\uFECB\u0621\u0622\u0623\u0624\u0625\u0626\u0627\u0628\u0629\u062A\u062B\u062C\u062D\u062E\u062F\u0630\u0631\u0632\u0633\u0634\u0635\u0636\u0637\uFEC7\u0639\u063A\uFECC\uFE82\uFE84\uFE8E\uFED3\u0640\u0641\u0642\u0643\u0644\u0645\u0646\u0647\u0648\u0649\u064A\u064B\u064C\u064D\u064E\u064F\u0650\u0651\u0652\uFED7\uFEDB\uFEDF\uF8FC\uFEF5\uFEF7\uFEF9\uFEFB\uFEE3\uFEE7\uFEEC\uFEE9\uFFFD"},ibm1046:"cp1046",csibm1046:"cp1046",cp1124:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\u0401\u0402\u0490\u0404\u0405\u0406\u0407\u0408\u0409\u040A\u040B\u040C\xAD\u040E\u040F\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041FLine truncated
\v\f\r\u1EE8\u1EF0\u1EF2\u1EF6\u1EF8\xDD\u1EF4\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\xC0\u1EA2\xC3\xC1\u1EA0\u1EB6\u1EAC\xC8\u1EBA\u1EBC\xC9\u1EB8\u1EC6\xCC\u1EC8\u0128\xCD\u1ECA\xD2\u1ECE\xD5\xD3\u1ECC\u1ED8\u1EDC\u1EDE\u1EE0\u1EDA\u1EE2\xD9\u1EE6\u0168\xA0\u0102\xC2\xCA\xD4\u01A0\u01AF\u0110\u0103\xE2\xEA\xF4\u01A1\u01B0\u0111\u1EB0\u0300\u0309\u0303\u0301\u0323\xE0\u1EA3\xE3\xE1\u1EA1\u1EB2\u1EB1\u1EB3\u1EB5\u1EAF\u1EB4\u1EAE\u1EA6\u1EA8\u1EAA\u1EA4\u1EC0\u1EB7\u1EA7\u1EA9\u1EAB\u1EA5\u1EAD\xE8\u1EC2\u1EBB\u1EBD\xE9\u1EB9\u1EC1\u1EC3\u1EC5\u1EBF\u1EC7\xEC\u1EC9\u1EC4\u1EBE\u1ED2\u0129\xED\u1ECB\xF2\u1ED4\u1ECF\xF5\xF3\u1ECD\u1ED3\u1ED5\u1ED7\u1ED1\u1ED9\u1EDD\u1EDF\u1EE1\u1EDB\u1EE3\xF9\u1ED6\u1EE7\u0169\xFA\u1EE5\u1EEB\u1EED\u1EEF\u1EE9\u1EF1\u1EF3\u1EF7\u1EF9\xFD\u1EF5\u1ED0`},georgianacademy:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10EF\u10F0\u10F1\u10F2\u10F3\u10F4\u10F5\u10F6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},georgianps:{type:"_sbcs",chars:"\x80\x81\u201A\u0192\u201E\u2026\u2020\u2021\u02C6\u2030\u0160\u2039\u0152\x8D\x8E\x8F\x90\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u02DC\u2122\u0161\u203A\u0153\x9D\x9E\u0178\xA0\xA1\xA2\xA3\xA4\xA5\xA6\xA7\xA8\xA9\xAA\xAB\xAC\xAD\xAE\xAF\xB0\xB1\xB2\xB3\xB4\xB5\xB6\xB7\xB8\xB9\xBA\xBB\xBC\xBD\xBE\xBF\u10D0\u10D1\u10D2\u10D3\u10D4\u10D5\u10D6\u10F1\u10D7\u10D8\u10D9\u10DA\u10DB\u10DC\u10F2\u10DD\u10DE\u10DF\u10E0\u10E1\u10E2\u10F3\u10E3\u10E4\u10E5\u10E6\u10E7\u10E8\u10E9\u10EA\u10EB\u10EC\u10ED\u10EE\u10F4\u10EF\u10F0\u10F5\xE6\xE7\xE8\xE9\xEA\xEB\xEC\xED\xEE\xEF\xF0\xF1\xF2\xF3\xF4\xF5\xF6\xF7\xF8\xF9\xFA\xFB\xFC\xFD\xFE\xFF"},pt154:{type:"_sbcs",chars:"\u0496\u0492\u04EE\u0493\u201E\u2026\u04B6\u04AE\u04B2\u04AF\u04A0\u04E2\u04A2\u049A\u04BA\u04B8\u0497\u2018\u2019\u201C\u201D\u2022\u2013\u2014\u04B3\u04B7\u04A1\u04E3\u04A3\u049B\u04BB\u04B9\xA0\u040E\u045E\u0408\u04E8\u0498\u04B0\xA7\u0401\xA9\u04D8\xAB\xAC\u04EF\xAE\u049C\xB0\u04B1\u0406\u0456\u0499\u04E9\xB6\xB7\u0451\u2116\u04D9\xBB\u0458\u04AA\u04AB\u049D\u0410\u0411\u0412\u0413\u0414\u0415\u0416\u0417\u0418\u0419\u041A\u041B\u041C\u041D\u041E\u041F\u0420\u0421\u0422\u0423\u0424\u0425\u0426\u0427\u0428\u0429\u042A\u042B\u042C\u042D\u042E\u042F\u0430\u0431\u0432\u0433\u0434\u0435\u0436\u0437\u0438\u0439\u043A\u043B\u043C\u043D\u043E\u043F\u0440\u0441\u0442\u0443\u0444\u0445\u0446\u0447\u0448\u0449\u044A\u044B\u044C\u044D\u044E\u044F"},viscii:{type:"_sbcs",chars:`\0\u1EB2\u1EB4\u1EAA\x07\b
\v\f\r\u1EF6\u1EF8\x1B\u1EF4 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}~\x7F\u1EA0\u1EAE\u1EB0\u1EB6\u1EA4\u1EA6\u1EA8\u1EAC\u1EBC\u1EB8\u1EBE\u1EC0\u1EC2\u1EC4\u1EC6\u1ED0\u1ED2\u1ED4\u1ED6\u1ED8\u1EE2\u1EDA\u1EDC\u1EDE\u1ECA\u1ECE\u1ECC\u1EC8\u1EE6\u0168\u1EE4\u1EF2\xD5\u1EAF\u1EB1\u1EB7\u1EA5\u1EA7\u1EA9\u1EAD\u1EBD\u1EB9\u1EBF\u1EC1\u1EC3\u1EC5\u1EC7\u1ED1\u1ED3\u1ED5\u1ED7\u1EE0\u01A0\u1ED9\u1EDD\u1EDF\u1ECB\u1EF0\u1EE8\u1EEA\u1EEC\u01A1\u1EDB\u01AF\xC0\xC1\xC2\xC3\u1EA2\u0102\u1EB3\u1EB5\xC8\xC9\xCA\u1EBA\xCC\xCD\u0128\u1EF3\u0110\u1EE9\xD2\xD3\xD4\u1EA1\u1EF7\u1EEB\u1EED\xD9\xDA\u1EF9\u1EF5\xDD\u1EE1\u01B0\xE0\xE1\xE2\xE3\u1EA3\u0103\u1EEF\u1EAB\xE8\xE9\xEA\u1EBB\xEC\xED\u0129\u1EC9\u0111\u1EF1\xF2\xF3\xF4\xF5\u1ECF\u1ECD\u1EE5\xF9\xFA\u0169\u1EE7\xFD\u1EE3\u1EEE`},iso646cn:{type:"_sbcs",chars:`\0\x07\b
\v\f\r\x1B !"#\xA5%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},iso646jp:{type:"_sbcs",chars:`\0\x07\b
\v\f\r\x1B !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\xA5]^_\`abcdefghijklmnopqrstuvwxyz{|}\u203E\x7F\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD`},hproman8:{type:"_sbcs",chars:"\x80\x81\x82\x83\x84\x85\x86\x87\x88\x89\x8A\x8B\x8C\x8D\x8E\x8F\x90\x91\x92\x93\x94\x95\x96\x97\x98\x99\x9A\x9B\x9C\x9D\x9E\x9F\xA0\xC0\xC2\xC8\xCA\xCB\xCE\xCF\xB4\u02CB\u02C6\xA8\u02DC\xD9\xDB\u20A4\xAF\xDD\xFD\xB0\xC7\xE7\xD1\xF1\xA1\xBF\xA4\xA3\xA5\xA7\u0192\xA2\xE2\xEA\xF4\xFB\xE1\xE9\xF3\xFA\xE0\xE8\xF2\xF9\xE4\xEB\xF6\xFC\xC5\xEE\xD8\xC6\xE5\xED\xF8\xE6\xC4\xEC\xD6\xDC\xC9\xEF\xDF\xD4\xC1\xC3\xE3\xD0\xF0\xCD\xCC\xD3\xD2\xD5\xF5\u0160\u0161\xDA\u0178\xFF\xDE\xFE\xB7\xB5\xB6\xBE\u2014\xBC\xBD\xAA\xBA\xAB\u25A0\xBB\xB1\uFFFD"},macintosh:{type:"_sbcs",chars:"\xC4\xC5\xC7\xC9\xD1\xD6\xDC\xE1\xE0\xE2\xE4\xE3\xE5\xE7\xE9\xE8\xEA\xEB\xED\xEC\xEE\xEF\xF1\xF3\xF2\xF4\xF6\xF5\xFA\xF9\xFB\xFC\u2020\xB0\xA2\xA3\xA7\u2022\xB6\xDF\xAE\xA9\u2122\xB4\xA8\u2260\xC6\xD8\u221E\xB1\u2264\u2265\xA5\xB5\u2202\u2211\u220F\u03C0\u222B\xAA\xBA\u2126\xE6\xF8\xBF\xA1\xAC\u221A\u0192\u2248\u2206\xAB\xBB\u2026\xA0\xC0\xC3\xD5\u0152\u0153\u2013\u2014\u201C\u201D\u2018\u2019\xF7\u25CA\xFF\u0178\u2044\xA4\u2039\u203A\uFB01\uFB02\u2021\xB7\u201A\u201E\u2030\xC2\xCA\xC1\xCB\xC8\xCD\xCE\xCF\xCC\xD3\xD4\uFFFD\xD2\xDA\xDB\xD9\u0131\u02C6\u02DC\xAF\u02D8\u02D9\u02DA\xB8\u02DD\u02DB\u02C7"},ascii:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD"},tis620:{type:"_sbcs",chars:"\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\uFFFD\u0E01\u0E02\u0E03\u0E04\u0E05\u0E06\u0E07\u0E08\u0E09\u0E0A\u0E0B\u0E0C\u0E0D\u0E0E\u0E0F\u0E10\u0E11\u0E12\u0E13\u0E14\u0E15\u0E16\u0E17\u0E18\u0E19\u0E1A\u0E1B\u0E1C\u0E1D\u0E1E\u0E1F\u0E20\u0E21\u0E22\u0E23\u0E24\u0E25\u0E26\u0E27\u0E28\u0E29\u0E2A\u0E2B\u0E2C\u0E2D\u0E2E\u0E2F\u0E30\u0E31\u0E32\u0E33\u0E34\u0E35\u0E36\u0E37\u0E38\u0E39\u0E3A\uFFFD\uFFFD\uFFFD\uFFFD\u0E3F\u0E40\u0E41\u0E42\u0E43\u0E44\u0E45\u0E46\u0E47\u0E48\u0E49\u0E4A\u0E4B\u0E4C\u0E4D\u0E4E\u0E4F\u0E50\u0E51\u0E52\u0E53\u0E54\u0E55\u0E56\u0E57\u0E58\u0E59\u0E5A\u0E5B\uFFFD\uFFFD\uFFFD\uFFFD"}}});var wwe=A(bwe=>{"use strict";var aj=Yu().Buffer;bwe._dbcs=Ku;var Vs=-1,Iwe=-2,ha=-10,Yi=-1e3,ky=new Array(256),Xb=-1;for(y1=0;y1<256;y1++)ky[y1]=Vs;var y1;function Ku(t,e){if(this.encodingName=t.encodingName,!t)throw new Error("DBCS codec is called without the data.");if(!t.table)throw new Error("Encoding '"+this.encodingName+"' has no data.");var r=t.table();this.decodeTables=[],this.decodeTables[0]=ky.slice(0),this.decodeTableSeq=[];for(var s=0;s<r.length;s++)this._addDecodeChunk(r[s]);if(typeof t.gb18030=="function"){this.gb18030=t.gb18030();var i=this.decodeTables.length;this.decodeTables.push(ky.slice(0));var n=this.decodeTables.length;this.decodeTables.push(ky.slice(0));for(var o=this.decodeTables[0],s=129;s<=254;s++)for(var a=this.decodeTables[Yi-o[s]],c=48;c<=57;c++){if(a[c]===Vs)a[c]=Yi-i;else if(a[c]>Yi)throw new Error("gb18030 decode tables conflict at byte 2");for(var l=this.decodeTables[Yi-a[c]],u=129;u<=254;u++){if(l[u]===Vs)l[u]=Yi-n;else{if(l[u]===Yi-n)continue;if(l[u]>Yi)throw new Error("gb18030 decode tables conflict at byte 3")}for(var h=this.decodeTables[Yi-l[u]],d=48;d<=57;d++)h[d]===Vs&&(h[d]=Iwe)}}}this.defaultCharUnicode=e.defaultCharUnicode,this.encodeTable=[],this.encodeTableSeq=[];var f={};if(t.encodeSkipVals)for(var s=0;s<t.encodeSkipValsLine truncated
Wanted: ${this.expectedSize}
Found: ${this.size}`);s.code="EBADSIZE",s.found=this.size,s.expected=this.expectedSize,s.sri=this.sri,this.emit("error",s)}else if(this.sri&&!r){let s=new Error(`${this.sri} integrity checksum failed when using ${this.algorithm}: wanted ${this.digests} but got ${e}. (${this.size} bytes)`);s.code="EINTEGRITY",s.found=e,s.expected=this.digests,s.algorithm=this.algorithm,s.sri=this.sri,this.emit("error",s)}else this.#t=this.size,this.emit("size",this.size),this.#e=e,this.emit("integrity",e),r&&(this.#s=r,this.emit("verified",r))}},rh=class{get isHash(){return!0}constructor(e,r){let s=r?.strict;this.source=e.trim(),this.digest="",this.algorithm="",this.options=[];let i=this.source.match(s?eEt:Zyt);if(!i||s&&!_j.includes(i[1])||!RSe.includes(i[1]))return;this.algorithm=i[1],this.digest=i[2];let n=i[3];n&&(this.options=n.slice(1).split("?"))}hexDigest(){return this.digest&&Buffer.from(this.digest,"base64").toString("hex")}toJSON(){return this.toString()}match(e,r){let s=mo(e,r);if(!s)return!1;if(s.isIntegrity){let i=s.pickAlgorithm(r,[this.algorithm]);if(!i)return!1;let n=s[i].find(o=>o.digest===this.digest);return n||!1}return s.digest===this.digest?s:!1}toString(e){return e?.strict&&!(_j.includes(this.algorithm)&&this.digest.match(Xyt)&&this.options.every(r=>r.match(tEt)))?"":`${this.algorithm}-${this.digest}${ow(this.options)}`}};function vSe(t,e,r,s){let i=t!=="",n=!1,o="",a=s.length-1;for(let l=0;l<a;l++){let u=rh.prototype.toString.call(s[l],r);u&&(n=!0,o+=u,o+=e)}let c=rh.prototype.toString.call(s[a],r);return c&&(n=!0,o+=c),i&&n?t+e+o:t+o}var oA=class{get isIntegrity(){return!0}toJSON(){return this.toString()}isEmpty(){return Object.keys(this).length===0}toString(e){let r=e?.sep||" ",s="";if(e?.strict){r=r.replace(/\S+/g," ");for(let i of _j)this[i]&&(s=vSe(s,r,e,this[i]))}else for(let i of Object.keys(this))s=vSe(s,r,e,this[i]);return s}concat(e,r){let s=typeof e=="string"?e:iw(e,r);return mo(`${this.toString(r)} ${s}`,r)}hexDigest(){return mo(this,{single:!0}).hexDigest()}merge(e,r){let s=mo(e,r);for(let i in s)if(this[i]){if(!this[i].find(n=>s[i].find(o=>n.digest===o.digest)))throw new Error("hashes do not match, cannot update integrity")}else this[i]=s[i]}match(e,r){let s=mo(e,r);if(!s)return!1;let i=s.pickAlgorithm(r,Object.keys(this));return!!i&&this[i].find(n=>s[i].find(o=>n.digest===o.digest))||!1}pickAlgorithm(e,r){let s=e?.pickAlgorithm||cEt,i=Object.keys(this);return r?.length&&(i=i.filter(n=>r.includes(n))),i.length?i.reduce((n,o)=>s(n,o)||n):null}};Rl.exports.parse=mo;function mo(t,e){if(!t)return null;if(typeof t=="string")return Tj(t,e);if(t.algorithm&&t.digest){let r=new oA;return r[t.algorithm]=[t],Tj(iw(r,e),e)}else return Tj(iw(t,e),e)}function Tj(t,e){if(e?.single)return new rh(t,e);let r=t.trim().split(/\s+/).reduce((s,i)=>{let n=new rh(i,e);if(n.algorithm&&n.digest){let o=n.algorithm;Object.keys(s).includes(o)||(s[o]=[]),s[o].push(n)}return s},new oA);return r.isEmpty()?null:r}Rl.exports.stringify=iw;function iw(t,e){return t.algorithm&&t.digest?rh.prototype.toString.call(t,e):typeof t=="string"?iw(mo(t,e),e):oA.prototype.toString.call(t,e)}Rl.exports.fromHex=rEt;function rEt(t,e,r){let s=ow(r?.options);return mo(`${e}-${Buffer.from(t,"hex").toString("base64")}${s}`,r)}Rl.exports.fromData=sEt;function sEt(t,e){let r=e?.algorithms||[...Pj],s=ow(e?.options);return r.reduce((i,n)=>{let o=nw.createHash(n).update(t).digest("base64"),a=new rh(`${n}-${o}${s}`,e);if(a.algorithm&&a.digest){let c=a.algorithm;i[c]||(i[c]=[]),i[c].push(a)}return i},new oA)}Rl.exports.fromStream=iEt;function iEt(t,e){let r=Oj(e);return new Promise((s,i)=>{t.pipe(r),t.on("error",i),r.on("error",i);let n;r.on("integrity",o=>{n=o}),r.on("end",()=>s(n)),r.resume()})}Rl.exports.checkData=nEt;function nEt(t,e,r){if(e=mo(e,r),!e||!Object.keys(e).length){if(r?.error)throw Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"});return!1}let s=e.pickAlgorithm(r),i=nw.createHash(s).update(t).digest("base64"),n=mo({algorithm:s,digest:i}),o=n.match(e,r);if(r=r||{},o||!r.error)return o;if(typeof r.size=="number"&&t.length!==r.size){let a=new Error(`data size mismatch when checking ${e}.
Wanted: ${r.size}
Found: ${t.length}`);throw a.code="EBADSIZE",a.found=t.length,a.expected=r.size,a.sri=e,a}else{let a=new Error(`Integrity checksum failed when using ${s}: Wanted ${e}, but got ${n}. (${t.length} bytes)`);throw a.code="EINTEGRITY",a.found=n,a.expected=e,a.algorithm=s,a.sri=e,a}}Rl.exports.checkStream=oEt;function oEt(t,e,r){if(r=r||Object.create(null),r.integrity=e,e=mo(e,r),!e||!Object.keys(e).length)return Promise.reject(Object.assign(new Error("No valid integrity hashes to check against"),{code:"EINTEGRITY"}));let s=Oj(r);return new Promise((i,n)=>{t.pipe(s),t.on("error",n),s.on("error",n);let o;s.on("verified",a=>{o=a}),s.on("end",()=>i(o)),s.resume()})}Rl.exports.integrityStream=Oj;function Oj(t=Object.create(null)){return new Qj(t)}Rl.exports.create=aEt;function aEt(t){let e=t?.algorithms||[...Pj],r=ow(t?.options),s=e.map(nw.createHash);return{update:function(i,n){return s.forEach(o=>o.update(i,n)),this},digest:function(){return e.reduce((n,o)=>{let a=s.shift().digest("base64"),c=new rh(`${o}-${a}${r}`,t);return n[c.algorithm]||(n[c.algorithm]=[]),n[c.algorithm].push(c),n},new oA)}}}function cEt(t,e){return NSe.indexOf(t.toLowerCase())>=NSe.indexOf(e.toLowerCase())?t:e}});var kj=A((xrr,OSe)=>{var TSe=wj(),_Se=Rj(),lEt=Tl(),QSe={shared:!1,ignoreCargoCult:!0},uEt={status:200,headers:{}},Fy=t=>{let e={method:t.method,url:t.url,headers:{},compress:t.compress};return t.headers.forEach((r,s)=>{e.headers[s]=r}),e},PSe=t=>{let e={status:t.status,headers:{}};return t.headers.forEach((r,s)=>{e.headers[s]=r}),e},Dj=class{constructor({entry:e,request:r,response:s,options:i}){this.entry=e,this.request=Fy(r),this.response=PSe(s),this.options=i,this.policy=new TSe(this.request,this.response,QSe),this.entry&&(this.policy._responseTime=this.entry.metadata.time)}static storable(e,r){return!r.cachePath||r.cache==="no-store"||!["GET","HEAD"].includes(e.method)?!1:new TSe(Fy(e),uEt,QSe).storable()}satisfies(e){let r=Fy(e);if(this.request.headers.host!==r.headers.host||this.request.compress!==r.compress)return!1;let s=new _Se(this.request),i=new _Se(r);return JSON.stringify(s.mediaTypes())!==JSON.stringify(i.mediaTypes())||JSON.stringify(s.languages())!==JSON.stringify(i.languages())||JSON.stringify(s.encodings())!==JSON.stringify(i.encodings())?!1:this.options.integrity?lEt.parse(this.options.integrity).match(this.entry.integrity):!0}storable(){return this.policy.storable()}get mustRevalidate(){return!!this.policy._rescc["must-revalidate"]}needsRevalidation(e){let r=Fy(e);return r.method="GET",!this.policy.satisfiesWithoutRevalidation(r)}responseHeaders(){return this.policy.responseHeaders()}revalidationHeaders(e){let r=Fy(e);return this.policy.revalidationHeaders(r)}revalidated(e,r){let s=Fy(e),i=PSe(r);return!this.policy.revalidatedPolicy(s,i).modified}};OSe.exports=Dj});var kSe=A((Nrr,DSe)=>{var Mj=class extends Error{constructor(e){super(`request to ${e} failed: cache mode is 'only-if-cached' but no cached response is available.`),this.code="ENOTCACHED"}};DSe.exports={NotCachedError:Mj}});var $Se=A((vrr,VSe)=>{"use strict";var MSe=typeof process=="object"&&process?process:{stdout:null,stderr:null},hEt=require("events"),LSe=require("stream"),FSe=require("string_decoder").StringDecoder,sh=Symbol("EOF"),ih=Symbol("maybeEmitEnd"),Vd=Symbol("emittedEnd"),_1=Symbol("emittingEnd"),aw=Symbol("emittedError"),Q1=Symbol("closed"),USe=Symbol("read"),P1=Symbol("flush"),qSe=Symbol("flushChunk"),Bn=Symbol("encoding"),nh=Symbol("decoder"),O1=Symbol("flowing"),cw=Symbol("paused"),Uy=Symbol("resume"),Ts=Symbol("bufferLength"),Lj=Symbol("bufferPush"),Fj=Symbol("bufferShift"),di=Symbol("objectMode"),fi=Symbol("destroyed"),Uj=Symbol("emitData"),GSe=Symbol("emitEnd"),qj=Symbol("emitEnd2"),oh=Symbol("async"),lw=t=>Promise.resolve().then(t),HSe=global._MP_NO_ITERATOR_SYMBOLS_!=="1",dEt=HSe&&Symbol.asyncIterator||Symbol("asyncIterator not implemented"),fEt=HSe&&Symbol.iterator||Symbol("iterator not implemented"),pEt=t=>t==="end"||t==="finish"||t==="prefinish",AEt=t=>t instanceof ArrayBuffer||typeof t=="object"&&t.constructor&&t.constructor.name==="ArrayBuffer"&&t.byteLength>=0,mEt=t=>!Buffer.isBuffer(t)&&ArrayBuffer.isView(t),D1=class{constructor(e,r,s){this.src=e,this.dest=r,this.opts=s,this.ondrain=()=>e[Uy](),r.on("drain",this.ondrain)}unpipe(){this.dest.removeListener("drain",this.ondrain)}proxyErrors(){}end(){this.unpipe(),this.opts.end&&this.dest.end()}},Gj=class extends D1{unpipe(){this.src.removeListener("error",this.proxyErrors),super.unpipe()}constructor(e,r,s){super(e,r,s),this.proxyErrors=i=>r.emit("error",i),e.on("error",this.proxyErrors)}};VSe.exports=class zSe extends LSe{constructor(e){super(),this[O1]=!1,this[cw]=!1,this.pipes=[],this.buffer=[],this[di]=e&&e.objectMode||!1,this[di]?this[Bn]=null:this[Bn]=e&&e.encoding||null,this[Bn]==="buffer"&&(this[Bn]=null),this[oh]=e&&!!e.async||!1,this[nh]=this[Bn]?new FSe(this[Bn]):null,this[sh]=!1,this[Vd]=!1,this[_1]=!1,this[Q1]=!1,this[aw]=null,this.writable=!0,this.readable=!0,thi Line truncated
`+o.map(d=>{let f=JSON.stringify(d);return`${oP(f)} ${f}`}).join(`
`),c=async()=>{let d=jbt(Ql.join(t,"tmp"),s.tmpPrefix);return await M6(Ql.dirname(d),{recursive:!0}),{target:d,moved:!1}},l=async d=>{if(!d.moved)return rve(d.target,{recursive:!0,force:!0})},u=async d=>{await zbt(d.target,a,{flag:"wx"}),await M6(Ql.dirname(i),{recursive:!0}),await Kbt(d.target,i),d.moved=!0},h=await c();try{await u(h)}finally{await l(h)}return o.reverse().map(d=>aP(t,d,!0))}yo.exports.insert=sve;async function sve(t,e,r,s={}){let{metadata:i,size:n,time:o}=s,a=xw(t,e),c={key:e,integrity:r&&$bt.stringify(r),time:o||Date.now(),size:n,metadata:i};try{await M6(Ql.dirname(a),{recursive:!0});let l=JSON.stringify(c);await qbt(a,`
${oP(l)} ${l}`)}catch(l){if(l.code==="ENOENT")return;throw l}return aP(t,c)}yo.exports.find=Zbt;async function Zbt(t,e){let r=xw(t,e);try{return(await nP(r)).reduce((i,n)=>n&&n.key===e?aP(t,n):i,null)}catch(s){if(s.code==="ENOENT")return null;throw s}}yo.exports.delete=ewt;function ewt(t,e,r={}){if(!r.removeFully)return sve(t,e,null,r);let s=xw(t,e);return rve(s,{recursive:!0,force:!0})}yo.exports.lsStream=ive;function ive(t){let e=L6(t),r=new Vbt({objectMode:!0});return Promise.resolve().then(async()=>{let{default:s}=await Promise.resolve().then(()=>(iP(),sP)),i=await k6(e);return await s(i,async n=>{let o=Ql.join(e,n),a=await k6(o);await s(a,async c=>{let l=Ql.join(o,c),u=await k6(l);await s(u,async h=>{let d=Ql.join(l,h);try{let p=(await nP(d)).reduce((m,E)=>(m.set(E.key,E),m),new Map);for(let m of p.values()){let E=aP(t,m);E&&r.write(E)}}catch(f){if(f.code==="ENOENT")return;throw f}},{concurrency:D6})},{concurrency:D6})},{concurrency:D6}),r.end(),r}).catch(s=>r.emit("error",s)),r}yo.exports.ls=twt;async function twt(t){return(await ive(t).collect()).reduce((r,s)=>(r[s.key]=s,r),{})}yo.exports.bucketEntries=nP;async function nP(t,e){let r=await Gbt(t,"utf8");return rwt(r,e)}function rwt(t){let e=[];return t.split(`
`).forEach(r=>{if(!r)return;let s=r.split(" ");if(!s[1]||oP(s[1])!==s[0])return;let i;try{i=JSON.parse(s[1])}catch{}i&&e.push(i)}),e}yo.exports.bucketDir=L6;function L6(t){return Ql.join(t,`index-v${Wbt}`)}yo.exports.bucketPath=xw;function xw(t,e){let r=nve(e);return Ql.join.apply(Ql,[L6(t)].concat(Ybt(r)))}yo.exports.hashKey=nve;function nve(t){return ove(t,"sha256")}yo.exports.hashEntry=oP;function oP(t){return ove(t,"sha1")}function ove(t,e){return Ubt.createHash(e).update(t).digest("hex")}function aP(t,e,r){return!e.integrity&&!r?null:{key:e.key,integrity:e.integrity,path:e.integrity?Jbt(t,e.integrity):void 0,size:e.size,time:e.time,metadata:e.metadata}}function k6(t){return Hbt(t).catch(e=>{if(e.code==="ENOENT"||e.code==="ENOTDIR")return[];throw e})}});var vw=A(uP=>{"use strict";Object.defineProperty(uP,"__esModule",{value:!0});uP.LRUCache=void 0;var swt=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,cve=new Set,F6=typeof process=="object"&&process?process:{},lve=(t,e,r,s)=>{typeof F6.emitWarning=="function"?F6.emitWarning(t,e,r,s):console.error(`[${r}] ${e}: ${t}`)},lP=globalThis.AbortController,ave=globalThis.AbortSignal;if(typeof lP>"u"){ave=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(r,s){this._onabort.push(s)}},lP=class{constructor(){e()}signal=new ave;abort(r){if(!this.signal.aborted){this.signal.reason=r,this.signal.aborted=!0;for(let s of this.signal._onabort)s(r);this.signal.onabort?.(r)}}};let t=F6.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",e=()=>{t&&(t=!1,lve("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",e))}}var iwt=t=>!cve.has(t),jd=t=>t&&t===Math.floor(t)&&t>0&&isFinite(t),uve=t=>jd(t)?t<=Math.pow(2,8)?Uint8Array:t<=Math.pow(2,16)?Uint16Array:t<=Math.pow(2,32)?Uint32Array:t<=Number.MAX_SAFE_INTEGER?cP:null:null,cP=class extends Array{constructor(t){super(t),this.fill(0)}},nwt=class Nw{heap;length;static#e=!1;static create(e){let r=uve(e);if(!r)return[];Nw.#e=!0;let s=new Nw(e,r);return Nw.#e=!1,s}constructor(e,r){if(!Nw.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new r(e),this.length=0}push(e){this.heap[this.length++]=e}pop(){return this.heap[--this.length]}},owt=class hve{#e;#t;#s;#r;#i;#n;#u;#l;get perf(){return this.#l}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation;noDeleteOnFetchRejection;noDeleteOnStaleGet;allowStaleOnFetchAbort;allowStaleOnFetchRejection;ignoreFetchAbort;#a;#f;#p;#h;#o;#y;#I;#g;#A;#x;#m;#S;#B;#E;#C;#b;#v;#c;#O;static unsafeExposeInternals(e){return{starts:e.#B,ttls:e.#E,autopurgeTimers:e.#C,sizes:e.#S,keyMap:e.#p,keyList:e.#h,valList:e.#o,next:e.#y,prev:e.#I,get head(){return e.#g},get tail(){return e.#A},free:e.#x,isBackgroundFetch:r=>e.#d(r),backgroundFetch:(r,s,i,n)=>e.#G(r,s,i,n),moveToTail:r=>e.#P(r),indexes:r=>e.#R(r),rindexes:r=>e.#T(r),isStale:r=>e.#w(r)}}get max(){return this.#e}get maxSize(){return this.#t}get calculatedSize(){return this.#f}get size(){return this.#a}get fetchMethod(){return this.#n}get memoMethod(){return this.#u}get dispose(){return this.#s}get onInsert(){return this.#r}get disposeAfter(){return this.#i}constructor(e){let{max:r=0,ttl:s,ttlResolution:i=1,ttlAutopurge:n,updateAgeOnGet:o,updateAgeOnHas:a,allowStale:c,dispose:l,onInsert:u,disposeAfter:h,noDisposeOnSet:d,noUpdateTTL:f,maxSize:p=0,maxEntrySize:m=0,sizeCalculation:E,fetchMethod:y,memoMethod:C,noDeleteOnFetchRejection:w,noDeleteOnStaleGet:B,allowStaleOnFetchRejection:N,allowStaleOnFetchAbort:P,ignoreFetchAbort:Q,perf:k}=e;if(k!==void 0&&typeof k?.now!="function")throw new TypeError("perf option must have a now() method if specified");if(this.#l=k??swt,r!==0&&!jd(r))throw new TypeError("max option must be a nonnegative integer");let G=r?uve(r):Array;if(!G)throw new Error("invalid max value: "+r);if(this.#e=r,this.#t=p,this.maxEntrySize=m||this.#t,this.sizeCalculation=E,this.sizeCalculation){if(!this.#t&&!this.maxEntrySize)throw new TypeError("cannot set sizeCalculation without setting maxSize or maxEntrySize");if(typeof this.sizeCalculation!="function")throw new TypeError("sizeCalculation set to non-function")}if(C!==void 0&&typeof C!="function")throw new TypeError("memoMethod must be a function if defined");if(this.#u=C,y!==void 0&&typeof y!="function")throw new TypeError("fetchMethod must be a function if specified");if(this.#n=y,this.#v=!!y,this.#p=new Map,this.#h=new Array(r).fill(void 0),this.#o=new Array(r).fill(void 0),this.#y=new G(r),this.#I=new G(r),this.#g=0,this.#A=0,this.#x=nwt.create(r),this.#a=0, Line truncated
Wanted: ${t}
Found: ${e}`);return r.code="EINTEGRITY",r.expected=t,r.found=e,r}});var Pve=A((Zsr,Z6)=>{"use strict";var Rve=Wy(),Tve=Rw(),_ve=vve(),Gwt=uw(),{PassThrough:Hwt}=jj(),zwt=cA(),Qve=t=>({algorithms:["sha512"],...t});Z6.exports=Vwt;async function Vwt(t,e,r,s={}){let{memoize:i}=s;s=Qve(s);let n=await _ve(t,r,s),o=await Rve.insert(t,e,n.integrity,{...s,size:n.size});return i&&Tve.put(t,o,r,s),n.integrity}Z6.exports.stream=$wt;function $wt(t,e,r={}){let{memoize:s}=r;r=Qve(r);let i,n,o,a,c=new zwt;if(s){let u=new Hwt().on("collect",h=>{a=h});c.push(u)}let l=_ve.stream(t,r).on("integrity",u=>{i=u}).on("size",u=>{n=u}).on("error",u=>{o=u});return c.push(l),c.push(new Gwt({async flush(){if(!o){let u=await Rve.insert(t,e,i,{...r,size:n});s&&a&&Tve.put(t,u,a,r),c.emit("integrity",i),c.emit("size",n)}}})),c}});var Wve=A(ht=>{"use strict";var $s=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),jwt=$s(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.range=t.balanced=void 0;var e=(i,n,o)=>{let a=i instanceof RegExp?r(i,o):i,c=n instanceof RegExp?r(n,o):n,l=a!==null&&c!=null&&(0,t.range)(a,c,o);return l&&{start:l[0],end:l[1],pre:o.slice(0,l[0]),body:o.slice(l[0]+a.length,l[1]),post:o.slice(l[1]+c.length)}};t.balanced=e;var r=(i,n)=>{let o=n.match(i);return o?o[0]:null},s=(i,n,o)=>{let a,c,l,u,h,d=o.indexOf(i),f=o.indexOf(n,d+1),p=d;if(d>=0&&f>0){if(i===n)return[d,f];for(a=[],l=o.length;p>=0&&!h;){if(p===d)a.push(p),d=o.indexOf(i,p+1);else if(a.length===1){let m=a.pop();m!==void 0&&(h=[m,f])}else c=a.pop(),c!==void 0&&c<l&&(l=c,u=f),f=o.indexOf(n,p+1);p=d<f&&d>=0?d:f}a.length&&u!==void 0&&(h=[l,u])}return h};t.range=s}),Jwt=$s(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.EXPANSION_MAX=void 0,t.expand=N;var e=jwt(),r="\0SLASH"+Math.random()+"\0",s="\0OPEN"+Math.random()+"\0",i="\0CLOSE"+Math.random()+"\0",n="\0COMMA"+Math.random()+"\0",o="\0PERIOD"+Math.random()+"\0",a=new RegExp(r,"g"),c=new RegExp(s,"g"),l=new RegExp(i,"g"),u=new RegExp(n,"g"),h=new RegExp(o,"g"),d=/\\\\/g,f=/\\{/g,p=/\\}/g,m=/\\,/g,E=/\\./g;t.EXPANSION_MAX=1e5;function y(L){return isNaN(L)?L.charCodeAt(0):parseInt(L,10)}function C(L){return L.replace(d,r).replace(f,s).replace(p,i).replace(m,n).replace(E,o)}function w(L){return L.replace(a,"\\").replace(c,"{").replace(l,"}").replace(u,",").replace(h,".")}function B(L){if(!L)return[""];let F=[],q=(0,e.balanced)("{","}",L);if(!q)return L.split(",");let{pre:$,body:se,post:Qe}=q,we=$.split(",");we[we.length-1]+="{"+se+"}";let le=B(Qe);return Qe.length&&(we[we.length-1]+=le.shift(),we.push.apply(we,le)),F.push.apply(F,we),F}function N(L,F={}){if(!L)return[];let{max:q=t.EXPANSION_MAX}=F;return L.slice(0,2)==="{}"&&(L="\\{\\}"+L.slice(2)),ee(C(L),q,!0).map(w)}function P(L){return"{"+L+"}"}function Q(L){return/^-?0\d/.test(L)}function k(L,F){return L<=F}function G(L,F){return L>=F}function ee(L,F,q){let $=[],se=(0,e.balanced)("{","}",L);if(!se)return[L];let Qe=se.pre,we=se.post.length?ee(se.post,F,!1):[""];if(/\$$/.test(se.pre))for(let le=0;le<we.length&&le<F;le++){let ct=Qe+"{"+se.body+"}"+we[le];$.push(ct)}else{let le=/^-?\d+\.\.-?\d+(?:\.\.-?\d+)?$/.test(se.body),ct=/^[a-zA-Z]\.\.[a-zA-Z](?:\.\.-?\d+)?$/.test(se.body),et=le||ct,It=se.body.indexOf(",")>=0;if(!et&&!It)return se.post.match(/,(?!,).*\}/)?(L=se.pre+"{"+se.body+i+se.post,ee(L,F,!0)):[L];let De;if(et)De=se.body.split(/\.\./);else if(De=B(se.body),De.length===1&&De[0]!==void 0&&(De=ee(De[0],F,!1).map(P),De.length===1))return we.map(Ht=>se.pre+De[0]+Ht);let dt;if(et&&De[0]!==void 0&&De[1]!==void 0){let Ht=y(De[0]),es=y(De[1]),Pn=Math.max(De[0].length,De[1].length),vt=De.length===3&&De[2]!==void 0?Math.abs(y(De[2])):1,bo=k;es<Ht&&(vt*=-1,bo=G);let R=De.some(Q);dt=[];for(let _=Ht;bo(_,es);_+=vt){let D;if(ct)D=String.fromCharCode(_),D==="\\"&&(D="");else if(D=String(_),R){let U=Pn-D.length;if(U>0){let W=new Array(U+1).join("0");_<0?D="-"+W+D.slice(1):D=W+D}}dt.push(D)}}else{dt=[];for(let Ht=0;Ht<De.length;Ht++)dt.push.apply(dt,ee(De[Ht],F,!1))}for(let Ht=0;Ht<dt.length;Ht++)for(let es=0;es<we.length&&$.length<F;es++){let Pn=Qe+dt[Ht]+we[es];(!q||et||Pn)&&$.push(Pn)}}return $}}),Ywt=$s(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.assertValidPattern=void 0;var e=1024*64,r=s=>{if(typeof s!="string")throw new TypeError("invalid pattern");if(s.length>e)throw new TypeError("pattern is too long")};t.assertValidPattern=r}),Wwt=$s(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.parseClass=void 0;var e={"[:alnum:]":["\\p{L}\\p{Nl}\\p{Nd}",!0],"[:alpha:]":["\\p{L}\\p{Nl}",!0],"[:ascii:]":["\\x00-\\x7f",!1],"[:blank:]":["\\p{Zs}\\t",!0],"[:cntrl:]":["\\p{Cc}",!0],"[:digit:]":["\\p{Nd}",!0],"[:graph:]":["\\p{Z}\\p{C}",!0,!0],"[:lower:]":["\\p{Ll}",!0],"[:print:]":["\\p{C}",!0],"[:punct:]":["\\p{P}",!0],"[:space:]":["\\p{Z}\\t\\r\\n\\v\\f",!0],"[:upper:]":["\\p{Lu}",!0],"[:word:]":["\\p{L}\\p{Nl}\\p{Nd}\\p{Pc}",!0],"[:xdigit:]":["A-Fa-f0-9",!1]},r=o=>o.replace(/[[\]\\-]/g,"\\$Line truncated
globstar while`,R,te,_,ke,ot),this.matchOne(R.slice(te),_.slice(ke),D))return this.debug("globstar found match!",te,v,ot),!0;if(ot==="."||ot===".."||!U.dot&&ot.charAt(0)==="."){this.debug("dot detected!",R,te,_,ke);break}this.debug("globstar swallow a segment, and continue"),te++}return!!(D&&(this.debug(`
>>> no match, partial?`,R,te,_,ke),te===v))}let st;if(typeof j=="string"?(st=ge===j,this.debug("string match",j,ge,st)):(st=j.test(ge),this.debug("pattern match",j,ge,st)),!st)return!1}if(g===v&&S===M)return!0;if(g===v)return D;if(S===M)return g===v-1&&R[g]==="";throw new Error("wtf?")}braceExpand(){return(0,t.braceExpand)(this.pattern,this.options)}parse(R){(0,r.assertValidPattern)(R);let _=this.options;if(R==="**")return t.GLOBSTAR;if(R==="")return"";let D,U=null;(D=R.match(y))?U=_.dot?w:C:(D=R.match(a))?U=(_.nocase?_.dot?h:u:_.dot?l:c)(D[1]):(D=R.match(B))?U=(_.nocase?_.dot?P:N:_.dot?Q:k)(D):(D=R.match(d))?U=_.dot?p:f:(D=R.match(m))&&(U=E);let W=s.AST.fromGlob(R,this.options).toMMPattern();return U&&typeof W=="object"&&Reflect.defineProperty(W,"test",{value:U}),W}makeRe(){if(this.regexp||this.regexp===!1)return this.regexp;let R=this.set;if(!R.length)return this.regexp=!1,this.regexp;let _=this.options,D=_.noglobstar?$:_.dot?se:Qe,U=new Set(_.nocase?["i"]:[]),W=R.map(v=>{let M=v.map(ge=>{if(ge instanceof RegExp)for(let te of ge.flags.split(""))U.add(te);return typeof ge=="string"?Ht(ge):ge===t.GLOBSTAR?t.GLOBSTAR:ge._src});M.forEach((ge,te)=>{let ke=M[te+1],ot=M[te-1];ge!==t.GLOBSTAR||ot===t.GLOBSTAR||(ot===void 0?ke!==void 0&&ke!==t.GLOBSTAR?M[te+1]="(?:\\/|"+D+"\\/)?"+ke:M[te]=D:ke===void 0?M[te-1]=ot+"(?:\\/|\\/"+D+")?":ke!==t.GLOBSTAR&&(M[te-1]=ot+"(?:\\/|\\/"+D+"\\/)"+ke,M[te+1]=t.GLOBSTAR))});let j=M.filter(ge=>ge!==t.GLOBSTAR);if(this.partial&&j.length>=1){let ge=[];for(let te=1;te<=j.length;te++)ge.push(j.slice(0,te).join("/"));return"(?:"+ge.join("|")+")"}return j.join("/")}).join("|"),[g,S]=R.length>1?["(?:",")"]:["",""];W="^"+g+W+S+"$",this.partial&&(W="^(?:\\/|"+g+W.slice(1,-1)+S+")$"),this.negate&&(W="^(?!"+W+").+$");try{this.regexp=new RegExp(W,[...U].join(""))}catch{this.regexp=!1}return this.regexp}slashSplit(R){return this.preserveMultipleSlashes?R.split("/"):this.isWindows&&/^\/\/[^\/]+/.test(R)?["",...R.split(/\/+/)]:R.split(/\/+/)}match(R,_=this.partial){if(this.debug("match",R,this.pattern),this.comment)return!1;if(this.empty)return R==="";if(R==="/"&&_)return!0;let D=this.options;this.isWindows&&(R=R.split("\\").join("/"));let U=this.slashSplit(R);this.debug(this.pattern,"split",U);let W=this.set;this.debug(this.pattern,"set",W);let g=U[U.length-1];if(!g)for(let S=U.length-2;!g&&S>=0;S--)g=U[S];for(let S=0;S<W.length;S++){let v=W[S],M=U;if(D.matchBase&&v.length===1&&(M=[g]),this.matchOne(M,v,_))return D.flipNegate?!0:!this.negate}return D.flipNegate?!1:this.negate}static defaults(R){return t.minimatch.defaults(R).Minimatch}};t.Minimatch=es;var Pn=Ove();Object.defineProperty(t,"AST",{enumerable:!0,get:function(){return Pn.AST}});var vt=Dve();Object.defineProperty(t,"escape",{enumerable:!0,get:function(){return vt.escape}});var bo=eJ();Object.defineProperty(t,"unescape",{enumerable:!0,get:function(){return bo.unescape}}),t.minimatch.AST=s.AST,t.minimatch.Minimatch=es,t.minimatch.escape=i.escape,t.minimatch.unescape=n.unescape}),Kwt=$s(t=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),t.LRUCache=void 0;var e=typeof performance=="object"&&performance&&typeof performance.now=="function"?performance:Date,r=new Set,s=typeof process=="object"&&process?process:{},i=(f,p,m,E)=>{typeof s.emitWarning=="function"?s.emitWarning(f,p,m,E):console.error(`[${m}] ${p}: ${f}`)},n=globalThis.AbortController,o=globalThis.AbortSignal;if(typeof n>"u"){o=class{onabort;_onabort=[];reason;aborted=!1;addEventListener(m,E){this._onabort.push(E)}},n=class{constructor(){p()}signal=new o;abort(m){if(!this.signal.aborted){this.signal.reason=m,this.signal.aborted=!0;for(let E of this.signal._onabort)E(m);this.signal.onabort?.(m)}}};let f=s.env?.LRU_CACHE_IGNORE_AC_WARNING!=="1",p=()=>{f&&(f=!1,i("AbortController is not defined. If using lru-cache in node 14, load an AbortController polyfill from the `node-abort-controller` package. A minimal polyfill is provided for use by LRUCache.fetch(), but it should not be relied upon in other contexts (eg, passing it to other APIs that use AbortController/AbortSignal might have undesirable effects). You may disable this with LRU_CACHE_IGNORE_AC_WARNING=1 in the env.","NO_ABORT_CONTROLLER","ENOTSUP",p))}}var a=f=>!r.has(f),c=f=>f&&f===Math.floor(f)&&f>0&&isFinite(f),l=f=>c(f)?f<=Math.pow(2,8)?Uint8Array:f<=Math.pow(2,16)?Uint16Array:f<=Math.pow(2,32)?Uint32Array:f<=Number.MAX_SAFE_INTEGER?u:null:null,u=class extends Array{constructor(f){super(f),this.fill(0)}},h=class kw{heap;length;static#e=!1;static create(p){let m=l(p);if(!m)return[];kw.#e=!0;let E=new kw(p,m);return kw.#e=!1,E}constructor(p,m){if(!kw.#e)throw new TypeError("instantiate Stack using Stack.create(n)");this.heap=new m(p),this.length=0}push(p){this.heap[this.length++]=p}pop(){return this.heap[--this.length]}},d=class Lve{#e;#t;#s;#r;#i;#n;#u;#l;get perf(){return this.#l}ttl;ttlResolution;ttlAutopurge;updateAgeOnGet;updateAgeOnHas;allowStale;noDisposeOnSet;noUpdateTTL;maxEntrySize;sizeCalculation Line truncated
\r
`);if(d===-1){NP("have not received end of HTTP headers yet..."),n();return}let f=h.slice(0,d).toString("ascii").split(`\r
`),p=f.shift();if(!p)return t.destroy(),r(new Error("No header received from proxy CONNECT response"));let m=p.split(" "),E=+m[1],y=m.slice(2).join(" "),C={};for(let w of f){if(!w)continue;let B=w.indexOf(":");if(B===-1)return t.destroy(),r(new Error(`Invalid header from proxy CONNECT response: "${w}"`));let N=w.slice(0,B).toLowerCase(),P=w.slice(B+1).trimStart(),Q=C[N];typeof Q=="string"?C[N]=[Q,P]:Array.isArray(Q)?Q.push(P):C[N]=P}NP("got proxy server response: %o %o",p,C),o(),e({connect:{statusCode:E,statusText:y,headers:C},buffered:h})}t.on("error",c),t.on("end",a),n()})}cE.parseProxyResponse=NBt});var URe=A(Aa=>{"use strict";var vBt=Aa&&Aa.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),RBt=Aa&&Aa.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),LRe=Aa&&Aa.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(t!=null)for(var r in t)r!=="default"&&Object.prototype.hasOwnProperty.call(t,r)&&vBt(e,t,r);return RBt(e,t),e},FRe=Aa&&Aa.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Aa,"__esModule",{value:!0});Aa.HttpsProxyAgent=void 0;var Uw=LRe(require("net")),kRe=LRe(require("tls")),TBt=FRe(require("assert")),_Bt=FRe(ip()),QBt=zI(),PBt=require("url"),OBt=DRe(),qw=(0,_Bt.default)("https-proxy-agent"),vP=class extends QBt.Agent{constructor(e,r){super(r),this.options={path:void 0},this.proxy=typeof e=="string"?new PBt.URL(e):e,this.proxyHeaders=r?.headers??{},qw("Creating new HttpsProxyAgent instance: %o",this.proxy.href);let s=(this.proxy.hostname||this.proxy.host).replace(/^\[|\]$/g,""),i=this.proxy.port?parseInt(this.proxy.port,10):this.proxy.protocol==="https:"?443:80;this.connectOpts={ALPNProtocols:["http/1.1"],...r?MRe(r,"headers"):null,host:s,port:i}}async connect(e,r){let{proxy:s}=this;if(!r.host)throw new TypeError('No "host" provided');let i;if(s.protocol==="https:"){qw("Creating `tls.Socket`: %o",this.connectOpts);let d=this.connectOpts.servername||this.connectOpts.host;i=kRe.connect({...this.connectOpts,servername:d&&Uw.isIP(d)?void 0:d})}else qw("Creating `net.Socket`: %o",this.connectOpts),i=Uw.connect(this.connectOpts);let n=typeof this.proxyHeaders=="function"?this.proxyHeaders():{...this.proxyHeaders},o=Uw.isIPv6(r.host)?`[${r.host}]`:r.host,a=`CONNECT ${o}:${r.port} HTTP/1.1\r
`;if(s.username||s.password){let d=`${decodeURIComponent(s.username)}:${decodeURIComponent(s.password)}`;n["Proxy-Authorization"]=`Basic ${Buffer.from(d).toString("base64")}`}n.Host=`${o}:${r.port}`,n["Proxy-Connection"]||(n["Proxy-Connection"]=this.keepAlive?"Keep-Alive":"close");for(let d of Object.keys(n))a+=`${d}: ${n[d]}\r
`;let c=(0,OBt.parseProxyResponse)(i);i.write(`${a}\r
`);let{connect:l,buffered:u}=await c;if(e.emit("proxyConnect",l),this.emit("proxyConnect",l,e),l.statusCode===200){if(e.once("socket",DBt),r.secureEndpoint){qw("Upgrading socket connection to TLS");let d=r.servername||r.host;return kRe.connect({...MRe(r,"host","path","port"),socket:i,servername:Uw.isIP(d)?void 0:d})}return i}i.destroy();let h=new Uw.Socket({writable:!1});return h.readable=!0,e.once("socket",d=>{qw("Replaying proxy buffer for failed request"),(0,TBt.default)(d.listenerCount("data")>0),d.push(u),d.push(null)}),h}};vP.protocols=["http","https"];Aa.HttpsProxyAgent=vP;function DBt(t){t.resume()}function MRe(t,...e){let r={},s;for(s in t)e.includes(s)||(r[s]=t[s]);return r}});var zRe=A(Eh=>{"use strict";Object.defineProperty(Eh,"__esModule",{value:!0});var qRe=require("buffer"),CA={INVALID_ENCODING:"Invalid encoding provided. Please specify a valid encoding the internal Node.js Buffer supports.",INVALID_SMARTBUFFER_SIZE:"Invalid size provided. Size must be a valid integer greater than zero.",INVALID_SMARTBUFFER_BUFFER:"Invalid Buffer provided in SmartBufferOptions.",INVALID_SMARTBUFFER_OBJECT:"Invalid SmartBufferOptions object supplied to SmartBuffer constructor or factory methods.",INVALID_OFFSET:"An invalid offset value was provided.",INVALID_OFFSET_NON_NUMBER:"An invalid offset value was provided. A numeric value is required.",INVALID_LENGTH:"An invalid length value was provided.",INVALID_LENGTH_NON_NUMBER:"An invalid length value was provived. A numeric value is required.",INVALID_TARGET_OFFSET:"Target offset is beyond the bounds of the internal SmartBuffer data.",INVALID_TARGET_LENGTH:"Specified length value moves cursor beyong the bounds of the internal SmartBuffer data.",INVALID_READ_BEYOND_BOUNDS:"Attempted to read beyond the bounds of the managed data.",INVALID_WRITE_BEYOND_BOUNDS:"Attempted to write beyond the bounds of the managed data."};Eh.ERRORS=CA;function kBt(t){if(!qRe.Buffer.isEncoding(t))throw new Error(CA.INVALID_ENCODING)}Eh.checkEncoding=kBt;function GRe(t){return typeof t=="number"&&isFinite(t)&&UBt(t)}Eh.isFiniteInteger=GRe;function HRe(t,e){if(typeof t=="number"){if(!GRe(t)||t<0)throw new Error(e?CA.INVALID_OFFSET:CA.INVALID_LENGTH)}else throw new Error(e?CA.INVALID_OFFSET_NON_NUMBER:CA.INVALID_LENGTH_NON_NUMBER)}function MBt(t){HRe(t,!1)}Eh.checkLengthValue=MBt;function LBt(t){HRe(t,!0)}Eh.checkOffsetValue=LBt;function FBt(t,e){if(t<0||t>e.length)throw new Error(CA.INVALID_TARGET_OFFSET)}Eh.checkTargetOffset=FBt;function UBt(t){return typeof t=="number"&&isFinite(t)&&Math.floor(t)===t}function qBt(t){if(typeof BigInt>"u")throw new Error("Platform does not support JS BigInt type.");if(typeof qRe.Buffer.prototype[t]>"u")throw new Error(`Platform does not support Buffer.prototype.${t}.`)}Eh.bigIntAndBufferInt64Check=qBt});var $Re=A(SJ=>{"use strict";Object.defineProperty(SJ,"__esModule",{value:!0});var rt=zRe(),VRe=4096,GBt="utf8",wJ=class t{constructor(e){if(this.length=0,this._encoding=GBt,this._writeOffset=0,this._readOffset=0,t.isSmartBufferOptions(e))if(e.encoding&&(rt.checkEncoding(e.encoding),this._encoding=e.encoding),e.size)if(rt.isFiniteInteger(e.size)&&e.size>0)this._buff=Buffer.allocUnsafe(e.size);else throw new Error(rt.ERRORS.INVALID_SMARTBUFFER_SIZE);else if(e.buff)if(Buffer.isBuffer(e.buff))this._buff=e.buff,this.length=e.buff.length;else throw new Error(rt.ERRORS.INVALID_SMARTBUFFER_BUFFER);else this._buff=Buffer.allocUnsafe(VRe);else{if(typeof e<"u")throw new Error(rt.ERRORS.INVALID_SMARTBUFFER_OBJECT);this._buff=Buffer.allocUnsafe(VRe)}}static fromSize(e,r){return new this({size:e,encoding:r})}static fromBuffer(e,r){return new this({buff:e,encoding:r})}static fromOptions(e){return new this(e)}static isSmartBufferOptions(e){let r=e;return r&&(r.encoding!==void 0||r.size!==void 0||r.buff!==void 0)}readInt8(e){return this._readNumberValue(Buffer.prototype.readInt8,1,e)}readInt16BE(e){return this._readNumberValue(Buffer.prototype.readInt16BE,2,e)}readInt16LE(e){return this._readNumberValue(Buffer.prototype.readInt16LE,2,e)}readInt32BE(e){return this._readNumberValue(Buffer.prototype.readInt32BE,4,e)}readInt32LE(e){return this._readNumberValue(Buffer.prototype.readInt32LE,4,e)}readBigInt64BE(e){return rt.bigIntAndBufferInt64Check("readBigInt64BE"),this._readNumberValue(Buffer.prototype.readBigInt64BE,8,e)}readBigInt64LE(e){return rt.bigIntAndBufferInt64Check("readBigInt64LE"),this._readNumberValue(Buffer.prototype.readBigInt64LE,8,e)}writeInt8(e,r){return this._writeNumberValue(Buffer.prototype.writeInt8,1,e,r),this}insertInt8(e,r){return this._insertNumberValue(Buffer.prototype.writeInt8,1,e,r)}writeInt16BE(e,r){return this._writeNumberValue(Buffer.prototype.writeInt16BE,2,e,r)}insertInt16BE(e,r){return this._insertNumberValue(Buffer.prototype.writeInt16BE,2,e,r)}writeInt16LE(e,r){return this._writeNumberValue(Buffer.prototype.writeInt16LE,2,e,r)}insertInt16LE(e,r){return this._insertNumberValue(Buffer.prototype.writeInt16LE,2,e,r)}writeInt32BE(e,r){return t Line truncated
`).join(`
`+n),t.push(i+"m+"+qO.exports.humanize(this.diff)+"\x1B[0m")}else t[0]=fQt()+e+" "+t[0]}function fQt(){return Ds.inspectOpts.hideDate?"":new Date().toISOString()+" "}function pQt(...t){return process.stderr.write(UO.formatWithOptions(Ds.inspectOpts,...t)+`
`)}function AQt(t){t?process.env.DEBUG=t:delete process.env.DEBUG}function mQt(){return process.env.DEBUG}function gQt(t){t.inspectOpts={};let e=Object.keys(Ds.inspectOpts);for(let r=0;r<e.length;r++)t.inspectOpts[e[r]]=Ds.inspectOpts[e[r]]}qO.exports=I9()(Ds);var{formatters:DQe}=qO.exports;DQe.o=function(t){return this.inspectOpts.colors=this.useColors,UO.inspect(t,this.inspectOpts).split(`
`).map(e=>e.trim()).join(" ")};DQe.O=function(t){return this.inspectOpts.colors=this.useColors,UO.inspect(t,this.inspectOpts)}});var w9=A((wor,b9)=>{typeof process>"u"||process.type==="renderer"||process.browser===!0||process.__nwjs?b9.exports=OQe():b9.exports=kQe()});var LQe=A((Sor,MQe)=>{var yQt=require("dns"),EQt=["if-modified-since","if-none-match","if-unmodified-since","if-match","if-range"],CQt=t=>{let{strictSSL:e,...r}={...t};if(r.method=r.method?r.method.toUpperCase():"GET",e==null?r.rejectUnauthorized=process.env.NODE_TLS_REJECT_UNAUTHORIZED!=="0":r.rejectUnauthorized=e!==!1,!r.retry)r.retry={retries:0};else if(typeof r.retry=="string"){let s=parseInt(r.retry,10);isFinite(s)?r.retry={retries:s}:r.retry={retries:0}}else typeof r.retry=="number"?r.retry={retries:r.retry}:r.retry={retries:0,...r.retry};return r.dns={ttl:300*1e3,lookup:yQt.lookup,...r.dns},r.cache=r.cache||"default",r.cache==="default"&&Object.keys(r.headers||{}).some(i=>EQt.includes(i.toLowerCase()))&&(r.cache="no-store"),r.cacheAdditionalHeaders=r.cacheAdditionalHeaders||[],r.cacheManager&&!r.cachePath&&(r.cachePath=r.cacheManager),r};MQe.exports=CQt});var B9=A((Bor,HQe)=>{var FQe=wj(),UQe=Rj(),IQt=Tl(),qQe={shared:!1,ignoreCargoCult:!0},bQt={status:200,headers:{}},kE=t=>{let e={method:t.method,url:t.url,headers:{},compress:t.compress};return t.headers.forEach((r,s)=>{e.headers[s]=r}),e},GQe=t=>{let e={status:t.status,headers:{}};return t.headers.forEach((r,s)=>{e.headers[s]=r}),e},S9=class{constructor({entry:e,request:r,response:s,options:i}){this.entry=e,this.request=kE(r),this.response=GQe(s),this.options=i,this.policy=new FQe(this.request,this.response,qQe),this.entry&&(this.policy._responseTime=this.entry.metadata.time)}static storable(e,r){return!r.cachePath||r.cache==="no-store"||!["GET","HEAD"].includes(e.method)?!1:new FQe(kE(e),bQt,qQe).storable()}satisfies(e){let r=kE(e);if(this.request.headers.host!==r.headers.host||this.request.compress!==r.compress)return!1;let s=new UQe(this.request),i=new UQe(r);return JSON.stringify(s.mediaTypes())!==JSON.stringify(i.mediaTypes())||JSON.stringify(s.languages())!==JSON.stringify(i.languages())||JSON.stringify(s.encodings())!==JSON.stringify(i.encodings())?!1:this.options.integrity?IQt.parse(this.options.integrity).match(this.entry.integrity):!0}storable(){return this.policy.storable()}get mustRevalidate(){return!!this.policy._rescc["must-revalidate"]}needsRevalidation(e){let r=kE(e);return r.method="GET",!this.policy.satisfiesWithoutRevalidation(r)}responseHeaders(){return this.policy.responseHeaders()}revalidationHeaders(e){let r=kE(e);return this.policy.revalidationHeaders(r)}revalidated(e,r){let s=kE(e),i=GQe(r);return!this.policy.revalidatedPolicy(s,i).modified}};HQe.exports=S9});var VQe=A((xor,zQe)=>{var x9=class extends Error{constructor(e){super(`request to ${e} failed: cache mode is 'only-if-cached' but no cached response is available.`),this.code="ENOTCACHED"}};zQe.exports={NotCachedError:x9}});var v9=A((Nor,$Qe)=>{"use strict";var wQt=cA(),N9=class extends wQt{#e=[];#t=new Map;constructor(e,...r){super(),this.#e=e.events,r.length&&this.push(...r)}on(e,r){return this.#e.includes(e)&&this.#t.has(e)?r(...this.#t.get(e)):super.on(e,r)}emit(e,...r){return this.#e.includes(e)&&this.#t.set(e,r),super.emit(e,...r)}};$Qe.exports=N9});var JQe=A((vor,jQe)=>{var{URL:SQt,format:BQt}=require("url"),xQt={auth:!1,fragment:!1,search:!0,unicode:!1},NQt=t=>{let e=new SQt(t.url);return`make-fetch-happen:request-cache:${BQt(e,xQt)}`};jQe.exports=NQt});var YQe=A((Ror,vQt)=>{vQt.exports={name:"make-fetch-happen",version:"15.0.4",description:"Opinionated, caching, retrying fetch client",main:"lib/index.js",files:["bin/","lib/"],scripts:{test:"tap",posttest:"npm run lint",eslint:'eslint "**/*.{js,cjs,ts,mjs,jsx,tsx}"',lint:"npm run eslint",lintfix:"npm run eslint -- --fix",postlint:"template-oss-check",snap:"tap","template-oss-apply":"template-oss-apply --force"},repository:{type:"git",url:"git+https://github.com/npm/make-fetch-happen.git"},keywords:["http","request","fetch","mean girls","caching","cache","subresource integrity"],author:"GitHub Inc.",license:"ISC",dependencies:{"@gar/promise-retry":"^1.0.0","@npmcli/agent":"^4.0.0",cacache:"^20.0.1","http-cache-semantics":"^4.1.1",minipass:"^7.0.2","minipass-fetch":"^5.0.0","minipass-flush":"^1.0.5","minipass-pipeline":"^1.2.4",negotiator:"^1.0.0","proc-log":"^6.0.0",ssri:"^13.0.0"},devDependencies:{"@npmcli/eslint-config":"^5.0.0","@npmcli/template-oss":"4.25.0",nock:"^13.2.4","safe-buffer":"^5.2.1","standard-version":"^9.3.2",tap:"^16.0.0"},engines:{node:"^20.17.0 || >=22.9.0"},tap:{color:1,files:"test/*.js","check-coverage":!0,timeout:60,"nyc-arg":["--exclude","tap-snapshots/**"]},templateOSS:{"//@npmcli/template-oss":"This file is partially managed by @npmcli/template-oss. Edits may be overwritten.",version:"4.25.0",publish:"true"}}});var HO=A((Tor,KQe)=>{var{Minipass:RQt}=$i(),GO=th(),{promiseRetry:TQt}=mJ(),_Qt=Tl(),{log:WQe}=wP(),QQt=v9(),{g Line truncated
`).forEach(r=>{r.match(mPt)||r.match(gPt)||(e+=r)}),Buffer.from(e,"base64")}function EPt(t,e="CERTIFICATE"){let s=t.toString("base64").match(/.{1,64}/g)||"";return[`-----BEGIN ${e}-----`,...s,`-----END ${e}-----`].join(`
`).concat(`
`)}});var fD=A(hf=>{"use strict";Object.defineProperty(hf,"__esModule",{value:!0});hf.SHA2_HASH_ALGOS=hf.RSA_SIGNATURE_ALGOS=hf.ECDSA_SIGNATURE_ALGOS=void 0;hf.ECDSA_SIGNATURE_ALGOS={"1.2.840.10045.4.3.1":"sha224","1.2.840.10045.4.3.2":"sha256","1.2.840.10045.4.3.3":"sha384","1.2.840.10045.4.3.4":"sha512"};hf.RSA_SIGNATURE_ALGOS={"1.2.840.113549.1.1.14":"sha224","1.2.840.113549.1.1.11":"sha256","1.2.840.113549.1.1.12":"sha384","1.2.840.113549.1.1.13":"sha512"};hf.SHA2_HASH_ALGOS={"2.16.840.1.101.3.4.2.1":"sha256","2.16.840.1.101.3.4.2.2":"sha384","2.16.840.1.101.3.4.2.3":"sha512"}});var AW=A(pD=>{"use strict";Object.defineProperty(pD,"__esModule",{value:!0});pD.RFC3161TimestampVerificationError=void 0;var pW=class extends Error{};pD.RFC3161TimestampVerificationError=pW});var j1e=A(Hl=>{"use strict";var CPt=Hl&&Hl.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),IPt=Hl&&Hl.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),bPt=Hl&&Hl.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(s[s.length]=i);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),i=0;i<s.length;i++)s[i]!=="default"&&CPt(r,e,s[i]);return IPt(r,e),r}})();Object.defineProperty(Hl,"__esModule",{value:!0});Hl.TSTInfo=void 0;var $1e=bPt(HE()),wPt=fD(),SPt=AW(),mW=class{root;constructor(e){this.root=e}get version(){return this.root.subs[0].toInteger()}get genTime(){return this.root.subs[4].toDate()}get messageImprintHashAlgorithm(){let e=this.messageImprintObj.subs[0].subs[0].toOID();return wPt.SHA2_HASH_ALGOS[e]}get messageImprintHashedMessage(){return this.messageImprintObj.subs[1].value}get raw(){return this.root.toDER()}verify(e){let r=$1e.digest(this.messageImprintHashAlgorithm,e);if(!$1e.bufferEqual(r,this.messageImprintHashedMessage))throw new SPt.RFC3161TimestampVerificationError("message imprint does not match artifact")}get messageImprintObj(){return this.root.subs[2]}};Hl.TSTInfo=mW});var Y1e=A(zl=>{"use strict";var BPt=zl&&zl.__createBinding||(Object.create?(function(t,e,r,s){s===void 0&&(s=r);var i=Object.getOwnPropertyDescriptor(e,r);(!i||("get"in i?!e.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(t,s,i)}):(function(t,e,r,s){s===void 0&&(s=r),t[s]=e[r]})),xPt=zl&&zl.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),NPt=zl&&zl.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(r){var s=[];for(var i in r)Object.prototype.hasOwnProperty.call(r,i)&&(s[s.length]=i);return s},t(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var s=t(e),i=0;i<s.length;i++)s[i]!=="default"&&BPt(r,e,s[i]);return xPt(r,e),r}})();Object.defineProperty(zl,"__esModule",{value:!0});zl.RFC3161Timestamp=void 0;var vPt=uD(),gW=NPt(HE()),J1e=fD(),AS=AW(),RPt=j1e(),TPt="1.2.840.113549.1.7.2",_Pt="1.2.840.113549.1.9.16.1.4",QPt="1.2.840.113549.1.9.4",yW=class t{root;constructor(e){this.root=e}static parse(e){let r=vPt.ASN1Obj.parseBuffer(e);return new t(r)}get status(){return this.pkiStatusInfoObj.subs[0].toInteger()}get contentType(){return this.contentTypeObj.toOID()}get eContentType(){return this.eContentTypeObj.toOID()}get signingTime(){return this.tstInfo.genTime}get signerIssuer(){return this.signerSidObj.subs[0].value}get signerSerialNumber(){return this.signerSidObj.subs[1].value}get signerDigestAlgorithm(){let e=this.signerDigestAlgorithmObj.subs[0].toOID();return J1e.SHA2_HASH_ALGOS[e]}get signatureAlgorithm(){let e=this.signatureAlgorithmObj.subs[0].toOID();return J1e.ECDSA_SIGNATURE_ALGOS[e]}get signatureValue(){return this.signatureValueObj.value}get tstInfo(){return new RPt.TSTInfo(this.eContentObj.subs[0].subs[0])}verify(e,r){if(!this.timeStampTokenObj)throw new AS.RFC3161TimestampVerificationError("timeStampToken is missing");if(this.contentType!==TPt)throw new AS.RFC3161TimestampVerificationError(`incorrect content type: ${this.contentType}`);if(this.eContentType!==_Pt)throw new AS.RFC3161TimestampVerificationError(`incorrect encapsulated content type: ${this.eContentType}`);this.tstInfo.verify(e),this.verifyMessageDigest(),this.verifySignature(r)}verifyMessageDigest(){let e=gW.digest(this.signerDigestAlgorithm,this.tstInfo.raw),r=this.messageDigestAttributeObj.subs[1].subs[0].value;if(!gW.bufferEqual(e,r))throw new AS.RFC3161TimestampVerificationError("signed data does not match tstInfo")}verifySignature(e){let r=this.signedAttrsObj.toDER();if(r[0 Line truncated
`,jOt=/\u2014 (\S+) (\S+)\n/g;function JOt(t,e){let r=t.inclusionProof,s=VW.fromString(r.checkpoint.envelope),i=ND.fromString(s.note);if(!YOt(s,e))throw new CS.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid checkpoint signature"});return i}function YOt(t,e){let r=Buffer.from(t.note,"utf-8");return t.signatures.some(s=>{let i=e.find(n=>bPe.crypto.bufferEqual(n.logID.subarray(0,4),s.keyHint)&&n.baseURL.match(s.name));return i?bPe.crypto.verify(r,i.publicKey,s.signature):!1})}var VW=class t{note;signatures;constructor(e,r){this.note=e,this.signatures=r}static fromString(e){if(!e.includes(zW))throw new CS.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"missing checkpoint separator"});let r=e.indexOf(zW),s=e.slice(0,r+1),n=e.slice(r+zW.length).matchAll(jOt),o=Array.from(n,a=>{let[,c,l]=a,u=Buffer.from(l,"base64");if(u.length<5)throw new CS.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"malformed checkpoint signature"});return{name:c,keyHint:u.subarray(0,4),signature:u.subarray(4)}});if(o.length===0)throw new CS.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"no signatures found in checkpoint"});return new t(s,o)}},ND=class t{origin;logSize;logHash;rest;constructor(e,r,s,i){this.origin=e,this.logSize=r,this.logHash=s,this.rest=i}static fromString(e){let r=e.trimEnd().split(`
`);if(r.length<3)throw new CS.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"too few lines in checkpoint header"});let s=r[0],i=BigInt(r[1]),n=Buffer.from(r[2],"base64"),o=r.slice(3);return new t(s,i,n,o)}};IS.LogCheckpoint=ND});var SPe=A(YW=>{"use strict";Object.defineProperty(YW,"__esModule",{value:!0});YW.verifyMerkleInclusion=XOt;var JW=ac(),$W=Ei(),WOt=Buffer.from([0]),KOt=Buffer.from([1]);function XOt(t,e){let r=t.inclusionProof,s=BigInt(r.logIndex),i=BigInt(e.logSize);if(s<0n||s>=i)throw new $W.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:`invalid index: ${s}`});let{inner:n,border:o}=ZOt(s,i);if(r.hashes.length!==n+o)throw new $W.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"invalid hash count"});let a=r.hashes.slice(0,n),c=r.hashes.slice(n),l=nDt(t.canonicalizedBody),u=tDt(eDt(l,a,s),c);if(!JW.crypto.bufferEqual(u,e.logHash))throw new $W.VerificationError({code:"TLOG_INCLUSION_PROOF_ERROR",message:"calculated root hash does not match inclusion proof"})}function ZOt(t,e){let r=rDt(t,e),s=sDt(t>>BigInt(r));return{inner:r,border:s}}function eDt(t,e,r){return e.reduce((s,i,n)=>r>>BigInt(n)&BigInt(1)?jW(i,s):jW(s,i),t)}function tDt(t,e){return e.reduce((r,s)=>jW(s,r),t)}function rDt(t,e){return iDt(t^e-BigInt(1))}function sDt(t){return t.toString(2).split("1").length-1}function iDt(t){return t===0n?0:t.toString(2).length}function jW(t,e){return JW.crypto.digest("sha256",KOt,t,e)}function nDt(t){return JW.crypto.digest("sha256",WOt,t)}});var xPe=A(WW=>{"use strict";Object.defineProperty(WW,"__esModule",{value:!0});WW.verifyTLogSET=cDt;var BPe=ac(),oDt=Ei(),aDt=$E();function cDt(t,e){if(!(0,aDt.filterTLogAuthorities)(e,{logID:t.logId.keyId,targetDate:new Date(Number(t.integratedTime)*1e3)}).some(i=>{let n=lDt(t),o=Buffer.from(BPe.json.canonicalize(n),"utf8"),a=t.inclusionPromise.signedEntryTimestamp;return BPe.crypto.verify(o,i.publicKey,a)}))throw new oDt.VerificationError({code:"TLOG_INCLUSION_PROMISE_ERROR",message:"inclusion promise could not be verified"})}function lDt(t){let{integratedTime:e,logIndex:r,logId:s,canonicalizedBody:i}=t;return{body:i.toString("base64"),integratedTime:Number(e),logIndex:Number(r),logID:s.keyId.toString("hex")}}});var vPe=A(vD=>{"use strict";Object.defineProperty(vD,"__esModule",{value:!0});vD.verifyTLogBody=pDt;vD.verifyTLogInclusion=ADt;var NPe=yY(),ZW=Ei(),KW=EPe(),XW=CPe(),uDt=IPe(),hDt=wPe(),dDt=SPe(),fDt=xPe();function pDt(t,e){let{kind:r,version:s}=t.kindVersion,i=JSON.parse(t.canonicalizedBody.toString("utf8"));if(r!==i.kind||s!==i.apiVersion)throw new ZW.VerificationError({code:"TLOG_BODY_ERROR",message:`kind/version mismatch - expected: ${r}/${s}, received: ${i.kind}/${i.apiVersion}`});switch(r){case"dsse":if(s==KW.DSSE_API_VERSION_V1)return(0,KW.verifyDSSETLogBody)(i,e);{let n=NPe.Entry.fromJSON(i);return(0,KW.verifyDSSETLogBodyV2)(n,e)}case"intoto":return(0,uDt.verifyIntotoTLogBody)(i,e);case"hashedrekord":if(s==XW.HASHEDREKORD_API_VERSION_V1)return(0,XW.verifyHashedRekordTLogBody)(i,e);{let n=NPe.Entry.fromJSON(i);return(0,XW.verifyHashedRekordTLogBodyV2)(n,e)}default:throw new ZW.VerificationError({code:"TLOG_BODY_ERROR",message:`unsupported kind: ${r}`})}}function ADt(t,e){let r=!1;if(mDt(t)&&((0,fDt.verifyTLogSET)(t,e),r=!0),gDt(t)){let s=(0,hDt.verifyCheckpoint)(t,e);(0,dDt.verifyMerkleInclusion)(t,s),r=!0}if(!r)throw new ZW.VerificationError({code:"TLOG_MISSING_INCLUSION_ERROR",message:"inclusion could not be verified"})}function mDt(t){return t.inclusionPromise!==void 0}function gDt(t){return t.inclusionProof!==void 0}});var OPe=A(RD=>{"use strict";Object.defineProperty(RD,"__esModule",{value:!0});RD.Verifier=void 0;var yDt=require("util"),jE=Ei(),RPe=fPe(),TPe=APe(),_Pe=yPe(),QPe=vPe(),eK=class{trustMaterial;options;constructor(e,r={}){this.trustMaterial=e,this.options={ctlogThreshold:r.ctlogThreshold??1,tlogThreshold:r.tlogThreshold??1,timestampThreshold:r.timestampThreshold??r.tsaThreshold??1,tsaThreshold:0}}verify(e,r){let s=this.verifyTimestamps(e),i=this.verifySigningKey(e,s);return this.verifyTLogs(e),this.verifySignature(e,i),r&&this.verifyPolicy(r,i.identity||{}),i}verifyTimestamps(e){let r=0,s=e.timestamps.map(i=>{switch(i.$case){case"timestamp-authority":return r++,(0,_Pe.getTSATimestamp)(i.timestamp,e.signature.signature,this.trustMaterial.timestampAuthorities);case"transparency-log":return r++,(0,_Pe.getTLogTimestamp)(i.tlogEntry)}});if(PPe(s))throw new jE.VerificationError({code:"TIMESTAMP_ERROR",message:"duplicate timestamp"});if(r<this.options.timestampThreshold)throw new jE.VerificationError({code:"TIMESTAMP_ERROR",message:`expected ${this.options.timestampThreshold} timestamps, got ${r}`});return s.map(i=>i.timestamp)}verifySigningKey({key:e},r){switch(e.$case){case"public-key":return(0,RPe.verifyPublicKey)(e.hint,r,this.trustMaterial);case"certificate":{let s=(0,RPe.verifyCertificate)(e.certificate,r,this.trustMaterial);if(PPe(s.scts))throw new jE.VerificationError({code:"CERTIFICATE_ERRO Line truncated
`+t.mark.snippet),s+" "+r):s}function rC(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=PK(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error().stack||""}rC.prototype=Object.create(Error.prototype);rC.prototype.constructor=rC;rC.prototype.toString=function(e){return this.name+": "+PK(this,e)};var tn=rC;function ZD(t,e,r,s,i){var n="",o="",a=Math.floor(i/2)-1;return s-e>a&&(n=" ... ",e=s-a+n.length),r-s>a&&(o=" ...",r=s+a-o.length),{str:n+t.slice(e,r).replace(/\t/g,"\u2192")+o,pos:s-e+n.length}}function ek(t,e){return ts.repeat(" ",e-t.length)+t}function vDe(t,e){if(e=Object.create(e||null),!t.buffer)return null;e.maxLength||(e.maxLength=79),typeof e.indent!="number"&&(e.indent=1),typeof e.linesBefore!="number"&&(e.linesBefore=3),typeof e.linesAfter!="number"&&(e.linesAfter=2);for(var r=/\r?\n|\r|\0/g,s=[0],i=[],n,o=-1;n=r.exec(t.buffer);)i.push(n.index),s.push(n.index+n[0].length),t.position<=n.index&&o<0&&(o=s.length-2);o<0&&(o=s.length-1);var a="",c,l,u=Math.min(t.line+e.linesAfter,i.length).toString().length,h=e.maxLength-(e.indent+u+3);for(c=1;c<=e.linesBefore&&!(o-c<0);c++)l=ZD(t.buffer,s[o-c],i[o-c],t.position-(s[o]-s[o-c]),h),a=ts.repeat(" ",e.indent)+ek((t.line-c+1).toString(),u)+" | "+l.str+`
`+a;for(l=ZD(t.buffer,s[o],i[o],t.position,h),a+=ts.repeat(" ",e.indent)+ek((t.line+1).toString(),u)+" | "+l.str+`
`,a+=ts.repeat("-",e.indent+u+3+l.pos)+`^
`,c=1;c<=e.linesAfter&&!(o+c>=i.length);c++)l=ZD(t.buffer,s[o+c],i[o+c],t.position-(s[o]-s[o+c]),h),a+=ts.repeat(" ",e.indent)+ek((t.line+c+1).toString(),u)+" | "+l.str+`
`;return a.replace(/\n$/,"")}var RDe=vDe,TDe=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],_De=["scalar","sequence","mapping"];function QDe(t){var e={};return t!==null&&Object.keys(t).forEach(function(r){t[r].forEach(function(s){e[String(s)]=r})}),e}function PDe(t,e){if(e=e||{},Object.keys(e).forEach(function(r){if(TDe.indexOf(r)===-1)throw new tn('Unknown option "'+r+'" is met in definition of "'+t+'" YAML type.')}),this.options=e,this.tag=t,this.kind=e.kind||null,this.resolve=e.resolve||function(){return!0},this.construct=e.construct||function(r){return r},this.instanceOf=e.instanceOf||null,this.predicate=e.predicate||null,this.represent=e.represent||null,this.representName=e.representName||null,this.defaultStyle=e.defaultStyle||null,this.multi=e.multi||!1,this.styleAliases=QDe(e.styleAliases||null),_De.indexOf(this.kind)===-1)throw new tn('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')}var js=PDe;function gK(t,e){var r=[];return t[e].forEach(function(s){var i=r.length;r.forEach(function(n,o){n.tag===s.tag&&n.kind===s.kind&&n.multi===s.multi&&(i=o)}),r[i]=s}),r}function ODe(){var t={scalar:{},sequence:{},mapping:{},fallback:{},multi:{scalar:[],sequence:[],mapping:[],fallback:[]}},e,r;function s(i){i.multi?(t.multi[i.kind].push(i),t.multi.fallback.push(i)):t[i.kind][i.tag]=t.fallback[i.tag]=i}for(e=0,r=arguments.length;e<r;e+=1)arguments[e].forEach(s);return t}function rk(t){return this.extend(t)}rk.prototype.extend=function(e){var r=[],s=[];if(e instanceof js)s.push(e);else if(Array.isArray(e))s=s.concat(e);else if(e&&(Array.isArray(e.implicit)||Array.isArray(e.explicit)))e.implicit&&(r=r.concat(e.implicit)),e.explicit&&(s=s.concat(e.explicit));else throw new tn("Schema.extend argument should be a Type, [ Type ], or a schema definition ({ implicit: [...], explicit: [...] })");r.forEach(function(n){if(!(n instanceof js))throw new tn("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(n.loadKind&&n.loadKind!=="scalar")throw new tn("There is a non-scalar type in the implicit list of a schema. Implicit resolving of such types is not supported.");if(n.multi)throw new tn("There is a multi type in the implicit list of a schema. Multi tags can only be listed as explicit.")}),s.forEach(function(n){if(!(n instanceof js))throw new tn("Specified list of YAML types (or a single Type object) contains a non-Type object.")});var i=Object.create(rk.prototype);return i.implicit=(this.implicit||[]).concat(r),i.explicit=(this.explicit||[]).concat(s),i.compiledImplicit=gK(i,"implicit"),i.compiledExplicit=gK(i,"explicit"),i.compiledTypeMap=ODe(i.compiledImplicit,i.compiledExplicit),i};var DDe=rk,kDe=new js("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return t!==null?t:""}}),MDe=new js("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return t!==null?t:[]}}),LDe=new js("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return t!==null?t:{}}}),FDe=new DDe({explicit:[kDe,MDe,LDe]});function UDe(t){if(t===null)return!0;var e=t.length;return e===1&&t==="~"||e===4&&(t==="null"||t==="Null"||t==="NULL")}function qDe(){return null}function GDe(t){return t===null}var HDe=new js("tag:yaml.org,2002:null",{kind:"scalar",resolve:UDe,construct:qDe,predicate:GDe,represent:{canonical:function(){return"~"},lowercase:function(){return"null"},uppercase:function(){return"NULL"},camelcase:function(){return"Null"},empty:function(){return""}},defaultStyle:"lowercase"});function zDe(t){if(t===null)return!1;var e=t.length;return e===4&&(t==="true"||t==="True"||t==="TRUE")||e===5&&(t==="false"||t==="False"||t==="FALSE")}function VDe(t){return t==="true"||t==="True"||t==="TRUE"}function $De(t){return Object.prototype.toString.call(t)==="[object Boolean]"}var jDe=new js("tag:yaml.org,2002:bool",{kind:"scalar",resolve:zDe,construct:VDe,predicate:$De,represent:{lowercase:function(t){return t?"true":"false"},uppercase:function(t){return t?"TRUE":"FALSE"},camelcase:function(t){return t?"True":"False"}},defaultStyle:"lowercase"});function JDe(t){return 48<=t&&t<=57||65<=t&&t<=70||97<=t&&t<=102}function YDe(t){return 48<=t&&t<=55}function WDe(t){return 48<=t&&t<=57}function KDe(t){if(t===null)return!1;var e=t.length,r=0,s=!1,i;if(!e)return!1;if(i=t[r],(i==="-"||i==="+")&&(i=t[++r]),i==="0"){if(r+1===e)return!0;if(i=t[++r],i==="b"){for(r++;r<e;r++)if(i=t[r],i!=="_"){if(i!=="0"&&i!=="1")return!1;s=!0}return s&&i!=="_"}if(i==="x"){for(r++;r<e;r++)if(i=t[r],i!=="_"){if(!JDe(t.charCodeAt(r)))return!1;s=!0}return s&&i!=="_"}if(i==="o"){for(r++;r<e;r++)if(i=t[r],i!=="_"){if(!YDe(t.charCodeAt(r)))return!1;s=!0}return s&&i!=="_"}}if(i==="_")return!1;for(;r<e;r++)if(i=t[r],i!=="_"){if(!WDe(t.charCodeAt(r)))return!1;s=!0}return!(!s||i==="_")}function XDe(t){var e=t,r=1,s;if(e.indexOf("_")!==-1&&(e=e.replace(/_/g,"")),s=e[0],(s==="-"||s==="+")&&(s==="-"&&(r=-1),e=e.slice(1),s=e[0]),e==="0")return 0;if( Line truncated
\r`;function mke(t){if(t===null)return!1;var e,r,s=0,i=t.length,n=ak;for(r=0;r<i;r++)if(e=n.indexOf(t.charAt(r)),!(e>64)){if(e<0)return!1;s+=6}return s%8===0}function gke(t){var e,r,s=t.replace(/[\r\n=]/g,""),i=s.length,n=ak,o=0,a=[];for(e=0;e<i;e++)e%4===0&&e&&(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)),o=o<<6|n.indexOf(s.charAt(e));return r=i%4*6,r===0?(a.push(o>>16&255),a.push(o>>8&255),a.push(o&255)):r===18?(a.push(o>>10&255),a.push(o>>2&255)):r===12&&a.push(o>>4&255),new Uint8Array(a)}function yke(t){var e="",r=0,s,i,n=t.length,o=ak;for(s=0;s<n;s++)s%3===0&&s&&(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]),r=(r<<8)+t[s];return i=n%3,i===0?(e+=o[r>>18&63],e+=o[r>>12&63],e+=o[r>>6&63],e+=o[r&63]):i===2?(e+=o[r>>10&63],e+=o[r>>4&63],e+=o[r<<2&63],e+=o[64]):i===1&&(e+=o[r>>2&63],e+=o[r<<4&63],e+=o[64],e+=o[64]),e}function Eke(t){return Object.prototype.toString.call(t)==="[object Uint8Array]"}var Cke=new js("tag:yaml.org,2002:binary",{kind:"scalar",resolve:mke,construct:gke,predicate:Eke,represent:yke}),Ike=Object.prototype.hasOwnProperty,bke=Object.prototype.toString;function wke(t){if(t===null)return!0;var e=[],r,s,i,n,o,a=t;for(r=0,s=a.length;r<s;r+=1){if(i=a[r],o=!1,bke.call(i)!=="[object Object]")return!1;for(n in i)if(Ike.call(i,n))if(!o)o=!0;else return!1;if(!o)return!1;if(e.indexOf(n)===-1)e.push(n);else return!1}return!0}function Ske(t){return t!==null?t:[]}var Bke=new js("tag:yaml.org,2002:omap",{kind:"sequence",resolve:wke,construct:Ske}),xke=Object.prototype.toString;function Nke(t){if(t===null)return!0;var e,r,s,i,n,o=t;for(n=new Array(o.length),e=0,r=o.length;e<r;e+=1){if(s=o[e],xke.call(s)!=="[object Object]"||(i=Object.keys(s),i.length!==1))return!1;n[e]=[i[0],s[i[0]]]}return!0}function vke(t){if(t===null)return[];var e,r,s,i,n,o=t;for(n=new Array(o.length),e=0,r=o.length;e<r;e+=1)s=o[e],i=Object.keys(s),n[e]=[i[0],s[i[0]]];return n}var Rke=new js("tag:yaml.org,2002:pairs",{kind:"sequence",resolve:Nke,construct:vke}),Tke=Object.prototype.hasOwnProperty;function _ke(t){if(t===null)return!0;var e,r=t;for(e in r)if(Tke.call(r,e)&&r[e]!==null)return!1;return!0}function Qke(t){return t!==null?t:{}}var Pke=new js("tag:yaml.org,2002:set",{kind:"mapping",resolve:_ke,construct:Qke}),kK=lke.extend({implicit:[fke,Ake],explicit:[Cke,Bke,Rke,Pke]}),_h=Object.prototype.hasOwnProperty,_S=1,MK=2,LK=3,QS=4,tk=1,Oke=2,yK=3,Dke=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,kke=/[\x85\u2028\u2029]/,Mke=/[,\[\]\{\}]/,FK=/^(?:!|!!|![a-z\-]+!)$/i,UK=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function EK(t){return Object.prototype.toString.call(t)}function uc(t){return t===10||t===13}function Ef(t){return t===9||t===32}function rn(t){return t===9||t===32||t===10||t===13}function VA(t){return t===44||t===91||t===93||t===123||t===125}function Lke(t){var e;return 48<=t&&t<=57?t-48:(e=t|32,97<=e&&e<=102?e-97+10:-1)}function Fke(t){return t===120?2:t===117?4:t===85?8:0}function Uke(t){return 48<=t&&t<=57?t-48:-1}function CK(t){return t===48?"\0":t===97?"\x07":t===98?"\b":t===116||t===9?" ":t===110?`
`:t===118?"\v":t===102?"\f":t===114?"\r":t===101?"\x1B":t===32?" ":t===34?'"':t===47?"/":t===92?"\\":t===78?"\x85":t===95?"\xA0":t===76?"\u2028":t===80?"\u2029":""}function qke(t){return t<=65535?String.fromCharCode(t):String.fromCharCode((t-65536>>10)+55296,(t-65536&1023)+56320)}function qK(t,e,r){e==="__proto__"?Object.defineProperty(t,e,{configurable:!0,enumerable:!0,writable:!0,value:r}):t[e]=r}var GK=new Array(256),HK=new Array(256);for(yf=0;yf<256;yf++)GK[yf]=CK(yf)?1:0,HK[yf]=CK(yf);var yf;function Gke(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||kK,this.onWarning=e.onWarning||null,this.legacy=e.legacy||!1,this.json=e.json||!1,this.listener=e.listener||null,this.implicitTypes=this.schema.compiledImplicit,this.typeMap=this.schema.compiledTypeMap,this.length=t.length,this.position=0,this.line=0,this.lineStart=0,this.lineIndent=0,this.firstTabInLine=-1,this.documents=[]}function zK(t,e){var r={name:t.filename,buffer:t.input.slice(0,-1),position:t.position,line:t.line,column:t.position-t.lineStart};return r.snippet=RDe(r),new tn(e,r)}function Be(t,e){throw zK(t,e)}function PS(t,e){t.onWarning&&t.onWarning.call(null,zK(t,e))}var IK={YAML:function(e,r,s){var i,n,o;e.version!==null&&Be(e,"duplication of %YAML directive"),s.length!==1&&Be(e,"YAML directive accepts exactly one argument"),i=/^([0-9]+)\.([0-9]+)$/.exec(s[0]),i===null&&Be(e,"ill-formed argument of the YAML directive"),n=parseInt(i[1],10),o=parseInt(i[2],10),n!==1&&Be(e,"unacceptable YAML version of the document"),e.version=s[0],e.checkLineBreaks=o<2,o!==1&&o!==2&&PS(e,"unsupported YAML version of the document")},TAG:function(e,r,s){var i,n;s.length!==2&&Be(e,"TAG directive accepts exactly two arguments"),i=s[0],n=s[1],FK.test(i)||Be(e,"ill-formed tag handle (first argument) of the TAG directive"),_h.call(e.tagMap,i)&&Be(e,'there is a previously declared suffix for "'+i+'" tag handle'),UK.test(n)||Be(e,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch{Be(e,"tag prefix is malformed: "+n)}e.tagMap[i]=n}};function Th(t,e,r,s){var i,n,o,a;if(e<r){if(a=t.input.slice(e,r),s)for(i=0,n=a.length;i<n;i+=1)o=a.charCodeAt(i),o===9||32<=o&&o<=1114111||Be(t,"expected valid JSON character");else Dke.test(a)&&Be(t,"the stream contains non-printable characters");t.result+=a}}function bK(t,e,r,s){var i,n,o,a;for(ts.isObject(r)||Be(t,"cannot merge mappings; the provided source object is unacceptable"),i=Object.keys(r),o=0,a=i.length;o<a;o+=1)n=i[o],_h.call(e,n)||(qK(e,n,r[n]),s[n]=!0)}function $A(t,e,r,s,i,n,o,a,c){var l,u;if(Array.isArray(i))for(i=Array.prototype.slice.call(i),l=0,u=i.length;l<u;l+=1)Array.isArray(i[l])&&Be(t,"nested arrays are not supported inside keys"),typeof i=="object"&&EK(i[l])==="[object Object]"&&(i[l]="[object Object]");if(typeof i=="object"&&EK(i)==="[object Object]"&&(i="[object Object]"),i=String(i),e===null&&(e={}),s==="tag:yaml.org,2002:merge")if(Array.isArray(n))for(l=0,u=n.length;l<u;l+=1)bK(t,e,n[l],r);else bK(t,e,n,r);else!t.json&&!_h.call(r,i)&&_h.call(e,i)&&(t.line=o||t.line,t.lineStart=a||t.lineStart,t.position=c||t.position,Be(t,"duplicated mapping key")),qK(e,i,n),delete r[i];return e}function ck(t){var e;e=t.input.charCodeAt(t.position),e===10?t.position++:e===13?(t.position++,t.input.charCodeAt(t.position)===10&&t.position++):Be(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function Vr(t,e,r){for(var s=0,i=t.input.charCodeAt(t.position);i!==0;){for(;Ef(i);)i===9&&t.firstTabInLine===-1&&(t.firstTabInLine=t.position),i=t.input.charCodeAt(++t.position);if(e&&i===35)do i=t.input.charCodeAt(++t.position);while(i!==10&&i!==13&&i!==0);if(uc(i))for(ck(t),i=t.input.charCodeAt(t.position),s++,t.lineIndent=0;i===32;)t.lineIndent++,i=t.input.charCodeAt(++t.position);else break}return r!==-1&&s!==0&&t.lineIndent<r&&PS(t,"deficient indentation"),s}function kS(t){var e=t.position,r;return r=t.input.charCodeAt(e),!!((r===45||r===46)&&r===t.input.charCodeAt(e+1)&&r===t.input.charCodeAt(e+2)&&(e+=3,r=t.input.charCodeAt(e),r===0||rn(r)))}function lk(t,e){e===1?t.result+=" ":e>1&&(t.result+=ts.repeat(`
`,e-1))}function Hke(t,e,r){var s,i,n,o,a,c,l,u,h=t.kind,d=t.result,f;if(f=t.input.charCodeAt(t.position),rn(f)||VA(f)||f===35||f===38||f===42||f===33||f===124||f===62||f===39||f===34||f===37||f===64||f===96||(f===63||f===45)&&(i=t.input.charCodeAt(t.position+1),rn(i)||r&&VA(i)))return!1;for(t.kind="scalar",t.result="",n=o=t.position,a=!1;f!==0;){if(f===58){if(i=t.input.charCodeAt(t.position+1),rn(i)||r&&VA(i))break}else if(f===35){if(s=t.input.charCodeAt(t.position-1),rn(s))break}else{if(t.position===t.lineStart&&kS(t)||r&&VA(f))break;if(uc(f))if(c=t.line,l=t.lineStart,u=t.lineIndent,Vr(t,!1,-1),t.lineIndent>=e){a=!0,f=t.input.charCodeAt(t.position);continue}else{t.position=o,t.line=c,t.lineStart=l,t.lineIndent=u;break}}a&&(Th(t,n,o,!1),lk(t,t.line-c),n=o=t.position,a=!1),Ef(f)||(o=t.position+1),f=t.input.charCodeAt(++t.position)}return Th(t,n,o,!1),t.result?!0:(t.kind=h,t.result=d,!1)}function zke(t,e){var r,s,i;if(r=t.input.charCodeAt(t.position),r!==39)return!1;for(t.kind="scalar",t.result="",t.position++,s=i=t.position;(r=t.input.charCodeAt(t.position))!==0;)if(r===39)if(Th(t,s,t.position,!0),r=t.input.charCodeAt(++t.position),r===39)s=t.position,t.position++,i=t.position;else return!0;else uc(r)?(Th(t,s,i,!0),lk(t,Vr(t,!1,e)),s=i=t.position):t.position===t.lineStart&&kS(t)?Be(t,"unexpected end of the document within a single quoted scalar"):(t.position++,i=t.position);Be(t,"unexpected end of the stream within a single quoted scalar")}function Vke(t,e){var r,s,i,n,o,a;if(a=t.input.charCodeAt(t.position),a!==34)return!1;for(t.kind="scalar",t.result="",t.position++,r=s=t.position;(a=t.input.charCodeAt(t.position))!==0;){if(a===34)return Th(t,r,t.position,!0),t.position++,!0;if(a===92){if(Th(t,r,t.position,!0),a=t.input.charCodeAt(++t.position),uc(a))Vr(t,!1,e);else if(a<256&&GK[a])t.result+=HK[a],t.position++;else if((o=Fke(a))>0){for(i=o,n=0;i>0;i--)a=t.input.charCodeAt(++t.position),(o=Lke(a))>=0?n=(n<<4)+o:Be(t,"expected hexadecimal character");t.result+=qke(n),t.position++}else Be(t,"unknown escape sequence");r=s=t.position}else uc(a)?(Th(t,r,s,!0),lk(t,Vr(t,!1,e)),r=s=t.position):t.position===t.lineStart&&kS(t)?Be(t,"unexpected end of the document within a double quoted scalar"):(t.position++,s=t.position)}Be(t,"unexpected end of the stream within a double quoted scalar")}function $ke(t,e){var r=!0,s,i,n,o=t.tag,a,c=t.anchor,l,u,h,d,f,p=Object.create(null),m,E,y,C;if(C=t.input.charCodeAt(t.position),C===91)u=93,f=!1,a=[];else if(C===123)u=125,f=!0,a={};else return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=a),C=t.input.charCodeAt(++t.position);C!==0;){if(Vr(t,!0,e),C=t.input.charCodeAt(t.position),C===u)return t.position++,t.tag=o,t.anchor=c,t.kind=f?"mapping":"sequence",t.result=a,!0;r?C===44&&Be(t,"expected the node content, but found ','"):Be(t,"missed comma between flow collection entries"),E=m=y=null,h=d=!1,C===63&&(l=t.input.charCodeAt(t.position+1),rn(l)&&(h=d=!0,t.position++,Vr(t,!0,e))),s=t.line,i=t.lineStart,n=t.position,jA(t,e,_S,!1,!0),E=t.tag,m=t.result,Vr(t,!0,e),C=t.input.charCodeAt(t.position),(d||t.line===s)&&C===58&&(h=!0,C=t.input.charCodeAt(++t.position),Vr(t,!0,e),jA(t,e,_S,!1,!0),y=t.result),f?$A(t,a,p,E,m,y,s,i,n):h?a.push($A(t,null,p,E,m,y,s,i,n)):a.push(m),Vr(t,!0,e),C=t.input.charCodeAt(t.position),C===44?(r=!0,C=t.input.charCodeAt(++t.position)):r=!1}Be(t,"unexpected end of the stream within a flow collection")}function jke(t,e){var r,s,i=tk,n=!1,o=!1,a=e,c=0,l=!1,u,h;if(h=t.input.charCodeAt(t.position),h===124)s=!1;else if(h===62)s=!0;else return!1;for(t.kind="scalar",t.result="";h!==0;)if(h=t.input.charCodeAt(++t.position),h===43||h===45)tk===i?i=h===43?yK:Oke:Be(t,"repeat of a chomping mode identifier");else if((u=Uke(h))>=0)u===0?Be(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):o?Be(t,"repeat of an indentation width identifier"):(a=e+u-1,o=!0);else break;if(Ef(h)){do h=t.input.charCodeAt(++t.position);while(Ef(h));if(h===35)do h=t.input.charCodeAt(++t.position);while(!uc(h)&&h!==0)}for(;h!==0;){for(ck(t),t.lineIndent=0,h=t.input.charCodeAt(t.position);(!o||t.lineIndent<a)&&h===32;)t.lineIndent++,h=t.input.charCodeAt(++t.position);if(!o&&t.lineIndent>a&&(a=t.lineIndent),uc(h)){c++;continue}if(t.lineIndent<a){i===yK?t.result+=ts.repeat(`
`,n?1+c:c):i===tk&&n&&(t.result+=`
`);break}for(s?Ef(h)?(l=!0,t.result+=ts.repeat(`
`,n?1+c:c)):l?(l=!1,t.result+=ts.repeat(`
`,c+1)):c===0?n&&(t.result+=" "):t.result+=ts.repeat(`
`,c):t.result+=ts.repeat(`
`,n?1+c:c),n=!0,o=!0,c=0,r=t.position;!uc(h)&&h!==0;)h=t.input.charCodeAt(++t.position);Th(t,r,t.position,!1)}return!0}function wK(t,e){var r,s=t.tag,i=t.anchor,n=[],o,a=!1,c;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=n),c=t.input.charCodeAt(t.position);c!==0&&(t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Be(t,"tab characters must not be used in indentation")),!(c!==45||(o=t.input.charCodeAt(t.position+1),!rn(o))));){if(a=!0,t.position++,Vr(t,!0,-1)&&t.lineIndent<=e){n.push(null),c=t.input.charCodeAt(t.position);continue}if(r=t.line,jA(t,e,LK,!1,!0),n.push(t.result),Vr(t,!0,-1),c=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&c!==0)Be(t,"bad indentation of a sequence entry");else if(t.lineIndent<e)break}return a?(t.tag=s,t.anchor=i,t.kind="sequence",t.result=n,!0):!1}function Jke(t,e,r){var s,i,n,o,a,c,l=t.tag,u=t.anchor,h={},d=Object.create(null),f=null,p=null,m=null,E=!1,y=!1,C;if(t.firstTabInLine!==-1)return!1;for(t.anchor!==null&&(t.anchorMap[t.anchor]=h),C=t.input.charCodeAt(t.position);C!==0;){if(!E&&t.firstTabInLine!==-1&&(t.position=t.firstTabInLine,Be(t,"tab characters must not be used in indentation")),s=t.input.charCodeAt(t.position+1),n=t.line,(C===63||C===58)&&rn(s))C===63?(E&&($A(t,h,d,f,p,null,o,a,c),f=p=m=null),y=!0,E=!0,i=!0):E?(E=!1,i=!0):Be(t,"incomplete explicit mapping pair; a key node is missed; or followed by a non-tabulated empty line"),t.position+=1,C=s;else{if(o=t.line,a=t.lineStart,c=t.position,!jA(t,r,MK,!1,!0))break;if(t.line===n){for(C=t.input.charCodeAt(t.position);Ef(C);)C=t.input.charCodeAt(++t.position);if(C===58)C=t.input.charCodeAt(++t.position),rn(C)||Be(t,"a whitespace character is expected after the key-value separator within a block mapping"),E&&($A(t,h,d,f,p,null,o,a,c),f=p=m=null),y=!0,E=!1,i=!1,f=t.tag,p=t.result;else if(y)Be(t,"can not read an implicit mapping pair; a colon is missed");else return t.tag=l,t.anchor=u,!0}else if(y)Be(t,"can not read a block mapping entry; a multiline key may not be an implicit key");else return t.tag=l,t.anchor=u,!0}if((t.line===n||t.lineIndent>e)&&(E&&(o=t.line,a=t.lineStart,c=t.position),jA(t,e,QS,!0,i)&&(E?p=t.result:m=t.result),E||($A(t,h,d,f,p,m,o,a,c),f=p=m=null),Vr(t,!0,-1),C=t.input.charCodeAt(t.position)),(t.line===n||t.lineIndent>e)&&C!==0)Be(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return E&&$A(t,h,d,f,p,null,o,a,c),y&&(t.tag=l,t.anchor=u,t.kind="mapping",t.result=h),y}function Yke(t){var e,r=!1,s=!1,i,n,o;if(o=t.input.charCodeAt(t.position),o!==33)return!1;if(t.tag!==null&&Be(t,"duplication of a tag property"),o=t.input.charCodeAt(++t.position),o===60?(r=!0,o=t.input.charCodeAt(++t.position)):o===33?(s=!0,i="!!",o=t.input.charCodeAt(++t.position)):i="!",e=t.position,r){do o=t.input.charCodeAt(++t.position);while(o!==0&&o!==62);t.position<t.length?(n=t.input.slice(e,t.position),o=t.input.charCodeAt(++t.position)):Be(t,"unexpected end of the stream within a verbatim tag")}else{for(;o!==0&&!rn(o);)o===33&&(s?Be(t,"tag suffix cannot contain exclamation marks"):(i=t.input.slice(e-1,t.position+1),FK.test(i)||Be(t,"named tag handle cannot contain such characters"),s=!0,e=t.position+1)),o=t.input.charCodeAt(++t.position);n=t.input.slice(e,t.position),Mke.test(n)&&Be(t,"tag suffix cannot contain flow indicator characters")}n&&!UK.test(n)&&Be(t,"tag name cannot contain such characters: "+n);try{n=decodeURIComponent(n)}catch{Be(t,"tag name is malformed: "+n)}return r?t.tag=n:_h.call(t.tagMap,i)?t.tag=t.tagMap[i]+n:i==="!"?t.tag="!"+n:i==="!!"?t.tag="tag:yaml.org,2002:"+n:Be(t,'undeclared tag handle "'+i+'"'),!0}function Wke(t){var e,r;if(r=t.input.charCodeAt(t.position),r!==38)return!1;for(t.anchor!==null&&Be(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;r!==0&&!rn(r)&&!VA(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&Be(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function Kke(t){var e,r,s;if(s=t.input.charCodeAt(t.position),s!==42)return!1;for(s=t.input.charCodeAt(++t.position),e=t.position;s!==0&&!rn(s)&&!VA(s);)s=t.input.charCodeAt(++t.position);return t.position===e&&Be(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),_h.call(t.anchorMap,r)||Be(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Vr(t,!0,-1),!0}function jA(t,e,r,s,i){var n,o,a,c=1,l=!1,u=!1,h,d,f,p,m,E;if(t.listener!==null&&t.listener("open",t),t.tag=null,t.anchor=null,t.kind=null,t.result=null,n=o=a=QS===r||LK===r,s&&Vr(t,!0,-1)&&(l=!0,t.lineIndent>e?c=1:t.lineIndent===e?c=0:t.lineIndent<e&&(c=-1)),c===1)for(;Yke(t)||Wke(t);)Vr(t,!0,-1)?(l=!0,a=n,t.lineIndent>e?c=1:t.lineIndent===e?c=0:t.lineIndent<e&&(c=-1)):a=!1;if(a&&(a=l||i),(c===1||QS===r)&&(_S===r||MK===r?m=e:m=e+1,E=t.position-t.lineStart,c===1?a&&(wK(t,E)||Jke(t,E,m))||$ke(t,m)?u=!0:(o&&jke(t,m)||zke(t,m)||Vke(t,m)?u=!0:Kke(t)?(u=!0,(t.tag!==null||t.anchor!= Line truncated
`),t.charCodeAt(0)===65279&&(t=t.slice(1)));var r=new Gke(t,e),s=t.indexOf("\0");for(s!==-1&&(r.position=s,Be(r,"null byte is not allowed in input")),r.input+="\0";r.input.charCodeAt(r.position)===32;)r.lineIndent+=1,r.position+=1;for(;r.position<r.length-1;)Xke(r);return r.documents}function Zke(t,e,r){e!==null&&typeof e=="object"&&typeof r>"u"&&(r=e,e=null);var s=VK(t,r);if(typeof e!="function")return s;for(var i=0,n=s.length;i<n;i+=1)e(s[i])}function eMe(t,e){var r=VK(t,e);if(r.length!==0){if(r.length===1)return r[0];throw new tn("expected a single document in the stream, but found more")}}var tMe=Zke,rMe=eMe,$K={loadAll:tMe,load:rMe},jK=Object.prototype.toString,JK=Object.prototype.hasOwnProperty,uk=65279,sMe=9,sC=10,iMe=13,nMe=32,oMe=33,aMe=34,sk=35,cMe=37,lMe=38,uMe=39,hMe=42,YK=44,dMe=45,OS=58,fMe=61,pMe=62,AMe=63,mMe=64,WK=91,KK=93,gMe=96,XK=123,yMe=124,ZK=125,Js={};Js[0]="\\0";Js[7]="\\a";Js[8]="\\b";Js[9]="\\t";Js[10]="\\n";Js[11]="\\v";Js[12]="\\f";Js[13]="\\r";Js[27]="\\e";Js[34]='\\"';Js[92]="\\\\";Js[133]="\\N";Js[160]="\\_";Js[8232]="\\L";Js[8233]="\\P";var EMe=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],CMe=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function IMe(t,e){var r,s,i,n,o,a,c;if(e===null)return{};for(r={},s=Object.keys(e),i=0,n=s.length;i<n;i+=1)o=s[i],a=String(e[o]),o.slice(0,2)==="!!"&&(o="tag:yaml.org,2002:"+o.slice(2)),c=t.compiledTypeMap.fallback[o],c&&JK.call(c.styleAliases,a)&&(a=c.styleAliases[a]),r[o]=a;return r}function bMe(t){var e,r,s;if(e=t.toString(16).toUpperCase(),t<=255)r="x",s=2;else if(t<=65535)r="u",s=4;else if(t<=4294967295)r="U",s=8;else throw new tn("code point within a string may not be greater than 0xFFFFFFFF");return"\\"+r+ts.repeat("0",s-e.length)+e}var wMe=1,iC=2;function SMe(t){this.schema=t.schema||kK,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=ts.isNothing(t.flowLevel)?-1:t.flowLevel,this.styleMap=IMe(this.schema,t.styles||null),this.sortKeys=t.sortKeys||!1,this.lineWidth=t.lineWidth||80,this.noRefs=t.noRefs||!1,this.noCompatMode=t.noCompatMode||!1,this.condenseFlow=t.condenseFlow||!1,this.quotingType=t.quotingType==='"'?iC:wMe,this.forceQuotes=t.forceQuotes||!1,this.replacer=typeof t.replacer=="function"?t.replacer:null,this.implicitTypes=this.schema.compiledImplicit,this.explicitTypes=this.schema.compiledExplicit,this.tag=null,this.result="",this.duplicates=[],this.usedDuplicates=null}function SK(t,e){for(var r=ts.repeat(" ",e),s=0,i=-1,n="",o,a=t.length;s<a;)i=t.indexOf(`
`,s),i===-1?(o=t.slice(s),s=a):(o=t.slice(s,i+1),s=i+1),o.length&&o!==`
`&&(n+=r),n+=o;return n}function ik(t,e){return`
`+ts.repeat(" ",t.indent*e)}function BMe(t,e){var r,s,i;for(r=0,s=t.implicitTypes.length;r<s;r+=1)if(i=t.implicitTypes[r],i.resolve(e))return!0;return!1}function DS(t){return t===nMe||t===sMe}function nC(t){return 32<=t&&t<=126||161<=t&&t<=55295&&t!==8232&&t!==8233||57344<=t&&t<=65533&&t!==uk||65536<=t&&t<=1114111}function BK(t){return nC(t)&&t!==uk&&t!==iMe&&t!==sC}function xK(t,e,r){var s=BK(t),i=s&&!DS(t);return(r?s:s&&t!==YK&&t!==WK&&t!==KK&&t!==XK&&t!==ZK)&&t!==sk&&!(e===OS&&!i)||BK(e)&&!DS(e)&&t===sk||e===OS&&i}function xMe(t){return nC(t)&&t!==uk&&!DS(t)&&t!==dMe&&t!==AMe&&t!==OS&&t!==YK&&t!==WK&&t!==KK&&t!==XK&&t!==ZK&&t!==sk&&t!==lMe&&t!==hMe&&t!==oMe&&t!==yMe&&t!==fMe&&t!==pMe&&t!==uMe&&t!==aMe&&t!==cMe&&t!==mMe&&t!==gMe}function NMe(t){return!DS(t)&&t!==OS}function tC(t,e){var r=t.charCodeAt(e),s;return r>=55296&&r<=56319&&e+1<t.length&&(s=t.charCodeAt(e+1),s>=56320&&s<=57343)?(r-55296)*1024+s-56320+65536:r}function eX(t){var e=/^\n* /;return e.test(t)}var tX=1,nk=2,rX=3,sX=4,zA=5;function vMe(t,e,r,s,i,n,o,a){var c,l=0,u=null,h=!1,d=!1,f=s!==-1,p=-1,m=xMe(tC(t,0))&&NMe(tC(t,t.length-1));if(e||o)for(c=0;c<t.length;l>=65536?c+=2:c++){if(l=tC(t,c),!nC(l))return zA;m=m&&xK(l,u,a),u=l}else{for(c=0;c<t.length;l>=65536?c+=2:c++){if(l=tC(t,c),l===sC)h=!0,f&&(d=d||c-p-1>s&&t[p+1]!==" ",p=c);else if(!nC(l))return zA;m=m&&xK(l,u,a),u=l}d=d||f&&c-p-1>s&&t[p+1]!==" "}return!h&&!d?m&&!o&&!i(t)?tX:n===iC?zA:nk:r>9&&eX(t)?zA:o?n===iC?zA:nk:d?sX:rX}function RMe(t,e,r,s,i){t.dump=(function(){if(e.length===0)return t.quotingType===iC?'""':"''";if(!t.noCompatMode&&(EMe.indexOf(e)!==-1||CMe.test(e)))return t.quotingType===iC?'"'+e+'"':"'"+e+"'";var n=t.indent*Math.max(1,r),o=t.lineWidth===-1?-1:Math.max(Math.min(t.lineWidth,40),t.lineWidth-n),a=s||t.flowLevel>-1&&r>=t.flowLevel;function c(l){return BMe(t,l)}switch(vMe(e,a,t.indent,o,c,t.quotingType,t.forceQuotes&&!s,i)){case tX:return e;case nk:return"'"+e.replace(/'/g,"''")+"'";case rX:return"|"+NK(e,t.indent)+vK(SK(e,n));case sX:return">"+NK(e,t.indent)+vK(SK(TMe(e,o),n));case zA:return'"'+_Me(e)+'"';default:throw new tn("impossible error: invalid scalar style")}})()}function NK(t,e){var r=eX(t)?String(e):"",s=t[t.length-1]===`
`,i=s&&(t[t.length-2]===`
`||t===`
`),n=i?"+":s?"":"-";return r+n+`
`}function vK(t){return t[t.length-1]===`
`?t.slice(0,-1):t}function TMe(t,e){for(var r=/(\n+)([^\n]*)/g,s=(function(){var l=t.indexOf(`
`);return l=l!==-1?l:t.length,r.lastIndex=l,RK(t.slice(0,l),e)})(),i=t[0]===`
`||t[0]===" ",n,o;o=r.exec(t);){var a=o[1],c=o[2];n=c[0]===" ",s+=a+(!i&&!n&&c!==""?`
`:"")+RK(c,e),i=n}return s}function RK(t,e){if(t===""||t[0]===" ")return t;for(var r=/ [^ ]/g,s,i=0,n,o=0,a=0,c="";s=r.exec(t);)a=s.index,a-i>e&&(n=o>i?o:a,c+=`
`+t.slice(i,n),i=n+1),o=a;return c+=`
`,t.length-i>e&&o>i?c+=t.slice(i,o)+`
`+t.slice(o+1):c+=t.slice(i),c.slice(1)}function _Me(t){for(var e="",r=0,s,i=0;i<t.length;r>=65536?i+=2:i++)r=tC(t,i),s=Js[r],!s&&nC(r)?(e+=t[i],r>=65536&&(e+=t[i+1])):e+=s||bMe(r);return e}function QMe(t,e,r){var s="",i=t.tag,n,o,a;for(n=0,o=r.length;n<o;n+=1)a=r[n],t.replacer&&(a=t.replacer.call(r,String(n),a)),(Kl(t,e,a,!1,!1)||typeof a>"u"&&Kl(t,e,null,!1,!1))&&(s!==""&&(s+=","+(t.condenseFlow?"":" ")),s+=t.dump);t.tag=i,t.dump="["+s+"]"}function TK(t,e,r,s){var i="",n=t.tag,o,a,c;for(o=0,a=r.length;o<a;o+=1)c=r[o],t.replacer&&(c=t.replacer.call(r,String(o),c)),(Kl(t,e+1,c,!0,!0,!1,!0)||typeof c>"u"&&Kl(t,e+1,null,!0,!0,!1,!0))&&((!s||i!=="")&&(i+=ik(t,e)),t.dump&&sC===t.dump.charCodeAt(0)?i+="-":i+="- ",i+=t.dump);t.tag=n,t.dump=i||"[]"}function PMe(t,e,r){var s="",i=t.tag,n=Object.keys(r),o,a,c,l,u;for(o=0,a=n.length;o<a;o+=1)u="",s!==""&&(u+=", "),t.condenseFlow&&(u+='"'),c=n[o],l=r[c],t.replacer&&(l=t.replacer.call(r,c,l)),Kl(t,e,c,!1,!1)&&(t.dump.length>1024&&(u+="? "),u+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Kl(t,e,l,!1,!1)&&(u+=t.dump,s+=u));t.tag=i,t.dump="{"+s+"}"}function OMe(t,e,r,s){var i="",n=t.tag,o=Object.keys(r),a,c,l,u,h,d;if(t.sortKeys===!0)o.sort();else if(typeof t.sortKeys=="function")o.sort(t.sortKeys);else if(t.sortKeys)throw new tn("sortKeys must be a boolean or a function");for(a=0,c=o.length;a<c;a+=1)d="",(!s||i!=="")&&(d+=ik(t,e)),l=o[a],u=r[l],t.replacer&&(u=t.replacer.call(r,l,u)),Kl(t,e+1,l,!0,!0,!0)&&(h=t.tag!==null&&t.tag!=="?"||t.dump&&t.dump.length>1024,h&&(t.dump&&sC===t.dump.charCodeAt(0)?d+="?":d+="? "),d+=t.dump,h&&(d+=ik(t,e)),Kl(t,e+1,u,!0,h)&&(t.dump&&sC===t.dump.charCodeAt(0)?d+=":":d+=": ",d+=t.dump,i+=d));t.tag=n,t.dump=i||"{}"}function _K(t,e,r){var s,i,n,o,a,c;for(i=r?t.explicitTypes:t.implicitTypes,n=0,o=i.length;n<o;n+=1)if(a=i[n],(a.instanceOf||a.predicate)&&(!a.instanceOf||typeof e=="object"&&e instanceof a.instanceOf)&&(!a.predicate||a.predicate(e))){if(r?a.multi&&a.representName?t.tag=a.representName(e):t.tag=a.tag:t.tag="?",a.represent){if(c=t.styleMap[a.tag]||a.defaultStyle,jK.call(a.represent)==="[object Function]")s=a.represent(e,c);else if(JK.call(a.represent,c))s=a.represent[c](e,c);else throw new tn("!<"+a.tag+'> tag resolver accepts not "'+c+'" style');t.dump=s}return!0}return!1}function Kl(t,e,r,s,i,n,o){t.tag=null,t.dump=r,_K(t,r,!1)||_K(t,r,!0);var a=jK.call(t.dump),c=s,l;s&&(s=t.flowLevel<0||t.flowLevel>e);var u=a==="[object Object]"||a==="[object Array]",h,d;if(u&&(h=t.duplicates.indexOf(r),d=h!==-1),(t.tag!==null&&t.tag!=="?"||d||t.indent!==2&&e>0)&&(i=!1),d&&t.usedDuplicates[h])t.dump="*ref_"+h;else{if(u&&d&&!t.usedDuplicates[h]&&(t.usedDuplicates[h]=!0),a==="[object Object]")s&&Object.keys(t.dump).length!==0?(OMe(t,e,t.dump,i),d&&(t.dump="&ref_"+h+t.dump)):(PMe(t,e,t.dump),d&&(t.dump="&ref_"+h+" "+t.dump));else if(a==="[object Array]")s&&t.dump.length!==0?(t.noArrayIndent&&!o&&e>0?TK(t,e-1,t.dump,i):TK(t,e,t.dump,i),d&&(t.dump="&ref_"+h+t.dump)):(QMe(t,e,t.dump),d&&(t.dump="&ref_"+h+" "+t.dump));else if(a==="[object String]")t.tag!=="?"&&RMe(t,t.dump,e,n,c);else{if(a==="[object Undefined]")return!1;if(t.skipInvalid)return!1;throw new tn("unacceptable kind of an object to dump "+a)}t.tag!==null&&t.tag!=="?"&&(l=encodeURI(t.tag[0]==="!"?t.tag.slice(1):t.tag).replace(/!/g,"%21"),t.tag[0]==="!"?l="!"+l:l.slice(0,18)==="tag:yaml.org,2002:"?l="!!"+l.slice(18):l="!<"+l+">",t.dump=l+" "+t.dump)}return!0}function DMe(t,e){var r=[],s=[],i,n;for(ok(t,r,s),i=0,n=s.length;i<n;i+=1)e.duplicates.push(r[s[i]]);e.usedDuplicates=new Array(n)}function ok(t,e,r){var s,i,n;if(t!==null&&typeof t=="object")if(i=e.indexOf(t),i!==-1)r.indexOf(i)===-1&&r.push(i);else if(e.push(t),Array.isArray(t))for(i=0,n=t.length;i<n;i+=1)ok(t[i],e,r);else for(s=Object.keys(t),i=0,n=s.length;i<n;i+=1)ok(t[s[i]],e,r)}function kMe(t,e){e=e||{};var r=new SMe(e);r.noRefs||DMe(t,r);var s=t;return r.replacer&&(s=r.replacer.call({"":s},"",s)),Kl(r,0,s,!0,!0)?r.dump+`
`:""}var MMe=kMe,LMe={dump:MMe};function hk(t,e){return function(){throw new Error("Function yaml."+t+" is removed in js-yaml 4. Use yaml."+e+" instead, which is now safe by default.")}}var iX=$K.load,NDt=$K.loadAll,vDt=LMe.dump;var RDt=hk("safeLoad","load"),TDt=hk("safeLoadAll","loadAll"),_Dt=hk("safeDump","dump");var oX=O(require("os"),1);function Xl(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}function dk(t){return Object.keys(t).length?{title:t.title,file:t.file,line:t.startLine,endLine:t.endLine,col:t.startColumn,endColumn:t.endColumn}:{}}function Qh(t,e,r){let s=new fk(t,e,r);process.stdout.write(s.toString()+oX.EOL)}function pk(t,e=""){Qh(t,{},e)}var nX="::",fk=class{constructor(e,r,s){e||(e="missing.command"),this.command=e,this.properties=r,this.message=s}toString(){let e=nX+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=!0;for(let s in this.properties)if(this.properties.hasOwnProperty(s)){let i=this.properties[s];i&&(r?r=!1:e+=",",e+=`${s}=${qMe(i)}`)}}return e+=`${nX}${UMe(this.message)}`,e}};function UMe(t){return Xl(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function qMe(t){return Xl(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}var aX=O(require("crypto"),1),LS=O(require("fs"),1),MS=O(require("os"),1);function Ak(t,e){let r=process.env[`GITHUB_${t}`];if(!r)throw new Error(`Unable to find environment variable for file command ${t}`);if(!LS.existsSync(r))throw new Error(`Missing file at path: ${r}`);LS.appendFileSync(r,`${Xl(e)}${MS.EOL}`,{encoding:"utf8"})}function mk(t,e){let r=`ghadelimiter_${aX.randomUUID()}`,s=Xl(e);if(t.includes(r))throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`);if(s.includes(r))throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`);return`${t}<<${r}${MS.EOL}${s}${MS.EOL}${r}`}var eF=O(require("os"),1);var aI=O(require("http"),1),G2=O(require("https"),1);function gk(t){let e=t.protocol==="https:";if(GMe(t))return;let r=e?process.env.https_proxy||process.env.HTTPS_PROXY:process.env.http_proxy||process.env.HTTP_PROXY;if(r)try{return new FS(r)}catch{if(!r.startsWith("http://")&&!r.startsWith("https://"))return new FS(`http://${r}`)}else return}function GMe(t){if(!t.hostname)return!1;let e=t.hostname;if(HMe(e))return!0;let r=process.env.no_proxy||process.env.NO_PROXY||"";if(!r)return!1;let s;t.port?s=Number(t.port):t.protocol==="http:"?s=80:t.protocol==="https:"&&(s=443);let i=[t.hostname.toUpperCase()];typeof s=="number"&&i.push(`${i[0]}:${s}`);for(let n of r.split(",").map(o=>o.trim().toUpperCase()).filter(o=>o))if(n==="*"||i.some(o=>o===n||o.endsWith(`.${n}`)||n.startsWith(".")&&o.endsWith(`${n}`)))return!0;return!1}function HMe(t){let e=t.toLowerCase();return e==="localhost"||e.startsWith("127.")||e.startsWith("[::1]")||e.startsWith("[0:0:0:0:0:0:0:1]")}var FS=class extends URL{constructor(e,r){super(e,r),this._decodedUsername=decodeURIComponent(super.username),this._decodedPassword=decodeURIComponent(super.password)}get username(){return this._decodedUsername}get password(){return this._decodedPassword}};var Xh=O(oC(),1),Dne=O(zm(),1),Qr=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})},mr;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(mr||(mr={}));var wi;(function(t){t.Accept="accept",t.ContentType="content-type"})(wi||(wi={}));var fu;(function(t){t.ApplicationJson="application/json"})(fu||(fu={}));var a$e=[mr.MovedPermanently,mr.ResourceMoved,mr.SeeOther,mr.TemporaryRedirect,mr.PermanentRedirect],c$e=[mr.BadGateway,mr.ServiceUnavailable,mr.GatewayTimeout],l$e=["OPTIONS","GET","DELETE","HEAD"],u$e=10,h$e=5,bc=class t extend Line truncated
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}function dI(t,e){if(process.env.GITHUB_OUTPUT||"")return Ak("OUTPUT",mk(t,e));process.stdout.write(eF.EOL),Qh("set-output",{name:t},Xl(e))}function Oo(){return process.env.RUNNER_DEBUG==="1"}function H(t){Qh("debug",{},t)}function fI(t,e={}){Qh("error",dk(e),t instanceof Error?t.toString():t)}function Zs(t,e={}){Qh("warning",dk(e),t instanceof Error?t.toString():t)}function pt(t){process.stdout.write(t+eF.EOL)}function S$e(t){pk("group",t)}function B$e(){pk("endgroup")}function Fs(t,e){return w$e(this,void 0,void 0,function*(){S$e(t);let r;try{r=yield e()}finally{B$e()}return r})}function Sc(t,e){if(process.env.GITHUB_STATE||"")return Ak("STATE",mk(t,e));Qh("save-state",{name:t},Xl(e))}var soe=O(require("os"),1);function ed(t){return t==null?"":typeof t=="string"||t instanceof String?t:JSON.stringify(t)}function tF(t){return Object.keys(t).length?{title:t.title,file:t.file,line:t.startLine,endLine:t.endLine,col:t.startColumn,endColumn:t.endColumn}:{}}function td(t,e,r){let s=new rF(t,e,r);process.stdout.write(s.toString()+soe.EOL)}function sF(t,e=""){td(t,{},e)}var roe="::",rF=class{constructor(e,r,s){e||(e="missing.command"),this.command=e,this.properties=r,this.message=s}toString(){let e=roe+this.command;if(this.properties&&Object.keys(this.properties).length>0){e+=" ";let r=!0;for(let s in this.properties)if(this.properties.hasOwnProperty(s)){let i=this.properties[s];i&&(r?r=!1:e+=",",e+=`${s}=${N$e(i)}`)}}return e+=`${roe}${x$e(this.message)}`,e}};function x$e(t){return ed(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A")}function N$e(t){return ed(t).replace(/%/g,"%25").replace(/\r/g,"%0D").replace(/\n/g,"%0A").replace(/:/g,"%3A").replace(/,/g,"%2C")}var ioe=O(require("crypto"),1),Gx=O(require("fs"),1),qx=O(require("os"),1);function iF(t,e){let r=process.env[`GITHUB_${t}`];if(!r)throw new Error(`Unable to find environment variable for file command ${t}`);if(!Gx.existsSync(r))throw new Error(`Missing file at path: ${r}`);Gx.appendFileSync(r,`${ed(e)}${qx.EOL}`,{encoding:"utf8"})}function noe(t,e){let r=`ghadelimiter_${ioe.randomUUID()}`,s=ed(e);if(t.includes(r))throw new Error(`Unexpected input: name should not contain the delimiter "${r}"`);if(s.includes(r))throw new Error(`Unexpected input: value should not contain the delimiter "${r}"`);return`${t}<<${r}${qx.EOL}${s}${qx.EOL}${r}`}var uoe=O(require("os"),1),hoe=O(require("path"),1);var Hx=O(oC(),1),R$e=O(zm(),1);var Bc;(function(t){t[t.OK=200]="OK",t[t.MultipleChoices=300]="MultipleChoices",t[t.MovedPermanently=301]="MovedPermanently",t[t.ResourceMoved=302]="ResourceMoved",t[t.SeeOther=303]="SeeOther",t[t.NotModified=304]="NotModified",t[t.UseProxy=305]="UseProxy",t[t.SwitchProxy=306]="SwitchProxy",t[t.TemporaryRedirect=307]="TemporaryRedirect",t[t.PermanentRedirect=308]="PermanentRedirect",t[t.BadRequest=400]="BadRequest",t[t.Unauthorized=401]="Unauthorized",t[t.PaymentRequired=402]="PaymentRequired",t[t.Forbidden=403]="Forbidden",t[t.NotFound=404]="NotFound",t[t.MethodNotAllowed=405]="MethodNotAllowed",t[t.NotAcceptable=406]="NotAcceptable",t[t.ProxyAuthenticationRequired=407]="ProxyAuthenticationRequired",t[t.RequestTimeout=408]="RequestTimeout",t[t.Conflict=409]="Conflict",t[t.Gone=410]="Gone",t[t.TooManyRequests=429]="TooManyRequests",t[t.InternalServerError=500]="InternalServerError",t[t.NotImplemented=501]="NotImplemented",t[t.BadGateway=502]="BadGateway",t[t.ServiceUnavailable=503]="ServiceUnavailable",t[t.GatewayTimeout=504]="GatewayTimeout"})(Bc||(Bc={}));var ooe;(function(t){t.Accept="accept",t.ContentType="content-type"})(ooe||(ooe={}));var aoe;(function(t){t.ApplicationJson="application/json"})(aoe||(aoe={}));var pLt=[Bc.MovedPermanently,Bc.ResourceMoved,Bc.SeeOther,Bc.TemporaryRedirect,Bc.PermanentRedirect],ALt=[Bc.BadGateway,Bc.ServiceUnavailable,Bc.GatewayTimeout];var loe=require("os"),AI=require("fs"),nF=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})},{access:T$e,appendFile:_$e,writeFile:Q$e}=AI.promises,coe="GITHUB_STEP_SUMMARY";var oF=class{constructor(){this._buffer=""}filePath(){return nF(this,void 0,void 0,function*(){if(this._filePath)return this._filePath;let e=process.env[coe];if(!e)throw new Error(`Unable to find environment variable for $${coe}. Check if your runtime environment supports job summaries.`);try{yield T$e(e,AI.constants.R_OK|AI.constants.W_OK)}catch{throw new Error(`Unable to access summary file: '${e}'. Check if the file has correct read/write permissions.`)}return this._filePath=e,this._filePath})}wrap(e,r,s={}){let i=Object.entries(s).map(([n,o])=>` ${n}="${o}"`).join("");return r?`<${e}${i}>${r}</${e}>`:`<${e}${i}>`}write(e){return nF(this,void 0,void 0,function*(){leLine truncated
Support boolean input list: \`true | True | TRUE | false | False | FALSE\``)}function foe(t){process.exitCode=cF.Failure,D$e(t)}function V(t){td("debug",{},t)}function D$e(t,e={}){td("error",tF(e),t instanceof Error?t.toString():t)}function Do(t,e={}){td("warning",tF(e),t instanceof Error?t.toString():t)}function J(t){process.stdout.write(t+uoe.EOL)}function k$e(t){sF("group",t)}function M$e(){sF("endgroup")}function rd(t,e){return O$e(this,void 0,void 0,function*(){k$e(t);let r;try{r=yield e()}finally{M$e()}return r})}function zx(t,e){if(process.env.GITHUB_STATE||"")return iF("STATE",noe(t,e));td("save-state",{name:t},ed(e))}function poe(t){return process.env[`STATE_${t}`]||""}var $T=O(require("fs"),1),tV=O(require("os"),1),rV=O(require("path"),1);var TF=O(require("crypto"),1),ri=O(require("fs"),1);var PJe=O(vF(),1);var nN=O(require("os"),1),La=O(require("path"),1);var Lo=O(vF(),1),ice=O(require("stream"),1),nce=O(require("util"),1),_F=require("assert");var sce=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})},sN=class{constructor(e,r,s){if(e<1)throw new Error("max attempts should be greater than or equal to 1");if(this.maxAttempts=e,this.minSeconds=Math.floor(r),this.maxSeconds=Math.floor(s),this.minSeconds>this.maxSeconds)throw new Error("min seconds should be less than or equal to max seconds")}execute(e,r){return sce(this,void 0,void 0,function*(){let s=1;for(;s<this.maxAttempts;){try{return yield e()}catch(n){if(r&&!r(n))throw n;pt(n.message)}let i=this.getSleepAmount();pt(`Waiting ${i} seconds before trying again`),yield this.sleep(i),s++}return yield e()})}getSleepAmount(){return Math.floor(Math.random()*(this.maxSeconds-this.minSeconds+1))+this.minSeconds}sleep(e){return sce(this,void 0,void 0,function*(){return new Promise(r=>setTimeout(r,e*1e3))})}};var vc=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})},iN=class extends Error{constructor(e){super(`Unexpected HTTP response: ${e}`),this.httpStatusCode=e,Object.setPrototypeOf(this,new.target.prototype)}},oce=process.platform==="win32",M2t=process.platform==="darwin",DJe="actions/tool-cache";function Fo(t,e,r,s){return vc(this,void 0,void 0,function*(){e=e||La.join(dce(),TF.randomUUID()),yield pu(La.dirname(e)),H(`Downloading ${t}`),H(`Destination ${e}`);let i=3,n=RF("TEST_DOWNLOAD_TOOL_RETRY_MIN_SECONDS",10),o=RF("TEST_DOWNLOAD_TOOL_RETRY_MAX_SECONDS",20);return yield new sN(i,n,o).execute(()=>vc(this,void 0,void 0,function*(){return yield kJe(t,e||"",r,s)}),c=>!(c instanceof iN&&c.httpStatusCode&&c.httpStatusCode<500&&c.httpStatusCode!==408&&c.httpStatusCode!==429))})}function kJe(t,e,r,s){return vc(this,void 0,void 0,function*(){if(ri.existsSync(e))throw new Error(`Destination file path ${e} already exists`);let i=new Po(DJe,[],{allowRetries:!1});r&&(H("set auth"),s===void 0&&(s={}),s.authorization=r);let n=yield i.get(t,s);if(n.message.statusCode!==200){let u=new iN(n.message.statusCode);throw H(`Failed to download from "${t}". Code(${n.message.statusCode}) Message(${n.message.statusMessage})`),u}let o=nce.promisify(ice.pipeline),c=RF("TEST_DOWNLOAD_TOOL_RESPONSE_MESSAGE_FACTORY",()=>n.message)(),l=!1;try{return yield o(c,ri.createWriteStream(e)),H("download complete"),l=!0,e}finally{if(!l){H("download failed");try{yield kx(e)}catch(u){H(`Failed to delete '${e}'. ${u.message}`)}}}})}function ace(t,e){return vc(this,arguments,void 0,function*(r,s,i="xz"){if(!r)throw new Error("parameter 'file' is required");s=yield uce(s),H("Checking tar --version");let n="";yield Vn("tar --version",[],{ignoreReturnCode:!0,silent:!0,listeners:{stdout:u=>n+=u.toString(),stderr:u=>n+=u.toString()}}),H(n.trim());let o=n.toUpperCase().includes("GNU TAR"),a;i instanceof Array?a=i:a=[i],Oo()&&!i.includes("v")&&a.push("-v");let c=s,l=r;return oce&&o&&(a.push("--force-local"),c=s.replace(/\\/g,"/"),l=r.replace(/\\/g,"/")),o&&(a.push("--warning=no-unknown-keyword"),a.push("--overwrite")),a.push("-C",c,"-f",l),yield Vn("tar",a),s})}function cce(t,e){return vc(this,void 0,void 0,function*(){if(!t)throw new Error("parameter 'file' is required");return e=yield uce(e),oce?yield MJe(t,e):yield LJe(t,e),e})}function MJe(t,e){return vc(this,void 0,void 0,function*(){let r=t.replace(/'/g,"''").replace(/"|\n|\r/g,""),s=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),i=yield Ls("pwsh",!1);if(i){let o=["-NoLogo","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",["$ErrorActionPreference = 'Stop' ;","try { Add-Type -AssemblyName System.IO.Compression.ZipFile } catch {Line truncated
`),e=e.replace(/\r/g,`
`));let i=e.split(`
`).map(n=>n.trim());for(let n of i)!n||n.startsWith("#")||s.patterns.push(new xI(n));return s.searchPaths.push(...DF(s.patterns)),s})}static stat(e,r,s){return UF(this,void 0,void 0,function*(){let i;if(r.followSymbolicLinks)try{i=yield tg.promises.stat(e.path)}catch(n){if(n.code==="ENOENT"){if(r.omitBrokenSymbolicLinks){H(`Broken symlink '${e.path}'`);return}throw new Error(`No information found for the path '${e.path}'. This may indicate a broken symbolic link.`)}throw n}else i=yield tg.promises.lstat(e.path);if(i.isDirectory()&&r.followSymbolicLinks){let n=yield tg.promises.realpath(e.path);for(;s.length>=e.level;)s.pop();if(s.some(o=>o===n)){H(`Symlink cycle detected for path '${e.path}' and realpath '${n}'`);return}s.push(n)}return i})}};var gYe=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})};function Fce(t,e){return gYe(this,void 0,void 0,function*(){return yield uN.create(t,e)})}var xN=O(require("crypto"),1),ig=O(require("fs"),1),Kf=O(require("path"),1),Tue=O(vue(),1),_ue=O(require("util"),1);var DI;(function(t){t.Gzip="cache.tgz",t.Zstd="cache.tzst"})(DI||(DI={}));var Ri;(function(t){t.Gzip="gzip",t.ZstdWithoutLong="zstd-without-long",t.Zstd="zstd"})(Ri||(Ri={}));var jn;(function(t){t.GNU="gnu",t.BSD="bsd"})(jn||(jn={}));var SN=2,BN=5e3,oU=5e3,aU=`${process.env.PROGRAMFILES}\\Git\\usr\\bin\\tar.exe`,Rue=`${process.env.SYSTEMDRIVE}\\Windows\\System32\\tar.exe`,kI="cache.tar",cU="manifest.txt",jFt=10*Math.pow(1024,3);var sg=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})},pKe=function(t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var e=t[Symbol.asyncIterator],r;return e?e.call(t):(t=typeof __values=="function"?__values(t):t[Symbol.iterator](),r={},s("next"),s("throw"),s("return"),r[Symbol.asyncIterator]=function(){return this},r);function s(n){r[n]=t[n]&&function(o){return new Promise(function(a,c){o=t[n](o),i(a,c,o.done,o.value)})}}function i(n,o,a,c){Promise.resolve(c).then(function(l){n({value:l,done:a})},o)}},AKe="1.0";function MI(){return sg(this,void 0,void 0,function*(){let t=process.platform==="win32",e=process.env.RUNNER_TEMP||"";if(!e){let s;t?s=process.env.USERPROFILE||"C:\\":process.platform==="darwin"?s="/Users":s="/home",e=Kf.join(s,"actions","temp")}let r=Kf.join(e,xN.randomUUID());return yield pu(r),r})}function Tc(t){return ig.statSync(t).size}function lU(t){return sg(this,void 0,void 0,function*(){var e,r,s,i,n;let o=[],a=(n=process.env.GITHUB_WORKSPACE)!==null&&n!==void 0?n:process.cwd(),c=yield Fce(t.join(`
`),{implicitDescendants:!1});try{for(var l=!0,u=pKe(c.globGenerator()),h;h=yield u.next(),e=h.done,!e;l=!0){i=h.value,l=!1;let f=Kf.relative(a,i).replace(new RegExp(`\\${Kf.sep}`,"g"),"/");H(`Matched: ${f}`),f===""?o.push("."):o.push(`${f}`)}}catch(d){r={error:d}}finally{try{!l&&!e&&(s=u.return)&&(yield s.call(u))}finally{if(r)throw r.error}}return o})}function LI(t){return sg(this,void 0,void 0,function*(){return _ue.promisify(ig.unlink)(t)})}function Que(t){return sg(this,arguments,void 0,function*(e,r=[]){let s="";r.push("--version"),H(`Checking ${e} ${r.join(" ")}`);try{yield Vn(`${e}`,r,{ignoreReturnCode:!0,silent:!0,listeners:{stdout:i=>s+=i.toString(),stderr:i=>s+=i.toString()}})}catch(i){H(i.message)}return s=s.trim(),H(s),s})}function FI(){return sg(this,void 0,void 0,function*(){let t=yield Que("zstd",["--quiet"]),e=Tue.clean(t);return H(`zstd version: ${e}`),t===""?Ri.Gzip:Ri.ZstdWithoutLong})}function cd(t){return t===Ri.Gzip?DI.Gzip:DI.Zstd}function Pue(){return sg(this,void 0,void 0,function*(){return ig.existsSync(aU)?aU:(yield Que("tar")).toLowerCase().includes("gnu tar")?Ls("tar"):""})}function uU(t,e){if(e===void 0)throw Error(`Expected ${t} but value was undefiend`);return e}function ng(t,e,r=!1){let s=t.slice();return e&&s.push(e),process.platform==="win32"&&!r&&s.push("windows-only"),s.push(AKe),xN.createHash("sha256").update(s.join("|")).digest("hex")}function Oue(){let t=process.env.ACTIONS_RUNTIME_TOKEN;if(!t)throw new Error("Unable to get the ACTIONS_RUNTIME_TOKEN env variable");return t}var Dg=O(require("fs"),1),nme=require("url");var _c=class extends Error{constructor(e){super(e),this.name="AbortError"}};var Due=require("node:os"),kue=O(require("node:util"),1),Mue=O(require("node:process"),1);function Lue(t,...e){Mue.default.stderr.write(`${kue.default.format(t,...e)}${Due.EOL}`)}var Fue=typeof process<"u"&&process.env&&process.env.DEBUG||void 0,que,hU=[],dU=[],vN=[];Fue&&fU(Fue);var Gue=Object.assign(t=>Hue(t),{enable:fU,enabled:pU,disable:mKe,log:Lue});function fU(t){que=t,hU=[],dU=[];let e=t.split(",").map(r=>r.trim());for(let r of e)r.startsWith("-")?dU.push(r.substring(1)):hU.push(r);for(let r of vN)r.enabled=pU(r.namespace)}function pU(t){if(t.endsWith("*"))return!0;for(let e of dU)if(Uue(t,e))return!1;for(let e of hU)if(Uue(t,e))return!0;return!1}function Uue(t,e){if(e.indexOf("*")===-1)return t===e;let r=e;if(e.indexOf("**")!==-1){let d=[],f="";for(let p of e)p==="*"&&f==="*"||(f=p,d.push(p));r=d.join("")}let s=0,i=0,n=r.length,o=t.length,a=-1,c=-1;for(;s<o&&i<n;)if(r[i]==="*"){if(a=i,i++,i===n)return!0;for(;t[s]!==r[i];)if(s++,s===o)return!1;c=s,s++,i++;continue}else if(r[i]===t[s])i++,s++;else if(a>=0){if(i=a+1,s=c+1,s===o)return!1;for(;t[s]!==r[i];)if(s++,s===o)return!1;c=s,s++,i++;continue}else return!1;let l=s===t.length,u=i===r.length,h=i===r.length-1&&r[i]==="*";return l&&(u||h)}function mKe(){let t=que||"";return fU(""),t}function Hue(t){let e=Object.assign(r,{enabled:pU(t),destroy:gKe,log:Gue.log,namespace:t,extend:yKe});function r(...s){e.enabled&&(s.length>0&&(s[0]=`${t} ${s[0]}`),e.log(...s))}return vN.push(e),e}function gKe(){let t=vN.indexOf(this);return t>=0?(vN.splice(t,1),!0):!1}function yKe(t){let e=Hue(`${this.namespace}:${t}`);return e.log=this.log,e}var og=Gue;var AU=["verbose","info","warning","error"],zue={verbose:400,info:300,warning:200,error:100};function Vue(t,e){e.log=(...r)=>{t.log(...r)}}function $ue(t){return AU.includes(t)}function RN(t){let e=new Set,r=typeof process<"u"&&process.env&&process.env[t.logLevelEnvVarName]||void 0,s,i=og(t.namespace);i.log=(...u)=>{og.log(...u)};function n(u){if(u&&!$ue(u))throw new Error(`Unknown log level '${u}'. Acceptable values: ${AU.join(",")}`);s=u;let h=[];for(let d of e)o(d)&&h.push(d.namespace);og.enable(h.join(","))}r&&($ue(r)?n(r):console.error(`${t.logLevelEnvVarName} set to unknown log level '${r}'; logging is not enabled. Acceptable values: ${AU.join(", ")}.`));function o(u){return!!(s&&zue[u.level]<=zue[s])}function a(u,h){let d=Object.assign(u.extend(h),{level:h});if(Vue(u,d),o(d)){let f=og.disable();og.enable(f+","+d.namespace)}return e.add(d),d}function c(){return s}function l(u){let h=i.extend(u);return Vue(i,h),{error:a(h,"error"),warning:a(h,"warning"),info:a(h,"info"),verbose:a(h,"verbose")}}return{setLogLevel:n,getLogLevel:c,createClientLogger:l,logger:i}}var jue=RN({logLevelEnvVarName:"TYPESPEC_RUNTIME_LOG_LEVEL",namespace:"typeSpecRuntime"}),EKe=jue.logger;function UI(t){return jue.createClientLogger(t)}function TN(t){return t.toLowerCase()}function*CKe(t){for(let e of t.values())yield[e.name,e.value]}var mU=class{_headersMap;constructor(e){if(this._headersMap=new Map,e)for(let r of Object.keys(e))this.set(r,e[r])}set(e,r){this._headersMap.set(TN(e),{name:e,value:String(r).trim()})}get(e){return this._headersMap.get(TN(e))?.value}has(e){return this._headersMap.has(TN(e))}delete(e){this._headersMap.delete(TN(e))}toJSON(e={}){let r={};if(e.preserveCase)for(let s of this._headersMap.value Line truncated
${wKe.sanitize({...this,request:{...this.request,agent:s},response:this.response})}`,enumerable:!1}),Object.setPrototypeOf(this,t.prototype)}};function PN(t){return t instanceof Ti?!0:Zf(t)&&t.name==="RestError"}function un(t,e){return Buffer.from(t,e)}var ON=O(require("node:http"),1),DN=O(require("node:https"),1),CU=O(require("node:zlib"),1),Xue=require("node:stream");var Go=UI("ts-http-runtime");var SKe={};function qI(t){return t&&typeof t.pipe=="function"}function Kue(t){return t.readable===!1?Promise.resolve():new Promise(e=>{let r=()=>{e(),t.removeListener("close",r),t.removeListener("end",r),t.removeListener("error",r)};t.on("close",r),t.on("end",r),t.on("error",r)})}function Zue(t){return t&&typeof t.byteLength=="number"}var kN=class extends Xue.Transform{loadedBytes=0;progressCallback;_transform(e,r,s){this.push(e),this.loadedBytes+=e.length;try{this.progressCallback({loadedBytes:this.loadedBytes}),s()}catch(i){s(i)}}constructor(e){super(),this.progressCallback=e}},IU=class{cachedHttpAgent;cachedHttpsAgents=new WeakMap;async sendRequest(e){let r=new AbortController,s;if(e.abortSignal){if(e.abortSignal.aborted)throw new _c("The operation was aborted. Request has already been canceled.");s=l=>{l.type==="abort"&&r.abort()},e.abortSignal.addEventListener("abort",s)}let i;e.timeout>0&&(i=setTimeout(()=>{let l=new qa;Go.info(`request to '${l.sanitizeUrl(e.url)}' timed out. canceling...`),r.abort()},e.timeout));let n=e.headers.get("Accept-Encoding"),o=n?.includes("gzip")||n?.includes("deflate"),a=typeof e.body=="function"?e.body():e.body;if(a&&!e.headers.has("Content-Length")){let l=vKe(a);l!==null&&e.headers.set("Content-Length",l)}let c;try{if(a&&e.onUploadProgress){let p=e.onUploadProgress,m=new kN(p);m.on("error",E=>{Go.error("Error in upload progress",E)}),qI(a)?a.pipe(m):m.end(a),a=m}let l=await this.makeRequest(e,r,a);i!==void 0&&clearTimeout(i);let u=BKe(l),d={status:l.statusCode??0,headers:u,request:e};if(e.method==="HEAD")return l.resume(),d;c=o?xKe(l,u):l;let f=e.onDownloadProgress;if(f){let p=new kN(f);p.on("error",m=>{Go.error("Error in download progress",m)}),c.pipe(p),c=p}return e.streamResponseStatusCodes?.has(Number.POSITIVE_INFINITY)||e.streamResponseStatusCodes?.has(d.status)?d.readableStreamBody=c:d.bodyAsText=await NKe(c),d}finally{if(e.abortSignal&&s){let l=Promise.resolve();qI(a)&&(l=Kue(a));let u=Promise.resolve();qI(c)&&(u=Kue(c)),Promise.all([l,u]).then(()=>{s&&e.abortSignal?.removeEventListener("abort",s)}).catch(h=>{Go.warning("Error when cleaning up abortListener on httpRequest",h)})}}}makeRequest(e,r,s){let i=new URL(e.url),n=i.protocol!=="https:";if(n&&!e.allowInsecureConnection)throw new Error(`Cannot connect to ${e.url} while allowInsecureConnection is false.`);let a={agent:e.agent??this.getOrCreateAgent(e,n),hostname:i.hostname,path:`${i.pathname}${i.search}`,port:i.port,method:e.method,headers:e.headers.toJSON({preserveCase:!0}),...e.requestOverrides};return new Promise((c,l)=>{let u=n?ON.default.request(a,c):DN.default.request(a,c);u.once("error",h=>{l(new Ti(h.message,{code:h.code??Ti.REQUEST_SEND_ERROR,request:e}))}),r.signal.addEventListener("abort",()=>{let h=new _c("The operation was aborted. Rejecting from abort signal callback while making request.");u.destroy(h),l(h)}),s&&qI(s)?s.pipe(u):s?typeof s=="string"||Buffer.isBuffer(s)?u.end(s):Zue(s)?u.end(ArrayBuffer.isView(s)?Buffer.from(s.buffer):Buffer.from(s)):(Go.error("Unrecognized body type",s),l(new Ti("Unrecognized body type"))):u.end()})}getOrCreateAgent(e,r){let s=e.disableKeepAlive;if(r)return s?ON.default.globalAgent:(this.cachedHttpAgent||(this.cachedHttpAgent=new ON.default.Agent({keepAlive:!0})),this.cachedHttpAgent);{if(s&&!e.tlsSettings)return DN.default.globalAgent;let i=e.tlsSettings??SKe,n=this.cachedHttpsAgents.get(i);return n&&n.options.keepAlive===!s||(Go.info("No cached TLS Agent exist, creating a new Agent"),n=new DN.default.Agent({keepAlive:!s,...i}),this.cachedHttpsAgents.set(i,n)),n}}};function BKe(t){let e=Jn();for(let r of Object.keys(t.headers)){let s=t.headers[r];Array.isArray(s)?s.length>0&&e.set(r,s[0]):s&&e.set(r,s)}return e}function xKe(t,e){let r=e.get("Content-Encoding");if(r==="gzip"){let s=CU.default.createGunzip();return t.pipe(s),s}else if(r==="deflate"){let s=CU.default.createInflate();return t.pipe(s),s}return t}function NKe(t){return new Promise((e,r)=>{let s=[];t.on("data",i=>{Buffer.isBuffer(i)?s.push(i):s.push(Buffer.from(i))}),t.on("end",()=>{e(Buffer.concat(s).toString("utf8"))}),t.on("error",i=>{i&&i?.name==="AbortError"?r(i):r(new Ti(`Error reading response as text: ${i.message}`,{code:Ti.PARSE_ERROR}))})})}function vKe(t){return t?Buffer.isBuffer(t)?t.length:qI(t)?null:Zue(t)?t.byteLength:typeof t=="string"?Buffer.from(t).length:null:0}function ehe(){return new IU}function MN(){return ehe()}var bU="logPolicy";function LN(t={}){let e=t.logger??Go.info,r=new qa({additionalAllowedHeaderNames:t.additionalAllowedHeaderNames,additionalAllowedQueryParameters:t.additional Line truncated
`;return e}function oZe(t){return t instanceof Uint8Array?t.byteLength:nv(t)?t.size===-1?void 0:t.size:void 0}function aZe(t){let e=0;for(let r of t){let s=oZe(r);if(s===void 0)return;e+=s}return e}async function cZe(t,e,r){let s=[un(`--${r}`,"utf-8"),...e.flatMap(n=>[un(`\r
`,"utf-8"),un(nZe(n.headers),"utf-8"),un(`\r
`,"utf-8"),n.body,un(`\r
--${r}`,"utf-8")]),un(`--\r
\r
`,"utf-8")],i=aZe(s);i&&t.headers.set("Content-Length",i),t.body=await tde(s)}var VI="multipartPolicy",lZe=70,uZe=new Set("abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789'()+,-./:=?");function hZe(t){if(t.length>lZe)throw new Error(`Multipart boundary "${t}" exceeds maximum length of 70 characters`);if(Array.from(t).some(e=>!uZe.has(e)))throw new Error(`Multipart boundary "${t}" contains invalid characters`)}function av(){return{name:VI,async sendRequest(t,e){if(!t.multipartBody)return e(t);if(t.body)throw new Error("multipartBody and regular body cannot be set at the same time");let r=t.multipartBody.boundary,s=t.headers.get("Content-Type")??"multipart/mixed",i=s.match(/^(multipart\/[^ ;]+)(?:; *boundary=(.+))?$/);if(!i)throw new Error(`Got multipart request body, but content-type header was not multipart: ${s}`);let[,n,o]=i;if(o&&r&&o!==r)throw new Error(`Multipart boundary was specified as ${o} in the header, but got ${r} in the request body`);return r??=o,r?hZe(r):r=iZe(),t.headers.set("Content-Type",`${n}; boundary=${r}`),await cZe(t,t.multipartBody.parts,r),t.multipartBody=void 0,e(t)}}}function cv(){return QN()}var rde=RN({logLevelEnvVarName:"AZURE_LOG_LEVEL",namespace:"azure"}),THt=rde.logger;function Oc(t){return rde.createClientLogger(t)}var Dc=Oc("core-rest-pipeline");function qU(t={}){return LN({logger:Dc.info,...t})}var GU=FN;function HU(t={}){return UN(t)}var lv=O(require("node:os"),1),uv=O(require("node:process"),1);function sde(){return"User-Agent"}async function ide(t){if(uv.default&&uv.default.versions){let e=`${lv.default.type()} ${lv.default.release()}; ${lv.default.arch()}`,r=uv.default.versions;r.bun?t.set("Bun",`${r.bun} (${e})`):r.deno?t.set("Deno",`${r.deno} (${e})`):r.node&&t.set("Node",`${r.node} (${e})`)}}var hv="1.22.2";function EZe(t){let e=[];for(let[r,s]of t){let i=s?`${r}/${s}`:r;e.push(i)}return e.join(" ")}function nde(){return sde()}async function dv(t){let e=new Map;e.set("core-rest-pipeline",hv),await ide(e);let r=EZe(e);return t?`${t} ${r}`:r}var ode=nde(),ade="userAgentPolicy";function zU(t={}){let e=dv(t.userAgentPrefix);return{name:ade,async sendRequest(r,s){return r.headers.has(ode)||r.headers.set(ode,await e),s(r)}}}var Xn=class extends Error{constructor(e){super(e),this.name="AbortError"}};function VU(t,e){let{cleanupBeforeAbort:r,abortSignal:s,abortErrorMsg:i}=e??{};return new Promise((n,o)=>{function a(){o(new Xn(i??"The operation was aborted."))}function c(){s?.removeEventListener("abort",l)}function l(){r?.(),c(),a()}if(s?.aborted)return a();try{t(u=>{c(),n(u)},u=>{c(),o(u)})}catch(u){o(u)}s?.addEventListener("abort",l)})}var SZe="The delay was aborted.";function $I(t,e){let r,{abortSignal:s,abortErrorMsg:i}=e??{};return VU(n=>{r=setTimeout(n,t)},{cleanupBeforeAbort:()=>clearTimeout(r),abortSignal:s,abortErrorMsg:i??SZe})}function ud(t){if(Zf(t))return t.message;{let e;try{typeof t=="object"&&t?e=JSON.stringify(t):e=String(t)}catch{e="[unable to stringify input]"}return`Unknown error ${e}`}}function cde(t){return Zf(t)}function fg(){return Xf()}var xt=rp;var lde=Symbol("rawContent");function jU(t){return typeof t[lde]=="function"}function ude(t){return jU(t)?t[lde]():t}var fv=VI;function JU(){let t=av();return{name:fv,sendRequest:async(e,r)=>{if(e.multipartBody)for(let s of e.multipartBody.parts)jU(s.body)&&(s.body=ude(s.body));return t.sendRequest(e,r)}}}var YU=qN;function WU(){return GN()}function KU(t={}){return VN(t)}function XU(){return $N()}function hd(t){return kU(t)}function ZU(t,e){return rv(t,e)}var hde="setClientRequestIdPolicy";function eq(t="x-ms-client-request-id"){return{name:hde,async sendRequest(e,r){return e.headers.has(t)||e.headers.set(t,e.requestId),r(e)}}}function tq(t){return sv(t)}function rq(t){return iv(t)}var pg={span:Symbol.for("@azure/core-tracing span"),namespace:Symbol.for("@azure/core-tracing namespace")};function dde(t={}){let e=new sq(t.parentContext);return t.span&&(e=e.setValue(pg.span,t.span)),t.namespace&&(e=e.setValue(pg.namespace,t.namespace)),e}var sq=class t{_contextMap;constructor(e){this._contextMap=e instanceof t?new Map(e._contextMap):new Map}setValue(e,r){let s=new t(this);return s._contextMap.set(e,r),s}getValue(e){return this._contextMap.get(e)}deleteValue(e){let r=new t(this);return r._contextMap.delete(e),r}};var pde=O(fde(),1),Av=pde.state;function BZe(){return{end:()=>{},isRecording:()=>!1,recordException:()=>{},setAttribute:()=>{},setStatus:()=>{},addEvent:()=>{}}}function xZe(){return{createRequestHeaders:()=>({}),parseTraceparentHeader:()=>{},startSpan:(t,e)=>({span:BZe(),tracingContext:dde({parentContext:e.tracingContext})}),withContext(t,e,...r){return e(...r)}}}function jI(){return Av.instrumenterImplementation||(Av.instrumenterImplementation=xZe()),Av.instrumenterImplementation}function JI(t){let{namespace:e,packageName:r,packageVersion:s}=t;function i(l,u,h){let d=jI().startSpan(l,{...h,packageName:r,packageVersion:s,tracingContext:u?.tracingOptions?.tracingContext}),f=d.tracingConte Line truncated
`&&t[n]!=="\r";n++)c+=t[n];if(c=c.trim(),c[c.length-1]==="/"&&(c=c.substring(0,c.length-1),n--),!J7e(c)){let h;return c.trim().length===0?h="Invalid space after '<'.":h="Tag '"+c+"' is an invalid name.",Pr("InvalidTag",h,_i(t,n))}let l=H7e(t,n);if(l===!1)return Pr("InvalidAttr","Attributes for '"+c+"' have open quote.",_i(t,n));let u=l.value;if(n=l.index,u[u.length-1]==="/"){let h=n-u.length;u=u.substring(0,u.length-1);let d=Yde(u,e);if(d===!0)s=!0;else return Pr(d.err.code,d.err.msg,_i(t,h+d.err.line))}else if(a)if(l.tagClosed){if(u.trim().length>0)return Pr("InvalidTag","Closing tag '"+c+"' can't have attributes or invalid starting.",_i(t,o));if(r.length===0)return Pr("InvalidTag","Closing tag '"+c+"' has not been opened.",_i(t,o));{let h=r.pop();if(c!==h.tagName){let d=_i(t,h.tagStartPos);return Pr("InvalidTag","Expected closing tag '"+h.tagName+"' (opened in line "+d.line+", col "+d.col+") instead of closing tag '"+c+"'.",_i(t,o))}r.length==0&&(i=!0)}}else return Pr("InvalidTag","Closing tag '"+c+"' doesn't have proper closing.",_i(t,n));else{let h=Yde(u,e);if(h!==!0)return Pr(h.err.code,h.err.msg,_i(t,n-u.length+h.err.line));if(i===!0)return Pr("InvalidXml","Multiple possible root nodes found.",_i(t,n));e.unpairedTags.indexOf(c)!==-1||r.push({tagName:c,tagStartPos:o}),s=!0}for(n++;n<t.length;n++)if(t[n]==="<")if(t[n+1]==="!"){n++,n=Jde(t,n);continue}else if(t[n+1]==="?"){if(n=jde(t,++n),n.err)return n}else break;else if(t[n]==="&"){let h=$7e(t,n);if(h==-1)return Pr("InvalidChar","char '&' is not expected.",_i(t,n));n=h}else if(i===!0&&!$de(t[n]))return Pr("InvalidXml","Extra text at the end",_i(t,n));t[n]==="<"&&n--}}else{if($de(t[n]))continue;return Pr("InvalidChar","char '"+t[n]+"' is not expected.",_i(t,n))}if(s){if(r.length==1)return Pr("InvalidTag","Unclosed tag '"+r[0].tagName+"'.",_i(t,r[0].tagStartPos));if(r.length>0)return Pr("InvalidXml","Invalid '"+JSON.stringify(r.map(n=>n.tagName),null,4).replace(/\r?\n/g,"")+"' found.",{line:1,col:1})}else return Pr("InvalidXml","Start tag expected.",1);return!0}function $de(t){return t===" "||t===" "||t===`
`||t==="\r"}function jde(t,e){let r=e;for(;e<t.length;e++)if(t[e]=="?"||t[e]==" "){let s=t.substr(r,e-r);if(e>5&&s==="xml")return Pr("InvalidXml","XML declaration allowed only at the start of the document.",_i(t,e));if(t[e]=="?"&&t[e+1]==">"){e++;break}else continue}return e}function Jde(t,e){if(t.length>e+5&&t[e+1]==="-"&&t[e+2]==="-"){for(e+=3;e<t.length;e++)if(t[e]==="-"&&t[e+1]==="-"&&t[e+2]===">"){e+=2;break}}else if(t.length>e+8&&t[e+1]==="D"&&t[e+2]==="O"&&t[e+3]==="C"&&t[e+4]==="T"&&t[e+5]==="Y"&&t[e+6]==="P"&&t[e+7]==="E"){let r=1;for(e+=8;e<t.length;e++)if(t[e]==="<")r++;else if(t[e]===">"&&(r--,r===0))break}else if(t.length>e+9&&t[e+1]==="["&&t[e+2]==="C"&&t[e+3]==="D"&&t[e+4]==="A"&&t[e+5]==="T"&&t[e+6]==="A"&&t[e+7]==="["){for(e+=8;e<t.length;e++)if(t[e]==="]"&&t[e+1]==="]"&&t[e+2]===">"){e+=2;break}}return e}var q7e='"',G7e="'";function H7e(t,e){let r="",s="",i=!1;for(;e<t.length;e++){if(t[e]===q7e||t[e]===G7e)s===""?s=t[e]:s!==t[e]||(s="");else if(t[e]===">"&&s===""){i=!0;break}r+=t[e]}return s!==""?!1:{value:r,index:e,tagClosed:i}}var z7e=new RegExp(`(\\s*)([^\\s=]+)(\\s*=)?(\\s*(['"])(([\\s\\S])*?)\\5)?`,"g");function Yde(t,e){let r=Sv(t,z7e),s={};for(let i=0;i<r.length;i++){if(r[i][1].length===0)return Pr("InvalidAttr","Attribute '"+r[i][2]+"' has no space in starting.",i0(r[i]));if(r[i][3]!==void 0&&r[i][4]===void 0)return Pr("InvalidAttr","Attribute '"+r[i][2]+"' is without value.",i0(r[i]));if(r[i][3]===void 0&&!e.allowBooleanAttributes)return Pr("InvalidAttr","boolean attribute '"+r[i][2]+"' is not allowed.",i0(r[i]));let n=r[i][2];if(!j7e(n))return Pr("InvalidAttr","Attribute '"+n+"' is an invalid name.",i0(r[i]));if(!Object.prototype.hasOwnProperty.call(s,n))s[n]=1;else return Pr("InvalidAttr","Attribute '"+n+"' is repeated.",i0(r[i]))}return!0}function V7e(t,e){let r=/\d/;for(t[e]==="x"&&(e++,r=/[\da-fA-F]/);e<t.length;e++){if(t[e]===";")return e;if(!t[e].match(r))break}return-1}function $7e(t,e){if(e++,t[e]===";")return-1;if(t[e]==="#")return e++,V7e(t,e);let r=0;for(;e<t.length;e++,r++)if(!(t[e].match(/\w/)&&r<20)){if(t[e]===";")break;return-1}return e}function Pr(t,e,r){return{err:{code:t,msg:e,line:r.line||r,col:r.col}}}function j7e(t){return Iq(t)}function J7e(t){return Iq(t)}function _i(t,e){let r=t.substring(0,e).split(/\r?\n/);return{line:r.length,col:r[r.length-1].length+1}}function i0(t){return t.startIndex+t[1].length}var Wde={amp:"&",AMP:"&",lt:"<",LT:"<",gt:">",GT:">",quot:'"',QUOT:'"',apos:"'",lsquo:"\u2018",rsquo:"\u2019",ldquo:"\u201C",rdquo:"\u201D",lsquor:"\u201A",rsquor:"\u2019",ldquor:"\u201E",bdquo:"\u201E",comma:",",period:".",colon:":",semi:";",excl:"!",quest:"?",num:"#",dollar:"$",percent:"%",amp:"&",ast:"*",commat:"@",lowbar:"_",verbar:"|",vert:"|",sol:"/",bsol:"\\",lbrace:"{",rbrace:"}",lbrack:"[",rbrack:"]",lpar:"(",rpar:")",nbsp:"\xA0",iexcl:"\xA1",cent:"\xA2",pound:"\xA3",curren:"\xA4",yen:"\xA5",brvbar:"\xA6",sect:"\xA7",uml:"\xA8",copy:"\xA9",COPY:"\xA9",ordf:"\xAA",laquo:"\xAB",not:"\xAC",shy:"\xAD",reg:"\xAE",REG:"\xAE",macr:"\xAF",deg:"\xB0",plusmn:"\xB1",sup2:"\xB2",sup3:"\xB3",acute:"\xB4",micro:"\xB5",para:"\xB6",middot:"\xB7",cedil:"\xB8",sup1:"\xB9",ordm:"\xBA",raquo:"\xBB",frac14:"\xBC",frac12:"\xBD",half:"\xBD",frac34:"\xBE",iquest:"\xBF",times:"\xD7",div:"\xF7",divide:"\xF7"},Kde={Agrave:"\xC0",agrave:"\xE0",Aacute:"\xC1",aacute:"\xE1",Acirc:"\xC2",acirc:"\xE2",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",Aring:"\xC5",aring:"\xE5",AElig:"\xC6",aelig:"\xE6",Ccedil:"\xC7",ccedil:"\xE7",Egrave:"\xC8",egrave:"\xE8",Eacute:"\xC9",eacute:"\xE9",Ecirc:"\xCA",ecirc:"\xEA",Euml:"\xCB",euml:"\xEB",Igrave:"\xCC",igrave:"\xEC",Iacute:"\xCD",iacute:"\xED",Icirc:"\xCE",icirc:"\xEE",Iuml:"\xCF",iuml:"\xEF",ETH:"\xD0",eth:"\xF0",Ntilde:"\xD1",ntilde:"\xF1",Ograve:"\xD2",ograve:"\xF2",Oacute:"\xD3",oacute:"\xF3",Ocirc:"\xD4",ocirc:"\xF4",Otilde:"\xD5",otilde:"\xF5",Ouml:"\xD6",ouml:"\xF6",Oslash:"\xD8",oslash:"\xF8",Ugrave:"\xD9",ugrave:"\xF9",Uacute:"\xDA",uacute:"\xFA",Ucirc:"\xDB",ucirc:"\xFB",Uuml:"\xDC",uuml:"\xFC",Yacute:"\xDD",yacute:"\xFD",THORN:"\xDE",thorn:"\xFE",szlig:"\xDF",yuml:"\xFF",Yuml:"\u0178"},Xde={Amacr:"\u0100",amacr:"\u0101",Abreve:"\u0102",abreve:"\u0103",Aogon:"\u0104",aogon:"\u0105",Cacute:"\u0106",cacute:"\u0107",Ccirc:"\u0108",ccirc:"\u0109",Cdot:"\u010A",cdot:"\u010B",Ccaron:"\u010C",ccaron:"\u010D",Dcaron:"\u010E",dcaron:"\u010F",Dstrok:"\u0110",dstrok:"\u0111",Emacr:"\u0112",emacr:"\u0113",Ecaron:"\u011A",ecaron:"\u011B",Edot:"\u0116",edot:"\u0117",Eogon:"\u0118",eogon:"\u0119",Gcirc:"\u011C",gcirc:"\u011D",Gbreve:"\u011E",gbreve:"\u011F",Gdot:"\u0120",gdot:"\u0121",Gcedil:"\u0122",Hcirc:"\u0124",hcirc:"\u0125",Hstrok:"\u0126",hstrok:"\u0127",Itilde:"\u0128",itilde:"\u0129",Imacr:"\u012A",imacr:"\u012B",Iogon:"\u012E",iogon:"\u012F",Idot:"\u0130",IJlig:"\u0132",ijlig:"\u0133",Jcirc:"\u0134",jcirc:"\u0135",Kcedil:"\u0136",kcedil:"\u0137",kgreen:"\u0138",Lacute:"\u0139",lacute:"\u013A",Lcedil:"\u013B",lcedil:"\u013C",LcaroLine truncated
`);let e=new pn("!xml"),r=e,s="";this.matcher.reset(),this.entityDecoder.reset(),this.entityExpansionCount=0,this.currentExpandedLength=0;let i=this.options,n=new a0(i.processEntities),o=t.length;for(let a=0;a<o;a++)if(t[a]==="<"){let l=t.charCodeAt(a+1);if(l===47){let u=Eg(t,">",a,"Closing Tag is not closed."),h=t.substring(a+2,u).trim();if(i.removeNSPrefix){let f=h.indexOf(":");f!==-1&&(h=h.substr(f+1))}h=Rq(i.transformTagName,h,"",i).tagName,r&&(s=this.saveTextToParentTag(s,r,this.readonlyMatcher));let d=this.matcher.getCurrentTag();if(h&&i.unpairedTagsSet.has(h))throw new Error(`Unpaired tag can not be used as closing tag: </${h}>`);d&&i.unpairedTagsSet.has(d)&&(this.matcher.pop(),this.tagsNodeStack.pop()),this.matcher.pop(),this.isCurrentNodeStopNode=!1,r=this.tagsNodeStack.pop(),s="",a=u}else if(l===63){let u=Tq(t,a,!1,"?>");if(!u)throw new Error("Pi Tag is not closed.");s=this.saveTextToParentTag(s,r,this.readonlyMatcher);let h=this.buildAttributesMap(u.tagExp,this.matcher,u.tagName,!0);if(h){let d=h[this.options.attributeNamePrefix+"version"];this.entityDecoder.setXmlVersion(Number(d)||1),n.setXmlVersion(Number(d)||1)}if(!(i.ignoreDeclaration&&u.tagName==="?xml"||i.ignorePiTags)){let d=new pn(u.tagName);d.add(i.textNodeName,""),u.tagName!==u.tagExp&&u.attrExpPresent&&i.ignoreAttributes!==!0&&(d[":@"]=h),this.addChild(r,d,this.readonlyMatcher,a)}a=u.closeIndex+1}else if(l===33&&t.charCodeAt(a+2)===45&&t.charCodeAt(a+3)===45){let u=Eg(t,"-->",a+4,"Comment is not closed.");if(i.commentPropName){let h=t.substring(a+4,u-2);s=this.saveTextToParentTag(s,r,this.readonlyMatcher),r.add(i.commentPropName,[{[i.textNodeName]:h}])}a=u}else if(l===33&&t.charCodeAt(a+2)===68){let u=n.readDocType(t,a);this.entityDecoder.addInputEntities(u.entities),a=u.i}else if(l===33&&t.charCodeAt(a+2)===91){let u=Eg(t,"]]>",a,"CDATA is not closed.")-2,h=t.substring(a+9,u);s=this.saveTextToParentTag(s,r,this.readonlyMatcher);let d=this.parseTextData(h,r.tagname,this.readonlyMatcher,!0,!1,!0,!0);d==null&&(d=""),i.cdataPropName?r.add(i.cdataPropName,[{[i.textNodeName]:h}]):r.add(i.textNodeName,d),a=u+2}else{let u=Tq(t,a,i.removeNSPrefix);if(!u){let P=t.substring(Math.max(0,a-50),Math.min(o,a+50));throw new Error(`readTagExp returned undefined at position ${a}. Context: "${P}"`)}let h=u.tagName,d=u.rawTagName,f=u.tagExp,p=u.attrExpPresent,m=u.closeIndex;if({tagName:h,tagExp:f}=Rq(i.transformTagName,h,f,i),i.strictReservedNames&&(h===i.commentPropName||h===i.cdataPropName||h===i.textNodeName||h===i.attributesGroupName))throw new Error(`Invalid tag name: ${h}`);r&&s&&r.tagname!=="!xml"&&(s=this.saveTextToParentTag(s,r,this.readonlyMatcher,!1));let E=r;E&&i.unpairedTagsSet.has(E.tagname)&&(r=this.tagsNodeStack.pop(),this.matcher.pop());let y=!1;f.length>0&&f.lastIndexOf("/")===f.length-1&&(y=!0,h[h.length-1]==="/"?(h=h.substr(0,h.length-1),f=h):f=f.substr(0,f.length-1),p=h!==f);let C=null,w={},B;B=yet(d),h!==e.tagname&&this.matcher.push(h,{},B),h!==f&&p&&(C=this.buildAttributesMap(f,this.matcher,h),C&&(w=get(C,i))),h!==e.tagname&&(this.isCurrentNodeStopNode=this.isItStopNode());let N=a;if(this.isCurrentNodeStopNode){let P="";if(y)a=u.closeIndex;else if(i.unpairedTagsSet.has(h))a=u.closeIndex;else{let k=this.readStopNodeData(t,d,m+1);if(!k)throw new Error(`Unexpected end of ${d}`);a=k.i,P=k.tagContent}let Q=new pn(h);C&&(Q[":@"]=C),Q.add(i.textNodeName,P),this.matcher.pop(),this.isCurrentNodeStopNode=!1,this.addChild(r,Q,this.readonlyMatcher,N)}else{if(y){({tagName:h,tagExp:f}=Rq(i.transformTagName,h,f,i));let P=new pn(h);C&&(P[":@"]=C),this.addChild(r,P,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1}else if(i.unpairedTagsSet.has(h)){let P=new pn(h);C&&(P[":@"]=C),this.addChild(r,P,this.readonlyMatcher,N),this.matcher.pop(),this.isCurrentNodeStopNode=!1,a=u.closeIndex;continue}else{let P=new pn(h);if(this.tagsNodeStack.length>i.maxNestedTags)throw new Error("Maximum nested tags exceeded");this.tagsNodeStack.push(r),C&&(P[":@"]=C),this.addChild(r,P,this.readonlyMatcher,N),r=P}s="",a=m}}}else s+=t[a];return e.child};function Bet(t,e,r,s){this.options.captureMetaData||(s=void 0);let i=this.options.jPath?r.toString():r,n=this.options.updateTag(e.tagname,i,e[":@"]);n===!1||(typeof n=="string"&&(e.tagname=n),t.addChild(e,s))}function xet(t,e,r){let s=this.options.processEntities;if(!s||!s.enabled)return t;if(s.allowedTags){let i=this.options.jPath?r.toString():r;if(!(Array.isArray(s.allowedTags)?s.allowedTags.includes(e):s.allowedTags(e,i)))return t}if(s.tagFilter){let i=this.options.jPath?r.toString():r;if(!s.tagFilter(e,i))return t}return this.entityDecoder.decode(t)}function Net(t,e,r,s){return t&&(s===void 0&&(s=e.child.length===0),t=this.parseTextData(t,e.tagname,r,!1,e[":@"]?Object.keys(e[":@"]).length!==0:!1,s),t!==void 0&&t!==""&&e.add(this.options.textNodeName,t),t=""),t}function vet(){return this.stopNodeExpressionsSet.size===0?!1:this.matcher.matchesAny(this.stopNodeExpressionsSet)}function Ret(t,e,r=">"){Line truncated
`;function Met(t,e){if(!Array.isArray(t)||t.length===0)return"1.0";let r=t[0];if(kq(r)==="?xml"){let i=r[":@"];if(i){let n=e.attributeNamePrefix+"version";if(i[n])return i[n]}}return"1.0"}function yfe(t,e,r,s,i){return!r.sanitizeName||cp(t,{xmlVersion:i})?t:r.sanitizeName(t,{isAttribute:e,matcher:s.readOnly()})}function Dq(t,e){let r="";e.format&&(r=ket);let s=[];if(e.stopNodes&&Array.isArray(e.stopNodes))for(let o=0;o<e.stopNodes.length;o++){let a=e.stopNodes[o];typeof a=="string"?s.push(new to(a)):a instanceof to&&s.push(a)}let i=Met(t,e),n=new Lc;return Efe(t,e,r,n,s,i)}function Efe(t,e,r,s,i,n){let o="",a=!1;if(e.maxNestedTags&&s.getDepth()>e.maxNestedTags)throw new Error("Maximum nested tags exceeded");if(!Array.isArray(t)){if(t!=null){let c=t.toString();return c=Oq(c,e),c}return""}for(let c=0;c<t.length;c++){let l=t[c],u=kq(l);if(u===void 0)continue;let d=u===e.textNodeName||u===e.cdataPropName||u===e.commentPropName||u[0]==="?"?u:yfe(u,!1,e,s,n),f=Let(l[":@"],e);s.push(d,f);let p=Uet(s,i);if(d===e.textNodeName){let w=l[u];p||(w=e.tagValueProcessor(d,w),w=Oq(w,e)),a&&(o+=r),o+=w,a=!1,s.pop();continue}else if(d===e.cdataPropName){a&&(o+=r);let w=l[u][0][e.textNodeName],B=_v(w);o+=`<![CDATA[${B}]]>`,a=!1,s.pop();continue}else if(d===e.commentPropName){let w=l[u][0][e.textNodeName],B=Tv(w);o+=r+`<!--${B}-->`,a=!0,s.pop();continue}else if(d[0]==="?"){let w=gfe(l[":@"],e,p,s,n);o+=(d==="?xml"?"":r)+`<${d}${w}?>`,a=!0,s.pop();continue}let m=r;m!==""&&(m+=e.indentBy);let E=gfe(l[":@"],e,p,s,n),y=r+`<${d}${E}`,C;p?C=Cfe(l[u],e):C=Efe(l[u],e,m,s,i,n),e.unpairedTags.indexOf(d)!==-1?e.suppressUnpairedNode?o+=y+">":o+=y+"/>":(!C||C.length===0)&&e.suppressEmptyNode?o+=y+"/>":C&&C.endsWith(">")?o+=y+`>${C}${r}</${d}>`:(o+=y+">",C&&r!==""&&(C.includes("/>")||C.includes("</"))?o+=r+e.indentBy+C+r:o+=C,o+=`</${d}>`),a=!0,s.pop()}return o}function Let(t,e){if(!t||e.ignoreAttributes)return null;let r={},s=!1;for(let i in t){if(!Object.prototype.hasOwnProperty.call(t,i))continue;let n=i.startsWith(e.attributeNamePrefix)?i.substr(e.attributeNamePrefix.length):i;r[n]=pd(t[i]),s=!0}return s?r:null}function Cfe(t,e){if(!Array.isArray(t))return t!=null?t.toString():"";let r="";for(let s=0;s<t.length;s++){let i=t[s],n=kq(i);if(n===e.textNodeName)r+=i[n];else if(n===e.cdataPropName)r+=i[n][0][e.textNodeName];else if(n===e.commentPropName)r+=i[n][0][e.textNodeName];else{if(n&&n[0]==="?")continue;if(n){let o=Fet(i[":@"],e),a=Cfe(i[n],e);!a||a.length===0?r+=`<${n}${o}/>`:r+=`<${n}${o}>${a}</${n}>`}}}return r}function Fet(t,e){let r="";if(t&&!e.ignoreAttributes)for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let i=t[s];i===!0&&e.suppressBooleanAttributes?r+=` ${s.substr(e.attributeNamePrefix.length)}`:r+=` ${s.substr(e.attributeNamePrefix.length)}="${pd(i)}"`}return r}function kq(t){let e=Object.keys(t);for(let r=0;r<e.length;r++){let s=e[r];if(Object.prototype.hasOwnProperty.call(t,s)&&s!==":@")return s}}function gfe(t,e,r,s,i){let n="";if(t&&!e.ignoreAttributes)for(let o in t){if(!Object.prototype.hasOwnProperty.call(t,o))continue;let a=o.substr(e.attributeNamePrefix.length),c=r?a:yfe(a,!0,e,s,i),l;r?l=t[o]:(l=e.attributeValueProcessor(o,t[o]),l=Oq(l,e)),l===!0&&e.suppressBooleanAttributes?n+=` ${c}`:n+=` ${c}="${pd(l)}"`}return n}function Uet(t,e){if(!e||e.length===0)return!1;for(let r=0;r<e.length;r++)if(t.matches(e[r]))return!0;return!1}function Oq(t,e){if(t&&t.length>0&&e.processEntities)for(let r=0;r<e.entities.length;r++){let s=e.entities[r];t=t.replace(s.regex,s.val)}return t}function Mq(t){return typeof t=="function"?t:Array.isArray(t)?e=>{for(let r of t)if(typeof r=="string"&&e===r||r instanceof RegExp&&r.test(e))return!0}:()=>!1}var qet={attributeNamePrefix:"@_",attributesGroupName:!1,textNodeName:"#text",ignoreAttributes:!0,cdataPropName:!1,format:!1,indentBy:" ",suppressEmptyNode:!1,suppressUnpairedNode:!0,suppressBooleanAttributes:!0,tagValueProcessor:function(t,e){return e},attributeValueProcessor:function(t,e){return e},preserveOrder:!1,commentPropName:!1,unpairedTags:[],entities:[{regex:new RegExp("&","g"),val:"&amp;"},{regex:new RegExp(">","g"),val:"&gt;"},{regex:new RegExp("<","g"),val:"&lt;"},{regex:new RegExp("'","g"),val:"&apos;"},{regex:new RegExp('"',"g"),val:"&quot;"}],processEntities:!0,stopNodes:[],oneListGroup:!1,maxNestedTags:100,jPath:!0,sanitizeName:!1};function mn(t){if(this.options=Object.assign({},qet,t),this.options.stopNodes&&Array.isArray(this.options.stopNodes)&&(this.options.stopNodes=this.options.stopNodes.map(e=>typeof e=="string"&&e.startsWith("*.")?".."+e.substring(2):e)),this.stopNodeExpressions=[],this.options.stopNodes&&Array.isArray(this.options.stopNodes))for(let e=0;e<this.options.stopNodes.length;e++){let r=this.options.stopNodes[e];typeof r=="string"?this.stopNodeExpressions.push(new to(r)):r instanceof to&&this.stopNodeExpressions.push(r)}this.options.ignoreAttributes===!0||this.options.attributesGroupName?this.isAttribute=function(){return!1}:(this.ignorLine truncated
`,this.newLine=`
`):(this.indentate=function(){return""},this.tagEndChar=">",this.newLine="")}function Get(t,e){let r=t["?xml"];if(r&&typeof r=="object"){if(e.attributesGroupName&&r[e.attributesGroupName]){let i=r[e.attributesGroupName][e.attributeNamePrefix+"version"];if(i)return i}let s=r[e.attributeNamePrefix+"version"];if(s)return s}return"1.0"}function Lq(t,e,r,s,i){return!r.sanitizeName||cp(t,{xmlVersion:i})?t:r.sanitizeName(t,{isAttribute:e,matcher:s.readOnly()})}mn.prototype.build=function(t){if(this.options.preserveOrder)return Dq(t,this.options);{Array.isArray(t)&&this.options.arrayNodeName&&this.options.arrayNodeName.length>1&&(t={[this.options.arrayNodeName]:t});let e=new Lc,r=Get(t,this.options);return this.j2x(t,0,e,r).val}};mn.prototype.j2x=function(t,e,r,s){let i="",n="";if(this.options.maxNestedTags&&r.getDepth()>=this.options.maxNestedTags)throw new Error("Maximum nested tags exceeded");let o=this.options.jPath?r.toString():r,a=this.checkStopNode(r);for(let c in t){if(!Object.prototype.hasOwnProperty.call(t,c))continue;let u=c===this.options.textNodeName||c===this.options.cdataPropName||c===this.options.commentPropName||this.options.attributesGroupName&&c===this.options.attributesGroupName||this.isAttribute(c)||c[0]==="?"?c:Lq(c,!1,this.options,r,s);if(typeof t[c]>"u")this.isAttribute(c)&&(n+="");else if(t[c]===null)this.isAttribute(c)||u===this.options.cdataPropName||u===this.options.commentPropName?n+="":u[0]==="?"?n+=this.indentate(e)+"<"+u+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+u+"/"+this.tagEndChar;else if(t[c]instanceof Date)n+=this.buildTextValNode(t[c],u,"",e,r);else if(typeof t[c]!="object"){let h=this.isAttribute(c);if(h&&!this.ignoreAttributesFn(h,o)){let d=Lq(h,!0,this.options,r,s);i+=this.buildAttrPairStr(d,""+t[c],a)}else if(!h)if(c===this.options.textNodeName){let d=this.options.tagValueProcessor(c,""+t[c]);n+=this.replaceEntitiesValue(d)}else{r.push(u);let d=this.checkStopNode(r);if(r.pop(),d){let f=""+t[c];f===""?n+=this.indentate(e)+"<"+u+this.closeTag(u)+this.tagEndChar:n+=this.indentate(e)+"<"+u+">"+f+"</"+u+this.tagEndChar}else n+=this.buildTextValNode(t[c],u,"",e,r)}}else if(Array.isArray(t[c])){let h=t[c].length,d="",f="";for(let p=0;p<h;p++){let m=t[c][p];if(!(typeof m>"u"))if(m===null)u[0]==="?"?n+=this.indentate(e)+"<"+u+"?"+this.tagEndChar:n+=this.indentate(e)+"<"+u+"/"+this.tagEndChar;else if(typeof m=="object")if(this.options.oneListGroup){r.push(u);let E=this.j2x(m,e+1,r,s);r.pop(),d+=E.val,this.options.attributesGroupName&&m.hasOwnProperty(this.options.attributesGroupName)&&(f+=E.attrStr)}else d+=this.processTextOrObjNode(m,u,e,r,s);else if(this.options.oneListGroup){let E=this.options.tagValueProcessor(u,m);E=this.replaceEntitiesValue(E),d+=E}else{r.push(u);let E=this.checkStopNode(r);if(r.pop(),E){let y=""+m;y===""?d+=this.indentate(e)+"<"+u+this.closeTag(u)+this.tagEndChar:d+=this.indentate(e)+"<"+u+">"+y+"</"+u+this.tagEndChar}else d+=this.buildTextValNode(m,u,"",e,r)}}this.options.oneListGroup&&(d=this.buildObjectNode(d,u,f,e)),n+=d}else if(this.options.attributesGroupName&&c===this.options.attributesGroupName){let h=Object.keys(t[c]),d=h.length;for(let f=0;f<d;f++){let p=Lq(h[f],!0,this.options,r,s);i+=this.buildAttrPairStr(p,""+t[c][h[f]],a)}}else n+=this.processTextOrObjNode(t[c],u,e,r,s)}return{attrStr:i,val:n}};mn.prototype.buildAttrPairStr=function(t,e,r){return r||(e=this.options.attributeValueProcessor(t,""+e),e=this.replaceEntitiesValue(e)),this.options.suppressBooleanAttributes&&e==="true"?" "+t:" "+t+'="'+pd(e)+'"'};function Het(t,e,r,s,i){let n=this.extractAttributes(t);if(s.push(e,n),this.checkStopNode(s)){let c=this.buildRawContent(t),l=this.buildAttributesForStopNode(t);return s.pop(),this.buildObjectNode(c,e,l,r)}let a=this.j2x(t,r+1,s,i);return s.pop(),e[0]==="?"?this.buildTextValNode("",e,a.attrStr,r,s):t[this.options.textNodeName]!==void 0&&Object.keys(t).length===1?this.buildTextValNode(t[this.options.textNodeName],e,a.attrStr,r,s):this.buildObjectNode(a.val,e,a.attrStr,r)}mn.prototype.extractAttributes=function(t){if(!t||typeof t!="object")return null;let e={},r=!1;if(this.options.attributesGroupName&&t[this.options.attributesGroupName]){let s=t[this.options.attributesGroupName];for(let i in s){if(!Object.prototype.hasOwnProperty.call(s,i))continue;let n=i.startsWith(this.options.attributeNamePrefix)?i.substring(this.options.attributeNamePrefix.length):i;e[n]=pd(s[i]),r=!0}}else for(let s in t){if(!Object.prototype.hasOwnProperty.call(t,s))continue;let i=this.isAttribute(s);i&&(e[i]=pd(t[s]),r=!0)}return r?e:null};mn.prototype.buildRawContent=function(t){if(typeof t=="string")return t;if(typeof t!="object"||t===null)return String(t);if(t[this.options.textNodeName]!==void 0)return t[this.options.textNodeName];let e="";for(let r in t){if(!Object.prototype.hasOwnProperty.call(t,r)||this.isAttribute(r)||this.options.attributesGroupName&&r===this.options.attributesGroupName)continue;let s=t[r];if(r===this.options.textNodeName)e+=s;else if(Array.isA Line truncated
`)+`
`+this.getCanonicalizedHeadersString(e)+this.getCanonicalizedResourceString(e),s=this.factory.computeHMACSHA256(r);return e.headers.set(qe.AUTHORIZATION,`SharedKey ${this.factory.accountName}:${s}`),e}getHeaderValueToSign(e,r){let s=e.headers.get(r);return!s||r===qe.CONTENT_LENGTH&&s==="0"?"":s}getCanonicalizedHeadersString(e){let r=e.headers.headersArray().filter(i=>i.name.toLowerCase().startsWith(qe.PREFIX_FOR_STORAGE));r.sort((i,n)=>Gv(i.name.toLowerCase(),n.name.toLowerCase())),r=r.filter((i,n,o)=>!(n>0&&i.name.toLowerCase()===o[n-1].name.toLowerCase()));let s="";return r.forEach(i=>{s+=`${i.name.toLowerCase().trimRight()}:${i.value.trimLeft()}
`}),s}getCanonicalizedResourceString(e){let r=Fv(e.url)||"/",s="";s+=`/${this.factory.accountName}${r}`;let i=Uv(e.url),n={};if(i){let o=[];for(let a in i)if(Object.prototype.hasOwnProperty.call(i,a)){let c=a.toLowerCase();n[c]=i[a],o.push(c)}o.sort();for(let a of o)s+=`
${a}:${decodeURIComponent(n[a])}`}return s}};var yr=class extends hp{accountName;accountKey;constructor(e,r){super(),this.accountName=e,this.accountKey=Buffer.from(r,"base64")}create(e,r){return new d0(e,r,this)}computeHMACSHA256(e){return(0,vfe.createHmac)("sha256",this.accountKey).update(e,"utf8").digest("base64")}};var is=Oc("storage-common");var $o;(function(t){t[t.EXPONENTIAL=0]="EXPONENTIAL",t[t.FIXED=1]="FIXED"})($o||($o={}));var md={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:$o.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},Xet=new Xn("The operation was aborted."),f0=class extends Fc{retryOptions;constructor(e,r,s=md){super(e,r),this.retryOptions={retryPolicyType:s.retryPolicyType?s.retryPolicyType:md.retryPolicyType,maxTries:s.maxTries&&s.maxTries>=1?Math.floor(s.maxTries):md.maxTries,tryTimeoutInMs:s.tryTimeoutInMs&&s.tryTimeoutInMs>=0?s.tryTimeoutInMs:md.tryTimeoutInMs,retryDelayInMs:s.retryDelayInMs&&s.retryDelayInMs>=0?Math.min(s.retryDelayInMs,s.maxRetryDelayInMs?s.maxRetryDelayInMs:md.maxRetryDelayInMs):md.retryDelayInMs,maxRetryDelayInMs:s.maxRetryDelayInMs&&s.maxRetryDelayInMs>=0?s.maxRetryDelayInMs:md.maxRetryDelayInMs,secondaryHost:s.secondaryHost?s.secondaryHost:md.secondaryHost}}async sendRequest(e){return this.attemptSendRequest(e,!1,1)}async attemptSendRequest(e,r,s){let i=e.clone(),n=r||!this.retryOptions.secondaryHost||!(e.method==="GET"||e.method==="HEAD"||e.method==="OPTIONS")||s%2===1;n||(i.url=Lv(i.url,this.retryOptions.secondaryHost)),this.retryOptions.tryTimeoutInMs&&(i.url=Ad(i.url,Iu.Parameters.TIMEOUT,Math.floor(this.retryOptions.tryTimeoutInMs/1e3).toString()));let o;try{if(is.info(`RetryPolicy: =====> Try=${s} ${n?"Primary":"Secondary"}`),o=await this._nextPolicy.sendRequest(i),!this.shouldRetry(n,s,o))return o;r=r||!n&&o.status===404}catch(a){if(is.error(`RetryPolicy: Caught error, message: ${a.message}, code: ${a.code}`),!this.shouldRetry(n,s,o,a))throw a}return await this.delay(n,s,e.abortSignal),this.attemptSendRequest(e,r,++s)}shouldRetry(e,r,s,i){if(r>=this.retryOptions.maxTries)return is.info(`RetryPolicy: Attempt(s) ${r} >= maxTries ${this.retryOptions.maxTries}, no further try.`),!1;let n=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"];if(i){for(let o of n)if(i.name.toUpperCase().includes(o)||i.message.toUpperCase().includes(o)||i.code&&i.code.toString().toUpperCase()===o)return is.info(`RetryPolicy: Network error ${o} found, will retry.`),!0}if(s||i){let o=s?s.status:i?i.statusCode:0;if(!e&&o===404)return is.info("RetryPolicy: Secondary access with 404, will retry."),!0;if(o===503||o===500)return is.info(`RetryPolicy: Will retry for status code ${o}.`),!0}if(s&&s?.status>=400){let o=s.headers.get(qe.X_MS_CopySourceErrorCode);if(o!==void 0)switch(o){case"InternalError":case"OperationTimedOut":case"ServerBusy":return!0}}return i?.code==="PARSE_ERROR"&&i?.message.startsWith('Error "Error: Unclosed root tag')?(is.info("RetryPolicy: Incomplete XML response likely due to service timeout, will retry."),!0):!1}async delay(e,r,s){let i=0;if(e)switch(this.retryOptions.retryPolicyType){case $o.EXPONENTIAL:i=Math.min((Math.pow(2,r-1)-1)*this.retryOptions.retryDelayInMs,this.retryOptions.maxRetryDelayInMs);break;case $o.FIXED:i=this.retryOptions.retryDelayInMs;break}else i=Math.random()*1e3;return is.info(`RetryPolicy: Delay for ${i}ms`),qv(i,s,Xet)}};var p0=class{retryOptions;constructor(e){this.retryOptions=e}create(e,r){return new f0(e,r,this.retryOptions)}};var Zet="storageBrowserPolicy";function Rfe(){return{name:Zet,async sendRequest(t,e){return xt||((t.method==="GET"||t.method==="HEAD")&&(t.url=Ad(t.url,Iu.Parameters.FORCE_BROWSER_NO_CACHE,new Date().getTime().toString())),t.headers.delete(qe.COOKIE),t.headers.delete(qe.CONTENT_LENGTH)),e(t)}}}var ett="StorageCorrectContentLengthPolicy";function Tfe(){function t(e){e.body&&(typeof e.body=="string"||Buffer.isBuffer(e.body))&&e.body.length>0&&e.headers.set(qe.CONTENT_LENGTH,Buffer.byteLength(e.body))}return{name:ett,async sendRequest(e,r){return t(e),r(e)}}}var ttt="storageRetryPolicy",Ig={maxRetryDelayInMs:120*1e3,maxTries:4,retryDelayInMs:4*1e3,retryPolicyType:$o.EXPONENTIAL,secondaryHost:"",tryTimeoutInMs:void 0},rtt=["ETIMEDOUT","ESOCKETTIMEDOUT","ECONNREFUSED","ECONNRESET","ENOENT","ENOTFOUND","TIMEOUT","EPIPE","REQUEST_SEND_ERROR"],stt=new Xn("The operation was aborted.");function _fe(t={}){let e=t.retryPolicyType??Ig.retryPolicyType,r=t.maxTries??Ig.maxTries,s=t.retryDelayInMs??Ig.retryDelayInMs,i=t.maxRetryDelayInMs??Ig.maxRetryDelayInMs,n=t.secondaryHost??Ig.secondaryHost,o=t.tryTimeoutInMs??Ig.tryTimeoutInMs;function a({isPrimaryRetry:l,attempt:u,response:h,error:d}){if(u>=r)return is.info(`RetryPolicy: Attempt(s) ${u} >= maxTries ${r}, no further try.`),!1;if(d){for(let f of rtt)if(d.name.toUpperCase().includes(f)||d.message.toUpperCase().includes(f)||d.code&&d.code.toString().toUpperCase()===f)return Line truncated
`)+`
`+s(n)+i(n),a=(0,Qfe.createHmac)("sha256",t.accountKey).update(o,"utf8").digest("base64");n.headers.set(qe.AUTHORIZATION,`SharedKey ${t.accountName}:${a}`)}function r(n,o){let a=n.headers.get(o);return!a||o===qe.CONTENT_LENGTH&&a==="0"?"":a}function s(n){let o=[];for(let[c,l]of n.headers)c.toLowerCase().startsWith(qe.PREFIX_FOR_STORAGE)&&o.push({name:c,value:l});o.sort((c,l)=>Gv(c.name.toLowerCase(),l.name.toLowerCase())),o=o.filter((c,l,u)=>!(l>0&&c.name.toLowerCase()===u[l-1].name.toLowerCase()));let a="";return o.forEach(c=>{a+=`${c.name.toLowerCase().trimRight()}:${c.value.trimLeft()}
`}),a}function i(n){let o=Fv(n.url)||"/",a="";a+=`/${t.accountName}${o}`;let c=Uv(n.url),l={};if(c){let u=[];for(let h in c)if(Object.prototype.hasOwnProperty.call(c,h)){let d=h.toLowerCase();l[d]=c[h],u.push(d)}u.sort();for(let h of u)a+=`
${h}:${decodeURIComponent(l[h])}`}return a}return{name:itt,async sendRequest(n,o){return e(n),o(n)}}}var ntt="storageRequestFailureDetailsParserPolicy";function Pfe(){return{name:ntt,async sendRequest(t,e){try{return await e(t)}catch(r){throw typeof r=="object"&&r!==null&&r.response&&r.response.parsedBody&&r.response.parsedBody.code==="InvalidHeaderValue"&&r.response.parsedBody.HeaderName==="x-ms-version"&&(r.message=`The provided service version is not enabled on this storage account. Please see https://learn.microsoft.com/rest/api/storageservices/versioning-for-the-azure-storage-services for additional information.
`),r}}}}var Ofe=require("node:crypto"),Hv=class{accountName;userDelegationKey;key;constructor(e,r){this.accountName=e,this.userDelegationKey=r,this.key=Buffer.from(r.value,"base64")}computeHMACSHA256(e){return(0,Ofe.createHmac)("sha256",this.key).update(e,"utf8").digest("base64")}};var zv="12.31.0",Vv="2026-02-06";var $v="https://storage.azure.com/.default",bu={Parameters:{FORCE_BROWSER_NO_CACHE:"_",SIGNATURE:"sig",SNAPSHOT:"snapshot",VERSIONID:"versionid",TIMEOUT:"timeout"}};var Ga="",zq="*",ott=1*1024*1024;var att=4*ott;var Dfe="AES256",kfe="DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==;BlobEndpoint=http://127.0.0.1:10000/devstoreaccount1;",Mfe=["Access-Control-Allow-Origin","Cache-Control","Content-Length","Content-Type","Date","Request-Id","traceparent","Transfer-Encoding","User-Agent","x-ms-client-request-id","x-ms-date","x-ms-error-code","x-ms-request-id","x-ms-return-client-request-id","x-ms-version","Accept-Ranges","Content-Disposition","Content-Encoding","Content-Language","Content-MD5","Content-Range","ETag","Last-Modified","Server","Vary","x-ms-content-crc64","x-ms-copy-action","x-ms-copy-completion-time","x-ms-copy-id","x-ms-copy-progress","x-ms-copy-status","x-ms-has-immutability-policy","x-ms-has-legal-hold","x-ms-lease-state","x-ms-lease-status","x-ms-range","x-ms-request-server-encrypted","x-ms-server-encrypted","x-ms-snapshot","x-ms-source-range","If-Match","If-Modified-Since","If-None-Match","If-Unmodified-Since","x-ms-access-tier","x-ms-access-tier-change-time","x-ms-access-tier-inferred","x-ms-account-kind","x-ms-archive-status","x-ms-blob-append-offset","x-ms-blob-cache-control","x-ms-blob-committed-block-count","x-ms-blob-condition-appendpos","x-ms-blob-condition-maxsize","x-ms-blob-content-disposition","x-ms-blob-content-encoding","x-ms-blob-content-language","x-ms-blob-content-length","x-ms-blob-content-md5","x-ms-blob-content-type","x-ms-blob-public-access","x-ms-blob-sequence-number","x-ms-blob-type","x-ms-copy-destination-snapshot","x-ms-creation-time","x-ms-default-encryption-scope","x-ms-delete-snapshots","x-ms-delete-type-permanent","x-ms-deny-encryption-scope-override","x-ms-encryption-algorithm","x-ms-if-sequence-number-eq","x-ms-if-sequence-number-le","x-ms-if-sequence-number-lt","x-ms-incremental-copy","x-ms-lease-action","x-ms-lease-break-period","x-ms-lease-duration","x-ms-lease-id","x-ms-lease-time","x-ms-page-write","x-ms-proposed-lease-id","x-ms-range-get-content-md5","x-ms-rehydrate-priority","x-ms-sequence-number-action","x-ms-sku-name","x-ms-source-content-md5","x-ms-source-if-match","x-ms-source-if-modified-since","x-ms-source-if-none-match","x-ms-source-if-unmodified-since","x-ms-tag-count","x-ms-encryption-key-sha256","x-ms-copy-source-error-code","x-ms-copy-source-status-code","x-ms-if-tags","x-ms-source-if-tags"],Lfe=["comp","maxresults","rscc","rscd","rsce","rscl","rsct","se","si","sip","sp","spr","sr","srt","ss","st","sv","include","marker","prefix","copyid","restype","blockid","blocklisttype","delimiter","prevsnapshot","ske","skoid","sks","skt","sktid","skv","snapshot"],Ffe="BlobUsesCustomerSpecifiedEncryption",Ufe="BlobDoesNotUseCustomerSpecifiedEncryption",qfe=["10000","10001","10002","10003","10004","10100","10101","10102","10103","10104","11000","11001","11002","11003","11004","11100","11101","11102","11103","11104"];function wu(t){if(!t||typeof t!="object")return!1;let e=t;return Array.isArray(e.factories)&&typeof e.options=="object"&&typeof e.toServiceClientOptions=="function"}var A0=class{factories;options;constructor(e,r={}){this.factories=e,this.options=r}toServiceClientOptions(){return{httpClient:this.options.httpClient,requestPolicyFactories:this.factories}}};function Or(t,e={}){t||(t=new or);let r=new A0([],e);return r._credential=t,r}function ctt(t){let e=[ltt,Gfe,utt,htt,dtt,ftt,Att];if(t.factories.length){let r=t.factories.filter(s=>!e.some(i=>i(s)));if(r.length){let s=r.some(i=>ptt(i));return{wrappedPolicies:Eq(r),afterRetry:s}}}}function Vq(t){let{httpClient:e,...r}=t.options,s=t._coreHttpClient;s||(s=e?Cq(e):Gq(),t._coreHttpClient=s);let i=t._corePipeline;if(!i){let n=`azsdk-js-azure-storage-blob/${zv}`,o=r.userAgentOptions&&r.userAgentOptions.userAgentPrefix?`${r.userAgentOptions.userAgentPrefix} ${n}`:`${n}`;i=KI({...r,loggingOptions:{additionalAllowedHeaderNames:Mfe,additionalAllowedQueryParameters:Lfe,logger:Pv.info},userAgentOptions:{userAgentPrefix:o},serializationOptions:{stringifyXML:Qv,serializerOptions:{xml:{xmlCharKey:"#"}}},deserializationOptions:{parseXML:Uq,serializerOptions:{xml:{xmlCharKey:"#"}}}}),i.removePolicy({phase:"Retry"}),i.removePolicy({name:YU}),i.addPolicy(Tfe()),i.addPolicy(_fe(r.retryOptions),{phase:"Retry"}),i.addPolicy(Pfe()),i.addPolicy(Rfe());let a=ctt(t);a&&i.addPolicy(a.wrappedPolicies,a.afterRetry?{afterPhase:"Retry"}:void 0);let c=$q(t);Zn(c)?i.addPolicy(Ag({credential:c,scopes:r.audience??$v Line truncated
`),n=e.computeHMACSHA256(i);return{sasQueryParameters:new ja(t.version,n,s,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:i}}function lst(t,e){if(t=Cp(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",s=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",s=t.versionId));let i;t.permissions&&(t.blobName?i=rl.parse(t.permissions.toString()).toString():i=sl.parse(t.permissions.toString()).toString());let n=[i||"",t.startsOn?Nt(t.startsOn,!1):"",t.expiresOn?Nt(t.expiresOn,!1):"",Ep(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?$a(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,s,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),o=e.computeHMACSHA256(n);return{sasQueryParameters:new ja(t.version,o,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType),stringToSign:n}}function ust(t,e){if(t=Cp(t),!t.identifier&&!(t.permissions&&t.expiresOn))throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when 'identifier' is not provided.");let r="c",s=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",s=t.versionId));let i;t.permissions&&(t.blobName?i=rl.parse(t.permissions.toString()).toString():i=sl.parse(t.permissions.toString()).toString());let n=[i||"",t.startsOn?Nt(t.startsOn,!1):"",t.expiresOn?Nt(t.expiresOn,!1):"",Ep(e.accountName,t.containerName,t.blobName),t.identifier,t.ipRange?$a(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,s,t.encryptionScope,t.cacheControl?t.cacheControl:"",t.contentDisposition?t.contentDisposition:"",t.contentEncoding?t.contentEncoding:"",t.contentLanguage?t.contentLanguage:"",t.contentType?t.contentType:""].join(`
`),o=e.computeHMACSHA256(n);return{sasQueryParameters:new ja(t.version,o,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,void 0,void 0,void 0,t.encryptionScope),stringToSign:n}}function hst(t,e){if(t=Cp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",s=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",s=t.versionId));let i;t.permissions&&(t.blobName?i=rl.parse(t.permissions.toString()).toString():i=sl.parse(t.permissions.toString()).toString());let n=[i||"",t.startsOn?Nt(t.startsOn,!1):"",t.expiresOn?Nt(t.expiresOn,!1):"",Ep(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Nt(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Nt(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.ipRange?$a(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,s,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),o=e.computeHMACSHA256(n);return{sasQueryParameters:new ja(t.version,o,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey),stringToSign:n}}function dst(t,e){if(t=Cp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",s=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",s=t.versionId));let i;t.permissions&&(t.blobName?i=rl.parse(t.permissions.toString()).toString():i=sl.parse(t.permissions.toString()).toString());let n=[i||"",t.startsOn?Nt(t.startsOn,!1):"",t.expiresOn?Nt(t.expiresOn,!1):"",Ep(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Nt(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Nt(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?$a(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,s,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),o=e.computeHMACSHA256(n);return{sasQueryParameters:new ja(t.version,o,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId),stringToSign:n}}function fst(t,e){if(t=Cp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",s=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",s=t.versionId));let i;t.permissions&&(t.blobName?i=rl.parse(t.permissions.toString()).toString():i=sl.parse(t.permissions.toString()).toString());let n=[i||"",t.startsOn?Nt(t.startsOn,!1):"",t.expiresOn?Nt(t.expiresOn,!1):"",Ep(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Nt(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Nt(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,t.ipRange?$a(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,s,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),o=e.computeHMACSHA256(n);return{sasQueryParameters:new ja(t.version,o,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope),stringToSign:n}}function pst(t,e){if(t=Cp(t),!t.permissions||!t.expiresOn)throw new RangeError("Must provide 'permissions' and 'expiresOn' for Blob SAS generation when generating user delegation SAS.");let r="c",s=t.snapshotTime;t.blobName&&(r="b",t.snapshotTime?r="bs":t.versionId&&(r="bv",s=t.versionId));let i;t.permissions&&(t.blobName?i=rl.parse(t.permissions.toString()).toString():i=sl.parse(t.permissions.toString()).toString());let n=[i||"",t.startsOn?Nt(t.startsOn,!1):"",t.expiresOn?Nt(t.expiresOn,!1):"",Ep(e.accountName,t.containerName,t.blobName),e.userDelegationKey.signedObjectId,e.userDelegationKey.signedTenantId,e.userDelegationKey.signedStartsOn?Nt(e.userDelegationKey.signedStartsOn,!1):"",e.userDelegationKey.signedExpiresOn?Nt(e.userDelegationKey.signedExpiresOn,!1):"",e.userDelegationKey.signedService,e.userDelegationKey.signedVersion,t.preauthorizedAgentObjectId,void 0,t.correlationId,void 0,t.delegatedUserObjectId,t.ipRange?$a(t.ipRange):"",t.protocol?t.protocol:"",t.version,r,s,t.encryptionScope,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType].join(`
`),o=e.computeHMACSHA256(n);return{sasQueryParameters:new ja(t.version,o,i,void 0,void 0,t.protocol,t.startsOn,t.expiresOn,t.ipRange,t.identifier,r,t.cacheControl,t.contentDisposition,t.contentEncoding,t.contentLanguage,t.contentType,e.userDelegationKey,t.preauthorizedAgentObjectId,t.correlationId,t.encryptionScope,t.delegatedUserObjectId),stringToSign:n}}function Ep(t,e,r){let s=[`/blob/${t}/${e}`];return r&&s.push(`/${r}`),s.join("")}function Cp(t){let e=t.version?t.version:Vv;if(t.snapshotTime&&e<"2018-11-09")throw RangeError("'version' must be >= '2018-11-09' when providing 'snapshotTime'.");if(t.blobName===void 0&&t.snapshotTime)throw RangeError("Must provide 'blobName' when providing 'snapshotTime'.");if(t.versionId&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'versionId'.");if(t.blobName===void 0&&t.versionId)throw RangeError("Must provide 'blobName' when providing 'versionId'.");if(t.permissions&&t.permissions.setImmutabilityPolicy&&e<"2020-08-04")throw RangeError("'version' must be >= '2020-08-04' when provided 'i' permission.");if(t.permissions&&t.permissions.deleteVersion&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'x' permission.");if(t.permissions&&t.permissions.permanentDelete&&e<"2019-10-10")throw RangeError("'version' must be >= '2019-10-10' when providing 'y' permission.");if(t.permissions&&t.permissions.tag&&e<"2019-12-12")throw RangeError("'version' must be >= '2019-12-12' when providing 't' permission.");if(e<"2020-02-10"&&t.permissions&&(t.permissions.move||t.permissions.execute))throw RangeError("'version' must be >= '2020-02-10' when providing the 'm' or 'e' permission.");if(e<"2021-04-10"&&t.permissions&&t.permissions.filterByTags)throw RangeError("'version' must be >= '2021-04-10' when providing the 'f' permission.");if(e<"2020-02-10"&&(t.preauthorizedAgentObjectId||t.correlationId))throw RangeError("'version' must be >= '2020-02-10' when providing 'preauthorizedAgentObjectId' or 'correlationId'.");if(t.encryptionScope&&e<"2020-12-06")throw RangeError("'version' must be >= '2020-12-06' when provided 'encryptionScope' in SAS.");return t.version=e,t}var N0=class{_leaseId;_url;_containerOrBlobOperation;_isContainer;get leaseId(){return this._leaseId}get url(){return this._url}constructor(e,r){let s=e.storageClientContext;this._url=e.url,e.name===void 0?(this._isContainer=!0,this._containerOrBlobOperation=s.container):(this._isContainer=!1,this._containerOrBlobOperation=s.blob),r||(r=fg()),this._leaseId=r}async acquireLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Ga||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Ga||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Se.withSpan("BlobLeaseClient-acquireLease",r,async s=>ve(await this._containerOrBlobOperation.acquireLease({abortSignal:r.abortSignal,duration:e,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},proposedLeaseId:this._leaseId,tracingOptions:s.tracingOptions})))}async changeLease(e,r={}){if(this._isContainer&&(r.conditions?.ifMatch&&r.conditions?.ifMatch!==Ga||r.conditions?.ifNoneMatch&&r.conditions?.ifNoneMatch!==Ga||r.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Se.withSpan("BlobLeaseClient-changeLease",r,async s=>{let i=ve(await this._containerOrBlobOperation.changeLease(this._leaseId,e,{abortSignal:r.abortSignal,modifiedAccessConditions:{...r.conditions,ifTags:r.conditions?.tagConditions},tracingOptions:s.tracingOptions}));return this._leaseId=e,i})}async releaseLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==Ga||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Ga||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Se.withSpan("BlobLeaseClient-releaseLease",e,async r=>ve(await this._containerOrBlobOperation.releaseLease(this._leaseId,{abortSignal:e.abortSignal,modifiedAccessConditions:{...e.conditions,ifTags:e.conditions?.tagConditions},tracingOptions:r.tracingOptions})))}async renewLease(e={}){if(this._isContainer&&(e.conditions?.ifMatch&&e.conditions?.ifMatch!==Ga||e.conditions?.ifNoneMatch&&e.conditions?.ifNoneMatch!==Ga||e.conditions?.tagConditions))throw new RangeError("The IfMatch, IfNoneMatch and tags access conditions are ignored by the service. Values other than undefined or their default values are not acceptable.");return Se.withSpan("BlobLeaseClient-renewLease",e,async r=>this._containerOrBlobOperation.renewLease(this._leaseId,{abortSignal:e.ab Line truncated
If you are using self-hosted runners, please make sure your runner has access to all GitHub endpoints: https://docs.github.com/en/actions/hosting-your-own-runners/managing-self-hosted-runners/about-self-hosted-runners#communication-between-self-hosted-runners-and-github`;super(r),this.code=e,this.name="NetworkError"}};Pg.isNetworkErrorCode=t=>t?["ECONNRESET","ENOTFOUND","ETIMEDOUT","ECONNREFUSED","EHOSTUNREACH"].includes(t):!1;var Sp=class extends Error{constructor(){super(`Cache storage quota has been hit. Unable to upload any new cache entries. Usage is recalculated every 6-12 hours.
More info on storage limits: https://docs.github.com/en/billing/managing-billing-for-github-actions/about-billing-for-github-actions#calculating-minute-and-storage-spending`),this.name="UsageError"}};Sp.isUsageErrorMessage=t=>t?t.includes("insufficient usage"):!1;var M0=class extends Error{constructor(e){super(e),this.name="RateLimitError"}};var hit=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})},Q8=class{constructor(e){this.contentLength=e,this.sentBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}setSentBytes(e){this.sentBytes=e}getTransferredBytes(){return this.sentBytes}isDone(){return this.getTransferredBytes()===this.contentLength}display(){if(this.displayedComplete)return;let e=this.sentBytes,r=(100*(e/this.contentLength)).toFixed(1),s=Date.now()-this.startTime,i=(e/(1024*1024)/(s/1e3)).toFixed(1);pt(`Sent ${e} of ${this.contentLength} (${r}%), ${i} MBs/sec`),this.isDone()&&(this.displayedComplete=!0)}onProgress(){return e=>{this.setSentBytes(e.loadedBytes)}}startDisplayTimer(e=1e3){let r=()=>{this.display(),this.isDone()||(this.timeoutHandle=setTimeout(r,e))};this.timeoutHandle=setTimeout(r,e)}stopDisplayTimer(){this.timeoutHandle&&(clearTimeout(this.timeoutHandle),this.timeoutHandle=void 0),this.display()}};function VAe(t,e,r){return hit(this,void 0,void 0,function*(){var s;let i=new Tu(t),n=i.getBlockBlobClient(),o=new Q8((s=r?.archiveSizeBytes)!==null&&s!==void 0?s:0),a={blockSize:r?.uploadChunkSize,concurrency:r?.uploadConcurrency,maxSingleShotSize:128*1024*1024,onProgress:o.onProgress()};try{o.startDisplayTimer(),H(`BlobClient: ${i.name}:${i.accountName}:${i.containerName}`);let c=yield n.uploadFile(e,a);if(c._response.status>=400)throw new WR(`uploadCacheArchiveSDK: upload failed with status code ${c._response.status}`);return c}catch(c){throw Zs(`uploadCacheArchiveSDK: internal error uploading cache archive: ${c.message}`),c}finally{o.stopDisplayTimer()}})}var jAe=O(require("buffer"),1),il=O(require("fs"),1),JAe=O(require("stream"),1),YAe=O(require("util"),1);var KR=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})};function XR(t){return t?t>=200&&t<300:!1}function dit(t){return t?t>=500:!0}function fit(t){return t?[mr.BadGateway,mr.ServiceUnavailable,mr.GatewayTimeout].includes(t):!1}function pit(t){return KR(this,void 0,void 0,function*(){return new Promise(e=>setTimeout(e,t))})}function $Ae(t,e,r){return KR(this,arguments,void 0,function*(s,i,n,o=SN,a=BN,c=void 0){let l="",u=1;for(;u<=o;){let h,d,f=!1;try{h=yield i()}catch(p){c&&(h=c(p)),f=!0,l=p.message}if(h&&(d=n(h),!dit(d)))return h;if(d&&(f=fit(d),l=`Cache service responded with ${d}`),H(`${s} - Attempt ${u} of ${o} failed with error: ${l}`),!f){H(`${s} - Error is not retryable`);break}yield pit(a),u++}throw Error(`${s} failed: ${l}`)})}function L0(t,e){return KR(this,arguments,void 0,function*(r,s,i=SN,n=BN){return yield $Ae(r,s,o=>o.statusCode,i,n,o=>{if(o instanceof bc)return{statusCode:o.statusCode,result:null,headers:{},error:o}})})}function Og(t,e){return KR(this,arguments,void 0,function*(r,s,i=SN,n=BN){return yield $Ae(r,s,o=>o.message.statusCode,i,n)})}var Ko=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})};function Ait(t,e){return Ko(this,void 0,void 0,function*(){yield YAe.promisify(JAe.pipeline)(t.message,e)})}var ZR=class{constructor(e){this.contentLength=e,this.segmentIndex=0,this.segmentSize=0,this.segmentOffset=0,this.receivedBytes=0,this.displayedComplete=!1,this.startTime=Date.now()}nextSegment(e){this.segmentOffset=this.segmentOffset+this.segmentSize,this.segmentIndex=this.segmentIndex+1,this.segmentSize=e,this.receivedBytes=0,H(`Downloading segment at offset ${this.segmentOffset} with length ${this.segmentSize}...`)}setReceivedBytes(e){this.receivedBytes=e}getTransferredBytes(){return this.segmentOffset+this.receivedBytes}isDone(){return this.getTransferredBytes()===this.contentLength}display(){if(this.displayedComplete)return;let e=this.segmentOffset+this.receivedBytes,r=(100*(e/this.contentLength)).toFixed(1),s=Date.now()-this.startTime,i=(e/(1024*1024)/(s/1e3)).toFixed(1);pt(`Received ${e} of ${this.contentLength} (${r}%), ${i} MBs/sec`),this.isDone()&&(this.displayedComplete=!0)}onProgress(){return e=>{this.setReceivedBytes(e.loadedBytes)}}startDisplayTimer( Line truncated
Other caches with similar key:`);for(let a of n?.artifactCaches||[])H(`Cache Key: ${a?.cacheKey}, Cache Version: ${a?.cacheVersion}, Cache Scope: ${a?.scope}, Cache Created: ${a?.creationTime}`)}}})}function k8(t,e,r){return yn(this,void 0,void 0,function*(){let s=new nme.URL(t),i=ZAe(r);s.hostname.endsWith(".blob.core.windows.net")?i.useAzureSdk?yield KAe(t,e,i):i.concurrentBlobDownloads?yield WAe(t,e,i):yield eT(t,e):yield eT(t,e)})}function ame(t,e,r){return yn(this,void 0,void 0,function*(){let s=D8(),i=ng(e,r?.compressionMethod,r?.enableCrossOsArchive),n={key:t,version:i,cacheSize:r?.cacheSize};return yield L0("reserveCache",()=>yn(this,void 0,void 0,function*(){return s.postJson(U0("caches"),n)}))})}function ime(t,e){return`bytes ${t}-${e}/*`}function wit(t,e,r,s,i){return yn(this,void 0,void 0,function*(){H(`Uploading chunk of size ${i-s+1} bytes at offset ${s} with content range: ${ime(s,i)}`);let n={"Content-Type":"application/octet-stream","Content-Range":ime(s,i)},o=yield Og(`uploadChunk (start: ${s}, end: ${i})`,()=>yn(this,void 0,void 0,function*(){return t.sendStream("PATCH",e,r(),n)}));if(!XR(o.message.statusCode))throw new Error(`Cache service responded with ${o.message.statusCode} during upload chunk.`)})}function Sit(t,e,r,s){return yn(this,void 0,void 0,function*(){let i=Tc(r),n=U0(`caches/${e.toString()}`),o=Dg.openSync(r,"r"),a=P8(s),c=uU("uploadConcurrency",a.uploadConcurrency),l=uU("uploadChunkSize",a.uploadChunkSize),u=[...new Array(c).keys()];H("Awaiting all uploads");let h=0;try{yield Promise.all(u.map(()=>yn(this,void 0,void 0,function*(){for(;h<i;){let d=Math.min(i-h,l),f=h,p=h+d-1;h+=l,yield wit(t,n,()=>Dg.createReadStream(r,{fd:o,start:f,end:p,autoClose:!1}).on("error",m=>{throw new Error(`Cache upload failed because file read failed with ${m.message}`)}),f,p)}})))}finally{Dg.closeSync(o)}})}function Bit(t,e,r){return yn(this,void 0,void 0,function*(){let s={size:r};return yield L0("commitCache",()=>yn(this,void 0,void 0,function*(){return t.postJson(U0(`caches/${e.toString()}`),s)}))})}function M8(t,e,r,s){return yn(this,void 0,void 0,function*(){if(P8(s).useAzureSdk){if(!r)throw new Error("Azure Storage SDK can only be used when a signed URL is provided.");yield VAe(r,e,s)}else{let n=D8();H("Upload cache"),yield Sit(n,t,e,s),H("Commiting cache");let o=Tc(e);pt(`Cache Size: ~${Math.round(o/(1024*1024))} MB (${o} B)`);let a=yield Bit(n,t,o);if(!XR(a.statusCode))throw new Error(`Cache service responded with ${a.statusCode} during commit cache.`);pt("Cache saved successfully")}})}var tge=O(Jme(),1),Mr=O(kr(),1),io=O(kr(),1),Rp=O(kr(),1),Tp=O(kr(),1),_p=O(kr(),1);var _z=O(kr(),1),Qz=O(kr(),1),Xme=O(kr(),1),Zme=O(kr(),1),ege=O(kr(),1);var vz=O(kr(),1),Rz=O(kr(),1),Yme=O(kr(),1),Wme=O(kr(),1),Kme=O(kr(),1),Tz=class extends Kme.MessageType{constructor(){super("github.actions.results.entities.v1.CacheScope",[{no:1,name:"scope",kind:"scalar",T:9},{no:2,name:"permission",kind:"scalar",T:3}])}create(e){let r={scope:"",permission:"0"};return globalThis.Object.defineProperty(r,Wme.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,Yme.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,s,i){let n=i??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:n.scope=e.string();break;case 2:n.permission=e.int64().toString();break;default:let l=s.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?Rz.UnknownFieldHandler.onRead:l)(this.typeName,n,a,c,u)}}return n}internalBinaryWrite(e,r,s){e.scope!==""&&r.tag(1,vz.WireType.LengthDelimited).string(e.scope),e.permission!=="0"&&r.tag(2,vz.WireType.Varint).int64(e.permission);let i=s.writeUnknownFields;return i!==!1&&(i==!0?Rz.UnknownFieldHandler.onWrite:i)(this.typeName,e,r),r}},qT=new Tz;var Pz=class extends ege.MessageType{constructor(){super("github.actions.results.entities.v1.CacheMetadata",[{no:1,name:"repository_id",kind:"scalar",T:3},{no:2,name:"scope",kind:"message",repeat:1,T:()=>qT}])}create(e){let r={repositoryId:"0",scope:[]};return globalThis.Object.defineProperty(r,Zme.MESSAGE_TYPE,{enumerable:!1,value:this}),e!==void 0&&(0,Xme.reflectionMergePartial)(this,r,e),r}internalBinaryRead(e,r,s,i){let n=i??this.create(),o=e.pos+r;for(;e.pos<o;){let[a,c]=e.tag();switch(a){case 1:n.repositoryId=e.int64().toString();break;case 2:n.scope.push(qT.internalBinaryRead(e,e.uint32(),s));break;default:let l=s.readUnknownField;if(l==="throw")throw new globalThis.Error(`Unknown field ${a} (wire type ${c}) for ${this.typeName}`);let u=e.skip(c);l!==!1&&(l===!0?Qz.UnknownFieldHandler.onRead:l)(this.typeName,n,a,c,u)}}return n}internalBinaryWrite(e,r,s){e.repositoryId!=="0"&&r.tag(1,_z.WireType.Varint).int64(e.repositoryId);for(let n=0;n<e.scope.length;n++)qT.internalBinaryWrite(e.scope[n],r.tag(2,_z.WireType.LengthDelimited).fork(),s).join();let i=s.writeUnknownFields;return i!==!1&&(i==!0?Qz.UnknownFieldHandler.onWrite:i)(this.ty Line truncated
`));let s=yield Jz(r,"create");yield Yz(s,t)})}var Xg=function(t,e,r,s){function i(n){return n instanceof r?n:new r(function(o){o(n)})}return new(r||(r=Promise))(function(n,o){function a(u){try{l(s.next(u))}catch(h){o(h)}}function c(u){try{l(s.throw(u))}catch(h){o(h)}}function l(u){u.done?n(u.value):i(u.value).then(a,c)}l((s=s.apply(t,e||[])).next())})},Wa=class t extends Error{constructor(e){super(e),this.name="ValidationError",Object.setPrototypeOf(this,t.prototype)}},Kg=class t extends Error{constructor(e){super(e),this.name="ReserveCacheError",Object.setPrototypeOf(this,t.prototype)}},VT=class t extends Error{constructor(e){super(e),this.name="FinalizeCacheError",Object.setPrototypeOf(this,t.prototype)}};function nge(t){if(!t||t.length===0)throw new Wa("Path Validation Error: At least one directory or file path is required")}function Xz(t){if(t.length>512)throw new Wa(`Key Validation Error: ${t} cannot be larger than 512 characters.`);if(!/^[^,]*$/.test(t))throw new Wa(`Key Validation Error: ${t} cannot contain commas.`)}function Zz(){return F0()==="v2"?!!process.env.ACTIONS_RESULTS_URL:!!process.env.ACTIONS_CACHE_URL}function oge(t,e,r,s){return Xg(this,arguments,void 0,function*(i,n,o,a,c=!1){let l=F0();return H(`Cache service version: ${l}`),nge(i),l==="v2"?yield Uot(i,n,o,a,c):yield Fot(i,n,o,a,c)})}function Fot(t,e,r,s){return Xg(this,arguments,void 0,function*(i,n,o,a,c=!1){o=o||[];let l=[n,...o];if(H("Resolved Keys:"),H(JSON.stringify(l)),l.length>10)throw new Wa("Key Validation Error: Keys are limited to a maximum of 10.");for(let d of l)Xz(d);let u=yield FI(),h="";try{let d=yield ome(l,i,{compressionMethod:u,enableCrossOsArchive:c});if(!d?.archiveLocation)return;if(a?.lookupOnly)return pt("Lookup only - skipping download"),d.cacheKey;h=rb.join(yield MI(),cd(u)),H(`Archive Path: ${h}`),yield k8(d.archiveLocation,h,a),Oo()&&(yield tb(h,u));let f=Tc(h);return pt(`Cache Size: ~${Math.round(f/(1024*1024))} MB (${f} B)`),yield Wz(h,u),pt("Cache restored successfully"),d.cacheKey}catch(d){let f=d;if(f.name===Wa.name)throw d;f instanceof bc&&typeof f.statusCode=="number"&&f.statusCode>=500?fI(`Failed to restore: ${d.message}`):Zs(`Failed to restore: ${d.message}`)}finally{try{yield LI(h)}catch(d){H(`Failed to delete archive: ${d}`)}}})}function Uot(t,e,r,s){return Xg(this,arguments,void 0,function*(i,n,o,a,c=!1){a=Object.assign(Object.assign({},a),{useAzureSdk:!0}),o=o||[];let l=[n,...o];if(H("Resolved Keys:"),H(JSON.stringify(l)),l.length>10)throw new Wa("Key Validation Error: Keys are limited to a maximum of 10.");for(let h of l)Xz(h);let u="";try{let h=jz(),d=yield FI(),f={key:n,restoreKeys:o,version:ng(i,d,c)},p=yield h.GetCacheEntryDownloadURL(f);if(!p.ok){H(`Cache not found for version ${f.version} of keys: ${l.join(", ")}`);return}if(f.key!==p.matchedKey?pt(`Cache hit for restore-key: ${p.matchedKey}`):pt(`Cache hit for: ${p.matchedKey}`),a?.lookupOnly)return pt("Lookup only - skipping download"),p.matchedKey;u=rb.join(yield MI(),cd(d)),H(`Archive path: ${u}`),H(`Starting download of archive to: ${u}`),yield k8(p.signedDownloadUrl,u,a);let E=Tc(u);return pt(`Cache Size: ~${Math.round(E/(1024*1024))} MB (${E} B)`),Oo()&&(yield tb(u,d)),yield Wz(u,d),pt("Cache restored successfully"),p.matchedKey}catch(h){let d=h;if(d.name===Wa.name)throw h;d instanceof bc&&typeof d.statusCode=="number"&&d.statusCode>=500?fI(`Failed to restore: ${h.message}`):Zs(`Failed to restore: ${h.message}`)}finally{try{u&&(yield LI(u))}catch(h){H(`Failed to delete archive: ${h}`)}}})}function eV(t,e,r){return Xg(this,arguments,void 0,function*(s,i,n,o=!1){let a=F0();return H(`Cache service version: ${a}`),nge(s),Xz(i),a==="v2"?yield Got(s,i,n,o):yield qot(s,i,n,o)})}function qot(t,e,r){return Xg(this,arguments,void 0,function*(s,i,n,o=!1){var a,c,l,u,h;let d=yield FI(),f=-1,p=yield lU(s);if(H("Cache Paths:"),H(`${JSON.stringify(p)}`),p.length===0)throw new Error("Path Validation Error: Path(s) specified in the action for caching do(es) not exist, hence no cache is being saved.");let m=yield MI(),E=rb.join(m,cd(d));H(`Archive Path: ${E}`);try{yield Kz(m,p,d),Oo()&&(yield tb(E,d));let y=10*1024*1024*1024,C=Tc(E);if(H(`File Size: ${C}`),C>y&&!O8())throw new Error(`Cache size of ~${Math.round(C/(1024*1024))} MB (${C} B) is over the 10GB limit, not saving cache.`);H("Reserving Cache");let w=yield ame(i,s,{compressionMethod:d,enableCrossOsArchive:o,cacheSize:C});if(!((a=w?.result)===null||a===void 0)&&a.cacheId)f=(c=w?.result)===null||c===void 0?void 0:c.cacheId;else throw w?.statusCode===400?new Error((u=(l=w?.error)===null||l===void 0?void 0:l.message)!==null&&u!==void 0?u:`Cache size of ~${Math.round(C/(1024*1024))} MB (${C} B) is over the data cap limit, not saving cache.`):new Kg(`Unable to reserve cache with key ${i}, another job may be creating this cache. More details: ${(h=w?.error)===null||h===void 0?void 0:h.message}`);H(`Saving Cache (ID: ${f})`),yield M8(f,E,"",n)}catch(y){let C=y;if(C.name===Wa.name)throw y;C.name== Line truncated
`,o).length:h,l?(a===null?0:a.length)+c.length:0,l?c.length+h:0);return d<f},parse:function(s,i,n,o){let{bom:a,comment_no_infix:c,encoding:l,from_line:u,ltrim:h,max_record_size:d,raw:f,relax_quotes:p,rtrim:m,skip_empty_lines:E,to:y,to_line:C}=this.options,{comment:w,escape:B,quote:N,record_delimiter:P}=this.options,{bomSkipped:Q,previousBuf:k,rawBuffer:G,escapeIsQuote:ee}=this.state,L;if(k===void 0)if(s===void 0){o();return}else L=s;else k!==void 0&&s===void 0?L=k:L=Buffer.concat([k,s]);if(Q===!1)if(a===!1)this.state.bomSkipped=!0;else if(L.length<3){if(i===!1){this.state.previousBuf=L;return}}else{for(let $ in fy)if(fy[$].compare(L,0,fy[$].length)===0){let se=fy[$].length;this.state.bufBytesStart+=se,L=L.slice(se);let Qe=b3({...this.original_options,encoding:$});for(let we in Qe)this.options[we]=Qe[we];({comment:w,escape:B,quote:N}=this.options);break}this.state.bomSkipped=!0}let F=L.length,q;for(q=0;q<F&&!this.__needMoreData(q,F,i);q++){if(this.state.wasRowDelimiter===!0&&(this.info.lines++,this.state.wasRowDelimiter=!1),C!==-1&&this.info.lines>C){this.state.stop=!0,o();return}this.state.quoting===!1&&P.length===0&&this.__autoDiscoverRecordDelimiter(L,q)&&(P=this.options.record_delimiter);let $=L[q];if(f===!0&&G.append($),($===dft||$===fft)&&this.state.wasRowDelimiter===!1&&(this.state.wasRowDelimiter=!0),this.state.escaping===!0)this.state.escaping=!1;else{if(B!==null&&this.state.quoting===!0&&this.__isEscape(L,q,$)&&q+B.length<F)if(ee){if(this.__isQuote(L,q+B.length)){this.state.escaping=!0,q+=B.length-1;continue}}else{this.state.escaping=!0,q+=B.length-1;continue}if(this.state.commenting===!1&&this.__isQuote(L,q))if(this.state.quoting===!0){let we=L[q+N.length],le=m&&this.__isCharTrimable(L,q+N.length),ct=w!==null&&this.__compareBytes(w,L,q+N.length,we),et=this.__isDelimiter(L,q+N.length,we),It=P.length===0?this.__autoDiscoverRecordDelimiter(L,q+N.length):this.__isRecordDelimiter(we,L,q+N.length);if(B!==null&&this.__isEscape(L,q,$)&&this.__isQuote(L,q+B.length))q+=B.length-1;else if(!we||et||It||ct||le){this.state.quoting=!1,this.state.wasQuoting=!0,q+=N.length-1;continue}else if(p===!1){let De=this.__error(new yt("CSV_INVALID_CLOSING_QUOTE",["Invalid Closing Quote:",`got "${String.fromCharCode(we)}"`,`at line ${this.info.lines}`,"instead of delimiter, record delimiter, trimable character","(if activated) or comment"],this.options,this.__infoField()));if(De!==void 0)return De}else this.state.quoting=!1,this.state.wasQuoting=!0,this.state.field.prepend(N),q+=N.length-1}else if(this.state.field.length!==0){if(p===!1){let we=this.__infoField(),le=Object.keys(fy).map(et=>fy[et].equals(this.state.field.toString())?et:!1).filter(Boolean)[0],ct=this.__error(new yt("INVALID_OPENING_QUOTE",["Invalid Opening Quote:",`a quote is found on field ${JSON.stringify(we.column)} at line ${we.lines}, value is ${JSON.stringify(this.state.field.toString(l))}`,le?`(${le} bom)`:void 0],this.options,we,{field:this.state.field}));if(ct!==void 0)return ct}}else{this.state.quoting=!0,q+=N.length-1;continue}if(this.state.quoting===!1){let we=this.__isRecordDelimiter($,L,q);if(we!==0){if(this.state.commenting&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0)this.info.comment_lines++;else{if(this.state.enabled===!1&&this.info.lines+(this.state.wasRowDelimiter===!0?1:0)>=u){this.state.enabled=!0,this.__resetField(),this.__resetRecord(),q+=we-1;continue}if(E===!0&&this.state.wasQuoting===!1&&this.state.record.length===0&&this.state.field.length===0){this.info.empty_lines++,q+=we-1;continue}this.info.bytes=this.state.bufBytesStart+q;let et=this.__onField();if(et!==void 0)return et;this.info.bytes=this.state.bufBytesStart+q+we;let It=this.__onRecord(n);if(It!==void 0)return It;if(y!==-1&&this.info.records>=y){this.state.stop=!0,o();return}}this.state.commenting=!1,q+=we-1;continue}if(this.state.commenting)continue;if(w!==null&&(c===!1||this.state.record.length===0&&this.state.field.length===0)&&this.__compareBytes(w,L,q,$)!==0){this.state.commenting=!0;continue}let le=this.__isDelimiter(L,q,$);if(le!==0){this.info.bytes=this.state.bufBytesStart+q;let ct=this.__onField();if(ct!==void 0)return ct;q+=le-1;continue}}}if(this.state.commenting===!1&&d!==0&&this.state.record_length+this.state.field.length>d)return this.__error(new yt("CSV_MAX_RECORD_SIZE",["Max Record Size:","record exceed the maximum number of tolerated bytes",`of ${d}`,`at line ${this.info.lines}`],this.options,this.__infoField()));let se=h===!1||this.state.quoting===!0||this.state.field.length!==0||!this.__isCharTrimable(L,q),Qe=m===!1||this.state.wasQuoting===!1;if(se===!0&&Qe===!0)this.state.field.append($);else{if(m===!0&&!this.__isCharTrimable(L,q))return this.__error(new yt("CSV_NON_TRIMABLE_CHAR_AFTER_CLOSING_QUOTE",["Invalid Closing Quote:","found non trimable byte after quote",`at line ${this.info.lines}`],this.options,this.__infoField()));se===!1&&(q+=this.__isCharTrimable(L,q)-1);continue}}if(i===!0)if(this.state.quoting===! Line truncated
`,n),Buffer.from(`
`,n),Buffer.from("\r",n)];e:for(let a=0;a<o.length;a++){let c=o[a].length;for(let l=0;l<c;l++)if(o[a][l]!==s[i+l])continue e;return this.options.record_delimiter.push(o[a]),this.state.recordDelimiterMaxLength=o[a].length,o[a].length}return 0},__error:function(s){let{encoding:i,raw:n,skip_records_with_error:o}=this.options,a=typeof s=="string"?new Error(s):s;if(o){if(this.state.recordHasError=!0,this.options.on_skip!==void 0)try{this.options.on_skip(a,n?this.state.rawBuffer.toString(i):void 0)}catch(c){return c}return}else return a},__infoDataSet:function(){return{...this.info,columns:this.options.columns}},__infoRecord:function(){let{columns:s,raw:i,encoding:n}=this.options;return{...this.__infoDataSet(),bytes_records:this.info.bytes,error:this.state.error,header:s===!0,index:this.state.record.length,raw:i?this.state.rawBuffer.toString(n):void 0}},__infoField:function(){let{columns:s}=this.options,i=Array.isArray(s),n=this.info.bytes_records;return{...this.__infoRecord(),bytes_records:n,column:i===!0?s.length>this.state.record.length?s[this.state.record.length].name:null:this.state.record.length,quoting:this.state.wasQuoting}}}};var uo=function(t,e={}){typeof t=="string"&&(t=Buffer.from(t));let r=e&&e.objname?{}:[],s=AIe(e),i=a=>{s.options.objname===void 0?r.push(a):r[a[0]]=a[1]},n=()=>{},o=s.parse(t,!0,i,n);if(o!==void 0)throw o;return r};var wt=class t{static getInputList(e,r){return this.getList(Jm(e,{trimWhitespace:r?.trimWhitespace!==!1}),r)}static getList(e,r){let s=[];if(e=="")return s;let i=uo(e,{columns:!1,relaxQuotes:!0,comment:r?.comment,comment_no_infix:r?.commentNoInfix,relaxColumnCount:!0,skipEmptyLines:!0,quote:r?.quote});for(let n of i)n.length==1?r?.ignoreComma?s.push(n[0]):s.push(...n[0].split(",")):r?.ignoreComma?s.push(n.join(",")):s.push(...n);return s.filter(n=>n).map(n=>r?.trimWhitespace===!1?n:n.trim())}static getInputNumber(e){let r=Jm(e);if(r)return parseInt(r)}static async asyncForEach(e,r){for(let s=0;s<e.length;s++)await r(e[s],s,e)}static isValidURL(e){let r;try{r=new URL(e)}catch{return!1}return r.protocol==="http:"||r.protocol==="https:"}static isValidRef(e){if(t.isValidURL(e))return!0;for(let r of["git://","github.com/","git@"])if(e.startsWith(r))return!0;return!1}static async powershellCommand(e,r){let s=await Ls("powershell",!0),i=e.replace(/'/g,"''").replace(/"|\n|\r/g,""),n=[];if(r)for(let o in r)n.push(`-${o} '${r[o].replace(/'/g,"''").replace(/"|\n|\r/g,"")}'`);return{command:`"${s}"`,args:["-NoLogo","-Sta","-NoProfile","-NonInteractive","-ExecutionPolicy","Unrestricted","-Command",`& '${i}' ${n.join(" ")}`]}}static isDirectory(e){try{return mIe.default.lstatSync(e).isDirectory()}catch{}return!1}static trimPrefix(e,r){return!e||!r||e.indexOf(r)!==0?e:e.substring(r.length)}static trimSuffix(e,r){if(!e||!r)return e;let s=e.lastIndexOf(r);return s===-1||s+r.length!==e.length?e:e.substring(0,s)}static sleep(e){return new Promise(r=>setTimeout(r,e*1e3))}static hash(e){return w3.default.createHash("sha256").update(e).digest("hex")}static parseBool(e){if(e===void 0)return!1;switch(e){case"1":case"t":case"T":case"true":case"TRUE":case"True":return!0;case"0":case"f":case"F":case"false":case"FALSE":case"False":return!1;default:throw new Error(`parseBool syntax error: ${e}`)}}static parseBoolOrDefault(e,r=!1){try{return this.parseBool(e)}catch{return r}}static formatFileSize(e){if(e===0)return"0 Bytes";let r=1024,s=["Bytes","KB","MB","GB","TB","PB","EB","ZB","YB"],i=Math.floor(Math.log(e)/Math.log(r));return parseFloat((e/Math.pow(r,i)).toFixed(2))+" "+s[i]}static generateRandomString(e=10){return w3.default.randomBytes(Math.ceil(e/2)).toString("hex").slice(0,e)}static compileHandlebars(e,r,s){return gIe.default.compile(e,r)(s)}static stringToUnicodeEntities(e){return Array.from(e).map(r=>`&#x${r.charCodeAt(0).toString(16)};`).join("")}static countLines(e){return e.split(/\r\n|\r|\n/).length}static isPathRelativeTo(e,r){let s=bb.default.resolve(e);return bb.default.resolve(r).startsWith(s.endsWith(bb.default.sep)?s:`${s}${bb.default.sep}`)}static formatDuration(e){if(e===0)return"0s";let r=Math.floor(e/1e9),s=Math.floor(r/3600),i=Math.floor(r%3600/60),n=r%60,o=[];return s&&o.push(`${s}h`),i&&o.push(`${i}m`),(n||o.length===0)&&o.push(`${n}s`),o.join("")}};var tr=class t{static get configDir(){return process.env.DOCKER_CONFIG||wb.default.join(yIe.default.homedir(),".docker")}static configFile(){let e=wb.default.join(t.configDir,"config.json");if(S3.default.existsSync(e))return JSON.parse(S3.default.readFileSync(e,{encoding:"utf-8"}))}static async isAvailable(){return await Ls("docker",!0).then(e=>(V(`Docker.isAvailable ok: ${e}`),!0)).catch(e=>(V(`Docker.isAvailable error: ${e}`),!1))}static async isDaemonRunning(){try{return await t.getExecOutput(["version"],{silent:!0}),!0}catch{return!1}}static async exec(e,r){return Re.exec("docker",e,t.execOptions(r))}static async getExecOutput(e,r){return Re.getExecOutput("docker",e,t.execOptions(r))}static execOptions(e){return e||(e={}),e. Line truncated
`+t.errors.map(e=>` - ${e.message}`).join(`
`)}var opt=class extends Error{constructor(t,e,r){super(npt(r)),this.request=t,this.headers=e,this.response=r,this.errors=r.errors,this.data=r.data,Error.captureStackTrace&&Error.captureStackTrace(this,this.constructor)}name="GraphqlResponseError";errors;data},apt=["method","baseUrl","url","headers","request","query","mediaType","operationName"],cpt=["query","method","url"],r0e=/\/api\/v3\/?$/;function lpt(t,e,r){if(r){if(typeof e=="string"&&"query"in r)return Promise.reject(new Error('[@octokit/graphql] "query" cannot be used as variable name'));for(let o in r)if(cpt.includes(o))return Promise.reject(new Error(`[@octokit/graphql] "${o}" cannot be used as variable name`))}let s=typeof e=="string"?Object.assign({query:e},r):e,i=Object.keys(s).reduce((o,a)=>apt.includes(a)?(o[a]=s[a],o):(o.variables||(o.variables={}),o.variables[a]=s[a],o),{}),n=s.baseUrl||t.endpoint.DEFAULTS.baseUrl;return r0e.test(n)&&(i.url=n.replace(r0e,"/api/graphql")),t(i).then(o=>{if(o.data.errors){let a={};for(let c of Object.keys(o.headers))a[c]=o.headers[c];throw new opt(i,a,o.data)}return o.data.data})}function D3(t,e){let r=t.defaults(e);return Object.assign((i,n)=>lpt(r,i,n),{defaults:D3.bind(null,r),endpoint:r.endpoint})}var k7t=D3(Nb,{headers:{"user-agent":`octokit-graphql.js/${ipt} ${vd()}`},method:"POST",url:"/graphql"});function s0e(t){return D3(t,{method:"POST",url:"/graphql"})}var k3="(?:[a-zA-Z0-9_-]+)",i0e="\\.",n0e=new RegExp(`^${k3}${i0e}${k3}${i0e}${k3}$`),upt=n0e.test.bind(n0e);async function hpt(t){let e=upt(t),r=t.startsWith("v1.")||t.startsWith("ghs_"),s=t.startsWith("ghu_");return{type:"token",token:t,tokenType:e?"app":r?"installation":s?"user-to-server":"oauth"}}function dpt(t){return t.split(/\./).length===3?`bearer ${t}`:`token ${t}`}async function fpt(t,e,r,s){let i=e.endpoint.merge(r,s);return i.headers.authorization=dpt(t),e(i)}var o0e=function(e){if(!e)throw new Error("[@octokit/auth-token] No token passed to createTokenAuth");if(typeof e!="string")throw new Error("[@octokit/auth-token] Token passed to createTokenAuth is not a string");return e=e.replace(/^(token|bearer) +/i,""),Object.assign(hpt.bind(null,e),{hook:fpt.bind(null,e)})};var M3="7.0.6";var a0e=()=>{},ppt=console.warn.bind(console),Apt=console.error.bind(console);function mpt(t={}){return typeof t.debug!="function"&&(t.debug=a0e),typeof t.info!="function"&&(t.info=a0e),typeof t.warn!="function"&&(t.warn=ppt),typeof t.error!="function"&&(t.error=Apt),t}var c0e=`octokit-core.js/${M3} ${vd()}`,sQ=class{static VERSION=M3;static defaults(e){return class extends this{constructor(...s){let i=s[0]||{};if(typeof e=="function"){super(e(i));return}super(Object.assign({},e,i,i.userAgent&&e.userAgent?{userAgent:`${i.userAgent} ${e.userAgent}`}:null))}}}static plugins=[];static plugin(...e){let r=this.plugins;return class extends this{static plugins=r.concat(e.filter(i=>!r.includes(i)))}}constructor(e={}){let r=new DIe.Collection,s={baseUrl:Nb.endpoint.DEFAULTS.baseUrl,headers:{},request:Object.assign({},e.request,{hook:r.bind(null,"request")}),mediaType:{previews:[],format:""}};if(s.headers["user-agent"]=e.userAgent?`${e.userAgent} ${c0e}`:c0e,e.baseUrl&&(s.baseUrl=e.baseUrl),e.previews&&(s.mediaType.previews=e.previews),e.timeZone&&(s.headers["time-zone"]=e.timeZone),this.request=Nb.defaults(s),this.graphql=s0e(this.request).defaults(s),this.log=mpt(e.log),this.hook=r,e.authStrategy){let{authStrategy:n,...o}=e,a=n(Object.assign({request:this.request,log:this.log,octokit:this,octokitOptions:o},e.auth));r.wrap("request",a.hook),this.auth=a}else if(!e.auth)this.auth=async()=>({type:"unauthenticated"});else{let n=o0e(e.auth);r.wrap("request",n.hook),this.auth=n}let i=this.constructor;for(let n=0;n<i.plugins.length;++n)Object.assign(this,i.plugins[n](this,e))}request;graphql;log;hook;auth};var L3="17.0.0";var gpt={actions:{addCustomLabelsToSelfHostedRunnerForOrg:["POST /orgs/{org}/actions/runners/{runner_id}/labels"],addCustomLabelsToSelfHostedRunnerForRepo:["POST /repos/{owner}/{repo}/actions/runners/{runner_id}/labels"],addRepoAccessToSelfHostedRunnerGroupInOrg:["PUT /orgs/{org}/actions/runner-groups/{runner_group_id}/repositories/{repository_id}"],addSelectedRepoToOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}/repositories/{repository_id}"],addSelectedRepoToOrgVariable:["PUT /orgs/{org}/actions/variables/{name}/repositories/{repository_id}"],approveWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/approve"],cancelWorkflowRun:["POST /repos/{owner}/{repo}/actions/runs/{run_id}/cancel"],createEnvironmentVariable:["POST /repos/{owner}/{repo}/environments/{environment_name}/variables"],createHostedRunnerForOrg:["POST /orgs/{org}/actions/hosted-runners"],createOrUpdateEnvironmentSecret:["PUT /repos/{owner}/{repo}/environments/{environment_name}/secrets/{secret_name}"],createOrUpdateOrgSecret:["PUT /orgs/{org}/actions/secrets/{secret_name}"],createOrUpdateRepoSecret:["PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}"],createOrgVaria Line truncated
More info: ${c.url}`);let f=c.range&&c.range.length>0?c.range[0]?.start.line:void 0,p=!1;for(let m of o)if(m.remote||m.path.endsWith(l)&&m.content===u){a.push({title:h,message:d,file:m.path,startLine:f}),p=!0;break}p||V(`Buildx.convertWarningsToGitHubAnnotations: skipping warning without matching Dockerfile ${l}: ${h}`)}return a}};var Td=class t{buildx;constructor(e){this.buildx=e?.buildx||new Ct}async exists(e){let r=await this.buildx.getCommand(["inspect",e]),s=await Re.getExecOutput(r.command,r.args,{ignoreReturnCode:!0,silent:!0}).then(i=>i.stderr.length>0&&i.exitCode!=0?(V(`Builder.exists cmd err: ${i.stderr.trim()}`),!1):i.exitCode==0).catch(i=>(V(`Builder.exists error: ${i}`),!1));return V(`Builder.exists: ${s}`),s}async inspect(e){let r=Object.assign({},process.env,{DEBUG:"1"}),s=["inspect"];e&&s.push(e);let i=await this.buildx.getCommand(s);return await Re.getExecOutput(i.command,i.args,{ignoreReturnCode:!0,silent:!0,env:r}).then(n=>{if(n.stderr.length>0&&n.exitCode!=0)throw new Error(n.stderr.trim());return t.parseInspect(n.stdout)})}static parseInspect(e){let r={nodes:[]},s,i={},n,o,a;for(let c of e.trim().split(`
`)){let[l,...u]=c.split(":"),h=l.toLowerCase(),d=u.map(f=>f.trim()).join(":");if(l.length!=0)switch(!0){case h=="name":s=void 0,r.name==null?r.name=d:(n&&i.gcPolicy&&(i.gcPolicy.push(n),n=void 0),i.name&&r.nodes.push(i),i={name:d});break;case h=="driver":s=void 0,r.driver=d;break;case h=="last activity":s=void 0,r.lastActivity=new Date(d);break;case h=="endpoint":s=void 0,i.endpoint=d;break;case h=="driver options":s=void 0,i["driver-opts"]=(d.match(/([a-zA-Z0-9_.]+)="([^"]*)"/g)||[]).map(f=>f.replace(/^(.*)="(.*)"$/g,"$1=$2"));break;case h=="status":s=void 0,i.status=d;break;case h=="buildkit daemon flags":case h=="flags":s=void 0,i["buildkitd-flags"]=d;break;case h=="buildkit version":case h=="buildkit":s=void 0,i.buildkit=d;break;case h=="platforms":{if(s=void 0,!d)break;let f=[];if(d.includes("*"))for(let p of d.split(", "))p.includes("*")&&f.push(p.replace(/\*/g,""));else f=d.split(", ");i.platforms=f.join(",");break}case h=="features":s="features",i.features={};break;case h=="labels":s="label",i.labels={};break;case h=="devices":s="devices",i.devices=i.devices||[];break;case h.startsWith("gc policy rule#"):s="gcpolicy",i.gcPolicy&&n&&(i.gcPolicy.push(n),n=void 0);break;case h.startsWith("file#"):s="file",a=l.split("#")[1],i.files=i.files||{},i.files[a]="";break;default:switch(s&&s!=="devices"&&i.devices&&o&&(i.devices.push(o),o=void 0),s||""){case"features":{i.features=i.features||{},i.features[l.trim()]=!!d;break}case"label":{i.labels=i.labels||{},i.labels[l.trim()]=d;break}case"devices":{switch(h.trim()){case"name":{i.devices&&o&&i.devices.push(o),o={},o.name=d;break}case"on-demand":{o&&d&&(o.onDemand=d=="true");break}case"automatically allowed":{o&&d&&(o.autoAllow=d=="true");break}case"annotations":{o&&(o.annotations=o.annotations||{});break}default:o&&o.annotations&&(o.annotations[l.trim()]=d)}break}case"gcpolicy":{switch(i.gcPolicy=i.gcPolicy||[],n=n||{},h.trim()){case"all":{n.all=d=="true";break}case"filters":{d&&(n.filter=d.split(","));break}case"keep duration":{n.keepDuration=d;break}case"keep bytes":{n.keepBytes=d;break}case"reserved space":{n.reservedSpace=d;break}case"max used space":{n.maxUsedSpace=d;break}case"min free space":{n.minFreeSpace=d;break}}break}case"file":{a&&i.files&&(i.files[a].length>0&&(i.files[a]+=`
`),i.files[a]+=c.replace(/^\s>\s?/,""));break}}}}return o&&i.devices&&i.devices.push(o),n&&i.gcPolicy&&i.gcPolicy.push(n),i.name&&r.nodes.push(i),r}};var Gp=O(require("fs"),1),Y3=O(require("path"),1);var aQ=class t{buildx;iidFilename;metadataFilename;constructor(e){this.buildx=e?.buildx||new Ct,this.iidFilename=`build-iidfile-${wt.generateRandomString()}.txt`,this.metadataFilename=`build-metadata-${wt.generateRandomString()}.json`}async gitContext(e){let r=new Set(["ref","checksum","subdir"]),s=e?.attrs||{},i=Object.entries(s).filter(([f])=>!r.has(f)),n=wt.parseBoolOrDefault(s["fetch-by-commit"]),o=e?.ref||s.ref||Fi.ref;o.startsWith("refs/")?o.startsWith("refs/pull/")&&wt.parseBoolOrDefault(process.env.DOCKER_DEFAULT_GIT_CONTEXT_PR_HEAD_REF)&&(o=o.replace(/\/merge$/g,"/head")):o=`refs/heads/${o}`;let a=`${kt.serverURL}/${Fi.repo.owner}/${Fi.repo.repo}.git`,c=e?.checksum||s.checksum,l=e?.subdir||s.subdir,u=e?.format;if(!u){if(u="fragment",i.length>0)u="query";else if(wt.parseBoolOrDefault(process.env.BUILDX_SEND_GIT_QUERY_AS_INPUT))try{await this.buildx.versionSatisfies(">=0.29.0")&&(u="query")}catch{}}let h=Fi.sha||o;o.startsWith("refs/pull/")&&o.endsWith("/head")&&(h=typeof Fi.payload.pull_request?.head?.sha=="string"?Fi.payload.pull_request.head.sha:o);let d=c||h;if(u==="query"){let f=[`ref=${n||c?o:d}`],p=n?d:c;p&&f.push(`checksum=${p}`),l&&l!=="."&&f.push(`subdir=${l}`);for(let[m,E]of i)f.push(`${m}=${E}`);return`${a}?${f.join("&")}`}return`${a}#${d}${l&&l!=="."?`:${l}`:""}`}getImageIDFilePath(){return Y3.default.join(bt.tmpDir(),this.iidFilename)}resolveImageID(){let e=this.getImageIDFilePath();if(Gp.default.existsSync(e))return Gp.default.readFileSync(e,{encoding:"utf-8"}).trim()}getMetadataFilePath(){return Y3.default.join(bt.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!Gp.default.existsSync(e))return;let r=Gp.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRef(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.ref"in e)return e["buildx.build.ref"]}resolveProvenance(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.provenance"in e)return e["buildx.build.provenance"]}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}resolveDigest(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"containerimage.digest"in e)return e["containerimage.digest"]}static resolveSecretString(e){let[r,s]=t.resolveSecret(e,{redact:!0});return`id=${r},src=${s}`}static resolveSecretFile(e){let[r,s]=t.resolveSecret(e,{asFile:!0});return`id=${r},src=${s}`}static resolveSecretEnv(e){let[r,s]=t.parseSecretKvp(e);return`id=${r},env=${s}`}static resolveSecret(e,r){let[s,i]=t.parseSecretKvp(e,r?.redact);if(r?.asFile){if(!Gp.default.existsSync(i))throw new Error(`secret file ${i} not found`);return[s,i]}let n=bt.tmpName({tmpdir:bt.tmpDir()});return Gp.default.writeFileSync(n,i),[s,n]}static getProvenanceInput(e){let r=Jm(e);if(!r)return r;try{return doe(e)?`builder-id=${kt.workflowRunURL(!0)}`:"false"}catch{return t.resolveProvenanceAttrs(r)}}static resolveProvenanceAttrs(e){if(!e)return`builder-id=${kt.workflowRunURL(!0)}`;let r=uo(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let s of r)if(s.toString().split(/(?<=^[^=]+?)=/).map(n=>n.trim())[0]=="builder-id")return e;return`${e},builder-id=${kt.workflowRunURL(!0)}`}static resolveCacheToAttrs(e,r){if(!e)return e;let s="registry",i="",n="",o=uo(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let a of o){let c=a.toString().split(/(?<=^[^=]+?)=/).map(l=>l.trim());c[0]==="type"?s=c[1]:c[0]==="repository"?i=c[1]:c[0]==="ghtoken"&&(n=c[1])}return s==="gha"&&(i||(e=`${e},repository=${kt.repository}`),!n&&r&&(e=`${e},ghtoken=${r}`)),e}static hasLocalExporter(e){return t.hasExporterType("local",e)}static hasTarExporter(e){return t.hasExporterType("tar",e)}static hasDockerExporter(e,r){return r||t.hasExporterType("docker",e)}static hasExporterType(e,r){let s=uo(r.join(`
`),{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let i of s){if(i.length==1&&!i[0].startsWith("type="))return e=="local";for(let[n,o]of i.map(a=>a.split("=").map(c=>c.trim())))if(n=="type"&&o==e)return!0}return!1}static hasAttestationType(e,r){let s=uo(r,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0});for(let i of s)for(let[n,o]of i.map(a=>a.split("=").map(c=>c.trim())))if(n=="type"&&o==e)return!0;return!1}static resolveAttestationAttrs(e){let r=uo(e,{delimiter:",",trim:!0,columns:!1,relaxColumnCount:!0}),s=[];for(let i of r)for(let n of i)try{let o=wt.parseBool(n);s.push(`disabled=${!o}`)}catch{s.push(n)}return s.join(",")}static hasGitAuthTokenSecret(e,r){for(let s of e){if(r&&s.startsWith(`GIT_AUTH_TOKEN.${r}=`))return!0;if(s.startsWith("GIT_AUTH_TOKEN="))return!0}return!1}static parseSecretKvp(e,r){let s=e.indexOf("="),i=e.substring(0,s),n=e.substring(s+1);if(i.length==0||n.length==0)throw new Error(`${e} is not a valid secret`);return r&&pI(n),[i,n]}};var W3=O(require("fs"),1),y0e=O(require("path"),1);var cQ=class t{buildx;metadataFilename;constructor(e){this.buildx=e?.buildx||new Ct,this.metadataFilename=`bake-metadata-${wt.generateRandomString()}.json`}getMetadataFilePath(){return y0e.default.join(bt.tmpDir(),this.metadataFilename)}resolveMetadata(){let e=this.getMetadataFilePath();if(!W3.default.existsSync(e))return;let r=W3.default.readFileSync(e,{encoding:"utf-8"}).trim();if(r!=="null")return JSON.parse(r)}resolveRefs(e){if(!e&&(e=this.resolveMetadata(),!e))return;let r=new Array;for(let s in e)"buildx.build.ref"in e[s]&&r.push(e[s]["buildx.build.ref"]);return r.length>0?r:void 0}resolveWarnings(e){if(!(!e&&(e=this.resolveMetadata(),!e))&&"buildx.build.warnings"in e)return e["buildx.build.warnings"]}async getDefinition(e,r){r=r||{ignoreReturnCode:!0},r.ignoreReturnCode=!0,r.env=Object.assign({},process.env,r.env||{},e.githubToken?{BUILDX_BAKE_GIT_AUTH_TOKEN:e.githubToken}:{});let s=["bake"],i,n=[],o=[...e.files||[],e.source];if(o){for(let c of o.map(l=>l?l.trim():""))if(c.length!=0){if(!wt.isValidRef(c)){n.push(c);continue}if(i)throw new Error("Only one remote bake definition can be defined");i=c}}i&&s.push(i);for(let c of n)s.push("--file",c);if(e.overrides)for(let c of e.overrides)s.push("--set",c);if(e.vars)for(let c of e.vars)s.push("--var",c);if(e.allow)for(let c of e.allow)s.push("--allow",c);e.call&&s.push("--call",e.call),e.load&&s.push("--load"),e.noCache&&s.push("--no-cache"),e.provenance&&s.push("--provenance",e.provenance),e.push&&s.push("--push"),e.sbom&&s.push("--sbom",e.sbom);let a=await this.buildx.getCommand([...s,"--print",...e.targets||[]]);return await Re.getExecOutput(a.command,a.args,r).then(c=>{if(c.stderr.length>0&&c.exitCode!=0)throw new Error(`cannot parse bake definitions: ${c.stderr.match(/(.*)\s*$/)?.[0]?.trim()??"unknown error"}`);return t.parseDefinition(c.stdout.trim())})}static parseDefinition(e){let r=JSON.parse(e);for(let s in r.target){let i=r.target[s];i.attest&&Array.isArray(i.attest)&&(i.attest=i.attest.map(n=>t.parseAttestEntry(n))),i["cache-from"]&&Array.isArray(i["cache-from"])&&(i["cache-from"]=i["cache-from"].map(n=>t.parseCacheEntry(n))),i["cache-to"]&&Array.isArray(i["cache-to"])&&(i["cache-to"]=i["cache-to"].map(n=>t.parseCacheEntry(n))),i.output&&Array.isArray(i.output)&&(i.output=i.output.map(n=>t.parseExportEntry(n))),i.secret&&Array.isArray(i.secret)&&(i.secret=i.secret.map(n=>t.parseSecretEntry(n))),i.ssh&&Array.isArray(i.ssh)&&(i.ssh=i.ssh.map(n=>t.parseSSHEntry(n)))}return r}static parseAttestEntry(e){if(typeof e!="string")return e;let r={type:""},s=uo(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];for(let i of s){let[n,o]=i.toString().split(/(?<=^[^=]+?)=/).map(a=>a.trim());switch(n){case"type":r.type=o;break;case"disabled":r.disabled=wt.parseBool(o);break;default:r[n]=o}}return r}static parseCacheEntry(e){if(typeof e!="string")return e;let r={type:""},s=uo(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(s.length===1&&!s[0].includes("="))return r.type="registry",r.ref=s[0],r;for(let i of s){let[n,o]=i.toString().split(/(?<=^[^=]+?)=/).map(a=>a.trim());n==="type"?r.type=o:r[n]=o}return r}static parseExportEntry(e){if(typeof e!="string")return e;let r={type:""},s=uo(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0];if(s.length===1&&s[0]===e&&!e.startsWith("type="))return e!=="-"?(r.type="local",r.dest=e,r):(r.type="tar",r.dest=e,r);for(let i of s){let[n,o]=i.toString().split(/(?<=^[^=]+?)=/).map(a=>a.trim());n==="type"?r.type=o:r[n]=o}return r}static parseSecretEntry(e){if(typeof e!="string")return e;let r={},s=uo(e,{relaxColumnCount:!0,skipEmptyLines:!0})[0],i="";for(let n of s){let[o,a]=n.toString().split(/(?<=^[^=]+?)=/).map(c=>c.trim());switch(o){case"type":i=a;break;case"id":r.id=a;break;case"source":case"src":r.src=a;break;case"env":r.env=a;break}}return i==="env"&&!r.env&&(r.env=r.src,r.src=void 0),r}static parseSSHEntry(e){if(typeof e!="string")return e;let r={},[s,i]=e.split("=",2);return r.id=s,i&&(r.paths=i.split(", Line truncated
`)[0])}static async isHeadDetached(){return await t.exec(["branch","--show-current"]).then(e=>e.length==0)}static async getDetachedRef(){let e=await t.exec(["show","-s","--pretty=%D"]);V(`detached HEAD ref: ${e}`);let r=e.replace(/^grafted, /,"").trim();if(r==="HEAD")return await t.inferRefFromHead();let s=r.match(/^HEAD, (.*)$/);if(!s||!s[1])throw new Error(`Cannot find detached HEAD ref in "${e}"`);let i=s[1].trim();if(i.startsWith("tag: "))return`refs/tags/${i.split(":")[1].trim()}`;if(i.match(/^pull\/\d+\/(head|merge)$/))return`refs/${i}`;let o=i.match(/^[^/]+\/[^/]+, (.+)$/);if(o)return`refs/heads/${o[1].trim()}`;let a=i.match(/^[^/]+\/(.+)$/);if(a)return`refs/heads/${a[1].trim()}`;throw new Error(`Unsupported detached HEAD ref in "${e}"`)}static async exec(e=[]){return await Re.getExecOutput("git",e,{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCode!=0)throw new Error(r.stderr);return r.stdout.trim()})}static async inferRefFromHead(){let e=await t.findContainingRef("refs/heads/");if(e)return e;let r=await t.findContainingRef("refs/remotes/");if(r){let n=r.match(/^refs\/remotes\/[^/]+\/(.+)$/);return n?`refs/heads/${n[1]}`:r}let s=await t.exec(["tag","--contains","HEAD"]),[i]=s.split(`
`).map(n=>n.trim()).filter(n=>n.length>0);if(i)return`refs/tags/${i}`;throw new Error("Cannot infer ref from detached HEAD")}static async findContainingRef(e){let r=await t.exec(["for-each-ref","--format=%(refname)","--contains","HEAD","--sort=-committerdate",e]),[s]=r.split(`
`).map(i=>i.trim()).filter(i=>i.length>0);return s}static async commitDate(e){return new Date(await t.exec(["show","-s",'--format="%ci"',e]))}};var HPe=require("crypto"),$l=O(require("fs"),1),pf=O(require("path"),1);var bS=O(_b(),1),jl=O(T_e(),1),zPe=O(rW(),1),JE=O(kPe(),1);var tK=O(_b(),1);var LPe=O(Ka(),1);var MPe="application/vnd.oci.empty.v1+json";var Bh=class{binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"cosign",this._version="",this._versionOnce=!1}async isAvailable(){let e=await Re.getExecOutput(this.binPath,[],{ignoreReturnCode:!0,silent:!0}).then(r=>r.stderr.length>0&&r.exitCode!=0?(V(`Cosign.isAvailable cmd err: ${r.stderr.trim()}`),!1):r.exitCode==0).catch(r=>(V(`Cosign.isAvailable error: ${r}`),!1));return V(`Cosign.isAvailable: ${e}`),e}async version(){return this._versionOnce?this._version:(this._versionOnce=!0,this._version=await Re.getExecOutput(this.binPath,["version","--json"],{ignoreReturnCode:!0,silent:!0}).then(e=>{if(e.stderr.length>0&&e.exitCode!=0)throw new Error(e.stderr.trim());return JSON.parse(e.stdout.trim()).gitVersion}),this._version)}async printVersion(){await Re.exec(this.binPath,["version","--json"],{failOnStdErr:!1})}async versionSatisfies(e,r){let s=r??await this.version();if(!s)return V("Cosign.versionSatisfies false: undefined version"),!1;let i=LPe.satisfies(s,e)||/^[0-9a-f]{7}$/.exec(s)!==null;return V(`Cosign.versionSatisfies ${s} statisfies ${e}: ${i}`),i}static parseCommandOutput(e){let r,s,i,n;for(let o of e.split(/\r?\n/)){let a=o.trim();if(!a.startsWith("{")||!a.endsWith("}"))continue;let c;try{c=JSON.parse(a)}catch{continue}if(c&&Array.isArray(c.errors)&&c.errors.length>0&&(n=c.errors),!r&&c&&Array.isArray(c.manifests)&&c.manifests.length>0){let l=c.manifests[0];l?.artifactType===tK.BUNDLE_V03_MEDIA_TYPE&&typeof l.digest=="string"?r=l.digest:l?.artifactType===MPe&&typeof l.digest=="string"&&(s=l.digest)}if(!i&&c&&c.mediaType===tK.BUNDLE_V03_MEDIA_TYPE&&(i=c),i&&(r||s)){n=void 0;break}}return{bundle:i,signatureManifestDigest:r||s,errors:n}}};var rK=O(require("fs"),1);var TD=class t{buildx;constructor(e){this.buildx=e?.buildx||new Ct}async getCommand(e){return await this.buildx.getCommand(["imagetools",...e])}async getInspectCommand(e){return await this.getCommand(["inspect",...e])}async getCreateCommand(e){return await this.getCommand(["create",...e])}async inspectImage(e){return await this.inspect(e,"{{json .Image}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"config"),r;throw new Error("Unexpected output format")})}async inspectManifest(e){return await this.inspect(e,"{{json .Manifest}}",r=>{if(typeof r=="object"&&!Array.isArray(r)&&r!==null)return Object.prototype.hasOwnProperty.call(r,"manifests"),r;throw new Error("Unexpected output format")})}async attestationDescriptors(e){let r=await this.inspectManifest(e);if(typeof r!="object"||r===null||!("manifests"in r)||!Array.isArray(r.manifests))throw new Error(`No descriptor found for ${e.name}`);let s=r.manifests.filter(o=>o.annotations?.["vnd.docker.reference.type"]==="attestation-manifest");if(!e.platform)return s;let i=e.platform,n=new Map;for(let o of r.manifests)o.digest&&n.set(o.digest,o);return s.filter(o=>{let a=o.annotations?.["vnd.docker.reference.digest"];if(!a)return!1;let c=n.get(a);return c?c.platform?.os===i.os&&c.platform?.architecture===i.architecture&&(c.platform?.variant??"")===(i.variant??""):!1})}async attestationDigests(e){return(await this.attestationDescriptors(e)).map(r=>r.digest)}async create(e){let r=[],s=bt.tmpName({tmpdir:bt.tmpDir(),template:"imagetools-metadata-XXXXXX"}),i=[],n=[];for(let a of e.sources){if(a.startsWith("cwd://")){let c=a.substring(6);c.length>0&&i.push(c);continue}n.push(a)}if(e.tags)for(let a of e.tags)r.push("--tag",a);if(e.platforms)for(let a of e.platforms)r.push("--platform",a);if(e.annotations)for(let a of e.annotations)r.push("--annotation",a);e.dryRun?r.push("--dry-run"):r.push("--metadata-file",s);for(let a of i)r.push("--file",a);for(let a of n)r.push(a);let o=await this.getCreateCommand(r);if(e.skipExec){J(`[command]${o.command} ${o.args.join(" ")}`),J("Skipped create command");return}return await Re.getExecOutput(o.command,o.args,{ignoreReturnCode:!0,silent:e.silent}).then(a=>{if(a.stderr.length>0&&a.exitCode!=0)throw new Error(a.stderr.trim());if(!e.dryRun){if(!rK.default.existsSync(s))return;let c=rK.default.readFileSync(s,{encoding:"utf-8"}).trim();if(c===""||c==="null")return;let l=JSON.parse(c),u=l["containerimage.descriptor"];return u?{digest:l["containerimage.digest"]||u.digest,descriptor:u,imageNames:l["image.name"]?l["image.name"].split(",").map(h=>h.trim()):[]}:void 0}})}async inspect(e,r,s){let i=await this.getInspectCommand([e.name,"--format",r]);if(!e.retryOnManifestUnknown)return await this.execInspect(i.command,i.args,s);let n=e.retryLimit??15,o;for(let a=0;a<n;a++)try{return await this.execInspect(i.command,i.args,s)}catch(c){if(o=c,!t.isManifestUnknown Line truncated
${o.message}`),await new Promise(l=>setTimeout(l,Math.pow(2,a)*100))}throw o??new Error(`ImageTools inspect command failed for ${e.name}`)}async execInspect(e,r,s){return await Re.getExecOutput(e,r,{ignoreReturnCode:!0,silent:!0}).then(i=>{if(i.stderr.length>0&&i.exitCode!=0)throw new Error(i.stderr.trim());return s(JSON.parse(i.stdout))})}static isManifestUnknownError(e){return/(MANIFEST_UNKNOWN|manifest unknown|not found: not found)/i.test(e)}};var FPe="application/vnd.in-toto+json";var UPe="https://fulcio.sigstore.dev",qPe="https://rekor.sigstore.dev",GPe="https://timestamp.sigstore.dev",qA="https://search.sigstore.dev";var bDt="slsaprovenance1",Af=class t{cosign;imageTools;constructor(e){this.cosign=e?.cosign||new Bh,this.imageTools=e?.imageTools||new TD}async signAttestationManifests(e){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to sign attestation manifests");let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let s=this.signingEndpoints(e.noTransparencyLog);J(`Using Sigstore signing endpoint: ${s.fulcioURL}`);let i=t.noTransparencyLog(e.noTransparencyLog),n=[];await this.cosign.versionSatisfies(">=3.0.4")?await rd("Creating Sigstore protobuf signing config",async()=>{let o=bt.tmpName({template:"signing-config-XXXXXX.json",tmpdir:bt.tmpDir()}),a=["signing-config","create","--with-default-services=true",`--out=${o}`];i&&a.push("--no-default-rekor=true"),await Re.exec(this.cosign.binPath,a,{env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),J(JSON.stringify(JSON.parse($l.default.readFileSync(o,{encoding:"utf-8"})),null,2)),n.push(`--signing-config=${o}`)}):(n.push("--use-signing-config"),i&&n.push("--tlog-upload=false"));for(let o of e.imageNames){let a=await this.imageTools.attestationDigests({name:`${o}@${e.imageDigest}`,retryOnManifestUnknown:e.retryOnManifestUnknown,retryLimit:e.retryLimit});for(let c of a){let l=`${o}@${c}`;await rd(`Signing attestation manifest ${l}`,async()=>{let u=["sign","--yes","--oidc-provider","github-actions","--registry-referrers-mode","oci-1-1","--new-bundle-format",...n];J(`[command]${this.cosign.binPath} ${[...u,l].join(" ")}`);let h=await Re.getExecOutput(this.cosign.binPath,["--verbose",...u,l],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),d=Bh.parseCommandOutput(h.stderr.trim());if(h.exitCode!=0)if(d.errors&&d.errors.length>0){let p=d.errors.map(m=>`- [${m.code}] ${m.message} : ${m.detail}`).join(`
`);throw new Error(`Cosign sign command failed with errors:
${p}`)}else throw new Error(`Cosign sign command failed with: ${h.stderr.trim().split(/\r?\n/).filter(p=>p.length>0).pop()??"unknown error"}`);let f=t.parseBundle((0,bS.bundleFromJSON)(d.bundle));f.tlogID&&J(`Uploaded to Rekor transparency log: ${qA}?logIndex=${f.tlogID}`),J(`Signature manifest pushed: https://oci.dag.dev/?referrers=${l}`),r[l]={...f,imageName:o}})}}}catch(s){throw new Error(`Signing BuildKit attestation manifests failed: ${s.message}`)}return r}async verifySignedManifests(e,r){let s={};for(let[i,n]of Object.entries(e))await rd(`Verifying signature of ${i}`,async()=>{let o=await this.verifyImageAttestation(i,{certificateIdentityRegexp:r.certificateIdentityRegexp,noTransparencyLog:r.noTransparencyLog||!n.tlogID,retryOnManifestUnknown:r.retryOnManifestUnknown});J(`Signature manifest verified: https://oci.dag.dev/?image=${n.imageName}@${o.signatureManifestDigest}`),s[i]=o});return s}async verifyImageAttestations(e,r){let s={},i=await this.imageTools.attestationDigests({name:e,platform:r.platform,retryOnManifestUnknown:r.retryOnManifestUnknown,retryLimit:r.retryLimit});if(i.length===0)throw new Error(`No attestation manifests found for ${e}`);let n=e.split(":",1)[0];for(let o of i){let a=`${n}@${o}`,c=await this.verifyImageAttestation(a,r);J(`Signature manifest verified: https://oci.dag.dev/?image=${n}@${c.signatureManifestDigest}`),s[a]=c}return s}async verifyImageAttestation(e,r){if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed manifests");let s=["verify","--experimental-oci11","--new-bundle-format","--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp];if(r.noTransparencyLog&&s.push("--use-signed-timestamps","--insecure-ignore-tlog"),!r.retryOnManifestUnknown){J(`[command]${this.cosign.binPath} ${[...s,e].join(" ")}`);let o=await Re.getExecOutput(this.cosign.binPath,["--verbose",...s,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})});if(o.exitCode!==0)throw new Error(`Cosign verify command failed with: ${o.stderr.trim().split(/\r?\n/).filter(c=>c.length>0).pop()??"unknown error"}`);let a=Bh.parseCommandOutput(o.stderr.trim());return{cosignArgs:s,signatureManifestDigest:a.signatureManifestDigest}}let i=r.retryLimit??15,n;J(`[command]${this.cosign.binPath} ${[...s,e].join(" ")}`);for(let o=0;o<i;o++){let a=await Re.getExecOutput(this.cosign.binPath,["--verbose",...s,e],{ignoreReturnCode:!0,silent:!0,env:Object.assign({},process.env,{COSIGN_EXPERIMENTAL:"1"})}),c=Bh.parseCommandOutput(a.stderr.trim());if(a.exitCode===0)return{cosignArgs:s,signatureManifestDigest:c.signatureManifestDigest};if(c.errors&&c.errors.length>0){let l=c.errors.map(u=>`- [${u.code}] ${u.message} : ${u.detail}`).join(`
`);if(n=new Error(`Cosign verify command failed with errors:
${l}`),c.errors.some(u=>u.code==="MANIFEST_UNKNOWN"))J(`Cosign verify command failed with MANIFEST_UNKNOWN, retrying attempt ${o+1}/${i}...
${l}`),await new Promise(u=>setTimeout(u,Math.pow(2,o)*100));else throw n}else throw new Error(`Cosign verify command failed with: ${a.stderr.trim().split(/\r?\n/).filter(l=>l.length>0).pop()??"unknown error"}`)}throw n}async signProvenanceBlobs(e){let r={};try{if(!process.env.ACTIONS_ID_TOKEN_REQUEST_URL)throw new Error('missing "id-token" permission. Please add "permissions: id-token: write" to your workflow.');let s=this.signingEndpoints(e.noTransparencyLog);J(`Using Sigstore signing endpoint: ${s.fulcioURL}`);let i=t.getProvenanceBlobs(e);for(let n of Object.keys(i))await rd(`Signing ${n}`,async()=>{let o=i[n],a=pf.default.join(pf.default.dirname(n),`${e.name??"provenance"}.sigstore.json`),c=t.getProvenanceSubjects(o);if(c.length===0){Do(`No subjects found in provenance ${n}, skip signing.`);return}let l=await t.signPayload({data:o,type:FPe},s),u=t.parseBundle(l);J("Provenance blob signed for:");for(let h of c){let[d,f]=Object.entries(h.digest)[0]||[];J(` - ${h.name} (${d}:${f})`)}u.tlogID&&J(`Attestation signature uploaded to Rekor transparency log: ${qA}?logIndex=${u.tlogID}`),J(`Writing Sigstore bundle to: ${a}`),$l.default.writeFileSync(a,JSON.stringify(u.payload,null,2),{encoding:"utf-8"}),r[n]={...u,bundlePath:a,subjects:c}})}catch(s){throw new Error(`Signing BuildKit provenance blobs failed: ${s.message}`)}return r}async verifySignedArtifacts(e,r){let s={};if(!await this.cosign.isAvailable())throw new Error("Cosign is required to verify signed artifacts");for(let[i,n]of Object.entries(e)){let o=pf.default.dirname(i);await rd(`Verifying signature bundle ${n.bundlePath}`,async()=>{for(let a of n.subjects){let c=pf.default.join(o,a.name);J(`Verifying signed artifact ${c}`);let l=["verify-blob-attestation","--new-bundle-format","--certificate-oidc-issuer","https://token.actions.githubusercontent.com","--certificate-identity-regexp",r.certificateIdentityRegexp,"--type",r.predicateType??bDt];(r.noTransparencyLog||!n.tlogID)&&l.push("--use-signed-timestamps","--insecure-ignore-tlog");let u=await Re.getExecOutput(this.cosign.binPath,[...l,"--bundle",n.bundlePath,c],{ignoreReturnCode:!0});if(u.stderr.length>0&&u.exitCode!=0)throw new Error(u.stderr);s[c]={bundlePath:n.bundlePath,cosignArgs:l}}})}return s}async verifyArtifact(e,r,s){J("Verifying keyless verification bundle signature");let i=JSON.parse($l.default.readFileSync(r,"utf-8")),n=(0,bS.bundleFromJSON)(i);J("Fetching Sigstore TUF trusted root metadata");let o=await zPe.getTrustedRoot(),a=(0,JE.toTrustMaterial)(o);try{J("Verifying artifact signature");let c=(0,JE.toSignedEntity)(n,$l.default.readFileSync(e)),l=t.parseCertificate(n),u=n.verificationMaterial.tlogEntries,h=u.length>0?u[0].logIndex:void 0;if(s?.subjectAlternativeName&&s?.subjectAlternativeName instanceof RegExp){let p=l.subjectAltName?.replace(/^uri:/i,"");if(p){if(!p.match(s.subjectAlternativeName))throw new Error(`Signing certificate subjectAlternativeName "${p}" does not match expected pattern`)}else throw new Error("Signing certificate does not contain subjectAltName")}let f=new JE.Verifier(a).verify(c,{subjectAlternativeName:s?.subjectAlternativeName&&typeof s.subjectAlternativeName=="string"?s.subjectAlternativeName:void 0,extensions:s?.issuer?{issuer:s.issuer}:void 0});return V(`Sigstore.verifyArtifact signer: ${JSON.stringify(f)}`),{payload:i,certificate:l.toString(),tlogID:h}}catch(c){throw new Error(`Failed to verify artifact signature: ${c}`)}}signingEndpoints(e){return e=t.noTransparencyLog(e),J(`Upload to transparency log: ${e?"disabled":"enabled"}`),{fulcioURL:UPe,rekorURL:e?void 0:qPe,tsaServerURL:GPe}}static noTransparencyLog(e){return e??kt.context.payload.repository?.private}static getProvenanceBlobs(e){let r=pf.default.join(e.localExportDir,"provenance.json");if($l.default.existsSync(r))return{[r]:$l.default.readFileSync(r)};let s=$l.default.readdirSync(e.localExportDir,{withFileTypes:!0}),i=s.filter(n=>n.isDirectory());if(i.length>0&&i.length===s.length&&i.every(n=>$l.default.existsSync(pf.default.join(e.localExportDir,n.name,"provenance.json")))){let n={};for(let o of i){let a=pf.default.join(e.localExportDir,o.name,"provenance.json");n[a]=$l.default.readFileSync(a)}return n}throw new Error(`No valid provenance.json found in ${e.localExportDir}`)}static getProvenanceSubjects(e){return JSON.parse(e.toString()).subject.map(s=>({name:s.name,digest:s.digest}))}static async signPayload(e,r,s,i){let n=[],o=new jl.FulcioSigner({identityProvider:new jl.CIContextProvider("sigstore"),fulcioBaseURL:r.fulcioURL,timeout:s,retry:i});return r.rekorURL&&n.push(new jl.RekorWitness({rekorBaseURL:r.rekorURL,fetchOnConflict:!0,timeout:s,retry:i})),r.tsaServerURL&&n.push(new jl.TSAWitness({tsaBaseURL:r.tsaServerURL,timeout:s,retry:i})),new jl.DSSEBundleBuilder({signer:o,witnesses:n}).create(e)}static parseBundle(e){let r=t.parseCertificate(e),s=e.verificationMaterial.tlogEntries,i=s.length>0?s[0].logIndex:void 0;return{payload:(0,bS.bundleToJSON)(e),certificate:r.toString(),tlogID:i}} Line truncated
# syntax=docker/dockerfile:1
ARG GO_VERSION="1.24"
ARG ALPINE_VERSION="3.22"
FROM --platform=$BUILDPLATFORM tonistiigi/xx:1.7.0 AS xx
FROM --platform=$BUILDPLATFORM golang:\${GO_VERSION}-alpine\${ALPINE_VERSION} AS builder-base
COPY --from=xx / /
RUN apk add --no-cache git
ENV GOTOOLCHAIN=auto
ENV CGO_ENABLED=0
WORKDIR /src
RUN --mount=type=cache,target=/go/pkg/mod \\
--mount=type=bind,source=go.mod,target=go.mod \\
--mount=type=bind,source=go.sum,target=go.sum \\
go mod download
FROM builder-base AS version
RUN --mount=type=bind,target=. <<'EOT'
git rev-parse HEAD 2>/dev/null || {
echo >&2 "Failed to get git revision, make sure --build-arg BUILDKIT_CONTEXT_KEEP_GIT_DIR=1 is set when building from Git directly"
exit 1
}
set -ex
export PKG=sigs.k8s.io BUILDDATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ") TREESTATE=$(if ! git diff --no-ext-diff --quiet --exit-code; then echo dirty; else echo clean; fi) VERSION=$(git describe --match 'v[0-9]*' --dirty='.m' --always --tags) COMMIT=$(git rev-parse HEAD)$(if ! git diff --no-ext-diff --quiet --exit-code; then echo .m; fi);
echo "-X \${PKG}/release-utils/version.gitVersion=\${VERSION} -X \${PKG}/release-utils/version.gitCommit=\${COMMIT} -X \${PKG}/release-utils/version.gitTreeState=\${TREESTATE} -X \${PKG}/release-utils/version.buildDate=\${BUILDDATE}" > /tmp/.ldflags;
echo -n "\${VERSION}" > /tmp/.version;
EOT
FROM builder-base AS builder
ARG TARGETPLATFORM
RUN --mount=type=bind,target=. \\
--mount=type=cache,target=/root/.cache,id=cosign-$TARGETPLATFORM \\
--mount=source=/tmp/.ldflags,target=/tmp/.ldflags,from=version \\
--mount=type=cache,target=/go/pkg/mod <<EOT
set -ex
xx-go build -trimpath -ldflags "-s -w $(cat /tmp/.ldflags)" -o /out/cosign ./cmd/cosign
xx-verify --static /out/cosign
EOT
FROM scratch
COPY --from=builder /out /
`;var LD=class t{githubToken;buildx;sigstore;constructor(e){this.githubToken=e?.githubToken||process.env.GITHUB_TOKEN,this.buildx=e?.buildx||new Ct,this.sigstore=e?.sigstore||new Af}async download(e){let r=await t.getDownloadVersion(e.version);V(`Install.download version: ${r.version}`);let s=await t.getRelease(r,this.githubToken);V(`Install.download release tag name: ${s.tag_name}`);let i=await this.vspec(s.tag_name);V(`Install.download vspec: ${i}`);let n=XE.clean(i)||"";if(!XE.valid(n))throw new Error(`Invalid Cosign version "${i}".`);let o=new Cs({htcName:"cosign-dl-bin",htcVersion:i,baseCacheDir:KE.default.join(cc.default.homedir(),".bin"),cacheFile:cc.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:e.ghaNoCache}),a=await o.find();if(a)return J(`Cosign binary found in ${a}`),a;let c=nK.format(r.downloadURL,i,this.filename());J(`Downloading ${c}`);let l=await Fo(c,void 0,this.githubToken);V(`Install.download htcDownloadPath: ${l}`),e.verifySignature&&XE.satisfies(i,">=3.0.1")&&await this.verifySignature(l,c);let u=await o.save(l,e.skipState);return J(`Cached to ${u}`),u}async build(e,r,s){let i=await this.vspec(e);V(`Install.build vspec: ${i}`);let n=new Cs({htcName:"cosign-build-bin",htcVersion:i,baseCacheDir:KE.default.join(cc.default.homedir(),".bin"),cacheFile:cc.default.platform()=="win32"?"cosign.exe":"cosign",ghaNoCache:r}),o=await n.find();if(o)return J(`Cosign binary found in ${o}`),o;let a=KE.default.join(bt.tmpDir(),"cosign-build-cache"),c=await this.buildCommand(e,a),l=await Re.getExecOutput(c.command,c.args,{ignoreReturnCode:!0,input:Buffer.from($Pe)}).then(h=>{if(h.stderr.length>0&&h.exitCode!=0)throw new Error(`build failed with: ${h.stderr.match(/(.*)\s*$/)?.[0]?.trim()??"unknown error"}`);return`${a}/cosign`}),u=await n.save(l,s);return J(`Cached to ${u}`),u}async install(e,r){r=r||bt.tmpDir();let s=KE.default.join(r,"cosign-bin");wS.default.existsSync(s)||wS.default.mkdirSync(s,{recursive:!0});let i=cc.default.platform()=="win32"?"cosign.exe":"cosign",n=KE.default.join(s,i);return wS.default.copyFileSync(e,n),J("Fixing perms"),wS.default.chmodSync(n,"0755"),xc(s),J("Added Cosign to PATH"),J(`Binary path: ${n}`),n}async buildCommand(e,r){let s=await new Ct({standalone:!0}).isAvailable(),i=await new Ct({standalone:!1}).isAvailable(),n=!1;if(await this.buildx.isStandalone()&&s)V("Install.buildCommand: Buildx standalone found, build with it"),n=!0;else if(!await this.buildx.isStandalone()&&i)V("Install.buildCommand: Buildx plugin found, build with it"),n=!1;else if(s)V("Install.buildCommand: Buildx plugin not found, but standalone found so trying to build with it"),n=!0;else if(i)V("Install.buildCommand: Buildx standalone not found, but plugin found so trying to build with it"),n=!1;else throw new Error(`Neither buildx standalone or plugin have been found to build from ref ${e}`);let o=["build","--platform","local","--build-arg","BUILDKIT_CONTEXT_KEEP_GIT_DIR=1","--output",`type=local,dest=${r}`];return process.env.GIT_AUTH_TOKEN&&o.push("--secret","id=GIT_AUTH_TOKEN"),o.push("-f-",e),await new Ct({standalone:n}).getCommand(o)}async verifySignature(e,r){let s=`${r}.sigstore.json`;J(`Downloading keyless verification bundle at ${s}`);let i=await Fo(s,void 0,this.githubToken);V(`Install.verifySignature bundlePath: ${i}`);let n=await this.sigstore.verifyArtifact(e,i,{subjectAlternativeName:"keyless@projectsigstore.iam.gserviceaccount.com",issuer:"https://accounts.google.com"});J(`Cosign binary signature verified! ${n.tlogID?`${qA}?logIndex=${n.tlogID}`:""}`)}filename(){let e;switch(cc.default.arch()){case"x64":{e="amd64";break}case"ppc64":{e="ppc64le";break}default:{e=cc.default.arch();break}}let r=cc.default.platform()=="win32"?"windows":cc.default.platform(),s=cc.default.platform()=="win32"?".exe":"";return nK.format("cosign-%s-%s%s",r,e,s)}async vspec(e){if(!wt.isValidRef(e)){let l=e.replace(/^v+|v+$/g,"");return J(`Use ${l} version spec cache key for ${e}`),l}let[r,s]=e.split("#");s.length==0&&(s="master");let i;s.match(/^[0-9a-fA-F]{40}$/)?i=s:i=await gy.remoteSha(r,s,process.env.GIT_AUTH_TOKEN);let[n,o]=r.substring(19).split("/"),a=`${n}/${wt.trimSuffix(o,".git")}/${i}`,c=wt.hash(a);return J(`Use ${c} version spec cache key for ${a}`),c}static async getDownloadVersion(e){return{version:e,downloadURL:"https://github.com/sigstore/cosign/releases/download/v%s/%s",contentOpts:{owner:"docker",repo:"actions-toolkit",ref:"main",path:".github/cosign-releases.json"}}}static async getRelease(e,r){let i=await new kt({token:r}).releases("Cosign",e.contentOpts);if(!i[e.version])throw new Error(`Cannot find Cosign release ${e.version} in releases JSON`);return i[e.version]}};var jPe=O(Ka(),1);var FD=class{binPath;_version;_versionOnce;constructor(e){this.binPath=e?.binPath||"regctl",this._version="",this._versionOnce=!1}async blobGet(e){return await Re.getExecOutput(this.binPath,["blob","get",e.repository,e.digest],{ignoreReturnCode:!0,silent:!0}).then(r=>{if(r.stderr.length>0&&r.exitCod Line truncated
/*! Bundled license information:
undici/lib/web/fetch/body.js:
(*! formdata-polyfill. MIT License. Jimmy Wärting <https://jimmy.warting.se/opensource> *)
undici/lib/web/websocket/frame.js:
(*! ws. MIT License. Einar Otto Stangvik <einaros@gmail.com> *)
tmp/lib/tmp.js:
(*!
* Tmp
*
* Copyright (c) 2011-2017 KARASZI Istvan <github@spam.raszi.hu>
*
* MIT Licensed
*)
negotiator/index.js:
(*!
* negotiator
* Copyright(c) 2012 Federico Romero
* Copyright(c) 2012-2014 Isaac Z. Schlueter
* Copyright(c) 2015 Douglas Christopher Wilson
* MIT Licensed
*)
imurmurhash/imurmurhash.js:
(**
* @preserve
* JS Implementation of incremental MurmurHash3 (r150) (as of May 10, 2013)
*
* @author <a href="mailto:jensyt@gmail.com">Jens Taylor</a>
* @see http://github.com/homebrewing/brauhaus-diff
* @author <a href="mailto:gary.court@gmail.com">Gary Court</a>
* @see http://github.com/garycourt/murmurhash-js
* @author <a href="mailto:aappleby@gmail.com">Austin Appleby</a>
* @see http://sites.google.com/site/murmurhash/
*)
make-fetch-happen/lib/fetch.js:
make-fetch-happen/lib/fetch.js:
(**
* @license
* Copyright (c) 2010-2012 Mikeal Rogers
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
* http://www.apache.org/licenses/LICENSE-2.0
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an "AS
* IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
* express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*)
js-yaml/dist/js-yaml.mjs:
(*! js-yaml 4.1.1 https://github.com/nodeca/js-yaml @license MIT *)
@octokit/request-error/dist-src/index.js:
(* v8 ignore else -- @preserve -- Bug with vitest coverage where it sees an else branch that doesn't exist *)
@octokit/request/dist-bundle/index.js:
(* v8 ignore next -- @preserve *)
(* v8 ignore else -- @preserve *)
*/
//# sourceMappingURL=index.cjs.map
Generated Vendored
+7
View File
@@ -0,0 +1,7 @@
{
"version": 3,
"sources": ["../node_modules/tunnel/lib/tunnel.js", "../node_modules/tunnel/index.js", "../node_modules/undici/lib/core/symbols.js", "../node_modules/undici/lib/core/errors.js", "../node_modules/undici/lib/core/constants.js", "../node_modules/undici/lib/core/tree.js", "../node_modules/undici/lib/core/util.js", "../node_modules/undici/lib/core/diagnostics.js", "../node_modules/undici/lib/core/request.js", "../node_modules/undici/lib/dispatcher/dispatcher.js", "../node_modules/undici/lib/dispatcher/dispatcher-base.js", "../node_modules/undici/lib/util/timers.js", "../node_modules/undici/lib/core/connect.js", "../node_modules/undici/lib/llhttp/utils.js", "../node_modules/undici/lib/llhttp/constants.js", "../node_modules/undici/lib/llhttp/llhttp-wasm.js", "../node_modules/undici/lib/llhttp/llhttp_simd-wasm.js", "../node_modules/undici/lib/web/fetch/constants.js", "../node_modules/undici/lib/web/fetch/global.js", "../node_modules/undici/lib/web/fetch/data-url.js", "../node_modules/undici/lib/web/fetch/webidl.js", "../node_modules/undici/lib/web/fetch/util.js", "../node_modules/undici/lib/web/fetch/symbols.js", "../node_modules/undici/lib/web/fetch/file.js", "../node_modules/undici/lib/web/fetch/formdata.js", "../node_modules/undici/lib/web/fetch/formdata-parser.js", "../node_modules/undici/lib/web/fetch/body.js", "../node_modules/undici/lib/dispatcher/client-h1.js", "../node_modules/undici/lib/dispatcher/client-h2.js", "../node_modules/undici/lib/handler/redirect-handler.js", "../node_modules/undici/lib/interceptor/redirect-interceptor.js", "../node_modules/undici/lib/dispatcher/client.js", "../node_modules/undici/lib/dispatcher/fixed-queue.js", "../node_modules/undici/lib/dispatcher/pool-stats.js", "../node_modules/undici/lib/dispatcher/pool-base.js", "../node_modules/undici/lib/dispatcher/pool.js", "../node_modules/undici/lib/dispatcher/balanced-pool.js", "../node_modules/undici/lib/dispatcher/agent.js", "../node_modules/undici/lib/dispatcher/proxy-agent.js", "../node_modules/undici/lib/dispatcher/env-http-proxy-agent.js", "../node_modules/undici/lib/handler/retry-handler.js", "../node_modules/undici/lib/dispatcher/retry-agent.js", "../node_modules/undici/lib/api/readable.js", "../node_modules/undici/lib/api/util.js", "../node_modules/undici/lib/api/api-request.js", "../node_modules/undici/lib/api/abort-signal.js", "../node_modules/undici/lib/api/api-stream.js", "../node_modules/undici/lib/api/api-pipeline.js", "../node_modules/undici/lib/api/api-upgrade.js", "../node_modules/undici/lib/api/api-connect.js", "../node_modules/undici/lib/api/index.js", "../node_modules/undici/lib/mock/mock-errors.js", "../node_modules/undici/lib/mock/mock-symbols.js", "../node_modules/undici/lib/mock/mock-utils.js", "../node_modules/undici/lib/mock/mock-interceptor.js", "../node_modules/undici/lib/mock/mock-client.js", "../node_modules/undici/lib/mock/mock-pool.js", "../node_modules/undici/lib/mock/pluralizer.js", "../node_modules/undici/lib/mock/pending-interceptors-formatter.js", "../node_modules/undici/lib/mock/mock-agent.js", "../node_modules/undici/lib/global.js", "../node_modules/undici/lib/handler/decorator-handler.js", "../node_modules/undici/lib/interceptor/redirect.js", "../node_modules/undici/lib/interceptor/retry.js", "../node_modules/undici/lib/interceptor/dump.js", "../node_modules/undici/lib/interceptor/dns.js", "../node_modules/undici/lib/web/fetch/headers.js", "../node_modules/undici/lib/web/fetch/response.js", "../node_modules/undici/lib/web/fetch/dispatcher-weakref.js", "../node_modules/undici/lib/web/fetch/request.js", "../node_modules/undici/lib/web/fetch/index.js", "../node_modules/undici/lib/web/fileapi/symbols.js", "../node_modules/undici/lib/web/fileapi/progressevent.js", "../node_modules/undici/lib/web/fileapi/encoding.js", "../node_modules/undici/lib/web/fileapi/util.js", "../node_modules/undici/lib/web/fileapi/filereader.js", "../node_modules/undici/lib/web/cache/symbols.js", "../node_modules/undici/lib/web/cache/util.js", "../node_modules/undici/lib/web/cache/cache.js", "../node_modules/undici/lib/web/cache/cachestorage.js", "../node_modules/undici/lib/web/cookies/constants.js", "../node_modules/undici/lib/web/cookies/util.js", "../node_modules/undici/lib/web/cookies/parse.js", "../node_modules/undici/lib/web/cookies/index.js", "../node_modules/undici/lib/web/websocket/events.js", "../node_modules/undici/lib/web/websocket/constants.js", "../node_modules/undici/lib/web/websocket/symbols.js", "../node_modules/undici/lib/web/websocket/util.js", "../node_modules/undici/lib/web/websocket/frame.js", "../node_modules/undici/lib/web/websocket/connection.js", "../node_modules/undici/lib/web/websocket/permessage-deflate.js", "../node_modules/undici/lib/web/websocket/receiver.js", "../node_modules/undici/lib/web/websocket/sender.js", "../node_modules/undici/lib/web/websocket/websocket.js", "../node_modules/undici/lib/web/eventsource/util.js", "../node_modules/undici/lib/web/eventsource/eventsource-stream.js",Line truncated
"sourcesContent": ["'use strict';\n\nvar net = require('net');\nvar tls = require('tls');\nvar http = require('http');\nvar https = require('https');\nvar events = require('events');\nvar assert = require('assert');\nvar util = require('util');\n\n\nexports.httpOverHttp = httpOverHttp;\nexports.httpsOverHttp = httpsOverHttp;\nexports.httpOverHttps = httpOverHttps;\nexports.httpsOverHttps = httpsOverHttps;\n\n\nfunction httpOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n return agent;\n}\n\nfunction httpsOverHttp(options) {\n var agent = new TunnelingAgent(options);\n agent.request = http.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\nfunction httpOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n return agent;\n}\n\nfunction httpsOverHttps(options) {\n var agent = new TunnelingAgent(options);\n agent.request = https.request;\n agent.createSocket = createSecureSocket;\n agent.defaultPort = 443;\n return agent;\n}\n\n\nfunction TunnelingAgent(options) {\n var self = this;\n self.options = options || {};\n self.proxyOptions = self.options.proxy || {};\n self.maxSockets = self.options.maxSockets || http.Agent.defaultMaxSockets;\n self.requests = [];\n self.sockets = [];\n\n self.on('free', function onFree(socket, host, port, localAddress) {\n var options = toOptions(host, port, localAddress);\n for (var i = 0, len = self.requests.length; i < len; ++i) {\n var pending = self.requests[i];\n if (pending.host === options.host && pending.port === options.port) {\n // Detect the request to connect same origin server,\n // reuse the connection.\n self.requests.splice(i, 1);\n pending.request.onSocket(socket);\n return;\n }\n }\n socket.destroy();\n self.removeSocket(socket);\n });\n}\nutil.inherits(TunnelingAgent, events.EventEmitter);\n\nTunnelingAgent.prototype.addRequest = function addRequest(req, host, port, localAddress) {\n var self = this;\n var options = mergeOptions({request: req}, self.options, toOptions(host, port, localAddress));\n\n if (self.sockets.length >= this.maxSockets) {\n // We are over limit so we'll add it to the queue.\n self.requests.push(options);\n return;\n }\n\n // If we are under maxSockets create a new one.\n self.createSocket(options, function(socket) {\n socket.on('free', onFree);\n socket.on('close', onCloseOrRemove);\n socket.on('agentRemove', onCloseOrRemove);\n req.onSocket(socket);\n\n function onFree() {\n self.emit('free', socket, options);\n }\n\n function onCloseOrRemove(err) {\n self.removeSocket(socket);\n socket.removeListener('free', onFree);\n socket.removeListener('close', onCloseOrRemove);\n socket.removeListener('agentRemove', onCloseOrRemove);\n }\n });\n};\n\nTunnelingAgent.prototype.createSocket = function createSocket(options, cb) {\n var self = this;\n var placeholder = {};\n self.sockets.push(placeholder);\n\n var connectOptions = mergeOptions({}, self.proxyOptions, {\n method: 'CONNECT',\n path: options.host + ':' + options.port,\n agent: false,\n headers: {\n host: options.host + ':' + options.port\n }\n });\n if (options.localAddress) {\n connectOptions.localAddress = options.localAddress;\n }\n if (connectOptions.proxyAuth) {\n connectOptions.headers = connectOptions.headers || {};\n connectOptions.headers['Proxy-Authorization'] = 'Basic ' +\n new Buffer(connectOptions.proxyAuth).toString('base64');\n }\n\n debug('making CONNECT request');\n var connectReq = self.request(connectOptions);\n connectReq.useChunkedEncodingByDefault = false; // for v0.6\n connectReq.once('response', onResponse); // for v0.6\n connectReq.once('upgrade', onUpgrade); // for v0.6\n connectReq.once('connect', onConnect); // for v0.7 or later\n connectReq.once('error', onError);\n connectReq.end();\n\n function onResponse(res) {\n // Very hacky. This is necessary to avoid http-parser leaks.\n res.upgrade = true;\n }\n\n function onUpgrade(res, socket, head) {\n // Hacky.\n process.nextTick(function() {\n onConnect(res, socket, head);\n });\n }\n\n function onConnect(res, socket, head) {\n connectReq.removeAllListeners();\n socket.removeAllListeners();\n\n if (res.statusCode !== 200) {\n debug('tunneling socket could not be established, statusCode=%d',\n res.statusCode);\n socket.destroy();\n var error = new Error('tunneling socket could not be established, ' +\n 'statusCode=' + res.statusCode);\n error.code = 'ECONNRESET';\n options.request.emit('error', error);\n self.removeSocket(placeholder);\n return;\n }\n if (head.length > 0) {\n debug('got illegal response body from proxy');\n socket.destroy();\n var error = new Error('Line truncated
"mappings": "ioBAAA,IAAAA,GAAAC,EAAAC,IAAA,cAEA,IAAIC,IAAM,QAAQ,KAAK,EACnBC,IAAM,QAAQ,KAAK,EACnBC,GAAO,QAAQ,MAAM,EACrBC,GAAQ,QAAQ,OAAO,EACvBC,IAAS,QAAQ,QAAQ,EACzBC,IAAS,QAAQ,QAAQ,EACzBC,IAAO,QAAQ,MAAM,EAGzBP,GAAQ,aAAeQ,IACvBR,GAAQ,cAAgBS,IACxBT,GAAQ,cAAgBU,IACxBV,GAAQ,eAAiBW,IAGzB,SAASH,IAAaI,EAAS,CAC7B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACdU,CACT,CAEA,SAASJ,IAAcG,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUV,GAAK,QACrBU,EAAM,aAAeE,GACrBF,EAAM,YAAc,IACbA,CACT,CAEA,SAASH,IAAcE,EAAS,CAC9B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACfS,CACT,CAEA,SAASF,IAAeC,EAAS,CAC/B,IAAIC,EAAQ,IAAIC,GAAeF,CAAO,EACtC,OAAAC,EAAM,QAAUT,GAAM,QACtBS,EAAM,aAAeE,GACrBF,EAAM,YAAc,IACbA,CACT,CAGA,SAASC,GAAeF,EAAS,CAC/B,IAAII,EAAO,KACXA,EAAK,QAAUJ,GAAW,CAAC,EAC3BI,EAAK,aAAeA,EAAK,QAAQ,OAAS,CAAC,EAC3CA,EAAK,WAAaA,EAAK,QAAQ,YAAcb,GAAK,MAAM,kBACxDa,EAAK,SAAW,CAAC,EACjBA,EAAK,QAAU,CAAC,EAEhBA,EAAK,GAAG,OAAQ,SAAgBC,EAAQC,EAAMC,EAAMC,EAAc,CAEhE,QADIR,EAAUS,GAAUH,EAAMC,EAAMC,CAAY,EACvCE,EAAI,EAAGC,EAAMP,EAAK,SAAS,OAAQM,EAAIC,EAAK,EAAED,EAAG,CACxD,IAAIE,EAAUR,EAAK,SAASM,CAAC,EAC7B,GAAIE,EAAQ,OAASZ,EAAQ,MAAQY,EAAQ,OAASZ,EAAQ,KAAM,CAGlEI,EAAK,SAAS,OAAOM,EAAG,CAAC,EACzBE,EAAQ,QAAQ,SAASP,CAAM,EAC/B,MACF,CACF,CACAA,EAAO,QAAQ,EACfD,EAAK,aAAaC,CAAM,CAC1B,CAAC,CACH,CACAV,IAAK,SAASO,GAAgBT,IAAO,YAAY,EAEjDS,GAAe,UAAU,WAAa,SAAoBW,EAAKP,EAAMC,EAAMC,EAAc,CACvF,IAAIJ,EAAO,KACPJ,EAAUc,GAAa,CAAC,QAASD,CAAG,EAAGT,EAAK,QAASK,GAAUH,EAAMC,EAAMC,CAAY,CAAC,EAE5F,GAAIJ,EAAK,QAAQ,QAAU,KAAK,WAAY,CAE1CA,EAAK,SAAS,KAAKJ,CAAO,EAC1B,MACF,CAGAI,EAAK,aAAaJ,EAAS,SAASK,EAAQ,CAC1CA,EAAO,GAAG,OAAQU,CAAM,EACxBV,EAAO,GAAG,QAASW,CAAe,EAClCX,EAAO,GAAG,cAAeW,CAAe,EACxCH,EAAI,SAASR,CAAM,EAEnB,SAASU,GAAS,CAChBX,EAAK,KAAK,OAAQC,EAAQL,CAAO,CACnC,CAEA,SAASgB,EAAgBC,EAAK,CAC5Bb,EAAK,aAAaC,CAAM,EACxBA,EAAO,eAAe,OAAQU,CAAM,EACpCV,EAAO,eAAe,QAASW,CAAe,EAC9CX,EAAO,eAAe,cAAeW,CAAe,CACtD,CACF,CAAC,CACH,EAEAd,GAAe,UAAU,aAAe,SAAsBF,EAASkB,EAAI,CACzE,IAAId,EAAO,KACPe,EAAc,CAAC,EACnBf,EAAK,QAAQ,KAAKe,CAAW,EAE7B,IAAIC,EAAiBN,GAAa,CAAC,EAAGV,EAAK,aAAc,CACvD,OAAQ,UACR,KAAMJ,EAAQ,KAAO,IAAMA,EAAQ,KACnC,MAAO,GACP,QAAS,CACP,KAAMA,EAAQ,KAAO,IAAMA,EAAQ,IACrC,CACF,CAAC,EACGA,EAAQ,eACVoB,EAAe,aAAepB,EAAQ,cAEpCoB,EAAe,YACjBA,EAAe,QAAUA,EAAe,SAAW,CAAC,EACpDA,EAAe,QAAQ,qBAAqB,EAAI,SAC5C,IAAI,OAAOA,EAAe,SAAS,EAAE,SAAS,QAAQ,GAG5DC,GAAM,wBAAwB,EAC9B,IAAIC,EAAalB,EAAK,QAAQgB,CAAc,EAC5CE,EAAW,4BAA8B,GACzCA,EAAW,KAAK,WAAYC,CAAU,EACtCD,EAAW,KAAK,UAAWE,CAAS,EACpCF,EAAW,KAAK,UAAWG,CAAS,EACpCH,EAAW,KAAK,QAASI,CAAO,EAChCJ,EAAW,IAAI,EAEf,SAASC,EAAWI,EAAK,CAEvBA,EAAI,QAAU,EAChB,CAEA,SAASH,EAAUG,EAAKtB,EAAQuB,EAAM,CAEpC,QAAQ,SAAS,UAAW,CAC1BH,EAAUE,EAAKtB,EAAQuB,CAAI,CAC7B,CAAC,CACH,CAEA,SAASH,EAAUE,EAAKtB,EAAQuB,EAAM,CAIpC,GAHAN,EAAW,mBAAmB,EAC9BjB,EAAO,mBAAmB,EAEtBsB,EAAI,aAAe,IAAK,CAC1BN,GAAM,2DACJM,EAAI,UAAU,EAChBtB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,yDACJF,EAAI,UAAU,EAChCE,EAAM,KAAO,aACb7B,EAAQ,QAAQ,KAAK,QAAS6B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,GAAIS,EAAK,OAAS,EAAG,CACnBP,GAAM,sCAAsC,EAC5ChB,EAAO,QAAQ,EACf,IAAIwB,EAAQ,IAAI,MAAM,sCAAsC,EAC5DA,EAAM,KAAO,aACb7B,EAAQ,QAAQ,KAAK,QAAS6B,CAAK,EACnCzB,EAAK,aAAae,CAAW,EAC7B,MACF,CACA,OAAAE,GAAM,sCAAsC,EAC5CjB,EAAK,QAAQA,EAAK,QAAQ,QAAQe,CAAW,CAAC,EAAId,EAC3Ca,EAAGb,CAAM,CAClB,CAEA,SAASqB,EAAQI,EAAO,CACtBR,EAAW,mBAAmB,EAE9BD,GAAM;AAAA,EACAS,EAAM,QAASA,EAAM,KAAK,EAChC,IAAID,EAAQ,IAAI,MAAM,oDACWC,EAAM,OAAO,EAC9CD,EAAM,KAAO,aACb7B,EAAQ,QAAQ,KAAK,QAAS6B,CAAK,EACnCzB,EAAK,aAAae,CAAW,CAC/B,CACF,EAEAjB,GAAe,UAAU,aAAe,SAAsBG,EAAQ,CACpE,IAAI0B,EAAM,KAAK,QAAQ,QAAQ1B,CAAM,EACrC,GAAI0B,IAAQ,GAGZ,MAAK,QAAQ,OAAOA,EAAK,CAAC,EAE1B,IAAInB,EAAU,KAAK,SAAS,MAAM,EAC9BA,GAGF,KAAK,aAAaA,EAAS,SAASP,EAAQ,CAC1CO,EAAQ,QAAQ,SAASP,CAAM,CACjC,CAAC,EAEL,EAEA,SAASF,GAAmBH,EAASkB,EAAI,CACvC,IAAId,EAAO,KACXF,GAAe,UAAU,aAAa,KAAKE,EAAMJ,EAAS,SAASK,EAAQ,CACzE,IAAI2B,EAAahC,EAAQ,QAAQ,UAAU,MAAM,EAC7CiC,EAAanB,GAAa,CAAC,EAAGV,EAAK,QAAS,CAC9C,OAAQC,EACR,WAAY2B,EAAaA,EAAW,QAAQ,OAAQ,EAAE,EAAIhC,EAAQ,IACpE,CAAC,EAGGkC,EAAe5C,IAAI,QAAQ,EAAG2C,CAAU,EAC5C7B,EAAK,QAAQA,EAAK,QAAQ,QAAQC,CAAM,CAAC,EAAI6B,EAC7ChB,EAAGgB,CAAY,CACjB,CAAC,CACH,CAGA,SAASzB,GAAUH,EAAMC,EAAMC,EAAc,CAC3C,OAAI,OAAOF,GAAS,SACX,CACL,KAAMA,EACN,KAAMC,EACN,aAAcC,CAChB,EAEKF,CACT,CAEA,SAASQ,GAAaqB,EAAQ,CAC5B,QAASzB,EAAI,EAAGC,EAAM,UAAU,OAAQD,EAAIC,EAAK,EAAED,EAAG,CACpD,IAAI0B,EAAY,UAAU1B,CAAC,EAC3B,GAAI,OAAO0B,GAAc,SAEvB,QADIC,EAAO,OAAO,KAAKD,CAAS,EACvBE,EAAI,EAAGC,EAASF,EAAK,OAAQC,EAAIC,EAAQ,EAAED,EAAG,CACrD,IAAIE,EAAIH,EAAKC,CAAC,EACVF,EAAUI,CAAC,IAAM,SACnBL,EAAOK,CAAC,EAAIJ,EAAUI,CAAC,EAE3B,CAEJ,CACA,OAAOL,CACT,CAGA,IAAId,GACA,QAAQ,IAAI,YAAc,aAAa,KAAK,QAAQ,IAAI,UAAU,EACpEA,GAAQ,UAAW,CACjB,IAAIoB,EAAO,MAAM,UAAU,MAAM,KAAK,SAAS,EAC3C,OAAOA,EAAK,CAAC,GAAM,SACrBA,EAAK,CAAC,EAAI,WAAaA,EAAK,CAAC,EAE7BA,EAAK,QAAQ,SAAS,EAExB,QAAQ,MAAM,MAAM,QAASA,CAAI,CACnC,EAEApB,GAAQ,UAAW,CAAC,EAEtBjC,GAAQ,MAAQiC,KCvQhB,IAAAqB,GAAAC,EAAA,CAAAC,IAAAC,KAAA,CAAAA,GAAO,QAAU,OCAjB,IAAAC,GAAAC,EAAA,CAAAC,IAAAC,KAAA,CAAAA,GAAO,QAAU,CACf,OAAQ,OAAO,OAAO,EACtB,SAAU,OAAO,SAAS,EAC1B,UAAW,OAAO,UAAU,EAC5B,KAAM,OAAO,KAAK,EAClB,SAAULine truncated
"names": ["require_tunnel", "__commonJSMin", "exports", "net", "tls", "http", "https", "events", "assert", "util", "httpOverHttp", "httpsOverHttp", "httpOverHttps", "httpsOverHttps", "options", "agent", "TunnelingAgent", "createSecureSocket", "self", "socket", "host", "port", "localAddress", "toOptions", "i", "len", "pending", "req", "mergeOptions", "onFree", "onCloseOrRemove", "err", "cb", "placeholder", "connectOptions", "debug", "connectReq", "onResponse", "onUpgrade", "onConnect", "onError", "res", "head", "error", "cause", "pos", "hostHeader", "tlsOptions", "secureSocket", "target", "overrides", "keys", "j", "keyLen", "k", "args", "require_tunnel", "__commonJSMin", "exports", "module", "require_symbols", "__commonJSMin", "exports", "module", "require_errors", "__commonJSMin", "exports", "module", "kUndiciError", "UndiciError", "message", "instance", "kConnectTimeoutError", "ConnectTimeoutError", "kHeadersTimeoutError", "HeadersTimeoutError", "kHeadersOverflowError", "HeadersOverflowError", "kBodyTimeoutError", "BodyTimeoutError", "kResponseStatusCodeError", "ResponseStatusCodeError", "statusCode", "headers", "body", "kInvalidArgumentError", "InvalidArgumentError", "kInvalidReturnValueError", "InvalidReturnValueError", "kAbortError", "AbortError", "kRequestAbortedError", "RequestAbortedError", "kInformationalError", "InformationalError", "kRequestContentLengthMismatchError", "RequestContentLengthMismatchError", "kResponseContentLengthMismatchError", "ResponseContentLengthMismatchError", "kClientDestroyedError", "ClientDestroyedError", "kClientClosedError", "ClientClosedError", "kSocketError", "SocketError", "socket", "kNotSupportedError", "NotSupportedError", "kBalancedPoolMissingUpstreamError", "BalancedPoolMissingUpstreamError", "kHTTPParserError", "HTTPParserError", "code", "data", "kResponseExceededMaxSizeError", "ResponseExceededMaxSizeError", "kRequestRetryError", "RequestRetryError", "kResponseError", "ResponseError", "kSecureProxyConnectionError", "SecureProxyConnectionError", "cause", "options", "kMessageSizeExceededError", "MessageSizeExceededError", "require_constants", "__commonJSMin", "exports", "module", "headerNameLowerCasedRecord", "wellknownHeaderNames", "i", "key", "lowerCasedKey", "require_tree", "__commonJSMin", "exports", "module", "wellknownHeaderNames", "headerNameLowerCasedRecord", "TstNode", "_TstNode", "key", "value", "index", "length", "node", "code", "keylength", "TernarySearchTree", "tree", "i", "require_util", "__commonJSMin", "exports", "module", "assert", "kDestroyed", "kBodyUsed", "kListeners", "kBody", "IncomingMessage", "stream", "net", "Blob", "nodeUtil", "stringify", "EE", "InvalidArgumentError", "headerNameLowerCasedRecord", "tree", "nodeMajor", "nodeMinor", "v", "BodyAsyncIterable", "body", "wrapRequestBody", "isStream", "bodyLength", "isIterable", "nop", "obj", "isBlobLike", "object", "sTag", "buildURL", "url", "queryParams", "stringified", "isValidPort", "port", "value", "isHttpOrHttpsPrefixed", "parseURL", "origin", "path", "parseOrigin", "getHostname", "host", "idx", "getServerName", "servername", "deepClone", "isAsyncIterable", "state", "isBuffer", "isDestroyed", "destroy", "err", "KEEPALIVE_TIMEOUT_EXPR", "parseKeepAliveTimeout", "val", "m", "headerNameToString", "bufferToLowerCasedHeaderName", "parseHeaders", "headers", "i", "key", "headersValue", "x", "parseRawHeaders", "len", "ret", "hasContentLength", "contentDispositionIdx", "kLen", "n", "buffer", "validateHandler", "handler", "method", "upgrade", "isDisturbed", "isErrored", "isReadable", "getSocketInfo", "socket", "ReadableStreamFrom", "iterable", "iterator", "controller", "done", "buf", "reason", "isFormDataLike", "addAbortListener", "signal", "listener", "hasToWellFormed", "hasIsWellFormed", "toUSVString", "isUSVString", "isTokenCharCode", "c", "isValidHTTPToken", "characters", "headerCharRegex", "isValidHeaderValue", "parseRangeHeader", "range", "addListener", "name", "removeAllListeners", "errorRequest", "client", "request", "kEnumerableProperty", "normalizedMethodRecordsBase", "normalizedMethodRecords", "require_diagnostics", "__commonJSMin", "exports", "module", "diagnosticsChannel", "util", "undiciDebugLog", "fetchDebuglog", "websocketDebuglog", "isClientSet", "channels", "debuglog", "evt", "version", "protocol", "port", "host", "error", "method", "path", "origin", "statusCode", "address", "websocket", "code", "reason", "err", "require_request", "__commonJSMin", "exports", "module", "InvalidArgumentError", "NotSupportedError", "assert", "isValidHTTPToken", "isValidHeaderValue", "isStream", "destroy", "isBuffer", "isFormDataLike", "isIterable", "isBlobLike", "buildURL", "validateHandler", "getServerName", "normalizedMethodRecords", "channels", "headerNameLowerCasedRecord", "invalidPathRegex", "kHandler", "Request", "origin", "path", "method", "body", "headers", "query", "idempotent", "blocking", "upgrade", "headersTimeout", "bodyTimeout", "reset", "throwOnError", "expectContinue", "servername",Line truncated
}
Generated Vendored
-7748
View File
File diff suppressed because it is too large. Load diff
Generated Vendored
+5721
View File
File diff suppressed because it is too large. Load diff
+42 -18
View File
@@ -1,42 +1,66 @@
target "_common" {
args = {
BUILDKIT_CONTEXT_KEEP_GIT_DIR = 1
}
}
group "default" { group "default" {
targets = ["build"] targets = ["build"]
} }
group "pre-checkin" { group "pre-checkin" {
targets = ["update-yarn", "format", "build"] targets = ["vendor", "format", "build"]
} }
group "validate" { group "validate" {
targets = ["validate-format", "validate-build", "validate-yarn"] targets = ["lint", "build-validate", "vendor-validate"]
}
target "update-yarn" {
target = "update-yarn"
output = ["."]
} }
target "build" { target "build" {
target = "dist" inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-update"
output = ["."] output = ["."]
} }
target "test" { target "build-validate" {
target = "test" inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "build-validate"
output = ["type=cacheonly"]
} }
target "format" { target "format" {
target = "format" inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "format-update"
output = ["."] output = ["."]
} }
target "validate-format" { target "lint" {
target = "validate-format" inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "lint"
output = ["type=cacheonly"]
} }
target "validate-build" { target "vendor" {
target = "validate-build" inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "vendor-update"
output = ["."]
} }
target "validate-yarn" { target "vendor-validate" {
target = "validate-yarn" inherits = ["_common"]
} dockerfile = "dev.Dockerfile"
target = "vendor-validate"
output = ["type=cacheonly"]
}
target "test" {
inherits = ["_common"]
dockerfile = "dev.Dockerfile"
target = "test-coverage"
output = ["./coverage"]
}
+52
View File
@@ -0,0 +1,52 @@
import {defineConfig} from 'eslint/config';
import js from '@eslint/js';
import tseslint from '@typescript-eslint/eslint-plugin';
import vitest from '@vitest/eslint-plugin';
import globals from 'globals';
import eslintConfigPrettier from 'eslint-config-prettier/flat';
import eslintPluginPrettier from 'eslint-plugin-prettier';
export default defineConfig([
{
ignores: ['.yarn/**/*', 'coverage/**/*', 'dist/**/*']
},
js.configs.recommended,
...tseslint.configs['flat/recommended'],
eslintConfigPrettier,
{
languageOptions: {
globals: {
...globals.node
}
}
},
{
files: ['__tests__/**'],
...vitest.configs.recommended,
languageOptions: {
globals: {
...globals.node,
...vitest.environments.env.globals
}
},
rules: {
...vitest.configs.recommended.rules,
'vitest/no-conditional-expect': 'error',
'vitest/no-disabled-tests': 0
}
},
{
plugins: {
prettier: eslintPluginPrettier
},
rules: {
'prettier/prettier': 'error',
'@typescript-eslint/no-require-imports': [
'error',
{
allowAsImport: true
}
]
}
}
]);
-6
View File
@@ -1,6 +0,0 @@
#!/usr/bin/env bash
iidfile=$(mktemp -t docker-iidfile.XXXXXXXXXX)
DOCKER_BUILDKIT=1 docker build --iidfile $iidfile --progress=plain .
docker run -it --rm $(cat $iidfile)
docker rmi $(cat $iidfile)
-12
View File
@@ -1,12 +0,0 @@
module.exports = {
clearMocks: true,
moduleFileExtensions: ['js', 'ts'],
setupFiles: ["dotenv/config"],
testEnvironment: 'node',
testMatch: ['**/*.test.ts'],
testRunner: 'jest-circus/runner',
transform: {
'^.+\\.ts$': 'ts-jest'
},
verbose: false
}
+28 -29
View File
@@ -1,13 +1,14 @@
{ {
"name": "docker-setup-buildx", "name": "docker-setup-buildx",
"description": "Set up Docker Buildx", "description": "Set up Docker Buildx",
"main": "lib/main.js", "type": "module",
"main": "src/main.ts",
"scripts": { "scripts": {
"build": "tsc && ncc build", "build": "esbuild src/main.ts --bundle --platform=node --target=node24 --format=cjs --outfile=dist/index.cjs --sourcemap --minify && yarn run license",
"format": "prettier --write **/*.ts", "lint": "eslint --max-warnings=0 .",
"format-check": "prettier --check **/*.ts", "format": "eslint --fix .",
"test": "jest --coverage", "test": "vitest run",
"pre-checkin": "yarn run format && yarn run build" "license": "generate-license-file --input package.json --output dist/licenses.txt --overwrite --ci --no-spinner --eol lf"
}, },
"repository": { "repository": {
"type": "git", "type": "git",
@@ -18,32 +19,30 @@
"docker", "docker",
"buildx" "buildx"
], ],
"author": "Docker", "author": "Docker Inc.",
"contributors": [
{
"name": "CrazyMax",
"url": "https://crazymax.dev"
}
],
"license": "Apache-2.0", "license": "Apache-2.0",
"packageManager": "yarn@4.9.2",
"dependencies": { "dependencies": {
"@actions/core": "^1.2.6", "@actions/core": "^3.0.0",
"@actions/exec": "^1.0.4", "@docker/actions-toolkit": "^0.90.0",
"@actions/http-client": "^1.0.8", "js-yaml": "^4.1.1"
"@actions/tool-cache": "^1.5.5",
"semver": "^7.3.2"
}, },
"devDependencies": { "devDependencies": {
"@types/jest": "^26.0.3", "@eslint/js": "^9.39.3",
"@types/node": "^14.0.14", "@types/js-yaml": "^4.0.9",
"@vercel/ncc": "^0.23.0", "@types/node": "^24.11.0",
"dotenv": "^8.2.0", "@typescript-eslint/eslint-plugin": "^8.56.1",
"jest": "^26.1.0", "@typescript-eslint/parser": "^8.56.1",
"jest-circus": "^26.1.0", "@vitest/coverage-v8": "^4.0.18",
"jest-runtime": "^26.1.0", "@vitest/eslint-plugin": "^1.6.9",
"prettier": "^2.0.5", "esbuild": "^0.28.0",
"ts-jest": "^26.1.1", "eslint": "^9.39.3",
"typescript": "^3.9.5", "eslint-config-prettier": "^10.1.8",
"typescript-formatter": "^7.2.2" "eslint-plugin-prettier": "^5.5.5",
"generate-license-file": "^4.1.1",
"globals": "^17.3.0",
"prettier": "^3.8.1",
"typescript": "^5.9.3",
"vitest": "^4.0.18"
} }
} }
-138
View File
@@ -1,138 +0,0 @@
import * as fs from 'fs';
import * as path from 'path';
import * as semver from 'semver';
import * as util from 'util';
import * as context from './context';
import * as exec from './exec';
import * as github from './github';
import * as core from '@actions/core';
import * as tc from '@actions/tool-cache';
export async function getVersion(): Promise<string> {
return await exec.exec(`docker`, ['buildx', 'version'], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
return parseVersion(res.stdout);
});
}
export async function parseVersion(stdout: string): Promise<string> {
const matches = /\sv?([0-9.]+)/.exec(stdout);
if (!matches) {
throw new Error(`Cannot parse Buildx version`);
}
return semver.clean(matches[1]);
}
export async function isAvailable(): Promise<Boolean> {
return await exec.exec(`docker`, ['buildx'], true).then(res => {
if (res.stderr != '' && !res.success) {
return false;
}
return res.success;
});
}
export async function countBuilders(): Promise<number> {
return await exec.exec(`docker`, ['buildx', 'ls'], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(`Cannot list builders: ${res.stderr}`);
}
return (res.stdout.trim().split(`\n`).length - 1) / 2;
});
}
export async function platforms(): Promise<String | undefined> {
return await exec.exec(`docker`, ['buildx', 'inspect'], true).then(res => {
if (res.stderr != '' && !res.success) {
throw new Error(res.stderr);
}
for (const line of res.stdout.trim().split(`\n`)) {
if (line.startsWith('Platforms')) {
return line.replace('Platforms: ', '').replace(/\s/g, '').trim();
}
}
});
}
export async function install(inputVersion: string, dockerConfigHome: string): Promise<string> {
const release: github.GitHubRelease | null = await github.getRelease(inputVersion);
if (!release) {
throw new Error(`Cannot find buildx ${inputVersion} release`);
}
core.debug(`Release found: ${release.tag_name}`);
const version = release.tag_name.replace(/^v+|v+$/g, '');
let toolPath: string;
toolPath = tc.find('buildx', version);
if (!toolPath) {
const c = semver.clean(version) || '';
if (!semver.valid(c)) {
throw new Error(`Invalid Buildx version "${version}".`);
}
toolPath = await download(version);
}
const pluginsDir: string = path.join(dockerConfigHome, 'cli-plugins');
core.debug(`Plugins dir is ${pluginsDir}`);
if (!fs.existsSync(pluginsDir)) {
fs.mkdirSync(pluginsDir, {recursive: true});
}
const filename: string = context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
const pluginPath: string = path.join(pluginsDir, filename);
core.debug(`Plugin path is ${pluginPath}`);
fs.copyFileSync(path.join(toolPath, filename), pluginPath);
core.info('🔨 Fixing perms...');
fs.chmodSync(pluginPath, '0755');
return pluginPath;
}
async function download(version: string): Promise<string> {
const targetFile: string = context.osPlat == 'win32' ? 'docker-buildx.exe' : 'docker-buildx';
const downloadUrl = util.format(
'https://github.com/docker/buildx/releases/download/v%s/%s',
version,
await filename(version)
);
let downloadPath: string;
try {
core.info(`⬇️ Downloading ${downloadUrl}...`);
downloadPath = await tc.downloadTool(downloadUrl);
core.debug(`Downloaded to ${downloadPath}`);
} catch (error) {
throw error;
}
return await tc.cacheFile(downloadPath, targetFile, 'buildx', version);
}
async function filename(version: string): Promise<string> {
let arch: string;
switch (context.osArch) {
case 'x64': {
arch = 'amd64';
break;
}
case 'ppc64': {
arch = 'ppc64le';
break;
}
case 'arm': {
const arm_version = (process.config.variables as any).arm_version;
arch = arm_version ? 'arm-v' + arm_version : 'arm';
break;
}
default: {
arch = context.osArch;
break;
}
}
const platform: string = context.osPlat == 'win32' ? 'windows' : context.osPlat;
const ext: string = context.osPlat == 'win32' ? '.exe' : '';
return util.format('buildx-v%s.%s-%s%s', version, platform, arch, ext);
}
+110 -27
View File
@@ -1,49 +1,132 @@
import * as os from 'os'; import * as crypto from 'crypto';
import * as core from '@actions/core'; import * as core from '@actions/core';
export const osPlat: string = os.platform(); import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
export const osArch: string = os.arch(); import {Util} from '@docker/actions-toolkit/lib/util.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
export const builderNodeEnvPrefix = 'BUILDER_NODE';
const defaultBuildkitdFlags = '--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host';
export interface Inputs { export interface Inputs {
version: string; version: string;
name: string;
driver: string; driver: string;
driverOpts: string[]; driverOpts: string[];
buildkitdFlags: string; buildkitdFlags: string;
install: boolean; buildkitdConfig: string;
buildkitdConfigInline: string;
platforms: string[];
use: boolean; use: boolean;
endpoint: string; endpoint: string;
append: string;
cacheBinary: boolean;
cleanup: boolean;
keepState: boolean;
} }
export async function getInputs(): Promise<Inputs> { export async function getInputs(): Promise<Inputs> {
return { return {
version: core.getInput('version'), version: core.getInput('version'),
name: await getBuilderName(core.getInput('name'), core.getInput('driver') || 'docker-container'),
driver: core.getInput('driver') || 'docker-container', driver: core.getInput('driver') || 'docker-container',
driverOpts: await getInputList('driver-opts', true), driverOpts: Util.getInputList('driver-opts', {ignoreComma: true, quote: false}),
buildkitdFlags: buildkitdFlags: core.getInput('buildkitd-flags'),
core.getInput('buildkitd-flags') || platforms: Util.getInputList('platforms'),
'--allow-insecure-entitlement security.insecure --allow-insecure-entitlement network.host', use: core.getBooleanInput('use'),
install: /true/i.test(core.getInput('install')), endpoint: core.getInput('endpoint'),
use: /true/i.test(core.getInput('use')), buildkitdConfig: core.getInput('buildkitd-config'),
endpoint: core.getInput('endpoint') buildkitdConfigInline: core.getInput('buildkitd-config-inline'),
append: core.getInput('append'),
keepState: core.getBooleanInput('keep-state'),
cacheBinary: core.getBooleanInput('cache-binary'),
cleanup: core.getBooleanInput('cleanup')
}; };
} }
export async function getInputList(name: string, ignoreComma?: boolean): Promise<string[]> { export async function getBuilderName(name: string, driver: string): Promise<string> {
const items = core.getInput(name); return driver == 'docker' ? await Docker.context() : name || `builder-${crypto.randomUUID()}`;
if (items == '') {
return [];
}
return items
.split(/\r?\n/)
.filter(x => x)
.reduce<string[]>(
(acc, line) => acc.concat(!ignoreComma ? line.split(',').filter(x => x) : line).map(pat => pat.trim()),
[]
);
} }
export const asyncForEach = async (array, callback) => { export async function getCreateArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
for (let index = 0; index < array.length; index++) { const args: Array<string> = ['create', '--name', inputs.name, '--driver', inputs.driver];
await callback(array[index], index, array); if (await toolkit.buildx.versionSatisfies('>=0.3.0')) {
await Util.asyncForEach(inputs.driverOpts, async (driverOpt: string) => {
args.push('--driver-opt', driverOpt);
});
if (inputs.buildkitdFlags) {
args.push('--buildkitd-flags', inputs.buildkitdFlags);
} else if (driverSupportsBuildkitdFlags(inputs.driver)) {
args.push('--buildkitd-flags', defaultBuildkitdFlags);
}
} }
}; if (inputs.platforms.length > 0) {
args.push('--platform', inputs.platforms.join(','));
}
if (inputs.use) {
args.push('--use');
}
if (inputs.buildkitdConfig) {
args.push('--config', toolkit.buildkit.config.resolveFromFile(inputs.buildkitdConfig));
} else if (inputs.buildkitdConfigInline) {
args.push('--config', toolkit.buildkit.config.resolveFromString(inputs.buildkitdConfigInline));
}
if (inputs.endpoint) {
args.push(inputs.endpoint);
}
return args;
}
export async function getAppendArgs(inputs: Inputs, node: Node, toolkit: Toolkit): Promise<Array<string>> {
const args: Array<string> = ['create', '--name', inputs.name, '--append'];
if (node.name) {
args.push('--node', node.name);
} else if (inputs.driver == 'kubernetes' && (await toolkit.buildx.versionSatisfies('<0.11.0'))) {
args.push('--node', `node-${crypto.randomUUID()}`);
}
if (node['driver-opts'] && (await toolkit.buildx.versionSatisfies('>=0.3.0'))) {
await Util.asyncForEach(node['driver-opts'], async (driverOpt: string) => {
args.push('--driver-opt', driverOpt);
});
if (node['buildkitd-flags']) {
args.push('--buildkitd-flags', node['buildkitd-flags']);
} else if (driverSupportsBuildkitdFlags(inputs.driver)) {
args.push('--buildkitd-flags', defaultBuildkitdFlags);
}
}
if (node.platforms) {
args.push('--platform', node.platforms);
}
if (node.endpoint) {
args.push(node.endpoint);
}
return args;
}
export async function getInspectArgs(inputs: Inputs, toolkit: Toolkit): Promise<Array<string>> {
const args: Array<string> = ['inspect', '--bootstrap'];
if (await toolkit.buildx.versionSatisfies('>=0.4.0')) {
args.push('--builder', inputs.name);
}
return args;
}
function driverSupportsBuildkitdFlags(driver: string): boolean {
return driver == '' || driver == 'docker-container' || driver == 'docker' || driver == 'kubernetes';
}
export function getVersion(inputs: Inputs): string {
const version = inputs.version;
if (inputs.driver === 'cloud') {
if (!version || version === 'latest') {
return 'cloud:latest';
}
if (version.startsWith('cloud:') || version.startsWith('lab:')) {
return version;
}
return `cloud:${version}`;
}
return version;
}
-7
View File
@@ -1,7 +0,0 @@
import * as exec from './exec';
export async function isDaemonRunning(): Promise<boolean> {
return await exec.exec(`docker`, ['version', '--format', '{{.Server.Os}}'], true).then(res => {
return !res.stdout.includes(' ') && res.success;
});
}
-34
View File
@@ -1,34 +0,0 @@
import * as aexec from '@actions/exec';
import {ExecOptions} from '@actions/exec';
export interface ExecResult {
success: boolean;
stdout: string;
stderr: string;
}
export const exec = async (command: string, args: string[] = [], silent: boolean): Promise<ExecResult> => {
let stdout: string = '';
let stderr: string = '';
const options: ExecOptions = {
silent: silent,
ignoreReturnCode: true
};
options.listeners = {
stdout: (data: Buffer) => {
stdout += data.toString();
},
stderr: (data: Buffer) => {
stderr += data.toString();
}
};
const returnCode: number = await aexec.exec(command, args, options);
return {
success: returnCode === 0,
stdout: stdout.trim(),
stderr: stderr.trim()
};
};
-12
View File
@@ -1,12 +0,0 @@
import * as httpm from '@actions/http-client';
export interface GitHubRelease {
id: number;
tag_name: string;
}
export const getRelease = async (version: string): Promise<GitHubRelease | null> => {
const url: string = `https://github.com/docker/buildx/releases/${version}`;
const http: httpm.HttpClient = new httpm.HttpClient('setup-buildx');
return (await http.getJson<GitHubRelease>(url)).result;
};
+264 -80
View File
@@ -1,93 +1,277 @@
import * as crypto from 'crypto';
import * as fs from 'fs';
import * as yaml from 'js-yaml';
import * as core from '@actions/core'; import * as core from '@actions/core';
import * as exec from '@actions/exec'; import * as actionsToolkit from '@docker/actions-toolkit';
import * as os from 'os';
import * as path from 'path';
import * as semver from 'semver';
import * as buildx from './buildx';
import * as context from './context';
import * as mexec from './exec';
import * as stateHelper from './state-helper';
async function run(): Promise<void> { import {Buildx} from '@docker/actions-toolkit/lib/buildx/buildx.js';
try { import {Builder} from '@docker/actions-toolkit/lib/buildx/builder.js';
if (os.platform() !== 'linux') { import {Docker} from '@docker/actions-toolkit/lib/docker/docker.js';
core.setFailed('Only supported on linux platform'); import {Exec} from '@docker/actions-toolkit/lib/exec.js';
import {Toolkit} from '@docker/actions-toolkit/lib/toolkit.js';
import {Util} from '@docker/actions-toolkit/lib/util.js';
import {Node} from '@docker/actions-toolkit/lib/types/buildx/builder.js';
import {ContextInfo} from '@docker/actions-toolkit/lib/types/docker/docker.js';
import * as context from './context.js';
import * as stateHelper from './state-helper.js';
actionsToolkit.run(
// main
async () => {
const inputs: context.Inputs = await context.getInputs();
stateHelper.setCleanup(inputs.cleanup);
const version = context.getVersion(inputs);
const toolkit = new Toolkit();
const standalone = await toolkit.buildx.isStandalone();
stateHelper.setStandalone(standalone);
if (inputs.keepState && inputs.driver !== 'docker-container') {
// https://docs.docker.com/reference/cli/docker/buildx/rm/#keep-state
throw new Error(`Cannot use keep-state with ${inputs.driver} driver`);
}
stateHelper.setKeepState(inputs.keepState);
await core.group(`Docker info`, async () => {
try {
await Docker.printVersion();
await Docker.printInfo();
} catch (e) {
core.info(e.message);
}
});
let toolPath;
if (Util.isValidRef(version)) {
if (standalone) {
throw new Error(`Cannot build from source without the Docker CLI`);
}
await core.group(`Build buildx from source`, async () => {
toolPath = await toolkit.buildxInstall.build(version, !inputs.cacheBinary);
});
} else if (!(await toolkit.buildx.isAvailable()) || version) {
await core.group(`Download buildx from GitHub Releases`, async () => {
toolPath = await toolkit.buildxInstall.download({
version: version || 'latest',
ghaNoCache: !inputs.cacheBinary
});
});
}
if (toolPath) {
await core.group(`Install buildx`, async () => {
if (standalone) {
await toolkit.buildxInstall.installStandalone(toolPath);
} else {
await toolkit.buildxInstall.installPlugin(toolPath);
}
});
}
await core.group(`Buildx version`, async () => {
await toolkit.buildx.printVersion();
});
core.setOutput('name', inputs.name);
stateHelper.setBuilderName(inputs.name);
stateHelper.setBuilderDriver(inputs.driver);
fs.mkdirSync(Buildx.certsDir, {recursive: true});
stateHelper.setCertsDir(Buildx.certsDir);
// if the default context has TLS data loaded and endpoint is not set, then
// we create a temporary docker context only if driver is docker-container
// https://github.com/docker/buildx/blob/b96ad59f64d40873e4959336d294b648bb3937fe/builder/builder.go#L489
// https://github.com/docker/setup-buildx-action/issues/105
if (!standalone && inputs.driver == 'docker-container' && (await Docker.context()) == 'default' && inputs.endpoint.length == 0) {
let defaultContextWithTLS: boolean = false;
await core.group(`Inspecting default docker context`, async () => {
await Docker.getExecOutput(['context', 'inspect', '--format=json', 'default'], {
ignoreReturnCode: true,
silent: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.info(`Cannot inspect default docker context: ${res.stderr.trim()}`);
} else {
try {
const contextInfo = (<Array<ContextInfo>>JSON.parse(res.stdout.trim()))[0];
core.info(JSON.stringify(JSON.parse(res.stdout.trim()), undefined, 2));
const hasTLSData = Object.keys(contextInfo.Endpoints).length > 0 && Object.values(contextInfo.Endpoints)[0].TLSData !== undefined;
const hasTLSMaterial = Object.keys(contextInfo.TLSMaterial).length > 0 && Object.values(contextInfo.TLSMaterial)[0].length > 0;
defaultContextWithTLS = hasTLSData || hasTLSMaterial;
} catch (e) {
core.info(`Unable to parse default docker context info: ${e}`);
core.info(res.stdout.trim());
}
}
});
});
if (defaultContextWithTLS) {
const tmpDockerContext = `buildx-${crypto.randomUUID()}`;
await core.group(`Creating temp docker context (TLS data loaded in default one)`, async () => {
await Docker.getExecOutput(['context', 'create', tmpDockerContext], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(`Cannot create docker context ${tmpDockerContext}: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
} else {
core.info(`Setting builder endpoint to ${tmpDockerContext} context`);
inputs.endpoint = tmpDockerContext;
stateHelper.setTmpDockerContext(tmpDockerContext);
}
});
});
}
}
if (inputs.driver !== 'docker') {
await core.group(`Creating a new builder instance`, async () => {
if (await toolkit.builder.exists(inputs.name)) {
core.info(`Builder ${inputs.name} already exists, skipping creation`);
} else {
const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, inputs.endpoint, {
cacert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CACERT`],
cert: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_CERT`],
key: process.env[`${context.builderNodeEnvPrefix}_0_AUTH_TLS_KEY`]
});
if (certsDriverOpts.length > 0) {
inputs.driverOpts = [...inputs.driverOpts, ...certsDriverOpts];
}
const createCmd = await toolkit.buildx.getCommand(await context.getCreateArgs(inputs, toolkit));
await Exec.getExecOutput(createCmd.command, createCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
}
});
}
if (inputs.append) {
await core.group(`Appending node(s) to builder`, async () => {
let nodeIndex = 1;
const nodes = yaml.load(inputs.append) as Node[];
for (const node of nodes) {
const certsDriverOpts = Buildx.resolveCertsDriverOpts(inputs.driver, `${node.endpoint}`, {
cacert: process.env[`${context.builderNodeEnvPrefix}_${nodeIndex}_AUTH_TLS_CACERT`],
cert: process.env[`${context.builderNodeEnvPrefix}_${nodeIndex}_AUTH_TLS_CERT`],
key: process.env[`${context.builderNodeEnvPrefix}_${nodeIndex}_AUTH_TLS_KEY`]
});
if (certsDriverOpts.length > 0) {
node['driver-opts'] = [...(node['driver-opts'] || []), ...certsDriverOpts];
}
const appendCmd = await toolkit.buildx.getCommand(await context.getAppendArgs(inputs, node, toolkit));
await Exec.getExecOutput(appendCmd.command, appendCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(`Failed to append node ${node.name}: ${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
}
});
nodeIndex++;
}
});
}
await core.group(`Booting builder`, async () => {
const inspectCmd = await toolkit.buildx.getCommand(await context.getInspectArgs(inputs, toolkit));
await Exec.getExecOutput(inspectCmd.command, inspectCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
throw new Error(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
});
const builderInspect = await toolkit.builder.inspect(inputs.name);
const firstNode = builderInspect.nodes[0];
await core.group(`Inspect builder`, async () => {
const reducedPlatforms: Array<string> = [];
for (const node of builderInspect.nodes) {
for (const platform of node.platforms?.split(',') || []) {
if (reducedPlatforms.indexOf(platform) > -1) {
continue;
}
reducedPlatforms.push(platform);
}
}
core.info(JSON.stringify(builderInspect, undefined, 2));
core.setOutput('driver', builderInspect.driver);
core.setOutput('platforms', reducedPlatforms.join(','));
core.setOutput('nodes', JSON.stringify(builderInspect.nodes, undefined, 2));
});
if (!standalone && builderInspect.driver == 'docker-container') {
stateHelper.setContainerName(`${Buildx.containerNamePrefix}${firstNode.name}`);
await core.group(`BuildKit version`, async () => {
for (const node of builderInspect.nodes) {
const buildkitVersion = await toolkit.buildkit.getVersion(node);
core.info(`${node.name}: ${buildkitVersion}`);
}
});
}
if (core.isDebug() || firstNode['buildkitd-flags']?.includes('--debug')) {
stateHelper.setDebug('true');
}
},
// post
async () => {
if (stateHelper.IsDebug && stateHelper.containerName.length > 0) {
await core.group(`BuildKit container logs`, async () => {
await Docker.getExecOutput(['logs', `${stateHelper.containerName}`], {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
});
}
if (!stateHelper.cleanup) {
return; return;
} }
const inputs: context.Inputs = await context.getInputs(); if (stateHelper.builderDriver != 'docker' && stateHelper.builderName.length > 0) {
const dockerConfigHome: string = process.env.DOCKER_CONFIG || path.join(os.homedir(), '.docker'); await core.group(`Removing builder`, async () => {
const buildx = new Buildx({standalone: stateHelper.standalone});
if (!(await buildx.isAvailable()) || inputs.version) { const builder = new Builder({buildx: buildx});
await buildx.install(inputs.version || 'latest', dockerConfigHome); if (await builder.exists(stateHelper.builderName)) {
const rmCmd = await buildx.getCommand(['rm', stateHelper.builderName, ...(stateHelper.keepState ? ['--keep-state'] : [])]);
await Exec.getExecOutput(rmCmd.command, rmCmd.args, {
ignoreReturnCode: true
}).then(res => {
if (res.stderr.length > 0 && res.exitCode != 0) {
core.warning(res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error');
}
});
} else {
core.info(`${stateHelper.builderName} does not exist`);
}
});
} }
const buildxVersion = await buildx.getVersion(); if (stateHelper.tmpDockerContext) {
core.info(`📣 Buildx version: ${buildxVersion}`); await core.group(`Removing temp docker context`, async () => {
await Exec.getExecOutput('docker', ['context', 'rm', '-f', stateHelper.tmpDockerContext], {
const builderName: string = ignoreReturnCode: true
inputs.driver == 'docker' ? 'default' : `builder-${process.env.GITHUB_JOB}-${(await buildx.countBuilders()) + 1}`; }).then(res => {
core.setOutput('name', builderName); if (res.stderr.length > 0 && res.exitCode != 0) {
stateHelper.setBuilderName(builderName); core.warning(`${res.stderr.match(/(.*)\s*$/)?.[0]?.trim() ?? 'unknown error'}`);
if (inputs.driver !== 'docker') {
core.info('🔨 Creating a new builder instance...');
let createArgs: Array<string> = ['buildx', 'create', '--name', builderName, '--driver', inputs.driver];
if (semver.satisfies(buildxVersion, '>=0.3.0')) {
let hasImageDriverOpt: boolean = false;
await context.asyncForEach(inputs.driverOpts, async driverOpt => {
if (driverOpt.startsWith('image=')) {
hasImageDriverOpt = true;
} }
createArgs.push('--driver-opt', driverOpt);
}); });
if (!hasImageDriverOpt) { });
//FIXME: Temporary fix (docker/build-push-action#154, docker/build-push-action#162)
createArgs.push('--driver-opt', 'image=moby/buildkit:v0.8-beta');
}
if (inputs.buildkitdFlags) {
createArgs.push('--buildkitd-flags', inputs.buildkitdFlags);
}
}
if (inputs.use) {
createArgs.push('--use');
}
if (inputs.endpoint) {
createArgs.push(inputs.endpoint);
}
await exec.exec('docker', createArgs);
core.info('🏃 Booting builder...');
await exec.exec('docker', ['buildx', 'inspect', '--bootstrap']);
} }
if (inputs.install) { if (stateHelper.certsDir.length > 0 && fs.existsSync(stateHelper.certsDir)) {
core.info('🤝 Setting buildx as default builder...'); await core.group(`Cleaning up certificates`, async () => {
await exec.exec('docker', ['buildx', 'install']); fs.rmSync(stateHelper.certsDir, {recursive: true});
});
} }
core.info('🛒 Extracting available platforms...');
const platforms = await buildx.platforms();
core.info(`${platforms}`);
core.setOutput('platforms', platforms);
} catch (error) {
core.setFailed(error.message);
} }
} );
async function cleanup(): Promise<void> {
if (stateHelper.builderName.length == 0) {
return;
}
await mexec.exec('docker', ['buildx', 'rm', `${stateHelper.builderName}`], false).then(res => {
if (res.stderr != '' && !res.success) {
core.warning(res.stderr);
}
});
}
if (!stateHelper.IsPost) {
run();
} else {
cleanup();
}
+38 -3
View File
@@ -1,12 +1,47 @@
import * as core from '@actions/core'; import * as core from '@actions/core';
export const IsPost = !!process.env['STATE_isPost']; export const IsDebug = !!process.env['STATE_isDebug'];
export const standalone = /true/i.test(process.env['STATE_standalone'] || '');
export const builderName = process.env['STATE_builderName'] || ''; export const builderName = process.env['STATE_builderName'] || '';
export const builderDriver = process.env['STATE_builderDriver'] || '';
export const containerName = process.env['STATE_containerName'] || '';
export const certsDir = process.env['STATE_certsDir'] || '';
export const tmpDockerContext = process.env['STATE_tmpDockerContext'] || '';
export const cleanup = /true/i.test(process.env['STATE_cleanup'] || '');
export const keepState = /true/i.test(process.env['STATE_keepState'] || '');
export function setDebug(debug: string) {
core.saveState('isDebug', debug);
}
export function setStandalone(standalone: boolean) {
core.saveState('standalone', standalone);
}
export function setBuilderName(builderName: string) { export function setBuilderName(builderName: string) {
core.saveState('builderName', builderName); core.saveState('builderName', builderName);
} }
if (!IsPost) { export function setBuilderDriver(builderDriver: string) {
core.saveState('isPost', 'true'); core.saveState('builderDriver', builderDriver);
}
export function setContainerName(containerName: string) {
core.saveState('containerName', containerName);
}
export function setCertsDir(certsDir: string) {
core.saveState('certsDir', certsDir);
}
export function setTmpDockerContext(tmpDockerContext: string) {
core.saveState('tmpDockerContext', tmpDockerContext);
}
export function setCleanup(cleanup: boolean) {
core.saveState('cleanup', cleanup);
}
export function setKeepState(keepState: boolean) {
core.saveState('keepState', keepState);
} }
+9 -10
View File
@@ -1,18 +1,17 @@
{ {
"compilerOptions": { "compilerOptions": {
"target": "es6", "module": "nodenext",
"module": "commonjs", "moduleResolution": "nodenext",
"lib": [ "esModuleInterop": true,
"es6",
"dom"
],
"newLine": "lf", "newLine": "lf",
"outDir": "./lib", "outDir": "./lib",
"rootDir": "./src", "rootDir": "./src",
"strict": true, "forceConsistentCasingInFileNames": true,
"noImplicitAny": false, "noImplicitAny": false,
"esModuleInterop": true, "resolveJsonModule": true,
"sourceMap": true "useUnknownInCatchVariables": false,
}, },
"exclude": ["node_modules", "**/*.test.ts"] "include": [
"src/**/*.ts"
]
} }
+16
View File
@@ -0,0 +1,16 @@
import {defineConfig} from 'vitest/config';
export default defineConfig({
test: {
clearMocks: true,
environment: 'node',
setupFiles: ['./__tests__/setup.unit.ts'],
include: ['**/*.test.ts'],
coverage: {
provider: 'v8',
reporter: ['clover'],
include: ['src/**/*.ts'],
exclude: ['src/**/main.ts']
}
}
});
+6152 -3779
View File
File diff suppressed because it is too large. Load diff